@@ -665,7 +665,8 @@ void OpenClContext::updateVariatesPool() {
665665
666666 // clang-format off
667667 // ported from from QuantLib::InverseCumulativeNormal
668- std::string sourceInvCumN = fpTypeStr + " ore_invCumN(const uint x0) {\n "
668+ std::string sourceInvCumN = fpTypeStr + " ore_invCumN(const uint x0);\n " +
669+ fpTypeStr + " ore_invCumN(const uint x0) {\n "
669670 " const " + fpTypeStr + " a1_ = -3.969683028665376e+01" + fpSuffix + " ;\n "
670671 " const " + fpTypeStr + " a2_ = 2.209460984245205e+02" + fpSuffix + " ;\n "
671672 " const " + fpTypeStr + " a3_ = -2.759285104469687e+02" + fpSuffix + " ;\n "
@@ -1136,6 +1137,7 @@ void OpenClContext::finalizeCalculation(std::vector<double*>& output) {
11361137
11371138 // clang-format off
11381139 const std::string includeSource =
1140+ " bool ore_closeEnough(const " + fpTypeStr + " x, const " + fpTypeStr + " y);\n "
11391141 " bool ore_closeEnough(const " + fpTypeStr + " x, const " + fpTypeStr + " y) {\n "
11401142 " const " + fpTypeStr + " tol = 42.0" + fpSuffix + " * " + fpEpsStr + " ;\n "
11411143 " " + fpTypeStr + " diff = fabs(x - y);\n "
@@ -1144,10 +1146,13 @@ void OpenClContext::finalizeCalculation(std::vector<double*>& output) {
11441146 " return diff <= tol * fabs(x) || diff <= tol * fabs(y);\n "
11451147 " }\n "
11461148 " \n " +
1149+ fpTypeStr + " ore_indicatorEq(const " + fpTypeStr + " x, const " + fpTypeStr + " y);\n " +
11471150 fpTypeStr + " ore_indicatorEq(const " + fpTypeStr + " x, const " + fpTypeStr + " y) "
11481151 " { return ore_closeEnough(x, y) ? 1.0" + fpSuffix + " : 0.0" + fpSuffix +" ; }\n\n " +
1152+ fpTypeStr + " ore_indicatorGt(const " + fpTypeStr + " x, const " + fpTypeStr + " y);\n " +
11491153 fpTypeStr + " ore_indicatorGt(const " + fpTypeStr + " x, const " + fpTypeStr + " y) " +
11501154 " { return x > y && !ore_closeEnough(x, y); }\n\n " +
1155+ fpTypeStr + " ore_indicatorGeq(const " + fpTypeStr + " x, const " + fpTypeStr + " y);\n " ;
11511156 fpTypeStr + " ore_indicatorGeq(const " + fpTypeStr + " x, const " + fpTypeStr + " y) { return x > y || ore_closeEnough(x, y); }\n\n " ;
11521157 // clang-format on
11531158
0 commit comments