Ejemplo n.º 1
0
 public function testFunctionNotFound()
 {
     $foo = new E\Func('abracadabra');
     try {
         $foo->interpret($this->ctx);
         $this->assertTrue(false, 'FunctionNotFoundException should be thrown');
     } catch (E\FunctionNotFoundException $e) {
     }
 }
Ejemplo n.º 2
0
 protected function setUp()
 {
     I\Expression\Func::register('twice', function ($a) {
         return 2 * $a;
     });
     I\Expression\Func::register('PI', function () {
         return pi();
     });
     I\Expression\Func::register('sin', function ($a) {
         return sin($a);
     });
     I\Expression\Func::register('cos', function ($a) {
         return cos($a);
     });
 }
Ejemplo n.º 3
0
Func::register('ln', function ($a) {
    return log($a);
});
Func::register('lg', function ($a) {
    return log($a, 10);
});
// aggregates
Func::register('sum', function () {
    return array_sum(func_get_args());
});
Func::register('min', function () {
    return min(func_get_args());
});
Func::register('max', function () {
    return max(func_get_args());
});
Func::register('avg', function () {
    $mul = 1;
    foreach (func_get_args() as $i => $n) {
        $mul *= $n;
    }
    return pow($mul, 1 / func_num_args());
});
Func::register('const', function ($name) {
    switch ($name) {
        case 'pi':
            return M_PI;
        case 'exp':
            return M_E;
    }
});