Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'newlib/libc/machine/powerpc/ufix64toa.c')
-rw-r--r--newlib/libc/machine/powerpc/ufix64toa.c91
1 files changed, 0 insertions, 91 deletions
diff --git a/newlib/libc/machine/powerpc/ufix64toa.c b/newlib/libc/machine/powerpc/ufix64toa.c
deleted file mode 100644
index 450e0a352..000000000
--- a/newlib/libc/machine/powerpc/ufix64toa.c
+++ /dev/null
@@ -1,91 +0,0 @@
-/* _ufix64toa_r: convert unsigned 64-bit fixed point to ASCII string.
- *
- * This routine converts an unsigned fixed-point number to long double format and
- * then calls _ldtoa_r to do the conversion.
- *
- * Written by Jeff Johnston.
- */
-
-#ifdef __SPE__
-
-#include <_ansi.h>
-#include <limits.h>
-#include <errno.h>
-#include <stdlib.h>
-#include <reent.h>
-#include "fix64.h"
-
-extern char *_simdldtoa_r _PARAMS((struct _reent *, LONG_DOUBLE_UNION *, int,
- int, int *, int *, char **));
-
-/*
- * Convert an unsigned fixed-point 64-bit value to string.
- *
- * Ignores `locale' stuff.
- */
-
-char *
-_DEFUN (_ufix64toa_r, (rptr, value, mode, ndigits, decpt, sign, rve),
- struct _reent *rptr _AND
- __uint64_t value _AND
- int mode _AND
- int ndigits _AND
- int *decpt _AND
- int *sign _AND
- char **rve)
-{
- union long_double_union ldbl;
- union fix64_union fix64;
- unsigned long tmp;
- int exp, negexp;
-
- /* if input is 0, no additional work is needed */
- if (value == 0)
- {
- ldbl.i[0] = ldbl.i[1] = ldbl.i[2] = ldbl.i[3] = 0;
- }
- else /* otherwise, we calculate long double equivalent of value */
- {
- /* find exponent by locating most-significant one-bit */
- fix64.ll = value;
- negexp = 1;
- if (hiword(fix64) == 0)
- {
- tmp = loword(fix64);
- negexp = 33;
- }
- else
- {
- tmp = hiword(fix64);
- negexp = 1;
- }
-
- while (negexp < 65)
- {
- if (tmp & 0x80000000)
- break;
- ++negexp;
- tmp <<= 1;
- }
-
- /* shift input appropriately */
- fix64.ll = value << (negexp - 1 + (Exp_msk1 != 0));
-
- /* build long double */
- exp = -negexp + Bias;
- word0(ldbl) = (exp << Exp_shift);
- word1(ldbl) = hiword(fix64) << (32-Ebits-1);
- word2(ldbl) = loword(fix64) << (32-Ebits-1);
- word3(ldbl) = 0;
- if (Ebits+1 < 32)
- {
- word0(ldbl) |= hiword(fix64) >> (Ebits + 1);
- word1(ldbl) |= loword(fix64) >> (Ebits + 1);
- }
- }
-
- /* convert long double to character */
- return _simdldtoa_r (rptr, &ldbl, mode, ndigits, decpt, sign, rve);
-}
-
-#endif /* __SPE__ */