Чтобы добавлять сообщения и комментарии, .

@PineappleZombie:
PineappleZombie

LAPACK, что ты делаешь? Прекрати!

The following LAPACK subroutine base names are supported for single precision (s) and double precision (d+), in both the high-level and middle-level interfaces:

bdsdc bdsqr disna gbbrd gbcon gbequ gbequb gbrfs gbrfsx gbsv gbsvx gbsvxx gbtrf gbtrs gebak gebal gebrd gecon geequ geequb gees geesx geev geevx gehrd gejsv gelqf gels gelsd gelss gelsy geqlf geqp3 geqpf geqrf geqrfp gerfs gerfsx gerqf gesdd gesv gesvd gesvj gesvx gesvxx getrf getri getrs ggbak ggbal gges ggesx ggev ggevx ggglm gghrd gglse ggqrf ggrqf ggsvd ggsvp gtcon gtrfs gtsv gtsvx gttrf gttrs hgeqz hsein hseqr opgtr opmtr orgbr orghr orglq orgql orgqr orgrq orgtr ormbr ormhr ormlq ormql ormqr ormrq ormrz ormtr pbcon pbequ pbrfs pbstf pbsv pbsvx pbtrf pbtrs pftrf pftri pftrs pocon poequ poequb porfs porfsx posv posvx posvxx potrf potri potrs ppcon ppequ pprfs ppsv ppsvx pptrf pptri pptrs pstrf ptcon pteqr ptrfs ptsv ptsvx pttrf pttrs sbev sbevd sbevx sbgst sbgv sbgvd sbgvx sbtrd sfrk spcon spev spevd spevx spgst spgv spgvd spgvx sprfs spsv spsvx sptrd sptrf sptri sptrs stebz stedc stegr stein stemr steqr sterf stev stevd stevr stevx sycon syequb syev syevd syevr syevx sygst sygv sygvd sygvx syrfs syrfsx sysv sysvx sysvxx sytrd sytrf sytri sytrs tbcon tbrfs tbtrs tfsm tftri tfttp tfttr tgevc tgexc tgsen tgsja tgsna tgsyl tpcon tprfs tptri tptrs tpttf tpttr trcon trevc trexc trrfs trsen trsna trsyl trtri trtrs trttf trttp tzrzf

@schors:
schors

ну дорогие, ну перепишите уже на что-нибудь с фортрана. ну ведь чуть младше меня же... проспонсировать что ли.... netlib.org "стандарт де-факто". 79-ый год млеать

@omnivore:
omnivore

хочется написать какую-нибудь оду фортрану-77. Этому языку надо посвящать оды, стихи, поэмы... Как прекрасно, что до сих пор есть код, написанный на этом замечательном языке!

@omnivore:
omnivore

что может быть прекрасней и незабываемей поддержки фортран-кода? только поддержка кода в стандарте фортран-77!

@omnivore:
omnivore

перевод кодов одной старой библиотеки с фортрана на матлаб это как процеживание дерьма через сито.

@omnivore:
omnivore

polyhedron.com программа для статического анализа фортран-кода. Очень полезная и функциональная штука. Для коммерческого использования бесплатна только для evaluation, для академических/образовательных целей бесплатна без ограничений

@PineappleZombie:
PineappleZombie

Коллега портирует систему обработки, написанную на фортране, на 64 бита. В процессе обнаружилось, что массив в 5000 элементов пишется 18000 элементов, ну и там ещё по мелочи. Спасибо gfortran за -fbounds-check

Особенно меня радует тот факт, что с помощью этой системы сделано, не скажу сразу сколько, но много публикаций

@alsmirn:
alsmirn

Не пришло ли время достать из тайников памяти умение Фортрана shootout.alioth.debian.org ;)

@Dragonizer:
Dragonizer

Посоветуйте, пожалуйста, какой-нибудь небольшой гайд по Фортрану. Желательно без всего лишнего — программировать-то я уже умею на императивных языках, нужен фактически синтаксис и обзор подводных камней.

@PineappleZombie:
PineappleZombie

