diff options
| author | Florian Fischer <florian.fl.fischer@fau.de> | 2020-05-06 16:56:32 +0200 |
|---|---|---|
| committer | Florian Fischer <florian.fl.fischer@fau.de> | 2020-06-02 11:18:47 +0200 |
| commit | 8174a918ea3b7cb216bf7ea98cfdc10661b5c37d (patch) | |
| tree | 0747ec3ccb9f8d7eeccfac35977fc17855ca3bbb /src/benchmarks/cfrac/precision.h | |
| parent | 8f52e8fc02dd235582f5961941bcd564e9a681cd (diff) | |
| download | allocbench-8174a918ea3b7cb216bf7ea98cfdc10661b5c37d.tar.gz allocbench-8174a918ea3b7cb216bf7ea98cfdc10661b5c37d.zip | |
make the whole project more python idiomatic
* rename src directory to allocbench
* make global variable names UPPERCASE
* format a lot of code using yapf
* use lowercase ld_preload and ld_library_path as Allocator members
* name expected Errors 'err' and don't raise a new Exception
* disable some pylint messages
Diffstat (limited to 'src/benchmarks/cfrac/precision.h')
| -rw-r--r-- | src/benchmarks/cfrac/precision.h | 314 |
1 files changed, 0 insertions, 314 deletions
diff --git a/src/benchmarks/cfrac/precision.h b/src/benchmarks/cfrac/precision.h deleted file mode 100644 index 28befce..0000000 --- a/src/benchmarks/cfrac/precision.h +++ /dev/null @@ -1,314 +0,0 @@ -/* - * Arbitrary precision integer math package - * - * (c) Copyright 1991 by David A. Barrett (barrett@asgard.UUCP) - * - * Not to be used for profit or distributed in systems sold for profit - */ - - -/* BEGIN EDB */ - -#include <stdlib.h> - -#if defined(USE_LOCH) && defined(_WIN32) -#pragma comment(lib, "loch.lib") -#endif - -#define NOMEMOPT 1 - -/* END EDB */ - -#ifndef BASE -typedef unsigned short prefc; /* reference counter type */ -typedef prefc *precision; /* this a a private data structure */ -extern int pfree(); /* free (private) */ -#endif - -typedef precision *pvector; /* a vector of precision */ -typedef pvector *parray; /* 2d array */ - -/* - * Error values passed to errorp - */ -#define PNOERROR 0 -#define PNOMEM 1 -#define PREFCOUNT 2 -#define PUNDEFINED 3 -#define PDOMAIN 4 -#define POVERFLOW 5 - -#define pUndef ((precision) 0) /* An undefined value */ -#define pNull ((precision *) 0) - -#define peq(u, v) (pcmp((u), (v)) == 0) -#define pne(u, v) (pcmp((u), (v)) != 0) -#define pgt(u, v) (pcmp((u), (v)) > 0) -#define plt(u, v) (pcmp((u), (v)) < 0) -#define pge(u, v) (pcmp((u), (v)) >= 0) -#define ple(u, v) (pcmp((u), (v)) <= 0) - -#define peqz(u) (pcmpz(u) == 0) -#define pnez(u) (pcmpz(u) != 0) -#define pltz(u) (pcmpz(u) < 0) -#define pgtz(u) (pcmpz(u) > 0) -#define plez(u) (pcmpz(u) <= 0) -#define pgez(u) (pcmpz(u) >= 0) - -#define peven(u) (!podd(u)) -#define pdiv(u,v) (pdivmod(u,v, (precision *) -1, pNull)) -#define pmod(u,v) (pdivmod(u,v, pNull, (precision *) -1)) -#define pdivr(u,v,r) (pdivmod(u,v, (precision *) -1, r)) -#define pmodq(u,v,q) (pdivmod(u,v, q, (precision *) -1)) - -/* - * Application programs should only use the following definitions; - * - * pnew, pdestroy, pparm, presult and pset - * - * Other variants are internal only! - * All are side-effect safe except for pparm and presult. - * -DDEBUG will enable argument checking for pset and pparm - */ -#ifdef __GNUC__ /* inline is NOT ansii! Sigh. */ -#ifndef BWGC -static inline precision pnew(precision u) { (* (prefc *) u)++; return u; } -static inline void pdestroy(precision u) { - if (u != pUndef && --(*(prefc *) u) == 0) pfree(u); -} -static inline precision pparmq(precision u) { - if (u != pUndef) (* (prefc *) u)++; return u; -} -static inline precision presult(precision u) { - if (u != pUndef) --(*(prefc *) u); return u; -} -static inline precision psetq(precision *up, precision v) { - precision u = *up; - *up = v; - if (v != pUndef) (* (prefc *) v)++; - if (u != pUndef && --(* (prefc *) u) == 0) pfree(u); - return v; -} -#define pvoid(u) pdestroy(u) -#else -extern inline precision pnew(precision u) { return u; } -extern inline void pdestroy(precision u) {} -extern inline precision pparmq(precision u) { return u; } -extern inline precision presult(precision u) { return u; } -extern inline precision psetq(precision *up, precision v) { - precision u = *up; - *up = v; - return v; -} -#define pvoid(u) pdestroy(u) -#endif -#else -#ifndef BWGC -#define pdestroy(u) (void) ((u)!=pUndef&&--(*(prefc *)(u))==0&&pfree(u)) -#define pparmq(u) ((u) != pUndef && (* (prefc *) (u))++, (u)) -#define pvoid(u) pdestroyf(u) -#else -#define pdestroy(u) (void) (0) -#define pparmq(u) (u) -#define pvoid(u) pdestroyf(u) -#endif -#endif - - -#ifdef PDEBUG -#define pset(u, v) psetv(u, v) -#define pparm(u) pparmv(u) -#else -#define pset(u, v) psetq(u, v) -#define pparm(u) pparmq(u) -#endif - -#ifdef __STDC__ /* if ANSI compiler */ -#ifndef __GNUC__ -extern precision pnew(precision); /* initialization */ -extern precision presult(precision); /* function result */ -extern precision psetq(precision *, precision); /* quick assignment */ -#endif -extern precision psetv(precision *, precision); /* checked assignment */ -extern precision pparmv(precision); /* checked parameter */ -extern precision pparmf(precision); /* unchecked parameter (fn) */ - -extern int pcmpz(precision); /* compare to zero */ -extern int pcmp(precision, precision); /* compare */ -extern int picmp(precision, int); /* single digit cmp */ - -extern precision padd(precision, precision); /* add */ -extern precision psub(precision, precision); /* subtract */ -extern precision pmul(precision, precision); /* multiply */ - -extern precision pdivmod(precision, precision, - precision *q, precision *r); - -extern precision pidiv(precision, int); /* single digit pdiv */ -extern int pimod(precision, int); /* single digit pmod */ -extern void pidivmod(precision, int, /* single pdivmod */ - precision *q, int *r); - -extern precision pneg(precision); /* negate */ -extern precision pabs(precision); /* absolute value */ -extern int podd(precision); /* true if odd */ -extern precision phalf(precision); /* divide by two */ - -extern precision pmin(precision, precision); /* minimum value */ -extern precision pmax(precision, precision); /* maximum value */ - -extern precision prand(precision); /* random number generator */ - -extern precision itop(int); /* int to precision */ -extern precision utop(unsigned); /* unsigned to precision */ -extern precision ltop(long); /* long to precision */ -extern precision ultop(unsigned long); /* unsigned long to precision */ - -extern int ptoi(precision); /* precision to int */ -extern unsigned int ptou(precision); /* precision to unsigned */ -extern long ptol(precision); /* precision to long */ -extern unsigned long ptoul(precision); /* precision to unsigned long */ - -extern precision atop(char *); /* ascii to precision */ -extern char *ptoa(precision); /* precision to ascii */ - -extern int btop(precision *result, /* base to precision */ - char *src, unsigned size, int *digitmap, unsigned radix); - -extern int /* precision to base */ - ptob(precision, char *result, unsigned size, char *alphabet, unsigned radix); - -/* - * Can't do prototyping for these unless stdio.h has been included - */ -#ifdef BUFSIZ -extern precision fgetp(FILE *stream); /* input precision */ -extern int fputp(FILE *stream, precision); /* output precision */ -extern int - fprintp(FILE *stream, precision, int minWidth); /* output within a field */ -#else -extern precision fgetp(); /* input precision */ -extern int fputp(); /* output precision */ -extern int fprintp(); /* output within a field */ -#endif - -extern int putp(precision); /* stdout with '\n' */ - -extern void pshow(precision); /* display debug info */ -extern precision prandnum(); /* debug and profil only */ -extern precision pshift(precision, int); /* shift left */ - -extern precision errorp(int errnum, char *routine, char *message); - -extern precision pzero, pone, ptwo; /* constants 0, 1, and 2 */ -extern precision p_one; /* constant -1 */ - -extern precision psqrt(precision); /* square root */ -extern precision pfactorial(precision); /* factorial */ -extern precision pipow(precision, unsigned); /* unsigned int power */ -extern precision ppow(precision, precision); /* precision power */ -extern precision - ppowmod(precision, precision, precision); /* precision power mod m */ -extern int plogb(precision, precision); /* log base b of n */ - -extern precision dtop(double); /* double to precision */ -extern double ptod(precision); /* precision to double */ - -/* - * vector operations - */ -pvector pvundef(pvector, unsigned size); /* local variable entry */ -void pvdestroy(pvector, unsigned size); /* local variable exit */ - -pvector pvalloc(unsigned size); /* pvec allocate */ -void pvfree(pvector, unsigned size); /* pvec free */ - -pvector pvset(pvector, unsigned size, precision value); - -#else - -/* - * Function versions of above if you still want side effects - */ - -#ifndef __GNUC__ -extern precision pnew(); /* initialization */ -extern precision presult(); /* function result */ -extern precision psetq(); /* quick assignment */ -#endif -extern precision psetv(); /* checked assignment */ -extern precision pparmv(); /* checked parameter */ -extern precision pparmf(); /* unchecked parameter (fn) */ - -extern int pcmpz(); /* compare to zero */ -extern int pcmp(); /* compare */ -extern int picmp(); /* single digit compare */ - -extern precision padd(); /* add */ -extern precision psub(); /* subtract */ -extern precision pmul(); /* multiply */ - -extern precision pdivmod(); /* divide/remainder */ -extern void pidivmod(); /* single digit divide/remainder */ -extern precision pidiv(); /* single digit divide */ -extern int pimod(); /* single digit remainder */ -extern precision pneg(); /* negate */ -extern precision pabs(); /* absolute value */ -extern int podd(); /* true if odd */ -extern precision phalf(); /* divide by two */ - -extern precision pmin(); /* minimum value */ -extern precision pmax(); /* maximum value */ - -extern precision prand(); /* random number generator */ - -extern precision itop(); /* int to precision */ -extern precision utop(); /* unsigned to precision */ -extern precision ltop(); /* long to precision */ -extern precision ultop(); /* unsigned long to precision */ - -extern int ptoi(); /* precision to int */ -extern unsigned int ptou(); /* precision to unsigned */ -extern long ptol(); /* precision to long */ -extern unsigned long ptoul(); /* precision to unsigned long */ - -extern precision atop(); /* ascii to precision */ -extern char *ptoa(); /* precision to ascii */ - -extern int btop(); /* base to precision */ -extern int ptob(); /* precision to base */ - -extern precision fgetp(); /* input a precision */ -extern int fputp(); /* output a precision */ -extern int putp(); /* output precision '\n' to stdout */ -extern int fprintp(); /* output a precision within a field */ - -extern void pshow(); /* display debug info */ -extern precision prandnum(); /* for debug and profil only */ -extern precision pshift(); /* shift left */ - -extern precision errorp(); /* user-substitutable error handler */ - -extern precision pzero, pone, ptwo; /* constants 0, 1, and 2 */ -extern precision p_one; /* constant -1 */ - -extern precision psqrt(); /* square root */ -extern precision pfactorial(); /* factorial */ -extern precision pipow(); /* unsigned int power */ -extern precision ppow(); /* precision power */ -extern precision ppowmod(); /* precision power mod m */ -extern int plogb(); /* log base b of n */ - -extern precision dtop(); /* double to precision */ -extern double ptod(); /* precision to double */ - -/* - * vector operations - */ -pvector pvundef(); /* local variable entry */ -void pvdestroy(); /* local variable exit */ -pvector pvalloc(); /* pvec allocate */ -void pvfree(); /* pvec free */ -pvector pvset(); /* set each element to scaler */ - -#endif |
