summaryrefslogtreecommitdiff
path: root/Build/source/utils/asymptote/runtimebase.in
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2009-09-11 00:21:50 +0000
committerKarl Berry <karl@freefriends.org>2009-09-11 00:21:50 +0000
commitf06a2c99f2a8bbd8f641712c772179e8ed9ce14f (patch)
treefcf4f2b9d0492da04d9bf3761fbce51fb316024f /Build/source/utils/asymptote/runtimebase.in
parentd4c54e52fe8e42b8ce9b160c70d897bb1d06eee7 (diff)
asymptote 1.86
git-svn-id: svn://tug.org/texlive/trunk@15218 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/utils/asymptote/runtimebase.in')
-rw-r--r--Build/source/utils/asymptote/runtimebase.in32
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