[FFmpeg-cvslog] avutil/softfloat: Add tests for exponent underflows

Michael Niedermayer git at videolan.org
Sun Nov 8 14:29:27 CET 2015


ffmpeg | branch: master | Michael Niedermayer <michael at niedermayer.cc> | Sun Nov  8 14:07:22 2015 +0100| [596dfe7d6c6bf355aca4eca0a2386f9c5679887d] | committer: Michael Niedermayer

avutil/softfloat: Add tests for exponent underflows

Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=596dfe7d6c6bf355aca4eca0a2386f9c5679887d
---

 libavutil/softfloat.c |   12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/libavutil/softfloat.c b/libavutil/softfloat.c
index a9d1b0c..1691de8 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;



More information about the ffmpeg-cvslog mailing list