// ------------------------------------------------------------------------------------------------------------------------------------- // Function: AllenVM_CPU_BASE_CMP_GT(); // Purpose: Greater than. // Returns: 0/1 wether false/true. // ------------------------------------------------------------------------------------------------------------------------------------- static int AllenVM_CPU_BASE_CMP_GT(struct AllenInterp *i, int argc, char **argv, void *pd) { char buf[TBASE_CMP_BSIZE]; register int p,op,x,y; register float c=1; // Buffer and parameters. for(p=1,op=1; p= atof(argv[x])) { c=0; } break; // Operate: Less than. case 3: if(atof(argv[1]) != atof(argv[x])) { c=0; } break; // Operate: Equal to. case 4: if(atof(argv[1]) == atof(argv[x])) { c=0; } break; // Operate: Not equal. case 5: if(atof(argv[1]) < atof(argv[x])) { c=0; } break; // Operate: Greater or equal. case 6: if(atof(argv[1]) > atof(argv[x])) { c=0; } break; // Operate: Less or equal. }}} snprintf(buf,TBASE_CMP_BSIZE,"%f", c); // Copy result to buffer as float. AllenVM_InterpSetResult(i,buf); // Set interpreter result. return Allen_VM_OK; // Everything ok. }