1. Fortranèšèªã®æŠèŠ
Fortranã¯ãç§åŠæè¡èšç®ãäžå¿ãšããããã°ã©ã éçºã«äœ¿çšããããæŽå²ã®é·ãããã°ã©ã èšèªã®äžã€ã§ããæ°å€èšç®ã®æ§èœãé«ããå®å®ããŠããããšãããç§åŠç 究ããšã³ãžãã¢ãªã³ã°ã®çŸå Žã§å¹ åºãæ¡çšãããŠããŸãã
1.1. Fortranã®æŽå²ãšé²å
FortranïŒFormula Translationã®ç¥ïŒã¯ã1957幎ã«IBMã«ãã£ãŠéçºãããŸãããããã¯ãã³ã³ãã¥ãŒã¿ã®ããã°ã©ã éçºãããå¹ççã«è¡ãããã®æ°ããææ³ãšããŠäœçœ®ã¥ããããŠããŸãããåçã®Fortranã¯éåžžã«åºæ¬çãªæ©èœããæã£ãŠããªãã£ããã®ã®ãç§åŠæè¡èšç®ã®èªååãå®çŸããŸããã
以åŸãFortranã¯æ°å€ãã®ããŒãžã§ã³ã¢ãããçµãŠãçŸåšã«è³ããŸã§ã®åœ¢ã«çºå±ããŠããŸãããçŸä»£ã®Fortranã¯ããªããžã§ã¯ãæåããã°ã©ã ã䞊ååŠçãWebã¢ããªã±ãŒã·ã§ã³ã®éçºãå¯èœã§ãå€æ©èœãªããã°ã©ã èšèªãšããŠãéåžžã«é«ãè©äŸ¡ãåããŠããŸãã
Fortranã®é²åã®æŽå²ã¯ä»¥äžã®è¡šã§ç¢ºèªã§ããŸãã
幎 | ããŒãžã§ã³ | äž»ãªç¹åŸŽ |
---|---|---|
1957 | Fortran I | æåã®ããŒãžã§ã³ |
1978 | Fortran 77 | æ§é åããã°ã©ã ã®ãµããŒã |
1990 | Fortran 90 | é ååŠçã®åŒ·åãã¢ãžã¥ãŒã«ã®å°å ¥ |
2003 | Fortran 2003 | ãªããžã§ã¯ãæåã®å°å ¥ |
2018 | Fortran 2018 | 䞊ååŠçã®åŒ·åãæ°ããæ©èœè¿œå |
1.2. ãªãFortranã¯ä»ã§ãéèŠãªã®ã
Fortranã¯ã60幎以äžã®æŽå²ããããªããä»ãåºã䜿ãããŠããŸãããã®çç±ã¯äž»ã«äžã€ã§ãã
ãŸããèšç®é床ã®é«ãã§ããFortranã¯ãæé©åã容æã§ããã倧èŠæš¡ãªæ°å€èšç®ãé«éã«åŠçã§ããŸããããã¯ãç©çãæ°è±¡ãå·¥åŠã®ç 究ã§å€§éã®ããŒã¿ãåŠçããéã«éåžžã«éèŠã§ãã
次ã«ãå ç¢ããšå®å®æ§ããããŸããFortranã®ããã°ã©ã ã¯ãä»ã®èšèªãããäžè¬ã«ãã°ãå°ãªããé·æéã«ããã£ãŠå®å®ããŠåäœããŸãã
ãããŠæåŸã«ãè±å¯ãªã©ã€ãã©ãªããããŸããæ°å€èšç®ãäžå¿ã«ããèšå€§ãªã©ã€ãã©ãªãååšããããããå©çšããããšã§ãå¹ççã«é«åºŠãªèšç®ãå¯èœã§ãã
ãããã®çç±ãããFortranã¯çŸä»£ã®ç§åŠæè¡èšç®ã®çŸå Žã§æ¬ ãããªãååšãšãããŠããŸãã
2. Fortranã®åºæ¬æŠå¿µ
Fortranã¯ããã®æŽå²ã®é·ãããå€æ§ãªæ©èœãšç¹æ§ãæã£ãŠããŸãããããã§ã¯ããã°ã©ãã³ã°ã®åºæ¬ãšãªãæŠå¿µã«çµãããã®æ žå¿ãæŽãããšãç®æããŸãããã®éšåã®ç解ããFortranã®ç䟡ãååã«æŽ»çšããããã®ç¬¬äžæ©ãšãªããŸãã
2.1. ããŒã¿åãšå€æ°
Fortranã«ãããŠãæ å ±ãä¿åããããã®ã容ãç©ããšããŠå€æ°ãçšããããŸããå€æ°ã«ã¯æ§ã ãªçš®é¡ããããããããã®å€æ°ãæãŠãæ å ±ã®çš®é¡ãç¯å²ãããŒã¿åã«ãã£ãŠå®çŸ©ãããŸãã
åºæ¬çãªããŒã¿åãšããŠã¯ãæŽæ°ãè¡šãINTEGERãå®æ°ãè¡šãREALãæååãè¡šãCHARACTERãªã©ããããŸãããããã®ããŒã¿åãç解ããããšã§ãèšç®ãããŒã¿åŠçãæè»ã«è¡ãããšãã§ããŸãã
å€æ°ã®å®çŸ©æ¹æ³ã¯éåžžã«ã·ã³ãã«ã§ãäŸãã°ãæŽæ°ã®å€æ°ãå®çŸ©ããå Žåã¯ãINTEGER :: var_nameããšãã£ã圢ã«ãªããŸãã
2.2. åºæ¬çãªæŒç®åãšèšç®
Fortranã«ãããèšç®ã¯ãæ°åŠã®èšç®ãšéåžžã«äŒŒãŠãããååæŒç®ã环ä¹ãªã©ã®åºæ¬çãªèšç®ãå¯èœã§ãããããã®èšç®ãè¡ãããã®èšå·ãæŒç®åãšåŒã³ãŸãã
äŸãšããŠãå ç®ã¯ã+ããæžç®ã¯ã-ããä¹ç®ã¯ã*ããé€ç®ã¯ã/ããšãã£ã圢ã§è¡šçŸãããŸããããããçµã¿åãããŠãè€éãªèšç®åŒãæ§ç¯ããããšãå¯èœã§ãã
ãŸããFortranã«ã¯æ°åŠé¢æ°ãè±å¯ã«æã£ãŠãããäŸãã°ãå¹³æ¹æ ¹ãèšç®ããããã®ãSQRTãããäžè§é¢æ°ã®ãSINãããCOSããªã©ãå©çšã§ããŸãã
2.3. å¶åŸ¡æ§é : æ¡ä»¶åå²ãšã«ãŒã
ããã°ã©ã ã®æµããå¶åŸ¡ããããã®æ§é ã¯ãäžè¬çã«æ¡ä»¶åå²ãšã«ãŒãã®2ã€ã®ã«ããŽãªã«åããããŸãã
æ¡ä»¶åå²ã¯ããIF…THEN…ELSEããšãã£ã圢ã§è¡šçŸãããç¹å®ã®æ¡ä»¶ãæºããããå Žåã«ã®ã¿ãç¹å®ã®åŠçãè¡ãããã«ããããã®æ§é ã§ããããã«ãããããŒã¿ã®ç¶æ ãå ¥åã«å¿ããŠç°ãªãåŠçãå®è¡ããããšãã§ããŸãã
äžæ¹ãã«ãŒãã¯ç¹°ãè¿ãåãåŠçãè¡ãããã®æ§é ã§ããDO…END DOãããWHILE…END WHILEããšãã£ã圢ã§å©çšãããŸããããã«ãããäžå®ã®æ¡ä»¶äžã§ç¹°ãè¿ãèšç®ãè¡ã£ãããããŒã¿ã®ãªã¹ããé çªã«åŠçããããšã容æã«ãªããŸãã
3. Fortranã®ããã°ã©ã æ§é
ããã°ã©ãã³ã°èšèªã«ãããŠãåãªãèšç®åŒãããŒã¿æäœã ãã§ã¯ãªãããã®å šäœã®æ§é ãããŒãã®é¢ä¿æ§ãéåžžã«éèŠã§ããFortranã«ãããŠãããããã®æ§é ãæŠå¿µãååšããããããã®åœ¹å²ãç解ããããšã§ãããå¹ççã§æè»ãªããã°ã©ã ãæžãããšãã§ããŸãã
3.1. ããã°ã©ã ã®åºæ¬æ§é
Fortranã®ããã°ã©ã ã¯ãåºæ¬çã«ã¯ãPROGRAM…END PROGRAMãã§å²ãŸããéšåã«ã³ãŒããèšè¿°ããŸãããã®äžã«ã¯ãå€æ°ã®å®çŸ©ãèšç®ã®æé ãåºåã®æ¹æ³ãªã©ãããã°ã©ã ã®äž»èŠãªéšåãé 眮ãããŸãã
ãŸããããã°ã©ã å ã§ã¯IMPLICIT NONEãšããæããã°ãã°èŠãããã§ããããããã¯ãå€æ°ã®åãæ瀺çã«å®£èšããå¿ èŠãããããšã瀺ããŠããããšã©ãŒã®åå ãšãªãæªå®çŸ©ã®å€æ°ã®äœ¿çšãé¿ããããã®éèŠãªæ瀺ã§ãã
3.2. ã¢ãžã¥ãŒã«ãšãµãã«ãŒãã³
倧èŠæš¡ãªããã°ã©ã ãè€æ°ã®ããã°ã©ã éã§å ±éã®å€æ°ãæç¶ããå ±æããå Žåãã¢ãžã¥ãŒã«ãšããæ©èœãå©çšããããšãæšå¥šãããŸããã¢ãžã¥ãŒã«ã¯ãå€æ°ãæç¶ãããŸãšããŠäžã€ã®åäœãšããŠç®¡çããããšãã§ããä»ã®ããã°ã©ã ãããç°¡åã«å©çšããããšãã§ããŸãã
äžæ¹ãç¹å®ã®èšç®ãæç¶ããç¹°ãè¿ãå©çšããå Žåã¯ããµãã«ãŒãã³ã䜿çšãããšäŸ¿å©ã§ãããµãã«ãŒãã³ã¯ãäžé£ã®æç¶ããäžã€ã®åäœãšããŠå®çŸ©ããå¿ èŠã«å¿ããŠåŒã³åºããŠå©çšããããšãã§ããŸãã
3.3. å ¥åã»åºåã®æäœ
Fortranããã°ã©ã ã¯ãå€éšã®ããŒã¿ãå ¥åãšããŠèªã¿èŸŒãã ããèšç®çµæãå€éšã«åºåããããšãå€ã ãããŸãããããã®æäœãè¡ãããã«ã¯ãREADãWRITEãšãã£ãåœä»€ã䜿çšãããŸãã
äŸãã°ãããŒããŒãããã®å ¥åãåãåãå Žåã¯ãREAD(*,*) å€æ°åããšãã圢ã§ãèšç®çµæãç»é¢ã«åºåããå Žåã¯ãWRITE(*,*) å€æ°åããšãã圢ã§åœä»€ãèšè¿°ããŸããããã§ã®ã*ãã¯ãæšæºå ¥åãæšæºåºåãæãç¹æ®ãªèšå·ãšããŠäœ¿çšãããŸãã
4. Fortranã§ã®æ°å€èšç®
ããã°ã©ãã³ã°ãšèšãã°ããã®æ žå¿ã«ã¯æ°å€èšç®ã®èœåãæ±ããããŸããFortranã¯ããã®èªçããé«éãªæ°å€èšç®ã®ããã®èšèªãšããŠèšèšãããŠããŸããããã®ã»ã¯ã·ã§ã³ã§ã¯ãFortranã䜿çšããæ°å€èšç®ã®åºæ¬ãããè¡åèšç®ãæé©åãŸã§ã®å¹ åºããããã¯ã«ã€ããŠè§£èª¬ããŸãã
4.1. åºæ¬çãªæ°å€æŒç®
Fortranã«ãããæ°å€æŒç®ã¯ãä»ã®å€ãã®ããã°ã©ãã³ã°èšèªãšåæ§ã«ãå ç®ãæžç®ãä¹ç®ãé€ç®ãªã©ã®åºæ¬çãªæŒç®åã䜿çšããŸãããŸããé«åºŠãªæ°åŠé¢æ°ãäžè§é¢æ°ããµããŒãããŠããŸããäŸãã°ãå¹³æ¹æ ¹ãèšç®ããéã«ã¯ SQRT é¢æ°ããææ°é¢æ°ã䜿çšããå Žå㯠EXP é¢æ°ãå©çšããŸãã
4.2. è¡åèšç®ãšç·åœ¢ä»£æ°
ç§åŠæè¡èšç®ã®äžæ žã«ã¯ãè¡åèšç®ãç·åœ¢ä»£æ°ã®ç¥èãäžå¯æ¬ ã§ããFortranã¯ããããã®èšç®ãé«éã«å®è¡ããããã®è±å¯ãªã©ã€ãã©ãªãåããŠããŸããäŸãã°ãè¡åã®ç©ãéè¡åã®èšç®ãåºæå€åé¡ã®è§£æ³ãªã©ãå€å²ã«ãããèšç®ããµããŒããããŠããŸãã
å ·äœçã«ã¯ãLAPACKãBLASãšãã£ãç·åœ¢ä»£æ°ã©ã€ãã©ãªãåºãå©çšãããŠããããããã®ã©ã€ãã©ãªãå©çšããããšã§ãå¹ççãªè¡åèšç®ãFortranã§å®è£ ããããšãã§ããŸãã
4.3. æ°å€è§£æ³ãšæé©å
æ°å€è§£æ³ã¯ãå ·äœçãªæ°å€ãæ±ããããã®æè¡ãææ³ãæããŸããFortranã«ã¯ããããã®æ°å€è§£æ³ããµããŒãããå€ãã®é¢æ°ãææ³ãå®è£ ãããŠããŸããäŸãã°ãæ¹çšåŒã®æ ¹ãæ±ããããã®ãã¥ãŒãã³æ³ããé¢æ°ã®æå°å€ãæ¢ãããã®æé©åææ³ãªã©ãæäŸãããŠããŸãã
ãããã®æè¡ãå©çšããããšã§ãç§åŠæè¡èšç®ããšã³ãžãã¢ãªã³ã°ã®åé¡ã«å¯Ÿããå ·äœçãªçããå¹çããåŸãããšãã§ããŸããç¹ã«ãçŸä»£ã®è€éãªåé¡ã«å¯Ÿããã¢ãããŒããšããŠãæ°å€è§£æ³ãæé©åæè¡ã®ç¥èã¯éåžžã«äŸ¡å€ããããŸãã
5. Fortranã®é«åºŠãªæ©èœ
Fortranã¯å€ãããååšããããã°ã©ãã³ã°èšèªã§ããäžæ¹ãçŸä»£ã®ã³ã³ãã¥ãŒãã£ã³ã°ã®èŠæ±ã«å¿ããããã®å€ãã®é«åºŠãªæ©èœãæèŒããŠããŸãããã®ã»ã¯ã·ã§ã³ã§ã¯ã䞊ååŠçã®æè¡ãå€éšã©ã€ãã©ãªã®å©çšæ¹æ³ããããŠã¢ãã³Fortranã®ç¹åŸŽãšæ¡åŒµæ©èœã«ã€ããŠè§£èª¬ããŸãã
5.1. 䞊ååŠçãšå¹ççãªèšç®
䞊ååŠçã¯ãçŸä»£ã®é«æ§èœèšç®ã®éµãšãªãæè¡ã§ããFortranã§ã¯ãç¹ã«é«éãªæ°å€èšç®ãç®çãšããŠã䞊ååŠçã®æè¡ãè±å¯ã«ãµããŒããããŠããŸããå€æ žCPUãGPUã掻çšããŠãè€æ°ã®èšç®ãåæã«è¡ãããšã§ãèšç®æéãå€§å¹ ã«ççž®ããããšãå¯èœã§ãã
OpenMPãMPIãšãã£ã䞊ååŠçã©ã€ãã©ãªã¯ãFortranãšã®èŠªåæ§ãé«ãããããã掻çšããããšã§å¹ççãªäžŠåèšç®ãå®çŸã§ããŸãã
5.2. å€éšã©ã€ãã©ãªã®å©çšæ¹æ³
Fortranã®åŒ·åãªç¹ã®äžã€ã¯ãå€éšã©ã€ãã©ãªãšã®é£æºã容æã§ããããšã§ããããã«ãããå°éçãªèšç®ãç¹å®ã®æ©èœãæäŸããã©ã€ãã©ãªãç°¡åã«åã蟌ã¿ãFortranã®ããã°ã©ã å ã§å©çšããããšãã§ããŸãã
äŸãã°ãç·åœ¢ä»£æ°ãçµ±èšèšç®ãå¹çããè¡ãããã®ã©ã€ãã©ãªãå€æ°ååšãããããã掻çšããããšã§é«åºŠãªèšç®ã容æã«å®è£ ããããšãã§ããŸãã
5.3. ã¢ãã³Fortranã®ç¹åŸŽãšæ¡åŒµæ©èœ
è¿å¹Žã®Fortranã¯ãå€ãããŒãžã§ã³ã®ã€ã¡ãŒãžãäžæ°ãããå€ãã®æ©èœãè¿œå ãããŠããŸãããããã®æ©èœããã¢ãã³FortranããšåŒã¶ããšãäžè¬çã§ãã
ã¢ãã³Fortranã®ç¹åŸŽã«ã¯ããªããžã§ã¯ãæåããã°ã©ãã³ã°ã®ãµããŒããåçãªã¡ã¢ãªç¢ºä¿ããŸãé«åºŠãªããŒã¿æ§é ãªã©ããããŸããããã«ãããããçŽæçã§å¹ççãªããã°ã©ã ã®èšèšãšå®è£ ãå¯èœãšãªããŸããã
ãŸããã¢ãã³Fortranã®æ¡åŒµæ©èœãšããŠãå é²çãªãšã©ãŒãã³ããªã³ã°ããã¢ãžã¥ãŒã«åãããããã°ã©ã æ§é ãªã©ãå®è£ ãããŠããããããã掻çšããããšã§ãããå ç¢ã§ã¡ã³ããã³ã¹ããããã³ãŒãã®éçºãå¯èœãšãªã£ãŠããŸãã
6. å®è·µçãªFortranããã°ã©ã ã®äŸ
Fortranã®åºæ¬çãªæ©èœãé«åºŠãªæè¡ãåŠãã åŸãå ·äœçãªããã°ã©ã ã®äŸãéããŠå®è·µçãªå¿çšãç解ããããšãéèŠã§ãããã®ã»ã¯ã·ã§ã³ã§ã¯ãã·ãã¥ã¬ãŒã·ã§ã³ãããŒã¿è§£æããããŠå®äžçã®åé¡è§£æ±ºã®ããã®Fortranã®æŽ»çšäŸãåãäžããŸãã
6.1. ç°¡åãªã·ãã¥ã¬ãŒã·ã§ã³ããã°ã©ã
ã·ãã¥ã¬ãŒã·ã§ã³ã¯ç§åŠãå·¥åŠã®åéã§åºãå©çšãããæè¡ã§ããFortranã¯ããã®èšç®é床ã®é«ãããå€ãã®ã·ãã¥ã¬ãŒã·ã§ã³ã§å©çšãããŸããäŸãšããŠãç©ççŸè±¡ã®ã·ãã¥ã¬ãŒã·ã§ã³ãªã©ãæããããŸãã
ç°¡åãªã·ãã¥ã¬ãŒã·ã§ã³ããã°ã©ã ã®äžäŸãšããŠã質ç¹ã®éåãã·ãã¥ã¬ãŒãããããã°ã©ã ãèããããŸãããã®ããã°ã©ã ã§ã¯ãåæäœçœ®ãåé床ãå ¥åãšããŠåãåããäžå®ã®æéçµéåŸã®è³ªç¹ã®äœçœ®ãåºåãšããŠæäŸããŸãã
6.2. ããŒã¿è§£æãšå¯èŠå
Fortranã¯ã倧éã®ããŒã¿ãé«éã«åŠçããèœåãããããŒã¿è§£æã®åéã§ã匷ã¿ãæã£ãŠããŸããããã«ãå€éšã©ã€ãã©ãªãå©çšããããšã§ãããŒã¿ã®å¯èŠåãç°¡åã«è¡ããŸãã
äŸãã°ãæ°è±¡ããŒã¿ãå®éšçµæãªã©ã®å€§éã®ããŒã¿ã解æããã°ã©ããããŒãããããšããŠå¯èŠåããããšãå¯èœã§ããããã«ãããããŒã¿ã®èåŸã«é ãããã¬ã³ãããã¿ãŒã³ãæããã«ããããšãã§ããŸãã
6.3. å®äžçã®åé¡è§£æ±ºã®ããã®Fortran掻çšäŸ
Fortranã¯ãå®äžçã®æ§ã ãªåé¡ã解決ããããã®ããŒã«ãšããŠãåºã掻çšãããŠããŸãããšã³ãžãã¢ãªã³ã°ãæ°è±¡äºå ±ãå»çãéèãªã©ãå€å²ã«ãããåéã§ã®å¿çšãèããããŸãã
äŸãšããŠã建ç¯ç©ã®æ§é 解æã§ã¯ãFortranãçšããŠæ§é ã®å®å šæ§ãæ¯åç¹æ§ãè©äŸ¡ããããšãäžè¬çã§ãããŸããæ°è±¡äºå ±ã®åéã§ã¯ã倧æ°ã®åããæ°æž©ã®å€åãäºæž¬ããããã®è€éãªèšç®ãå¿ èŠãšãããFortranããã®é«éãªèšç®èœåã§è²¢ç®ããŠããŸãã
7. Fortranã®çŸåšãšæªæ¥
Fortranã¯ãèšç®æ©ç§åŠã®é»ææããçŸåšã«ãããŠãç§åŠæè¡èšç®ã®åéã§ã®äž»èŠãªåœ¹å²ãæãããŠããŸããããã®ã»ã¯ã·ã§ã³ã§ã¯ãFortranãçŸä»£ã®ç§åŠæè¡ã«ã©ã®ãããªåœ¹å²ãæãããŠããã®ãããããŠå°æ¥ã®å±æã«ã€ããŠèå¯ããŸãã
7.1. çŸä»£ã®ç§åŠæè¡ã«ãããFortranã®åœ¹å²
çŸä»£ã®ç§åŠæè¡èšç®ã§ã¯ãFortranã¯äŸç¶ãšããŠäžå¿çãªåœ¹å²ãæãããŠããŸããç¹ã«ãé«æ§èœèšç®ãæ°å€è§£æã®åéã§ã¯ãFortranã®å¹ççãªèšç®èœåãè©äŸ¡ãããŠããŸãããŸããæ¢åã®å€ãã®ç§åŠæè¡ãœãããŠã§ã¢ãFortranã§æžãããŠãããããç¶ç¶çãªã¡ã³ããã³ã¹ãã¢ããããŒããæ±ããããŸãã
7.2. Fortranã®ã³ãã¥ããã£ãšåŠç¿ãªãœãŒã¹
å€ãã®ããã°ã©ãã³ã°èšèªãç»å ŽããŠããäžãFortranã¯å€å žçãªèšèªãšããŠäœçœ®ã¥ããããããšãå€ãã§ãããããã掻çºãªã³ãã¥ããã£ãååšããæ°ããããŒãžã§ã³ã®Fortranãé¢é£ããããŒã«ãã©ã€ãã©ãªãç¶ç¶çã«éçºãããŠããŸãã
ãŸããåŠç¿ãªãœãŒã¹ã«é¢ããŠãããªã³ã©ã€ã³ã§ã®ãã¥ãŒããªã¢ã«ãæžç±ãã¯ãŒã¯ã·ã§ãããªã©ãå€å²ã«ãããæ å ±æºãå©çšã§ããŸããããã«ãããæ°ããäžä»£ã®éçºè ãFortranãåŠã¶æ©äŒãæã€ããšãã§ããŸãã
7.3. Fortranã®æªæ¥å±æ
Fortranã®å°æ¥ã«ã€ããŠã¯ããã®é«éãªèšç®èœåãšæ¢åã®å€§éã®ã³ãŒãããŒã¹ãèæ ®ãããšãä»åŸãç§åŠæè¡èšç®ã®åéã§ã®å©çšã¯ç¶ããšèããããŸããããããã¢ãã³ãªããã°ã©ãã³ã°æè¡ãæ°ããèšç®ã¢ãŒããã¯ãã£ã®åºçŸã«ãããFortranãé²åãç¶ããå¿ èŠããããŸãã
å ·äœçã«ã¯ã䞊åèšç®ãã¯ã©ãŠãã³ã³ãã¥ãŒãã£ã³ã°ãéåã³ã³ãã¥ãŒãã£ã³ã°ãªã©ã®æ°ããæè¡é åãžã®å¯Ÿå¿ãæ±ããããã§ãããããã®ãããªæè¡çãªææŠãä¹ãè¶ããFortranãæç¶çã«å©çšããç¶ããããã«ã¯ãã³ãã¥ããã£ã®æŽ»çºãªæŽ»åãšç¶ç¶çãªæè¡é©æ°ãæ¬ ãããŸããã