• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*[clinic input]
2 preserve
3 [clinic start generated code]*/
4 
5 PyDoc_STRVAR(_statistics__normal_dist_inv_cdf__doc__,
6 "_normal_dist_inv_cdf($module, p, mu, sigma, /)\n"
7 "--\n"
8 "\n");
9 
10 #define _STATISTICS__NORMAL_DIST_INV_CDF_METHODDEF    \
11     {"_normal_dist_inv_cdf", (PyCFunction)(void(*)(void))_statistics__normal_dist_inv_cdf, METH_FASTCALL, _statistics__normal_dist_inv_cdf__doc__},
12 
13 static double
14 _statistics__normal_dist_inv_cdf_impl(PyObject *module, double p, double mu,
15                                       double sigma);
16 
17 static PyObject *
_statistics__normal_dist_inv_cdf(PyObject * module,PyObject * const * args,Py_ssize_t nargs)18 _statistics__normal_dist_inv_cdf(PyObject *module, PyObject *const *args, Py_ssize_t nargs)
19 {
20     PyObject *return_value = NULL;
21     double p;
22     double mu;
23     double sigma;
24     double _return_value;
25 
26     if (!_PyArg_CheckPositional("_normal_dist_inv_cdf", nargs, 3, 3)) {
27         goto exit;
28     }
29     if (PyFloat_CheckExact(args[0])) {
30         p = PyFloat_AS_DOUBLE(args[0]);
31     }
32     else
33     {
34         p = PyFloat_AsDouble(args[0]);
35         if (p == -1.0 && PyErr_Occurred()) {
36             goto exit;
37         }
38     }
39     if (PyFloat_CheckExact(args[1])) {
40         mu = PyFloat_AS_DOUBLE(args[1]);
41     }
42     else
43     {
44         mu = PyFloat_AsDouble(args[1]);
45         if (mu == -1.0 && PyErr_Occurred()) {
46             goto exit;
47         }
48     }
49     if (PyFloat_CheckExact(args[2])) {
50         sigma = PyFloat_AS_DOUBLE(args[2]);
51     }
52     else
53     {
54         sigma = PyFloat_AsDouble(args[2]);
55         if (sigma == -1.0 && PyErr_Occurred()) {
56             goto exit;
57         }
58     }
59     _return_value = _statistics__normal_dist_inv_cdf_impl(module, p, mu, sigma);
60     if ((_return_value == -1.0) && PyErr_Occurred()) {
61         goto exit;
62     }
63     return_value = PyFloat_FromDouble(_return_value);
64 
65 exit:
66     return return_value;
67 }
68 /*[clinic end generated code: output=c5826928a238326c input=a9049054013a1b77]*/
69