lv_math.h

API reference for lv_math.h

Report on GitHub

Functions

lv_rand_set_seed

Set the seed of the pseudo random number generator

 
void lv_rand_set_seed(uint32_t seed)
Parameters
NameTypeDescription
seeduint32_ta number to initialize the random generator

Structs

struct

lv_sqrt_res_t

MemberTypeDescription
iuint16_t
fuint16_t
Used by 1 function
  • lv_sqrt — param q

Macros

LV_TRIGO_SIN_MAX

 
#define LV_TRIGO_SIN_MAX 32768

LV_TRIGO_SHIFT

 
#define LV_TRIGO_SHIFT 15

> > ‍LV_TRIGO_SHIFT to normalize

LV_BEZIER_VAL_SHIFT

 
#define LV_BEZIER_VAL_SHIFT 10

log2(LV_BEZIER_VAL_MAX): used to normalize up scaled values

LV_BEZIER_VAL_MAX

 
#define LV_BEZIER_VAL_MAX (1L << LV_BEZIER_VAL_SHIFT)

Max time in Bezier functions (not [0..1] to use integers)

LV_BEZIER_VAL_FLOAT

 
#define LV_BEZIER_VAL_FLOAT(f) \
    ((int32_t)((f) * LV_BEZIER_VAL_MAX))

Convert const float number cubic-bezier values to fix-point value

LV_ALIGN_UP

 
#define LV_ALIGN_UP(x, align) \
    (((x) + ((align) - 1)) & ~((align) - 1))

Align up value x to align, align must be a power of two

LV_ROUND_UP

 
#define LV_ROUND_UP(x, round) \
    ((((x) + ((round) - 1)) / (round)) * (round))

Round up value x to round, round can be any integer number

LV_MIN

 
#define LV_MIN(a, b) \
    ((a) < (b) ? (a) : (b))

LV_MIN3

 
#define LV_MIN3(a, b, c) \
    (LV_MIN(LV_MIN(a,b), c))

LV_MIN4

 
#define LV_MIN4(a, b, c, d) \
    (LV_MIN(LV_MIN(a,b), LV_MIN(c,d)))

LV_MAX

 
#define LV_MAX(a, b) \
    ((a) > (b) ? (a) : (b))

LV_MAX3

 
#define LV_MAX3(a, b, c) \
    (LV_MAX(LV_MAX(a,b), c))

LV_MAX4

 
#define LV_MAX4(a, b, c, d) \
    (LV_MAX(LV_MAX(a,b), LV_MAX(c,d)))

LV_CLAMP

 
#define LV_CLAMP(min, val, max) \
    (LV_MAX(min, (LV_MIN(val, max))))

LV_ABS

 
#define LV_ABS(x) \
    ((x) > 0 ? (x) : (-(x)))

LV_UDIV255

 
#define LV_UDIV255(x) \
    (((x) * 0x8081U) >> 0x17)

LV_IS_SIGNED

 
#define LV_IS_SIGNED(t) \
    (((t)(-1)) < ((t)0))

LV_UMAX_OF

 
#define LV_UMAX_OF(t) \
    (((0x1ULL << ((sizeof(t) * 8ULL) - 1ULL)) - 1ULL) | (0xFULL << ((sizeof(t) * 8ULL) - 4ULL)))

LV_SMAX_OF

 
#define LV_SMAX_OF(t) \
    (((0x1ULL << ((sizeof(t) * 8ULL) - 1ULL)) - 1ULL) | (0x7ULL << ((sizeof(t) * 8ULL) - 4ULL)))

LV_MAX_OF

 
#define LV_MAX_OF(t) \
    ((unsigned long)(LV_IS_SIGNED(t) ? LV_SMAX_OF(t) : LV_UMAX_OF(t)))

Dependencies

How is this guide?

Last updated on

On this page