summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/netlist/plib/pfunction.cpp
diff options
context:
space:
mode:
author couriersud <couriersud@gmx.org>2019-11-03 15:08:41 +0100
committer couriersud <couriersud@gmx.org>2019-11-03 15:25:01 +0100
commit34ccb11c536056deeb8ec3b2c36aeb064f70f844 (patch)
tree6ab710fb000703517636b78d1024809994d5e224 /src/lib/netlist/plib/pfunction.cpp
parent36c17abc7993de82454ac45d7193ae6e6f2f9455 (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.cpp11
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