summaryrefslogtreecommitdiff
path: root/Build/source/utils/asymptote/runmath.cc
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/utils/asymptote/runmath.cc')
-rw-r--r--Build/source/utils/asymptote/runmath.cc289
1 files changed, 151 insertions, 138 deletions
diff --git a/Build/source/utils/asymptote/runmath.cc b/Build/source/utils/asymptote/runmath.cc
index ed73781d84e..6bf13e7daba 100644
--- a/Build/source/utils/asymptote/runmath.cc
+++ b/Build/source/utils/asymptote/runmath.cc
@@ -27,6 +27,7 @@
#include "array.h"
#include "triple.h"
#include "callable.h"
+#include "opsymbols.h"
using vm::stack;
using vm::error;
@@ -152,241 +153,253 @@ inline Int sgn(double x)
return (x > 0.0 ? 1 : (x < 0.0 ? -1 : 0));
}
+static bool initializeRandom=true;
+
+void Srand(Int seed)
+{
+ initializeRandom=false;
+ const int n=256;
+ static char state[n];
+ initstate(intcast(seed),state,n);
+}
+
// Autogenerated routines:
+#include "runmath.symbols.h"
+
namespace run {
-#line 62 "runmath.in"
+#line 72 "runmath.in"
// real ^(real x, Int y);
void gen_runmath0(stack *Stack)
{
Int y=vm::pop<Int>(Stack);
real x=vm::pop<real>(Stack);
-#line 63 "runmath.in"
+#line 73 "runmath.in"
{Stack->push<real>(pow(x,y)); return;}
}
-#line 67 "runmath.in"
+#line 77 "runmath.in"
// pair ^(pair z, Int y);
void gen_runmath1(stack *Stack)
{
Int y=vm::pop<Int>(Stack);
pair z=vm::pop<pair>(Stack);
-#line 68 "runmath.in"
+#line 78 "runmath.in"
{Stack->push<pair>(pow(z,y)); return;}
}
-#line 72 "runmath.in"
+#line 82 "runmath.in"
// Int quotient(Int x, Int y);
void gen_runmath2(stack *Stack)
{
Int y=vm::pop<Int>(Stack);
Int x=vm::pop<Int>(Stack);
-#line 73 "runmath.in"
+#line 83 "runmath.in"
if(y == 0) dividebyzero();
if(y == -1) {Stack->push<Int>(Negate(x)); return;}
// Implementation-independent definition of integer division: round down
{Stack->push<Int>((x-portableMod(x,y))/y); return;}
}
-#line 80 "runmath.in"
+#line 90 "runmath.in"
// Int abs(Int x);
void gen_runmath3(stack *Stack)
{
Int x=vm::pop<Int>(Stack);
-#line 81 "runmath.in"
+#line 91 "runmath.in"
{Stack->push<Int>(Abs(x)); return;}
}
-#line 85 "runmath.in"
+#line 95 "runmath.in"
// Int sgn(real x);
void gen_runmath4(stack *Stack)
{
real x=vm::pop<real>(Stack);
-#line 86 "runmath.in"
+#line 96 "runmath.in"
{Stack->push<Int>(sgn(x)); return;}
}
-#line 90 "runmath.in"
+#line 100 "runmath.in"
// Int rand();
void gen_runmath5(stack *Stack)
{
-#line 91 "runmath.in"
+#line 101 "runmath.in"
+ if(initializeRandom)
+ Srand(1);
{Stack->push<Int>(random()); return;}
}
-#line 95 "runmath.in"
+#line 107 "runmath.in"
// void srand(Int seed);
void gen_runmath6(stack *Stack)
{
Int seed=vm::pop<Int>(Stack);
-#line 96 "runmath.in"
- const int n=256;
- static char state[n];
- initstate(intcast(seed),state,n);
+#line 108 "runmath.in"
+ Srand(seed);
}
// a random number uniformly distributed in the interval [0,1]
-#line 103 "runmath.in"
+#line 113 "runmath.in"
// real unitrand();
void gen_runmath7(stack *Stack)
{
-#line 104 "runmath.in"
+#line 114 "runmath.in"
{Stack->push<real>(((real) random())/RAND_MAX); return;}
}
-#line 108 "runmath.in"
+#line 118 "runmath.in"
// Int ceil(real x);
void gen_runmath8(stack *Stack)
{
real x=vm::pop<real>(Stack);
-#line 109 "runmath.in"
+#line 119 "runmath.in"
{Stack->push<Int>(Intcast(ceil(x))); return;}
}
-#line 113 "runmath.in"
+#line 123 "runmath.in"
// Int floor(real x);
void gen_runmath9(stack *Stack)
{
real x=vm::pop<real>(Stack);
-#line 114 "runmath.in"
+#line 124 "runmath.in"
{Stack->push<Int>(Intcast(floor(x))); return;}
}
-#line 118 "runmath.in"
+#line 128 "runmath.in"
// Int round(real x);
void gen_runmath10(stack *Stack)
{
real x=vm::pop<real>(Stack);
-#line 119 "runmath.in"
+#line 129 "runmath.in"
if(validInt(x)) {Stack->push<Int>(Round(x)); return;}
integeroverflow(0);
}
-#line 124 "runmath.in"
+#line 134 "runmath.in"
// Int Ceil(real x);
void gen_runmath11(stack *Stack)
{
real x=vm::pop<real>(Stack);
-#line 125 "runmath.in"
+#line 135 "runmath.in"
{Stack->push<Int>(Ceil(x)); return;}
}
-#line 129 "runmath.in"
+#line 139 "runmath.in"
// Int Floor(real x);
void gen_runmath12(stack *Stack)
{
real x=vm::pop<real>(Stack);
-#line 130 "runmath.in"
+#line 140 "runmath.in"
{Stack->push<Int>(Floor(x)); return;}
}
-#line 134 "runmath.in"
+#line 144 "runmath.in"
// Int Round(real x);
void gen_runmath13(stack *Stack)
{
real x=vm::pop<real>(Stack);
-#line 135 "runmath.in"
+#line 145 "runmath.in"
{Stack->push<Int>(Round(Intcap(x))); return;}
}
-#line 139 "runmath.in"
+#line 149 "runmath.in"
// real fmod(real x, real y);
void gen_runmath14(stack *Stack)
{
real y=vm::pop<real>(Stack);
real x=vm::pop<real>(Stack);
-#line 140 "runmath.in"
+#line 150 "runmath.in"
if (y == 0.0) dividebyzero();
{Stack->push<real>(fmod(x,y)); return;}
}
-#line 145 "runmath.in"
+#line 155 "runmath.in"
// real atan2(real y, real x);
void gen_runmath15(stack *Stack)
{
real x=vm::pop<real>(Stack);
real y=vm::pop<real>(Stack);
-#line 146 "runmath.in"
+#line 156 "runmath.in"
{Stack->push<real>(atan2(y,x)); return;}
}
-#line 150 "runmath.in"
+#line 160 "runmath.in"
// real hypot(real x, real y);
void gen_runmath16(stack *Stack)
{
real y=vm::pop<real>(Stack);
real x=vm::pop<real>(Stack);
-#line 151 "runmath.in"
+#line 161 "runmath.in"
{Stack->push<real>(hypot(x,y)); return;}
}
-#line 155 "runmath.in"
+#line 165 "runmath.in"
// real remainder(real x, real y);
void gen_runmath17(stack *Stack)
{
real y=vm::pop<real>(Stack);
real x=vm::pop<real>(Stack);
-#line 156 "runmath.in"
+#line 166 "runmath.in"
{Stack->push<real>(remainder(x,y)); return;}
}
-#line 160 "runmath.in"
+#line 170 "runmath.in"
// real Jn(Int n, real x);
void gen_runmath18(stack *Stack)
{
real x=vm::pop<real>(Stack);
Int n=vm::pop<Int>(Stack);
-#line 161 "runmath.in"
+#line 171 "runmath.in"
{Stack->push<real>(jn(n,x)); return;}
}
-#line 165 "runmath.in"
+#line 175 "runmath.in"
// real Yn(Int n, real x);
void gen_runmath19(stack *Stack)
{
real x=vm::pop<real>(Stack);
Int n=vm::pop<Int>(Stack);
-#line 166 "runmath.in"
+#line 176 "runmath.in"
{Stack->push<real>(yn(n,x)); return;}
}
-#line 170 "runmath.in"
+#line 180 "runmath.in"
// real erf(real x);
void gen_runmath20(stack *Stack)
{
real x=vm::pop<real>(Stack);
-#line 171 "runmath.in"
+#line 181 "runmath.in"
{Stack->push<real>(erf(x)); return;}
}
-#line 175 "runmath.in"
+#line 185 "runmath.in"
// real erfc(real x);
void gen_runmath21(stack *Stack)
{
real x=vm::pop<real>(Stack);
-#line 176 "runmath.in"
+#line 186 "runmath.in"
{Stack->push<real>(erfc(x)); return;}
}
-#line 180 "runmath.in"
+#line 190 "runmath.in"
// Int factorial(Int n);
void gen_runmath22(stack *Stack)
{
Int n=vm::pop<Int>(Stack);
-#line 181 "runmath.in"
+#line 191 "runmath.in"
if(n < 0) error(invalidargument);
{Stack->push<Int>(factorial(n)); return;}
}
-#line 185 "runmath.in"
+#line 195 "runmath.in"
// Int choose(Int n, Int k);
void gen_runmath23(stack *Stack)
{
Int k=vm::pop<Int>(Stack);
Int n=vm::pop<Int>(Stack);
-#line 186 "runmath.in"
+#line 196 "runmath.in"
if(n < 0 || k < 0 || k > n) error(invalidargument);
Int f=1;
Int r=n-k;
@@ -397,12 +410,12 @@ void gen_runmath23(stack *Stack)
{Stack->push<Int>(f); return;}
}
-#line 196 "runmath.in"
+#line 206 "runmath.in"
// real gamma(real x);
void gen_runmath24(stack *Stack)
{
real x=vm::pop<real>(Stack);
-#line 197 "runmath.in"
+#line 207 "runmath.in"
#ifdef HAVE_TGAMMA
{Stack->push<real>(tgamma(x)); return;}
#else
@@ -411,14 +424,14 @@ void gen_runmath24(stack *Stack)
#endif
}
-#line 206 "runmath.in"
+#line 216 "runmath.in"
// realarray* quadraticroots(real a, real b, real c);
void gen_runmath25(stack *Stack)
{
real c=vm::pop<real>(Stack);
real b=vm::pop<real>(Stack);
real a=vm::pop<real>(Stack);
-#line 207 "runmath.in"
+#line 217 "runmath.in"
quadraticroots q(a,b,c);
array *roots=new array(q.roots);
if(q.roots >= 1) (*roots)[0]=q.t1;
@@ -426,14 +439,14 @@ void gen_runmath25(stack *Stack)
{Stack->push<realarray*>(roots); return;}
}
-#line 215 "runmath.in"
+#line 225 "runmath.in"
// pairarray* quadraticroots(explicit pair a, explicit pair b, explicit pair c);
void gen_runmath26(stack *Stack)
{
pair c=vm::pop<pair>(Stack);
pair b=vm::pop<pair>(Stack);
pair a=vm::pop<pair>(Stack);
-#line 216 "runmath.in"
+#line 226 "runmath.in"
Quadraticroots q(a,b,c);
array *roots=new array(q.roots);
if(q.roots >= 1) (*roots)[0]=q.z1;
@@ -441,7 +454,7 @@ void gen_runmath26(stack *Stack)
{Stack->push<pairarray*>(roots); return;}
}
-#line 224 "runmath.in"
+#line 234 "runmath.in"
// realarray* cubicroots(real a, real b, real c, real d);
void gen_runmath27(stack *Stack)
{
@@ -449,7 +462,7 @@ void gen_runmath27(stack *Stack)
real c=vm::pop<real>(Stack);
real b=vm::pop<real>(Stack);
real a=vm::pop<real>(Stack);
-#line 225 "runmath.in"
+#line 235 "runmath.in"
cubicroots q(a,b,c,d);
array *roots=new array(q.roots);
if(q.roots >= 1) (*roots)[0]=q.t1;
@@ -460,98 +473,98 @@ void gen_runmath27(stack *Stack)
// Logical operations
-#line 236 "runmath.in"
+#line 246 "runmath.in"
// bool !(bool b);
void gen_runmath28(stack *Stack)
{
bool b=vm::pop<bool>(Stack);
-#line 237 "runmath.in"
+#line 247 "runmath.in"
{Stack->push<bool>(!b); return;}
}
-#line 242 "runmath.in"
+#line 252 "runmath.in"
void boolMemEq(stack *Stack)
{
frame * b=vm::pop<frame *>(Stack);
frame * a=vm::pop<frame *>(Stack);
-#line 243 "runmath.in"
+#line 253 "runmath.in"
{Stack->push<bool>(a == b); return;}
}
-#line 247 "runmath.in"
+#line 257 "runmath.in"
void boolMemNeq(stack *Stack)
{
frame * b=vm::pop<frame *>(Stack);
frame * a=vm::pop<frame *>(Stack);
-#line 248 "runmath.in"
+#line 258 "runmath.in"
{Stack->push<bool>(a != b); return;}
}
-#line 252 "runmath.in"
+#line 262 "runmath.in"
void boolFuncEq(stack *Stack)
{
callable * b=vm::pop<callable *>(Stack);
callable * a=vm::pop<callable *>(Stack);
-#line 253 "runmath.in"
+#line 263 "runmath.in"
{Stack->push<bool>(a->compare(b)); return;}
}
-#line 257 "runmath.in"
+#line 267 "runmath.in"
void boolFuncNeq(stack *Stack)
{
callable * b=vm::pop<callable *>(Stack);
callable * a=vm::pop<callable *>(Stack);
-#line 258 "runmath.in"
+#line 268 "runmath.in"
{Stack->push<bool>(!(a->compare(b))); return;}
}
// Bit operations
-#line 264 "runmath.in"
+#line 274 "runmath.in"
// Int AND(Int a, Int b);
void gen_runmath33(stack *Stack)
{
Int b=vm::pop<Int>(Stack);
Int a=vm::pop<Int>(Stack);
-#line 265 "runmath.in"
+#line 275 "runmath.in"
{Stack->push<Int>(a & b); return;}
}
-#line 270 "runmath.in"
+#line 280 "runmath.in"
// Int OR(Int a, Int b);
void gen_runmath34(stack *Stack)
{
Int b=vm::pop<Int>(Stack);
Int a=vm::pop<Int>(Stack);
-#line 271 "runmath.in"
+#line 281 "runmath.in"
{Stack->push<Int>(a | b); return;}
}
-#line 275 "runmath.in"
+#line 285 "runmath.in"
// Int XOR(Int a, Int b);
void gen_runmath35(stack *Stack)
{
Int b=vm::pop<Int>(Stack);
Int a=vm::pop<Int>(Stack);
-#line 276 "runmath.in"
+#line 286 "runmath.in"
{Stack->push<Int>(a ^ b); return;}
}
-#line 280 "runmath.in"
+#line 290 "runmath.in"
// Int NOT(Int a);
void gen_runmath36(stack *Stack)
{
Int a=vm::pop<Int>(Stack);
-#line 281 "runmath.in"
+#line 291 "runmath.in"
{Stack->push<Int>(~a); return;}
}
-#line 285 "runmath.in"
+#line 295 "runmath.in"
// Int CLZ(Int a);
void gen_runmath37(stack *Stack)
{
Int a=vm::pop<Int>(Stack);
-#line 286 "runmath.in"
+#line 296 "runmath.in"
if((unsignedInt) a > 0xFFFFFFFF) {Stack->push<Int>(-1); return;}
#ifdef __GNUC__
{Stack->push<Int>(__builtin_clz(a)); return;}
@@ -572,12 +585,12 @@ void gen_runmath37(stack *Stack)
#endif
}
-#line 307 "runmath.in"
+#line 317 "runmath.in"
// Int CTZ(Int a);
void gen_runmath38(stack *Stack)
{
Int a=vm::pop<Int>(Stack);
-#line 308 "runmath.in"
+#line 318 "runmath.in"
if((unsignedInt) a > 0xFFFFFFFF) {Stack->push<Int>(-1); return;}
#ifdef __GNUC__
{Stack->push<Int>(__builtin_ctz(a)); return;}
@@ -598,84 +611,84 @@ namespace trans {
void gen_runmath_venv(venv &ve)
{
-#line 62 "runmath.in"
- addFunc(ve, run::gen_runmath0, primReal(), "^", formal(primReal(), "x", false, false), formal(primInt(), "y", false, false));
-#line 67 "runmath.in"
- addFunc(ve, run::gen_runmath1, primPair(), "^", formal(primPair(), "z", false, false), formal(primInt(), "y", false, false));
#line 72 "runmath.in"
- addFunc(ve, run::gen_runmath2, primInt(), "quotient", formal(primInt(), "x", false, false), formal(primInt(), "y", false, false));
-#line 80 "runmath.in"
- addFunc(ve, run::gen_runmath3, primInt(), "abs", formal(primInt(), "x", false, false));
-#line 85 "runmath.in"
- addFunc(ve, run::gen_runmath4, primInt(), "sgn", formal(primReal(), "x", false, false));
+ addFunc(ve, run::gen_runmath0, primReal(), SYM_CARET, formal(primReal(), SYM(x), false, false), formal(primInt(), SYM(y), false, false));
+#line 77 "runmath.in"
+ addFunc(ve, run::gen_runmath1, primPair(), SYM_CARET, formal(primPair(), SYM(z), false, false), formal(primInt(), SYM(y), false, false));
+#line 82 "runmath.in"
+ addFunc(ve, run::gen_runmath2, primInt(), SYM(quotient), formal(primInt(), SYM(x), false, false), formal(primInt(), SYM(y), false, false));
#line 90 "runmath.in"
- addFunc(ve, run::gen_runmath5, primInt(), "rand");
+ addFunc(ve, run::gen_runmath3, primInt(), SYM(abs), formal(primInt(), SYM(x), false, false));
#line 95 "runmath.in"
- addFunc(ve, run::gen_runmath6, primVoid(), "srand", formal(primInt(), "seed", false, false));
-#line 102 "runmath.in"
- addFunc(ve, run::gen_runmath7, primReal(), "unitrand");
-#line 108 "runmath.in"
- addFunc(ve, run::gen_runmath8, primInt(), "ceil", formal(primReal(), "x", false, false));
-#line 113 "runmath.in"
- addFunc(ve, run::gen_runmath9, primInt(), "floor", formal(primReal(), "x", false, false));
+ addFunc(ve, run::gen_runmath4, primInt(), SYM(sgn), formal(primReal(), SYM(x), false, false));
+#line 100 "runmath.in"
+ addFunc(ve, run::gen_runmath5, primInt(), SYM(rand));
+#line 107 "runmath.in"
+ addFunc(ve, run::gen_runmath6, primVoid(), SYM(srand), formal(primInt(), SYM(seed), false, false));
+#line 112 "runmath.in"
+ addFunc(ve, run::gen_runmath7, primReal(), SYM(unitrand));
#line 118 "runmath.in"
- addFunc(ve, run::gen_runmath10, primInt(), "round", formal(primReal(), "x", false, false));
-#line 124 "runmath.in"
- addFunc(ve, run::gen_runmath11, primInt(), "Ceil", formal(primReal(), "x", false, false));
-#line 129 "runmath.in"
- addFunc(ve, run::gen_runmath12, primInt(), "Floor", formal(primReal(), "x", false, false));
+ addFunc(ve, run::gen_runmath8, primInt(), SYM(ceil), formal(primReal(), SYM(x), false, false));
+#line 123 "runmath.in"
+ addFunc(ve, run::gen_runmath9, primInt(), SYM(floor), formal(primReal(), SYM(x), false, false));
+#line 128 "runmath.in"
+ addFunc(ve, run::gen_runmath10, primInt(), SYM(round), formal(primReal(), SYM(x), false, false));
#line 134 "runmath.in"
- addFunc(ve, run::gen_runmath13, primInt(), "Round", formal(primReal(), "x", false, false));
+ addFunc(ve, run::gen_runmath11, primInt(), SYM(Ceil), formal(primReal(), SYM(x), false, false));
#line 139 "runmath.in"
- addFunc(ve, run::gen_runmath14, primReal(), "fmod", formal(primReal(), "x", false, false), formal(primReal(), "y", false, false));
-#line 145 "runmath.in"
- addFunc(ve, run::gen_runmath15, primReal(), "atan2", formal(primReal(), "y", false, false), formal(primReal(), "x", false, false));
-#line 150 "runmath.in"
- addFunc(ve, run::gen_runmath16, primReal(), "hypot", formal(primReal(), "x", false, false), formal(primReal(), "y", false, false));
+ addFunc(ve, run::gen_runmath12, primInt(), SYM(Floor), formal(primReal(), SYM(x), false, false));
+#line 144 "runmath.in"
+ addFunc(ve, run::gen_runmath13, primInt(), SYM(Round), formal(primReal(), SYM(x), false, false));
+#line 149 "runmath.in"
+ addFunc(ve, run::gen_runmath14, primReal(), SYM(fmod), formal(primReal(), SYM(x), false, false), formal(primReal(), SYM(y), false, false));
#line 155 "runmath.in"
- addFunc(ve, run::gen_runmath17, primReal(), "remainder", formal(primReal(), "x", false, false), formal(primReal(), "y", false, false));
+ addFunc(ve, run::gen_runmath15, primReal(), SYM(atan2), formal(primReal(), SYM(y), false, false), formal(primReal(), SYM(x), false, false));
#line 160 "runmath.in"
- addFunc(ve, run::gen_runmath18, primReal(), "Jn", formal(primInt(), "n", false, false), formal(primReal(), "x", false, false));
+ addFunc(ve, run::gen_runmath16, primReal(), SYM(hypot), formal(primReal(), SYM(x), false, false), formal(primReal(), SYM(y), false, false));
#line 165 "runmath.in"
- addFunc(ve, run::gen_runmath19, primReal(), "Yn", formal(primInt(), "n", false, false), formal(primReal(), "x", false, false));
+ addFunc(ve, run::gen_runmath17, primReal(), SYM(remainder), formal(primReal(), SYM(x), false, false), formal(primReal(), SYM(y), false, false));
#line 170 "runmath.in"
- addFunc(ve, run::gen_runmath20, primReal(), "erf", formal(primReal(), "x", false, false));
+ addFunc(ve, run::gen_runmath18, primReal(), SYM(Jn), formal(primInt(), SYM(n), false, false), formal(primReal(), SYM(x), false, false));
#line 175 "runmath.in"
- addFunc(ve, run::gen_runmath21, primReal(), "erfc", formal(primReal(), "x", false, false));
+ addFunc(ve, run::gen_runmath19, primReal(), SYM(Yn), formal(primInt(), SYM(n), false, false), formal(primReal(), SYM(x), false, false));
#line 180 "runmath.in"
- addFunc(ve, run::gen_runmath22, primInt(), "factorial", formal(primInt(), "n", false, false));
+ addFunc(ve, run::gen_runmath20, primReal(), SYM(erf), formal(primReal(), SYM(x), false, false));
#line 185 "runmath.in"
- addFunc(ve, run::gen_runmath23, primInt(), "choose", formal(primInt(), "n", false, false), formal(primInt(), "k", false, false));
-#line 196 "runmath.in"
- addFunc(ve, run::gen_runmath24, primReal(), "gamma", formal(primReal(), "x", false, false));
+ addFunc(ve, run::gen_runmath21, primReal(), SYM(erfc), formal(primReal(), SYM(x), false, false));
+#line 190 "runmath.in"
+ addFunc(ve, run::gen_runmath22, primInt(), SYM(factorial), formal(primInt(), SYM(n), false, false));
+#line 195 "runmath.in"
+ addFunc(ve, run::gen_runmath23, primInt(), SYM(choose), formal(primInt(), SYM(n), false, false), formal(primInt(), SYM(k), false, false));
#line 206 "runmath.in"
- addFunc(ve, run::gen_runmath25, realArray(), "quadraticroots", formal(primReal(), "a", false, false), formal(primReal(), "b", false, false), formal(primReal(), "c", false, false));
-#line 215 "runmath.in"
- addFunc(ve, run::gen_runmath26, pairArray(), "quadraticroots", formal(primPair(), "a", false, true), formal(primPair(), "b", false, true), formal(primPair(), "c", false, true));
-#line 224 "runmath.in"
- addFunc(ve, run::gen_runmath27, realArray(), "cubicroots", formal(primReal(), "a", false, false), formal(primReal(), "b", false, false), formal(primReal(), "c", false, false), formal(primReal(), "d", false, false));
+ addFunc(ve, run::gen_runmath24, primReal(), SYM(gamma), formal(primReal(), SYM(x), false, false));
+#line 216 "runmath.in"
+ addFunc(ve, run::gen_runmath25, realArray(), SYM(quadraticroots), formal(primReal(), SYM(a), false, false), formal(primReal(), SYM(b), false, false), formal(primReal(), SYM(c), false, false));
+#line 225 "runmath.in"
+ addFunc(ve, run::gen_runmath26, pairArray(), SYM(quadraticroots), formal(primPair(), SYM(a), false, true), formal(primPair(), SYM(b), false, true), formal(primPair(), SYM(c), false, true));
#line 234 "runmath.in"
- addFunc(ve, run::gen_runmath28, primBoolean(), "!", formal(primBoolean(), "b", false, false));
-#line 242 "runmath.in"
+ addFunc(ve, run::gen_runmath27, realArray(), SYM(cubicroots), formal(primReal(), SYM(a), false, false), formal(primReal(), SYM(b), false, false), formal(primReal(), SYM(c), false, false), formal(primReal(), SYM(d), false, false));
+#line 244 "runmath.in"
+ addFunc(ve, run::gen_runmath28, primBoolean(), SYM_LOGNOT, formal(primBoolean(), SYM(b), false, false));
+#line 252 "runmath.in"
REGISTER_BLTIN(run::boolMemEq,"boolMemEq");
-#line 247 "runmath.in"
+#line 257 "runmath.in"
REGISTER_BLTIN(run::boolMemNeq,"boolMemNeq");
-#line 252 "runmath.in"
+#line 262 "runmath.in"
REGISTER_BLTIN(run::boolFuncEq,"boolFuncEq");
-#line 257 "runmath.in"
+#line 267 "runmath.in"
REGISTER_BLTIN(run::boolFuncNeq,"boolFuncNeq");
-#line 262 "runmath.in"
- addFunc(ve, run::gen_runmath33, primInt(), "AND", formal(primInt(), "a", false, false), formal(primInt(), "b", false, false));
-#line 270 "runmath.in"
- addFunc(ve, run::gen_runmath34, primInt(), "OR", formal(primInt(), "a", false, false), formal(primInt(), "b", false, false));
-#line 275 "runmath.in"
- addFunc(ve, run::gen_runmath35, primInt(), "XOR", formal(primInt(), "a", false, false), formal(primInt(), "b", false, false));
+#line 272 "runmath.in"
+ addFunc(ve, run::gen_runmath33, primInt(), SYM(AND), formal(primInt(), SYM(a), false, false), formal(primInt(), SYM(b), false, false));
#line 280 "runmath.in"
- addFunc(ve, run::gen_runmath36, primInt(), "NOT", formal(primInt(), "a", false, false));
+ addFunc(ve, run::gen_runmath34, primInt(), SYM(OR), formal(primInt(), SYM(a), false, false), formal(primInt(), SYM(b), false, false));
#line 285 "runmath.in"
- addFunc(ve, run::gen_runmath37, primInt(), "CLZ", formal(primInt(), "a", false, false));
-#line 307 "runmath.in"
- addFunc(ve, run::gen_runmath38, primInt(), "CTZ", formal(primInt(), "a", false, false));
+ addFunc(ve, run::gen_runmath35, primInt(), SYM(XOR), formal(primInt(), SYM(a), false, false), formal(primInt(), SYM(b), false, false));
+#line 290 "runmath.in"
+ addFunc(ve, run::gen_runmath36, primInt(), SYM(NOT), formal(primInt(), SYM(a), false, false));
+#line 295 "runmath.in"
+ addFunc(ve, run::gen_runmath37, primInt(), SYM(CLZ), formal(primInt(), SYM(a), false, false));
+#line 317 "runmath.in"
+ addFunc(ve, run::gen_runmath38, primInt(), SYM(CTZ), formal(primInt(), SYM(a), false, false));
}
} // namespace trans