2011-11-01ãã1ã¶æéã®è¨äºä¸è¦§
é åã®å²ãå½ã¦ã« Fortran2008 ã® source ãªãã·ã§ã³ã使ã£ã¦ã¿ã¾ããã pivotã使ãã¨ç²¾åº¦ãä¸ããã¾ãã å®è¡çµæ ã½ã¼ã¹ã»ããã°ã©ã module m_mat implicit none integer, parameter :: kd = kind(0.0d0) contains subroutine lu2(a, b, x) real(kd), inâ¦
ããã°ã©ã ä¸ã§ï¼ããï¼ï¼ã¾ã§ã®æ´æ°åã欲ãããªããã¨ãããã¾ãã[(i, i = 1, 10)]ã¨é åçæåã§ã¤ããã®ããæ¨ã¦å¤æ° i ã宣è¨ããªãã¨ãããªãã®ã§é¢åã§ããHaskell ã®ããã« 1..10 ã®ããã«çæã§ããã¨ããããã®ã§ãããFortranãªãã¦ã¼ã¶ã¼å®ç¾©æ¼â¦
åºæ¬çã«ã¬ã¦ã¹æ¶å»æ³ã¨åãæ¹å¼ã«ãªã£ã¦ãã¾ãã å®è¡çµæ LUå解ã§ã¯ç²¾åº¦ãããæªããªãããã§ãã Elizaâs father=Alfred P.DoolittleStation master=AlfeeYoung Freddy=Sherlock Holmes ã½ã¼ã¹ã»ããã°ã©ã ç°¡åã«æ¸ããã®ããããããã»ã¨ãã©å®è³ªï¼ãâ¦
ãã¨ãã¨ã®è¡åãä¸æ¸ãããã¦ãã¾ãã®ã§ãä¸éãµãã«ã¼ãã³ãç½®ãã¦ä½æ¥è¡åãªã©ã確ä¿ãã¾ããæ¢è»¸ï¼pivot)ç¨ã®ãã¯ãã«ãããã§ç¨æãã¾ãã å®è¡çµæ 500*500ã®è¡åã®ç·åæ¹ç¨å¼ã20å解ãã¦æ®å·®ã®äºä¹å¹³åãåºåãããããæ°å¤èª¤å·®ç¨åº¦ã®ã¾ã§æ±ãããã¦â¦
ç·åæ¹ç¨å¼ Ax=b ãã¬ã¦ã¹æ¶å»æ³ã§è§£ãããã°ã©ã ãFortran90 ã ã¨å¼ããã®ã¾ã¾ããã°ã©ã ã«ç´ãã°ããã®ã§æ¥½ãã§ãPivotting ãå ¥ããã¨ããè¦è¦ãããªãã並åè¨ç®æ©ã§ã¯ LUå解㧠Croutæ³ãã Gauss æ¶å»æ³ã®æ¹ãæå©ã«ãªããã¨ãããã¨ãããã¯ãã«æ©å ¨â¦
ãã¼ã¬ã³ãåã®é¢æ°ãâ1ãã1ã®ç¯å²ã§ãããã¤ãã®åå²æ°ã«å¯¾ãã¦å°å½¢å ¬å¼ã§æ°å¤ç©åãã¾ããåºã¦ããç©åå¤ããªãã£ã¼ãã½ã³è£å¤ããã¦æ¹åãã¾ãããã®çµæã¯çå±ä¸ã·ã³ãã½ã³æ³ã«ãã£ã¦æ±ãããã®ã¨ä¸è´ãã¾ãã å®è¡çµæ ã¾ããã£ã¨ãç´°ããåå²æ°ã§ã®åº§â¦
åå¾ï¼ã®ï¼ï¼ï¼åä¸ã«å ¥ããå ¥ããªããã§åå¨çãæ±ããå¤å ¸çãªä¾ã§ããä¸åä¸åã®è©¦è¡ããã¦ããããã©ããçµã¿è¾¼ã¿ä¹±æ°ãã¡ããã¨ãã¦ãããã¯ä¸æï½ è©¦è¡åæ°Nã«å¯¾ãã¦ããããã 1/sqrt(N) ã«æ¯ä¾ãã¦èª¤å·®ãæ¸ãã¯ããªã®ã§ç®å®ã®æ°åãåºåãã¦ãã¾ããâ¦
[Fortran95]ã¡ã¢å¸³ module m_stamp implicit none contains subroutine stamp(text) character (len = *), intent(in), optional :: text character (len = 40) :: buff character (len = 10) :: date, time real, save :: time0, time1 logical, save :: qfâ¦
éä¸çµéã¡ã¢ éå»ã®ã«ã¼ãã³æµç¨ã§ä¹±ãæ°å³ã ã³ã³ã½ã¼ã«ããã°ã©ã ããå¼ã³åºãã¦ãã³ã³ã½ã¼ã«ã§å ¥åºåããªããç°¡åãªäºæ¬¡å ã°ã©ããæãã¦ãããæå°é度ã®ç°¡æ½ãªãµãã«ã¼ãã³éãä½ãããã§ãã ã½ã¼ã¹ã»ããã°ã©ã Fortran2008 ã§ã¯ããã»ã«é¢æ°ã誤差â¦
å·¦ã¯ãªãã¯ã§ç¿æãå³ã¯ãªãã¯ã§çµäºãï¼æç®ã«ç½ç´ãåºã¾ãã ã½ã¼ã¹ã»ããã°ã©ã ä½ãèããªãã§æµç¨ããã®ã§ä¹±ãã¦ããã module m_sub use ifwina use kernel32 type :: t_wnd integer (HANDLE) :: hWnd integer (HANDLE) :: hDC end type type (t_wnd),â¦
éãæã¡ã使ã£ã¦ããçµµã ã½ã¼ã¹ã»ããã°ã©ã module uho_win use ifwina use ifwinty use ifmt, only : RTL_CRITICAL_SECTION implicit none type :: t_wnd integer (HANDLE) :: hWnd integer (HANDLE) :: hDC integer (LPINT) :: hThread integer :: id iâ¦
ã©ã¤ã³ããªã³ã¿ã®éãæã¡ã使ã£ã¦ããã®ã§ãWindowsã®ã°ã©ãã£ãã¯ã§ã©ã¤ã³ããªã³ã¿åä½ãåç¾ããããã«ä½ã£ã¦ã¿ã試ããããå°ãå®æ度ãããããã ã©ã¤ã³ããªã³ã¿åºåï¼Î± ã¹ãã¼ãã¼ã«ã¬ã³ãã¼ãã¼ã¿ã¯å¥ããã°ã©ã ãéå»æ¥è¨åç §ã ãã¹ã æªå®æâ MODâ¦
OOPè¨èªã®å¸¸èã«çãã®ã§ãã³ã³ã¹ãã©ã¯ã¿ã»ãã¹ãã©ã¯ã¿ãã©ãããã®ãè¯ãã®ãããåããã¾ããããã¹ãã©ã¯ã¿ãäºåå¼ã°ãã¦ãã¾ãããä¸åç®ã¯ã³ã³ã¹ãã©ã¯ã¿å ã§ä»®çæãããã®ãç ´æ£ãããã¨ããã§åºã¦ããã®ããããï¼ãã¹ãã©ã¯ã¿ã¯F2003è¦æ ¼ã®finalâ¦
sourcelair ã¨ãããªã³ã©ã¤ã³å®è¡ç°å¢ãéçºä¸ã®ããã§ãFortranã使ããããã§ããç»é²ããã¨ããã¡ã¤ã«ã®ä¿åãªã©ãã§ãã¾ããä»ã®ã¨ããè¨å®ãã¹ã Module ã使ããªãããã§ããH23-11-08 ã¡ã¼ã«ãã¦ã¿ãã¨ãããä»ã®ã¨ããå ¨è¨èªã§ Module ã¯ä½¿ããªããâ¦
æ¥æ¬ãããã¤ã±ãã®ãåããã¾ããããStieve Lionel ã® webinar ãè¦ãã¨ãIntel Fortran ã®æ´æ°ã©ã¤ã»ã³ã¹ã2å²å¼ãã§è²·ããããã§ããã»ããã¼ã¯ããããã http://t.co/JJJ5x8eJ æ»èãæªãï½ TechXtendãããã¹ã¿ã³ã«èãããç§ã¯ç³è³ï½
ç´ æ°ãï½åãã¨ãããã¬ã¦ã¹ã®ç´ æ°å®çã«åºã¥ãã¦å¿ è¦ãªã¨ã©ãã¹ããã¹ã®ç¯©ã®å¤§ãããæ¨æ¸¬ãããæ±ããããããï½åã®ç´ æ°ã®é åããæåã®ï½åãåãã ãããªãã·ã§ã³ã¨ã㦠/assume:realloc_lhs ãå¿ è¦ãæ±ããç´ æ°ã®æ°ã大ããå ´åã«ã¯ãªãã·ã§ã³ /heap-aâ¦