FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
libm.h File Reference

Replacements for frequently missing libm functions. More...

#include <math.h>
#include "config.h"
#include "attributes.h"
#include "intfloat.h"

Go to the source code of this file.

Macros

#define atanf(x)   ((float)atan(x))
 
#define atan2f(y, x)   ((float)atan2(y, x))
 
#define powf(x, y)   ((float)pow(x, y))
 
#define cosf(x)   ((float)cos(x))
 
#define expf(x)   ((float)exp(x))
 
#define exp2(x)   exp((x) * 0.693147180559945)
 
#define exp2f(x)   ((float)exp2(x))
 
#define ldexpf(x, exp)   ((float)ldexp(x, exp))
 
#define llrint(x)   ((long long)rint(x))
 
#define llrintf(x)   ((long long)rint(x))
 
#define log2(x)   (log(x) * 1.44269504088896340736)
 
#define log2f(x)   ((float)log2(x))
 
#define log10f(x)   ((float)log10(x))
 
#define sinf(x)   ((float)sin(x))
 
#define atanf(x)   ((float)atan(x))
 
#define atan2f(y, x)   ((float)atan2(y, x))
 
#define powf(x, y)   ((float)pow(x, y))
 
#define cosf(x)   ((float)cos(x))
 
#define expf(x)   ((float)exp(x))
 
#define exp2(x)   exp((x) * 0.693147180559945)
 
#define exp2f(x)   ((float)exp2(x))
 
#define ldexpf(x, exp)   ((float)ldexp(x, exp))
 
#define llrint(x)   ((long long)rint(x))
 
#define llrintf(x)   ((long long)rint(x))
 
#define log2(x)   (log(x) * 1.44269504088896340736)
 
#define log2f(x)   ((float)log2(x))
 
#define log10f(x)   ((float)log10(x))
 
#define sinf(x)   ((float)sin(x))
 
#define atanf(x)   ((float)atan(x))
 
#define atan2f(y, x)   ((float)atan2(y, x))
 
#define powf(x, y)   ((float)pow(x, y))
 
#define cosf(x)   ((float)cos(x))
 
#define expf(x)   ((float)exp(x))
 
#define exp2(x)   exp((x) * 0.693147180559945)
 
#define exp2f(x)   ((float)exp2(x))
 
#define ldexpf(x, exp)   ((float)ldexp(x, exp))
 
#define llrint(x)   ((long long)rint(x))
 
#define llrintf(x)   ((long long)rint(x))
 
#define log2(x)   (log(x) * 1.44269504088896340736)
 
#define log2f(x)   ((float)log2(x))
 
#define log10f(x)   ((float)log10(x))
 
#define sinf(x)   ((float)sin(x))
 

Functions

static av_always_inline double cbrt (double x)
 
static av_always_inline float cbrtf (float x)
 
static av_always_inline
av_const int 
isinf (float x)
 
static av_always_inline
av_const int 
isnan (float x)
 
static double rint (double x)
 
static av_always_inline
av_const long int 
lrint (double x)
 
static av_always_inline
av_const long int 
lrintf (float x)
 
static av_always_inline
av_const double 
round (double x)
 
static av_always_inline
av_const float 
roundf (float x)
 
static av_always_inline
av_const double 
trunc (double x)
 
static av_always_inline
av_const float 
truncf (float x)
 

Detailed Description

Replacements for frequently missing libm functions.

Definition in file libm.h.

Macro Definition Documentation

#define atanf (   x)    ((float)atan(x))

Referenced by calc_bark(), and ps_tableinit().

#define atan2f (   y,
 
)    ((float)atan2(y, x))

Referenced by ps_tableinit().

#define powf (   x,
  y 
)    ((float)pow(x, y))
#define cosf (   x)    ((float)cos(x))

Referenced by lsf2lsp(), and ps_tableinit().

#define expf (   x)    ((float)exp(x))

Referenced by decode_init(), and synth_block_fcb_acb().

