rational: test add/sub too
authorMichael Niedermayer <michaelni@gmx.at>
Thu, 1 Nov 2012 01:42:47 +0000 (02:42 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Thu, 1 Nov 2012 01:59:44 +0000 (02:59 +0100)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavutil/rational.c

index 1a833eb..0fb855a 100644 (file)
@@ -148,7 +148,7 @@ int av_find_nearest_q_idx(AVRational q, const AVRational* q_list)
 #ifdef TEST
 int main(void)
 {
-    AVRational a,b;
+    AVRational a,b,r;
     for (a.num = -2; a.num <= 2; a.num++) {
         for (a.den = -2; a.den <= 2; a.den++) {
             for (b.num = -2; b.num <= 2; b.num++) {
@@ -162,6 +162,9 @@ int main(void)
                     if (c != d)
                         av_log(0, AV_LOG_ERROR, "%d/%d %d/%d, %d %f\n", a.num,
                                a.den, b.num, b.den, c,d);
+                    r = av_sub_q(av_add_q(b,a), b);
+                    if(b.den && (r.num*a.den != a.num*r.den || !r.num != !a.num || !r.den != !a.den))
+                        av_log(0, AV_LOG_ERROR, "%d/%d ", r.num, r.den);
                 }
             }
         }