Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 3, 2023 13:40:42

lyuda@
Зарегистрирован: 2021-11-18
Сообщения: 20
Репутация: +  1  -
Профиль   Отправить e-mail  

работа с ctypes dll fortran

Добрый день. Есть библиотека на фортране. Получили 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)
Кто знаком с этим, посоветуйте пожалуйста.
С уважением Л.В.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version