SDK Multiplataforma en C

# Matemáticas

Funciones y constantes matemáticas elementales.

## Funciones

 real bmath_cos (...) real bmath_sin (...) real bmath_tan (...) real bmath_acos (...) real bmath_asin (...) real bmath_atan2 (...) real bmath_sqrt (...) real bmath_isqrt (...) real bmath_log (...) real bmath_log10 (...) real bmath_exp (...) real bmath_pow (...) real bmath_abs (...) real bmath_max (...) real bmath_min (...) real bmath_clamp (...) real bmath_mod (...) real bmath_modf (...) uint32_t bmath_prec (...) real bmath_round (...) real bmath_round_step (...) real bmath_floor (...) real bmath_ceil (...) uint32_t bmath_time_seed (void) void bmath_rand_seed (...) real bmath_rand (...) uint32_t bmath_randi (...)

## Tipos y Constantes

`BMath` ofrece una interfaz compacta sobre las funciones matemáticas elementales de la librería estándar de C. También define algunas de las constantes más utilizadas, como el número Pi, conversiones entre grados y radianes o raíz de 2.

## kE

```const real32_t kBMATH_Ef = 2.718281828459045f;

const real64_t kBMATH_Ed = 2.718281828459045;

const real BMath::kE;```

El número de Euler.

## kLN2

```const real32_t kBMATH_LN2f = 0.6931471805599453f;

const real64_t kBMATH_LN2d = 0.6931471805599453;

const real BMath::kLN2;```

El logaritmo natural de 2.

## kLN10

```const real32_t kBMATH_LN10f = 2.302585092994046f;

const real64_t kBMATH_LN10d = 2.302585092994046;

const real BMath::kLN10;```

El logaritmo natural de 10.

## kPI

```const real32_t kBMATH_PIf = 3.141592653589793f;

const real64_t kBMATH_PId = 3.141592653589793;

const real BMath::kPI;```

El número Pi.

## kSQRT2

```const real32_t kBMATH_SQRT2f = 1.414213562373095f;

const real64_t kBMATH_SQRT2d = 1.414213562373095;

const real BMath::kSQRT2;```

## kSQRT3

```const real32_t kBMATH_SQRT3f = 1.732050807568878f;

const real64_t kBMATH_SQRT3d = 1.732050807568878;

const real BMath::kSQRT3;```

```const real32_t kBMATH_DEG2RADf = 0.017453292519943f;

```const real32_t kBMATH_RAD2DEGf = 57.2957795130823f;

## bmath_cos ()

Obtiene el coseno de un ángulo.

```real32_t
bmath_cosf(const real32_t angle);

real64_t
bmath_cosd(const real64_t angle);

real
BMath::cos(const real angle);
```

Retorna

El coseno del ángulo.

## bmath_sin ()

Obtiene el seno de un ángulo.

```real32_t
bmath_sinf(const real32_t angle);

real64_t
bmath_sind(const real64_t angle);

real
BMath::sin(const real angle);
```

Retorna

El seno del ángulo.

## bmath_tan ()

Obtiene la tangente de un ángulo.

```real32_t
bmath_tanf(const real32_t angle);

real64_t
bmath_tand(const real64_t angle);

real
BMath::tan(const real angle);
```

Retorna

La tangente del ángulo.

## bmath_acos ()

Obtiene el arco coseno, o coseno inverso, que es el ángulo cuyo coseno es el valor.

```real32_t
bmath_acosf(const real32_t cos);

real64_t
bmath_acosd(const real64_t cos);

real
BMath::acos(const real cos);
```
 cos Coseno (-1, 1).

Retorna

El ángulo (0, Pi).

## bmath_asin ()

Obtiene el arco seno, o seno inverso, que es el ángulo cuyo seno es el valor.

```real32_t
bmath_asinf(const real32_t sin);

real64_t
bmath_asind(const real64_t sin);

real
BMath::asin(const real sin);
```
 sin Seno (-1, 1).

Retorna

El ángulo (0, Pi).

## bmath_atan2 ()

Obtiene el arco tangente, o tangente inversa. Es es el ángulo medido desde el eje X hasta la línea que contiene el origen (0, 0) y el punto con las coordenadas (x,y).

```real32_t
bmath_atan2f(const real32_t y,
const real32_t x);

real64_t
bmath_atan2d(const real64_t y,
const real64_t x);

real
BMath::atan2(const real y,
const real x);
```

Retorna

El ángulo (-Pi, Pi).

## bmath_sqrt ()

```real32_t
bmath_sqrtf(const real32_t value);

real64_t
bmath_sqrtd(const real64_t value);

real
BMath::sqrt(const real value);
```
 value El número.

Retorna

## bmath_isqrt ()

```real32_t
bmath_isqrtf(const real32_t value);

real64_t
bmath_isqrtd(const real64_t value);

real
BMath::isqrt(const real value);
```
 value El número.

Retorna

## bmath_log ()

Obtiene el logaritmo natural (base e) de un número.

```real32_t
bmath_logf(const real32_t value);

real64_t
bmath_logd(const real64_t value);

real
BMath::log(const real value);
```
 value El número.

Retorna

El logaritmo.

## bmath_log10 ()

Obtiene el logaritmo en base 10 de un número.

```real32_t
bmath_log10f(const real32_t value);

real64_t
bmath_log10d(const real64_t value);

real
BMath::log10(const real value);
```
 value El número.

Retorna

El logaritmo.

## bmath_exp ()

Obtiene el número de Euler e (2.7182818) elevado a una potencia.

