Популярные вопросы по тегу FORTRAN

Как сделать блокировку комментария в Фортране?

... Я знаю, что могу комментировать строки 2 с помощью ! или c, но есть ли возможность 1 комм ...

Ошибка Fortran: несоответствие типов между двумя несвязанными вызовами подпрограмм

... what use mpi integer(4), parameter :: ksp = 4 integer(4), parameter :: kdp = 8 integer(ksp) :: nreadslb integer(ksp), ALLOCATABLE :: all_nreadslb(:) real(kdp) :: compute_time real(kdp), ALLOCATABLE :: all_compute_times(:) integer(ksp) :: myrank integer :: ierr call mpi_init(ierr) alloca ...

Открытие двоичных файлов в Fortran: статус, форма, доступ

... то 5 вроде этого: open(id,file=file_name,status='old', + form='unformatted',access='direct',recl=4,iostat=ok) if (ok .ne. 0) then write(1,20) id,ok,file_name else write(1,21) id,file_name Но как это изменится для плоского 4 двоичного файла, не содержащего информации 3 заголовка Fortran? Что еще более важно, где 2 хорошая ссылка для более подробного описания 1 этих термин ...

Параметр вида Fortran 90

... nd в Fortran 4 90. Насколько я могу судить, он не определяет 3 точность (например, float или doubl ...

Заявление Fortran SAVE

... и кто-нибудь объяснить 2 мне простым языком, что это значит, когда 1 опер ...

Как на лету увеличить размер массива в Фортране?

... 3, 3-й элемент labelArray установлен 7 на 2). У меня для этого есть веская причина, честно! Все, что 6 я хочу, - это иметь возможность назначать 5 n-й элемент labelArray на лету. Я просмотрел размещаемые 4 массивы и объявлял их как labelArray(*), но я этого не 3 понимаю, несмотря на поиск в Интернете и 2 StackOverflow. ...

Легче ли оптимизировать Fortran, чем C, для тяжелых вычислений?

... времени я читал, что Fortran быстрее 10 или может быть быстрее C для тяжелых вычислений. Это 9 действительно так? Должен признаться, что 8 я почти не знаком с Фортраном, но код Фортрана, который 7 я видел до сих пор, не показывал, что у 6 этого языка есть функции, которых нет у 5 С. Если э ...

Fortran использует gdb для печати имени функции по адресу

... pure real function triple(x) real, intent(in) :: x triple = 3. * x end function end program и 9 скомпилируйте его с помощью gfortran -Wall -Wextra -Werror -g -fbounds-check. Если я установлю 8 точку останова на eval_mod::eval, я хотел бы увидеть, с 7 каким аргументом функции был вызван eval. На 6 самом деле я в ...

Как убрать начальный пробел при печати с записью?

... сть следующий код program fortran open(900, FILE='SOMETHING') write(900, *) '21' end program fortran Форм ...

Вычисление перекрестного произведения двух векторов в Fortran 90

... ение (1, 2, 3) и 25 (4, 5, 6) оказывается (-3 , 6, -3) в декартовых 24 координатах. Я написал следующий код (основная 23 программа, за которой следует определение 22 функции): PROGRAM crosstest IMPLICIT NONE INTEGER, DIMENSION(3) :: m, n INTEGER, DIMENSION(3) :: cross INTEGER, DIMENSION(3) :: r m=(/1, 2, 3/) n=(/4, 5, 6/) r=cross(m,n) END PROGRAM crosstest FUNCTION ...

Массив Fortran не может быть возвращен функцией: это не DUMMY переменная

... program to practice f90 writing. ! Define double precision data integer, parameter :: dp = kind(1.d0) real(dp) :: a(3), b(3) integer :: i a = (/(i, i=1, 3)/) b = (/(i, i=1, 3)/) write (*, *) m31tensorprod(a, b) contains function m31tensorprod(a, b) real(dp), dimension(3), intent(in) :: a, b real(dp), intent(out) :: m31tensorprod(3, 3) in ...

Спецификатор формата fortran для комплексного числа

