1 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2014/10/13(ŒŽ) 15:13:20.18 ID:yFRqmPNp.net] ¡ŒöŽ® ttp://www.microsoft.com/japan/msdn/vstudio/default.aspx ¡‘OƒXƒŒ Visual Studio 2008 Part 21 peace.2ch.net/test/read.cgi/tech/1290969016/ ¡ƒŠƒ“ƒN Visual Studio 2008‚É“‹Ú‚³‚ꂽ17‚ÌV‹@”\ ttp://www.atmarkit.co.jp/fdotnet/special/visualstudio2008_01/visualstudio2008_01_01.html 5000ŒÂ‚̃oƒO‚Æí‚Á‚½AMS‚ªuVisual Studio 2008vRTMo‰× ttp://www.atmarkit.co.jp/news/200711/20/vs.html ¡ŠÖ˜A Visual Studio 2013 part4 peace.2ch.net/test/read.cgi/tech/1404333757/ Visual Studio 2012 Part8 peace.2ch.net/test/read.cgi/tech/1392639689/ Visual Studio 2010 Part21 peace.2ch.net/test/read.cgi/tech/1412136476/ Visual Studio 2005 Part 27 peace.2ch.net/test/read.cgi/tech/1291513609/ ‚»‚Ì‘¼ƒeƒ“ƒvƒŒ>>2-5
152 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/01/20(“y) 23:47:48.29 ID:bSTKludV.net] ‚Ü‚¾ƒJƒXƒ^ƒ€ƒrƒ‹ƒh‚ɂ͑g‚Ýž‚ñ‚Å‚¢‚È‚¢‚ªAƒXƒNƒŠƒvƒg‚ð쬂µA“®ì‚·‚邱‚Æ‚ðŠm”F‚µ‚½B ’mŒb‚ði‚Á‚Ä‚‚ꂽl‚Í‚ ‚肪‚Æ‚¤BŒ»Ý‚̉ðŒˆô‚͈ȉºB E#define LAMBDA ‚ŃCƒ“ƒ‰ƒCƒ“‚Ì“WŠJ‚ðs‚¤B EƒNƒ‰ƒ
153 –¼‘OFX錾•”‚̓XƒNƒŠƒvƒg‚Å쬂µA‚±‚ê‚ðinclude‚·‚éB VS2017‚Éã‚°‚Ä‚àLAMBDAƒ}ƒNƒéŒ¾•”‚¾‚¯‚Ì•ÏX(1s)‚Åςޗ\’è‚Ȃ̂ÅA‚Ü‚ ‚Ü‚ ‚©‚ÆB ‚Æ‚è‚ ‚¦‚¸‚±‚ê‚Å—lŽqŒ©‚µ‚Ü‚·B [] [‚±‚±‰ó‚ê‚Ă܂·]
154 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2018/04/10(‰Î) 07:51:46.77 ID:25Me0atb.net] ÅI—ñŽÔ‚Éæ‚è’x‚ê‚é‚È VC++2008ExpressƒTƒ|[ƒgØ‚ê‚܂ł ‚Æ1“úB 2018”N4ŒŽ11“úi…j‚ŃTƒ|[ƒgI—¹B C³ƒpƒbƒ`‚Ì“üŽè‚ÌI‚í‚Á‚ĂȂ¢l‚Í–Y‚ê‚È‚¢‚悤‚ÉB
155 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2018/04/10(‰Î) 14:36:15.41 ID:JIHFaEMv.net] GJ
156 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2018/04/11(…) 01:33:09.61 ID:PizNPnSY.net] •KŽ€‚¾‚È‚Ÿ‚—
157 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/04/11(…) 13:05:30.31 ID:Gexxa1fK.net] https://forest.watch.impress.co.jp/docs/news/1116235.html uMicrosoft Visual Studio 2008v‚̃Tƒ|[ƒg‚ªI—¹ `–³ž”ÅuExpress Editionv‚à uMicrosoft SQL Server Compact 3.5v‚Ȃǂà‘ÎÛ
158 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2018/04/11(…) 13:06:06.48 ID:bG1z7LTF.net] ‚ ‚ I‚í‚Á‚½‚© ‰³‚Å‚µ‚½
159 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2018/04/11(…) 13:26:11.45 ID:bG1z7LTF.net] ‚Ä‚“‚”
160 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2018/04/12(–Ø) 14:51:25.15 ID:nqXIWDjI.net] s ŒãŒpŠJ”ŠÂ‹«‚Ì‚²ˆÄ“à t LinuxMint‚̃_ƒEƒ“ƒ[ƒh‚Í‚±‚¿‚ç‚©‚çB Main Page - Linux Mint https://linuxmint.com/ https://linuxmint.com/download.php --------- AGK–³—¿ŽŽ—p”ł̔z•zŠJŽn(ƒŠƒ“ƒNæ‚ÉWindows¤Mac¤Linux”ł̃tƒ@ƒCƒ‹‚ª’¼Ú’u‚¢‚Ä‚ ‚é) AppGameKit - Free Trial Version https://www.appgamekit.com/trial –³—¿ŽŽ—p”Å AppGameKit–³—¿ƒgƒ‰ƒCƒAƒ‹”łͤAppGameKit‚ÌŽå—v‚ȗ̈悷‚ׂĂɃAƒNƒZƒX‚Å‚«‚邽‚ߤ Š®‘S‚É•]‰¿‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·¡Š®‘S”ł̗L—¿”Å‚É‚Í¤ŽŸ‚ÌŽå—v‹@”\‚ªŠÜ‚Ü‚ê‚Ä‚¢‚Ü‚·¡ ¥ Android¤iOS¤HTML5‚ɃvƒƒWƒFƒNƒg‚ðƒGƒNƒXƒ|[ƒg‚·‚é ¥ ƒAƒvƒŠ‚ðƒfƒoƒCƒX‚É’¼Úƒuƒ[ƒhƒLƒƒƒXƒg‚·‚é ¥ ƒRƒ“ƒpƒCƒ‹‚³‚ꂽƒvƒƒWƒFƒNƒg‚©‚çƒEƒH[ƒ^[ƒ}[ƒN‚ð휂·‚é
161 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2018/04/16(ŒŽ) 00:56:57.36 ID:CadfvnK3.net] Wine‚ÅPassmark‚ÆHDbench‚ðŽŽ‚µ‚½‚Æ‚±‚ëAƒVƒ“ƒOƒ‹ƒXƒŒƒbƒh«”\‚ÍWindows‚æ‚èŽáб‚‚Aƒ}ƒ‹ƒ`ƒRƒA«”\‚Í”¼•ª’ö“x‚É—¯‚Ü‚Á‚½B ‚¨‚»‚ç‚Wine“à•”ˆ—‚Ì“s‡‚ÆŒ¾‚¤‚±‚Ƃɂ— ‚Ü‚½ADirectXƒeƒXƒg‚Í’Ê‚ç‚È‚©‚Á‚½BGDIƒNƒ‰ƒX‚Ì‚ÝB
162 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2018/04/22(“ú) 03:49:49.80 ID:CAx4oxnE.net] c‚Á‚ÄŒ¾‚¤–ó‚ÅA‘‘¬Linux‚̃pƒtƒH[ƒ}ƒ“ƒXƒeƒXƒgB 64x64ƒsƒNƒZƒ‹‚Ì2DƒXƒvƒ‰ƒCƒg‚Ì•\ަ–‡”‚ðƒJƒEƒ“ƒg‚µ‚ÄAƒpƒtƒH[ƒ}ƒ“ƒX‚ðŒv‘ª‚µ‚Ă݂悤B ƒ_ƒEƒ“ƒ[ƒh‚͈ȉº‚ÌƒŠƒ“ƒN‚©‚ç‚Ç‚¤‚¼B upload.saloon.jp/src/up27011.zip Firefoxƒuƒ‰ƒEƒU‚̉Eã‚Ƀ_ƒEƒ“ƒ[ƒhƒ}[ƒNi«j‚Ì•t‚¢‚½ƒAƒCƒRƒ“‚ðƒNƒŠƒbƒN‚µ‚ÄAƒtƒ@ƒCƒ‹ ƒAƒCƒRƒ“‚ðƒNƒŠƒbƒN‚·‚邯Azipƒtƒ@ƒCƒ‹‚Ì“ü‚Á‚½ƒtƒHƒ‹ƒ_‚ª•\ަ‚³‚ê‚é‚Ì‚ÅA‰EƒNƒŠƒbƒN‚µ‚Ä u Extract Here v ‚ð‘I‚ÔB ŽŸ‚ÉAu agk_sample v ‚ÆŒ¾‚¤ƒtƒHƒ‹ƒ_‚ªì¬‚³‚ê‚é‚Ì‚ÅAƒ_ƒuƒ‹ƒNƒŠƒbƒN‚·‚éB ƒtƒHƒ‹ƒ_‚Ì’†‚É u abc v ‚ÆŒ¾‚¤Šg’£Žq‚̂Ȃ¢ƒtƒ@ƒCƒ‹Au media v ‚ÆŒ¾‚¤ƒ‰ƒ“ƒ^ƒCƒ€‚Ì“ü‚Á‚½ ƒtƒHƒ‹ƒ_‚ªì¬‚³‚ê‚Ä‚¢‚éB u abc v ‚ÆŒ¾‚¤Šg’£Žq‚̂Ȃ¢ƒtƒ@ƒCƒ‹‚ªAŽÀsƒtƒ@ƒCƒ‹‚ÅA‚±‚ê‚ð–À‚킸ƒ_ƒuƒ‹ƒNƒŠƒbƒN‚·‚ê ‚Î‚æ‚¢‚— ‚¾‚¢‚½‚¢2•ª‚®‚ç‚¢‚ÅÅ‘å•\ަ–‡”‚ªˆÀ’è‚·‚éB ƒvƒƒOƒ‰ƒ€‚ÌI—¹‚Í [ ESC ] ƒL[B Celeron G1820 + Intel HD–³ˆó ‚Å1500–‡’ö“xB
163 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2018/05/23(…) 19:42:34.90 ID:Au5e7VGg.net] –l‚Ì’m‚臂¢‚Ì’m‚臂¢‚ª‚Å‚«‚½ƒpƒ\ƒRƒ“ˆê‘ä‚Å‚¨‹àŽ‚¿‚ɂȂê‚é‚â‚è•û –ð‚É—§‚‚©‚à‚µ‚ê‚Ü‚¹‚ñ ƒO[ƒOƒ‹‚ÅŒŸõ‚·‚邯‚¢‚¢‚©‚àwƒlƒbƒg‚ʼn҂®•û–@@ƒ‚ƒjƒAƒŒƒtƒkƒmx CRP7I
164 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/05/24(–Ø) 10:53:48.52 ID:cPlRxlDn.net] CRP7I
165 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2018/05/25(‹à) 19:20:37.97 ID:TsdeULHr.net] ‚ł͂ł͂— Intel Pentium G5 CoffeeLake ‘‡ƒXƒŒ anago.open 2ch.net/test/read.cgi/jisaku/1526884213/
166 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2018/07/04(…) 22:48:21.01 ID:gFgZc5FG.net] TJH
167 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/07/06(‹à) 12:24:57.09 ID:uTPDH9XV.net] TJH
168 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/08/23(–Ø) 09:04:57.51 ID:by5uxKdK.net] VC9 SP1 Hotfix For The vector<function<FT>> Crash ‚ªƒ_ƒEƒ“ƒ[ƒh‚Å‚«‚È‚¢‚̂ł·‚ªA ‚ǂȂ½‚©ƒAƒbƒvƒ[ƒh‚µ‚Ä‚¢‚½‚¾‚¯‚È‚¢‚Å‚µ‚傤‚©H https://blogs.msdn.microsoft.com/vcblog/2008/12/17/vc9-sp1-hotfix-for-the-vectorfunctionft-crash/#9234449
169 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/13(–Ø) 23:46:46.29 ID:MPXnmy/B.net] ‹N“®‚ÌŽd•û‚Å•‚“®¬”“_‰‰ŽZ‚Ɍ뷂ª”¶‚·‚é‚Ì‚¾‚¯‚ÇA——R‚ª•ª‚©‚él‹‚Ü‚·‚©H ¡‚̂Ƃ±‚ëA A. Debugƒrƒ‹ƒh‚̃oƒCƒiƒŠ‚ðƒ_ƒuƒ‹ƒNƒŠƒbƒN‚µ‚Ä‹N“® B. Releaseƒrƒ‹ƒh‚̃oƒCƒiƒŠ‚ðƒ_ƒuƒ‹ƒNƒŠƒbƒN‚Å‹N“® C. Debugƒrƒ‹ƒh‚Ü‚½‚ÍReleaseƒrƒ‹ƒh‚ÅF5‚Å‹N“® ‚Ì3Ží—Þo—ˆ‚Ä‚éB‚»‚ꂼ‚ê”÷–‚Ȍ뷂¾B(double‚̉ºˆÊƒrƒbƒgj A‚ÆB‚̈Ⴂ‚ɂ‚¢‚Ă͒ú‚߂Ă¢‚½‚Ì‚¾‚ªA(‚È‚¨—¼•û‚Æ‚à/fp:precise) ŽÀ‚ÍC‚à‚ ‚邯‹C‚¢‚Ä‚µ‚Ü‚Á‚½B ‚È‚¨AƒoƒCƒiƒŠ‚ðƒ_ƒuƒ‹ƒNƒŠƒbƒN‚µ‚Ä‹N“®A‚»‚ê‚ÉIDE‚ðƒAƒ^ƒbƒ`‚µ‚Ä‚àŒ‹‰Ê‚͕ςí‚ç‚È‚¢B ‚»‚ꂼ‚êA‚Ü‚½‚ÍC‚ªo‚éB ‰½‚©IDE‚ÌÝ’è‚ðŠÔˆá‚Á‚Ä‚¢‚é‚Ì‚¾‚ÆŽv‚¤‚Ì‚¾‚¯‚Çc
170 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2018/09/14(‹à) 12:43:29.26 ID:5xDSXwp0.net] 0fill‚µ‚ĂȂ¢‚ñ‚¾‚ë
171 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/14(‹à) 13:05:12.93 ID:XcO59d50.net] ÄŒ»«‚Í100%‚Ȃ̂ÅA‰Šú‰»‚̃~ƒX‚ł͂Ȃ¢Bi‚ÆŽv‚Á‚Ä‚¢‚éj ‰‰ŽZ“r’†‚ÌŒ‹‰Ê‚ð double ‚È‚ç16i16Œ…‚ŃeƒLƒXƒg‚Ƀ_ƒ“ƒv‚µ‚Ä‚¢‚éB ”’l‚¾‚¯‚ł͂Ȃ¢‚ª500MB’ö“x‚̃tƒ@ƒCƒ‹‚ªo—Í‚³‚êA diff ‚ðŽæ‚é‚±‚Ƃɂæ‚背ƒOƒŒƒbƒVƒ‡ƒ“ƒeƒXƒg‚ð‚µ‚Ä‚¢‚éB ¡‚̂Ƃ±‚ëAA/B/C‚Ì3Ží—Þ‚µ‚©o‚È‚¢B ‰Šú‰»–Y‚ê‚Ȃ炱‚¤‚͂Ȃç‚È‚¢B(‚Í‚¸)
172 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/14(‹à) 13:09:49.07 ID:Qw2nkUqU.net] MS‚̃Gƒ“ƒWƒjƒA‚ðM‚¶‚é‚©AÄŒ»‰Â”\‚ȃ\[ƒX‚àŽ¦‚³‚¸–â‘肾–â‘肾Œ¾‚Á‚Ă邯‚±‚Ì”n‚Ìœ‚Æ‚à’m‚ê‚È‚¢“z‚ð M‚¶‚é‚©‚Á‚ÄŒ¾‚í‚ꂽ‚ç–À‚¤‚±‚ƂȂ‘OŽÒ‚ðM‚¶‚éw
173 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/14(‹à) 14:43:10.29 ID:XcO59d50.net] ‰´‚ÍIDE‚̃oƒO‚¾‚Ƃ͎v‚Á‚Ä‚¢‚È‚¢B ‰½‚©IDE‚Ìݒ肪‚ ‚Á‚ÄA‰´‚ª‚»‚ê‚ð“K؂ɂâ‚Á‚ĂȂ¢‚Ì‚¾‚ÆŽv‚Á‚Ä‚¢‚éB FXŒ©‚½ŒÀ‚èA‰´‚Í /fp:precise ‚µ‚©”Œ©o—ˆ‚È‚©‚Á‚½B ‚½‚¾‚µ‚±‚ê‚͈ꉞ“KØ‚Éݒ肳‚ê‚Ä‚¢‚éB ‘¼‚ɂȂ¢‚©‚ÈH‚Æ‚¢‚¤‚±‚ÆB
174 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2018/09/14(‹à) 15:49:43.21 ID:cyu8WCuc.net] IDE‚¶‚á‚È‚‚ăRƒ}ƒ“ƒhƒ‰ƒCƒ“‚©‚çƒRƒ“ƒpƒCƒ‰‚Å’¼ÚƒRƒ“ƒpƒCƒ‹‚µ‚Ä‚àˆêH
175 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/14(‹à) 16:14:47.18 ID:XcO59d50.net] ‚Ç‚¤‚¢‚¤ˆÓ–¡H (‚Ç‚ê‚Æ‚Ç‚ê‚̈Ⴂ‚ɃtƒH[ƒJƒX‚µ‚ë‚ÆH) ‰´‚̓oƒCƒiƒŠ‚É–â‘肪‚ ‚邯‚ÍŽv‚Á‚Ä‚¢‚È‚¢B ‰½‚ç‚©‚Ì——R‚Å•‚“®¬”“_‚̃‚[ƒh‚ªØ‚è‘Ö‚¦‚ç‚ꂽ‚肵‚ĂȂ¢‚©‚ð‹^‚Á‚Ä‚éB ‚¾‚©‚çIDE‚ÌÝ’è‚Æ‚©A‚»‚Á‚¿‚ðŒ©‚Ä‚éB Release/Debug‚̃oƒCƒiƒŠ‚Í“–‚½‚è‘O‚¾‚ªˆá‚Á‚Ä‚éB /O2‚Æ/Od“™‚¾B ‚½‚¾‚»‚ê‚Å‚à /fp:precise ‚Ìê‡‚Í •‚“®¬”“_‚̉‰ŽZ‡˜‚ð“ü‚ê‘Ö‚¦‚È‚¢”͈͂ÅÅ“K‰»‚³‚ê‚鎖‚ɂȂÁ‚Ä‚¢‚éB ‹tƒAƒZƒ“ƒuƒ‰‚ÍŒ©‚½‚¯‚Ç‚¿‚å‚Á‚ƃOƒ`ƒƒƒOƒ`ƒƒ‚·‚¬‚Ă悕ª‚©‚ç‚È‚©‚Á‚½B (Œ©‚½”͈͂ł͉‰ŽZ‡˜‚Ì“ü‚ê‘Ö‚¦‚͂Ȃ¢‚悤‚ÉŽv‚¦‚½j
176 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/14(‹à) 16:25:44.73 ID:2giHKuhd.net]
177 –¼‘OF="reply_link">>>167 doubleŒ^‚ðŽg‚Á‚Ä‚¢‚Ä‚àASSE‚ÌXMMƒŒƒWƒXƒ^‚ȂǂðŽg‚¤ê‡AÌ‚Ìfld, fst, fmul‚ȂǂðŽg‚¤ê‡‚æ‚èŠî–{“I‚ɂ͸“x‚ª—Ž‚¿‚éB ŠÛ‚߂̕ûŒü‚àŽlŽÌŒÜ“üA³•‰‚Ç‚¿‚ç‚©‚Ì•ûŒü‚Ö‚ÌŠÛ‚ß‚âØ‚èŽÌ‚ĂȂǂ̑¼AŠm‚©A¸“x‚ð‹C‚É‚µ‚È‚¢A‚È‚ñ‚ăIƒvƒVƒ‡ƒ“‚à‚ ‚Á‚½‹C‚ª‚·‚éBƒQ[ƒ€‚ÅŽg‚¤‚±‚Æ‚ð‘z’肵‚Ä‚¢‚é‚炵‚¢B SSE—p‚ÉÅ“K‰»‚ðŠ|‚¯‚邯A‘¬“x‚Íオ‚邪¸“x‚Í—Ž‚¿‚é‚©‚à’m‚ê‚È‚¢B [] [‚±‚±‰ó‚ê‚Ă܂·]
178 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/14(‹à) 17:45:18.51 ID:XcO59d50.net] >>174 ¡‚͈̔͂łÍSSE‚ÍŽg‚Á‚Ä‚¢‚È‚¢i‚Í‚¸) uŠg’£–½—߃Zƒbƒg‚ð—LŒø‚É‚·‚év‚ÍuÝ’è–³‚µv‚ɂȂÁ‚Ä‚¢‚éBi‘½•ªƒfƒtƒH‚̂܂Üj Œ©‚½–Ú‘S•”x87‚ªo‚Ä‚½‚µB ‚â‚Á‚ÏRelease/Debug‚̈Ⴂ‚©‚çU‚ß‚ë‚Á‚ÄŠ´‚¶‚©H ‰´‚àF5‹N“®‚ÅŒ‹‰Ê‚ªˆÙ‚È‚é‚Á‚Ă̂͑S‚—\‘z‚µ‚ĂȂ©‚Á‚½‚µBi‚½‚¾‚µ‚±‚¿‚ç‚Ì–â‘肾‚낤‚¯‚Çj ‰‰ŽZ•”•ª‚Íꇂɂæ‚Á‚Ä‚ÍSSE‚̃AƒZƒ“ƒuƒ‰‚É·‚µ‘Ö‚¦‚é‚Ì‚ÅA –â‘è‚ɂȂéꇂɂÍARelease/Debug‚̈Ⴂ‚Í‚±‚ê‚Å‹zŽû‚·‚é‚‚à‚肾‚Á‚½B (‚±‚ê‚Í‚Pƒ–ŒŽŒã‚É‚â‚é‚©‚àj
179 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/14(‹à) 17:48:23.40 ID:HVgt1gkj.net] •‚“®¬”“_‚̌뷂ðl—¶‚É“ü‚ê‚ĂȂ¢‚Æ‚¢‚¤ƒC[ƒW[‚ÈŽd—lƒoƒO‚Å‚·‚ËB
180 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2018/09/14(‹à) 21:39:03.40 ID:fXySkelb.net] ÄŒ»‚·‚麰ÄÞ‚ð‚݂Ȃ¢‚ƂȂɂà‚í‚©‚é‚킯‚ª‚È‚¢ ’áŠw—ð’mŒb’x‚ꂪ‘‚º°ÄÞ‚È‚ñ‚©‚Ȃɂð‚â‚Á‚Ă邩•ª‚©‚ç‚È‚¢‚©‚ç‚È ‚²‚¿‚Ⴒ‚¿‚á‚¢‚Á‚ĂȂ¢‚ÅÄŒ»‚·‚麰ÄÞ‚ð‚ ‚°‚È‚³‚¢
181 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/15(“y) 06:26:55.94 ID:/OsufeBT.net] ŒŽ•À‚݂Ȉӌ©‚¾‚¯‚ÇA uÇó‚ðÄŒ»‚Å‚«‚éŬ‚̃\[ƒX‚ƉŠúƒf[ƒ^A‚»‚ê‚ÆƒRƒ“ƒpƒCƒ‹ŠÂ‹«v ‚܂Ũ‚è‹l‚߂Ă݂é‚Ì‚ª‘“¹‚¶‚á‚È‚¢‚©‚ÈB ‚¿‚å‚‚¿‚å‚”¶‚·‚鎖—á‚È‚çA‰ðŒˆô‚ð’m‚Á‚Ä‚é’N‚©‚ª‹³‚¦‚Ä‚‚ê‚Ă邩‚ÆB T––A‚æ‚葽‚‚Ìl‚ªŽ¿–â‚ðŒ©‚é‚±‚Æ‚ðŠú‘Ò‚µ‚đ҂Žè‚à‚ ‚邯‚ÇB
182 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/15(“y) 08:56:57.28 ID:9ZmI9OgI.net] ‚æ‚èŠî–{‚É—§‚¿•Ԃ낤 ‚»‚à‚»‚àŒë·‚Í‚ ‚é‚Ì‚©H ŒvŽZŒ‹‰Ê‚ð‰½‚ðŽg‚Á‚Ăǂ¤o—Í‚µ‚Ä‚¢‚é‚©‚¾‚¯‚Å‚àƒ\[ƒX‚ðŒ©‚¹‚Ä‚‚ê
183 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/15(“y) 13:36:34.65 ID:heijdb7v.net] >>175 x87‚Å‚àŒë·‚ðŠÛ‚ß‚é•û–@‚ð fpu control word ‚ÅÝ’è‚Å‚«‚鎖‚Ío—ˆ‚éB ŽlŽÌŒÜ“ü‚ÆØ‚èŽÌ‚ĂȂǂðØ‚è‘Ö‚¦‚ç‚ê‚éB
184 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/15(“y) 13:42:47.95 ID:heijdb7v.net] fpu control word ‚ÅAŠÛ‚ß•û–@‚ÆA¸“x‚Ì“ñ‚Â‚ð“Æ—§‚ÉÝ’è‚Å‚«‚éB ‚±‚̸“x‚ÌÝ’è‚ÅAƒƒ‚ƒŠã‚Ì•\Œ»‚ªdoubleŒ^‚Å‚àAŒvŽZŽž‚Ìfpu‚Ì“à•”¸“x‚ª•Ï‚í‚Á‚Ä‚‚éB •’Ê‚Í64bit double‚ɑ΂µ‚ÄAfpu“à•”‚Å‚Í80bit‚̸“x‚ÅŒvŽZ‚·‚éB‰¼”•”‚Ìbit”‚ÍAŠm‚©A‚»‚ꂼ‚êA53BITA64BIT‚¾‚Á‚½‚©‚ÈB
185 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/15(“y) 14:05:09.61 ID:heijdb7v.net] Intel® 64 and IA-32 Architectures Software Developerfs Manual [Vol 1] 11.6.8 Compatibility of SIMD and x87 FPU Floating-Point Data Types SSE and SSE2 extensions operate on the same single-precision and double-precision floating-point data types that the x87 FPU operates on. However, when operating on these data types, the SSE and SSE2 extensions operate on them in their native format (single-precision or double-precision), in contrast to the x87 FPU which extends them to double extended-precision floating-point format to perform computations and then rounds the result back to a single-precision or double-precision format before writing results to memory. Because the x87 FPU operates on a higher precision format and then rounds the result to a lower precision format, it may return a slightly different result when performing the same operation on the same single-precision or double-precision floating-point values than is returned by the SSE and SSE2 extensions. The difference occurs only in the least-significant bits of the significand.
186 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/15(“y) 14:14:58.92 ID:heijdb7v.net] >>182 ‘‚¢‚Ä‚ ‚éˆÓ–¡‚ÍA uSSE‚âSSE2‚¾‚ÆAfloat(32BIT)‚âdouble(64BIT)‚̂܂܌vŽZ‚·‚邪Ax87 fpu‚¾‚ÆA‚à‚Á‚Æ‚‚¢¸“x‚Å‚ ‚邯‚±‚ë‚Ì @@wdouble extended-precision floating-point formatiŠg’£”{¸“x•‚“®¬”“_ƒtƒH[ƒ}ƒbƒg:80BIT)x ‚ÅŒvŽZ‚ðŽÀs‚µ‚ÄAŠÛ‚߂Ă©‚çAfloat‚âdouble‚É–ß‚·B ‚»‚Ì‚½‚ßASSE/SSE2 ‚Æ x87 fpu‚ł͌‹‰Ê‚ª•Ï‚í‚邱‚Æ‚ª‚ ‚éB ‚µ‚©‚µA‚»‚Ìê‡‚Å‚àŒ‹‰Ê‚̈Ⴂ‚ÍA‰¼”•”‚Ì LSB (Å‚à‰¿’l‚̬‚³‚¢BIT)‚Ì1BIT‚É‚¾‚¯Œ»‚ê‚éBv ‚Æ‚¢‚¤‚悤‚ÈŽ–B
187 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/15(“y) 16:09:28.75 ID:aC3C7hdp.net] —g‚°‘«Žæ‚肾‚¯‚ÇLSB‚ðuÅ‚à‰¿’l‚ª¬‚³‚¢v‚Á‚Ä’¼–ó‚Í‚¢‚©‚ª‚È‚à‚Ì‚©‚Èw •’Ê‚ÉʼnºˆÊƒrƒbƒg‚¶‚á‚È‚¢‚ÌH ‚Æ‚±‚ë‚Å > the least-significant bits ‚±‚ꉽ‚Å•¡”Œ`‚Ȃ̂©‚Ë
188 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2018/09/15(“y) 16:14:15.89 ID:AVfR6YnT.net] 2‚Ì0悾‚©‚çŽÀÛ‰¿’l‚ª’á‚¢ ã‚ÍMVB‚Å
189 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/15(“y) 17:07:56.98 ID:UR1d6CKz.net] >>183 ‚ ‚肪‚Æ‚¤B ‚½‚¾ˆê‰ž‚»‚ê‚Í’m‚Á‚Ä‚ÄA‚»‚Ìã‚ÅAIDE‚̊‹«Ý’è“™‚ð‹^‚Á‚Ä‚¢‚éB >>178 ‚Ƃ͂¢‚¦’n“¹‚É’H‚Á‚ÄA“¯—l‚ÌÄŒ»ƒR[ƒh‚ðì‚邱‚ƂɬŒ÷‚µ‚»‚¤‚¾B ‚à‚¤‚µ’²‚ׂÄA‘½•ª¡”Ó‚©–¾“úŒß‘O’†‚Éã‚°‚éB
190 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/15(“y) 17:12:32.47 ID:heijdb7v.net] >>184 uThe difference occurs only in the least-significant bits of the significand.v ‚±‚ê‚ÍASSE ‚Ìê‡‚Ì LSB ‚ÆAx87 FPU ‚Ìê‡‚Ì FPU ‚Ì2Ží—ނ𓪂̒†‚É‘z’肵‚Ä‚¢‚邯Žv‚í‚ê‚éB SSE: a1 = 1.xxxxxxxxz * 10^b x87 : a2 = 1.yyyyyyyyw * 10^c ‚‚܂èALSB ‚ÍAª‚̂悤‚ÉAz ‚Æ w ‚ÅA2‚‚ ‚é‚Ì‚ÅALSBs ‚Æ‚¢‚¤‰pŒê‚ɂȂéB
191 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/15(“y) 17:15:04.14 ID:heijdb7v.net] ŒëF‚±‚ê‚ÍASSE ‚Ìê‡‚Ì LSB ‚ÆAx87 FPU ‚Ìê‡‚Ì FPU ‚Ì2Ží—Þ‚ð ³F‚±‚ê‚ÍASSE ‚Ìê‡‚Ì LSB ‚ÆAx87 FPU ‚Ìê‡‚Ì 2Ží—Þ‚ð
192 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/15(“y) 17:18:55.19 ID:heijdb7v.net] >>184 >—g‚°‘«Žæ‚肾‚¯‚ÇLSB‚ðuÅ‚à‰¿’l‚ª¬‚³‚¢v‚Á‚Ä’¼–ó‚Í‚¢‚©‚ª‚È‚à‚Ì‚©‚Èw >•’Ê‚ÉʼnºˆÊƒrƒbƒg‚¶‚á‚È‚¢‚ÌH ®”‚ÌꇂÍAuʼnºˆÊƒrƒbƒgv‚Æ‚¢‚¤‚ÆA–{“–‚ÉBIT‚̈ʒu‚ªˆê”Ô‰E‚É‚ ‚邿‚¤‚ȃCƒ[ƒW‚à‚ ‚éB ˆê•ûA•‚“®¬”“_”‚ÌꇂÍA‰E‚É‚ ‚邯‚©‚æ‚èA‰¼”•”‚É‚¨‚¢‚ÄAˆê”Ô‰¿’l‚̬‚³‚¢ƒrƒbƒgA‚Æ‚¢‚¤ƒjƒ…ƒAƒ“ƒX‚ðŽg‚¦‚½‚©‚Á‚½B IEEE‚Å‚ÍA‚»‚ê‚ÍŠm‚©‚Ɉê”Ô‰E‚É‚ ‚éƒrƒbƒg‚Å‚ ‚Á‚ÄAƒ}ƒVƒ“ŒêƒŒƒxƒ‹‚Ì•\Œ»‚Å‚ÍABIT0‚ł͂ ‚é‚Ì‚¾‚ªB ƒjƒ…ƒAƒ“ƒX“I‚ÉB
193 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/15(“y) 17:29:56.92 ID:aC3C7hdp.net] >>187 ‚»‚ê‚͉´‚àŽv‚Á‚½‚¯‚ÇA‚»‚ê‚È‚çsignificand‚Ì•û‚à•¡”‚¶‚á‚È‚¢‚Æ‚¨‚©‚µ‚¢‚悤‚È...
194 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/15(“y) 20:35:40.44 ID:UR1d6CKz.net] “¯—l‚ÌÇó‚ðÄŒ»o—ˆ‚邿‚¤‚ɂȂÁ‚½‚Ì‚Åã‚°‚éB Š®‘SÄŒ»‚Ío—ˆ‚ĂȂ¢‚ªAŽg‚¢•¨‚ɂ͂Ȃé‚Í‚¸B‹»–¡‚ª‚ ‚él‚Í‚æ‚낵‚B ÇóF ’P“ƂŋN“®‚µ‚½ê‡‚ÆAIDE‚©‚ç‹N“®‚µ‚½ê‡‚ÅAŒ‹‰Ê‚ªˆÙ‚È‚éB ŠÂ‹«F VS++2008ExpressEdition ÄŒ»•û–@F 1. V‹KƒvƒƒWƒFƒNƒg‚ðì¬B(CLRƒRƒ“ƒ\[ƒ‹ƒAƒvƒŠƒP[ƒVƒ‡ƒ“BƒIƒvƒVƒ‡ƒ““™‚Í‘S‚ăfƒtƒH‚̂܂Ü) 2. main‚ðˆÈ‰ºƒ\[ƒX‚Æ·‚µ‘Ö‚¦‚éB 3. Releaseƒrƒ‹ƒh‚ÅŽÀs‚·‚éB(Debugƒrƒ‹ƒh‚Å‚ÍÄŒ»‚µ‚È‚©‚Á‚½‚̂ŒˆÓj Œ‹‰ÊF 0.000000, 0x1ff68ddfb62221dd (IDE‚©‚ç‚Ì‹N“®(F5)) 0.000000, 0x1ff68ddfb62221de (ƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚©‚ç‚Ì‹N“®) ÅŒã‚Ì2bit‚ªˆÙ‚È‚éB(Œë·‚Í1bitj ”õlF ‰´‚ª‘˜‹ö‚µ‚Ä‚¢‚é‚̂Ƃ͂â‚âˆÙ‚È‚éB(‰´‚Ìê‡ADebugƒrƒ‹ƒh‚Å‚à‚±‚ꂪ”¶‚·‚é) ‚±‚ÌÄŒ»ó‹µ‚¾‚ÆA’P‚É uDebug‚ÆRelease‚ŃoƒCƒiƒŠ‚ªˆÙ‚È‚èA IDE‚©‚ç‹N“®‚µ‚½ê‡‚Íí‚ÉDebugƒoƒCƒiƒŠ‚ð’Í‚ñ‚Å‚¢‚邾‚¯‚Å‚ÍHv ‚Æ‚àŽæ‚ê‚邪A‚±‚¿‚ç‚ÅŠm”F‚µ‚½ŒÀ‚è‚Í‚¿‚á‚ñ‚ÆReleaseƒoƒCƒiƒŠ‚ð’Í‚ñ‚Å‚¢‚éB ——R‚ÍA 1. Debug/Release‚Ì—¼•û‚̃oƒCƒiƒŠ‚ª‚È‚¢ó‘Ô‚ÅŽÀs‚µ‚½ê‡A @Ž©“®“I‚É쬂³‚ê‚é‚Ì‚ÍReleaseƒoƒCƒiƒŠBi“–‘R‚¾‚ªj @Œ‹‰Ê‚Í****dd‚ƂȂéB(ƒuƒŒ[ƒNƒ|ƒCƒ“ƒg“™‚ÅŽ~‚߂Ċm”F‚·‚éj 2. ‚»‚ÌReleaseƒoƒCƒiƒŠ‚ðƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚©‚ç‹N“®‚·‚邯A****de‚ÌŒ‹‰Ê‚ª“¾‚ç‚ê‚éB
195 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/15(“y) 20:37:06.43 ID:UR1d6CKz.net] ƒ\[ƒXF #include "stdafx.h" #include <math.h> using namespace System; template<typename T> static double calc_norm_and_regulate(int num, T* r, bool regulate){ // <float> for debug. double norm = 0; for (int i=0;i<num;i++) norm += (double)r[i] * (double)r[i]; norm = sqrt(norm); if (regulate) for (int i=0;i<num;i++) r[i] = (T)(r[i]/norm); return norm; } int main(array<System::String ^> ^args) { int count = 16; __int64 inputs_hex[16] = { 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x1fedb1530240aa54, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x1ff0af0d95025bc3, 0x1fc9353df6af376b, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000}; double* inputs = (double*)inputs_hex; double norm = calc_norm_and_regulate(count, inputs, false); Console::Write(String::Format("{0:F6}, 0x{1:x16}\r\n",norm, *(__int64*)&norm)); // Release build // 0.000000, 0x1ff68ddfb62221dd from IDE // 0.000000, 0x1ff68ddfb62221de from command prompt return 0; }
196 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/15(“y) 20:42:48.06 ID:UR1d6CKz.net] ƒIƒvƒVƒ‡ƒ““™(ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“jFi‘S‚ăfƒtƒH‚̂܂܂̂͂¸‚¾‚ªˆê‰žj C/C++F @/GL /D "WIN32" /D "NDEBUG" /D "_UNICODE" /D "UNICODE" /FD /EHa /MD /Yu"stdafx.h" /Fp"Release\test_floating_error4.pch" /Fo"Release\\" /Fd"Release\vc90.pdb" /W3 /nologo /c /Zi /clr /TP /errorReport:prompt /FU "c:\Windows\Microsoft.NET\Framework\v2.0.50727\System.dll" /FU "c:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Data.dll" /FU "c:\Windows\Microsoft.NET\Framework\v2.0.50727\System.XML.dll" ƒŠƒ“ƒJF /OUT:"MYPATH\test_floating_error4\Release\test_floating_error4.exe" /INCREMENTAL:NO /NOLOGO /MANIFEST /MANIFESTFILE:"Release\test_floating_error4.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"MYPATH\test_floating_error4\Release\test_floating_error4.pdb" /LTCG /DYNAMICBASE /FIXED:No /NXCOMPAT /MACHINE:X86 /ERRORREPORT:PROMPT ƒpƒX‚Í$MYPATH‚Æ‘‚«Š·‚¦‚½B‚Ü‚½A“Še‚ׂ̈ɓK‹X‰üs‚ð“ü‚ꂽB ‚±‚̃vƒƒWƒFƒNƒg–¼‚ÍŒ©‚ê‚Εª‚©‚邯‚¨‚ètest_floating_error4B
197 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/15(“y) 20:43:03.84 ID:UR1d6CKz.net] ”õl2F ‚È‚¨‚±‚Ì•û–@‚ÅŒ©‚¦‚é calc_norm_and_regulate ŠÖ”‚Ìw‹tƒAƒZƒ“ƒuƒ‹xŒ‹‰Ê‚Í ‰´‚̊‹«‚ł̕¨‚ƃR[ƒ‹ƒAƒhƒŒƒXˆÈŠO‚͈ê’v‚µ‚Ä‚¢‚邱‚Æ‚ðŠm”F‚µ‚Ä‚¢‚éB ˆê‰žAdiffŒ‹‰Ê‚͈ȉºB 8c8 < 0000000c cmp dword ptr ds:[00752E14h],0 --- > 0000000c cmp dword ptr ds:[007D2E14h],0 10c10 < 00000015 call 676F58B9 --- > 00000015 call 683C58B9 44c44 < 0000006a call FF0455E8 --- > 0000006a call FFD955E8
198 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/16(“ú) 02:47:43.28 ID:wIV2HUNW.net] >>191 C++/CLR ‚Å‚ÍA.Net ‚ðŽg‚Á‚Ä‚¢‚é‚©‚çA‹N“®•û–@‚ªˆá‚¤‚¾‚¯‚Å‚àA fpu control word ‚Ì’l‚âAŽg‚¤CPU–½—ß‚ªx87 FPU‚Ȃ̂©ASSE ‚Ȃ̂©‚ªˆá‚Á‚Ä‚‚é‰Â”\«‚ª‚ ‚é‚
199 –¼‘OF©‚à‚µ‚ê‚È‚¢B fpu control word ‚ÍAmain()ŠÖ”‚É“ü‚é‘O‚Ì start up code‚Ì’†‚Å ‰Šú‰»‚³‚ê‚éB [] [‚±‚±‰ó‚ê‚Ă܂·]
200 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/16(“ú) 03:19:36.22 ID:wIV2HUNW.net] >>192 // Release build // 0.000000, 0x1ff68ddfb62221dd from IDE // 0.000000, 0x1ff68ddfb62221de from command prompt ‚»‚ê‚É‚µ‚Ä‚àA•ª¬‚³‚È’l‚¾‚ËB‚¿‚Ȃ݂ÉA•‚“®¬”“_•\ަ ‚Ìꇂ̗LŒø”Žš‚ÌŒ…”‚ðã‚°‚½‚çA‚ǂ̂悤‚ɂȂéH 1.xxxe-yy •\ަ‚É‚µ‚ÄB
201 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/16(“ú) 03:40:33.66 ID:wIV2HUNW.net] >>192 ŽŽ‚µ‚ÉAƒ\[ƒX‚Ì–`“ª‚É #include <stdio.h> ‚ð’ljÁ‚µ‚Ä‚©‚çA Console::Write(String::Format("{0:F6}, 0x{1:x16}\r\n",norm, *(__int64*)&norm)); ‚Ì•”•ª‚ðA printf( "%30.30e, 0x%016X\n", norm, *(__int64*)&norm) ); ‚Æ‚µ‚Ä‚Ý‚é‚Æ‚Ç‚¤‚È‚éH
202 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/16(“ú) 03:42:01.82 ID:wIV2HUNW.net] >>197 ŒëF printf( "%30.30e, 0x%016X\n", norm, *(__int64*)&norm) ); ³F printf( "%30.30e, 0x%016X\n", norm, *(__int64*)&norm );
203 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2018/09/16(“ú) 07:27:22.50 ID:SOVIz+sV.net] > 0x1ff68ddfb62221ddiDebugj > 0x1ff68ddfb62221deiReleasej VS 2010 VC++ Express ‚Å‚àÄŒ»‚µ‚½
204 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2018/09/16(“ú) 07:38:10.70 ID:SOVIz+sV.net] «‚±‚ÌÙ°Ì߂𔲂¯‚½‚ ‚ÆA‚·‚Å‚ÉReleaseËÞÙÄÞ‚ÆDebugËÞÙÄÞ‚Å‚Í @norm‚Ì’l‚É·ˆÙ‚ª”¶‚µ‚Ă邱‚Æ‚ªŠm”F‚Å‚«‚½ for (int i=0;i<num;i++) norm += (double)r[i] * (double)r[i]; «‚±‚̉º‚ÉiÙ°Ìß“à‚Éjfprintf•¶‚ð“ü‚ê‚邾‚¯‚Å @ReleaseËÞÙÄÞ‚ÆDebugËÞÙÄÞ‚ª“¯‚¶ŽÀsŒ‹‰Ê‚ɂȂ邱‚Æ‚ªŠm”F‚Å‚«‚½ norm += (double)r[i] * (double)r[i]; ‚Æ‚è‚ ‚¦‚¸‚Ü‚¸‚±‚ꂾ‚¯‚Í•ª‚©‚Á‚½‚©‚ç ’áŠw—ð’mŒb’x‚ꂪ‘‚¢‚½³Ýºº°ÄÞ‚Ì–â‘è‰ÓŠ‚ðŒÀ’è‚·‚é
205 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2018/09/16(“ú) 07:51:03.41 ID:SOVIz+sV.net] ‡@-1 ÃÞÌ«ÙÄÝ’èiReleasej yº°ÄÞz #include "stdafx.h" #include <stdio.h> #include <stdint.h> #include <math.h> int main(array<System::String ^> ^args) { @@__int64 inputs_hex[16] = { @@@@0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x1fedb1530240aa54, @@@@0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x1ff0af0d95025bc3, @@@@0x1fc9353df6af376b, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, @@@@0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 @@}; @@double* r = (double*)inputs_hex; @@double norm = 0; @@for (int i = 0; i < 16; i++) { @@@@norm += (double)r[i] * (double)r[i]; //@@@@fprintf(stdout, "[1]0x%016llX:%.19lg\n", *(uint64_t*)&norm, norm); @@} @@fprintf(stdout, "0x%016llX:%.19lg\n", *(uint64_t*)&norm, norm); @@return 0; }
206 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2018/09/16(“ú) 07:51:56.62 ID:SOVIz+sV.net] ‡@-1 ÃÞÌ«ÙÄÝ’èiReleasej «‚±‚̺°ÄÞ‚Ì‹t±¾ÝÌÞÙº°ÄÞ https://ideone.com/Ryyxkl yŽÀsŒ‹‰Êz 0x0007F2C44DFFF8F2:1.1053482540585106e-308
207 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2018/09/16(“ú) 07:53:20.79 ID:SOVIz+sV.net] ‡@-2 ÃÞÌ«ÙÄÝ’èiReleasej #include "stdafx.h" #include <stdio.h> #include <stdint.h> #include <math.h> int main(array<System::String ^> ^args) { @@__int64 inputs_hex[16] = { @@@@0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x1fedb1530240aa54, @@@@0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x1ff0af0d95025bc3, @@@@0x1fc9353df6af376b, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000, @@@@0x0000000000000000, 0x0000000000000000, 0x0000000000000000, 0x0000000000000000 @@}; @@double* r = (double*)inputs_hex; @@double norm = 0; @@for (int i = 0; i < 16; i++) { @@@@norm += (double)r[i] * (double)r[i]; @@@@fprintf(stdout, "[1]0x%016llX:%.19lg\n", *(uint64_t*)&norm, norm); @@} @@fprintf(stdout, "0x%016llX:%.19lg\n", *(uint64_t*)&norm, norm); @@return 0; }
208 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2018/09/16(“ú) 08:02:12.99 ID:SOVIz+sV.net] ‡@-2 ÃÞÌ«ÙÄÝ’è(Release) «‚±‚̺°ÄÞ‚Ì‹t±¾ÝÌÞÙº°ÄÞ https://ideone.com/4j12ib yŽÀsŒ‹‰Êz «ŽÀsŒ‹‰Ê‚ð‘‚«ž‚߂Ȃ¢‚©‚炱‚Á‚¿‚É‘‚«ž‚ñ‚Ç‚¢‚½ https://ideone.com/gOqtki 0x0007F2C44DFFF8F1:1.1053482540585101e-308
209 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2018/09/16(“ú) 08:05:50.92 ID:SOVIz+sV.net] ‡A-1 Å“K‰»–³Œø (/Od)iReleasej ¦ º°Äނ͇@-1i>>201 j‚Æ“¯‚¶ «‚±‚̺°ÄÞ‚Ì‹t±¾ÝÌÞÙº°ÄÞ https://ideone.com/cONCAx yŽÀsŒ‹‰Êz 0x0007F2C44DFFF8F1:1.1053482540585101e-308
210 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2018/09/16(“ú) 08:09:59.78 ID:SOVIz+sV.net] ‡A-2 Å“K‰»–³Œø (/Od)iReleasej ¦ º°Äނ͇A-2i>>203 j‚Æ“¯‚¶ «‚±‚̺°ÄÞ‚Ì‹t±¾ÝÌÞÙº°ÄÞ https://ideone.com/kuRt3w yŽÀsŒ‹‰Êz ¦ ‡@-2i>>204 j‚Æ“¯‚¶ 0x0007F2C44DFFF8F1:1.1053482540585101e-308
211 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2018/09/16(“ú) 08:20:27.67 ID:SOVIz+sV.net] ‡@-1A‡@-2‚Ì‹t±¾ÝÌÞÙ‚Ìo—ÍŒ‹‰Ê‚ð”äŠr‚·‚邯Œ´Œ^‚ð‚Æ‚Ç‚ß‚Ä‚È‚¢‚®‚ç‚¢¸ÞÁ®¸ÞÁ®‚ɈႤiÅ“K‰»‚Ì‚¹‚¢‚Æl‚¦‚ç‚ê‚éj ‡A-1A‡A-2‚Ì‹t±¾ÝÌÞÙ‚Ìo—ÍŒ‹‰Ê‚ð”äŠr‚·‚邯·ˆÙ‚͂قƂñ‚ǂȂ¢i‡A‚Í—¼•û‚Æ‚à‚Ü‚Á‚½‚Å“K‰»‚³‚ê‚ĂȂ¢‚©‚ç“–‘Rj ‡@-1‚ƇA-1‚Ì‹t±¾ÝÌÞÙ‚Ìo—ÍŒ‹‰Ê‚ð”äŠr‚·‚邯Œ´Œ^‚ð‚Æ‚Ç‚ß‚Ä‚È‚¢‚®‚ç‚¢¸ÞÁ®¸ÞÁ®‚ɈႤi‡@-1‚̺°ÄÞ(>>201 )‚͂͂°‚µ‚³ÝºÅ“K‰»‚³‚ê‚Ă邯l‚¦‚ç‚ê‚éj ‡@-2‚ƇA-2‚Ì‹t±¾ÝÌÞÙ‚Ìo—ÍŒ‹‰Ê‚ð”äŠr‚·‚邯·ˆÙ‚͂قƂñ‚ǂȂ¢i‡@-2‚̺°ÄÞ(>>203 )‚Í‚ ‚Ü‚èÅ“K‰»‚³‚ê‚ĂȂ¢‚Æl‚¦‚ç‚ê‚éj ‚Í‚Á‚«‚è‚¢‚Á‚ÄA‚±‚êˆÈ㌩‚é‹C‚à‚µ‚È‚¢‚µÃ·Ä°‚¾‚ª ³Ýº‚Ý‚½‚¢‚ÈÅ“K‰»‚ʼn‰ŽZ‚̇˜‚ª“ü‚ê‘Ö‚í‚Á‚½‚¹‚¢‚ÅAŒë·‚ª”¶‚µ‚Ä‚¢‚é‚à‚Ì‚Æl‚¦‚ç‚ê‚é
212 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/16(“ú) 08:28:37.25 ID:zL1WUjLu.net] >>199 ˆÈ~A ‚·‚Ü‚ñA“ü‚ê‘Ö‚í‚è‚ɂȂ邩‚à‚µ‚ê‚ñ‚ªŒã‚ÅŠm”F‚·‚éB ‚Ü‚¸>>195 ‚»‚Ì‘¼‚ɂ‚¢‚ĉñ“š‚·‚éB >>195 SSE‚Í /arch:SSE ‚Ü‚½‚Í /arch:SSE2 ‚łȂ¢‚Æo‚È‚¢‚±‚ƂɂȂÁ‚Ä‚¨‚èA–ܘ_Ý’è‚Í‚µ‚Ä‚¢‚È‚¢B ‚Ü‚½A‹tƒAƒZƒ“ƒuƒ‹Œ‹‰Ê‚Å‚Í x87 –½—߂݂̂ł ‚é‚Ì‚àŠm”F‚µ‚Ä‚¢‚éB ‚½‚¾¡‰ñ‚Ì–â‘è‚ÍA–{“–‚ÉReleaseƒrƒ‹ƒh‚̃oƒCƒiƒŠ‚ð‹tƒAƒZƒ“ƒuƒ‹‚µ‚Ä‚¢‚é‚©‰ö‚µ‚¢Ž–‚¾‚ªB >>196 ¬‚³‚¢’l‚Ȃ̂͋ôX‚¾B ’H‚Á‚Äs‚Á‚Ä‚»‚ꂪ1‰ñ–ڂɃqƒbƒg‚·‚é“ü—̓f[ƒ^‚¾‚Á‚½‚¾‚¯‚Ì‚±‚ÆB >>197 .NET‚Ì‘Ž®Žw’è‚̓OƒO‚è“ï‚¢‚ªˆÈ‰ºB https://docs.microsoft.com/en-us/dotnet/standard/base-types/standard-numeric-format-strings ŠT‚Ëprintf‚Æ“¯‚¶‚ÅAŽ©“®“I‚É‚â‚Á‚Ä‚‚ê‚é‚Ì‚ª‘‚¦‚Ä‚¢‚éB 30Œ…—~‚µ‚¯‚ê‚ΈȉºB Console::Write(String::Format("{0:E6}, {0:E30}\r\n",norm)); // o—Í‚Í 1.051355E-154, 1.051355436595307800000000000000E-154 ‚È‚¨double‚Í16Œ…‚ÈB(15.9=53*log(10)2) ‚½‚¾“–‚½‚è‘O‚¾‚ªA‘Ž®‚ð•Ï‚¦‚½‚Æ‚±‚ë‚ÅŒvŽZŒ‹‰Ê‚͕ςí‚ç‚È‚¢‚µA ¸“x‚Ì–â‘è‚ɂ͊֌W‚È‚¢B
213 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/16(“ú) 08:29:03.14 ID:zL1WUjLu.net] >>195 FPU control registor ‚ɂ‚¢‚Ă͉½ŒÌ‚©ˆÀ’肵‚½Œ‹‰Ê‚𓾂ç‚ê‚Ä‚¢‚È‚¢B ƒCƒ“ƒ‰ƒCƒ“ƒAƒZƒ“ƒuƒ‰‚͈ȉº‚Ì’Ê‚è‚ÅA #pragma unmanaged inline void fpu_getcw(unsigned short* cw) { __asm{ fnstcw [cw]; } } #pragma managed ‚±‚ê‚ð norm = calc_norm_and_regulate( ... ) ‚Ì’¼‘O/’¼Œã‚É”z’u‚µ‚ēǂÝo‚µA “¯—l‚ɃRƒ“ƒ\[ƒ‹o—Í‚·‚邯AˆÈ‰º‚ƂȂéB ‚Ü‚½AIDE‚Å‹N“®‚µ‚½ê‡‚ÍAuƒŒƒWƒXƒ^v‚ÅŒ©‚ê‚éB ‚È‚¨’è‹`‚͈ȉº‚Ì’Ê‚èB [9:8]‚ɑ΂µA 0x00 : ’P¸“x(24bit) 0x01 : reserved 0x10 : ”{¸“x(53bit) 0x11 : Šg’£”{¸“x(64bit) [11:10]‚ɑ΂µ 0x00 : ŋߒl 0x01 : Ø‚èŽÌ‚Ä 0x10 : Ø‚èã‚° 0x11 : 0•ûŒü‚Ö‚ÌØ‚èŽÌ‚Ä
214 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/16(“ú) 08:29:57.53 ID:zL1WUjLu.net] >>195 ’¼Œã‚݂̂ɔz’uF 0x027F (”{¸“xj @Debug(IDE‹N“®j‚ÌIDE“à•\ަARelease(IDE‹N“®j‚ÌIDE“à•\ަA 0x03a5 (Šg’£”{¸“x)@@Debug(IDE‹N“®jARelease(IDE‹N“®jA 0x3fdc (Šg’£”{¸“xj @DebugiƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒgjA 0xf280, 0xf290, 0xf160, 0xf010“™A•sˆÀ’è@@ReleaseiƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒgj ’¼‘O‚݂̂ɔz’uF ’¼Œã‚݂̂Ɠ¯‚¶Œ‹‰ÊBi‚‚܂èw‰½ŒÌ‚©xˆÀ’肵‚Ä‚¢‚éj ReleaseiƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒgj‚Í•sˆÀ’è‚È‚Ì‚à“¯‚¶B ’¼‘O‚Æ’¼Œã‚É”z’uF ’¼‘O‘¤‚Í“–‘R•sˆÀ’è‚ɂȂéB ’¼Œã‘¤‚Íu’¼Œã‚Ì‚Ýv‚ÌŒ‹‰Ê‚Æ“¯‚¶B(ReleaseiƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒgj‚Í•sˆÀ’è‚È‚Ì‚à“¯‚¶) •µˆÍ‹C‚©‚ç‚·‚邯AIDE“à•\ަ‚Í“–‚ĂɂȂ炸A –½—ߎ©‘Ì‚Í rdtsc ‚Æ“¯‚¶‚Å”ñ“¯Šú‚ÉŽÀs‚³‚ê‚Ä‚¢‚镵ˆÍ‹C‚¾‚ªA rdtsc–½—߂̒ˆÓ‘‚«‚É‚ ‚éuƒVƒŠƒAƒ‹‰»–½—߂ł͂Ȃ¢v‚Æ‚¢‚¤’A‚µ‘‚«‚ª–³‚A󋵂͕s–¾B ³’¼A³‚µ‚“Ç‚Ýo‚¹‚Ä‚¢‚é‚©‰ö‚µ‚¢Bi‚ ‚ĂɂȂç‚È‚¢j ‚±‚ê‚ç‚©‚ç„‘ª‚·‚邯AŽb’è“I‚ɂ͈ȉºB Šg’£”{¸“x@@Debug(IDE‹N“®jARelease(IDE‹N“®jADebugiƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒgjA •s–¾@@ReleaseiƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒgj ˆÈオ>>195 ‚»‚Ì‘¼‚ɑ΂·‚é‰ñ“šB ‚±‚ê‚©‚ç>>199 ‚»‚Ì‘¼‚ɂ‚¢‚ÄŠm”F‚·‚éB
215 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/16(“ú) 12:52:37.56 ID:haV9TZ8e.net] >>210 ‹»–¡[‚¢Œ‹‰Ê‚¾B
216 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/16(“ú) 13:21:26.16 ID:haV9TZ8e.net] >>210 >–½—ߎ©‘Ì‚Í rdtsc ‚Æ“¯‚¶‚Å”ñ“¯Šú‚ÉŽÀs‚³‚ê‚Ä‚¢‚镵ˆÍ‹C‚¾‚ªA >rdtsc–½—߂̒ˆÓ‘‚«‚É‚ ‚éuƒVƒŠƒAƒ‹‰»–½—߂ł͂Ȃ¢v‚Æ‚¢‚¤’A‚µ‘‚«‚ª–³‚A󋵂͕s–¾B >³’¼A³‚µ‚“Ç‚Ýo‚¹‚Ä‚¢‚é‚©‰ö‚µ‚¢Bi‚ ‚ĂɂȂç‚È‚¢j ƒCƒ“ƒ‰ƒCƒ“ƒAƒZƒ“ƒuƒ‰‚ðŽg‚킸‚ÉA _control87(), _controlfp() : Get and set the floating-point control word. unsigned int _control87( unsigned int new, unsigned int mask ); unsigned int _controlfp( unsigned int new, unsigned int mask ); ‚ðŽg‚Á‚Ă݂½‚ç‚Ç‚¤‚È‚éH
217 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/16(“ú) 13:31:15.50 ID:Q5j4SiHR.net] win32ƒRƒ“ƒ\[ƒ‹‚Ȃ猋‰Ê‚ª“¯‚¶B ‚à‚¤——R‚Í•ª‚©‚Á‚½‚̂ɉ½‚ª–â‘è‚È‚ñ‚¾H‚±‚ñ‚Ȃ̉½‚̉e‹¿‚à‚È‚¢‚¾‚낤B
218 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/16(“ú) 13:33:14.92 ID:zL1WUjLu.net] >>199 ÄŒ»ŽÀŒ±‚ ‚肪‚Æ‚¤B ‚µ‚©‚µFX–â‘肪‚ ‚éB 1. ‰´‚Í‹N“®•û–@‚É‚æ‚éˆá‚¢‚ɂ‚¢‚ătƒH[ƒJƒX‚µ‚Ä‚¢‚邪A @ŒN‚ÍRelease/Debug‚̈Ⴂ‚ɃtƒH[ƒJƒX‚µ‚Ä‚¢‚éB 2. VC++2008‚Å‚ÍÄŒ»‚µ‚È‚¢B(VC++2010‚Å‚ÍÄŒ»‚·‚éj 3. ƒ\[ƒX‰ü•Ï‚µ‚·‚¬B‚»‚ê‚ł͈Ӗ¡‚ª‚È‚¢B 4. >>207 ‚ÌŒ‹˜_‚͊ԈႢB ‚Ü‚¸–â‘è‚Ȃ̂̓\[ƒX‚̉ü•Ï‚¾B ƒ‹[ƒv‰ñ”‚ð16‰ñ‚ÆŒˆ‚ߑł¿‚µ‚½‚±‚ƂŠ8*2 ‚É“WŠJ‚³‚ê‚Ä‚¢‚éB ‚»‚ÌŒ‹‰ÊAŒ³‚̃\[ƒXi‰´‚ª‘˜‹ö‚µ‚½ó‹µj‚ł͔¶‚µ‚¦‚È‚¢‚±‚Æ‚ª”¶‚µ‚Ä‚¢‚éB ‚±‚ê‚ł͈Ӗ¡‚ª‚È‚¢B ‚»‚µ‚ÄAŒN‚ÌŒ‹˜_‚͊ԈႢ‚¾B ~ > ³Ýº‚Ý‚½‚¢‚ÈÅ“K‰»‚ʼn‰ŽZ‚̇˜‚ª“ü‚ê‘Ö‚í‚Á‚½‚¹‚¢‚ÅAŒë·‚ª”¶‚µ‚Ä‚¢‚é‚à‚Ì‚Æl‚¦‚ç‚ê‚é ‹tƒAƒZƒ“ƒuƒ‹‚ð’Ç‚¦‚Εª‚©‚邪A‰‰ŽZ‡˜‚Í“ü‚ê‘Ö‚í‚Á‚Ä‚¢‚È‚¢B Œ´ˆö‚ÍADebug‚Å‚Í fld/fmul/fadd/fstp ‚Æ–ˆ‰ñ64bit‚É®Œ`‚³‚ê‚é‚̂ɑ΂µA Release‚Å‚Í (fld/fmul/fadd)*8 + fstp ‚Æ®Œ`‚ª8‰ñ‚É1‰ñ‚ÆŒ¸‚èA 8‰ñ‚Í80bit(Šg’£”{¸“xj‚ʼn‰ŽZ‚³‚ê‚é‚©‚炾B (‚±‚¤‚È‚Á‚½‚̂͌N‚ª16‰ñƒ‹[ƒvŒˆ‚ߑł¿ƒR[ƒh‚ɉü•Ï‚µ‚½‚©‚ç) ‚½‚¾‚µIDEã‚Ì fpu control registor ‚Ì’l‚Í ‘Š•Ï‚í‚炸0x027F(”{¸“xj‚ƂȂÁ‚Ä‚¨‚èA IDE‚Ì‚±‚Ì•\ަ‚ª“–‚ĂɂȂç‚È‚¢Ž–‚Í•ª‚©‚éB ‚È‚¨VC++2008‚Å‚ÍÄŒ»‚µ‚È‚©‚Á‚½B ‰´‚̊‹«‚Å‚ÍA16‰ñŒˆ‚ߑł¿ƒR[ƒh‚Å‚à 8*2 ‚É“WŠJ‚³‚ꂸADebug‚Æ“¯‚¶ƒR[ƒh‚¾‚©‚炾B –ܘ_Œ‹‰Ê‚à“¯‚¶‚¾‚Á‚½B
219 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/16(“ú) 13:33:48.22 ID:zL1WUjLu.net] >>199 –â‘è‚ÍA‰´‚̊‹«‚ʼn´‚ª’ñ‹Ÿ‚µ‚½ƒR[ƒh>>192 ‚¾‚ÆA “¯—l‚É“WŠJ‚³‚ê‚È‚¢‚É‚àŠÖ‚í‚炸Aw‹N“®•û–@‚É‚æ‚Á‚ÄxŒ‹‰Ê‚ªˆÙ‚È‚Á‚Ä‚µ‚Ü‚¤“_‚¾B ‰´‚̊‹«‚Å‚ÌRelease/Debug‚Ì‹tƒAƒZƒ“ƒuƒ‹Œ‹‰Ê‚Ìdiff‚͈ȉºB 17c17 < 0000000c cmp dword ptr ds:[001C2E14h],0 --- > 0000000c cmp dword ptr ds:[00702E14h],0 19c19 < 00000015 call 68302BA9 --- > 00000015 call 683A5AB1 93c93 < 0000015a call FF6C3098 --- > 0000015a call FFCA57E8 98c98 < 0000016f push 0B5311Ch --- > 0000016f push 0D03188h 104,105c104,105 < 00000183 push 4F9D68h < 00000188 call FF6C30A4 --- > 00000183 push 2B71C0h > 00000188 call FFCA57F4 ƒAƒhƒŒƒX‚Ì•ÏX‚¾‚¯‚Å‚ ‚èAŒN‚ÌŒ‹‰Ê uƒ‹[ƒv‰ñ”‚ðŒˆ‚ß‘Å‚¿‚µ‚½‚±‚Ƃɂæ‚èƒAƒ“ƒ[ƒŠƒ“ƒO‚³‚êAˆê•”‚̉‰ŽZ‚ªx87¸“x‚ÅŒvŽZ‚³‚ê‚év‚ɂ͊Y“–‚µ‚È‚¢B ‚»‚µ‚ÄA‚±‚Ìó‹µ‚Å‚àŒ‹‰Ê‚ªˆÙ‚È‚Á‚Ä‚µ‚Ü‚¤‚±‚Æ‚ª–â‘è‚Ȃ̂¾B ŒN‚ÍŒN‚ªŸŽè‚ÉV‚µ‚ì‚èž‚ñ‚¾–â‘è‚ɑ΂µAŠÔˆá‚Á‚½Œ‹˜_‚Å‚¨’ƒ‚ð‘÷‚µ‚½‚É‚·‚¬‚È‚¢B ŒN‚ª’m‚Á‚Ä‚¢‚éFPUŠÖ˜A‚Ì‚±‚Ƃ͂±‚¿‚ç‚à’m‚Á‚Ä‚¢‚éã‚ÅAŽ¿–₵‚Ä‚¢‚éB
220 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/16(“ú) 13:53:17.67 ID:haV9TZ8e.net] >>214 ‚È‚é‚Ù‚ÇA‘S‚•Ê‚Ì2‚‚̗—R‚ÅA¸“x‚ª•Ï‚í‚Á‚Ä‚¢‚é‰Â”\«i‚Æ‚¢‚¤‚æ‚葽•ªAŠmŽÀj‚ª‚ ‚邯B ‚»‚ê‚͈ȉº‚Ì2‚ÂF 1. Debug”Å‚ÆRelease”łłÍAÅ“K‰»‚ÌŒ‹‰ÊAx87 FPU–½—߂̎g‚í‚ê•û‚ª•Ï‚í‚éB @ x87‚Å‚ÍAƒƒ‚ƒŠ‚É‘‚«–ß‚³‚¸‚É st(0)`st(7)ƒŒƒWƒXƒ^‚É“ü‚Á‚Ä‚¢‚é“r’†‚Å‚ÍA @Šg’£”{¸“x‚Ì80BIT‚ÅŒvŽZ‚³‚ê‚邪A‘‚«–ß‚·‚Ædouble‚Ìꇂłà64BIT‚ÉŠÛ‚ß @‚ç‚ê‚éB‚È‚é‚ׂƒƒ‚ƒŠ‚É‘‚«–ß‚³‚¸‚ɃŒƒWƒXƒ^‚Á‚½•û‚ª‚‘¬‚Ȃ̂ÅARelease”Å @‚Å‚ÍA80BIT‚ÅŒvŽZ‚³‚ê‚éuŠúŠÔv‚ª‘½‚‚È‚éB‚»‚Ì‚½‚ßADebug”Å‚ÆRelese”Å‚Å‚Í @Œ‹‰Ê‚ª‹Í‚©‚Ɉá‚Á‚Ä‚‚éB 2. fpu control word ‚ªˆá‚Á‚Ä‚¢‚ÄAst(0)`st(7)‚É“ü‚Á‚Ä‚¢‚Ä‚àAŒvŽZ‚ª @80BIT‚©A64BITA32BIT‚̂ǂê‚ÅŒvŽZ‚³‚ê‚é‚©ˆÙ‚È‚Á‚½‚èAŠÛ‚ß•û‚ªŽlŽÌŒÜ“ü @‚©A³•‰“ñŽí—Þ‚Ì•ûŒü‚ÌØ‚èŽÌ‚ĂȂǂª•Ï‚í‚Á‚Ä‚¢‚éB ‚»‚µ‚ÄAIDE‚©‚ç‹N“®‚µ‚½ê‡‚ÆAƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚©‚ç‹N“®‚µ‚½ê‡‚ÅŒ‹‰Ê‚ªˆá‚¤ ‚Ì‚ÍAu2.v‚Ì——R‚É‚æ‚é‚à‚̂ł͂Ȃ¢‚©‚ÆB‚»‚µ‚ÄAŽÀÛ‚ÉAƒCƒ“ƒ‰ƒCƒ“ƒAƒZƒ“ƒuƒ‰ ‚Å fpu control word ‚ð“ǂݎæ‚Á‚Ä‚Ý‚é‚ÆA•sˆÀ’è‚È’l‚ª“Ç‚Ýo‚³‚ꂽ‚ÆB
221 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2018/09/16(“ú) 13:58:15.86 ID:haV9TZ8e.net] ‚Ü‚¸A __asm{ @fnstcw [cw]; } ‚ł͂ȂA_control87() ‚ðŽg‚Á‚Ă݂ė~‚µ‚¢B ƒCƒ“ƒ‰ƒCƒ“ƒAƒZƒ“ƒuƒ‰‚ÍA“Æ—§‚µ‚½ *.asm ‚Å‘‚‚æ‚èŠëŒ¯‚Èꇂª ‚ ‚é‚©‚à’m‚ê‚È‚¢‚Ì‚ÅB“Á‚ÉCŠÖ”‚̈ø”A¡‚ÌꇂÍAucwv‚ð ƒCƒ“ƒ‰ƒCƒ“EƒAƒZƒ“ƒuƒ‰‚Å—p‚¢‚½ê‡A³‚µ‚¢ƒR[ƒh‚ªo‚Ä‚¢‚é‚©‚Ç‚¤‚© ‚Í’ˆÓ‚ª•K—vB
222 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/16(“ú) 14:05:28.41 ID:haV9TZ8e.net] >>209 ‚悌©‚邯A‚»‚ê‚ÍA‚©‚Ȃ蕡ŽG‚ÈŽ–—‚Ý‚»‚¤‚ȃR[ƒhB ˆÈ‰º‚̂悤‚É‚µ‚½•û‚ªˆÀSB‚È‚¨Aucwv‚Æ‚¢‚¤’Z‚·‚¬‚
223 –¼‘OFéˆø”–¼ ‚à’·”N‚̃vƒƒOƒ‰ƒ~ƒ“ƒOŒoŒ±‚©‚ç‚·‚邯AƒCƒ“ƒ‰ƒCƒ“ƒAƒZƒ“ƒuƒ‰‚Å‚Í •|‚¢B‚Ü‚½A TTTT reg,ˆø”–¼ ‚â TTTT ˆø”–¼ ‚Í‘åä•v‚Å‚àA TTTT reg,[ˆø”–¼] ‚â TTTT [ˆø”–¼] ‚Í1–½—߂ł͕s‰Â”\‚ÈŽ–‚ðƒRƒ“ƒpƒCƒ‰‚ÉŽwަ‚µ‚Ä‚¢‚鎖‚ɂȂé‚̂Š‚¿‚å‚Á‚Æ•|‚¢BŠÔÚ‚ÌŠÔÚA‚‚܂èA[[ebp+8]]‚Ý‚½‚¢‚ÈŽ–‚ð—v‹ ‚µ‚Ä‚¢‚邪A‚»‚ñ‚ȃIƒyƒ‰ƒ“ƒh‚ªŽg‚¦‚éƒAƒZƒ“ƒuƒŠ–½—ß‚Íx86/x64 ‚ł͑¶Ý‚µ‚È‚¢‚Ì‚ÅB #pragma unmanaged inline void fpu_getcw(unsigned short *pCW) { @__asm{ @@mov edx,pCW @@fnstcw [edx]; @} } #pragma managed [] [‚±‚±‰ó‚ê‚Ă܂·]
224 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/16(“ú) 14:17:40.34 ID:haV9TZ8e.net] ‚ AŒãAƒCƒ“ƒ‰ƒCƒ“EƒAƒZƒ“ƒuƒ‰‚ÅŽÀŒ±‚·‚éꇂÍAŠÖ”–¼‚Ì inline ‚Í uŽæ‚Á‚½v•û‚ª‚¢‚¢B‚‚܂èAˆÈ‰º‚Ì•û‚ªˆÀSF #pragma unmanaged void fpu_getcw(unsigned short *pCW) { @__asm{ @@mov edx,pCW @@fnstcw [edx]; @} } #pragma managed
225 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/16(“ú) 15:23:18.78 ID:h8nMbN0G.net] ‚Ü‚½Šî–{‚ɖ߂邪A>>193 ‚Å/MD‚ɂȂÁ‚Ä‚é‚̂Š/MT‚â/MTd‚Å‚à”¶‚·‚é‚©‚µ‚Ă݂½•û‚ª‚¢‚¢
226 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/16(“ú) 15:37:02.44 ID:Q5j4SiHR.net] .net‚Íx87ƒRƒ“ƒeƒLƒXƒg‚ð‚·‚×‚Ä•ÛŽ‚µ‚Ü‚¹‚ñ‚Á‚Ä•ª‚©‚Á‚½‚ñ‚¾‚©‚ç‚à‚¤\•ªB win32‚©x64‚É‚·‚ê‚ΉðŒˆB‚»‚à‚»‚à–â‘è‚ɂȂéŽd—lƒoƒO‚¶‚á‚È‚¢B
227 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/16(“ú) 15:40:56.17 ID:haV9TZ8e.net] >>220 ƒzƒ“ƒg‚¾B/MD‚¾‚ÆARuntime Library ‚Æ‚µ‚Ä DLL ‚Ì‚à‚Ì‚ðŽg‚Á‚Ä‚µ‚Ü‚¤B ‚±‚ê‚ÍA¡‰ñ‚ÌŒ»Û‚É”ñí‚Éd—v‚ȉe‹¿‚ð—^‚¦‚Ä‚¢‚é‚©‚à’m‚ê‚È‚¢B
228 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/16(“ú) 15:42:36.82 ID:haV9TZ8e.net] >>221 ‚¢‚âA‚Ü‚¾‚Ü‚¾‹»–¡[‚¢B ‚±‚±‚ÅI‚í‚点‚¸‚É‚à‚Á‚Æ“O’ꂵ‚Ä’Ç‹y‚·‚ׂ«‚¾B
229 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/16(“ú) 15:48:45.63 ID:zL1WUjLu.net] >>212 ‚»‚ê‚͂ǂ¤‚â‚çclr‚ł͎g‚¦‚È‚¢‚炵‚¢B > These functions are ignored when you use /clr (Common Language Runtime Compilation) or /clr:pure to compile > because the common language runtime (CLR) only supports the default floating-point precision. > https://msdn.microsoft.com/en-us/library/e9b52ceh.aspx ‚Ƃ͂¢‚¦–³—–î—‚â‚Á‚Ă݂½BŒx‚Ío‚邪ƒRƒ“ƒpƒCƒ‹‚Í’Ê‚éB Œ‹‰Ê‚ÍA‚Ç‚±‚É’u‚¢‚Ä‚àADebug/Release‚Å‚àAí‚É 0x9001f ‚ª“Ç‚Ýo‚³‚ê‚éB ‚½‚¾‚µA‚±‚ê‚Íã‹L‚ÌŽd—l‚©‚炵‚ÄA“–‚ĂɂȂç‚È‚¢B
230 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/16(“ú) 15:49:44.99 ID:zL1WUjLu.net] >>219 218‚̃R[ƒh‚ÅŽŽ‚µ‚Ă݂½Œ‹‰ÊA209‚ÅŒ¾‚Á‚½•sˆÀ’肳‚͂Ȃ‚È‚èA ‘S‚Ăɂ¨‚¢‚Ä 0x027f ‚ªˆÀ’肵‚ēǂÝo‚¹‚邿‚¤‚ɂȂÁ‚½B ‚½‚¾‚µ‚»‚̉ߒö‚Å‹C‚¢‚½‚ªA IDE‚©‚ç‹N“®‚µ‚½ê‡‚ÍReleaseƒrƒ‹ƒh‚Å‚ ‚Á‚Ä‚àAu–¢‰Šú‰»‚̃Xƒ^ƒbƒN’lv‚à0x00‚ª“Ç‚Ýo‚¹‚邿‚¤‚¾B ‚Ç‚¤‚â‚炱‚ꂪŒ´ˆö‚̉”\«‚ªo‚Ä‚«‚½Bi‚Í‚Á‚«‚茾‚Á‚ĉ´‚̃oƒO‚¾‚ªj ƒR[ƒh‚͈ȉº‚̒ʂ肾‚ªA unsigned short fpu_cw, fpu_cw_after; // fpu_getcw(&fpu_cw); double norm = calc_norm_and_regulate(count, inputs, false); fpu_getcw(&fpu_cw_after); Console::Write(String::Format("{0:D}, 0x{0:x4}\r\n",fpu_cw)); Console::Write(String::Format("{0:D}, 0x{0:x4}\r\n",fpu_cw_after)); “Ç‚Ýo‚µ‚Æ‘‚«o‚µ(Console::Write)‚𗼕û‚Æ‚àƒRƒƒ“ƒgƒAƒEƒg‚·‚é‚Ì‚ª–Ê“|‚Ȃ̂ÅA FXŽŽ‚·ÛA“Ç‚Ýo‚µ‚¾‚¯ƒRƒƒ“ƒgƒAƒEƒg‚µA•s’è‚ð•\ަ‚³‚¹‚Ä”]“à‚ÅÈ—ª‚µ‚Ä‚¢‚½‚Ì‚¾‚ªA IDE‚©‚ç‹N“®‚µ‚½ê‡‚ÍReleaseƒrƒ‹ƒh‚Å‚ ‚Á‚Ä‚à•K‚¸0x0000‚ª•\ަ‚³‚ê‚鎖‚É‹C‚¢‚½B ã‹Lw‰Šú‰»‚µ‚Ä‚¢‚È‚¢x fpu_cw ‚ð Releaseƒrƒ‹ƒh‚ðƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚©‚çŽÀsF •s’è Releaseƒrƒ‹ƒh‚ðIDE‚©‚çŽÀsF í‚É0x0000 ‚ƂȂéB ŽÀs‘O‚É‚ ‚ç‚©‚¶‚߃Xƒ^ƒbƒN—̈æ‚ð0fill‚Å‚à‚µ‚Ä‚¢‚é‚Ì‚©H ‚Ü‚ ‚±‚ê‚É“–‚½‚Á‚Ä‚¢‚é‚̂ȂçŠmŽÀ‚ɉ´‚̃oƒO‚¾‚µA‚±‚ê‚È‚ç’Òåë‚͇‚Á‚Ä‚µ‚Ü‚¤‚Ì‚¾‚ªB
231 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/16(“ú) 15:51:01.50 ID:zL1WUjLu.net] >>219 ‚È‚¨A‹tƒAƒZƒ“ƒuƒ‹‚ŃR[ƒhƒoƒCƒg‚ð•\ަ‚³‚¹‚ÄŠm‚©‚߂邱‚Æ‚Ío—ˆ‚éB ³‚µ‚¢ƒR[ƒh‚Ío‚Ä‚¢‚éB(‚½‚¾‚µ•sˆÀ’èj inline void fpu_getcw(unsigned short* cw) { 00DA1540 55 push ebp 00DA1541 8B EC mov ebp,esp __asm{ fnstcw [cw]; 00DA1543 D9 7D 08 fnstcw word ptr [cw] } } 00DA1546 5D pop ebp 00DA1547 C3 ret fnstcw‚Í D9 /7 ‚Å 7D ‚È‚ç [EBP+disp8] ‚ƂȂèA 7D 08 ‚Í [EBP+08] ‚ƂȂéB ‚‚܂èƒXƒ^ƒbƒNƒ|ƒCƒ“ƒ^+8‚̗̈æ‚É‘‚«–ß‚¹A‚ƂȂéB [ebp+0]‚ÍŒ³‚Ìebp‚ª“ü‚Á‚Ä‚¢‚é‚©‚çA(push‚µ‚Ä‚¢‚é‚Ì‚Åj [ebp+4]‚Écall‚Ì–ß‚è’lƒAƒhƒŒƒX [ebp+8]‚Écwi‘æˆêˆø”j‚ª“ü‚Á‚Ä‚¢‚邱‚ƂɂȂéB ‚±‚ê‚ͳ‚µ‚¢ƒR[ƒh‚¾B ‚µ‚©‚µÄ“xŽŽ‚µ‚½‚ªAŠm‚©‚É•sˆÀ’肾B‰½ŒÌ‚©‚Í•ª‚©‚ç‚ñB inlineŽæ‚Á‚Ă݂Ăà•sˆÀ’è‚̂܂ÜB > ‚»‚ñ‚ȃIƒyƒ‰ƒ“ƒh‚ªŽg‚¦‚éƒAƒZƒ“ƒuƒŠ–½—ß‚Íx86/x64 > ‚ł͑¶Ý‚µ‚È‚¢‚Ì‚ÅB ³’¼A/7‚̈Ӗ¡‚ª•ª‚©‚ç‚È‚¢‚Ì‚¾‚ªAà–¾‚Í > /digit | 0 ‚©‚ç7 ‚Ü‚Å‚Ì”Žš‚ÅA–½—ß‚ÌModR/M ƒoƒCƒg‚ªr/miƒŒƒWƒXƒ^‚Ü‚½‚̓ƒ‚ƒŠjƒIƒyƒ‰ƒ“ƒh‚¾‚¯‚ðŽg—p‚·‚邱‚Æ‚ðŽ¦‚·B > reg ƒtƒB[ƒ‹ƒh‚É‚ÍA–½—߂̃IƒyƒR[ƒh‚ðŠg’£‚·‚é”Žš‚ª“ü‚Á‚Ä‚¢‚éB(Intel‚̃}ƒjƒ…ƒAƒ‹‚æ‚èj ‚ƂȂÁ‚Ä‚¢‚é‚Ì‚¾‚ªA‚±‚ê‚͂ǂ¤‚¢‚¤ˆÓ–¡‚¾H ModR/MƒoƒCƒg‚ª‘S•”Žg‚¦‚邯‚·‚邯 [ebp+disp8]o—ˆ‚邱‚ƂɂȂéB‚»‚µ‚Ä‚»‚̃R[ƒh‚Ío‚Ä‚¢‚éB ‚½‚¾‚µA“®ì‚͉ö‚µ‚¢‚Ì‚àŽ–ŽÀB ModR/M‚̈ꕔ‚µ‚©Žg‚¦‚È‚¢A‚Æ‚¢‚¤‚±‚Æ‚©H
232 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/16(“ú) 15:51:25.16 ID:zL1WUjLu.net] >>219 218‚̃R[ƒh‚¾‚ÆA 00381002 EC in al,dx __asm{ mov edx,pCW 00381003 8B 55 08 mov edx,dword ptr [pCW] fnstcw [edx]; 00381006 D9 3A fnstcw word ptr [edx] } } 00381008 5D pop ebp 00381009 C3 ret D9 3A ‚È‚ç‚Ü‚ñ‚Ü fnstcw [edx] ‚¾B ——R‚Í•ª‚©‚ç‚ñ‚ª‚±‚¿‚炾‚ƈÀ’肵‚Ä‚¢‚é‚Ì‚ÅAŒ‹‰Ê‚Æ‚µ‚Ă͂±‚Ì‚â‚è•û‚ª³‚µ‚¢B
233 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/16(“ú) 16:02:47.64 ID:haV9TZ8e.net] >>226 ‚ð‚ðB‚â‚Í‚èA‚ ‚éˆÓ–¡‚Å‚ÍVC‚ªŠÔˆá‚Á‚½ƒAƒZƒ“ƒuƒŠƒR[ƒh‚ðo‚µ‚Ä‚¢‚½‚æB ‚»‚ꂾ‚ÆA fnstcw [EBP+08] ‚Æ‚¢‚¤ˆÓ–¡‚ɂȂÁ‚Ä‚µ‚Ü‚Á‚ÄA fnstcw pCW ‚̈Ӗ¡‚ɂȂÁ‚Ä‚¢‚éB‚‚܂èF pCW = control_word; ‚ ‚È‚½‚ªA‚â‚肽‚¢‚Ì‚ÍA *pCW = control_word; ‚¾‚Á‚½‚Ì‚¾‚©‚çAƒAƒZƒ“ƒuƒŠEƒR[ƒh‚ªŠÔˆá‚Á‚Ä‚éB ‚ ‚È‚½‚ªŽwަ‚µ‚½‚Ì‚ÍA fnstcw [pCW] ‚¾‚Á‚½BŽÀۂɶ¬‚³‚ꂽƒR[ƒh‚ÍA fnstcw pCW ‚¾‚Á‚½B VC ‚̃Cƒ“ƒ‰ƒCƒ“ƒAƒZƒ“ƒuƒ‰‚ÍAƒGƒ‰[‚ào‚³‚¸‚ÉŠÔˆá‚Á‚½ƒR[ƒh‚ð o‚·‚±‚Æ‚ªØ–¾‚³‚ꂽB ‚±‚ê‚ÆA¸“x‚ª•sˆÀ’è‚È–â‘è‚Æ‚Í‘S‚•ʂł͂ ‚邯‚ê‚ÇB
234 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/16(“ú) 16:06:05.39 ID:zL1WUjLu.net] ‚·‚Ü‚ñAŠÔˆá‚¢‚ÌC³ >>225 ~ > ‚Ç‚¤‚â‚炱‚ꂪŒ´ˆö‚̉”\«‚ªo‚Ä‚«‚½Bi‚Í‚Á‚«‚茾‚Á‚ĉ´‚̃oƒO‚¾‚ªj ~ > ‚Ü‚ ‚±‚ê‚É“–‚½‚Á‚Ä‚¢‚é‚̂ȂçŠmŽÀ‚ɉ´‚̃oƒO‚¾‚µA‚±‚ê‚È‚ç’Òåë‚͇‚Á‚Ä‚µ‚Ü‚¤‚Ì‚¾‚ªB ¡‰ñ‚͉´‚Í‚ ‚‚܂ʼn´‚Ì–{”ÔƒR[ƒh‚̃fƒoƒbƒO‚ð”O“ª‚É’u‚¢‚Ä‚¢‚ÄA‚±‚Ì”Œ¾‚¾‚Á‚½B ‚½‚¾‚µ>>192 ‚ÌÄŒ»ƒR[ƒh‚Åw•s’èƒXƒ^ƒbƒN—̈æx‚ð’Í‚ñ‚Å‚¢‚é‚킯‚à‚È‚A ˆê‰žIDE‹N“®‚ƃRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‹N“®‚ł̋““®‚̈Ⴂ‚ðÄŒ»o—ˆ‚Ä‚¢‚é‚킯‚¾‚©‚çA ‚±‚ꂾ‚¯‚ª–â‘è‚ł͂Ȃ¢‚Ì‚àŽ–ŽÀ‚¾B ‰´‚ɂƂÁ‚Ă͈ê‚ÂV‚µ‚¢’mŒ©‚Æ‚µ‚ÄA EIDE‚©‚ç‹N“®‚µ‚½ê‡AƒXƒ^ƒbƒN‚ª‰Šú‰»‚³‚ê‚é‚Á‚Û‚¢ ‚Æ‚¢‚¤‚±‚Æ‚ª•ª‚©‚Á‚½B‚Ƃ͂¢‚¦OS‚Í0fill‚µ‚Ä‚©‚çŠeƒvƒƒZƒX‚Ƀƒ‚ƒŠ‚ð—^‚¦‚é‚Ì‚ÅAŽÀÛ‚ÍA EƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‹N“®‚È‚çmain‘O‚Éݒ肵‚½‘±‚«‚Å‚»‚̂܂܎ÀsA EIDE‹N“®‚È‚çmain‘O‚ÉFX‚â‚Á‚Ä0fill‚µ‚ÄŽÀsA @ˆ½‚¢‚Ímain‘O‚ÉFX‚â‚邱‚Æ‚ª‘½‚AƒXƒ^ƒbƒN‚ªi‚ÝA(—Ⴆ‚΃fƒoƒbƒK‚ðƒAƒ^ƒbƒ`‚·‚éˆ×) @Œ‹‰Ê“I‚ÉOS‚ª‰Šú‰»Ï‚݂̗̈悩‚çŽn“® ‚ƂȂÁ‚ĈႢ‚ª”¶‚·‚邯‚¢‚¤‚Æ‚±‚ë‚©B
235 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/16(“ú) 16:11:52.18 ID:haV9TZ8e.net] >>226 >³’¼A/7‚̈Ӗ¡‚ª•ª‚©‚ç‚È‚¢‚Ì‚¾‚ªA ModRM ‚Æ‚ÍA mod reg r/m 76 543 210 ‚̂悤‚ȃIƒyƒ‰ƒ“ƒh‚ðŽw‚µ‚Ä‚¢‚é‚Ì‚¾‚¯‚ÇA/7 ‚ÍAreg‚Ì•”•ª‚ð2i”‚Ì111A 10i”‚Ìu7v‚É‚·‚邯‚¢‚¤ˆÓ–¡B‚±‚̃^ƒCƒv‚̃}ƒVƒ“Œê‚ÍA mod ttt r/m ‚Æ‚à‘‚©‚ê‚éBttt‚Ì•”•ª‚ÍA–½—߂̎劲•”•ª(ƒjƒ‚ƒjƒbƒN•”•ª)‚É‚æ‚Á‚ĕςí‚éB •’Ê‚ÍAƒŒƒWƒXƒ^”Ô†‚ð“ü‚ê‚邯‚±‚ë‚ÉA–½—߂̎í—Þ‚ð•\‚·3BIT‚Ì’l‚ð“ü‚ê‚é Žd—l‚ɂȂÁ‚Ä‚¢‚éB ‚ ‚È‚½‚ªƒCƒ“ƒ‰ƒCƒ“ƒAƒZƒ“ƒuƒ‰‚ÅVC‚Éo‚³‚¹‚½‚©‚Á‚½ƒR[ƒh‚ÍAˆÓ–¡“I‚É‚ÍA fnstcw [[EBP+08]] ‚Ȃ̂¾‚ªA[ ] ‚ð“ñd‚É‚µ‚½‚悤‚È‚»‚ñ‚Èx86/x64–½—߂͑¶Ý‚µ‚È‚¢‚̂ŠVC ‚ªƒGƒ‰[‚ào‚³‚¸‚ÉŸŽè‚Ɉêd‚Ì fnstcw [EBP+08] ‚É‚µ‚Ä‚µ‚Ü‚Á‚½A‚Æ‚¢‚¤Ž–B–{“–‚ÍA mov edx,[EBP+08] fnstcw [edx]
236 –¼‘OF ‚Æ‚¢‚¤ƒR[ƒh‚É‚µ‚È‚‚Ă͂Ȃç‚È‚©‚Á‚½‚Ì‚ÉAVC‚ª‚ ‚éˆÓ–¡‚ł͊Ԉá‚Á‚½B ‚±‚ꂪA’P“Æ‚Ì *.asm ‚ł͂ȂAVC ‚Ì asm {EEE}@‚ªŠëŒ¯‚È——RB VC ‚Ì asm ‚Í“Á‚Ɋ댯B [] [‚±‚±‰ó‚ê‚Ă܂·]
237 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/16(“ú) 16:17:02.07 ID:haV9TZ8e.net] >>229 >‚½‚¾‚µ>>192 ‚ÌÄŒ»ƒR[ƒh‚Åw•s’èƒXƒ^ƒbƒN—̈æx‚ð’Í‚ñ‚Å‚¢‚é‚킯‚à‚È‚A >ˆê‰žIDE‹N“®‚ƃRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‹N“®‚ł̋““®‚̈Ⴂ‚ðÄŒ»o—ˆ‚Ä‚¢‚é‚킯‚¾‚©‚çA >‚±‚ꂾ‚¯‚ª–â‘è‚ł͂Ȃ¢‚Ì‚àŽ–ŽÀ‚¾B ‚»‚¤‚¾‚æB¸“x‚ª•Ï‚í‚é‚̂͂ ‚È‚½‚̊ԈႢ‚ł͂Ȃ¢BƒXƒ^ƒbƒN—̈悪0ƒNƒŠƒA ‚³‚ê‚æ‚¤‚ª‚ê‚Ü‚¢‚ªA‚ ‚È‚½‚̃R[ƒhŽ©‘̂ɂ͓Á‚É•sˆÀ’肳‚͂Ȃ¢B ”ñ‰Šú‰»—̈æ‚ðŽQÆ‚µ‚Ä‚¢‚éƒR[ƒh‚ÍŒ©“–‚½‚ç‚È‚¢‚µB
238 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/16(“ú) 16:20:22.27 ID:haV9TZ8e.net] ‹tƒAƒZƒ“ƒuƒ‰Œ‹‰Ê‚ðŒ©‚Ä‚È‚¢‚ÅŒ¾‚¤‚¯‚ÇA‚à‚µAsqrt() ‚ª call•¶‚ÅŠÖ”ŒÄ‚Ño‚µ ‚³‚ê‚Ä‚¢‚é‚ñ‚¾‚Á‚½‚çA‚»‚±‚Ÿ“x‚̈Ⴂ‚ªo‚Ă邩‚à‚µ‚ê‚È‚¢B
239 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/16(“ú) 16:23:20.75 ID:zL1WUjLu.net] >>228 ‚È‚é‚Ù‚ÇA—¹‰ð‚µ‚½B ‚‚܂èA>>210 ‚Í‘S–Ê“I‚ɊԈႢ‚ÅA³‚µ‚‚ÍA Efpu control register ‚Í 0x027F ‚ÅAIDE‚©‚ç‚ೂµ‚“ǂ߂Ă¢‚é ‚¾‚ÈB ‰´‚ª‚â‚é‚ׂ«‚¾‚Á‚½‚Ì‚Í fnstcw [[cw]] ‚Ȃ̂¾‚ÆŽv‚¤‚ªA‚±‚ê‚ÍSyntaxError‚¾B ‚»‚µ‚ÄA‚±‚ñ‚È–½—߂͂Ȃ¢‚©‚çA []“à‚ɕϔ‚ð‘‚©‚¸AƒŒƒWƒXƒ^–¼‚É‚µ‚ëA‚Æ‚¢‚¤‚±‚Æ‚¾‚Á‚½‚Ì‚¾‚ÈB ‘S‚‚à‚Á‚Ä—¹‰ð‚¾B VC‚Ì–â‘è‚ł͂Ȃ‚ÄA ‰´‚ª fnstcw [cw] ‚Æ‘‚¢‚½‚Ì‚ªŠÔˆá‚¢‚ÅA‚»‚ê‚ð‚»‚Ì‚Ü‚ÜƒR[ƒh‚É‚³‚ê‚Ä‚µ‚Ü‚Á‚½‚¾‚¯‚¾‚ÈB ³‚µ‚‘‚¯‚ÎSyntaxError‚¾‚Á‚½‚Ì‚¾‚µB ‚È‚¨ fnstcw [*cw] ‚àSyntaxError‚¾BŽè“®‚ňê’UƒŒƒWƒXƒ^‚Ɉڂ³‚È‚¢‚Ƒʖڂ¾‚ÈB ‘S‚‚à‚Á‚Ä>>219 ‚̃R[ƒh‚ª³‚µ‚¢B
240 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/16(“ú) 16:35:08.59 ID:LrdaMWHl.net] >>233 >‰´‚ª‚â‚é‚ׂ«‚¾‚Á‚½‚Ì‚Í fnstcw [[cw]] ‚Ȃ̂¾‚ÆŽv‚¤‚ªA‚±‚ê‚ÍSyntaxError‚¾B ‚¿‚å‚Á‚ƈႤB‚ ‚È‚½‚Í‚â‚é‚ׂ«‚±‚Æ‚ð‚¿‚á‚ñ‚Ƴ‚µ‚A fnstcw [cw] ‚Æ‘‚¢‚½B‚µ‚©‚µAcw=[ebp+8]‚Ȃ̂ÅA‚±‚ê‚ÍA fnstcw [[ebp+8]] ‚Æ‚¢‚¤uˆÓ–¡v‚ɂȂéB‚Å‚àAx86/x64‚̃}ƒVƒ“Œê‚ɂ͂±‚ñ‚È[ ]‚ð“ñd‚É‚µ‚½ ƒIƒyƒ‰ƒ“ƒh‚Í‘¶Ý‚µ‚È‚¢‚Ì‚ÅAVC‚ª–³’f‚ÅŸŽè‚É[ ]‚ðˆêd‚É‚µ‚ÄA fnstcw [ebp+8] ‚ɉü•Ï‚µ‚Ä‚µ‚Ü‚Á‚½B **(ebp+8) = control_word; ‚Æ‚µ‚È‚‚Ă͂Ȃç‚È‚¢‚Ì‚ÉAVC‚ªŸŽè‚ÉA *(ebp+8) = control_word; ‚Æ‚µ‚½‚Æ‚¢‚¤‚±‚ÆB
241 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/16(“ú) 16:36:04.13 ID:zL1WUjLu.net] >>230-231 —¹‰ð‚¾B‚ ‚肪‚Æ‚¤B >>232 ‚»‚Ì•”•ª‚Ì‹tƒAƒZƒ“ƒuƒ‰‚͈ȉº‚Ì’Ê‚èB •’Ê‚Écall‚³‚ê‚Ä‚¢‚éB(s”ƒI[ƒo[‚È‚Ì‚ÅØ‚邪) ‚½‚¾‚µA > ‚»‚±‚Ÿ“x‚̈Ⴂ‚ªo‚Ă邩‚à‚µ‚ê‚È‚¢ ‚Ƃ̌q‚ª‚肪‚æ‚‚©‚ç‚È‚¢B sqrt()‚Åcall‚³‚ê‚邯AƒXƒ^ƒbƒN‚ª‰ü•Ï‚³‚ê‚éB‚¨‚»‚炃f[ƒ^ˆË‘¶‚©H ‚Ȃ疢‰Šú‰»‚̃Xƒ^ƒbƒN‚ð’݂͂És‚Á‚Ä‚¢‚éƒR[ƒh‚ª—L‚ê‚΃oƒO‚éB ‚½‚¾‚µ¡‰ñ‚ÌwÄŒ»ƒR[ƒhx‚Í‚±‚ÌŒÀ‚è‚ł͂Ȃ¢B i‰´‚Ì–{”ÔƒR[ƒh‚Í‚³‚Ä‚¨‚«j
242 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/16(“ú) 16:37:19.30 ID:zL1WUjLu.net] >>232 ‹tƒAƒZƒ“ƒuƒ‰ for (int i=0;i<num;i++) norm += (double)r[i] * (double)r[i]; 00000033 33 D2 xor edx,edx 00000035 89 55 E8 mov dword ptr [ebp-18h],edx 00000038 90 nop 00000039 EB 03 jmp 0000003E 0000003b FF 45 E8 inc dword ptr [ebp-18h] 0000003e 8B 45 E8 mov eax,dword ptr [ebp-18h] 00000041 3B 45 FC cmp eax,dword ptr [ebp-4] 00000044 7D 1B jge 00000061 00000046 8B 45 F8 mov eax,dword ptr [ebp-8] 00000049 8B 55 E8 mov edx,dword ptr [ebp-18h] 0000004c DD 04 D0 fld qword ptr [eax+edx*8] 0000004f 8B 45 F8 mov eax,dword ptr [ebp-8] 00000052 8B 55 E8 mov edx,dword ptr [ebp-18h] 00000055 DC 0C D0 fmul qword ptr [eax+edx*8] 00000058 DC 45 F0 fadd qword ptr [ebp-10h] 0000005b DD 5D F0 fstp qword ptr [ebp-10h] 0000005e 90 nop 0000005f EB DA jmp 0000003B norm = sqrt(norm); 00000061 DD 45 F0 fld qword ptr [ebp-10h] 00000064 83 EC 08 sub esp,8 00000067 DD 1C 24 fstp qword ptr [esp] 0000006a E8 0D 50 7B FF call FF7B507C 0000006f DD 5D D8 fstp qword ptr [ebp-28h] 00000072 DD 45 D8 fld qword ptr [ebp-28h] 00000075 DD 5D F0 fstp qword ptr [ebp-10h]
243 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/16(“ú) 16:37:34.94 ID:zL1WUjLu.net] >>232 ‹tƒAƒZƒ“ƒuƒ‰i‘±‚«j if (regulate) for (int i=0;i<num;i++) r[i] = (T)(r[i]/norm); 00000078 0F B6 45 08 movzx eax,byte ptr [ebp+8] 0000007c 85 C0 test eax,eax 0000007e 74 25 je 000000A5 00000080 33 D2 xor edx,edx 00000082 89 55 EC mov dword ptr [ebp-14h],edx 00000085 90 nop 00000086 EB 03 jmp 0000008B 00000088 FF 45 EC inc dword ptr [ebp-14h] 0000008b 8B 45 EC mov eax,dword ptr [ebp-14h] 0000008e 3B 45 FC cmp eax,dword ptr [ebp-4] 00000091 7D 12 jge 000000A5 00000093 8B 45 F8 mov eax,dword ptr [ebp-8] 00000096 8B 55 EC mov edx,dword ptr [ebp-14h] 00000099 DD 45 F0 fld qword ptr [ebp-10h] 0000009c DC 3C D0 fdivr qword ptr [eax+edx*8] 0000009f DD 1C D0 fstp qword ptr [eax+edx*8] 000000a2 90 nop 000000a3 EB E3 jmp 00000088 return norm; 000000a5 DD 45 F0 fld qword ptr [ebp-10h] 000000a8 DD 5D E0 fstp qword ptr [ebp-20h]
244 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/16(“ú) 16:40:36.14 ID:LrdaMWHl.net] >>235 ‚悌©‚邯AŬ(?)‚ÌŽÀŒ±ƒR[ƒh‚Å‚Í sqrt() ‚ªŽg‚í‚ê‚Ä‚¢‚È‚©‚Á‚½B ƒXƒ}ƒ“B
245 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/16(“ú) 16:42:54.99 ID:zL1WUjLu.net] >>234 ‚ ‚ A‚È‚é‚Ù‚ÇA—¹‰ðB
246 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/16(“ú) 16:49:54.65 ID:zL1WUjLu.net] >>238 ‚¢‚âA‰´‚ª’ñ‹Ÿ‚µ‚½>>192 ‚̃\[ƒX‚È‚çŽg‚í‚ê‚Ă邼B >>201 ‚̃\[ƒX‚ł͎g‚í‚ê‚ĂȂ¢‚ªB ‚½‚¾‚Ü‚ A”Þ(200)‚ªsqrt‚𗎂Ƃµ‚½‚Ì‚à•ª‚©‚ç‚È‚‚͂Ȃ¢B Œë·‚ª¶‚¶‚é’Êí‚ÍŒ…—Ž‚¿‚¾‚©‚çA‚±‚Ìꇂ͓–‘RϘa•”•ª‚ª‰ö‚µ‚¢B ‚ ‚ç‚©‚¶‚ߔނ͂»‚¤‚È‚é‚Æ•ª‚©‚Á‚Ä‚¢‚Ä‚»‚ê‚𗎂ƂµA—\’è’²˜a“I‚ÈŒ‹˜_‚É‚½‚ǂ蒅‚¢‚Ä‚µ‚Ü‚Á‚½B ‚»‚ꂪ”ނ̊ԈႢ‚¾‚Á‚½A‚Æ‚¢‚¤‚±‚ÆB ‰´‚Ío—ˆ‚邾‚¯Œ³‚̃\[ƒX‚̂܂܂ŒÇÕ‚µ‚悤‚Æ‚µ‚Ä‚¢‚éB Œ³‚̃\[ƒX‚ÌŠY“–ƒP[ƒX‚Æ—£‚ê‚Ä‚µ‚Ü‚Á‚Ă͈Ӗ¡‚ª‚È‚¢‚©‚çB ‚»‚µ‚ÄŒ³ƒ\[ƒX‚Å‚Ísqrt‚ðŽg‚Á‚Ä‚¢‚éB
247 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/16(“ú) 16:53:58.12 ID:/oSJzlqn.net] ‚½‚Ô‚ñ2008‚ÌÅ“K‰»ƒ~ƒX‚¾‚ÆŽv‚¤B static double norm = 0;// ©"static"‚ð’ljÁ‚·‚é ‚É‚·‚邯‚©AÅ“K‰»ƒIƒvƒVƒ‡ƒ“‚ð‚¢‚¶‚邯 Release/ƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚©‚ç‚Ì‹N“®‚Å‚à 0x1ff68ddfb62221dd‚ɂȂé
248 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/16(“ú) 16:54:10.71 ID:LrdaMWHl.net] >>238 ‚ ‚ B‚Ü‚½’ù³B sqrt()‚ªŽg‚í‚ê‚Ä‚¢‚È‚¢‚Ì‚ÍA>>201 , >>202 , >>203 , >>204 ‚ÌꇂÅA ‚»‚ê‚ÍAƒ‹[ƒv“à‚Éfprintf()‚ð“ü‚ꂽꇂƓü‚ê‚È‚¢ê‡‚Æ‚ÅA x87 fpuƒŒƒWƒXƒ^‚Ìst(0)`st(7)‚ðŽg‚¤uŠúŠÔv‚ª•Ï‚í‚邽‚ß‚É 80BIT‚©‚ç 64BIT‚Ö‚Ì‘‚«–ß‚µŠÛ‚߂̖â‘è‚Ì‚½‚߂ɸ“x‚ª•Ï‚í‚Á‚Ä‚¢‚邾‚¯‚¾‚Á‚½B ˆê•ûA‚ ‚È‚½‚ªŽw“E‚µ‚½ >>192 ‚Å‚ÍA‚¿‚á‚ñ‚Æ sqrt() ŠÖ”‚ªŽg‚í‚ê‚Ä‚¢‚ÄA ‚»‚ꂾ‚ÆAIDE‚©‚ç‚Ì‹N“®‚ƃRƒ}ƒ“ƒhEƒvƒƒ“ƒvƒg‚©‚ç‚Ì‹N“®‚Æ‚ÅA¸“x‚ª•Ï ‚í‚Á‚Ä‚‚邯B‚»‚µ‚ÄA‚»‚Ìꇂ̋tƒAƒZƒ“ƒuƒ‹Œ‹‰Ê‚Í >>236 ‚̂悤‚É sqrt() ŠÖ”‚ª‚»‚Ìê‚Å x87 fpu ‚Ì fsqrt –½—ß‚ðŽg‚킸‚ÉAcall •¶‚É‚æ‚Á‚Ä ŽÀÛ‚É–{“–‚̃TƒuEƒ‹[ƒ`ƒ“‚ðŒÄ‚Ño‚µ‚Ä‚¢‚邯B ‚±‚ê‚Í‚Æ‚Ä‚à‹»–¡[‚¢B‚»‚̃TƒuEƒ‹[ƒ`ƒ“‚Ì’†‚ªAŽž‚Æê‡‚É‚æ‚Á‚Ä ¸“x‚ª•Ï‚í‚Á‚Ä‚‚邿‚¤‚È‘‚«•û‚ð‚³‚ê‚Ä‚¢‚é‰Â”\«‚ªŒ©‚¦‚Ä‚«‚½B
249 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/16(“ú) 16:56:42.67 ID:LrdaMWHl.net] >>240 >‚¢‚âA‰´‚ª’ñ‹Ÿ‚µ‚½>>192 ‚̃\[ƒX‚È‚çŽg‚í‚ê‚Ă邼B > >>201 ‚̃\[ƒX‚ł͎g‚í‚ê‚ĂȂ¢‚ªB —¹‰ðB –â‘è‚ð؂蕪‚¯‚邽‚ßAsqrt() ‚ðŽg‚í‚È‚©‚Á‚½ê‡‚Ì Release”łłÌA IDE‹N“®‚ƃRƒ}ƒ“ƒh‚’ƒ‰ƒCƒ“‹N“®‚̸“x‚̈Ⴂ‚ðŽÀŒ±‚µ‚Ă݂ė~‚µ‚¢B
250 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/16(“ú) 17:02:35.56 ID:LrdaMWHl.net] ‚¿‚å‚Á‚Æ‚µ‚΂ç‚A‚±‚±‚𗣂ê‚éB
251 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/16(“ú) 17:22:07.21 ID:zL1WUjLu.net] >>241 Œ»ÛŠm”F‚µ‚½B‚±‚¿‚ç‚Å‚àÄŒ»‚µ‚½B ‹tƒAƒZƒ“ƒuƒ‹‚ÍAˆÈ‰ºB(ŠÌS‚̃‹[ƒv•”•ª‚ÍŽŸƒŒƒX“àj ³’¼Afld/fmul/fadd/fstp‚̃‹[ƒv•”•ª‚͕ςí‚炸A norm‚̃AƒhƒŒƒX‚ª [ebp-10h]i‚‚܂èƒ[ƒJƒ‹j‚©‚ç ds:[00A4AD40h]i‚‚܂èƒOƒ[ƒoƒ‹j‚ɕςí‚Á‚½‚¾‚¯‚Å‚ ‚èA ‚±‚ê‚ÅŒ‹‰Ê‚ª•Ï‚í‚é‚̂͂©‚È‚èŠï–‚È‹C‚à‚·‚邪A‰½‚©Œ©—Ž‚Æ‚µ‚ª‚ ‚é‚Ì‚©‚àB >>241 ‹tƒAƒZƒ“ƒuƒ‹(static•t‰Á”Åj template<typename T> static double calc_norm_and_regulate(int num, T* r, bool regulate){ // <float> for debug. static double norm = 0; for (int i=0;i<num;i++) norm += (double)r[i] * (double)r[i]; 00000000 55 push ebp 00000001 8B EC mov ebp,esp 00000003 83 EC 20 sub esp,20h 00000006 89 4D FC mov dword ptr [ebp-4],ecx 00000009 89 55 F8 mov dword ptr [ebp-8],edx 0000000c 83 3D 14 2E 38 00 00 cmp dword ptr ds:[00382E14h],0 00000013 74 05 je 0000001A 00000015 E8 FF 52 30 68 call 68305319 0000001a 33 D2 xor edx,edx 0000001c 89 55 F0 mov dword ptr [ebp-10h],edx 0000001f 33 D2 xor edx,edx 00000021 89 55 F4 mov dword ptr [ebp-0Ch],edx 00000024 D9 EE fldz 00000026 DD 5D E8 fstp qword ptr [ebp-18h] 00000029 33 D2 xor edx,edx 0000002b 89 55 F0 mov dword ptr [ebp-10h],edx 0000002e 90 nop 0000002f EB 03 jmp 00000034
252 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/16(“ú) 17:22:29.32 ID:zL1WUjLu.net] >>241 ‹tƒAƒZƒ“ƒuƒ‹i‘±‚«j(static•t‰Á”Åj 00000031 FF 45 F0 inc dword ptr [ebp-10h] 00000034 8B 45 F0 mov eax,dword ptr [ebp-10h] 00000037 3B 45 FC cmp eax,dword ptr [ebp-4] 0000003a 7D 21 jge 0000005D 0000003c 8B 45 F8 mov eax,dword ptr [ebp-8] 0000003f 8B 55 F0 mov edx,dword ptr [ebp-10h] 00000042 DD 04 D0 fld qword ptr [eax+edx*8] 00000045 8B 45 F8 mov eax,dword ptr [ebp-8] 00000048 8B 55 F0 mov edx,dword ptr [ebp-10h] 0000004b DC 0C D0 fmul qword ptr [eax+edx*8] 0000004e DC 05 40 AD A4 00 fadd qword ptr ds:[00A4AD40h] 00000054 DD 1D 40 AD A4 00 fstp qword ptr ds:[00A4AD40h] 0000005a 90 nop 0000005b EB D4 jmp 00000031 norm = sqrt(norm); 0000005d DD 05 40 AD A4 00 fld qword ptr ds:[00A4AD40h] 00000063 83 EC 08 sub esp,8 00000066 DD 1C 24 fstp qword ptr [esp] 00000069 E8 0E 50 88 FF call FF88507C 0000006e DD 5D E0 fstp qword ptr [ebp-20h] 00000071 DD 45 E0 fld qword ptr [ebp-20h] 00000074 DD 1D 40 AD A4 00 fstp qword ptr ds:[00A4AD40h]