summaryrefslogtreecommitdiff
path: root/Build/source/utils/asymptote/runmath.in
diff options
context:
space:
mode:
authorDenis Bitouzé <dbitouze@wanadoo.fr>2021-02-25 18:23:07 +0000
committerDenis Bitouzé <dbitouze@wanadoo.fr>2021-02-25 18:23:07 +0000
commitc6101f91d071883b48b1b4b51e5eba0f36d9a78d (patch)
tree1bf7f5a881d7a4f5c5bf59d0b2821943dd822372 /Build/source/utils/asymptote/runmath.in
parent07ee7222e389b0777456b427a55c22d0e6ffd267 (diff)
French translation for tlmgr updated
git-svn-id: svn://tug.org/texlive/trunk@57912 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/utils/asymptote/runmath.in')
-rw-r--r--Build/source/utils/asymptote/runmath.in448
1 files changed, 0 insertions, 448 deletions
diff --git a/Build/source/utils/asymptote/runmath.in b/Build/source/utils/asymptote/runmath.in
deleted file mode 100644
index 9b1291cb941..00000000000
--- a/Build/source/utils/asymptote/runmath.in
+++ /dev/null
@@ -1,448 +0,0 @@
-/*****
- * runmath.in
- *
- * Runtime functions for math operations.
- *
- *****/
-
-pair => primPair()
-realarray* => realArray()
-pairarray* => pairArray()
-
-#include <inttypes.h>
-
-#include "mathop.h"
-#include "path.h"
-
-#ifdef __CYGWIN__
- extern "C" double yn(int, double);
-extern "C" double jn(int, double);
-extern "C" int __signgam;
-#define signgam __signgam
-#endif
-
-using namespace camp;
-
-typedef array realarray;
-typedef array pairarray;
-
-using types::realArray;
-using types::pairArray;
-
-using run::integeroverflow;
-using vm::frame;
-
-const char *invalidargument="invalid argument";
-
-extern uint32_t CLZ(uint32_t a);
-
-inline unsigned intbits() {
- static unsigned count=0;
- if(count > 0) return count;
- while((1ULL << count) < Int_MAX)
- ++count;
- ++count;
- return count;
-}
-
-static const unsigned char BitReverseTable8[256]=
-{
-#define R2(n) n, n+2*64, n+1*64, n+3*64
-#define R4(n) R2(n),R2(n+2*16),R2(n+1*16),R2(n+3*16)
-#define R6(n) R4(n),R4(n+2*4 ),R4(n+1*4 ),R4(n+3*4 )
- R6(0),R6(2),R6(1),R6(3)
-};
-#undef R2
-#undef R4
-#undef R6
-
-unsigned long long bitreverse8(unsigned long long a)
-{
- return
- (unsigned long long) BitReverseTable8[a];
-}
-
-unsigned long long bitreverse16(unsigned long long a)
-{
- return
- ((unsigned long long) BitReverseTable8[a & 0xff] << 8) |
- ((unsigned long long) BitReverseTable8[(a >> 8)]);
-}
-
-unsigned long long bitreverse24(unsigned long long a)
-{
- return
- ((unsigned long long) BitReverseTable8[a & 0xff] << 16) |
- ((unsigned long long) BitReverseTable8[(a >> 8) & 0xff] << 8) |
- ((unsigned long long) BitReverseTable8[(a >> 16)]);
-}
-
-unsigned long long bitreverse32(unsigned long long a)
-{
- return
- ((unsigned long long) BitReverseTable8[a & 0xff] << 24) |
- ((unsigned long long) BitReverseTable8[(a >> 8) & 0xff] << 16) |
- ((unsigned long long) BitReverseTable8[(a >> 16) & 0xff] << 8) |
- ((unsigned long long) BitReverseTable8[(a >> 24)]);
-}
-
-unsigned long long bitreverse40(unsigned long long a)
-{
- return
- ((unsigned long long) BitReverseTable8[a & 0xff] << 32) |
- ((unsigned long long) BitReverseTable8[(a >> 8) & 0xff] << 24) |
- ((unsigned long long) BitReverseTable8[(a >> 16) & 0xff] << 16) |
- ((unsigned long long) BitReverseTable8[(a >> 24) & 0xff] << 8) |
- ((unsigned long long) BitReverseTable8[(a >> 32)]);
-}
-
-unsigned long long bitreverse48(unsigned long long a)
-{
- return
- ((unsigned long long) BitReverseTable8[a & 0xff] << 40) |
- ((unsigned long long) BitReverseTable8[(a >> 8) & 0xff] << 32) |
- ((unsigned long long) BitReverseTable8[(a >> 16) & 0xff] << 24) |
- ((unsigned long long) BitReverseTable8[(a >> 24) & 0xff] << 16) |
- ((unsigned long long) BitReverseTable8[(a >> 32) & 0xff] << 8) |
- ((unsigned long long) BitReverseTable8[(a >> 40)]);
-}
-
-unsigned long long bitreverse56(unsigned long long a)
-{
- return
- ((unsigned long long) BitReverseTable8[a & 0xff] << 48) |
- ((unsigned long long) BitReverseTable8[(a >> 8) & 0xff] << 40) |
- ((unsigned long long) BitReverseTable8[(a >> 16) & 0xff] << 32) |
- ((unsigned long long) BitReverseTable8[(a >> 24) & 0xff] << 24) |
- ((unsigned long long) BitReverseTable8[(a >> 32) & 0xff] << 16) |
- ((unsigned long long) BitReverseTable8[(a >> 40) & 0xff] << 8) |
- ((unsigned long long) BitReverseTable8[(a >> 48)]);
-}
-
-unsigned long long bitreverse64(unsigned long long a)
-{
- return
- ((unsigned long long) BitReverseTable8[a & 0xff] << 56) |
- ((unsigned long long) BitReverseTable8[(a >> 8) & 0xff] << 48) |
- ((unsigned long long) BitReverseTable8[(a >> 16) & 0xff] << 40) |
- ((unsigned long long) BitReverseTable8[(a >> 24) & 0xff] << 32) |
- ((unsigned long long) BitReverseTable8[(a >> 32) & 0xff] << 24) |
- ((unsigned long long) BitReverseTable8[(a >> 40) & 0xff] << 16) |
- ((unsigned long long) BitReverseTable8[(a >> 48) & 0xff] << 8) |
- ((unsigned long long) BitReverseTable8[(a >> 56)]);
-}
-
-#ifndef HAVE_POPCOUNT
-// https://graphics.stanford.edu/~seander/bithacks.html#CountBitsSetParallel
-#define T unsignedInt
-Int popcount(T a)
-{
- a=a-((a >> 1) & (T)~(T)0/3);
- a=(a & (T)~(T)0/15*3)+((a >> 2) & (T)~(T)0/15*3);
- a=(a+(a >> 4)) & (T)~(T)0/255*15;
- return (T)(a*((T)~(T)0/255)) >> (sizeof(T)-1)*CHAR_BIT;
-}
-#undef T
-#endif
-
-// Return the factorial of a non-negative integer using a lookup table.
-Int factorial(Int n)
-{
- static Int *table;
- static Int size=0;
- if(size == 0) {
- Int f=1;
- size=2;
- while(f <= Int_MAX/size)
- f *= (size++);
- table=new Int[size];
- table[0]=f=1;
- for(Int i=1; i < size; ++i) {
- f *= i;
- table[i]=f;
- }
- }
- if(n >= size) integeroverflow(0);
- return table[n];
-}
-
-static inline Int Round(double x)
-{
- return Int(x+((x >= 0) ? 0.5 : -0.5));
-}
-
-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:
-
-
-real ^(real x, Int y)
-{
- return pow(x,y);
-}
-
-pair ^(pair z, Int y)
-{
- return pow(z,y);
-}
-
-Int quotient(Int x, Int y)
-{
- return quotient<Int>()(x,y);
-}
-
-Int abs(Int x)
-{
- return Abs(x);
-}
-
-Int sgn(real x)
-{
- return sgn(x);
-}
-
-Int rand()
-{
- if(initializeRandom)
- Srand(1);
- return random();
-}
-
-void srand(Int seed)
-{
- Srand(seed);
-}
-
-// a random number uniformly distributed in the interval [0,1]
-real unitrand()
-{
- return ((real) random())/RANDOM_MAX;
-}
-
-Int ceil(real x)
-{
- return Intcast(ceil(x));
-}
-
-Int floor(real x)
-{
- return Intcast(floor(x));
-}
-
-Int round(real x)
-{
- if(validInt(x)) return Round(x);
- integeroverflow(0);
-}
-
-Int Ceil(real x)
-{
- return Ceil(x);
-}
-
-Int Floor(real x)
-{
- return Floor(x);
-}
-
-Int Round(real x)
-{
- return Round(Intcap(x));
-}
-
-real fmod(real x, real y)
-{
- if (y == 0.0) dividebyzero();
- return fmod(x,y);
-}
-
-real atan2(real y, real x)
-{
- return atan2(y,x);
-}
-
-real hypot(real x, real y)
-{
- return hypot(x,y);
-}
-
-real remainder(real x, real y)
-{
- return remainder(x,y);
-}
-
-real Jn(Int n, real x)
-{
- return jn(n,x);
-}
-
-real Yn(Int n, real x)
-{
- return yn(n,x);
-}
-
-real erf(real x)
-{
- return erf(x);
-}
-
-real erfc(real x)
-{
- return erfc(x);
-}
-
-Int factorial(Int n) {
- if(n < 0) error(invalidargument);
- return factorial(n);
-}
-
-Int choose(Int n, Int k) {
- if(n < 0 || k < 0 || k > n) error(invalidargument);
- Int f=1;
- Int r=n-k;
- for(Int i=n; i > r; --i) {
- if(f > Int_MAX/i) integeroverflow(0);
- f=(f*i)/(n-i+1);
- }
- return f;
-}
-
-real gamma(real x)
-{
-#ifdef HAVE_TGAMMA
- return tgamma(x);
-#else
- real lg = lgamma(x);
- return signgam*exp(lg);
-#endif
-}
-
-realarray *quadraticroots(real a, real b, real c)
-{
- quadraticroots q(a,b,c);
- array *roots=new array(q.roots);
- if(q.roots >= 1) (*roots)[0]=q.t1;
- if(q.roots == 2) (*roots)[1]=q.t2;
- return roots;
-}
-
-pairarray *quadraticroots(explicit pair a, explicit pair b, explicit pair c)
-{
- Quadraticroots q(a,b,c);
- array *roots=new array(q.roots);
- if(q.roots >= 1) (*roots)[0]=q.z1;
- if(q.roots == 2) (*roots)[1]=q.z2;
- return roots;
-}
-
-realarray *cubicroots(real a, real b, real c, real d)
-{
- cubicroots q(a,b,c,d);
- array *roots=new array(q.roots);
- if(q.roots >= 1) (*roots)[0]=q.t1;
- if(q.roots >= 2) (*roots)[1]=q.t2;
- if(q.roots == 3) (*roots)[2]=q.t3;
- return roots;
-}
-
-
-// Logical operations
-
-bool !(bool b)
-{
- return !b;
-}
-
-bool :boolMemEq(frame *a, frame *b)
-{
- return a == b;
-}
-
-bool :boolMemNeq(frame *a, frame *b)
-{
- return a != b;
-}
-
-bool :boolFuncEq(callable *a, callable *b)
-{
- return a->compare(b);
-}
-
-bool :boolFuncNeq(callable *a, callable *b)
-{
- return !(a->compare(b));
-}
-
-
-// Bit operations
-
-Int AND(Int a, Int b)
-{
- return a & b;
-}
-
-Int OR(Int a, Int b)
-{
- return a | b;
-}
-
-Int XOR(Int a, Int b)
-{
- return a ^ b;
-}
-
-Int NOT(Int a)
-{
- return ~a;
-}
-
-Int CLZ(Int a)
-{
- if((unsigned long long) a > 0xFFFFFFFF)
- return CLZ((uint32_t) ((unsigned long long) a >> 32));
- else {
- int bits=intbits();
- if(a != 0) return bits-32+CLZ((uint32_t) a);
- return bits;
- }
-}
-
-Int popcount(Int a)
-{
- return popcount(a);
-}
-
-Int CTZ(Int a)
-{
- return popcount((a&-a)-1);
-}
-
-// bitreverse a within a word of length bits.
-Int bitreverse(Int a, Int bits)
-{
- typedef unsigned long long Bitreverse(unsigned long long a);
- static Bitreverse *B[]={bitreverse8,bitreverse16,bitreverse24,bitreverse32,
- bitreverse40,bitreverse48,bitreverse56,bitreverse64};
- int maxbits=intbits()-1; // Drop sign bit
-#if Int_MAX2 >= 0x7fffffffffffffffLL
- --maxbits; // Drop extra bit for reserved values
-#endif
- if(bits <= 0 || bits > maxbits || a < 0 ||
- (unsigned long long) a >= (1ULL << bits))
- return -1;
- unsigned int bytes=(bits+7)/8;
- return B[bytes-1]((unsigned long long) a) >> (8*bytes-bits);
-}