• 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