Browse Source

To find the nearest integer, use nearbyint(). trunc() has delivered

only one-sided answers.
pre-master-46
Holger Vogt 3 years ago
parent
commit
d77e36dc1b
  1. 2
      src/spicelib/parser/ptfuncs.c

2
src/spicelib/parser/ptfuncs.c

@ -78,7 +78,7 @@ PTpower(double arg1, double arg2)
/* If arg2 is quasi an integer, round it to have pow not fail /* If arg2 is quasi an integer, round it to have pow not fail
when arg1 is negative. Takes into account the double when arg1 is negative. Takes into account the double
representation which sometimes differs in the last digit(s). */ representation which sometimes differs in the last digit(s). */
if (AlmostEqualUlps(trunc(arg2), arg2, 10))
if (AlmostEqualUlps(nearbyint(arg2), arg2, 10))
res = pow(arg1, round(arg2)); res = pow(arg1, round(arg2));
else else
/* As per LTSPICE specification for ** */ /* As per LTSPICE specification for ** */

Loading…
Cancel
Save