```real32_t
bmath_expf(const real32_t value);

real64_t
bmath_expd(const real64_t value);

real
BMath::exp(const real value);
```
 value El exponente.

Retorna

La exponencial.

## bmath_pow ()

Calcula una potencia, `base` elevado a `exponent`.

```real32_t
bmath_powf(const real32_t base,
const real32_t exponent);

real64_t
bmath_powd(const real64_t base,
const real64_t exponent);

real
BMath::pow(const real base,
const real exponent);
```
 base Base. exponent Exponente.

Retorna

## bmath_abs ()

Obtiene el valor absoluto de un número.

```real32_t
bmath_absf(const real32_t value);

real64_t
bmath_absd(const real64_t value);

real
BMath::abs(const real value);
```
 value El número.

Retorna

El valor absoluto.

## bmath_max ()

Obtiene el máximo de dos valores.

```real32_t
bmath_maxf(const real32_t value1,
const real32_t value2);

real64_t
bmath_maxd(const real64_t value1,
const real64_t value2);

real
BMath::max(const real value1,
const real value2);
```
 value1 Primer número. value2 Segundo número.

Retorna

El valor máximo.

## bmath_min ()

Obtiene el mínimo de dos valores.

```real32_t
bmath_minf(const real32_t value1,
const real32_t value2);

real64_t
bmath_mind(const real64_t value1,
const real64_t value2);

real
BMath::min(const real value1,
const real value2);
```
 value1 Primer número. value2 Segundo número.

Retorna

El valor mínimo.

## bmath_clamp ()

Restringe un valor a un determinado rango.

```real32_t
bmath_clampf(const real32_t value,
const real32_t min,
const real32_t max);

real64_t
bmath_clampd(const real64_t value,
const real64_t min,
const real64_t max);

real
BMath::clamp(const real value,
const real min,
const real max);
```
 value El número. min Mínimo valor del rango. max Máximo valor del rango.

Retorna

## bmath_mod ()

Obtiene el módulo de dividir `num/den`.

```real32_t
bmath_modf(const real32_t num,
const real32_t den);

real64_t
bmath_modd(const real64_t num,
const real64_t den);

real
BMath::mod(const real num,
const real den);
```

Retorna

El módulo.

## bmath_modf ()

Obtiene la parte entera y fracción de un número real.

```real32_t
bmath_modff(const real32_t value,
real32_t *intpart);

real64_t
bmath_modfd(const real64_t value,
real64_t *intpart);

real
BMath::modf(const real value,
real *intpart);
```
 value El número. intpart Obtiene la parte entera.

Retorna

La parte fraccionaria `[0,1)`.

## bmath_prec ()

Obtiene el número de decimales (precisión) de un número real.

```uint32_t
bmath_precf(const real32_t value);

uint32_t
bmath_precd(const real64_t value);

uint32_t
BMath::prec(const real value);
```
 value El número.

Retorna

El número de posiciones decimales.

## bmath_round ()

Redondea un número al entero más cercano (por encima o por debajo).

```real32_t
bmath_roundf(const real32_t value);

real64_t
bmath_roundd(const real64_t value);

real
BMath::round(const real value);
```
 value El número.

Retorna

El entero más cercano.

## bmath_round_step ()

Redondea un número a la fracción más cercana.

```real32_t
bmath_round_stepf(const real32_t value,
const real32_t step);

real64_t
bmath_round_stepd(const real64_t value,
const real64_t step);

real
BMath::round_step(const real value,
const real step);
```
 value El número. step La fracción.

Retorna

El número más cercano.

## bmath_floor ()

Redondea un número al entero por debajo.

```real32_t
bmath_floorf(const real32_t value);

real64_t
bmath_floord(const real64_t value);

real
BMath::floor(const real value);
```
 value El número.

Retorna

El mayor número entero, menor o igual que el número.

## bmath_ceil ()

Redondea un número al entero por encima.

```real32_t
bmath_ceilf(const real32_t value);

real64_t
bmath_ceild(const real64_t value);

real
BMath::ceil(const real value);
```
 value El número.

Retorna

El menor número entero, mayor o igual que el número.

## bmath_time_seed ()

Obtiene una semilla para números aleatorios, basada en el reloj del sistema.

```uint32_t
bmath_time_seed(void);
```

Retorna

La semilla. Utilízala como parámetro de bmath_rand_seed para generar una secuencia diferente de números aleatorios.

## bmath_rand_seed ()

Establece una nueva semilla de números aleatorios.

```void
bmath_rand_seed(const uint32_t seed);
```
 seed La nueva semilla.

Observaciones

Cada vez que cambia la semilla, comienza una nueva secuencia de números aleatorios. Para la misma semilla, obtendremos la misma secuencia, por lo que son números pseudo-aleatorios. Semillas similares (pe. `4`, `5`) producen secuencias radicalmente diferentes.

## bmath_rand ()

Obtiene un número real aleatorio, dentro de un intervalo.

```real32_t
bmath_randf(const real32_t from,
const real32_t to);

real64_t
bmath_randd(const real64_t from,
const real64_t to);

real
BMath::rand(const real from,
const real to);
```
 from El límite inferior del intervalo. to El límite superior del intervalo.

Retorna

El número aleatorio.

## bmath_randi ()

Obtiene un número entero aleatorio, dentro de un intervalo.

```uint32_t
bmath_randi(const uint32_t from,
const uint32_t to);
```
 from El límite inferior del intervalo. to El límite superior del intervalo.

Retorna

El número aleatorio.