diff options
Diffstat (limited to 'Build/source/utils/asymptote/runpath.cc')
-rw-r--r-- | Build/source/utils/asymptote/runpath.cc | 48 |
1 files changed, 2 insertions, 46 deletions
diff --git a/Build/source/utils/asymptote/runpath.cc b/Build/source/utils/asymptote/runpath.cc index 00a0a7ab8e7..7c69fde4fb8 100644 --- a/Build/source/utils/asymptote/runpath.cc +++ b/Build/source/utils/asymptote/runpath.cc @@ -51,52 +51,6 @@ array *copyArray(array *a); array *copyArray2(array *a); array *copyArray3(array *a); -inline size_t checkdimension(const array *a, size_t dim) -{ - size_t size=checkArray(a); - if(dim && size != dim) { - ostringstream buf; - buf << "array of length " << dim << " expected"; - error(buf); - } - return size; -} - -template<class T> -void copyArrayC(T* &dest, const array *a, size_t dim=0, - GCPlacement placement=NoGC) -{ - size_t size=checkdimension(a,dim); - dest=(placement == NoGC) ? new T[size] : new(placement) T[size]; - for(size_t i=0; i < size; i++) - dest[i]=read<T>(a,i); -} - -template<class T> -void copyArray2C(T* &dest, const array *a, bool square=true, size_t dim2=0, - GCPlacement placement=NoGC) -{ - size_t n=checkArray(a); - size_t m=(square || n == 0) ? n : checkArray(read<array*>(a,0)); - if(n > 0 && dim2 && m != dim2) { - ostringstream buf; - buf << "second matrix dimension must be " << dim2; - error(buf); - } - - dest=(placement == NoGC) ? new T[n*m] : new(placement) T[n*m]; - for(size_t i=0; i < n; i++) { - array *ai=read<array*>(a,i); - size_t aisize=checkArray(ai); - if(aisize == m) { - T *desti=dest+i*m; - for(size_t j=0; j < m; j++) - desti[j]=read<T>(ai,j); - } else - error(square ? "matrix must be square" : "matrix must be rectangular"); - } -} - double *copyTripleArray2Components(array *a, bool square=true, size_t dim2=0, GCPlacement placement=NoGC); } @@ -134,8 +88,10 @@ Int windingnumber(array *p, camp::pair z) +#ifndef NOSYM #include "runpath.symbols.h" +#endif namespace run { #line 43 "runpath.in" void nullPath(stack *Stack) |