comparison rational.c @ 2127:2c2f738772b7 libavcodec

more comments
author michael
date Thu, 15 Jul 2004 14:06:39 +0000
parents c910ff78ef80
children
comparison
equal deleted inserted replaced
2126:181cb6785f6b 2127:2c2f738772b7
29 29
30 #include "common.h" 30 #include "common.h"
31 #include "avcodec.h" 31 #include "avcodec.h"
32 #include "rational.h" 32 #include "rational.h"
33 33
34 /**
35 * returns b*c.
36 */
34 AVRational av_mul_q(AVRational b, AVRational c){ 37 AVRational av_mul_q(AVRational b, AVRational c){
35 av_reduce(&b.num, &b.den, b.num * (int64_t)c.num, b.den * (int64_t)c.den, INT_MAX); 38 av_reduce(&b.num, &b.den, b.num * (int64_t)c.num, b.den * (int64_t)c.den, INT_MAX);
36 return b; 39 return b;
37 } 40 }
38 41
42 /**
43 * returns b/c.
44 */
39 AVRational av_div_q(AVRational b, AVRational c){ 45 AVRational av_div_q(AVRational b, AVRational c){
40 av_reduce(&b.num, &b.den, b.num * (int64_t)c.den, b.den * (int64_t)c.num, INT_MAX); 46 av_reduce(&b.num, &b.den, b.num * (int64_t)c.den, b.den * (int64_t)c.num, INT_MAX);
41 return b; 47 return b;
42 } 48 }
43 49
50 /**
51 * returns b+c.
52 */
44 AVRational av_add_q(AVRational b, AVRational c){ 53 AVRational av_add_q(AVRational b, AVRational c){
45 av_reduce(&b.num, &b.den, b.num * (int64_t)c.den + c.num * (int64_t)b.den, b.den * (int64_t)c.den, INT_MAX); 54 av_reduce(&b.num, &b.den, b.num * (int64_t)c.den + c.num * (int64_t)b.den, b.den * (int64_t)c.den, INT_MAX);
46 return b; 55 return b;
47 } 56 }
48 57
58 /**
59 * returns b-c.
60 */
49 AVRational av_sub_q(AVRational b, AVRational c){ 61 AVRational av_sub_q(AVRational b, AVRational c){
50 av_reduce(&b.num, &b.den, b.num * (int64_t)c.den - c.num * (int64_t)b.den, b.den * (int64_t)c.den, INT_MAX); 62 av_reduce(&b.num, &b.den, b.num * (int64_t)c.den - c.num * (int64_t)b.den, b.den * (int64_t)c.den, INT_MAX);
51 return b; 63 return b;
52 } 64 }
53 65