Стандарт Fortran определяет intrinsi c (как правило, не только для типа) как:
1.3.93
intrinsi c
тип, процедура, модуль, назначение, оператор или операция ввода / вывода, определенные в этой части ISO / IEC 153917 и доступные без дополнительного определения или спецификации, или процедуры или модуль, предоставляемый процессором, но не определенный в этой части ISO / IEC 1539.
Кроме того, он определяет тип intrinsi c следующим образом:
1.3.147.8
intrinsi c тип
тип, определенный этой частью ISO / IEC 1539, который всегда доступен.
Таким образом, основное различие между типом intrinsi c и производным типом состоит в том, что необходимо импортировать библиотеку, чтобы использовать последнюю. (Ранее я привел пример non-intrinsi c с использованием real (real64) из библиотеки ISO_FORTRAN_ENV
, но, как указывал в комментариях francescalus, это не так.)
Возможно, вы также захотите проверить сессию 4.4 Стандарта, в которой подробно рассматриваются встроенные типы c. Стандартная версия Fortran , имеющаяся у меня , является неофициальной и не самой последней, но самые последние соответствуют старой в рамках философии Fortran.
Я не нашел соответствия primitive
в стандарте Фортрана, поэтому я считаю, что эта номенклатура не используется в Фортране. Я также проверил стандарт C и не смог найти ничего официального, но каждое определение, которое я нахожу для термина в других языках - например, в Java - в основном определяет его как тип, который поставляется с языком, то есть intrinsi c. :)
Возможно, вы ищете различие в том, что, хотя real
является типом intrinsi c в Fortran, double precision
не является:
Спецификатор типа для реальный тип использует ключевое слово REAL. Ключевое слово DOUBLE PRECISION является альтернативным спецификатором для одного типа реального типа. Если ключевое слово типа REAL используется без параметра типа вида, то указывается реальный тип с реальным типом по умолчанию, а значением типа является KIND (0.0). Спецификатор типа DOUBLE PRECISION определяет тип real с типом двойной точности; значение типа KIND (0.0D0). Десятичная точность метода реальной аппроксимации с двойной точностью должна быть больше точности метода по умолчанию.
Однако в других языках такие типы, как short
и long
, могут пониматься как различные примитивы.