Lines Matching refs:vsp

65 store_float(calc_value_t *vsp, floatp 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
233 switch (op_defn_table[*p++].opcode[(vsp[-1].type << 2) + vsp->type]) { in fn_PtCr_evaluate()
245 store_float(vsp, (floatp)vsp->value.i); in fn_PtCr_evaluate()
248 store_float(vsp, (floatp)vsp->value.i); in fn_PtCr_evaluate()
250 store_float(vsp - 1, (floatp)vsp[-1].value.i); in fn_PtCr_evaluate()
256 if (vsp->value.i < 0) in fn_PtCr_evaluate()
260 vsp->value.f = fabs(vsp->value.f); in fn_PtCr_evaluate()
263 int int1 = vsp[-1].value.i, int2 = vsp->value.i; in fn_PtCr_evaluate()
266 store_float(vsp - 1, (double)int1 + int2); in fn_PtCr_evaluate()
268 vsp[-1].value.i = int1 + int2; in fn_PtCr_evaluate()
269 --vsp; continue; in fn_PtCr_evaluate()
272 vsp[-1].value.f += vsp->value.f; in fn_PtCr_evaluate()
273 --vsp; continue; in fn_PtCr_evaluate()
275 vsp[-1].value.i &= vsp->value.i; in fn_PtCr_evaluate()
276 --vsp; continue; in fn_PtCr_evaluate()
280 code = gs_atan2_degrees(vsp[-1].value.f, vsp->value.f, in fn_PtCr_evaluate()
284 vsp[-1].value.f = result; in fn_PtCr_evaluate()
285 --vsp; continue; in fn_PtCr_evaluate()
289 if (vsp->value.i < -MAX_SHIFT || vsp->value.i > MAX_SHIFT) in fn_PtCr_evaluate()
290 vsp[-1].value.i = 0; in fn_PtCr_evaluate()
292 else if ((n = vsp->value.i) < 0) in fn_PtCr_evaluate()
293 vsp[-1].value.i = ((uint)(vsp[-1].value.i)) >> -n; in fn_PtCr_evaluate()
295 vsp[-1].value.i <<= n; in fn_PtCr_evaluate()
296 --vsp; continue; in fn_PtCr_evaluate()
298 vsp->value.f = ceil(vsp->value.f); in fn_PtCr_evaluate()
301 vsp->value.f = gs_cos_degrees(vsp->value.f); in fn_PtCr_evaluate()
304 vsp->value.i = (int)(vsp->value.f); in fn_PtCr_evaluate()
305 vsp->type = CVT_INT; in fn_PtCr_evaluate()
310 if (vsp->value.f == 0) in fn_PtCr_evaluate()
312 vsp[-1].value.f /= vsp->value.f; in fn_PtCr_evaluate()
313 --vsp; continue; in fn_PtCr_evaluate()
315 vsp[-1].value.f = pow(vsp[-1].value.f, vsp->value.f); in fn_PtCr_evaluate()
316 --vsp; continue; in fn_PtCr_evaluate()
318 vsp->value.f = floor(vsp->value.f); in fn_PtCr_evaluate()
321 if (vsp->value.i == 0) in fn_PtCr_evaluate()
323 if ((vsp[-1].value.i /= vsp->value.i) == min_int && in fn_PtCr_evaluate()
324 vsp->value.i == -1) /* anomalous boundary case, fail */ in fn_PtCr_evaluate()
326 --vsp; continue; in fn_PtCr_evaluate()
328 vsp->value.f = log(vsp->value.f); in fn_PtCr_evaluate()
331 vsp->value.f = log10(vsp->value.f); in fn_PtCr_evaluate()
334 if (vsp->value.i == 0) in fn_PtCr_evaluate()
336 vsp[-1].value.i %= vsp->value.i; in fn_PtCr_evaluate()
337 --vsp; continue; in fn_PtCr_evaluate()
340 double prod = (double)vsp[-1].value.i * vsp->value.i; in fn_PtCr_evaluate()
343 store_float(vsp - 1, prod); in fn_PtCr_evaluate()
345 vsp[-1].value.i = (int)prod; in fn_PtCr_evaluate()
346 --vsp; continue; in fn_PtCr_evaluate()
349 vsp[-1].value.f *= vsp->value.f; in fn_PtCr_evaluate()
350 --vsp; continue; in fn_PtCr_evaluate()
353 if (vsp->value.i == min_int) in fn_PtCr_evaluate()
354 store_float(vsp, (floatp)vsp->value.i); /* =self negated */ in fn_PtCr_evaluate()
356 vsp->value.i = -vsp->value.i; in fn_PtCr_evaluate()
359 vsp->value.f = -vsp->value.f; in fn_PtCr_evaluate()
362 vsp->value.i = !vsp->value.i; in fn_PtCr_evaluate()
365 vsp->value.i = ~vsp->value.i; in fn_PtCr_evaluate()
368 vsp[-1].value.i |= vsp->value.i; in fn_PtCr_evaluate()
369 --vsp; continue; in fn_PtCr_evaluate()
371 vsp->value.f = floor(vsp->value.f + 0.5); in fn_PtCr_evaluate()
374 vsp->value.f = gs_sin_degrees(vsp->value.f); in fn_PtCr_evaluate()
377 vsp->value.f = sqrt(vsp->value.f); in fn_PtCr_evaluate()
380 int int1 = vsp[-1].value.i, int2 = vsp->value.i; in fn_PtCr_evaluate()
383 store_float(vsp - 1, (double)int1 - int2); in fn_PtCr_evaluate()
385 vsp[-1].value.i = int1 - int2; in fn_PtCr_evaluate()
386 --vsp; continue; in fn_PtCr_evaluate()
389 vsp[-1].value.f -= vsp->value.f; in fn_PtCr_evaluate()
390 --vsp; continue; in fn_PtCr_evaluate()
392 vsp->value.f = (vsp->value.f < 0 ? ceil(vsp->value.f) : in fn_PtCr_evaluate()
393 floor(vsp->value.f)); in fn_PtCr_evaluate()
396 vsp[-1].value.i ^= vsp->value.i; in fn_PtCr_evaluate()
397 --vsp; continue; in fn_PtCr_evaluate()
402 vsp[-1].value.i = vsp[-1].value.m rel vsp->value.m in fn_PtCr_evaluate()
410 vsp[-1].type = CVT_BOOL; in fn_PtCr_evaluate()
411 --vsp; continue; in fn_PtCr_evaluate()
448 i = vsp->value.i; in fn_PtCr_evaluate()
449 n = vsp - vstack; in fn_PtCr_evaluate()
454 memcpy(vsp, vsp - i, i * sizeof(*vsp)); in fn_PtCr_evaluate()
455 vsp += i - 1; in fn_PtCr_evaluate()
458 vsp[1] = *vsp; in fn_PtCr_evaluate()
461 vstack[MAX_VSTACK] = *vsp; in fn_PtCr_evaluate()
462 *vsp = vsp[-1]; in fn_PtCr_evaluate()
463 vsp[-1] = vstack[MAX_VSTACK]; in fn_PtCr_evaluate()
466 i = vsp->value.i; in fn_PtCr_evaluate()
467 if (i < 0 || i >= vsp - vstack - 1) in fn_PtCr_evaluate()
469 *vsp = vsp[-i - 1]; in fn_PtCr_evaluate()
472 --vsp; in fn_PtCr_evaluate()
475 n = vsp[-1].value.i; in fn_PtCr_evaluate()
476 i = vsp->value.i; in fn_PtCr_evaluate()
477 if (n < 0 || n > vsp - vstack - 2) in fn_PtCr_evaluate()
481 memmove(vsp - n, vsp - (n + 1), n * sizeof(*vsp)); in fn_PtCr_evaluate()
482 vsp[-(n + 1)] = vsp[-1]; in fn_PtCr_evaluate()
485 vsp[-1] = vsp[-(n + 1)]; in fn_PtCr_evaluate()
486 memmove(vsp - (n + 1), vsp - n, n * sizeof(*vsp)); in fn_PtCr_evaluate()
488 vsp -= 2; in fn_PtCr_evaluate()
494 vsp[1].value.i = *p++, vsp[1].type = CVT_INT; in fn_PtCr_evaluate()
497 memcpy(&vsp[1].value.i, p, sizeof(int)); in fn_PtCr_evaluate()
498 vsp[1].type = CVT_INT; in fn_PtCr_evaluate()
502 memcpy(&vsp[1].value.f, p, sizeof(float)); in fn_PtCr_evaluate()
503 vsp[1].type = CVT_FLOAT; in fn_PtCr_evaluate()
507 vsp[1].value.i = true, vsp[1].type = CVT_BOOL; in fn_PtCr_evaluate()
510 vsp[1].value.i = false, vsp[1].type = CVT_BOOL; in fn_PtCr_evaluate()
512 if (vsp == &vstack[MAX_VSTACK]) in fn_PtCr_evaluate()
514 ++vsp; in fn_PtCr_evaluate()
520 if ((vsp--)->value.i) { /* value is true, execute body */ in fn_PtCr_evaluate()
532 repeat_count[repeat_nesting_level] = vsp->value.i; in fn_PtCr_evaluate()
534 --vsp; /* pop the counter */ in fn_PtCr_evaluate()
547 if (vsp != vstack + pfn->params.n) in fn_PtCr_evaluate()