... огу ли я указать спецификатор формата для 9 комплексного числа в fortran? У меня простая 8 программа. program complx1 implicit none complex :: var1 var1 = (10,20) write (*,*) var1 write (*,'(F0.0)') var1 write (*,'(F0.0,A,F0.0)') real(var1), ' + i ' , aimag(var1) end program complx1 Вывод: ( 10.0000000 , ...

Преобразование целых чисел в строки для создания имен выходных файлов во время выполнения

... оторая 6 сохраняет результаты в файл. На данный момент 5 я открываю файл с помощью OPEN (1, FILE = 'Output.TXT') Однако теперь я 4 хочу запустить цикл и сохранить результаты 3 к ...

Вызов функции / подпрограммы C в коде Fortran

... t* b ) { int c = (*a) + (*b); /* convert pointers to values, then add them */ printf("sum of %i and %i is %i\n", (*a), (*b), c ); } Я использовал 3 следующие команды для компиляции и компоновки 2 в среде Windows. ifort -c adder.f cl -c addnums.c ifort -o add adder.obj addnums.obj Я получаю следующую ошибку: Microsoft (R) Incremental Linker Version 8.00.50727.762 Copyright (C) Microsoft Corporation. All rights reserved. -o ...

Что означает «реальный * 8»?

... рамме, написанной на 13 Fortran 90, говорится: «Все реальные переменные 12 и параметры указаны с 64-битной точностью 11 (т. е. real*8)». Согласно Wikipedia, одинарная точность 10 соответствует 32-битной точности, тогда 9 как двойная точность соответствует 64-битн ...

Как сгенерировать целое случайное число в fortran 90 в диапазоне [0,5]?

... аммировании фортранов. Может 4 ли кто-нибудь помочь мне с решением. У м ...

Установка пакета OS X зависит от gfortran-4.8

... r development (unstable) (2014-05-27 r65787) Platform: x86_64-apple-darwin13.1.0 (64-bit) с GNU 7 Fortran (GCC) 4.2.3 (из Simon's site) и версией 5.1.1 6 инструментов ко ...

Как инициализировать двумерные массивы на Фортране

... Как вы можете сделать то же самое 6 в Fortran для двумерных массивов, если вы 5 хотите инициализировать матрицу с определенными 4 тестовыми значениями для математических 3 целей? (Без необходимости дважды индексировать 2 каждый элемент в отдельных инструкциях) Массив 1 определяется real, dimensi ...

Строка усечена, синтаксическая ошибка в списке аргументов

... е об 5 ошибке и предупреждение как Предупреждение: строка 4 обрезана Ошибка: синтаксическая ошибка в 3 списке аргументов Я компилирую программу 2 несколько раз, но она не работает. Возможно, что-то 1 не так с моей командой вызова. program 3D implicit none i ...

Как BLAS обеспечивает такую ​​исключительную производительность?

... im1, int ADim2, const ValT* B, int BDim1, int BDim2, ValT* C) { if ( ADim2!=BDim1 ) throw std::runtime_error("Error sizes off"); memset((void*)C,0,sizeof(ValT)*ADim1*BDim2); int cc2,cc1,cr1; for ( cc2=0 ; cc2<BDim2 ; ++cc2 ) for ( cc1=0 ; cc1<ADim2 ; ++cc1 ) for ( cr1=0 ; cr1<ADim1 ; ++cr1 ) C[cc2*ADim2+cr1] += A[cc1*ADim1+cr1]*B[cc2*BDim1+cc1]; } У меня ...

Как писать в Фортране без новой строки?

... write(2,20) R !I want all these numbers to be next to the seed, not on new lines end do end do Но все R пишутся с 4 новой строки. Есть ли способ разделить каждое 3 число пробелом вместо новой строки, или 2 мне следует реализовать тот же код, используя 1 C++ и конв ...

Форматированный вывод с ведущими нулями в Фортране

