Уведомления

Группа в Telegram: @pythonsu

#1 Март 28, 2023 14:50:19

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

python ctypes dll фортран

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

Отредактировано lyuda@ (Март 29, 2023 11:52:27)

Офлайн

#2 Март 29, 2023 00:12:52

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9716
Репутация: +  842  -
Профиль   Отправить e-mail  

python ctypes dll фортран

[code]
код пиши вот в таких тегах, чтобы он в белой рамке был
[/code]



Отредактировано py.user.next (Март 29, 2023 00:13:01)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version