Lines Matching defs:pVM

58 static void Fadd(FICL_VM *pVM)
63 vmCheckFStack(pVM, 2, 1);
75 static void Fsub(FICL_VM *pVM)
80 vmCheckFStack(pVM, 2, 1);
92 static void Fmul(FICL_VM *pVM)
97 vmCheckFStack(pVM, 2, 1);
109 static void Fnegate(FICL_VM *pVM)
114 vmCheckFStack(pVM, 1, 1);
125 static void Fdiv(FICL_VM *pVM)
130 vmCheckFStack(pVM, 2, 1);
142 static void Faddi(FICL_VM *pVM)
147 vmCheckFStack(pVM, 1, 1);
148 vmCheckStack(pVM, 1, 0);
160 static void Fsubi(FICL_VM *pVM)
165 vmCheckFStack(pVM, 1, 1);
166 vmCheckStack(pVM, 1, 0);
178 static void Fmuli(FICL_VM *pVM)
183 vmCheckFStack(pVM, 1, 1);
184 vmCheckStack(pVM, 1, 0);
196 static void Fdivi(FICL_VM *pVM)
201 vmCheckFStack(pVM, 1, 1);
202 vmCheckStack(pVM, 1, 0);
214 static void isubf(FICL_VM *pVM)
219 vmCheckFStack(pVM, 1, 1);
220 vmCheckStack(pVM, 1, 0);
232 static void idivf(FICL_VM *pVM)
237 vmCheckFStack(pVM, 1,1);
238 vmCheckStack(pVM, 1, 0);
250 static void itof(FICL_VM *pVM)
255 vmCheckStack(pVM, 1, 0);
256 vmCheckFStack(pVM, 0, 1);
267 static void Ftoi(FICL_VM *pVM)
272 vmCheckStack(pVM, 0, 1);
273 vmCheckFStack(pVM, 1, 0);
283 void FconstantParen(FICL_VM *pVM)
285 FICL_WORD *pFW = pVM->runningWord;
288 vmCheckFStack(pVM, 0, 1);
298 static void Fconstant(FICL_VM *pVM)
300 FICL_DICT *dp = vmGetDict(pVM);
301 STRINGINFO si = vmGetWord(pVM);
304 vmCheckFStack(pVM, 1, 0);
308 dictAppendCell(dp, stackPop(pVM->fStack));
315 static void FDot(FICL_VM *pVM)
320 vmCheckFStack(pVM, 1, 0);
324 sprintf(pVM->pad,"%#f ",f);
325 vmTextOut(pVM, pVM->pad, 0);
332 static void EDot(FICL_VM *pVM)
337 vmCheckFStack(pVM, 1, 0);
341 sprintf(pVM->pad,"%#e ",f);
342 vmTextOut(pVM, pVM->pad, 0);
350 static void displayFStack(FICL_VM *pVM)
352 int d = stackDepth(pVM->fStack);
356 vmCheckFStack(pVM, 0, 0);
358 vmTextOut(pVM, "F:", 0);
361 vmTextOut(pVM, "[0]", 0);
364 ltoa(d, &pVM->pad[1], pVM->base);
365 pVM->pad[0] = '[';
366 strcat(pVM->pad,"] ");
367 vmTextOut(pVM,pVM->pad,0);
369 pCell = pVM->fStack->sp - d;
372 sprintf(pVM->pad,"%#f ",(*pCell++).f);
373 vmTextOut(pVM,pVM->pad,0);
382 static void Fdepth(FICL_VM *pVM)
387 vmCheckStack(pVM, 0, 1);
390 i = stackDepth(pVM->fStack);
398 static void Fdrop(FICL_VM *pVM)
401 vmCheckFStack(pVM, 1, 0);
411 static void FtwoDrop(FICL_VM *pVM)
414 vmCheckFStack(pVM, 2, 0);
424 static void Fdup(FICL_VM *pVM)
427 vmCheckFStack(pVM, 1, 2);
437 static void FtwoDup(FICL_VM *pVM)
440 vmCheckFStack(pVM, 2, 4);
451 static void Fover(FICL_VM *pVM)
454 vmCheckFStack(pVM, 2, 3);
464 static void FtwoOver(FICL_VM *pVM)
467 vmCheckFStack(pVM, 4, 6);
478 static void Fpick(FICL_VM *pVM)
483 vmCheckFStack(pVM, c.i+1, c.i+2);
493 static void FquestionDup(FICL_VM *pVM)
498 vmCheckFStack(pVM, 1, 2);
510 static void Froll(FICL_VM *pVM)
516 vmCheckFStack(pVM, i+1, i+1);
526 static void FminusRoll(FICL_VM *pVM)
532 vmCheckFStack(pVM, i+1, i+1);
542 static void Frot(FICL_VM *pVM)
545 vmCheckFStack(pVM, 3, 3);
555 static void Fminusrot(FICL_VM *pVM)
558 vmCheckFStack(pVM, 3, 3);
568 static void Fswap(FICL_VM *pVM)
571 vmCheckFStack(pVM, 2, 2);
581 static void FtwoSwap(FICL_VM *pVM)
584 vmCheckFStack(pVM, 4, 4);
595 static void Ffetch(FICL_VM *pVM)
600 vmCheckFStack(pVM, 0, 1);
601 vmCheckStack(pVM, 1, 0);
612 static void Fstore(FICL_VM *pVM)
617 vmCheckFStack(pVM, 1, 0);
618 vmCheckStack(pVM, 1, 0);
629 static void FplusStore(FICL_VM *pVM)
634 vmCheckStack(pVM, 1, 0);
635 vmCheckFStack(pVM, 1, 0);
645 static void fliteralParen(FICL_VM *pVM)
648 vmCheckStack(pVM, 0, 1);
651 PUSHFLOAT(*(float*)(pVM->ip));
652 vmBranchRelative(pVM, 1);
658 static void fliteralIm(FICL_VM *pVM)
660 FICL_DICT *dp = vmGetDict(pVM);
661 FICL_WORD *pfLitParen = ficlLookup(pVM->pSys, "(fliteral)");
664 vmCheckFStack(pVM, 1, 0);
668 dictAppendCell(dp, stackPop(pVM->fStack));
675 static void FzeroEquals(FICL_VM *pVM)
680 vmCheckFStack(pVM, 1, 0); /* Make sure something on float stack. */
681 vmCheckStack(pVM, 0, 1); /* Make sure room for result. */
692 static void FzeroLess(FICL_VM *pVM)
697 vmCheckFStack(pVM, 1, 0); /* Make sure something on float stack. */
698 vmCheckStack(pVM, 0, 1); /* Make sure room for result. */
709 static void FzeroGreater(FICL_VM *pVM)
714 vmCheckFStack(pVM, 1, 0);
715 vmCheckStack(pVM, 0, 1);
726 static void FisEqual(FICL_VM *pVM)
731 vmCheckFStack(pVM, 2, 0);
732 vmCheckStack(pVM, 0, 1);
744 static void FisLess(FICL_VM *pVM)
749 vmCheckFStack(pVM, 2, 0);
750 vmCheckStack(pVM, 0, 1);
762 static void FisGreater(FICL_VM *pVM)
767 vmCheckFStack(pVM, 2, 0);
768 vmCheckStack(pVM, 0, 1);
781 static void FFrom(FICL_VM *pVM)
786 vmCheckFStack(pVM, 1, 0);
787 vmCheckStack(pVM, 0, 1);
790 c = stackPop(pVM->fStack);
791 stackPush(pVM->pStack, c);
795 static void ToF(FICL_VM *pVM)
800 vmCheckFStack(pVM, 0, 1);
801 vmCheckStack(pVM, 1, 0);
804 c = stackPop(pVM->pStack);
805 stackPush(pVM->fStack, c);
829 ** pVM -- Virtual Machine pointer.
833 int ficlParseFloatNumber( FICL_VM *pVM, STRINGINFO si )
846 vmCheckFStack(pVM, 0, 1);
852 if (pVM->base != 10)
979 if (pVM->state == COMPILE)
980 fliteralIm(pVM);