... е: REAL VALUE INTEGER IVALUE IF (VALUE.LT.0) THEN IVALUE = CEILING(VALUE) ELSE IVALUE = FLOOR(VALUE) ENDIF WRITE(*,1) IVALUE, ABS(VALUE)-ABS(IVALUE) 1 FORMAT(I3.3,F5.4) Насколько 28 я понимаю, блок IF и части ABS должны позволить 27 этому работать для всех значе ...

Устаревшие циклы DO в Fortran 2018+

... DO и CONTINUE 17 изменились, поэтому не может быть прерывания 16 общего цикла. Есть удобная ссылка here. Дело 15 в том, что я не знаю, что на самом деле 14 объясняет мне делать на этой странице. Если 13 я настрою действительно простой цикл DO 12 в новом скрипте, он будет компилироваться 11 без ошибок. Я не знаю, как это перепроектировать, чтобы 10 понять, в чем проблема. Вот одна часть к ...

По-прежнему не удается установить scipy из-за отсутствия компилятора fortran после brew install gcc на Mac OS X

... шибки отсутствия компилятора Fortran после 7 brew install gcc. Хотя HomeBrew установил 6 gcc-4.8, он не установил никаких команд 5 gfortran или g95. Я полагаю, что gfortran 4 может быть просто synonymy gcc, тогда я создаю символическую 3 ссылку $ cd /usr/local/bin $ ln -s gcc-4.8 gfortran $ pip install scipy Затем он обнаруживает команду gfortran, но 2 по-прежнему не жалуется на компилятор Fortran customize Gnu95FCompiler Found executab ...

Внутренние процедуры синхронизации Fortran, что лучше? cpu_time или system_clock

... = REAL(cr) WRITE(*,*) "system_clock rate ",rate diff = 0.0 a_diff = 0.0 s = 0 DO n = 1 , runs CALL CPU_TIME(t1) CALL SYSTEM_CLOCK(c1) FORALL(i = 1:x,j = 1:y) array(i,j) = REAL(i)*REAL(j) + 2 END FORALL CALL CPU_TIME(t2) CALL SYSTEM_CLOCK(c2) array(1,1) = array(1,2) IF ( (c2 - c1)/rate < (t2-t1) ) s = s + 1 diff = (c2 - c1)/rate - (t2-t1) + diff a_diff = ABS(( ...

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

... Когда я попытался использовать 2 следующий тестовый код, я не получил вывода: PROGRAM test_ampersand IMPLICIT NONE PRINT *, 'I am a new learner of ...

IEEE_UNDERFLOW_FLAG IEEE_DENORMAL в Fortran 77

... минология неверна. Я 24 использую Linux-машину с компилятором gfortran. Этим 23 летом я провожу исследование, в ходе которого 22 я снова должен работать над программой, написанной 21 примерно в 1980 году. Он написан на Fortran 20 77. У меня есть весь код, а также некоторая 19 документация по нему. В текущей форме я получаю 18 ошибку «IEEE_UNDERFLOW_FLAG IEEE_DENORMAL». Моя 17 первая ...

Не получается установить gfortran через homebrew

... могу 10 скомпилировать код fortran с помощью gcc? Я 9 не уверен, может быть, я что-то неправильно 8 понял. Я помню, что в последний раз я все 7 еще могу использовать gfortran для компиляции 6 кода, но теперь он не работает. Дополнительная 5 информация: когда я использую команду brew list, я 4 все еще вижу, что gfortran есть, но не могу 3 ...

Какие флаги вы устанавливаете для своего отладчика / компилятора GFORTRAN для обнаружения ошибочного кода?

... Фортрана в целях отладки? Какие флаги 5 вы устанавливаете для производственной системы? Что 4 вы делаете перед развертыванием? В производственной 3 версии в качестве компилятора используется 2 ifort, но я провожу тестирование с помощью gfortran. Я 1 ...

Правильное использование модулей, подпрограмм и функций в Фортране

... просто, и мне нужно 10 передать аргументы подпрограмме, но все 9 подпрограммы, которые я видел, являются 8 а) сложными (т.е. слишком сложными для функции) и 7 б) не принимают аргументов. Они ведут себя 6 так, как будто манипулируют переменными, не 5 передавая их им. Я не очень хорошо разбирался 4 в модулях, но, судя по тому, что я видел, это 3 не то, что нужно использовать. Что мне следует 2 использовать, ...

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

... rtran в MinGW под Windows 4 7 (32 бит) для компиляции кода Fortran. Вот 3 минимальный код, содержащийся в файле testequal.f: program testequal real*8 a1, a2 ...

Доступ к символу по определенному индексу в строке в Фортране

... строке в fortran? Если бы я хотел сохранить 2 первую букву строки «taco» в симво ...

Как gfortran может определить, компилирую ли я код f90 или f95?

... tran может компилировать 4 f90 или f95? Как он узнает, какой именно 3 компилируется? Также он может скомпилировать 2 код ...

Выделяемые символьные переменные в Фортране

... орых в строке говорит CHARACTER(len=:), allocatable :: input_trim Я не уверен, какой 15 компилятор «правильный» в отношении стандарта 14 Fortran. К тому же я не знаю, как другим 13 способом добиться того, что мне нужно ?! В 12 любом случае, я думаю, что то, что я делаю, - это 11 скорее обходной путь. Мне нужна символьная 10 переменная, содержащая точно имя файла, ко ...

gfortran для чайников: что именно делает mcmodel = medium?

... parameter :: nx = 450 integer, parameter :: ny = 144 integer, parameter :: nz = 144 integer, parameter :: nf = 23*3 real :: bar(nf,nx*ny*nz) !real, allocatable,dimension(:,:) :: bar !allocate(bar(nf,nx*ny*nz)) bar = 1.0 b = bar(12,32*138*42) return end Компилируя это с помощью gfortran -O3 -g -o test test.f, я получаю 8 следую ...

Как я могу легко преобразовать код FORTRAN в код Python (настоящий код, а не оболочки)

... в код Python. Мне нужен настоящий исходный 5 код, который я могу импортировать на любую 4 виртуальную машину Python - Windows, MacOS-X, Linux, Android. Я 3 нач ...

В чем разница между функциями и подпрограммами в Фортране?

... лось впечатление, что основные 11 различия между подпрограммами и функциями 10 в Фортране заключаются в том, что функции 9 возвращают значения, а подпрограммы изменяют 8 некоторые или все значения, переданные в 7 качестве аргументов. Но потом я узнал, что 6 вы также можете изменять переменные, передаваемы ...

Написание надежного и «современного» кода на Фортране

... адки" (#ifdef DEBUG) с большим количеством проверок и всеми возможными возможными проверками компилятора Intel (границы массива, интерфейсы подпрограмм и т. д.) единообразный и четкий стиль кодирования с использованием помощников инструментов обработки кода. Цель состоит в том, чтобы 9 иметь надежный, удобный в обслуживан ...

Fortran - явный интерфейс

... ==================================================! !==========================================================================================! Я получаю сообщения об ошибках 24 типа budget_utils.f90: 20.54: реальный, внешний 23 :: compute_co2_storage 1 22 Ошибка: фиктивный аргумент csite процедуры 21 compute_co2_storag ...

Связывание двоичных файлов Fortran и C++ с помощью gcc

... у 10 C++ и Fortran, я получаю ошибки при компиляции 9 с помощью g ++ или gfortran, потому что 8 ни один из них не знает о необходимых библиотеках 7 другого. Как связать проект, в котором используется 6 исходный код, написанный как на C++, так 5 и на Фортране? $ cat print_hi.f90 subroutine print_hi() bind(C) implicit none write(*,*) "Hello from Fortran." end subroutine print_hi $ cat main.cpp #include <iostream> extern "C ...

Преобразование строки в целое число в Fortran 90

