diff options
Diffstat (limited to 'Build/source/utils/asymptote/runtimebase.in')
-rw-r--r-- | Build/source/utils/asymptote/runtimebase.in | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/Build/source/utils/asymptote/runtimebase.in b/Build/source/utils/asymptote/runtimebase.in index b7c13d590fd..87f928f4c4d 100644 --- a/Build/source/utils/asymptote/runtimebase.in +++ b/Build/source/utils/asymptote/runtimebase.in @@ -25,14 +25,46 @@ string => primString() #include "builtin.h" #include "entry.h" #include "errormsg.h" +#include "array.h" +#include "triple.h" +#include "callable.h" using vm::stack; using vm::error; +using vm::array; +using vm::callable; using types::formal; +using types::function; +using camp::triple; #define PRIMITIVE(name,Name,asyName) using types::prim##Name; #include <primitives.h> #undef PRIMITIVE +typedef double real; + void unused(void *); + +namespace run { +array *copyArray(array *a); +array *copyArray2(array *a); +array *copyArray3(array *a); + +double *copyArrayC(const array *a, size_t dim=0); +double *copyArray2C(const array *a, bool square=true, size_t dim2=0); + +triple *copyTripleArrayC(const array *a, size_t dim=0); +triple *copyTripleArray2C(const array *a, bool square=true, size_t dim2=0); +double *copyTripleArray2Components(array *a, bool square=true, size_t dim2=0); +} + +function *realRealFunction(); + +// Return the component of vector v perpendicular to a unit vector u. +inline triple perp(triple v, triple u) +{ + return v-dot(v,u)*u; +} + +#define CURRENTPEN processData().currentpen |