Результаты поиска по запросу "fortran"

3 ответа

Проверка равенства чисел с плавающей точкой

Я использую gfortran в MinGW под Windows 7 (32bit) для компиляции кода на Fortran. Вот минимальный код, содержащийся в файлеtestequal.f: program testequal real*8 a1, a2 a1 = 0.3d0 a2 = 0.7d0 write(*,*) 1.d0 write(*,*) a1+a2 write(*,*) ...

2 ответа

Поймать целочисленные исключения в Фортран

Есть ли способ отловить целочисленные исключения сgfortran или жеifort как есть для ловли исключений с плавающей точкой? Рассмотрим эту простую программу для расчета факториала: program factorial use, intrinsic :: iso_fortran_env implicit none ...

4 ответа

Использование структуры для строки и ее длины иногда имеет смысл.

я вопрос по поводу Fortran 77, и я не смог найти решение. Я пытаюсь сохранить массив строк, определенных как следующее: character matname(255)*255Это массив из 255 строк длиной 255. Позже я читаю список имен из файла и устанавливаю содержимое ...

ТОП публикаций

2 ответа

Я использую Iso_c_binding в Фортране для вызова этой функции C ++, которая отлично работает в случае C, но не в C ++

ли вызвать функцию C ++ из FORTRAN, такую ​​как #include <iostream.h> extern "C" { void single_cell(void) { cout<<"Hi from C++"; } }Поэтому, когда я использую C, он работает нормально, но с функцией C ++ он выдает ошибки, такие как Undefined ...

2 ответа

Вложенный производный тип с перегруженным назначением

У меня есть производный тип (wrapper) содержащий другой производный тип (over). Для последнего оператор присваивания был перегружен. Поскольку присваивание производных типов происходит по умолчанию по компонентам, я ожидаю, что назначение двух ...

3 ответа

DEXP или EXP для показательной функции в фортране?

У меня два очень коротких вопроса: 1 - я только что прочиталDEXP() этоархаичный формаEXP(), Значит ли это, что его больше нельзя использовать? Я всегда думал, чтоDEXP() была двойная точность, эквивалентнаяEXP(). 2 - Каков диапазон ...

1 ответ

Fortran: целое число слишком большое для своего вида

Я устанавливаю целое число на значение меньше его максимума, но получаю сообщение об ошибке, которое слишком велико для его вида. Почему это? Вот пример программы. program max_int integer, parameter :: i32 = selected_int_kind(32) integer(kind ...

4 ответа

Установить ранг массива во время выполнения

Я написал программу, которая читает файл, содержащий многомерные данные (чаще всего 3D, но также может появиться 2D). Чтобы повысить простоту, я хотел бы хранить данные в массиве того же ранга (или в чем-то, притворяющемся единым целым), то есть ...

3 ответа

Fortran увеличивает размер динамического массива в функции

Мне нужен массив переменного размера в Фортране. В C ++ я бы использовал вектор. Так что у меня есть такая функция integer function append(n, array, value) integer, pointer, dimension(:) :: array integer, pointer, dimension(:) :: tmp_arr integer ...

1 ответ

Что делает тег [REFERENCE] в объявлении аргумента?

Я пишу пользовательскую функцию обратного вызова в Фортране для части программного обеспечения ...