MCPcopy Create free account
hub / github.com/SamuraiT/mecab-python3 / SWIG_AsVal_double

Function SWIG_AsVal_double

src/MeCab/MeCab_wrap.cpp:3705–3748  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3703
3704
3705SWIGINTERN int
3706SWIG_AsVal_double (PyObject *obj, double *val)
3707{
3708 int res = SWIG_TypeError;
3709 if (PyFloat_Check(obj)) {
3710 if (val) *val = PyFloat_AsDouble(obj);
3711 return SWIG_OK;
3712#if PY_VERSION_HEX < 0x03000000
3713 } else if (PyInt_Check(obj)) {
3714 if (val) *val = (double) PyInt_AsLong(obj);
3715 return SWIG_OK;
3716#endif
3717 } else if (PyLong_Check(obj)) {
3718 double v = PyLong_AsDouble(obj);
3719 if (!PyErr_Occurred()) {
3720 if (val) *val = v;
3721 return SWIG_OK;
3722 } else {
3723 PyErr_Clear();
3724 }
3725 }
3726#ifdef SWIG_PYTHON_CAST_MODE
3727 {
3728 int dispatch = 0;
3729 double d = PyFloat_AsDouble(obj);
3730 if (!PyErr_Occurred()) {
3731 if (val) *val = d;
3732 return SWIG_AddCast(SWIG_OK);
3733 } else {
3734 PyErr_Clear();
3735 }
3736 if (!dispatch) {
3737 long v = PyLong_AsLong(obj);
3738 if (!PyErr_Occurred()) {
3739 if (val) *val = v;
3740 return SWIG_AddCast(SWIG_AddCast(SWIG_OK));
3741 } else {
3742 PyErr_Clear();
3743 }
3744 }
3745 }
3746#endif
3747 return res;
3748}
3749
3750
3751SWIGINTERN int

Callers 5

SWIG_AsVal_floatFunction · 0.85
SWIG_AsVal_longFunction · 0.85
_wrap_Lattice_set_ZFunction · 0.85

Calls 1

SWIG_AddCastFunction · 0.85

Tested by

no test coverage detected