Как определить инициализированный C-массив в Pyrex?

StackOverflow https://stackoverflow.com/questions/2446873

Вопрос

Я хочу определить инициализированный C-массив в Pyrex, напримерэквивалент:

unsigned char a[8] = {0,1,2,3,4,5,6,7};

Что будет эквивалентно в Pyrex?

Просто массив - это

cdef unsigned char a[8]

Но как я могу инициализировать его с помощью моих значений?

Это было полезно?

Решение

В Китон, Преемник Pyrex, эта функция была добавлена более года назад, чтобы исправить это запрос функции, так , например , в Cython сейчас работает следующее:

cdef double a[] = [0.5, 0.3, 0.1, 0.1]

Однако разработка Pyrex продвигается гораздо медленнее (именно поэтому Cython был разветвлен много лет назад разработчиками, стремящимися к более быстрым действиям), поэтому я сомневаюсь, что он перенял эту функцию (хотя вы можете попробовать, особенно.если вы используете самый последний выпуск из Pyrex, 0.9.8.6).

Если Pyrex не предоставляет вам тех функций, которые вы хотите, могу я предложить вместо этого перейти на Cython?Большая часть кода Pyrex должна просто плавно перекомпилироваться в Cython, и таким образом вы получаете дополнительные функции.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top