project_files/hwc/rtl/pmath.h
author unc0rr
Sun, 14 Oct 2018 23:16:11 +0200
changeset 13937 cd437d76978a
parent 11655 e15eb10f1703
child 14206 801dc57371c3
permissions -rw-r--r--
Add get_mut() to Vec2D
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
7983
02f36c3e7f6c add xymeng's rtl port
koda
parents:
diff changeset
     1
#ifndef PMATH_H_
02f36c3e7f6c add xymeng's rtl port
koda
parents:
diff changeset
     2
#define PMATH_H_
02f36c3e7f6c add xymeng's rtl port
koda
parents:
diff changeset
     3
02f36c3e7f6c add xymeng's rtl port
koda
parents:
diff changeset
     4
#include <stdint.h>
8047
25a4daa6473c cleanup headers, remove -I . from rtl lib to save a few warnings
koda
parents: 7983
diff changeset
     5
#include <math.h>
7983
02f36c3e7f6c add xymeng's rtl port
koda
parents:
diff changeset
     6
02f36c3e7f6c add xymeng's rtl port
koda
parents:
diff changeset
     7
#define     fpcrtl_min(a, b)                ((a) < (b) ? (a) : (b))
02f36c3e7f6c add xymeng's rtl port
koda
parents:
diff changeset
     8
#define     fpcrtl_max(a, b)                ((a) > (b) ? (a) : (b))
02f36c3e7f6c add xymeng's rtl port
koda
parents:
diff changeset
     9
02f36c3e7f6c add xymeng's rtl port
koda
parents:
diff changeset
    10
float       fpcrtl_power(float base, float exponent);
02f36c3e7f6c add xymeng's rtl port
koda
parents:
diff changeset
    11
02f36c3e7f6c add xymeng's rtl port
koda
parents:
diff changeset
    12
/* Currently the games only uses sign of an integer */
02f36c3e7f6c add xymeng's rtl port
koda
parents:
diff changeset
    13
int         fpcrtl_signi(int x);
02f36c3e7f6c add xymeng's rtl port
koda
parents:
diff changeset
    14
02f36c3e7f6c add xymeng's rtl port
koda
parents:
diff changeset
    15
float       fpcrtl_csc(float x);
02f36c3e7f6c add xymeng's rtl port
koda
parents:
diff changeset
    16
02f36c3e7f6c add xymeng's rtl port
koda
parents:
diff changeset
    17
#define     fpcrtl_arctan2(y, x)            atan2(y, x)
02f36c3e7f6c add xymeng's rtl port
koda
parents:
diff changeset
    18
02f36c3e7f6c add xymeng's rtl port
koda
parents:
diff changeset
    19
float       __attribute__((overloadable))   fpcrtl_abs(float x);
02f36c3e7f6c add xymeng's rtl port
koda
parents:
diff changeset
    20
double      __attribute__((overloadable))   fpcrtl_abs(double x);
02f36c3e7f6c add xymeng's rtl port
koda
parents:
diff changeset
    21
int         __attribute__((overloadable))   fpcrtl_abs(int x);
02f36c3e7f6c add xymeng's rtl port
koda
parents:
diff changeset
    22
int64_t     __attribute__((overloadable))   fpcrtl_abs(int64_t x);
02f36c3e7f6c add xymeng's rtl port
koda
parents:
diff changeset
    23
11655
e15eb10f1703 Work around emscripten not finding math.h
koda
parents: 8047
diff changeset
    24
/* emscripten cannot find math.h through our cmake */
e15eb10f1703 Work around emscripten not finding math.h
koda
parents: 8047
diff changeset
    25
#ifdef EMSCRIPTEN
e15eb10f1703 Work around emscripten not finding math.h
koda
parents: 8047
diff changeset
    26
double      exp(double);
e15eb10f1703 Work around emscripten not finding math.h
koda
parents: 8047
diff changeset
    27
double      log(double);
e15eb10f1703 Work around emscripten not finding math.h
koda
parents: 8047
diff changeset
    28
double      sin(double);
e15eb10f1703 Work around emscripten not finding math.h
koda
parents: 8047
diff changeset
    29
double      cos(double);
e15eb10f1703 Work around emscripten not finding math.h
koda
parents: 8047
diff changeset
    30
double      fabs(double);
e15eb10f1703 Work around emscripten not finding math.h
koda
parents: 8047
diff changeset
    31
double      ceil(double);
e15eb10f1703 Work around emscripten not finding math.h
koda
parents: 8047
diff changeset
    32
double      sqrt(double);
e15eb10f1703 Work around emscripten not finding math.h
koda
parents: 8047
diff changeset
    33
double      atan(double);
e15eb10f1703 Work around emscripten not finding math.h
koda
parents: 8047
diff changeset
    34
double      atan2(double, double);
e15eb10f1703 Work around emscripten not finding math.h
koda
parents: 8047
diff changeset
    35
#endif
e15eb10f1703 Work around emscripten not finding math.h
koda
parents: 8047
diff changeset
    36
7983
02f36c3e7f6c add xymeng's rtl port
koda
parents:
diff changeset
    37
#endif /* PMATH_H_ */