62 if(local_b_count == 0)
82 eval_val = eval[loop];
84 local_evaluate[ loop++ ] = eval_val;
102 n_int val_a, val_b, val_c;
108 if (code == 0L)
return SHOW_ERROR(
"No code provided");
109 if (evaluate == 0L)
return SHOW_ERROR(
"Nothing to evaluate");
110 if (number == 0L)
return SHOW_ERROR(
"No numbers provided");
112 if(code->
sc_output(code, individual, evaluate,&val_a) == -1)
116 if(evaluate[2] == end_char)
125 if(code->
sc_output(code, individual, &evaluate[4],&val_b) == -1)
129 val_c = val_a - val_b;
136 *number = (val_a + val_b);
139 *number = (val_a * val_b);
142 *number = (val_a & val_b);
145 *number = (val_a ^ val_b);
148 *number = (val_a | val_b);
151 *number = ((0 - val_c)<0);
154 *number = (val_c < 0);
157 *number = (val_c == 0);
160 *number = (val_c != 0);
163 *number = (val_a && val_b);
166 *number = (val_a || val_b);
172 *number = (val_a / val_b);
178 *number = (val_a % val_b);
181 *number = ((0 - val_c) <= 0);
184 *number = (val_c <= 0);
197 *number = val_a << val_b;
202 *number = val_a >> val_b;
211 if(evaluate[6] == end_char)
229 n_int output_number = 0;
234 if (code == 0L)
return SHOW_ERROR(
"No code provided");
235 if (value == 0L)
return SHOW_ERROR(
"No values provided");
237 first_value = value[0];
238 second_value = value[1];
248 local_brace = &(individual->
braces[brace_value]);
251 if(interpret_braces(individual, 0L, -1) == -1)
267 if((second_value >
VARIABLE_IF) && (second_value <= code->input_greater))
275 n_int error_value = -1;
281 if(return_value == -1)
291 if(return_value != 3)
300 if(output_number == 0)
312 if(output_number != 0)
319 if((output_number < 1) || (output_number > 0xFFFF))
329 n_byte *location_write =(
n_byte *)&function_location[1];
330 n_int continuation = return_value + 4 + location;
334 if(interpret_braces(individual, (
n_byte *)function_location, 0) == -1)
353 if(code->
sc_input(individual, value[4], (4 + return_value + location) ) == -1)
359 if(interpret_braces(individual,0L,0) == -1)
377 if(output_number == 0)
379 n_int loop = return_value + 4;
380 n_int braces_open = 1;
384 n_byte actual_value = value[loop++];
396 if((loop + location) > remaining_bytes)
401 while(braces_open != 0);
407 error_value = interpret_braces(individual,0L,0);
411 error_value = interpret_braces(individual,&value[3],location + return_value + 4);
413 if(error_value == -1)
417 return return_value + 4;
430 return_value = interpret_apply(code, individual, &value[4], &output_number,
APESCRIPT_SEMICOLON);
431 if(return_value == -1)
435 if(code->
sc_input(individual, second_value,output_number) == -1)
444 return return_value + 4;
459 n_byte *start_numbers = &local_data[end_loop];
466 (void)interpret_braces(individual,0L,0);
471 while(loop < local_number_num)
479 local_variable[loop++] = 0;
492 n_int cycle_count = 0;
504 n_int result = interpret_syntax(interp, individual, &local_data[loop], loop);
523 local_brace = &(individual->
braces[brace_number]);
524 first_evaluate = local_brace->
evaluate[0];
535 if(interpret_braces(individual,0L,-1) == -1)
546 n_int return_value = 0;
552 if(return_value == 0)
554 if(interpret_braces(individual, 0L, -1) == -1)
594 individual->
leave = 0;
611 if ((*to_clean)->binary_code != 0L)
628 void * structure,
void * data,
649 interpret_start(code, individual);
652 (*start)(individual, structure, data);
656 if (interpret_code(code, individual) == -1)
663 if ((code != 0L) && (end != 0L))
665 (*end)(individual, structure, data);
671 if (exit_offset > -1)
674 if (variables[exit_offset] == 0)