... ) возвращает код для символа 7 ASCII в первой позиции символа строки s, но 6 мне нужно преобразовать всю строку в целое 5 число. У меня также есть несколько строк 4 (около 30 строк, каждая из кот ...

Намерение Фортрана (inout) против пропуска намерения

... ы иметь определенное 9 намерение (т. е. intent(in), intent(out) или intent(inout), как описано this question): subroutine bar (a, b) real, intent(in) :: a real, intent(inout) :: b b = b + a ... Однако 8 отсутствие указания намерения является допустимым 7 для Фортрана: subroutine bar (a, b) real, intent(in) :: a real :: b b = b + a ... Существуют ли какие-либо реальные 6 различия, помимо проверки време ...

Вызов 32-битного кода из 64-битного процесса

... есть приложение, которое мы пытаемся 23 перевести с 32-битного на 64-битное. Это 22 .NET, скомпилированный с использованием 21 флагов x64. Однако у нас есть большое количество 20 DLL, написанных на FORTRAN 90, скомпилированных 19 для 32-битной версии. Функции DLL FORTRAN 18 довольно просты: вы вводите данные, вы извлекаете 17 данные; никакого состояния. Мы также не 16 тратим на это ...

Стандартные блоки ввода и вывода в Fortran 90?

... я знаю, как писать в stdout использовать 7 write(*, fmt=...). Как читать и писать в стандартные блоки 6 ввода и вывода с помощью компилятора ifort? Версия 5 компилятора: Компилятор Intel (R) Fortran 4 Compiler для приложений, работающих на Intel 3 (R) 64, версия 10.0, сборка 20070426, код 2 пакета: l_fc_p_10.0.023 Copyright ...

Цикл Fortran DO, предупреждение об использовании только целых чисел

... y for values of x from 1 to 2 and !y from 1 to 4 in steps of .5 real :: x, y, z print *, ' x y z' do x = 1,2 do y = 1,4,0.5 z = x/y print *, x,y,z end do end do end program xytab После компиляции 1 отображается следующая ошибка: xytab.f95:8.4: do y = 1,4,0.5 ...

Фортран читает файл в массив - транспонированные размеры

... 0 описание ситуации: In my data file: Desired output: Actual output: A1 B1 A1 B1 A1 A2 A2 B2 A2 B2 B1 B2 A3 B3 A3 B3 A3 A4 A4 B4 A4 B4 B3 B4 Я пробовал переключать 9 индексы при выделении cs, но с те ...

Фортран: Что такое .d0?

... гда мне нужно присвоить 5 значение такому float где-нибудь в программе, я 4 делаю это var1 = 1_DP Теперь у меня проблема в том, что 3 он не работает, если я читаю значение из 2 списка имен. Компилятор настаивает на &namelistName var1 = 1.d0 !var1 = 1_DP ! this does not work &end Дале ...

Заявление об объявлении неожиданных данных

... REAL, DIMENSION (N,N) :: A,L,U A = reshape((/3.,1.,4.,4.,2.,0.,3.,2.,3./),(/3,3/)) !exemplo do Bortoli******* REAL, DIMENSION(3) :: B=(/9.,3.,-2./),Z,X OPEN(1,file = 'LUFACTOR.out') ! ! FORALL (I = 1:N, J = 1:N) A(I,J) = 1.0/REAL(I+J-1) !-------Fazendo a fatoração A = LU----------------------------- CALL LU(N, A, L, U) DO I=1,N WRITE(*,10)(L(I,J), J=1,N), (U(I, ...

Как правильно записать массив в текстовый файл в Fortran 90 по строкам?

... предпоследнюю и предпоследнюю 15 строки кода выше) в более сложной программе 14 , У меня неприятности; Кажется, каждая строка 13 разделяется (новой строкой) только периодически. (Я 12 не публиковал и, вероятно, не буду публиковать 11 здесь всю мою сложную программу / сценарий 10 - потому что он довольно длинный.) Отсутств ...

Ошибка `Relocated truncated to fit` в Фортране с большими массивами

... каких-либо ошибок и получить 14 желаемые значения. Но если я изменю значение 13 AAA на AAA=105, я получу несколько сообщений об ошибках, как 12 показано ниже: gfortran lipid-Tilt-Magnitude-thermo-cello.f90 /tmp/ccXOhMqQ.o: In function `__all_parameter_MOD_find_angle_ch': lipid-Tilt-Magni ...