1 F
ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ F
2006/11/12(“ú) 17:13:35
2 F
ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ F2006/11/12(“ú) 17:14:45
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 F
19 F2006/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 F
30 F2006/11/15(…) 00:03:03
>>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 F
37 F2006/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
f90ƒXƒ^ƒCƒ‹‚ÅŠw‚ׂ邢‚¢•¶‘‚Í‚ ‚è‚Ü‚¹‚ñ‚©‚ËB ‰pŒê‚©“ú–{Œê‚Å‚¨Šè‚¢
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 F
54 F2006/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 F
59 F2006/11/20(ŒŽ) 15:25:10
integer a(1:100)=0 ª‚±‚ê‚Á‚Ä’Ê‚éH integer::@‚¶‚á‚È‚¢‚Æ’Ê‚ç‚È‚©‚Á‚½‹C‚ªB
64 F
Ž¿–â1/3 F2006/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/3 F2006/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/3 F2006/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 F
59 F2006/11/20(ŒŽ) 21:40:21
>>63 ‚»‚¤‚Å‚µ‚½
integer :: a(1:100)=0
‚¶‚á‚È‚¢‚Æ’Ê‚ç‚ñ‚Å‚·D
68 F
ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ F2006/11/22(…) 00:03:15
¡“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
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
‚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 F
96 F2006/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 F
105 F2006/11/30(–Ø) 22:29:33
‚²‚ß‚ñ@–kˆÜ‚Æ“ìˆÜ‚̈—‚ªŠÔˆá‚Á‚½‚܂܂̌¢‚Ì‚¤‚‚µ‚Ä‚µ‚Ü‚Á‚½B ‚ÜA–{Ž¿‚Í•Ï‚í‚ç‚ñ‚©‚ç“K“–‚Ɉ—‚µ‚Ä‚¨‚¢‚Ä‚‚êB Ž¿–₪‚ ‚ê‚ÎA“š‚¦‚â‚·‚˜_—“I‚É•·‚¢‚Ä‚‚êB
108 F
105 F2006/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
>>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
ˆ«‚¢‚Ì‚Í
>>126 Bà–¾‚ð’[Ü‚Á‚½Ž¿–â‚ð‚·‚é‚©‚炱‚¤‚È‚é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‚ƒ‚ˆ‚É‚È‚ñ‚©•·‚«‚É‚±‚È‚‚Ä‚·‚Þ‚—
140 F
ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ F2006/12/07(–Ø) 17:42:48
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
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 F
150 F2006/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 F
f90 F2006/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 F
172 F2006/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 F
172 F2006/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 F
172 F2007/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 F
178 F2007/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
185 F
ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ F2007/01/16(‰Î) 12:45:26
Šù‚É“š‚¦‚ªo‚Ä‚éB ‚Ä‚¢‚¤‚©ƒ}ƒ‹ƒ`B
>>184 Fortran‚ÌŽ‘ŽYŽg‚¦‚È‚¢‚Ì‚ÉFortran•—‚É‚·‚éˆÓ–¡‚ª‚¢‚Ü‚¢‚¿—Ç‚•ª‚©‚ç‚ñB
>>184 pseudocode ‚ð‚»‚Ì‚Ü‚ÜƒRƒ“ƒpƒCƒ‹‚µ‚Ä‚‚ê‚é‚Ȃ炤‚ꂵ‚¢B
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 F
199 F2007/01/20(“y) 22:07:45
>>200 >>201 A‚²Ž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
211 F
209 F2007/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 F
209 F2007/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
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
Å‹ß‚‚¾ƒXƒŒ‚Ì‚Ù‚¤‚ªƒŒƒxƒ‹‚ª‚‚¢‚È‚—
232 F
ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ F2007/02/21(…) 15:40:26
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
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
247 F
ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ F2007/03/21(…) 11:13:38
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
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 ŒŸ“¢‚µ‚Ä‚Ý‚Ü‚·
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 F
274 F2007/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
279 F
270 F2007/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
’Ê‚è‚·‚ª‚è‚ÌŽÒ‚¾‚ª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³Î
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 F
TEST‚¿‚イ 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
ª‚Á‚Ä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‚ª‚·‚é‚—
Cygwinã‚Å“®‚fortran90ƒRƒ“ƒpƒCƒ‰‚Á‚Ä‚ ‚è‚Ü‚¹‚ñ‚©H ‚·‚Ý‚Ü‚¹‚ñ‚ª ‚Ç‚È‚½‚©î•ñ‚ð‚¨Ž‚¿‚Å‚µ‚½‚狳‚¦‚ĉº‚³‚¢B
>>329 - 330
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚“BŽŽ‚µ‚Ä‚Ý‚Ü‚·I
ϼ޶Ö
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 F
335 F2007/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
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 F
345 F2007/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
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 F
358 F2007/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 F
358 F2007/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 F
358 F2007/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
‚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
>>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‚kF
http://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‚Ì—ª‚ÅAnetlibi
http://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 F
403 F2008/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 F
405 F2008/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
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
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"
ƒeƒ“ƒvƒŒ‚ɒljÁ‚«‚Ú‚ñ
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
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 F
458 F2008/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
”{¸“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 F
467 F2008/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 F
468 F2008/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
>>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
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
‚¤‚¿‚ÌŒ¤‹†Žº‚Ì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 F
494 F2009/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 F
499 F2009/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 F
506 F2009/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 F
510 F2009/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 F
510 F2009/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
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 F
540 F2009/04/18(“y) 00:12:28
ƒAƒ“ƒCƒ“ƒXƒg[ƒ‹‚µ‚ÄA‚Í‚¶‚ß‚©‚ç‚â‚è’¼‚µ‚½‚ç‚Å‚¯‚½B
>>542 ‚¨‚Ü‚¦AƒvƒƒOƒ‰ƒ€‚̃Zƒ“ƒX‚ ‚é‚©‚çA¡Œã‚àŠÊ‚΂êI
windowsXP‚ŃtƒH[ƒgƒ‰ƒ“90‚ðƒtƒŠ[‚ÅŽg‚¢‚½‚¢‚Ì‚Å‚·‚¯‚ÇA cygwinˆÈŠO‚Å‚Ç‚¤‚É‚©o—ˆ‚Ü‚·‚©H
free Fortran ‚Å‚®‚®‚ê
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 F
548 F2009/05/14(–Ø) 23:50:44
>>549 print ‚Ì•”•ª‚ÍA–{”ÔŽd—l‚ł̓Kƒ`ƒƒƒKƒ`ƒƒ•ÏX‚µ‚½‚¢‚Æ‚±‚ë‚È‚Ì‚Å‚²‚´‚¢‚Ü‚·B
555 F
548 F2009/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 F
556 F2009/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 F
548 F2009/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 F
563 F2009/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 F
575 F2009/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 F
575 F2009/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 F
556 F2009/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
‚Ü‚¸‚Í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 F
556 F2009/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
>>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•×‹‚È‚ñ‚Å‚í‚©‚ç‚ñ
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 ‘å‚«‚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
‘‚«•û‚ªˆ«‚©‚Á‚½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)ÌÞܯ
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
‚Ï‚Á‚ƃ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‚Å‚«‚邵‚È
697 F
696 F2009/12/14(ŒŽ) 01:05:55
ŠÔˆá‚¦‚Ü‚µ‚½ ‚·‚Ý‚Ü‚¹‚ñ
698 F
ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ F2009/12/17(–Ø) 14:58:51
‚¢‚ë‚¢‚ë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
>>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ƒ‰[‚â‚ç‚Í‘½‚¢‚Å‚·‚Ë
ƒ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 F
726 F2010/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 F
733 F2010/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
‚±‚̃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
>>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‚Æ‚©
>>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
>>769 ƒ‹[ƒ‹‚ð’莮‰»‚µ‚Ä‹³‚¦‚ëB
773 F
765 F2010/07/15(–Ø) 09:32:32
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 F
1 F2010/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 F
2 F2010/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 F
3 F2010/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 F
4 F2010/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 F
5 F2010/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‚É‘‚•û‚ª‚¢‚¢‚ª ¡Žž‚»‚¤‚¢‚¤‚Ì‚ ‚é‚©‚È‚
‚È‚ñ‚É‚¹‚æ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
•ÏŒ`ƒ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 F
824 F2010/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 F
831 F2010/08/25(…) 21:39:29
Œ¾‚¤‚Ì–Y‚ê‚Ä‚Ü‚µ‚½ sin(x)/x‚Ì‚˜‚ª¬‚³‚¢‚Æ‚±‚ë‚ð³Šm‚ÉŒvŽZ‚µ‚Ä‚‚ê‚éƒTƒuƒ‹[ƒ`ƒ“‚Å‚·
‚Ç‚±‚É‚ ‚é‚©‹³‚¦‚Ä‚à‚炦‚Ü‚¹‚ñ‚©
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 F
842 F2010/09/10(‹à) 20:58:29
>>843 ƒEƒbƒnI‚±‚è‚á’p‚¸‚©‚µ‚¢EEEŽ€‚ñ‚Å‚«‚Ü‚·
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)) ‚Æ‚©’·‚Á‚½‚炵‚¢‚æ‚—
>>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 F
857 F2011/01/19(…) 12:37:23
>>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 F
857 F2011/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
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 F
904 F2011/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 F
921 F2012/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
>>932 Œ©‚½‚Ì‚Í‘½•ª‰‚ß‚Ä‚Å‚·B‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½B
# ‚»‚ê‚É‚µ‚Ä‚àC‰p’PŒê‚ð‚»‚Ì‚Ü‚ÜŒ¾Œê–¼‚É‚³‚ê‚é‚ÆC
‚¤‚Ü‚ŒŸõ‚Å‚«‚È‚¢‚Å‚·‚ËB" Fortran " ‚Ý‚½‚¢‚É
‘¢Œê‚É‚µ‚Ä‚‚ê‚é‚ÆŒŸõ‚µ‚â‚·‚¢‚Ì‚Édd ƒÐ(-_-;)
934 F
933 F2012/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 F
933 F2012/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 F
933 F2012/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 F
943 F2012/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 F
952 F2012/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 F
955 F2012/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 F
955 F2012/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 F
955 F2012/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 F
955 F2012/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 F
955 F2012/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