Нужна ли мне карта типов SWIG, чтобы функция c возвращала float в python? - PullRequest
2 голосов
/ 03 апреля 2019

Я пытаюсь вызвать функцию C из Python.Эта функция принимает в качестве входных данных несколько массивов и возвращает число с плавающей запятой.

Нужна ли мне для этого карта типов SWIG?Одна проблема заключается в том, что python не делает различий между floats, double и т. Д., И я особенно заинтересован в возвращении только c-типа float.

1 Ответ

2 голосов
/ 03 апреля 2019

Возвращается float "просто работает". Вам не нужны дополнительные наборы:

test.i

%module test

%inline %{
    float func(void) { return 1.5; }
%}

После запуска swig и компиляции результата:

>>> import test
>>> test.func()
1.5
...