Форум сайта python.su
Добрый день. Есть библиотека на фортране. Получили dll всех функций.
Есть функция
REAL*8 FUNCTION DGAUSS (F,A,B,EPS)
IMPLICIT REAL*8 (A-H,O-Z)
DIMENSION W(12),X(12)
EXTERNAL F
Первым параметром идет вызов функции F
DOUBLE PRECISION FUNCTION F(X)
IMPLICIT REAL*8 (A-H,O-Z)
FCOS(X)**2
RETURN
END
Мне надо функцию DGAUSS использовать из Python.
Каким образом мне можно передать первый параметр, не могу найти ответ, и можно ли ?.
Нашла такой вариант, передача названия и длина 1 ,но он не работает.
from ctypes import * DLL = cdll.LoadLibrary('D103') print(DLL) DLL.dgauss_.argtypes = [POINTER(c_wchar_p),POINTER(c_int),POINTER(c_double), POINTER(c_double), POINTER(c_double)] DLL.dgauss_.restype = c_double DOBType = c_double input1 = DOBType(1.0) input2 = DOBType(2.0) input3= DOBType(0.0) order = c_wchar_p('f') num=c_int(1) rez= DLL.dgauss_(order,num,input1,input2, input3) print(' TEST PROGRAM D103 (DGAUSS)') print(rez)
Офлайн