Извлечение чередующихся данных с плавающей запятой - PullRequest
1 голос
/ 20 января 2011

Для тех, кто использует библиотеку cufft от cuda (или кто-то, кто знает свое дело) - какой самый эффективный способ восстановить данные из чередующегося типа данных cufftComplex?

Данные добавляются в структуру следующим:

cufftComplex SomeData;
/*...a loop...*/ 
SomeData[i].x=1.0f;
SomeData[i].y=0.0f;

Так что теперь, если я приведу &(SomeData[0].x& в качестве указателя на число с плавающей точкой, у меня есть данные в форме "1 0 1 0 1", потому что данные x / y чередуются.Я хочу правильно набрать его, чтобы я получил "1 1 1 1" т. Д.Есть ли способ изменить этот тип без использования цикла и непосредственного назначения элементов?

Спасибо за любую информацию.Как я уже упоминал ранее, это часть CUDA SDK.

1 Ответ

2 голосов
/ 21 января 2011

Вы не можете сделать это просто путем приведения - лежащие в основе данные чередуются, и нет никакого способа обойти это.Если вам действительно нужен непрерывный поток данных, например, реальных данных, вам придется деинтерлейсинг данных, что вы можете сделать либо на месте, либо вне места.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...