diff options
author | Michael Niedermayer <michael@niedermayer.cc> | 2015-11-08 16:07:22 +0300 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2015-11-08 16:23:38 +0300 |
commit | 596dfe7d6c6bf355aca4eca0a2386f9c5679887d (patch) | |
tree | bdbde402e2e12a5ca6ca0951fc83fb7bc87b533d | |
parent | 046218b212a076b92ed88a280457db871dafd377 (diff) |
avutil/softfloat: Add tests for exponent underflows
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r-- | libavutil/softfloat.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/libavutil/softfloat.c b/libavutil/softfloat.c index a9d1b0c319..1691de8036 100644 --- a/libavutil/softfloat.c +++ b/libavutil/softfloat.c @@ -97,6 +97,18 @@ int main(void){ sf1 = av_int2sf(0xE0000001, 0); printf("test4 softfloat: %.10lf (0x%08x %d)\n", (double)av_sf2double(sf1), sf1.mant, sf1.exp); + + sf1 = (SoftFloat){ 0x20000000, MIN_EXP }; + sf1 = av_mul_sf(sf1, sf1); + printf("test5 softfloat: %.10lf (0x%08x %d)\n", (double)av_sf2double(sf1), sf1.mant, sf1.exp); + + sf1 = (SoftFloat){ 0x20000000, MIN_EXP }; + sf2 = (SoftFloat){ 0x20000000, MAX_EXP }; + i = av_cmp_sf(sf1, sf2); + j = av_cmp_sf(sf2, sf1); + sf1 = av_div_sf(sf1, sf2); + printf("test6 softfloat: %.10lf (0x%08x %d) %d %d\n", (double)av_sf2double(sf1), sf1.mant, sf1.exp, i, j); + for(i= 0; i<4*36; i++){ int s, c; double errs, errc; |