| 420 | } |
| 421 | |
| 422 | double CastPyArg2Double(PyObject* obj, |
| 423 | const std::string& op_type, |
| 424 | ssize_t arg_pos) { |
| 425 | if (PyObject_CheckFloat(obj)) { |
| 426 | return PyObject_ToDouble(obj); // NOLINT |
| 427 | } else { |
| 428 | PADDLE_THROW(common::errors::InvalidType( |
| 429 | "%s(): argument (position %d) must be " |
| 430 | "double, but got %s", |
| 431 | op_type, |
| 432 | arg_pos + 1, |
| 433 | ((PyTypeObject*)obj->ob_type)->tp_name)); // NOLINT |
| 434 | } |
| 435 | |
| 436 | return 0.0; |
| 437 | } |
| 438 | double CastPyArg2Double(PyObject* obj, |
| 439 | const std::string& op_type, |
| 440 | ssize_t arg_pos, |
no test coverage detected