Commit 0b006599 authored by Dujardin Bernard's avatar Dujardin Bernard Committed by Guillaume Poirier
Browse files

move doxy comments from rational.c to rational.h and add some new comments

patch by Dujardin Bernard %dujardin P iut A numericable P fr%

Originally committed as revision 8132 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent 1c95ef8b
......@@ -75,40 +75,24 @@ int av_reduce(int *dst_nom, int *dst_den, int64_t nom, int64_t den, int64_t max)
return den==0;
}
/**
* returns b*c.
*/
AVRational av_mul_q(AVRational b, AVRational c){
av_reduce(&b.num, &b.den, b.num * (int64_t)c.num, b.den * (int64_t)c.den, INT_MAX);
return b;
}
/**
* returns b/c.
*/
AVRational av_div_q(AVRational b, AVRational c){
return av_mul_q(b, (AVRational){c.den, c.num});
}
/**
* returns b+c.
*/
AVRational av_add_q(AVRational b, AVRational c){
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);
return b;
}
/**
* returns b-c.
*/
AVRational av_sub_q(AVRational b, AVRational c){
return av_add_q(b, (AVRational){-c.num, c.den});
}
/**
* Converts a double precission floating point number to a AVRational.
* @param max the maximum allowed numerator and denominator
*/
AVRational av_d2q(double d, int max){
AVRational a;
#define LOG2 0.69314718055994530941723212145817656807550013436025
......
......@@ -51,7 +51,7 @@ static inline int av_cmp_q(AVRational a, AVRational b){
}
/**
* Rational to double conversion
* Rational to double conversion.
* @param a rational to convert
* @return (double) a
*/
......@@ -71,10 +71,44 @@ static inline double av_q2d(AVRational a){
*/
int av_reduce(int *dst_nom, int *dst_den, int64_t nom, int64_t den, int64_t max);
/**
* Multiplies two rationals.
* @param b first rational.
* @param c second rational.
* @return b*c.
*/
AVRational av_mul_q(AVRational b, AVRational c);
/**
* Divides two rationals.
* @param b first rational.
* @param c second rational.
* @return b/c.
*/
AVRational av_div_q(AVRational b, AVRational c);
/**
* Adds two rationals.
* @param b first rational.
* @param c second rational.
* @return b+c.
*/
AVRational av_add_q(AVRational b, AVRational c);
/**
* Substracts two rationals.
* @param b first rational.
* @param c second rational.
* returns b-c.
*/
AVRational av_sub_q(AVRational b, AVRational c);
/**
* Converts a double precision floating point number to a rational.
* @param d double to convert
* @param max the maximum allowed numerator and denominator
* @return (AVRational) d.
*/
AVRational av_d2q(double d, int max);
#endif // RATIONAL_H
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment