Описание тега fortran2003

Fortran 2003 - это крупная версия Fortran 95, в которой добавлено много новых функций. Он был выпущен в 2004 году как стандарт ISO. Его преемником является Fortran 2008. Этот тег следует использовать только для тех вопросов, которые зависят от поведения, специфичного для стандарта Fortran 2003. Для таких вопросов следует дополнительно применять более общий тег Fortran.
2 ответа

Прямое индексирование возвращаемого значения функции в фортране

Есть ли возможность использовать индексирование непосредственно по возвращаемому значению функции? Что-то вроде этого: readStr()(2:5) где readStr() это функция, которая возвращает символьную строку Во многих других языках это вполне возможно, но как…
27 фев '15 в 10:28
1 ответ

Общие процедуры с привязкой к типу с аргументами процедуры

Я пытаюсь написать общую процедуру с привязкой к типу, которая принимает различные функции обратного вызова в качестве параметров. При компиляции следующего кода (с помощью ifort 12.1.3) я получаю предупреждение ниже: module test type :: a_type cont…
08 июл '12 в 13:45
1 ответ

Автоматическое перераспределение LHS с перегрузкой

У меня есть код, который не работает со всеми имеющимися у меня компиляторами при выполнении присваивания нераспределенному, выделяемому на LHS с конструктором структуры на RHS. Сама структура (производный тип) имеет перегруженное назначение. Я дума…
08 сен '15 в 08:02
2 ответа

Как получить доступ к динамически размещаемым массивам Fortran в C

Мой главный вопрос: почему массивы делают такие странные вещи, и есть ли какой-нибудь способ сделать следующее "чистым" способом? У меня в настоящее время есть программа C foo.c взаимодействие с программой на Фортране bar.f90 с помощью dlopen/dlsym …
1 ответ

Есть ли дополнительные служебные вызовы подпрограмм с полиморфными производными типами, когда тип известен во время компиляции?

У меня есть два производных типа (child1 и child2), которые оба выходят из одного абстрактного типа (type, abstract :: parent). Абстрактный тип имеет отложенную связанную процедуру. Я хочу вызвать подпрограмму, которая выполняет некоторые вещи (крит…
02 окт '15 в 17:11
1 ответ

Перегрузка операторов доступа "[ ], (), { }" в Fortran 90 или 2003

Могу ли я перегрузить операторы доступа к записи [], () или {} для производных типов данных в FORTRAN 2003? В следующем примере я хочу определить схему доступа для производного типа данных "custom". type custom integer, dimension(:), allocatable :: …
30 авг '14 в 23:12
2 ответа

Распределение полиморфизма в конструкции SELECT TYPE

Я пытаюсь определить подпрограмму, которая выделяет различные типы массивов. Вот упрощенная версия кода: subroutine Allocation1(Vec) class(*), allocatable, intent(out) :: Vec(:) select type(Vec) type is(real(8)) allocate(Vec(10)); Vec = 0.D0 type is…
1 ответ

Проблемы с параметризованными производными типами в Fortran 2003

Я учу себя Fortran 2003 использовать для исследовательского проекта, над которым я сейчас работаю. Я привык к Fortran 90, но этот проект требует использования параметризованных типов, и поэтому я перехожу к 2003 году. Я следовал описанию этого сайта…
23 июн '14 в 17:44
0 ответов

R Тип данных списка в Фортране

Мне нужна помощь, представляющая тип данных R на Фортране. Мой код R: mList <- list() Я хочу использовать mList в функции Fortran, передавая ее в качестве аргумента функции Fortran. Что такое соответствующий R list() тип данных в фортране? Мой фо…
29 окт '13 в 09:36
1 ответ

Ошибка сегментации с отложенными функциями и ключевым словом non_overridable

Я занимаюсь разработкой объектно-ориентированного кода Фортрана для численной оптимизации с полиморфизмом, поддерживаемым абстрактными типами. Поскольку это хорошая практика TDD, я пытаюсь написать все тесты оптимизации в абстрактном типе class(gene…
09 ноя '16 в 15:22
1 ответ

Расширенные типы Fortran по различным модулям

С расширенными типами в Фортране должен быть закрытый компонент, видимый расширению типа в другом модуле. И с gcc4.7, и с ifort следующий код приводит к ошибке, поскольку bName имеет как начальный тип, так и расширение. Но так как он приватный, он н…
29 июн '12 в 23:17
2 ответа

Есть ли альтернатива GETCWD() в Фортране 2003-2008

Расширение GNU для компилятора GNU Fortran предоставляет подпрограмму GETCWD() это хорошо, получает текущий рабочий каталог. Тем не менее, мой код должен быть переносимым на ifort а также nagfor компилятор, и я использую функции F2003. Итак, есть ли…
16 май '15 в 18:24
1 ответ

В Fortran2003 1D-Предполагаемый массив формы взаимодействует с C?

В Fortran 2003, выделяемый массив не взаимодействует с C. Я предполагаю, что это как-то связано с дополнительной информацией о массиве, хранящейся в памяти, что может нарушить интерпретацию языка C. Но что, если я объявляю фиктивный аргумент как мас…
1 ответ

Возможная ошибка на ifort

Поскольку я достаточно ленив для того, чтобы не открывать учетную запись в Intel, но не для комментирования stackexchange, я решил разместить это здесь. В любом случае, изучая фортран, я обнаружил, что пишу этот фрагмент кода F03: module log_module …
2 ответа

Автоматическая генерация привязок Fortran 2003 из заголовков библиотеки C (с помощью встроенного модуля iso_c_bindings)

Есть ли инструмент для автоматической генерации привязок Фортана из заголовка библиотеки C, используя встроенный iso_c_bindings модуль из стандарта Fortran 2003? Я не заинтересован в переводе C на Фортран, а только в генерации привязок.
2 ответа

Фортран, производное назначение типа

Скажем, у меня есть производный тип Фортрана type :: atype integer :: n integer :: a(10) integer, allocatable :: b(:) end type и у меня есть два экземпляра этого типа type(atype) :: t1, t2 что именно происходит, когда я делаю следующее задание? t2 =…
01 окт '13 в 08:32
1 ответ

Фортран: пытается создать минимальную структуру данных стека

Вопрос о стеках на SO, наконец-то! Вся моя жизнь привела меня к этому моменту. Поэтому мне нужно было включить в стек довольно большую пользовательскую структуру данных. Я решил написать минимальную структуру стека, состоящую только из одного целочи…
28 ноя '13 в 19:01
2 ответа

Объявление класса Фортран фиктивного аргумента

Я хотел бы иметь производный тип, a, который пуст. Из этого производного типа я хотел бы определить другие типы, которые расширяют. Предположим, что все эти расширения типа содержат некоторые generic название процедуры, valueт.е. value => valuea1…
11 мар '14 в 19:25
1 ответ

Предложение для клиента rabbitmq в Фортране

Я заметил, что нет никакого API для Fortran для доступа к rabbitmq. Я рассматриваю возможность использования C#/.NET в качестве невесты для rabbitmq; Какой самый разумный способ соединить Фортран с C# API? Другие предложения? Клиент rabbitmq будет з…
1 ответ

Имейте функцию в fortran, возвращающую ссылку, которая может быть помещена на левой стороне назначения

Как указано в заголовке, я хочу напрямую изменить данные, к которым у меня есть доступ через указатель, полученный из функции. Наличие ссылки, возвращаемой функцией, появляющейся в lhs присваивания (=), не является проблемой в C++, но следующий мини…
22 июл '15 в 17:40