operators.c
atom_t* op_math2r(double (*op)(double, double)) {
    operator_t* o = malloc(sizeof(operator_t));
    o->val.math2 = op;
    o->type = MATH2_R;

    atom_t* obj = malloc(sizeof(atom_t));
    obj->val.oper = o;
    obj->type = STD_OP;
    obj->bindings = 0;
    return obj;
}
/* Math binary, reduces operator over arguments. */
Math binary, reduces operator over arguments.
Math binary reduces operator over arguments .
atom_t* op_math2r(double (*op)(double, double)) {
    operator_t* o = malloc(sizeof(operator_t));
    o->val.math2 = op;
    o->type = MATH2_R;
    atom_t* obj = malloc(sizeof(atom_t));
    obj->val.oper = o;
    obj->type = STD_OP;
    obj->bindings = 0;
    return obj;
}
atom_t * op_math2r ( double ( * op ) ( double , double ) ) { operator_t * o = malloc ( sizeof ( operator_t ) ) ; o -> val . math2 = op ; o -> type = MATH2_R ; atom_t * obj = malloc ( sizeof ( atom_t ) ) ; obj -> val . oper = o ; obj -> type = STD_OP ; obj -> bindings = 0 ; return obj ; }
Math binary, reduces operator over arguments.
Math binary reduces operator over arguments .