Форум Академгородка, Новосибирск > unsigned integer in fortran90
Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: unsigned integer in fortran90
Форум Академгородка, Новосибирск > Компьютеры и сети > Программирование
Frost_User
Доброго дня. При написании быстрого преобразования Фурье на фортране возникла необходимость (и желание) использовать двоичную инверсию чисел, для нахождения индексов последовательных элементов. Для того, чтобы реализовать это, нужен тип переменных unsigned integer. Если конкретнее, то нужны целые числа размером 1 и 4 байта, у которых самый левый бит был бы значащим, а не знаковым.
Порывшись в Бартеньеве, полазив по гуглу мне показалось, что такой тип не предусмотре для данного стандарта. И вот вопрос: можно ли его создать самому? Или он все-таки там есть? Это наверно просто делается, но я пока не понимаю как.
alex2000
В 95-м вроде как расширение есть, но и от компилятора зависит.
Цитата
The Fortran 95 compiler accepts a new data type, UNSIGNED, as an extension to the language. Four KIND parameter values are accepted with UNSIGNED: 1, 2, 4, and 8, corresponding to 1-, 2-, 4-, and 8-byte unsigned integers, respectively.

http://docs.oracle.com/cd/E19422-01/819-3686/4_f95.html
busa
Я не знаток фортрана (стараюсь близко не подходить), но вроде бы его нет. Хотя есть расширение unsigned (kind=1,2,4,8) для Sun Fortran, ни gfortran ни ifort его похоже не поддерживают. Можно почитать еще вот это: http://software.intel.com/en-us/forums/topic/297670. Там есть обсуждение (ближе к концу) расширений для ifort. Но это не переносимо, конечно.
Frost_User
Про 95й-то я знаю, просто не дадут мне на него перейти, когда вся лаба на 90м )
Сейчас идея появилась не мудрить, а просто использовать для unsigned integer*1 и *4 просто integer*2 и *4, посмотрим как выйдет.

MBo
Цитата
Для того, чтобы реализовать это, нужен тип переменных unsigned integer


Для проведения двоичной инверсии необходимости в беззнаковых числах нет
Frost_User
Что можете посоветовать?
Понятно, что должен быть способ без них обойтись, надо просто найти его. Чем и занимаюсь.
MBo
Начало four1:
http://www.fing.edu.uy/if/cursos/fiscomp/e...ec/book/f12.pdf
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Русская версия IP.Board © 2001-2024 IPS, Inc.