diff options
Diffstat (limited to 'numpy/f2py/lib/src')
-rw-r--r-- | numpy/f2py/lib/src/F_FUNC.cpp | 34 | ||||
-rw-r--r-- | numpy/f2py/lib/src/pyobj_to_string_len.c | 11 |
2 files changed, 45 insertions, 0 deletions
diff --git a/numpy/f2py/lib/src/F_FUNC.cpp b/numpy/f2py/lib/src/F_FUNC.cpp new file mode 100644 index 000000000..edaa98064 --- /dev/null +++ b/numpy/f2py/lib/src/F_FUNC.cpp @@ -0,0 +1,34 @@ +#if defined(PREPEND_FORTRAN) +#if defined(NO_APPEND_FORTRAN) +#if defined(UPPERCASE_FORTRAN) +#define F_FUNC(f,F) _##F +#else +#define F_FUNC(f,F) _##f +#endif +#else +#if defined(UPPERCASE_FORTRAN) +#define F_FUNC(f,F) _##F##_ +#else +#define F_FUNC(f,F) _##f##_ +#endif +#endif +#else +#if defined(NO_APPEND_FORTRAN) +#if defined(UPPERCASE_FORTRAN) +#define F_FUNC(f,F) F +#else +#define F_FUNC(f,F) f +#endif +#else +#if defined(UPPERCASE_FORTRAN) +#define F_FUNC(f,F) F##_ +#else +#define F_FUNC(f,F) f##_ +#endif +#endif +#endif +#if defined(UNDERSCORE_G77) +#define F_FUNC_US(f,F) F_FUNC(f##_,F##_) +#else +#define F_FUNC_US(f,F) F_FUNC(f,F) +#endif diff --git a/numpy/f2py/lib/src/pyobj_to_string_len.c b/numpy/f2py/lib/src/pyobj_to_string_len.c new file mode 100644 index 000000000..306c961a3 --- /dev/null +++ b/numpy/f2py/lib/src/pyobj_to_string_len.c @@ -0,0 +1,11 @@ +int pyobj_to_string_len(PyObject* obj, f2py_string* value, size_t length) { + if (PyString_Check(obj)) { + if (strncpy((char*)value,PyString_AS_STRING(obj), length)) + return 1; + } + if (!PyErr_Occurred()) { + PyErr_SetString(PyExc_TypeError, + "Failed to convert python object to C f2py_string."); + } + return 0; +} |