-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathwnt_MathsFuncs.h
50 lines (37 loc) · 1.07 KB
/
wnt_MathsFuncs.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
/*=====================================================================
wnt_MathsFuncs.h
----------------
Copyright Glare Technologies Limited 2019 -
=====================================================================*/
#pragma once
#include "VirtualMachine.h"
namespace Winter
{
/*=====================================================================
MathsFuncs
----------
Adds some external maths functions from the C++ standard library.
These functions will have both float and double overloads.
tan
asin
acos
atan
sinh
asinh
cosh
acosh
tanh
atanh
atan2
Some maths functions are already built into Winter because they are supported as LLVM intrinsics, e.g.
sin, pow, log, exp. Such functions are not added with appendExternalMathsFuncs().
Also adds some other functions:
mod (Euclidean modulo)
isFinite
isNAN
=====================================================================*/
namespace MathsFuncs
{
void appendExternalMathsFuncs(std::vector<Winter::ExternalFunctionRef>& external_functions);
};
} // end namespace Winter