return (double)cbrt(x);
FCIMPLEND
+#if defined(_MSC_VER) && defined(_TARGET_AMD64_)
+// The /fp:fast form of `ceil` for AMD64 does not correctly handle: `-1.0 < value <= -0.0`
+#pragma float_control(precise, on )
+#endif
+
/*====================================Ceil======================================
**
==============================================================================*/
return (double)ceil(x);
FCIMPLEND
+#if defined(_MSC_VER) && defined(_TARGET_AMD64_)
+#pragma float_control(precise, off)
+#endif
+
/*=====================================Cos======================================
**
==============================================================================*/
return (double)exp(x);
FCIMPLEND
+#if defined(_MSC_VER) && defined(_TARGET_X86_)
+// The /fp:fast form of `floor` for x86 does not correctly handle: `-0.0`
+#pragma float_control(precise, on )
+#endif
+
/*====================================Floor=====================================
**
==============================================================================*/
return (double)floor(x);
FCIMPLEND
+#if defined(_MSC_VER) && defined(_TARGET_X86_)
+#pragma float_control(precise, off)
+#endif
+
/*=====================================FMod=====================================
**
==============================================================================*/
return (float)cbrtf(x);
FCIMPLEND
+#if defined(_MSC_VER) && defined(_TARGET_AMD64_)
+// The /fp:fast form of `ceilf` for AMD64 does not correctly handle: `-1.0 < value <= -0.0`
+#pragma float_control(precise, on )
+#endif
+
/*====================================Ceil======================================
**
==============================================================================*/
return (float)ceilf(x);
FCIMPLEND
+#if defined(_MSC_VER) && defined(_TARGET_AMD64_)
+#pragma float_control(precise, off)
+#endif
+
/*=====================================Cos======================================
**
==============================================================================*/