FORTRAN ‡W

‚±‚̃Gƒ“ƒgƒŠ[‚ð‚͂ĂȃuƒbƒNƒ}[ƒN‚ɒljÁ
1 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF
FORTRAN‘‡ƒXƒŒƒbƒh‚Å‚·B
FORTRAN77/90/95/2003, HPF“™AFORTRAN‘S”Ê‚ÉŠÖ‚·‚é˜b‘è‚ð‘‚«ž‚ñ‚ʼnº‚³‚¢B

EFORTRANŠÖ˜Aî•ñ
‚¨–ñ‘©‚¾‚ªA‚Ü‚¸‚ÍŽ©•ª‚Å’²‚ׂ悤
http://www.google.co.jp/

x86‚Å“®ì‚·‚éFortranƒRƒ“ƒpƒCƒ‰
http://www.nminoru.jp/~nminoru/programming/x86-fortran.html

The Fortran Company
http://www.fortran.com/
Polyhedron Software
http://www.polyhedron.co.uk/
Google Directory - Fortran
http://directory.google.com/Top/Computers/Programming/Languages/Fortran/

E‘OƒXƒŒ
FORTRAN III
http://pc8.2ch.net/test/read.cgi/tech/1104724162/
FORTRAN II
http://pc5.2ch.net/test/read.cgi/tech/1068351911/
Fortran
http://pc2.2ch.net/test/read.cgi/tech/1003214738/
2 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2006/11/12(“ú) 17:14:45
EƒtƒŠ[^–³—¿•]‰¿”ł̃Rƒ“ƒpƒCƒ‰
The G95 project iFortran95j
http://www.g95.org/
GCC (g77) i¡‚Ì‚Æ‚±‚ë FORTRAN77j
http://gcc.gnu.org/
Salford FTN77/95 Personal Edition iFortran77/95, Windows, —v“o˜^j
http://www.salfordsoftware.co.uk/software/downloads/compilers.html
FTN77/95‚̃Cƒ“ƒXƒg[ƒ‹•û–@
http://www.coastal-env.k.u-tokyo.ac.jp/koibuchi/fortran.htm
the F Programming Language iFortran90‚̃TƒuƒZƒbƒg, Win/Linux/Solarisj
http://www.fortran.com/F/compilers.html
Open Watcom Fortran Compiler iFORTRAN77j
http://www.openwatcom.org/
Intel Fortran Compiler iFortran95, –³—¿•]‰¿”Å(Win)^”ñ¤—pƒo[ƒWƒ‡ƒ“(Linux), —v“o˜^j
http://www.xlsoft.com/jp/products/download/download.html
Lahey/Fujitsu Fortran iŠúŒÀ•t‚«ƒgƒ‰ƒCƒAƒ‹”Å‚ÍI—¹‚µ‚½–Í—lj
http://www.lahey.com/downloads.htm

EƒhƒLƒ…ƒƒ“ƒg
Compaq Visual Fortran ƒIƒ“ƒ‰ƒCƒ“EƒhƒLƒ…ƒƒ“ƒg
http://www.xlsoft.com/jp/products/intel/cvf/docs/index.html
Intel Fortran Compiler “ú–{Œê”Ń}ƒjƒ…ƒAƒ‹‚̃_ƒEƒ“ƒ[ƒh i—v“o˜^j
http://www.xlsoft.com/jp/products/intel/download.html
•xŽm’ÊFortranƒIƒ“ƒ‰ƒCƒ“ƒ}ƒjƒ…ƒAƒ‹
http://www.cc.nao.ac.jp/fsunman/japanese/Fortran/index.html

FORTRAN77 standard
http://www.swcp.com/~walt/F77_std/f77_std.html
http://www.fortran.com/fortran/F77_std/rjcnf0001.html

JISƒf[ƒ^ƒx[ƒX
http://www.jisc.go.jp/
3 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2006/11/12(“ú) 17:48:19
@@R^l l@ƒj|Æ@@@@@@@@@@ ,.¤-''"..;:;:;:;:;:;:;:... `'R¤
@@i@@@iP@@Pj@@@@@ ^....:::;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;.....R¤^PPPP_^
@@@P@@ P@@@@@@@@ iQ;;¤:Q;¤;Q;¤;¤;¤¤¨¯.;:;:;:;:;: /@@‹»@@F@@@@ ŒN
@,.¤-„Ÿ„Ÿ-- ¤.,_@@@@@,¤@@|@@@@@@,,,,,,@@/ ;:;:;:;:;:;: |@@ –¡ @ O@@@ @ F
@@@@@@@@@@M`''--ƒC ,j,¤,! '''''@@@@@@@@_ ;;;;;;;;;_|@@ ‚ª @ R@@@ @ F
@@@@@@@@@@@@@ S°'Þ |ËÆƃ…@¬Æ,ƒjƒj¤„ r;; / _|@@ ‚ @@T
@@@@ @ É@l@ Ê@ l@S ƒgƒC M!Þlj_j@@ '@iØ__, M@ }ii l f'Är @ ‚é@@R
@@@ _,,.ƒm@_É / É ƒm@ƒmÉ!_˜¦@| @ l@@@M " '''@@ }ii ØÉ |@@ ‚Ì @ A@@|_QQ
@@@@@ ƒm@,¤¨'-z=F [_@@ .l!@.{@@@A@@@@ ¨!ii;}' É|@@ ‚©@@ N @ |
@@@-]''Þ_ƒm ,ƒm@ 'Þ (¿ @ R@@ {!@Þ°<Ü'@@@@ ,Ði;i;}°'Þ |@@ ‚Ë@@ @ @ |
@@¤ ƒBƒb„f¢@@_,,“ñ-@@ R.@ }i¤@ -==-'@@Øiii;Â @ |@@ H@@ @ @ |
@ @M§Tk!|@@@@@@@r ,_É@_É}lli,@@-r=]@@,i;llilili|@@ „ QQQQ_^MR¤
@@ @ Þ¤R`!@ l@@@Q _£@^/@'}llli,@,;i|i;,@,,ii;ilililll'ÞØ ^ P l l@@@@@@,¤ ''ÜÞRA
@@@@ `Ä.¤!@ lj@@iQ_lA/@ | @ ÞÄ!llllllllllliillllllllÂÞ_¤-Þ@ @ /,l l@@ @ @ /
@@@@@l@ÞÄA@@@@@t'Þ | @ |@@| |¤'lÄllÄllÄÂ "L@@@ ^/ l l @ @ @ /
@@ ,¨A‰»§ ',_ @ @ @ l@r@ | @ | | Þ¤ /^È@@@ ^ /@ l l@@@@ l
i’Ü(i¤`°'Œ ',@M''t]--'ŒrĤ | @ | |. VÊœc È@ ^@@@@|_L¤@@i@|@^
PPPMN`''[--ÆL_@@@`!¤ `!@lP`''„¨--„¨'-'Þ-„Ÿc''"L_,, ¨|@@l@|/
@@@@@@@@@@@ úh@@ R M ', | ‚nM`''„Ÿ„Ÿ„Ÿ„Ÿc'''"L @‚n',Þ:¤ @l@|^
‹@ŽíˆË‘¶•¶ŽšŽg‚¤‚ȃ{ƒPŽ¸‚¹‚ë
>>4
‚«‚½‚Ë[Œ¾—tŽg‚¤‚È•³–ì˜YI

Ž€‚ËI
”’lÏ•ª‚ªŽg‚¦‚éƒtƒŠ[‚Ì”’lŒvŽZƒ‰ƒCƒuƒ‰ƒŠ‚ ‚è‚Ü‚¹‚ñ‚©H
>>6
NetLib‚Ö’rB‚U‚UŽž‘ã‚Ì‚à‚Ì‚ª‚²‚Ü‚ñ‚Æ‚ ‚邺B
IMSL‚ª‚ ‚é‚ñ‚¶‚á‚ËH
>>8
IMSL‚Í—L—¿ƒpƒbƒP[ƒWƒ\ƒtƒg‚¾‚¼B
IMSL‚Í10–œˆÈã‚·‚é—\Š´

LAPACK‚ÉÏ•ª‚Í‚Ó‚­‚Ü‚ê‚Ä‚¨‚ç‚ñ‚ÌH
ƒRƒ“ƒpƒCƒ‰‚æ‚è‚‚¢EEE
‚±‚̃XƒŒ‚̃GƒLƒXƒp[ƒg‚½‚¿‚Í—L—¿ƒpƒbƒP[ƒW‚Æ‚©Žg‚Á‚Ä‚¨‚ç‚ê‚é‚Ì‚Å‚·‚©H
>>7
Netlibs‚Á‚½‚ª”‚ª‘½‚·‚¬‚ĉ½‚ª‚È‚ñ‚¾‚©‚í‚©‚ç‚È‚¢B
‚±‚ê‚ð‚Ç‚¤Žg‚¦‚΂¢‚¢‚©‚·‚ç‚í‚©‚ç‚È‚¢B
Œ©‚½Š´‚¶ƒvƒƒOƒ‰ƒ€’P‘Ì‚ª—Ž‚Á‚±‚¿‚Ä‚¢‚邾‚¯‚É‚µ‚©Œ©‚¦‚È‚¢‚ª
‚Ç‚¤‚â‚Á‚Ä‚Á‚Ä‚±‚ê‚ðŒÄ‚Ño‚µ‚ÄŽg‚¤‚ñ‚¾‚낤‚©B
>>10
LAPACK‚ÍŒ³XALINPACK{EISPACK‚ÅA‚»‚ꂼ‚ê–§s—ñ‚ÌüŒ`•û’öŽ®‚ƌŗL’l–â‘è‚Ì
ƒ‹[ƒ`ƒ“W‚È‚Ì‚ÅÏ•ª‚ÍŽå‘è‚©‚çŠO‚ê‚Ä‚¢‚é‚ÆŽv‚¤B

LINPACKAEISPACK‚Í‚U‚O”N‘ã‚̕ĉp‚Ì‘‰ÆƒvƒƒWƒFƒNƒg‚¾‚Á‚½‚悤‚É‹L‰¯‚µ‚Ä‚¢‚éi‹L‰¯žB–†‚—jB
LAPACK‚ÍŠî–{“I‚É‚»‚ê‚ð‚V‚V‰»‚µ‚ÄBLAS‚Ìã‚É“ˆê‰»‚µAˆê•”ƒAƒ‹ƒSƒŠƒYƒ€‚ð‰ü—ÇEŠg[‚µ‚½
‚à‚Ì‚¾‚낤B‚»‚Ì•Ó‚ÌŒoˆÜ‚⇘‚Í‚æ‚­‚í‚©‚ñ‚ËB


>>13
NetLib‚Æ‚Í‚»‚¤‚¢‚¤‚Æ‚±‚낾‚—@šº‚ÌÏ‚à‚Á‚½“y‘ Œ©‚½‚¢‚È‚à‚ñ‚¾B
Œ‹‹ÇA–c‘å‚·‚¬‚ĉ½‚ª—~‚µ‚¢‚©•ª‚©‚Á‚Ä‚È‚¢‚ÆŽg‚¦‚È‚¢‚—

NumericalRecipes‚̃y[ƒW‚Ös‚Á‚Ä‚Ý‚é‚Ì‚ª‹g‚©‚à‚µ‚ê‚È‚¢B
‚Æ‚è‚ ‚¦‚¸ê–å‰Æ“I‚ɂ̓xƒXƒg‚Å–³‚¢‚É‚µ‚ëA‘fl‚ª”nŽ­‚ÈŠO‚ê‚ðˆø‚©‚³‚ê‚邱‚Æ‚Í–³‚¢‚Í‚¸B
‚½‚¾–{”ł̃\[ƒX‚Í‚µ‚΂µ‚ÎBug“ü‚è‚È‚Ì‚Å‚ß‚­‚ç‚ß‚Á‚Û‚¤Žg‚¤‚Ì‚ÍÔ³Þ§½
—L—¿ƒ\[ƒX‚Í’¼‚Á‚Ä‚¢‚½‚è‚·‚é‚—
‰SŽÒ‚Í•xŽm’ʂ̃Tƒuƒ‹[ƒ`ƒ“•t‚«ƒRƒ“ƒpƒCƒ‰”ƒ‚¤‚Ì‚ªbest‚¶‚á‚ËH
“ïˆÕ“x‚à—\ŽZ‚à
Intel Math Kernel Library‚Åok
MKL‚Á‚ÄÏ•ªƒ‹[ƒ`ƒ““ü‚Á‚Ä‚é‚ÌH
‘½•ª‚È‚¢

‚Æ‚¢‚¤‚©AƒtƒŠ[‚Å—L–¼‚Ç‚±‚ë‚̃pƒbƒP[ƒW‚É‚ÍÏ•ªƒ‹[ƒ`ƒ“‚Í–³‚¢—\Š´
ˆÈ‰º‚̃vƒƒOƒ‰ƒ€‚ðŽÀs‚·‚é‚ÆA
Œ‹‰Ê‚ª
1016010618
‚Æ‚È‚è‚Ü‚·B
‚È‚º‚Å‚µ‚傤‚©H–󂪕ª‚©‚è‚Ü‚¹‚ñ
ŠÂ‹«‚Íg95@cygwin‚Å‚·B

program Interpolation
print *,Lorentz(1.5)

end program Interpolation

real function Lorentz(x)
real :: x
Lorentz = 1/(1+25*x*x)
return
end
ƒƒCƒ“ƒvƒƒOƒ‰ƒ€‚ÉLorentz‚ÌŒ^’è‹`‚ª‚È‚¢‚©‚çintegerˆµ‚¢‚³‚ê‚Ä‚ñ‚¶‚á‚Ë[‚ÌH
21 F19F2006/11/13(ŒŽ) 21:30:09
implicit none‚Å‰ðŒˆ‚µ‚Ü‚µ‚½B
‚PŽžŠÔ‚àŽžŠÔ‚ðH‚¢‚Ü‚µ‚½B
22 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2006/11/14(‰Î) 00:43:00
Ž©—R‘Ž®‚Å‘‚­‚È‚çŠÖ”EƒTƒuƒ‹[ƒ`ƒ“‚Í“à•”Žè‘±‚«‚É‚·‚é‚©AMODULE‚É‚·‚é‚©
INTERFACE錾‚µ‚Ä‚©‚çŽg‚¨‚¤B
>>20,22
‚ª³‚µ‚¢B

>>19‚Í‚ ‚Ü‚è‚É’†“r”¼’[B‚«‚Á‚¿‚è‚ÆŒµŠi‚ÈF90Ž®‚Å‘‚­‚©AF77Ž®‚ɈÖق̌^‚ðŽç‚é‚ׂ«B
INTEL@FORTRAN—p‚ÌBLAS/LAPACK‚¾‚ªAAMD‚Ìcore-math-library‚ÉWindows—p‚à‚¤‚‚³‚ê‚Ä‚¢‚éB
Ì‚ÍLinux—p‚̈ꕔƒ‹[ƒ`ƒ“‚¾‚¯‚¾‚Á‚½‚ªA‚¢‚Ü‚â‘Sƒ‹[ƒ`ƒ“‚ð–Ô—…‚µ‚½‚悤‚¾B

˜R‚ê‚ÍAMD‚È‚Ì‚ÅA’N‚©IntelChip‚Å‚àŽg‚¦‚é‚©ŽŽ‚µ‚Ä‚­‚êB

http://developer.amd.com/acml.jsp
25 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2006/11/14(‰Î) 15:36:00
fortran’†‚Å‘¼‚Ìexe‚ðŽÀs‚Å‚«‚é‚悤‚É‚·‚é‚É‚Í‚Ç‚¤‚µ‚½‚ç—Ç‚¢‚Å‚·‚©H
fortran‚Åì‚ç‚ꂽexe‚È‚ñ‚¾‚¯‚ǃ\[ƒX‚­‚Á‚‚¯‚é‚Ì‚ª‚ß‚ñ‚Ç‚­‚³‚¢‚ñ‚ÅEEE‚—
>>23
FORTRAN(90)‚̑ЂÅA’è”Ô‚Ì•¨‚Á‚Ä‚ ‚è‚Ü‚·‚©H
27 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2006/11/14(‰Î) 16:53:09
‚±‚ê‚©‚çƒtƒH[ƒgƒ‰ƒ“‚ð•×‹­‚·‚é‚Ì‚Å‚·‚ªA
‚Æ‚Ä‚à‰ð‚è‚â‚·‚¢“ü–å‘‚ð‹³‚¦‚Ä‚¢‚¾‚½‚¯‚Ü‚¹‚ñ‚©H
ƒvƒƒOƒ‰ƒ~ƒ“ƒOŽ©‘ÌA‚ ‚Ü‚èŒoŒ±‚ª‚ ‚è‚Ü‚¹‚ñB
‚b‚ð­‚µ‚â‚è‚Ü‚µ‚½B
‚æ‚낵‚­‚¨Šè‚¢‚µ‚Ü‚·B
28 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2006/11/14(‰Î) 18:18:30
‚˜‚Ì’l‚ðA1,10,100,1000,10000,100000,1000000‚̇‚É•Ï‚¦‚Ä
‚»‚Ìí—p‘ΔAŽ©‘R‘Δ‚Ì’l‚ðŒvŽZ‚µ‚Ä•\Ž¦‚·‚éƒvƒƒOƒ‰ƒ€‚ðì‚ê

‚Æ‚¢‚¤‰Û‘肪o‚½‚Ì‚Å‚·‚ªƒTƒbƒpƒŠ•ª‚©‚è‚Ü‚¹‚ñB
‚Ç‚¤‚©‚¨—Í“Y‚¦‚­‚¾‚³‚¢B
>>24
Core Duo‚ł಺޲À
32bit ifort”ł̓Vƒ“ƒOƒ‹ƒvƒƒZƒbƒT—p‚ÉÅ“K‰»‚³‚ê‚Ä‚¢‚é‚Ý‚½‚¢‚¾‚ª
SSE/SSE2‚ªŽg‚¦‚ê‚ÎIntel CPU‚Å‚àOK‚̂悤‚¾B

>>25
SYSTEM ‚Æ‚©‚»‚ñ‚ÈŠ´‚¶‚ÌŠÖ”‚È‚èƒTƒuƒ‹[ƒ`ƒ“‚Ȃ肪—pˆÓ‚³‚ê‚Ä‚¢‚éi‚±‚Æ‚ª‘½‚¢jB

>>28
X ‚Ì’l‚ð 1 ‚É•Ï‚¦‚éiX ‚É 1 ‚ð‘ã“ü‚·‚éj
X = 1.

X ‚Ìí—p‘Δ‚ðŒvŽZ‚µ‚Ä Y ‚É‘ã“ü‚·‚é
Y = LOG10(X)

X ‚ÌŽ©‘R‘Δ‚ðŒvŽZ‚µ‚Ä Z ‚É‘ã“ü‚·‚é
Z = LOG(X)

X, Y, Z ‚Ì’l‚ð‡‚É•\Ž¦‚·‚é
WRITE(*,*) X, Y, Z
”{¸“xŽÀ”‚Æ4”{¸“xŽÀ”‚Å‚ÍŽÀs‘¬“x‚Í•Ï‚í‚Á‚Ä‚µ‚Ü‚¢‚Ü‚·‚©H
31 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2006/11/14(‰Î) 23:28:24
>>30
Ž€‚ʂقLjႤB@
”{¸“x‚Ü‚Å‚Í”’l‰‰ŽZƒvƒƒZƒbƒT‚Ì•‚¯‚Ńn[ƒhƒEƒFƒA‰‰ŽZ‚·‚邪A
‚S”{¸“x‚̓\ƒtƒgƒEƒFƒA‚Å•‚“®¬”“_‰‰ŽZ‚ð‚·‚é‚Ì‚Å’x‚­‚È‚éB

‚U‚SBitCPU‚È‚çŽáŠ±ó‹µ‚͉ü‘P‚·‚邪–{Ž¿‚É‚¨‚¢‚Ä‚Í•Ï‚í‚ç‚È‚¢B
DEC‚̃Aƒ‹ƒtƒ@[CPU‚Í‚S”{¸“x‚à”÷–­‚É‘‚©‚Á‚½‚ªA“ÁŽê‚È–½—߃Zƒbƒg‚ª‚ ‚Á‚½‚½‚߂炵‚­A
‚U‚SbitCPU‚¾‚©‚ç‚Æ‚¢‚Á‚Ä‚æ‚­‚È‚é‚킯‚Å‚à‚È‚¢‚悤‚¾B
32 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2006/11/14(‰Î) 23:31:25
>>29
DO•¶‚Å‘‚©‚È‚¢‚Æ‚¢‚¯‚È‚¢‚Ì‚Å‚·‚ª
‚Ç‚¤‚·‚ê‚΂¢‚¢‚ñ‚Å‚µ‚傤‚©EE
33 F30F2006/11/15(…) 00:03:03
>>31
Ú‚µ‚¢Ú½»Ý¸½I
>>26
Žc”O‚È‚ª‚ç‚ ‚Ü‚è‚¢‚¢–{‚Í–³‚¢B

¡AŽè‚É“ü‚è‚â‚·‚¢‚Ì‚Í‚±‚êB
http://www.amazon.co.jp/gp/product/4563014095
‚µ‚©‚µA‚e‚V‚V‚Ì•È‚ðˆø‚«‚¸‚Á‚Ä‚¢‚ÄA‚ ‚Ü‚è‚¢‚¢‘‚«•û‚ð‚µ‚Ä‚¢‚È‚¢B
’˜ŽÒ‚Í‹ž‘å‚Ì‚¨‚Á‚³‚ñ‚炵‚­A‚v‚d‚a‚Å“¯“™‚Ì“à—e‚Ì‚à‚Ì‚ðŒ©‚ç‚ê‚éB
ƒAƒhƒŒƒX‚̓Aƒ}ƒ]ƒ“‚̃Œƒrƒ…[‚É‘‚¢‚Ä‚ ‚éB

‰pŒê‚ł悯‚ê‚ÎA‚±‚Ì•Ó‚Æ‚©A
http://www.lahey.com/elfpage.htm
‚±‚Ì•Ó‚Ì‚d‚“‚“‚…‚Ž‚”‚‰‚‚Œ ‚e‚‚’‚”‚’‚‚Ž‚ ‚½‚肪ŠwK—pƒTƒuƒZƒbƒg‚É‚È‚Á‚Ä‚¢‚ÄAƒˆ‚e‚X‚O‚ðŠw‚ׂéB
http://www.fortran.com/F/books.html

‚µ‚©‚µAŒ»ŽÀ¢ŠE‚Å‚Í‚e‚V‚Vƒ\[ƒX‚ª‚ ‚Ó‚ê‚Ä‚¢‚é‚Ì‚Å”÷–­‚Å‚Í‚ ‚éB
ŽÀÛã‹L‚Ì‚à‚Ì‚Í‹³ˆç—p‚Æ‚µ‚Ä‚à‚Í‚â‚ç‚È‚©‚Á‚½B
>>32
@@@PROGRAM chinpopo
@@@DO 10 i = 0, 6
@@@ x = 10.0**REAL(i)
y = LOG10(x)
z = LOG(x)
WRITE(6, *) INT(x), y, z
10 CONTINUE
@@@END
>>35
36 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2006/11/15(…) 14:47:06
@@complex(8) c

‚É‚¨‚¢‚ÄC

@@c=(0.d0, 0.d0)

‚Æ‚µ‚ĉŠú‰»‚·‚é‚Ì‚àC

@@c=0.d0

‚Æ‚µ‚ĉŠú‰»‚·‚é‚Ì‚à‘S‚­“¯‚¶‚±‚Æ‚È‚Ì‚Å‚·‚©H
37 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2006/11/15(…) 17:59:05
DO•¶‚ðŽg—p‚µ‚ÄCx‚Ì’l‚ðC1,10,100,1000,10000,100000,1000000 ‚̇‚É•Ï‚¦‚Ä
‚»‚Ìí—p‘Δ‚¨‚æ‚ÑŽ©‘R‘Δ‚Ì’l‚ð ŒvŽZ‚µ‚Ä•\Ž¦‚·‚éƒvƒƒOƒ‰ƒ€‚ðì‚êD
‚È‚¨CŒvŽZŒ‹‰Ê‚Í‘Ž®‚ÌŽw’è‚ð‚µ‚ÄCx, log10(x), log(x) ‚̇‚É•\Œ`Ž®‚Å•\Ž¦‚·‚邱‚ÆD
‚Ü‚½CŒvŽZŒ‹‰Ê‚ª®”‚Æ‚È‚é‚à‚Ì‚Í®”Œ^(In)CŽÀ”‚Æ‚È‚é‚à‚Ì‚ÍŽÀ”Œ^(Fn.m)‚Ü‚½‚ÍŽw”Œ^(En.m)‚Åo—Í‚·‚邱‚ÆD
program report5
implicit none
integer :: x
real :: y,z

write (*,*) 'x='
read (*,*) x,log(x),log10(x)

do 10 i = 0.6

x=10.0**real(i)

y=log(x)

z=log10(x)

write (6,)

end do
stop

end program report5

‰½ˆ‚ª‚¨‚©‚µ‚¢‚ñ‚Å‚µ‚傤‚©?
>>37
read (*,*) x,log(x),log10(x)
‚Ç‚±‚É“ü‚ꂽ‚¢‚ÌH
‚½‚Ô‚ñA‚»‚ÌŒŠ‚¶‚á‚È‚¢‚í‚æ
>>37
>read (*,*) x,log(x),log10(x)
>do 10 i = 0.6
>x=10.0**real(i)
>y=log(x)
>z=log10(x)
>write (6,)
‚±‚±‚ç•Ó‚ªŠÔˆá‚Á‚Ä‚éB
‚Ç‚±‚ªŠÔˆá‚¢‚È‚Ì‚©‚í‚©‚ç‚È‚¢‚Æ‚«‚ÍA‚Æ‚è‚ ‚¦‚¸ƒRƒ“ƒpƒCƒ‰—l‚Ƀ\[ƒX‚ð“n‚µ‚Ä
•¶‹å‚ðŒ¾‚í‚ꂽ‚Æ‚±‚ë‚ðã‚©‚燂ɒ¼‚µ‚Ä‚¢‚­‚Ì‚à‚P‚‚̎肾B


‚¾‚ê‚©‚­‚¾‚·‚ê‚ÌŽŸƒXƒŒ—§‚Ä‚Ä‚­‚êB
40 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2006/11/15(…) 23:55:01
>>37
>>35‚ð‚à‚¤‚¢‚Á‚Ø‚ñŒ©‚ëI

>>39
d•¡ƒXƒŒ‚ðƒNƒ_ƒXƒŒ‚É‚·‚é‚©H
>>40
ƒ^ƒCƒgƒ‹ˆê‚¾‚©‚笗‚µ‚»‚¤‚—
42 F37F2006/11/17(‹à) 10:16:25
>>35
WRITE (6,*) ‚ª•ª‚©‚è‚Ü‚¹‚ñ
>>37‚Ì–â‘è‚Ì‘Ž®‚ÌŽw’è‚Í‚±‚ê‚Å‚¢‚¢‚ñ‚Å‚µ‚傤‚©
43 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2006/11/17(‹à) 11:23:12
WRITE(6,@'(I10, F15.7, F15.7)') x, y, z

‚à‚¤­‚µ‹³‰È‘‰ÅII

‚±‚ñ‚ÈŠ´‚¶‚Å‚—
>>37 ‚ª‚ñ‚΂Á‚½‚¯‚Ç‘Ž®‚ª‚¤‚Ü‚­‚¢‚©‚È‚©‚Á‚½BƒSƒƒ“
c DO•¶‚ðŽg—p‚µ‚ÄCx‚Ì’l‚ðC
c 1,10,100,1000,10000,100000,1000000 ‚̇‚É•Ï‚¦‚Ä
c ‚»‚Ìí—p‘Δ‚¨‚æ‚ÑŽ©‘R‘Δ‚Ì’l‚ð ŒvŽZ‚µ‚Ä•\Ž¦‚·‚é
c ŒvŽZŒ‹‰Ê‚Í‘Ž®‚ÌŽw’è‚ð‚µ‚ÄCx, log10(x), log(x) ‚̇‚É
c ŒvŽZŒ‹‰Ê‚ª®”‚Æ‚È‚é‚à‚Ì‚Í®”Œ^(In)C
c ŽÀ”‚Æ‚È‚é‚à‚Ì‚ÍŽÀ”Œ^(Fn.m)‚Ü‚½‚ÍŽw”Œ^(En.m)‚Åo—ÍD
Program report5
Implicit none
INTEGER i
REAL x

do i = 0, 6
x = 10.0**i
write(*, *) aint(x), log10(x), log(x)
end do

stop
end
c ŽÀsŒ‹‰Ê
c 1.00000 0.000000E+00 0.000000E+00
c 10.0000 1.00000 2.30259
c 100.000 2.00000 4.60517
c 1000.00 3.00000 6.90776
c 10000.0 4.00000 9.21034
c 100000. 5.00000 11.5129
c 0.100000E+07 6.00000 13.8155
45 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2006/11/17(‹à) 12:28:48
program report5
implicit none
integer :: x
real :: y,z

write (*,*) 'x='
DO 10 i = 0, 6

x = 10.0**REAL(i)
y = LOG10(x)
z = LOG(x)

WRITE(6,@'(I10, F15.7, F15.7)') x, y, z
10 CONTINUE

END do
stop

end program report5
‚±‚¤‚Å‚·‚©?
46 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2006/11/17(‹à) 17:12:34
Program report5
Implicit none
real :: i,x

do i=0, 6
x=10.0**i

write(*, '(i7, f15.7 f15.7)') x, log10(x), log(x)
end do

stop
end
Œ‹‰Ê
******* 0.0000000 0.0000000
******* 1.0000000 2.3025851
******* 2.0000000 4.6051702
******* 3.0000000 6.9077554
******* 4.0000000 9.2103405
******* 5.0000000 11.5129251
******* 6.0000000 13.8155107


‚¨‚©‚°‚³‚Ü‚Å‚±‚±‚Ü‚Åo—ˆ‚½‚ñ‚Å‚·‚ªA‚Ç‚¤‚µ‚Ä‚à*******‚ªo‚Ä‚µ‚Ü‚¢‚Ü‚·„ƒ
>>46
u•Ï”‚ÌŒ^v‚ðĕ׋­‚µ‚Ä‚©‚ço’¼‚µ‚Ä‚±‚¢B
>>46
write(*, '(i7, f15.7 f15.7)') x, log10(x), log(x)
@@@«
write(*, '(f15.7, f15.7 f15.7)') x, log10(x), log(x)

‚É‚µ‚Ă݂悤EEE
x‚Íreal‚Å錾‚³‚ê‚Ä‚é‚©‚çformat‚ð®”•\Ž¦‚ÉŽw’è‚·‚邱‚Æ‚Í‚Å‚«‚È‚¢D
49 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2006/11/18(“y) 00:44:07
>>48
>>37‚Ì–â‘è‚ð“Ç‚ÞŠ´‚¶‚Å‚ÍA
write(*, '(i7, f15.7 f15.7)') int(x), log10(x), log(x)
‚ð—\Šú‚µ‚Ä‚¢‚é‚ÆŽv‚í‚ê‚éB

>>46‚Í‚à‚¤­‚µ–á‚Á‚½‰ñ“š—á‚ð‚æ‚­‹á–¡‚µ‚ë‚—
50 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2006/11/18(“y) 01:00:15
‚o‚•‚‹‚‰‚v‚‰‚‹‚‰@‚‚­‚Á‚Ä‚Ý‚½
http://www.moecity.jp/home/fortran/

‚—‚‰‚‹‚‰‚æ‚­’m‚ç‚È‚¢BŽ©—R‚ÉŽg‚Á‚Ä‚Ý‚Ä‚­‚êB
f90ƒXƒ^ƒCƒ‹‚ÅŠw‚ׂ邢‚¢•¶‘‚Í‚ ‚è‚Ü‚¹‚ñ‚©‚ËB
‰pŒê‚©“ú–{Œê‚Å‚¨Šè‚¢
>>51
Fortran •W€ƒR[ƒfƒBƒ“ƒOƒ‹[ƒ‹
ttp://www.mri-jma.go.jp/Project/mrinpd/coderule.html

European Standards For Writing and Documenting Exchangeable Fortran 90 Code
ttp://www.meto.gov.uk/research/nwp/numerical/fortran90/f90_standards.html

ã‚̘a–ó
ttp://www.mri-jma.go.jp/Project/mrinpd/eurostand.html
53 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2006/11/18(“y) 21:18:26
>>52
„„§‚·‚é‘‚«•û real:: x(n), y(n)
„x(1:n) = y(1:n)


„~„§‚µ‚È‚¢‘‚«•û x(:) = y(:) ‚Ü‚½‚Í x = y

‚±‚ê‚Í‚©‚Ȃ肤‚»L‚¢‚ÆŽv‚¤B
‚˜‚™@‚Ìꇂƈá‚Á‚ÄAƒRƒƒ“Žw’èŽq‚ðŽg‚¤‚ÆA‚¢‚Á‚½‚ñˆÃ‚ɃRƒ“ƒpƒCƒ‰‚ª
ƒeƒ“ƒ|ƒ‰ƒŠ”z—ñ‚ɃRƒs[‚·‚é‚Ì‚Å‚½‚¢‚Ä‚¢—]•ª‚ÈŽžŠÔ‚ª‚©‚©‚éB


‚µ‚©‚µ˜R‚ꂪ‹^–â‚ÉŽv‚¤‚Ì‚ÍAF77‚Å‚Í•Ï”‚Æ”z—ñ‚É“¯‚¶–¼‘O‚ðA‚ÆA(10)‚ðŽw’è‚Å‚«‚Ä
•Ê•¨‚Ɉµ‚í‚ê‚é—l‚É‹KŠi‚ÅŒˆ‚Ü‚Á‚Ä‚¢‚½‚ÆŽv‚¤‚Ì‚¾‚ªAF90‚Å–µ‚‚ª‹N‚«‚È‚¢‚Ì‚©EEE

‚»‚ê‚Æ‚àA‚±‚ê‚ÍJIS‹KŠi‚¾‚¯‚ÅANSI‚âMIL‚ł͈á‚Á‚Ä‚¢‚½‚Ì‚©H
>>53
REAL A
DIMENSION A(10)
DO 10 I=1,10
A(I) = REAL(I)
10 CONTINUE
A = 1.23
WRITE(*,*) A
WRITE(*,*) (A(I), I=1,10)
END

‹KŠiã‚Ç‚¤‚È‚Á‚Ä‚½‚©‚Í’m‚ç‚È‚¢‚ª g77‚¾‚Æ
A = 1.23
‚Ì•”•ª‚ŃRƒ“ƒpƒCƒ‹ƒGƒ‰[‚É‚È‚Á‚½B

g95‚Å‚Íi“–‘Rj
55 F54F2006/11/18(“y) 22:12:21
~ g95‚Å‚Íi“–‘Rj
› g95‚Å‚Íi“–‘Rj A ‚Í”z—ñ‘S‘̂ƉðŽß‚³‚ꂽB
56 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2006/11/18(“y) 23:02:07
>>54
‚»‚¤‚¶‚á‚È‚­‚Ä
REAL A, A(10)
‚ª‰Â”\‚¾‚Á‚½‚ÆŽv‚¤B
hoge.f: In program `MAIN__':
hoge.f:1:
@@@@ REAL A,A(10)
@@@@@@@@@1 2
Invalid declaration of or reference to symbol `a' at (2) [initially seen at (1)]
58 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2006/11/19(“ú) 01:39:12
‚½‚µ‚©•Ï”–¼‚Æ”z—ñ–¼‚Í‹KŠiã‚Ì’è‹`‚Å‚Í•Ê•¨‚¾‚Á‚½‹L‰¯‚ª‚ ‚éB

ŽÀۂ̃Rƒ“ƒpƒCƒ‰‚Å‚Ç‚¤‚È‚Á‚Ä‚¢‚½‚©‚Í’m‚ç‚ñB



Fortran90‚È‚ñ‚Å‚·‚ªC

integer a(1:100)=0

‚Ý‚½‚ȉŠú‰»‚ÌŽd•û‚Í‚æ‚­‚â‚é‚ñ‚Å‚·‚©H
~‚Ý‚½‚È
›‚Ý‚½‚¢‚È

orz
61 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2006/11/20(ŒŽ) 09:01:16
>>60
‚æ‚­‚â‚éB
‚µ‚©‚µ‚»‚̉Šú‰»‚̓Šƒ“ƒNEƒ[ƒhŽž‚És‚í‚ê‚é‚à‚Ì‚È‚Ì‚ÅA
ŽÀss‚Åa(1:100)=0‚Æ‘‚­‚Ì‚Æ‚Í”÷–­‚ɈႤB

62 F59F2006/11/20(ŒŽ) 15:25:10
>>61
Ú½‚ ‚肪‚Æ‚¤
integer a(1:100)=0
ª‚±‚ê‚Á‚Ä’Ê‚éH

integer::@‚¶‚á‚È‚¢‚Æ’Ê‚ç‚È‚©‚Á‚½‹C‚ªB
64 FŽ¿–â1/3F2006/11/20(ŒŽ) 18:45:56
ŠgŽU•û’öŽ®‚Ì‹«ŠE’l–â‘è‚ðƒIƒCƒ‰[—z‰ð–@‚Å‰ð‚­‚½‚ß‚Ì
ŽQlƒvƒƒOƒ‰ƒ€‚Æ‚¢‚¤‚à‚Ì‚ª‹³‰È‘‚É‚ ‚èA‚܂킵‚½‚Ì‚Å‚·‚ª
error‚Ío‚È‚¢‚à‚Ì‚ÌãŽè‚­‚Ü‚í‚è‚Ü‚¹‚ñ‚Å‚µ‚½B
ƒAƒhƒoƒCƒX‚ðŠè‚¢‚Ü‚·B
‚¿‚È‚Ý‚ÉMX=41,KM=30,DT=0.01‚Æ‚µ‚Ä‚¢‚Ü‚·B
PARAMETER(NX=51)
DIMENSION U(NX),UU(NX)
C**** INPUT & CALCULATE PARAMETERS
WRITE(*,*) 'MX (<52: MESH POINTS) ? KM (NUMBER OF TIME STEP) ?'
READ(*,*) MX,KM
WRITE(*,*) 'DELTA T: DT ? '
READ(*,*) DT
DX=1./FLOAT(MX-1)
R=DT/DX**2
IH=(MX+1)/2
I5=.05/DT
IF(I5.EQ.0) I5=1
CALL OUTPUT(U,NX,MX,1)
C**** INITIAL CONDITION
DO 10 I=1,MX
X=FLOAT(I-1)/FLOAT(MX-1)
IF(I.LE.IH) THEN
U(I)=X
ELSE
U(I)=1.-X
END IF
10 CONTINUE
65 FŽ¿–â2/3F2006/11/20(ŒŽ) 18:46:56
C**** MAIN LOOP
DO 20 K=1,KM
U(1)=0.
U(MX)=0.
IF(MOD(K,I5).EQ.1) CALL OUTPUT(U,NX,MX,2)
C
DO 30 I=2,MX-1
UU(I)=R*U(I-1)+(1.-2*R)*U(I)+R*U(I+1)
30 CONTINUE
DO 40 I=2,MX-1
U(I)=UU(I)
40 CONTINUE
C
IF(ABS(U(IH)).GE.10000.) THEN
WRITE(*,*) 'DIVERGE!'
STOP
END IF
C
20 CONTINUE
C
CALL OUTPUT(U,NX,MX,3)
STOP
END
C
SUBROUTINE OUTPUT(U,NX,MX,MM)
CHARACTER Z(60,23)
DIMENSION U(NX)
66 FŽ¿–â3/3F2006/11/20(ŒŽ) 18:48:34
IF(MM.EQ.1) THEN
DO 10 J=1,23
DO 10 I=2,MX-1
Z(I,J)=' '
10 CONTINUE
DO 20 J=1,23
Z(1,J)=':'
Z(MX,J)=':'
20 CONTINUE
DO 30 I=1,MX
Z(I,1)='-'
Z(I,23)='-'
30 CONTINUE
END IF
IF(MM.EQ.2) THEN
DO 40 I=1,MX
J=U(I)*40+.001
IF(J.GT.23) GO TO 40
Z(I,J)='*'
40 CONTINUE
END IF
IF(MM.EQ.3) THEN
DO 50 J=23,1,-1
WRITE(*,600) (Z(I,J),I=1,60)
50 CONTINUE
600 FORMAT(1H ,60A1)
END IF
RETURN
END

67 F59F2006/11/20(ŒŽ) 21:40:21
>>63
‚»‚¤‚Å‚µ‚½

integer :: a(1:100)=0

‚¶‚á‚È‚¢‚Æ’Ê‚ç‚ñ‚Å‚·D
68 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2006/11/22(…) 00:03:15

‚­‚¾‚·‚êFORTRANi’´‰SŽÒ—pj‚»‚Ì2
http://pc8.2ch.net/test/read.cgi/tech/1164121236/
¡“xAŒvŽZ‹@‚ð3‘ä‚΂©‚µ\’z‚¹‚˂΂Ȃç‚È‚¢‚ñ‚¾‚ªA
CPU‚Ícore2duo‚ÆXeon‚Ì‚Ç‚¿‚炪—Ç‚¢‚Ì‚¾‚낤‚©
ƒRƒ“ƒpƒCƒ‰‚̓Cƒ“ƒeƒ‹‚Ì”ñ¤—pƒtƒŠ[‚Ì‚â‚‚ðŽg‚¨‚¤‚ÆŽv‚Á‚Ä‚¢‚é
70 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2006/11/22(…) 03:56:04
Xeon5000”Ô‘ä‚Æ”äŠr‚·‚é‚È‚çXeonA
Xeon3000”Ô‘ä‚Æ”äŠr‚·‚é‚È‚çCore2Duo‚©‚È
71 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2006/11/22(…) 11:20:02
ƒLƒƒƒbƒVƒ…‚ÉÚ‚é‚È‚ç‚»‚ê‚Å‚à‚¢‚¢‚ªAƒƒ‚ƒŠ[ƒAƒNƒZƒX‘½‚¢‚È‚çItanium2‚Å’r



‚¨‘O‚炪Žg‚Á‚Ä‚¢‚éŒvŽZ‹@‚̃XƒyƒbƒN‚«‚Ú‚ñ‚Ê

‚¤‚¿‚Í
CPUFPentium4 3.2GHz
ƒƒ‚ƒŠF1GB
ƒRƒ“ƒpƒCƒ‰FIntel Fortran ƒRƒ“ƒpƒCƒ‰

ƒƒ‚ƒŠ‚ð2GB‚É‚µ‚ë‚ÆiŒ¾‚µ‚½‚ª–³—‚¾‚Á‚½B
•Ö悵‚悤‚¶‚á‚ ‚È‚¢‚©D

CPU: Pentium4 3.4GHz
RAM: 1.5GB (DDRPC3200ÃÞ­±Ù)
ºÝÊß²×: Intel Fortran Compiler 9.1

OS: Windows XP pro SP2

—Fl‚ÌC2D (T7200) “‹Ú‹@Žg‚Á‚ÄŒvŽZ‚µ‚½‚çƒm[ƒgPC‚Ì‚­‚¹‚ɉ´‚Ì
ÃÞ½¸‚æ‚è2”{ˆÈ㑬‚­‚ÄŸT‚’‚™
74 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2006/11/22(…) 15:35:21
‚±‚ê‚Í‚È‚ñ‚Å‚·‚©HHH‹³‚¦‚Ä‚­‚¾‚³‚¢II
NO ERRORS,4 WARNINGS [<TDOFS>FTN77 Ver 4.03]
NO ERRORS [<FORVIB>FTN77 Ver 4.03]
NO ERRORS [<COEF0>FTN77 Ver 4.03]
NO ERRORS [<COEF1>FTN77 Ver 4.03]
NO ERRORS [<SOLU>FTN77 Ver 4.03]
NO ERRORS [<F_TAN>FTN77 Ver 4.03]
NO ERRORS [<Z_GK>FTN77 Ver 4.03]
NO ERRORS [<INTARG>FTN77 Ver 4.03]
NO ERRORS [<INTARG3>FTN77 Ver 4.03]
NO ERRORS [<INTARG4>FTN77 Ver 4.03]
NO ERRORS [<INTARG5>FTN77 Ver 4.03]
WARNING the following symbols are missing:
DLAX D:\MyDo\Fortran\1122test.obj
(D:\MYDO\FORTRAN\1122TEST.FOR)
DLAXR D:\MyDo\Fortran\1122test.obj
(D:\MYDO\FORTRAN\1122TEST.FOR)
>>74
ƒGƒ‰[‚Í‚È‚¢i‚¨‚ß‚Å‚Æôj‚¯‚ÇA•Ï‚È‚Ì‚ª‚S‚‚ ‚Á‚½‚æB
‚È‚ñ‚©A1122test‚Á‚Ä‚¢‚¤ƒtƒ@ƒCƒ‹‚ÌDLAX, DLAXR‚Á‚Ä‚¢‚¤–¼‘O‚ª•Ï‚ÈŠ´‚¶B
‚¿‚å‚Á‚ÆŒ©‚½•û‚ª‚¢‚¢‚©‚àEEEi‚‚‚™‚Ó‚§‚Æ‚ç‚ñ‚±‚ñ‚΂¢‚ç4.03†jB
76 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2006/11/22(…) 16:07:08
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·™
¡Ì‚Ìæ”y‚̃vƒƒOƒ‰ƒ~ƒ“ƒO‚ð‰ðÍ’†‚È‚¾‚¯‚ÅAFORTRANŽ©‘Ì‚ð—‰ð‚µ‚Ä‚Ü‚¹‚ñ‚ªA’p‚ð”E‚ñ‚Å‚¨Žf‚¢‚µ‚Ü‚·B
DLAXR‚Æ‚¢‚¤‚Ì‚Í‚½‚Ô‚ñ‚±‚Ì•”•ª‚Å‚·‚ªA‚Ç‚±‚©•Ï‚Å‚µ‚傤‚©H

c **** DLAXR ***************************************
call DLAXR(XX,A,k,hmn,ALU,b,IPP,VWW,icond)
do 110 j=1,mn+1,1
jj=j-1
X(jj)=XX(j)
110 continue
do 111 j=mn+2,hmn,1
jj=j-mn-1
Y(jj)=XX(j)
111 continue
c ***********************************************************
return
end
>>76
‚킽‚µ‚à‚æ‚­‚í‚©‚ñ‚È‚¢‚¯‚ÇA
DLAXR‚ðŒÄ‚ñ‚ł邯‚ÇA‚±‚̃tƒ@ƒCƒ‹‚Å‚Í‚Ü‚¾’è‹`‚³‚ê‚Ä‚È‚¢‚©‚ç
Œ^Eiˆø”‚Ì”‚Æ‚©‚ÌjŒ`Ž®‚ª‚ ‚Á‚Ä‚é‚©•sˆÀEEE
‚悯‚ê‚΃tƒ@ƒCƒ‹‚É‘‚¢‚Æ‚¢‚Ä‚Ë

‚½‚Ô‚ñ‘¼‚̃tƒ@ƒCƒ‹‚Å’è‹`‚³‚ê‚Ä‚é‚ñ‚¾‚낤‚©‚ç
‚Æ‚è‚ ‚¦‚¸“K“–‚É‚­‚Á‚‚¯‚邯‚ÇAŠÔˆá‚Á‚Ä‚à“{‚ç‚È‚¢‚Å‚Ëi‚‚‚™‚Ó‚§‚Æ‚ç‚ñ‚±‚ñ‚Ï‚¢‚çj
>>74
DLAX, DLAXR ‚Á‚Ä–¼‘O‚©‚çŽ@‚·‚é‚ÆA•xŽm’Ê‚Ì”’lŒvŽZƒ‰ƒCƒuƒ‰ƒŠSSL II ‚ðŽg‚Á‚Ä‚é‚Á‚Û‚¢B
‚·‚êˆá‚¢‚©‚à’m‚ê‚È‚¢‚ªACoreDuoACore2Duo‚ÅLinux‚Å“®‚­‚ÌH
>Core2Duo‚ÅLinux‚Å
ƒVƒ“ƒ^ƒbƒNƒXEƒGƒ‰[F ‰ðŒˆ‚³‚ê‚È‚¢•ŽŒu‚Åv
>>80
nice
82 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2006/11/22(…) 23:35:23
>>74
‚»‚ê‚Í>>78‚É‚ ‚é‚悤‚ÉASSLII‚̃‰ƒCƒuƒ‰ƒŠ‚ð“Ç‚ñ‚Å‚¢‚é‚Ì‚ÅA‚»‚ꂪ–³‚¢‚ÆŒ¾‚Á‚Ä‚¢‚éB

SSLII‚̃‰ƒCƒuƒ‰ƒŠ‚ª‚ ‚éƒRƒ“ƒpƒCƒ‰iFujitsuALaheyj‚Ì“z‚Å‚â‚é‚©A
‚ ‚é‚¢‚Í‘¼‚̃‰ƒCƒuƒ‰ƒŠ‚Å’u‚«Š·‚¦‚é•K—v‚ª‚ ‚éB

LU•ª‰ð‚Á‚Û‚¢‚Ì‚ÅALAPACK‚Æ‚©‰½‚Å‚à‚ ‚é‚×B

83 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ F2006/11/23(–Ø) 14:05:27
nsm—ñ‚Ìs—ñ‚ª‚ ‚èA‚»‚±‚©‚çnsm—ñ‚Ì‚»‚ꂼ‚ê‚Ì’l‚ðˆê—ñ‚É’¼‚µ‚ÄA‚»‚ꂼ‚ê‚É’l‚ɂ‚¢‚Ä‘å‚«‚¢‡‚É•À‚ׂȂ¨‚µAŒ³‚Ì‚Žs‚—ñ‚É’¼‚µ‚Ä‚Ý‚½‚¢‚Ì‚Å‚·‚¯‚Ç‚Ç‚ñ‚ȃvƒƒOƒ‰ƒ€‚Ì•û–@‚ª‚ ‚è‚Ü‚·‚©H

‚悯‚ê‚ÎA‹³‚¦‚Ä‚­‚¾‚³‚¢„ƒ

‚¿‚È‚Ý‚Éfortran77‚ðŽg‚Á‚Ä‚¢‚Ü‚·„ƒ/
84 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2006/11/23(–Ø) 16:00:07
>>83
Œ¾‚Á‚Ă邱‚Æ‚ª‚æ‚­•ª‚©‚ç‚È‚¢‚ªA‚QŽŸŒ³s—ñ‚ð—ñ‚²‚ƂɃ\[ƒg‚µ‚ÄA
ã‚©‚牺‚Ö‘å‚«‚¢‡‚É•À‚ׂȂ¨‚µ‚½‚¢‚Æ‚¢‚¤‚±‚Æ‚©H


‚»‚ê‚È‚çŠÈ’P‚¾B
‚PD‚Ü‚¸‚PŽŸŒ³ƒ\[ƒg‚̃Tƒuƒ‹[ƒ`ƒ“‚ð—pˆÓ‚·‚éB‚±‚ê‚ð SORT(n, x) ‚Æ‚µ‚悤B

‚QD—ñ‚²‚ƂɃ\[ƒg‚·‚éB
DO ‚P‚O i = 1, m
@CALL SORT(N, X(1, i))
10 CONTINUE

‚±‚ê‚Å‚¨‚‹B
85 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ F2006/11/23(–Ø) 18:03:09
„„84‚³‚ñŽw“E‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·

‚Å‚à‚¿‚å‚Á‚ƈႤ‚Ì‚Å‚·„ƒ@
‚½‚Æ‚¦‚ÎA1@5@ 9@13
@@@@@2@6@10@14
@@@@@3@7@11@15
@@@@@4@8@12@16

‚ɂ‚¢‚ÄA
1
2
3
c
16

‚Æ‚¢‚Á‚Ä‚©‚燔Ԃð•ÏX‚µ‚Ä

16@12 8 4
15@11 7 3
14@10 6 2
13@ 9@5 1

‚Æ‚¢‚¤•—‚É•À‚ׂ½‚¢‚Ì‚Å‚·
86 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2006/11/23(–Ø) 19:56:32
>>85
‚»‚ê‚È‚ç‚à‚Á‚ÆŠÈ’P‚¾BFORTRAN‚V‚V‚Í”z—ñ‚Ì擪ƒAƒhƒŒƒX‚µ‚©“n‚³‚È‚¢B
ŽŸŒ³”‚Æ‚©‘å‚«‚³‚Í‹C‚É‚µ‚È‚¢B
‚Ü‚½AFORTRAN‚Ì”z—ñ‚̓ƒ‚ƒŠ[ã‚Å‚ÍA—ñ•ûŒü‚ɗׂ臂Á‚Ä‚PŽŸŒ³‚É•À‚ñ‚Å‚¢‚éB
‚䂦‚ÉAN*M‚Ì—v‘f”‚Å‚PŽŸŒ³‚̃\[ƒg‚ð‚·‚ê‚΂¢‚¢B

‚PD‚PŽŸŒ³‚̃\[ƒg‚ð—pˆÓ‚·‚éB
‚QDCALL@SORTiN*MAXj

‚±‚ê‚ÅOK
>>83
Œ³Xmixi‚É‘‚«ž‚ñ‚¾‚ñ‚¾‚©‚çA‰ðŒˆ‚µ‚½‚çmixi‚É‚à‘‚­‚悤‚ÉB
88 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2006/11/24(‹à) 11:44:03
>>87@
‚Â[‚©>>83‚̃Œƒxƒ‹‚Å‚Í>>86‚̉ñ“š‚Í—‰ð‚Å‚«‚È‚¢‚ñ‚¶‚á‚È‚¢‚©B

FORTRAN‚Í‚±‚¤‚¢‚¤ƒCƒJƒTƒ}‹Z‚É‚æ‚Á‚ÄA‚PŽŸŒ³®”‚OƒNƒŠƒA‚ð‚‚Á‚©‚Á‚Ä
‘½ŽŸŒ³®”AŽÀ”‚Ȃǂ̃NƒŠƒA[‚ÉŽg‚¦‚½BˆêŽí‚ÌPolymorphism@‚—‚—‚—‚—‚—

89 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2006/11/24(‹à) 14:36:03
„86‚³‚ñ‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·

Šm‚©‚É‘¬‚­’m‚肽‚¢‚Æ‚¢‚¤‹C‚ª‚Í‚â‚è‚·‚¬‚ÄA‚¢‚ë‚ñ‚ÈŠ‚ÅŽ¿–₵‚Ä‚¢‚Ü‚·‚Ë
‚¿‚á‚ñ‚ÆŽ©•ª‚Å—‰ð‚Å‚«‚½‚ç‘‚¢‚Ä‚¢‚«‚½‚¢‚Æ‚ÍŽv‚Á‚Ä‚¢‚é‚Ì‚Å‚·‚¯‚Ç‚Ë
‚Å‚àA‚â‚Í‚è‚¿‚å‚Á‚Æ—‰ð‚Å‚«‚Ü‚¹‚ñOOG
‚悯‚ê‚ÎA‰½‚©—á‚Æ‚©‚ ‚é‚Æ‚ ‚肪‚½‚¢‚Ì‚Å‚·‚¯‚Ç„ƒ
90 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2006/11/24(‹à) 14:36:17
>>77@
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·I

>>78‚³‚ñ‚ÌŒ¾‚¤‚Æ‚¨‚èA•xŽm’ÊSSL‡U‚ðŽg‚Á‚Ä‚¢‚é—lŽq‚Å‚·B

>>82
Lahey‚âLAPACK‚Æ‚Í‚Ç‚ñ‚È‚à‚Ì‚Å‚·‚©HH
92 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2006/11/24(‹à) 23:12:56
>>90
Lahey‚̓Rƒ“ƒpƒCƒ‰‚ÌŽ©ŽÐ“ÆŽ©ŠJ”­‚ð‚â‚ß‚ÄA¡‚Å‚Í•xŽm’ʂ̃tƒƒ“ƒgƒGƒ“ƒh‚ðŽg‚Á‚Ä‚¢‚éB
•xŽm’Ê‚ÍLinux”Å‚µ‚©o‚µ‚Ä‚¢‚È‚¢‚ªALahey‚ÍWindows”Å‚ào‚µ‚Ä‚¢‚éB
•xŽm’Ê‚ª—‚ñ‚Å‚¢‚é‚Ì‚ÅAƒvƒƒtƒFƒbƒVƒ‡ƒiƒ‹ƒo[ƒWƒ‡ƒ“‚𔃂¤‚ÆSSL‚ª‚‚¢‚Ä‚­‚éB

‚ ‚ÆSSL‚Í–¼ŒÃ‰®‘åŠw‚ÌNUPACK‚Æ–§Ú‚ÈŠÖŒW‚ª‚ ‚é‚Ì‚ÅAnetNUMPAC‚ªŽQl‚É
‚È‚é‚©‚à‚µ‚ê‚È‚¢‚µA‚È‚ç‚È‚¢‚©‚à‚µ‚ê‚È‚¢‚—‚—‚—
˜R‚ê‚Í•xŽm’ÊŒn‚̓ƒCƒ“‚É‚ÍŽg‚í‚È‚©‚Á‚½‚Ì‚Å‚æ‚­’m‚ç‚ñ‚—


LAPACK‚͌ŗL’n–â‘è‚ÆüŒ`–â‘è—p‚̃Tƒuƒ‹[ƒ`ƒ“W‚¾B‚±‚ê‚Í‘Û•W€‚Ɖ»‚µ‚Ä‚«‚Ä‚¢‚é‚Ì‚Å
‚Ç‚±‚Ì‹@ŠB‚Å‚à“®‚¢‚Ä‚¢‚éB
>>89
PROGRAM unko
REAL a(5, 2)
CALL kintama(5 * 2, a)
DO 10 i = 1, 5
PRINT *, a(i, 1), a(i, 2)
10 CONTINUE
END
C
SUBROUTINE kintama(n, x)
REAL x(n)
DO 10 i = 1, n
x(i) = REAL(i)
10 CONTINUE
RETURN
END

ŽÀsŒ‹‰Ê

1.000000 6.000000
2.000000 7.000000
3.000000 8.000000
4.000000 9.000000
5.000000 10.00000
Press any key to continue

ƒTƒuƒ‹[ƒ`ƒ“@‹à‹Ê@‚ÅA1ŽŸŒ³”z—ñ‚˜‚É‚P`‚Ž‚܂ҔԂɔ‚ð‘ã“ü‚µ‚Ä‚¢‚éB
ˆê•ûAƒƒCƒ“ƒ‹[ƒ`ƒ“‚©‚çŒÄ‚Ño‚·‚Æ‚«‚ÍA‚QŽŸŒ³”z—ñ‚ðˆø”i‚Ђ«‚·‚¤j‚É—^‚¦‚Ä‚¢‚éB
—v‘f”‚Ís~—ñ‚P‚OŒÂ‚Å“n‚µ‚Ä‚¢‚éB@•Ô‚Á‚Ä‚­‚錋‰Ê‚ðŒ©‚é‚ÆA—ñ•ûŒü‚ɘA‘±‚µ‚½’l‚Å–ß‚Á‚Ä—ˆ‚Ä‚¢‚éB

“¯—l‚Ì‚±‚Æ‚ðSORT‚Å‚â‚ê‚ÎA‚Í‚¶‚ß“ñŽŸŒ³‚Ƀ‰ƒ“ƒ_ƒ€‚¾‚Á‚½”‚ªA
—ñ•ûŒü‚Ƀ\[ƒg‚³‚ê‚Ä–ß‚Á‚Ä‚­‚éB
>>89
„Šm‚©‚É‘¬‚­’m‚肽‚¢‚Æ‚¢‚¤‹C‚ª‚Í‚â‚è‚·‚¬‚ÄA‚¢‚ë‚ñ‚ÈŠ‚ÅŽ¿–₵‚Ä‚¢‚Ü‚·‚Ë
‚»‚ê‚̓}ƒ‹ƒ`ƒ|ƒXƒg‚ÆŒ¾‚Á‚ÄAƒ}ƒi[ˆá”½‚¾‚ÈB
‚±‚±‚ð‚æ[‚­“Ç‚ñ‚Ç‚­‚悤‚ÉB
http://ja.wikipedia.org/wiki/%E3%83%9E%E3%83%AB%E3%83%81%E3%83%9D%E3%82%B9%E3%83%88
‚e‚n‚q‚s‚q‚`‚m‚̃GƒƒQ‚Æ‚©‚È‚¢‚ÌH
96 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2006/11/27(ŒŽ) 19:00:46
>>53
„x(1:n) = y(1:n)

‚±‚Ì‘‚«•û‚Á‚ėႦ‚ÎŽŸ‚̂悤‚È‘Q‰»Ž®‚ÉŽg‚¤‚Æ
‚¿‚á‚ñ‚ÆŒvŽZ‚µ‚Ä‚­‚ê‚È‚¢D

x(1)=0
x(2)=1
x(3:n) = 2*x(2:n-1) - 4*x(1:n-2)

Ž©•ª‚ÉŽ©•ª‚ð‘ã“ü‚·‚é‚悤‚È
Ž®‚¾‚Æ‘Ê–Ú‚Á‚Û‚¢ (“r’†‚©‚ç‘S•”0‚É‚È‚é)D‚È‚ñ‚ÅHH
>>96
”z—ñ‚̉‰ŽZ‚Í‚·‚ׂĕÀ—ñŒvŽZ‚Æ‚µ‚Ĉ—‚³‚ê‚é‚Ì‚Å x ‚Ì—v‘f‚ª 0 ‚ʼnŠú‰»‚³‚ê‚Ä‚¢‚½ê‡A
x(3) = 2*x(2) - 4*x(1) = 2*1 - 4*0 = 2
x(4) = 2*x(3) - 4*x(2) = 2*0 - 4*1 = -4
x(5) = 2*x(4) - 4*x(3) = 2*0 - 4*0 = 0
x(6) = 2*x(5) - 4*x(4) = 2*0 - 4*0 = 0
EEE
‚Æ‚È‚éB

do i=2,n
x(i) = x(i-1) + 1
end do
‚Æ
x(2:n) = x(1:n-1) + 1
‚ł͈Ӗ¡‚ªˆá‚¤‚Ì‚¾B
98 F96F2006/11/27(ŒŽ) 22:18:19
>>97
‚¨‚¨`‚æ‚­‚í‚©‚è‚Ü‚µ‚½I
‚ ‚肪‚Æ‚¤
99 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2006/11/28(‰Î) 00:17:59
>>96
REAL::A(N, N), B(N, N)
‚`@@‚`@–@‚a
‚̂悤‚È󋵂ðl‚¦‚ê‚ÎA¡‚Ì‚e‚n‚q‚s‚q‚`‚m‚ÌŽd—l‚ª‚à‚Á‚Æ‚à‚¾‚Æ•ª‚©‚éB
s—ñ‘€ì‚ª‚ç‚Ý‚ÅA‚±‚ÌŽd—l‚Í‚Æ‚Ä‚à•Ö—˜B‚¢‚¿‚¢‚¿Ž©•ª‚Ńeƒ“ƒ|ƒ‰ƒŠ‚ɃRƒs[‚µ‚È‚­‚Ä‚¢‚¢B

‚ ‚ƈꉞA•À—ñ‰»‚³‚ꂽ‚Æ‚«‚Ì‚±‚Æ‚àl—¶‚³‚ê‚Ä‚»‚¤‚¢‚¤Žd—l‚É‚È‚Á‚Ä‚¢‚é‚炵‚¢B
100 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2006/11/29(…) 13:24:49
>>74‚̃vƒƒOƒ‰ƒ€‚É‚¨‚¢‚ÄAƒtƒ@ƒCƒ‹‚Ì’è‹`‚Æ‚Í‚Ç‚Ì•”•ª‚ɂǂ̂悤‚É‘‚«ž‚Þ‚à‚Ì‚È‚Ì‚Å‚·‚©H
‘S‘̂̃vƒƒOƒ‰ƒ€‚Ì’†‚Ì‚Ç‚±‚©‚ɉB‚ê‚Ä‚¢‚é‚Ì‚Å‚µ‚傤‚©H
101 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ F2006/11/29(…) 21:16:59
ŽŸ‚ÌðŒ‚Ì‚¤‚¿‚©‚瑼‚̈ʒu‚̈ܓx(ƒÆ2)‚ÆŒo“x(ƒÉ2)‚ð‹‚ß‚éƒvƒƒOƒ‰ƒ€‚ð쬂¹‚æB
1.Œ³‚Ìꊂ̈ܓx(ƒÆ1)‚ð–kˆÜ35“x40•ªAŒo“x(ƒÉ1)‚𓌌o139“x12•ª
2.‹——£(s)‚ð6242.2‚‹‚‚Æ‚·‚é@‚“R~ƒ¿‹~ƒÎ/180@@iR6370‚‹‚j
3.•ûˆÊŠp(ƒË)‚ð86.6“x‚Æ‚·‚é@sinƒË=cosƒÆ2~sin‡™ƒÉ/sinƒ¿ i‡™ƒÉ=ƒÉ2-ƒÉ1j
(—˜—p‚Å‚«‚é‚Ì‚Å‚ ‚ê‚Îcosƒ¿=sinƒÆ1sinƒÆ2+cosƒÆ1cosƒÆ2cos‡™ƒÉ‚ð—˜—p‚µ‚Ä‚à‚æ‚¢)
‚Ü‚½A‘¼‚Ì•û–@‚ª‚ ‚é‚Ì‚Å‚ ‚ê‚΂»‚̃vƒƒOƒ‰ƒ€‚ð쬂¹‚æB

³’¼Œ¾‚Á‚ÄA‚¿‚ñ‚Õ‚ñ‚©‚ñ‚Õ‚ñ‚È‚Ì‚Å‚·„ƒ
‚í‚©‚é•û‚ª‚¢‚ê‚΂悯‚ê‚ÎA‹³‚¦‚Ä‚­‚¾‚³‚¢‚Ü‚¹‚ñ‚©„ƒ
102 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2006/11/29(…) 23:12:10
>>100
Šî–{“I‚ɃŠƒ“ƒJ[‚ɑ΂µ‚ă‰ƒCƒuƒ‰ƒŠ‚ðŽw’è‚·‚邾‚¯‚Å‚ ‚éB

ŋ߂̃Rƒ“ƒpƒCƒ‰‚ÍAƒRƒ“ƒpƒCƒ‰Eƒhƒ‰ƒCƒo‚Æ‚¢‚¤‚à‚Ì‚ªAƒRƒ“ƒpƒCƒ‰‚⃊ƒ“ƒJ[‚È‚Ç‚ð
Ž©“®“I‚ÉŽŸXŒÄ‚Ño‚µ‚Ä‚¢‚é‚Ì‚ÅA‚»‚̃wƒ‹ƒv‚ð‚æ‚­“Ç‚ñ‚ÅAƒŠƒ“ƒJ[‚Ƀ‰ƒCƒuƒ‰ƒŠ‚ð
Žw’è‚·‚éƒIƒvƒVƒ‡ƒ“‚ð’T‚·‚ׂµB

ƒRƒ“ƒpƒCƒ‰Eƒhƒ‰ƒCƒo‚É‚ÍAƒRƒ“ƒpƒCƒ‰‚ւ̃IƒvƒVƒ‡ƒ“‚ÆAƒŠƒ“ƒJ[‚ւ̃IƒvƒVƒ‡ƒ“‚ð
ŒÂX‚É—^‚¦‚邱‚Æ‚ª‚Å‚«‚éB

‚±‚Ì•Ó‚ÍA•Ö—˜‚É‚È‚Á‚½•ª‚©‚¦‚Á‚ÄÌ‚æ‚艽‚â‚Á‚Ä‚é‚Ì‚©‚í‚©‚ç‚È‚­‚È‚Á‚Ä‚éB

>>101
‹…–ÊŽOŠp‚ª‚ñ‚΂ꂗ
103 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2006/11/30(–Ø) 02:28:58
>>101
‚Ç‚¤‚à”MŠC‚Ì“‡‚©‚çŽË’ö–ñ‚U‚O‚O‚O‚‹‚‚̃eƒ|ƒhƒ“‚ð”­ŽË‚µ‚Ä‚¢‚é‚悤‚¾‚ªA
•ûˆÊŠp(ƒË)‚Ì’è‹`‚ª•ª‚©‚ç‚ñB‚à‚¤­‚µÚ‚µ‚­B
‚Ü‚ŸŽ®‚ª—^‚¦‚ç‚ê‚Ä‚¢‚é‚Ì‚Åî•ñ‚Æ‚µ‚Ä‚Í‚·‚Å‚É\•ª‚È‚Ì‚¾‚ªA
”Ž®‚©‚ç‹tŽZ‚·‚é‹C—Í‚ª‚È‚¢B

cosƒ¿=sinƒÆ1sinƒÆ2+cosƒÆ1cosƒÆ2cos‡™ƒÉ@‚Í“àÏ‚©‚ço‚½B
>>101
¡“x‚Í2‚¿‚á‚ñ‚É‘‚¢‚½Œãmixi‚Å‚·‚©B
105 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2006/11/30(–Ø) 22:25:56
>>101
“š‚¦‚ÍAƒnƒƒC‚̃IƒAƒt“‡‚¾B@–kˆÜ‚Q‚P“x‚Q‚S•ª@¼Œo‚P‚T‚V“x‚T‚R•ª‚¾B
‚‚¢‚Å‚É”­ŽË’n“_‚Í”MŠC‚Å‚Í‚È‚­A”ª‰¤Žq‚Ì‚ ‚½‚肾‚ÈB

PROGRAM vipper
IMPLICIT NONE
REAL :: theta1, theta2, phi1, phi2, alpha, anu, pi
REAL :: rot_z(3, 3), rot_y(3, 3), vec1(3), vec2(3)
CHARACTER :: ns, ew
pi = 4.0 * ATAN(1.0)
alpha = 6242.2 / 6370.0
anu = ( 180.0 - 86.6 ) * pi / 180.0
theta1 = ( 90.0 - ( 35.0 + 40.0 / 60.0 ) ) * pi / 180.0
phi1 = ( 139.0 + 12.0 / 60.0 ) * pi / 180.0
!
rot_z(1, :) = (/ COS(phi1), -SIN(phi1), 0.0 /)
rot_z(2, :) = (/ SIN(phi1), COS(phi1), 0.0 /)
rot_z(3, :) = (/ 0.0, 0.0, 1.0 /)
!
rot_y(1, :) = (/ COS(theta1), 0.0, SIN(theta1) /)
rot_y(2, :) = (/ 0.0, 1.0, 0.0 /)
rot_y(3, :) = (/ -SIN(theta1), 0.0, COS(theta1) /)
!
vec1(1) = SIN(alpha) * COS(anu)
vec1(2) = SIN(alpha) * SIN(anu)
vec1(3) = COS(alpha)
!
vec2 = MATMUL(rot_z, MATMUL(rot_y, vec1))
!
106 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2006/11/30(–Ø) 22:27:15
theta2 = ASIN(vec2(3)) * 180.0 / pi
phi2 = ATAN2(vec2(2), vec2(1)) * 180.0 / pi
!
PRINT *, theta2, phi2
ns = 'N'
IF (theta2 < 0.0) ns = 'S'
ew = 'E'
IF ( phi2 < 0.0) ew = 'W'
PRINT '(i4, a, i2, 1x, a)', INT(ABS(theta2)), ' ', NINT(( ABS(theta2) - INT(ABS(theta2)) ) * 60.0), ns
PRINT '(i4, a, i2, 1x, a)', INT(ABS( phi2)), ' ', NINT(( ABS( phi2) - INT(ABS( phi2)) ) * 60.0), ew
STOP
END PROGRAM vipper
107 F105F2006/11/30(–Ø) 22:29:33
‚²‚ß‚ñ@–kˆÜ‚Æ“ìˆÜ‚̈—‚ªŠÔˆá‚Á‚½‚܂܂̌¢‚Ì‚¤‚‚µ‚Ä‚µ‚Ü‚Á‚½B
‚ÜA–{Ž¿‚Í•Ï‚í‚ç‚ñ‚©‚ç“K“–‚Ɉ—‚µ‚Ä‚¨‚¢‚Ä‚­‚êB

Ž¿–₪‚ ‚ê‚ÎA“š‚¦‚â‚·‚­˜_—“I‚É•·‚¢‚Ä‚­‚êB
108 F105F2006/11/30(–Ø) 22:33:40
ƒXƒŒ‰˜‚µ@‚·‚Ü‚ñ‚±‚—

o—ÍŒ‹‰Ê‚¾B

21.39687 -157.8804
21 24 N
157 53 W
Press any key to continue


‚ ‚ÆA•ûˆÊŠpƒË‚Í^–k‚©‚玞Œv‰ñ‚è‚É‘ª‚邱‚Æ‚Æ‚µ‚½B
‚‚܂衂̖â‘è‚Å‚ÍA”ª‰¤Žq‚©‚ç‚Ù‚Ú^“Œ‚ÉA’n‹…‚Ì”¼Œa‚Æ‚¾‚¢‚½‚¢“¯‚¶‚¾‚¯”ò‚Ô‚Æ
ƒnƒƒC‚̃zƒmƒ‹ƒ‹‹ß•Ó‚É’…‚­‚Æ‚¢‚¤Ž–‚¾B

‚f‚‚‚‡‚Œ‚…@‚d‚‚’‚”‚ˆ‚ÅŠm‚©‚ß‚Ä–¡‘XB’è‹K‚ðŽg‚¤‚Æ‚Q’n“_ŠÔ‚Ì‹——£‚𑪂ê‚éB
Mixi ‚æ‚è vipper ‚Ì•û‚ªã‚È‚Ì‚©‚æ‚—@
110 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ F2006/12/01(‹à) 15:04:03
„105‚³‚ñ‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·

¡“ú‚¾‚³‚ꂽ“š‚¦‚ðŒ©”ä‚ׂĂ݂½‚çA‡‚Á‚Ä‚¢‚Ü‚·II
‚Å‚àAŽ„‚ªŽÀÛ‚É‚â‚Á‚Ä‚Ý‚½Š‚½‚­‚³‚ñ‚̃Gƒ‰[o‚Ä‚«‚Ä‚Ç‚¤‚µ‚悤‚à‚È‚¢
ó‘Ô‚Å‚·„ƒ
¡AŽ„‚ª—˜—p‚µ‚Ä‚¢‚é‚Ì‚Í[fc pad FTR77]‚Æ‚¢‚¤fortran77‚Ì‚à‚Ì‚È‚ñ‚Å‚·‚ª
‚Ç‚¤‚µ‚ăGƒ‰[‚ªo‚Ä‚µ‚Ü‚¤‚Ì‚©‚ª‚æ‚­‚í‚©‚è‚Ü‚¹‚ñ„ƒ

‚à‚µ‚ࡉñ‚Ì‚à‚Ì‚ªfortran77‚Å‚È‚¢‚Æ‚µ‚½‚çA¡“x‚©‚çŽÀÛ‚É‚â‚é‚Æ‚µ‚½‚ç
‚ǂ̂悤‚ȃvƒƒOƒ‰ƒ€‚É‚È‚é‚Ì‚Å‚·‚©H

‚悯‚ê‚ÎA‹³‚¦‚Ä‚­‚¾‚³‚¢„ƒ
•‚“®¬”“_‚Ì’l‚ª‚Å‚©‚·‚¬‚Ä®”Œ^‚É•Ï‚¦‚ç‚ê‚Ü‚¹‚ñ
‚Á‚ăGƒ‰[‚ªo‚Ä‚­‚é‚ñ‚Å‚·‚ªA‚Ç‚¤‚·‚ê‚Ήñ”ð‚Å‚«‚Ü‚·‚©H
•‚“®¬”“_‚Ì‚Ü‚Ü‚¿‚Á‚¿‚á‚­‚µ‚Äi‚P‚O‚ÅŠ„‚é‚Æ‚©j®”Œ^‚É•Ï‚¦‚Ä‚©‚ç‚P‚O‚ð
Š|‚¯‚é‚Æ‚©‚·‚ê‚Ήñ”ð‚Å‚«‚é‚ÆŽv‚¢‚Ü‚·‚¯‚Çi’[”‚ÍŽæ‚Á‚Æ‚¢‚ÄŒã‚Å‘«‚·‚Æ‚µ‚Äj
‚±‚ñ‚È–­‚È‚±‚Æ‚·‚é•K—v‚È‚¢‚Å‚·‚æ‚Ëc

‚­‚¾‚·‚ê‚É‘‚«ž‚ނׂ«‚©‚ÆŽv‚¢‚Ü‚µ‚½‚ª—Ž‚¿‚Ä‚Ü‚·‚æ‚ËH
‚­‚¾‚·‚êFORTRANi’´‰SŽÒ—pj‚»‚Ì2
http://pc8.2ch.net/test/read.cgi/tech/1164121236/

‚»‚ê‚©‚玿–â“à—e‚Íu‹ï‘Ì“I‚Év‚È
>>112
‚ ‚êH‚½‚Á‚Ä‚Ü‚µ‚½‚©c‚·‚Ý‚Ü‚¹‚ñB
‚»‚¿‚ç‚Å•·‚¢‚Ä‚«‚Ü‚·A‚ ‚肪‚Æ‚¤B
>>111
¡‚̈ê”Ê‚ÌFORTRAN‚Ì®”‚Í‚R‚Qƒrƒbƒg‚Ì®”‚¾B
‚»‚Ìꇕ\‚µ‚¤‚锂͈̔͂Í|‚QO‚R‚P`‚QO‚R‚P|‚P‚¾B

‚QO‚R‚P‚Q‚P‚S‚V‚S‚W‚R‚U‚S‚W`‚Q–‚P‚OO‚X¨‚QƒMƒK@‚¾‚©‚çA‚±‚ê‚æ‚èâ‘Î’l‚Ì‘å‚«‚¢
ŽÀ”‚ð®”‚É•ÏŠ·‚µ‚悤‚Æ‚·‚ê‚΃Gƒ‰[‚ªo‚éB

‚½‚Æ‚¦‚P‚O‚ÅŠ„‚Á‚Ä‚¤‚Ü‚­Žû‚Ü‚Á‚Ä‚à‚P‚O”{‚µ‚½‚çƒI[ƒo[ƒtƒ[‚·‚é‚Ì‚Å–³ˆÓ–¡‚¾B
®”‚̃I[ƒo[ƒtƒ[‚ÍŒŸ’m‚³‚ê‚È‚¢‚Ì‚ÅiƒIƒvƒVƒ‡ƒ“‚É‚à‚æ‚邪jŽÀsŽžƒGƒ‰[‚ª
o‚È‚¢‚Ü‚Ü–³ˆÓ–¡‚ÈŒvŽZ‚ª‘±‚­‚±‚Æ‚É‚È‚éB

>>110
‚»‚ê‚ÍFortran90‚̃vƒƒOƒ‰ƒ€‚¾‚©‚çAFortran77‚ł̓Gƒ‰[‚ªo‚é‚Ì‚Í“–‘R‚¾B
‚¿‚Ý‚Í¡“x‚©‚ç‚ÍA‚­‚¾ƒXƒŒ‚Ì•û‚É‘‚«‚È‚³‚¢B

‚µ‚©‚µ‚»‚Ì’ö“x‚̃Œƒxƒ‹‚ÅA‚ ‚ÌÀ•W‰ñ“]‚ðŽg‚Á‚Ä‰ð‚¢‚½ƒvƒƒOƒ‰ƒ€‚ðo‚µ‚½‚ç
‘¼l‚É‚â‚Á‚Ä‚à‚ç‚Á‚½‚±‚Æ‚ªƒoƒŒƒoƒŒ‚¾‚—‚—‚—

ŽŸ‚©‚ç‚Íʼn‚ÉFORTRAN77‚Å‚¨Šè‚¢‚µ‚Ü‚·‚Æ‘‚¢‚Ä‚¨‚«‚È‚³‚¢B
‚à‚Á‚ƉSŽÒ‚ɂ₳‚µ‚­‚µ‚Ä‚â‚ê‚æB

Fortranƒ†[ƒU[‚ð‘‚â‚·‚½‚ß‚ÉB
>>117
“¯ˆÓEEEi‚Ç‚¤‚Å‚à‚¢‚¢‚ª‚—j
‰SŽÒ‚Á‚Â[‚æ‚è‘ü‚Ìh‘苳‚¦‚ăNƒ“‚Á‚Û‚¢‚ªB
FORTRAN77
‚ÌGOTO•¶‚ƃ‰ƒxƒ‹‚Ì—’‚É
‚¢‚â‚É‚È‚èCŽb‚­C++Œn‚É•‚‹C‚µ‚Ä‚½‚ª
Fortran90“–‚è‚©‚ç‚Ü‚½Ì«Ä×ÝÅ°‚É–ß‚Á‚½
>>120
‚¨‚©‚¦‚è‚È‚³‚¢B

CŒ¾Œê‚ÍAC99,D,C++,ObjectiveC,Secure‚ÈC‚È‚Ç‚É•ª—ô‚µ‚Ä‚«‚Ä‚¢‚é‚Ì‚ÅA
ø‚Á‚Ä‚±‚Ì•ª—ô‚ð‚¢‚Á‚»‚¤[‚ß‚ÄAFortran‚ð—L—˜‚É‚µ‚Ä‚­‚êB

>>121
‚»‚ê‚ð”­“W‚Æ‚à‚¢‚¤‚ñ‚¾‚ª‚—
ŒvŽZ—Ê‚ª‘‚¦‚Ä‚«‚½‚Ì‚ÅA1‘äƒpƒ\ƒRƒ“‚ð‘‚â‚»‚¤‚Æ‚µ‚Ä‚¢‚é‚Ì‚Å‚·‚ªA
iŒ»ÝPen4 3.6GHzAIntelVisualFortran9.0j
•À—ñŒvŽZ‚µ‚»‚¤‚É‚È‚¢ƒR[ƒh‚È‚Ì‚ÅACPU‚Ì‘I‘ð‚É–À‚Á‚Ä‚¢‚Ü‚·B
¡‚Ü‚ÅPen4‚ ‚½‚è‚̃Vƒ“ƒOƒ‹ƒRƒA‚Å—¬‚µ‚Ä‚¢‚½•û‚Í‚±‚ê‚©‚ç
‚Ç‚¤‚³‚ê‚é‚‚à‚è‚Å‚·‚©H
Core2Duo‚Æ‚©‚Ç‚¤‚È‚ñ‚Å‚µ‚傤EEE
ã‚Ì•û‚Å‚ÍCore2Duo‚Ì•û‚ª‘¬‚¢‚Æ‚¢‚¤‘‚«ž‚Ý‚ª‚ ‚è‚Ü‚·‚ªEEE
ˆê‰ž—\ŽZ‚Í1Ž®20–œ‰~ˆÊ‚ð‘z’肵‚Ä‚¢‚Ü‚·D
>>122
‚¢‚âAƒnƒbƒeƒ“‚ÍŒ‹\‚È‚ñ‚¾‚ªA‚¤‚Ü‚­“¯‚¶‚­‚ç‚¢‚ÉŽ}•ª‚©‚ꂵ‚Ä‚à‚炦‚é‚ÆA“àƒQƒo‚ªŽn‚Ü‚Á‚Ä
‘S•”Š‘Þ‚µ‚Ä‚­‚ê‚Ä•‚©‚éB

‚ ‚ÆC”h¶Œ¾Œê‚ªSecure‚È•ûŒü‚ÉŒü‚©‚Á‚Ä‚­‚ê‚é‚ÆAÅ“K‰»ƒXƒs[ƒh‚ª—Ž‚¿‚Ă₪‚ÄŽ©–Å‚·‚邾‚낤B
ƒoƒbƒtƒ@[ƒI[ƒo[ƒ‰ƒ“‚Ì‹°•|‚Æ‚©‚ðø‚Á‚Äí‚ÉSUBCHK‚©‚¯‚½‚Ü‚Ü‘–‚é‚悤‚ÉŽdŒü‚¯‚é‚ׂµB

Java‚âC#‚È‚Ç‚ÍŒ‹‹Çª–{“I‚É•ûŒü‚ðŠÔˆá‚Á‚Ä‚¢‚é‚ÆŽv‚¤B
UCSD@p-code@Pascal‚ÌÌ‚©‚çAVirtualMachine‚Í‚Æ‚Ä‚à‚¢‚¢ƒAƒCƒfƒA‚̂悤‚ÉŽv‚¦‚ÄA
‚»‚ê‚Å‚¢‚Ä‚¤‚Ü‚­s‚Á‚½‚½‚ß‚µ‚ª‚È‚¢BƒXƒs[ƒh‚ª‚ ‚ê‚΃Gƒ~ƒ…ƒŒ[ƒVƒ‡ƒ“‚Å\•ª‚¾‚ÆA‚Þ‚©‚µ‚©‚ç
Œ¾‚í‚ê‚Ä‚«‚½‚ªAƒXƒs[ƒh‚ªã‚ª‚é‚ÆV‚µ‚¢Žg‚¢•û‚ªo‚Ä‚«‚ÄAƒMƒŠƒMƒŠ‚ÌCPUÁ”
‹‚ß‚ç‚ê‚é‚©‚炤‚Ü‚­s‚­‚Í‚¸‚ª‚È‚¢B


‚à‚Á‚Æ‚àFortran‚à‹KŠi‚ª‚Ç‚ñ‚Ç‚ñ”ì‘剻‚µ‚Ä‚¢‚Ä‚©‚‚ĂÌPL/IŒ^‚Ì”j–Å‚Ì“¹‚ð
‚½‚Ç‚Á‚Ä‚¢‚é‹C‚ª‚µ‚È‚­‚à–³‚¢‚Ì‚¾‚ª‚—
>>124
PL/I‚©‚—
VM‚͂킵‚ç‚̂悤‚ÉŒvŽZ‹@‚Æ‚µ‚ÄŽg‚¤l‚É‚Í–³—‚¾‚ª
•’Ê‚É—V‚Ô’ö“x‚È‚ç‚¢‚¢‚ñ‚¶‚á‚È‚¢‚©H
‚Á‚Ä‚¢‚¤‚©‘åä•v‚È‚­‚ç‚¢PC‚Ì«”\‚ª‚ ‚ª‚Á‚½‚ñ‚¶‚á‚È‚¢‚©H

‚à‚¿‚ë‚ñAFortran‚ÅVMŽg‚í‚ꂽ‚窖{“I‚ȊԈႢ‚¾‚ª
Java‚Ì•ûŒü‚àƒAƒŠ‚È‚ñ‚¶‚á‚È‚¢‚©H
Fortran‚Æ—p“r‚ªd‚È‚ç‚È‚¢‚µEEE

‚¿‚å‚Á‚ÆPL/I‚ª‚Ȃ‚©‚µ‚­‚È‚Á‚Ä‘‚«ƒR
126 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2006/12/05(‰Î) 14:26:13
C Pad for Salford FTN77@‚ð‚‚©‚Á‚Ä‚¢‚Ü‚·‚ªAƒvƒƒOƒ‰ƒ€‚ðŽÀs‚·‚é‚Æ
RUN TIME ERROR
00402c50 SOLU [+0174] [recur= 1]
00401000 TDOFS [+09ca]
‚ªo‚Ü‚·B
RUN TIME ERROR‚Æ‚Í‚È‚ñ‚Å‚µ‚傤‚©HH
ƒƒbƒZ[ƒW—“‚É‚Í
u Licensed to: FTN77 Personal Edition
Department: Non-commercial use only
0001) omega1 theta0 theta1 alph beta theta g()/kG
*** Unexpected continuation line (have you got more than 19?)

*** Compilation failed

^C@@v
‚Æ‚Å‚Ü‚·‚ªA‚æ‚­‚í‚©‚ç‚È‚¢‚Å‚·(||G)
‚Ç‚È‚½‚©‹³‚¦‚Ä‚­‚¾‚³‚¢II



>>126
>*** Unexpected continuation line (have you got more than 19?)
>*** Compilation failed

‚¹‚Á‚©‚­ƒRƒ“ƒpƒCƒ‰‚ªƒƒbƒZ[ƒW‚ðo‚µ‚Ä‚¢‚é‚Ì‚¾‚©‚çA‚¿‚á‚ñ‚Ɠǂނ悤‚ÉB
>>126
‚Ü‚Á‚½‚­>>127‚ÌŒ¾‚¤‚Æ‚¨‚肾B
Žq‹Ÿ‚ª‹ƒ‚¢‚Ä‚¢‚é‚Ì‚ÉA‚©‚Ü‚Á‚Ä‚â‚ç‚È‚¢ˆçŽ™•úŠü‚Ì•êeƒŒƒxƒ‹‚¾B


˜R‚ê‚Ìf’f‚Å‚ÍA‚Q‚ƒ‚ˆ‚©‚çƒRƒsƒy‚µ‚½‚Ì‚ÅA‚UƒJƒ‰ƒ€•¶‚ÌŽš‰º‚°‚ð‚µ‚Ä‚¢‚È‚¢B
‚»‚Ì‚¹‚¢‚ÅŒp‘±s‚ÉŠ¨ˆá‚¢‚³‚ê‚Ä‚¢‚éB
129 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2006/12/06(…) 12:51:58
>>127
‚¶‚á‚ ‰p–󂵂Ă ‚°‚½‚çHH
Žq‹Ÿ‚ª‹ƒ‚¢‚Ä‚¢‚é‚Ì‚ÉA‚©‚Ü‚Á‚Ä‚â‚ç‚È‚¢ˆçŽ™•úŠü‚Ì•êeƒŒƒxƒ‹‚¾B
>>129‚Í•êe‚ɖق点‚ë‚Á‚Ä“{–‚邾‚¯‚Ìe•ƒB
>>130
‚ÍŽ–Œ‚ª‚ ‚Á‚½Œã‚É
ƒCƒ“ƒ^ƒrƒ…[‚³‚ê‚é‹ßŠ‚Ìl
u‚æ‚­‚ ‚̉Ƃ̎q‚Í‹ƒ‚¢‚Ä‚¢‚Ü‚µ‚½‚æEEE‚Ђǂ¢e‚Å‚·‚Ë
‚ÜAŽ„‚ÍŠÖŒW‚È‚¢‚ñ‚Å‚·‚¯‚Çv
132 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2006/12/06(…) 13:52:30
ʼn‚Ìl‚ª”nŽ­‚É‚µ‚½Œû’²‚Å‘‚«ž‚Þ‚©‚炱‚ñ‚È‚­‚¾‚ç‚È‚¢ƒŒƒX‚ª‘±‚¢‚Ä‚µ‚Ü‚Á‚½‚æB

>>132
>>127 ‚͕ʂɈ«‚­‚È‚¢‚¾‚ëBˆ«‚¢‚Ì‚Í>>128
ˆ«‚¢‚Ì‚Í>>126Bà–¾‚ð’[Ü‚Á‚½Ž¿–â‚ð‚·‚é‚©‚炱‚¤‚È‚éB
uƒvƒƒOƒ‰ƒ€v‚ª‰½ŽÒ‚©‚±‚¿‚ç‚É‚Í‘S‚­•ª‚©‚ç‚È‚¢B
‚Æ‚è‚ ‚¦‚¸A‰´‚ªˆ«‚¢‚æ
‚Ý‚ñ‚ȺÞÒ¿
136 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2006/12/06(…) 14:40:20
>>134
‚Å‚à“à—e‚à‰½‚à‚í‚©‚ç‚È‚¢l‚¾‚Á‚½‚玿–â‚ð‚¿‚á‚ñ‚Æ‚µ‚ë‚Á‚Ä‚Ì‚à“‚¢‚ñ‚¶‚á‚È‚¢‚©‚ÈHH
Ž¿–â‚ð‚µ‚Ä‚¢‚élŠÔ‚ªŽ©•ª‚Ì‚â‚Á‚Ă邱‚Æ‚Ì“à—e‚à‰½‚à‚í‚©‚ç‚È‚¢ó‘Ô‚È‚çA
‚»‚ꂱ‚»“š‚¦‚悤‚ª‚È‚¢‚¾‚ëB

‚¹‚ß‚ÄŠî–{“I‚È•¶–@‚È‚èƒ\ƒtƒg‚ÌŠÈ’P‚ÈŽg‚¢•û‚­‚ç‚¢‚ÍŽ©•ª‚Å’²‚ׂÄ
‚»‚ê‚Å‚àƒ_ƒ‚¾‚Á‚½‚çA‰½‚ª‚µ‚½‚­‚ĉ½‚ðŽŽ‚µ‚½‚¯‚Ç‚Ç‚¤ãŽè‚­‚¢‚©‚È‚©‚Á‚½‚©
’ö“x‚Ì‚±‚Æ‚Í‘‚¢‚ÄŽ¿–â‚·‚ׂ«‚¶‚á‚È‚¢‚©B
138 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2006/12/07(–Ø) 04:08:19
>>137
‚à‚Á‚Æ‚à‚Ȉӌ©‚¾‚ªA‚»‚ꂪo—ˆ‚ê‚΂½‚¢‚Ä‚¢‚ÍŽ©ŒÈ‰ðŒˆ‚µ‚Ä‚Q‚ƒ‚ˆ‚É‚È‚ñ‚©•·‚«‚É‚±‚È‚­‚Ä‚·‚Þ‚—
>>137
Exactly
140 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2006/12/07(–Ø) 17:42:48
>>139
(Î)

Silverfrost (Salford) FTN95 Version 5.00 ·ÀºÚ
ttp://www.download.com/Silverfrost-FTN95/3000-2069_4-10614581.html?tag=pub
ttp://forums.silverfrost.com/viewtopic.php?t=676&start=0&postdays=0&postorder=asc&highlight=

.NET 2.0‚ÆVisual Studio 2005‚ɑΉž‚µ‚½‚炵‚¢‚ªAVS2005‚ÍŽg‚Á‚Ä‚È‚¢‚Ì‚ÅÚׂ͒m‚ç‚ñB
Intel Fortran‚ÅMacƒAƒhƒŒƒXŽæ“¾‚·‚é•û–@‚ ‚è‚Ü‚·‚©H
ƒ}ƒjƒ…ƒAƒ‹Œ©‚Ä‚àÚ‚Á‚Ä‚È‚©‚Á‚½‚Å‚·EEB
143 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2006/12/08(‹à) 23:44:07
>>142
CŒ¾Œê‚Å‚à“‚¢‚悤‚¾B•W€‚ÌWIN32API‚Å‚Ío—ˆ‚È‚¢‚Ì‚ÅA‘¼‚Ì•û–@‚ð‚â‚Á‚Ä‚¢‚é‚悤‚¾B

ˆÀ’¼‚È•û–@‚ÍASYSTEMŠÖ”‚ÅDOSƒRƒ}ƒ“ƒh‚Ìipconfig/all ‚ðŽÀs‚µA
‚»‚Ìo—Í‚©‚çMACƒAƒhƒŒƒX‚ðØ‚èo‚·•û–@ƒWƒƒƒ}ƒCƒJH

>>143
‚â‚Á‚Ï‚è‚»‚¤‚È‚è‚Ü‚·‚©‚Ë[B
Ž©•ª‚ÌOSˆÈŠO‚Å“®ì‚ðŠm‚©‚ß‚ç‚ê‚È‚¢‚Ì‚Å‚¿‚å‚Á‚Æ‘å•ÏGG

‚Ç‚¤‚àthx
>>142
Three ways to get your MAC address.
http://www.codeguru.com/Cpp/I-N/network/networkinformation/article.php/c5451

Retrieving Information Using GetNetworkParams
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iphlp/iphlp/creating_a_basic_ip_helper_application.asp

IPHLPAPI‚ðŽg‚Á‚ÄWindows‚Ńlƒbƒgƒ[ƒNÝ’è‚¢‚¶‚éƒvƒƒOƒ‰ƒ€‚ð‘‚­
http://www.geekpage.jp/programming/iphlpapi/

‚±‚Ì•Ó‚¾‚ÆŽv‚¤‚ªAPlatformSDK‚̃‰ƒCƒuƒ‰ƒŠ‚ðLINK‚·‚ê‚Ή”\‚Ȃ悤‚¾B
‚µ‚©‚µŽ©•ª‚ŃCƒ“ƒ^[ƒtƒF[ƒX‚ð‘‚©‚È‚¢‚ƑʖڂȂ̂œ‚»‚¤B
TYPE‚Æ‚©‚Ì’è‹`‚ª[‚¢‚Ì‚ÅAƒCƒ“ƒ^[ƒtƒF[ƒX‚É•K—v‚È’è‹`‚ª‚ǂꂾ‚¯‚ ‚é‚Ì‚©‚í‚©‚ç‚ñB
win‚¾‚Á‚½‚çÌNetBIOS‚Å‚Æ‚Á‚½‚±‚Æ‚ª‚ ‚éB
147 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2006/12/09(“y) 20:54:36
PROGRAM MAC
USE ifwinty
IMPLICIT NONE
!
INTEGER, PARAMETER :: MAX_ADAPTER_DESCRIPTION_LENGTH = 128 !// arb.
INTEGER, PARAMETER :: MAX_ADAPTER_NAME_LENGTH = 256 !// arb.
INTEGER, PARAMETER :: MAX_ADAPTER_ADDRESS_LENGTH = 8 !// arb.
!
TYPE :: IP_ADDRESS_STRING
CHARACTER (4) :: String(4)
END TYPE
TYPE :: IP_MASK_STRING
CHARACTER (4) :: String(4)
END TYPE
!
TYPE :: t_IP_ADDR_STRING
INTEGER (LPLONG) :: pNext
TYPE (IP_ADDRESS_STRING) :: IpAddress
TYPE (IP_MASK_STRING) :: IpMask
INTEGER (DWORD) :: Context
END TYPE
!
148 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2006/12/09(“y) 20:55:07
TYPE :: t_IP_ADAPTER_INFO
INTEGER (4) :: pNext
INTEGER (DWORD) :: ComboIndex
CHARACTER (LEN = MAX_ADAPTER_NAME_LENGTH + 4) :: AdapterName
CHARACTER (LEN = MAX_ADAPTER_DESCRIPTION_LENGTH + 4) :: Description
INTEGER (UINT) :: AddressLength
INTEGER (BYTE) :: Address(MAX_ADAPTER_ADDRESS_LENGTH)
INTEGER (DWORD) :: Index
INTEGER (ULONG) :: iType
INTEGER (ULONG) :: DhcpEnabled
INTEGER (LPLONG) :: pCurrentIpAddress
TYPE (t_IP_ADDR_STRING) :: IpAddressList
TYPE (t_IP_ADDR_STRING) :: GatewayList
TYPE (t_IP_ADDR_STRING) :: DhcpServer
INTEGER (BOOL) :: HaveWins
TYPE (t_IP_ADDR_STRING) :: PrimaryWinsServer
TYPE (t_IP_ADDR_STRING) :: SecondaryWinsServer
INTEGER (ULONG) :: LeaseObtained
INTEGER (ULONG) :: LeaseExpires;
END TYPE
!
INTERFACE
INTEGER (BOOL) FUNCTION GetAdaptersInfo(arg1, arg2)
USE ifwinty
!DEC$ ATTRIBUTES DEFAULT, STDCALL, DECORATE, ALIAS:'GetAdaptersInfo' :: GetAdaptersInfo
INTEGER (LPLONG) :: arg1
INTEGER (LPLONG) :: arg2
END FUNCTION
END INTERFACE
149 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2006/12/09(“y) 20:56:42
!
TYPE (t_IP_ADAPTER_INFO) :: AdapterInfo(16)
TYPE (t_IP_ADDR_STRING) :: CurrentIpAddress
INTEGER (DWORD) :: dwRetVal
INTEGER (PULONG) :: pdwRetVal
INTEGER (BOOL) :: iret
CHARACTER (LEN = 128) :: Description
dwRetVal = sizeof(AdapterInfo)
iret = GetAdaptersInfo(LOC(AdapterInfo), LOC(dwRetVal) )
!PRINT *, AdapterInfo(1)%pNext
!PRINT *, AdapterInfo(1)%ComboIndex
!PRINT *, AdapterInfo(1)%AddressLength
!PRINT *, AdapterInfo(1)%Description(1:128)
PRINT '(6Z3)', AdapterInfo(1)%Address(1:AdapterInfo(1)%AddressLength)
!PRINT *, AdapterInfo(1)%IpAddressList

!PRINT *, AdapterInfo(2)%pNext
!PRINT *, AdapterInfo(2)%ComboIndex
!PRINT *, AdapterInfo(2)%AddressLength
!PRINT *, AdapterInfo(2)%Description(1:128)
PRINT '(6Z3)', AdapterInfo(2)%Address(1:AdapterInfo(2)%AddressLength)
!PRINT *, AdapterInfo(2)%IpAddressList
STOP
END PROGRAM MAC


‚Æ‚è‚ ‚¦‚¸A‚±‚ê‚ÅMACƒAƒhƒŒƒX‚ªŽæ‚ꂽB
150 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2006/12/09(“y) 21:09:05
>>142@Ⴊ~‚Á‚Ä‚¢‚½‚̂ʼnɂ‚Ԃµ‚É‚ª‚ñ‚΂Á‚Ä‚Ý‚½B
‚SŽžŠÔ‚®‚ç‚¢‚©‚©‚Á‚½‚ªAMACƒAƒhƒŒƒX‚ª‚h‚Ž‚”‚…‚ŒFortran‚ÅŽæ‚ꂽB

•û–@‚Í>>145‚Ì‚P”Ԗڂ̃Šƒtƒ@ƒŒƒ“ƒX‚Ì‚R”Ô–Ú‚Ì•û–@‚ð—p‚¢‚½B
Œ^‚È‚Ç‚ÍA‚Q”Ô–Ú‚ÌMSDN‚É‘‚¢‚Ä‚ ‚éî•ñ‚©‚玩•ª‚Å“K“–‚Éì‚Á‚Ä‚Ý‚½B
TYPE‚̃TƒCƒY‚ªC++”Å‚Å‹‚ß‚Ä‚¢‚é‚̂ƈê’v‚µ‚½‚Ì‚Å‘½•ªOK‚¾‚낤BŽ©M‚Í‚È‚¢‚—

˜R‚ê‚̓ƒCƒ“ƒtƒŒ[ƒ€ˆç‚¿‚̶ˆ‚ÌFORTRAN‚…‚’‚ÅA‚b‚à‚b{{‚Í‚g‚…‚Œ‚Œ‚‚v‚‚’‚Œ‚„ˆÈã‚Ì‚à‚Ì‚Í
‘‚¢‚½‚±‚Æ‚ª–³‚¢‚Ì‚ÅA•¶Žš—ñ‚Æ‚©ƒ|ƒCƒ“ƒ^[‚̈µ‚¢‚Æ‚©‚ª¡ˆêŽ©M‚ª‚È‚¢B


ƒRƒ“ƒpƒCƒ‹‚É•K—v‚È‚Ì‚ÍPlatformSDK‚¾‚ªA˜R‚ê‚̓Cƒ“ƒXƒg[ƒ‹‚Ì‚Æ‚«‚É
ŸŽè‚ɃCƒ“ƒXƒR‚³‚ê‚Ä‚¢‚½‚悤‚¾B‚±‚Ì’†‚̃‰ƒCƒuƒ‰ƒŠ@IPHlpApi.lib@‚ðƒ‰ƒCƒuƒ‰ƒŠ‚É
‰Á‚¦‚Ä‚¨‚­•K—v‚ª‚ ‚éB
Linker>Input>Additional Dependency ‚ÉA‚»‚Ì‚Ü‚Ü‘‚¯‚ÎOK‚¾‚Á‚½B

ƒvƒƒWƒFƒNƒgƒ^ƒCƒv‚̓Rƒ“ƒ\[ƒ‹‚Å‚¨‚‹B

>>146@>>145‚Ì‹LŽ–‚É‚æ‚é‚Æ‚m‚…‚”‚a‚‰‚‚“‚©‚çŽæ‚é•û–@‚ÍAÅ‹ß‚Í„§‚³‚ê‚È‚¢‚炵‚¢B
‚½‚¾‚µŽæ‚è•û‚Í‘‚¢‚Ä‚ ‚Á‚½B
151 F150F2006/12/09(“y) 22:27:56
>>149‚̃ƒCƒ“ƒvƒƒOƒ‰ƒ€•”•ª‚ÍAˆÈ‰º‚É’¼‚µ‚Ä‚¨‚¢‚Ä‚­‚êB
ƒfƒoƒbƒO—p‚̃Sƒ~‚ðí‚Á‚½B•¡”‚̃lƒbƒgƒ[ƒNƒAƒ_ƒvƒ^‚É‚ài‚Æ‚è‚ ‚¦‚¸16ŒÂˆÈ‰º‚¾‚ªj‘ΉžB

TYPE (t_IP_ADAPTER_INFO) :: AdapterInfo(16)
TYPE (t_IP_ADDR_STRING) :: CurrentIpAddress
INTEGER (DWORD) :: dwRetVal
INTEGER (BOOL) :: iret
INTEGER :: i
dwRetVal = sizeof(AdapterInfo)
iret = GetAdaptersInfo(LOC(AdapterInfo), LOC(dwRetVal) )
IF (iret /= 0) STOP 'Error'
DO i = 1, 16
PRINT '(5(Z2.2,"-"), Z2.2)', AdapterInfo(i)%Address(1:AdapterInfo(i)%AddressLength)
IF (AdapterInfo(i)%pNext == NULL) EXIT
END DO
STOP
END PROGRAM MAC
152 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2006/12/12(‰Î) 14:31:56
compaq visual fortran 6.1‚ðŽg‚Á‚Ä‚¢‚Ü‚·B
1‚‚̃vƒƒWƒFƒNƒg‚Ì’†‚Ìsource file‚Ì‚È‚©‚É‚ÍA“ñ‚ˆÈãƒvƒƒOƒ‰ƒ€
ƒtƒ@ƒCƒ‹‚ð“ü‚ê‚Ä‚Í‚¾‚ß‚È‚Ì‚Å‚µ‚傤‚©H‚½‚ß‚µ‚ɕЕû‚̃vƒƒOƒ‰ƒ€
‚ðƒRƒ“ƒpƒCƒ‹‚·‚é‚ÆŽÀsŽž‚Ɉø‚Á‚©‚©‚Á‚Ä‚µ‚Ü‚¢‚Ü‚·B
ˆê‚‚ðÁ‚·‚ÆãŽè‚­‚¢‚­‚Ì‚Å‚·‚ªcB
‚Å‚Í•½s‚µ‚Ä“ñ‚‚̃vƒƒOƒ‰ƒ€‚ðì‚肽‚¢ê‡‚Ç‚¤‚·‚ê‚΂¢‚¢‚Ì‚Å‚µ‚傤‚©H
‚Ç‚¤‚©‚²•Ô“š‚¨Šè‚¢‚µ‚Ü‚·B
>>152
ƒR[ƒh‚ð•ÏX‚·‚é‚Æ‚«‚É‚ÍAƒ[ƒNƒXƒy[ƒX‚à•ÏX‚·‚é•K—v‚ª‚ ‚é‚Í‚¸B
Žè‚ÁŽæ‚è‘‚­‚·‚é‚É‚ÍAƒR[ƒh•ÏXCVF ‚ðˆê’UI—¹B
>>152
ŽÀsƒtƒ@ƒCƒ‹–ˆ‚ÉProject‚ð쬂µ‚ÄA‚P‚‚ÌWorkspace‚É'Insert Projects into Workspace'‚Å
Project‚ð’ljÁA‚Ü‚½‚Í'Add New Project to Workspace'‚ÅV‚µ‚¢ƒvƒƒWƒFƒNƒg‚ð’ljÁ‚·‚éB

Build‚·‚é‚Æ‚«‚Í'Set Active Project'‚ÅProject‚ð‘I‚ñ‚Å‚©‚çBuild‚·‚é‚©
‚Ü‚½‚Í'Batch Build'‚Å‚Ü‚Æ‚ß‚ÄBuild‚·‚éB

CVF6.6‚Ìꇂ¾‚ªA6.1‚Å‚à‚½‚Ô‚ñ“¯‚¶‚¾‚낤B
>>153-154
eØ‚É‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½B
‚¿‚å‚Á‚Ævisual fortranŽ©‘Ì‚Í‚¶‚ß‚ÄŽg‚Á‚½‚à‚Ì‚Å
‚æ‚­•ª‚©‚è‚Ü‚¹‚ñ‚Å‚µ‚½‚ª•·‚¢‚Ä‰ðŒˆ‚µ‚Ü‚µ‚½
ƒm[ƒgƒpƒ\ƒRƒ“‚ÅLAPACKƒRƒ“ƒpƒCƒ‹‚·‚é‚Æ
ƒtƒ@ƒ“‚ª‚Ô‚ñ‚Ô‚ñ‰ñ‚Á‚Ä‚¤‚邳‚¢‚æ`
>>156
LAPACK‚ÅŒvŽZ‚ð‚·‚é‚¤‚悤‚É‚È‚ê‚Γ¯‚¶‚±‚ÆB
158 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ F2006/12/18(ŒŽ) 16:58:00
‰º‹L‚Ì•¶Í‚ðfortran77‚Å•\‚·‚Æ‚Ç‚¤‚È‚é‚©A‹³‚¦‚Ä‚¢‚½‚¾‚¯‚Ü‚¹‚ñ‚©H

ex=2.0**((-1)*(l+1))
i=0
k=0


do 210 while(i.lt.n)
i=i+1
k=k+1
if(k.gt.p)then
call delay(ivw,p,q,j)
else
j=k
end if

if(ivw(j).ne.0) then
a(i)=ivw(j)*ex
else
i=i-1
end if
210 continue
>>158
while‚̃‹[ƒv‚ðgoto•¶‚ðŽg‚Á‚Ä‘‚¢‚½‚çH
160 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2006/12/18(ŒŽ) 23:10:13
ŒvŽZI—¹Žž‚ÉAŒg‘Ñ“d˜b‚Öƒ[ƒ‹‚Å’m‚点‚Ä‚­‚ê‚é‚Á‚Ä‚±‚Æ‚Å‚«‚Ü‚·‚©HH
161 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2006/12/18(ŒŽ) 23:13:01
>>160
ƒVƒFƒ‹ƒXƒNƒŠƒvƒg‚𑂯‚΂¢‚¢B

162 Ff90F2006/12/19(‰Î) 13:07:00
do
if(i>=n) exit
i=i+1
k=k+1
if(k>p) then
call delay(ivw,p,q,j)
else
j=k
end if

if(ivw(j)/=0) then
a(i)=ivw(j)*ex
else
i=i-1
end if
enddo
Intel fortran9.1Žg‚Á‚Ä‚é‚ñ‚¾‚¯‚ÇAsystem()‚Å’èŠú“I‚ÉŠO•”ƒvƒƒOƒ‰ƒ€‚ðŒÄ‚ԂƃRƒ~ƒbƒgƒ`ƒƒ[ƒW‚ªŽžŠÔ‚Æ‚Æ‚à‚É‘‚¦‘±‚¯‚Ä‚µ‚Ü‚¤‚Æ‚¢‚¤
Çó‚É”Y‚Ü‚³‚ê‚Ä‚¢‚½B‚Æ‚±‚낪Asystem()‚Ì‘ã‚í‚è‚Ésystemqq()‚ðŽg‚¤‚ÆA‚»‚ÌÇó‚ªo‚È‚­‚È‚Á‚½B
‚±‚ñ‚ÈŒoŒ±‚µ‚½l‚¢‚éH
‚r‚x‚r‚s‚d‚l‚Á‚Ä‚o‚n‚r‚h‚wŒÝŠ·‚̃‹[ƒ`ƒ“‚©‚¢H
‚r‚x‚r‚s‚d‚l‚p‚p‚Í‚p‚t‚h‚b‚j‚v‚h‚m‚©‚ç‚Ý‚©H
‚Ç‚Á‚¿‚àŽg‚í‚ñ‚È‚Ÿ‚—

>>164
‚¶‚á‚ AŠO•”ƒRƒ}ƒ“ƒh‹N“®‚µ‚½‚¢‚Æ‚«‚Í‚Ç‚¤‚â‚Á‚Ä‚é‚ÌH
ŠO•”ƒRƒ}ƒ“ƒhŒÄ‚΂Ȃ¢‚—
W‚‰‚Ž32‚Åo—ˆ‚镨‚ÍWin32‚Å‚â‚éB
‚Å‚«‚È‚¢‚à‚Ì‚Í’ú‚ß‚é‚—
ƒRƒ“ƒ\[ƒ‹ƒAƒvƒŠ–³Ž‹‚µ‚Ä‚¢‚«‚È‚èWin32‚©‚æ‚—
‚¨‚Ü‚¢‚ç’‡—Ç‚­‚â‚ê‚æ
ƒXƒNƒŠƒvƒg‚ő˦‚µ‚Æ‚¯‚—
169 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2006/12/28(–Ø) 23:25:36
ƒIƒbƒyƒ“‰»Ï•iI

OpenMP‚Ì‚¢‚¢ŽQlƒTƒCƒg‚©–{‚̓Aƒ‹ƒJƒCƒ_H

‚ ‚Ÿ‚»‚ê‚ÆMPI‚É‚µ‚ë‚Æ‚©Œ¾‚¤‚ȃˆ[ƒƒbƒpB
ƒRƒ“ƒpƒCƒ‰‚ÌŽ©“®•À—ñ‰»‚¾‚¯‚Å‚ª‚Ü‚ñ‚“

‰´‚à‹³‚¦‚Ä—~‚µ‚¢B
“ò‘¹‚ÅŒŸõ‚µ‚½‚çA˜a‘‚Í‚Pû‚µ‚©–³‚©‚Á‚½EEE
>>169
‚¢‚₳A‚³‚Á‚ς莩“®•À—ñ‰»‚³‚ê‚È‚¢‚©‚çA­‚µ’mŒb‚ð‚‚¯‚Ä‚â‚é‚©‚ÆŽv‚Á‚ÄB
‚QCPUƒVƒ“ƒOƒ‹ƒ}ƒVƒ“‚ÅŒy‚­s‚«‚½‚¢B

QuadCore‚𔃂¤ŒûŽÀ‚à—~‚µ‚¢‚—
‚¦[A‚©‚È‚è”™‘R‚Æ‚µ‚½Ž¿–â‚Å‚·‚ª‚¿‚å‚Á‚ƃAƒhƒoƒCƒX‚ð‚à‚炦‚Ü‚¹‚ñ‚©H
‚ ‚錳‚Æ‚È‚éŒvŽZƒR[ƒh‚Å‚ÍAƒZƒ‹‚Ì•‚â‚‚³‚ª‚·‚ׂĂ̗̈æ‚ňê’è‚Å‚·B
ŒvŽZ‚·‚é—̈æ‚Í’·•ûŒ`‚ÅA

NCX:ƒZƒ‹‚ÌsiX•ûŒüj
NCY:ƒZƒ‹‚Ì—ñ(Y•ûŒüj
CW:—ñ•ûŒü‚ւ̃Zƒ‹‚Ì•
CH:s•ûŒü‚ւ̃Zƒ‹‚Ì•

‚Æ‚¢‚Á‚½Š´‚¶‚Å‚·B
‚Ü‚½A‚»‚ꂼ‚ê‚̃Zƒ‹‚É‚Í’Ê‚µ”Ô†‚ªŠ„‚èU‚ç‚ê‚Ä‚¢‚Ü‚·B
iʼn‚Ìs‚𬂳‚¢‚Ù‚¤‚©‚燂É1.2.3c‚ÆŠ„‚èU‚Á‚Ä‚¢‚Á‚Ä
@’[‚És‚Á‚½‚玟‚Ìs‚Ɉڂè‚Ü‚·j

ªY
9.......
5678
1234@ ¨X

‚±‚̃R[ƒh‚ðŒ³‚ÉA”CˆÓ‚Ì—ñˆÈ~‚ŃZƒ‹‚Ì‘å‚«‚³‚ðc‰¡‚»‚ꂼ‚ê
”¼•ª‚É‚·‚éi–ÊÏ‚ð1/4j‚É‚µ‚Äi‚à‚¿‚ë‚ñˆÈ~‚ÌsA—ñ”‚Í”{‚É‚È‚è‚Ü‚·j
ŒvŽZ‚·‚éƒvƒƒOƒ‰ƒ€‚ð‘‚«‚½‚¢‚ÆŽv‚¢‚Ü‚·BƒZƒ‹‚Ì‘å‚«‚³‚̕ω»‚͉½’iŠK‚©s‚í‚ê‚Ü‚·B
i‹ï‘Ì“I‚É‚ÍYÀ•WˆË‘¶‚Ì‚ ‚镨——Ê‚Æ”äŠr‚µ‚ăZƒ‹‚𬂳‚­‚·‚é‚©‚Ç‚¤‚©”»•Ê‚µ‚Ü‚·j
173 F172F2006/12/29(‹à) 03:03:23
i‘±‚«j
‚µ‚©‚µAŒ³‚̃R[ƒh‚ɂ͗Ⴆ‚΃Zƒ‹‚ª‰½sA‰½—ñ–Ú‚©‚ð”»•Ê‚·‚邽‚ß‚É

NY=(N-1)/NCX+1
NX=N-(NY-1)*NCX

‚̂悤‚È•\Œ»‚ª‘½—l‚³‚ê‚Ä‚¢‚Ü‚·BiN‚̓Zƒ‹‚Ì’Ê‚µ”Ô†j
‚Ü‚½A‹t‚És‚â—ñ‚ÌŽw’è‚©‚çƒZƒ‹”Ô†‚ð”»•Ê‚·‚é‚悤‚È‚à‚Ì‚à‚ ‚è‚Ü‚·‚µA
À•WŽw’è‚É

X=NY*CH

‚Ý‚½‚¢‚ÈŽ–‚à‚µ‚Ä‚¢‚Ü‚·B
NCX,NCY,CW,CH‚ð”z—ñ‚É‚µ‚ÄA‰Šú‚Ì‘å‚«‚³‚̃Zƒ‹‚̗̈æ‚ÌsA—ñ”‚ð
NCX(1)ANCY(1)‚ÉAŽŸ‚Ì‘å‚«‚³‚̃Zƒ‹‚ÌsA—ñ”‚ðNCX(2)ANCY(2)‚ÉA
‚Æ‚¢‚¤‚悤‚ɃZƒ‹‚Ì‘å‚«‚³‚ŗ̈æ‚𕪂¯‚Äl‚¦‚悤A‚ÆŽv‚Á‚½‚Ì‚Å‚·‚ªA
‚ ‚éƒZƒ‹‚ª‰½”Ԗڂ̗̈æ‚É‘®‚·‚é‚©‚ð‚¢‚¿‚¢‚¿”»•Ê‚·‚é‚Ì‚à‚ß‚ñ‚Ç‚­‚³‚¢‚Å‚·‚ËB
‚¿‚å‚Á‚Æã‹L‚Ì”»•Ê‚ÌŽ®‚ª•¡ŽG‚É‚È‚Á‚Ä‚«‚Ä‚µ‚Ü‚¢‚Ü‚·B
iƒ‹[ƒv‚Å”ñí‚ɉ½“x‚à’Ê‚é‚Æ‚±‚ë‚È‚Ì‚Åo—ˆ‚é‚©‚¬‚èŠÈ’P‚É‚µ‚½‚¢‚Å‚·j

ŠeƒZƒ‹‚ª‰½s‰½—ñ–Ú‚É‘®‚·‚é‚©‚Ɖ½”Ԗڂ̗̈æ‚É‘®‚·‚é‚©‚ð
”z—ñ‚ÉŠi”[‚µ‚Ä‚¨‚¯‚΂¢‚¢‚©‚Æ‚ÍŽv‚¢‚Ü‚·‚ªA
ƒvƒƒOƒ‰ƒ€‚ÌŒoŒ±‚ªó‚¢‚±‚Æ‚à‚ ‚è‚©‚È‚è–³‘Ê‚È‚±‚Æ‚ð‚µ‚Ä‚¢‚È‚¢‚©•sˆÀ‚É‚È‚Á‚Ä‚«‚Ü‚µ‚½B

Šù‘¶‚Ì\‘¢‚𶂩‚µ‚½‚èi’uŠ·‚·‚邾‚¯‚Å‚·‚Ï‚Á‚ÆI—¹‚Æ‚©j
‚ ‚Ü‚è—]Œv‚È‚à‚Ì‚ð’ljÁ‚µ‚È‚¢ƒGƒŒƒKƒ“ƒg‚È‚â‚è‚©‚½‚Á‚Ä‚ ‚è‚Ü‚·‚©‚ËH
‚â‚Á‚Ï‚è’n“¹‚É‚â‚邵‚©‚È‚¢‚Å‚µ‚傤‚©H’·•¶‚·‚Ý‚Ü‚¹‚ñB
174 F172F2006/12/29(‹à) 03:14:28
‚·‚Ý‚Ü‚¹‚ñA

iΑjX=NY*CH
i³jY=NY*CH

‚Å‚·B
>>173
ƒTƒCƒY‚Ɉˑ¶‚·‚éB
¬‚³‚¢‚È‚ç‚¢‚Á‚½‚ñŠù‘¶‚ÌŒvŽZŽ®‚Å‹‚ß‚½ƒZƒ‹ƒTƒCƒY‚ðƒe[ƒuƒ‹‚Æ‚µ‚Ä•Û‘¶‚·‚ê‚΂悢B

ƒTƒCƒY‚ª‘å‚«‚­‚ăƒ‚ƒŠ[ƒMƒŠƒMƒŠ‚Ü‚ÅŽg‚Á‚Ä‚¢‚é‚È‚çA‚P‰ñ‚²‚Æ‚ÉŒvŽZ‚·‚é‚Ù‚¤‚ª‚¢‚¢B


‚T‚U‚V
‚Q‚R‚W@@‚Ì‚¿‚ÈŒ`‚ŃTƒCƒg‚ðŽw’肵‚Ä‚à‚¢‚¢‚È‚çA”»•Ê‚ÌŒvŽZŽ®‚àŠÈ’P‚É‚È‚é‚©‚à‚µ‚ê‚È‚¢B
‚P‚S‚X@@ŒvŽZ‹@Šw‰È‚Ìl‚©‚ç‚Í‚µ‚©‚ç‚ê‚邪A‚‘¬‚Å‚â‚é‚ɂ̓f[ƒ^\‘¢‚ƈ—‚ª
@@@@@Ø‚è—£‚¹‚È‚¢‚Ì‚ÅA‚Ü‚Ÿ–â‘è‚ð—‰ð‚µ®—‚µ‚ÄŽ©•ª‚Å—Ç‚­l‚¦‚ë‚—
176 F172F2007/01/05(‹à) 18:17:30
>>175
’xƒŒƒX\‚µ–ó‚È‚¢B—L“‚²‚´‚¢‚Ü‚·B
‚â‚Á‚Ï‚è‚ ‚é’ö“x’n“¹‚É‚â‚é‚Ù‚©–³‚³‚»‚¤‚Å‚·‚ËB
‚µ‚±‚µ‚±‚â‚Á‚Ä‚Ü‚·B
ŽáŠ±Fortran‚©‚çˆí‚ê‚Ü‚·‚ªA‚í‚©‚é•û‚²‹³Žö‚­‚¾‚³‚¢B
Intel‚ÌVisual Fortran‚Å쬂µ‚½ƒRƒ“ƒ\[ƒ‹ƒAƒvƒŠ‚©‚ç
VC‚Åì‚Á‚½Libƒtƒ@ƒCƒ‹‚ðŒÄ‚Ño‚µ‚½‚¢‚Å‚·B

ŠÈ’P‚É‘‚­‚ÆAVC‚Í
BOOL PrintMessage()
{
’†—ª
}
‚Æ‚¢‚¤ŠÖ”‚É‚È‚Á‚Ä‚¢‚Ü‚·B

‚±‚ê‚ðFortran‚©‚çŒÄ‚Ño‚·‚½‚ß‚ÉA
Ž©•ª‚È‚è‚Ƀ}ƒjƒ…ƒAƒ‹‚ð“Ç‚ÝA
ˆÈ‰º‚̂悤‚ɃR[ƒfƒBƒ“ƒO‚µ‚Ä‚Ý‚Ü‚µ‚½B
INTERFACE
LOGICAL FUNCTION PrintMessage()
!DEC$ ATTRIBUTES STDCALL :: PrintMessage
END FUNCTION
END INTERFACE

LOGICAL LX
LX = PrintMessage()

‚µ‚©‚µAƒŠƒ“ƒNŽž‚É_PrintMessage‚ªŒ©‚‚©‚è‚Ü‚¹‚ñA‚Æ
ƒŠƒ“ƒNƒGƒ‰[‚ªo‚Ü‚·B

‰ðŒˆ•û–@‚Í‚ ‚é‚Å‚µ‚傤‚©H


‚È‚¨AVC‚©‚çã‹LVC‚ðŒÄ‚Ño‚·ƒP[ƒX‚à‚ ‚邽‚ßA
—¼•ûFortran‚Å‘‚¯‚ÎH‚Æ‚¢‚¤‚Ì‚Í–³‚µ‚Å‚¨Šè‚¢‚µ‚½‚¢‚Å‚·B

ˆê‰žŠÂ‹«‚Æ‚µ‚Ä‚ÍA
Visual Studio .NET 2003 + Intel Visual Fortran v9.0
‚É‚È‚è‚Ü‚·B

‚æ‚낵‚­‚¨Šè‚¢‚µ‚Ü‚·B
>>178
ŒÄ‚Ño‚µ‹K–ñ‚ªSTDCALL‚Ìê‡AŠO•”–¼‚̓fƒtƒHƒ‹ƒg‚Å‚·‚ׂĬ•¶Žš‚ƉðŽß‚³‚ê‚Ä‚µ‚Ü‚¤‚Ì‚Å
‘啶ŽšE¬•¶Žš‚ª¬Ý‚·‚éꇂ͈ȉº‚Ì—l‚É‚·‚é

!DEC$ ATTRIBUTES STDCALL, DECORATE, ALIAS: 'PrintMessage' :: PrintMessage

C‘¤‚Ì PrintMessage() ŠÖ”‚à __stdcall ‚ŃRƒ“ƒpƒCƒ‹‚³‚ê‚Ä‚¢‚é•K—v‚ª‚ ‚éB
C++‚Ìê‡‚Í extern "C" ‚à•K—vB

‚Ü‚½AIVF‚Å‚ÍLOGICAL‚Ì“à•”•\Œ»i®”’lj‚ªŠï”‚Ì‚Æ‚«^A‹ô”‚Ì‚Æ‚«‹U‚Æ‚È‚é‚Ì‚Å
‘¼Œ¾Œê‚ÌŠÖ”‚ÆLOGICAL‚ðŽó‚¯“n‚µ‚·‚éꇂ͒ˆÓ‚·‚邱‚ÆB
180 F178F2007/01/09(‰Î) 21:34:40
>>179
ƒŒƒX‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B

‚È‚é‚Ù‚ÇEEB
F‘¤‚̑啶Žš¬•¶Žš‘Îô‚̓}ƒjƒ…ƒAƒ‹‚É‘‚¢‚Ä‚ ‚è‚Ü‚µ‚½‚ªA
‚¢‚ë‚¢‚ë’²®‚µ‚Ä‚àŒ‹‰Ê‚ª“¯‚¶‚¾‚Á‚½‚Ì‚ÅŠÖŒW‚È‚¢‚ÆŽv‚Á‚Ä‚Ü‚µ‚½B
C‘¤‚Ì‘Îô‚Í‘S‚­Œ©‚¦‚Ä‚Ü‚¹‚ñ‚Å‚µ‚½OO
³’¼C‚̓h‘fl‚È‚Ì‚Åã‹L‚̂悤‚É‚¢‚í‚ê‚Ä‚·‚®‚ɑΉž‚Å‚«‚Ü‚¹‚ñ‚ª
ŽQl‚É‚µ‚Ä’²‚ׂĂ݂܂·I
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½B


>>180
IntelFortran‚̃}ƒjƒ…ƒAƒ‹Œ©‚é‚Æ‚¿‚Ü‚¿‚Ü‚Æ‘‚¢‚Ä‚ ‚é‚æB

DECORATECüŽq‚ªVÝ‚³‚ꂽ‚Ì‚ÅA‚c‚d‚bŽž‘ã‚Éꇕª‚¯‚µ‚Ä‘‚¢‚Ä‚¢‚½‚Ì‚ª
‚·‚Á‚«‚肵‚Ä‚¤‚ꂵ‚¢B

>>180
ATTRIBUTES STDCALL, ... ‚Å‚Í‚È‚­ ATTRIBUTES C, ... ‚ðŽg‚¦‚ÎCŒ¾Œê‚Ì•û‚Í‚¢‚¶‚ç‚È‚­‚Ä‚à‚¨‚‹B
183 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/01/12(‹à) 23:52:31
ŽO‚‚̔’lƒf[ƒ^‚ð—^‚¦‚Ä‚»‚ÌŽO‚‚̔’l‚ÌÅ‘å’lAŬ’lA’†‰›’lA
•½‹Ï’lA•W€•Î·A•s•Î•ªŽU‚ð‹‚ß‚ç‚ê‚éƒvƒƒOƒ‰ƒ€‚ð쬂¹‚æB
‚í‚©‚ç‚È‚­‚Ä‘å•Ï‚Å‚·B
‚¨Šè‚¢‚µ‚Ü‚·
184 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/01/16(‰Î) 12:41:49
Fortress‚Ç‚¤Žv‚¢‚Ü‚·H
”Ž®‚ð‚»‚Ì‚Ü‚Ü‘‚¯‚é‚Æ‚©A•À—ñ‰»‚ɃRƒ“ƒpƒCƒ‰ƒŒƒxƒ‹‚őΉž‚Æ‚©EEE
‚È‚©‚È‚©‚悳‚»‚°‚Å‚·‚ªB
ttp://japan.zdnet.com/news/devsys/story/0,2000056182,20340715,00.htm
ttp://slashdot.jp/developers/07/01/15/1521236.shtml
185 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/01/16(‰Î) 12:45:26
>>183
‚Ä‚Á‚Æ‚è‚΂₭“š‚¦‚ª—~‚µ‚¢‚È‚ç
http://pc10.2ch.net/test/read.cgi/tech/1164121236/
‚És‚­‚Æ‚¢‚¢‚Ì‚Å‚ÍH
Šù‚É“š‚¦‚ªo‚Ä‚éB ‚Ä‚¢‚¤‚©ƒ}ƒ‹ƒ`B
>>184
Fortran‚ÌŽ‘ŽYŽg‚¦‚È‚¢‚Ì‚ÉFortran•—‚É‚·‚éˆÓ–¡‚ª‚¢‚Ü‚¢‚¿—Ç‚­•ª‚©‚ç‚ñB
>>184
pseudocode ‚ð‚»‚Ì‚Ü‚ÜƒRƒ“ƒpƒCƒ‹‚µ‚Ä‚­‚ê‚é‚Ȃ炤‚ꂵ‚¢B
>>187
‚¦AŽg‚¦‚È‚¢‚ÌH
190 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/01/19(‹à) 23:38:03
Salford ftn95‚Ålapack95‚ðŽg‚¢‚½‚¢‚Ë‚ñ‚¯‚ÇA‚Ç[‚·‚ê‚΂¢‚¢‚ñHH
>>190
‚PDNetlib‚©‚çLAPACK‚ðE‚Á‚Ä‚­‚éB
‚QD‚Ç‚¤‚É‚©‚µ‚Äblas.lib‚Ælapack.lib
192 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/01/20(“y) 00:44:49
>>190
‚PDNetlib‚©‚çLAPACK‚ðE‚Á‚Ä‚­‚éB
‚QD‚Ç‚¤‚É‚©‚µ‚Äblas.lib‚Ælapack.lib‚ð‚‚­‚éB
‚RDNetlib‚©‚çLAPACK95‚ðE‚Á‚Ä‚­‚éB
‚SD‚Ç‚¤‚É‚©‚µ‚Älapack95.lib‚ƃ‚ƒWƒ…[ƒ‹ƒtƒ@ƒCƒ‹‚ð‚‚­‚éB
‚TD > ftn95 hoge.f90
‚UD > slink hoge.obj lapack95.lib lapack.lib blas.lib
193 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/01/20(“y) 08:07:50
>>192
‚Ç‚à‚Ç‚àI
‚Ç‚¤‚É‚©‚µ‚Ä‚Á‚Ä‚Æ‚±‚낪–â‘肾‚ªA‚Ç‚¤‚É‚©‚µ‚Ä‚Ý‚Ü‚·B
‚Ç‚¤‚É‚©‚·‚é•û–@‚ª‚í‚©‚Á‚½‚çA‚Ü‚½‚æ‚낵‚ã`I
77‚Å“®“I”z—ñ‚Á‚Ä‚Å‚«‚È‚¢‚ÌH
x(i,j)
‚Á‚Ä‚µ‚Æ‚¢‚Ä
ƒtƒ@ƒCƒ‹‚©‚çi,j“Ç‚Ýž‚ñ‚ŃTƒCƒYŒˆ‚ß‚é‚Ý‚½‚¢‚ÈŠ´‚¶‚É‚µ‚½‚¢‚ñ‚¾‚¯‚ÇEE
>>194
Œ¾Œê‹KŠi‚Æ‚µ‚Ä‚Ío—ˆ‚È‚¢B

‚½‚¾AƒRƒ‚ƒ“‚Æ‚©ã‚̃‹[ƒ`ƒ“‚Å‘å‚«‚ȃ[ƒN”z—ñ‚ðŽæ‚Á‚Ä‚¨‚¢‚ÄA
‚¢‚Á‚½‚ñ•K—v‚ȃTƒCƒY‚ð’m‚Á‚½ã‚ʼnº‚̃Tƒuƒ‹[ƒ`ƒ“‚Åì‹Æ—̈æ‚Å®‡”z—ñ‚ð
Ø‚Á‚ÄŽg‚Á‚ÄŽ—‚½‚悤‚È‚±‚Æ‚Ío—ˆ‚éB

CŒ¾Œê‚àK&R‚Ì•t˜^‚ðŒ©‚é‚Æmalloc‚ð‚»‚¤‚¢‚¤Š´‚¶‚ÅŽÀŒ»‚·‚é—á‚ðo‚µ‚Ä‚¢‚éB
90‚È‚çƒ|ƒCƒ“ƒ^[Žg‚¦‚éB
PGI‚Æ‚©77‚Å‚àƒ|ƒCƒ“ƒ^[Žg‚¦‚鈗Œn‚à‚ ‚éB
ƒ|ƒCƒ“ƒ^[‚ÌŽg‚¦‚È‚¢77‚Å‚àC‚Ƃ̇‚킹‹Z‚ʼn”\B
197 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/01/20(“y) 16:25:44
>>193
LAPACK(BLAS):
Enetlib‚©‚ç lapack-3.1.0.tgz ‚ðŽæ‚Á‚Ä‚­‚éB

blas.lib:
Elapack-3.1.0\BLAS\SRC ‚Ì’†‚̃\[ƒXi*.fj‚ð‘S•”ƒRƒ“ƒpƒCƒ‹‚·‚éB
Eo—ˆ‚½ƒIƒuƒWƒFƒNƒgƒtƒ@ƒCƒ‹‚ð slim ‚Å blas.lib ‚É‚Ü‚Æ‚ß‚éB
@slim *.obj /file:blas

lapack.lib:
Elapack-3.1.0\INSTALL ‚Ì’†‚Ì dlamch.f, dsecnd.f, ilaver.f, lsame.f, second.f, slamch.f ‚ð
lapack-3.1.0\SRC ‚ɃRƒs[‚·‚éB
’A‚µAFTN95‚É‚Í second.f, dsecnd.f ‚ÅŽg‚í‚ê‚Ä‚¢‚é ETIMEŠÖ”‚ª–³‚¢‚Ì‚Å
ETIME‚ðŽ©ì‚·‚é‚© CPU_CLOCK, SYSTEM_CLOCK•Ó‚è‚ðŽg‚Á‚Ä‘‚«Š·‚¦‚éB
Elapack-3.1.0\SRC ‚Ì’†‚̃\[ƒX‚ð‘S•”ƒRƒ“ƒpƒCƒ‹‚·‚éB
‚±‚ÌÛAslaruv.f, dlaruv.f ‚ðƒRƒ“ƒpƒCƒ‹‚·‚é‚Æ‚«‚ÍÅ“K‰»ƒIƒvƒVƒ‡ƒ“‚ðŠO‚·B
Eo—ˆ‚½ƒIƒuƒWƒFƒNƒgƒtƒ@ƒCƒ‹‚ð slim ‚Å lapack.lib ‚É‚Ü‚Æ‚ß‚éB

tmglib.lib:
Elapack-3.1.0\TESTING\MATGEN ‚Ì’†‚̃\[ƒX‚ð‘S•”ƒRƒ“ƒpƒCƒ‹‚·‚éB
‚±‚ÌÛAslaran.f, dlaran.f ‚ðƒRƒ“ƒpƒCƒ‹‚·‚é‚Æ‚«‚ÍÅ“K‰»ƒIƒvƒVƒ‡ƒ“‚ðŠO‚·B
Eo—ˆ‚½ƒIƒuƒWƒFƒNƒgƒtƒ@ƒCƒ‹‚ð slim ‚Å tmglib.lib ‚É‚Ü‚Æ‚ß‚éB
198 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/01/20(“y) 16:27:59
i>>197‚Ì‘±‚«j

LAPACK95:
Enetlib‚©‚ç lapack95.tgz ‚ðŽæ‚Á‚Ä‚«‚Ä“WŠJ‚·‚éB
Elapack95\SRC‚Ɉړ®B
Ela_auxmod.f90 ‚ðƒRƒ“ƒpƒCƒ‹‚·‚éB ¨ la_auxmod.mod, la_precision.mod ‚ªo—ˆ‚éB
Ef77_lapack_single_double_complex_dcomplex.f ‚ðƒRƒ“ƒpƒCƒ‹‚·‚éB ¨ f77_lapack.mod ‚ªo—ˆ‚éB
Ef95_lapack_single_double_complex_dcomplex.f ‚ðƒRƒ“ƒpƒCƒ‹‚·‚éB ¨ f95_lapack.mod ‚ªo—ˆ‚éB
Ela_csygst.f90, la_csygv.f90, la_csygvd.f90, la_csytrd.f90, la_zsygst.f90, la_zsygv.f90, la_zsygvd.f90, la_zsytrd.f90
ˆÈŠO‚Ì la_*.f90 ‚ðƒRƒ“ƒpƒCƒ‹‚·‚éB
Eo—ˆ‚½ƒIƒuƒWƒFƒNƒgƒtƒ@ƒCƒ‹‚ð slim ‚Å lapack95.lib ‚É‚Ü‚Æ‚ß‚éB


ˆÈã‚Åo—ˆ‚½ƒ‰ƒCƒuƒ‰ƒŠƒtƒ@ƒCƒ‹(*.lib)‚ðŠÂ‹«•Ï” LIB ‚ÅŽw’肵‚½ƒtƒHƒ‹ƒ_‚ÖA
ƒ‚ƒWƒ…[ƒ‹ƒtƒ@ƒCƒ‹(*.mod)‚ðŠÂ‹«•Ï” MOD_PATH ‚ÅŽw’肵‚½ƒtƒHƒ‹ƒ_‚Ö‚»‚ꂼ‚êˆÚ‚·B
199 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/01/20(“y) 17:04:13
ŠÖ”–¼‚ðˆø”‚ÉŽg‚¢‚½‚¢‚Ì‚Å‚·‚ªA‚d‚w‚s‚d‚q‚m‚`‚k•¶‚ðŒÄ‚Ño‚µ‘¤‚ÅŽg‚Á‚Ä‚à
‚¤‚Ü‚­‚¢‚«‚Ü‚¹‚ñB
‰º‚̃vƒƒOƒ‰ƒ€‚È‚Ì‚Å‚·‚ªA‰½ˆ‚ªŠÔˆá‚Á‚Ä‚¢‚é‚ñ‚Å‚µ‚傤H

External func
real func,SUM
write(*,*) SUM(func)
end

real Function SUM(f)
External func
real f
SUM = f(1.0)+f(2.0)
return
end

real Function func(x)
real x
func = x
return
end

>>199
SUMij@‚ªF90‚ÌŠÖ”‚Ƭ“¯‚³‚ê‚Ä‚¢‚é‚ñ‚Å“à‰ÈˆãH
SUM0‚Æ‚©‚É‚·‚ê‚΂¨‚j
>>199
External func ¨ external func, SUM
202 F199F2007/01/20(“y) 22:07:45
>>200>>201A‚²Žw“E‚Ì•û–@‚Å‰ðŒˆ‚·‚邱‚Æ‚ªo—ˆ‚Ü‚µ‚½B
—L“‚²‚´‚¢‚Ü‚·B
203 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/01/20(“y) 22:37:50
>>197,198
‚ ‚肪‚Æ‚¤`AŠi“¬‚Ì––‰½‚Æ‚©‚È‚è‚Ü‚µ‚½B
ƒIƒŒ‚à‚ ‚ñ‚½‚­‚ç‚¢A‚‚ƒ‚ðŽ©—R‚É‚ ‚â‚‚肽‚¢‚à‚ñ‚Å‚·‚íI
–{—ˆ‚È‚çMakefile‚ð‘‚¢‚ÄAƒeƒXƒgƒvƒƒOƒ‰ƒ€‚àŠÜ‚ß‚Ämake(MK32)‚ň—‚³‚¹‚é‚ׂ«‚È‚Ì‚¾‚낤‚¯‚Ç
FTN95‚Ìê‡A‘¼‚̃Rƒ“ƒpƒCƒ‰‚ƃIƒvƒVƒ‡ƒ“‚ÌŽw’è•û–@‚ªˆá‚Á‚½‚è‚·‚é‚©‚ç’†X–Ê“|‚­‚³‚¢B
Ž¿–â‚Å‚·B
OPEN (4,FILE=RESULT.OUT,FORM='FORMATTED')
‚±‚ÌRESULT.OUT‚ðA‚ ‚éI‚ÆŒ¾‚¤”’l‚ð“Ç‚Ýž‚ñ‚Å
—Ⴆ‚ÎI=5000‚È‚çRESULT5000.OUT‚̂悤‚É‚µ‚½‚¢‚ñ‚Å‚·‚ªA
o—ˆ‚é‚Å‚µ‚傤‚©H—v‚·‚é‚ÉŒvŽZ‚̃Xƒeƒbƒv”‚ɉž‚¶‚Ä
Ž©“®“I‚Ƀtƒ@ƒCƒ‹–¼‚ð‚‚¯‚Äo—Í‚µ‚Ä‚â‚肽‚¢‚ñ‚Å‚·‚ªA
OPEN‚Ì’†g‚ð‚¢‚¶‚邾‚¯‚¶‚áƒ_ƒ‚Å‚·‚©‚ËH
206 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/01/26(‹à) 10:04:30
>>205
‚»‚ÌŽ¿–â‚Íç‰ñ‚­‚ç‚¢o‚Ä‚¢‚éB
‰ß‹ŽƒƒOŒ©‚ê

207 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/01/28(“ú) 18:26:34
Ž©•ª‚̃}ƒVƒ“‚̃tƒH[ƒgƒ‰ƒ“ƒRƒ“ƒpƒCƒ‰ƒRƒ}ƒ“ƒh‚ð`‚É‚Í‚Ç‚¤‚µ‚½‚ç—Ç‚¢‚Å‚·‚©H

VINELINUXŽg‚Á‚Ä‚Ü‚·B
>>207
shell ‚É g77 ‚Æ‚© gfortran ‚Æ‚© g95 ‚Æ‚© ifort ‚Æ‚©“ü‚ê‚Ä‚Ý‚éB
Žg‚¦‚é‚悤‚È‚ç no input files ‚È‚Ç‚Æ•Ô‚Á‚Ä‚­‚éB
‚È‚¯‚è‚Ꭹ•ª‚ŃCƒ“ƒXƒgƒ[ƒ‹‚·‚éB
209 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/01/28(“ú) 21:47:58
‘S•”Žg‚¦‚Ü‚¹‚ñ‚Å‚µ‚½B
ifort‚¢‚ꂽ‚¢‚Ì‚Å‚·‚ªA‚Ç‚±‚Ń_ƒEƒ“ƒ[ƒh‚Å‚«‚Ü‚·‚©H
>>209
‚Â google
211 F209F2007/01/28(“ú) 22:35:38
‰½“x‚à‚·‚Ý‚Ü‚¹‚ñB
ƒCƒ“ƒeƒ‹‚̃Rƒ“ƒpƒCƒ‰“ü‚ê‚悤‚Æ‚µ‚½‚牺‹L‚̃ƒbƒZ[ƒW‚ÅŽ~‚Ü‚Á‚Ä‚µ‚Ü‚¢‚Ü‚·B
‰ðŒˆ•û–@‚ðŒä‘¶‚¶‚Ì‚©‚½‚Í‹³‚¦‚Ä‚­‚¾‚³‚¢B

./.././data/install_fc.sh: line 1459: ERROR: unable to find command "ls" !: command not found
./.././data/install_fc.sh: line 1463: Please add the location to the above commands to your PATH and re-run the script.: command not found
./.././data/install_fc.sh: line 1464: Please press Enter to continue...: command not found
>>211
> ‰ðŒˆ•û–@‚ðŒä‘¶‚¶‚Ì‚©‚½‚Í‹³‚¦‚Ä‚­‚¾‚³‚¢B
–éŠÔ’†Šw‚ʼnpŒê‚ðŠw‚Ñ‚È‚¨‚·B
‚Â[‚© ls‚ªŒ©‚‚©‚ç‚ñ‚ÄA‚Ç‚ñ‚Ȋ‹«‚â‚Ë‚ñ
Eclisp‚ÌPhortran‚Á‚Ä‚Ç‚¤‚æH

‚Æ‚­‚ÉLinu‚˜ã‚ÌIntelƒRƒ“ƒpƒCƒ‰‚Æ‚Ì‘g‚݇‚킹‚ÌŽg‚¢S’n@’m‚肽‚¢
216 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/02/03(“y) 07:25:11
Mac OS X ã‚Ìgfortran 4.0‚ŃRƒ“ƒpƒCƒ‹‚µ‚½Žž‚É
gfortran: spec failure: unrecognized spec option 'M'
‚Æ‚¢‚¤ƒGƒ‰[‚ª‚Å‚é‚Ì‚Å‚·‚ª‰½‚ª‚Ü‚¸‚Ì‚Å‚µ‚傤H@‚¿‚È‚Ý‚É‘¼‚̃}ƒVƒ“(LINUX)‚Ìgfortran‚Å‚Í
ƒGƒ‰[‚Í‚Å‚Ü‚¹‚ñBˆê‰žA‘–‚é‚Ì‚Å‚·‚ªAwrite‚Åposition='append'‚ðŽw’肵‚Ä‚àŠù‘¶ƒtƒ@ƒCƒ‹‚É
ƒf[ƒ^‚ð•t‚¯‰Á‚¦‚¸AŠ®‘S‚Éã‘‚«‚µ‚Ä‚µ‚Ü‚¤‚Ì‚Å¢‚Á‚Ä‚¢‚Ü‚·B‚¿‚È‚Ý‚ÉLINUXã‚Å‚Í
‚¤‚Ü‚­s‚«‚Ü‚·B
217 F209F2007/02/04(“ú) 11:51:06
>>214
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B
Š´ŽÓ‚µ‚Ü‚·B
218 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/02/15(–Ø) 00:11:54
‚m‚`‚f‚Ì‚e‚‚’‚”‚’‚‚Ž‚a‚•‚‰‚Œ‚„‚…‚’‚Ì‚m‚`‚f‚e‚‚’‚”‚’‚‚Ž‚X‚TƒRƒ“ƒpƒCƒ‰‚Ì‚u‚…‚’‚“‚‰‚‚Ž‚Á‚Ä‚TD‚OH‚»‚ê‚Æ‚à‚TD‚PH

‚TD‚P‚Ȃ甃‚¢‚½‚¢‚ñ‚¾‚¯‚ÇA’N‚©’m‚Á‚Ä‚él‚¢‚éH
‘SŠp‰p”‚Í‹CŽ‚¿ˆ«‚¢‚Æ‚¢‚¤ƒZƒ“ƒX‚ðg‚É’…‚¯‚Ä‚©‚ço’¼‚µ‚Ä‚­‚êB
>>219
‚¨‚¢A‚¨‚Ü‚¦





“¯Š´
221 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/02/17(“y) 00:00:33
>>219
‚²‚ß‚ñ@’ù³‚³‚¹‚Ä‚à‚炤

‚m‚`‚f‚Ì‚e‚‚’‚”‚’‚‚Ž‚a‚•‚‰‚Œ‚„‚…‚’‚Ì‚m‚`‚f‚e‚‚’‚”‚’‚‚Ž‹ãŒÜƒRƒ“ƒpƒCƒ‰‚Ì‚u‚…‚’‚“‚‰‚‚Ž‚Á‚ćXD‚OH‚»‚ê‚Æ‚à‡XD‡TH

‡XD‡T‚Ȃ甃‚¢‚½‚¢‚ñ‚¾‚¯‚ÇA’N‚©’m‚Á‚Ä‚él‚¢‚éH

‘SŠpŠ¿”Žš‚©ƒ[ƒ}”Žš‚ð‚‚©‚¦‚΂¢‚¢‚킯‚¾‚ëH
‚‚܂ç‚ñ
ƒtƒH[ƒgƒ‰ƒ“‚Á‚Ä¡‚Å‚àƒŠƒAƒ‹‚ÉŽg‚Á‚Ä‚é‚Æ‚±‚ ‚é‚Ì‚©Hw
–{•¨‚̃vƒƒOƒ‰ƒ}‚Í`A‚ÌŽž‘ã‚Å‚à‚·‚Å‚ÉŽž‘ã’x‚ê‚̃_ƒŒ¾Œê‚¾‚Á‚½‚Ì‚É
>>223
‚¨‚Ü‚¦A‚¿‚å‚Á‚Æ‚»‚±‚ɳÀ‚µ‚ëB
‚±‚Ì¢ŠÔ’m‚炸‚ª‚—


‚¢‚¢‚©A“dŽqŒvŽZ‹@‚Ì–{—¬‚ÍFortran‚¾‚¼I
ƒXƒpƒRƒ“Eƒ‰ƒ“ƒLƒ“ƒO‚Ì‹@ŠB‚Å“®‚¢‚Ä‚¢‚éƒvƒƒOƒ‰ƒ€‚ÍŠî–{“I‚ÉFortran‚¾B

‘å‘̃}ƒ‹ƒ`ƒRƒA‚Å•À—ñ‰»‚Æ‚¢‚Á‚Ä‚¢‚邪AMPI‚àOpenMP‚à‘ΉžƒRƒ“ƒpƒCƒ‰‚ÍFortran‚©
‚b‚µ‚©‚È‚­‚ÄAC‚Í‚ ‚­‚Ü‚Å‚¨‚Ü‚¯‚¾B‘命”‚ÌlŠÔ‚ÍFortran‚ŃvƒƒOƒ‰ƒ€‘‚¢‚Ä‚éB

‚±‚ê‚©‚ç•À—ñ‰»‚ªŽå—¬‚É‚È‚é‚ɂ‚êAFortran‚Ì“V‰º‚ªÄ‚Ñ‚â‚Á‚Ä‚­‚é‚̂͊ԈႢ‚È‚¢I
‰÷‚¢‰ü‚ß‚æI‚³‚à‚È‚­‚Î’n–‚̋Ɖ΂ÉÄ‚©‚ê‚é‚ׂµI
Ú‚µ‚­‚̓}ƒ^ƒˆƒVƒCƒGƒX‚̃TƒCƒg‚ðn’m‚·‚ׂµB
—Bˆê_Fortran
>>221
u‘SŠp‰p”v‚̈Ӗ¡‚ª‚í‚©‚é‚悤‚É‚È‚Á‚Ä‚©‚ço’¼‚µ‚Ä‚­‚êB
227 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/02/17(“y) 01:43:01
>>216
gfortran ‚Ç‚â‚Á‚Ä‚¢‚ꂽ‚ñ‚Å‚·‚©H
‰´‚Ìmac‚É‚Í‚Í‚¢‚Á‚Ä‚È‚¢‚ñ‚¾‚Ä‚Ç
>>227
ŒN‚ÌMac‚̓nƒYƒŒ‚¾‚Á‚½‚ñ‚¾‚æB
>>226
‚¨‚Ü‚¢‚çC‚¤‚º[‚©‚瑼Š‚Å‚â‚êD
>>229
‚¤‚邹[A>>218‚â>>221‚̂悤‚ȃOƒ‚ÍŒ©‚½‚­‚Ë[‚ñ‚¾‚æB
Å‹ß‚­‚¾ƒXƒŒ‚Ì‚Ù‚¤‚ªƒŒƒxƒ‹‚ª‚‚¢‚È‚—
232 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/02/21(…) 15:40:26
>>218 5.1‚ð“‹Ú
233 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/02/21(…) 22:54:23
>>232
‡dƒNƒXI


nag‚̃TƒCƒg‚É’²‚ׂɂ¢‚Á‚½‚ñ‚¾‚ªAWindows—p‚Í‚Ü‚¾5.0‚¾‚Á‚½‚Ì‚ÅA‚¾‚ß‚©‚ÆŽv‚Á‚½‚ªB

ˆÀ‚¢‚â‚”ƒ‚Á‚ÄŒ©‚Á‚©[@‚Å‚àƒ‰ƒCƒZƒ“ƒX‚ªƒEƒ[[‚ñ‚¾‚æ‚ÈB
234 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/02/25(“ú) 00:31:39
Intel Visual Fortran 9.1‚É•t‘®‚µ‚Ä‚­‚éƒfƒoƒbƒK(idb)‚ÌÚ‚µ‚¢“ú–{Œê‚ÌŽ‘—¿‚â‘ЂÁ‚Ä‚È‚¢‚ñ‚Å‚µ‚傤‚©H
ƒGƒNƒZƒ‹ƒ\ƒtƒg‚ªƒRƒ“ƒpƒCƒ‰ƒ}ƒjƒ…ƒAƒ‹‚Ì“ú–{Œê–ó‚ðo‚µ‚Ä‚¢‚½‚ªAƒfƒoƒbƒK‚à‚ ‚Á‚½‚©‚ÈH
>>235
XLsoft‚©‚ç“ú–{Œêƒ}ƒjƒ…ƒAƒ‹‚ð—Ž‚Æ‚µ‚Ä‚Ý‚Ü‚µ‚½‚ªA
Ú‚µ‚­Ú‚Á‚Ä‚¢‚é‚Ì‚ÍVisual Studio‚ł̃fƒoƒbƒO‚¾‚¯‚ÅIDB‚ɂ‚¢‚Ä‚ÍŽå—v‚ȃRƒ}ƒ“ƒh‚Ìà–¾‚Ì‚Ý‚Å‚µ‚½B
>IDB ‚ÉŠÖ‚·‚éÚׂÍA[ƒXƒ^[ƒg] ƒƒjƒ…[‚©‚ç—˜—p‰Â”\‚ȃCƒ“ƒeƒ‹EƒfƒoƒbƒK[‚̃Iƒ“ƒ‰ƒCƒ“ƒ}ƒjƒ…ƒAƒ‹ (‰pŒê) ‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B
‚Æ‚Ì‚±‚Æ‚ÅEEE‚±‚̃}ƒjƒ…ƒAƒ‹AŠ®‘S‚É“ú–{Œê–󂳂ê‚Ä‚é–󂶂á‚È‚¢‚ñ‚Å‚·‚ËB
Language Reference‚Æ‚©‰p•¶‚Ì‚Ü‚Ü‚¾‚µB
237 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/03/11(“ú) 12:16:05
>>236
ttp://www.xlsoft.com/jp/products/intel/compilers/compiler_j.html
“ú–{Œê”ŃXƒyƒVƒƒƒ‹ƒGƒfƒBƒVƒ‡ƒ“‚Å‚à‚È‚ñ‚©’†“r”¼’[‚¾‚µA‚µ‚傤‚ª‚È‚¢‚ñ‚¶‚á‚È‚¢H

ƒRƒ“ƒpƒCƒ‹‚·‚鎞‚̃IƒvƒVƒ‡ƒ“‚Ä‚È‚ÉŽg‚Á‚Ä‚éH/O3‚Æ‚©•’Ê‚ÉŽg‚Á‚Ä‘åä•v‚È‚Ì‚©‚ÈEEE
Interl Visual Fortran‚̃fƒoƒbƒK‚Í•³‚¾‚ÆŽv‚¤BHP‚âCompaq‚Ì ‚Ü‚Å‚Ì‚ªˆê”Ô—Ç‚©‚Á‚½B
Compaq Visual Fortran‚Ì ‚ÍVisual Studio‚̃fƒoƒbƒK‚¾‚¯‚¶‚á‚È‚©‚Á‚½‚Á‚¯
240 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/03/11(“ú) 17:16:03
idb‚ÍŠT‚ËUNIX/Linux‚Ìdbx/gdbŒÝŠ·i‚̃Rƒ}ƒ“ƒh‘ÌŒnj‚È‚Ì‚Å
‚±‚ê‚ç‚ɂ‚¢‚Ä‘‚©‚ꂽŽ‘—¿‚ð’T‚¹‚ÎŽQl‚É‚È‚é‚©‚à’m‚ê‚ñB

>>237
>/O3‚Æ‚©•’Ê‚ÉŽg‚Á‚Ä‘åä•v‚È‚Ì‚©‚ÈEEE
“¯Žž‚ɃfƒoƒbƒOEƒIƒvƒVƒ‡ƒ“‚à•t‚¯‚Æ‚¯‚΂Ƃ肠‚¦‚¸‚¨‚‹A‚¾‚ª
Å“K‰»‚É‚æ‚é–½—ß‚Ì•À‚בւ¦‚⃋[ƒv‚̃Aƒ“ƒ[ƒ‹‚Ȃǂ̉e‹¿‚Å
ƒ\[ƒXƒtƒ@ƒCƒ‹’Ê‚è‚ɃgƒŒ[ƒX‚Å‚«‚È‚­‚Ȃ銂ªo‚Ä‚­‚éB
>>240
ƒCƒ“ƒeƒ‹EƒRƒ“ƒpƒCƒ‰‚̓fƒoƒbƒOƒIƒvƒVƒ‡ƒ“‚‚¯‚Ä‚àŽ©“®“I‚ÉÅ“K‰»‚Í—}Ž~‚³‚ê‚È‚¢‚Ì‚©H
>>241
ifort /debug:full hoge.f90
‚̂悤‚ɃfƒoƒbƒOEƒIƒvƒVƒ‡ƒ“i/debug:fullj‚¾‚¯•t‚¯‚ÄÅ“K‰»‚ÌŽwŽ¦‚ðÈ—ª‚·‚é‚Æ
‚·‚ׂĂÌÅ“K‰»‚ª–³Œø‚É‚È‚éB

ifort /debug:full /O3 hoge.f90
‚̂悤‚ÉÅ“K‰»‚𖾎¦i/Onj‚·‚é‚ÆAÅ“K‰»‚µ‚½ó‘ԂŃfƒoƒbƒOî•ñ‚̶¬‚ðs‚¤B
>>242
‚»‚¤‚¢‚Á‚½Ž‘—¿‚Í‚Ç‚±‚©‚É‚ ‚é‚à‚Ì‚¾‚낤‚©H
•KŽ€‚±‚¢‚ăOƒO‚Á‚ÄŒ©‚½‚ªƒCƒ}ƒCƒ`‚æ‚­—‰ð‚Å‚«‚È‚­‚ÄEEE
‰½‚©‚æ‚¢‚à‚Ì‚ª‚ ‚ê‚΋³‚¦‚Ä‚­‚¾‚³‚¢
>>243
XLsoft‚©‚çDLo—ˆ‚é“ú–{Œêƒ}ƒjƒ…ƒAƒ‹‚©‚çB
>>242‚Ì“à—e‚È‚çAuƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̃rƒ‹ƒhv|uDebuggingv|uƒfƒoƒbƒO‚ÆÅ“K‰»v‚ÌŠ‚ÉÚ‚Á‚Ä‚¢‚Ü‚·B
>>244
‚Ü‚³‚©‚»‚ñ‚È‚Æ‚±‚ë‚ÉII
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·An“Ç‚µ‚Ä‚«‚Ü‚·B
246 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/03/20(‰Î) 19:03:09
ƒWƒ‡ƒ“EƒoƒbƒJƒX’Ç“‰age

John W. Backus, 82, Fortran Developer, Dies

John W. Backus, who assembled and led the I.B.M. team that created Fortran,
the first widely used programming language, which helped open the door to
modern computing, died on Saturday at his home in Ashland, Ore. He was 82.

ttp://www.nytimes.com/2007/03/20/business/20backus.html?_r=2&hp=&adxnnl=1&oref=slogin&adxnnlx=1174384848-yna0f27jrkZeyETCJGvVNQ
247 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/03/21(…) 11:13:38
yæ]•ñzƒRƒ“ƒsƒ…[ƒ^Œ¾ŒêuFORTRANvŠJ”­ŽÒAƒWƒ‡ƒ“EƒoƒbƒJƒX‚³‚ñŽ€‹Žc•ÄEƒIƒŒƒSƒ“B
http://news22.2ch.net/test/read.cgi/newsplus/1174440079/
248 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/03/21(…) 13:16:33
ƒWƒ‡ƒ“‚³‚ñA‰ù‚©‚µ‚¢
249 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/03/21(…) 14:02:59
yæ]•ñzƒWƒ‡ƒ“EƒoƒbƒJƒX‚³‚ñŽ€‹Ž@ƒRƒ“ƒsƒ…[ƒ^[Œ¾ŒêuFORTRANvŠJ”­
http://news23.2ch.net/test/read.cgi/news/1174434397/
250 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/03/21(…) 14:50:05
ƒoƒbƒJƒX‚Á‚ÄŽðˆù‚Ý‚Ì
251 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/03/23(‹à) 19:54:29
‚·‚¢‚Ü‚¹‚ñA‰SŽÒ‚Å‚·B
«‚̂悤‚ȃf[ƒ^‚ð‰æ–Ê‚Éo‚µ‚½‚¢‚Ì‚Å‚·‚ª
ŽQlƒvƒƒOƒ‰ƒ€‚ð‹³‚¦‚Ä‚¢‚½‚¾‚¯‚Ü‚¹‚ñ‚©H
1964/1/1 115 89 80 81 104 154 209 256 287 298 285 260 229 199 176 170 189
1964/1/2 155 111 89 81 91 124 171 227 266 293 292 274 252 221 190 174 181
1964/1/3 191 147 112 92 94 113 151 194 241 271 290 283 267 241 214 189 176
1964/1/4 222 185 147 117 101 107 134 168 208 248 274 284 274 256 233 208 185
1964/1/5 238 213 184 156 134 127 139 164 193 227 259 276 274 267 249 226 204
1964/1/6 248 234 214 190 165 151 149 161 181 206 234 257 267 266 257 243 222
1964/1/7 234 236 229 215 199 184 175 175 184 203 224 241 256 264 259 248 233
1964/1/8 216 228 234 229 221 213 203 192 190 197 210 225 239 252 258 254 243
1964/1/9 193 212 227 237 238 231 220 209 199 194 195 205 217 232 243 250 246
1964/1/10 163 181 203 226 238 243 240 229 217 205 195 196 202 215 232 245 251
252 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/03/24(“y) 07:34:06
ŠJ”­ŽÒŽ€‚ñ‚¾‚Ì‚É‚¨‘O‚痬΂ɃXƒ‹[‚µ‰ß‚¬‚—
>252
Žè‚͇‚킹‚½‚ªA2ch‚ÅŒê‚é˜b‘è‚Å‚à‚È‚©‚낤B
>>252
ƒoƒbƒJƒX‚̃„ƒIƒC“¯l‚Å‚àì‚ê‚΂¢‚¢‚Ì‚©H
‚Ü‚ AƒoƒbƒJƒX‚³‚ñŽ©g‚Í‚ ‚Ü‚èFORTRAN‚ðD‚«‚¶‚á‚È‚©‚Á‚½‚Ý‚½‚¢‚¾‚µ‚ÈB
write‚ð‚‚©‚Á‚ăoƒCƒiƒŠƒf[ƒ^‚ð‘‚«o‚µ‚Ä‚¢‚é‚Ì‚Å‚·‚ªA
ƒ}ƒVƒ“‚É‚æ‚Á‚Äo—Í‚³‚ê‚éƒoƒCƒiƒŠ‚ª”÷–­‚ɈႢA
ŒÝŠ·«‚Ì‚È‚¢ƒoƒCƒiƒŠƒtƒ@ƒCƒ‹‚ª‚Å‚«‚Ä‚µ‚Ü‚¢‚Ü‚·B
‚ǂ̃}ƒVƒ“‚Å‚à‹¤’ʂ̃oƒCƒiƒŠƒtƒ@ƒCƒ‹‚ð“Ç‚Ý‘‚«‚Å‚«‚é‚悤‚É‚·‚é‚É‚Í
‚ǂ̂悤‚É‚µ‚½‚ç‚æ‚¢‚Ì‚Å‚µ‚傤‚©H
257 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/04/10(‰Î) 10:59:24
>>256
–³—Œ¾‚¤‚È‚—
‚Ç‚¤‚µ‚Ä‚à‚â‚肽‚¯‚ê‚ÎAŽ©•ª‚Ńrƒbƒg—ñ‚𶬂µ‚ÄA‚»‚ê‚ð‚P•¶Žš‚É‚µ‚Ä‘‚¯B
‚»‚ê‚Å‚à‚ ‚킹‚é‚Ì‚Í•s‰Â”\B

ƒeƒLƒXƒg•¶Žš‚Åo‚µ‚ÄIBM’P–§“xŒ`Ž®‚ÌŽ¥‹Cƒe[ƒv‚Å‚â‚èŽæ‚è‚·‚é‚Ì‚ªˆê”ÔŠmŽÀ‚¾B

‘å‘ÌAƒ}ƒVƒ“–ˆ‚Ƀ[ƒh”iƒoƒCƒg”j‚ªˆÙ‚È‚éꇂª‚ ‚éB
Ì‚ÌACOS‚Í‚XƒrƒbƒgACDC‚à–­‚ȃ[ƒh’·‚¾‚Á‚½B

•¶ŽšƒR[ƒh‚É‚µ‚Ä‚àAIBMŒÝŠ·‚ÌEBCDICŒn‚Æi‚½‚¾‚µƒ[ƒJ[–ˆ‚É”÷–­‚ɈႤjA
DEC‚âACOS‚ÌASCIIŒn‚È‚Ç‚ª“ü‚è—‚ê‚Ä‚¢‚éB

”’l‚̃tƒH[ƒ}ƒbƒg‚͉ïŽÐ–ˆ‚Ƀ}ƒVƒ“–ˆ‚ɃRƒ“ƒpƒCƒ‰–ˆ‚ɈقȂé‚Ì‚ª•’Ê‚¾B

‚³‚ç‚É‚ÍIBMAƒ‚ƒgƒ[ƒ‰Œn—ñBigEndianƒrƒbƒg—ñLittleEndianADECAIntelŒn‚ÌLittleEndianŒn‚É
•ª‚©‚ê‚Ä‚¢‚éB‚±‚ê‚ç‚àƒrƒbƒg•À‚Ñ‚Å‚³‚ç‚É•ª—ô‚·‚é‚炵‚¢B


‚Æ‚Í‚¢‚¦A–¾‚é‚¢˜b‚à‚ ‚éB”’lŒvŽZ‚Ì¢ŠE‚Å‚ÍA‚à‚Í‚âACOS‚àCDC‚à‚Ù‚Æ‚ñ‚ÇŽg‚í‚ê‚Ä‚¢‚È‚¢B
EBCDIC‚à‚ß‚Á‚½‚ÉŒ©‚È‚­‚È‚Á‚½Bƒ[ƒh’·‚Í‚R‚Qƒrƒbƒg‚ª•’Ê‚¾‚µA‚PƒoƒCƒg‚Í‚Wƒrƒbƒg‚É“ˆê‚³‚ꂽB
”’l‚̃tƒH[ƒ}ƒbƒg‚àIEEE754‚É‚Ù‚Ú“ˆê‚³‚ꂽB

Žc‚é–â‘è‚̓Gƒ“ƒfƒBƒAƒ“‚¾‚¯‚¾B‚»‚̃Gƒ“ƒfƒBƒAƒ“‚·‚çƒRƒ“ƒpƒCƒ‰‚̃IƒvƒVƒ‡ƒ“‚Å‘å’ï‚ÍAƒ}ƒVƒ“‚Ì
Ž©‘R‘Ì‚ÉŠÖ‚í‚炸ABig/Little‚Ì‚Ç‚¿‚ç‚Å‚à“Ç‚Ý‘‚«‚Å‚«‚é‚Ì‚ª•’Ê‚¾B

‚䂦‚ÉAwƒGƒ“ƒfƒBƒAƒ“x‚ðƒ}ƒjƒ…ƒAƒ‹‚Å’²‚ׂê‚ÎAƒ`ƒ~‚Ì–â‘è‚Í‰ðŒˆ‚·‚éB
ƒCƒ“ƒeƒ‹‚̃tƒH[ƒgƒ‰ƒ“ƒRƒ“ƒpƒCƒ‰ifort‚ðŽg‚Á‚ăRƒ“ƒpƒCƒ‹‚µ‚Ä‚¢‚Ü‚·B
CPU‚ÍOpteron‚È‚Ì‚Å‚·‚ªA-xWƒIƒvƒVƒ‡ƒ“‚ð‚‚¯‚È‚¢‚ÆSSE‚âSSE2‚Í‘S‚­Žg—p‚³‚ê‚È‚¢‚Ì‚Å‚µ‚傤‚©H
>>258
ƒfƒtƒH‚Å‚ÍŽg—p‚³‚ê‚È‚©‚Á‚½‚ÆŽv‚¤BÚ‚µ‚­‚ÍHelp‚ÅŠm‚©‚ß‚æB

‚r‚r‚d‚ÍŒµŠi‚É‚ÍIEEE754‚Ì‹K–ñ‚ð–ž‚½‚µ‚Ä‚¢‚È‚¢‚¹‚¢‚©A
‚ ‚é‚¢‚Í‘SƒoƒCƒiƒŠ[‘Ήž‚Ì‚½‚ß‚©H‚—
Mac—p‚Í-xP‚ªƒfƒtƒHƒ‹ƒg‚Ì—l‚¾‚©‚çŒÝŠ·«‚Ì‚½‚ß‚È‚ñ‚Å‚µ‚傤‚ËB
FORTRAN‚Å‘‚«o‚µ‚½ƒoƒCƒiƒŠƒtƒ@ƒCƒ‹‚Ì“Ç‚Ýo‚µ•û‚Í•ª‚©‚é‚Ì‚Å‚·‚ªA
ŽÀŒ±‹@Ší‚ª‚Í‚«o‚µ‚½ƒoƒCƒiƒŠƒtƒ@ƒCƒ‹‚ð“Ç‚Ýž‚Þ‚É‚Í‚Ç‚¤‚µ‚½‚ç‚æ‚¢‚Ì‚Å‚µ‚傤‚©H
‚È‚¨AFORTRAN‚Å‘‚«o‚·‚ÆA¡Žg‚Á‚Ä‚¢‚éƒ}ƒVƒ“‚Å‚Í擪‚É4ƒoƒCƒg‚Ù‚Ç‚ÌŽ¯•Êƒf[ƒ^‚ª•t‰Á‚³‚ê‚Ü‚·‚ªA
ŽÀŒ±‹@Ší‚ª‚Í‚«o‚µ‚½ƒoƒCƒiƒŠƒtƒ@ƒCƒ‹‚É‚Í‚±‚ꂪ‚‚¢‚Ä‚¢‚Ü‚¹‚ñB
>>261
ƒtƒ@ƒCƒ‹‚ðOPEN‚·‚é‚Æ‚«‚É form="binary" ‚Æ‚µ‚½‚è iˆ—ŒnˆË‘¶j
access="stream" ‚Æ‚µ‚½‚è iFortran 2003j
>>261
DIRECTŒ`Ž®‚ðŽg‚Á‚Ä‘‚­‚Æ‚¢‚¤— ‹Z‚ª‚ ‚éB̂̃Rƒ“ƒpƒCƒ‰‚Å‚â‚é‚É‚Í‚±‚ê‚©B

‚½‚¾¡‚Í>>262‚Ì‘‚­‚悤‚ÉAF2003Šg’£‚ÌæŽæ‚è‚ÅSTREAMƒ‚[ƒh‚ª‘å’ï‚ ‚é‚Ì‚Å‚»‚ê‚ðŽg‚¤‚ª‚æ‚낵‚¢B
–Ê“|‚È‚Ì‚ÅC‚Å“Ç‚Ýž‚ÞB
265 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/04/25(…) 16:57:37
STDCALL ‚ÌŠÖ”‚ð g95 ‚©‚çŒÄ‚Ñ‚½‚¢‚Ì‚Å‚·‚ªA‚Ç‚¤‚·‚é‚Ì‚ª‚æ‚¢‚Å‚µ‚傤‚©B
266 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/04/25(…) 21:35:56
>>257
>‚PƒoƒCƒg‚Í‚Wƒrƒbƒg‚É“ˆê‚³‚ꂽB

ˆÈ‘O‚Í“ˆê‚³‚ê‚Ä‚È‚©‚Á‚½‚ÌH
>>266
‚ ‚ç‚ä‚é‚à‚Ì‚ª“ˆê‚³‚ê‚Ä‚¢‚È‚©‚Á‚½B
¡‚Í“ˆê‚³‚ê‚Ä‚¢‚é‚Æ‚¢‚Á‚Ä‚¢‚¢‚Ì‚©H
‚Ü‚ Ì‚É”ä‚ׂê‚Î
270 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/05/07(ŒŽ) 06:10:19
fortran‚Å
web‚ÌŒ‹‰Ê‚𓾂邱‚Æ‚Å‚«‚éH

get http://www.hoge.com
‚ðs‚¢
Œ‹‰Ê‚ðƒtƒ@ƒCƒ‹‚ÉŽc‚·

‚ ‚é‚¢‚ÍA–ß‚è’l@403 not found
‚©‚Ç‚¤‚©‚Ì”»’è‚Æ‚©B
Linux *g77
‚Å‚·
‚Å‚«‚È‚­‚Í‚È‚¢‚¾‚낤‚¯‚ÇA
•Ê‚ÌŒ¾Œê‚ðŽg‚Á‚½•û‚ª‚¢‚¢‚ÆŽv‚¤B
272 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/05/07(ŒŽ) 08:01:53
‚¤‚íA•ÔŽ–‚Í‚âI
‚ ‚肪‚Æ‚¤B

Ž©—RŽ©Ý‚É‘‚¯‚錾Œê‚ªFortran‚ÆVBŒnˆÈŠO‚Ìbasic‚È‚ñ‚Å‚·B
ŒŸ“¢‚µ‚Ä‚Ý‚Ü‚·
>>270
•\Ž¦‚·‚邾‚¯‚Ȃ炱‚ñ‚È‚Ì‚Å“®‚­‚ÆŽv‚¤‚¯‚Ç

web2console.py
----------------------------
#!/usr/bin/env python
import urllib

conn = urllib.urlopen("http://www.yahoo.co.jp/")
data = conn.read()
print data
----------------------------

F2PY - Numerical Analysis with Python
http://scipy.dip.jp/index.php?F2PY
http://nihongo.homeip.net/word/scipy/

‚¶‚Ô‚ñ‚Í fortran ‚ÍŽg‚Á‚½‚±‚Æ‚È‚¢‚©‚ç‚æ‚­‚í‚©‚ç‚È‚¢‚¯‚Ç
fortran ‚Æ‚à‚»‚ê‚È‚è‚É‘Š«‚à—Ç‚¢‚Ý‚½‚¢‚¾‚Ëc(³’¼‚æ‚­‚í‚©‚ç‚ñ)
274 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/05/07(ŒŽ) 11:18:23
>>270
ŠOl‚ª‚‡‚V‚V‚Å‚Ì‚â‚è•û‚ð‰ðà‚µ‚Ä‚¢‚éƒy[ƒW‚ª‚ ‚éB
ŠÂ‹«•Ï”‚ðŽg‚Á‚Ä•Ï”‚Ì‚â‚èŽæ‚è‚ð‚µ‚Ä‚¢‚½B

LINK‚ª‚݂‚©‚ñ‚Ë[‚—

fortran cgi@‚ŃOƒOƒ‹‚ÆFXˆø‚Á‚©‚©‚éB
275 F274F2007/05/07(ŒŽ) 11:24:19
>>270
‚ ‚ ‚²‚ß‚ñB
FORTRAN‚ŃT[ƒo[‘¤‚ÌCGI‚ð‘‚­‚Ì‚©‚ÆŽv‚Á‚½‚ª‹t‚©B
ƒNƒ‰ƒCƒAƒ“ƒg‚ð‘‚«‚½‚¢‚Ì‚©B

Windows ‚È‚ç WinInet.Lib{Intel Visual Fortran‚Å‚È‚ço—ˆ‚éB
Linux‚Å‚à‚»‚Ì—Þ‚ÌDLL‚ðFortran‚©‚çŒÄ‚Ño‚¹‚Ή½‚Æ‚©‚È‚é‚Ì‚Å‚Í‚È‚¢‚©H

y‰ÈŠw‹ZpŒvŽZzCŒ¾Œê‚ÆFortran@‚Ç‚Á‚¿‚ª‚¢‚¢H
http://science6.2ch.net/test/read.cgi/sim/1042715803/

629 –¼‘OF–¼–³‚µ‚³‚ñ—‚TŽü”N[] “Še“úF2007/05/08(‰Î) 07:49:36
Fortran‚©C‚©‚È‚ñ‚Ä‹c˜_‚Í”nŽ­‚°‚Ä‚¢‚é‚æB
Fortran‚È‚ñ‚Ä‚à‚͂≻Ό¾ŒêB
‚¾‚©‚çÁ‹Ž–@‚ÅC‚ð‘I‚Ô‘¼‚È‚¢B
‚µ‚©‚µŒN‚½‚¿B
ŽÀ‚Í‚à‚Á‚Æ‚àg‹ß‚ÅŠÈ’P‚ȉȊwŒvŽZ—pŒ¾Œê‚ª‚ ‚é‚Ì‚¾B
‚»‚ꂪExcelVBAB
“š‚¦‚͈ĊO‘«Œ³‚É‚ ‚Á‚½‚킯‚¾B
‚¢‚í‚ä‚é‚¢’¹‚Á‚Ä‚â‚‚¾‚ËB




i”OƒÖOj

277 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ F2007/05/08(‰Î) 21:42:56
fortranƒvƒƒOƒ‰ƒ€‚Ì쬈˗Š‚Í‚±‚̃XƒŒ‚Å‚Å‚«‚Ü‚·‚©H
>>277
‚­‚¾‚·‚êFORTRANi’´‰SŽÒ—pj‚»‚Ì2
http://pc11.2ch.net/test/read.cgi/tech/1164121236/

‚Ç‚¿‚ç‚©‚Æ‚¢‚¤‚ÆA‚±‚Á‚¿‚Ì•û‚ª‚₳‚µ‚­‚µ‚Ä‚­‚ê‚邨
279 F270F2007/05/09(…) 23:38:08
ŠF‚³‚ñ‚ ‚肪‚Æ‚¤B

>>273
Žn‚ßApython‚ÅuHHHHv‚Å‚µ‚½‚ªŒ©‚é‚Æ•Ö—˜‚Å‚·‚ËB
‚Å‚àpython‚̃tƒ@ƒCƒ‹IO’m‚ç‚È‚¢‚Ì‚Å’²‚ׂĂ݂܂·B

>>274
‚¦‚¦AŒ©‚é•û‚Å‚·B‚Å‚àcgiŒŸõ‚µ‚ÄŒ©‚é‚Æfortran‚Å‚àcgio—ˆ‚Ü‚·‚ËB

FORTRANi’´‰SŽÒ—pj‚»‚Ì2
‚Å‚à•·‚¢‚Ä‚Ý‚Ä—Ç‚¢‚Ì‚©‚ÈH
Visual Fortran 9 ‚ðŽg—p‚³‚ê‚Ä‚¢‚é•û‚¢‚Ü‚·‚©H
w“ü‚ðŒŸ“¢‚µ‚Ä‚¢‚é‚Ì‚Å‚·‚ªCƒAƒNƒeƒBƒx[ƒVƒ‡ƒ“‚ ‚é‚ñ‚©‚ÈH
>>280
ƒlƒbƒgŒo—R‚Ì”FØ‚ào—ˆ‚邵Aƒ[ƒJƒ‹‚ł̃‰ƒCƒZƒ“ƒXƒtƒ@ƒCƒ‹‚Å‚Ì”FØ‚ào—ˆ‚éB
‚Ç‚¿‚ç‚©‚Æ‚¢‚¤‚ƃlƒbƒgŒo—R‚Ì”FØ‚ÖˆÚs‚µ‚½‚¢‚ÆŽv‚Á‚Ä‚¢‚éß‚ª‚ ‚éB

‚ ‚Æ‚P”N‚щƒCƒZƒ“ƒX‚ÍØ‚ê‚éB؂ꂽŒã‚̓Cƒ“ƒXƒg[ƒ‹‚Å‚«‚È‚¢BăCƒ“ƒXƒg[ƒ‹‚ào—ˆ‚È‚¢B
ŽÀs‚É‚Í–â‘è‚È‚¢B‚½‚¾‚µƒoƒOƒtƒBƒbƒNƒX‚ÍăCƒ“ƒXƒg[ƒ‹‚É‚È‚é‚Ì‚Åo—ˆ‚È‚¢B
‚¤‚Á‚©‚èÁ‚µ‚Ä‚µ‚Ü‚¤‚ÆAăCƒ“ƒXƒg[ƒ‹‚Å‚«‚È‚¢B
ƒ‰ƒCƒZƒ“ƒX‚Á‚Ä’P”NŒ_–ñ‚È‚ñ‚Å‚·‚©HP‹vŒ —˜‚¾‚ÆŽv‚Á‚Ä‚½EEE‚â‚Á‚Ï‚è¡‚ÌVisual Fortran 6Žg‚¢‘±‚¯‚悤‚©‚È‚ D
> ؂ꂽŒã‚̓Cƒ“ƒXƒg[ƒ‹‚Å‚«‚È‚¢BăCƒ“ƒXƒg[ƒ‹‚ào—ˆ‚È‚¢B
‚»‚ñ‚È‚±‚Æ‚Í‚È‚¢B
w“üŒãA1”NŠÔ‚̊ԂɃŠƒŠ[ƒX‚³‚ꂽƒ}ƒCƒi[ƒo[ƒWƒ‡ƒ“ƒAƒbƒv‚Ü‚Å‚ÍŽ©—R‚ÉŽg‚¦‚é‚æB
Žg‚¦‚È‚¢‚Ì‚ÍA‚»‚êˆÈ~‚ɃŠƒŠ[ƒX‚³‚ꂽÅV”Å‚Æ‚©AƒvƒŒƒ~ƒAƒTƒ|[ƒg‚Æ‚©B
ƒlƒbƒgŒo—R‚Ì”FØ‚ª‚¢‚é‚Á‚Ä‚±‚Æ‚ÍC•¡”‘ä‚ÌPC‚ɃCƒ“ƒXƒR‚µ‚Ä“¯Žž‚ÉŒvŽZ‘–‚点‚é‚Æ‚©‚Å‚«‚È‚¢‚킯‚Å‚·‚æ‚ËH
i”FØ‚È‚­‚Ä‚à‚â‚Á‚¿‚Ⴞ‚ß‚È‚ñ‚¾‚낤‚ªj
Œ‹‹Ç‚±‚Ì——R‚Åoffice‚à2000Cvisual studio‚à6‚Ì‚Ü‚ÜEEE
Fortran‚à6‚Å‚¢‚¢‚©[
>>284
Œ_–ñ‚µ‚½ƒ‰ƒCƒZƒ“ƒX”‚ð’´‚¦‚Äi‚Ü‚½‚ÍŒ_–ñ‚µ‚½Žg—pŽÒˆÈŠO‚ªjuƒRƒ“ƒpƒCƒ‰v‚ðŽg‚¤‚Ì‚Í‚¢‚¯‚È‚¢‚ª
ƒRƒ“ƒpƒCƒ‹‚µ‚Äo—ˆ‚½ŽÀsƒvƒƒOƒ‰ƒ€‚Ì•û‚Í”z•z‚ª‰Â”\B
i•]‰¿”Å‚â”ñ¤—pƒ‰ƒCƒZƒ“ƒX‚Ìꇂ͕ʂ¾‚ªj

‚Ü‚½‚»‚̃vƒƒOƒ‰ƒ€‚ÌŽÀs‚ÉIntel‚ª’è‚ß‚½Ä”z•z‰Â”\ƒtƒ@ƒCƒ‹‚ª•K—v‚È‚çA‚»‚ê‚àŠÜ‚ß‚Ä”z•z‰Â”\B

‚¿‚Ȃ݂ɃVƒ“ƒOƒ‹Eƒ†[ƒU[Eƒ‰ƒCƒZƒ“ƒX‚Ìê‡AŒ_–ñŽÒŒÂl‚ª“¯Žž‚É‚P‚‚µ‚©Žg—p‚µ‚È‚¢‚Ì‚Å‚ ‚ê‚Î
ƒRƒ“ƒpƒCƒ‰‚ð•¡”‚ÌPC‚ɃCƒ“ƒXƒg[ƒ‹‚·‚邱‚Æ‚à‰Â”\B

http://www.intel.com/cd/software/products/asmo-na/eng/compilers/295825.htm
’N‚©eclipse‚ðŽg‚Á‚ătƒH[ƒgƒ‰ƒ“‚̃Rƒ“ƒpƒCƒ‹‚µ‚Ä‚¢‚él‚¢‚Ü‚¹‚ñ‚©H
photran‚ÌŽg‚¢•û‚ª‚í‚©‚ç‚È‚­‚ÄDD
>>286
‚»‚ê‚ð‚â‚낤‚Æ‚µ‚ÄA’ú‚ß‚½‚—
Ý’è‚¢‚ë‚¢‚ë‚¢‚¶‚낤‚ÆŽv‚¤‚Æeclipse‚܂ŕ׋­‚µ‚È‚«‚á‚È‚ç‚È‚­‚ÄŽžŠÔ‚Ì–³‘Ê‚¾‚ÆŠ´‚¶‚½B

Ý’è‚Å‚«‚½‚ç•ñ‚æ‚ëI
‹ó‹C“Ç‚Ü‚¸‚ÉŒ¾‚¤‚¯‚ǃtƒŠ[‚̃Šƒ“ƒNæ‚É‚ ‚é

FTN77/95‚̃Cƒ“ƒXƒg[ƒ‹•û–@
http://www.coastal-env.k.u-tokyo.ac.jp/koibuchi/fortran.htm

95‚̃Cƒ“ƒXƒg[ƒ‹æ‚ƃ}ƒjƒ…ƒAƒ‹‚̉æ–Ê‚ª‘S‘Rˆá‚¤‚Ì‚ÍŽd—lH
’Ê‚è‚·‚ª‚è‚ÌŽÒ‚¾‚ªEEEE
>>288
’ñ‹Ÿæ‚ªSalfort‚©‚çŠÖ˜A‰ïŽÐ‚ÌSilverFrost‚ɈÚs‚µ‚½‚Æ‚«‚É•Ï‚í‚Á‚Ä‚µ‚Ü‚Á‚½‚Ì‚³B
>>286
fortran‚ÅeclipseŽg‚Á‚Ä‚é‚Æ‚±‚Á‚Ä‚ ‚é‚ñ‚©‚ÈH
fortran‚Á‚ĉȊw‹ZpŒn‚ª‘½‚¢‚µA‘¼‚̈ê”Ê‹ÆŠE‚ÌŒ¾Œê‚âƒR[ƒh‚É”ä‚ׂ½‚çƒVƒ“ƒvƒ‹‚¾‚©‚ç‚ËEE
’†‚É‚Ívi‚ŃKƒVƒKƒV‚Ìl‚à‚¢‚邵
>>289
ƒTƒ“ƒNƒXB
‚¶‚á‚ A‚ ‚Ìó‘Ô‚ÅFortran95‚ðƒ_ƒEƒ“ƒ[ƒh‚·‚é‚É‚Í‚Ç‚¤‚·‚ê‚ÎccH

–{—ˆ‚È‚çà–¾‚µ‚Ä‚¢‚éƒTƒCƒg‚É•ñ‚·‚ׂ«‚¾‚ÆŽv‚¤‚¯‚ÇA
SilverFrost‚ł̃_ƒEƒ“ƒ[ƒh•û–@‚ð’m‚Á‚Ä‚¢‚él‚ª‚¢‚½‚狳‚¦‚Ä‚­‚¾‚³‚¢B
>>292
ƒTƒ“ƒNƒXB
ã’i‚̃y[ƒW‚©‚çƒ_ƒEƒ“ƒ[ƒh‚µ‚ÄŒãAVisualStugio2003‚ðƒCƒ“ƒXƒg[ƒ‹‚µ‚Ä‚½‚©‚瓯‚¶‚­2003‚ŃCƒ“ƒXƒg[ƒ‹‚µ‚Ü‚µ‚½B

‚ ‚Æ‚Í•¡”‚ ‚éƒVƒXƒeƒ€‚Ì’†‚ÅAFortran‹³‰È‘‚ÉÚ‚Á‚Ä‚éƒvƒƒOƒ‰ƒ€‚ð‘‚¢‚ÄŽÀs‚·‚é‚Ì‚É‘I‚Ԃׂ«ƒVƒXƒeƒ€‚Æ‚»‚Ì•û–@‚³‚¦‚í‚©‚ê‚Îcc
294 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/06/13(…) 22:07:13
Fortress‚ɂ‚¢‚Ä‚Ç‚¤Žv‚¤‚æH
µÜÀ
296 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/06/14(–Ø) 00:49:28
‚·‚¢‚Ü‚¹‚ñ‚ªAFORTRAN77‚ÅA“ñŠK”ñüŒ`í”÷•ª•û’öŽ®‚ðƒ‹ƒ“ƒQEƒNƒbƒ^–@‚ðŽg‚Á‚ăvƒƒOƒ‰ƒ€‚ð‘g‚Ý‚½‚¢‚Ì‚Å‚·‚ªA
ˆêŠK‚Ȃ番‚©‚Á‚½‚Ì‚Å‚·‚ªA‚ŠK‚É‚È‚é‚Æ‚æ‚­‚í‚©‚è‚Ü‚¹‚ñorz
>>296
‚»‚ê‚̓vƒƒOƒ‰ƒ€‚ª‚í‚©‚ç‚È‚¢‚ÌH
‚»‚ê‚Æ‚à”Šw‚ª‚í‚©‚ç‚È‚¢‚ÌH
>>296
ƒ‹ƒ“ƒQ‹ò‚Á‚½‚È‚ñ‚ÄA”’lŒvŽZ‚Ì–{‚ÌA•poŽ–€‚¶‚á‚ñ‚©B
}‘ŠÙ‚És‚Á‚½‚Ù‚¤‚ª‚Q‚ƒ‚ˆ‚É—ˆ‚é‚æ‚èŒø—¦“IB
ƒ‹ƒ“ƒQŒx•”‚ð‹ò‚Á‚¿‚Ⴄ‚È‚ñ‚ÄEEE
ƒyƒbƒp[ƒ‰ƒ“ƒ`‚Ńyƒbƒp[Œx•”‚ÉH‚í‚ê‚Ü‚µ‚½i³Î
>>300
ƒAƒb[H
302 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/07/07(“y) 05:25:58
Fortran‚©‚çLinux‚ÌsystemŠÖ”‚ð—˜—p‚µ‚Äo—Í‚µ‚½ƒ‚ƒm‚ð
•Ï”‚É”[‚ß‚½‚¢‚Ì‚Å‚·‚ªA‚Ç‚¤‚·‚ê‚΂悢‚Ì‚Å‚µ‚傤‚©?

—Ⴆ‚Î

call system('echo 2')
‚Åa.out‚ðŽÀs‚·‚é‚Ƴí‚É2‚ªo—Í‚³‚ê‚é‚Ì‚Å‚·‚ªA
‚»‚Ì2‚ð•Ï”‚É‘ã“ü‚µ‚悤‚ÆB

integer var
call system('echo 2',var)

‚̂悤‚É‚µ‚Ä‚Ý‚½‚Ì‚Å‚·‚ªAƒGƒ‰[‚É‚È‚è‚Ü‚µ‚½B
characterŒ^‚àŽŽ‚µ‚Ä‚Ý‚½‚Ì‚Å‚·‚ªA‚â‚Í‚èƒGƒ‰[‚É‚È‚è‚Ü‚µ‚½B
>>302
ƒRƒ“ƒpƒCƒ‰‚È‚É‚æB

‚ÜAƒ}ƒjƒ…ƒAƒ‹“Ç‚ñ‚¾‚Ù‚¤‚ª‘‚¢‚ÆŽv‚¤‚¯‚ÇB
>>302

call system('echo 2 > hoge.txt')
open(10, file='hoge.txt', status='OLD')
read(10,*) var
close(10,status='DELETE')
write(*,*) var
>>303
pgiƒRƒ“ƒpƒCƒ‰‚¾‚»‚¤‚Å‚·B
‚¿‚å‚Á‚ƃ}ƒjƒ…ƒAƒ‹’T‚µ‚Ä‚Ý‚Ü‚·B

>>304
ƒRƒ“ƒpƒCƒ‰‚Ì–â‘è‚È‚Ì‚©DELETE‚Ì‚Æ‚±‚낪‚¿‚å‚Á‚ƃGƒ‰[‚Å‚Å‚«‚È‚©‚Á‚½‚Ì‚Å‚·‚ªB
close(10)‚Æ‚µ‚½‚ç•Ï”‚É2‚ð“ü‚ê‚邱‚Æ‚ª‚Å‚«‚Ü‚µ‚½B
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½
‚ A‚·‚Ý‚Ü‚¹‚ñB
>>304‚Å‚Å‚«‚Ü‚µ‚½B
‚ ‚ÆASystemŠÖ”‚ð—˜—p‚¹‚¸‚ÉŠO•”ƒtƒ@ƒCƒ‹‚Ìs”‚ðŽæ“¾‚·‚é•û–@‚Á‚Ä‚ ‚è‚Ü‚·‚©H
—Ⴆ‚Îhoge.txt‚Ì’†g‚ª
----------
apple
123 456
pie
----------
‚Å‚ ‚ê‚ÎA‚»‚̃tƒ@ƒCƒ‹‚Ìs”‚ð“Ç‚ÝŽæ‚èintegerŒ^‚Ì•Ï”‚É3‚ð
‘ã“ü‚·‚é‚Æ‚¢‚¤‘€ì‚ðs‚¢‚½‚¢‚Ì‚Å‚·B

‚à‚¿‚ë‚ñSystemŠÖ”‚Ì—˜—p‚Å‚Å‚«‚½‚Ì‚Å‚·‚ªA‚»‚ꂾ‚ƃvƒ‰ƒbƒgƒtƒH[ƒ€‚ª
Linux‚ÉŒÀ‚ç‚ê‚Ä‚µ‚Ü‚¤‚Ì‚ÅAFortran‚Ńtƒ@ƒCƒ‹‚̈—‚ðs‚¤‚悤‚É‚·‚ê‚Î
ŠeŽíƒvƒ‰ƒbƒgƒtƒH[ƒ€ã‚Å‚àŽg‚¦‚éƒ\[ƒX‚É‚È‚Á‚Ä•Ö—˜‚¾‚È‚ÆŽv‚¢‚Ü‚µ‚½B
‚±‚Ì‘€ì‚ÉŒÀ‚炸AFortran‚Ńtƒ@ƒCƒ‹‚ð•ÒW‚·‚邽‚߂̕׋­‚͂ǂ̂悤‚È
‚Æ‚±‚ë‚ŕ׋­‚·‚ê‚΂¢‚¢‚Ì‚Å‚µ‚傤‚©H
>>307
•’Ê‚É‹óread‚Åend of file ‚ªo‚é‚܂ł܂킵‚ÄA•Ï”‚Ɉꑫ‚µ‚Ä‚¢‚¯‚΂¢‚¢B
>>308
‚Å‚«‚Ü‚µ‚½B
[Fortran]$ cat num_of_tmp
sfejoiwa
seflkew
sfepo pweko
wsefk

sefpowe posef

sdf s;ef
[Fortran]$ ./a.out
x = 8

‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½i„ƒj
310 FTEST‚¿‚イF2007/07/12(–Ø) 17:03:55
ƒtƒBƒ{ƒiƒbƒ`‚̃vƒƒOƒ‰ƒ€‚ª‹}‚¬‚Å•K—v‚Å‚·B‚¾‚ê‚©‹³‚¦‚Ä‚­‚¾‚³‚¢III
      WRITE(*,*) 'N='
      READ (*,*) N
      DO 10 I=1,N
      IF0=IF1
      IF1=IF2
      IF ( I.GT.2 ) THEN
            IF2=IF1+IF0
      ELSE
            IF2 = 1
      END IF
   10 WRITE(*,*) I,IF2
      STOP
      END
Numerical Recipes ‚Ì‘æ‚R”Å‚ªo‚é‚炵‚¢‚ÈB
Šm‚©‚É–{‰Æ‚̊Ŕ‚Éo‚Ä‚é‚Ë
http://www.nr.com/
î•ñ‚³‚ñ‚­‚·
ª‚Á‚ÄC++‚ªƒƒCƒ“‚É‚È‚Á‚Ä‚È‚¢‚©(Î)
”÷–­‚ɃXƒŒ‚¿‚ª‚¢‚©‚à
>>314
ƒzƒ“ƒg‚¾
— Ø‚ç‚ꂽI‚—‚—‚—
‰ö‚µ‚©‚ç‚ñ“ÞI
>>314
FORTRAN”Å‚Ío‚·‹C‚ ‚é‚Ì‚©‚ÈH

‰”Å‚Ì”ñFortran”ł̓gƒ‰ƒ“ƒXƒŒ[ƒ^‚É‚©‚¯‚½‚¾‚¯‚̂悤‚È
gotoƒoƒŠƒoƒŠƒR[ƒh‚Åo”Å‚µ‚Ä‚¢‚½‚Ì‚¾‚©‚çA–³’ƒ‚ÈFortranƒR[ƒh‚Å‚à
’˜ŽÒ‚Í•Ê‚É‹C‚É‚µ‚È‚¢‚æ‚È‚—
>>316
‚Ç‚¤‚¾‚ëHC++‚Ì‹@”\‚ð‚‚©‚Á‚ÄŽÀ‘•‚µ‚Ä‚¢‚é‚悤‚¾‚©‚çA
ˆÈ‘O‚Ì@FORTRAN -> ‚»‚êˆÈŠO‚ÌŒ¾Œê@‚̈ÚA‚Ƃ͖󂪈Ⴂ‚»‚¤

NR‚Ì2nd(1992)‚©‚ç3rd(2007)‚ւ̈È~‚É15”NŠ|‚©‚Á‚Ä‚¢‚é‚Ë
‚½‚Ô‚ñ3rd‚ÉŽæ‚è‘g‚ÝŽn‚ß‚½ ‚ÍA‚Ü‚¾C++‚ª‹P‚¢‚Ä‚½‚ñ‚¾‚ë

•¡‘f”‚ÌŽæ‚舵‚¢‚ªAƒNƒ\‚â‚₱‚µ‚¢ƒeƒ“ƒvƒŒ[ƒg‚É‚È‚Á‚Ä‚¢‚½‚èA
®‡”z—ñ‚É–â‘肪‚ ‚Á‚½‚è‚ÆAC++‚Í”’lŒvŽZ‚ÉŒü‚¢‚Ä‚È‚¢
c99‚Ì•û‚ª‚¸‚Á‚ƃ}ƒVi‚½‚¾‚µA‚±‚Á‚¿‚͑ΉžƒRƒ“ƒpƒCƒ‰‚ªPGI‚®‚ç‚¢‚µ‚©–³‚¢j
Fortran90‚©FORTRAN77‚Ì‚Ü‚ÜAƒAƒ‹ƒSƒŠƒYƒ€‚¾‚¯i•à‚³‚¹‚½•û‚ª—Ç‚©‚Á‚½‚ÆŽv‚¤‚æ@

NR‚̃ƒŠƒbƒg‚͈À‚¢’l’i‚ƃ\[ƒXƒR[ƒh•t‚«‚Á‚Ä‚Æ‚±‚¾‚Á‚½‚ªA
C++‚Ì‚Ý‚É‚È‚é‚ÆA‚ ‚ñ‚܂胃ŠƒbƒgŠ´‚¶‚È‚¢‚Ë@CŒ¾Œê‚¾‚ÆGSL‚Æ‚©‚ ‚邵‚Ë
‚Ç‚¤‚¹Ž©—R‚É”z•z‚Å‚«‚È‚¢‚ñ‚¾‚Á‚½‚ç NAG, IMSL‚Ì•û‚ª‚¢‚¢‚ñ‚¶‚á‚È‚¢‚©H
­‚È‚­‚Æ‚à˜R‚ê‚ÍNR 3rdƒCƒ‰ƒl
>>317
‚ ‚ê‚ê2”Å‚©‚ç‚à15”N‚½‚Á‚Ä‚é‚Ì‚©‚æ‚—

‚µ‚©‚µƒAƒ‹ƒSƒŠƒYƒ€‚Ìi•à”Å‚Æ‚©‚Ì‚Á‚Ä‚Í‚¢‚È‚¢‚Ì‚©‚ËH
‘æ2”Å‚Å‚ÍA‰”Å‚É–³‚©‚Á‚½non-numerical algorisms ‚ÌÍ‚ªˆê”Ô–ð‚É—§‚Á‚½‚—

CRC16‚Æ‚©Huffman•„†‰»‚Æ‚©Aî•ñHŠw“I‚ȃAƒ‹ƒSƒŠƒYƒ€‚ªA”’lŒvŽZ‚Æ‚ÌŠ_ª‚ðæ‚è‰z‚¦‚Ä‚«‚½
ƒ^ƒCƒ~ƒ“ƒO‚¾‚Á‚½‚Ì‚©B
¡“ú–{‰®‚És‚Á‚½‚炱‚ñ‚È–{‚ª‚ ‚Á‚½B

FortressŒ¾Œê\ƒ}ƒ‹ƒ`ƒRƒAŽž‘ã‚Ì•À—ñ‰»ƒvƒƒOƒ‰ƒ~ƒ“ƒOŒ¾Œê

‚à‚¤o‚·‚Ì‚©‚æ‚—@
‚´‚Á‚ÆŒ©‚½Š´‚¶•³–{‚¾‚Á‚½‚ª‚—

‚Ü‚Á‚½‚­˜b‚ð•·‚©‚È‚¢‚µ‚È‚Ÿ„Fortress
ƒXƒ‰ƒh‚Å‚à‹c˜_‚ª‚ ‚Á‚½‚¯‚ÇA«—ˆ‚à•‹y‚·‚錩ž‚Ý‚ÍŒµ‚µ‚»‚¤‚Ë
321 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/07/23(ŒŽ) 01:55:57
>>320
‚æ‚­’m‚ç‚ñ‚ªASUN‚̃}ƒ‹ƒ`ƒRƒACPU‚É‘å—ʂ̃XƒŒƒbƒh‚ð‚΂çŽT‚¢‚Ä•À—ñŒvŽZ‚³‚¹‚é‚Æ‚¢‚¤
ƒRƒ“ƒZƒvƒg‚ÌŒ¾Œê‚È‚ñ‚¾‚ëH

ƒAƒCƒfƒA‚Æ‚µ‚Ä‚Í–Ê”’‚¢‚ñ‚Å“à‰ÈˆãH

Haskell‚Á‚Û‚¢Žd—l‚à“ü‚ê‚Ä‚¢‚é‚炵‚¢‚µAŽŸ¢‘ã‚Ì“¥‚Ý‘ä‚É‚—‚—‚—
>>321
ƒI[ƒvƒ“‚É‚µ‚½‚©‚çSUN‚ÌÎê—p‚Á‚Ă킯‚¶‚á‚È‚¢‚Ì‚Å‚ÍH

Šm‚©‚É“¥‚Ý‘ä‚Û‚¢‚È‚—
Thoughts on Language Design
New challenges require new solutions
Guy L. Steele Jr.
ttp://www.ddj.com/dept/architect/184406382

‚Ü‚ŸA‚»‚ê‚È‚è‚Él‚¦‚ª‚ ‚Á‚ÄFortress‚ðì‚Á‚Ä‚¢‚é‚悤‚¾B
Sun‚ªƒAƒƒŠƒJ‚̃XƒpƒRƒ“•¬‚©‚ç’E—Ž‚µ‚½‚Ì‚ÅA‚³‚¢‚³‚«‚͈¢‚¾‚낤B

“ú–{i•xŽm’Êj‚ÅE‚¤U‚è‚ð‚µ‚ÄAƒAƒƒŠƒJ‚É‹^SˆÃ‹S‚ð‹N‚±‚³‚¹‚é‚Ì‚ª‹g‚¾‚ÆŽv‚¤‚—‚—‚—‚—
„“ú–{i•xŽm’Êj‚ÅE‚¤U‚è‚ð‚µ‚ÄAƒAƒƒŠƒJ‚É‹^SˆÃ‹S‚ð‹N‚±‚³‚¹‚é
ƒXƒQ[‚—‚—‚—‚—
ôŽm‚Á‚·‚Ë‚—
>>324
Å‹ß‚ÌÅ‘¬ƒXƒpƒRƒ“‹£‘ˆ‚ÍA‚È‚ñ‚©“yŒš‰®‚ÌŠù“¾Œ ‘ˆ‚¢‚Á‚Û‚¢‚©‚çA
’Þ‚è‚É‘–‚Á‚Ä—V‚Ô‚Ù‚¤‚ªA‚½‚µ‚©‚É‚¢‚¢‹C‚ª‚·‚é‚—
uƒXƒJƒ‰Œ^‚ƃxƒNƒgƒ‹Œ^‚ð—¼—Ö‚ÉvCŽŸ¢‘ãƒXƒpƒRƒ“\¬‚Ì‘_‚¢‚ðŒê‚é
ttp://techon.nikkeibp.co.jp/article/NEWS/20070808/137619/

>>326
53. ŽŸ¢‘ãAƒyƒ^ƒXƒP[ƒ‹AT2K (2007/8/12)
ttp://grape.mtk.nao.ac.jp/~makino/articles/future_sc/note054.html#rdocsect59

‚·‚Á‚Ï‚¢‚Ô‚Ç‚¤‚ÌXV‚—
Cygwinã‚Å“®‚­fortran90ƒRƒ“ƒpƒCƒ‰‚Á‚Ä‚ ‚è‚Ü‚¹‚ñ‚©H
‚·‚Ý‚Ü‚¹‚ñ‚ª ‚Ç‚È‚½‚©î•ñ‚ð‚¨Ž‚¿‚Å‚µ‚½‚狳‚¦‚ĉº‚³‚¢B
>>328
ˆÈ‘O
http://g95.sourceforge.net/
‚ðŽŽ‚µ‚½‚ç“®‚¢‚½
>>328
ttp://g95.sourceforge.net/

‚Å‚àA‚È‚ñ‚ŃpƒbƒP[ƒW‚É“ü‚Á‚Ä‚È‚¢‚ñ‚¾‚낤H
Cygwin‚ÌGCC‚ª4.x.x‚É‚È‚Á‚½‚炱‚Á‚¿‚ª“ü‚é‚©‚炶‚á‚È‚¢‚©‚È
ttp://gcc.gnu.org/wiki/GFortran
>>329 - 330
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚“BŽŽ‚µ‚Ä‚Ý‚Ü‚·I
Steve Lionel ‚̃Rƒ‰ƒ€‚ÅAFORTRAN‚Å‘‚©‚ꂽi‘½•ªj¢ŠE‰‚̃Aƒhƒxƒ“ƒ`ƒƒ[ƒQ[ƒ€ƒlƒ^‚ªo‚Ä‚¢‚éB
http://softwareblogs.intel.com/2007/08/22/you-are-in-a-maze-of-twisty-little-passages-all-alike/
ϼ޶Ö
Intel fortran‚ÄAƒo[ƒWƒ‡ƒ“‚P‚O‚É‚È‚Á‚Ä‚©‚çAMKL‚ª‚¨‚Ü‚¯‚Å•t‚¢‚Ä‚­‚é‚悤‚É‚È‚Á‚½‚ÈB
MKL”ƒ‚Á‚½l¶Ü²¿½‚¨‚ê
‚¨‚Ü‚¯‚ÆŒ¾‚Á‚Ä‚àMKL—L‚è‚Æ‚È‚µ‚¶‚áA‚¯‚Á‚±‚¤‰¿Ši·‚ªc
>>335
–Y‚ꂽ‚ªMKL‚̃‰ƒCƒZƒ“ƒX‚©‚ç‚ðƒRƒ“ƒpƒCƒ‰‚̃‰ƒCƒZƒ“ƒX‚É“]Š·‚Å‚«‚Ä‚QŒÂ•ª‚É‚È‚Á‚½‚ñ‚¶‚á’†“cƒb‚¯H
ƒKƒZ‚¾‚Á‚½‚ç|ƒ}ƒ“ƒR‚—
338 F335F2007/08/31(‹à) 01:05:11
‚X¨‚P‚O‚ւ̃o[ƒWƒ‡ƒ“ƒAƒbƒv‚Ì‚Æ‚«‚ÉAƒXƒ^ƒ“ƒ_[ƒh”Å‚©‚çƒvƒƒtƒFƒbƒVƒ‡ƒiƒ‹”Å‚Ö‚Ì•ÏX‚ª
ˆÀ‚­i‚P–œ‰~‚­‚ç‚¢j‚Å‚«‚½‚¾‚¯‚¾‚Á‚½B‚¢‚¸‚ê‚É‚µ‚Ä‚àAMKL’P‘Ì‚Å”ƒ‚Á‚Ä‘¹‚µ‚½‹C•ª‚¾B
339 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/09/07(‹à) 13:02:07
http://www.nag-j.co.jp/fortran_compiler.htm

NAG‚Ìcompiler@IntelMac”Å“oê@Äײ±Ù‚ª‚Å‚«‚é
intel fortran compiler for windows 9.0@‚ðŽg—p‚µ‚Ä‚¢‚Ä

http://icl.cs.utk.edu/lapack-for-windows/nmake_install.html

‚̎臂É]‚¢lapack‚Æblas‚𓱓ü‚µ‚悤‚Æ‚µ‚Ä‚Ü‚·‚ª

1. C:\Program Files\LAPACK_3.1.1_for_Windows\LAPACK 3.1.1 for Windows\@‚Ɉړ®
2. set_environment.bat x86 Intel
@‚Æ“ü—ÍiBlas‚̓fƒtƒHƒ‹ƒg‚ðŽg—pj
4. nmake /nologo all

‚Æ‚·‚é‚Æ

xilib.exe /OUT:"C:\Program Files\LAPACK_3.1.1_for_Windows\LAPACK 3.1.1 for Windows\blas.lib" *.obj
‚ªŽÀs‚³‚ê‚Ä‚¢‚é‚Æ‚«‚ÉŽŸ‚ÌŽ|‚Ì•\Ž¦‚ª‚Å‚Ä‚¤‚Ü‚­‚¢‚«‚Ü‚¹‚ñB
"lib"‚ðŽÀs‚µ‚Ä‚¢‚Ü‚·
"lib"‚ª‚݂‚©‚è‚Ü‚¹‚ñ

>>197
‚Ì slim ‚É‘Š“–‚·‚éŒ`‚Åxilib‚ªŽg‚í‚ê‚Ä‚¢‚é‚à‚Ì‚¾‚ÆŽv‚¤‚ñ‚¾‚¯‚ÇA‚Ç‚¤Žg—p‚·‚ê‚΂¤‚Ü‚­‚¢‚­‚Ì‚©‚í‚©‚è‚Ü‚¹‚ñB
‚¿‚È‚Ý‚Éxilib@‚ɑウ‚Ä@xilink /lib ‚ðŽg‚Á‚Ä‚à“¯‚¶‚Å‚·B

blas.lib@lapack.lib ‚ðì‚é‚É‚Í‚Ç‚¤‚·‚ê‚΂悢‚Å‚µ‚傤‚©H
Ž¿–â‚Å‚·B
fortran95‚ðŽg‚Á‚Ä‚¢‚é‚Ì‚Å‚·‚ª

do i=1, size(A)
A(i) = hoge + i * fuga
end do

‚Ý‚½‚¢‚Ì‚ð

A = hoge + [‚È‚É‚©] * fuga

‚̂悤‚É‚µ‚Ä“YŽš‚ð”z—ñ‰‰ŽZ‚É—p‚¢‚Ĉês‚É‚Ü‚Æ‚ß‚ç‚ê‚È‚¢‚Ì‚Å‚µ‚傤‚©H
‚»‚ê‚Æ

do i=1, size(A)
hoge = •¡ŽG‚ÈŽ®
A(i) = hoge * fuga
B(i) = hoge * piyo
end do

‚̂悤‚Èê‡A

A = •¡ŽG‚ÈŽ® * fuga
B = •¡ŽG‚ÈŽ® * piyo

‚Æ‘‚­Ž–‚Å“ñ“xŒvŽZ‚³‚ê‚Ä‚µ‚Ü‚¤‚Ì‚Í–³‘Ê‚Å‚·‚µ
Ž®‚ª’·‚­‚È‚Á‚ēǂ݂Â炢‚Ì‚Å‚·‚ªA”z—ñ‰‰ŽZ‚ɑ΂·‚éˆêŽž•Ï”‚̂悤‚È‚à‚Ì‚Í–³‚¢‚Ì‚Å‚µ‚傤‚©B
>>340
Visual Studio‚ÉŠÜ‚Ü‚ê‚Ä‚¢‚élib.exe/link.exe‚ւ̃pƒX‚ª’Ê‚Á‚Ä‚È‚¢B

’Êí‚Íset_environment.bat‚©‚çŒÄ‚΂ê‚Ä‚¢‚é
"%IFORT_COMPILER91%\IA32\Bin\ifortVars.bat"
‚Ì’†‚ÅVS‚Ö‚ÌÝ’è‚às‚í‚ê‚é‚Í‚¸‚¾‚ª
ŠÂ‹«•Ï” IFORT_COMPILER91 ‚ÍIVF9.1—p‚ÌÝ’è‚È‚Ì‚Å
IVF9.0‚È‚ç IFORT_COMPILER90A10.0‚È‚ç IFORT_COMPILER10
‚É•ÏX‚·‚é•K—v‚ª‚ ‚éB

ifortVars.bat ‚ðŽÀs‚µ‚Ä‚àlib.exe/link.exe‚ªŽg‚¦‚È‚¢ê‡‚Í
ifortVars.bat ‚ðC³‚·‚é‚©A—\‚ßVS’†‚Ì VSVars32.bat ‚©
VCVars32.bat ‚ðŽÀs‚µ‚Ä‚¨‚­•K—v‚ª‚ ‚éB
>>341
A = hoge + (/(i,i=1,size(A))/) * fuga
>>343
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B‚±‚ñ‚È‘f’¼‚È•û–@‚ª‚ ‚Á‚½‚ñ‚Å‚·‚ËB
ŒãŽÒ‚ɂ‚¢‚Ä‚Í¡‚Ì‚Æ‚±‚ë“‚¢‚Å‚µ‚傤‚©B

‚ ‚Æ”z—ñ‰‰ŽZ‚ÉŽg‚¦‚éŠÖ”‚ªì‚ê‚é‚Æ‚¢‚¢‚Ì‚Å‚·‚ªA‚±‚ê‚à“‚¢‚Å‚·‚©‚ËB
”z—ñ‚ð‚à‚ç‚Á‚Ä”z—ñ‚ð•Ô‚·‚悤‚ȃ^ƒCƒv‚¾‚ƈꎟ“I‚É–ß‚è’l—p‚Ì”z—ñ‚ðŠm•Û‚µ‚È‚­‚Ä‚Í‚¢‚¯‚È‚¢‚Ì‚ÅŒ»ŽÀ“I‚Å‚Í‚È‚¢‚ñ‚Å‚·B
>>344
‚µ‚©‚µ>>343‚̂悤‚É‚â‚é‚ÆA‚¢‚Á‚½‚ñˆÃ–ق̃eƒ“ƒ|ƒ‰ƒŠ”z—ñ‚ª¶¬‚³‚ê‚Ä
‚»‚ê‚©‚çÏ‚ªŽæ‚ç‚ê‚邱‚Æ‚É‚È‚é‚Ì‚ÅADO LOOP‚Ì“WŠJŽ®‚Æ‚Í“™‰¿‚Å‚Í‚È‚¢B

>‚ ‚Æ”z—ñ‰‰ŽZ‚ÉŽg‚¦‚éŠÖ”‚ªì‚ê‚é‚Æ‚¢‚¢‚Ì‚Å‚·‚ªA‚±‚ê‚à“‚¢‚Å‚·‚©‚ËB
elemental‚¾‚Á‚½‚©pureƒIƒvƒVƒ‡ƒ“‚‚¯‚ê‚Ή”\‚¾‚Á‚½‹C‚ª‚·‚éB
’²‚ׂĂ­‚ê‚—

346 F345F2007/09/11(‰Î) 01:37:16
>>344
MODULE m_elemental
CONTAINS
ELEMENTAL REAL FUNCTION watson(x)
IMPLICIT NONE
REAL, INTENT(IN) :: x
watson = x**2
RETURN
END FUNCTION watson
END MODULE m_elemental
!
PROGRAM holmes
USE m_elemental
IMPLICIT NONE
INTEGER :: i
REAL :: x(10), y(10)
DO i = 1, 10
x(i) = REAL(i)
END DO
y = watson(x)
PRINT '(10f7.1)', x
PRINT '(10f7.1)', y
STOP
END PROGRAM holmes


1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0
1.0 4.0 9.0 16.0 25.0 36.0 49.0 64.0 81.0 100.0
Press any key to continue . . .

elemental ¼ pure ‚¾‚Á‚½‚—
>>345
ŽŽ‚µ‚Ä‚Ý‚Ü‚µ‚½‚ªŠm‚©‚Ƀeƒ“ƒ|ƒ‰ƒŠ”z—ñì‚ç‚ê‚Ä‚Ü‚·‚ËB
elemental‚Í•Ö—˜‚Å‚·‚ËB‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½B
>>347
a(1:n) ‚Æ‚©•”•ª”z—ñ‚Ì—Þ‚àƒeƒ“ƒ|ƒ‰ƒŠ‚ðì‚邱‚Æ‚ª‘½‚¢‚Ì‚ÅA
ƒ\[ƒXƒR[ƒh‚ª’Z‚­‚È‚é‚©‚ç‚Æ’²Žq‚Éæ‚Á‚ÄADO LOOP‚Ì‘ã‚í‚è‚É——p‚·‚é‚ÆA
Žv‚í‚Ê‚Æ‚±‚ë‚ŃXƒ^ƒbƒNƒI[ƒo[ƒtƒ[‚Æ‚©‚Å•®Ž€‚·‚éB

ƒxƒNƒgƒ‹‹@‚Ìꇂ͈ê’Uƒeƒ“ƒ|ƒ‰ƒŠ”z—ñ‚É“WŠJ‚µ‚½‚Ù‚¤‚ª‘‚­‚Ȃ邾‚낤‚ªA
ƒpƒCƒvƒ‰ƒCƒ“‚̃XƒJƒ‰[‹@‚ÌꇂÍDO LOOP‚Ì‚Ü‚Ü‚Ì•û‚ª‘‚¢‚Ì‚Å‚Í‚È‚¢‚©‚ÆŽv‚¤B

‚Ü‚ŸŸŽè‚ÉÅ“K‰»‚·‚é‚©‚à’m‚ê‚ñ‚µAƒgƒŒ[ƒhƒIƒt‚ªFX‚ ‚é‚Ì‚ÅA‚È‚ñ‚Æ‚àˆÝ‰Š‚ªB
age
350 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/09/18(‰Î) 22:17:04
age‚à–ž‘«‚É‚Å‚«‚ñ‚Ì‚©II
intel Visual fortran 10.0@“ú–{Œê”Å@”­”„
u“ú–{Œê”Åv‚Â[‚Ä‚àFortran‚Ìê‡AƒRƒ“ƒpƒCƒ‰‚̃ƒbƒZ[ƒW‚͉pŒê‚Ì‚Ü‚Ü‚¾‚©‚ç‚ ‚肪‚½‚Ý‚ª‚È‚¢‚È‚ŸB
“ú–{Œêƒ}ƒjƒ…ƒAƒ‹‚Í•Ê“rƒ_ƒEƒ“ƒ[ƒh‚Å‚«‚邵B
353 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/09/21(‹à) 23:56:06
Ž¿–â‚Å‚·B
fortran77‚ðŽg‚Á‚Ä‚¢‚é‚Ì‚Å‚·‚ªAƒRƒ“ƒpƒCƒ‰Žž‚ɂ̓m[ƒGƒ‰[‚ÅAŽÀs‚Ì‚Æ‚«ƒ‰ƒ“ƒ^ƒCƒ€ƒGƒ‰[‚Æ•\Ž¦‚³‚ê‚é‚Ì‚Å‚·‚ªA

WARNING - Label 170 has not been referenced
NO ERRORS,1 WARNINGS [<MAIN@>FTN77 Ver 4.03]
Creating executable: sinchouryuu.exe
*** Unable to create executable file: sinchouryuu.exe

ŽÀs‰Â”\‚ȃtƒ@ƒCƒ‹‚Ìì‚è•û‚ð‹³‚¦‚ĉº‚³‚¢B

‚ ‚ÆAŽÀsŽž‚̃Gƒ‰[‚Ì
00401000 MAIN# [+174f]

‚Ä‘‚¢‚Ä‚ ‚é‚Ì‚Å‚·‚ªA‚Ç‚¤‚¢‚¤ˆÓ–¡‚Å‚µ‚傤‚©H


ˆö‚Ý‚É170s‚Í
166:* cnb‚Ì“]’us—ñ
167:
168: do 70 j=1,10
169: do 80 i=1,6
170:
171: cbn(j,i)=cnb(i,j)
172:
173: 80 continue
174: 70 continue

‚±‚ñ‚È‚ñ‚È‚ñ‚Å‚·B
354 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/09/22(“y) 00:01:51
ƒ„ƒRƒrƒAƒ“s—ñ‚ª‚‚­‚ê‚Ü‚¹‚ñII


‚Ç‚¤‚¢‚Á‚½•—‚Éì‚é‚Ì‚©Aì‚è•û‚ð‚Ç‚È‚½‚©‚¨‚µ‚¦‚Ä‚­‚¾‚³‚¢I
>>353
>fortran77‚ðŽg‚Á‚Ä‚¢‚é‚Ì‚Å‚·‚ª
‚»‚ê‚Íu‹KŠi‚ÌŽí—Þv‚Å‚ ‚Á‚Ä‚±‚Ìê‡A‚»‚ê‚æ‚è‚àŽg—p‚µ‚Ä‚¢‚éƒRƒ“ƒpƒCƒ‰‚â
OS‚Ì–¼‘O‚ð‘‚¢‚Ä‚­‚ꂽ•û‚ª‚ ‚肪‚½‚¢B

> WARNING - Label 170 has not been referenced
u170sv‚Å‚Í‚È‚­•¶”Ô†‚Ì170‚ªŽQÆ‚³‚ê‚Ä‚¢‚È‚¢B

> *** Unable to create executable file: sinchouryuu.exe
> ŽÀs‰Â”\‚ȃtƒ@ƒCƒ‹‚Ìì‚è•û‚ð‹³‚¦‚ĉº‚³‚¢B
‚¨‚»‚ç‚­sinchouryuu.exe‚ðŽÀs’†‚Å‘‚«Š·‚¦‚ç‚ê‚È‚¢‚Ì‚¾‚낤B
‚·‚ׂĂÌsinchouryuu.exe‚ðI—¹‚³‚¹‚Ä‚©‚çƒRƒ“ƒpƒCƒ‹‚·‚é‚Ì‚¾B

> 00401000 MAIN# [+174f]
> ‚Ä‘‚¢‚Ä‚ ‚é‚Ì‚Å‚·‚ªA‚Ç‚¤‚¢‚¤ˆÓ–¡‚Å‚µ‚傤‚©H
MAIN#iƒvƒƒOƒ‰ƒ€‚ÌŠJŽnˆÊ’uj‚©‚ç 5919ƒoƒCƒg–ڂ̈ʒu‚ŃGƒ‰[‚ª”­¶‚µ‚½B
ƒGƒ‰[‚ÌŽí—Þ‚ÍFTN77‚Ìê‡Aƒ_ƒCƒAƒƒO‚Ìã‚Ì•û‚É‘‚¢‚Ä‚ ‚éB

>>354
‚Â google
FTN95‚ðƒCƒ“ƒXƒg[ƒ‹‚µ‚Ü‚µ‚½B
plato3(“ú–{Œê•sŽg—p)‚ŃRƒ“ƒpƒCƒ‹ŽÀs‰Â”\‚Å‚µ‚½
«
fcpad‚ð—˜—p‚µ‚Ä‚Ío—ˆ‚È‚¢‚Å‚·‚©H
ƒRƒ“ƒpƒCƒ‰ƒpƒX
C:\Program Files\Silverfrost\FTN95\ftn95.exe
‚Æ“ü—Í
*** Invalid executable file suffix - only .EXE is permitted
‚ƂłăRƒ“ƒpƒCƒ‹‚Å‚«‚È‚¢B

GŠÛ‚Ń}ƒNƒ‚ðŽg‚¨‚¤‚©‚ÆŽv‚¢‚«‚âA
PATH‚ª’ʂ炸Ž¸”sB

’N‚©A‚²Žw“±Šè‚¢‚Ü‚·EEEB
>>356

‚­‚¾‚·‚êFORTRANi’´‰SŽÒ—pj‚»‚Ì2
http://pc11.2ch.net/test/read.cgi/tech/1164121236/355
Intel Visual Fortran‚Å/Qparallel‚ðŽg‚Á‚Ä•À—ñ‰»‚µ‚½‚Æ‚±‚ëA
‚ ‚Ü‚è‚‘¬‰»‚µ‚Ü‚¹‚ñ‚Å‚µ‚½BƒvƒƒOƒ‰ƒ€‚É‚æ‚Á‚Ä‚Í‚Þ‚µ‚ë’x‚­‚Ȃ邱‚Æ‚àB
ƒTƒ|[ƒg‚É–â‚¢‡‚킹‚½‚çA‚±‚¿‚ç‚Å‚à2ƒRƒA‚Å‚ÍŠm‚©‚ɃXƒs[ƒhƒ_ƒEƒ“‚ª
Šm”F‚Å‚«‚Ü‚µ‚½‚ªA‚SƒRƒA‚ł̓Xƒs[ƒhƒAƒbƒv‚ªŠm”F‚Å‚«‚Ü‚µ‚½A‚Ɖñ“šB
‚Ü‚é‚ŃŠƒtƒH[ƒ€¼‹\‚̂悤‚¾EEE
’Pƒ‚Ès—ñ~ƒxƒNƒgƒ‹‚Ì‚Ý‚ÌŒvŽZ‚Å‚àÅ‘å‚R‚O“ƒAƒbƒv’ö“x‚È‚Ì‚¾‚ª
•À—ñŒvŽZ‚Á‚Ä‚»‚ñ‚È‚à‚Ì‚Å‚·‚©H
ƒ}ƒVƒ“‚Ì\¬‚É‚æ‚邵EEE
QuadƒRƒA‚ÈCPUH
>>358
Ž©“®•À—ñ‰»‚ÍA‚»‚ñ‚È‚à‚ñ‚¾‚æBƒXƒpƒRƒ“‚Å‚à“¯‚¶B

‚Ü‚Ÿ•À—ñ‰»‚æ‚èSSE‚Ì•û‚ªŠÈ’P‚ÉŠÈ’P‚ɃXƒs[ƒh‚ªo‚é‚悤‚É‚È‚éB
SSE‚Í“K“–‚É-O3‚Æ‚©‚·‚邾‚¯‚Å‚à—LŒø‚É‚È‚é‚Í‚¸i‘½•ª

Qparallel‚Á‚Ä—v‚·‚é‚ÉŽ©“®‚ÅOpenMPƒfƒBƒŒƒNƒeƒBƒu“ü‚ê‚Ă邾‚¯‚¾‚æ‚ËH
Å‹ß‚ÌOpenMP‚Í‚Ç‚¤‚È‚ñ‚¾‚낤EEEŒÃ‚¢ŒÃ‚¢‚Æ‚æ‚­Œ¾‚í‚ê‚邯‚ÇA¡Œã‚̃}ƒ‹ƒ`ƒRƒACPU‚Å’Ê—p‚µ‚È‚­‚È‚é‚Ì‚¾‚낤‚©
>>360
s—ñÏ‚Æ‚©‘f–p‚ȉ‰ŽZ‚È‚çSSE‚ð“ü‚ê‚ê‚Î’P¸“x‚Í‚S”{‘¬A”{¸“x‚Í‚Q”{‘¬‚Æ‚©A‘f’¼‚É‘‚­‚È‚éB
ƒRƒ“ƒpƒCƒ‹Žž‚̃ƒbƒZ[ƒW‚ɃxƒNƒgƒ‹‰»‰]X‚Æo‚ê‚ÎSSEŽg‚Á‚Ä‚éB
363 F358F2007/10/24(…) 11:02:26
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B
Œ»Ý‚ÍOpteron1210(DualCore)‚ðŽg‚Á‚Ä‚¢‚Ü‚·B
ƒCƒ“ƒeƒ‹‚©‚ç‚Í‚Ü‚é‚ÅQuadCore‚ÌCPU‚𔃂¦‚Æ‚¢‚¤‚悤‚ȉñ“š‚¾‚Á‚½‚Ì‚ÅA
¼‹\¤–@‚̂悤‚É•·‚±‚¦‚Ü‚µ‚½B
SSE‚ÍŽg‚Á‚Ä‚¢‚Ü‚·B
CPU‚̃NƒƒbƒN”‚ª‚ ‚ª‚ç‚È‚­‚È‚Á‚½Œ»Ý‚Å‚Í•À—ñŒvŽZ‚É‚µ‚È‚¢‚Æ
ƒXƒs[ƒhƒAƒbƒv‚ª–]‚ß‚È‚­‚È‚é‚ÆŽv‚¢A•À—ñ‚ðŒŸ“¢‚µ‚Ä‚¢‚Ü‚·B
Ž©•ª‚̕׋­•s‘«‚à‘å‚«‚¢‚Ì‚Å‚·‚ªAŒÖ‘åL‚É‚ª‚Á‚©‚è‚Å‚·B
Intel‚̃Tƒ|[ƒg‚É•·‚¢‚½‚ÌH
‚±‚¤‚¢‚¤‚Ì‚Á‚Ä‘å’ï‚Ü‚Æ‚à‚È(–ð‚É—§‚Âj‰ñ“š‚ÍŠú‘Ò‚Å‚«‚È‚¢‚à‚Ì‚Å‚ÍH
MS‚æ‚è‚̓}ƒV‚¾‚¯‚ÇEEE

Œ‹‹ÇƒOƒO‚é‚È‚è2ch‚È‚è‚Ç‚Á‚©‚̃Rƒ~ƒ…ƒjƒeƒB‚È‚è‚Å’T‚·‚µ‚©‚È‚¢‚ñ‚¾‚æ‚Ë
365 F358F2007/10/24(…) 12:58:59
>>364
ƒo[ƒWƒ‡ƒ“ƒAƒbƒvž‚Ý‚Å”NŠÔ”–œ‰~i‚¢‚­‚ç‚©–Y‚ꂽj‚̃Tƒ|[ƒg—¿‚𕥂Á‚Ä‚¢‚é‚Ì‚ÅA
Žg‚Á‚Ä‚Ý‚½‚Ì‚Å‚·‚ªA–{“–‚É‚ª‚Á‚©‚è‚Å‚·B
ƒTƒ|[ƒg—¿‹à‚ð‚P‚O”{‚É‚µ‚Ä‚à‚¢‚¢‚Ì‚ÅA‚Ü‚Æ‚à‚ȉñ“š‚ðŠú‘Ò‚µ‚½‚¢‚Å‚·B
ƒOƒO‚Á‚Ä‚Ü‚·‚ª‚È‚©‚È‚©‚¢‚¢î•ñ‚ªo‚Ä‚±‚È‚¢‚Å‚·B
Ž„‚ÌÅ‚‚Í‚RŠ„‘‚ªÅ‚‚ÅAŽÀ–±“I‚ÈŒvŽZ‚Å‚Í‚Ù‚Æ‚ñ‚Ç–ð‚É—§‚¿‚Ü‚¹‚ñB
‚ ‚ꂱ‚êl‚¦‚Ä‚¢‚éŠÔ‚ÉAŽžŠÔ‚ð‚©‚¯‚ÄŒvŽZ‚µ‚½‚Ù‚¤‚ª‚¢‚¢‚Ì‚©‚ÆŽv‚¦‚Ä‚«‚Ü‚µ‚½B
>>363
‚¢‚⼋\‚Å‚Í‚È‚¢B
Šù‘¶ƒvƒƒOƒ‰ƒ€‚ðŽ©“®•À—ñ‰»‚µ‚Äê‡AƒXƒs[ƒhƒ_ƒEƒ“‚·‚é‚Ì‚Í‚²‚­•’Ê‚ÌŒ»ÛB
‚Í‚¶‚ß‚©‚ç•À—ñ‰»‚ð‘O’ñ‚ÉÝŒv‚µ‚ÄA‚©‚ÂŽwŽ¦s‚ð“ü‚ê‚Ü‚­‚Á‚Ä‚à‚¢‚Ü‚¢‚¿‚È‚Ì‚ÍAŽÀ‚Í펯‚¾‚—
>>365
ƒXƒŒˆá‚¢‚Șb‚¾‚¯‚ÇA–{‹C‚̃Kƒ`ƒ“ƒRƒTƒ|[ƒg‚ð‚·‚é‚Ȃ礔„‚·‚鑤‚Æ‚µ‚Ä‚Í10”{‚Å‚àƒyƒC‚µ‚È‚¢‚ÆŽv‚¤‚¯‚Ç‚ËEEE
‚»‚±‚Í‚µ‚傤‚ª‚È‚¢‚Á‚·‚æ
368 F358F2007/10/24(…) 16:19:19
“ú–{Œê‚ª‚¨‚©‚µ‚©‚Á‚½BŽ¸—炵‚Ü‚µ‚½B

>>367
‚ ‚éƒ\ƒtƒgƒxƒ“ƒ_[‚Í”NŠÔ‚P‚S‚O–œ‰~‚̃Tƒ|[ƒg‚Å‚¢‚½‚ê‚è‚‚­‚¹‚èB
i‰½‚ªŒ´ˆö‚Å‚µ‚傤‚ËH‚Æ–â‚¢‡‚킹‚½‚çC³‚³‚ê‚Ä‚©‚¦‚Á‚Ä‚­‚éj
‚»‚±‚ÍÅ—Dæ‚ŃTƒ|[ƒg‚ðŒp‘±‚µ‚Ä‚¢‚éB
•Ê‚Ì‚S‚O–œ‰~‚Ì‚Æ‚±‚ë‚ÍA‚»‚ê‚Ȃ肾‚¯‚Ç‰ðŒˆ‚Ìƒqƒ“ƒg‚Í‚­‚ê‚éB
i‚±‚ê‚ç‚ÍŒ¾Œê‚Å‚Í‚È‚­‚ăAƒvƒŠƒP[ƒVƒ‡ƒ“‚Å‚·‚ªj
VisualFORTRAN‚ÍuŠJ”­‚É–â‚¢‡‚킹‚Ü‚·v‚Ì‚Ü‚Ü•ú’uEEEB
‚½‚¾A¡‰ñ‚ÌŒ‚ɂ‚¢‚Ä‚ÍŒˆ‚µ‚Ä“ÁŽê‚ÈŽ¿–â‚Å‚Í‚È‚­
L‚É‚¤‚½‚Á‚Ä‚ ‚é«”\‚ªo‚È‚¢‚æ‚ÉŽn‚Ü‚èA
‚»‚¿‚ç‚Ì‚à‚Á‚Ä‚¢‚é—‘z“I‚ȃvƒƒOƒ‰ƒ€‚Å‚¢‚¢‚©‚ço‚µ‚Ä‚­‚ê‚Æ‚¢‚Á‚Ä‚à
o‚Ä‚±‚È‚¢B‚¢‚Á‚½‚¢‚Ç‚ñ‚ÈŽ¿–₾‚Á‚½‚ç“š‚¦‚邱‚Æ‚ª‚Å‚«‚é‚Ì‚¾‚낤B
>>368
Œ¾Œê‚̃Tƒ|[ƒg‚Ìê‡AƒRƒ“ƒpƒCƒ‰‚̃oƒO‚ɑ΂·‚é‘Ήž‚Ì‘‚³‚¾‚ÆŽv‚¤B
‚»‚¤‚¢‚¤“_‚Å‚h‚Ž‚”‚…‚Œ‚̓pƒbƒ`‚Ìo•û‚Í‘‚¢B

‚ ‚ƃTƒ|[ƒgŒfŽ¦”‚ɂÍA—lX‚ȃŒƒxƒ‹‚ÌŽ¿–₪o‚Ä‚¢‚é‚Ì‚Å‚±‚Á‚¿‚àŒ©‚Ä‚Ý‚½‚ç‚¢‚¢‚©‚àB
ttp://softwarecommunity.intel.com/isn/Community/en-US/forums/1005/ShowForum.aspx
‚m‚d‚bF¢ŠEÅ‚«”\‚̃XƒpƒRƒ“u‚r‚w|‚Xv‚ð”­”„
@‚m‚d‚b‚Í‚Q‚T“úA¢ŠEÅ‚ƒŒƒxƒ‹‚ÌŒvŽZ”\—Í‚ðŽ‚ƒX[ƒp[ƒRƒ“ƒsƒ…[ƒ^[u‚r‚w|‚Xv‚ðŠJ”­‚µA
”­”„‚ðŽn‚ß‚½‚Æ”­•\‚µ‚½B‚P•b‚P‚U‚O‰­‰ñ‚ÌŒvŽZ”\—Í‚ðŽ‚¿AÅ‘åŒÀ‚Ì‚T‚P‚Q‘ä‚ð˜AŒ‹‚µ‚ĉ^—p‚µ
‚½ê‡A‚P•b‚W‚R‚X’›‰ñ‚ÌŒvŽZ‚ª‰Â”\‚ȃVƒXƒeƒ€‚ªŠ®¬‚·‚éB

@VŠJ”­‚Ì‚«”\‚b‚o‚ti’†‰›‰‰ŽZˆ—‘•’uj‚ð“‹Ú‚µ‚½B‘“àŠO‚Ì‘åŠw‚⌤‹†‹@ŠÖ‚È‚Ç‚ªA
‹CÛ—\‘ª‚⃃Pƒbƒg‚ÌÝŒvAŠj—Z‡‚̃Vƒ~ƒ…ƒŒ[ƒVƒ‡ƒ“‚È‚Ç‚É—˜—p‚·‚邱‚Æ‚ð‘z’肵‚Ä‚¢‚éB
‰¿Ši‚Í‚P‰­‚T‚O‚O‚O–œ‰~B

@Œ»Ý‚Ì¢ŠEÅ‘¬‚̃Rƒ“ƒsƒ…[ƒ^[ƒVƒXƒeƒ€‚Í•Ä‚h‚a‚l‚ªŠJ”­‚µA•bŠÔ‚Q‚W‚O’›‰ñ‚ÌŒvŽZ‚ª‚Å‚«‚éB
‚m‚d‚b‚ÍA‚P‚O”N‚ÌŠ®¬‚ð–ÚŽw‚·¢ŠEÅ‘¬ƒXƒpƒRƒ“‚ÌŠJ”­Œv‰æ‚ðA“ú—§»ìŠ‚â•xŽm’Ê‚Æi‚ß‚Ä
‚¢‚éB

ttp://mainichi.jp/select/biz/news/20071026k0000m020076000c.html
371 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/11/02(‹à) 00:54:14
‚±‚Ì‚Ü‚ÜPS2ƒNƒ‰ƒXƒ^‚̂悤‚É‚¨—V‚Ñ‚ÅI‚í‚é‚Ì‚©‚ÆŽv‚Á‚½‚ªA‚»‚¤‚Å‚à‚È‚¢‚Ì‚©EEH
‚Å‚à’ቿŠi‚Ì•‹yƒQ[ƒ€‹@‚ðŽg‚¦‚é‚Á‚Ä‚Ì‚ª‚»‚à‚»‚à‚̃EƒŠ‚È‚ñ‚¾‚©‚çA¡‚ÌXbox‚âwii‚É‹ê킵‚Ä‚é󋵂¶‚ጵ‚µ‚¢‚ñ‚¶‚á‚È‚¢‚©H
“Œ–k‘åŠw‚ª NEC ‚Ì¢ŠEÅ‘¬ƒXƒpƒRƒ“uSX-9v16‘䓱“ü‚Ö

’˜ŽÒ: japan.internet.com •ÒW•” ƒvƒŠƒ“ƒ^[—p ‹LŽ–‚ð“]‘—

NEC ‚Í1“úA“Œ–k‘åŠwî•ñƒVƒiƒW[‹@\î•ñƒVƒiƒW[ƒZƒ“ƒ^[‚©‚çA¢ŠEÅ‘¬‚Ì
ƒxƒNƒgƒ‹Œ^ƒX[ƒp[ƒRƒ“ƒsƒ…[ƒ^uSX ƒVƒŠ[ƒY ƒ‚ƒfƒ‹ SX-9v16‘ä‚©‚ç‚È‚é‘å‹K–Í
ƒX[ƒp[ƒRƒ“ƒsƒ…[ƒ^ƒVƒXƒeƒ€‚ðŽó’‚µ‚½‚±‚Æ‚ð”­•\‚µ‚½BVƒVƒXƒeƒ€‚ÍAÅ‘å«”\
26.2ƒeƒ‰ƒtƒƒbƒvƒXiƒeƒ‰ƒtƒƒbƒvƒXF1•bŠÔ‚É1’›‰ñ‚Ì•‚“®¬”“_‰‰ŽZ”\—Íj‚É’B‚µA
SX ƒVƒŠ[ƒY‚Å‚Í‘“àÅ‘å‹K–͂̃VƒXƒeƒ€‚É‚È‚é‚Æ‚¢‚¤B

“¯ƒZƒ“ƒ^[‚ÍA‘S‘‚Ì‘åŠw‚⌤‹†‹@ŠÖ‚ÌŒ¤‹†ŽÒ‚ª—˜—p‚·‚鋤“¯Ž{Ý‚Æ‚µ‚ÄAí‚É
Å‚EÅV‰s‚ÌŒvŽZ‹@ƒVƒXƒeƒ€‚ðÝ’u‚µAq‹ó‰F’ˆA’n‹…ŠÂ‹«AITAƒiƒmƒeƒN•ª–ì‚È‚Ç
Åæ’[‚ÌŠwpŒ¤‹†‚ðŽx‰‡B‘¼‚Å‚ÍŽÀs‚Å‚«‚È‚¢‘å‹K–̓Vƒ~ƒ…ƒŒ[ƒVƒ‡ƒ“‚ÌŽÀsŠÂ‹«‚Ì
®”õAê–å“I—§ê‚©‚ç‚Ì—˜—pŽÒƒvƒƒOƒ‰ƒ€‚Ì‚‘¬‰»„i‚ðÏ‹É“I‚És‚¢A’·”NŒ¤‹†ŽÒ
‚É‚Æ‚Á‚ÄŽg‚¢ŸŽè‚Ì—Ç‚¢ƒVƒXƒeƒ€‚ª\’z‚³‚ê‚Ä‚¢‚éBŒ»ÝAƒZƒ“ƒ^[‚Ì—˜—pŽÒ‚ÍŠw“àŠO‚Å1,500l‚ð’´‚¦‚é‚Æ‚¢‚¤B

“¯ƒZƒ“ƒ^[‚ÍA‚»‚Ì‘Og‚Å‚ ‚é‘åŒ^ŒvŽZ‹@ƒZƒ“ƒ^[‚ª1986”N‚É SX ƒVƒŠ[ƒY‚𓱓ü‚µ‚ĈȗˆA
ƒxƒNƒgƒ‹Œ^ƒX[ƒp[ƒRƒ“ƒsƒ…[ƒ^‚ðÌ—p‚µ‚Ä‚¢‚éB
http://japan.internet.com/busnews/20071101/3.html
ã‘å‚Í10ƒm[ƒh‚炵‚¢B
http://opentechpress.jp/enterprise/07/10/26/0340253.shtml
>>374
ã‘åƒZƒ“ƒ^[‚̓nƒbƒJ[‚É‚â‚ç‚ê‚Ä‚©‚çAƒZƒLƒ…ƒŠƒeƒB[‚ª‹­‰»‚³‚ê‚·‚¬‚Ä
Žg‚¢‚É‚­‚­‚È‚Á‚½‚Á‚Ä’m‚臂¢‚ªŒ¾‚Á‚Ä‚½‚È[B
””N‘O‚Ì‚±‚Æ‚¾‚ªB

376 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/11/23(‹à) 16:54:32
‹x‚Ý‚¾‚µA‰½‚©V‚µ‚¢ƒlƒ^‚ðo‚µ‚Ä‚­‚êB
‰É‚È‚çFortran2003‚̈—Œnì‚Á‚Ä‚­‚êB
378 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/11/29(–Ø) 13:22:06
„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª
@@@@@“ú–{ƒjƒ…[ƒƒŠƒJƒ‹ƒAƒ‹ƒSƒŠƒYƒ€ƒYƒOƒ‹[ƒvŠ”Ž®‰ïŽÐ
@@@@@@LAPACKƒTƒ“ƒvƒ‹ƒvƒƒOƒ‰ƒ€W‚ðŒöŠJŠJŽn
@ @@@@@@LAPACK‚Ì—˜—p‚ª‚æ‚èg‹ß‚ÉI
„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª„ª
“ú–{ƒjƒ…[ƒƒŠƒJƒ‹ƒAƒ‹ƒSƒŠƒYƒ€ƒYƒOƒ‹[ƒvŠ”Ž®‰ïŽÐ(“Œ‹ž“s’†‰›‹æAˆÈ‰º
“ú–{NAG)‚ÍAnetlib‚É‚æ‚èŒöŠJ‚³‚ê‚Ä‚¢‚éüŒ`‘㔃pƒbƒP[ƒWuLAPACKv‚Ì
ƒTƒ“ƒvƒ‹ƒvƒƒOƒ‰ƒ€W‚ðŒöŠJ‚¢‚½‚µ‚Ü‚·B‚±‚ê‚É‚æ‚èLAPACK‚ð—˜—p‚·‚郆[ƒU
ƒvƒƒOƒ‰ƒ€‚ÌŠJ”­‚ªA‚æ‚èƒXƒs[ƒfƒB[‚És‚¦‚é‚悤‚É‚È‚è‚Ü‚·B

ŒöŠJ‚t‚q‚kFhttp://www.nag-j.co.jp/lapack.htm

‚Ü‚½A“ú–{ƒjƒ…[ƒƒŠƒJƒ‹ƒAƒ‹ƒSƒŠƒYƒ€ƒYƒOƒ‹[ƒvŠ”Ž®‰ïŽÐ‚Å‚Í‚æ‚è‚«”\‚È
LAPACK‚ðANAGƒ‰ƒCƒuƒ‰ƒŠ»•iiNAG Fortran SMP Libraryj‚Æ‹¤‚É’ñ‹Ÿ‚µ‚Ä‚¢
‚Ü‚·B

¡ LAPACK‚ɂ‚¢‚Ä
LAPACK‚ÍLinear Algebra PACKage‚Ì—ª‚ÅAnetlibihttp://www.netlib.org/j
‚É‚æ‚èŒöŠJ‚³‚ê‚Ä‚¢‚é‚«”\üŒ`‘㔃pƒbƒP[ƒW‚Å‚·Bi“ú–{Œê‚ł̓Gƒ‹ƒG[
ƒpƒbƒNA‚à‚µ‚­‚̓ŒƒCƒpƒbƒN‚Æ”­‰¹‚³‚ê‚Ü‚·j˜A—§ˆêŽŸ•û’öŽ®AÅ­“ñæ–â‘è
ŒÅ—L’l–â‘èA“ÁˆÙ’l–â‘è‚ð‰ð‚­‚½‚߂̃Tƒuƒ‹[ƒ`ƒ“‚ªŠÜ‚Ü‚ê‚Ä‚¢‚Ü‚·B

¡ NAG Fortran SMP Library‚ɂ‚¢‚Ä
1500ˆÈã‚̃Tƒuƒ‹[ƒ`ƒ“‚©‚ç\¬‚³‚ê‚é•À—ñ‰ÈŠw‹ZpA“ŒvŒvŽZƒ‰ƒCƒuƒ‰ƒŠ
‚Å‚·B1500‚̃Tƒuƒ‹[ƒ`ƒ“‚Ì’†‚É‚Í•À—ñ‰»Ï‚Ý‚ÌLAPACKƒ‹[ƒ`ƒ“‚à”‘½‚­ŠÜ‚Ü
‚ê‚Ä‚¨‚èALAPACK‚ð—˜—p‚·‚éƒvƒƒOƒ‰ƒ€‚ð‚Ps‚à•ÏX‚·‚邱‚Æ‚È‚­A«”\‚ð
X‚É‚‚߂邱‚Æ‚ª‰Â”\‚Å‚·B
379 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/12/06(–Ø) 03:09:49
‰SŽÒ‚ÅŬ“ñæ–@‚̃vƒƒOƒ‰ƒ€‚ª‘g‚ß‚È‚¢‚ñ‚Å‚·‚ª‚Ç‚¤‚·‚ê‚΂¢‚¢‚ñ‚Å‚µ‚傤‚©H
>>379
}‘ŠÙ‚Ös‚Á‚ÄAƒf[ƒ^ˆ—‚Ì–{‚ð“Ç‚Þ‚ñ‚¾I
ƒf[ƒ^“Ç‚Ýž‚ñ‚Ń°‹‚ß‚ÄŒöŽ®’Ê‚èŒvŽZ‚·‚ê‚΂¨‚‹
382 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/12/07(‹à) 22:27:07
>>379
‚¢‚Ü‚·‚®‰´‚ÌŒûÀ‚É3000‰~U‚èž‚Þ‚ñ‚¾I
Ŭ“ñæ–@‚­‚ç‚¢‚È‚ç‚¢‚­‚ç‚Å‚à“]‚ª‚Á‚Ă邾‚ëEEE
384 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/12/12(…) 20:46:38
ƒRƒ“ƒpƒCƒ‹‚Í‚Å‚«‚½‚Ì‚Å‚·‚ªA‚±‚ñ‚ȃƒbƒZ[ƒW‚ªo‚Ä‚«‚Ä
“r’†‚ÅŽ~‚Ü‚Á‚Ä‚µ‚Ü‚¢‚Ü‚·B

Runtime error from program:c:\users\››››\documents\fortran\traje_0point.exe
Unknown floating point exception 91a1
Floating point co-processor fault at address 00401ef8


00401ad0 GOENTR [+0428]

00401000 main [+059c]


eax=00000b77 ebx=00000096 ecx=00000000
edx=0365fc38 esi=0365fcdc edi=0365fcd8
ebp=0365fc94 esp=0365fbd8 IOPL=0
ds=0023 es=0023 fs=003b
gs=0000 cs=001b ss=0023
flgs=00010206 [NC EP NZ SN DN NV]

00401ef8 fsqrt
00401efa fmulp st(1)
00401efc fmul [0044a2c0]

’N‚©‚±‚̃Gƒ‰[‚̈Ӗ¡‚È‚ç‚тɉðŒˆô‚ð‚²‹³Žö‚µ‚Ä‚¢‚½‚¾‚¯‚È‚¢‚Å‚µ‚傤‚©H
‚¿‚È‚Ý‚É››››‚Ì‚Æ‚±‚ë‚ÍŽ„‚Ì–¼‘O‚ª“ü‚Á‚Ä‚é‚Ì‚ÅA•š‚¹‚Ä‚¨‚«‚Ü‚µ‚½B
>>384
ƒRƒvƒ‚Ì‹@ŠBŒê‚Ì–½—߂ɑΉž•¨‚ª–³‚¢‚Ì‚¾‚©‚çAƒRƒ“ƒpƒCƒ‹Žž‚É‘ÎÛ‹@ŽíˆÈŠO‚Ì–½—ß‚ª“ü‚é‚悤‚È
Å“K‰»‚ð‚µ‚½‚Ì‚Å‚Í‚È‚¢‚©‚ÆŽv‚í‚ê‚éB
Pen4SSE2‚𖳈óƒyƒ“ƒ`ƒAƒ€‚Å“®‚©‚·‚Æ‚©AAMD—pSSE–½—ß‚ðIntel‚Å“®‚©‚·‚Æ‚©B

‚»‚¤‚¾‚Æ‚·‚ê‚ÎAÅ“K‰»‚ð—Ž‚Æ‚·‚©A‘ÎÛ‹@Ží‚𖾎¦“I‚ÉŽw’è‚·‚é‚©A‘S‹@Ží‘ÎۂɃIƒvƒVƒ‡ƒ“‚ð•Ï‚¦‚ê‚΂¢‚¢B

>>384
‚¿‚傤‚Çfsqrt‚Ì‚Æ‚±‚ë(00401ef8)‚Å—áŠO‚ª‹N‚«‚Ä‚¢‚é‚Ì‚Å
GOENTR‚Ì’†‚ÅSQRT()‚É•‰‚Ì”‚ð“n‚·“™‚Ì•s³‚ÈŒvŽZ‚ð
‚µ‚Ä‚¢‚é‚悤‚ÉŒ©‚¦‚邪B
386‚Ɉê•[
ƒRƒ“ƒpƒCƒ‰‚͉½‚¾‚낤H
389 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/12/14(‹à) 18:44:44
384‚Å‚·B
Ž©ŒÈ‰ðŒˆ‚µ‚Ü‚µ‚½B
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½B
>>389
¡ŒãA‘¼‚Ì•û‚Ì–â‘è‰ðŒˆ‚ɖ𗧂‚±‚Æ‚à‚ ‚è‚Ü‚·‚Ì‚Å
o—ˆ‚ê‚΃Rƒ“ƒpƒCƒ‰‚ÌŽí—Þ‚â‰ðŒˆ•û–@‚ðŒöŠJ‚Å‚«‚é”͈͂ŗǂ¢‚Ì‚Å
‘‚«ž‚ñ‚Å‚à‚炦‚é‚Æ—L“ï‚¢‚Å‚·B
391 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/12/22(“y) 10:35:08
CONTINUE
392 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/12/23(“ú) 10:22:03
stop
end
Å‹ß‚Ì ‚hntel Fortran ‚Á‚Ä Traceback ‹@”\‚ªŒø‚¢‚Ä‚È‚­‚ËH
‚»‚¤‚©H
-traceback ƒIƒvƒVƒ‡ƒ“‚Å‚Å‚¿‚á‚ñ‚ƃ\[ƒX–¼‚Æs”Ô†‚Ü‚Å•\Ž¦‚³‚ê‚邼B
395 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/12/26(…) 21:50:42
”N–¾‚¯‚Å‚æ‚©‚Á‚½‚çv10.1‚ÅŽŽ‚µ‚Ä‚Ý‚é‚æ
>>395
—Š‚ÞB‚â‚Á‚Ä‚Ý‚Ä‚­‚êB

˜R‚ê‚̊‹«‚¾‚ÆAWindows+VisualStudio‚̃rƒ‹ƒhƒIƒvƒVƒ‡ƒ“‚Åtraceback‚ð‚‚¯‚Ä‚¢‚é‚Ì‚¾‚ªA
9.1‚¾‚ÆTraceback‚ð“f‚­‚ªAVer10.0‚âVer.10.1‚¾‚Æ•’Ê‚ÌŽÀsŽžƒGƒ‰[‚µ‚©o‚È‚¢B

ƒc[ƒ‹{ƒIƒvƒVƒ‡ƒ“‚ŃRƒ“ƒpƒCƒ‰‚¾‚¯•Ï‚¦‚Ä‚¢‚é‚Í‚¸‚È‚Ì‚ÅAƒIƒvƒVƒ‡ƒ“Žw’è‚Í‹¤’Ê‚¾‚ÆŽv‚¤‚Ì‚¾‚ªEE
ŽèŒ³‚ÌPC‚É10.1‚µ‚©“ü‚Á‚Ä‚È‚¢‚Ì‚Å‘¼‚̃o[ƒWƒ‡ƒ“‚Æ”äŠr‚Å‚«‚È‚¢‚ªA10.1‚Ìê‡:

EVSã‚Å[ƒfƒoƒbƒO] -> [ƒfƒoƒbƒOŠJŽn] (F5) ‚ÅŽÀs
@VS‚̃fƒoƒbƒKã‚ŃuƒŒƒCƒN‚ª‚©‚©‚éiuŒÄ‚Ño‚µ—š—ðv‚ɃXƒ^ƒbƒNƒgƒŒ[ƒX‚ð•\Ž¦j

EVSã‚Å[ƒfƒoƒbƒO] -> [ƒfƒoƒbƒO‚È‚µ‚ÅŠJŽn] (Ctrl + F5) ‚ÅŽÀs
@ƒgƒŒ[ƒXƒoƒbƒNî•ñ‚ð•\Ž¦‚¹‚¸‚ÉI—¹

E•Ê“rƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚ðŠJ‚¢‚ÄŽÀs
@ƒgƒŒ[ƒXƒoƒbƒNî•ñ‚ð•\Ž¦‚µ‚ÄI—¹

‚Æ‚È‚Á‚½B
>>397
‡dƒNƒX
Šm”FE”cˆ¬‚µ‚½B

˜R‚ê‚Í‹ß”NƒfƒoƒbƒOŽÀs‚ð‚Ü‚Á‚½‚­Žg‚Á‚Ä‚¢‚È‚©‚Á‚½‚Ì‚ÆAƒGƒ‰[‚Ìo‚é“z‚Í
ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚©‚çŽÀs‚µ‚½‚±‚Æ‚ª‚È‚©‚Á‚½‚Ì‚Å‹C‚©‚È‚©‚Á‚½‚—

‘½•ªAƒfƒoƒbƒO‚È‚µŽÀs‚Å‚àƒgƒŒ[ƒXƒoƒbƒN‚͌ĂÑo‚µ—š—ð‚É‹­§ƒŠƒ_ƒCƒŒƒNƒg‚³‚ê‚Ä‚¢‚邪A
ierroro—Í‚©‚È‚ñ‚©‚Åj
‚±‚ÌꇌĂÑo‚µ—š—ð‚ðŒ©‚éƒƒjƒ…[€–Ú‚ª–³‚¢‚Æ‚¢‚¤ƒoƒO‚È‚Ì‚¾‚낤‚—@‹ó‘z‚¾‚ª‚—


‚¹‚Á‚©‚­Visual Studio‚ðŽg‚Á‚Ä‚¢‚é‚ñ‚¾‚©‚çƒfƒoƒbƒK‚àŽg‚¨‚¤‚ºB
>>399
‚¢‚âAÌ‚ÍŽg‚Á‚Ä‚¢‚½‚¯‚ÇA‚È‚ñ‚Æ‚¢‚¤‚©AFortranŒü‚«‚Å‚È‚¢Š´‚¶‚ª‚µ‚ÄB
‹‘å”z—ñ‚Ì‚Í‚Ý‚¾‚µ‚Æ‚©‚ÌŒŸo‚ÉŒü‚¢‚Ä‚È‚¢‚¹‚¢‚©‚ÈH
401 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2008/02/21(–Ø) 23:04:14
Fortran2003‚̈—Œn‚Í‚æo‚¹
>>401
IBM‚̃Rƒ“ƒpƒCƒ‰‚ªˆê”Ôi‚ñ‚Å‚é‚Á‚Ä•·‚¢‚½‚ñ‚¾‚¯‚ÇB
‚Ç‚¤‚È‚Ì‚©‚ËH
NAG‚àÅ‹ß‚¨‚Æ‚È‚µ‚¢‚µB
’†‹K–Í‘as—ñ˜A—§•û’öŽ®‚ð‰ð‚­‚Ì‚ÉFortran (Intel Win & Linux)‚ðŽg‚¨‚¤‚Æ‚µ‚Ä‚Ü‚·B
¬‹K–Í‚Ì‚à‚Ì‚ÍAMATLAB‚ÅA•sŠ®‘SŽOŠp•ª‰ð‘Oˆ—{BiCGSTAB‚Æ‚©GMRES‚Å‰ð‚¢‚Ä‚«‚Ü‚µ‚½B
‚µ‚©‚µ•û’öŽ®‚Ì‘å‚«‚³‚ª1–œ‚ð’´‚¦‚é‚ ‚½‚è‚©‚çAMATLAB‚Ì‘g‚Ýž‚݃\ƒ‹ƒo[‚̃ƒ‚ƒŠŒø—¦‚ªˆ«‚­‚Ä
Fortran‚É–ß‚Á‚Ä‚«‚½ŽŸ‘æ‚Å‚·B

¡A‚Æ‚è‚ ‚¦‚¸MKL‚ð“ü‚ê‚Ä‚Ý‚ÄA‚»‚Ì’†‚Å‚¨‚·‚·‚ß(?)‚Û‚©‚Á‚½PARDISO‚ðŽg‚Á‚½ƒR[ƒh‚ð‘g‚ñ‚Å‚Ý‚Ä
ƒTƒCƒY5–œ‚­‚ç‚¢‚¾‚Æ‚»‚ê‚È‚è‚Ì‘¬‚³‚Å‰ð‚¢‚Ä‚­‚ê‚邱‚Æ‚ª‚í‚©‚è‚Ü‚µ‚½BMKL‚̃}ƒjƒ…ƒAƒ‹‚É‚ÍA•’Ê‚Ì
‘as—ñ—p”½•œƒ\ƒ‹ƒo‚à‚ ‚é‚Æ‘‚¢‚Ä‚ ‚è‚Ü‚·‚ªAƒTƒCƒY‚ª10–œ‚Æ‚©’´‚¦‚é‚悤‚É‚È‚é‚ÆAPARDISO‚̂悤‚È
‘as—ñ’¼Ú–@‚æ‚èA”½•œ–@‚Ì•û‚ª—Ç‚¢‚Ì‚Å‚µ‚傤‚©B

‚Ù‚©‚̃\ƒ‹ƒoƒ‰ƒCƒuƒ‰ƒŠ‚Å‚ÍA•À—ñ—pPETSc‚ðŽŽ‚µ‚Ä‚¢‚Ü‚·B‚½‚¾A‰ð‚¢‚Ä‚¢‚é–â‘è‚ÌŒW”s—ñ‚ª—Ç‚­‚È‚¢‚Ì‚©
PETS‚ƒ‚¾‚ÆŽû‘©‚µ‚È‚¢‚±‚Æ‚ª‚ ‚Á‚ÄAPARDISO‚âMKL‚ðŽg‚¨‚¤‚©‚ÆŽv‚Á‚Ä‚¢‚Ü‚·B

•À—ñŒvŽZ‚ɈÚs‚·‚é‚¿‚å‚Á‚Æ‘O‚­‚ç‚¢‚Ì‘å‚«‚³‚Ì‘as—ñ˜A—§•û’öŽ®‚ð‰ð‚­‚Ì‚É‚¨‚·‚·‚߂̃‰ƒCƒuƒ‰ƒŠ‚ ‚Á‚½‚ç
‹³‚¦‚Ä‚­‚¾‚³‚¢B
>>403

LAPACK ‚© ATLAS ‚ł̓_ƒH‚»‚ñ‚È‘å‹K–Í‚ÈŒvŽZ‚ð‚â‚Á‚½Ž–‚ª
–³‚¢‚Ì‚ÅAŽg‚¢•¨‚É‚È‚é‚©‚Ç‚¤‚©‚Í•ª‚©‚è‚Ü‚¹‚ñB

Linux ‚È‚çƒpƒbƒP[ƒW‚ŃCƒ“ƒXƒg[ƒ‹‚Å‚«‚é‚Í‚¸B
ƒEƒ`‚Ì Debian ‚É‚Í aptitude ‚Å“ü‚ꂽB
405 F403F2008/03/16(“ú) 18:44:46
>>404‚³‚ñ
ƒŒƒXƒTƒ“ƒNƒX‚Å‚·B

LAPACK‚ÆATLAS‚àŽg‚Á‚Ä‚Ü‚·!MKL‚àLAPACK‚Æ‚©LAPACK95‚ðŽg‚¢‚Ü‚·B‘f°‚炵‚¢
ƒ‰ƒCƒuƒ‰ƒŠ‚¾‚ÆŽv‚¢‚Ü‚·B
˜R‚ꂪ‚â‚肽‚¢‚Ì‚ÍA‘as—ñ˜A—§•û’öŽ®‚È‚Ì‚ÅALAPACK‚Æ‚©ATLAS‚ðƒx[ƒX‚É‚µ‚Ä
‚»‚̃‰ƒbƒp[‚ª—~‚µ‚¢‚Æ‚¢‚¤Š´‚¶‚Å‚·BLAPACK‚ª‚·‚Å‚ÉBLAS/ATLAS‚̃‰ƒbƒp[‚Ȃ킯
‚Å‚·‚ªBBB

>>405
ˆê”ʘ_‚©‚ç‚·‚ê‚ÎA”½•œ–@‚©’¼à–@‚©‚Ì‘I‘ð‚Ís—ñ‚Ì“à—e‚É‚æ‚é‚ñ‚Å‚ËH
‚½‚¿‚̈«‚¢s—ñ‚Å‚È‚¯‚ê‚ÎA”½•œ–@‚Ì•û‚ª—L—˜‚¾‚ÆŽv‚¤‚¯‚ÇB
’¼à–@‚È‚çŠmŽÀ‚É—LŒÀ‰ñ‚ÅI—¹‚·‚邱‚Æ‚ª•ª‚©‚Á‚Ä‚¢‚邪A”½•œ–@‚Í’¼Œð«‚ª”’lŒë·‚Å•…‚é‚©‚ç
”Šw“I‚É‚Í‚¨‚©‚µ‚¢‚ªAŒ»ŽÀ‚É‚Í—LŒÀ‰ñ‚ÅI‚í‚ç‚È‚©‚Á‚½‚è‚·‚邵B

s—ñ‚ªA‚Ù‚ñ‚ƂɃXƒJƒXƒJ‚Ì‘a‚©Asingular‚É‹ß‚¢‚©AŒÅ—L’l‚ªk‘Þ‚µ‚Ü‚­‚Á‚Ä‚¢‚é‚©‚Æ‚©A
‚»‚Ì•Ó‚ÍŽg—pŽÒ‚µ‚©•ª‚©‚ç‚ñ‚©‚çA‚È‚ñ‚Æ‚à‚¢‚¦‚È‚¢‚悤‚ÈB

’†g‚Ì•ª‚©‚ç‚ñ“z‚É‹@ŠB“I‚ÉŽg‚킹‚é‚©‚çˆÀ‘S‘æˆê‚Ås‚«‚½‚¢‚Æ‚©A‰^—p–Ê‚É‚àˆË‘¶‚·‚邵B
407 F405F2008/03/16(“ú) 21:00:50
>>406‚³‚ñ
‹Â‚é‚Æ‚¨‚è‚Á‚·B
‚Æ‚è‚ ‚¦‚¸AŽ©•ªˆêl‚ÅŽg‚¤(Œ¤‹†)‚Ì‚ÅAƒuƒ‰ƒbƒNƒ{ƒbƒNƒX“I‚ňÀ‘S‚È‚à‚Ì‚Å‚È‚­‚Æ‚à
‚‘¬‚ÅA“±“ü‚âƒR[ƒfƒBƒ“ƒO‚ªŠy‚È‚Ì‚ªŠó–]‚Å‚·B

s—ñ‚Ìó‘Ԃ͈«‚¢‚Å‚·B4x4‚̃uƒƒbƒN‚É•ª‚©‚ê‚Ă銴‚¶‚ÅA—£ŽU‰»‚ðׂ©‚­‚â‚é‚Æ
Žå‘Ίp‚ª‘ì‰z‚µ‚ÄA‘ΊpƒuƒƒbƒN‚Ì‚Ý‚É•sŠ®‘S•ª‰ðŒn‚Ì‘Oˆ—Š|‚¯‚é‚ÆA
‚»‚ê‚È‚è‚ÉŽû‘©‚µ‚Ü‚·‚ªAŒW”s—ñ‚̃TƒCƒY‚ª‘‘å‚·‚é‚Æ‚¢‚¤ƒWƒŒƒ“ƒ}‚Å‚·B

‘as—ñ«‚ÍA5–œx5–œ‚ÅA”ñ—ë—v‘f‚ª0.1“Ø‚Á‚Ä‚é‚­‚ç‚¢‚Å‚·B

‚²Žw“E‚̂悤‚ÉA–â‘èˆË‘¶«‚ª‚‚¢‚Ì‚ÅA‚È‚©‚È‚©‚²ˆÓŒ©‚¢‚½‚¾‚­‚͓̂‚¢‚©‚È‚Æ‚Í
‚¨‚à‚Á‚Ä‚¨‚è‚Ü‚·B

‚Æ‚è‚ ‚¦‚¸A‚Ý‚È‚³‚ñA10–œx10–œ‚­‚ç‚¢‚Ì‘as—ñ˜A—§•û’öŽ®(·•ª–@‚â—LŒÀ—v‘f–@
‚È‚ç•po‚¾‚ÆŽv‚¢‚Ü‚·)‚ð‰ð‚­‚Æ‚«‚Á‚ÄA‚Ç‚ñ‚ÈŒ¾Œê‚ÅA‚Ç‚ñ‚ÈŽÀ‘•‚µ‚Ä‚é‚ñ‚Å‚·‚©‚ËBBB
”½•œ–@ƒ\ƒ‹ƒo‚àSaad‚Ìtemplate‚Ì‹[Ž—ƒR[ƒh‚©‚玩•ª‚Å‘‚¢‚Ä‚é‚Ì‚©A‚Æ‚è‚ ‚¦‚¸
‚¢‚ë‚¢‚ëƒ\ƒ‹ƒoƒ‰ƒCƒuƒ‰ƒŠŽŽ‚µ‚Ä‚é‚Ì‚©BBB‚½‚Ô‚ñA‘as—ñ‚ÌŠi”[Œ`Ž®‚©‚çl‚¦‚é•K—v‚ª
‚ ‚é‚ÆŽv‚¤‚Ì‚ÅA‚»‚Ì‚ ‚½‚èAFortranŽg‚¢‚ÌŠF‚³‚ñ‚ª‚Ç‚¤‚â‚Á‚Ä‚é‚Ì‚©’m‚肽‚¢‚Å‚·B
Steve Lionel (Intel) ‚̃Rƒ‰ƒ€‚ÅAA=B+C‚ÆA(:)=B(:)+C(:)‚Å‚ÌŒãŽÒ‚Ì–â‘è“_‚ɂ‚¢‚Ä
G‚ê‚ç‚ê‚Ä‚¢‚½Bŋ߂̃Cƒ“ƒeƒ‹ƒRƒ“ƒpƒCƒ‰‚Í­‚µŒ«‚­‚È‚Á‚ÄA‚±‚Ì’ö“x‚Ì’Pƒ‚ÈꇂȂç
ŒãŽÒ‚Å–³‘ʂȃeƒ“ƒ|ƒ‰ƒŠ‚ւ̃Rƒs[‚ð‚µ‚È‚¢‚悤‚É‚È‚Á‚½‚悤‚¾B

‚Æ‚Í‚¢‚¦A‚Ü‚¾–â‘è‚ ‚è‚ÆB
ttp://softwareblogs.intel.com/2008/03/31/doctor-it-hurts-when-i-do-this/
409 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2008/05/17(“y) 02:00:17
EXCEL@VBA‚Å‚ ‚éŒvŽZ‚ð‚µ‚Ä‚½‚Ì‚Å‚·‚ªAŽžŠÔ‚ª‚©‚©‚Á‚ÄŽd•û‚ª‚È‚¢‚Ì‚Å
PC‚ÉFORTRAN‚ðƒCƒ“ƒXƒg[ƒ‹‚µ‚Äfortran‚ŃvƒƒOƒ‰ƒ~ƒ“ƒO‚â‚낤‚©‚Æ
Žv‚Á‚Ä‚¢‚Ü‚·BŠw¶Žž‘ã‚ÉFORTRAN@77‚ðŽg‚Á‚½ŒoŒ±‚ª‚ ‚é’ö“xB
‚½‚µ‚©MS@FORTRAN@‚Ï‚í[‚·‚Ä[‚µ‚å‚ñ‚‚¤‚Ì‚àŽg‚Á‚½‚±‚Æ‚ª‚ ‚è‚Ü‚·B

ê–å‰Æ‚Ì‘½‚»‚¤‚È‚±‚̃XƒŒ‚Å‹°k‚È‚Ì‚Å‚·‚ªAŒ»s‚ÌwinXP‚ª“ü‚Á‚Ä‚éPC‚Å
“®‚©‚·‚Ƃ悳‚°‚ÈFORTRANƒRƒ“ƒpƒCƒ‰‚͉½‚ª‚¢‚¢‚Å‚µ‚傤‚©EEB
ŒvŽZ“à—e‚ÍŠÈ’P‚ȃ‚ƒ“ƒeƒJƒ‹ƒ–@‚Å‚·B

410 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2008/05/17(“y) 10:28:08
>>409
http://www.nminoru.jp/~nminoru/programming/x86-fortran.html
Œ©‚êB–³—¿‚Å‚Æ‚è‚ ‚¦‚¸ŽŽ‚·‚È‚çcygwin+g77 ‚©minGW+g77‚Å‚µ‚傤B
ƒRƒXƒgƒpƒtƒH[ƒ}ƒ“ƒX‚È‚çƒCƒ“ƒeƒ‹ƒRƒ“ƒpƒCƒ‰‚©B

‚Ç‚Á‚¿‚É‚¹‚æ¡EXCEL VBA‚Å‘g‚ß‚Ä‚¢‚é‚Ì‚È‚çA¡‚©‚ç‚í‚´‚í‚´Fortran‚È‚ñ‚¼‚â‚炸‚ÉA
ƒRƒ“ƒpƒCƒ‰”ƒ‚¤‹à‚Å‘¬‚¢CPU”ƒ‚Á‚½‚Ù‚¤‚ªƒ}ƒV‚¾‚ÆŽv‚¤‚¯‚Ç‚ËB
411 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2008/05/17(“y) 22:05:46
>>‚Ç‚Á‚¿‚É‚¹‚æ¡EXCEL VBA‚Å‘g‚ß‚Ä‚¢‚é‚Ì‚È‚çA¡‚©‚ç‚í‚´‚í‚´Fortran‚È‚ñ‚¼‚â‚炸‚ÉA
>>ƒRƒ“ƒpƒCƒ‰”ƒ‚¤‹à‚Å‘¬‚¢CPU”ƒ‚Á‚½‚Ù‚¤‚ªƒ}ƒV‚¾‚ÆŽv‚¤‚¯‚Ç‚ËB

ƒŒƒX‚ ‚肪‚Æ‚¤‚Å‚·B
VBA‚Á‚ĈÙí‚É’x‚¢‚È‚ÆŽv‚Á‚Ä‚¢‚½‚Ì‚Å‚·‚ªACPU‘¬‚­‚·‚ê‚Î
FORTRAN‚É’Ç‚¢‚‚¯‚é’ö“x‚È‚Ì‚©EEEB
‚»‚±‚ç‚Ö‚ñ‚ª‚æ‚­‚í‚©‚Á‚Ä‚È‚¢‚Ì‚ÅB
VB2008Express‚Å‚àŽg‚¦‚Î?
VBA‚æ‚è‚Í‚¾‚¢‚Ô‘¬‚¢‚µƒ^ƒ_‚¾‚æ
‚Ç‚Ì‚­‚ç‚¢ƒXƒs[ƒh‚ð—v‚·‚é‚Ì‚©’m‚ç‚ñ‚ªVB‚̓Cƒ“ƒ^[ƒvƒŠƒ^‚¾‚낤H
SilverFrost‚ÌFTN95‚Æ‚©ƒtƒŠ[ƒRƒ“ƒpƒCƒ‰‚à“]‚ª‚Á‚Ä‚¢‚邱‚Æ‚¾‚µA
‚V‚V‚ł悯‚ê‚ÎWatcom‚Æ‚©Ì‚Ȃ‚©‚µ‚¢‚Ì‚à‚ ‚邵Ag77‚ÌWin—p‚à‚ ‚邵A
Fortran‚Å‘f’¼‚É‚â‚点‚Ä‚â‚ê‚—
414 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2008/05/19(ŒŽ) 22:54:50
ƒ‚ƒ“ƒeƒJƒ‹ƒ–@‚Æ‚©‚¾‚ÆCPUŽü”g”‚É‚Ù‚Ú”ä—Ⴕ‚Ä
‘¬‚­‚È‚é‚ÆŽv‚Á‚Ä‚¨‚¢‚Ä‚¢‚¢‚Ì‚Å‚·‚©EEE
415 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2008/05/19(ŒŽ) 23:35:44
>>411
‚»‚Ì‘¬‚¢CPU‚Å“®‚©‚¹‚ÎFortran‚Í‚à‚Á‚Æ‘¬‚­wwww
ƒ}ƒWƒŒƒX‚·‚é‚ƃpƒ‰ƒ[ƒ^ƒT[ƒxƒC‚Æ‚©‚È‚ç¡‚Ì4ƒRƒA‚Æ‚©Žg‚¦‚΂©‚È‚èŒø—¦‚Í‚ ‚ª‚éB
‚³‚·‚ª‚ÉBASIC‚ªFORTRAN‚ð’´‚¦‚邱‚Æ‚Í–³—B
Ž©•ª‚̃vƒƒOƒ‰ƒ~ƒ“ƒOƒXƒLƒ‹‚Æì‚éƒR[ƒh‚Ì•¡ŽG‚³‚©‚çAƒR[ƒfƒBƒ“ƒO‚âƒfƒoƒbƒO‚Ì
˜J—Í‚ðŒ©Ï‚à‚Á‚ÄŽ©•ª‚Å”»’f‚·‚ׂµB•Ê‚Éfortran‚Æ‚©VBA‚ÉŒÀ‚ç‚ñ‚¯‚Ç‚ÈB

VBA‚̓Nƒ\’x‚¢‚Æ•·‚­‚ªŽg‚Á‚½‚±‚Æ‚ª‚È‚¢‚Ì‚Å‚È‚ñ‚Æ‚à‚¾‚ªA
Free BASIC VS intel Fortran ‚Å‚ÍFORTRAN‚ª‘¬‚¢‚Æ‚¢‚Á‚Ä‚à‚X””{’ö“x`ƒR[ƒh‚É‚æ‚Á‚Ä‚ÍBASIC‚ªŸ‚Á‚Ä‚¢‚éB
http://shootout.alioth.debian.org/gp4sandbox/benchmark.php?test=all&lang=ifc&lang2=fbasic
‚³‚·‚ª‚ÉIntel Fortran‚Ígnu fortran‚âJava, Mono Ruby ‚È‚ñ‚©‚É‚ÍŠyXŸ—˜B

>>414
‚¾‚¢‚¾‚¢YESB‚ÆŒ¾‚¢‚½‚¢‚ªƒ‚ƒ“ƒeƒJƒ‹ƒ–@‚¾‚¯‚Å‚Íu—”‚ðŽg‚Á‚½Šm—¦“I‰ð–@v‚®‚ç‚¢‚µ‚©
‚í‚©‚ç‚ñ‚©‚ç‚È‚ñ‚Æ‚àBƒ‰ƒ“ƒ_ƒ€ƒEƒH[ƒN‚̃Vƒ~ƒ…ƒŒ[ƒVƒ‡ƒ“‚È‚ñ‚©‚¾‚ÆCPUŽü”g”‚É
”ä—Ⴕ‚Ä‚­‚ê‚é‚悤‚ȃR[ƒfƒBƒ“ƒO‚ª‚Å‚«‚éꇂª‘½‚¢B
416 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2008/05/22(–Ø) 09:28:10
Ž¿–â‚Å‚·B
salford‚Ìf77‚ðŽg‚Á‚Ä‚¢‚é‚Ì‚Å‚·‚ªgoto•¶‚̃‹[ƒv“à‚Å”z—ñ‚𖈉ñ‰Šú‰»‚µ‚Ä‚½‚ç
ƒ‹[ƒv‚ª“r’†‚ÅI‚í‚Á‚Ä‚µ‚Ü‚¤‚Ì‚Å‚·‚ª‚Ç‚¤‚µ‚½‚ç—Ç‚¢‚Å‚µ‚傤‚©H
‰½‚Å‚©•ª‚©‚ç‚È‚¢‚Ì‚Å‚·‚ªA‰Šú‰»‚µ‚È‚¢‚ÆŒJ‚è•Ô‚µ‚Ä‚­‚ê‚Ü‚·B‚ ‚ÆAˆÈ‰º‚̃vƒƒOƒ‰ƒ€‚Ì•¶
‚ʼnŠú‰»‚ªi,j‹¤‚É31‚ÌŒJ‚è•Ô‚µ‚¾‚Æ­‚µ’·‚­ŒJ‚è•Ô‚µ‚Ü‚·B
goto•¶‚Ì’†‚ɂ̓KƒEƒX‚ÌÁ‹Ž–@‚̃Tƒuƒ‹[ƒ`ƒ“‚ª‚ ‚è‚Ü‚·B

100 continue
do i=1,32
do j=1,32
kakunou(i,j)=0
enddo
enddo

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
’†—ªiˆÈ‰º‚±‚Ìkakunou(32,32)‚ÉŒvŽZ’l‚ð‘ã“ü‚µ‚Ä‚Ü‚·j
@@@“r’†‚ŃKƒEƒX‚ÌÁ‹Ž–@‚̃Tƒuƒ‹[ƒ`ƒ“‚ðŒÄ‚Ño‚µ‚Ä‚Ü‚·
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
goto 100

‚·‚¢‚Ü‚¹‚ñ‚ªA‚Ç‚È‚½‚©‹³‚¦‚Ä‚­‚¾‚³‚¢B
>>416
³’¼Ž¿–â‚̈Ӗ¡‚ª‚æ‚­•ª‚©‚ç‚ñB
ƒRƒ“ƒpƒCƒ‰‚̃oƒO‚Å‚È‚¯‚ê‚ÎA‚ ‚肦‚È‚¢Çó‚È‚Ì‚Å
‚±‚±‚É‘‚¢‚Ä‚È‚¢•”•ª‚ª‚¨‚©‚µ‚¢‚Æ‚µ‚©Œ¾‚¢‚悤‚ª–³‚¢B

‚†77‚͈̔͂Ȃçg77‚Æ‚©‘¼‚̃Rƒ“ƒpƒCƒ‰‚à‚ ‚é‚Ì‚Å‚»‚ê‚ÅŽŽ‚µ‚Ä‚Ý‚é‚Æ‚©A
salford‚Ì‚†95‚ÅŽŽ‚µ‚Ä‚Ý‚é‚Æ‚©‚µ‚ÄŒ©‚é‚Ì‚àˆê‚‚̈ÄB
418 F‰SŽÒF2008/05/23(‹à) 15:40:54
Ž¸—炵‚Ü‚·D
Compaq Visual fortran 6.1‚ðŽg—p‚µ‚Ä‚¢‚é‚à‚Ì‚Å‚·‚ªC
—ûK‚ňȉº‚̃vƒƒOƒ‰ƒ€‚ð‘‚¢‚½‚Ì‚Å‚·‚ªCcpmpile‚ð‰Ÿ‚µC
uDFv‚É•ÏŠ·‚µ‚Ä‚àu1errorsv‚ªo‚Ä‚µ‚Ü‚¢‚Ü‚·D
‚È‚ºo‚é‚Ì‚©‹³‚¦‚Ä‚¢‚½‚¾‚¯‚È‚¢‚Å‚µ‚傤‚©H
‰•à’†‚̉•à‚Å\‚µ–ó‚È‚¢‚Å‚·D

INTEGER WIDTH,HEIGHT,AREA
READ(5,*) WIDTH,HEIGHT
AREA=WIDTH*HEIGHT
WRITE(6,*) WIDTH,HEIGHT,AREA
STOP
END
>>418
ƒGƒ‰[‚Å‚È‚¢‚¼‚—

ƒGƒ‰[ƒƒbƒZ[ƒW‚ðƒRƒs[‚µ‚Ä‚Ý‚¹‚Ä‚­‚êB
420 F‰SŽÒF2008/05/26(ŒŽ) 12:58:26
ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
‘‘¬‚Ì•ÔM‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·D
ƒGƒ‰[‚͈ȉº‚̂悤‚Éo‚Ü‚·

--------------------Configuration: Text1 - Win32 Debug--------------------
Compiling Fortran...
C:\Documents and Settings\Admin\ƒfƒXƒNƒgƒbƒv\Text1.F
f90: Severe: Invalid argument
... file is 'C:\Documents and Settings\Admin\ÃÞ½¸Ä¯Ìß\Text1.F'
Error executing df.exe.

Text1.obj - 1 error(s), 0 warning(s)


Ž©•ª‚àˆÈ‘OOS‚ª2000‚ðŽg—p‚µ‚Ä‚¢‚½‚Æ‚«‚͉½‚̃Gƒ‰[‚ào‚È‚©‚Á‚½‚Ì‚Å‚·‚ªC
XP‚É•Ï‚¦‚Ä‚©‚çƒGƒ‰[‚ªo‚é‚悤‚É‚È‚Á‚½‚悤‚ÉŠ´‚¶‚Ü‚·D

‚¨Žè”‚ð‚©‚¯‚Ä\‚µ–ó‚È‚¢‚Å‚·D
‚æ‚낵‚­‚¨Šè‚¢‚µ‚Ü‚·D
421 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2008/05/26(ŒŽ) 17:55:54
‚»‚è‚Ⴈ‚ß‚¥ChƒfƒXƒNƒgƒbƒvh‚ÅŽÀs‚µ‚悤‚½‚Á‚Ä–³—‚Șb‚æ
ƒ}ƒCƒhƒLƒ…ƒƒ“ƒg‚Ɉړ®‚³‚¹‚È
>>421
‚¨‘O‚Ђǂ¢“z‚¾‚È‚—‚—‚—

>>420
ʼnƒb‚©‚ç‚»‚¤Œ¾‚Á‚Ä‚­‚ê‚ê‚ÎA‚·‚®‚É“š‚¦‚ç‚ê‚éB
‚»‚ê‚ÍCVFŽž‘ã‚ÌFAQ‚ÅA“ú–{Œê‚̃pƒX‚âƒtƒ@ƒCƒ‹–¼‚ª“ü‚é‚ƃRƒ“ƒpƒCƒ‰‚ª‘Ήž‚µ‚Ä‚¢‚È‚¢
‚̂ŃGƒ‰[‚ð“f‚­B‚QƒoƒCƒg•¶Žš‚ðŽg‚í‚È‚¢ƒfƒBƒŒƒNƒgƒŠ‚Å‚â‚ê‚΂¨‚‹B

423 F‰SŽÒF2008/05/27(‰Î) 13:41:47
ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ
‰ðŒˆ‚µ‚Ü‚µ‚½III
ŠÈ’P‚ÈŽ¿–â‚ÉeØ‚É“š‚¦‚Ä‚¢‚½‚¾‚¢‚Ä‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½III
424 F‰SŽÒF2008/05/30(‹à) 15:38:10
d‚Ëd‚ËŽ¿–â‚·‚Ý‚Ü‚¹‚ñD

fortran‚ð‚܂킵‚½Œ‹‰Ê‚ðexcel‚©ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚Éo—Í‚µ‚½‚¢‚Ì‚Å‚·‚ªC
‚ǂ̂悤‚ȃRƒ}ƒ“ƒh‚ð‘łĂ΂悢‚Ì‚Å‚µ‚傤‚©H
‚Ü‚½C’·‚¢Œ‹‰Ê(10–œŒ…ˆÈã)‚ðƒtƒ@ƒCƒ‹‚Éo—Í‚µ‚½‚¢‚Ì‚Å‚·‚ªC
Œä‹³Žö‚¨Šè‚¢‚µ‚Ü‚·D
–{l‚Í‚Å‚«‚邾‚¯•@‚ɂ‚©‚È‚¢•¶Í‚Å’š”J‚ÉŽ¿–₵‚Ä‚é‚‚à‚è‚È‚ñ‚¾‚낤‚ÈB
>>424
‚»‚êA涂ɕ·‚¢‚½•û‚ª‚¢‚¢‚æB‚¨‹à•¥‚Á‚Ä‚é‚ñ‚Å‚µ‚åB
program main
integer :: i = 1

open(unit=10,file='hoge.txt',status='unknown')

do
write(10,'(i4)') i
i = i + 1
end do

close(10)

end program main


u‚²‹³Ž¦v‚ðu‚²‹³Žöv‚Á‚Ä‘‚¢‚¿‚Ⴄ’j‚Ìl‚Á‚ÄBBB
>>427
hoge‚ÍUNIXŒn‚̘A’†‚ÌŽg‚¤Œ¾—t‚¾B
ƒƒCƒ“ƒtƒŒ[ƒ€‚̌ւè‚ðŽ‚ÂFortranner‚ÍŽg‚Á‚¿‚á‚¢‚©‚ñ‚—

foo bar baz ‚ÍH
|“S‚ÌŒ‚’ĉ¤
>>415
‚±‚ê‚Ý‚é‚ÆIntel C/C++Žg‚Á‚½‚Ù‚¤‚ª‚¢‚¢‚Ý‚½‚¢‚¾‚È
>>431
’P‚ÉFortran‚Ì‘‚«•û’m‚ç‚È‚¢‚¾‚¯‚¾‚×B
‚‚܂èFortran‚ð’m‚Á‚Ä‚él‚ª­‚È‚¢‚ÆB
‹ZpŽÒ‚ðW‚ß‚É‚­‚¢‚ÆB
>>431
INTEL Fortran ‚Æ C++ ‚̓oƒbƒNƒGƒ“ƒh•”‚Í‹¤’Ê‚¾‚낤‚©‚çA‚»‚à‚»‚à‚»‚ê‚Ù‚Ç‘å‚«‚ȈႢ‚ª
o‚é‚Í‚¸‚ª–³‚¢B
Œc‘å‚̶‹¦‰^‰c‚Ì‘“X‚É
FORTRAN“ü–åiFORTRAN‚V‚V“ü–å)‚ª•’Ê‚É‚¨‚¢‚Ä—L‚Á‚Ä‹Á‚¢‚½
>>435
‰Yº“ñŒNA–¼—_‹³Žö‚¾‚©‚ç“–‘R‚Å‚µ‚å
‚à‚¤f77‚Í‹³‚¦‚È‚¢‚Ù‚¤‚ª‚¢‚¢‚¾‚ëB펯“I‚Él‚¦‚ÄB
>>437
u‹`‚Ì‹³‰È‘‚Å‚Í‚È‚­‚ÄAŒ¤‹†Žº—p‚¾‚ÆŽv‚¤‚æB
Œ¤‹†Žº‚É‚Íf77‚̈âŽY‚ª‚ ‚é‚©‚çAŽQl}‘‚Æ‚µ‚Ä•K{B
>>435
‘åŠw‚̶‹¦‚Ȃ甄‚Á‚Ä‚é‚Ì‚ª•’Ê‚¾‚ÆŽv‚Á‚Ä‚½B
‰´‚ÍŒc‰ž‚¶‚á‚È‚¢‚¯‚Ç‚Ë
ã‘å‚É‚à’u‚¢‚Ä‚ ‚é‚æB
‚Ç‚±‚Å‚à’u‚¢‚Ä‚ ‚é‚ÆŽv‚¤B
‰Yº“ñ‚ÌFortran66‚Ì•û‚Í‚³‚·‚ª‚Éâ”Å‚É‚È‚Á‚Ä‚µ‚Ü‚Á‚½‚ÈB

>>441
ˆâŽYƒvƒƒOƒ‰ƒ€‚ªFortran66iƒuƒƒbƒNIF‚È‚µj‚Å‘‚©‚ê‚Ä‚¢‚Ä‹Áœ±‚µ‚½ orz
>>442
‰´‚Ì‚à‚ç‚Á‚½ˆâŽYƒvƒƒOƒ‰ƒ€‚ÍAŠg’£DO LOOP‚ðŽg‚Á‚Ä‚¢‚½‚¹‚¢‚ŃRƒ“ƒpƒCƒ‰‚ð’ʂ炸
‚·‚²‚­¢‚Á‚½B

Šg’£DO LOOP‚Æ‚ÍADO LOOP ‚Ì’†‚©‚çGOTO‚Å”ò‚Ño‚µ‚ÄA‚È‚ñ‚©‚â‚Á‚½ŒãDO LOOP‚Ì
’†‚É‹A‚é‚ÆA‚Ü‚½‚³‚Á‚«‚ÌLOOP‚Ì‘±‚«‚ªo—ˆ‚é‚Æ‚¢‚¤‚à‚Ì‚ÅA“–Žž‚̉´‚Ì‘z’èŠO‚Ì–ãâ‹@”\‚Å
‰½‚ª‚¨‚«‚Ä‚¢‚é‚Ì‚©‘S‚­—‰ð‚Å‚«‚È‚©‚Á‚½‚—

FORTRAN77‚Å”pŽ~‚É‚È‚Á‚½‚Í‚¸‚È‚ñ‚¾‚ªA‚½‚¢‚ª‚¢‚̃Rƒ“ƒpƒCƒ‰‚Í–§‚©‚ɑΉž‚µ‚Ä‚¢‚½B
‚Ü‚ŸA•|‚¢‚Ì‚Å‘‚«’¼‚µ‚½‚ª‚—

‚»‚¤‚¢‚¤Ž–‚à‚ ‚é‚Ì‚ÅFORTRAN66‚Ì‹³‰È‘‚à–³‚­‚µ‚Ä‚Í‚¢‚¯‚È‚¢‚ÆŽv‚¤‚Å‚·‚æB
‚»‚¤‚©Am¶‚ÍŒN•t‚¯‚È‚ñ‚¾‚Èw
¡A–{‰®‚Å”ƒ‚¦‚é”͈͂ÅA‚¨‚·‚·‚ß‚ÌFortran‚Ì‹³‰È‘‚͉½‚Å‚·‚©H

â”Å‚Í¢‚è‚Ü‚·BƒAƒ}ƒ]ƒ“‚̌Ö{‚Å”ƒ‚¦‚é‚È‚ç‚¢‚¢‚Å‚·‚ªB
Michael Metcalf, John Ker Reid, "Fortran 90/95 Explained"
>>445
Fortran‚ð•×‹­‚·‚é–Ú“I‚Ȃǂ𖾊m‚É‚¹‚æB
@‹KŠiF‚í‚©‚ç‚È‚¢Af77Af90ˆÈã
@–Ú“IFu‹`‘ΉžAŒ¤‹†Žº‘ΉžAŽï–¡A‹Æ–±‘Ήž

ˆÈ‰º‚Í‚Æ‚è‚ ‚¦‚¸‚Ì„‘E
‹KŠi‚í‚©‚ç‚È‚¢@u‹`‘Ήž
@Fortran 90ƒvƒƒOƒ‰ƒ~ƒ“ƒO •y“c”Ž”V
@http://www.amazon.co.jp/dp/4563014095/

f77‹KŠi@u‹`‘Ήž
@FORTRAN77“ü–å ‰Yº“ñ
@http://www.amazon.co.jp/dp/4563013587

f90‹KŠi@Œ¤‹†Žº‘Ήž
@”’lŒvŽZ‚Ì‚½‚ß‚ÌFortran90/95ƒvƒƒOƒ‰ƒ~ƒ“ƒO“ü–å ‹“‡È
@http://www.amazon.co.jp/dp/4627847211/
ƒeƒ“ƒvƒŒ‚ɒljÁ‚«‚Ú‚ñ
>>446-447
‚³‚ñ‚­‚·
450 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2008/06/29(“ú) 02:12:38
>>434
ƒoƒbƒNƒGƒ“ƒh‹¤’Ê‚Á‚Ä‚¾‚¯‚Å‘¬“x‚ª“¯‚¶‚É‚È‚é‚È‚ñ‚Ä‚ ‚肦‚È‚¢B
Žš‹å‰ðÍ‚âÅ“K‰»‚ÍŒ¾ŒêŽd—l‚ƃRƒ“ƒpƒCƒ‰ŽÀ‘•‚É‹­‚­ˆË‘¶‚·‚éB

Fortran‚̃Vƒ“ƒvƒ‹‚³‚Í‚»‚Ì“_‹­‚Ý‚¾‚Á‚½‚¯‚ÇA
Å‹ß‚ÌFortran‚Í‚»‚Ì‘¼Œ¾Œê‚É‚Ç‚ñ‚Ç‚ñ‹ß‚¢‚Ä‚¢‚é‚©‚ç‚Ë‚¦B
>>450
>>415‚̃xƒ“ƒ`ƒ}[ƒN‚̘b‚¾‚©‚çB
452 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2008/07/03(–Ø) 00:26:47
>>450
ƒxƒ“ƒ`ƒ}[ƒNƒTƒCƒg‚̂悤‚ÈA”Ä—pƒAƒ‹ƒSƒŠƒYƒ€‚È‚çfortran‚Í‘¬‚­‚È‚­‚Ä•sŽv‹c‚Í–³‚¢‚Å‚·‚æB
C/C++‚Æfortran‚̃†[ƒU[”l‚¦‚½‚çAintel‚¾‚Á‚Ä‚Ç‚¿‚ç‚ɃŠƒ\[ƒXŠ„‚­‚©‚ÍŽ©–¾‚Å‚µ‚傤B
ƒiƒ“ƒo[ƒNƒ‰ƒ“ƒ`ƒ“ƒO—p“r‚È‚çfortran‚Í‘½•ª‚Ü‚¾‘¬‚¢‚ÆŽv‚¢‚Ü‚·‚¯‚ÇB
453 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2008/09/06(“y) 00:53:21
Intel Fortran ‚ÌŽŸŠúƒo[ƒWƒ‡ƒ“ƒx[ƒ^ƒeƒXƒg‚ªŽn‚Ü‚Á‚Ä‚¢‚éB
V.11‚ª—ˆ”NˆêŒŽ‚Ü‚Å‚ÌŠúŒÀ•t‚«‚¾‚ªA–³ðŒ‚É”z•z‚³‚ê‚Ä‚¢‚éB
Windows”Å‚ÍVisualStudioiFortran ê—pj‚‚«‚ÅB

‹C‚É‚È‚él‚̓`ƒFƒLƒ‰I‚—
‚à‚Æ‚à‚ÆIntel Fortran‚ÆC++‚Í”ñ¤—p–Ú“I‚È‚ç–³—¿‚ÅŽg‚¦‚é‚ñ‚¶‚á‚È‚¢H
>>454
–³ŠúŒÀ‚ÍLinux‚¾‚¯‚¶‚á‚È‚¢‚©H
Linux”Å‚¾‚¯‚¾‚È
Linux”Å‚È‚çIntel Fortran‚ÆIntel C++‚ª–³ŠúŒÀ‚Å–³ž‚ÅŽg‚¦‚é
”ñ¤—p–Ú“IŒÀ’è‚̘b‚¾‚¯‚Ç‚Ë
1•bŠÔƒvƒƒZƒX‚ðQ‚©‚¹‚é‚Ì‚Ísleep‚Æ‚¢‚¤ŠÖ”‚ª‚ ‚邯‚ÇC
10ms‚Æ‚©100ms‚Æ‚©Cƒ~ƒŠƒZƒJƒ“ƒhƒI[ƒ_[‚ÅQ‚©‚¹‚é‚悤‚É‚·‚é‚É‚Í
‚Ç‚¤‚·‚ê‚΂¢‚¢‚Å‚·‚©H
IntelƒRƒ“ƒpƒCƒ‰‚ðŽg‚Á‚Ä‚¢‚é‚Ì‚ÅCIntelƒRƒ“ƒpƒCƒ‰ˆË‘¶‚ÌŠÖ”‚Å‚à
‚¢‚¢‚Å‚·D
¡‚ÍC–³‘Ê‚ÈŒvŽZƒ‹[ƒv‚ðì‚Á‚Ä‘Ò‚½‚¹‚Ä‚¢‚é‚Ì‚Å‚·‚ªC
‚»‚ꂾ‚ÆCPU•‰‰×‚É‚È‚é‚Ì‚ÅC‚Å‚«‚ê‚ÎCPU•‰‰×‚É‚È‚ç‚È‚¢‚Å
10ms‚Æ‚©100ms‚Æ‚©‘Ò‚½‚¹‚ç‚ê‚é‚ÆŠð‚µ‚¢‚Å‚·D
>>458
Windows‚È‚çAUSE IFWIN ‚µ‚Ä Win32 ‚Ì API ‚Ì Sleep ŠÖ”‚Å‚â‚ꂽ‹C‚ª‚·‚éB
Linux ‚Í’m‚ç‚È‚¢‚ªA“¯‚¶‚悤‚É‚â‚ê‚é‚ÆŽv‚¤B
nanosleep(2)
>>458
ifortˆË‘¶‚È‚çWin/Linux‹¤‚É SLEEPQQ ‚Å
USE IFPORT
CALL SLEEPQQ(3000)
‚ƃ~ƒŠ•b‚ÅŽw’è‚Å‚«‚éB

’A‚µ‚ ‚­‚Ü‚Å‚àŽw’è‚Å‚«‚邾‚¯‚Å‚ ‚Á‚ÄŽÀÛ‚Ì‹xŽ~ŽžŠÔ‚ðƒ~ƒŠ•b’PˆÊ‚̸“x‚Å
§Œä‚Å‚«‚é‚©‚Ç‚¤‚©‚Í•Ê‚¾‚ªB
462 F458F2008/10/07(‰Î) 10:32:59
>>459-461
ŠF‚³‚ñC‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·D
461‚³‚ñ‚Ì‚â‚è•û‚Å‚Å‚«‚Ü‚µ‚½D
‚»‚ê‚قdzŠm«‚ð‹‚ß‚Ä‚¢‚È‚¢‚Ì‚ÅC‚±‚Ì‚â‚è•û‚Å\•ª‚Å‚·D
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½D
463 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2008/10/24(‹à) 15:08:54
‚¨‚Ü‚¢‚çACUDA‚ÅFORTRAN‚ªƒTƒ|‚³‚ꂽ‚ç‚Ç‚¤‚·‚éHÀ‚­H
464 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2008/10/24(‹à) 17:01:26
ƒLƒ…ƒ_‚Á‚Ä‚È‚ÉH
465 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2008/10/24(‹à) 20:17:32
>>464
GPGPU‚ÌŠJ”­ŠÂ‹«@>CUDA
GPU‚ðŒvŽZ‚É“]—p‚µ‚Ä10”{ˆÈã‚Ì‚‘¬‰»‚ðŽÀŒ»‚·‚é‚ç‚·
http://journal.mycom.co.jp/articles/2008/07/23/gpgpu/
”{¸“x‚ɑΉž‚µ‚½‚Ì‚©
CUDA‚æ‚èƒCƒ“ƒeƒ‹‚ÌLarrabee‚ª—ˆ‚»‚¤‚¾‚ÈB
ƒxƒNƒgƒ‹’·‚ð’·‚­‚·‚é•ûŒü‚¾‚©‚ç‚W‚O”N‘ã‚̃vƒƒOƒ‰ƒ~ƒ“ƒOƒ‚ƒfƒ‹‚ª•œŠˆ‚·‚邵A
Intel‚̃Rƒ“ƒpƒCƒ‰‚Í•K‚¸ƒTƒ|[ƒg‚·‚邾‚낤‚µB

468 F467F2008/11/11(‰Î) 14:06:01
ƒ‹ƒ“ƒQEƒNƒbƒ^EƒMƒ‹–@‚ð—p‚¢‚ĘA—§‚Ì•û’öŽ®‚ð‰ð‚«‚½‚¢‚Ì‚Å‚·‚ªC
ŽžŠÔ‚݂𬂳‚­‚µ‚Ä‚à”­ŽU‚µ‚Ä‚µ‚Ü‚¤‚Ì‚Å‚·‚ªC‰½‚©ƒTƒuƒ‹[ƒ`ƒ““à‚ÉŒ‡Š×‚ª‚ ‚é‚Ì‚Å‚µ‚傤‚©H
QA0=QA
CKA0=H*FNCT1(X0,YA0,YB0,W0,W1,A,A0,A1,B,B1,H0,L,PI)
RA1=(CKA0-2.0*QA0)/2.0
YA1=YA0+RA1
QA1=QA0+RA1*3.0-CKA0/2.0
XX=X0+H/2.0
CKA1=H*FNCT1(XX,YA1,YB1,W0,W1,A,A0,A1,B,B1,H0,L,PI)
RA2=(1.0-1.0/sqrt(2.0))*(CKA1-QA1)
YA2=YA1+RA2
QA2=QA1+RA2*3.0-(1.0-1.0/sqrt(2.0))*CKA1
CKA2=H*FNCT1(XX,YA2,YB2,W0,W1,A,A0,A1,B,B1,H0,L,PI)
RA3=(1.0+1.0/sqrt(2.0))*(CKA2-QA2)
YA3=YA2+RA3
QA3=QA2+3.0*RA3-(1.0+1.0/sqrt(2.0))*CKA2
XX=X0+H
CKA3=H*FNCT1(XX,YA3,YB3,W0,W1,A,A0,A1,B,B1,H0,L,PI)
RA4=(CKA3-2.0*QA3)/6.0
YA=YA3+RA4
X=X0+H
QA=QA3+3.0*RA4-CKA3/2.0
return
end
function FNCT1(X0,YA0,YB0,W0,W1,A,A0,A1,B,B1,H0,L,PI)
FNCT1=-2.0*W1*H0*YA0-(W1**2.0+(W0**2.0)*(A/A0+(B**2.0)/(2.0*L*A0)-(L*A1*B)/(2.0*A0)))*YB0+((W0**2.0)*(3.0*L*A1)*(YB0**2.0))/(PI*A0)
* -((W0**2.0)*(PI**2.0)*(YB0**3.0))/(4.0*L*A0)+(W0**2.0)*((-2.0*B1)/(PI*(W0**2.0))+(4.0*(L**2.0)*A1*A)/((PI**3.0)*A0)+(2.0*L*A1*(A**2.0))/((PI**3.0)*A0)
* -(2.0*(L**3.0)*(A1**2.0)*B)/((PI**3.0)*A0))
return
end
’·X‚Æ\‚µ–ó‚È‚¢‚Å‚·D‚¨Šè‚¢‚µ‚Ü‚·
>>468
’·‚·‚¬‚Äl‚¦‚é‹C‚É‚È‚ç‚ñB
ŠÖ”‚̃pƒ‰ƒ[ƒ^‚à‘½‚·‚¬‚ÄAðŒ‚à•ª‚©‚ç‚ñB

‚ ‚é“Á’è‚̃pƒ‰ƒ[ƒ^‚Å”­ŽU‚·‚é‚Ì‚©Hƒ‹ƒ“ƒQ‹ò‚Á‚½ƒMƒ‹–@‚¾‚¯‚ňÙ킪o‚é‚Ì‚©H
‚Ç‚¤‚¢‚¤ó‹µ‚È‚Ì‚©‚à•ª‚©‚ç‚ñB

“š‚¦‚悤‚àl‚¦‚悤‚à–³‚¢B
‚à‚¤­‚µeØS‚ðŽ‚Á‚Ä•·‚¯‚—
470 F468F2008/11/12(…) 03:21:51
„„469‚³‚ñ

‚·‚Ý‚Ü‚¹‚ñD‚Ç‚¤‘‚¢‚½‚ç‚æ‚­“`‚í‚é‚Ì‚©•ª‚©‚炸C‘‚¢‚Ä‚µ‚Ü‚¢‚Ü‚µ‚½D
”½È‚µ‚Ä‚¨‚è‚Ü‚·D

•û’öŽ®‚ÍCT"(t)+T'(t)+ƒÖT(t)+B1(t)T(t)+B2(t)T^2(t)+B3(t)T^3(t)=B4(t)
‚̂悤‚È•û’öŽ®‚ÅC
B1`B4‚Ì’†‚É‚à•Ï”‚ª‘¶Ý‚µ‚Ät‚ª•Ï‰»‚µ‚½Û‚É‚Í•Ï”‚à•Ï‰»‚³‚¹‚½‚¢‚Ì‚Å‚·D

ƒpƒ‰ƒ[ƒ^‚ð•Ï‚¦‚½Û‚ɂ͈Ù킪Œ»‚ê‚È‚©‚Á‚½‚肵‚Ü‚·D

‚í‚©‚è‚É‚­‚­‚Ä\‚µ–ó‚ ‚è‚Ü‚¹‚ñD‚æ‚낵‚­‚¨Šè‚¢‚µ‚Ü‚·
ƒuƒbƒNƒIƒt‚Å”|•—ŠÙ‚ÌFORTRAN77“ü–傪100‰~‚¾‚Á‚½
‚³‚·‚ªƒuƒbƒNƒIƒt–{‚̉¿’l‚ª•ª‚©‚Á‚Ä‚È‚¢
>>471
ŒÃ–{‰®‚Å‚Ì‘Šê‚Í”ü–{‚Å‚R‚T‚O‰~‚­‚ç‚¢‚¾‚Á‚½‚ÆŽv‚¤B
˜R‚ê‚Í‚U‚U”Å‚ð‚P‚T‚O‰~‚Å”ƒ‚Á‚½‚悤‚È‹C‚ª‚·‚é‚—

>>470
>T"(t)+T'(t)+ƒÖT(t)+B1(t)T(t)+B2(t)T^2(t)+B3(t)T^3(t)=B4(t)
‚æ‚­•ª‚©‚ç‚ñ‚ªA‘æŽO€‚̓Ö^2‚¶‚á–³‚¢‚©H
‚»‚ê‚ÅB‚˜(‚”j‚ª”÷¬—Ê‚¾‚Æ‚·‚ê‚ÎA‚È‚ñ‚Æ‚È‚­ˆÓ}‚ª•ª‚©‚ç‚È‚­‚à–³‚¢B

Œ¸ŠU“®‚Ì’PU‚èŽq‚É”ñüŒ`€‚Æ‹­§U“®€‚ª‰Á‚í‚Á‚½‚à‚Ì‚È‚é‚Ì‚ÅA
‚È‚ñ‚Æ‚È‚­“®‚«‚̃Cƒ[ƒW‚ª‚‚©‚ß‚é‚Ì‚Å‚ÍB
ƒpƒ‰ƒ[ƒ^‚É‚æ‚Á‚Ä‚ÍA“–‘R”­ŽU‚à‘å‚¢‚É‚ ‚肤‚邾‚낤B

‚»‚à‚»‚ೂµ‚­ŒvŽZ‚Å‚«‚Ä‚¢‚é‚Ì‚©Ž©M‚ª–³‚¢‚Ì‚È‚çABx(‚”j‚ð‘S•”‚O‚É’u‚¯‚ÎA
‚Ö‚½‚ê‚Äs‚­Œ¸ŠU“®‚É‚È‚é‚Ì‚ÅA‚»‚¤‚¢‚¤‰ð͉ð‚Ì‚ ‚é‚Æ‚±‚ë‚©‚çƒ`ƒFƒbƒN‚µ‚Ă䂯‚Î
Ž©•ª‚̃vƒƒOƒ‰ƒ€‚Ì‹““®‚ÉŽ©M‚ª‚à‚Ä‚é‚Ì‚Å‚ÍH

Ú‚µ‚­’m‚肽‚¯‚ê‚΃‰ƒ“ƒ_ƒE=ƒŠƒtƒVƒbƒc‚Ì—ÍŠw‚Ì”ñüŒ`U“®‚É‚¨‚¯‚鋤–‚Ìß‚ð“Ç‚ß‚—‚—‚—‚—‚—
>>471
‹³‰È‘‚ÅŽg‚Á‚Ä‚½‚è‚·‚é‚©‚çAŒÃ–{‚Ì—¬’Ê—Ê‚ÍŒ‹\‘½‚¢‹C‚ª‚·‚éB
ƒJƒo[‚ÌÄ‚¯‚Í‚ ‚邯‚Ç‚¨‚»‚ç‚­V•i
‰ü’ù”Å‚¶‚á‚È‚­‚ĉ”Å‚Ì•û‚¾‚Á‚½‚Ì‚Å•Ô•i݌ɂ̕úo‚©‚µ‚ç

”z—ñ‚Ì‚Æ‚±‚â‚Á‚Ă邯‚ÇA”z—ñ‚Ö‚Ì“ü—Í‚Æ‚©‚ ‚Á‚Ä‚·‚²‚¢‚Ë
錾‚È‚µ‚Å“‚“Ë‚Éo‚Ä‚­‚郋[ƒvƒJƒEƒ“ƒ^‚É‚à‚Ñ‚Á‚­‚è‚·‚邪
>>474
‚¦‚¥`H
ˆÃ–Ù‚ÉŒ^錾‚³‚ê‚Ă邺I

ŋ߂̃XƒNƒŠƒvƒgŒ¾Œê‚ÅA‚±‚ê‚É‹ß‚¢Œ`‚Éæ‘c‚ª‚¦‚肵‚Ä‚¢‚é‚Ì‚ªÜÛ½
476 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2008/11/13(–Ø) 14:07:56
implicit none ‚µ‚Ä‚àŒ‹‹Ç‚͈Öق̂â‚‚ɑ¥‚邱‚Æ‚Í‘½‚¢‚æ‚ËB
character,logical‚Í–³‚¢‚Ì‚Å c ‚Æ l ‚ÅŽn‚ß‚é‚悤‚É‚µ‚½‚èB
ˆÃ–Ù‚ÌŒ^錾‚Í‚ ‚ê‚Í‚ ‚ê‚Å—Ç‚¢‚à‚Ì‚¾B
‚¢‚âAC‚ª•¡‘f”‚ÅZ‚ª”{¸“x•¡‘f”‚¾‚ë
>>476
l‚Í‚P‚ÆŒ©ŠÔˆá‚¢‚â‚·‚¢‚©‚ç‚ ‚Ü‚èŽg‚í‚È‚¢‚ªA‹Md‚È®”Œ^‚È‚Ì‚Å‚à‚Á‚½‚¢‚È‚¢B
>>478
L‚͑啶Žš‚ÅŽg‚¤
>>479
ƒ{[ƒ‰ƒ“ƒh‹L–@H
ÌPASCAL‚ÉŽUX‚¢‚¶‚ß‚ç‚ꂽ‚©‚猙‚—
>>477
c ‚ð•¡‘f”‚ÉU‚é‚Æ‚«‚É‚Í character Œ^‚Í s ‚ÅŽn‚ß‚é‚悤‚É‚µ‚Ä‚é‚ÈB
>>478
l ‚Í擪‚Å‚¾‚¯Žg‚¤‚悤‚É‚µ‚Ä‚éB 擪‚ª”Žš‚Ì•Ï”‚Í‚Í‚¶‚©‚ê‚é‚©‚ç
¬“¯‚µ‚È‚­‚Ä‚·‚ÞB
“Œ‹ž‚ÅæTŠJ‚©‚ꂽ‚h‚r‚n‚Ì‚e‚‚’‚”‚’‚‚Ž•”‰ï‚Å‚b‚‚`‚’‚’‚‚™‚e‚‚’‚”‚’‚‚Ž‚ÉŠÖ‚·‚鈵‚¢‚Å
‰½‚©i“W‚Í‚ ‚Á‚½‚Ì‚Å‚µ‚傤‚©H

‚‚܂è‚b‚`‚e‚ð”rœ‚Å‚«‚½‚Ì‚Å‚µ‚傤‚©H
>>482
“Œ‹ž‰ï‹c‚ÌŒ‹˜_‚ª‚¤‚‚³‚ꂽ‚悤‚¾B
http://www.nag.co.uk/sc22wg5/


484 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2008/12/06(“y) 18:55:27
The shapes of the array expressions do not conform.
‚Á‚Äo‚Ä‚­‚é‚Ì‚Å‚·‚ªA‚Ç‚¤‚¢‚¤‚±‚Æ‚Å‚·‚©H
485 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2008/12/11(–Ø) 16:23:19
”z—ñŠÔˆá‚Á‚Ä‚È‚¢‚©H
C Pad for Salford FTN77
‚ÅCPU TIME ‚ðo—Í‚Å‚«‚é‚悤‚É‚·‚é•û–@‚Í‚ ‚è‚Ü‚·‚©H
>>486
HIGH_RES_CLOCK@

Žg‚¢•û‚Í Library Reference ‚ÉÚ‚Á‚Ä‚éB
>>487
‹T‚Å‚·‚ª
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B
o—ˆ‚Ü‚µ‚½I
489 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2009/01/24(“y) 19:01:34
ŠÖ˜AƒXƒŒ‚ªV‚µ‚­‚È‚è‚Ü‚µ‚½B

‚­‚¾‚·‚êFORTRANi’´‰SŽÒ—pj‚»‚Ì4
http://pc11.2ch.net/test/read.cgi/tech/1232789521/l50
‚¤‚¿‚ÌŒ¤‹†Žº‚Ìl‚½‚¿‚ªFortran‚ŃvƒƒOƒ‰ƒ~ƒ“ƒO‚µ‚Ä‚¢‚邯‚ê‚Ç
‚¨‘O‚çgotoŽg‚¢‚·‚¬EEE
‚Æ‚¢‚¤‚©Ž©•ª‚Ì’ño‚µ‚½ƒvƒƒOƒ‰ƒ€‚ªgoto•¶‚É‘‚«Š·‚¦‚ç‚ê‚Ä‚¢‚éEEE

subroutineAfunction‚ðŽg‚¢‚·‚¬‚é‚̂̓XƒpƒRƒ“ŒvŽZ‚ÉŒü‚©‚È‚¢‚ÆŒ¾‚Á‚Ä‚¢‚½‚¯‚ê‚Ç
•×‹­‚µ‚Ä‚«‚½\‘¢‰»ƒvƒƒOƒ‰ƒ~ƒ“ƒO‚ÌŽè–@Ž©‘Ì‚ªfortranŒü‚«‚Å‚È‚¢‚Æ‚¢‚¤‚±‚Æ‚È‚ÌH
>>490
ƒCƒ“ƒ‰ƒCƒ“‚³‚ê‚é‚悤‚É‚µ‚ë‚—

ƒRƒ“ƒpƒCƒ‰‚ªˆÀS‚µ‚ăOƒ[ƒoƒ‹Å“K‰»‚Å‚«‚é‚悤‚ÉA•t‰Á“I‚Èî•ñ‚ð—^‚¦‚Ä‚â‚êB
ƒOƒ[ƒoƒ‹‚È\‘¢‚ªlŠÔ‚ªŒ©‚Ä•ª‚©‚è‚â‚·‚¢‚È‚çƒRƒ“ƒpƒCƒ‰‚àŒ©‚Ä•ª‚©‚è‚â‚·‚¢B

‚h‚m‚s‚d‚m‚sŽw’è‚͂‚¯‚éB
‚e‚t‚m‚b‚s‚h‚n‚m‚ÍA‚o‚t‚q‚d@i‰Â”\‚È‚ç‚d‚k‚d‚l‚d‚m‚s‚`‚kj‚É‚·‚é
‚Æ‚©‚·‚ê‚ÎDO..LOOP“à‚ÅŠÖ”ŒÄ‚Ño‚µ‚Æ‚©‚µ‚Ä‚à•À—ñ‰»‚âƒxƒNƒgƒ‹‰»‚µ‚Ä‚­‚ê‚é‚Í‚¸B
ƒRƒ“ƒpƒCƒ‰‚É‚æ‚邪B

ŽÀۂɃxƒ“ƒ`ƒ}[ƒN‚ðŽæ‚Á‚ÄAŽ©•ª‚ªŸ—˜‚·‚ê‚ÎAŒã‚Í•¶‹å‚¢‚í‚ê‚È‚¢‚ׂ—
492 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2009/02/12(–Ø) 12:52:18
>>491
intent‘®«‚‚¯‚é‚Æ”÷–­‚É‘¬‚­‚È‚é‚æ‚ËB
“Á‚Éloop“à‚Å•p”ɂɌĂ΂ê‚é‚â‚‚¾‚Æ‘S‘Ì‚Å5‚©‚ç20%‚­‚ç‚¢ˆá‚Á‚Ä‚­‚éB
ŋ߂̃Rƒ“ƒpƒCƒ‰‚ÍF77‚Å‘‚¢‚Ä‚Ä‚àintent‚ð‚í‚©‚Á‚Ä‚­‚ê‚é‚©‚çŠy‚¾B

‚ÅEEEEpure,elemental‚ÌŽ–‚Í‚æ‚­‚í‚©‚ç‚È‚¢‚Ì‚ÅÚ‚µ‚­I
>>492
PURE‚àELEMENTAL‚àFortran95‚Å“±“ü‚³‚ꂽƒL[ƒ[ƒh‚ÅAŠÖ”‚âƒTƒuƒ‹[ƒ`ƒ“‚Ì
•›ƒvƒƒOƒ‰ƒ€‚Ì«Ž¿‚ðƒRƒ“ƒpƒCƒ‰‚É‹³‚¦‚éCüŒêB

PURE FUNCTION unko(x) ‚Ȃǂ̂悤‚É錾‚Ì“ª‚ɂ‚¯‚ÄŽg‚¤B

PURE‚Æ‚¢‚¤‚Ì‚ÍA‘åŽG”c‚É‚Í•›ì—p‚ª‚È‚¢‚±‚ÆB‚»‚ê‚䂦A•À—ñ‚É“®ì‚³‚¹‚Ä‚à
’l‚ª•Ï‚í‚ç‚È‚¢‚Ì‚ÅAƒRƒ“ƒpƒCƒ‰‚Í•À—ñ‰»‚È‚ÇÅ“K‰»‚ð‚â‚ê‚éB
iPURE‚ð–ž‚½‚³‚˂΂Ȃç‚È‚¢ðŒ‚Í‚¢‚­‚‚©‚ ‚é‚Ì‚ÅA‚‹‚—‚“‚‹‚̓}ƒjƒ…ƒAƒ‹Œ©‚Ä‚­‚êj

ELEMENTAL‚ÍPURE‚Ì’†‚Å‚³‚ç‚É‚¢‚¢«Ž¿‚ðŽ‚Á‚½‚à‚ÌB
–{—ˆ‚Í‚P•Ï”‚Å’è‹`‚µ‚Ä‚ ‚Á‚Ä‚àA”z—ñ‚ðˆø”‚É‚Æ‚Á‚ÄA”z—ñ‚ð•Ô‚·‚悤‚ÉŽg‚Á‚Ä‚à‚¢‚¢‚à‚ÌB

‚½‚Æ‚¦‚ÎA
REAL :: a(10), b(10)
b = SIN(a)
‚±‚¤‚¢‚¤Žg‚¢•û‚ª‘g‚Ýž‚ÝŠÖ”‚Å‚Ío—ˆ‚é‚킯‚¾‚ªAŽ©ì‚ÌŠÖ”‚Å‚à‚±‚¤‚â‚Á‚ÄŽg‚Á‚Ä‚à
‚¢‚¢ê‡‚ÉELEMENTAL@i—v‘f–ˆ‚̈Ӗ¡j@‚ð‚‚¯‚éB@

‚±‚ê‚àƒRƒ“ƒpƒCƒ‰‚ª—˜Œû‚È‚çAÅ“K‰»‚ð‚©‚¯‚Ä‚­‚ê‚é‚Í‚¸B

•’ÊADO..LOOP“à‚ÉŠÖ”‚âƒTƒuƒ‹[ƒ`ƒ“‚̌ĂÑo‚µ‚ª‚ ‚é‚ÆAŒÄ‚Ño‚µæ‚ʼn½‚ª
‚ ‚é‚©‚í‚©‚ç‚È‚¢‚Ì‚ÅAÅ“K‰»‚ª—}Ž~‚³‚ê‚邪APURE‚âELEMENTAL‚ª‚ ‚ê‚ÎA
ˆÀS‚µ‚ăRƒ“ƒpƒCƒ‰‚ªÅ“K‰»‚Å‚«‚éBiŒ´—“I‚É‚Í‚—j

>>493
‚ ‚肪‚Æ‚¤Bpure ‘®«‚ÍŽg‚¢ˆÕ‚»‚¤‚¾B
495 F494F2009/02/13(‹à) 11:01:13
loop“à‚Å•p”ɂɌĂ΂ê‚é‚SŒÂ‚‚­‚ç‚¢‚Ì function ‚â subroutine ‚É pure ‘®«‚‚¯‚½‚¾‚¯‚Å
•À—ñ(OpenMP)‚ÌŽž‚É‚¿‚å‚Ñ‚Á‚Æ‘¬‚­‚È‚Á‚½B‚í[‚¢B
‚à‚Æ‚à‚Ædo-loop‚ňê‚‚¸‚ˆ—‚µ‚Ä‚¢‚é‚Ì‚Å elemental ‚ðŽg‚¦‚é󋵂ͭ‚È‚¢‚¯‚ÇA
‚à‚¤­‚µ—‰ð‚µ‚Ä‚©‚çŽg‚Á‚Ă݂悤B
inline‚ð­‚µ[‚­‚·‚é‚悤‚É‚È‚Á‚½‚©‚ç‚©ƒRƒ“ƒpƒCƒ‹ŽžŠÔ‚ª‚·‚±‚µ’·‚­‚È‚Á‚½‚¯‚Ç‚Ü‚ ‹C‚É‚µ‚È‚¢B
>>491
‚È‚é‚Ù‚ÇA‚½‚ß‚É‚È‚Á‚½‚íBƒTƒ“ƒLƒ…[BPURE‚ð•t‚¯‚邾‚¯‚ÅŠÈ’P‚É‘¬‚­‚È‚Á‚½‚íB

’S“–‚Ì‚ÍŠî–{“I‚Ɍ¢lŠÔ‚¾‚©‚çA‚ ‚Ü‚èƒRƒ“ƒpƒCƒ‰”C‚¹‚É‚·‚é‚È‚Æ‚©Œ¾‚¤‚ñ‚æ‚ÈcB
Fortran90‚Á‚Û‚¢77Œ`Ž®‚Ì•¶‚àAuŠ®¬‚µ‚½Œã‚Å’¼‚µ‚Ü‚·v‚Æ‚©Œ¾‚Á‚Ä‚»‚Ì‚Ü‚Ü‚¾‚Á‚½‚èB
implicit real‚àcommon•¶‚à‚Ç‚¤‚É‚©‚µ‚½‚¢‚¯‚ê‚ÇA‚«‚Á‚Æ•¶‹åŒ¾‚¤‚ñ‚¾‚낤‚ÈB
>>496
PURE ‘®«‚Í‚à‚Æ‚à‚Æ HPF ‚Å“±“ü‚³‚ꂽ‚à‚Ì‚È‚Ì‚ÅA‚»‚ê‚È‚è‚̃[ƒJ‚È‚çƒRƒ“ƒpƒCƒ‰
‚É‚àÅ“K‰»‚̃mƒEƒnƒE‚Ì’~Ï‚ª‚ ‚é‚Í‚¸H
ELEMENTAL@‚àˆê•Ï”—p‚ɃTƒuƒ‹[ƒ`ƒ“‘‚¢‚ÄA”z—ñ‚ð“n‚¹‚΂¢‚¢‚Ì‚ÅADO..LOOP‚ð
‚ ‚©‚炳‚Ü‚É‘‚©‚¸‚É‚·‚ÞBŽžXƒ\[ƒX‚ª‚·‚²‚­‚·‚Á‚«‚肵‚ÄŠy‚ɂȂ邱‚Æ‚ª‚ ‚éB

‚Å‚àA‚‚¢‚Å‚¾‚©‚çŒÃ‚¢lŠÔ‚ð—iŒì‚µ‚Ä‚Ý‚é‚©‚—

FORTRAN77 ‚É‚àA‚Þ‚«‚¾‚µ‚Ì—Ç‚³‚ª‚ ‚é‚—
Fortran90 ˆÈ~‚¾‚ƃ\[ƒXã‚ÍŠÈŒ‰‚É‚È‚Á‚Ä‚àA‰e‚Å“®“I‚Ƀeƒ“ƒ|ƒ‰ƒŠ”z—ñ‚Æ‚©Žæ‚é‚Ì‚Å
‹CŽ‚¿ˆ«‚¢‚Æ‚±‚ë‚à‚ ‚éB’·ŽžŠÔ•À‚ñ‚¾JOB ‚ªStackOverflow ‚Æ‚©‚ÅŽ~‚Ü‚Á‚Ä‚¢‚½‚è
‚·‚é‚ÆŽE‚µ‚Ä‚â‚肽‚­‚È‚éBŒÃ‚¢Žž‘ã‚Ìl‚Í‚»‚Ì•Ó‚ªŒ™‚È‚Ì‚©‚à‚µ‚ê‚È‚¢‚—

COMMON ‚àƒOƒ[ƒoƒ‹•Ï”‚¾‚ÆŽv‚¤‚Æ‚Þ‚©‚‚­‚¾‚낤‚ªA Ž©•ª‚ŃKƒx[ƒWƒRƒŒƒNƒVƒ‡ƒ“
‚µ‚È‚ª‚çA•Ï”—̈æ‚ðŽ©—RŽ©Ý‚ÉÄ—˜—p‚µ‚Ä‘€‚Á‚Ä‚¢‚é‚ÆŽv‚¤‚ÆAŒ‹\‹CŽ‚¿—Ç‚¢B
ƒƒ‚ƒŠ[‚ª‹Md‚¾‚Á‚½Žž‘ã‚É‚ÍA—˜—p‰¿’l‚ª‚‚©‚Á‚½B

IMPLICIT ‚ÉŠÖ‚µ‚Ä‚¢‚¦‚Î IMPLICIT NONE ‚ð‚‚¯‚½ã‚ÅA“ª•¶Žš‚ðŽç‚ê‚΂¢‚¢B
C ‚ƈá‚Á‚ă[ƒJƒ‹ƒXƒR[ƒv‚ÌŽÌ‚Ä•Ï”‚ªŽg‚¦‚È‚¢‚©‚çA“ª•¶Žš‚ðŽç‚ç‚È‚¢‚Æ
‚¢‚¿‚¢‚¿éŒ¾•”‚É–ß‚Á‚ÄŒ^‚ðŠm‚©‚ß‚È‚¢‚Æ‚¢‚¯‚È‚¢‚Ì‚Å‚ß‚ñ‚Ç‚¢B
Fortran ‚Å‚Í”’l‚̸“x‚ª’v–½“I‚Éd—v‚ÅA”{¸“xŒvŽZ’†‚É‚PŒÂ’P¸“x‚ª¬‚¶‚邾‚¯‚Å‚à
‚·‚ׂĂ̌‹‰Ê‚ª’P¸“x‚̃Sƒ~‚É‚È‚é‚Ì‚¾‚©‚çA”’l¸“x‚É–³“Ú’…‚Ì‘¼‚Ì‚¨‚µ‚á‚ꌾŒê‚Ì
˜A’†‚ÌŒ¾à‚ðM‚¶‚é‚Æ’É‚¢–ڂɉï‚킳‚ê‚é‚—

498 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2009/02/18(…) 13:19:26
pure‘®«•t‚¯‚½ƒTƒuƒ‹[ƒ`ƒ““à‚Å
pure‘®«•t‚¯‚½‘¼‚̃Tƒuƒ‹[ƒ`ƒ“ŒÄ‚ÔŽž‚É‚Í
interface‚ňø”•”•ª‚Ì«Ž¿‚ð‹³‚¦‚Ä’u‚©‚È‚¢‚Æ‚¢‚¯‚È‚¢‚ñ‚¾‚ËB
f77‘Ž®‚Å‘‚¢‚Ä‚é‚Ì‚É interface intent ‚ª
Œ»‚ê‚é‚̂Ń€ƒYƒ€ƒY‚·‚邯‚ǃ€ƒYƒ€ƒY‚·‚邾‚¯‚È‚Ì‚Å‚»‚Ì‚Ü‚ÜB
OpenMP‚ðŽŽ‚µ‚Ä‚Ý‚Ä‚é‚ñ‚¾‚¯‚ÇA‚¢‚Ü‚¢‚¿‚¤‚Ü‚­‚¢‚©‚È‚¢‚ñ‚¾‚ªEEE
ifort -QParallel ‚ŃRƒ“ƒpƒCƒ‹{ŽÀs‚·‚é‚Æ‚¤‚Ü‚­‚¢‚­‚ñ‚¾‚¯‚ÇA
“¯‚¶ƒ\[ƒX‚ðifort -Qopenmp ‚ŃRƒ“ƒpƒCƒ‹{ŽÀs‚·‚é‚Æ
Program Exception - stack overflow
‚Á‚Ä‚¢‚¤ƒGƒ‰[‚ªo‚é
ƒ\[ƒX’†‚ÉOpenMP\•¶‚Í use omp_lib@‚¾‚¯
‚±‚ê‚Á‚Ä‚Ç‚¤‚µ‚½‚ç‚¢‚¢‚Ì‚©‚ÈH
500 F499F2009/02/26(–Ø) 16:22:10
‚¨‚‹Ž–ŒÌ‰ðŒˆ
-auto_scalar@ƒIƒvƒVƒ‡ƒ“‚Å‚¢‚¯‚½
501 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2009/02/26(–Ø) 16:49:38
>>500
‚¾‚½‚Ì
-auto
‚â
-static
‚Å‚¤‚Ü‚­s‚­‚±‚Æ‚à‚ ‚é‚æB‚ ‚Æ‚ÍŽÀsŽž‚̊‹«•Ï”‚Ì
setenv KMP_STACKSIZE 16M
‚Æ‚©ƒfƒtƒH‚æ‚è‘å‚«‚ß‚ÉŽæ‚é‚ÆK‚¹‚È‚±‚Æ‚ª‘½‚¢‹C‚ª‚·‚éB
502 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2009/02/26(–Ø) 16:50:50
>>500
‚Ä‚¢‚¤‚©A
-auto_scalar
‚Á‚ăfƒtƒHƒ‹ƒg‚É‚È‚Á‚Ä‚È‚¢H
-openmp‚¾‚ƃfƒtƒH‚Å“®“Ii-autoj‚É‚È‚é‚ñ‚¾‚Á‚¯‚©
>>499‚Í’P‚ɃXƒ^ƒbƒN•s‘«‚È‚¾‚¯‚Å‚ÍH

‚Æ‚±‚ë‚ÅAKMP_STACKSIZE‚Á‚Äunlimited‚ÉÝ’è‚Å‚«‚È‚¢‚ÌH
“®“I‚Á‚Ä‚¢‚Á‚Ä‚àƒq[ƒv‚ƃXƒ^ƒbƒN‚ª‚ ‚é‚æ‚ËB
Fotran‚ÌꇂÁ‚Ä‚Ç‚¤‚¢‚¤•—‚ÉŠ„‚è“–‚Ä‚ç‚ê‚é‚ñ‚¾‚낤EEE‚»‚¤‚¢‚â‚ ‚Ü‚èˆÓŽ¯‚µ‚½‚±‚Æ‚È‚©‚Á‚½B
>>504
Œ³X‚ÍAUTOMATIC•Ï”‚̗ނ̓Xƒ^ƒbƒN‚ÉAALLOCATE–½—ß‚Ì‚Æ‚«‚̓q[ƒv‚¾‚Á‚½‹C‚ª‚·‚éB

‚½‚¾—ðŽj“IŒoˆÜ‚Ì‚¹‚¢‚ŃTƒuƒ‹[ƒ`ƒ“‘¤‚Å‹‘å‚È”z—ñ‚ð‚Æ‚Á‚Ä‚¢‚éƒvƒƒOƒ‰ƒ€‚ª‘½‚­‚Ä
‚»‚ꂪSTACKOVERFLOW‚ðˆø‚«‹N‚±‚·‚©‚çAIntelFortran‚È‚ñ‚©‚̓fƒtƒH[ƒ‹ƒg‚Å‚Í
ƒXƒJƒ‰[•Ï”‚̓Xƒ^ƒbƒN‚ÅA”z—ñ‚̗ނ̓q[ƒv‚ÅŠm•Û‚·‚é‚悤‚É‚È‚Á‚½‹C‚ª‚·‚éB

ƒCƒ“ƒeƒ‹‚ÌŒfŽ¦”‚ÉAƒfƒtƒH[ƒ‹ƒgEƒIƒvƒVƒ‡ƒ“Ø‚è‘Ö‚¦‚̘b‚ªo‚Ä‚¢‚½Šø‚à‚·‚é‚Ì‚¾‚ª
Ì‚Ì‚±‚Æ‚È‚Ì‚Å‹L‰¯‚ª‚Í‚Á‚«‚肵‚È‚¢B

OpenMP‚ðŽw’è‚·‚é‚ÆAƒIƒvƒVƒ‡ƒ“‚ªØ‚è‘Ö‚í‚Á‚Ä‚µ‚Ü‚¤˜b‚Í‚±‚̃XƒŒ‚Éo‚Ä‚¢‚éB
http://software.intel.com/en-us/forums/intel-visual-fortran-compiler-for-windows/topic/59627/


Fortran‚ÍFORTRAN66Žž‘オSTATIC‚É•Ï”‚ð‚Æ‚Á‚Ä‚¢‚½ŠÖŒW‚ÅA
FORTRAN77‚Å‹KŠi‚Ìã‚ł̓Tƒuƒ‹[ƒ`ƒ“—Þ‚Ì•Ï”‚ÍAUTOMATIC‚Å‚ ‚肤‚é‚悤‚É
‚È‚Á‚½‚É‚à‚©‚©‚í‚炸AŒÝŠ·«‚ÌŠÏ“_‚©‚çƒfƒtƒH[ƒ‹ƒg‚ÅSTATIC‚É•Ï”‚ð
‚Æ‚Á‚Ä‚¢‚邱‚Æ‚ª‘½‚­‚ÄA‚»‚ê‚ÍFortran90‚Å‚à‚µ‚΂炭‘±‚¢‚Ä‚¢‚½‚Æ‚¢‚¤—ðŽj“IŒoˆÜ‚ª‚ ‚éB
>>505
‚»‚̃XƒŒ‚ÌSteve‚³‚ñ‚ªŒ¾‚Á‚Ä‚élocal scalar variables‚Á‚ÄA”z—ñ‚¶‚á‚È‚¢iŽŸŒ³‚P‚Ìjƒtƒc[‚Ì•Ï”‚Ì‚±‚Æ‚¾‚æ‚ËH
‚¾‚Æ‚µ‚½‚çA
If you say /Qopenmp (or /Qopenmp-stubs), this changes to /automatic - ALL local scalar variables are allocated on the stack.
‚ÌALL local scalar variables‚ÍALL local variablesi‚‚܂èƒ[ƒJƒ‹ƒXƒJƒ‰•Ï”‚¾‚¯‚¶‚á‚È‚­Aƒ[ƒJƒ‹”z—ñ•Ï”‚àŠÜ‚Þj‚̊ԈႢ‚¶‚á‚È‚¢‚©‚ÈH


Š¨ˆá‚¢‚µ‚Ä‚½‚ç‚·‚¢‚Ü‚¹‚ñ
>>506
‚»‚¤‚È‚ñ‚¶‚á‚È‚¢‚©‚ÈH
”z—ñ‚܂ŃXƒ^ƒbƒN‚É‚Æ‚é‚©‚çoverflow‚µ‚Ä‚¢‚é‚Æl‚¦‚é‚Ƃ‚¶‚‚܂ª‡‚¤H
508 F506F2009/02/27(‹à) 13:52:41
>>507
‚»‚¤‚¾‚æ‚ËBSteve‚³‚ñIntel‚̃Xƒ^ƒbƒt‚È‚ñ‚¾‚µ‘‚«ŠÔˆá‚í‚È‚¢‚Å‚­‚ê‚悧EEE

OpenMP‚ÌꇂɃfƒtƒHƒ‹ƒg‚Å‘S‚Ẵ[ƒJƒ‹•Ï”iƒXƒJƒ‰‚à”z—ñ‚àj‚ªƒXƒ^ƒbƒN‚É‚È‚é‚Ì‚Í
ƒXƒŒƒbƒhƒZ[ƒt‚Ì‚½‚ß‚Á‚Ä‚ ‚邯‚ÇA‹t‚ÉŒ¾‚¦‚΂»‚ê‚ç‚ðstatic‚Ɉµ‚Á‚½‚çƒXƒŒƒbƒhƒZ[ƒt‚É
‚È‚ç‚È‚¢‚Á‚Ä‚±‚Æ‚¾‚æ‚ËB‚»‚ê‚Á‚Ä‚â‚Á‚¿‚á‚Ü‚¸‚¢‚±‚Æ‚È‚ñ‚¾‚낤‚©H

OpenMP‚Ü‚Æ‚à‚ÉŽg‚Á‚½ŒoŒ±‚ª‚È‚¢‚à‚ñ‚ÅEEEŽ¯ŽÒ‚Ì•ûƒRƒƒ“ƒg‚¨‚È‚ª‚¢‚µ‚Ü‚·
509 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2009/02/27(‹à) 14:48:49
-openmp
‚‚¯‚ăRƒ“ƒpƒCƒ‹‚·‚é‚ÆA‰¼‚Éautomatic‚ÍŒ™‚¢‚¾‚Á‚Æ
-noauto
‚‚¯‚Ä‚àÁ‚³‚ê‚é‚Í‚¸B‚È‚Ì‚ÅopenMP‚ð“Ç‚ñ‚¾ó‘Ô‚¾‚Æ
—L–³‚ð‚¢‚í‚³‚¸‚É‚º‚ñ‚Ôautomatic‚É‚È‚éEEE‚Æ—‰ð‚µ‚Ä‚¢‚邯‚ÇB
shared‘®«‚ð‚‚¯‚Ä‚©‚ÂcommonƒuƒƒbƒN‚É“\‚è•t‚¯‚é‚Æ‚©‚µ‚Ä
‚â‚â–³—‚È‚±‚Æ‚ð‚µ‚È‚¢‚Æstatic—̈æ‚É‚Í”z’u‚³‚ê‚È‚¢‚ÆŽv‚ÓB
-static‚Í‚»‚Ì–¼‚̃Cƒ[ƒW‚Ƃ͈á‚Á‚Ä‹¤—Lƒ‰ƒCƒuƒ‰ƒŠ‚ðŽg‚í‚È‚¢
(‚Æ‚¢‚¤‚©ŽÀsƒtƒ@ƒCƒ‹‚É–„‚ßž‚ñ‚¶‚Ⴄ)ƒIƒvƒVƒ‡ƒ“‚¾‚µB

spec.org‚É‚ ‚éOMP2001‚Ìî•ñ‚Ì‚Æ‚±‚ë‚ÉŽŽ‚µ‚½l‚½‚¿‚ª
ŽÀÛ‚ÉŽg‚Á‚½ƒIƒvƒVƒ‡ƒ“‚ªÚ‚Á‚Ä‚é‚Ì‚ÅAŽ©•ª‚Ì‚Æ‚±‚ë‚̃VƒXƒeƒ€‚É
‹ß‚¢(or “¯‚¶)ƒ}ƒVƒ“‚ª‚ ‚Á‚½‚ç‚»‚ê‚Æ“¯‚¶ƒ‚ƒm‚ð‚¾‚¢‚½‚¢Žg‚Á‚Ä‚¢‚邯‚ÇA
‚Ü‚ ‘åŠÔˆá‚¢‚Å‚Í‚È‚¢‚ÆŽv‚¤B‚¨‘E‚ß‚Å‚«‚é‚Ì‚©‚Í•ª‚ç‚È‚¢‚¯‚ÇEEEB
‚¦AOpenMP‚¾‚ƃTƒuƒ‹[ƒ`ƒ““à‚Å‚Ístatic”z’u‚Á‚Ä‚Å‚«‚È‚¢‚킯H
”’lŒvŽZ‚Å‚Í”nŽ­‚Å‚©‚¢”z—ñ‚͉”\‚ÈŒÀ‚èstatic‚É‚·‚é‚Ì‚ªŠî–{‚¶‚á‚È‚¢H
ƒTƒuƒ‹[ƒ`ƒ““n‚é“x‚É”z—ñ‚ðƒRƒs[‚Æ‚©‚â‚Á‚Ä‚ç‚ê‚ñ‚Å‚µ‚åH

‚»‚Ì‘ã‚í‚胃‚ƒŠ‚̃AƒƒP[ƒVƒ‡ƒ“‚̓R[ƒfƒBƒ“ƒO‚·‚鑤‚ª‚«‚¿‚ñ‚Æl‚¦‚Ä‚ ‚°‚È‚¢‚Æ‚¢‚¯‚È‚¢‚¯‚ÇB
‚±‚Ì•Ó‚ªƒŠƒ\[ƒX‚ð‚ ‚éˆÓ–¡•x‹“I‚ÉŽg‚¤‚±‚Æ‚ª‘O’ñ‚Æ‚³‚ê‚éJava‚âC#‚Ȃǂ̃IƒuƒWƒFƒNƒgŒnŒ¾Œê‚Ƃ̈Ⴂ‚¾‚ËB
511 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2009/02/27(‹à) 16:56:15
510‚Í‚¿‚å‚Á‚Æq‚Ë•û‚ª•Ï‚¾‚ÈB
•›ƒvƒƒOƒ‰ƒ€‚ª•À—ñ‚Ìloop“à‚É‚ ‚é‚Ì‚©A
•›ƒvƒƒOƒ‰ƒ€“à‚Å•À—ñ‚Ìloop‚ª‚ ‚é‚Ì‚©‚Å“š‚Í•Ï‚í‚éB
512 F510F2009/02/27(‹à) 19:38:52
“IŠO‚ê‚ÈŽ¿–₵‚Ä‚½‚Ì‚©‚ÈA‚²‚ß‚ñEEEB
>>511‚Ì—¼•û‚̃P[ƒX‚Æ‚à’m‚肽‚¢‚Ì‚ÅA‚æ‚©‚Á‚½‚狳‚¦‚Ä‚Ù‚µ‚¢B
—¬‘Ì‚Æ‚©‚Ì”’lŒvŽZ‚Å‚Ís—ñ‚Ì”½•œ–@‚Æ‚©‚̓Tƒuƒ‹[ƒ`ƒ““à‚Å‚â‚邯‚ÇA
‚»‚¤‚¢‚¤ƒP[ƒX‚Ńƒ‚ƒŠ‚̃AƒƒP[ƒVƒ‡ƒ“‚Í‚Ç‚¤‚·‚ׂ«‚È‚Ì‚©A‚Æ‚¢‚¤Ž‹“_‚Å‹»–¡‚ª‚ ‚è‚Ü‚·B
>>512
ˆø”‚ÉÚ‚Á‚Ä‚ê‚ÎAFortran‚ÍŽQÆŒÄo‚µ‚È‚ñ‚¾‚©‚ç”z—ñ‚̃Rƒs[‚ª¶‚¶‚é‚Í‚¸‚à‚È‚¢B
C‚âPASCAL‚Ƃ͈ႤBi‚Ü‚ŸÅ‹ß‚ÍVALUE‘®«‚ào—ˆ‚é‚悤‚É‚È‚Á‚½‚ªj

‚±‚±‚Å‚Í•›ƒvƒƒOƒ‰ƒ€“à‚ÅV‚½‚ÉŠ„‚è•t‚¯‚ç‚ê‚é”z—ñ‚̘b‚¾‚낤B
‚»‚ꂪ“®“I‚ÉŽæ‚ç‚ê‚é‚Æ‚µ‚ÄAƒXƒ^ƒbƒN‚ÉŽæ‚ç‚ê‚é‚©Aƒq[ƒv‚ÉŽæ‚ç‚ê‚é‚©‚̈ႢB

514 F510F2009/02/28(“y) 01:28:49
>>513
„•›ƒvƒƒOƒ‰ƒ€“à‚ÅV‚½‚ÉŠ„‚è•t‚¯‚ç‚ê‚é”z—ñ
‚ A‚»‚¤‚¢‚¤˜b‚©EEE‚ ‚肪‚Æ‚¤B

Ž©•ª‚͈ꎞì‹Æ—p‚Ì”z—ñ‚à‘S•”ƒƒCƒ“‘¤‚Å—pˆÓ‚µ‚Ä‚â‚Á‚Ĉø”“n‚µ‚µ‚Ä‚é‚ñ‚¾‚¯‚ÇA
‚»‚¤‚¢‚¤‚̂̓Tƒuƒ‹[ƒ`ƒ““à‚ŃXƒ^ƒbƒN‚âƒq[ƒv‚ÅŽæ‚Á‚Ä‚â‚é•û‚ª‚¢‚¢‚Ì‚©‚ÈH
ŠF‚³‚ñ‚Ç‚¤‚µ‚Ä‚Ü‚·‚©H
515 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2009/03/03(‰Î) 06:16:03
allocatable‚𕛃vƒƒOƒ‰ƒ€“à‚Åì‚Á‚Ä‚»‚ê(擪ƒAƒhƒŒƒX‚â‚çƒTƒCƒY‚»‚Ì‘¼)‚ð
ƒƒCƒ“ŠK‘w‚⑼‚Ì•›ƒvƒƒOƒ‰ƒ€‚És‚«“n‚点‚é‚Ì‚ªŠ„‚è‚Æ
–Ê“|L‚¢‚̂ŃƒCƒ“ŠK‘w‚Å‚â‚Á‚Ä‚éB
ƒƒCƒ“ŠK‘w‚ª’·‚­‚È‚é‚̂ͳ’¼‚ ‚Ü‚èD‚Ý‚Å‚Í‚È‚¢A‚¯‚Ç
‚Ü‚ D‚Ý‚Ì–â‘è‚È‚¾‚¯‚È‚Ì‚Å‹C‚É‚µ‚È‚¢‚悤‚É‚µ‚Ä‚¢‚éB

allocatableŽg‚¤‚Æꇂɂæ‚Á‚Ă̓vƒƒOƒ‰ƒ€“à‚Å–¾Ž¦‚·‚éƒTƒCƒY‚æ‚è‘å‚«‚¢ƒƒ‚ƒŠ‚ðˆµ‚¦‚½‚è
(ƒRƒ“ƒpƒCƒ‰‚̓nƒ“ƒhƒ‹‚Å‚«‚郃‚ƒŠƒTƒCƒY ƒ OS‚ªƒnƒ“ƒhƒ‹o—ˆ‚郃‚ƒŠƒTƒCƒYA‚È‚Ì‚Å)A
ŠiŽq”(ƒf[ƒ^”)‚̈Ⴄˆ—‚𓯂¶ŽÀsƒCƒ[ƒW‚Åo—ˆ‚é(ƒRƒ“ƒpƒCƒ‹‚µ‚È‚¨‚³‚È‚­‚Ä—Ç‚¢)‚Ì‚ª
‚¢‚¢‚¯‚ÇAŋ߂ł̓TƒCƒY‚ðƒvƒƒOƒ‰ƒ€“à‚ŌŒè•Ï”‚Å–¾Ž¦‚µ‚Ä‚¢‚¿‚¢‚¿ƒRƒ“ƒpƒCƒ‹‚µ‚Ä‚¢‚éB
‚»‚Ì•û‚ªƒ~ƒX‚Í­‚È‚¢‹C‚ª‚·‚éB‹C‚Ì‚¹‚¢‚©‚à‚µ‚ê‚È‚¢‚¯‚ÇB
‰½‚ªƒXƒ^ƒbƒN‚âƒq[ƒv‚ÉŠ„‚è“–‚Ä‚ç‚ê‚é‚Ì‚©•ª‚©‚ç‚ñ‚©‚Á‚½‚̂ŃOƒO‚Á‚½B
ƒuƒƒO‚¾‚¯‚Ç‚—

ttp://monologuemidnight.blogspot.com/2009/01/blog-post_03.html

module’†‚Ì‘åˆæ“I‚È•Ï”Asave‘®«•t‚«‚Ì•Ï”¨.bss
allocatable‘®«‚È”z—ñ¨ƒq[ƒv
•’ʂɃTƒCƒY‚ªéŒ¾‚³‚ê‚Ä‚¢‚鎩“®”z—ñ¨ƒXƒ^ƒbƒN
Žè‘±‚«’†‚Ì•Ï”imain‚Å‚à“¯—lj¨ƒXƒ^ƒbƒN

‚Á‚Ä‚±‚Ƃ炵‚¢‚ªcB
‚±‚Ì•Ó‚Í‹KŠi‚Å‚Í‚È‚¢‚Á‚Û‚¢‚Ì‚ÅAƒRƒ“ƒpƒCƒ‰‚ÌŽd—l‚ð‚¿‚á‚ñ‚ÆŠm”F‚µ‚½‚Ù‚¤‚ª‚¢‚¢‚ÈB
517 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2009/03/11(…) 18:46:48
ifort‚Å•¡”‚Ì”Žš‚ðo—Í‚·‚é‚ÆŸŽè‚ɉüs‚³‚ê‚é‚ñ‚¾‚¯‚ÇA‰üs‚ð—}§‚·‚éƒIƒvƒVƒ‡ƒ“‚Á‚Ä‚ ‚éH
gforntran‚ł͉üs‚³‚ê‚È‚¢‚ñ‚¾‚¯‚ÇB
real(8) a(5)
write(*,*) a(:)
‚Æ‚·‚é‚Æa(3)‚Æa(4)‚̊Ԃʼnüs‚³‚ê‚¿‚ႤB
>>517
‹CŽ‚¿ˆ«‚¢‚¯‚ÇA‰º‹L‚̂悤‚É‚µ‚Ä‚à‚¾‚ß‚©‚ÈH
ƒNƒ‰ƒVƒbƒN‚È‘‚«•û‚¾‚¯‚ÇB

@@write(*, '(100f10.5)') a(:)
519 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2009/03/12(–Ø) 09:37:42
>518
‚ ‚肪‚Æ‚ñB
write(*,'(100f)') a(:)
‚Å‚¢‚¯‚½B
‰üs—}§‚È‚çAwrite•¶‚È‚çadvance='no'‚ð•t‚¯‚ê‚΂ł«‚é‚Í‚¸
o—Í‚·‚é‚à‚Ì‚ªŒˆ‚Ü‚Á‚Ä‚é‚È‚çA‰üs‚µ‚Ä‚µ‚Ü‚¤‘Ž®‚̉ӊ‚É\iƒoƒbƒNƒXƒ‰ƒbƒVƒ…j‚ð“ü‚ê‚Ä‚à‚¢‚¢
>520
advance‚̓tƒH[ƒ}ƒbƒg•¶‚ª‚¢‚é‚©‚çAŒ‹‹Ç519‚Æ“¯‚¶‚Å‚ÍH
>>521
'(100f)' ‚È‚ñ‚Ä‘‚­‚æ‚è‚̓Xƒ}[ƒg‚È‹C‚ª‚·‚邯‚ÇH
‚ÜA‚Ç‚¤‚Å‚à‚¢‚¢‚±‚Æ‚¾‚È
523 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2009/03/18(…) 04:24:12
do i = 1, 5
  write(*, '(f10.5,$)') a(i)
enddo
write(*,*) ''

‚̓_ƒ‚©‚ÈH
‰üs‚·‚é‚È‚æA‚Ì‚Í”ñ•W€‚¾‚¯‚ÇDECˆÈ—ˆ‚Ù‚Ú•W€‚ÆŽv‚Á‚Ä‚¢‚¢‚Ì‚Å‚Í‚È‚¢‚¾‚낤‚©
‚¿‚å‚Á‚ƃeƒXƒg‚µ‚Ä‚Ý‚½—Intel Fortran 10.1

integer::i
integer,parameter::imax=5
real(8)::f(imax)
do i=1,imax ; f(i)=i ; enddo

print *, "print *,f"
print *, f
print *, '---'

print *, "write(*,'(f)') f"
write(*, '(f)') f
print *, '---'

print *, "write(*,'(f)') (f(i),i=1,imax)"
write(*, '(f)') (f(i),i=1,imax)
print *, '---'

print *, "write(*,'(f\)') f"
write(*, '(f\)') f
print *, '---'

print *, "write(*,'(f)',advance='no') f"
write(*, '(f)',advance='no') f
print *, '---'

print *, "write(*,'(f)',advance='no') (f(i),i=1,imax)"
write(*, '(f)',advance='no') (f(i),i=1,imax)
print *, '---'

end
525 F>>524‚ÌŒ‹‰ÊF2009/03/18(…) 21:52:34
print *,f
1.00000000000000 2.00000000000000 3.00000000000000
4.00000000000000 5.00000000000000
---
write(*,'(f)') f
1.0000000000000000
2.0000000000000000
3.0000000000000000
4.0000000000000000
5.0000000000000000
---
write(*,'(f)') (f(i),i=1,imax)
1.0000000000000000
2.0000000000000000
3.0000000000000000
4.0000000000000000
5.0000000000000000
---
write(*,'(f\)') f
1.0000000000000000 2.0000000000000000 3.0000000000000000 4.0000000000000000 5.0000000000000000 ---
write(*,'(f)',advance='no') f
1.0000000000000000
2.0000000000000000
3.0000000000000000
4.0000000000000000
5.0000000000000000 ---
write(*,'(f)',advance='no') (f(i),i=1,imax)
1.0000000000000000
2.0000000000000000
3.0000000000000000
4.0000000000000000
5.0000000000000000 ---
‚²‚ß‚ñB
print•¶‚©write•¶‚©A‚Ü‚½o—Í•À‚Ñ‚ðf‚Æ‚·‚é‚©(f(i),i=1,imax)‚Æ‚·‚é‚©‚ÅA
o—ÍŒ‹‰Ê‚ªˆá‚¤‚Ì‚©‚ÆŽv‚Á‚Ä‚â‚Á‚Ä‚Ý‚½‚ªAˆá‚¢‚Í‚È‚¢‚Á‚Û‚¢B
‚Æ‚¢‚¤‚킯‚ÅA>>524‚ð‚à‚Á‚Æ‚·‚Á‚«‚肳‚¹‚½B

integer::i
real(8)::f(3)
do i=1,3 ; f(i)=i ; enddo

print *, "write(*,*) f"
write(*,*) f
print *, '---'

print *, "write(*,'(f)') f"
write(*,'(f)') f
print *, '---'

print *, "write(*,'(f\)') f"
write(*,'(f\)') f
print *, '---'

print *, "write(*,'(f)',advance='no') f"
write(*,'(f)',advance='no') f
print *, '---'

end
ª‚ÌŒ‹‰Ê

write(*,*) f
1.00000000000000 2.00000000000000 3.00000000000000
4.00000000000000 5.00000000000000
---
write(*,'(f)') f
1.0000000000000000
2.0000000000000000
3.0000000000000000
4.0000000000000000
5.0000000000000000
---
write(*,'(f\)') f
1.0000000000000000 2.0000000000000000 3.0000000000000000 4.0000000000000000 5.0000000000000000 ---
write(*,'(f)',advance='no') f
1.0000000000000000
2.0000000000000000
3.0000000000000000
4.0000000000000000
5.0000000000000000 ---


Œ‹˜_
‡@‘Ž®È—ª‚·‚é‚ÆA“K“–‚Ȉʒu‚ʼnüs‚µ‚Ä‚­‚ê‚éi‹KŠi‚ÅŒˆ‚Ü‚Á‚Ä‚é‚ñ‚©‚ÈHj
‡A‘Ž®Žw’è‚·‚é‚ÆA‘Ž®‚Ì’†g‚ªI‚í‚é“x‚ɉüs
‡B‘Ž®‚É\‚ð•t‚¯‚é‚Ɖüs—}§
‡C‘Ž®‚Éadvance='no'iƒfƒtƒHƒ‹ƒg‚Íyesj‚ð•t‚¯‚é‚Æwrite•¶‚ªI—¹‚µ‚½‚Æ‚«‚És‚¤‰üs‚ð—}§i‡A‚Ƃ̈Ⴂ‚É’ˆÓj

‚Á‚ÄŠ´‚¶‚©‚ÈB
‰üs—}§‚Ì\‚ƉüsŽw’è‚Ì/‚ª¬‚´‚é‚Æ‚Ç‚ñ‚Èo—Í‚É‚È‚é‚ñ‚¾‚낤B
‚²‚ß‚ñA>>526‚Í
real(8)::f(3)
do i=1,3 ; f(i)=i ; enddo

‚Í«‚ÉC³B

real(8)::f(5)
do i=1,5 ; f(i)=i ; enddo
529 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2009/03/22(“ú) 01:30:43
„‡@‘Ž®È—ª‚·‚é‚ÆA“K“–‚Ȉʒu‚ʼnüs‚µ‚Ä‚­‚ê‚éi‹KŠi‚ÅŒˆ‚Ü‚Á‚Ä‚é‚ñ‚©‚ÈHj
ƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚̉E’[‚ʼnüs‚¾‚ÆŽv‚¤
ˆá‚¤‚©‚È[
>>529
‘¼‚̃Rƒ“ƒpƒCƒ‰‚ł͉üs‚µ‚È‚¢‚Ì‚ÅAƒRƒ“ƒpƒCƒ‰‚Ì‚¹‚¢‚¾‚ÆŽv‚¢‚Ü‚·B
>>524-528
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B
ŽQl‚É‚È‚è‚Ü‚µ‚½B
write(*,'(f\)') f
‚ª—Ç‚³‚»‚¤‚Å‚·‚ËB
>>529
Fortran‚ÉŒÀ‚炸Aƒvƒƒ“ƒvƒg‚̃TƒCƒY‚ÍŠÖŒW‚È‚¢‚æ
‹T‚¾‚¯‚ÇAIfort‚È‚ç<>‚ª‚¨Š©‚ßB
‘½ŽŸŒ³”z—ñ‚Ìʼn‚Ì”‚ð“ü‚ê‚邱‚Æ‚ª‘½‚¢‚Å‚·
—á
program main
implicit none
integer,parameter :: num = 9
integer :: ii,jj
real :: arry(num,num)
do ii=1,num
do jj = 1,num
arry(ii,jj) = ii*jj
enddo
enddo

write(6,'(<num>F)') arry
end program
>532
•×‹­‚É‚È‚Á‚½B
‚ ‚肪‚Æ‚ñ
>>531
Windows‚ÍDOS‘‹‚̃TƒCƒY‚ʼnüsˆÊ’u‚ª•Ï‚í‚邼B

>>532
<>‚Å®”‚­‚­‚é‚Æ‚»‚Ì”‚ªŽg‚¦‚é‚ñ‚¾‚ËEEE’m‚ç‚È‚©‚Á‚½BÌ‚©‚ç‚ ‚Á‚½‹@”\H

>>534
‚»‚¤‚È‚ñ‚¾B>>531‚ÍLinux‚Ìꇃ‹‚¾‚¯‚©‚È
>>535’ljÁ

<ŽÀ”•Ï”>‚Å‚àŸŽè‚É®”‚ɃLƒƒƒXƒg‚µ‚Ä‚­‚ê‚é‚ËB
‚ ‚Æ‘¼‚Ì‚Æ‚±‚ë‚É‚àA—Ⴆ‚Î
num1=5
num2=1
write(6,'(<num>F<num1>.<num2>)') arry
‚Ý‚½‚¢‚É‚µ‚ÄŽg‚¦‚é‚ËB
>>536
Fortran2008@‚Å‚ÍA@*( i3, '-' ) Œ©‚½‚¢‚ÈŠ´‚¶‚Å@–@‚ª–³ŒÀ”½•œ‚ÌŽw’èŽq‚É‚È‚é‚炵‚¢B
*( i3, '-' )
‚ðAƒXƒL[–X‚ª‚Ô‚Á‚½ƒoƒJƒ{ƒ“‚̃pƒp‚Á‚Û‚¢‘ål‚Æ
‚·‚Ü‚µ‚½Žq‹Ÿ‚ÉŒ©‚¦‚é‚悤‚É‚È‚é‚ÆA‚â‚΂¢‚ËB
‚â‚΂¢‚È
Fotran‚Í‚¶‚߂悤‚ÆŽv‚Á‚ăCƒ“ƒXƒg[ƒ‹‚µ‚ÄA
ŠÈ’P‚ȃvƒƒOƒ‰ƒ€‚ðŽÀs‚µ‚悤‚Æ‚µ‚½‚ñ‚¾‚¯‚ÇA

ld: crt2.o: No such file: No such file or directory

‚Á‚ăGƒ‰[‚ªEEEBƒOƒO‚Á‚Ä‚à‚æ‚­‚í‚©‚炸EEEB
•‚¯‚Ä‚­‚¾‚³‚¢B
541 F540F2009/04/18(“y) 00:12:28
ƒAƒ“ƒCƒ“ƒXƒg[ƒ‹‚µ‚ÄA‚Í‚¶‚ß‚©‚ç‚â‚è’¼‚µ‚½‚ç‚Å‚¯‚½B
>>542
‚¨‚Ü‚¦AƒvƒƒOƒ‰ƒ€‚̃Zƒ“ƒX‚ ‚é‚©‚çA¡Œã‚àŠÊ‚΂êI
>>542
Ž©‰æŽ©Ž^?
windowsXP‚ŃtƒH[ƒgƒ‰ƒ“90‚ðƒtƒŠ[‚ÅŽg‚¢‚½‚¢‚Ì‚Å‚·‚¯‚ÇA
cygwinˆÈŠO‚Å‚Ç‚¤‚É‚©o—ˆ‚Ü‚·‚©H
free Fortran ‚Å‚®‚®‚ê
>>544
g95‚¾‚ÈEEE
windows‚ÅVMWare‚𗧂¿ã‚°‚ÄUbuntu‚¢‚ê‚Ägfortran
nŽŸŒ³”z—ñ‚ð‚Ȃ߂郋[ƒ`ƒ“‚ð쬂ł«‚é?
reshepeŽg‚Á‚ĈꎟŒ³‚É—Ž‚Æ‚µž‚ñ‚ň—‚µ‚悤‚Æ‚µ‚½‚çAsegmentation fault‚É‚È‚Á‚Ä‚µ‚Ü‚Á‚½B
ƒR[ƒh‚Í‚±‚ñ‚ÈŠ´‚¶B
-----------------------------
program main
integer :: arr(3,4,5)
integer :: i,j,k
do i=1,3
do j=1,4
do k=1,5
arr(i,j,k) = i+j+k
enddo
enddo
enddo
call check(arr)
end program main

subroutine check(arr)
integer,intent(in) :: arr(:,:,:)
integer,allocatable :: tmp(:)
integer :: i,elem=1
do i=1,size(ubound(arr))
elem = elem * (ubound(arr,i)-lbound(arr,i)+1)
enddo
allocate(tmp(elem))
tmp = reshape(arr,shape(tmp))
do i=lbound(tmp,1),ubound(tmp,1)
print *,tmp(i)
enddo
end subroutine check
-----------------------------
>>548
PRINT *, arr
‚Å‚¾‚ß‚È‚Ì‚©H
>>548
‚Ù‚ç‚æB‚Â[‚©‚±‚êƒeƒ“ƒvƒŒ‚É‚µ‚Ä‚¿‚å


EŒ`óˆøŒp‚¬”z—ñ‚ðˆø”‚ÉŽg‚¤
EŠ„‚è•t‚¯”z—ñ‚ðˆø”‚ÉŽg‚¤
Eƒ|ƒCƒ“ƒ^‚ðˆø”‚ÉŽg‚¤
Eˆø”ƒL[ƒ[ƒh‚âoptional‘®«‚ðŽg‚¤
EŠÖ”‚Ì•Ô’l‚ð”z—ñ‚É‚·‚é

ª‚ð‚µ‚½‚¢‚È‚çA•›ƒvƒƒOƒ‰ƒ€‚Í–¾Ž¦“Iˆø—pŽd—l‚É‚µ‚È‚«‚á‚È‚ç‚È‚¢B

¡–¾Ž¦“Iˆø—pŽd—l
E•›ƒvƒƒOƒ‰ƒ€‚ð“à•”•›ƒvƒƒOƒ‰ƒ€‚É‚·‚éiŒÄ‚Ño‚µ‘¤‚Åcontainsj
E•›ƒvƒƒOƒ‰ƒ€‚ðƒ‚ƒWƒ…[ƒ‹•›ƒvƒƒOƒ‰ƒ€‚É‚·‚éiƒ‚ƒWƒ…[ƒ‹‚Åcontainsj
E•›ƒvƒƒOƒ‰ƒ€‚ªŠO•”•›ƒvƒƒOƒ‰ƒ€‚È‚ç‚ÎA‚»‚ê‚ðŒÄ‚Ño‚·‘¤‚Åinterface‚ð—pˆÓ‚·‚é
¡ˆÃ–Ù“Iˆø—pŽd—liFORTRAN77“I‚È‚â‚è•ûj
E•›ƒvƒƒOƒ‰ƒ€‚ªŠO•”•›ƒvƒƒOƒ‰ƒ€‚ÅA‚»‚ê‚ðŒÄ‚Ño‚·‘¤‚Åinterface‚ð—pˆÓ‚µ‚È‚¢

‚È‚¨A•›ƒvƒƒOƒ‰ƒ€‚Æ‚ÍŠÖ”‚âƒTƒuƒ‹[ƒ`ƒ“‚ðŽw‚·B
>>548
‘½ŽŸŒ³”z—ñ‚ðˆêŽŸŒ³‚É‚·‚é‚É‚Í PACK UNPACK ‚ðŽg‚¤‚Ì‚ªˆê”Ê“I‚¾‚ÆŽv‚¤B
Fortran90 ‚Å“±“ü‚³‚ê‚Ä‚¢‚éB

—á‘è‚̓}ƒjƒ…ƒAƒ‹‚ð‚Ý‚Ä‚¿‚å‚—
FORTRAN90‚ňø”‚Ì®‡«‚ðƒ`ƒFƒbƒN‚·‚é•û–@‚Á‚Ä‚È‚¢‚©‚ÈH
‚æ‚­‚»‚±‚ŃoƒO‚ª‚¨‚«‚é‚ñ‚¾B
553 F548F2009/05/14(–Ø) 23:50:44
>>549
print ‚Ì•”•ª‚ÍA–{”ÔŽd—l‚ł̓Kƒ`ƒƒƒKƒ`ƒƒ•ÏX‚µ‚½‚¢‚Æ‚±‚ë‚È‚Ì‚Å‚²‚´‚¢‚Ü‚·B
555 F548F2009/05/14(–Ø) 23:51:43
>>550>>551
‚Á‚Ä`‚±‚Æ‚ÍAŒÄ‚Ño‚µ‘¤‚Åinterface‚ð—pˆÓ‚µ‚ÄApack‚ňꎟŒ³‰»‚·‚é‚Æ‚¢‚¤‚±‚Æ‚©B
------------------------------------------
program main
integer :: arr(3,4,5)
integer :: i,j,k
interface
subroutine check(arr)
integer,intent(in) :: arr(:,:,:)
end subroutine check
end interface
È—ª
call check(arr)
end program main

subroutine check(arr)
integer,intent(in) :: arr(:,:,:)
integer,allocatable :: tmp(:)
integer :: i
tmp=pack(arr,mask=(arr .ne. 0))
do i=lbound(tmp,1),ubound(tmp,1)
print *,tmp(i)
enddo
end subroutine check
------------------------------------------
‚±‚ê‚Å‚Å‚«‚Ü‚µ‚½B‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B
—]’k‚¾‚¯‚ÇAgfortran‚Å‚ÍŠú‘Ò’Ê‚è‚Ɉ—‚³‚ê‚é‚Ì‚ÉAintel fortran‚¾‚ƃ_ƒ‚Ý‚½‚¢B
pack()‚Ì•Ô‚è’l‚ª‰ó‚ê‚Ä‚µ‚Ü‚¤‚Á‚Û‚¢BƒoƒO‚©?
>>555
tmp‚ðALLOCATE‚µ‚Ä‚È‚¢‚©‚ç‚©‚ÈH

ALLOCATE(tmp(SIZE([arr .ne. 0])))

‚±‚ê‚ð“ü‚ê‚Ä‚¨‚­‚Æ“®‚­B
”z—ñ‚ð•Ô‚·‚à‚Ì‚ðA–¢Š„‚è“–‚Ä‚ÌŠ„‚è‚‚¯”z—ñ‚É“ü‚ꂽ‚Æ‚«‚Ì‹““®‚ªA
F90‚͈̔͂ł̓vƒƒOƒ‰ƒ€‘¤‚É–â‘肪‚ ‚Á‚Ĉ«‚¢‚Æ‚¨‚à‚¤‚ªA
V‚µ‚¢‹KŠi‚Å‚Í‚©‚Ȃ莩“®‚Å’²®‚µ‚Ä‚­‚ê‚é‚悤‚É‚È‚Á‚½‚Ì‚ÅA
‚±‚ꂪBug‚È‚Ì‚©‚Ç‚¤‚©•¶–@‘‚ð“Ç‚Ý’¼‚³‚È‚¢‚Æ•ª‚©‚ç‚ñ‚—

[ ] ‚ÍF2003‚ÅAf90‚È‚ç(/ /) ‚ɑΉžB
557 F556F2009/05/15(‹à) 00:49:27
‚ ‚ AFortran95/2003@Explained 17.5.2 ‚É ‚»‚Ì‚à‚Ì‚¸‚΂èAPACK‚ÌŒ‹‰Ê‚ð
–¢Š„‚è“–‚ÄALLOCATABLE‚É“Ë‚Áž‚Þ—á‘肪ڂÁ‚Ä‚¢‚½B

Fortran95‚Ü‚Å‚Ío—ˆ‚È‚­‚ÄAF2003‚Åo—ˆ‚é‚悤‚É‚È‚é‚à‚Ì‚¾‚»‚¤‚¾B

‚ ‚ÆA>>556‚Å [ ] ‚Í–³‚­‚Ä‚à—Ç‚©‚Á‚½‚—@
>>556.
„V‚µ‚¢‹KŠi‚Å‚Í‚©‚Ȃ莩“®‚Å’²®‚µ‚Ä‚­‚ê‚é
‚Ö[‚»‚¤‚È‚ñ‚¾
‚¢‚¿‚¢‚¿allocate‚µ‚È‚­‚Ä‚·‚Þ‚Ì‚ÍŠð‚µ‚¢
559 F548F2009/05/17(“ú) 22:24:17
>>556>>557
ƒtƒHƒ[A‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B
allocate‚Åintel fortran‚Å‚à–³Ž–“®‚­‚悤‚É‚È‚è‚Ü‚µ‚½B
‚Ä‚©A2003‚¢‚¢‚ËBŠú‘Ò‘åB
ƒXƒŒˆá‚¢‚¾‚Á‚½‚玸—炵‚Ü‚·

FORTRAN‚Å‘¼‚©‚çƒf[ƒ^‚ð“Ç‚Ýž‚Þ‚Ì‚ÉA‚»‚̃f[ƒ^‚Ìʼn‚Ƀf[ƒ^ŠT—v‚ª‘‚¢‚Ä‚ ‚é‚Ì‚Å
“Ç‚Ý”ò‚΂·•û–@‚ª‚ ‚Á‚½‚狳‚¦‚Ä‚­‚¾‚³‚¢

‰SŽÒ‚È‚Ì‚Å•ª‚©‚è‚É‚­‚­‚Ä‚·‚Ý‚Ü‚¹‚ñ
>>560
“K“–‚È•Ï”‚ð’è‹`‚µ‚ÄA“Ç‚Ýž‚Ý‚¾‚¯‚³‚¹‚ÄA‚»‚Ì’†g‚ð
Žg‚í‚È‚¯‚ê‚΂¢‚¢‚À‚á‚È‚¢B‰Rƒf[ƒ^‚Å—Ç‚¢‚©‚çŽÀ—Ⴞ‚µ
‚Ä‚­‚êB

# ƒŠƒAƒ‹‚È‚Ì‚ðŽN‚·‚ƃ}ƒY‚¢‚©‚à‚µ‚ê‚ñ‚µB
>>561”Žš‚ð“Ç‚Ýž‚ñ‚Å•À‚ׂ邾‚¯‚È‚Ì‚Å‚·‚ª


“Ç‚Ýž‚Þƒf[ƒ^‚ª

›ŒŽ~“ú
‹CÛƒf[ƒ^
“Œ‹ž“s“ú•‹æ

0.0001
0.0025
0.0025
0.0105
0.1568
1.5385
1.4657
12.368

‚±‚ñ‚ÈŠ´‚¶‚Å”Žš‚Ì•”•ª‚Ì‚Ý“Ç‚Ýž‚Ý‚ð‚µ‚½‚¢‚Å‚·
ƒf[ƒ^\‘¢‚ªŠù’m‚È‚ç‚Γǂ݂½‚¢‚Æ‚±‚ë‚܂ʼnñ‚µ‚Ä‚¢‚¯‚΂¢‚¢‚µA
ƒŒƒR[ƒh’·‚ª•ª‚©‚Á‚Ä‚ê‚ÎŽw’è‚̃ŒƒR[ƒh•”‚ð’¼Ú“Ç‚Ý‚És‚¯‚éA‚Í‚¸

‚à‚Á‚Æ—Ç‚¢•û–@‚ ‚Á‚½‚çÌ«Û°‚æ‚ë
564 F563F2009/05/21(–Ø) 02:08:22
‚ Asequential‚Å‘‚¢‚½ƒtƒ@ƒCƒ‹‚ðdirect‚Å“Ç‚Þi‚ ‚é‚¢‚Í‚»‚Ì‹tj‚Á‚ÄA‚Å‚«‚È‚¢‚ñ‚¾‚Á‚¯H
Ž©M‚È‚­‚È‚Á‚Ä‚«‚½„ƒG
>>563‚·‚Ý‚Ü‚¹‚ñA‚à‚¤­‚µÚ‚µ‚­‚¨Šè‚¢‚Å‚«‚Ü‚·‚©H
>>562
‚¢‚­‚‚©•û–@‚Í‚ ‚éB
ʼn‚̃f[ƒ^ŠT—v‚Ìs”‚ªŒˆ‚Ü‚Á‚Ä‚¢‚Ĉê’è‚È‚ç‚ΊȒP‚ÅA
CHARACTER TEXT*256
DO i = 1, 4
READ(7, *) TEXT
END DO
“I‚É“Ç‚Ý”ò‚΂¹‚΂¢‚¢B

Žè”²‚«‚È•û–@‚Æ‚µ‚Ä‚ÍA”’l•Ï”‚É•¶Žš—ñ‚ð“Ç‚Ýž‚ނƃGƒ‰[‚ªo‚邱‚Æ‚ð—˜—p‚µ‚ÄA
10 CONTINUE
READ(7, *, ERR= 10) dat
‚Å–³—‚É“Ç‚Ý”ò‚΂·‚±‚Æ‚ào—ˆ‚éB
–{•¨‚̃Gƒ‰[‚Ì‚Æ‚«‚âAƒf[ƒ^ŠT—v‚ª”’l‚Æ‚µ‚Ä“Ç‚ß‚Ä‚µ‚Ü‚¤‚Æ¢‚é‚—

‚â‚â‚“x‚È•û–@‚Æ‚µ‚Ä‚ÍA‚¢‚Á‚½‚ñ•¶Žš—ñ‚É“Ç‚Ýž‚ñ‚ÅA‚»‚Ì•¶Žš—ñ‚Ì’†g‚ð‚µ‚ç‚ׂÄ
•¶Žš—ñ‚ð“à•”ƒtƒ@ƒCƒ‹‚Æ‚µ‚Ä“ü—Í‚ÉŽg‚Á‚Ä”’l‚ð“Ç‚Þ‚Æ‚¢‚¤•û–@‚à‚ ‚éB

ƒf[ƒ^ŠJŽn’n“_‚Ü‚Å“K“–‚É‚·‚·‚ñ‚ÅA‚a‚`‚b‚j‚r‚o‚`‚b‚d‚Å“KØ‚È‚Æ‚±‚ë‚Ü‚Å–ß‚éŽè‚à‚ ‚éB
>>566
‚Q‚–ڂ̎蔲‚«–@‚̓IƒCƒ‰‚à‚æ‚­Žg‚¤B
”O‚Ì‚½‚ßA

icount = 1
20 continue
read(7,fmt=*) string
read(string,fmt=*,err=10,end=999) dat(icount)
icount = icount + 1
goto 20
10 write(*,*) string
goto 20
continue 999

‚Ý‚½‚¢‚É•¶Žš—ñ‚ðˆê“x‚©‚Ü‚µ‚Ä
“Ç‚Ýž‚Ý‚Í“à•”ƒtƒ@ƒCƒ‹‚ň—‚µ‚ÄA
”ò‚΂³‚ꂽƒP[ƒX‚Í•\Ž¦‚³‚¹‚ĖڂŃ`ƒFƒbƒN‚·‚é‚Æ‚©B
‚ ‚Ü‚è‚Ù‚ß‚ç‚ê‚È‚¢ƒXƒpƒQƒbƒ``‚¾‚¯‚ÇB
>>562
–{‹C‚ŃXƒs[ƒh‹‚ß‚é‚È‚çdirectƒAƒNƒZƒX‚ªƒxƒXƒg‚¾‚ª
‘½•ª‚ ‚È‚½‚ÌŽg‚¢•û‚¶‚á‚»‚¤‚¶‚á‚È‚³‚»‚¤‚¾‚©‚çA•’Ê‚ÉŽŸX“Ç‚ñ‚Å‚¢‚Á‚Ä
Žg‚í‚È‚¢ƒf[ƒ^‚Í”jŠü‚µ‚¿‚Ⴆ‚΂¢‚¢‚¶‚á‚ñ

>>562‚ªASCIIƒf[ƒ^‚¾‚Æ‚·‚é‚ÆA5s–Ú‚©‚ç‚Ì”Žš‚ª—~‚µ‚¢‚È‚çA
do i=1,5
read(unit) tmp
enddo
‚Æ‚â‚Á‚ÄŽÌ‚Ä‚¿‚Ⴆ‚΂¢‚¢
“Ç‚ÝŽÌ‚Ä‚é‚È‚ç

DO I = 1, 5
READ(NUNIT, *)
END DO

‚Å‚¨‚‹
‚»‚Á‚©AŽÌ‚Ä‚é‚ñ‚¾‚©‚牽‚à‚¢‚ç‚È‚¢‚©
FORTRAN‚ªCOLUMN-MAJOR‚È‚±‚Ƃ𒲂ׂĂ݂½‚¢‚Ì‚Å‚·‚ªA
•Ï”‚̃|ƒCƒ“ƒ^’l‚ð’m‚é•û–@‚Í‚ ‚è‚Ü‚·‚©H
>>571
–³‚¢‚ªAƒTƒuƒ‹[ƒ`ƒ“‚É‘—‚ê‚΂킩‚éB
‚‚܂èA‚QŽŸŒ³”z—ñ‚ðAƒTƒuƒ‹[ƒ`ƒ“‚Ì‚PŽŸŒ³Œ`Ž®ˆø”‚Ì”z—ñ‚É“n‚¹‚΂悢B
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·BŠm‚©‚ÉWRITE‚È‚ñ‚©‚ɂ킽‚·‚±‚Æ‚Å
‡”Ô‚ð’m‚邱‚Æ‚Í‚Å‚«‚é‚Ì‚Å‚·‚ªAƒƒ‚ƒŠã‚̈ʒu‚ð’m‚邱‚Æ‚Í
‚Å‚«‚È‚¢‚Ì‚Å‚·‚Ë
>>573
•W€•¶–@‚Å‚Í‚È‚¢‚ªALOC ŠÖ”‚È‚Ç‚ªƒxƒ“ƒ_[Šg’£‚Æ‚µ‚Ä—pˆÓ‚³‚ê‚Ä‚¢‚邱‚Æ‚ª‘½‚¢B

‚Ü‚½ƒŠƒ“ƒJ[‚Ń}ƒbƒv‚ðo—Í‚³‚¹‚é‚ÆÓI‚È•Ï”‚È‚ç‚΃AƒhƒŒƒX‚ª•ª‚©‚ç‚È‚­‚à–³‚¢B
”z—ñ‚Ì‚È‚ç‚Ñ‚ÉŠÖ‚µ‚Ä‚ÍA‚»‚Ì‚Ü‚Ü‚Å‚Í•ª‚©‚ç‚È‚¢‚ªA‚³‚ç‚É EQUIVALENCE ‚Å‚à
‚©‚¯‚ê‚Εª‚©‚é‚Ì‚©‚à‚µ‚ê‚È‚¢B
IFort10.1+ƒ}ƒ‹ƒ`ƒRƒAŠÂ‹«‚ÅŽg‚Á‚Ä‚él‚¢‚é‚©‚È
OPENMP‚Å•À—ñ‰»‚µ‚Ä‚é‚ñ‚¾‚¯‚ÇA
ƒfƒ…ƒAƒ‹ƒRƒAŠÂ‹«‚Ńg[ƒ^ƒ‹CPUŽg—p—¦‚ª50%‚©‚çオ‚ç‚È‚¢——R‚í‚©‚éH
‚PƒRƒA‚µ‚©Žg‚Á‚Ä‚È‚­‚Ä2ƒRƒA–Ú‚ªƒAƒCƒhƒ‹‚É‚È‚Á‚¿‚Ⴄ
OS‚É‚æ‚邾‚낤‚¯‚ÇA
setenv ‚È‚ñ‚½‚çA
‚ð‚¿‚á‚ñ‚Æ‚µ‚Ä‚éH
577 F575F2009/06/21(“ú) 16:49:20
setenv‚Í‚æ‚­‚í‚©‚ç‚È‚¢‚ñ‚¾‚¯‚ÇAOPENMP+Ž©“®•À—ñ‰»‚Å5ƒXƒŒƒbƒh‘–‚Á‚Ä‚é
ŠÂ‹«‚ÍOS‚ªXPProSP3‚ÅACore2DuoE8500
OpenMP‚ÌꇂÍAŠÂ‹«•Ï”‚ÅCPU‚̈ʒu‚ðbind‚µ‚Ä‚â‚ç‚È‚¢‚Æ‚¢‚¯‚È‚¢‚ñ‚¾‚Á‚¯H
Ž©“®•À—ñ‚à“¯‚¶‚¾‚Á‚¯‚©‚ÈH

’N‚©Ú‚µ‚¢l‚Ì~—Õ‚ð‘҂‚µ‚©‚È‚¢‚È‚—
>>577
‚È‚ºÅ‰‚©‚çWinXP‚¾‚Æ‚©‚¯‚È‚¢‚Ì‚¾‚낤‚©H
Ž©•ª‚ªŽg‚Á‚Ä‚élinux{ifort9.1‚Å‚ÍA
setenv OMP_NUM_THREADS 8 (ÅŒã‚Ì‚W‚Í“K“–‚ÈCPU”‚É’u‚«Š·‚¦)
‚Ŋ‹«•Ï”‚Å•À—ñ”‚ðŽw’è‚·‚邱‚Æ‚É‚È‚Á‚Ă邯‚Ç‚ÈBLinux‚Å‚àƒVƒFƒ‹‚²‚ƂɈႤ‚Í‚¸‚¾‚ªB
ŽÀ‹@‚ª‚È‚¢‚Ì‚ÅWinXP‚¾‚Æ‚Ç‚Ì’ö“xˆá‚¤‚Ì‚©‚í‚©‚ç‚ñ‚ªAIntel’ñ‹Ÿ‚Ì—á‚Å‚Í
setenv ‚ð set ‚ÉŠ·‚¦‚邾‚¯‚̂悤‚¾B
‘S‘Ì‚ÌŠÄŽ‹•“¯Šú‚Æ‚è—p‚Ì‚ ‚Ü‚è–Z‚µ‚­‚È‚¢ƒXƒŒƒbƒh‚ª‚PŒÂ‘–‚é‚Í‚¸‚¾‚¯‚ÇA
‘S•”‚Å‚T‚‚͂Ȃñ‚©‘½‚¢‹C‚à‚·‚邪‚»‚ñ‚È‚à‚Ì‚©‚à‚µ‚ê‚È‚¢‹C‚à‚·‚éB
>>578
CPU‚̈ʒu‚̃oƒCƒ“ƒh‚ÍŽ©“®•À—ñ‚â‚çOpenMP‚Ìê‡ALinux‚Å‚Í dplace ‚â taskset ‚ðŽg‚¤‚ÈB
Žw’肵‚È‚¢‚Æ‚Ó‚ç‚Ó‚çˆÚ“®‚·‚邱‚Æ‚ª‚ ‚é‚©‚ç‚â‚₱‚µ‚¢B

‚Ü‚ Ú‚µ‚¢Win‹@‚Å‚¢‚¶‚­‚è‚Ü‚­‚Á‚Ä‚é_‚Ì~—Õ‚ð‘Ò‚Æ‚¤BWin‚Å‚Ì•À—ñ‚É‹»–¡‚ ‚邵B
580 F575F2009/06/22(ŒŽ) 17:58:29
Ž©ŒÈ‰ðŒˆ‚µ‚½‚Ì‚Å•ñ

ProcessExplorer‚ŃXƒŒƒbƒh‚Ì󋵂𒲂ׂĂ½‚çAƒƒCƒ“ƒXƒŒƒbƒhˆÈŠO–³•‰‰×‚¾‚½
•À—ñ‰»‚ðŒ©’¼‚µ‚Ä•‰‰×‚ð‚©‚¯‚é‚悤‚É‚µ‚½‚ç100%‚Ü‚ÅŠ|‚¯‚ç‚ê‚é‚悤‚É‚È‚Á‚½

–À˜fŠ|‚¯‚ăXƒ}ƒ\
>>579
Win‚Å‚ÌCPUƒoƒCƒ“ƒh‚͊‹«•Ï”‚Å‚Å‚«‚½B
ƒ}ƒjƒ…ƒAƒ‹‚ÉÚ‚Á‚Ä‚¢‚é‚Í‚¸B
²7‚ŃnƒCƒp[ƒXƒŒƒbƒfƒBƒ“ƒO‚Ì‚WƒRƒA‰^—p‚µ‚Ä‚¢‚é‚ÆA‚¿‚á‚ñ‚ƃoƒCƒ“ƒh‚µ‚È‚¢‚Æ
«”\‚ª‘S‚­o‚È‚¢BƒfƒtƒH‚Å‚WƒXƒŒƒbƒh‰^s‚µ‚ăoƒbƒeƒBƒ“ƒO‚·‚邵A‚SƒXƒŒƒbƒh‚É‚µ‚Ä‚à
•¨—ƒRƒA‚ÉŠ„‚è“–‚½‚é‚Æ‚ÍŒÀ‚ç‚È‚¢‚悤‚Å•ú’uƒvƒŒƒC‚Å‚Í«”\‚Å‚È‚¢B
>>581
ŠÂ‹«•Ï”‚ÅCPUƒoƒCƒ“ƒh‚Á‚Ä‚¢‚¤‚Ì‚ÍA•Ê‚ÉWindows‚ÉŒÀ‚炸‘¼‚à“¯‚¶‚¾‚ÆŽv‚¤B
Intel Fortran‚¾‚ÆKMP_AFFINITYAPGI Fortran‚¾‚ÆMP_BLIST‚©‚ÈB

‚Æ‚¢‚¤‚©A‚¢‚¢‰ÁŒ¸ŠÂ‹«•Ï”‚ÌÝ’è‚Æ‚©‚ðƒ†[ƒU‚É‚â‚点‚é‚ñ‚¶‚á‚È‚¢‚­‚ÄA
ƒRƒ“ƒpƒCƒ‰‚ªƒVƒXƒeƒ€\¬‚ðŒ©‚È‚ª‚矎è‚ÉŽg‚¤CPU‚ðŽw’肵‚Ä‚­‚ê‚ê‚΂¢‚¢‚Ì‚ÉcB
‚Ç‚¤‚¢‚¤ƒXƒŒƒbƒh‚Ì”z’u‚ªŒø—¦‚ª‚¢‚¢‚©‚È‚ñ‚ÄA—\‘z‚Å‚«‚»‚¤‚È‚à‚ñ‚È‚Ì‚ÉB
583 F556F2009/07/09(–Ø) 23:41:32
>>555
Å‹ß‚É‚È‚Á‚ÄAIntelŒfŽ¦”Â‚ðŒ©‚Ä‚¢‚Ă悤‚â‚­•ª‚©‚Á‚½‚ªAƒIƒvƒVƒ‡ƒ“‚ð‚‚¯‚È‚¢‚Æ
‘ʖڂ炵‚¢B

/assume:realloc_lhs

‚±‚ê‚ð‚‚¯‚é‚ÆFortran2003‰ðŽßA‚‚¯‚È‚¢‚ÆFortran90/95‰ðŽß‚É‚È‚é‚炵‚¢B
584 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2009/09/07(ŒŽ) 13:50:42
age
>>583
‚¨AŽQl‚É‚µ‚悤B

‚¨‚Ü‚¯EEE‚É‚È‚é‚Ì‚©’m‚ç‚È‚¢‚¯‚Çw
ƒƒCƒ“‚ªC‚ÅFortranƒR[ƒh‚ðƒTƒuƒ‹[ƒ`ƒ“‚Æ‚µ‚ČĂÑo‚µ‚ăŠƒ“ƒN‚·‚é‚Æ‚«‚Í
’÷‚ß‚ÌŽÀsƒtƒ@ƒCƒ‹¶¬Žž‚É‚Í icc ‚ŃŠƒ“ƒN‚µ‚ÄŽÀsƒtƒ@ƒCƒ‹‚‚­‚Á‚Ä‚à‚¢‚¢‚¯‚ÇAifort ‚Å
ifort -nofor_main -no-ipo
‚Á‚Ä‚â‚é‚ÆU‚é•‘‚¢‚ª—ç‹V³‚µ‚¢Ž–‚ª‘½‚¢A‹C‚ª‚·‚éB
-no-ipo ‚̓Šƒ“ƒN‚·‚é‚Æ‚«‚¾‚¯‚ËB‚±‚ꂪ‚È‚¢‚Æifort‚Í–³’ƒ‚ð‚·‚é‚悤‚¾w
586 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2009/09/27(“ú) 01:29:32
>>nag ‚Ì fortran “ü–å‚Å‚¨‚‹
CERNLIB‚Ìmathlib‚̃‰ƒbƒp‚ðƒ‚ƒWƒ…[ƒ‹‚Åì‚낤‚ÆŽv‚Á‚Ä‚¢‚é‚Ì‚¾‚¯‚ê‚ÇA
gfortran‚ŗႦ‚ÎŽ©ŒÈŠ®Œ‹‚µ‚Ä‚¢‚鋤—LƒIƒuƒWƒFƒNƒg(.soƒtƒ@ƒCƒ‹)‚Á‚Ä
ì‚ê‚é‚à‚ñ‚È‚ÌH
ˆêX$(cernlib -G Motif mathlib)‚ð‚‚¯‚ăRƒ“ƒpƒCƒ‹‚·‚é‚Ì
–Ê“|‚­‚³‚¢B
ƒ‰ƒCƒuƒ‰ƒŠì‚Á‚½‚±‚Æ–³‚¢‚ñ‚ŃAƒŒƒQ‚È•¶Í‚¾‚ªA‚à‚µ’N‚©‚í‚©‚é‚Ì‚È‚çB

‚¿‚È‚Ý‚ÉAOS‚ÍUbuntu8.04‚ÈB
’ljÁ‚ÅŽ¿–â‚È‚ñ‚Å‚·‚ªA
http://wwwasdoc.web.cern.ch/wwwasdoc/shortwrupsdir/b100/top.html
‚̃‰ƒbƒp[‚Æ‚µ‚Ä
http://gist.github.com/194480
‚Æ‚¢‚¤‚Ì‚ð‘‚¢‚Ä
program main
use FunctionBinom
implicit none
integer::x,y
x=5
y=2
print *,binom(x,y)
end program
‚ŃRƒ“ƒpƒCƒ‹‚µ‚Ä‚Ý‚é‚Æi‚à‚¿A$(cernlib mathlib)‚͂‚¯‚Äj
/tmp/ccdsgC3z.o: In function `__functionbinom__binom_integer':
binom.f95:(.text+0x14): undefined reference to `kbinom_'
/tmp/ccdsgC3z.o: In function `__functionbinom__binom_double':
binom.f95:(.text+0x34): undefined reference to `dbinom_'
/tmp/ccdsgC3z.o: In function `__functionbinom__binom_real':
binom.f95:(.text+0x54): undefined reference to `rbinom_'
collect2: ld returned 1 exit status
‚Æ‚¢‚¤ƒGƒ‰[o‚éB‰½‚ÅŽQÆ悪–³‚¢‚Ì‚©‚³‚Á‚Ï‚è‚í‚©‚ç‚È‚¢B
>>588
‚æ‚­’m‚ç‚ñ‚ªAŠÖ”ŒÄ‚Ño‚µ‚Ì–¼‘O‹K–ñ‚ªH‚¢ˆá‚Á‚Ä‚¢‚é‚Æ‚©B
ƒGƒ‰[ƒƒbƒZ[ƒW‚ðŒ©‚éŒÀ‚èA¬•¶Žš‚ŃAƒ“ƒ_[ƒXƒRƒA––”ö•t—^‚ÌŒ`Ž®‚Å
ƒIƒuƒWƒFƒNƒg‚ð’T‚µ‚És‚Á‚Ä‚¢‚邪AŠm‚©‚É‘¶Ý‚µ‚Ä‚¢‚é‚Ì‚©‚ËH

–¼‘Oˆê——‚Æ‚©o—Í‚³‚¹‚é‚Æ‚©AƒoƒCƒiƒŠƒGƒfƒBƒ^[‚Å’¼Ú‚Ì‚¼‚¢‚Ä‚¢Œ©‚é‚Æ‚©B
external binom
‚‚¯‚Æ‚­A‚Æ‚©
interface •¶‚Å‘O‚à‚Á‚Ĉø”•”‚ð‹³‚¦‚Ä‚ ‚°‚é‚Æ‚©A
_binom ‚Ý‚½‚­‰º•tü‚‚¯‚Æ‚­‚Æ‚©A‚©‚È‚ EEEˆá‚¤‚ÈB‚¤`‚ñB
>>589
>ŠÖ”ŒÄ‚Ño‚µ‚Ì–¼‘O‹K–ñ‚ªH‚¢ˆá‚Á‚Ä‚¢‚é‚Æ‚©B
‘¼‚ÌŠÖ”i—Ⴆ‚ÎA•[‚É‚à‚ ‚éATG‚Æ‚¢‚¤ŠÖ”j‚¾‚ƃGƒ‰[–³‚­‚Å‚«‚邵A
Ž©•ª‚ªƒ}ƒjƒ…ƒAƒ‹“Ç‚ÞŒÀ‚è–¼‘O‹K–ñ‚̘b‚à‚È‚¢‚Ì‚æ‚ËB

>–¼‘Oˆê——‚Æ‚©o—Í‚³‚¹‚é‚Æ‚©AƒoƒCƒiƒŠƒGƒfƒBƒ^[‚Å’¼Ú‚Ì‚¼‚¢‚Ä‚¢Œ©‚é‚Æ‚©B
ƒoƒCƒiƒŠƒGƒfƒBƒ^‚Í”ð‚¯‚½‚¢B–¼‘Oˆê——‚Ç‚¤‚â‚Á‚Äo—Í‚³‚¹‚ê‚΂¢‚¢H

>>590
ƒ‚ƒWƒ…ƒ‰[«ã‚°‚½‚¢‚Ì‚Åexternal‚ðŽg‚¢‚½‚­‚È‚¢‚Ì‚æB
ˆø—pŽd—l‹Lq‚Í‘‚¢‚Ä‚ ‚é‚æB
ƒXƒpƒRƒ“‚Ìl‚¶‚á‚È‚¢‚Ì‚Å‚í‚©‚ç‚È‚¢‚¯‚ê‚ÇAƒXƒpƒRƒ“‚Ìl‚½‚¿‚Á‚Ä
CERNLIB‚Æ‚©‚ÍŽg‚킸A‰½‚̃‰ƒCƒuƒ‰ƒŠŽg‚Á‚Ä‚¢‚é‚ÌHNAG?
ƒtƒŠ[‚Å‚ ‚é‚È‚ç‚»‚̃‰ƒCƒuƒ‰ƒŠ‚̃‰ƒbƒp‚ɈƑւ¦‚·‚é‚íB
Ž©ì‚ÉŒˆ‚Ü‚Á‚Ă邾‚ë
‘¼l‚̃‰ƒCƒuƒ‰ƒŠ‚È‚ñ‚©’x‚­‚ÄŽg‚¦‚È‚¢‚µ
>>593
‚È‚ÊB‚»‚êƒXƒpƒRƒ“‹ÆŠE‚̈ê”ʘ_H>>593‚ªŽ©ìD‚«‚Æ‚¢‚¤‚킯‚¶‚á‚È‚­H
V‚µ‚¢ƒAƒ‹ƒSƒŠƒYƒ€‚Åì‚éA‚Æ‚¢‚¤‚Ì‚È‚ç‚í‚©‚é‚Ì‚¾‚¯‚ê‚ÇA
‚»‚êˆÈŠO‚Ì‘¬“x“I‚É‚à‚¤ã‚°‚ç‚ê‚È‚¢‚¾‚낤Aã‚°‚é•K—v‚à–³‚¢‚¾‚낤“I
ŠÖ”‚àŽ©ì‚©‚¢B
s—ñƒ\ƒ‹ƒo‚ÉŠÖ‚µ‚Ä‚ÍA‚â‚Á‚Ï‚Ü‚¾‚Ü‚¾Ž©ì‚Ì—]’n‚ª‚ ‚é‚ñ‚¶‚á‚È‚¢‚ÌH
ƒXƒpƒRƒ“‚̃A[ƒLƒeƒNƒ`ƒƒ‚É‚æ‚Á‚ÄÅ“K‚ȃAƒ‹ƒSƒŠƒYƒ€‚͈Ⴄ‚¾‚낤‚µB
x86‚ȃXƒpƒRƒ“iƒNƒ‰ƒXƒ^‚Æ‚¢‚¤‚ׂ«‚©H‚—j‚È‚ç“K“–‚È—]Š—l‚̃‰ƒCƒuƒ‰ƒŠ‚Å‚¢‚¢‚©‚à‚µ‚ê‚È‚¢‚¯‚ÇB
>>591
„ƒoƒCƒiƒŠƒGƒfƒBƒ^‚Í”ð‚¯‚½‚¢B–¼‘Oˆê——‚Ç‚¤‚â‚Á‚Äo—Í‚³‚¹‚ê‚΂¢‚¢H
ƒ‰ƒCƒuƒ‰ƒŠƒAƒ“—p‚̃Rƒ}ƒ“ƒh‚ðŽg‚¦‚ÎAˆê——o‚¹‚é‚ÆŽv‚¤B
ƒƒCƒ“ƒtƒŒ[ƒ€‚È‚ço—ˆ‚½‚—

>>594
ƒ‰ƒCƒuƒ‰ƒŠ‚Í‚»‚Ì«Ž¿‚©‚ç‚Ç‚¤‚µ‚Ä‚à”Ä—p‚¾‚©‚çAŽ©•ª‚Ì–â‘è‚ɇ‚킹‚½
“ÁŽêðŒ‚ðŽg‚Á‚Ä‘‚­‚·‚邱‚Æ‚Í‚ ‚é‚ÈB
‚È‚é‚Ù‚ÇBŒÂl“I‚Șb‚¾‚¯‚ÇA‚¢‚ë‚ñ‚È‚±‚Æ‚ªŒq‚ª‚Á‚½‚íB
ƒ‰ƒCƒuƒ‰ƒŠ‚ÍŠm‚©‚ɔėp“I‚¶‚á‚È‚¢‚Æ‚¢‚¯‚È‚¢‚í‚ÈB

s—ñƒ\ƒ‹ƒoA‚Â[‚©ŒÅ—L’lŒvŽZ‚Í‹»–¡[‚¢B
ƒAƒ‹ƒSƒŠƒYƒ€FX’²‚ׂĂ¢‚邯‚ÇAÅV‚̃Aƒ‹ƒSƒŠƒYƒ€‚Á‚Ä‚È‚É‚æH
‚Ü‚Ÿ“Á‹–‚Æ‚ç‚ê‚Ä•’Ê‚ÉŽg‚¦‚È‚¢‚ñ‚¾‚낤‚¯‚ÇB
‚æ‚­’m‚ç‚È‚¢‚¯‚ê‚ÇAƒAƒ‹ƒSƒŠƒYƒ€‚É“Á‹–‚Í‚©‚¯‚ç‚ê‚é‚æ‚ËH
ƒAƒ‹ƒSƒŠƒYƒ€‚ðŽÀ‘•‚µ‚½ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ɑ΂µ‚Ä‚Ì‚Ý“Á‹–‚©‚¯‚ç‚ê‚é‚ñ‚¾‚¯‚Á‚¯H
>>596
>ƒ‰ƒCƒuƒ‰ƒŠƒAƒ“—p‚̃Rƒ}ƒ“ƒh‚ðŽg‚¦‚ÎAˆê——o‚¹‚é‚ÆŽv‚¤B
‚¨—猾‚¤‚Ì–Y‚ê‚Ä‚½BÄݸ½I
ƒAƒ‹ƒSƒŠƒYƒ€‚È‚ñ‚©‚Å“Á‹–‚Æ‚ñ‚Ì‚Íó‚Ü‚µ‚¢EEE
‚»‚ñ‚È‚Ó‚¤‚Él‚¦‚Ä‚¢‚½ŽžŠú‚ªi‚’‚™
do 600 i = 1, 100
  write(*,*) '600 get'
600 continue
module mod
interface iface
integer function func(i, j)
integer :: i, j
end function func
end interface iface
end module mod

integer function func(i, j)
use mod
integer :: i, j
func = i * j
return
end function func

program main
use mod
print *, iface(10, 20)
end program main
-------------------------------------------------------
func = i * j
1
Error: Name 'func' at (1) is an ambiguous reference to 'func' from current program unit

ã‹L‚̂悤‚ȃGƒ‰[‚ª‚łăRƒ“ƒpƒCƒ‹‚Å‚«‚Ü‚¹‚ñ
module‚ðŽg‚í‚È‚¢A‚ ‚é‚¢‚Ífunction‚Å‚Í‚È‚­subroutine‚È‚çƒRƒ“ƒpƒCƒ‹‚Å‚«‚Ü‚µ‚½
‚Ђå‚Á‚Æ‚µ‚Ä‘Ì–¼‚Ífunction‚É‚ÍŽg‚¦‚È‚¢‚ñ‚Å‚µ‚傤‚©H
>>601
integer function func(i, j)
‚Ì’†‚Ì
use mod
‚ª•s—v‚È‚Ì‚Å‚Í
>>602
‚Å‚«‚Ü‚µ‚½B‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·
ŽQl‚É‚µ‚½ƒTƒCƒg‚ªŠÔˆá‚Á‚Ä‚¢‚½‚悤‚Å‚·‚Ë
604 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2009/10/10(“y) 16:32:59
....‚»‚ÌŒ¾‚¢‘‚Í‚Ë‚¥‚¾‚낤ww
>>604
‚¾‚Á‚½‚ç‚»‚̃TƒCƒg‚ÌURL‚ð‹³‚¦‚Ä—~‚µ‚¢
ˆÀ‰¿ŠÔˆá‚¢‚Ü‚µ‚½>>604‚¶‚á‚È‚­>>603‚Å‚·B‚·‚Ý‚Ü‚¹‚ñB
‚³‚炵‚Ä‚¢‚¢‚à‚Ì‚È‚Ì‚©‚ÈH
ttp://www.geocities.jp/eyeofeconomyandhealth/homepage/module2.html#t
‚±‚±‚È‚ñ‚¾‚¯‚Ç•›ƒvƒƒOƒ‰ƒ€‚Ì‚Ù‚¤‚É‚àuse‚µ‚ë‚Á‚Ä‘‚¢‚Ä‚ ‚è‚Ü‚µ‚½
‚Ü‚¸‚Ígeocities‚²‚Æ‚«‚É‚ ‚éƒTƒ“ƒvƒ‹‚ð‰L“Û‚Ý‚É‚µ‚½Ž©•ª‚ðÓ‚ß‚é‚Æ‚±‚ë‚©‚çŽn‚ß‚é‚ñ‚¾
>>609 (ƒCƒ“ƒfƒ“ƒg—p)

module mod
contains
real function call_func(func, arg)
interface
real function func(arg)
real, intent(in) :: arg(2)
end function func
end interface
real, intent(in) :: arg(2)
call_func = func(arg)
return
end function call_func
end module mod

real function func(arg)
real, intent(in) :: arg(2)
func = arg(1) * arg(2)
return
end function func

program main
use mod
external func
real :: arg(2) = (/ 2.0, 3.0 /)
! dummy = func(arg)
print *, call_func(func, arg)
stop
end program main
>>609‚̃Rƒƒ“ƒgƒAƒEƒg‚µ‚½•”•ª‚̃Rƒƒ“ƒg‚ð‚Í‚¸‚·‚ƃRƒ“ƒpƒCƒ‹‚à’Ê‚èA³í‚É“®ì‚·‚é‚ñ‚Å‚·‚ª
ƒRƒƒ“ƒgƒAƒEƒg‚·‚é‚Æ‚È‚º‚©ƒRƒ“ƒpƒCƒ‹‚·‚ç‚Å‚«‚Ü‚¹‚ñ
——R‚ª‚³‚Á‚Ï‚è‚í‚©‚ç‚È‚¢‚ñ‚Å‚·‚ªA‚È‚É‚ª–â‘è‚È‚ñ‚Å‚µ‚傤‚©H

ƒRƒ“ƒpƒCƒ‰‚Ígcc 4.2.4

ƒGƒ‰[ƒƒbƒZ[ƒW‚Í«‚Å‚·
print *, call_func(func, arg)
1
Error: Type/rank mismatch in argument 'func' at (1)
>>610
Intel VF 11.046 ‚È‚ç’Ê‚éB
‰ñ“š—L“ŒäÀ‚¢‚Ü‚·
gccƒRƒ“ƒpƒCƒ‰‚̃oƒO‚Æ‚¢‚¤‚±‚Æ‚Å‚µ‚傤‚©‚Ë
”ÄŠÖ”‚ðˆø”‚É‚à‚Á‚Ä‚éŠÖ”‚Ì‘Ì–¼‚ð‚‚¯‚悤‚Æ‚·‚é‚ƃRƒ“ƒpƒCƒ‹‚Å‚«‚È‚©‚Á‚½‚è(‚±‚ê‚ÍŽd—lH)
>>612
PRINT•¶‚̃oƒOL‚¢‚ÈB
FUNCTION‚Ì•Ô‚è’l‚ªAVALUE‚È‚Ì‚©ADDRESS‚È‚Ì‚©¡ˆê•s–¾‚È‚Ì‚Å
‚V‚VŽž‘ã‚©‚çFUNCTION‚Ì•Ô‚è’l‚ð‘ã“ü‚ðŒo‚¸‚ÉŽg‚¤‚ÆA‹@ŽíˆË‘¶‚ÌU‚é•‘‚¢‚ð
‚·‚邱‚Æ‚ª—Ç‚­‚ ‚Á‚½B
Å‹ß‚Í‘åä•v‚È‚±‚Æ‚ª‘½‚¢‚ªB

ŠÖ”ˆø”‚Ì‘Ì–¼‚ÍAIVF‚Å‚Ío—ˆ‚½B‘½•ªAŽd—lã‚Å‚Ío—ˆ‚Ä‚¨‚©‚µ‚­‚È‚¢‚ÆŽv‚¤B

MODULE m_unko

INTEGER, PARAMETER :: kd = SELECTED_REAL_KIND(14)

INTERFACE gen
MODULE PROCEDURE sub1, sub2
END INTERFACE

ABSTRACT INTERFACE
REAL FUNCTION x_f(a)
REAL, INTENT(IN) :: a
END FUNCTION x_f

REAL(kd) FUNCTION d_f(a)
IMPORT
REAL(kd), INTENT(IN) :: a
END FUNCTION d_f


END INTERFACE

614 F556F2009/10/14(…) 03:36:04
CONTAINS

REAL FUNCTION sub1(f, x)
REAL, INTENT(IN) :: x
PROCEDURE (x_f) :: f
sub1 = f(x)
RETURN
END FUNCTION sub1

REAL(kd) FUNCTION sub2(f, d)
REAL(kd), INTENT(IN) :: d
PROCEDURE(d_f) :: f
sub2 = f(d)
RETURN
END FUNCTION sub2

END MODULE m_unko
!
PROGRAM unko
USE m_unko
REAL :: x
REAL(kd) :: d
PROCEDURE (x_f), POINTER :: f
PROCEDURE (d_f), POINTER :: g
x = 4.0 * ATAN(1.0)
d = 4.0_kd * ATAN(1.0_kd)
f => SIN
g => DSIN
PRINT *, gen(f, x)
PRINT *, gen(g, d)
STOP
END PROGRAM unko
>>613,612
ƒTƒ“ƒvƒ‹ƒR[ƒh‚ ‚肪‚½‚¢‚ñ‚Å‚·‚ªAƒRƒ“ƒpƒCƒ‹‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½
abstract interface‚Ì‚Æ‚±‚ë‚Åʼn‚̃Gƒ‰[‚ª‚Å‚é‚Ì‚ÅŒ´ˆö‚𒲂ׂ½‚ñ‚Å‚·‚ª
hp‚Æintel‚̃}ƒjƒ…ƒAƒ‹‚ðŒŸõ‚µ‚Ä‚àabstract interface‚Ì€–Ú‚ªŒ©‚‚©‚ç‚è‚Ü‚¹‚ñ‚Å‚µ‚½EEE
>>615
ABSTRACT INTERFACE ‚ÍF2003‚Ì‹@”\‚ÅA‚Ü‚¾Intel‚ÌHelp‚ÉÚ‚Á‚Ä‚È‚¢‚ªAŽÀ‘•‚³‚ê‚Ä‚¢‚éB
Cray‚Æ‚©i‘½•ªjIBM‚̃}ƒjƒ…ƒAƒ‹‚È‚çÚ‚Á‚Ä‚¢‚é‚ÆŽv‚¤B‚Ü‚Ÿ‘f’¼‚ÉFortran95/2003@Explained‚ð
Œ©‚é‚Ì‚ª‚¢‚¢‚ÆŽv‚¤‚ªBGoogleBooks‚Å‚àƒy[ƒW‚ª”ò‚΂³‚ê‚Ä‚È‚¯‚ê‚ÎŒ©‚ç‚ê‚éB
‚µ‚©‚µA‚±‚ê‚Í–{Ž¿‚Å‚Í‚È‚¢B“ñ“xInterface‚ð‘‚­‚Ì‚ª–Ê“|‚¾‚Á‚½‚©‚çŽg‚Á‚½‚Ü‚ÅB

‚±‚ê‚È‚ç‚Ç‚¤‚¾‚×H
MODULE m_unko

INTERFACE gen
MODULE PROCEDURE sub1, sub2
END INTERFACE

CONTAINS

REAL FUNCTION sub1(f, x)
REAL, INTENT(IN) :: x
INTERFACE
REAL FUNCTION f(x)
REAL, INTENT(IN) :: x
END FUNCTION f
END INTERFACE
sub1 = f(x)
RETURN
END FUNCTION sub1
INTEGER FUNCTION sub2(f, x)
REAL, INTENT(IN) :: x
INTERFACE
INTEGER FUNCTION f(x)
REAL, INTENT(IN) :: x
END FUNCTION f
END INTERFACE
sub2 = f(x)
RETURN
END FUNCTION sub2
!
REAL FUNCTION rmult2(x)
REAL, INTENT(IN) :: x
rmult2 = 2.0 * x
RETURN
END FUNCTION rmult2
!
INTEGER FUNCTION imult2(x)
REAL, INTENT(IN) :: x
imult2 = INT( 2.0 * x )
RETURN
END FUNCTION imult2
END MODULE m_unko
!
PROGRAM unko
USE m_unko
REAL :: x
x = 4.0
PRINT *, gen(rmult2, x)
PRINT *, gen(imult2, x)
STOP
END PROGRAM unko
>>616,617
—L“‚²‚´‚¢‚Ü‚·BƒRƒ“ƒpƒCƒ‹‚Å‚«‚Ü‚µ‚½BŠ®àø‚Å‚·
ŽåƒvƒƒOƒ‰ƒ€‚Éinterface‚ð‘‚­•û–@‚ÍŒ©‚‚¯‚½‚ñ‚Å‚·‚ª
module‚É‚­‚­‚Á‚Ä‚µ‚Ü‚¦‚Îinterface‚ð‘‚©‚È‚­‚Ä‚à‚Å‚«‚é‚ñ‚Å‚·‚Ë
FORTRAN‚â‚ß‚Ü‚·‚©HlŠÔ‚â‚ß‚Ü‚·‚©H
‚Â DarkBASIC
Windows”ÅNetBeans‚̊‹«‚ÅgFortran‚ðŽg‚¢‚½‚¢‚ñ‚¾‚ªA
ŽÀsƒtƒ@ƒCƒ‹‚ÌÝ’è‚ðg77.exe‚©‚çgfortran.exe‚É•Ï‚¦‚邾‚¯‚ÅokH

‚à‚µA‚»‚Ì‚Ù‚©‚Éݒ莖€“™‚ ‚ê‚΋³‚¦‚Ä—~‚µ‚¢
module‚ŃIƒuƒWƒFƒNƒgŽwŒü‚Á‚Û‚¢‚±‚Æ‚ª‚Å‚«‚é‚Ì‚Í‚í‚©‚Á‚½‚ñ‚Å‚·‚ª
c++‚Æ‚©‚Å‚¢‚¤ƒCƒ“ƒXƒ^ƒ“ƒX‚ðì‚邱‚Æ‚Í‚Å‚«‚È‚¢‚ñ‚Å‚µ‚傤‚©H
>>622
F2003‚È‚ço—ˆ‚éBF95ˆÈ‘O‚Å‚Ío—ˆ‚È‚¢B
‚±‚ñ‚ÈŠ´‚¶‚©‚ÈH
‚Æ‚è‚ ‚¦‚¸AIVF 11.1 ‚Å‚Í’Ê‚Á‚½
’N‚© Fortran 95/2003 Explained ‚Ì“ú–{Œê–óì‚Á‚Ä

module mod1
implicit none
type Circle
real :: d
contains
procedure :: area => func1
end type Circle

contains
real function func1(this)
class(Circle) :: this
func1 = (this%d ** 2) * 3.14 / 4.0
end function func1
end module mod1

program main
use mod1
implicit none
type(Circle) :: c
c%d = 10.0
print *, c%area()
end program main
>>624
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·
Žc”O‚È‚ª‚çgfortran‚Å‚Í2003‚ªŽg‚¦‚È‚¢‚悤‚È‚Ì‚ÅŽŽ‚¹‚Ü‚¹‚ñ‚ªEEE
ŽÀÛAFortran‚ÅOOP‚Í‚Ç‚¤‚È‚ÌH
ƒCƒ‰ƒl‚Á‚Ĉӌ©‚àŽUŒ©‚·‚邪EEE
—”‚Æ‚©s—ñH
>>626
‚»‚ê‚Å‘¬“x‚ª—Ž‚¿‚é‚È‚çƒCƒ‰ƒlB—Ž‚¿‚»‚¤‚È‹C‚µ‚©‚µ‚È‚¢‚¯‚ÇB

’†“cˆç’jwŠî‘bFORTRANxiŠâ”g‘“Xj‚̃Rƒ‰ƒ€‚É

FORTRAN‚Å‚àCOMMON•¶‚ÆENTRY•¶‚ðŽg‚Á‚ÄAƒIƒuƒWƒFƒNƒgŽwŒüÝŒv‚É
]‚Á‚½ƒvƒƒOƒ‰ƒ€‚ð‘‚­‚±‚Æ‚ª‚Å‚«‚éB

‚Æ‚ ‚Á‚½‚¯‚ÇA‹ï‘Ì“I‚È‚±‚Ƃ͉½‚à‘‚¢‚Ä‚¢‚È‚©‚Á‚½B
FORTRAN‚Å–³—–î—‚»‚ê‚Á‚Û‚¢‚±‚Æ‚ð‚â‚Á‚½‚ç‚Ç‚¤‚È‚é‚©‚Æ‚¢‚¤—Ⴊ
uƒIƒuƒWƒFƒNƒgŽwŒü“ü–åv34Í‚É‚ ‚é‚悤‚¾
http://www.seshop.com/detail.asp?pid=9505&mode=spec

‰´‚͉”Å‚µ‚©“Ç‚ñ‚Å‚È‚¢‚¯‚ÇA¡‚Å‚àŽ–î‚Í•Ï‚í‚ç‚ñ‚Å‚µ‚å
>>629
“Ç‚ñ‚Å‚Ý‚½‚¢‚¯‚ÇA‚¿‚å‚Á‚Æ‚¨’l’i‚ªEEE
‚»‚¤‚¢‚â‚Ü‚Æ‚à‚ȃIƒuƒWƒFƒNƒgŽwŒü‚Ì–{‚ð“Ç‚ñ‚¾‚±‚Ƃ͈ê“x‚à‚È‚¢‚â
—Ç‚¢‹@‰ï‚¾‚©‚甃‚¿‚Ⴈ‚¤‚©‚µ‚ç
>>628
> COMMON•¶‚ÆENTRY•¶‚ðŽg‚Á‚ÄAƒIƒuƒWƒFƒNƒgŽwŒüÝŒv‚É

‚È‚º‚©‚Í‚í‚©‚è‚Ü‚¹‚ñ‚ªAƒCƒ„‚È—\Š´‚µ‚©‚µ‚Ü‚¹‚ñEEE
‚Æ‚¢‚¤‚©AOOP—p‚Éì‚ç‚ê‚Ä‚È‚¢Œ¾Œê‚ňÀ‘S‚ÈOOP‚ð‚·‚é‚Ì‚Á‚Ä–³—‚¾‚µEEE
ˆÀ‘S‚Å‚È‚¢OOP‚È‚ñ‚ÄOOP‚̃ƒŠƒbƒg‚È‚¢‚É“™‚µ‚¢‚µEEE

‘fl‚Í‘ål‚µ‚­Java‚âC#Žg‚¤‚Ù‚¤‚ªK‚¹‚É‚È‚ê‚é
>>629
‰”Å‚Ì‚ÍFORTRAN77‚ŃgƒŠƒbƒL[‚ȃJƒvƒZƒ‹‰»‚ð‚·‚é˜b‚¾‚¯‚¾‚Á‚½‚©‚ç
‚½‚Ô‚ñ>>631>>632‚ÌŒ¾‚¤’Ê‚è

¡ŽÀÛ‚Ç‚¤‚È‚Ì‚©
‰´‚Í2003‚Æ‚©•s•×‹­‚È‚ñ‚Å‚í‚©‚ç‚ñ
>>633
‚»‚¤‚¢‚킸A‚Q‚O‚O‚R‚ð•×‹­‚µ‚悤‚ºI
‚΂è‚΂èOOP‚Å‚È‚­‚Ä‚à
TYPE@‚ÌŠg’£‚Æ‚©‚ªA“ü‚êŽq‚¶‚á‚È‚­‚ÄA“¯‚¶[‚³‚Å\‘¢‘̂̃ƒ“ƒo[‚ð‘‚₹‚邵B
OOP‚Å‚È‚¢•”•ª‚Å‚àŒ‹\Šg’£‚ª‚ ‚Á‚Ä•Ö—˜B


“ú–{Œê@ƒpƒƒ|
ttp://www.itscj.ipsj.or.jp/forum/forum2008SC22fortran/Fortran20032008.pdf
‰pŒê
ftp://ftp.nag.co.uk/sc22wg5/N1551-N1600/N1579.pdf
635 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2009/10/20(‰Î) 01:07:43
³’¼AOOP‚Æ‚»‚¤‚Å‚È‚¢‚à‚̂̈Ⴂ‚ª‚æ‚­‚í‚©‚ñ‚È‚¢B
–\—Í“I‚È‘‚«•û‚¾‚¯‚ÇAuˆö‰ÊŠÖŒW‚ªˆêˆÓv‚Æ‚¢‚¤“_‚Å‚Í“¯‚¶‚¾‚µB
C++‚µ‚©ˆµ‚Á‚½‚±‚Æ‚È‚¢‚µ‚ ‚Ü‚è[‚­G‚ç‚È‚©‚Á‚½‚©‚炾‚¯‚ÇA
OOP‚Ì[•£‚É’H‚è’…‚©‚È‚¢‚Æ”»‚ç‚È‚¢‹@”÷‚à‚ ‚é‚Ì‚¾‚낤‚¯‚Ç‚ÈB
>>629
‚Ç‚ñ‚ÈŠ´‚¶‚Ì‚±‚Æ‚ðŒ¾‚Á‚Ä‚ñ‚·‚©H
ŠÈ’P‚É‹³‚¦‚Ä‚­‚¾‚µ‚ 
>>636
‚½‚¢‚µ‚½˜b‚¶‚á‚È‚­‚Ä
ENTRY•¶‚ðƒƒ\ƒbƒh‚Ì‘ã‚í‚è‚É‚µ‚ăJƒvƒZƒ‹‰»‚ð‚܂˂邾‚¯B
Œp³‚Æ‚©‚»‚¤‚¢‚¤˜b‚Í‚È‚¢‚µA“®“I‚ɃIƒuƒWƒFƒNƒg‚ðì‚ê‚é‚킯‚Å‚à‚È‚¢B
–{—ˆ‚ÌŽg‚¢•û‚Å‚à‚È‚¢‚©‚çŠë‚È‚Á‚©‚µ‚¢B
‚½‚¾A‚»‚ê‚Å‚à‘f‚ÌPascal‚æ‚è‚Í‹C‚ª‚«‚¢‚Ä‚é‚Á‚Ä‚±‚Æ‚È‚ñ‚¾‚È‚—

¡‚¶‚á2003‚à‚ ‚邵
‘æ“ñ”Å‚Í‚Ç‚¤‚È‚Á‚Ä‚é‚©’m‚ç‚È‚¢‚æB
>>635
Ž©•ª‚Å‘‚­•ª‚É‚ÍOOP‚͎ז‚‚È‚¾‚¯‚¾‚æ
OOP‚ª^‰¿‚ð”­Šö‚·‚é‚Ì‚Í‘¼l‚̃‰ƒCƒuƒ‰ƒŠ‚ðŽg‚¤‚Æ‚«B
ENTRY•¶‚̓oƒO‚Å‚â‚·‚¢‚ÈB
COMMON‚Ì‘ã‚í‚è‚ÉA‹¤—L•Ï”‚ðŽÀŒ»‚·‚é‚Ì‚ÉA‚V‚V‚ÅENTRYŽg‚Á‚½‚ªA‚©‚¦‚Á‚Ä‚ß‚ñ‚Ç‚©‚Á‚½‚—


>>637
thx
2003‚ÅOOP‚ðæ‚Á‚Ä‚é‚Á‚Ä‚±‚Æ‚ÍA‚ ‚é’ö“x‚Ü‚Æ‚à‚É‚Íì‚ç‚ê‚Ä‚ñ‚¾‚낤‚Ë‘½•ªB
ƒAƒhƒŒƒXŽw’è‚Å‹ô‘R‚É‚»‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ð”j‰ó‚µ‚¿‚ႤA‚È‚ñ‚ăŠƒXƒN‚Í‚È‚¢‚悤‚É
o—ˆ‚Ä‚é‚ñ‚¾‚낤EEEi‚Ç‚¤‚â‚Á‚ÄŽÀŒ»‚µ‚Ä‚ñ‚Ì‚©‚³‚Á‚Ï‚è‘z‘œ‚Å‚«‚È‚¢‚¯‚Çj
‚·‚¢‚Ü‚¹‚ñBŋߎn‚ß‚½’´‰SŽÒ‚Å‚·B
ŠÈ’P‚ȃVƒ~ƒ…ƒŒ[ƒg‚Å
open(10,file='testout.out',status='unknown',form='formatted')
do n=0,nmax
@@@ŒvŽZ—ª
write(10,30) t, a(1),a(2),a(3)
30 format(1H ,4(1pe12.4))
enddo
‚±‚ñ‚ÈŠ´‚¶‚Å”z—ñ‚Ì’l‚ð•\Ž¦‚µ‚悤‚ÆŽv‚¤‚Ì‚Å‚·‚ª
‚È‚º‚©o—̓tƒ@ƒCƒ‹‚ª‰üs‚³‚ê‚Ü‚¹‚ñ„ƒ
g77‚ŃRƒ“ƒpƒCƒ‹‚µ‚Ä‚¢‚Ü‚·BƒRƒ“ƒpƒCƒ‹‚Í‚Å‚«‚é‚Ì‚Å‚·‚ªEEE
‚Ç‚È‚½‚©ƒtƒ@ƒCƒ‹‚Éo—Í‚·‚é‚Æ‚«‚̉üs‚ÌŽd•û‚ð‚²‹³Žö‚µ‚Ä‚¢‚½‚¾‚«‚½‚¢‚Ì‚Å‚·
‚¨Šè‚¢‚µ‚Ü‚·
>>641‚Å‚·‚ª
o—̓tƒ@ƒCƒ‹‚ðdos‚É’¼‚µ‚Ä‚Ü‚¹‚ñ‚Å‚µ‚½
Ž©ŒÈ‰ðŒˆ‚µ‚Ü‚·‚½
ƒtƒH[ƒgƒ‰ƒ“‚̓tƒH[ƒ}ƒbƒg•¶‚ª‚í‚©‚è‚É‚­‚¢‚È‚Ÿ
>>642
FORMAT‚Ì‘‚«•û‚ªŒÃ‚¢B
‚Ü‚Ÿ‚‡‚V‚V‚¾‚©‚çŽd•û‚È‚¢‚Ì‚©B
‚†‚X‚O‚ÅŠw‚Ñ‚È‚¨‚¹‚ÎFORMAT‚à‚»‚ê‚قǂ‚炭‚È‚¢B
Fortran77‚Å‚Í“®“Iƒƒ‚ƒŠŠ„•t‚¯(allocate)‚ÍŽg‚¦‚È‚¢‚ÌH
>>644
Žg‚¦‚È‚¢B
>>644
‘å‚«‚­COMMON‚ðŽæ‚Á‚ÄA•K—v‚ɉž‚¶‚ÄŽ©•ª‚ÅØ‚èo‚µ‚ÄŽg‚¤‚ñ‚¾B
>>644
‘å‚«‚­COMMON‚ª‚Æ‚ê‚È‚¢ŠÂ‹«‚È‚Ì‚Å‚·B
allocate‚µ‚È‚¢‚Æő僃‚ƒŠ‚Ü‚ÅŽg‚¦‚È‚¢B
>>647
‚Þ‚©‚µ‰ß“nŠú‚Ì‹Zp‚Æ‚µ‚ă_ƒCƒiƒ~ƒbƒNƒRƒ‚ƒ“‚Æ‚¢‚¤‚Ì‚ª‚ ‚Á‚½B

‚Ђå‚Á‚Æ‚µ‚½‚çƒRƒ“ƒpƒCƒ‰‚̃IƒvƒVƒ‡ƒ“‚É‚ ‚é‚©‚à‚µ‚ê‚È‚¢B
‚»‚Ìê‡A•’ʂ̃Xƒ^ƒeƒBƒbƒN‚ȃRƒ‚ƒ“‚æ‚è‘å‚«‚­—̈悪Žæ‚ê‚é‚©‚à‚µ‚ê‚È‚¢B


>>646
‚»‚ñ‚È‚±‚Æ‹³‚¦‚¿‚á‚ç‚ß`
allocate‚ðŽg‚¤‚ƃpƒtƒH[ƒ}ƒ“ƒX‚ª—Ž‚¿‚é‚Á‚Ä–{“–‚Å‚·‚©H
ŽÀÛ‚ÉŽg‚í‚ê‚éƒTƒCƒY‚ÉŠÖ‚í‚炸H
>>650
‘½•ªŒë‰ðB
ÓI”z—ñ‚Æ”ä‚ׂé‚È‚ç‚ÎA‚»‚ê‚ÍŽÀsŽž‚ɃAƒƒP[ƒgˆ—‚·‚é‚Ì‚¾‚©‚ç—]Œv‚ÈŽžŠÔ‚Í‚©‚©‚邾‚낤B
‚µ‚©‚µA‚»‚ê‚ÍŒvŽZŽžŠÔ‚É”ä‚ׂê‚Îàò––‚È‚Í‚¸B

POINTER‚Å”z—ñ‚ð‚Æ‚Á‚½ê‡‚ÍAƒƒ‚ƒŠ[‚ÌŠ„•t‚ª˜A‘±‚µ‚½ƒƒ‚ƒŠ[—̈æ‚É‚È‚é‚Æ‚ÍŒÀ‚ç‚È‚¢‚Ì‚Å
Å“K‰»‚ªƒoƒŠƒoƒŠ‚È‚³‚ꂸAALLLOCATE‚Å‚Æ‚Á‚½ê‡i˜A‘±‚Ƀƒ‚ƒŠ[‚ðŽæ‚éj‚Æ‚­‚ç‚ׂÄ
ƒpƒtƒH[ƒ}ƒ“ƒX‚ª—Ž‚¿‚é‰Â”\«‚ª‚ ‚é‚Æ‚ÍŒ¾‚í‚ê‚Ä‚¢‚éB
652 F‚U‚T‚PF2009/10/29(–Ø) 02:15:09
‘‚«•û‚ªˆ«‚©‚Á‚½B
POINTER‚ÉALLOCATE‚µ‚½‚Æ‚«‚͘A‘±‚Ƀƒ‚ƒŠ[‚ðŽæ‚邾‚낤‚ªA
POINTER‚É‚ÍAƒXƒgƒ‰ƒCƒh•t‚«‚̂ƂтƂуƒ‚ƒŠ[‚ðŽwŽ¦‚³‚¹‚邱‚Æ‚à‚Å‚«‚é‚Ì‚ÅA
Å“K‰»‚ɂͧŒÀ‚ªŒW‚邱‚Æ‚ª‚ ‚é‚悤‚Å‚ ‚éB

653 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2009/10/29(–Ø) 10:15:13
>>651,652
‚È‚é`BFortran77‚Å

i=10000
call hairetu(i)

subroutine hairetu(i)
integer i
real    data(i)

‚Ý‚½‚¢‚ÈŽg‚¢•û‚Å”CˆÓ‚Ì‘å‚«‚³‚Ì”z—ñdata()‚ðƒTƒuƒ‹[ƒ`ƒ““à‚ňµ‚¦‚邯‚ÇA
‚±‚ꂪƒƒ‚ƒŠã‚ŃLƒ`ƒ“‚Æ•À‚ñ‚Å‚¢‚é‚Æ‚ÍŒÀ‚ç‚È‚¢(‚Æ‚ñ‚¾•”•ª
‚ÌŽæ‚舵‚¢‚ÍOS‚ª‚·‚é‚Ì‚©H)‚©‚ç‚ËB
77‚æ‚èŒã‚Ìallocatable‘®«‚ÍAo—ˆ‚邾‚¯˜A‘±‚µ‚ÄŠm•Û‚µ‚Ä‚ËA‚Ì
‚¨‚È‚¶‚È‚¢‚Æ‚¢‚¤‚©ŠèŠ|‚¯‚ÆŽv‚¦‚΂¢‚¢‚Ì‚¾‚낤‚ÈB
http://codepad.org/lbdDTMLE

module‚ªŽg‚¤•Ï”‚âŠÖ”AƒTƒuƒ‹[ƒ`ƒ“‚ðŠO•”‚©‚çŽw’肵‚½‚¢‚Ì‚Å‚·‚ª‰Â”\‚Å‚µ‚傤‚©Hã‚̃R[ƒh‚ÍŠÔˆá‚Á‚Ä‚Ü‚·‚ª•µˆÍ‹C‚ð’Í‚ñ‚Å‚à‚炦‚½‚ç‚¢‚¢‚©‚È‚ÆŽv‚¢Ú‚¹‚Ü‚µ‚½
>>651
‚¶‚á‚ ‚à‚¤allocateŽg‚í‚È‚¢——R‚Í‚È‚¢‚È
ƒR[ƒh‚àãY—í‚ɂȂ邵‚È
FORTRAN2008‚Å‚ÍAƒƒ‚ƒŠ[˜A‘±‚ð•Ûá‚·‚é contiguous ‚Ì‘®«‚ª“±“ü‚³‚ê‚é‚悤‚¾B

‚Ü‚¾2003‚àáï‚ɃRƒ“ƒpƒCƒ‰‚ª–³‚¢Žž“_‚ÅŒ¾‚Á‚Ä‚à‹S‚à‘å΂¢‚¾‚ªB
>>653
FORTRAN95/2003 Explained 20.2.1 p.331
"A non-pointer array occupies a sequence of contiguous storage sequences ‰]X"
‚Æ‚ ‚é‚Ì‚ÅAALLOCATABLE ”z—ñ‚â AUTOMATIC ”z—ñ‚ÍA˜A‘±ƒƒ‚ƒŠ[‚ª•ÛႳ‚ê‚Ä‚¢‚é‚ñ‚¶‚á‚È‚¢‚©‚ÈB

‰pŒê‚ð‚Ý‚é‚ÆA˜A‘±‚µ‚½h•¡”‚Ìh•Û‘¶—̈æ‚ð”Žì‚‚Ȃ¬‚Éè—L‚·‚éA‚¾‚¯‚ÇA
‚Ü‚ AŽ©“®”z—ñ‚à˜A‘±‚µ‚½ƒƒ‚ƒŠ‚ÉŠm•Û‚µ‚悤‚ÆAllocate‚ÌŽž‚Æ“¯‚¶’ö“x‚Ì“w—Í‚Í‚·‚é‚æ‚ñA‚Æ‚¢‚¤‚±‚Æ‚©B

”z—ñ‘S•”‚ªhˆê‚‚Ìh˜A‘±‚µ‚½ƒƒ‚ƒŠ‹óŠÔ‚ÉŽû‚Ü‚é‚©‚Ç‚¤‚©‚ÍA‚»‚ÌuŠÔ‚̃ƒ‚ƒŠŽg—p󋵂ɂæ‚é‚ñ‚¾‚낤‚ÈB
‘å‚«‚ß‚ÌŒvŽZ‹@‚¾‚ÆAˆê‚‚̃}ƒVƒ“‚Å‚ÍOS‚âI/OˆÈŠO‚Ì•”•ª‚Í”r‘¼“I‚ÉŽg‚¦‚é‚©‚ç–â‘è‚Í­‚È‚¢‚Ì‚¾‚낤
‚Æ‚¢‚Á‚Ä‚Ý‚éƒeƒXƒgB
>>658
‚¢‚âAŠ®‘S‚ɂЂƂ‚̘A‘±‚µ‚½ƒƒ‚ƒŠ[—̈æ‚È‚ñ‚Å“à‰ÈˆãH
“w—Í‹`–±‚Å‚Í‚È‚­‚ÄA•K{‹`–±‚¾‚ÆŽv‚¤B
‚Æ‚¢‚¤‚©Acontiguous ‚Æ sequence‚Á‚ĈӖ¡“I‚ÉŽ—‚Ä‚é‚æ‚È‚—
‚à‚¤­‚µ–¾Šm‚É‘‚¢‚Ä—~‚µ‚¢‚à‚ñ‚¾i‘‚¢‚Ä‚é‚Ì‚©‚à‚µ‚ê‚ñ‚ªj
661 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2009/11/04(…) 03:39:24
EEE‚ׂÁ•Ê‚É‚ ‚ñ‚½‚Ì‚½‚߂ɘA‘±‚µ‚½ƒƒ‚ƒŠ—̈æ‚ðŠm•Û‚µ‚Ä‚é‚킯‚¶‚á‚È‚¢‚ñ‚¾‚©‚ç‚ËA
‚Æ‚¢‚Á‚½‚Æ‚±‚ë‚©B“w—Í‚Í‚·‚邵ƒAƒe‚É‚µ‚Ä‚­‚ê‚Ä‚à‚¢‚¢‚¯‚ÇAâ‘΂¶‚á‚È‚¢‚¼‚È‚à‚µB
ƒtƒH[ƒgƒ‰ƒ“‚Á‚ătƒH[ƒ~ƒ…ƒ‰Eƒgƒ‰ƒ“ƒXƒtƒH[ƒ}[‚Á‚Ä‚¢‚¤‚­‚ç‚¢‚¾‚©‚çA
‰ÈŠwŒvŽZˆÈŠO‚É‚ÍŒü‚¢‚Ä‚¢‚È‚¢‚Ì‚©H
‘åÌ‚ÍA‘¼‚ÉŒ¾Œê‚ª‚È‚©‚Á‚½‚©‚çA‚È‚ñ‚Å‚àFortran‚Å‘‚¢‚Ä‚½B

Œ»Ý‚Å‚ÍAŒü‚¢‚Ä‚éŒü‚¢‚Ä‚È‚¢ˆÈ‘O‚ÉAŒ¾Œê‚Æ‚µ‚Č¢B
664 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2009/11/04(…) 12:39:17
‚»‚¤‚¢‚¦‚΂Ȃñ‚Ńgƒ‰ƒ“ƒXƒtƒH[ƒ}[‚È‚ñ‚¾‚낤

”Ž®‚ð•ÏŒ`‚¹‚¸‚É‚È‚é‚ׂ­‚»‚Ì‚Ü‚Ü‚Ì‘‚«•û‚ŃR[ƒh‚É‚Å‚«‚é‚Ì‚ª
Fortran‚̃ƒŠƒbƒg‚¾‚Á‚½‚Í‚¸‚È‚Ì‚ÉB
¡‚Å‚ÍŽg‚Á‚¿‚á‚¢‚¯‚È‚¢‚Æ‚³‚ê‚镶ŠÖ”‚È‚ñ‚ă‚ƒ‚»‚Ì–¼Žc‚¾‚æ‚ËB
>>663
ŒÃ‚¢‚䂦‚ɃRƒ“ƒpƒCƒ‰‚àƒ‰ƒCƒuƒ‰ƒŠ‚àŒÍ‚ê‚Ä‚¢‚ÄA‚Ü‚¸ƒoƒO‚Í‚È‚¢
Å“K‰»‚àˆê”Ô¡‚ÌŠi‚ñ‚Å‚¢‚é

‚Æ‚¢‚¤‚킯‚ÅM—Š«‚Æ‘¬“x‚ª—v‹‚³‚ê‚é‹Ç–Ê‚ÅŒ»Ý‚àŽg‚í‚ê‚Ä‚¢‚é‚킯‚¾
ƒgƒ‰ƒ“ƒXƒtƒH[ƒ}[‚¶‚á‚È‚­‚ăgƒ‰ƒ“ƒXƒŒ[ƒ^‚¾‚ºB
FORTRANˆÈ‘O‚͉‰ŽZŽ®‚àƒAƒZƒ“ƒuƒŠ‚Å‘‚©‚È‚¯‚ê‚΂Ȃç‚È‚©‚Á‚½A
”Ž®‚»‚Ì‚à‚̂ŃvƒƒOƒ‰ƒ€‚ð‹Lqo—ˆ‚鎖‚͉æŠú“I‚¾‚Á‚½‚ñ‚¾‚æB
= ‚Å‘ã“üA‚Æ‚¢‚¤‹K‘¥‚ðƒvƒƒOƒ‰ƒ~ƒ“ƒO‚Ì¢ŠE‚É•‹y‚³‚¹‚Ä‚µ‚Ü‚Á‚½
’£–{l‚Å‚à‚ ‚é‚ÈB
.eq.‚Æ‚©.and.‚Æ‚©Žg‚¦‚é‚Ì‚ÍC‚æ‚è‚àD‚«
C++‚à and ‚â or Žg‚¦‚é‚í‚¢
>>668
.eq.‚Í==‚Ì‚Ù‚¤‚ªŒ©‚â‚·‚­‚È‚¢H
.and.‚Æ.or.‚à‘‚­&&‚Æ||‚ªŽg‚¦‚é‚悤‚É‚È‚Á‚Ä—~‚µ‚¢‚í
.EQ. ‚Í‚Æ‚à‚©‚­ .AND. ‚Æ‚© .OR. ‚Í•Ï‚È‹L†‚æ‚蕶Žš‚Ì•û‚ª‚í‚©‚è‚â‚·‚¢‚ÆŽv‚¤‚ª‚È‚Ÿ
>>671
Ž^¬B
“™†•s“™†‚Í”Šw‹L†‚Ì‚Ù‚¤‚ª‚¢‚¢‚ªA.AND. .OR. ‚Í‚±‚Á‚¿‚Ì‚Ù‚¤‚ª‚¢‚¢B
&&¤||‚ÍŒ©‚Ä‚­‚ê‚©‚炵‚ăCƒ}ƒCƒ`B
—ðŽj“I‚É‚àEBCDIC‚É–³‚¢‹L†‚¾‚©‚çAFORTRAN‚É“ü‚낤‚Í‚¸‚à–³‚©‚Á‚½B
APL’[––Žg‚¦‚΂¢‚¢‚Ì‚©‚à’m‚ê‚ñ‚ª‚—
673 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2009/11/05(–Ø) 05:16:55
ƒRƒ“ƒ}‚ª
10i”•‚“®¬”“_‚̬”“_A—˜_‰‰ŽZŽq‚Ìü‚èAstructure‚Ì‹æØ‚è
‚ÅŽg‚í‚ê‚é‚©‚烃“ƒhƒCwB

–Ú‚ÌŠµ‚ꂾ‚낤‚ÈBŽ©•ª‚Í .AND. .OR. ‚Ì•û‚ª‚Ý‚â‚·‚¢‚¯‚ÇB
ƒXƒy[ƒX–³‚µ‚¾‚Æ‚Ý‚É‚­‚¢‚¯‚ÇB
>>671,672
‚±‚ê‚Í‚à‚¤D‚Ý‚Ì–â‘肾‚낤‚È‚ŸB
Ž©•ª‚Í‹L†‚Ì‚Ù‚¤‚ªA‰p”Žš‚ɑ΂µ‚ĈႢ‚ªÛ—§‚‚ñ‚ÅD‚«‚¾‚ÈB
‚ ‚ÆA•¶Žš”‚ª­‚È‚¢‚Ì‚à‚¢‚¢B.AND.‚Í5•¶Žš‚à‚ ‚邵B

>>673
„10i”•‚“®¬”“_‚̬”“_A—˜_‰‰ŽZŽq‚Ìü‚è
—g‚°‘«‚¶‚á‚È‚¢‚ªA‚±‚ê‚̓Rƒ“ƒ}‚¶‚á‚È‚­‚ăsƒŠƒIƒh‚¶‚á
>>674
CŒ¾Œê‚Í“ÁŽêŽ–‚ ‚é‚ñ‚¾‚æ

ŽjãÅ‚à‹L†‚ª‘½‚¢Œ¾Œê‚ÍAPL‚ÅA–¢‚¾‚É‚±‚ÌŒ¾Œê‚ð’´‚¦‚é‚à‚Ì‚Í
o‚Ä‚¢‚È‚¢‚ªA‘æ“ñˆÊ‚ÉCŒ¾Œê‚Æ‚È‚Á‚Ä‚¢‚é(¡‚ÍC++)

CŒ¾Œê‚Í‚Æ‚É‚©‚­—\–ñŒê‚ð‚Å‚«‚邾‚¯Œ¸‚炵‚½‚­‚ÄA‘½‚­‚̃[ƒh‚ð‹L†‚É
‚µ‚½‚ÆŒ¾‚í‚ê‚Ä‚¢‚é

‚»‚Ì‚½‚ßCŒ¾Œê‚Ì—\–ñŒê‚͂킸‚©32ŒÂ‚µ‚©‚È‚¢

C++‚ÍC‚æ‚è‹L†‚ª‘½‚¢‚É‚àŠÖ‚í‚炸—\–ñŒê‚Í‚©‚¦‚Á‚Ä‘‚¦‚½
C++0x‚Å‚ÍX‚É‘‚¦‚é
‚»‚è‚ጾŒê‚É‹@”\‚ð‚Ä‚ñ‚±‚à‚è‚É‚µ‚Ä‚é‚ñ‚¾‚©‚ç
‹L†‚à—\–ñŒê‚à‘‚¦‚é‚æ‚È‚Ÿ

Fortless‚ÍUnicode‚ʼn‰ŽZŽq‚ð’è‹`‚Å‚«‚é‚炵‚¢‚©‚çA‚à‚µ‚©‚µ‚½‚çŽg‚¦‚é‹L†‚Ì
”‚Å‚ÍAPL‚ð‰z‚¦‚é‚©‚àw
Fortress‚¾‚Á‚½orz
Fortress‚ÍŽ€‚ñ‚¾‚ñ‚¶‚á‚È‚©‚Á‚½H

SunEEE(LGƒÖGM)ÌÞܯ
Guy Steele ‚ª blog Žn‚ß‚½‚è‚Æ‚©‚µ‚Ă邯‚Ç...
ttp://projectfortress.sun.com/Projects/Community/blog
680 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2009/11/06(‹à) 02:10:17
>>675
‚»‚¤‚¢‚í‚ê‚é‚ÆFortran‚Í0-9,a-ZˆÈŠO‚ÉŽg‚¤•¶Žš‚Í­‚È‚¢‚ËB
{}[]@^_%~`;<>?|\ ‚ÍŽg‚í‚È‚¢‚Å‚àÏ‚Þ‚ËB[]%\ ‚ÍŽg‚¤ó‹µ‚Í‚ ‚邯‚Ç‘ã‘Ö‚ª‚ ‚邵B
ŒÅ’è‘Ž®‚ÅŒp‘±s‚ÉŽg‚¤‚Æ‚©‚µ‚È‚¢‚ÆŽg‚í‚È‚¢•¶Žš‚ª‘½‚¢B
‚Í”÷–­B‹KŠiŠO‚¾‚¯‚Ç‚½‚Ü‚ÉŽg‚¤B”‚̓vƒŠƒvƒƒZƒX‚µ‚Ä‚ê‚ÎŽg‚¤‚È‚¯‚Ç•W€‚Å‚Í‚È‚¢‚ÈB
‚¾‚©‚çEBCDIC‚¾‚Æ
>>680
ASCIIƒR[ƒh‚ðŽg‚Á‚Ä‚é‚Ì‚ÍAƒ~ƒjƒRƒ“‚Æ‚©WS‚Æ‚©ƒpƒ\ƒRƒ“‚Æ‚©‚µ‚å‚Ú‚¢ƒ}ƒVƒ“‚¾‚¯‚¾‚Á‚½‚ñ‚¾‚æB
F90‚Ì‹KŠi‚ÉA‚₽‚ç‚ƌŗL•¶ŽšƒR[ƒh‚ÆASCIIƒR[ƒh•ÏŠ·‚Æ‚©‚ ‚é‚Ì‚Í‚»‚Ì‚½‚ßB
¬•¶Žš‚ª’[––‚©‚çŽg‚¦‚È‚¢‚±‚Æ‚à‘½‚©‚Á‚½‚µB

”’lƒtƒH[ƒ}ƒbƒg‚àƒoƒ‰ƒoƒ‰‚¾‚Á‚½‚©‚çA”’l‚̊â—LŒøƒrƒbƒg”‚ðq‚Ë‚éŠÖ”‚à‚»‚ë‚Á‚Ä‚éB

>>682
System/360‚É‚àASCII‚Æ‚ÌØ‚è‘Ö‚¦ƒXƒCƒbƒ`‚Í•t‚¢‚Ä‚½‚ñ‚¾‚¯‚Ç‚Èw
>>683
‚»‚¤‚È‚Ì‚©‚—‚—‚—


‚Ï‚Á‚ƃL[ƒ{[ƒh‚ð‚Ý‚ÄEEE•K{‚È‚Ì‚Í
0-9 A-Z .,()=+-*/'
‚¾‚¯‚©BŒ©—Ž‚Æ‚µ‚È‚¯‚ê‚Î46•¶ŽšBSpace‚ª•K{‚Å‚È‚¢‚Æ‚±‚낪‚È‚ñ‚Æ‚àƒCƒJ‚·B
Žg‚í‚ê‚镶Žš”‚ª­‚È‚¢‚̂̓pƒ“ƒ`ƒJ[ƒhŽž‘オ‚ ‚é‚©‚炾‚낤‚ÈB
Vi‚Å•ÒW‚µ‚â‚·‚¢‚킯‚¾w
CŒ¾Œê‚¾‚Á‚ăpƒ“ƒ`ƒJ[ƒhŽž‘ã‚ÉÝŒv‚³‚ꂽ‚ñ‚¾‚æ
scanf()‚È‚ñ‚Ä‚ ‚ê‚̓pƒ“ƒ`ƒJ[ƒhŽž‘ã‚Ì–¼Žc
‚Æ‚É‚©‚­ƒ^ƒCƒv—Ê‚ðŒ¸‚ç‚µ‚½‚­‚Ä‘½‚­‚Ì—\–ñŒê‚ð‰‰ŽZŽq‚É•Ï‚¦‚½
‚»‚ê‚͈ႤBprintf‚âscanf‚ÍAFortran—p‚̃‰ƒ“ƒ^ƒCƒ€ƒ‹[ƒ`ƒ“‚ð—¬—p‚µ‚½‚È‚²‚èB
CŒ¾Œê‚Ì”­Ë‚ÍŽå‚Ƀ~ƒjƒRƒ“•¶‰»Œ—‚ÅAƒpƒ“ƒ`ƒJ[ƒh‚¶‚á‚È‚­AŽ†ƒe[ƒv‚ƃeƒŒƒ^ƒCƒv‚ªŽå—¬B
‹L†‚¾‚Á‚ÄEBCDIC‚É‚È‚¢‚à‚̂𑽗p‚·‚邵i‚»‚Ì‚¹‚¢‚Ńgƒ‰ƒCƒOƒ‰ƒt‚È‚ñ‚Ä‚à‚Ì‚à
‚Å‚«‚½‚肵‚½‚ªwj
creatiÎj
>>685
‹@”\‚Ì‘ã‘Ö‚ª‚È‚¢A‚Æ‚¢‚¤“_‚Å‚ÍF‚Ì“YŽš”͈͎w’è‚à‚©‚ÈA‚Á‚Ä‚ ‚ê
‚PˆÈŠO‚©‚ç”͈͎w’è‰Â‚È‚Ì‚ÍF77‚Å‚ào—ˆ‚½‚Á‚¯H
•W€‚Ì‹@”\‚Æ‚µ‚ÄA‚Æ‚¢‚¤ˆÓ–¡‚ËB
>>689
‚V‚V‚Å‚Í”z—ñ‚Ì錾‚Ì‚Æ‚±‚낾‚¯‚¾‚Á‚½‚©A•¶Žš—ñ‚Å‚Í•”•ª•¶Žš—ñ‚ÌŽw’è‚ÉŽg‚¦‚½B
‚ ‚ƃtƒH[ƒ}ƒbƒg‚Å‚àƒRƒƒ“‚ªŽg‚¦‚½‚Í‚¸B
character*7 mojiretu
mojiretu = 'smtwtfs'
write(*,*) mojiretu
mojiretu(2:6) = 'sssss'
write(*,*) mojiretu

‚Ý‚½‚¢‚ÈŽg‚¢•û‚ÌŽ–‚¾‚ËB‹KŠi‚ª30”N‚­‚ç‚¢‘O‚¾‚¯‚ÇA‚»‚ÌŒã‚̃xƒNƒgƒ‹•\Œ»‚Ì“õ‚¢‚ª‚·‚éB
‚»‚¤‚¢‚¤•¶Žš—ñŽæˆµ‚¢‚ÌŽù—v‚ª‚ ‚Á‚½‚©‚炾‚낤‚¯‚ÇAæ‚ð‚¢‚Á‚Ä‚½‚ñ‚¾‚ÈEEE‚½‚Ô‚ñB

ƒtƒH[ƒ}ƒbƒg’†‚̗ႪŽv‚¢‚‚©‚È‚©‚Á‚½B
¡ŒãGPGPUŒn‚̃XƒpƒRƒ“‚ªŽå—¬‚É‚È‚Á‚Ä‚«‚½‚çA‚¢‚Á‚»C‚Éæ‚芷‚¦‚½‚Ù‚¤‚ª‚¢‚¢‚Ì‚©‚ÈEEE
‚à‚¤‚µ‚΂炭‚Í—lŽqŒ©‚¾‚¯‚Ç

‚»‚¤‚¢‚¦‚ÎACUDA‚ª™X‚ÉFortran‚ɑΉž‚µ‚Ä‚«‚Ä‚é‚悤‚¾‚¯‚ÇAŽg‚Á‚Ä‚él‚¢‚éH
>>693
PGI ‚ª CUDA ‘Ήž Fortran2003 ‚ðo‰×‚µŽn‚ß‚½‚Ý‚½‚¢‚¾‚¯‚ÇA’N‚©Žg‚Á‚Ä‚È‚¢‚Ì‚©‚ÈH

GPGPU ‚à̂̃AƒŒƒCƒvƒƒZƒbƒT‚Æ‚æ‚­Ž—‚Ä‚¢‚é‚©‚çA‚·‚®”p‚ê‚ÄI‚í‚é‚Æ‚©Œ¾‚¤˜b‚à•·‚¢‚Ä
‚È‚ñ‚È‚ñ‚¾‚©‚È[‚—@
PGIŠæ’£‚Á‚Ä‚é‚æ‚È
‚Ü‚ŸA‚¤‚Ü‚­‚¢‚¯‚ÎIntel‚Ì“ñ”Ô÷‚¶‚ȃ|ƒWƒVƒ‡ƒ“‚©‚ç’E‹p‚Å‚«‚邵‚È
ƒtƒH[ƒgƒ‰ƒ“‚ðŒ¤‹†Žº‚ÅŽw’肳‚ê‚ÄŽg‚¨‚¤‚Æ‚µ‚Ä‚é‚ñ‚Å‚·‚¯‚Ç
>>2‚Ì
http://www.salfordsoftware.co.uk/
‚Ì‚Ç‚±‚©‚çƒ_ƒEƒ“ƒ[ƒh‚·‚é‚Ì‚©‚݂‚©‚ç‚È‚¢‚ñ‚Å‚·‚¯‚Ç‹³‚¦‚Ä‚­‚ê‚Ü‚·‚©H‚¨Šè‚¢‚µ‚Ü‚·
697 F696F2009/12/14(ŒŽ) 01:05:55
ŠÔˆá‚¦‚Ü‚µ‚½
‚·‚Ý‚Ü‚¹‚ñ
698 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2009/12/17(–Ø) 14:58:51
http://www.ftc.gov/opa/2009/12/intel.shtm
Intel secretly redesigned key software, known as a compiler,
in a way that deliberately stunted the performance of competitorsfCPU chips.

‚¾‚Á‚Ä‚³
‚¢‚ë‚¢‚ël‚¦‚é‚à‚ñ‚¾‚Ë[
700 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2009/12/18(‹à) 22:51:01
Fujitsu»Fortran&C Package Windows”Å‚ª»‘¢E”­”„’†Ž~‚Æ‚È‚Á‚½‚½‚ßA
¡ŒãWindows XP‚Ì’ñ‹Ÿ‚ªI—¹‚·‚é‚ÆV‚µ‚¢PC‚ÉŽg—po—ˆ‚È‚­‚È‚é‚Ì‚Å
V‚½‚ȃRƒ“ƒpƒCƒ‰[‚Æ”’lŒvŽZƒ‰ƒCƒuƒ‰ƒŠ‚ð’T‚µ‚Ä‚¢‚Ü‚·B
‚Ç‚È‚½‚©‚¨Š©‚߂̃[ƒJ‚ð‹³‚¦‚Ä‚­‚¾‚³‚¢B
ðŒ‚ÍAWindows Vista & 7ã‚Å“®ì‚·‚éƒRƒ“ƒpƒCƒ‰[‚ƃ‰ƒCƒuƒ‰ƒŠ‚Å
ƒŠ[ƒYƒiƒuƒ‹‚È‚à‚ÌB
ƒpƒ\ƒRƒ“‚ÍŽ„‚Pl‚Å70‘ä‚­‚ç‚¢Žg‚Á‚Ä‚¢‚Ü‚·B
(Fujitsu»‚̃‰ƒCƒZƒ“ƒX‚ÍŽg—p‚·‚él”‚É‚©‚©‚èA
PC‚̑䔂ɂ͊֌W‚È‚©‚Á‚½‚Ì‚Åd•ó‚µ‚Ä‚¢‚½‚Ì‚Å‚·‚ªB)
‚æ‚낵‚­‚¨Šè‚¢‚µ‚Ü‚·B
•xŽm’Ê‚ªPC—pFortran‚â‚ß‚é‚È‚çAOEM‚â‚Á‚Ä‚éƒAƒƒŠƒJ‚ÌLahey‚Í‚Ç‚¤‚·‚ñ‚¾‚ëH
>>698
HPC‚ª·‚ñ‚É‚È‚è‚‚‚ ‚鎞‘ã‚É‚±‚ñ‚È‚±‚Æ‚â‚Á‚Ä‚½‚ç
–^‹@ŠÖ‚É–Ú‚ð•t‚¯‚ç‚ê‚Ä‘¦Ž€‚È‚ñ‚¶‚á‚—
–^‹@ŠÖ‚Ƃ͘b‚ð‚‚¯‚Ä‚©‚ç‚â‚ç‚©‚µ‚½‚Ì‚Å‚Íw
704 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2009/12/21(ŒŽ) 18:27:54
FORTRANŽg‚¢‚È‚ñ‚©ƒzƒ“ƒg‚É‚¢‚é‚Ì‚©‚¢‚ÈEEE
705 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2009/12/22(‰Î) 10:23:48
cygwinAMPICH2‚ÅCompaq Visual fortran 6.6 ‚ð“®ì‚³‚¹‚é•û–@‚ª‚ ‚ê‚΋³‚¦‚Ä‚­‚¾‚³‚¢B
MPICH‚̃Cƒ“ƒXƒg[ƒ‹Žž‚É set F90=~/Microsoft Visual Studio/DF98/Bin/f90
‚Æ‚µ‚Ä‚Ý‚½‚Ì‚Å‚·‚ªA”FŽ¯‚µ‚Ü‚¹‚ñ‚Å‚µ‚½B
706 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2009/12/26(“y) 10:50:24
‚ ‚Á‚»‚¤
707 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/03/28(“ú) 18:31:28
¡CIntel Visual Fortran ‚Æ PGI Visual Fortran ‚Ì‚Ç‚¿‚ç‚𔃂¨‚¤‚©–À‚Á‚Ä‚¢‚Ü‚·B
ŠF‚³‚ñ‚Ì‚¨Š©‚ß‚Í‚Ç‚¿‚ç‚Å‚·‚©H

ŽÀs‘¬“x‚Æ‚©CGPGPU‚Æ‚©C•À—ñ‰»‚Æ‚©CVisual Studio 2008 ‚É“‡‚µ‚ăR[ƒfƒBƒ“ƒO‚µ‚Ä‚¢‚é‚Æ‚«‚Ì
Žg‚¢ŸŽè‚Ì—Ç‚³‚Æ‚©CƒRƒ“ƒpƒCƒ‰‚ÌŒµ–§‚³‚Æ‚©i© •Ï”錾•”‚Å”z—ñ‚ð a(3) ‚Æ錾‚µ‚Ä‚¢‚é‚Ì‚ÉC
ŽÀs•”‚Å a(4) = 1 ‚Æ‘‚¢‚½‚Æ‚«CIVF ‚̃Rƒ“ƒpƒCƒ‰‚̓Gƒ‰[‚ðo‚µ‚Ä‚­‚ꂽ‚¯‚ÇCPVF ‚Ì‚Ù‚¤‚Í
ƒGƒ‰[‚È‚µ‚ŃRƒ“ƒpƒCƒ‹‚ª¬Œ÷‚µ‚Ä‚µ‚Ü‚Á‚½jC‚»‚Ì‘¼FX‚È–Ê‚Å‚Ç‚¤‚Å‚µ‚傤B
ŒÂl“I‚É‚Í PGI ‚Í‚ ‚Ü‚èM—p‚µ‚Ä‚¢‚È‚¢
‚‚©AWindows ŠÂ‹«‚Å Fortran ‚ªM—p‚Å‚«‚Ä‚¢‚È‚¢
# Intel ‚Í, ‚Ü‚Ÿ, ‚Ü‚µ‚È•”—Þ‚¾‚ÆŽv‚¤
>>707
>ŽÀs•”‚Å a(4) = 1 ‚Æ‘‚¢‚½‚Æ‚«CIVF ‚̃Rƒ“ƒpƒCƒ‰‚̓Gƒ‰[‚ðo‚µ‚Ä‚­‚ꂽ‚¯‚ÇCPVF ‚Ì‚Ù‚¤‚Í
>ƒGƒ‰[‚È‚µ‚ŃRƒ“ƒpƒCƒ‹‚ª¬Œ÷‚µ‚Ä‚µ‚Ü‚Á‚½jC‚»‚Ì‘¼FX‚È–Ê‚Å‚Ç‚¤‚Å‚µ‚傤B
‚U‚UŽž‘ã‚Í®‡”z—ñ‚ª–¢®”õ‚¾‚Á‚½‚Ì‚ÅAƒTƒuƒ‹[ƒ`ƒ“‚Æ‚©‚Ìæ‚Å‚Í”z—ñƒTƒCƒY‚ð“K“–‚ɌŒ肵‚Ä
‚Í‚Ýo‚µ‚ÄŽg‚¤‚±‚Æ‚ª‚æ‚­‚ ‚Á‚½B—ðŽj“IŽ–î‚©‚çˆêŠT‚ɃGƒ‰[‚É‚·‚é‚킯‚É‚à‚¢‚©‚ñ‚Ì‚æB

ƒRƒ“ƒpƒCƒ‰‚̃IƒvƒVƒ‡ƒ“‚Æ‚©‚ÅŒµŠi‚È”»’f‚ª‚Å‚«‚é‚Í‚¸‚¾‚ÆŽv‚¤‚©‚çA’²‚ׂĂ݂Ă¿‚åB
IntelFortran‚É‚à90,95,2003–ˆ‚Ì‹KŠiˆá”½ŒxƒIƒvƒVƒ‡ƒ“‚ª—L‚éB

‚»‚¤‚¢‚¦‚ÎÅ‹ß‚ÌPGI@Fortran‚Í•Ä‘‘åŠwŒ¤‹†‹@ŠÖ‚ÉŠ‘®‚Å‚ ‚ê‚ÎAWin—p‚ª–³ž‚ÅŽg‚¦‚½‚悤‚ÈH
ƒLƒƒƒ“ƒy[ƒ“‚Í‚à‚¤I‚í‚Á‚½‚©‚à‚µ‚ê‚È‚¢‚ªB

IVF ‚Á‚Ä GPGPU ‚ª‚Å‚«‚é‚Ì‚Å‚·‚©H
>>710
‚Å‚«‚È‚¢B

CUDA‚ÌAPI‚ðCALL‚·‚é‚Æ‚¢‚¤ˆÓ–¡‚Å‚È‚ç‚Å‚«‚È‚­‚à–³‚¢B
Fortran‚̃‰ƒbƒp[‚ð‘‚­ƒI[ƒvƒ“ƒ\[ƒX‚ȃvƒƒWƒFƒNƒg‚ª“®‚¢‚Ä‚¢‚½‚Í‚¸B
GPU‘¤‚ÅŽÀs‚·‚é•”•ª‚Í–³˜_C‚Å—pˆÓ‚·‚é‚Ì‚¾‚Æ‚¨‚à‚¤‚ªB

712 F707, 710F2010/03/29(ŒŽ) 21:38:52
>>708-709 >>711
ƒŒƒX‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½BŽQl‚É‚È‚è‚Ü‚µ‚½B
>>707 ƒRƒ“ƒpƒCƒ‰‚ÌŒµ–§‚³‚Æ‚©i© •Ï”錾•”‚Å”z—ñ‚ð a(3) ‚Æ錾‚µ‚Ä‚¢‚é‚Ì‚ÉCŽÀs•”‚Å a(4) = 1

ƒCƒ“ƒeƒ‹‚Ì‚Í“YŽš”͈̓`ƒFƒbƒN‚ªŠÃ‚¢‚æ‚ËB_“î‚Æ‚à‚¢‚¦‚邯‚ÇEEEB
ƒRƒ“ƒpƒCƒ‹Žž‚ÌŒx‚̂悳H‚Å‚Í gfortran -Wall ‚ ‚½‚肪‚¢‚¿‚΂ñ‚©‚È‚Ÿ
ˆÈ‘O‚ÍDECŒn‚Å‚¢‚¢‚Ì‚ª‚ ‚Á‚½‚ñ‚¾‚¯‚Ç‚ËB‚³‚·‚ª‚É¡‚Å‚ÍB
(ƒƒCƒ“ŠK‘w‚Å)
real a(10)
call hoge(a)

subroutine hoge(a)
real a(2)
a(10) = 1.0

‚Æ‚¢‚¤‚Ì‚ª‚ ‚Á‚ÄAƒXƒ‹[‚·‚é‘ål‚ªƒCƒ“ƒeƒ‹BŽÀÛƒƒCƒ“ŠK‘w‚Å‚Í”z—ña(10)‚Ì“à—e‚É–â‘è‚È‚¢‚킯‚¾B
•¶‹å‚¢‚¤‚Ì‚ªGfortran‚âFujitsu‚âPGI‚âIBM‚âNEC
>>714
‚»‚Ìsubroutine‚̓‚ƒWƒ…[ƒ‹‚¶‚á‚È‚¢A•’Ê‚ÌŠO•”ƒTƒuƒ‹[ƒ`ƒ“‚Æ‚¢‚¤‘O’ñ‚¾‚æ‚Ë
a(11)=1.0‚ð‚â‚é‚ƃGƒ‰[‚É‚È‚éH
>>715
‚»A‚½‚¾‚ÌSubroutine.
Module ‚Í’l‚Ì’ÇÕ‚ª–Ê“|L‚¢‚µAƒRƒ“ƒpƒCƒ‹Žž‚ɇ”Ô‚ªŠÖŒW‚·‚邵A
Common‚Æ“¯‚¶‚悤‚ÈŠï–­‚ÈU•‘‚ð‚·‚éŽ–‚à‚ ‚é‚Ì‚ÅŽ©•ª‚Å‚ÍŽg‚í‚È‚¢B‚È‚ê‚é‚Æ•Ö—˜‚炵‚¢‚¯‚Ç‚ËB

a(11)=1.0
‚»‚Ì‚à‚Ì‚É‚½‚¢‚µ‚Ä‚ÍAƒRƒ“ƒpƒCƒ‹EŽÀsŽž‚Æ‚à‚É•¶‹å‚ð‚¢‚í‚È‚©‚Á‚½B(ˆÈ‰º‚º‚ñ‚ÔIntel.‘¼‚Ì‚Í‚µ‚ç‚È‚¢)B
‚Å‚àŽÀsŽž‚É‚Ícall hoge()‚Ì‚ ‚Æ‚É a ˆÈŠO‚Ì•Ï”‚ª‰ó‚ꂽ‚èwA hoge() “à‚Å Invalid ‚È‚ñ‚½‚ç‚炪
‚Å‚½‚èEEƒRƒ“ƒpƒCƒ‹ƒIƒvƒVƒ‡ƒ“‚Å‚à•Ï‚í‚éB‰½Ž–‚à‚È‚©‚Á‚½‚©‚̂悤‚ÉŽÀsI—¹‚·‚邱‚Æ‚à‚ ‚éw
Intel Fortran ‚Í‘¬“x“I‚É‚Í—Ç‚¢ƒRƒ“ƒpƒCƒ‰‚¾‚Æ‚¨‚à‚¤‚¯‚ÇA
ŠJ”­’†‚ÉŽg‚¤‚ɂ͊댯‚Ȃ肪‚·‚é‚Ì‚Å‚Ó‚¾‚ñ‚ÍgfortranB
Intel ‚Ì‚Å‚à Visual ‚ª‚‚­•û‚Í‚Ü‚¾‚¢‚¢‚Ì‚©‚È‚ H HP‚Í‚à‚¤DECŒn•ˆ‚ÌFortran‚ÍI—¹‚¾‚æ‚ËB
>>716
MODULE‚‚©‚¦‚æ‚—
Œ^ƒ`ƒFƒbƒN‚Æ‚©•Ö—˜‚¾‚ëB
ꇂɂæ‚Á‚Ä‚ÍÅ“K‰»“x‚à‚ ‚ª‚é‚Í‚¸B

‚Ü‚ŸƒJƒXƒP[ƒhŒ^‚̃ŠƒRƒ“ƒpƒCƒ‹‚Ì—’‚ª‹N‚«‚é‚Ì‚ªƒEƒUƒC‚Ì‚Í‚í‚©‚邪A
‚ ‚ê‚àF2008‚ÅSUBMODULE‚ª“±“ü‚³‚ê‚Ä‚È‚ñ‚Æ‚©‚È‚éB
2008‹»–¡‚ ‚邯‚ÇAŽg‚Á‚Ä‚él‚ªŽü‚è‚É’N‚à‚¢‚È‚¢EEE
‚Æ‚¢‚¤‚©ƒOƒO‚Á‚Ä‚à‚ ‚ñ‚Üî•ñ‚È‚¢‹C‚ª
‚Ç‚±‚ŕ׋­‚·‚ê‚΂¢‚¢‚ÌH
716 ‚Ì“YŽš”͈͂¤‚Á‚©‚肳‚ñ‚ÍIntel‚¾‚¯‚̘b‚ËB
‘¼‚̂̓Rƒ“ƒpƒCƒ‹ƒGƒ‰[‚Å‚»‚êˆÈãi‚ß‚È‚©‚Á‚½‚©‚çB

>>717
‚ ‚é’ö“x‚È‚ê‚ă}ƒCModule‚‚­‚é‚Æ‚à‚¤–ß‚ê‚È‚¢‚­‚ç‚¢ƒCƒC‚炵‚¢‚ËB
–ƒ–ò‚̂悤‚É‚à‚¤”²‚¯‚ê‚È‚­‚È‚éA‚킯‚Å‚Í‚È‚¢‚Ì‚¾‚낤‚¯‚Ç‚—
‚Å‚à•sŠµ‚ê‚È‚Æ‚«‚ɃRƒ“ƒpƒCƒ‹‚·‚邾‚¯‚É‚©‚È‚è‚à‚ª‚¢‚½
‚‚炢ŒoŒ±‚ð‚µ‚Ä‚µ‚Ü‚Á‚½‚Ì‚ÅŒh‰“’†B‚Å‚à‚»‚Ì‚¤‚¿Žg‚¤‚ÆŽv‚¤‚æI
>>718
F2008‚Á‚Ä‹KŠi‚Ì•”•ª‚¾‚¯‚Å‚à“Ç‚ß‚È‚¢‚Ì‚©‚ÈH
ƒxƒ“ƒ_‚ª‘Ήž‚·‚é‚Æ‚©‚µ‚È‚¢‚Ƥ‹ÆƒŒƒxƒ‹‚Ì–{‚Ío‚È‚¢‚ÆŽv‚¤‚Ì‚Å
(o‚Ä‚à“ú–{Œê‚Ì‚ª‚Å‚é‚Ì‚©‚Í‚ ‚₵‚¢‚ª)‚¹‚ß‚Ä—\K‚—‚­‚ç‚¢‚Í‚µ‚Ä‚¨‚«‚½‚¢B
>>719
‰SŽÒ‚¾‚¯‚Ç“®“IŠ„•t”z—ñ‚Ì‚½‚߂Ƀ‚ƒWƒ…[ƒ‹Žg‚Á‚Ä‚Ü‚·
‚â‚Á‚Ï‚èƒRƒ“ƒpƒCƒ‹ƒGƒ‰[‚â‚ç‚Í‘½‚¢‚Å‚·‚Ë
>>718
‚»‚ê‚Í‚½‚Ô‚ñF‚Q‚O‚O‚RB
‚Ü‚¾Š®‘S‘ΉžƒRƒ“ƒpƒCƒ‰‚ªCRAY‚µ‚©o‚µ‚Ä‚È‚¢B
•×‹­‚ÌŽèŽn‚ß‚ÍAPDF’¼ƒŠƒ“‚¾‚ª
ttp://www.itscj.ipsj.or.jp/forum/forum2008SC22fortran/Fortran20032008.pdf@
The New Features of Fortran 2003
ttp://www.ipc.bas.bg/PPages/Bogi/newFortran2003.pdf

F2003‚͉p•¶‚È‚çA‚È‚ñ‚Ú‚©‹³‰È‘‚à‚Å‚Í‚¶‚ß‚Ä‚¢‚éB‚µ‚©‚µ2003•”•ª‚Í‚PÍ’ö“x‚¾‚Á‚½‚è‚Å‚¢‚Ü‚¢‚¿B


F2008‚Í
The new features of Fortran 2008
ftp://ftp.nag.co.uk/sc22wg5/N1701-N1750/N1729.pdf
‚±‚Á‚¿‚Í‚Ü‚¾‹KŠi‚ÌÅIƒhƒ‰ƒtƒg‚ª‚Å‚«‚½’iŠK‚ÅA³Ž®‹KŠi‚Å‚Í‚È‚¢BÅIƒhƒ‰ƒtƒg‚Í‚½‚¾‚ÅŒ©‚ê‚éB
‚±‚±‚Å«
ISO‹KŠi‚Ì‹c˜_‚ð‚µ‚Ä‚¢‚é–{‰Æ
ttp://www.nag.co.uk/SC22WG5/
ƒiƒO‚³‚ñ‚¿‚ª–{‰Æ‚È‚Ì‚©
NAG‚ª–{‰Æ‚È‚Ì‚©‚æ‚—
–{‰Æ‚Á‚‚Á‚Ä‚à‘‹L‚¾‚¯‚ÇA‚Ü‚Ÿ‹cŽ–˜^“Iî•ñ‚Í‚±‚±‚ÉW–ñ‚³‚ê‚Ä‚é‚ÈB
softek‚Ý‚½‚¢‚È‚à‚ñ‚©H‚—
726 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/04/06(‰Î) 06:01:13
‹³‚¦‚Ä’¸‚«‚½‚¢‚Ì‚Å‚·‚ªA
2ŽŸŒ³”z—ñ‚̈ꕔ•ª‚¾‚¯‚ðƒTƒuƒ‹[ƒ`ƒ“‚É‘—‚Á‚½ê‡A‚»‚Ì•”•ª“I‚È—v‘f‚¾‚¯‚ð
Œq‚°‚½•Ê‚Ì”z—ñ‚ªˆêŽž“I‚Éì‚ç‚ê‚Ĉ—‚ð‚³‚ê‚é‚Ì‚Å‚µ‚傤‚©H

—Ⴆ‚ÎAŽåƒvƒƒOƒ‰ƒ€–`“ª‚Å
integer :: x(10 , 20)
‚Æ‚µ‚½ê‡Aƒƒ‚ƒŠã‚É10 * 20 ‚Ì”z—ñ‚ªo—ˆ‚Ü‚·‚æ‚ËH
‚±‚ê‚ð call hoge( x(3:8 , 12:19) , ... ) ‚Æ‚·‚é‚ÆA
6 * 8 ‚̈ꎞ“I‚È xf ‚ª•Ê“rƒƒ‚ƒŠã‚Éì‚ç‚ꂽ‚¤‚¦‚Å
‚»‚ꂪƒTƒuƒ‹[ƒ`ƒ“‚Ö‘—‚ç‚ê‚é‚Ì‚Å‚µ‚傤‚©H

–c‘å‚È”z—ñ‚ðˆµ‚¤‚Ì‚ÅA‚È‚é‚ׂ­Œø—¦“I‚ȃvƒƒOƒ‰ƒ€‚ð‘‚«‚½‚¢‚Ì‚Å‚·D
•×‹­‚µŽn‚ß‚ÌŽÒ‚È‚Ì‚ÅAƒgƒ“ƒ`ƒ“ƒJƒ“‚È‚±‚Æ‚ðŒ¾‚Á‚Ä‚¢‚½‚ç‹°k‚Å‚·...
>>726
‚»‚¤‚¢‚¤˜A‘±‚µ‚Ä‚¢‚È‚¢‚Ì‚Ícopy in - copy out‚Å’†ŠÔ‚̃eƒ“ƒ|ƒ‰ƒŠ”z—ñ‚ªˆÃ–Ù‚Éì‚ç‚ê‚éB

ˆêŽŸŒ³‚ÉŠÒŒ³‚µ‚½‚Æ‚«‚ɘA‘±‚µ‚Ä‚¢‚éꇂÍAƒRƒs[‚ðì‚é‚©‚Ç‚¤‚©‚Íꇂɂæ‚é‚ÆŽv‚¤B


ƒf[ƒ^‚ªƒV[ƒPƒ“ƒVƒƒƒ‹‚¾‚Á‚ÄŽwŽ¦‚·‚éƒIƒvƒVƒ‡ƒ“‚ ‚Á‚½‚悤‚ÈH
‚¢‚¸‚ê‚É‚µ‚Ä‚àAcall hoge( x(3:8 , 12:19) , ... ) ‚¾‚ÆuˆêŽŸŒ³‚ÉŠÒŒ³‚µ‚½‚Æ‚«‚ɘA‘±v‚µ‚Ä‚¢‚È‚¢‚©‚çAƒRƒs[‚Í”ð‚¯‚ç‚ê‚È‚¢‚¾‚낤‚È
729 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/04/06(‰Î) 17:55:20
‚¤‚Ђå[I‚e‚‚’‚”‚’‚‚ŽII‚P‚P
Fortran2011‚Ìô’肪Žn‚Ü‚Á‚½‚Ì‚©‚ÆŽv‚Á‚½
•´‚ç‚킵‚¢‚¼‚—>>729
731 F726F2010/04/07(…) 07:28:05
>>727, 728
‚È‚é‚Ù‚ÇB‚Ç‚¤‚à‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B
@
—]Œv‚ȃƒ‚ƒŠ‚ðÁ”‚¹‚È‚¢‚½‚ß‚É‚ÍA
call hoge( x(3:8 , 12:19) , ... ) ‚Í”ð‚¯A
call hoge2( x, 3, 8, 12, 19, ...) ‚È‚Ç‚Æ‚µ‚ÄAƒTƒuƒ‹[ƒ`ƒ“‚Ö‚Í x ‚Ì‚Ü‚Ü“n‚µ‚Ä
ŽÀÛ‚É‘€ì‚µ‚½‚¢”z—ñ—v‘f”Ô†‚à•Ê‚ÉŽw’è‚·‚é‚Æ‚¢‚Á‚½•û–@‚ª—Ç‚¢‚Á‚Ä—‰ð‚Å‚æ‚¢‚Å‚µ‚傤‚©

‚à‚¤ˆê“_Ž¿–₪‚ ‚é‚Ì‚Å‚·‚ªA
call hoge2( x, ... ) ‚Æ@call hoge2( x(:), ... ) ‚Í‘S‚­“¯‚¶‚à‚Ì‚Å‚µ‚傤‚©H
ƒRƒ“ƒpƒCƒ‰[‚É‚æ‚肯‚è‚Å‚·‚©H
>>731
‚ ‚­‚Ü‚ÅŽ©•ª‚Ì—‰ð‚¾‚¯‚Ç
„—‰ð‚Å‚æ‚¢‚Å‚µ‚傤‚©
yes
„‘S‚­“¯‚¶‚à‚Ì‚Å‚µ‚傤‚©H
yes
733 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/04/08(–Ø) 00:15:00
‚Í‚Æ‚â‚Ü‚—‚—‚—‚—‚—‚—‚—‚—‚—

“V‘RƒoƒJ‚—‚—‚—‚—

734 F733F2010/04/08(–Ø) 00:16:10
‚·‚Ü‚ñA΂¢‚·‚¬‚ÄAŒë”š‚µ‚½‚—‚—‚—‚—‚—‚—


šu­Ž¡‰Æ‚ª‚΂©‚Å‚Í‘‚à‚½‚ÊvŒö–±ˆõŒ¤C‚ÌŒPŽ¦‚Å”µŽRŽñ‘Š

E”µŽR—R‹I•vŽñ‘Š‚Í‚V“ú‚Ì‘‰ÆŒö–±ˆõ‡“¯‰”CŒ¤CŠJuŽ®‚ÅŒPŽ¦‚µA“üÈ‚µ‚½‚΂©‚è‚Ì
@Vl‚ðŒÛ•‘‚µ‚½‚ªA‚»‚Ì’†‚Åu­Ž¡‰Æ‚ª‚΂©ŽÒ‚ÌW’c‚Å‚Íi‘‚Íj‚à‚½‚È‚¢v‚È‚Ç‚Æ
@’Eü‹C–¡‚É”­Œ¾‚·‚éê–Ê‚ª‚ ‚Á‚½B

@Žñ‘Š‚Í’í‚Å‚ ‚锵ŽR–M•vŒ³‘–±‘Š‚ª­Ž¡‰Æ‚ðŽu‚µ‚½ÛA‘å‘ Ž––±ŽŸŠ¯‚ðŒo‚Ä
@­ŠE“ü‚肵‚½•ƒˆÐˆê˜YŒ³ŠO‘Š‚ªu­Ž¡‰Æ‚È‚ñ‚Ä‚à‚Ì‚Í•¨‚²‚¢‚ð‚·‚é‚È‚¢‚΂©ŽÒ‚¾v‚Æ
@”½‘΂µ‚½˜b‚ðЉîBu•ƒe‚Í–ðl‚¾‚Á‚½‚±‚ƂɌւè‚ðŠ´‚¶‚Ä‚¢‚½v‚ÆŒê‚éˆê•û‚ÅA
@uƒgƒbƒv‚ÌŽñ‘Š‚ª‘å‚΂©ŽÒ‚Å‚ ‚ê‚ÎA‚»‚ñ‚È‘‚ª‚à‚‚킯‚ª‚È‚¢v‚ÆŒJ‚è•Ô‚µ‚½B

@Žñ‘Š‚Æ‚µ‚Ä‚ÍA­Ž¡Žå“±‚Ö‚ÌŒˆˆÓ‚ðŽ¦‚µ‚‚”µŽR“àŠt‚Ì—DG‚³‚ð‹­’²‚µ‚½‚©‚Á‚½‚悤‚¾‚ªA
@Žw“±—Í•s‘«‚⎩‚ç‚Ì”­Œ¾‚ð‚ß‚®‚é–À‘–‚ªŽw“E‚³‚ê‚Ä‚¢‚邾‚¯‚ÉAVlŒö–±ˆõ‚à•¡ŽG‚È
@•\‚Á‚½B
@http://www.jiji.com/jc/c?g=pol_30&k=2010040700743
ƒXƒŒƒ^ƒC‚à“Ç‚ß‚È‚¢ƒoƒJ
>>735
”µŽR‚³‚ñ‚±‚»ƒXƒŒƒ^ƒCŒ©‚Ä‚­‚¾‚³‚¢B
737 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/04/08(–Ø) 17:04:56
>>736
ƒoƒJ
‚±‚̃XƒŒ2000‚Å‚à90‚Å‚à77‚Å‚à66‚Å‚à‚È‚­A–¢‚¾‚ÉIV‚©‚æB
@@@@LOOPY@@‚V‚R‚V
@@@@PRINT *, LOOPY
END
test
741 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/07/05(ŒŽ) 17:00:13
ƒRƒ“ƒpƒCƒ‰‚ÌFortran2008‘ΉžŽžŠú‚Á‚Ä‚¢‚ ‚É‚È‚é‚Å‚µ‚傤‚©‚ËH
GNU, Intel, PGI‚Ȃǂ̃ƒWƒƒ[Š‚Å‚¢‚¢‚Ì‚ÅA‚´‚Á‚­‚è—\‘z‚µ‚Ä‚­‚ê‚Ü‚¹‚ñ‚©H
>>741
F2003‚·‚ç‚Ü‚¾‚¾‚Æ‚¢‚¤‚Ì‚ÉF2008‚ð—\‘z‚¹‚æ‚Æ‚Í‚«‚‚¢B
‚»‚à‚»‚à‚Ü‚¾ISO‚ÌFinalDraft‚Ì’iŠK‚ÅA³Ž®‚È‹KŠi‚É‚·‚ç‚È‚Á‚Ä‚¢‚È‚¢B
ƒWƒFƒbƒ^[ƒ}ƒ‹ƒX‚ÌŽž‘ã–‚P‚ð’´‚¦‚ÄAƒPƒ€[ƒ‹l–‚Q‚ÌŽž‘ã‚­‚ç‚¢‚¶‚á‚È‚¢‚©H

–‚P@ttp://www.youtube.com/watch?v=Xpxb55WHx2s
–‚Q@ttp://www.youtube.com/watch?v=S6q-lbd6WVM
>>742
Intel Fortran‚𒲂ׂĂ݂܂µ‚½‚ªAŠm‚©‚É2003‚ÍŠ®‘S‘Ήž‚µ‚Ä‚È‚¢‚Å‚·‚ËB
ƒRƒ“ƒpƒCƒ‰‚̑Ήž‚Á‚ăXƒs[ƒh“I‚É‚à‚±‚ñ‚È‚à‚ñ‚È‚ñ‚Å‚·‚©‚ËH

‚ ‚ÆAƒWƒFƒbƒ^[ƒ}ƒ‹ƒX‚Á‚Ä‚¢‚¤‚Ì‚Í“S˜rƒAƒgƒ€‚̃ŠƒƒCƒN‚È‚ñ‚Å‚·‚ËB
40Œã”¼‚Æ‚¨Œ©Žó‚¯‚µ‚Ü‚µ‚½B
>>743
IntelŒfŽ¦”‚ÌSteve Lionel‚̃JƒLƒR‚Å‚ÍAIVF‚Ì2003Š®‘S‘Ήž‚Ív12.0‚É‚È‚Á‚Ä‚©‚ç‚Æ‚¢‚¤‚±‚Æ‚¾‚Á‚½‹C‚ª‚µ‚Ü‚·B
iƒ\[ƒXƒJƒLƒR‚ªŒ©‚‚©‚ç‚È‚¢‚—j@¡‚Ì‚Æ‚±‚ëV‹@”\‚Ì‚¤‚¿‚Å‚ÍAparametric type ‚ª‘S‚­Žè•t‚©‚¸‚È‚Ì‚ÅA
¡”N’†‚ÍŠ®‘S‘Ήž‚Í–³—‚©‚ÈH

‚½‚¾‹KŠi‚ւ̑ΉžƒXƒs[ƒh‚Í‚±‚ñ‚È‚à‚ñ‚¶‚á‚È‚¢‚Å‚·‚©‚ËBC99‚È‚ñ‚©‚à‚P‚O”N‚­‚ç‚¢‚©‚©‚Á‚Ä‚¢‚Ü‚·‚µB

ACM SIGPLAN Fortran Forum‚ÉAƒRƒ“ƒpƒCƒ‰‚ÌF2003‘Ήž“x‚Ì‹LŽ–‚ª–ˆ†Ú‚Á‚Ä‚¢‚Ü‚·‚Ì‚ÅAŒäŽQl‚Ü‚Å‚ÉB
ttp://portal.acm.org/browse_dl.cfm?coll=&dl=ACM&idx=J286&linked=1&part=newsletter
—L—¿‚Å‚·‚ªEEE

ƒWƒFƒbƒ^[ƒ}ƒ‹ƒX‚ÍA’˜ìŒ ‚ÌŠÖŒW‚ÅŽè’ËŽ¡’ŽŽ©g‚ªì‚Á‚½ƒAƒgƒ€‚̃pƒ`ƒ‚ƒ“‚ÅAƒŠƒƒCƒN‚Æ‚Í‚¿‚ƈႤ‚ñ‚Å‚·B
ƒpƒ`ƒ‚ƒ“‚炵‚­A‚È‚ñ‚Æ‚àႦ‚È‚¢EEE
VisualStudio2010‚Á‚Ä‚à‚¤o‚Ä‚é‚Ì‚Ë
IntelFortran‚É‚Í¡“x‚±‚»Intellisense‚ɑΉž‚µ‚Ä‚à‚ç‚¢‚½‚¢‚à‚Ì‚¾
746 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/07/08(–Ø) 13:13:33
Ž¿–₳‚¹‚ĉº‚³‚¢B
64*64*128Œ³‚̘A—§•û’öŽ®Ax=b‚ð‰ð‚­‚½‚ß‚Émkl‚ðŽg‚Á‚Ä‚¢‚Ü‚·B

ŒW”s—ñ‚̈öŽq•ª‰ð‚Ü‚Å‚Í•À—ñ‰»‚µ‚ÄŒvŽZ‚³‚ê‚é‚Ì‚Å‚·‚ªA
‹‰ð‚Ì•”•ª‚Å‚ÍCPUŽg—p—¦‚ª100%‚É‚È‚Á‚Ä•À—ñ‰»‚³‚ê‚Ü‚¹‚ñB

‰ð‚ð‹‚ß‚é‚Æ‚±‚ë‚ðƒRƒƒ“ƒgƒAƒEƒg‚·‚é‚ÆCPUŽg—p—¦‚ª800%‚É‚È‚é‚Ì‚Å
‹‰ð‚Ì•”•ª‚Å•À—ñ‰»‚³‚ê‚Ä‚¢‚È‚¢‚Ì‚ÍŠm‚©‚¾‚ÆŽv‚¢‚Ü‚·B

pardisoAdss‚ðŽŽ‚µ‚Ü‚µ‚½‚ªA—¼•û‚Æ‚à“¯‚¶‚Å‚µ‚½B

’ŠÛ“I‚ÈŽ¿–â‚Å\‚µ–ó‚È‚¢‚Å‚·‚ªA‚Ç‚¤‚µ‚Äã‚̂悤‚È‚±‚Æ‚ª‹N‚«‚é‚Ì‚Å‚µ‚傤‚©H
‚»‚à‚»‚à‹‰ð‚Ì•”•ª‚Í•À—ñ‰»‚³‚ê‚Ä‚¢‚È‚¢‚Ì‚Å‚µ‚傤‚©

mkl‚̃o[ƒWƒ‡ƒ“‚Í
Math Kernel Library 10.1 for Mac OS* X
ifort‚̃o[ƒWƒ‡ƒ“‚Í
ifort (IFORT) 11.0 20081105
ŒvŽZ‹@‚Í
Mac OS X 10.4.11
Quad-Core Intel Xeon 3.0GHz x2
ƒRƒ“ƒpƒCƒ‹ƒIƒvƒVƒ‡ƒ“‚Í
-ipo -O2 -unroll2 -openmp -openmp-report2 -lmkl_solver_lp64 -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -liomp5 -lpthread
pardiso‚Å‚Í
export OMP_NUM_THREADS=8 ‚Æ‚µ‚½ã‚ÅAiparm(1)=0,iparm(3)=8‚Æ‚µ‚Ä‚¢‚Ü‚·B

‚æ‚낵‚­‚¨Šè‚¢‚µ‚Ü‚·B
747 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/07/08(–Ø) 14:24:28
64x64x128
‚æ‚è‚Ù‚ñ‚Ì‚è‘å‚«‚¢”Žš‚Ì”z—ñ‚É‚µ‚ÄEEEE‚Æ‚©A‚©‚ÈH‚ ‚Ä‚¸‚Á‚ÛB

MKL ‚Á‚Äŋߎg‚Á‚Ä‚È‚¢‚¯‚Ç“¯‚¶‚­ OpenMP ‚ňµ‚¤—\’è‚È‚Ì‚ÅEEE
ˆÌ‚¢l‚ÌoŒ»‚ðˆê‚É‘Ò‚Æ‚¤‚Ë‚—
748 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/07/08(–Ø) 14:26:07
‚ÆŽv‚Á‚½‚¯‚ÇA
-unroll2
‚ð
-unroll0 (ƒAƒ“ƒ[ƒŠƒ“ƒO Off)
-unroll (“K“–‚ȃfƒtƒH’lA‚½‚Ô‚ñ‚W)
‚É‚µ‚Ä‚à“¯‚¶‚©‚ÈH
749 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/07/08(–Ø) 14:29:52
‚³‚ç‚ÉEEE
Inter-procedural Optimizer ‚ðØ‚é‚©A
‚à‚µ743‚³‚ñ‚Ìì‚Á‚½ƒ\[ƒX‚ªˆêŒÂ‚¾‚¯‚È‚çA
-ip ‚É‚µ‚ÄŽ©ìƒ\[ƒX“à‚¾‚¯‚ÉInline Å“K‰»‚ðT‚¦‚éEE‚Æ‚©B

EEE‚Å‚à100“‚«‚Á‚¿‚è‚ÅŽ~‚Ü‚Á‚Ä‚é‚Ì‚È‚çA‚ ‚Ü‚èŠÖŒW‚È‚³‚»‚¤‚¾‚—
‚Æ‚¤‚©‰½‚Å‰ð‚¢‚Ä‚é‚ÌH
•’Ê‚Ís—ñ‚̃^ƒCƒvi‘e–§‚Æ‚©j‚Å‘I‚Ô‚ÆŽv‚¤‚¯‚Ç
751 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/07/08(–Ø) 19:29:00
ƒŒƒX‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·

>>750
‘ÎÛ‚Æ‚µ‚Ä‚¢‚és—ñ‚Í‘as—ñ‚Å‚·B
Žg‚Á‚½‚Ì‚Ímkl‚Ì’†‚É‚ ‚é
pardiso(•À—ñ‰»‘Ήž’¼Ú–@ƒXƒp[ƒX E ƒ\ƒ‹ƒo[)‚Æ
dss(’¼Ú–@ƒXƒp[ƒX ƒ\ƒ‹ƒo[)‚Å‚·B

>>747-750
‚·‚ׂĎŽ‚µ‚Ä‚Ý‚Ü‚µ‚½‚ª‰ðŒˆ‚Í‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½BBB
‚ ‚ÆAƒ\[ƒX‚Í•¡”‚ ‚è‚Ü‚·B
>>746
Œ³‚ªƒXƒp[ƒX‚Å‚àALUi‚ ‚é‚¢‚̓RƒŒƒXƒL[j•ª‰ð‚µ‚½Žž‚Éo‚éŽOŠps—ñ‚ª—]‚èƒXƒp[ƒX‚É‚È‚ç‚È‚¢‚±‚Æ‚à‚ ‚邪A
‚»‚Ìê‡paradiso‚̓ƒ‚ƒŠ[ã‚És—ñ—v‘f‚ð’u‚©‚È‚¢‚ÅADisk‚É‘‚«o‚µ‚ÄŒvŽZ‚·‚é‚悤‚¾iOut Of Coreƒ‚[ƒh)B
‚±‚ÌŽž‚̓Vƒ“ƒOƒ‹ƒXƒŒƒbƒh‚Å“®‚­‚炵B

‚»‚¤‚¢‚¤ó‹µ‚©‚àH

¬‚³‚ß‚Ìs—ñ‚ÅŽŽ‚µ‚Ä‚Ý‚é‚©AOOC‚É‚È‚ç‚È‚¢‚悤‚ɃIƒvƒVƒ‡ƒ“‚ð•Ï‚¦‚Ä‚Ý‚½‚çiƒƒ‚ƒŠ[‚ª‘«‚è‚ê‚΂¾‚¯‚Ç
Dual Xeon‚Ȃ猋\Ï‚ñ‚Å‚ñ‚¶‚á‚È‚¢‚ÌHjB

’¼Ú–@‚ÍŽg‚Á‚½‚±‚Æ‚È‚¢‚Ì‚ÅAŠO‚µ‚Ä‚½‚炲‚ß‚ñ‚—
OOCƒ‚[ƒh‚Á‚Ä•’ʂ̃Xƒƒbƒv‚Ƃ͈Ⴍ‚ÄA‚‚܂肿‚á‚ñ‚ÆOOC—p‚̈—‚ð‚µ‚Ä‚é‚ñ‚¾‚æ‚ËH
‚Å‚à‚»‚ê‚Á‚Ä‹ê“÷‚Ìô‚Æ‚¢‚¤‚©AŒ‹‹ÇƒXƒƒbƒv‚Æ‚Ù‚Æ‚ñ‚Ç•Ï‚í‚ç‚ñ‚­‚ç‚¢ŽžŠÔ‚ª‚©‚©‚é
ƒCƒ[ƒW‚ª‚ ‚é‚ñ‚¾‚¯‚ÇAˆÓŠO‚Æ‚»‚¤‚Å‚à‚È‚¢‚Ì‚©‚ÈH

Ž©•ª‚ÍŠî–{ƒCƒ“ƒRƒA‚ÉŽû‚Ü‚ç‚È‚¢‚悤‚È‚ç‘f’¼‚É’ú‚ß‚Ä‚Ü‚·‚ª‚—
>>753
ŠO•”‹L‰¯‚Æ‚ÌI/O‚Å’n–‚Ì’x‚³‚¾‚낤B
>>746 ŒvŽZ‹@‚Í Mac OS X 10.4.11 Quad-Core Intel Xeon 3.0GHz x2

‚¢‚¢‚ÈB˜b‚»‚ê‚¿‚Ⴄ‚¯‚ÇA‚¢‚­‚ç‚Å‚µ‚½H
Mac‚Í‚à‚¤I—¹‚炵‚¢‚æ‚È
ƒWƒ‡ƒuƒY‚̓Âɗx‚炳‚ꂽl¶Ü²¿½
757 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/07/09(‹à) 22:53:53
ƒŒƒX‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B

>>752
ttp://www.intel.com/software/products/mkl/docs/webhelp/ssr/functn_pardiso.html
Ž„‚ªŽg‚Á‚Ä‚¢‚éƒo[ƒWƒ‡ƒ“‚Ìmkl‚̃}ƒjƒ…ƒAƒ‹‚É‚Íout of coreƒ‚[ƒh‚ɂ‚¢‚Ä‚Í‘‚©‚ê‚Ä‚¢‚Ü‚¹‚ñ‚Å‚µ‚½B
ã‚̃TƒCƒg‚Å‚ÍAƒfƒtƒHƒ‹ƒg‚Åin core ƒ‚[ƒh‚É‚È‚Á‚Ä‚¢‚é‚Æ‚¢‚¤—l‚É‘‚©‚ê‚Ä‚¢‚é‚̂ňႤ‹C‚ª‚µ‚Ü‚·B‚·‚¢‚Ü‚¹‚ñ


‰ðŒˆ•û–@‚Í•ª‚©‚ç‚È‚¢‚Ì‚Å‚·‚ªA‚È‚ñ‚Æ‚È‚­Œ´ˆö‚ª‚‚©‚ß‚Ä‚«‚Ü‚µ‚½B
‚Ç‚¤‚â‚çmkl‚Æ‚Í•Ê‚Ì•”•ª‚ðAOpenMP‚ðŽg‚Á‚Ä•À—ñ‰»‚ð‚µ‚Ä‚¢‚邱‚Æ‚ªŒ´ˆö‚̂悤‚Å‚·B

mkl‚Å‹‰ð‚ðs‚Á‚½‚·‚®Œã‚Ìdoƒ‹[ƒv‚ðOpenMP‚Å•À—ñ‰»‚µ‚Ä‚¢‚é‚Ì‚Å‚·‚ªA
ƒRƒ“ƒpƒCƒ‹ƒIƒvƒVƒ‡ƒ“‚Ì-openmp -openmp-report2‚ðƒRƒƒ“ƒgƒAƒEƒg‚µ‚Ämake‚·‚é‚Æ
‹‰ð‚Ì•”•ª‚ª•À—ñ‰»‚³‚ê‚é‚Ì‚ªŠm”F‚Å‚«‚Ü‚µ‚½B

Œ»ó‚Å‚ÍA‹‰ð‚à‚»‚ÌŒã‚̃‹[ƒv‚àd‚¢‚Ì‚ÅA‚Ç‚¿‚ç‚à•À—ñ‰»‚Å‚«‚È‚¢‚ƃ{ƒgƒ‹ƒlƒbƒN‚É‚È‚Á‚Ä‚µ‚Ü‚¢‚Ü‚·B
OpenMP‚Ì‘ã‚í‚è‚ÉMPI‚ðŽg‚¤‚±‚Æ‚ÅAmkl‚ðéx‚¹‚é‚Ì‚Å‚Í‚Æl‚¦‚Ä‚¢‚Ü‚·‚ªA‚±‚ꂾ‚Æ‚WƒRƒA‚ðŽg‚¢‚«‚ê‚È‚Ì‚Å¢‚Á‚Ä‚µ‚Ü‚¢‚Ü‚·B

‚È‚É‚©‚æ‚¢•û–@‚ª‚ ‚ê‚ÎA‚Ç‚È‚½‚©‚æ‚낵‚­‚¨Šè‚¢‚µ‚Ü‚·B
ˆê‰žAƒvƒƒOƒ‰ƒ€‚Ì“à—e‚ð‚à‚¤­‚µ‹ï‘Ì“I‚É‘‚©‚¹‚Ä‚­‚¾‚³‚¢B

˜A—§•û’öŽ®‚ðAx=b‚Æ‚µ‚Ä

A‚ð‹‚ß‚ÄAˆöŽq•ª‰ð‚Ü‚Å‚·‚é(mkl)

b‚ðŒˆ‚ß‚éB

do
A‚Æb‚ðŽg‚Á‚Äx‚ð‹‚ß‚é(mkl)

!$OMP parallel do
do
‹‚ß‚½x‚ðŽg‚Á‚ÄV‚µ‚¢b‚ð‹‚ß‚éB
enddo
!$omp end parallel do
enddo


>>755
ŠÇ—ŽÒ‚É•·‚¢‚½‚ç60–œ‚­‚ç‚¢‚¾‚»‚¤‚Å‚·B
>>758
‚QdDO-LOOP‚É“ü‚Á‚Ä‚é‚©‚ç‚Å‚È‚¢‚©‚¢B
ŠO‚ÌLOOP‚ðGOTO‚É‚µ‚Ä–¡‘Xƒpƒ“B
Krylov?

do
!$OMP parallel
‹‚ß‚½x‚ðŽg‚Á‚ÄV‚µ‚¢b‚ð‹‚ß‚éB
!$omp end parallel
enddo

‚ÆAdo ‚𔲂¢‚½ OMP directive ‚ð MKL ƒ‹[ƒ`ƒ“‚Ì‘OŒã‚É‚¨‚¢‚Ä
(do-loop ‚Ì“à‘¤‚ÉŽ‚¿ž‚ñ‚Å)‚Ý‚ÄEEE‚à‚ ‚ñ‚Ü‚è•Ï‚í‚ç‚ñ‚©A‚Þ‚µ‚눫‚­‚È‚é‚©‚à‚µ‚ê‚ñ‚ªEEB
OpenMP‚ÆŽ©“®•À—ñ‰»‚̈Ⴂ‚ª‚æ‚­•ª‚©‚ç‚È‚¢‚ñ‚Å‚·‚ªAŠî–{“¯‚¶‚à‚Ì‚Å‚·‚©H
Ž©“®•À—ñ‰»‚̓xƒ“ƒ_‚²‚ƂɈႤ‚¯‚ÇEE‚Ü‚ ‚¾‚¢‚½‚¢‚ÍOpenMP‚Æ“¯‚¶‚悤‚È‚à‚Ì‚Æ‚¨‚à‚Á‚Ä‚¢‚¢‚æB
•À—ñ”\—¦‚͈ê”Ê“I‚É‚ÍŽè‘‚«OpenMP‚æ‚èŠi’i‚É—ò‚é‚©‚ç‚ ‚Ü‚èŠú‘Ò‚µ‚È‚¢‚悤‚ÉB
>>762
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·Bð¡AOpenMP‚ÆMPI‚̃nƒCƒuƒŠƒbƒh‚ª²²!‚Á‚Ä
•ûX‚ÅŒ¾‚í‚ê‚Ä‚¢‚Ü‚·‚ªA‚Q‚Âl‚¦‚é‚Ì‚Í('A`)‚¶‚á‚È‚¢‚Å‚·‚©H
ƒm[ƒhŠÔ‚ÍŽ©‘O‚ÅMPI‚ðŠæ’£‚é‚Æ‚µ‚Ä‚àAƒm[ƒh“à‚ÍŸŽè‚É
Ž©“®‚ÅÅ“K‰»••À—ñ‰»‚µ‚Ä‚Ù‚µ‚¢‚È‚ÆEEE‚»‚ñ‚È“ú‚Í—ˆ‚È‚¢‚ñ‚Å‚·‚©‚ËH
>>763
Earth Sim ‚̓m[ƒhŠÔ‚ðMPI‚Å‚©‚¢‚Ä“à•”‚ÍŽ©“®•À—ñ‚炵‚¢‚Ë
(Žg‚Á‚½‚±‚Æ‚È‚¢‚¯‚ÇEE)B“ú“dŠæ’£‚Á‚½B

‚ӂ‚¤‚Ý‚©‚¯‚é‚WƒRƒAƒ}ƒVƒ“‚ð‚½‚­‚³‚ñ‚‚Ȃ¢‚¾EE‚Æ‚©‚¾‚Æ
ƒnƒCƒuƒŠƒbƒh‚æ‚è‚ÍMPI‚Å‘S•”‘‚¢‚Ä‚à‚ ‚Ü‚è‚©‚í‚ç‚È‚¢‚Æ‚à•·‚­‚ËB
‚Ü‚ ‘‚«•ûŽŸ‘æ‚Å‚à‚ ‚é‚Ì‚¾‚낤‚¯‚ÇB
‚Å‚«‚ê‚ÎÅ“àƒ‹[ƒv‚ÌŽn‚Ü‚è‚ÆI‚í‚è‚ðŒÅ’è•Ï”‚Å
‘‚¢‚Ä‚¨‚©‚È‚¢‚ÆUnrolling ‚ª—}§‚³‚ꂽ‚è‚·‚é‚©‚çA
ƒRƒ“ƒpƒCƒ‰–ˆ‚É‚¢‚ë‚¢‚ë’ˆÓ‚ËEE
—±“x(ˆêƒRƒA’S“–”͈͂̕)‚É‚à‚æ‚é‚ñ‚¾‚낤‚¯‚ÇB
‚Ü`MPIŽg‚¢‚±‚È‚¹‚é‚È‚çMPIˆê–{‚Å‚¢‚¢‚Æ‚¨‚à‚¤‚æB
‚»‚ë‚»‚ëprintf "%04d" 1 ‚Ý‚½‚¢‚ÈŠ´‚¶‚Ń[ƒƒpƒfƒBƒ“ƒO‚·‚éƒtƒH[ƒ}ƒbƒg‚ð“ü‚ê‚Ä‚­‚ê
ƒj[ƒY‚ ‚é‚ÆŽv‚¤‚ª
I6.6‚Æ‚©
>>766
‚»‚ê‚ų‰ð‚¾‚æ‚ËH
>>767
‚¤‚ÞB³‰ðB
>>765‚Í‚Q‚O”N‘O‚̺˜a‚Ì’mŽ¯‚µ‚©Ž‚Á‚Ä‚¢‚È‚¢B
769 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/07/15(–Ø) 01:32:20
‚·‚¢‚Ü‚¹‚ñAFORTRAN90‚Ńuƒ‰ƒbƒNEƒWƒƒƒbƒN‚̃vƒƒOƒ‰ƒ€‚ð‘g‚ñ‚Å‚­‚¾‚³‚¢B
>>765
‚í‚炽
>>769
ƒ‹[ƒ‹‚ð’莮‰»‚µ‚Ä‹³‚¦‚ëB
>>768
‚Q‚O”N‘O‚Í•½¬‚¾YOI
773 F765F2010/07/15(–Ø) 09:32:32
>>766-768
Ž¸—炵‚Ü‚·‚½
774 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/07/15(–Ø) 11:11:35
‚·‚¢‚Ü‚¹‚ñB’莮‰»‚Í–l‚Ì“ª‚¶‚á–³—‚Ȃ̂Ń‹[ƒ‹‚¾‚¯cƒ‹[ƒ‹‚Í‚¨ŒÝ‚¢‚ªƒgƒ‰ƒ“ƒv‚ðˆø‚¢‚Ä‚¢‚Á‚ÄA‡Œv“_”‚ª21“_‚ð‰z‚¦‚¸‚ɃvƒŒƒCƒ„[‚ªƒfƒB[ƒ‰[‚æ‚è‚‚¢“_‚ð‹£‚¤ƒQ[ƒ€‚Å‚·B‚¿‚È‚Ý‚É21“_‚ð‰z‚¦‚é‚Æ•‰‚¯Œˆ’è‚Å‚·B
775 F1F2010/07/16(‹à) 03:36:52
>>774
ƒRƒ“ƒsƒ…[ƒ^‚ÌŽvl‚Ü‚¾–³‚µB

MODULE m_bj
IMPLICIT NONE
TYPE :: t_shuff
REAL :: x
INTEGER :: i
END TYPE t_shuff
INTEGER, SAVE :: icard(52), ipos, icards_mine(20) = 0, icards_dealer(20) = 0, ip_mine = 0, ip_dealer = 0
CONTAINS
SUBROUTINE shuffle()
TYPE (t_shuff) :: card(SIZE(icard))
INTEGER :: i
CALL RANDOM_SEED()
CALL RANDOM_NUMBER(card(:)%x)
card(:)%i = (/ (i, i = 1, SIZE(icard)) /)
card = qsort(card)
icard = card(:)%i
END SUBROUTINE shuffle

RECURSIVE FUNCTION qsort(c) RESULT(res)
TYPE (t_shuff), INTENT(IN) :: c(:)
TYPE (t_shuff) :: res(SIZE(c))
IF (SIZE(c) > 1) THEN
res = (/ qsort( PACK(c(2:), c(2:)%x < c(1)%x) ), c(1), qsort( PACK(c(2:), c(2:)%x >= c(1)%x) ) /)
ELSE
res = c
END IF
END FUNCTION qsort
776 F2F2010/07/16(‹à) 03:38:07
CHARACTER(10) FUNCTION to_card(k)
INTEGER, INTENT(IN) :: k
CHARACTER(5) :: suit( 4) = (/'Spade', 'Heart', 'Club ', 'Diamd'/)
CHARACTER(2) :: rank(13) = (/' A', ' 2', ' 3', ' 4', ' 5', ' 6', ' 7', ' 8', ' 9', '10', ' J', ' Q', ' K'/)
INTEGER :: k1, k2
k1 = (k - 1) / 13 + 1
k2 = MOD(k - 1, 13) + 1
to_card = suit(k1) // ' ' // rank(k2)
END FUNCTION to_card

INTEGER FUNCTION icount_sum(icards)
INTEGER, INTENT(IN) :: icards(:)
INTEGER :: i, k, nace, isum
nace = 0
isum = 0
DO i = 1, SIZE(icards)
isum = isum + num_card(icards(i))
IF (num_card(icards(i)) == 11) nace = nace + 1
END DO
DO i = 1, nace
IF (isum > 21) isum = isum - 10
END DO
icount_sum = isum
END FUNCTION icount_sum

INTEGER FUNCTION num_card(k)
INTEGER, INTENT(IN) :: k
SELECT CASE(MOD(k - 1, 13) + 1)
CASE (1)
num_card = 11
CASE (2:10)
num_card = MOD(k - 1, 13) + 1
777 F3F2010/07/16(‹à) 03:38:48
CASE (11:13)
num_card = 10
END SELECT
END FUNCTION num_card

INTEGER FUNCTION idraw(n)
INTEGER, INTENT(IN OUT) :: n
n = n + 1
ipos = ipos + 1
idraw = icard(ipos)
RETURN
END FUNCTION idraw

SUBROUTINE draw(text)
CHARACTER(*), INTENT(IN) :: text
SELECT CASE(text)
CASE('dealer')
icards_dealer(ip_dealer) = idraw(ip_dealer)
CASE('me')
icards_mine (ip_mine ) = idraw(ip_mine )
END SELECT
END SUBROUTINE draw

INTEGER FUNCTION iget_sum(text)
CHARACTER(*), INTENT(IN) :: text
SELECT CASE(text)
CASE('dealer')
iget_sum = icount_sum(icards_dealer(:ip_dealer))
CASE('me')
iget_sum = icount_sum(icards_mine(:ip_mine) )
END SELECT
END FUNCTION iget_sum
778 F4F2010/07/16(‹à) 03:39:35
SUBROUTINE pr_cards(text)
CHARACTER(*), INTENT(IN) :: text
INTEGER :: i
SELECT CASE(text)
CASE('dealer')
PRINT *, (to_card(icards_dealer(i)), ' ', i = 1, ip_dealer)
CASE('me')
PRINT *, (to_card(icards_mine(i) ), ' ', i = 1, ip_mine )
END SELECT
END SUBROUTINE pr_cards
END MODULE m_bj
!
PROGRAM Console2
USE m_bj
IMPLICIT NONE
INTEGER :: i, isum_me, isum_dealer
CHARACTER :: input
CALL shuffle()
CALL draw('me')
CALL draw('dealer')
CALL draw('me')
CALL draw('dealer')
DO
isum_me = iget_sum('me')
IF ( isum_me > 21) THEN
PRINT *, 'Fail!'
EXIT
END IF
CALL pr_cards('me')
PRINT *, 'sum =', isum_me
PRINT *
779 F5F2010/07/16(‹à) 03:43:46
PRINT *, 'draw or quit? (d or q)'
READ *, input
IF (input == 'q') EXIT
CALL draw('me')
END DO
PRINT *, '+++++++++++++++++++++++++++++++++'
PRINT *, 'Your cards'
CALL pr_cards('me')
PRINT *, 'sum =', isum_me
PRINT *
PRINT *, 'Dealer''s cards'
CALL pr_cards('dealer')
isum_dealer = iget_sum('dealer')
PRINT *, 'sum =', isum_dealer
IF (isum_me > isum_dealer .AND. isum_me <= 21) THEN
PRINT *, 'You win!'
ELSE
PRINT *, 'You lose!'
END IF
END PROGRAM Console2
format‹LqŽq‚ÌŽÀ”‚Ì‚¤‚¿AES‚ÆEN‚Æ‚¢‚¤‚Ì‚ª‚ ‚è‚Ü‚·‚ªA
‚±‚ê‚Ì”{¸“x”Å‚Í‚Ü‚¾‹KŠi‚É‚È‚Á‚Ä‚¢‚È‚¢‚Ì‚Å‚µ‚傤‚©H
>>780
Œë‰ð‚ª‚ ‚éB
‚»‚ê‚ç‚É”{¸“x‚à•³‚à‚È‚¢B
“à•”•\Œ»‚ð‚»‚ÌƒtƒH[ƒ}ƒbƒg‚É•ÏŠ·‚·‚邾‚¯B
‚æ‚­ƒ}ƒjƒ…ƒAƒ‹‚ð“ǂނׂµB

—Ⴆ‚ÎA’P¸“x‚łଔ“_ˆÈ‰º‚T‚OŒ…‚ðŽw’è‚·‚ê‚΂T‚OŒ…‘‚­B
—LŒø”Žš‚Í‚V`‚WŒ…‚µ‚©–³‚¢‚ªA“à•”•\Œ»‚ð’P‚É•ÏŠ·‚µ‚Ä‚È‚ñ‚Ú‚Å‚à‘‚«o‚·B
>>781
Œë‰ð‚µ‚Ä‚Ü‚µ‚½B‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B
ƒnƒmƒC‚Ì“ƒ‚̃vƒƒOƒ‰ƒ€‚̃\[ƒX‚ð’T‚µ‚Ä‚¢‚é‚ñ‚Å‚·‚ªA‚Ç‚È‚½‚©‚²‘¶’m‚Å‚·‚©H
’m‚Á‚Ä‚é‚æ
‹³‚¦‚Ä‚¢‚½‚¾‚¯‚Ü‚¹‚ñ‚©H
>>783
"Guide to Fortran2003 Programming" W.S.Brainerd @iSpringerj
‚Ì‚P‚O‚Tƒy[ƒW‚ÉÚ‚Á‚Ä‚éB

Google Books ‚Å“–ŠYƒy[ƒW‚ªŒ©‚ç‚ê‚éBHanoi‚ÅŒŸõ‚µ‚ëBƒ\[ƒXƒR[ƒhŽ©‘Ì‚Í107p‚¾B
Œ©‚½Š´‚¶Fortran90‚͈̔͂ő‚©‚ê‚Ä‚¢‚éB
‚»‚¤‚¢‚âÄ‹A‚Á‚Ä‘¬“x“I‚É‚Í‚æ‚낵‚­‚È‚¢‚Á‚Ä•·‚­‚È‚Ÿ
Ä‹A‚ðŽg‚í‚È‚¢ƒAƒ‹ƒSƒŠƒYƒ€‚ª‚ ‚é‚Ì‚È‚çA‚»‚Á‚¿‚ðŽg‚Á‚½‚Ù‚¤‚ª‚¢‚¢‚Ì‚©‚È
ƒnƒmƒC‚Ì“ƒ‚Å‚Å‚«‚é‚©‚Í’m‚ç‚È‚¢‚¯‚ÇEEEi–³—H
> ‚»‚¤‚¢‚âÄ‹A‚Á‚Ä‘¬“x“I‚É‚Í‚æ‚낵‚­‚È‚¢‚Á‚Ä•·‚­‚È‚Ÿ

‚Ù‚Æ‚ñ‚Ç–ÀMB
Ä‹A‚Å–â‘è‚Ȃ̂̓Xƒ^ƒbƒN‚ÌÁ”ï‚Æ‚©B
>>786
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B
subroutine‚ðcall‚·‚é‚Ì‚Á‚ĉ½•b‚­‚ç‚¢‚©‚©‚é‚ñ‚Å‚·‚©H
’N‚ªì‚Á‚½‰½‚ð‚·‚é subroutine ‚È‚Ì‚©‚É‚æ‚é
‚¨‚Ü‚¦‚ª‚킯‚à•ª‚©‚炸ì‚Á‚½ subroutine ‚¾‚Á‚½‚çAˆê¶‹A‚Á‚Ä‚±‚È‚¢‰Â”\«‚à‚ ‚é
call‚µ‚Ä‚©‚ç‹A‚Á‚Ä‚­‚é‚Ü‚Å‚¶‚á‚È‚­‚Ä
call‚·‚邱‚ÆŽ©‘Ì‚É‚Ç‚ê‚­‚ç‚¢ŽžŠÔ‚ª‚©‚©‚é‚Ì‚©‚È‚ŸEEE‚ÆŽv‚Á‚½‚킯‚Å‚·
‰½•b‚ÆŒ¾‚í‚ê‚Ä‚àŠÂ‹«‚É‚æ‚邵

ƒRƒ“ƒpƒCƒ‰‚ªƒCƒ“ƒ‰ƒCƒ““WŠJ‚·‚邱‚Æ‚à‚ ‚é
>>792
>>791‚Í•¶–¬‚©‚玿–â‚̈Ӗ¡‚ª—‰ðo—ˆ‚È‚¢ƒAƒzB
’m‚è‚à‚µ‚È‚¢‚­‚¹‚É’m‚Á‚Ä‚¢‚é‚Æ‚Ù‚´‚­>>784ƒŒƒxƒ‹‚̃NƒYB

>>787
>>788‚ÌŒ¾‚¤‚Æ‚¨‚èB‚V‚O”N‘ã‚Æ‚©‚ÌŒ¾‚¢“`‚¦‚ðM‚¶‚Ä‚¢‚é‚ƃoƒJ‚ð‚Ý‚éB
>>787,794
recursive ‚ÍV‚½‚ɌĂ΂ê‚邽‚тɃƒ‚ƒŠ‚âL1ƒLƒƒƒbƒVƒ…‚ɃR[ƒh‚ð“WŠJ‚·‚é‚Ì‚ÅA
•p“xŽŸ‘æ‚Å‚Í‘¬“x‚ɃeƒLƒƒ“‚Éo‚邯‚Ç(ƒ‹[ƒv“à‚ŌĂԂƂ©w)EE
¡‚̃}ƒVƒ“‚ŃnƒmƒC“ƒ–â‘è‚­‚ç‚¢‚È‚ç‹C‚É‚µ‚È‚­‚Ä‚¢‚¢‚æB
> recursive ‚ÍV‚½‚ɌĂ΂ê‚邽‚тɃƒ‚ƒŠ‚âL1ƒLƒƒƒbƒVƒ…‚ɃR[ƒh‚ð“WŠJ‚·‚é

‚»‚ñ‚ȃRƒ“ƒpƒCƒ‹‹Z–@‚͂͂‚݂݂ł·B
do i=1,100
z(i)=x(i)+y(i)
enddo
‚Á‚Ä‘‚­‚Ì‚Æ
z(1:100)=x(1:100)+y(1:100)
‚Á‚Ä‘‚­‚Ì‚ÅŒvŽZ‚Ì‘¬‚³‚ɈႢ‚Í‚ ‚è‚Ü‚·‚©H
‚µ‚å‚Ú‚¢ƒRƒ“ƒpƒCƒ‰‚È‚çŒãŽÒ‚̂悤‚É–¾Ž¦“I‚É‘‚­•û‚ª‚¢‚¢‚ª
¡Žž‚»‚¤‚¢‚¤‚Ì‚ ‚é‚©‚È‚ 
>>797
‚È‚¢
‚È‚ñ‚É‚¹‚æA‚»‚¤‚¢‚¤‚¿‚å‚Á‚Æ‚µ‚½‘‚«•û‚̈Ⴂ‚ð‹C‚É‚·‚é‚æ‚è
ƒAƒ‹ƒSƒŠƒYƒ€‚»‚Ì‚à‚Ì‚ðl‚¦‚½•û‚ª‚¢‚¢A‚Æ‚©‹³‰È‘‚É‘‚¢‚Ä‚È‚¢‚©‚¢
‚ ‚邯‚ê‚ǃRƒ“ƒpƒCƒ‰‚ª‚È‚­‚µ‚Ä‚­‚ê‚é‚Á‚Ä‚±‚Æ‚Å‚¢‚¢‚Å‚·‚©‚Ë

‚ ‚Æ
sum(x**2)
‚Æ
x(1)*x(1)+x(2)*x(2)+x(3)*x(3)
‚È‚ç‚Ç‚Á‚¿‚ª‘¬‚¢‚Å‚·‚©‚Ë
x‚ªx(10000)‚È‚çŒãŽÒ
x(3)‚Ȃ瓯‚¶
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·
>>801
‚ ‚ñ‚½A‚È‚ñ‚©‘åÌ‚Ì“`à‚Ý‚½‚¢‚È‚Ì‚ð–ÓM‚µ‚Ä‚È‚¢‚©‚¢H
¡‚̓Rƒ“ƒpƒCƒ‰‚ÌÅ“K‰»‚Å•Ï‚í‚é‚©‚çAŠÂ‹«ˆË‘¶‚Å‚»‚¤‚¢‚¤Ž¿–âˆÓ–¡‚È‚¢‚æB
–{“–‚ÌÅŒã‚ÌÅŒã‚ÉÅ“K‰»‚·‚é‚悤‚ÈŠ‚ð‹C‚É‚µ‚Ä‚¢‚ăZƒ“ƒXˆ«‚·‚¬B

‹C‚É‚È‚é‚Ȃ玩•ª‚ŃeƒXƒgƒvƒƒOƒ‰ƒ€‘‚¢‚Ä’²‚ׂ½‚Ù‚¤‚ª‘‚¢BŒÈ‚ÌŽ¿–â‚Ì–³ˆÓ–¡‚³‚ðŠš‚Ý‚µ‚ß‚ç‚ê‚éB

>>802‚àM—p‚È‚ç‚ñ‚—@‚Â[‚©¡Žžx(1000)’ö“x‚Å‚ÍA—LˆÓ‚È·‚ªo–³‚¢B

Œ‹‹Ç>>800‚ª‘‚¢‚Ä‚¢‚é‚悤‚ÉA“K؂ȃAƒ‹ƒSƒŠƒYƒ€‚ð’¼B‚Ƀ\[ƒXƒR[ƒh‚É’¼‚µ‚½‚Ù‚¤‚ªA
ŽÀsŽžŠÔ‚àƒfƒoƒbƒOŽžŠÔ‚Å‚àŒ‹‹Ç‘‚­‚È‚éB


QuickSort‚È‚ñ‚©‚àAÄ‹A‚ðŽg‚Á‚Ä‘f’¼‚É‘‚¢‚ÄŽÀs‚·‚é‚ÆA—˜_’Ê‚è‚ÉOiNLogN)‚Å“®‚­‚©‚ç
Ä‹A‚È‚µ‚ÌO(N^2)‚ȃoƒuƒ‹ƒ\[ƒg‚¾‚Ì‚æ‚è‚æ‚Á‚Û‚Ç‘¬‚¢‚킳BF77Žž‘ã‚Ý‚½‚¢‚ÉÄ‹A–³‚µ‚ÅQuickSort
‘‚¢‚½‚çAƒ\[ƒXƒOƒ`ƒ‡ƒOƒ`ƒ‡‚ȃCƒ~ƒt‚ŃoƒOŽæ‚è‘å•Ï‚Èã‚ÉAŒ‹‹Ç‚³‚µ‚Ä‘¬‚­‚à‚È‚©‚낤‚³B

QuickSort‚Á‚ÄÄ‹AŽg‚¦‚΂P‚Os‚¾‚ºB–â‘è‚É‚È‚é‚̂̓Xƒ^ƒbƒNƒI[ƒo[ƒtƒ[‚¾‚¯B

RECURSIVE FUNCTION qsort(x) RESULT(res)
REAL, INTENT(IN) :: x(:)
REAL :: res( SIZE(x) )
IF ( SIZE(x) > 1 ) THEN
res = (/ qsort(PACK( x(2:), x(2:) > x(1) )), x(1), qsort(PACK( x(2:), x(2:) <= x(1) )) /)
ELSE
res = x
END IF
RETURN
END FUNCTION qsort
‘åÌ‚¾‚Æ‚·‚®‚ÉStack ˆì‚ꂽ‚à‚Ì‚¾‚¯‚ÇA¡‚Í‹C‚É‚µ‚Ä‚àB>>788,795 ‚Ý‚½‚¢‚É
Stack “WŠJ‚̃ƒX‚à‚»‚ê‚Ù‚Ç‚Å‚à‚È‚¢‚µB‚Æ‚¢‚¤‚©‚±‚±‚ª‹C‚É‚È‚é‚Æ‚¢‚¤‚Ì‚Í‚â‚è‚©‚½‚ª‚Ü‚¸‚¢B

>>804 ‚Ì‚Æ‚¨‚èׂ©‚¢Å“K‰»‚̓xƒ“ƒ_”C‚¹‚Å‚¢‚¢‚ÆŽv‚¤‚æB
unrolling ‚â‚ç‚¢‚ë‚¢‚롂̃Rƒ“ƒpƒCƒ‰‚Í‚·‚é‚à‚ñ‚ËB
CPU ƒ[ƒJ‚Ìì‚éƒRƒ“ƒpƒCƒ‰(Intel ‚Æ‚©EEFujitsu ‚Í
SPARC ˆÈŠO‚Å‚à—ÇD‚ÅD‚«‚¾‚¯‚Ç‚‚¯‚¥)‚Í“Á‚ÉB

gfortran ‚Í‚Ç‚¿‚ç‚©‚Æ‚¢‚¤‚ƈႤƒvƒ‰ƒbƒgƒz[ƒ€‚Å‚à“¯‚¶Œ‹‰ÊEŽg‚¢S’n‚ÉA‚Éd“_‚ª‚ ‚é‚©‚ç‚©
‚»‚Ì“_‚Å‚Í‚¾‚¢‚Ô—ò‚邯‚ÇA•Ö—˜‚¾‚µEEEƒ^ƒ_‚È‚Ì‚ª‚¢‚¢I
Intel Fortran ‚¾‚ÆA‚X‚Æ11‚Å‚Ü‚Á‚½‚­“¯‚¶ƒR[ƒh
(CPUÅ“K‰»‚ð /QxW ‚ ‚½‚è‚Ō¢¢‘ã‚ÌCPU‚É‘µ‚¦‚Ä)‚ƃ}ƒVƒ“‚Å‚à
ŽÀŒø‘¬“x‚ª‚Q`‚RŠ„‚͂ӂ‚¤‚ɈႤ‚Ì‚ÅEEEŒÂl‚ªu‘‚«•ûv‚Å‚È‚ñ‚Æ‚©
Å“K‰»‚µ‚悤‚Æ‚¢‚¤“w—Í‚Í‚ ‚Ü‚èˆÓ–¡‚ª–³‚¢‚Ì‚ªŽÀŠ´‚Å‚«‚éB
Fortran‚ÆC‚Ç‚¿‚炪—Ç‚¢‚©‚Á‚Ä‚Ì‚Í‚ ‚éˆÓ–¡‰i‰“‚̃e[ƒ}‚©‚à‚µ‚ê‚ñ‚¯‚ÇA
—¼ŽÒ‚Ì‘‡“I‚È‘P‚µˆ«‚µ‚ð‚«‚¿‚ñ‚Æ®—‚µ‚Ä—‰ð‚·‚é‚É‚ÍA‚â‚Á‚ÏŽ©•ª‚Å
—¼•û‚â‚ç‚È‚«‚á‘Ê–Ú‚È‚ñ‚©‚ÈcB

Œ¤‹†ŽÒ‚Æ‚©‹ÆŠE‚̃Š[ƒ_[“I—§ê‚Ìl‚Í‚±‚Ì•Ó‚ð‚Í‚Á‚«‚è–¾‚ç‚©‚É‚µ‚Ä
‚­‚ê‚é‚Æ•‚©‚é‚ñ‚¾‚¯‚Ç‚È‚ŸB‚à‚Á‚ÆŒ¾‚¦‚ÎA‰ÈŠw‹Zp”’lŒvŽZƒR[ƒh‚Í
‚ǂ̂悤‚ÉŠJ”­‚·‚ׂ«‚©A‚Ý‚½‚¢‚ÈŽwj‚ðŽ¦‚µ‚Ä‚­‚ê‚é‚ÆŽÀ‚É‚ ‚肪‚½‚¢˜b
‚È‚ñ‚¾‚¯‚ÇA‚»‚¤‚¢‚¤“®‚«‚Á‚Ä‚ ‚ñ‚Ü‚è‚È‚¢‚悤‚ÈcB
808 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/08/11(…) 01:00:21
‚ß‚ñ‚Ç‚¤‚¾‚à‚ñ
809 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/08/11(…) 14:53:17
•¨—Œn‚Ì”N”z‚Ìl’B‚ÍFORTRAN‚µ‚©’m‚ç‚È‚¢‚µA‚Ü‚½FORTRAN‚ªÅ‘¬
‚ÆM‚¶‚Ä‚¢‚é‚©‚çAC‚Æ‚©‚É‚Í‘S‘R‹»–¡‚È‚¢‚¾‚낤‚ËB

‘åŠw‚Ì•¨—Œn‚ÌŒ¤‹†Žº‚Ì‹³Žö‚ÍFORTRAN‚µ‚©‚í‚©‚ç‚È‚¢‚©‚çAŠw¶‚ª
C‚âC++‚Å”’lŒvŽZƒvƒƒOƒ‰ƒ€‚ð쬂·‚é‚Æ•s‹@Œ™‚É‚È‚éBŒ‹‹ÇA‚»‚±‚Ì
Œ¤‹†Žº‚ÌŠw¶’B‚ÍFORTRAN‚ŃvƒƒOƒ‰ƒ€‚ðì‚邱‚Æ‚É‚È‚éB

C‚âC++‚̓vƒŠƒvƒƒZƒbƒT‚âƒ|ƒXƒgƒvƒƒZƒbƒT‚Ì•”•ª‚Å‚µ‚©o”Ô‚ª‚È‚¢
‚¾‚ë‚ËB
810 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/08/11(…) 15:16:02
Œ™‚¾‚æFORTAN‚È‚ñ‚©
‚Å‚àƒXƒpƒRƒ“‚ðŽg‚¤‚È‚çFortran‚Å‚µ‚åB
‚±‚Ì‘O‚àAƒXƒpƒRƒ“‚Ì—˜—pŽÒ‚Ì‚½‚ß‚ÌuK‚Å•xŽm’Ê‚âNEC‚Ìl‚ÉŒ¾‚í‚ꂽB
812 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/08/12(–Ø) 01:30:04
ƒXƒpƒRƒ“Œü‚¯‚̃Rƒ“ƒpƒCƒ‰ì‚鑤‚Æ‚µ‚Ä‚ÍFortran ‚ÍŠy‚炵‚¢‚ËB

‚Ü‚ AC ‚Æ Fortran ‚Í‹¤‘¶‚µ‚â‚·‚¢‚µEEE
—¼•û’m‚Á‚Ä‚ê‚Ή½‚©‚Æ•Ö—˜‚¾B–Ê“|‚Å‚à‚ ‚邯‚ÇB
Žd•û‚Ë‚¦‚È‚ Fortran‚à•¶–@‚ÍãY—í‚Æ‚ÍŒ¾‚¦‚È‚¢‚ªA’·‚¢ŠÔŽg‚í‚ê‚Ä—ˆ‚½
Ž–‚©‚çÅ“K‰»‹Zp‚ªn¬‚µ‚Ä‚¨‚èA‚Ü‚½ƒ‰ƒCƒuƒ‰ƒŠ‚à‘½”‚ ‚鎖‚©‚ç‰ÈŠw‹Zp
ŒvŽZ‚É‚ÍFortranA‚»‚Ì‘¼‚̃†[ƒeƒBƒŠƒeƒB‚ÍC‚̂悤‚ɱ‚Ý•ª‚¯‚ªo—ˆ‚Ä‚µ‚Ü‚Á‚Ä‚¢‚é

‚µ‚©‚µƒEƒBƒ“ƒhƒDƒ‰ƒCƒuƒ‰ƒŠ‚ÍC‚Ì•û‚ª–L•x‚È‚Ì‚ÅA>>812‚Ì‚¢‚¤’ʂ苤‘¶‚µ‚Ä‚¢‚é‚Ì‚ª
Œ»ŽÀ‚¾
C++‚ÍEEE‚¤[‚ñ¡‚ÌŠQtˆÈŠO‚Å‚Í‚ ‚Ü‚è—p“r‚ª‚È‚¢‚ñ‚¶‚á‚ËH
ƒEƒBƒ“ƒhƒEƒ‰ƒCƒuƒ‰ƒŠ‚Á‚ÄA—v‚͉Ž‹‰»‚·‚é‚Á‚Ä‚±‚Æ‚¾‚ÆŽv‚¤‚ª
c‚̃‰ƒCƒuƒ‰ƒŠ‚ðŒÄ‚Ô‚±‚Æ‚à‚¢‚¿‚¨‚¤‚͉”\‚¾‚µ
Šù‘¶‚̉Ž‹‰»ƒc[ƒ‹Žg‚¤l‚̓tƒ@ƒCƒ‹‚ð‚»‚ê‚ɃRƒ“ƒo[ƒg‚·‚ê‚΂¢‚¢‚µ
‚»‚à‚»‚à‰ÂŽ‹‰»‚È‚ñ‚Ä‚¢‚ç‚ñA‚Á‚Äl‚à‚¢‚邵

±‚Ý•ª‚¯‚ªo—ˆ‚Ä‚Ä‚¢‚¢‚ñ‚¶‚á‚Ü‚¢‚©‚Æ
‚Æ‚¢‚¤‚©Ai‰»‚ªŠ®‘S‚ÉŽ~‚Ü‚Á‚Ä‚é‚Ì‚É•‰‚̈âŽY‚Æ‚µ‚Ä‚¢‚Ü‚¾‚ÉŽc‚Á‚Ă錾Œê‚È‚ñ‚Ä‚´‚ç‚É‚ ‚邵A
”­“W‚ª‘±‚¢‚Ă邾‚¯‚Å‚à‘Š“–‚ ‚肪‚½‚¢‚±‚Æ‚¾‚æ‚È
Fortran‚ÍŽ€‚ñ‚¾‚Æ‚©Œ¾‚¤‚â‚‚¢‚邯‚ÇAæÒ‘ò‚·‚¬‚é‚í
815 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/08/13(‹à) 00:17:08
C++‚à‰E•Ó’lŽQÆ‚ª•‹y‚·‚ê‚΂¿‚å‚Á‚Æ‚Í‘¬‚­‚Ȃ邾‚낤‚ªA
”’lŒvŽZ‚Ì•À—ñˆ—‚É‚æ‚é‚‘¬‰»‚ÍFortran‚Ì•û‚ªˆê•à’·‚¶‚Ä‚¢‚é‚©‚ç‚ÈB


C‚âC++‚̓|ƒCƒ“ƒ^‚ðŽg‚¤‚©‚çƒRƒ“ƒpƒCƒ‰‚ÌÅ“K‰»‚ª‚â‚è‚É‚­‚¢‚µB
816 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/08/13(‹à) 01:42:35
>>812 C ‚Æ Fortran ‚Í‹¤‘¶‚µ‚â‚·‚¢‚µ
ƒRƒ“ƒpƒCƒ‰‚â‚ç‚ÅA
•›ƒvƒƒOƒ‰ƒ€‚Ì–¼‘O‚É _ ‚ª‚‚¢‚½‚è•t‚©‚È‚©‚Á‚½‚èA
Case Sensitive ‚¾‚Á‚½‚è‚È‚©‚Á‚½‚èA
®”EŽÀ”ˆÈŠO‚Ì•Ï”‚ð“n‚·‚Æ–ãâ‚·‚邱‚Æ‚ª‚ ‚Á‚½‚èEEE
‚Å‚àA‚Ü‚ ‚»‚Ì‚Ö‚ñ‚É‹C‚ð‚‚¯‚ê‚ÎA‚QŒ¾Œê‚ð¬Ý‚³‚¹‚é‚Ì‚Í
‘¼‚Ì‘g‚݇‚킹‚æ‚è‚©‚È‚èŠy‚¾‚æ‚ËB
_‚ªˆêŒÂ‚©‚ç“ñŒÂ‚É•ÏX‚³‚ꂽŽž‚É•Ï‚¦‚½“z‚ðŽE‚µ‚Ä‚â‚낤‚©‚ÆŽv‚Á‚½B
s—ñ”½•œ‚È‚Ç‚Ìd‚¢ˆ—‚ÍFortranA‚»‚ÌŠO‘¤‚ÍC‚Á‚ÄŠ´‚¶‚©H
‚Å‚àŠO‘¤C‚É‚µ‚ăzƒ“ƒg‚É‚â‚è‚â‚·‚­‚È‚é‚Ì‚©‚ÈB‚¢‚Ü‚¢‚¿ƒsƒ“‚Æ‚±‚È‚¢B
“üo—Í‚ÍC‚Ì•û‚ªŠyBƒ}ƒgƒŠƒbƒNƒX\’z‚·‚é‚Ì‚àAƒIƒŒ‚É‚Æ‚Á‚Ä‚ÍC‚Ì•û‚ªŠy‚¾‚¯‚ÇA
‚±‚Á‚¿‚ÍAFORTRAN‚ÌSTRUCTURE‚ÍŽg—pŒoŒ±‚ª–³‚¢‚©‚ç‚æ‚­‚í‚©‚ç‚È‚¢B
‚Ü‚ AD‚«‚¸‚«‚Å‚¢‚¢‚ñ‚¶‚á‚ËH
ŒÂl“I‚É‚Í818‚³‚ñ•ûŽ®‚ÅWrapper ‚ðC ‚É‚µ‚ÄA‚ª‘½‚¢B
‚Ü‚ A Fortran ‚¾‚¯‚ÅÏ‚Þ‚È‚ç‚í‚´‚í‚´•ï‚ñ‚¾‚è‚Í‚µ‚È‚¢‚¯‚ÇB
NAG‚ÌFortran“ü–åƒTƒCƒg‚Á‚Ä‚æ‚­‚Ü‚Æ‚Ü‚Á‚Ä‚ÄD‚«‚È‚ñ‚¾‚¯‚ÇA
«‚ÌFortran2003‚̃y[ƒW‚Á‚Ä‚·‚°[’H‚è‚É‚­‚¢‚Æ‚±‚ë‚É‚ ‚é‚Ì‚È
ttp://www.nag-j.co.jp/fortran/fortran2003/index.html
‚È‚ñ‚©——R‚ª‚ ‚é‚ñ‚¾‚낤‚©‚ÆŠ¨‚®‚Á‚Ä‚µ‚Ü‚¤‚—
•ÏŒ`ƒxƒbƒZƒ‹ŠÖ”‚ðŽg‚¢‚½‚¢‚ñ‚Å‚·‚¯‚Ç
fortran‚ŃtƒŠ[‚Ì‚à‚Ì‚Á‚Ä‚ ‚è‚Ü‚·‚©H
ƒWƒ…ƒŠƒAW‡‚ðì‚肽‚¢‚ñ‚Å‚·‚¯‚Ç

c julia set
complex z,z0,c
10 read(6,*)x,y
write(6,*)'x=,y='

if(x.gt.2) go to 10
if(y.gt.2) go to 10
read(6,*)a,b
write(6,*)'a=,b='
z0=(x,y)
c=(a,b)
do n=1,100
z=z0
z=z*z+c
abs(z).lt.10
Rez=real(z)
Imz=aimag(z)
write(6,*)Re(z),Im(z)
end do
end

‚±‚ꂾ‚Æz0=(x,y)
c=(a,b)
‚Ì•”•ª‚Æabs(z).lt.10
‚ªƒGƒ‰[‚É‚È‚é‚ñ‚Å‚·‚¯‚ÇA‚Ç‚¤‚·‚ê‚΂¢‚¢‚Å‚·‚©H
Ž©—RŒ`Ž®‚Ìfortran90‚̃\[ƒXƒR[ƒh‚©‚çŒÅ’èŒ`Ž®‚ÌCOMMONƒuƒƒbƒN‚ª“ü‚Á‚½FORTRAN77‚̃tƒ@ƒCƒ‹‚ð"include"‚·‚é‚É‚Í‚Ç‚¤‚·‚ê‚΂¢‚¢‚Ì‚Å‚µ‚傤‚©H
ƒRƒ“ƒpƒCƒ‰[‚Ígfortran-4.4‚ðŽg‚Á‚Ä‚¢‚Ü‚·BƒfƒtƒHƒ‹ƒg‚ÅŽ©—RŒ`Ž®‚ʼnðŽß‚³‚¹‚½‚çƒRƒƒ“ƒg‚Ì"C"‚âŒp‘±‚Ì"&"‚ ‚½‚è‚ŃGƒ‰[o‚邵A-ffixed-formƒIƒvƒVƒ‡ƒ“‚ŌŒèŒ`Ž®‚Æ‚µ‚ăRƒ“ƒpƒCƒ‹‚µ‚Ä‚à“–‘Rƒ_ƒ‚Å‚µ‚½B
825 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/08/24(‰Î) 09:56:29
>>824
“¯‚¶Ž–‚ð‚¢‚ë‚¢‚뎎‚µ‚½‚¯‚ÇEEŽ©•ª‚ÌŽž‚Í‚Ç‚¤‚É‚àƒ_ƒ‚¾‚Á‚½B
include ‚Á‚Ä‹@ŠB“I‚Ƀtƒ@ƒCƒ‹‚ð‘}“ü‚·‚邾‚¯‚¾‚©‚çEEE‚Ç‚¤‚É‚à‚È‚ç‚ñ‚悤‚ÈB

ˆÌ‚¢l‚Ì~—Õ‚ð‘Ò‚Æ‚¤B
826 F824F2010/08/24(‰Î) 13:13:26
•ªŽq“®—ÍŠwƒpƒbƒP[ƒWTinker‚ÉŠî‚¢‚½ƒŒƒvƒŠƒJŒðŠ·MD‚̃vƒƒOƒ‰ƒ€TiReX‚̃\[ƒXƒR[ƒh‚ðŒ©‚Ä‚»‚±‚»‚±Žg‚¦‚»‚¤‚È‰ðŒˆ–@‚ª‚ ‚è‚Ü‚µ‚½B
Tinker‚Í77‚̌ŒèŒ`Ž®‚ÅTiReX‚Í95‚ÌŽ©—RŒ`Ž®‚Å‚·B

TiReX‚ÍTinker‚̃‰ƒCƒuƒ‰ƒŠ‚ÆCOMMON‚Ì’è‹`‚ª‘‚¢‚Ä‚ ‚éƒCƒ“ƒNƒ‹[ƒhƒtƒ@ƒCƒ‹‚ðŽg‚¢‚Ü‚·B
ƒCƒ“ƒNƒ‹[ƒhƒtƒ@ƒCƒ‹‚à77‚̌ŒèŒ`Ž®‚Å‚·‚ªATiReX‚Ì•û‚ŌŒèŒ`Ž®‚ÅModule‚ðì‚è(incmod‚Æ‚µ‚Ü‚·)A
Ž©—RŒ`Ž®‚Ìmainƒ‹[ƒ`ƒ“‚Ì’†‚Å"use incmod"‚Æ‚·‚ê‚΂¢‚¯‚é‚Ý‚½‚¢‚Å‚·B
‚»‚ꂪ³‰ð‚©
ƒRƒ“ƒpƒCƒ‹Žž‚Ƀ\[ƒX‚ªŽ©—RŒ`Ž®ŒÅ’èŒ`Ž®‚²‚Á‚¿‚á‚É‚È‚Á‚Ä‚È‚¯‚ê‚΂¢‚¢‚킯‚Å
subroutine‚Æfunction‚̈Ⴂ‚Á‚Ä‚È‚ñ‚Å‚·‚©H

‚à‚µ‚Ç‚¿‚ç‚ðŽg‚Á‚Ä‚à–Ú“I‚ª’B¬‚Å‚«‚é‚È‚ç‚Ç‚Á‚¿‚ðŽg‚¤‚ׂ«‚Å‚·‚©H
D‚Ý‚ÅŒˆ‚ß‚Ä‚¢‚¢‚Å‚·‚©‚ËH
829 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/08/25(…) 07:25:39
‚¨D‚«‚È•û‚ÅB‚킵‚Í
logical function func(a,b,c...)
‚Ý‚½‚¢‚ɳíI—¹‚¾‚Á‚½‚©‚ð‚í‚©‚è‚â‚·‚­‚·‚邽‚ß‚É
‹³‰È‘“I‚É‚ÍSubroutine ‚Å‘‚­‚à‚Ì‚à
logical ‚ÈŠÖ”‚É‚·‚邱‚Æ‚ª‘½‚¢‚¯‚ÇA
•Ê‚É‚»‚̃Xƒ^ƒCƒ‹‚ð‘¼l‚ɉŸ‚µ•t‚¯‚é‚Ù‚Ç‚Í•Ö—˜‚Å‚Í‚È‚¢‚µEEB
‚Ü‚Ÿ‹³‰È‘“I‚É‚Ísubroutineˆø”‚Éierr‚Æ‚©ƒGƒ‰[—p•Ï”‚ð“ü‚ê‚Æ‚­‚ñ‚¾‚æ‚È

>>828
’Pƒ‚Éfunction‚Ȃ玮’†‚ÉŠÜ‚ß‚ç‚ê‚é“_‚¶‚á‚È‚¢‚©
‚Ç‚¿‚ç‚à•›ƒvƒƒOƒ‰ƒ€‚¾‚µA’l‚ð•Ô‚·ˆÈŠO‚ɈႢ‚Íg‘S‚­‚È‚¢h‚ÆŽv‚Á‚Ä‚é‚ñ‚¾‚¯‚Ç
‚à‚µˆá‚¤‚È‚ç’N‚©Žw“E‚µ‚Ä‚­‚¾‚³‚¢
sin(x)/x‚ðŒvŽZ‚µ‚Ä‚­‚ê‚éƒTƒuƒ‹[ƒ`ƒ“‚Á‚Ä‚ ‚è‚Ü‚¹‚ñ‚©H
832 F831F2010/08/25(…) 21:39:29
Œ¾‚¤‚Ì–Y‚ê‚Ä‚Ü‚µ‚½
sin(x)/x‚Ì‚˜‚ª¬‚³‚¢‚Æ‚±‚ë‚ð³Šm‚ÉŒvŽZ‚µ‚Ä‚­‚ê‚éƒTƒuƒ‹[ƒ`ƒ“‚Å‚·
>>832
‚ ‚é‚æB
‚Ç‚±‚É‚ ‚é‚©‹³‚¦‚Ä‚à‚炦‚Ü‚¹‚ñ‚©
sincŠÖ”‚¾‚Á‚¯‚»‚ê
”Šwƒ‰ƒCƒuƒ‰ƒŠ‚Æ‚©‚É‚Í“ü‚Á‚Ä‚é‚ñ‚¶‚á‚È‚¢‚ÌH
>830 ‚Ç‚¿‚ç‚à•›ƒvƒƒOƒ‰ƒ€‚¾‚µA’l‚ð•Ô‚·ˆÈŠO‚ɈႢ‚Íg‘S‚­‚È‚¢h‚ÆŽv‚Á‚Ä‚é‚ñ‚¾‚¯‚Ç

‚킵‚à‚»‚¤Žv‚¤BEE‚È‚ñ‚©‚ ‚é‚ñ‚©‚ÈH
>836
>>837 ‚²‚ß‚ñAƒ~ƒX‚Á‚½B
>>836 function“à‚Å‚Í@write(*,*)‚ª‚Å‚«‚È‚¢‚Ì‚ª—Bˆê‚̈Ⴂ‚ÆŽv‚Á‚Ä‚½‚ºB
‚Ö‚¦A‚»‚¤‚¢‚¤ˆá‚¢‚ª‚ ‚é‚ñ‚¾EEE
‚Å‚àAŽ©•ª‚Æ‚±‚ë‚Ì Intel Fortran (10.??)‚̓Rƒ“ƒpƒCƒ‹‚ÌŽž‚É•¶‹å‚¢‚Á‚Ä‚±‚È‚¢‚µA
‚¿‚á‚ñ‚Æ–³‘Ž®•W€o—Í‚ª‚Í‚½‚ç‚­‚æB‹KŠiŠO‚È‚ñ‚©‚ÈH
>>839 ‚¤[‚ñAŠ¨ˆá‚¢‚µ‚Ä‚Ü‚µ‚½B
write(*,*) "foo",func

function func()
func = 0.d0
write(*,*) "bar"
end function
‚Æ‚·‚é‚Ærecursive I/O error‚ª‚Å‚é‚Ì‚Å‘Ê–ÚB
‚Æ‚¢‚¤‚Ì‚ð”]“à•ÏŠ·‚µ‚ÄAfunction“à‚Åwrite•¶‚ªŽg‚¦‚È‚¢‚Æ‚¢‚¤”]“àƒ‹[ƒ‹‚É‚µ‚Ä‚Ü‚µ‚½B
‚·‚Ý‚Ü‚¹‚ñB subroutine‚Å‚Í‚ ‚肦‚È‚¢‚±‚¤‚¢‚¤ƒP[ƒX‚à‚ ‚é‚æA‚Æ‚¢‚¤‚±‚Æ‚Å...
841 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/09/10(‹à) 01:41:21
write(*,*) "foo",func
function func()

‚È‚é‚Ù‚ÇI
‚½‚µ‚©‚É‚±‚ꂾ‚ÆŠÖ”“àI/O ‚ªˆø‚ÁŠ|‚©‚é‚ËB
‚¨‚à‚µ‚ë‚¢—ႾB
‚ A‚Ù‚ñ‚Æ‚¾B
‚‚¢subroutine‚Æ“¯‚¶Š´Šo‚Å‚±‚ÌŽè‚̃Gƒ‰[—po—Í‚ð‚â‚肪‚¿‚¾‚¯‚ÇA‹C‚ð•t‚¯‚È‚«‚á‚—
–{—ˆ‚È‚çƒGƒ‰[Žž‚àˆø”‚őΈ‚·‚ׂ«‚©‚à‚µ‚ê‚ñ‚¯‚ÇAo—Í‚É‚±‚¾‚í‚é‚È‚çwirte(0,*)‚Å‚à‚¢‚¢‚©B
‚©‚¿‡‚í‚È‚¯‚ê‚΂¢‚¢‚킯‚ÅB

‚¿‚È‚Ý‚É write(*,*) "foo",func ‚ͳ‚µ‚­‚Í func() ‚¾‚æ‚ËB
‚Æ‚¢‚¤‚© func ‚Ì‚Ü‚Ü‚¾‚Ærecursive I/O error‚ªo‚È‚¢‚ñ‚¾‚æ‚ËB‚æ‚­•ª‚©‚ç‚ñEEE

$ cat a.f90
implicit none
real func
write(*,*) "foo",func
end
real function func
func = 0.d0
write(*,*) "bar"
end function

$ ifort a.f90 -warn ; ./a.out
foo 0.0000000E+00
>>842
> ‚Æ‚¢‚¤‚© func ‚Ì‚Ü‚Ü‚¾‚Ærecursive I/O error‚ªo‚È‚¢‚ñ‚¾‚æ‚ËB

‚»‚è‚áA‚»‚̃vƒƒOƒ‰ƒ€‚¾‚Æ"foo"‚ÌŒã‚É ŽÀ”•Ï”‚Ìfunc ‚ð•\Ž¦‚·‚邱‚Æ‚É‚È‚é‚©‚炾‚ª‚âB
844 F842F2010/09/10(‹à) 20:58:29
>>843
ƒEƒbƒnI‚±‚è‚á’p‚¸‚©‚µ‚¢EEEŽ€‚ñ‚Å‚«‚Ü‚·
>>807
‹CÛ’¡‚ÌFortran •W€ƒR[ƒfƒBƒ“ƒOƒ‹[ƒ‹
http://www.mri-jma.go.jp/Project/mrinpd/coderule.html
846 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/10/01(‹à) 20:25:26
‚Í‚¶‚ß‚Ü‚µ‚ÄB
¡AFORTRAN‚ÅFŒŸ’èŒã‚ÉTŒŸ’èA“™•ªŽU‚Å‚Í‚È‚¢TŒŸ’è‚ðs‚¤‚à‚Ì‚ðì‚낤‚©‚Æl‚¦‚Ä‚¢‚Ü‚·B
ŠÈ’P‚Éà–¾‚µ‚Ü‚·‚ÆA‚Q‚‚̓Ɨ§‚µ‚½•W–{‚Ì•½‹Ï‚Ì·‚Ì—LˆÓ‚³‚ð‚Ý‚é‚à‚Ì‚È‚Ì‚Å‚·‚ªA
Ž„‚Í‚Ü‚¾‚Ü‚¾–¢nŽÒ‚Å‚µ‚ÄA‚»‚̂悤‚ÈŽ—‚½‚悤‚ȃvƒƒOƒ‰ƒ€ƒ\[ƒX‚È‚Ç‚ ‚ê‚ÎŽQl‚É‚µ‚Ä‘‚«‚½‚¢‚Ì‚Å‚·‚ªA
‚È‚¢‚à‚Ì‚Å‚µ‚傤‚©H
“üo—Í‚Ì‘•’u”Ô†‚Ì”ÍˆÍ‚ð‹³‚¦‚Ä‚­‚¾‚³‚¢
>>847
ƒRƒ“ƒpƒCƒ‰‚É‚æ‚é‚ñ‚¶‚á‚Ë
ÄŒ»«‚Ì‚È‚¢ƒGƒ‰[‚̃fƒoƒbƒO‚Æ‚©‚Ç‚¤‚·‚è‚á‚¢‚¢‚Ì‚æEEE
>849
ƒƒ‚ƒŠƒAƒNƒZƒX‹^‚Á‚½‚çH
”z—ñŠOŽQÆ‚µ‚Ä‚é‚Æ‚©
>>849
ŠJ”­‚·‚é‚Æ‚«‚Í-warnŒn‚Æ-checkŒn‚̃IƒvƒVƒ‡ƒ“‚ð•t‚¯‚邱‚Æ‚ð‹­‚­Š©‚ß‚é
852 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/12/16(–Ø) 20:39:57
‚­‚¾‚·‚ê‚Ì•û‚É‘‚¢‚½‚Ì‚Å‚·‚ªA‚±‚Á‚¿‚Ì•û‚ª‚Ó‚³‚킵‚¢‹C‚ª‚µ‚½‚Ì‚ÅA
‹³‚¦‚Ä‚­‚¾‚³‚¢B
---
Windows”Å‚Ìifort (Intel Visual Fortran)‚Ńvƒƒtƒ@ƒCƒ‹‚ðŽæ‚é•û–@‚ð‹³‚¦‚Ä‚­‚¾‚³‚¢B

ŒŸõ‚·‚é‚ÆA
ifort -pg hoge.f90
./a.out
gprof ./a.out gmon.out
‚Æ‚¢‚¤‚Ì‚ª‚æ‚­ŒfÚ‚³‚ê‚Ä‚¢‚é‚Ì‚Å‚·‚ªAWindows”Å‚É‚ÍA‰º‹L‚̂悤‚É
-pg‚̑Ήž•¨‚ª‚È‚¢‚悤‚Å‚·B

map_opts -tw -lf -opts -pg

Intel(R) Compiler option mapping tool

mapping Linux options to Windows for Fortran

'-pg' Linux option maps to
--> no equivalent Windows option found
[debug ‚©‚ÈH
ƒfƒoƒbƒK‚Íidb‚¶‚á‚È‚¢‚ÌHLinux‚¾‚¯‚È‚ñ‚©‚ÈB
”{¸“x‚Ídouble precision‚Å‚·‚ªA4”{¸“x‚Íquadruple precision‚Å‚¢‚¢‚©‚Æ‚¢‚¤‚Æ
‚»‚¤‚Å‚Í‚È‚¢‚悤‚Å‚·‚ËBˆê•”‚ł͑Ήž‚µ‚Ä‚é‚»‚¤‚Å‚·‚ªB
real*8‚â real*16A‚à‚µ‚­‚ÍkindŽw’è‚Å“ˆê‚µ‚½‚Ù‚¤‚ª‚¢‚¢‚悤‚È‹C‚ª‚·‚é‚ñ‚Å‚·‚ªB
‚¾‚¢‚¢‚¿`precision‚Æ‚©‘‚­‚Ì‚Íç’·‚·‚¬‚Ü‚·‚æ‚ËB‰½‚Å‚»‚ñ‚È‚Ó‚¤‚ÉŒˆ‚Ü‚Á‚½‚ñ‚¾‚©EEEB

‚Æ‚¢‚¤‚©Ž©•ª‚̓Rƒ“ƒpƒCƒ‹ƒIƒvƒVƒ‡ƒ“‚Å-real-size 64‚È‚Ç‚Æ‚µ‚Ä‹­§“I‚É“ˆê‚µ‚Ä‚Ü‚·B
Ž®‚ÌŽÀ”‚Åud0v‚È‚Ç‚Æ––”ö‚É•t‚¯‚È‚¢‚ÅÏ‚Þ‚µB

Ž¿–â‚Æ‚¢‚¤‚킯‚Å‚Í‚È‚¢‚Å‚·‚ªAŠF—l‚Ç‚¤Žv‚¢‚Ü‚·‚©‚ËH
>>854
DOUBLE PRECISION ‚ÍFORTRAN‚U‚UŽž‘ã‚É“±“ü‚³‚ꂽ”{¸“x‚̳‹K‚Ì錾–@‚Å‚±‚¿‚炪–{‰ÆB
REAL*8‚È‚Ç‚ÍFORTRAN77Žž‘ã‚ÉŽg‚í‚ê‚é‚悤‚É‚È‚Á‚½‹L–@B
‚Ü‚½KIND‚ÍFortran90‚Å“±“ü‚³‚ꂽ‹L–@B
‚ ‚Æ‚S”{¸“x‚ÍFORTRAN‚V‚V‚Ü‚Å‚Í‹KŠiŠO‚ÌŠg’£B90ˆÈ~‚Å‚à•K{‚Å‚Í‚È‚¢B
‚æ‚Á‚ÄKIND‚̈ê‚‚Ƃµ‚Ä‘¶Ý‚µ‚Ä‚¢‚Ä‚à‚©‚Ü‚í‚È‚¢‚ªAquadruple precision‚̂悤‚È
V‚½‚È–½—ß‚ðŠú‘Ò‚·‚é‚Ì‚Í‚¨–åˆá‚¢‚Æ‚È‚éB
‚È‚¨Œ»Ý‚Å‚ÍKIND•ûŽ®‚Å“ˆê‚·‚é‚Ì‚ª‚æ‚낵‚¢‚Æ‚³‚ê‚Ä‚¢‚éB

‚Æ‚É‚©‚­‚T‚O”N•ª‚­‚ç‚¢Žž‘ã‚ð‚²‚Á‚¿‚á‚É‚µ‚Ä‚¢‚éBŒÃ•¶EŠ¿•¶‚̃mƒŠ‚Å‚U‚UA‚V‚V‚ðŠw‚Ô‚ª‹gB



AUTODBL‚ÌŒ‚¾‚ªA—ðŽj“I‚ÉFORTRAN‚Å‚ÍINTEGER‚Æ’P¸“xREAL‚̃[ƒh’·‚ªˆê’v‚·‚邱‚Æ‚ª
iˆÃ–Ù‚ÉHj—v‹‚³‚ê‚Ä‚«‚½‚Ì‚ÅAã•i‚È‚ç‚´‚éU‚é•‘‚¢‚ð‚µ‚Ä‚¢‚邱‚Æ‚É‚È‚Á‚Ä‚¢‚邱‚Æ‚ðŽw“E‚µ‚Ä‚¨‚«‚½‚¢B

Ž„ŒÂl‚ÍD‚Ý‚Ì–â‘è‚ÅŽg‚¤‚àŽg‚í‚Ê‚àŸŽè‚¾‚ÆŽv‚¤‚ªA‚µ‚΂炭‘O‚É
gfortran‚¾‚Á‚½‚©g95‚¾‚©‚̃fƒtƒH[ƒ‹ƒgREAL‚ª”{¸“x8byte‚ÅAƒfƒtƒH[ƒ‹ƒgINTEGER‚Ì
‚SƒoƒCƒg‚ƈê’v‚µ‚Ä‚¢‚È‚©‚Á‚½‚½‚ß‚ÉAŠOl‚Ì‚¨‚Á‚³‚ñ‚½‚¿‚ªBizzare–ì˜YŒÄ‚΂í‚è‚Å•³–¡‘X‚É”l‚µ‚Á‚Ä‚¢‚½‚—
”ñ펯‚©‚”j—õ’p‚ÈàÎåö•¨’—ñƒŒƒxƒ‹‚ÌU‚é•‘‚¢‚Æ‚³‚Ý‚È‚³‚ꂽ‚悤‚¾B
‚½‚µ‚©‚ÉCOMMONAEQUIVALENCEAƒzƒŒƒŠƒXŽg‚¢‚Ü‚­‚è‚Ì̂̃vƒƒOƒ‰ƒ€‚É‚Í•s“s‡‹É‚Ü‚è‚È‚¢B
>>855
ƒŒƒX‚Ç‚¤‚à‚Å‚·B‚‚©AÚ‚µ‚·‚¬‚éEEE

‚»‚¤‚¢‚¦‚ÎAreal(8)‚âreal*8‚Ì”Žš‚̈Ӗ¡i¸“x‚È‚Ì‚©ƒoƒCƒg”‚È‚Ì‚©‚»‚êˆÈŠO‚©j‚ª
‚«‚¿‚ñ‚Æ‹KŠi‚Å“ˆê‚³‚ê‚Ä‚¢‚È‚¢‚Æ‚¢‚¤˜b‚ð•·‚¢‚½‚±‚Æ‚ªB
‚½‚Æ‚¦‚Îcomplex‚¾‚ÆA•’Ê‚Ícomplex*8‚Å’P¸“x‚¾‚¯‚ÇŽÀ‘•‚É‚æ‚Á‚Ä‚Í”{¸“x‚Ìê‡‚à‚ ‚é‚Æ‚©B
‚»‚̕ӂ̉ðŒˆô‚Æ‚µ‚Äkind‚ª“±“ü‚³‚ꂽ‚ñ‚¾‚ÆŽv‚¤‚ñ‚¾‚¯‚ÇA‹ê“÷‚Ìô‚Æ‚¢‚¤‚©
‚ ‚ñ‚܃Xƒ}[ƒg‚¶‚á‚È‚¢‚悤‚ÈEEEB‚Â[‚©Acomplex(kind(0d0)) ‚Æ‚©’·‚Á‚½‚炵‚¢‚æ‚—
Fortran90`2003‚̘a‘‚ª‚ë‚­‚É‚È‚¢‚Ì‚Å—m‘‚𔃂¨‚¤‚©‚ÆŽv‚¤‚ñ‚Å‚·‚ªA‰½‚©ƒIƒXƒXƒ‚È‚¢‚Å‚µ‚傤‚©H
Šî–{“I‚È‚±‚Æ‚Í’m‚Á‚Ä‚Ü‚·‚ªA‚ ‚Ü‚è[‚­‚ÍŽg‚Á‚Ä‚È‚¢ƒŒƒxƒ‹‚ÌlŠÔ‚Å‚·B
‚±‚êˆêû‚ ‚è‚áOK‚Á‚Ä‚¢‚¤‚Ì‚ª—‘z‚Å‚·‚ªEEE

Amazon.com‚ňȉº‚ðŒ©‚Â‚¯‚Ü‚µ‚½B‚¨Ž‚¿‚Ì•û‚¢‚Ü‚·‚©H

Fortran 95/2003 Explained, Michael Metcalf (2004”N)
http://www.amazon.com/Explained-Numerical-Mathematics-Scientific-Computation/dp/0198526938

Fortran 95/2003 for Scientists & Engineers, Stephen Chapman (2007”N)
http://www.amazon.com/Fortran-95-2003-Scientists-Engineers/dp/0073191574/ref=pd_sim_b_3

The Fortran 2003 Handbook, Jeanne C. Adams (2008”N)
http://www.amazon.com/Fortran-2003-Handbook-Complete-Procedures/dp/1846283787
>>857
‚Ü‚ ŠT‚˃Aƒ}ƒ]ƒ“‚Ì‘•]‚Æ“¯‚¶‚悤‚ÈŠ´‘z‚Å‚·‚ª

uFortran 95/2003 Explainedv
Œ¾ŒêƒŠƒtƒ@ƒŒƒ“ƒX‘ã‚í‚è‚ÉŽg‚¤‚Ȃ炱‚ꂪœKB
‚³‚·‚ªMichael Metcalf‚³‚ñB‚»‚Ì‘ã‚í‚èƒTƒ“ƒvƒ‹ƒR[ƒh‚ª­‚È‚ßB

uFortran 95/2003 for Scientists & Engineersv
ƒTƒ“ƒvƒ‹ƒR[ƒh‚≉K–â‘肪‘½‚¢‚Ì‚Å‹ï‘Ì“I‚ÈŽg‚¢•û‚ª—‰ð‚µ‚â‚·‚¢B
‚½‚¾‚µFortran 2003‚ŒljÁ‚³‚ꂽ‹@”\‚ɂ‚¢‚Ă͉ðà‚ª­‚È‚ßB
ISO_C_BINDING ‚â IEEE_* ‚Ìà–¾‚ªŒ©“–‚½‚ç‚È‚¢‚ñ‚Å‚·‚ªEEE
•ªŒú‚¢‚̂ŃŠƒtƒ@ƒŒƒ“ƒX‘ã‚í‚è‚É‚·‚é‚Ì‚Í­X•sŒü‚«B

uThe Fortran 2003 Handbookv‚Í“Ç‚ñ‚¾‚±‚Æ‚È‚¢‚Ì‚Å‚í‚©‚è‚Ü‚¹‚ñB


u` Explainedv‚ÍF2008‚ɑΉž‚µ‚½V‚µ‚¢”Å‚ª‚à‚¤‚·‚®o‚éEEE‚ÆŽv‚Á‚Ä‚½‚ç
‚¢‚‚̊Ԃɂ©”­”„“ú‚ª‚VŒŽ‚É‚È‚Á‚Ä‚é‚Ì‚ËEEE
859 F857F2011/01/19(…) 12:37:23
>>858
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·BŒ‹‹Ç‘S•””ƒ‚Á‚Ä‚µ‚Ü‚¢‚»‚¤‚¾EEE‚—

„u` Explainedv‚ÍF2008‚ɑΉž‚µ‚½V‚µ‚¢”Å
‚±‚ê‚Å‚·‚ËB
Modern Fortran Explained
http://www.amazon.com/Explained-Numerical-Mathematics-Scientific-Computation/dp/0199601410

‚Æ‚¢‚¤‚©¡’m‚Á‚½‚Ì‚Å‚·‚ªAMichael Metcalf‚ÍISO‚Ì‹KŠiƒƒ“ƒo[‚È‚ñ‚Å‚·‚ËB
‚±‚è‚áM—Š«‚Æ‚¢‚¤ˆÓ–¡‚Å‚±‚Ìã‚È‚¢‚Å‚·‚ËB
>>857
Google Books‚È‚ñ‚©‚Å‚í‚è‚Æ’†g‚ª‚Ì‚¼‚¯‚½‚è‚·‚éB

Guide to Fortran 2003 Programming, Walter S. Brainerd ‚ªŠ„‚Æ“ü–åŽÒ‚Þ‚¯‚̌ÓT“I‚È‹³‰È‘‚É‹ß‚¢‚ÆŽv‚¤B
OOP‚Æ‚©2003ŒÅ—L‚Ì•”•ª‚Í‚»‚ê‚Ù‚Ç‘½‚­‚È‚­AFortran‘S”Ê‚É‘‚©‚ê‚Ä‚¢‚éB

Introduction to Programming with Fortran: with coverage of Fortran 90, 95, 2003 and 77,
Ian Chivers & Jane Sleightholme
‚±‚ê‚ÍAFortran77‚ ‚½‚è‚©‚çŠg’£‚µ‚Ä‚¢‚Á‚½–{‚È‚Ì‚Å‚·‚Á‚«‚肵‚Ä‚¢‚È‚¢B‚ ‚ñ‚Ü—Ç‚­‚È‚¢B

Fortran 95/2003 for Scientists & Engineers, Stephen Chapman (2007”N)
‚à‚Á‚Ä‚È‚¢B‚ªã‚ÌIan Chivers‚Ì–{‚Æ“¯‚¶‚­A‰·ò—·ŠÙŽ®‚Ì”ì‘剻–{‚¾‚ÆŽv‚¤B


Fortran 95/2003 Explained, Michael Metcalf (2004”N)
‚Pû”ƒ‚¤‚Ȃ炱‚ê‚©‚ÈH‘åŠT‚±‚Ì–{‚µ‚©Œ©‚È‚¢B
‚½‚¾A“ü–åŽÒŒü‚«‚Å‚Í‚È‚¢B>>858‚Ì‘‚¢‚Ä‚¢‚é‚悤‚ɃŠƒtƒ@ƒŒƒ“ƒX‚É‹ß‚¢B
‚µ‚©‚µAŠÌ‚Æ‚È‚é•”•ª‚ð‚ª‚Á‚¿‚è‘‚¢‚Ä‚¢‚é‚Ì‚Å•Ö—˜B

The Fortran 2003 Handbook, Jeanne C. Adams (2008”N)
FortranXX@Explained@‚æ‚è‚à‚³‚ç‚ÉŒ¾Œê‹KŠi‘‚æ‚è‚É‘‚©‚ê‚Ä‚¢‚éB
‚±‚ê‚à“ü–åŽÒŒü‚«‚Å‚È‚¢BŽ«‘‚Á‚Û‚¢Š´‚¶B
861 F857F2011/01/21(‹à) 22:22:14
>>860
FX‚Æ‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B‚Ü‚¸‚ÍExplained‚𔃂Á‚Ä‚Ý‚Ü‚·B
862 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2011/01/28(‹à) 22:24:29
‚Í‚¢
863 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2011/01/30(“ú) 10:16:20
‚¢‚¢‚¦
‚Ç‚Á‚¿‚¾‚æ‚—
865 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2011/02/15(‰Î) 13:15:27
FORTRAN‚Æ‚¢‚¤‚ÆcommonƒuƒƒbƒN‚Æ‚¢‚¤Œ¾—t‚ªƒZƒbƒg‚Åo‚Ä‚­‚邯‚Ç
‚È‚ñ‚¾‚낤
C‚ŃK[ƒxƒWƒRƒŒƒNƒVƒ‡ƒ“‚ªo‚Ä‚­‚é‚Ì‚Æ“¯‚¶‚¾‚×H
COMMON‚Í‘åˆæ•Ï”‚Å‚Í‚È‚­AŽ©—R‚ÉŽv‚¢‚̂܂܂ɃK[ƒxƒWƒRƒŒƒNƒVƒ‡ƒ“‚Ì‚Å‚«‚鋤—L’n‚¾‚ºI
867 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2011/02/18(‹à) 15:02:30
ˆÈ‰º‚ðA
ifort -c -warn all test.f90
‚ŃRƒ“ƒpƒCƒ‹‚·‚é‚ÆAVer.10.1‚¾‚ƃGƒ‰[‚ªo‚È‚¢‚ªAVer.11.1‚¾‚Æ
test.f90(9): error #7137: Any procedure referenced in a PURE procedure, including one referenced via a defined operation or assignmnent, must be explicitly declared PURE. [PURE_FF]
xxx = pure_ff()
‚Æ‚¢‚¤ƒGƒ‰[‚ªo‚éB‹KŠiã‚ÍA(C,F77‚Å‘‚©‚ꂽ)ŠO•”ŠÖ”‚Ípure‚É‚Å‚«‚È‚¢?

!test.f90
module A
interface
elemental real(8) function pure_ff()
end function
end interface
contains
pure real(8) function xxx ()
xxx = pure_ff()
xxx = pure_ff()
end function
end module

mac‚Égfortran‚¢‚ê‚ÄA
ƒ^[ƒ~ƒiƒ‹‚©‚ç
$@gfortran hoge.for
‚µ‚Ü‚µ‚½B‚»‚ê‚©‚ç$ ./a.out‚µ‚Ä‚Ý‚Ü‚µ‚½‚ªA
At line 22 of file hoge.f
Fortran runtime error: No such file or directory
22s–Ú‚ª‚¨‚©‚µ‚¢‚Á‚Ä‚±‚Æ‚Ý‚½‚¢‚Å‚·B
–{—ˆ‚Å‚ ‚ê‚ÎAƒtƒ@ƒCƒ‹–¼‚Ì“ü—Í‚ð‹‚ß‚ç‚ê‚é‚炵‚¢‚Å‚·B

‚µ‚ç‚ׂĂ݂½‚çA.for‚Á‚Ä‘Š“–ŒÃ‚¢‚Ý‚½‚¢‚Å‚·‚ËBŒÅ’èŒ`Ž®‚¾‚Æ‚©B
‚à‚Æ‚Íwindows—p‚É‘‚¢‚½‚炵‚¢‚Ì‚Å‚·‚ªAOS‚âƒRƒ“ƒpƒCƒ‰‚ÌŽd—l‚Ɉˑ¶‚µ‚Ä‚¢‚½‚è‚·‚é‚Ì‚Å‚µ‚傤‚©H

ƒAƒhƒoƒCƒX‚æ‚낵‚­‚¨Šè‚¢‚µ‚Ü‚·BŠ„‚èž‚Ý‚·‚¢‚Ü‚¹‚ñB
ƒRƒ“ƒpƒCƒ‰ˆË‘¶‚ÍŠm‚©‚É‚ ‚éBƒRƒ“ƒpƒCƒ‰‚ð•Ï‚¦‚½‚çƒRƒ“ƒpƒCƒ‹ƒGƒ‰[‚Æ‚©B
OSˆË‘¶‚àAˆË‘¶‚·‚é‚悤‚ȃR[ƒh‚Ì‘‚«•û‚ð‚·‚ê‚Έˑ¶‚·‚éB

ƒGƒ‰[ƒƒbƒZ[ƒW‚Ì“à—e‚Í—‰ð‚Å‚«‚Ä‚¢‚é‚©‚ÈHhoge.f‚Ì22s–Ú‚ÍŒ©‚Ä‚Ý‚½H
•ª‚©‚ç‚È‚¯‚ê‚ÎAŽæ‚臂¦‚¸22s–Ú‚Ì‘OŒã”s‚ð‚±‚±‚ɃRƒsƒy‚µ‚Ä‚Ý‚½‚ç‚Ç‚¤‚¾‚낤B
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B‘‚«•û‚É‚æ‚Á‚Ă͈ˑ¶‚·‚é‚ñ‚Å‚·‚ËB
‚¨Œ¾—t‚Ɋ¦Ahoge.f‚Ì19~26s–ڂ𒣂点‚Ä‚¢‚½‚¾‚«‚Ü‚·B

19 c
20 open(7,file='con')
21 write(7,'('' input filename'')')
22 open(8,file=' ')
23 write(7,'('' output file or devicename'')')
24 open(6,file=' ')
25 call input(ipro)
26 c

ƒGƒ‰[‚ÉŠÖ‚µ‚Ä‚ÍA‚»‚ñ‚ȃtƒ@ƒCƒ‹‚âƒfƒBƒŒƒNƒgƒŠ‚Í–³‚¢I‚Á‚Ä“{‚Á‚Ä‚é‚Á‚Ä‚±‚Æ‚Å‚¢‚¢‚ñ‚Å‚µ‚傤‚©B
Žæ‚臂¦‚¸Ac‚Á‚Ä‚Ì‚ªÌ‚̃Rƒƒ“ƒgs‚Å‚ ‚邱‚ÆAopen‚Æwrite‚ªƒtƒ@ƒCƒ‹‘€ì‚ð‚µ‚æ‚¤‚Æ‚µ‚Ä‚é‚Á‚Ä‚±‚ÆA7‚Æ‚©‚W‚Æ‚©‚ª‘•’u”Ô†‚ƌĂ΂ê‚Ä‚¢‚é‚Á‚Ä‚±‚Æ‚Í•ª‚©‚è‚Ü‚·B
‚È‚ñ‚¶‚Ⴑ‚è‚áHI

ƒtƒ@ƒCƒ‹–¼‚Ì“ü—Í‚ð‹‚߂郃bƒZ[ƒW‚ðA‚È‚º•W€o—Í‚Å‚Í‚È‚­con‚É‘‚«o‚µ‚Ä‚¢‚é‚Ì‚©H
•W€o—Í‚Æ‚µ‚Ä—\–ñ‚³‚ê‚Ä‚¢‚é‘•’u”Ô†6”Ô‚ªA‚È‚ºƒtƒ@ƒCƒ‹‚Æ‚µ‚Äopen‚³‚ê‚é‚Ì‚©H
‚È‚ºƒtƒ@ƒCƒ‹–¼‚ª' '‚È‚Ì‚©HiŽ©•ª‚Å“K‹X‘‚«Š·‚¦‚ë‚Á‚Ä‚±‚Æ‚È‚Ì‚©H
‚»‚ê‚Æ‚àAfile=' '‚Æ‚·‚é‚ÆAŽ©“®“I‚Ƀtƒ@ƒCƒ‹–¼‚ðq‚Ë‚Ä‚­‚ê‚éƒRƒ“ƒpƒCƒ‰‚ª‚ ‚é‚Ì‚©Hj

22A24s–Ú‚Ìfile=' '‚ðŽ©•ª‚Å‘‚«’¼‚·•K—v‚ª‚ ‚é‚ÆŽv‚¤B
‚¨‚»‚ç‚­8”Ô‚ª“ü—̓f[ƒ^‚ª“ü‚Á‚½ƒtƒ@ƒCƒ‹‚ÅA6”Ô‚ªo—Í‚ð‘‚«o‚·ƒtƒ@ƒCƒ‹‚¾‚낤‚©‚çA“K‹X‚¶‚Ô‚ñ‚Å‘‚«’¼‚µ‚ÄB

Ž©•ª‚È‚ç”O‚Ì‚½‚ßA‘•’u”Ô†‚ÌŽg‚í‚ê•û‚𒲂ׂ邽‚ß‚É"read.*8"‚Æ‚©"write.*6"‚ªƒR[ƒh“à‚ÅŽg‚í‚ê‚Ä‚¢‚é‚Æ‚±‚ë‚ðŒŸõ‚·‚éB
grep -ine"read.*8" ./*.for
‚»‚ê‚ð—Š‚è‚ÉAƒvƒƒOƒ‰ƒ€‚Ì‹““®‚ð’ÇÕ‚·‚éBmac‚Ågrep‚Á‚ÄŽg‚¦‚é‚Ì‚©‚ÈH
>>871
>‚»‚ê‚Æ‚àAfile=' '‚Æ‚·‚é‚ÆAŽ©“®“I‚Ƀtƒ@ƒCƒ‹–¼‚ðq‚Ë‚Ä‚­‚ê‚éƒRƒ“ƒpƒCƒ‰‚ª‚ ‚é‚Ì‚©H
—Ç‚­•ª‚©‚ñ‚È‚¢‚Å‚·‚¯‚Ç‘½•ª‚»‚¤‚¾‚ÆŽv‚¢‚Ü‚·B

l‚ÌPC‚ÅŽÀs‚µ‚½.exe‚ÍA

ƒ}ƒCƒNƒƒ\ƒtƒg‚©‚ÈŠ¿Žš•ÏŠ·@ƒo[ƒWƒ‡ƒ“2.51
(C)Copyright Microsoft Corp. 1992-1993
input filename
File name missing or blank - please enter file name
UNIT 8?

‚Á‚Ä‚Å‚Ü‚·Binput filename‚Íhoge.f‚É‚ ‚è‚Ü‚·‚æ‚ËB

>“K鎩•ª‚Å‘‚«’¼‚µ‚Ä
‚Æ‚ ‚è‚Ü‚·‚ªAƒtƒ@ƒCƒ‹–¼‚¾‚¯‚ðŽw’肵‚½ê‡Aa.out‚Ì‚ ‚éƒfƒBƒŒƒNƒgƒŠ‚É‚ ‚éƒtƒ@ƒCƒ‹‚Æ‚µ‚Ä“Ç‚Ýž‚Ü‚ê‚é‚Ì‚Å‚µ‚傤‚©H
‚ÜA‚Æ‚É‚©‚­‚â‚Á‚Ä‚Ý‚Ü‚·B

‚Ç‚¤‚à‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·I
>>871
grep‚È‚é‚à‚Ì‚Í•ª‚©‚è‚Ü‚¹‚ñ‚ªA‚Æ‚è‚ ‚¦‚¸ƒGƒfƒBƒ^‚ÅŒŸõ‚©‚¯‚Ä‚Ý‚Ü‚µ‚½B

Œ»ÝAhoge.f‚̓fƒBƒXƒNƒgƒbƒvã‚É‚ ‚èAƒRƒ“ƒpƒCƒ‹Œã‚̃tƒ@ƒCƒ‹a.out‚Æ“Ç‚Ýž‚Ü‚¹‚½‚¢ƒf[ƒ^B1.txt‚àƒfƒBƒXƒNƒgƒbƒvã‚É‚ ‚è‚Ü‚·B

19c
20 open(7,file='con')
21 write(7,'('' input filename'')')
22 open(8,file='B1.txt')
23 write(7,'('' output file or devicename'')')
24 open(6,file='b1.out')
25 call input(ipro)
26c

‚É•ÏX‚µ‚Ä‚Ý‚Ü‚µ‚½B
Œ‹‹Ç‚Ì‚Æ‚±‚ëA
At line 22 of file fem3.f
Fortran runtime error: No such file or directory
‚Æ‚Ì‚±‚Æ‚Å‚·B22s–Ú‚©‚çi‚Ý‚Ü‚¹‚ñB
‚Ä‚¢‚¤‚©A‚È‚ºAinput filename‚Á‚ăƒbƒZ[ƒW‚·‚ço‚È‚¢‚Ì‚©B

‚¨Žèã‚°‚Å‚·B
‚»‚ñ‚È‚Æ‚«‚ÍAƒGƒ‰[ƒƒbƒZ[ƒW‚Æ‚ÍŠÖŒW‚È‚¢‚Æ‚±‚낪–â‘è‚É‚È‚Á‚Ä‚¢‚é‚Ì‚©‚à’m‚ê‚È‚¢B
ŽŽ‚µ‚Ƀ\[ƒXƒR[ƒh‚ÌŠg’£Žq.f‚ð.f90‚É‚µ‚ăRƒ“ƒpƒCƒ‹‚µ‚Ä‚Ý‚ÄB
>‚Ä‚¢‚¤‚©A‚È‚ºAinput filename‚Á‚ăƒbƒZ[ƒW‚·‚ço‚È‚¢‚Ì‚©B
‚±‚ê‚ÍAcon‚Á‚Ä‚¢‚¤ƒtƒ@ƒCƒ‹‚É‘‚«ž‚Ü‚ê‚Ä‚¢‚È‚¢‚©‚ÈH
ƒfƒXƒNƒgƒbƒv‚Écon‚Á‚Ä‚¢‚¤ƒtƒ@ƒCƒ‹‚ª‚Å‚«‚Ä‚¢‚é‚ÆŽv‚¤B
>>874
.f90‚É‚µ‚ăRƒ“ƒpƒCƒ‹‚µ‚Ä‚Ý‚Ü‚µ‚½BŒ‹‹ÇƒGƒ‰[ƒƒbƒZ[ƒW‚Ì—’B
.f‚Å‚Íc‚Æ‚·‚é‚ÆAcŒ¾Œê‚Å‚¢‚¤//‚É‚È‚é‚Ý‚½‚¢‚Å‚·‚ªA.f90‚Å‚Í‚È‚ç‚È‚¢‚Ý‚½‚¢‚Å‚·Bfixcom‚Æ‚¢‚¤.f‚ð.f90‚É•ÏŠ·‚·‚éƒvƒƒOƒ‰ƒ€‚ðŒ©‚Â‚¯‚½‚Ì‚Å•ÏŠ·‚µAƒRƒ“ƒpƒCƒ‹‚µ‚Ä‚Ý‚Ü‚µ‚½‚ªAŒ‹‰Ê‚Í•Ï‚í‚炸B
At line 22 of file hoge.f90
Fortran runtime error: No such file or directory
‚¿‚È‚Ý‚ÉA•ÏŠ·Œã‚̃R[ƒh‚ÍA‚Ï‚Á‚ÆŒ©Ac‚ð!‚É’u‚«Š·‚¦‚Ä‚¢‚邾‚¯‚Ý‚½‚¢‚Å‚µ‚½B

>>875
‚¨‚Á‚µ‚á‚é‚Æ‚¨‚èAcon‚Á‚ătƒ@ƒCƒ‹‚ª‚Å‚«‚Ä‚Ü‚µ‚½B
‘•’u”Ô†‚ð6‚É‚©‚¦‚Ä‚Ý‚Ü‚µ‚½‚ªAƒ^[ƒ~ƒiƒ‹‚É‚Ío—Í‚³‚ꂸAcon‚Á‚ătƒ@ƒCƒ‹‚ª‚Å‚«‚Ü‚·B
>>876
ƒvƒƒOƒ‰ƒ€‚ª‹É’[‚É’·‚­‚È‚¢‚Ȃ炱‚±‚É“\‚è•t‚¯‚¿‚á‚Á‚½•û‚ª‘‚¢‚©‚à‚æ
1s–Ú‚©‚ç30s–Ú‚®‚ç‚¢‚Ü‚Å‚Å‚à‚¢‚¢‚¯‚Ç
’·•¶“\‚Á‚Ä‚à’N‚à“{‚ç‚È‚¢‚µ‚Ë

‘½•ªA22s–ڈȊO‚àƒoƒO‚Á‚Ä‚»‚¤

‘¼‚̃‚ƒWƒ…[ƒ‹i•Ï”‚Æ‚©‚ð‘‚¢‚Ä‚¨‚­Šj‚ðŽg‚Á‚ăOƒ[ƒoƒ‹•Ï”‚ª‚ ‚é‚Æ–Ê“|‚©‚È
>>877
‚¨Œ¾—t‚Ɋ¦‚ÄAAA‚Á‚Ä‘S•”‚Å‚W‚V‚Os‚®‚ç‚¢‚ ‚é‚Ì‚ÅAAA
Žæ‚臂¦‚¸AC‚Å‚¢‚¤Amain‚Á‚Û‚¢‚Æ‚±‚¾‚¯’£‚è‚Ü‚·B•K—v‚ª‚ ‚é‚悤‚È‚ç“K‹XB7~53s–Ú‚Å‚·B

7 c main program
8 common/a/ ym1,ym2,pois1,pois2,thick,ntj,nte,npar,nst,nbc,nlc,
9 1 eqstx(5),eqsty(5),eqsts(5),mdir(5),mkind(5),jemk(600),
10 2 mtj(600,3),road(500),lc(500),mbc(500),p(800),lank(800),
11 3 disp(800),ddisp(800),foce(800),focem(800),ifail(600)
12 common/b/ ex(600),ey(600),ez(600),gxy(600),th(600),eqst(600),
13 1 sigmax(600),sigmay(600),sigmal(600),sigmat(600),
14 2 sigmaz(600),tauxy(600),tault(600),fract(600),
15 3 dela(3,3),com(3,6),elk(6,6)
16 common/c/ syk1(15000),index1(800)
17 common/d/ index2(800)
18c************************************************************************
19c
20 open(7,file='con')
21 write(7,'('' input filename'')')
22 open(18,file=' ')
23 write(7,'('' output file or devicename'')')
24 open(6,file=' ')
25 call input(ipro)
‘±‚«‚Å‚·B
26c
27 do 1000 inc=1,nst
28c
29 write(7,50) inc
30 50 format(' **** No.',i4,' *****'/)
31c
32 call alloc
33 call clasfy
34 write(7,'('' calsyk running'')')
35 call calsyk
36c
37 do 40 i=1,2*ntj
38 foce(i)=focem(i)/nst
39 40 continue
40c
41 write(7,'('' solver running '')')
42 call solver
43 write(7,'('' result running '')')
44 call result
45 write(7,'(/)')
46c
47 if (ipro.eq.0) goto 1000
48 call output
49 1000 continue
50 if (ipro.eq.0) call output
51c
52 stop
53 end
>>878
‚·‚Å‚ÉA871‚³‚ñ‚ª‘‚©‚ê‚Ä‚¢‚é‚Æ‚¨‚è‚Å‚·B
Fortran‚Å‚ÍACŒ¾Œê‚Ì•W€“ü—Í‚Í5”ÔA•W€o—Í‚Í6”Ô‚ÉŠ„‚è“–‚Ä‚ç‚ê‚Ä‚¢‚Ü‚·B
open‚·‚é•K—v‚Í‚ ‚è‚Ü‚¹‚ñB‚±‚ê‚ç‚ÍA'*'‚Å‘‚­‚±‚Æ‚ª‚Å‚«‚Ü‚·B
‚µ‚½‚ª‚Á‚ÄA878,979‚Ì
write(7,
‚ðA‚·‚ׂÄA
write(*,
‚É‚·‚ê‚ÎA‰æ–Ê‚É•\Ž¦‚³‚ê‚Ü‚·B

22s–ÚA24s–Ú‚Ìopen•¶‚Åfile–¼‚ðŽw’肵‚Ä‚¢‚È‚¢‚Ì‚Í‚æ‚­‚È‚¢‚Ì‚ÅA
‚«‚¿‚ñ‚ƃtƒ@ƒCƒ‹–¼‚ðŽw’肵‚ĉº‚³‚¢B24s–ڂɂ‚¢‚Ä‚Í‚³‚ç‚ɔԆ‚ð
6ˆÈŠO‚É•ÏX‚µ‚ĉº‚³‚¢B

‚»‚Ì‘¼A‹C‚É‚È‚é“_‚ÍF
47s–ÚF‚±‚Ì—l‚È–Ú“I‚Ågoto•¶‚ðŽg—p‚µ‚È‚¢‚Ù‚¤‚ª‚¢‚¢‚Å‚µ‚傤B
goto•¶‚ÍA‚æ‚Á‚Û‚Ç‚Ì‚±‚Æ‚ª‚È‚¢ŒÀ‚èŽg—p‚µ‚È‚¢‚Å‚­‚¾‚³‚¢B
•¶”Ô†‚ÌŽg—p‚àŽ~‚ß‚Ü‚µ‚傤Bdoƒ‹[ƒv‚ÌI‚í‚è‚Íend do•¶‚Æ‚µ‚Ü‚µ‚傤B
common•¶‚Í‚È‚é‚ׂ­Žg‚í‚È‚¢‚悤‚É‚µ‚Ü‚µ‚傤B

Šî–{“I‚ÉA“ú–{‚ÅFortran‚ÆŒ¾‚¦‚ÎAFortran2003‚È‚Ì‚Å(JIS‚Å‚»‚̂悤‚É
Œˆ‚Ü‚Á‚Ä‚¢‚é)AFORTRAN77‚Å‚Í‚È‚­AV‚µ‚ß‚Ì•¶–@‚Å‘‚­‚Ì‚ª‚¢‚¢‚ÆŽv‚¢‚Ü‚·B

ŠÂ‹«‚ªmac‚̂悤‚Å‚·‚ªAunixŒn‚ÌOS‚ÌꇂɂÍA“Á‚Ƀtƒ@ƒCƒ‹‚ðopen•¶‚Å
ŠJ‚­•K—v‚Í‚ ‚è‚Ü‚¹‚ñBƒfƒtƒHƒ‹ƒg‚ÅA—Ⴆ‚Î7”Ô‚ÌꇂÍfort.7A
8”Ô‚ÌꇂÍfort.8‚©‚ç“Ç‚Ý‘‚«‚µ‚悤‚Æ‚µ‚Ä‚¢‚Ü‚·(ƒRƒ“ƒpƒCƒ‰‚É‚æ‚è‚Ü‚·‚ª)B
ƒvƒƒOƒ‰ƒ€ŽÀs‘O‚ÉAƒVƒFƒ‹ƒXƒNƒŠƒvƒg‚ÅAƒVƒ“ƒ{ƒŠƒbƒNƒŠƒ“ƒN‚ðŽg‚Á‚Ä
'fort.”Ô†'‚̃tƒ@ƒCƒ‹‚ðì‚Á‚Ä‚¨‚¯‚Ζâ‘è‚ ‚è‚Ü‚¹‚ñB
>>880
‚Ç‚¤‚à‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B
‚â‚Á‚Ä‚Ý‚Ü‚·B
‚â‚͂肱‚ê‚ÍFortran77‚È‚Ì‚Å‚·‚ËB•½¬Œ³”N‚É쬂³‚ꂽ‚悤‚Å‚·B
Fortran‚ɂ‚¢‚Ä’²‚ׂĂàA‚µ‚å‚Á‚Ï‚È‚©‚çˆá‚Á‚Ä‚¢‚é‚Ì‚Å“r•û‚É•é‚ê‚Ä‚¢‚Ü‚µ‚½B
K@‚¢‚³‚¹‚ç‚ê‚Ä‚é‚Ì‚©
>>882
Œy‚­à–¾‚·‚é‚ÆA
u‚±‚̃\ƒtƒg‚‚©‚Á‚ĉۑè‚â‚Á‚Ä‚«‚Ä‚ËB‚Âhoge.exev
uimac‚È‚ñ‚Å‚·‚¯‚ÇAAAjƒR[ƒh‚ ‚è‚Ü‚·Hv
u‚Âhoge.fv
ugfortran hoge.f‚Á‚ÆBƒRƒ“ƒpƒCƒ‹‚Å‚«‚½[BŽÀs‚Å‚«‚È‚¢orz@‚¦[‚Á‚ÆHFortran‚È‚ñ‚Ä•ª‚©‚ç‚ñAAAv
‚ÆA‚Ü‚ A‚±‚ñ‚ÈŠ´‚¶‚ÅB
Fortran‚𒲂ׂĂ݂ĂàA–¾‚ç‚©‚ɈႤ‚µ‚Å¢‚Á‚½‚¢‚½–ó‚Å‚·B

ŒÂl“I‚ÈŒ‹˜_‚Í
ƒR[ƒhŽ©‘Ì‚ª‚ß‚Á‚¿‚áŒÃ‚¢B
‚µ‚©‚àŠÂ‹«ˆË‘¶‚­‚³‚¢B
‚Å‚·B

‚Ý‚È‚³‚ñA‚Ç‚¤‚à‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B
>>880
–³Ž–‚É“®‚«‚Ü‚µ‚½B
‚Ç‚¤‚à‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B

‚â‚Á‚½‚ I‚â‚Á‚½‚悧I
>>884

‚ [‚ ‚Ÿ‚ `‚Í‚¶‚ß‚Ä‚Ì`‚¿‚ã`
ŒN‚Æ‚¿‚ã`I need you for my love`
886 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2011/05/10(‰Î) 15:33:36.57
‘啶Žš‚¶‚á‚È‚¢‚Ì‚¾‚Ë
5 –¼‘OF–¼–³‚µ‚³‚ñ—\ˆêŽü”N[sage] “Še“úF2011/05/21(“y) 07:37:55.67 ID:55711cMv0
il—Þ‚Ì—ðŽj‚Æ‚µ‚ÄŒê‚èŒp‚ª‚ê‚é‚ׂ«Ž–ŽÀj

y —˜—pŠî€i”NŠÔ20ƒ~ƒŠƒV[ƒxƒ‹ƒgj‚ÌÓ”CŽÒˆê—— z
@Œ´Žq—ÍЊQ‘Îô–{•”–{•”’·F›’¼liÅ‚Ó”CŽÒj
@Œ´Žq—͈À‘SˆÏˆõ‰ïˆÏˆõ’·F”Á–ÚtŽ÷iŽÀŽ¿“I‚È”»’f‚ÌÅ‚Ó”CŽÒj
@•¶•”‰ÈŠw‘åbF‚–Ø‹`–¾i“–ŠY’Ê’m‚ÉŠÖ‚·‚éÅ‚Ó”CŽÒj
@•¶•”‰ÈŠwȶŠUŠwK­ô‹Ç’·F”“Œ‹v”üŽqi“–ŠY’Ê’m‚ÉŠÖ‚·‚éÓ”CŽÒj
@•¶•”‰ÈŠwȉ“™’†“™‹³ˆç‹Ç’·FŽR’†Lˆêi“–ŠY’Ê’m‚ÉŠÖ‚·‚éÓ”CŽÒj
@•¶•”‰ÈŠwȉȊw‹ZpEŠwp­ô‹Ç’·F‡“c—²Žji“–ŠY’Ê’m‚ÉŠÖ‚·‚éÓ”CŽÒj
@•¶•”‰ÈŠwȃXƒ|[ƒcE­”N‹Ç’·F•z‘ºK•Fi“–ŠY’Ê’m‚ÉŠÖ‚·‚éÓ”CŽÒj

¦ Œã‚Å‘å–â‘è‚É‚È‚é‚©‚çA‚±‚̃ŠƒXƒg‚Í‚Ý‚ñ‚È‚Å‹¤—L‚µ‚悤B‘S¢ŠE‚ÉŠgŽU‚µ‚悤B
888 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2011/07/22(‹à) 17:06:33.14
”’lŒvŽZ‚Ì“¾ˆÓ‚È•û•Œ¾‚ð‚¨Šè‚¢‚µ‚Ü‚·D
”÷•ª•û’öŽ®‚ðƒ‹ƒ“ƒQƒNƒbƒ^‚ðŽg‚Á‚Ä‰ð‚±‚¤‚Æl‚¦‚Ä‚¢‚é‚Ì‚Å‚·‚ªC
’Êí‚Ít¨‡•ûŒü‚É‰ð‚­‚Æ‚±‚ë‚ðC¡‰ñt¨0•ûŒü‚É‰ð‚«‚½‚¢‚Ì‚Å‚·D
‚Ý•h“™‚Ì•„†‚𔽓]‚µ‚½‚¾‚¯‚Å‚ÍC³‚µ‚¢“š‚¦‚ª‚Å‚Ü‚¹‚ñD
‚´‚Á‚­‚è‘‚¢‚½‚Ì‚ÅC•ª‚©‚ç‚È‚¢‚Æ‚±‚낪‚ ‚ê‚΃Rƒƒ“ƒg‚ð‚¨Šè‚¢‚µ‚Ü‚·D
•û’öŽ®Œn‚É‚æ‚Á‚Ä‚ÍAŽžŠÔ‚𕉂̕ûŒü‚É
‚Æ‚é‚Æ–{Ž¿“I‚É”­ŽU‚·‚é‚æB
•¨—•û’öŽ®‚Í“Á‚ÉBŽžŠÔ‚ÉŠÖ‚µ‚Äî•ñ—Ê‚ª
’P’²Œ¸­(”ñ‘‘å)‚È‚Ì‚ÅA
‘k‚éA‚Æ‚¢‚¤Ž–‚ª–³—‚Û‚ÈŽ–‘½XB
ƒ`ƒFƒbƒN‚µ‚é
ƒXƒŒˆá‚¢‚©‚à‚µ‚ê‚Ü‚¹‚ñ‚ªA‚²‘¶‚¶‚Ì•û‚ª‚¨‚è‚Ü‚µ‚½‚狳‚¦‚Ä‚¢‚½‚¾‚¯‚È‚¢‚Å‚µ‚傤‚©

http://www.ffte.jp/
ã‹L‚̃TƒCƒg‚É‚ ‚éFFT‚̃Tƒuƒ‹[ƒ`ƒ“‚ðMPI‚ÆOpenMP‚ÌHybrid‚ÅŽg‚¨‚¤‚ÆŽv‚Á‚Ä‚¢‚Ü‚·B

tar‚ðƒ_ƒEƒ“ƒ[ƒh‚µ‚ÄA‰ð“€‚µA"ffte-4.1\mpi\tests\"@‚É‚ ‚éMakefile‚Ì
FFLAGS = -O3 -fomit-frame-pointer -I../.. ‚ð
FFLAGS = -O3 -fomit-frame-pointer -I../.. -openmp -openmp-report2
‚Æ‘‚«Š·‚¦‚ăRƒ“ƒpƒCƒ‹‚ð‚µ‚Ü‚µ‚½B

ŽÀs‚·‚é‚ƃZƒOƒƒ“ƒe[ƒVƒ‡ƒ“ˆá”½‚Æ•\Ž¦‚³‚ê‚Ä‚¤‚Ü‚­‚¢‚«‚Ü‚¹‚ñ
-openmp -openmp-report2@‚ð•t‚¯‰Á‚¦‚È‚¯‚ê‚΂¤‚Ü‚­‚¢‚«‚Ü‚·B

‚Ç‚¤‚·‚êA‚¢‚¢‚©‹³‚¦‚Ä‚¢‚½‚¾‚¯‚È‚¢‚Å‚µ‚傤‚©
‚æ‚낵‚­‚¨Šè‚¢‚µ‚Ü‚·B
>>889
ƒŒƒX‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·D
‚»‚¤‚Å‚·‚©DDD•Ê‚Ì•ûŒü‚©‚çƒAƒvƒ[ƒ`‚µ‚Ä‚Ý‚Ü‚·D
892 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2011/07/28(–Ø) 14:58:20.15
3”N‚Ô‚è‚ ‚°
893 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2011/08/06(“y) 16:33:15.49
Linux‚ÅFORTRAN‚ðŽg‚¤ÛƒeƒLƒXƒgƒGƒfƒBƒ^‚ŃvƒƒOƒ‰ƒ€‚ð‘‚«
\(ƒ†[ƒU[–¼)/FORTRAN‚É•Û‘¶‚µ’[––iƒRƒ}ƒ“ƒhƒ‰ƒCƒ“’[––j‚ðŽg—p‚µ
‚»‚̃vƒƒOƒ‰ƒ€‚Ö‚Ì“ü—Í‚ÆŽÀsŒ‹‰Ê‚𶬂·‚é
ƒtƒ@ƒCƒ‹‚̃Rƒ}ƒ“ƒh‚ð–Y‚ê‚Ä‚µ‚Ü‚¢‚Ü‚µ‚½
‚Ç‚È‚½‚©‚í‚©‚é•û‚Í‚¢‚ç‚Á‚µ‚á‚¢‚Ü‚·‚Å‚µ‚傤‚©
‚»‚ê‚Íemacs‚Å‚µ‚傤‚©B
895 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2011/08/10(…) 00:07:13.86
>>893
“ú–{Œê‚Å‚¨k
896 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2011/08/14(“ú) 17:20:24.31
FORTRAN77‚ŃXƒ^ƒbƒN•ÏX‚Á‚Ä‚Ç‚¤‚â‚é‚ñ‚¾H
‚Å‚Á‚©‚¢”z—ñ’è‹`‚·‚é‚ƃGƒ‰‚é
>>896
ƒRƒ“ƒpƒCƒ‰‚Ì–â‘肾‚©‚çAˆê”ʉð‚Í‚È‚¢Bƒ}ƒjƒ…ƒAƒ‹‚ðŒ©‚é‚µ‚©‚È‚¢B
unlimit
ulimit
‚½‚ß‚·‚©A‰½‚©ŠÂ‹«•Ï”‚¢‚¶‚ê‚Γ®‚­‚±‚Æ‚ª‚ ‚éAƒAƒ‹
allocate•¶‚Å“®“I‚ÉŠm•Û‚µ‚½•Ï”‚Á‚Ä‚¢‚‚܂Ŷ‚«Žc‚è‚Ü‚·‚©H

allocatable‘®«‚ðŽw’肵‚½•Ï”‚ð錾‚µ‚½ƒvƒƒOƒ‰ƒ€’PˆÊ‚ÌI‚í‚è‚Ü‚Å—ˆ‚½‚ç
Ž©“®“I‚Édeallocate‚³‚ê‚é‚à‚Ì‚Å‚·‚©H
ALLOCATABLE ‘®«‚Ì”z—ñ‚ÅF95ˆÈ~‚È‚ç‚»‚¤‚©‚ÈBF90‚Ìꇂ͂»‚¤‚Å‚Í‚È‚©‚Á‚½‚悤‚È‹C‚ª‚·‚éB
F90‚©‚çF95‚ւ̃}ƒCƒi[‰ü’ù‚Å•s•Ö‚ª–³‚­‚È‚Á‚½‹L‰¯‚ª‚ ‚éEEE
POINTER‚ÌŽž‚͉ð•ú‚³‚ê‚È‚©‚Á‚½‚ÆŽv‚¤B

ŠÔˆá‚Á‚Ä‚½‚çƒSƒƒ“‚—‚—‚—ŽÓß‚Í‚µ‚Ä‚à”…ž‚Í‚µ‚È‚¢
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·

‚³‚ç‚É‚¢‚­‚‚©Ž¿–₳‚¹‚Ä‚­‚¾‚³‚¢

ƒŠƒXƒg\‘¢‚ðì‚Á‚Ä‚È‚ñ‚ç‚©‚̈—‚ð‚·‚ésubroutine‚ðì‚èA
‚»‚Ìsubroutine‚ðdoƒ‹[ƒv‚ʼn½“x‚àŒÄ‚Ño‚·‚悤‚ȃvƒƒOƒ‰ƒ€‚ðl‚¦‚Ä‚¢‚Ü‚·

allocate‚µ‚½•Ï”‚ªŽ©“®“I‚ɉð•ú‚³‚ê‚È‚¢‚Ɖ¼’è‚·‚é‚ÆA

‡@subroutineŒÄ‚Ño‚·‚½‚Ñ‚ÉŽg—p‚µ‚Ä‚¢‚郃‚ƒŠ‚ª‘‚¦‚ÄÅI“I‚ɃvƒƒOƒ‰ƒ€‚ªƒXƒgƒbƒv‚·‚邱‚Æ‚É‚È‚è‚Ü‚·‚©H
‡A‚à‚µ‚»‚¤‚È‚çsubroutine‚ÌÅŒã‚ŃŠƒXƒg\‘¢‚ð’H‚è‚È‚ª‚çŽè“®‚Ådeallocate‚µ‚È‚¢‚Æ‚¢‚¯‚È‚¢‚±‚Æ‚É‚È‚è‚Ü‚·‚©H

‡Buallocatable‘®«‚ðŽw’肵‚½•Ï”‚ð錾‚µ‚½ƒvƒƒOƒ‰ƒ€’PˆÊ‚ÌI‚í‚è‚Ü‚Å—ˆ‚½‚玩“®“I‚Édeallocate‚³‚ê‚é‚Ì‚©‚Ç‚¤‚©v
‚ðŠm‚©‚ß‚éŠÈ’P‚È•û–@‚Í‚ ‚è‚Ü‚¹‚ñ‚©H


‚æ‚낵‚­‚¨Šè‚¢‚µ‚Ü‚·B
>>901
‚PD‚»‚¤‚¢‚¤‚±‚Æ‚É‚È‚éB‚¢‚í‚ä‚é memory leak ‚ƌĂ΂ê‚éó‹µB
‚QD‚»‚¤‚È‚éB
‚RD‚P‰ñŽŽ‚·‚¾‚¯‚È‚çA‚Å‚Á‚©‚¢”z—ñ‚ð allocate ‚µ‚ÄAƒVƒXƒeƒ€ƒ‚ƒjƒ^[‚âpsƒRƒ}ƒ“ƒh‚ȂǂŃƒ‚ƒŠ[Žg—p—ʂ̕ω»‚ð
@@Œ©‚Ä‚Ý‚ê‚΂¢‚¢B

‚½‚Ô‚ñAÅ‹ß‚Ì Fortran ƒRƒ“ƒpƒCƒ‰‚ÍŠF F95 ‚¾‚©‚çAƒ[ƒJƒ‹‚ÉŠm•Û‚³‚ꂽ ALLOCATABLE ‚ÍŽ©“®‰ð•ú‚³‚ê‚é‚ÆŽv‚¤B
‚½‚¾“¯‚¶ SUBROUTINE ‚ð‰½“x‚àŒÄ‚Ño‚·‚‚à‚è‚È‚çA‚à‚µ‘O‰ñ‰ð•ú‚³‚ê‚Ä‚¢‚È‚¯‚ê‚ÎA
“ñ‰ñ–Ú‚Í ALLOCATE ‚Å‚«‚È‚¢‚ÆŽv‚¤B
‚»‚¤‚¢‚¤ê‡”z—ñ‚Ì STATUS ‚ª•s’è‚È‚Ì‚ÅA“®ì‚ªˆ—Œn‚Ɉˑ¶‚µ‚»‚¤‚Å’fŒ¾‚Å‚«‚È‚¢‚ªB
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·

Žg‚Á‚Ä‚¢‚éƒRƒ“ƒpƒCƒ‰‚Íintel‚Å‚·

Šm”F‚µ‚Ä‚Ý‚Ü‚·B
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½
integer*4 gen(10)

‚Ìi@j‚Ì’†‚Ì”Žš‚Á‚Ä‚È‚ñ‚Å‚·‚©H

‰SŽÒ—pŽQl‘‚¾‚ÆŽg‚Á‚Ä‚È‚­‚ĉðà‚È‚¢‚µ
“‚¢ŽQl‘‚¾‚Æ“–‚½‚è‘O‚̂悤‚ÉŽg‚Á‚Ă邵

fortran‚Á‚Ä—¼‹É’[‚Å‚·‚Ë
”z—ñ‚Ì—v‘f”
907 F904F2011/08/19(‹à) 10:43:45.35
‚Ç‚¤‚â‚çallocatable‘®«‚¾‚Ædeallocate‚³‚ê‚Ä
pointer‘®«‚¾‚Ædeallocate‚³‚ê‚È‚¢‚Ý‚½‚¢‚Å‚·
>>907
Fortran95‚Ì“®ì‚¾‚Æ‚»‚¤‚È‚é‚ÆŽv‚¢‚Ü‚·B
909 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2011/11/15(‰Î) 01:30:19.44
gfortran, ƒo[ƒWƒ‡ƒ“4:4.4.5-1 ‚ÉŠÖ‚·‚鎿–â‚Å‚·B

ƒ‚ƒWƒ…[ƒ‹‚̃o[ƒWƒ‡ƒ“‚ªˆá‚¤‚Æ‚©‚ʼnº‹L‚̃Gƒ‰[ƒƒbƒZ[ƒW‚ªo‚Ä‚«‚Ü‚·B
Fatal Error: Parse error when checking module version for file 'functions.mod'

‚±‚ê‚Á‚Ä‚Ç‚¤‰ðŒˆ‚·‚ê‚΂¢‚¢‚Å‚·‚©H
‚­‚¾‚ç‚È‚¢Ž¿–â‚̂悤‚È‚Ì‚Å‚­‚¾Ž¿‚Ɉړ®‚µ‚Ü‚·
911 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2011/11/19(“y) 16:31:55.93
‚¢‚¤
”CˆÓ‚̃ŠƒXƒg\‘¢‚ɑ΂µ‚Ä
‚»‚̃ŠƒXƒg‚Ì“à—e‚ð•\Ž¦‚µ‚½‚èAƒŠƒXƒg‚ðÁ‚µ‚½‚è‚·‚ésubroutine‚ðì‚é‚É‚Í
‚Ç‚¤‚·‚ê‚΂¢‚¢‚Å‚·‚©H


’P•ûŒüƒŠƒXƒg‚ðŽæ‚舵‚Á‚Ä‚¢‚Ü‚·

subroutine‚ɃŠƒXƒg‚Ìroot‚ð“n‚µ‚Ä
‚»‚̃ŠƒXƒg‚Ì“à—e‚ð•\Ž¦‚µ‚½‚èAƒŠƒXƒg‚ðÁ‚µ‚½‚肵‚½‚¢‚ÆŽv‚Á‚Ä‚¢‚Ü‚·

‚µ‚©‚µAƒŠƒXƒg\‘¢‚Ìtype‚ð‚ ‚ç‚©‚¶‚ß’m‚Á‚Ä‚¢‚È‚¢‚Æ
subroutine‘¤‚ʼn¼ˆø”‚ð錾‚Å‚«‚Ü‚¹‚ñ

‚»‚¤‚È‚é‚Ætype–ˆ‚Ésubroutine‚ðì‚ç‚È‚¯‚ê‚΂¢‚¯‚È‚­‚È‚è‚Ü‚·


‚»‚±‚ÅŽ¿–â‚È‚Ì‚Å‚·‚ª

”CˆÓ‚̃ŠƒXƒg\‘¢‚ɑ΂µ‚Ä
‚»‚̃ŠƒXƒg‚Ì“à—e‚ð•\Ž¦‚µ‚½‚èAƒŠƒXƒg‚ðÁ‚µ‚½‚è‚·‚ésubroutine‚ðì‚é‚É‚Í
‚Ç‚¤‚·‚ê‚΂¢‚¢‚Å‚·‚©H
Fortran2003‚Ìclass(*)‚ðŽg‚¦B
‚®‚Ê‚ÊEEE
Fortran90‚ª‚¦‚¦‚Ì‚Å‚·EEE

‚Æ‚è‚ ‚¦‚¸90‚¶‚á‚Å‚«‚È‚¢‚Á‚Ä‚±‚Æ‚Å—‰ð‚µ‚Ü‚·
‚¨‘‚¢‰ñ“š‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½
>>915
‚Ç‚¤‚µ‚Ä‚à‚Æ‚¢‚¤‚È‚çA‚±‚¤‚¢‚¤˜_•¶‚ª‚ ‚éB
A generic linked list implementation in Fortran 95
http://dl.acm.org/citation.cfm?id=1667141&CFID=75955509&CFTOKEN=91048213
“à—e‚Í‚æ‚­Šo‚¦‚Ä‚¢‚È‚¢‚ªAŠm‚©TRANSFERŠÖ”‚ÅAƒ|ƒCƒ“ƒ^[‚ð®”‚©‚È‚ñ‚©‚É‚¢‚ê‚Č떂‰»‚µ‚Ä‚½‚ÆŽv‚¤B

Fortran90/95‚ÍALGOL“I‚É‚È‚Á‚ÄAÓIŒ^ƒ`ƒFƒbƒN‚ðŒµ‚µ‚­‚µ‚½‚©‚çA”CˆÓ\‘¢‚ðˆµ‚¤‚ɂ͎ד¹‚ð‚ä‚­‚µ‚©–³‚¢‚ÆŽv‚¤B
‚Æ‚¢‚¤‚킯‚ÅEQUIVALENCE“I‚ȈӖ¡‚ÅTRANSFERŠÖ”‚ðŽg‚¤‚µ‚©–³‚¢‚ñ‚¾‚ÆŽv‚¤B
ƒ|ƒCƒ“ƒ^‚ð”z—ñ‚Å—pˆÓ‚µ‚½‚¢‚ñ‚Å‚·‚¯‚ÇA‚Å‚«‚Ü‚¹‚ñ‚©H

ƒ|ƒCƒ“ƒ^”z—ñ‚Á‚Ä‚Ì‚Í‚ ‚é‚Ý‚½‚¢‚È‚ñ‚Å‚·‚¯‚Ç
‚±‚ê‚Í•”•ª”z—ñ‚ðì‚é‚Ì‚ÉŽg‚¤‚Ý‚½‚¢‚Å‚·

’Pƒ‚Ƀ|ƒCƒ“ƒ^‚ð®”‚Å“YŽš•t‚¯‚Ä
ˆê“x‚É‚½‚­‚³‚ñ—pˆÓ‚µ‚½‚¢‚¾‚¯‚È‚ñ‚Å‚·‚ª
>>917
o—ˆ‚È‚¢B
ƒ|ƒCƒ“ƒ^[‚ð—v‘f‚ÉŽ‚Â\‘¢‘Ì‚ð’è‹`‚µ‚ÄA‚»‚Ì\‘¢‘Ì‚Ì”z—ñ‚ðì‚é‚Ì‚ª’èÎB
‚È‚é‚Ù‚ÇA‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·

‚³‚ç‚ÉŽ¿–₵‚½‚¢‚Ì‚Å‚·‚ªA

ƒTƒuƒ‹[ƒ`ƒ“‚Ƀ|ƒCƒ“ƒ^‚ð“n‚·Û‚ÉA’¼Ú“n‚·‚ƃGƒ‰[‚ªo‚Ä‚µ‚Ü‚¢‚Ü‚·

ˆêŽž“I‚Éì‚Á‚½ƒ|ƒCƒ“ƒ^‚ÅA“n‚µ‚½‚¢ƒ|ƒCƒ“ƒ^‚ÌŽw‚µ‚Ä‚¢‚éŽÀ‘Ì‚ðŽw‚µ‚Ä
‚»‚̈ꎞ“I‚Éì‚Á‚½ƒ|ƒCƒ“ƒ^‚ðƒTƒuƒ‹[ƒ`ƒ“‚É“n‚·‚ÆãŽè‚­s‚«‚Ü‚·B

—v‚·‚é‚ÉA‰º‚̃Rƒƒ“ƒgƒAƒEƒg‚µ‚Ä‚é‚Ì‚¾‚ÆãŽè‚­s‚­‚¯‚ê‚Ç
ƒRƒƒ“ƒgƒAƒEƒg‚µ‚Ä‚¢‚È‚¢‚à‚Ì‚¾‚Æglibc detected ‚Æ‚©‚¢‚¤ƒGƒ‰[‚ªo‚Ü‚·B

‚±‚ê‚Í‚È‚ñ‚Å‚Å‚µ‚傤‚©H

implicit none
type(particle),pointer :: dumwork
type(particle),pointer :: tmpwork,aaa

! aaa=>dumwork
! call PrintParticleList(aaa,6)
call PrintParticleList(dumwork,6)

ƒ\[ƒXƒtƒ@ƒCƒ‹‚ðˆÈ‰º‚̃Aƒbƒvƒ[ƒ_[‚ɈêTŠÔ‚Ù‚Çã‚°‚Ä‹N‚«‚Ü‚·‚Ì‚Å
‚Ç‚È‚½‚©‚æ‚낵‚­‚¨Šè‚¢‚µ‚Ü‚·B
pmod.f90 ‚Ì‚X‚Qs–Ú‚Æ‚X‚Rs–Ú‚Å‚·B
ttp://www1.axfc.net/uploader/Sc/so/306203
‚·‚¢‚Ü‚¹‚ñAã‚ÌŽ¿–â‚ðŽæ‚艺‚°‚Ü‚·

‚Ü‚¾‚æ‚­•ª‚©‚Á‚Ä‚È‚¢‚Ì‚Å‚·‚ª
‚Ç‚¤‚É‚à•Ê‚Ì‚Æ‚±‚ë‚ÉŒ´ˆö‚ª‚ ‚Á‚ÄAƒGƒ‰[‚ªo‚Ä‚é‚悤‚Å‚·
>>919
ƒRƒ“ƒpƒCƒ‹‚Ío—ˆ‚½‚¼BIntel@ifort 12.0.5.221
ŒÝŠ·«ƒ`ƒFƒbƒN‚Å‚àf95‹KŠiˆá”½‚ÍŒ©“–‚½‚ç‚È‚¢B
ŽÀsŽžƒGƒ‰[‚ª–â‘è‚È‚çAŠÈ’P‚ȃƒCƒ“ƒvƒƒOƒ‰ƒ€‚à—Š‚ÞB
922 F921F2012/01/02(ŒŽ) 23:04:41.86
‚²‚ßAs‚«ˆá‚¢‚É‚È‚Á‚½‚—‚—‚—
‚â‚Á‚Ï‚èAƒTƒuƒ‹[ƒ`ƒ“‚Ƀ|ƒCƒ“ƒ^‚ð“n‚·Û‚É

’¼Ú“n‚·‚Ì‚ÆA•Ê‚̃|ƒCƒ“ƒ^‚ðŽg‚Á‚ÄŠÔÚ“I‚É“n‚·‚Ì‚±‚ƂňႢ‚ªo‚Ü‚·B
‚È‚ñ‚Å‚©‚Í•ª‚©‚è‚Ü‚¹‚ñB

Œ»ÝAˆÈ‰º‚Ìì‹Æ‚ð‚µ‚Ä‚¢‚Ü‚·B

‚QŽŸŒ³‚Ì—±Žq‚ÌÀ•W‚ð‚P‚OŒÂ—pˆÓ‚·‚é
‚»‚ê‚ð’P•ûŒüƒŠƒXƒg‚É‚·‚é@@subroutine AddParticleList
ƒŠƒXƒg‚ð•\Ž¦‚·‚é@@@@@@@@subroutine PrintParticleList
ƒŠƒXƒg‚ð‰ð•ú‚·‚é@@@@@@@@subroutine FreeParticleList

‚±‚ê‚ç‚ð‚P‚O‰ñŒJ‚è•Ô‚µ‚Ü‚·

“ñ‚‚Ìparticle type‚̃|ƒCƒ“ƒ^‚ð—pˆÓ‚µ‚Ä
type(particle),pointer :: proot, pwork

proot‚ðallocate‚µ‚Ü‚µ‚½B

ã‚É‘‚¢‚½‚R‚‚̃Tƒuƒ‹[ƒ`ƒ“‚Ƀ|ƒCƒ“ƒ^‚ð“n‚·Û‚É
pwork=>proot‚Æ‚Æ‚µ‚ÄApwork‚ð“n‚µ‚½Žž‚Æ
proot‚ð’¼Ú“n‚µ‚½Žž‚ňقȂé‚R‚‚̌‹‰Ê‚ª‚Å‚Ü‚·
‚R‚‚̌‹‰Ê‚Í
‡@ˆê‰ñ–Ú‚ÍãŽè‚­‚¢‚­‚ªA“ñ‰ñ–ڂ̓ŠƒXƒg‚ª‰ð•ú‚³‚ꂸAŽO‰ñ–Ú‚ÅŽ~‚Ü‚é
‡A‚¤‚Ü‚­‚¢‚­
‡B\‰ñ‘S‚Ä‚ÅAƒŠƒXƒg‚Í•\Ž¦‚³‚ê‚邪A‰ð•ú‚Í‚³‚ê‚È‚¢

AddAPrintAFree‚ɑ΂·‚éwork‚Æroot‚Ì‘g‚݇‚킹‚ð‚Ü‚Æ‚ß‚é‚Æ
(A, P, F)=
‡@(w, w, w)A(r , w, w)
‡A(w, w, r )A(r , w, r )
‡B(w, r , r )A(r , r , w)A(r , r , r)
‚Å‚·

ƒ\[ƒXƒtƒ@ƒCƒ‹‚͈ȉº‚ÌURL‚Å‚·
‚Ç‚È‚½‚©‚æ‚낵‚­‚¨Šè‚¢‚µ‚Ü‚·

ttp://www1.axfc.net/uploader/Sc/so/306237
ƒpƒX‚Ífortran‚Å‚·

ƒRƒ“ƒpƒCƒ‹‚·‚é‚Ì‚Í source comp ‚Å‚·B
–â‘è‚̉ӊ‚Ítmod.f90‚Ì36s–Ú‚ ‚½‚è‚Å‚·B
>>924
‘g‚݇‚킹‚Æ‚¢‚¤‚Ì‚ª‚¢‚Ü‚¢‚¿‚æ‚­•ª‚©‚ç‚ñ‚Ì‚¾‚ªA
subroutine PrintParticleList(dumwork,filenum)@‚ňø”@dumwork ‚ª‘‚«Š·‚¦‚ç‚ê‚ÄAƒŠƒXƒg‚ÌÅŒã‚Ü‚Ås‚Á‚½‚Ü‚Ü•Ô‚³‚ê‚é‚Ì‚ÅA
‰ð•ú‚µ‚悤‚É‚à‚Å‚«‚È‚¢‚悤‚ÉŒ©‚¦‚éB
subroutine AddParticleList(dumwork,dumi,dumrr)@‚ł̂悤‚Ɉê’Uƒeƒ“ƒ|ƒ‰ƒŠ‚É“ü‚ê‚È‚¢‚Æ‘Ê–Ú‚È‚Ì‚Å‚Í‚È‚¢‚©H

‚ ‚ÆAmodule tmod@‚ÅA@np@‚ª real(dp),parameter :: np=10@‚ÆŽÀ”‚É‚È‚Á‚Ă邪 INTEGER ‚̊ԈႢ‚¶‚á‚È‚¢‚©H
‚Ü‚Ÿ“®‚­‚ª‹KŠi‚©‚ç‚ÍŠO‚ê‚Ä‚¢‚éB
fortran‚Í’l“n‚µ‚¶‚á‚È‚­‚ăAƒhƒŒƒX“n‚µ‚¾‚©‚ç

ƒ|ƒCƒ“ƒ^‚ðƒTƒuƒ‹[ƒ`ƒ“‚É“n‚µ‚ÄA
ƒTƒuƒ‹[ƒ`ƒ“‚Ì’†‚ÅŽw‚µ‚Ä‚éŽÀ‘Ì‚ª•Ï‚í‚é‚Æ
ƒTƒuƒ‹[ƒ`ƒ“‚ðo‚½‚ ‚Æ‚Å‚à•Ï‚í‚Á‚½‚Ü‚Ü

‚Æ‚¢‚¤—‰ð‚Å‚¢‚¢‚ñ‚Å‚µ‚傤‚©


‘g‚݇‚킹‚Æ‚¢‚¤‚Ì‚Ísubroutine‚É“n‚·ˆø”‚Ì‘g‚݇‚킹‚Ì‚±‚Æ‚Å

—Ⴆ‚Î
call AddParticleList(pwork, tmpnum, tmprr )
call PrintParticleList(proot, 6)
call FreeParticleList(proot)
‚Æ‘‚¢‚½Žž‚Í

(A, P ,F)=(w, r , r )‚Å
Œ‹‰Ê‚͇B‚Ì
\‰ñ‘S‚Ä‚ÅAƒŠƒXƒg‚Í•\Ž¦‚³‚ê‚邪A‰ð•ú‚Í‚³‚ê‚È‚¢
‚Æ‚È‚éB
‚Æ‚¢‚¤‚‚à‚è‚Å‚·B

‚Ü‚½AŽw“E‚³‚ꂽ’Ê‚è
subroutine PrintParticleList(dumwork,filenum)
‚Ådumwork‚ðtmpwork‚É“ü‚ê‚é‚悤‚É‘‚«Š·‚¦‚ÄŒ©‚Ü‚µ‚½‚ª
ˆø”‚Ì‘g‚݇‚킹‚É‚æ‚Á‚Ä‚Í>>924‚É‘‚¢‚½‡@‚ƇA‚Ì
‚Ç‚¿‚ç‚©‚ÌŒ‹‰Ê‚É‚È‚è‚Ü‚·B
>>926
‚»‚¤FORTRAN‚ÍŽQÆ“n‚µBF2003‚È‚ç’l“n‚µ‚É‚à‚Å‚«‚邪EEiƒ|ƒCƒ“ƒ^‚Í‚Å‚«‚È‚¢‚©‚ÈjB

‘g‚݇‚킹‚ð•Ï‚¦‚½‚Æ‚«‚ÉAÅŒã‚Ìdeallocate‚Ì–¼‘O‚à•Ï‚¦‚é‚Æ‚©iƒTƒuƒ‹[ƒ`ƒ“‚ÅK‚܂Ń|ƒCƒ“ƒ^‚ªˆÚ“®‚µ‚Ä‚¢‚邽‚ßjA
‚«‚Á‚¿‚讇‚µ‚Ä‚¢‚È‚¢‚©‚çƒGƒ‰[‚ªo‚é‚Ì‚Å‚ÍHŒ©‚½Š´‚¶–â‘è‚È‚­“®‚¢‚Ä‚¢‚邼‚æB“à—e‚ð–â‚킸‚ÉŒ©‚½–Ú‚¾‚¯‚¾‚ª‚—‚—‚—

ƒTƒuƒ‹[ƒ`ƒ“‚²‚Æ‚ÉAˆø”‚̃|ƒCƒ“ƒ^[‚ª•ÏX‚³‚ê‚Ä‚Í¢‚é‚à‚Ì‚ÆA•ÏX‚³‚ê‚È‚¢‚Æ¢‚é‚à‚Ì‚ª¬‚¶‚Á‚Ä‚¢‚éB
‚»‚̕ӂŬ—‚µ‚Ä‚¢‚é‚Ì‚Å‚ÍH

—ái‚—C‚—C‚—j‚ÌŽž

pwork => proot
do i=1,np
tmpnum=i
tmprr(1:2)=rr(1:2,i)
call AddParticleList(pwork,tmpnum,tmprr)
end do

! pwork=>proot
call PrintParticleList(pwork,6)

! pwork=>proot
call FreeParticleList(pwork)

! deallocate(proot,stat=i)
deallocate(pwork,stat=i)
>>927
‰ðŒˆ‚Å‚«‚Ü‚µ‚½I
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·
ƒR[ƒh‘S‚­Œ©‚Ä‚È‚¢‚¯‚ÇA‘å‚«‚ß‚É”z—ñØ‚Á‚Æ‚¯‚΂¢‚¢‚ñ‚¶‚á‚È‚¢‚©‚µ‚çH
ƒƒ‚ƒŠ‚ª‚©‚‚©‚‚ƌ¾‚¤‚Ì‚È‚çŽd•û‚È‚¢‚¯‚ÇB
‚Ä‚“‚”
ƒXƒŒˆá‚¢‚Å‘å•Ï\‚µ–ó‚È‚¢‚Ì‚Å‚·‚ªC‚±‚ÌFortranƒXƒŒ‚È‚ç
’m‚Á‚Ä‚él‚ª‚¢‚é‚©‚à‚ÆŽv‚¢C‘‚«‚±‚Ü‚¹‚Ä‚¢‚½‚¾‚«‚Ü‚·B

Fortran ‚ÌŒãŒpŒ¾Œê‚Æ‚µ‚Ä SUN ‚ªŠJ”­‚µ‚Ä‚¢‚½ Fortress ‚Á‚ÄC
¡‚Ç‚¤‚È‚Á‚Ä‚¢‚é‚Ì‚Å‚µ‚傤‚©H
ƒOƒO‚Á‚Ä‚à2008”N3ŒŽ31“úŒ»Ý‚ÌŽd—l‘(Ver.1.0) ‚æ‚èV‚µ‚¢î•ñ‚ª
Œ©‚‚©‚è‚Ü‚¹‚ñB

ŠJ”­’†Ž~H
‚Æ‚è‚ ‚¦‚¸‚±‚±‚ªŒ»Ý‚̃vƒƒWƒFƒNƒgƒTƒCƒg‚̂悤‚È‚ñ‚¾‚ªA
‚±‚±‚ÍŠm”F‚µ‚½H ttp://projectfortress.java.net/
>>932
Œ©‚½‚Ì‚Í‘½•ª‰‚ß‚Ä‚Å‚·B‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½B

# ‚»‚ê‚É‚µ‚Ä‚àC‰p’PŒê‚ð‚»‚Ì‚Ü‚ÜŒ¾Œê–¼‚É‚³‚ê‚é‚ÆC
   ‚¤‚Ü‚­ŒŸõ‚Å‚«‚È‚¢‚Å‚·‚ËB" Fortran " ‚Ý‚½‚¢‚É
   ‘¢Œê‚É‚µ‚Ä‚­‚ê‚é‚ÆŒŸõ‚µ‚â‚·‚¢‚Ì‚Édd     ƒÐ(-_-;)
934 F933F2012/03/01(–Ø) 18:05:23.12
uŒ©‚½‚Ì‚Í‘½•ª‰‚ß‚Äv‚Æ‘‚«‚Ü‚µ‚½‚ªC‰pŒê”Å‚Ì Wikipedia ‚Ì
Fortress (programming language) ƒy[ƒW‚©‚烊ƒ“ƒN‚ª’£‚ç‚ê‚Ä‚¢‚Ü‚µ‚½‚ËB
‚«‚Á‚ÆCŒ©‚½‚ñ‚¾‚¯‚ÇC‚æ‚­Œ©‚Ä‚È‚©‚Á‚½‚Æ‚¢‚¤ƒpƒ^[ƒ“‚Å‚·B
‚¨‘›‚ª‚¹‚µ‚ÄC‚·‚Ý‚Ü‚¹‚ñ‚Å‚µ‚½B
‰ºŽè‚É•L‚­’T‚³‚¸A‚±‚Ì—á‚ÌꇂȂç site:sun.com ‚© site:oracle.com ‚ð•t‚¯‚ÄA
—L—p“x‚Ì‚‚»‚¤‚Èî•ñ‚ðd“_“I‚É’T‚·‚Æ‚©‚·‚é‚Æ‚¤‚Ü‚­‚¢‚­i‚±‚Æ‚à‚ ‚éjB
‚¨‚Ú‚ë‚°‚È‹L‰¯‚¾‚©‚çAו”‚ͳŠm‚Å‚Í‚È‚¢‚ªEEE
Fortress ‚ÍAIBM,SUN,CRAY‚ª‚»‚ꂼ‚ê•Ä­•{‚ÌŽŸ¢‘ã•À—ñŒ¾Œê‚Æ‚µ‚Ä
ŠJ”­‚µ‚Ä‚¢‚½‚à‚̂̈ê‚‚ÅASUN‚̓Rƒ“ƒy‚É•‰‚¯‚½B
X10‚Æ‚©Chapel‚Æ‚©‚ª‹£‚Á‚Ä‚¢‚½‚悤‚ÈB‚±‚ê‚ç‚à‚Ç‚¤‚È‚Á‚½‚Ì‚©‚æ‚­’m‚ç‚ñB
UPCiC‚ÌŒn“‚¾‚ªj‚ÆCAFi‚±‚ê‚ÍF2008‚É‹KŠi‚Æ‚µ‚Ä“ü‚Á‚½)‚Í’n“¹‚Éi‚ñ‚Å‚¢‚é

ƒRƒ“ƒy‚É•‰‚¯‚½ ‚É‘åX“I‚ÉŒöŠJ‚³‚ê‚ăjƒ…[ƒX‚É‚È‚Á‚½B
SUN‚ªƒRƒ“ƒy‚É•‰‚¯‚½Žž“_‚Å‚à‚¤ŠJ”­’†Ž~‚É‹ß‚¢‚Ì‚Å‚ÍB
SUNŽ©‘Ì‚àƒIƒ‰ƒNƒ‹‚É”ƒŽû‚³‚ꂽ‚µB

Fortran‚ÌŒãŒp‚È‚Ç‚ÆŒ¾‚í‚ê‚邪A‚»‚ê‚ÍiƒRƒ“ƒy—p‚ÌHjø‚蕶‹å‚Å
JAVA‚Ìã‚ɃeƒXƒgŽÀ‘•‚³‚ê‚Ä‚¢‚éó‘Ô‚Å‚Í•¨D‚«Œ¾Œêƒ}ƒjƒAˆÈŠOG‚ç‚ñ‚¾‚낤B

GuySteeleJr.‚àŠO‚Ì¢ŠE‚ł̓JƒŠƒXƒ}‚©‚à‚µ‚ê‚ñ‚ªAFortran‚Ì¢ŠE‚Å‚Í
‚¹‚¢‚º‚¢ƒCƒ}ƒCƒ`‚¾‚Á‚½HPF‚Ì‹KŠi‚ð‚‚­‚Á‚½lA‚­‚ç‚¢‚̃Cƒ[ƒW‚¾‚µB
937 F933F2012/03/02(‹à) 08:48:59.25
>>935
‚È‚é‚Ù‚ÇC‚»‚¤‚·‚ê‚΂¢‚¢‚Ì‚Å‚·‚Ë (^ ^)

>>936
Ú‚µ‚¢î•ñC‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B
ð“úCAmazon ‚ÅŒ©‚‚¯‚½‚ñ‚Å‚·‚ªC‹Ž”N‚Ì‚WŒŽ‚É
hFortress (Programming Language) h‚Æ‚¢‚¤—m‘‚ªo”Å‚³‚ê‚Ä‚¢‚Ü‚µ‚½B
‚à‚µ‚©‚µ‚ÄŠª‚«•Ô‚µ‚ð}‚Á‚Ä‚¢‚é‚ñ‚Å‚µ‚傤‚© (¥_¥)H
ƒeƒXƒg
>>937
‚»‚Ì–{‚¾‚¯‚ÇAwikipedia‚Æ‚©‚ðƒvƒŠƒ“ƒg‚µ‚½‚¾‚¯‚Ì–{‚Ý‚½‚¢‚æB
‚È‚ñ‚©‚µ‚ç‚ñ‚¯‚ÇAÅ‹ßwikipedia‚Æ‚©ƒlƒbƒgî•ñŠÛƒRƒs[‚Ì100~200ƒy[ƒW‚Ì–­‚É’l’i‚Ì‚‚¢ƒIƒ“ƒfƒ}ƒ“ƒho”Å–{‚ªŽR‚̂悤‚Éo‚Ä‚¢‚éB
¼‹\‚È‚Ì‚©‰½‚È‚Ì‚©’m‚ç‚ñ‚ª‚—
‚Æ‚è‚ ‚¦‚¸o”ŎЖ¼‚ŃOƒO‚é‚悤‚É’ˆÓ‚µ‚½‚Ù‚¤‚ª‚¢‚¢‚ÈB
‚Ä‚¢‚¤‚©A‚»‚Ì–{Au(Programming Language)v‚Á‚ăEƒBƒLƒyƒfƒBƒA‚Ì‹LŽ––¼‚Ü‚ñ‚Ü‚¶‚á‚Ë‚¥‚©w

‚ ‚Æ Fortress ‚Í“ú–{Œê‚Ì–{‚ª‰´‚Ì’m‚Á‚Ä‚éŒÀ‚è‚Å 1 ûo‚Ä‚éBˆê‰ž‚»‚ê‚È‚è‚Ì“à—eB
‘O‚ÉAFORTRAN–{’T‚µ‚Ä‚¢‚½Žž‚ÉŽR‚̂悤‚Éo‰ï‚Á‚½‚Ì‚ª‚±‚̃lƒbƒgŠÛŽÊ‚µƒIƒ“ƒfƒ}ƒ“ƒh¼‹\–{‚—
“dŽqo”Å‚Í‚¹‚¸ƒTƒ“ƒvƒ‹—§‚¿“Ç‚Ý‚à‚³‚¹‚È‚¢‚µ’l’i‚ª–­‚É‚‚¢‚©‚çAƒvƒŠƒ“ƒg{ƒoƒCƒ“ƒhƒT[ƒrƒX‚Æ‚àŽv‚í‚ê‚ÊB
•\Ž†ŠG‚ðŒ©‚ê‚΂Ƃ肠‚¦‚¸‹æ•Ê‚ª‚‚­B
Germain Adriaan •ÒW@
Brev Publishing@oӁ
‚®‚®‚Á‚Ä‚àî•ñ‚Å‚È‚¢B

‚µ‚©‚µAƒAƒ}ƒ]ƒ“‚ªŒ‹\݌ɂðŽ‚Á‚Ä‚¢‚éŠ‚ðŒ©‚é‚ÆA‚±‚¤‚¢‚¤ƒCƒ“ƒ`ƒL–{‚ðì‚Á‚ÄA‹@ŠB“I‚É݌ɂ𔃂¤
ƒAƒ}ƒ]ƒ“‚Æ‚©‘åŽè¬”„‚É”„‚è‚‚¯‚éŽèŒû‚ÍAV¢‘㼋\‚̃rƒWƒlƒXƒXƒL[ƒ€‚Æ‚µ‚Ä‚ ‚è‚©‚à‚µ‚ê‚È‚¢‚—
ƒ\ƒtƒgƒoƒ“›‚Æ‚©‚ªŽn‚ß‚»‚¤‚—
942 F933F2012/03/03(“y) 17:59:25.10
>>939-941
d—v‚Èî•ñC‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½B
ð“úCAmazon‚Å’•¶‚µ‚½‚Ì‚Å‚·‚ªC¡CQ‚ĂăLƒƒƒ“ƒZƒ‹‚µ‚Ü‚µ‚½B
Œ¾‚í‚ê‚Ä‚Ý‚ê‚Ίm‚©‚ÉC•\Ž†‚É‚Í

High Quarity Content by WIKIPEDIA articles!

‚Æ‘‚¢‚Ä‚ ‚邵C— •\Ž†‚É‚à

Please note that the content of this book primarily consists of
articles available from Wikipedia or other free sources online.

‚Æ‘‚¢‚Ä‚ ‚è‚Ü‚µ‚½B‚Ü‚Á‚½‚­‘呹‚·‚é‚Æ‚±‚ë‚Å‚µ‚½B
Ž©•ª‚̃ƒfƒBƒAEƒŠƒeƒ‰ƒV[‚̒Ⴓ‚ðŽ©Šo‚µ‚Ü‚µ‚½ddB
‚Æ‚à‚ ‚êCƒAƒhƒoƒCƒX‚µ‚ĉº‚³‚èC–{“–‚É‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½I
943 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2012/03/06(‰Î) 20:11:36.89
Windows—p‚Ì HPF‚Á‚Ä‚È‚¢‚ñ‚Å‚µ‚傤‚©H
‚Í‚¢
>>943
•xŽm’Ê‚¾‚Á‚½‚©‚ªHPF‚ðMPI‚É•ÏŠ·‚·‚éƒgƒ‰ƒ“ƒXƒŒ[ƒ^‚ðƒtƒŠ[‚Å‹Ÿ‹‹‚µ‚Ä‚¢‚½‹L‰¯‚ª‚ ‚éB
‚à‚µ‚©‚µ‚½‚çLinux‚¾‚Á‚½‚©‚à‚µ‚ê‚È‚¢B

‚ ‚ÆPGI‚ÌFortranCompiler‚̌¢ƒ”ƒ@[ƒWƒ‡ƒ“‚ÍHPF‚ɑΉž‚µ‚Ä‚¢‚½B¡‚Ì‚à‚µ‚Ä‚¢‚é‚©‚àB
946 F943F2012/03/07(…) 17:23:19.93
>>944-945
‚¨“š‚¦C‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½ m(_ _)m"
èdxdy[0:pi][0:pi]f(x)f(y)*(erf(a|x-y|)/|x-y|)
f(x) = x^2+1
f(y) = sin(x)
‚ÌÏ•ª‚ð‚·‚é‚ɂ͂ǂ̂悤‚ɃvƒƒOƒ‰ƒ€‚·‚ê‚΂¢‚¢‚Å‚µ‚傤‚©H

1, •Ï”‚ð•ÏŠ·‚µ‚ÄÏ•ª@x-y = r
2, ‚»‚Ì‚Ü‚ÜÏ•ª

‚Ç‚¿‚ç‚Å‚â‚ê‚΂¢‚¢‚Å‚µ‚傤‚©H
‚à‚µ‚©‚µ‚Ä‚Ç‚¿‚ç‚Å‚à‚Å‚«‚Ü‚·‚©H
ƒtƒH[ƒgƒ‰ƒ“ in Œ´”­H
“d—Í‚ÍFORTRANB
ŽÐ‰ï•ÛŒ¯’¡‚Ì”N‹àƒVƒXƒeƒ€‚àFORTRANB@
‰½”N‚©‘O‚ÉANA‚ªƒVƒXƒeƒ€“ü‚ê‘Ö‚¦‚Å”­Œ”‹@ƒgƒ‰ƒuƒ‹‚ð‹N‚±‚µ‚½‚¯‚ÇAŒ³‚Ì–â‘è‚È‚­“®‚¢‚Ä‚¢‚½‚Ì‚ÍFORTRAN‚¾‚¨B
ƒtƒH[ƒgƒ‰ƒ“Œõ
‚È‚º‚©“Œ”ª˜Y‚ª‚¨‚à‚¢‚¤‚©‚ñ‚¾
unŒÂ‚̃f[ƒ^‚ð‘å‚«‚³‚̇”Ô‚É•À‚Ñ‘Ö‚¦‚½‚Æ‚«‚ÉA“¯‚¶’l‚ª˜A‘±‚µ‚ÄoŒ»‚·‚éŒÂ”‚Æ‚»‚Ì‘g”‚ðo—Ív‚µ‚½‚¢‚Ì‚Å‚·‚ª
•À‚Ñ‘Ö‚¦‚ÌŒãAƒGƒ‰ƒgƒXƒeƒlƒX‚Ì‚Ó‚é‚¢‚Ì—v—Ì‚Å‹‚ß‚é’l‚ðo‚·ƒvƒƒOƒ‰ƒ€‚ðì‚낤‚Æ‚µ‚½‚Æ‚±‚ë‚Å“ª‚ª‚²‚¿‚Ⴒ‚¿‚á‚É‚È‚Á‚ÄÁÜ‚µ‚Ü‚µ‚½

‰SŽÒ‚ªA‹‚߂錋‰Ê‚Ìo‚¹‚éƒvƒƒOƒ‰ƒ€‚ð‘‚­‚É‚Í‚â‚Í‚èŽQl‘‚âƒlƒbƒg‚Ì“ü–å•Ò‚ð‚P‚©‚ç“Ç‚ñ‚ÅFORTRAN‚Ì‘ÌŒn‚̂悤‚È‚à‚Ì‚©‚çŠw‚Ô‚µ‚©‚È‚¢‚Ì‚Å‚µ‚傤‚©B
Ž©•ª‚Ì¡‚Ü‚Åì‚Á‚½‚à‚Ì‚Æ‚Í‘S‚­ˆÙ‚Ȃ镶͂ðƒvƒƒOƒ‰ƒ~ƒ“ƒO‚Ì㋉ŽÒ‚ªƒvƒƒOƒ‰ƒ€‚É‚Ç‚¤‚â‚Á‚Ä•ÏŠ·‚µ‚Ä‚¢‚é‚Ì‚©A‚»‚̃vƒƒZƒX‚Æ‚¢‚¤‚©ƒRƒc‚ð‚à‚µ‚悯‚ê‚΋³‚¦‚Ä‚­‚¾‚³‚¢B

‘§”²‚«‚ª‚Ä‚ç‚Ì‹ð’s‚Å‚·‚Ý‚Ü‚¹‚ñ‚ª‚¨Šè‚¢‚µ‚Ü‚·
> ‰SŽÒ‚ªA‹‚߂錋‰Ê‚Ìo‚¹‚éƒvƒƒOƒ‰ƒ€‚ð‘‚­‚É‚Í‚â‚Í‚èŽQl‘‚âƒlƒbƒg‚Ì“ü–å•Ò‚ð‚P‚©‚ç“Ç‚ñ‚Å
> FORTRAN‚Ì‘ÌŒn‚̂悤‚È‚à‚Ì‚©‚çŠw‚Ô‚µ‚©‚È‚¢‚Ì‚Å‚µ‚傤‚©B

‘S‘R‰½‚à‚µ‚Ä‚È‚¢‚È‚çA‚»‚ê‚Í‚â‚é‚ׂ«‚¾‚ªB
ƒAƒ‹ƒSƒŠƒYƒ€‚̕׋­‚ÆA‚»‚ê‚ðFORTRAN‚Å‘‚­•×‹­‚Æ‚Í•Ê‚¾‚©‚ç‚Ë[
‘OŽÒ‚ª‚Å‚«‚Ä‚¢‚ê‚ÎA‹É’[‚ȘbAŒãŽÒ‚Í“D“ê‚Å‚à‚¢‚¢‚ñ‚¾‚¯‚Ç
954 F952F2012/03/29(–Ø) 01:36:02.22
>>953
‚â‚Í‚èƒAƒ‹ƒSƒŠƒYƒ€‚̕׋­‚ª‚â‚â•s‘«‚µ‚Ä‚½‚悤‚ÅA
‚»‚±‚ð‚Í‚Á‚«‚肳‚¹‚Ä‚©‚ç‘‚­‚悤‚É‚µ‚½‚牽‚Æ‚©o—ˆ‚»‚¤‚Å‚·B

ƒvƒƒOƒ‰ƒ~ƒ“ƒO‚ÉG‚ê‚é‚Ì‚ÍFORTRAN‚ª‰‚߂ĂŃAƒ‹ƒSƒŠƒYƒ€‚ð•×‹­‚·‚éA‚Æ‚¢‚¤ˆÓŽ¯‚ª‚»‚à‚»‚à‚ ‚è‚Ü‚¹‚ñ‚Å‚µ‚½c
iif‚âdo•¶‚ðŠo‚¦‚邾‚¯‚ÅŒã‚ÍŠF‚³‚ñŽ©—͂ʼn½‚Æ‚©‚µ‚Ä‚é‚à‚Ì‚Æorz
‰•à‚̉•à‚Å‚·‚ªŽ©•ª‚ÌçT‚¢‚Ä‚¢‚銂ª‚Í‚Á‚«‚肵‚Ü‚µ‚½A‘å•Ï•‚©‚è‚Ü‚µ‚½
955 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2012/04/11(…) 23:14:15.28
ƒOƒ[ƒoƒ‹•Ï”‚ªŒ™‚í‚ê‚Ä‚¢‚é——R‚ɂ‚¢‚ÄA‹³‚¦‚Ä‚­‚¾‚³‚¢B
Ž„‚ÍŒ¤‹†‚Å—¬‘Ì—ÍŠw‚Ì”’lŒvŽZ‚ð‚µ‚Ä‚¢‚Ü‚·‚ªA
‚Ç‚¤‚àƒOƒ[ƒoƒ‹•Ï”‚ðŽg‚Á‚Ä‚¢‚¯‚È‚¢——R‚ª‚í‚©‚ç‚È‚¢‚Å‚·B

Ž©•ª‚Å’²‚ׂ½‚Æ‚±‚ëA
1,•Ï”–¼‚ª‘‚¦‚é‚ÆAd•¡‚·‚é‰Â”\«‚ªo‚éB
2,‚Ç‚±‚Å’l‚ª•Ï‚í‚Á‚½‚Ì‚©•ª‚©‚ç‚È‚­‚È‚éB
‚È‚Ç‚ª——R‚Æ‚µ‚Ä‹“‚°‚ç‚ê‚Ä‚¢‚Ü‚µ‚½‚ªA
”’lŒvŽZ‚ÉŒÀ‚é‚ÆA
1‚ÉŠÖ‚µ‚Ä‚ÍA–§“x‚È‚çrho‚Æ‚©ˆ³—Í‚È‚çprs‚Æ‚©
•¨——Ê‚ÉŠÖ‚·‚é–¼‘O‚É‚·‚ê‚ÎA’†g‚ª‚·‚®‚É•ª‚©‚邵
•¶Žš§ŒÀ‚à‚È‚¢‚Ì‚Åd•¡‚·‚邱‚Æ‚Í–Å‘½‚É‚È‚¢‚Ì‚Å‚ÍH‚ÆŽv‚¢‚Ü‚·B
‚Ü‚½A2‚Ìê‡AŠî–{“I‚É•¨——Ê‚Í’l‚ª•Ï‰»‚·‚é‚à‚Ì‚È‚Ì‚Å
‚ ‚Ü‚èƒfƒoƒbƒO‚ÌÛ‚É‹C‚É‚·‚邱‚Æ‚Å‚Í‚È‚¢‚Ì‚Å‚ÍH‚ÆŽv‚¢‚Ü‚·B

Ž„‚Ì‹ÆŠE‚Å—L–¼‚È•û‚̃R[ƒh‚ðŒ©‚½‚Æ‚±‚ëA
ƒTƒuƒ‹[ƒ`ƒ“‚̈ø”‚Í‚È‚­A
‘S‚Ä‚Ì•Ï”‚ªƒOƒ[ƒoƒ‹•Ï”‚É‚È‚Á‚Ä‚¢‚½‚­‚ç‚¢‚Å‚·B
Å‚àA90”N‘ã‚̌¢ƒR[ƒh‚È‚Ì‚Å‚·‚ªB

Žž‘ã‚Ì—¬‚ê“I‚È‚à‚Ì‚È‚Ì‚Å‚µ‚傤‚©H
>>955
ƒAƒ‹ƒSƒŠƒYƒ€‚Æ‚©‚ÌŒ¤‹†‚¶‚á‚È‚¢‚È‚çAŒvŽZŒ‹‰Ê‚ªŠÔˆá‚Á‚Ä‚È‚¢‚±‚Æ‚ª
Å—D悾‚낤‚µA‰½‚æ‚èd—v‚È•”•ª‚͘_•¶‚È‚Ç‚Å‚Ü‚Æ‚ß‚Ä‚é‚©‚çA
‰Â“Ç«‚âÄ—˜—p‚Ì‚µ‚â‚·‚³‚Í“ñ‚ÌŽŸ‚È‚ñ‚¶‚á‚È‚¢H
Ž©•ª‚̓Oƒ[ƒoƒ‹•Ï”Žg‚¤‚̂͒蔂­‚ç‚¢‚É‚·‚é‚悤‚É‚µ‚Ä‚é
—˜“_EŒ‡“_‚ª‚í‚©‚Á‚Ä‚¢‚ê‚Î
ŽÛŽq’è‹K‚ÉŒ™‚¤——R‚Í‚È‚¢‚ÆŽv‚¤
‘åˆæ•Ï”‚ðŽg‚¤‚È‚Æ‚©AGOTO•¶‚ðŽg‚¤‚È‚Æ‚©Œ¾‚¤‚Ì‚ÍAƒƒ“ƒtƒŒ[ƒYƒvƒƒpƒKƒ“ƒ_‚¾‚©‚ç˜b”¼•ª‚Å‚¢‚¢B
‚½‚¾A‚È‚ñ‚Å‘Ê–Ú‚È‚Ì‚©ƒsƒ“‚Æ‚±‚È‚¢‚¤‚¿‚ÍŽg‚í‚È‚¢‚Ù‚¤‚ª—Ç‚­Aƒ„ƒo‚³‚ðŠ´‚¶Žæ‚ê‚é‚È‚çŽg‚Á‚Ä‚¨‚‹


‚V‚V‚Ü‚Å‚ÌFORTRAN‚ňø”‚É‚µ‚È‚¢‚Å‘åˆæ•Ï”‚É‚µ‚ª‚¿‚¾‚Á‚½‚Ì‚ÍA\‘¢‘Ì‚ª‚È‚©‚Á‚½‚½‚ß‚Å‚à‚ ‚éB

\‘¢‘Ì‚ª–³‚¢‚ÆA[‚¢ƒ‹[ƒ`ƒ“‚Å‚µ‚©Žg‚í‚È‚¢ƒpƒ‰ƒ[ƒ^‚Ì‘©‚ðAˆø‚«“n‚·‚½‚ß‚¾‚¯‚ÉA
‚»‚ê‚ðŽg—p‚µ‚È‚¢eƒ‹[ƒ`ƒ“‚̈ø”‚Æ‚µ‚Ä‚¾‚炾‚ç•À‚ׂȂ¢‚Æ‚¢‚¯‚È‚­‚È‚Á‚ÄŒ©‹ê‚µ‚­–Ê“|‚É‚È‚éB
‚»‚±‚Å\‘¢‘Ì‚ª‚í‚è‚É–¼‘O•t‚«COMMON‚Ɍł߂ēn‚µ‚½‚肵‚½B

‰½‚ðˆø”‚Å“n‚µ‚ÄA‰½‚ðCOMMON‚Å“n‚·‚©‚̓Zƒ“ƒX‚Ì–â‘è‚È‚Ì‚ÅAˆê’è‚Ì•ûj‚ðŒˆ‚ß‚½ã‚ÅD‚«‚É‚·‚ê‚΂¢‚¢B
Œ¾Œê‚Ì‹@”\‚ð’m‚é‚ɂ‚êˆÓŠO‚ÉŽg‚킸‚É‚·‚ނ悤‚É‚È‚é‚à‚Ì‚Å‚à‚ ‚Á‚Ä
Žg‚í‚È‚¢‘‚«•û‚ðH•v‚µ‚Ä‚»‚ê‚ÉŠµ‚ê‚é‚Ì‚à‹³ˆç“I‚Å‚Í‚ ‚邪
‚ ‚­‚Ü‚Å–{‹Æ‚Í—¬‘Ì—ÍŠw‚¾‚à‚ñ‚Ë
¬‚³‚¢ÌßÛ¸Þ×Ñ‚È‚ç‚Ç‚Á‚¿‚Å‚à‚¢‚¢B
‘å‚«‚­‚Ä•¡ŽG‚É‚È‚ê‚΂·‚ׂăOƒ[ƒoƒ‹‚¾‚Æ•Ï”‚ª‘‚¦”cˆ¬ŠÇ—‚ªlŠÔ‚ÌŽè‚É•‰‚¦‚È‚­‚È‚è
ŠJ”­Œø—¦‚ª‰º‚ª‚èƒoƒO‚ª‘‚¦“Ç‚Ý‚É‚­‚­‚Ȃ茋‹ÇŠJ”­‚ÉŽ¸”s‚·‚é
‚¢‚¢‚±‚Æ‚È‚É‚à‚È‚¢
‚»‚¤‚¢‚¤ƒ\ƒtƒgƒEƒFƒAHŠw‚ÌŠî–{’†‚ÌŠî–{B
Šî–{’†‚ÌŠî–{’†‚ÌŠî–{’†‚ÌŠî–{B
•s–¡‚³‚ª‚í‚©‚ç‚È‚¢‚È‚çŒoŒ±‚ƃZƒ“ƒX‚Ì–â‘肾‚©‚ç>>958‚Ì”FŽ¯‚Å‚¢‚¢‚¾‚낤B
ŠF—lAƒRƒƒ“ƒg‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B
‚â‚Í‚èAŽ©•ª‚ÌŒoŒ±•s‘«‚È‚ñ‚Å‚·‚©‚ËH

>>956
’蔂¾‚¯‚Å‘‚¯‚é‚Ì‚Å‚·‚©H
—Ⴆ‚ÎŽ©•ª‚Ìê‡AŠî–{“I‚È•¨——Ê‚¾‚¯‚Å‚à
15ŒÂ‚Ù‚Ç‚ ‚è‚Ü‚·B
‚»‚ê‚ðAƒTƒuƒ‹[ƒ`ƒ“‚̈ø”‚É‚·‚é‚ÆA‚Æ‚Ä‚à’·‚­‚È‚Á‚Ä‚µ‚Ü‚¢
‹t‚ɓǂ݂Â炭‚È‚é‚ñ‚¶‚á‚È‚¢‚©‚ÆŽv‚Á‚Ä‚µ‚Ü‚¢‚Ü‚·B

>>960
ŠÇ—‚Æ‚¢‚¤‚Ì‚ÍA—Ⴆ‚ÎA‚ ‚éˆê•”•ª‚̃Tƒuƒ‹[ƒ`ƒ“‚ð
‘¼‚Ìl‚â–¢—ˆ‚ÌŽ©•ª‚ª“ü‚ê‘Ö‚¦‚éA‚Æ‚¢‚Á‚½‚±‚Æ‚Å‚µ‚傤‚©H
Ž„‚̃{ƒX‚ÍAƒR[ƒh‘S‘Ì‚ð”cˆ¬‚µ‚Ä‚È‚¢‚Ì‚È‚çA‚¢‚¶‚Á‚Ä‚Í‚¢‚¯‚È‚¢
‚Æ‚¢‚¤•ûj‚¾‚Á‚½‚Ì‚Å‚·‚ªA
‚»‚ê‚̓vƒƒOƒ‰ƒ€‚ª¬‚³‚©‚Á‚½‚©‚ç’Ê—p‚·‚é˜b‚È‚Ì‚Å‚·‚©‚ËH
>>961
•Ï”‚ÌŠÇ—E”cˆ¬‚Æ‚¢‚¤‚Ì‚ÍF
‰½‚Æ‚¢‚¤–¼‘OEŒ^‚Ì•Ï”‚ª‰½ŒÂ‚ ‚èA‚»‚ê‚Í‚Ç‚±‚łǂ̂悤‚ÈŽg‚í‚êA‚Ç‚¤‚¢‚Á‚½ˆÓ–¡‚Ì”’l‚ð‹L‰¯‚³‚¹‚é•Ï”‚È‚Ì‚©
‚ÆŒ¾‚Á‚½A•Ï”‚ÌŽd—l‚ðlŠÔ‚ª”cˆ¬‚µŠÇ—‚·‚±‚ÆB

ÌßÛ¸Þ×Ñ‚ª‘å‚«‚­‚È‚èƒXƒeƒbƒv”‚ª‰½\–œ‰½•S–œ‚Æ‚È‚èA•Ï”‚ª”¼•S‰½ç‰½–œ‚Æ‚È‚Á‚Ä‚«‚½‚Æ‚«‚ÉA
‚·‚ׂăOƒ[ƒoƒ‹‚¾‚Æ‚»‚ê‚ç‚Ì”cˆ¬EŠÇ—l‚ÌŽè‚É•‰‚¦‚È‚­‚È‚éB
‚µ‚ ‚‹‚µ^‚ɃOƒ[ƒoƒ‹‚Å‚ ‚é‚ׂ«•¨‚¾‚¯‚ðƒOƒ[ƒoƒ‹‚É‚µAƒ[ƒJƒ‹‚É‚·‚ׂ«•¨‚̓[ƒJƒ‹‚É‚µ‚Ä‚¨‚­‚ÆA
‚ ‚éƒvƒƒOƒ‰ƒ€‚̈ê“_‚©‚猩‚¦‚é•Ï”‚âƒTƒuƒ‹[ƒ`ƒ“‚Ì”‚Í‘å•‚ÉŒ¸‚èAlŠÔ‚ÌŽè‚É•‰‚¦‚郌ƒxƒ‹‚Ì•¡ŽG‚³‚É
‚Å‚«‚éB‚»‚ê‚É‚æ‚Á‚Ä‘å‚«‚¢ƒ\ƒtƒgƒEƒFƒA‚ª‚È‚ñ‚Æ‚©ì‚ê‚邵A
ƒ\[ƒXƒR[ƒh‚ÌŒ©‚â‚·‚³A‰ü—Ç‚âŠg’£‚Ì‚µ‚â‚·‚³‚àŒüã‚·‚éB

ƒ{ƒX‚ªŒ¾‚¤uƒR[ƒh‘S‘Ì‚ð”cˆ¬‚µ‚Ä‚È‚¢‚Ì‚È‚çA‚¢‚¶‚Á‚Ä‚Í‚¢‚¯‚È‚¢v‚Ì^ˆÓ‚Í’¼Ú•·‚¢‚Ä‚¢‚È‚¢‚Ì‚Å‘z‘œ‚ɂȂ邪A
—Ç‚­—‰ð‚Å‚«‚Ä‚¢‚È‚¢ƒ\ƒtƒgƒEƒGƒA‚ª³‚µ‚­“®‚¢‚Ä‚¢‚é‚Ì‚Å‚ ‚ê‚΃wƒ^‚É‚¢‚¶‚Á‚Ä
ƒoƒO“ü‚ꂽ‚è—ò‰»‚³‚¹‚é‚æ‚è‚àA‚¢‚¶‚ç‚È‚¢•û‚ª‚Ü‚¾‚Ü‚µ‚Ý‚½‚¢‚ȈӖ¡‚¶‚á‚È‚¢‚©‚ÆŽv‚¤‚æB
ƒvƒƒOƒ‰ƒ€‚ÌŠe•”•ª‚̈Ӗ¡‚ª•Ï”–¼‚¾‚¯‚Åi‚Ç‚¤‚É‚©j•ª‚©‚é‚Ì‚¾‚Æ‚µ‚½‚ç
s”‚È‚Ç‚ÌŒ©‚½–Ú‚Í‚Ç‚¤‚ ‚êA¬‹K–Í‚Å’Pƒ‚ȃvƒƒOƒ‰ƒ€‚Æ‚¢‚¤‚±‚ƂɂȂ邪

ƒvƒƒOƒ‰ƒ~ƒ“ƒO‚¶‚á‚È‚­‚Ä”’lŒvŽZ‚ª–Ú“I‚È‚ñ‚¾‚낤‚µƒ{ƒX‚ª•t‚¢‚Ä‚é‚悤‚¾‚µ
Œ»ŽÀ–â‘è‚Æ‚µ‚ÄA‹K–͂ƃvƒƒOƒ‰ƒ~ƒ“ƒO‹³ˆçã‚Ì–â‘èˆÈŠO‚É‘åˆæ•Ï”‚ðŽg‚Á‚Ä‚¢‚¯‚È‚¢——R‚Í‚È‚¢
‚ñH‘S•”ƒOƒ[ƒoƒ‹‚É‚µ‚Ä‚¢‚¢‚©‚Á‚ĈӖ¡‚¶‚á‚È‚¢‚æ‚ËH
>>964
˜b‚Ì”­’[‚É‘‚©‚ê‚Ä‚¢‚½‚悤‚ÈA‘S•”ƒOƒ[ƒoƒ‹‚Í‚³‚¯‚éu‚ׂ«v‚Å‚µ‚å
‚Å‚à‘S•”ƒOƒ[ƒoƒ‹‚Å·‚µá‚肪‚È‚¢‹K–͂̃vƒƒOƒ‰ƒ€
‚½‚Æ‚¦‚Δ•S`1000s‚­‚ç‚¢‚Ü‚Å‚È‚ç>>963‚ÌŒ¾‚¤‚Æ‚¨‚è‚©‚à‚Å‚µ‚åB
>>962
Šù‘¶‚̃R[ƒh‚ðŠg’£‚·‚é•K—v‚ª‚ ‚Á‚½‚Ì‚Å‚·‚ªA
‚»‚Ì‚Æ‚«‚ÉAƒR[ƒh‚Ìʼn‚©‚çÅŒã‚Ü‚Å“Ç‚ñ‚Å”cˆ¬‚µ‚È‚«‚áƒ_ƒ‚¾‚æA
‚ÆŒ¾‚í‚ꂽ‚ñ‚Å‚·B

>>963
Šm‚©‚É‚»‚¤‚È‚ñ‚Å‚·‚ªA
‚»‚ê‚䂦‚ÉAŽü‚è‚àƒvƒƒOƒ‰ƒ~ƒ“ƒO‹ZpŽ©‘Ì‚É‚Í–³“Ú’…‚¾‚µA
‚Ü‚½A‚¨Žè–{‚àfortran77‚Å‘‚©‚ꂽŒÃ‚¢‚à‚Ì‚ª‘½‚¢‚ñ‚Å‚·B

‚Å‚·‚ªAŽ„‚Í‚Ü‚¾‰@¶‚È‚Ì‚ÅA
«—ˆ‚Ì‚±‚Æ‚ðl‚¦‚é‚ÆA‚à‚Á‚ÆV‚µ‚¢‹Zp‚ðŽæ‚è“ü‚ꂽ‚Ù‚¤‚ª‚¢‚¢‚Ì‚©‚ÈH‚ÆŽv‚¢‚Ü‚µ‚ÄB
(ʼn‚Í‚¨Žè–{’Ê‚è‚ÉA‘S‚Ä‚ðCOMMON‚ŃOƒ[ƒoƒ‹‚É‚µ‚Ä‚½‚Ì‚Å‚·‚ªA
‚»‚¤‚¢‚¤‚̂͌¢‚â‚è•û‚Á‚Ä‚Ì‚ð’m‚è‚Ü‚µ‚ÄEEE
ƒ‚ƒWƒ…[ƒ‹‚Æ‚©\‘¢‘Ì‚Æ‚©Žg‚Á‚Ă݂悤‚©‚ÈA‚ÆB)
967 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2012/04/12(–Ø) 07:22:01.47
OpenMP Žg‚Á‚Ä‚½‚Æ‚«‚ÍAcommon ‚Å¢‚邱‚Æ‚Í‚È‚©‚Á‚½B
MPI ‚ɈÚs‚·‚鎞A‚¿‚å‚Á‚Æ‚Æ‚¢‚¤‚©‚¾‚¢‚ÔŽèŠÔŽæ‚Á‚½B
Œ‹‹ÇA‚¢‚¿‚Ç‘S•Ï”‚ðargument ‚Å“n‚·‚Ì‚É‚µ‚Ä‚©‚ç
Module ‰»B

Module Use ‚Á‚ătƒ@ƒCƒ‹“à‚Ì‘OŒãŠÖŒW‚É
‹C‚ðŽg‚¤‚Ì‚ÅAŒ™‚¢‚¾B
COMMON‚Ì’ˆÓ“_‚¾‚ªA‹KŠi‚Ìã‚Å‚Í–³–¼COMMON‚ÍSAVE‘®«‚ª•t‚¢‚Ä‚¢‚邪A–¼‘O•t‚«COMMON‚̓fƒtƒHƒ‹ƒg‚Å‚ÍSAVE‘®«–³‚¢B
‚½‚¾‚U‚UˆÈ—ˆ‚Ì—ðŽj“IŽ–î‚ÅSAVE‚ª•t‚¢‚Ä‚¢‚é‚悤‚Ɉµ‚í‚ê‚邱‚Æ‚ª‘½‚¢B
‚»‚Ì‚¤‚¿‹KŠiŒ´—Žå‹`‚Ý‚½‚¢‚È‚Ì‚ªo‚Ä‚­‚é‚Æ‚ß‚ñ‚Ç‚­‚È‚éBƒRƒ“ƒpƒCƒ‰ƒIƒvƒVƒ‡ƒ“‚őΉž‚Å‚«‚é‚悤‚É‚È‚é‚ÆŽv‚¤‚ªB
969 F955F2012/04/12(–Ø) 19:39:46.64
955‚Å‚·B‰½“x‚à‚·‚Ý‚Ü‚¹‚ñB
¡A‘‚¢‚Ä‚¢‚éƒvƒƒOƒ‰ƒ€‚ɂ‚¢‚Ä‚Ìî•ñ‚ð‘‚­‚Ì‚ÅA
‚Ý‚È‚³‚ñ‚È‚ç‚Ç‚¤‚¢‚¤\‘¢‚É‚·‚é‚©A‹ï‘Ì“I‚ȃAƒhƒoƒCƒX‚ð‚¢‚½‚¾‚¯‚Ü‚¹‚ñ‚©H

¡‚̃vƒƒOƒ‰ƒ€‚ÍA100`200s’ö“x‚̃Tƒuƒ‹[ƒ`ƒ“‚ª10ŒÂ‚Ù‚Ç‚ ‚è‚Ü‚·B
ƒƒCƒ“ƒvƒƒOƒ‰ƒ€‚É‚ÍAƒTƒuƒ‹[ƒ`ƒ“‚̌ĂÑo‚µ‚ÆŠÈ’P‚Èdoƒ‹[ƒv‚­‚ç‚¢‚µ‚©‚È‚­A
—¬‚ꂪ•ª‚©‚é‚悤‚É‚µ‚Ä‚ ‚è‚Ü‚·B
ƒTƒuƒ‹[ƒ`ƒ“‚ÍŠO•”•›ƒvƒƒOƒ‰ƒ€‚Æ‚µ‚ÄA‘‚¢‚Ä‚ ‚èA
‡ŽŸAŒp‚¬‘«‚µ‚Ä‚¢‚«‚Ü‚·BÅI“I‚É‚ÍA¡‚Ì2A3”{‚­‚ç‚¢‚É‚È‚é‚ÆŽv‚¢‚Ü‚·B

EƒvƒƒOƒ‰ƒ€‚Ì“à—e‚ÍA—¬‘ÌŒvŽZ‚ÅA•¨——Ê‚ðŽžŠÔ”­“W‚³‚¹‚½‚¢B
EƒvƒƒOƒ‰ƒ€‘S‘̂ɂ킽‚Á‚Äo‚Ä‚­‚镨——Ê‚Í15ŒÂ’ö“xB
Eƒtƒ@ƒCƒ‹‚ªƒoƒ‰ƒoƒ‰‚É‚È‚é‚Ì‚ªŒ™‚È‚Ì‚ÅAˆê‚‚̃tƒ@ƒCƒ‹‚É‘S‚Ä‘‚«‚½‚¢B

‚ÅAʼn‚Í‘S•”ƒOƒ[ƒoƒ‹‚É‚µ‚Ä‚¢‚½‚Ì‚Å‚·‚ªA
‚Ý‚È‚³‚ñ‚̘b‚ð•·‚¢‚ÄAƒ[ƒJƒ‹‚àŽæ‚è“ü‚ê‚Ă݂悤‚ÆŽv‚¢A
ƒpƒ‰ƒ[ƒ^‚ÆŠî–{•¨——Ê‚¾‚¯‚ð•Êƒtƒ@ƒCƒ‹‚Ƀ‚ƒWƒ…[ƒ‹‚Æ‚µ‚Ä‘‚¢‚Ä‚Ý‚Ü‚µ‚½B
‚Å‚·‚Ì‚ÅA¡‚̃vƒƒOƒ‰ƒ€‚Í
ƒvƒƒOƒ‰ƒ€+ƒTƒuƒ‹[ƒ`ƒ“ŒQ‚ƕϔ錾‚݂̂̃‚ƒWƒ…[ƒ‹A‚Ì2‚‚ł·B

–â‘è‚ÍA•Ï”‚Ì錾‚ɂ‚¢‚Ä‚È‚Ì‚Å‚·‚ª
—Ⴆ‚ÎAƒTƒuƒ‹[ƒ`ƒ“A‚©‚çƒTƒuƒ‹[ƒ`ƒ“B‚É•Ï”‚ðˆø‚«“n‚·‚Æ‚«A
錾‚ðAƒƒCƒ“ƒvƒƒOƒ‰ƒ€‚ÆA‚ÆB‚Ì3‚‚ɑ‚©‚È‚¯‚ê‚΂¢‚¯‚È‚¢‚Å‚·‚æ‚ËH
‚»‚ꂪ‚Æ‚Ä‚àç’·‚ÉŠ´‚¶‚Ä‚µ‚Ü‚¢‚Ü‚·B
‚Ü‚½Aˆø”‚Ì”‚à10‚Æ‚©20‚Æ‚©‚ ‚è‚Ü‚·B
ƒ‚ƒWƒ…[ƒ‹‚É‚Ü‚Æ‚ß‚ê‚΂悢‚Ì‚©‚à‚µ‚ê‚Ü‚¹‚ñ‚ªA
‚»‚Ì‚Ü‚Å‘å‹K–͂ȃvƒƒOƒ‰ƒ€‚Å‚à‚È‚¢‚µA‚Æ‚¢‚¤Š´‚¶‚Å‚·B

ŠF‚³‚ñ‚È‚ç‚Ç‚¤‚·‚é‚©AƒAƒhƒoƒCƒX‚¨Šè‚¢‚¢‚½‚µ‚Ü‚·B
>>969
ˆê‚©‚玩•ª‚Å‘‚­‚킯‚¶‚á‚È‚¢‚È‚çAŒ©‚½–Ú‚ªˆ«‚­‚È‚é‚©‚ç
‚±‚ê‚Ü‚Å‚Ì‚Íl‚Æ“¯‚¶‚悤‚Écommon‚Å‘‚­
ˆê‚©‚ç‘‚«’¼‚·‚È‚ç\‘¢‘Ì‚Å•Ï”‚ð‚Ü‚Æ‚ß‚Äcommon‚È‚µ‚Å‘‚­
ç’·‚Æ‚¢‚Á‚Ä‚àA‚»‚ÌŠO•”•›ƒvƒƒOƒ‰ƒ€‚ª
‘åˆæ•Ï”‚Ì‘¶Ý‚ÆŒ^‚ƃƒ‚ƒŠ”z’u‚ð’m‚é‚É‚Í
‘‚¢‚Ä‚­‚ê‚È‚¢‚Æ¢‚é‚킯‚ÅB

include •¶‚È‚èAƒvƒŠƒvƒƒZƒbƒT‚ªŽg‚¦‚éŠÂ‹«‚È‚ç
#include ‚È‚è‚ÅA’è‹`‚ð‚Pƒtƒ@ƒCƒ‹‚É“Z‚߂邱‚Æ‚Í‚Å‚«‚éB
‚¨“ñl‚Æ‚àAƒAƒhƒoƒCƒX‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B

>>970
1‚©‚ç‘‚¢‚Ä‚¢‚Ü‚·B
ð“úAƒpƒ‰ƒ[ƒ^‚ÆŠî–{•¨——ʈȊO‚Í‘S‚ă[ƒJƒ‹‚É’¼‚·‚±‚ƂɬŒ÷‚µ‚Ü‚µ‚½B
‚ ‚Æ‚ÍAŠî–{•¨——Ê‚ðƒ[ƒJƒ‹‚É‚·‚邾‚¯‚Å‚·B

\‘¢‘Ì‚ÍŽg‚Á‚½‚±‚Æ‚ª‚È‚¢‚Ì‚Å‚·‚ªA
‚¨‚Á‚µ‚á‚Á‚Ä‚¢‚邱‚Æ‚ÍA‚±‚̂悤‚ÈŠ´‚¶‚Ì‚±‚Æ‚Å‚µ‚傤‚©H
3‚‚̗¬‘Ì•Ï”‚ðŽžŠÔ”­“W‚³‚¹‚Ä‚¢‚­ƒTƒ“ƒvƒ‹ƒvƒƒOƒ‰ƒ€‚Å‚·B(ŽáŠ±A’[Ü‚Á‚Ä‚¢‚Ü‚·
\‘¢‘Ì‚Ì—v‘f‚Ì‘ã“ü•¶‚Ì‚¹‚¢‚ÅAƒTƒuƒ‹[ƒ`ƒ“‚ª
’·‚­‚È‚Á‚Ä‚µ‚Ü‚¤‚Ì‚ÍAŽd•û‚ª‚È‚¢‚Å‚·‚æ‚ËH
‚Ü‚¾Aí‚ê‚é‚Æ‚±‚ë‚ ‚è‚Ü‚·‚©H
program main
  implicit none
    type arg
       real(8) :: a(0:n),b(0:n),c(0:n)
    end type arg
  type(arg) :: old,new

  do i = 1, m
    call subevo(old,new)
    old = new
  end do
end program main
subroutine subevo(old,new)
  implicit none
    type arg
     real(8) :: a(0:n),b(0:n),c(0:n)
    end type arg
  type(arg),intent(in) :: old
  type(arg),intent(out) :: new
  old%a(0:n) = rho(0:n)
  old%b(0:n) = vel(0:n)
  old%c(0:n) = ene(0:n)
  ‚±‚±‚ÅŒvŽZ‚·‚é
  new%a(0:n) = rho_n(0:n)
  new%b(0:n) = vel_n(0:n)
  new%c(0:n) = ene_n(0:n)
end subroutine subevo
974 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2012/04/13(‹à) 16:26:25.60
•Öæ‚Ì•M–₾‚¯‚ÇA‚X‚V‚Q‚Ì—á‚Å
new%a new%b new%c
‚Á‚ăƒ‚ƒŠã‚Í‚Ç‚¤‚¢‚¤‡”Ô‚ÅŠi”[‚³‚ê‚é‚Ì‚©‚ÈHŽÀ‘•‚µ‚¾‚¢H
‚‚܂è new \‘¢‘Ì‚Æ
‚È‚ñ‚©A new(0:n,3) ‚Ý‚½‚¢‚É“Y‚¦Žš‚ň—(‚±‚ê‚ÍŒ^‚ª“¯‚¶‚Å‚È‚¢‚Æ
‚¢‚¯‚È‚¢‚킯‚¾‚¯‚Ç)‚·‚é‚Ì‚Æ‚Å
ŒvŽZ‚Ì‚Ï‚Ó‚§[‚Ü‚ñ‚·‚Æ‚©•Ï‚í‚é‚Ì‚©‚È‚ŸA‚ÆŽv‚Á‚½ŽŸ‘æB
>>974
ŽÀ‘•ŽŸ‘悾‚ÈB
Fortran2003‚ÅAC‚Æ‚Ì‘ŠŒÝ‰^—p—p‚Ì–½—ß‚ª“±“ü‚³‚ê‚Ä‚»‚Ì’†‚ÉATYPE‚ÌSEQUENTCE‘®«‚ª“±“ü‚³‚ê‚ÄA
‚±‚ꂪ•t‚¢‚Ä‚¢‚é‚ƃƒ‚ƒŠ[ã‚Å錾‡‚É•À‚ׂĊ„‚è•t‚¯‚ç‚ê‚éB
>>972
ƒTƒuƒ‹[ƒ`ƒ“‚àmain‚Æ“¯‚¶ƒtƒ@ƒCƒ‹‚É‘‚¢‚Ä‚¢‚é‚È‚ç
containsŽg‚Á‚½•û‚ª‚¢‚¢‚©‚È
\‘¢‘Ì’è‹`‚à module ‚ÅŽ‚Á‚Ä‚¢‚¯‚é

subevo() “à‚Í old ¨ rho ¨iŒvŽZj¨ rho_n ¨ new ‚Á‚Û‚­Œ©‚¦‚邯‚Ç
ƒTƒuƒ‹[ƒ`ƒ““à•”‚Ì”z—ñ‚Í–³‘Ê‚¶‚á‚È‚¢‚©H

module my_struct
type arg
real(8) :: rho(0:n),vel(0:n),ene(0:n)
end type arg
end module my_struct
program main
use my_struct
implicit none
type(arg) :: old,new
!- ’†—ª -
end program
subroutine subevo(old,new)
use my_struct
implicit none
type(arg),intent(in) :: old
type(arg),intent(out) :: new
!- ’†—ª -
end subroutine subevo
ƒAƒhƒoƒCƒX‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B

>>976
‚í‚©‚è‚Ü‚µ‚½B

>>977
“ñ‚ÂAŽ¿–₪B

‚»‚Ìmodule‚ÌŽg‚¢•û‚ÍAinclude‚Æ“¯‚¶‚¾‚Æl‚¦‚Ä‚æ‚¢‚Å‚·‚©H

„subevo() “à‚Í old ¨ rho ¨iŒvŽZj¨ rho_n ¨ new ‚Á‚Û‚­Œ©‚¦‚邯‚Ç
‚¦‚¦‚ÆA‚±‚ê‚Í old ¨iŒvŽZ ¨ new@‚Ì‚Ù‚¤‚ª‚·‚Á‚«‚è‚·‚éA‚Ä‚±‚Æ‚Å‚ ‚Á‚Ä‚Ü‚·‚©‚ËH
rho_n‚Ì‚Ù‚¤‚Í‚È‚­‚¹‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñ‚ªA
•û’öŽ®‚ª
new = f(rho,vel,ene)‚Ý‚½‚¢‚ÈŠ´‚¶‚Ì”ñüŒ`˜A—§•û’öŽ®‚É‚È‚Á‚Ä‚¢‚é‚Ì‚Å
‰E•Ó‚Éo‚Ä‚­‚é•Ï”‚ðAarg%rho(0:n)‚Æ‚©arg%vel(0:n)‚Æ‚©‚Å‘‚¢‚Ä‚¢‚­‚Ì‚Í
‘å•Ï‚¶‚á‚È‚¢‚©‚ÈH‚ÆŽv‚¢‚Ü‚µ‚½B
‚È‚Ì‚ÅAˆø”‚Ì‚Æ‚«‚Í\‘¢‘̂ňø‚«“n‚µ‚Ä
ŒvŽZ‚Ì‚Æ‚«‚Í—v‘f‚Ƀoƒ‰‚µ‚½‚Ù‚¤‚ª‚¢‚¢‚Ì‚Å‚ÍH‚ÆB
‚·‚Ý‚Ü‚¹‚ñ
„old%a(0:n) = rho(0:n)
„old%b(0:n) = vel(0:n)
„old%c(0:n) = ene(0:n)
‚±‚±A¶•Ó‚ƉE•Ó‚ª‹t‚Å‚µ‚½
„‚í‚©‚è‚Ü‚µ‚½B
‚¤[‚ñA‚í‚©‚Á‚Ä‚à‚炦‚È‚©‚Á‚½‚Ý‚½‚¢‚¾‚ÈB
containsŽg‚Á‚Ä“à•”•›ƒvƒƒOƒ‰ƒ€‚Æ‚µ‚Ä‘‚¯‚ÎAold‚¾‚Ìnew‚¾‚Ì‚ðˆø”‚Å‚â‚èŽæ‚è‚·‚é•K—v‚ª‚È‚­‚È‚é‚ñ‚¾‚¯‚ÇB
>>978
> include ‚Æ use module
Œ‹‰Ê‚Æ‚µ‚Ä‚Í“¯‚¶

‘åŽG”c‚ÈŒ¾Œê‰ðŽß‚ðŒ¾‚¤‚Æ include ‚ÍŽw’èƒtƒ@ƒCƒ‹‚Ì"‹LÚ"‚ðˆø—p‚µ
use module ‚Í module ƒuƒƒbƒN‚Å‹LÚ‚³‚ꂽ"’è‹`"‚ðˆø—p‚·‚é
‚¿‚È‚Ý‚É module ‚ðŽg‚¤‚ƃRƒ“ƒpƒCƒ‰[‚Ɉø”‚ÌŒ^ˆê’v‚ª•ÛØ‚Å‚«‚éA‚Í‚¸

> ƒTƒuƒ‹[ƒ`ƒ““à”z—ñ
——R‚ª‚ ‚é‚È‚ç•Ê‚É\‚í‚È‚¢

‚½‚¾An ‚ª‘å‚«‚¢‚È‚ç‚΂»‚Ì‚Ô‚ñƒƒ‚ƒŠÁ”ï‚Æ
ƒƒ‚ƒŠƒRƒs[‚̈—ŽžŠÔ‚ªã悹‚³‚ê‚é‚ÆŽv‚¤
æi“I (Fortran 2003) ‚ÈŽè’i‚ªŽg‚¦‚é•Žg‚Á‚Ä‚¢‚¢‚È‚ç
type ‚É procedure ‚ðŽ‚½‚¹‚Ä call old%propagate(new) ‚Ý‚½‚¢‚É‚·‚é‚Æ‚©
>>980
contains‚ňø”‚ª‚¢‚ç‚È‚­‚È‚é‚Ì‚ÍA
ƒ‚ƒWƒ…[ƒ‹‚ŃOƒ[ƒoƒ‹•Ï”‰»‚µ‚½‚Æ‚«‚¾‚¯‚¶‚á‚È‚¢‚ñ‚Å‚·‚©H
Ž©•ª“I‚É‚ÍAcontrains‚̃ƒŠƒbƒg‚Í
ˆø”‚ÌŒ^‚ðƒ`ƒFƒbƒN‚µ‚Ä‚­‚ê‚é‚Á‚Ä‚±‚Æ‚¾‚ÆŽv‚Á‚Ä‚Ü‚µ‚½
983 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2012/04/15(“ú) 05:30:24.59
ˆø”Œ^ƒ`ƒFƒbƒN‚Í
Interface ƒuƒƒbƒN‚Å‚â‚Á‚Ä‚éB

•¡”‚â‚è•û‚ª‚ ‚é‚Ì‚Í
‚¢‚¤‚±‚Æ‚È‚ñ‚¾‚낤‚¯‚ÇA–Ê“|‚¾‚æ‚Ë
981 ‚¾‚ª
> type ‚É procedure ‚ðŽ‚½‚¹‚Ä call old%propagate(new) ‚Ý‚½‚¢‚É‚·‚é‚Æ‚©
‚±‚ê‰ðŒˆˆÄ‚É‚È‚Á‚Ä‚È‚©‚Á‚½ƒXƒ}ƒ“
Œ‹‹Ç new%rho = this%rho ‚Æ‚©‘‚­‚©‚çˆÓ–¡‚È‚¢

“à•”•›ƒvƒƒOƒ‰ƒ€‚Í‚»‚Ìe‚É‚È‚éƒvƒƒOƒ‰ƒ€‚Ì•Ï”’è‹`‚ðŽQÆ‚Å‚«‚邪
eˆÈŠO‚©‚ç‚͌ĂÑo‚¹‚È‚©‚Á‚½‚©‚È
985 F955F2012/04/15(“ú) 22:33:34.13
‚à‚¤‚·‚®1000‚¢‚«‚Ü‚·‚ËB
ŠF‚³‚ÜA’·‚­•t‚«‡‚Á‚Ä‚­‚¾‚³‚è‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B

F‚ñ‚È‹@”\‚ð‹³‚¦‚Ä‚¢‚½‚¾‚«A‚Ü‚¾‘S‘R—‰ð‚µ‚Ä‚¢‚È‚¢‚Ì‚Å‚·‚ª
COMMON‚ðINCLUDE‚µ‚Ä‘S‚Ä‚ðƒOƒ[ƒoƒ‹•Ï”‚É‚µ‚Ä‚¢‚½ƒR[ƒh‚Í
Eƒpƒ‰ƒ[ƒ^‚Ì‚Ý‚ðƒOƒ[ƒoƒ‹•Ï”‚É‚µAƒ‚ƒWƒ…[ƒ‹‚Å’è‹`
EŠî–{•¨——Ê‚Í\‘¢‘Ì‚É‚Ü‚Æ‚ß‚é
Eintent•¶‚ð‚‚¯‚Ä\‘¢‘Ì‚ðƒTƒuƒ‹[ƒ`ƒ“ŠÔ‚ňø‚«“n‚·
‚Æ‚¢‚¤Š´‚¶‚É‚È‚è‚Ü‚µ‚½B

contains‚Æinterface‚ɂ‚¢‚Ä‚ÍA‚Ü‚¾‚æ‚­‚í‚©‚ç‚È‚¢‚Ì‚Å
‚±‚ê‚©‚ç’²‚ׂĂ݂܂·B
–{“–‚ÉA‚¢‚ë‚¢‚ë‚â‚è•û‚ª‚ ‚Á‚Ä
‚ǂꂪőP‚È‚Ì‚©‚ÍA‚í‚©‚è‚Ü‚¹‚ñ‚ËEEE
ƒƒ‚ƒŠÁ”ï‚Ì‚±‚Æ‚Ü‚Å‚ÍA‚Ü‚¾“ª‚ª‰ñ‚Á‚Ä‚È‚¢‚Å‚·
(¬‹K–͂ȃvƒƒOƒ‰ƒ€‚È‚Ì‚ÅA‚Ü‚¾‘åä•v‚©‚ÈEEE)
986 F955F2012/04/15(“ú) 22:55:46.34
‚·‚Ý‚Ü‚¹‚ñA‚±‚ñ‚È‚ÌŒ©‚‚¯‚½‚ñ‚Å‚·‚¯‚ÇB
„2)eŽè‘±‚«’†‚ÅŽg‚í‚ê‚Ä‚¢‚é•Ï”–¼C”z—ñ–¼‚È‚Ç‚Í“à•”Žè‘±‚«’†‚Å‚à—LŒø‚ÅC‹¤’Ê
„‚Ì’l‚ðŽ‚ÂB

>>982‚ÍŠÔˆá‚Á‚Ä‚Ü‚µ‚½
‚à‚µA>>980‚³‚ñ‚Ì‚¢‚¤‚悤‚ÉA‘S‚ẴTƒuƒ‹[ƒ`ƒ“‚ðcontains‚Å
main program‚É“ü‚ꂽ‚çA‚»‚ê‚Á‚ÄŒ‹‹Ç
‘S‚Ä‚Ì•Ï”‚ðƒOƒ[ƒoƒ‹‰»‚·‚é‚Ì‚Æ“¯‚¶‚É‚È‚è‚Ü‚¹‚ñ‚©‚ËH
‚æ‚­‚í‚©‚ñ‚È‚­‚È‚Á‚Ä‚«‚½EEE
>>986
‚»‚Ì‚Æ‚¨‚肶‚áB
ƒƒCƒ“ƒvƒƒOƒ‰ƒ€‚Å‚ÌCONTAINS‚͊댯‚¾‚©‚çŽ~‚ß‚Æ‚¯‚Æ‚¢‚¤‚Ì‚ªŒ¾‚¢“`‚¦‚¶‚áB
Module‚Å‚ÌCONTAINS‚Æ”ä‚ׂÄAƒ‹[ƒv•Ï”‚Ìi,j‚Ì—Þ‚ð‹¤—L‚µ‚Ä‚µ‚Ü‚¤‚̂Ŋ댯‚ª‚¢‚Á‚Ï‚¢‚¨‚Á‚Ï‚¢B
988 F955F2012/04/16(ŒŽ) 03:38:45.38
>>987
‚³‚¢‚«‚ñAƒlƒbƒg‚É‚ ‚éF‚ñ‚Èê–å‰Æ‚ÌŽ‘—¿‚Æ‚©“Ç‚ñ‚ŕ׋­‚µ‚Ä‚é‚ñ‚Å‚·‚¯‚Ç
ŠO•”ƒTƒuƒvƒƒOƒ‰ƒ€‚Í”ñ„§A‚Á‚Ä‚¢‚¤‹Lq‚ð—Ç‚­Œ©‚©‚¯‚é‚ñ‚Å‚·‚æ‚Ë
——R‚Í‚æ‚­‚í‚©‚è‚Ü‚¹‚ñ‚ªAˆø”‚̎󂯓n‚µ‚ÌۂɃoƒO‚ª‹N‚«‚邱‚Æ‚ð
Šëœœ‚µ‚Ä‚¢‚é‚Ì‚©‚ÈH
‚Å‚àAcontrains‚ðŽg‚¤‚ÆA•Ï”‚ÍeŽqŒ‹‡‚µ‚Ä‚µ‚Ü‚¤‚킯‚Å‚·‚æ‚Ë
‚»‚ê‚Á‚ÄAƒOƒ[ƒoƒ‹•Ï”‚Æ•Ï‚í‚ç‚È‚¢‚悤‚ÈB
l‚É‚æ‚Á‚ÄŒ¾‚Á‚Ă邱‚Æ‚ªˆá‚­‚ÄA‚킯‚ª‚í‚©‚ç‚È‚¢‚Á‚·EEE
ŠO•”ƒTƒuƒvƒƒOƒ‰ƒ€‚Æ‚¢‚¤‚Ì‚ª‰½‚ðŽw‚µ‚Ä‚¢‚é‚Ì‚©•s–¾‚¾‚ªA‚½‚Ô‚ñMODULE‚Ì’†‚É“ü‚Á‚Ä‚¢‚È‚¢–ì—ǃ‹[ƒ`ƒ“‚Ì‚±‚Æ‚¾‚ÆŽv‚¤B
‚±‚ê‚Í•ªŠ„ƒRƒ“ƒpƒCƒ‹Žž‚̈ø”‚̃`ƒFƒbƒN‚ª‚È‚³‚ê‚È‚¢‚Ì‚Å‚â‚ß‚½‚Ù‚¤‚ª‚¢‚¢B
ƒƒCƒ“‚ÌPROGRAM’†‚ÌCONTAINS’†‚̃TƒuƒvƒƒOƒ‰ƒ€‚à‚â‚ß‚½‚Ù‚¤‚ª‚¢‚¢B
‚»‚ê‚̓ƒCƒ“ƒvƒƒOƒ‰ƒ€‚̃[ƒJƒ‹•Ï”iDOLOOP‚̃Cƒ“ƒfƒbƒNƒX‚Æ‚©’†ŠÔ•Ï”‚Æ‚©j‚àƒOƒ[ƒoƒ‹‚ɃTƒuƒvƒƒOƒ‰ƒ€‚É‹¤—L‚³‚ê‚Ä
‚µ‚Ü‚¤‚©‚çBMUDULE‚Ìê‡A‚Ü‚³‚©i,j‚Æ‚©tmp‚Æ‚©‚ð‹¤—L•Ï”‚É‚Í‚µ‚Ü‚¢B

‚â‚â㋉ŽÒŒü‚¯‚¾‚ªAÅ‹ß‚±‚¤‚¢‚¤–{‚ªo‚Ä‚¢‚éB@Modern Fortran: Style and Usage@Norman S. ClermanA Walter Spector
‰‹‰Œü‚¯‚ÍA¡‚Í”p‚ê‚Ä‚µ‚Ü‚Á‚½‚ªA‚¢‚í‚ä‚é Essential Fortran / F ‚ƌĂ΂ê‚éFortran90‚©‚ç‰ß‹ŽŒÝŠ·«‚ðŽÌ‚Ä‚½‹³ˆç—pFortran‚Ì
‹³‘¥–{‚ª—Ç‚©‚Á‚½BEssential Fortran 90 & 95 Loren P. Meissner
”ƒ‚킸‚Æ‚àƒlƒbƒg‚ÅŠÖ˜A‚Ì•¶‘‚ª“Ç‚ß‚½‹C‚ª‚·‚é‚Ì‚Å‚»‚Ì•Ó‚ðŒ©‚ÄŒ©‚Ä‚Í‚¢‚©‚ª‚©B

‚킵‚Í‘åÌ‚ÉLahey‚ÌELF90‚𔃂Á‚Ä‚»‚̃}ƒjƒ…ƒAƒ‹Ai¡‚ÍPDF‚µ‚©‚È‚¢‚ªÌ‚ÍŽ†”Å‚ª‚‚¢‚Ä‚«‚½‚Ì‚ÅjA‚»‚ꂾ‚¯Œ©‚é‚悤‚É‚µ‚ĕ׋­‚µ‚½B
‚½‚¾‚±‚ê‚ÍF90‚ÅF95…€‚Å‚·‚ç–³‚¢‚Ì‚Å¡‚Í‚â‚₨‚·‚·‚ß‚Å‚«‚È‚¢B
990 F955F2012/04/16(ŒŽ) 16:59:17.19
>>989
„‚±‚ê‚Í•ªŠ„ƒRƒ“ƒpƒCƒ‹Žž‚̈ø”‚̃`ƒFƒbƒN‚ª‚È‚³‚ê‚È‚¢‚Ì‚Å‚â‚ß‚½‚Ù‚¤‚ª‚¢‚¢B
‚±‚ꂾ‚¯‚ª–â‘è‚È‚çA>>983‚³‚ñ‚Ì‚â‚è•û‚Å‰ðŒˆ‚µ‚»‚¤‚È‹C‚ª‚µ‚Ü‚·B
ƒ‚ƒWƒ…[ƒ‹‚Ì‚È‚©‚É“ü‚ê‚ê‚ÎA‚·‚Á‚«‚肵‚»‚¤‚Å‚·
ƒ‚ƒWƒ…[ƒ‹‚Ì‚È‚©‚ÔƒTƒuƒ‹[ƒ`ƒ“‚ðcontains‚·‚é‚Ì‚Í
ŒÂl“I‚ÉD‚«‚¶‚á‚È‚¢‚Å‚·EEE
’†g‚ðí‚ÉŒ©‚Ä‚¨‚«‚½‚¢‚Ì‚Å(ƒuƒ‰ƒbƒNƒ{ƒbƒNƒX‰»‚·‚é‚Ì‚ªƒIƒuƒWƒFƒNƒgŽwŒüH)

„MUDULE‚Ìê‡A‚Ü‚³‚©i,j‚Æ‚©tmp‚Æ‚©‚ð‹¤—L•Ï”‚É‚Í‚µ‚Ü‚¢B
‚¦A‚·‚Ý‚Ü‚¹‚ñ‚—
doloop‚Ìinteger‚ð•’Ê‚É‹¤—L•Ï”‚É‚µ‚Ä‚Ü‚µ‚½

>>984
>“à•”•›ƒvƒƒOƒ‰ƒ€‚Í‚»‚Ìe‚É‚È‚éƒvƒƒOƒ‰ƒ€‚Ì•Ï”’è‹`‚ðŽQÆ‚Å‚«‚邪
>eˆÈŠO‚©‚ç‚͌ĂÑo‚¹‚È‚©‚Á‚½‚©‚È

F2008‚©‚ç“à•”ƒTƒuƒvƒƒOƒ‰ƒ€‚ðˆø”iˆøŠÖ”Hj‚Æ‚µ‚ÄA•Ê‚̃Tƒuƒ‹[ƒ`ƒ“
“™‚É“n‚¹‚é‚悤‚É‚È‚Á‚½BIntel‚͑Ήž‚µ‚Ä‚¢‚é–Í—lB

‚µ‚©‚µŽõ–½‚ªeƒ‹[ƒ`ƒ“‚ª“®‚¢‚Ä‚¢‚éŠÔ‚È‚Ì‚ÅAƒ|ƒCƒ“ƒ^[‚ð‚‚¯‚Ä•Ô‚è’l
i•Ô‚èŠÖ”Hj‚Æ‚·‚é‚ÆNULL‚É‚È‚Á‚ÄŽ€‚ÊB

Modern Fortran Explained 20.5.5@p.370