GoldFish Engine
Quite simple and lightweight game engine
Loading...
Searching...
No Matches
gf_math.h File Reference

Math. More...

#include <gf_pre.h>
#include <gf_macro.h>
#include <gf_type/math.h>

Go to the source code of this file.

Macros

#define GF_MATH_PI   3.14159265
 Pi.
 
#define GF_MATH_VECTOR_COPY(from, to)
 Copy vector.
 

Functions

double gf_math_log2 (double x)
 Calculate log2(x)
 
void gf_math_normal (gf_math_vector_t r, gf_math_vector_t v0, gf_math_vector_t v1, gf_math_vector_t v2)
 Calculate normal of triangle v0,v1,v2.
 
double gf_math_cot (double x)
 Calculate cot(x)
 
double gf_math_nearest_2pow (double x)
 Get nearest 2^n.
 
void gf_math_normalize (gf_math_vector_t v)
 Normalize vector.
 
void gf_math_multiply (gf_math_vector_t r, gf_math_vector_t v0, gf_math_vector_t v1)
 Multiply vector by vector.
 
void gf_math_subtract (gf_math_vector_t r, gf_math_vector_t v0, gf_math_vector_t v1)
 Subtract vector by vector.
 

Detailed Description

Math.

Definition in file gf_math.h.

Macro Definition Documentation

◆ GF_MATH_PI

#define GF_MATH_PI   3.14159265

Pi.

Definition at line 24 of file gf_math.h.

◆ GF_MATH_VECTOR_COPY

#define GF_MATH_VECTOR_COPY (   from,
  to 
)
Value:
to[0] = from[0]; \
to[1] = from[1]; \
to[2] = from[2]

Copy vector.

Parameters
fromSource
toDestination

Definition at line 32 of file gf_math.h.

Function Documentation

◆ gf_math_cot()

double gf_math_cot ( double  x)
extern

Calculate cot(x)

Parameters
xInput
Returns
cot(x)

Definition at line 62 of file gf_math.c.

◆ gf_math_log2()

double gf_math_log2 ( double  x)
extern

Calculate log2(x)

Parameters
xInput
Returns
log2(x)

Definition at line 15 of file gf_math.c.

◆ gf_math_multiply()

void gf_math_multiply ( gf_math_vector_t  r,
gf_math_vector_t  v0,
gf_math_vector_t  v1 
)
extern

Multiply vector by vector.

Parameters
rResult
v0Input
v1Input

Definition at line 56 of file gf_math.c.

◆ gf_math_nearest_2pow()

double gf_math_nearest_2pow ( double  x)
extern

Get nearest 2^n.

Parameters
xInput
Returns
Nearest 2^n

Definition at line 64 of file gf_math.c.

◆ gf_math_normal()

void gf_math_normal ( gf_math_vector_t  r,
gf_math_vector_t  v0,
gf_math_vector_t  v1,
gf_math_vector_t  v2 
)
extern

Calculate normal of triangle v0,v1,v2.

Parameters
rResult
v0Input
v1Input
v2Input

Definition at line 38 of file gf_math.c.

◆ gf_math_normalize()

void gf_math_normalize ( gf_math_vector_t  v)
extern

Normalize vector.

Parameters
vInput/Output

Definition at line 17 of file gf_math.c.

◆ gf_math_subtract()

void gf_math_subtract ( gf_math_vector_t  r,
gf_math_vector_t  v0,
gf_math_vector_t  v1 
)
extern

Subtract vector by vector.

Parameters
rResult
v0Input
v1Input

Definition at line 50 of file gf_math.c.