Лапша из приготовленная из pre-77 фортрана пугает...

@masai:
masai

Why Fortran Still Matters → intelligenceinsoftware.com

@papillonshunt:
papillonshunt

Старый фортрановский боян про GOD is REAL unless declared as INTEGER был бы смешной шуткой, если бы не нашлись люди, которые не поняли, что надо смеяться. И при этом одни умудрились объявили его как 1, а другие как 3.

@PineappleZombie:
PineappleZombie

GOD is REAL unless declared as INTEGER.

@PineappleZombie:
PineappleZombie

«FORTRAN is a good example of a language which is easier to parse using ad hoc techniques». — D. Gries

@JLarky:
JLarky

запомню для себя секрет генерации случайных чисел в fortran'е, который я выгуглил вот тут j.mp
integer*4 timeArray(3) ! Holds the hour, minute, and second
call itime(timeArray) ! Get the current time
print *, rand(timeArray(1)+timeArray(2)+timeArray(3))
print *, rand()

суть в том, что первый раз надо как бы этот seed применить, а дальше уже вызывать rand без параметра

@Svetik:
Svetik

upload.wikimedia.org

@JLarky:
JLarky

если вы хотите знать, что я думаю про фортран, то знайте:
function field_i (r)
! print *, 'lol', B_0, S_0
do v = 1, 3
field_i(v) = (...)
field_i(v) = -(B_0*S_0)/(8*pi)*field_i(v)
print *, 'f', field_i, v, B_0, S_0
end do
end function field_i

выдаёт
f 0.0E+0 0.0E+0 0.0E+0 1 0.0E+0 0.9780309160909177
f 0.0E+0 0.0E+0 0.0E+0 2 0.0E+0 0.9780309160909177
f 0.0E+0 0.0E+0 0.0E+0 3 0.0E+0 0.9780309160909177
0.0E+0 0.0E+0 0.0E+0

стоит только раскоментить строчку с первым print, то выдает:
lol 1.0 1.0
f -1.6572525549154312E-3 0.0E+0 0.0E+0 1 1.0 1.0
f -1.6572525549154312E-3 0.0E+0 0.0E+0 2 1.0 1.0
f -1.6572525549154312E-3 0.0E+0 -4.475280220752583E-3 3 1.0 1.0

B_0 и S_0 это глобальные переменные модуля, которые акуратно заданы, но если их не печатать до цикла, то их значение теряется... Ну а я теряюсь при поиске цензурных слов...

@PineappleZombie:
PineappleZombie

Нет, я хуею с этих физиков! И так уже 50-й коммит:

real axcal(7,7,9),aycal(7,7,9)
integer nudum
c Implicits
— REAL asava,aplv
+ REAL aplv
REAL ameanv,amav,asaha
REAL aplh,ameanh,wqq,awt,aaa,axmean,assa,amah,axma
REAL assah,assav,assath,assatv,axmat,flsah,flsav
@@ -635,7 +635,6 @@
imuxa=1
endif
if(imuxa.eq.1.and.assa.lt.250.0)then
— asava=assa
nmuver=nmuver+1
lmuver(nmuver)=is
endif

@nobodyzzz:
nobodyzzz

А ребята, упомянутые в #975962, с их XML-парсером на asm, не такие уже и наркоманы по сравнению с товарищем, который сделал XML-парсер на фортране github.com

@Equidamoid:
Equidamoid

пытаюсь собрать писаную на фортране (точнее, на m$'овском фортране) либу. syntax error в половине файлов...
мб есть у gfortran'а какой-нить ключик для включения совместимости?

@masai:
masai

Жуйк, а как заставить gfortran считать forall двумя ядрами сразу? Или не умеет он? А то OpenMP приплетать неохота, а распараллелить по-быстрому хочется.

@gvard:
gvard

Хороший пример использования f2py: koldunov.net
В статье пример компиляции с ошибками. У меня компиляция выглядит так: f2py2.6 -c --fcompiler=gfortran -m f_module fort_4f2py.f90
Расширение .f90 имеет значение!