summaryrefslogtreecommitdiff
path: root/src/c/specialFunctions/erfinv/serfinvs.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/c/specialFunctions/erfinv/serfinvs.c')
-rw-r--r--src/c/specialFunctions/erfinv/serfinvs.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/c/specialFunctions/erfinv/serfinvs.c b/src/c/specialFunctions/erfinv/serfinvs.c
index 5436fe39..55ba532f 100644
--- a/src/c/specialFunctions/erfinv/serfinvs.c
+++ b/src/c/specialFunctions/erfinv/serfinvs.c
@@ -29,7 +29,8 @@ float serfinvs (float inp1)
double na = 0.0/0.0;
return (float)na;
}
- if ((inp1 >= -0.7) && (inp1 <= 0.7))
+
+ else if ((inp1 >= -0.7) && (inp1 <= 0.7))
{
float sq = inp1 * inp1;
return (inp1 * (((a[3]*sq+a[2]) * sq+a[1]) * sq+a[0]) / ((((b[3]*sq+b[2]) * sq+b[1]) * sq+b[0]) * sq+1)); //Inverse error formula
@@ -46,5 +47,10 @@ float serfinvs (float inp1)
float z = sqrt(-log((1+inp1)/2));
return (-(((c[3]*z+c[2]) * z+c[1]) * z+c[0]) / ((d[1]*z+d[0]) * z+1)); //Inverse error formula
}
+
+ else
+ {
+ return 0.0/0.0;
+ }
}