diff options
Diffstat (limited to 'generic/include')
-rw-r--r-- | generic/include/clc/clc.h | 8 | ||||
-rw-r--r-- | generic/include/clc/math/exp.h | 4 | ||||
-rw-r--r-- | generic/include/clc/math/exp2.h | 6 | ||||
-rw-r--r-- | generic/include/clc/math/log.h | 4 | ||||
-rw-r--r-- | generic/include/clc/math/log2.h | 6 | ||||
-rw-r--r-- | generic/include/clc/math/native_exp.h | 1 | ||||
-rw-r--r-- | generic/include/clc/math/native_exp2.h | 1 | ||||
-rw-r--r-- | generic/include/clc/math/native_log.h | 1 | ||||
-rw-r--r-- | generic/include/clc/math/native_log2.h | 1 |
9 files changed, 32 insertions, 0 deletions
diff --git a/generic/include/clc/clc.h b/generic/include/clc/clc.h index 72e2f23..0e640ba 100644 --- a/generic/include/clc/clc.h +++ b/generic/include/clc/clc.h @@ -33,11 +33,19 @@ /* 6.11.2 Math Functions */ #include <clc/math/cos.h> +#include <clc/math/exp.h> +#include <clc/math/exp2.h> #include <clc/math/fabs.h> +#include <clc/math/log.h> +#include <clc/math/log2.h> #include <clc/math/sin.h> #include <clc/math/sqrt.h> #include <clc/math/native_cos.h> #include <clc/math/native_divide.h> +#include <clc/math/native_exp.h> +#include <clc/math/native_exp2.h> +#include <clc/math/native_log.h> +#include <clc/math/native_log2.h> #include <clc/math/native_sin.h> #include <clc/math/native_sqrt.h> diff --git a/generic/include/clc/math/exp.h b/generic/include/clc/math/exp.h new file mode 100644 index 0000000..dbc4b84 --- /dev/null +++ b/generic/include/clc/math/exp.h @@ -0,0 +1,4 @@ +#undef exp + +// exp(x) = exp2(x * log2(e) +#define exp(val) (__clc_exp2((val) * 1.44269504f)) diff --git a/generic/include/clc/math/exp2.h b/generic/include/clc/math/exp2.h new file mode 100644 index 0000000..fe91633 --- /dev/null +++ b/generic/include/clc/math/exp2.h @@ -0,0 +1,6 @@ +#undef exp2 +#define exp2 __clc_exp2 + +#define FUNCTION __clc_exp2 +#define INTRINSIC "llvm.exp2" +#include <clc/math/unary_intrin.inc> diff --git a/generic/include/clc/math/log.h b/generic/include/clc/math/log.h new file mode 100644 index 0000000..644f857 --- /dev/null +++ b/generic/include/clc/math/log.h @@ -0,0 +1,4 @@ +#undef log + +// log(x) = log2(x) * (1/log2(e)) +#define log(val) (__clc_log2(val) * 0.693147181f) diff --git a/generic/include/clc/math/log2.h b/generic/include/clc/math/log2.h new file mode 100644 index 0000000..d8a8842 --- /dev/null +++ b/generic/include/clc/math/log2.h @@ -0,0 +1,6 @@ +#undef log2 +#define log2 __clc_log2 + +#define FUNCTION __clc_log2 +#define INTRINSIC "llvm.log2" +#include <clc/math/unary_intrin.inc> diff --git a/generic/include/clc/math/native_exp.h b/generic/include/clc/math/native_exp.h new file mode 100644 index 0000000..e206de6 --- /dev/null +++ b/generic/include/clc/math/native_exp.h @@ -0,0 +1 @@ +#define native_exp exp diff --git a/generic/include/clc/math/native_exp2.h b/generic/include/clc/math/native_exp2.h new file mode 100644 index 0000000..b675939 --- /dev/null +++ b/generic/include/clc/math/native_exp2.h @@ -0,0 +1 @@ +#define native_exp2 exp2 diff --git a/generic/include/clc/math/native_log.h b/generic/include/clc/math/native_log.h new file mode 100644 index 0000000..7805a39 --- /dev/null +++ b/generic/include/clc/math/native_log.h @@ -0,0 +1 @@ +#define native_log log diff --git a/generic/include/clc/math/native_log2.h b/generic/include/clc/math/native_log2.h new file mode 100644 index 0000000..0c692ee --- /dev/null +++ b/generic/include/clc/math/native_log2.h @@ -0,0 +1 @@ +#define native_log2 log2 |