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/pidiv.c | |
| 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/pidiv.c')
| -rw-r--r-- | src/benchmarks/cfrac/pidiv.c | 60 |
1 files changed, 0 insertions, 60 deletions
diff --git a/src/benchmarks/cfrac/pidiv.c b/src/benchmarks/cfrac/pidiv.c deleted file mode 100644 index 61c09a7..0000000 --- a/src/benchmarks/cfrac/pidiv.c +++ /dev/null @@ -1,60 +0,0 @@ -#include "pdefs.h" -#include "precision.h" -#ifdef ASM_16BIT -#include "asm16bit.h" -#endif - -/* - * Single-digit divide - */ -precision pidiv(u, v) - register precision u; - int v; -{ -#ifndef ASM_16BIT - register digitPtr uPtr, qPtr; - register accumulator temp; /* 0 <= temp < base^2 */ -#endif - register digit r, d; /* 0 <= r,d < base */ - register posit m; - register precision q; - - (void) pparm(u); - - if (v < 0) d = (digit) -v; else d = (digit) v; - if (d >= BASE) { - q = pnew(errorp(PDOMAIN, "pidiv", "divisor too big for single digit")); - goto done; - } - if (d == 0) { - q = pnew(errorp(PDOMAIN, "pidiv", "divide by zero")); - goto done; - } - m = u->size; - q = palloc(m); - if (q == pUndef) goto done; - -#ifndef ASM_16BIT - qPtr = q->value + m; - uPtr = u->value + m; - r = 0; /* r is current remainder */ - do { - temp = mulBase(r); /* 0 <= temp <= (base-1)^2 */ - temp += *--uPtr; /* 0 <= temp <= base(base-1) */ - r = uModDiv(temp, d, --qPtr); /* 0 <= r < base */ - } while (uPtr > u->value); -#else - r = memdivw1(q->value, u->value, m, d); -#endif - /* - * normalize q - */ - if (m > 1 && q->value[m-1] == 0) { - --(q->size); - } - q->sign = (u->sign != (v < 0)); - if (q->size == 1 && *(q->value) == 0) q->sign = false; -done: - pdestroy(u); - return presult(q); -} |
