Найти - Пользователи
Полная версия: python ctypes dll фортран
Начало » Python для новичков » python ctypes dll фортран
1
lyuda@
Добрый день. Есть библиотека на фортране. Получили 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)
Кто знаком с этим, посоветуйте пожалуйста.
С уважением Л.В.
py.user.next
[code]
код пиши вот в таких тегах, чтобы он в белой рамке был
[/code]
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB