static void init() { if (!Init) { // late initialisation Init = true; if (option_get_bool("OwnBook")) { book_open(option_get_string("BookFile")); } //SearchInput->multipv = option_get_int("MultiPV"); trans_alloc(Trans); pawn_init(); pawn_alloc(); material_init(); material_alloc(); pst_init(); eval_init(); } }
int main() { eval_init(); int a, i, x; a = 1; x = 0; for(i = 0; i < 2; ++i) { x += myFork(1,8,8,a,a); ++a; } printf("%d: x = %d\n", mid, x); return 0; }
void Evaluator::eval(Variable_decl const* d) { // Create an uninitialized object and bind it // to the symbol. Keep a reference so we can // initialize it directly. Value v0 = get_value(d->type()); Value& v1 = stack.top().bind(d->name(), v0).second; // Handle initialization. eval_init(d->init(), v1); }
static void init() { if (!Init) { // late initialisation Init = true; if (option_get_bool("OwnBook")) { book_open(option_get_string("BookFile")); } trans_alloc(); pawn_init(); material_init(); pst_init(); eval_init(); tb_cache(option_get_int("NalimovCache")); } }
int main(int argc, const char**argv) { eval_init(); parser_state state; parse_string(&state, "1+2*3"); syntax_p(state.lval, 0); syntax_p(eval(syntax_nil, state.lval), 0); syntax_free(state.lval); parse_string(&state, "1"); syntax_p(state.lval, 0); //printf("eval %lf\n", eval(state.lval)); syntax_free(state.lval); parse_string(&state, "abc"); syntax_p(state.lval, 0); //printf("eval %lf\n", eval(state.lval)); syntax_free(state.lval); parse_string(&state, "1::2+3::()"); syntax_p(state.lval, 0); syntax_p(eval(syntax_nil, state.lval), 0); syntax_free(state.lval); parse_string(&state, "(a::2)::(b::3)::()"); syntax* env = state.lval; syntax_p(state.lval, 0); syntax_p(lookup(env, "a"), 0); syntax_p(lookup(env, "b"), 0); syntax_p(lookup(env, "c"), 0); syntax_free(env); parse_string(&state, "abc -> abc"); syntax_p(state.lval, 0); syntax_p(eval(syntax_nil, state.lval), 0); syntax_free(state.lval); parse_string(&state, "(abc -> abc)10"); syntax_p(state.lval, 0); syntax_p(eval(syntax_nil, state.lval), 0); syntax_free(state.lval); parse_string(&state, "let abc=1 in abc"); syntax_p(state.lval, 0); syntax_p(eval(syntax_nil, state.lval), 0); syntax_free(state.lval); parse_string(&state, "let abc=2 in if abc<=1 then 1 else 2"); syntax_p(state.lval, 0); syntax_p(eval(syntax_nil, state.lval), 0); syntax_free(state.lval); parse_string(&state, "let abc=0 in if abc<=1 then 1 else 2"); syntax_p(state.lval, 0); syntax_p(eval(syntax_nil, state.lval), 0); syntax_free(state.lval); parse_string(&state, "let abc=0 in abc<=1"); syntax_p(state.lval, 0); syntax_p(eval(syntax_nil, state.lval), 0); syntax_free(state.lval); parse_string(&state, "let abc=2 in abc<=1"); syntax_p(state.lval, 0); syntax_p(eval(syntax_nil, state.lval), 0); syntax_free(state.lval); parse_string(&state, "(x -> x + 1)1"); syntax_p(state.lval, 0); syntax_p(eval(syntax_nil, state.lval), 0); syntax_free(state.lval); parse_string(&state, "let rec abc=1 in abc"); syntax_p(state.lval, 0); syntax_p(eval(syntax_nil, state.lval), 0); syntax_free(state.lval); parse_string(&state, "let rec sum = \n" " x -> if x <= 0 then 0 else x + sum (x-1) \n" "in \n" "sum 10\n"); syntax_p(state.lval, 0); syntax_p(eval(syntax_nil, state.lval), 0); syntax_free(state.lval); parse_string(&state, "(1+2) * "); syntax_p(state.lval, 0); syntax_p(eval(syntax_nil, state.lval), 0); syntax_free(state.lval); parse_string(&state, "-1"); syntax_p(state.lval, 0); syntax_p(eval(syntax_nil, state.lval), 0); syntax_free(state.lval); parse_string(&state, "(x-> -x)(+1)"); syntax_p(state.lval, 0); syntax_p(eval(syntax_nil, state.lval), 0); syntax_free(state.lval); return 0; }