I run this program:
#include <gsl/gsl_math.h>
#include <stdio.h>
int main(){
double x= 0.5;
double res = gsl_cdf_ugaussian_Pinv(x);
printf("icdf(%f)=%f\n",x,res);
return 0;
}
For some reason the output is: icdf(0.500000)=1.000000
Which is wrong, it should be: icdf(0.500000)=0.000000
Did I do something wrong?