integer.c File Reference

arbitrary precision integers More...

#include "common.h"
#include "integer.h"
#include "avassert.h"
Include dependency graph for integer.c:

Go to the source code of this file.

Functions

AVInteger av_add_i (AVInteger a, AVInteger b)
 
AVInteger av_sub_i (AVInteger a, AVInteger b)
 
int av_log2_i (AVInteger a)
 Return the rounded-down value of the base 2 logarithm of the given AVInteger. More...
 
AVInteger av_mul_i (AVInteger a, AVInteger b)
 
int av_cmp_i (AVInteger a, AVInteger b)
 Return 0 if a==b, 1 if a>b and -1 if a<b. More...
 
AVInteger av_shr_i (AVInteger a, int s)
 bitwise shift More...
 
AVInteger av_mod_i (AVInteger *quot, AVInteger a, AVInteger b)
 Return a % b. More...
 
AVInteger av_div_i (AVInteger a, AVInteger b)
 Return a/b. More...
 
AVInteger av_int2i (int64_t a)
 Convert the given int64_t to an AVInteger. More...
 
int64_t av_i2int (AVInteger a)
 Convert the given AVInteger to an int64_t. More...
 

Detailed Description

arbitrary precision integers

Author
Michael Niedermayer micha.nosp@m.elni.nosp@m.@gmx..nosp@m.at

Definition in file integer.c.

Function Documentation

AVInteger av_add_i ( AVInteger  a,
AVInteger  b 
)

Definition at line 32 of file integer.c.

Referenced by av_i2int(), and av_rescale_rnd().

int av_cmp_i ( AVInteger  a,
AVInteger  b 
)

Return 0 if a==b, 1 if a>b and -1 if a<b.

Definition at line 83 of file integer.c.

Referenced by av_mod_i().

AVInteger av_div_i ( AVInteger  a,
AVInteger  b 
)

Return a/b.

Definition at line 133 of file integer.c.

Referenced by av_i2int(), and av_rescale_rnd().

int64_t av_i2int ( AVInteger  a) const

Convert the given AVInteger to an int64_t.

If the AVInteger is too large to fit into an int64_t, then only the least significant 64 bits will be used.

Definition at line 150 of file integer.c.

Referenced by av_i2int(), and av_rescale_rnd().

AVInteger av_int2i ( int64_t  a)

Convert the given int64_t to an AVInteger.

Definition at line 139 of file integer.c.

Referenced by av_i2int(), and av_rescale_rnd().

int av_log2_i ( AVInteger  a) const

Return the rounded-down value of the base 2 logarithm of the given AVInteger.

This is simply the index of the most significant bit which is 1, or 0 if all bits are 0.

Definition at line 52 of file integer.c.

Referenced by av_i2int(), av_mod_i(), and av_mul_i().

AVInteger av_mod_i ( AVInteger quot,
AVInteger  a,
AVInteger  b 
)

Return a % b.

Parameters
quota/b will be stored here.

Definition at line 109 of file integer.c.

Referenced by av_div_i().

AVInteger av_mul_i ( AVInteger  a,
AVInteger  b 
)

Definition at line 62 of file integer.c.

Referenced by av_i2int(), and av_rescale_rnd().

AVInteger av_shr_i ( AVInteger  a,
int  s 
) const

bitwise shift

Parameters
sthe number of bits by which the value should be shifted right, may be negative for shifting left

Definition at line 95 of file integer.c.

Referenced by av_i2int(), and av_mod_i().

AVInteger av_sub_i ( AVInteger  a,
AVInteger  b 
)

Definition at line 42 of file integer.c.

Referenced by av_i2int(), and av_mod_i().