diff options
author | 2019-11-03 15:08:41 +0100 | |
---|---|---|
committer | 2019-11-03 15:25:01 +0100 | |
commit | 34ccb11c536056deeb8ec3b2c36aeb064f70f844 (patch) | |
tree | 6ab710fb000703517636b78d1024809994d5e224 /src/lib/netlist/plib/pfunction.cpp | |
parent | 36c17abc7993de82454ac45d7193ae6e6f2f9455 (diff) |
netlist: Completed __float128 support. [Couriersud]
Both compiling the core and the shaders with __float128 now work.
The support was added to be ready to deal with academic edge cases.
Performance drops to 10% of double - thus disabled by default.
Diffstat (limited to 'src/lib/netlist/plib/pfunction.cpp')
-rw-r--r-- | src/lib/netlist/plib/pfunction.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/lib/netlist/plib/pfunction.cpp b/src/lib/netlist/plib/pfunction.cpp index 48939c8236a..db6e491e988 100644 --- a/src/lib/netlist/plib/pfunction.cpp +++ b/src/lib/netlist/plib/pfunction.cpp @@ -206,10 +206,10 @@ namespace plib { OP(MULT, 1, ST2 * ST1) OP(SUB, 1, ST2 - ST1) OP(DIV, 1, ST2 / ST1) - OP(POW, 1, std::pow(ST2, ST1)) - OP(SIN, 0, std::sin(ST2)) - OP(COS, 0, std::cos(ST2)) - OP(TRUNC, 0, std::trunc(ST2)) + OP(POW, 1, plib::pow(ST2, ST1)) + OP(SIN, 0, plib::sin(ST2)) + OP(COS, 0, plib::cos(ST2)) + OP(TRUNC, 0, plib::trunc(ST2)) case RAND: stack[ptr++] = lfsr_random(); break; @@ -227,5 +227,8 @@ namespace plib { template class pfunction<float>; template class pfunction<double>; template class pfunction<long double>; +#if (PUSE_FLOAT128) + template class pfunction<__float128>; +#endif } // namespace plib |