Go to the documentation of this file.
   40         carry= (carry>>16) + 
a.v[
i] + 
b.v[
i];
 
   50         carry= (carry>>16) + 
a.v[
i] - 
b.v[
i];
 
   72     memset(&
out, 0, 
sizeof(
out));
 
   79                 carry= (carry>>16) + 
out.v[j] + 
a.v[
i]*(
unsigned)
b.v[j-
i];
 
   90     if(v) 
return (v>>16)|1;
 
   93         int v= 
a.v[
i] - 
b.v[
i];
 
   94         if(v) 
return (v>>16)|1;
 
  104         unsigned int index= 
i + (
s>>4);
 
  108         out.v[
i]= v >> (
s&15);
 
  116     if(!quot) quot = "_temp;
 
  161     uint64_t 
out = 
a.v[3];
 
  163     for (
int i = 2; 
i >= 0; 
i--)
 
  
int av_log2_16bit(unsigned v)
int64_t av_i2int(AVInteger a)
Convert the given AVInteger to an int64_t.
int av_log2_i(AVInteger a)
Return the rounded-down value of the base 2 logarithm of the given AVInteger.
AVInteger av_int2i(int64_t a)
Convert the given int64_t to an AVInteger.
int av_cmp_i(AVInteger a, AVInteger b)
Return 0 if a==b, 1 if a>b and -1 if a<b.
AVInteger av_add_i(AVInteger a, AVInteger b)
AVInteger av_mul_i(AVInteger a, AVInteger b)
The reader does not expect b to be semantically here and if the code is changed by maybe adding a a division or other the signedness will almost certainly be mistaken To avoid this confusion a new type was SUINT is the C unsigned type but it holds a signed int to use the same example SUINT a
AVInteger av_shr_i(AVInteger a, int s)
bitwise shift
#define av_assert2(cond)
assert() equivalent, that does lie in speed critical code.
uint16_t v[AV_INTEGER_SIZE]
#define i(width, name, range_min, range_max)
static const AVInteger zero_i
AVInteger av_div_i(AVInteger a, AVInteger b)
Return a/b.
AVInteger av_mod_i(AVInteger *quot, AVInteger a, AVInteger b)
Return a % b.
AVInteger av_sub_i(AVInteger a, AVInteger b)