projects
/
mono.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Tue Feb 26 15:43:26 CET 2008 Paolo Molaro <lupus@ximian.com>
[mono.git]
/
mono
/
utils
/
strtod.c
diff --git
a/mono/utils/strtod.c
b/mono/utils/strtod.c
index 6f08b124fc7ce2a01750a7db97456f0d77f08769..76840194276682ceee8553fff3bd4860f3e9d548 100644
(file)
--- a/
mono/utils/strtod.c
+++ b/
mono/utils/strtod.c
@@
-21,6
+21,12
@@
#define freedtoa __freedtoa
#define dtoa __dtoa
#define freedtoa __freedtoa
#define dtoa __dtoa
+G_LOCK_DEFINE_STATIC(str_mutex0);
+G_LOCK_DEFINE_STATIC(str_mutex1);
+#define MULTIPLE_THREADS 1
+#define ACQUIRE_DTOA_LOCK(n) G_LOCK (str_mutex##n)
+#define FREE_DTOA_LOCK(n) G_UNLOCK (str_mutex##n)
+
/* Please send bug reports to David M. Gay (dmg at acm dot org,
* with " at " changed at "@" and " dot " changed to "."). */
/* Please send bug reports to David M. Gay (dmg at acm dot org,
* with " at " changed at "@" and " dot " changed to "."). */
@@
-216,6
+222,7
@@
extern void *MALLOC(size_t);
#define MALLOC malloc
#endif
#define MALLOC malloc
#endif
+#define Omit_Private_Memory
#ifndef Omit_Private_Memory
#ifndef PRIVATE_MEM
#define PRIVATE_MEM 2304
#ifndef Omit_Private_Memory
#ifndef PRIVATE_MEM
#define PRIVATE_MEM 2304
@@
-1189,16
+1196,16
@@
b2d
*e = 32 - k;
#ifdef Pack_32
if (k < Ebits) {
*e = 32 - k;
#ifdef Pack_32
if (k < Ebits) {
- d0 = Exp_1 |
y >> Ebits - k
;
+ d0 = Exp_1 |
(y >> (Ebits - k))
;
w = xa > xa0 ? *--xa : 0;
w = xa > xa0 ? *--xa : 0;
- d1 = y << (
32-Ebits) + k | w >> Ebits - k
;
+ d1 = y << (
(32-Ebits) + k) | (w >> (Ebits - k))
;
goto ret_d;
}
z = xa > xa0 ? *--xa : 0;
if (k -= Ebits) {
goto ret_d;
}
z = xa > xa0 ? *--xa : 0;
if (k -= Ebits) {
- d0 = Exp_1 | y << k |
z >> 32 - k
;
+ d0 = Exp_1 | y << k |
(z >> (32 - k))
;
y = xa > xa0 ? *--xa : 0;
y = xa > xa0 ? *--xa : 0;
- d1 = z << k |
y >> 32 - k
;
+ d1 = z << k |
(y >> (32 - k))
;
}
else {
d0 = Exp_1 | y;
}
else {
d0 = Exp_1 | y;
@@
-1275,7
+1282,7
@@
d2b
#ifdef Pack_32
if ((y = d1)) {
if ((k = lo0bits(&y))) {
#ifdef Pack_32
if ((y = d1)) {
if ((k = lo0bits(&y))) {
- x[0] = y |
z << 32 - k
;
+ x[0] = y |
(z << (32 - k))
;
z >>= k;
}
else
z >>= k;
}
else
@@
-1538,7
+1545,7
@@
hexnan
#endif /* INFNAN_CHECK */
double
#endif /* INFNAN_CHECK */
double
-
bsd
_strtod
+
mono
_strtod
#ifdef KR_headers
(s00, se) CONST char *s00; char **se;
#else
#ifdef KR_headers
(s00, se) CONST char *s00; char **se;
#else
@@
-1918,7
+1925,7
@@
bsd_strtod
if (j >= 53)
word0(rv) = (P+2)*Exp_msk1;
else
if (j >= 53)
word0(rv) = (P+2)*Exp_msk1;
else
- word0(rv) &= 0xffffffff <<
j-32
;
+ word0(rv) &= 0xffffffff <<
(j-32)
;
}
else
word1(rv) &= 0xffffffff << j;
}
else
word1(rv) &= 0xffffffff << j;
@@
-2594,9
+2601,9
@@
nrv_alloc(char *s, char **rve, int n)
* when MULTIPLE_THREADS is not defined.
*/
* when MULTIPLE_THREADS is not defined.
*/
-void freedtoa (char *s);
+
static
void freedtoa (char *s);
- void
+
static
void
#ifdef KR_headers
freedtoa(s) char *s;
#else
#ifdef KR_headers
freedtoa(s) char *s;
#else