GCE-Math functions are written as C++ templates with constexpr specifiers, the format of which might be confusing to users unfamiliar with template-based programming. As an example, the Gaussian error function (erf) is defined as:

template<typenameT>constexprreturn_t<T>erf(constTx)noexcept;

where a set of internal templated constexpr functions will implement a continued fraction expansion to return a value of type return_t<T>. This output type (‘return_t<T>’) is generally determined by the input type, e.g., int, float, double, longdouble, etc. When T is an intergral type, the output will be upgraded to return_t<T>=double, otherwise return_t<T>=T. For types not covered by std::is_integral, recasts should be used.