Fix bugs in src/float32.c and src/double64.c found test added in previous commit.

This commit is contained in:
Erik de Castro Lopo 2008-05-31 17:10:11 +10:00
parent a66d6bcefc
commit 820f9be1c5
3 changed files with 17 additions and 8 deletions

View File

@ -1,3 +1,12 @@
2008-05-31 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/test_float.c src/test_main.(c|h) src/Makefile.am
Add new file to test functions float32_(le|be)_(read|write) and
double64_(le|be)_(read|write). Hook into build and testsuite.
* src/double64.c src/float32.c
Fix bugs in functions found by test added above.
2008-05-21 Erik de Castro Lopo <erikd AT mega-nerd DOT com>
* src/*.c

View File

@ -301,9 +301,9 @@ double64_be_read (unsigned char *cptr)
dvalue *= -1 ;
if (exponent > 0)
dvalue *= (1 << exponent) ;
dvalue *= pow (2.0, exponent) ;
else if (exponent < 0)
dvalue /= (1 << abs (exponent)) ;
dvalue /= pow (2.0, abs (exponent)) ;
return dvalue ;
} /* double64_be_read */
@ -334,9 +334,9 @@ double64_le_read (unsigned char *cptr)
dvalue *= -1 ;
if (exponent > 0)
dvalue *= (1 << exponent) ;
dvalue *= pow (2.0, exponent) ;
else if (exponent < 0)
dvalue /= (1 << abs (exponent)) ;
dvalue /= pow (2.0, abs (exponent)) ;
return dvalue ;
} /* double64_le_read */

View File

@ -267,9 +267,9 @@ float32_be_read (unsigned char *cptr)
fvalue *= -1 ;
if (exponent > 0)
fvalue *= (1 << exponent) ;
fvalue *= pow (2.0, exponent) ;
else if (exponent < 0)
fvalue /= (1 << abs (exponent)) ;
fvalue /= pow (2.0, abs (exponent)) ;
return fvalue ;
} /* float32_be_read */
@ -295,9 +295,9 @@ float32_le_read (unsigned char *cptr)
fvalue *= -1 ;
if (exponent > 0)
fvalue *= (1 << exponent) ;
fvalue *= pow (2.0, exponent) ;
else if (exponent < 0)
fvalue /= (1 << abs (exponent)) ;
fvalue /= pow (2.0, abs (exponent)) ;
return fvalue ;
} /* float32_le_read */