Lines Matching refs:vsp

65 store_float(calc_value_t *vsp, double f)  in store_float()  argument
67 vsp->value.f = f; in store_float()
68 vsp->type = CVT_FLOAT; in store_float()
112 calc_value_t *vsp = vstack + pfn->params.m; in fn_PtCr_evaluate() local
236 switch (op_defn_table[*p++].opcode[(vsp[-1].type << 2) + vsp->type]) { in fn_PtCr_evaluate()
248 store_float(vsp, (double)vsp->value.i); in fn_PtCr_evaluate()
251 store_float(vsp, (double)vsp->value.i); in fn_PtCr_evaluate()
254 store_float(vsp - 1, (double)vsp[-1].value.i); in fn_PtCr_evaluate()
260 if (vsp->value.i < 0) in fn_PtCr_evaluate()
264 vsp->value.f = fabs(vsp->value.f); in fn_PtCr_evaluate()
267 int int1 = vsp[-1].value.i, int2 = vsp->value.i; in fn_PtCr_evaluate()
270 store_float(vsp - 1, (double)int1 + int2); in fn_PtCr_evaluate()
272 vsp[-1].value.i = int1 + int2; in fn_PtCr_evaluate()
273 --vsp; continue; in fn_PtCr_evaluate()
276 vsp[-1].value.f += vsp->value.f; in fn_PtCr_evaluate()
277 --vsp; continue; in fn_PtCr_evaluate()
279 vsp[-1].value.i &= vsp->value.i; in fn_PtCr_evaluate()
280 --vsp; continue; in fn_PtCr_evaluate()
284 code = gs_atan2_degrees(vsp[-1].value.f, vsp->value.f, in fn_PtCr_evaluate()
288 vsp[-1].value.f = result; in fn_PtCr_evaluate()
289 --vsp; continue; in fn_PtCr_evaluate()
293 if (vsp->value.i < -MAX_SHIFT || vsp->value.i > MAX_SHIFT) in fn_PtCr_evaluate()
294 vsp[-1].value.i = 0; in fn_PtCr_evaluate()
296 else if ((n = vsp->value.i) < 0) in fn_PtCr_evaluate()
297 vsp[-1].value.i = ((uint)(vsp[-1].value.i)) >> -n; in fn_PtCr_evaluate()
299 vsp[-1].value.i <<= n; in fn_PtCr_evaluate()
300 --vsp; continue; in fn_PtCr_evaluate()
302 vsp->value.f = ceil(vsp->value.f); in fn_PtCr_evaluate()
305 vsp->value.f = gs_cos_degrees(vsp->value.f); in fn_PtCr_evaluate()
313 int int1 = (int)(vsp->value.f); in fn_PtCr_evaluate()
314 vsp->value.i = int1; in fn_PtCr_evaluate()
315 vsp->type = CVT_INT; in fn_PtCr_evaluate()
321 if (vsp->value.f == 0) in fn_PtCr_evaluate()
323 vsp[-1].value.f /= vsp->value.f; in fn_PtCr_evaluate()
324 --vsp; continue; in fn_PtCr_evaluate()
326 vsp[-1].value.f = pow(vsp[-1].value.f, vsp->value.f); in fn_PtCr_evaluate()
327 --vsp; continue; in fn_PtCr_evaluate()
329 vsp->value.f = floor(vsp->value.f); in fn_PtCr_evaluate()
332 if (vsp->value.i == 0) in fn_PtCr_evaluate()
334 if ((vsp[-1].value.i /= vsp->value.i) == min_int && in fn_PtCr_evaluate()
335 vsp->value.i == -1) /* anomalous boundary case, fail */ in fn_PtCr_evaluate()
337 --vsp; continue; in fn_PtCr_evaluate()
339 vsp->value.f = log(vsp->value.f); in fn_PtCr_evaluate()
342 vsp->value.f = log10(vsp->value.f); in fn_PtCr_evaluate()
345 if (vsp->value.i == 0) in fn_PtCr_evaluate()
347 vsp[-1].value.i %= vsp->value.i; in fn_PtCr_evaluate()
348 --vsp; continue; in fn_PtCr_evaluate()
351 double prod = (double)vsp[-1].value.i * vsp->value.i; in fn_PtCr_evaluate()
354 store_float(vsp - 1, prod); in fn_PtCr_evaluate()
356 vsp[-1].value.i = (int)prod; in fn_PtCr_evaluate()
357 --vsp; continue; in fn_PtCr_evaluate()
360 vsp[-1].value.f *= vsp->value.f; in fn_PtCr_evaluate()
361 --vsp; continue; in fn_PtCr_evaluate()
364 if (vsp->value.i == min_int) in fn_PtCr_evaluate()
365 store_float(vsp, (double)vsp->value.i); /* =self negated */ in fn_PtCr_evaluate()
367 vsp->value.i = -vsp->value.i; in fn_PtCr_evaluate()
370 vsp->value.f = -vsp->value.f; in fn_PtCr_evaluate()
373 vsp->value.i = !vsp->value.i; in fn_PtCr_evaluate()
376 vsp->value.i = ~vsp->value.i; in fn_PtCr_evaluate()
379 vsp[-1].value.i |= vsp->value.i; in fn_PtCr_evaluate()
380 --vsp; continue; in fn_PtCr_evaluate()
382 vsp->value.f = floor(vsp->value.f + 0.5); in fn_PtCr_evaluate()
385 vsp->value.f = gs_sin_degrees(vsp->value.f); in fn_PtCr_evaluate()
388 vsp->value.f = sqrt(vsp->value.f); in fn_PtCr_evaluate()
391 int int1 = vsp[-1].value.i, int2 = vsp->value.i; in fn_PtCr_evaluate()
394 store_float(vsp - 1, (double)int1 - int2); in fn_PtCr_evaluate()
396 vsp[-1].value.i = int1 - int2; in fn_PtCr_evaluate()
397 --vsp; continue; in fn_PtCr_evaluate()
400 vsp[-1].value.f -= vsp->value.f; in fn_PtCr_evaluate()
401 --vsp; continue; in fn_PtCr_evaluate()
403 vsp->value.f = (vsp->value.f < 0 ? ceil(vsp->value.f) : in fn_PtCr_evaluate()
404 floor(vsp->value.f)); in fn_PtCr_evaluate()
407 vsp[-1].value.i ^= vsp->value.i; in fn_PtCr_evaluate()
408 --vsp; continue; in fn_PtCr_evaluate()
413 vsp[-1].value.i = vsp[-1].value.m rel vsp->value.m in fn_PtCr_evaluate()
421 vsp[-1].type = CVT_BOOL; in fn_PtCr_evaluate()
422 --vsp; continue; in fn_PtCr_evaluate()
459 i = vsp->value.i; in fn_PtCr_evaluate()
460 n = vsp - vstack; in fn_PtCr_evaluate()
465 memcpy(vsp, vsp - i, i * sizeof(*vsp)); in fn_PtCr_evaluate()
466 vsp += i - 1; in fn_PtCr_evaluate()
469 vsp[1] = *vsp; in fn_PtCr_evaluate()
472 vstack[MAX_VSTACK] = *vsp; in fn_PtCr_evaluate()
473 *vsp = vsp[-1]; in fn_PtCr_evaluate()
474 vsp[-1] = vstack[MAX_VSTACK]; in fn_PtCr_evaluate()
477 i = vsp->value.i; in fn_PtCr_evaluate()
478 if (i < 0 || i >= vsp - vstack - 1) in fn_PtCr_evaluate()
480 *vsp = vsp[-i - 1]; in fn_PtCr_evaluate()
483 --vsp; in fn_PtCr_evaluate()
486 n = vsp[-1].value.i; in fn_PtCr_evaluate()
487 i = vsp->value.i; in fn_PtCr_evaluate()
488 if (n < 0 || n > vsp - vstack - 2) in fn_PtCr_evaluate()
492 memmove(vsp - n, vsp - (n + 1), n * sizeof(*vsp)); in fn_PtCr_evaluate()
493 vsp[-(n + 1)] = vsp[-1]; in fn_PtCr_evaluate()
496 vsp[-1] = vsp[-(n + 1)]; in fn_PtCr_evaluate()
497 memmove(vsp - (n + 1), vsp - n, n * sizeof(*vsp)); in fn_PtCr_evaluate()
499 vsp -= 2; in fn_PtCr_evaluate()
505 vsp[1].value.i = *p++, vsp[1].type = CVT_INT; in fn_PtCr_evaluate()
508 memcpy(&vsp[1].value.i, p, sizeof(int)); in fn_PtCr_evaluate()
509 vsp[1].type = CVT_INT; in fn_PtCr_evaluate()
513 memcpy(&vsp[1].value.f, p, sizeof(float)); in fn_PtCr_evaluate()
514 vsp[1].type = CVT_FLOAT; in fn_PtCr_evaluate()
518 vsp[1].value.i = true, vsp[1].type = CVT_BOOL; in fn_PtCr_evaluate()
521 vsp[1].value.i = false, vsp[1].type = CVT_BOOL; in fn_PtCr_evaluate()
523 if (vsp == &vstack[MAX_VSTACK]) in fn_PtCr_evaluate()
525 ++vsp; in fn_PtCr_evaluate()
531 if ((vsp--)->value.i) { /* value is true, execute body */ in fn_PtCr_evaluate()
543 repeat_count[repeat_nesting_level] = vsp->value.i; in fn_PtCr_evaluate()
545 --vsp; /* pop the counter */ in fn_PtCr_evaluate()
561 if (vsp != vstack + pfn->params.n) in fn_PtCr_evaluate()