to post messages and comments.

@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:

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

@omnivore:

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

@omnivore:

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

@omnivore:

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

@omnivore:

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

@PineappleZombie:

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

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

@alsmirn:

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

@Dragonizer:

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

@PineappleZombie:

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

@masai:

Why Fortran Still Matters → intelligenceinsoftware.com

@papillonshunt:

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

@PineappleZombie:

GOD is REAL unless declared as INTEGER.

@PineappleZombie:

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

@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:

upload.wikimedia.org

@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:

Нет, я хуею с этих физиков! И так уже 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:

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

@Equidamoid:

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

@masai:

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

@gvard:

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