#define exp2 (   x)    exp((x) * 0.693147180559945)
#define exp2f (   x)    ((float)exp2(x))
#define ldexpf (   x,
  exp 
)    ((float)ldexp(x, exp))

Referenced by get_float().

#define llrint (   x)    ((long long)rint(x))
#define llrintf (   x)    ((long long)rint(x))
#define log2 (   x)    (log(x) * 1.44269504088896340736)
#define log2f (   x)    ((float)log2(x))
#define log10f (   x)    ((float)log10(x))
#define sinf (   x)    ((float)sin(x))
#define atanf (   x)    ((float)atan(x))
#define atan2f (   y,
 
)    ((float)atan2(y, x))
#define powf (   x,
  y 
)    ((float)pow(x, y))
#define cosf (   x)    ((float)cos(x))
#define expf (   x)    ((float)exp(x))
#define exp2 (   x)    exp((x) * 0.693147180559945)
#define exp2f (   x)    ((float)exp2(x))
#define ldexpf (   x,
  exp 
)    ((float)ldexp(x, exp))
#define llrint (   x)    ((long long)rint(x))
#define llrintf (   x)    ((long long)rint(x))
#define log2 (   x)    (log(x) * 1.44269504088896340736)
#define log2f (   x)    ((float)log2(x))
#define log10f (   x)    ((float)log10(x))
#define sinf (   x)    ((float)sin(x))
#define atanf (   x)    ((float)atan(x))

Definition at line 38 of file libm.h.

#define atan2f (   y,
 
)    ((float)atan2(y, x))

Definition at line 43 of file libm.h.

#define powf (   x,
  y 
)    ((float)pow(x, y))

Definition at line 48 of file libm.h.

Referenced by cbrtf().

#define cosf (   x)    ((float)cos(x))

Definition at line 67 of file libm.h.

#define expf (   x)    ((float)exp(x))

Definition at line 72 of file libm.h.

#define exp2 (   x)    exp((x) * 0.693147180559945)

Definition at line 77 of file libm.h.

#define exp2f (   x)    ((float)exp2(x))

Definition at line 82 of file libm.h.

#define ldexpf (   x,
  exp 
)    ((float)ldexp(x, exp))

Definition at line 107 of file libm.h.

#define llrint (   x)    ((long long)rint(x))

Definition at line 112 of file libm.h.

#define llrintf (   x)    ((long long)rint(x))

Definition at line 117 of file libm.h.

#define log2 (   x)    (log(x) * 1.44269504088896340736)

Definition at line 122 of file libm.h.

#define log2f (   x)    ((float)log2(x))

Definition at line 127 of file libm.h.

#define log10f (   x)    ((float)log10(x))

Definition at line 132 of file libm.h.

#define sinf (   x)    ((float)sin(x))

Definition at line 137 of file libm.h.

Function Documentation

static av_always_inline double cbrt ( double  x)
static

Definition at line 52 of file libm.h.

Referenced by fade_gain(), and plot_spectrum_column().

static av_always_inline float cbrtf ( float  x)
static

Definition at line 59 of file libm.h.

Referenced by decode_spectrum_and_dequant(), and quantize_and_encode_band_cost_template().

static av_always_inline av_const int isinf ( float  x)
static

Definition at line 86 of file libm.h.

Referenced by av_dbl2ext(), eval_expr(), and get_exponent_dynamic().

static av_always_inline av_const int isnan ( float  x)
static
static double rint ( double  x)
inlinestatic
static av_always_inline av_const long int lrint ( double  x)
static
static av_always_inline av_const long int lrintf ( float  x)
static

Definition at line 155 of file libm.h.

static av_always_inline av_const double round ( double  x)
static
static av_always_inline av_const float roundf ( float  x)
static

Definition at line 169 of file libm.h.

Referenced by xvid_correct_framerate().

static av_always_inline av_const double trunc ( double  x)
static

Definition at line 176 of file libm.h.

Referenced by eval_expr().

static av_always_inline av_const float truncf ( float  x)
static

Definition at line 183 of file libm.h.

Referenced by amrnb_decode_frame(), and amrwb_decode_frame().