mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-21 10:55:51 +02:00
avutil/rational: av_add_stable() test code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
b317f9459f
commit
cd7037dd7a
@ -171,6 +171,36 @@ int main(void)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (a.num = 1; a.num <= 10; a.num++) {
|
||||
for (a.den = 1; a.den <= 10; a.den++) {
|
||||
if (av_gcd(a.num, a.den) > 1)
|
||||
continue;
|
||||
for (b.num = 1; b.num <= 10; b.num++) {
|
||||
for (b.den = 1; b.den <= 10; b.den++) {
|
||||
int start;
|
||||
if (av_gcd(b.num, b.den) > 1)
|
||||
continue;
|
||||
if (av_cmp_q(b, a) < 0)
|
||||
continue;
|
||||
for (start = 0; start < 10 ; start++) {
|
||||
int acc= start;
|
||||
int i;
|
||||
|
||||
for (i = 0; i<100; i++) {
|
||||
int exact = start + av_rescale_q(i+1, b, a);
|
||||
acc = av_add_stable(a, acc, b, 1);
|
||||
if (FFABS(acc - exact) > 2) {
|
||||
av_log(NULL, AV_LOG_ERROR, "%d/%d %d/%d, %d %d\n", a.num,
|
||||
a.den, b.num, b.den, acc, exact);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user