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
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]
253 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/16(“ú) 17:22:46.06 ID:zL1WUjLu.net] >>241 ‹tƒAƒZƒ“ƒuƒ‹i‘±‚«j(static•t‰Á”Åj if (regulate) for (int i=0;i<num;i++) r[i] = (T)(r[i]/norm); 0000007a 0F B6 45 08 movzx eax,byte ptr [ebp+8] 0000007e 85 C0 test eax,eax 00000080 74 28 je 000000AA 00000082 33 D2 xor edx,edx 00000084 89 55 F4 mov dword ptr [ebp-0Ch],edx 00000087 90 nop 00000088 EB 03 jmp 0000008D 0000008a FF 45 F4 inc dword ptr [ebp-0Ch] 0000008d 8B 45 F4 mov eax,dword ptr [ebp-0Ch] 00000090 3B 45 FC cmp eax,dword ptr [ebp-4] 00000093 7D 15 jge 000000AA 00000095 8B 45 F8 mov eax,dword ptr [ebp-8] 00000098 8B 55 F4 mov edx,dword ptr [ebp-0Ch] 0000009b DD 05 40 AD A4 00 fld qword ptr ds:[00A4AD40h] 000000a1 DC 3C D0 fdivr qword ptr [eax+edx*8] 000000a4 DD 1C D0 fstp qword ptr [eax+edx*8] 000000a7 90 nop 000000a8 EB E0 jmp 0000008A return norm; 000000aa DD 05 40 AD A4 00 fld qword ptr ds:[00A4AD40h] 000000b0 DD 5D E8 fstp qword ptr [ebp-18h] } 000000b3 DD 45 E8 fld qword ptr [ebp-18h] 000000b6 8B E5 mov esp,ebp 000000b8 5D pop ebp 000000b9 C2 04 00 ret 4
254 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/16(“ú) 17:35:35.70 ID:zL1WUjLu.net] >>243 ‚Ü‚¾ˆÙ‚È‚Á‚½o—Í‚ª“¾‚ç‚ꂽB ‚±‚̈Ӗ¡‚Å‚Í200‚ªsqrt‚ðŠO‚µ‚½”»’f‚ͳ‚µ‚©‚Á‚½B (”Þ‚Í‚»‚±‚©‚炳‚ç‚Ƀ‹[ƒv‰ñ”‚ðŒÅ’肵‚Ä‚µ‚Ü‚Á‚½‚Ì‚ªŠÔˆá‚¢‚¾‚Á‚½) 191ƒ\[ƒX‚ðˆÈ‰º‚É•ÏX‚µ‚½B(sqrt‚ðƒRƒƒ“ƒgƒAƒEƒgj ‚‚¢‚Å‚É Console::Write(String::Format("{0:E6}, {0:E30}\r\n",norm)); ‚Ìo—Í‚à•t‚¯‚Ä‚¨‚B ƒ\[ƒXF 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; } Œ‹‰ÊFiReleaseƒrƒ‹ƒh/ƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚©‚ç‚Ì‹N“®j 0.000000, 0x0007f2c44dfff8f2 1.105348E-308, 1.105348254058510600000000000000E-308 Œ‹‰ÊFiReleaseƒrƒ‹ƒh/IDE‚©‚ç‚Ì‹N“®ADebugƒrƒ‹ƒh‚Í‹N“®•û–@‚É‚æ‚炸‚±‚¿‚ç) 0.000000, 0x0007f2c44dfff8f1 1.105348E-308, 1.105348254058510100000000000000E-308 >>244 —¹‰ðB‚¢‚¸‚ê‚É‚µ‚Ä‚à•‚©‚Á‚Ä‚éB ‚±‚¿‚ç‚àŒã30•ª‚‚ç‚¢‚Å‚¿‚å‚Á‚Æ—£‚ê‚é—\’èB
255 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2018/09/16(“ú) 18:30:34.19 ID:HF0YmRsW.net] >>213 ‚Ù‚ñ‚»‚ê
256 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/16(“ú) 20:54:27.39 ID:zL1WUjLu.net] >>241 ‚³‚ÄÄŒ©‚µ‚½‚ªA‚â‚Í‚èstatic‚¾‚¯‚Å’¼‚é——R‚Í•ª‚©‚ç‚È‚¢B ‚È‚¨AÅ“K‰»ƒ~ƒX‚ÌꇂÍA‹tƒAƒZƒ“ƒuƒ‰‚ð“ǂ߂Εª‚©‚éB ¡‚̂Ƃ±‚ë‚»‚ê‚ł͂Ȃ¢B ˆê‰žA>>192 ƒ\[ƒX‚Ìtemplate•”‚Ì‹tƒAƒZƒ“ƒuƒ‹‚ðã‚°‚Ä‚¨‚Bi‚½‚¾‚µd•¡‚·‚é‚̂œª‚Ì‚Ýj “ª‚Í‚±‚êB‘±‚«‚ª>>236 ,237B template<typename T> static double calc_norm_and_regulate(int num, T* r, bool regulate){ // <float> for debug. double norm = 0; 00000000 55 push ebp 00000001 8B EC mov ebp,esp 00000003 83 EC 28 sub esp,28h 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 76 00 00 cmp dword ptr ds:[00762E14h],0 00000013 74 05 je 0000001A 00000015 E8 FF 52 1B 68 call 681B5319 0000001a 33 D2 xor edx,edx 0000001c 89 55 E8 mov dword ptr [ebp-18h],edx 0000001f 33 D2 xor edx,edx 00000021 89 55 EC mov dword ptr [ebp-14h],edx 00000024 D9 EE fldz 00000026 DD 5D F0 fstp qword ptr [ebp-10h] 00000029 D9 EE fldz 0000002b DD 5D E0 fstp qword ptr [ebp-20h] 0000002e D9 EE fldz 00000030 DD 5D F0 fstp qword ptr [ebp-10h]
257 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/16(“ú) 21:25:23.90 ID:zL1WUjLu.net] >>220 >>222 /MT‚Æ/clr‚Í“¯Žž‚ÉŽw’èo—ˆ‚È‚¢‚炵‚¢B(error D8016) /MTd‚à“¯‚¶‚–³—B ‚à‚¤ˆê‚ /MDd ‚Á‚Ă̂ª‚ ‚é‚©‚玎‚µ‚Ă݂½B /MDd‚ÌŒ‹‰ÊF Releaseƒrƒ‹ƒh‚ŃRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‹N“®‚ÌŽž‚Ì‚Ý ****deA Releaseƒrƒ‹ƒh‚ÅIDE‚©‚ç‚Ì‹N“®‚¾‚Æ ***ddBiDebugƒrƒ‹ƒh‚Í‹N“®•û–@‚ð–â‚킸‚±‚Á‚¿j (/MD‚Æ‘S‚‹““®‚Í“¯‚¶) ‚±‚ê‚Å—LŒø‚ÈŽw“E‚ɂ‚¢‚Ă͑S‚ĉñ“š‚µ‚Ä‚é‚©‚ÈH Œ©—Ž‚Æ‚µ‚ª—L‚ê‚ÎŽw“E‚æ‚낵‚B i‹K§‚Ɉø‚Á‚©‚©‚Á‚½‚̂Œx‚‚È‚Á‚Ä‚·‚Ü‚ñj ¡‚̂Ƃ±‚ëA‰Â”\«‚ª‚ ‚é‚͈̂ȉº‚©H EReleaseƒrƒ‹ƒh‚ðƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚©‚ç‹N“®‚µ‚½‚Æ‚«‚݂̂Ȃº‚©¸“x‚ª‚‚¢ @(>>201 ‚©‚猋‰Ê“I‚ÉŒŸo‚³‚ꂽB¡‚̂Ƃ±‚븓x‚ª‚‚¢‚Æ‚«‚Æ“¯‚¶‹““®‚ð‚µ‚Ä‚¢‚éˆ×j EReleaseƒrƒ‹ƒh‚àIDE‚©‚ç‹N“®‚·‚ê‚ÎŒ‹‰Ê“I‚ɃXƒ^ƒbƒN‚ª0‰Šú‰»‚³‚ê‚Ä‚¢‚éó‘ԂɂȂÁ‚Ä‚¨‚èA @‰´‚Ì–{”ÔƒvƒƒOƒ‰ƒ€‚ÉŠÖ‚µ‚Ă͂±‚±‚É“–‚½‚éƒoƒO‚ª‚ ‚éH(>>229 ) @(‚½‚¾‚µ‚±‚ê‚Í>>192 ‚ɂ͊Y“–‚µ‚È‚¢j
258 –¼‘OF240 mailto:sage [2018/09/16(“ú) 21:43:04.47 ID:/oSJzlqn.net] .net‚Ìê‡AƒfƒoƒbƒK”z‰º‚Å‚Í(ƒfƒoƒbƒO‚Ì‚½‚ß)ˆá‚¤ƒR[ƒh‚ðŽÀs‚µ‚Ä‚¢‚邿‚¤‚È‹C‚ª‚·‚éB ƒfƒoƒbƒK‚Ì‹tƒAƒZƒ“ƒuƒ‹•\ަ‚Æ‚©asmo—͂͂ ‚܂蓖‚ĂɂȂç‚È‚¢‚悤‚È‹C‚à‚·‚éB ƒ‹[ƒv•”•ª‚¾‚¯‚ÇAƒŒƒWƒXƒ^‚݂̂ň—‚·‚é‚©Aƒƒ‚ƒŠ‚ðŽg—p‚·‚é‚©‚Ÿ“x‚ª•Ï‚í‚é‚Ì‚©‚àB ‚»‚à‚»‚àA‚Ç‚Á‚¿‚ª³‚µ‚¢‚Ì‚©‚æ‚‚í‚©‚ç‚ñ‚¯‚Ç... ƒ‹[ƒv•”•ª‚ÌŠÖ”‚ð#pragma unmanaged‚·‚邯Œ‹‰Ê‚ª•Ï‚í‚é‚Å‚»‚ꂪ³‚µ‚¢‚Ì‚©‚àB
259 –¼‘OF240 mailto:sage [2018/09/16(“ú) 21:43:27.78 ID:/oSJzlqn.net] static”Å 0000000e 33 C0 xor eax,eax 00000010 85 F6 test esi,esi 00000012 7E 16 jle 0000002A 00000014 DD 04 C7 fld qword ptr [edi+eax*8] 00000017 DC C8 fmul st(0),st 00000019 DC 05 00 30 CC 00 fadd qword ptr ds:[00CC3000h] 0000001f DD 1D 00 30 CC 00 fstp qword ptr ds:[00CC3000h] 00000025 40 inc eax 00000026 3B C6 cmp eax,esi 00000028 7C EA jl 00000014 0000002a DD 05 00 30 CC 00 fld qword ptr ds:[00CC3000h] ”ñstatic”Å 0000000e D9 EE fldz 00000010 33 C0 xor eax,eax 00000012 85 F6 test esi,esi 00000014 7E 0C jle 00000022 00000016 DD 04 C7 fld qword ptr [edi+eax*8] 00000019 DC C8 fmul st(0),st 0000001b DE C1 faddp st(1),st 0000001d 40 inc eax 0000001e 3B C6 cmp eax,esi 00000020 7C F4 jl 00000016
260 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/16(“ú) 22:27:34.58 ID:zL1WUjLu.net] >>252 ‚Æ‚è‚ ‚¦‚¸—Ž‚¿’…‚¯Bˆê‚‚¸‚Âs‚±‚¤B > ƒ‹[ƒv•”•ª‚ÌŠÖ”‚ð#pragma unmanaged‚·‚邯Œ‹‰Ê‚ª•Ï‚í‚é‚Å‚»‚ꂪ³‚µ‚¢‚Ì‚©‚àB ‚±‚¿‚ç‚Å‚àŠm”F‚µ‚½B calc_norm_and_regulate‚ðunmanagedŠÖ”‚É‚·‚邯Aˆá‚¢‚͂Ȃ‚È‚éB (Releaseƒrƒ‹ƒh‚ÌM‚ðƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚Å‹N“®‚µ‚½Û‚É‚àA****dd‚ÌŒ‹‰Ê‚ƂȂéj ‚½‚¾‚µ‚±‚¿‚ç‚Ì‹tƒAƒZƒ“ƒuƒ‹Œ‹‰Ê‚͈ȉº‚¾B(fld/fmul/fadd/fstp‚Å‚ ‚邱‚ƂɒˆÓj for (int i=0;i<num;i++) norm += (double)r[i] * (double)r[i]; 0007272C C7 45 F4 00 00 00 00 mov dword ptr [i],0 00072733 EB 09 jmp `anonymous namespace'::calc_norm_and_regulate<double>+1Eh (7273Eh) 00072735 8B 45 F4 mov eax,dword ptr [i] 00072738 83 C0 01 add eax,1 0007273B 89 45 F4 mov dword ptr [i],eax 0007273E 8B 4D F4 mov ec
261 –¼‘OFx,dword ptr [i] 00072741 3B 4D 08 cmp ecx,dword ptr [num] 00072744 7D 1A jge `anonymous namespace'::calc_norm_and_regulate<double>+40h (72760h) 00072746 8B 55 F4 mov edx,dword ptr [i] 00072749 8B 45 0C mov eax,dword ptr [r] 0007274C 8B 4D F4 mov ecx,dword ptr [i] 0007274F 8B 75 0C mov esi,dword ptr [r] 00072752 DD 04 D0 fld qword ptr [eax+edx*8] 00072755 DC 0C CE fmul qword ptr [esi+ecx*8] 00072758 DC 45 F8 fadd qword ptr [norm] 0007275B DD 5D F8 fstp qword ptr [norm] 0007275E EB D5 jmp `anonymous namespace'::calc_norm_and_regulate<double>+15h (72735h) [] [‚±‚±‰ó‚ê‚Ă܂·]
262 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/16(“ú) 22:33:32.07 ID:zL1WUjLu.net] >>253 ‚»‚¿‚ç‚Ì‹tƒAƒZƒ“ƒuƒ‹‚͈ȉº‚̈Ⴂ‚ªo‚Ă邾‚ëB static”ÅF fld/fmul/fadd/fstp ”ñstatic”ÅF fld/fmul/faddp (fstp‚ª–³‚¢j ‚±‚Ì”ñstatic”Å‚Ìê‡AŠg’£”{¸“x(80bit)‚ʼn‰ŽZ‚³‚ê‚é‚©‚縓x‚ª‚‚¢‚±‚ƂɂȂèA static”łƂ̉‰ŽZŒ‹‰Ê‚ɈႢ‚ªo‚é‚Ì‚àŽd—l’Ê‚è‚È‚ñ‚¾‚æB(‚±‚ê‚Í>>201 ‚Æ“¯‚¶ŠÔˆá‚¢) ˆê‰žAfstp‚É‚à80bit”ł͂ ‚Á‚ÄAIntel‚̃}ƒjƒ…ƒAƒ‹‚É‚æ‚邯ˆÈ‰ºB > ƒIƒyƒR[ƒh–½—ßà–¾ > D9 /2 FST m32fp ST(0) ‚ðm32fp ‚ɃRƒs[‚·‚éB > DD /2 FST m64fp ST(0) ‚ðm64fp ‚ɃRƒs[‚·‚éB > DD D0+i FST ST(i) ST(0) ‚ðST(i) ‚ɃRƒs[‚·‚éB > D9 /3 FSTP m32fp ST(0) ‚ðm32fp ‚ɃRƒs[‚µAƒŒƒWƒXƒ^ƒXƒ^ƒbƒN‚ðƒ|ƒbƒv‚·‚éB > DD /3 FSTP m64fp ST(0) ‚ðm64fp ‚ɃRƒs[‚µAƒŒƒWƒXƒ^ƒXƒ^ƒbƒN‚ðƒ|ƒbƒv‚·‚éB > DB /7 FSTP m80fp ST(0) ‚ðm80fp ‚ɃRƒs[‚µAƒŒƒWƒXƒ^ƒXƒ^ƒbƒN‚ðƒ|ƒbƒv‚·‚éB > DD D8+i FSTP ST(i) ST(0) ‚ðST(i) ‚ɃRƒs[‚µAƒŒƒWƒXƒ^ƒXƒ^ƒbƒN‚ðƒ|ƒbƒv‚·‚éB ‚‚܂èŒN‚Ìstatic”Å > 0000001f DD 1D 00 30 CC 00 fstp qword ptr ds:[00CC3000h] ‚Å‚Í FSTP /3 m64fp [disp32] ‚Å‚ ‚èA‚»‚±‚Å64biti”{¸“xj‚ÉŠÛ‚ß‚ç‚ê‚Ä‚éB ‚¾‚©‚烌ƒWƒXƒ^(80bit=Šg’£”{¸“xj‚ʼn‰ŽZ‚³‚ê‚é”ñstatic”łƌ‹‰Ê‚ªˆÙ‚È‚éB static”Å‚Ìsftp‚ª DB /7 m80fp ‚È‚çŒë·‚Ío‚È‚¢‚Í‚¸‚È‚ñ‚¾‚æBiC‚łǂ¤‘‚‚Ì‚©‚Í’m‚ç‚ñj ‚¾‚©‚ç>>253 ‚Ìꇂ̌뷂ȂçAŽd—l’Ê‚è‚È‚ñ‚¾‚æB(•Еû‚ª”{¸“xA‚à‚¤•Еû‚ÍŠg’£”{¸“xj ‚½‚¾‚µA>>192 ‚Í‹tƒAƒZƒ“ƒuƒ‹(>>236 )‚ðŒ©‚éŒÀ‚è‚»‚ê‚ÉŠY“–‚µ‚È‚¢‚µA(—¼•û‚Æ‚à”{¸“xj ¡‰ñ‚̉´‚Ìã‹L‹tƒAƒZƒ“ƒuƒ‹i>>254 A’†g‚ÍŒN‚ÌŽw“E’Ê‚èunmanaged‚É‚µ‚½‚¾‚¯j‚àŠY“–‚µ‚È‚¢B(—¼•û‚Æ‚à”{¸“xj ‚»‚µ‚Ä253‚͉½ŒÌ‚©’¼‚Á‚Ä‚µ‚Ü‚Á‚½B
263 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/16(“ú) 22:34:16.44 ID:zL1WUjLu.net] >>253 > .net‚Ìê‡AƒfƒoƒbƒK”z‰º‚Å‚Í(ƒfƒoƒbƒO‚Ì‚½‚ß)ˆá‚¤ƒR[ƒh‚ðŽÀs‚µ‚Ä‚¢‚邿‚¤‚È‹C‚ª‚·‚éB > ƒfƒoƒbƒK‚Ì‹tƒAƒZƒ“ƒuƒ‹•\ަ‚Æ‚©asmo—͂͂ ‚܂蓖‚ĂɂȂç‚È‚¢‚悤‚È‹C‚à‚·‚éB ‚±‚ê‚͉´‚à‘Š“–‹^‚Á‚Ä‚¢‚é‚Ì‚¾‚ªA¡‚̂Ƃ±‚ëK”ö‚ð’͂߂Ȃ¢B ILspy‚¾‚Á‚¯HŠO•”‚Ì‹tƒAƒZƒ“ƒuƒ‹ƒc[ƒ‹Žg‚¦‚΃`ƒFƒbƒNo—ˆ‚é‚Ì‚©‚ÈH ‚¢‚¸‚ê‚É‚µ‚Ä‚àA>>252 ‚ÌŽw“E Eunmanaged‚É‚·‚ê‚Î’¼‚é ‚Ì‚àŽ–ŽÀ‚¾‚µA‹tƒAƒZƒ“ƒuƒ‹‚ðŒ©‚éŒÀ‚èA‚±‚ê‚ðà–¾o—ˆ‚é——R‚à‚È‚¢‚Ì‚àŽ–ŽÀB
264 –¼‘OF240 mailto:sage [2018/09/16(“ú) 23:13:48.62 ID:/oSJzlqn.net] > ‚¾‚©‚ç>>253 ‚Ìꇂ̌뷂ȂçAŽd—l’Ê‚è‚È‚ñ‚¾‚æB(•Еû‚ª”{¸“xA‚à‚¤•Еû‚ÍŠg’£”{¸“xj ‚»‚¤‚È‚ÌH@‚±‚ꂪŽd—l’Ê‚è‚È‚çstatic”łł̈Ⴂ‚ÍŽd—l’Ê‚è‚Æ‚¢‚¤‚±‚ƂɂȂéB 252‚ÍRelease”Å‚ðƒRƒ“ƒ\[ƒ‹‚ÅŽÀs‚µ‚½‚Æ‚«‚Ì‹tƒAƒZƒ“ƒuƒ‹Œ‹‰ÊB ‚æ‚Á‚ÄARelease”Å‚ðƒRƒ“ƒ\[ƒ‹‚ÅŽÀs‚µ‚½‚Æ‚«‚Ì‚Ý(‚½‚Ü‚½‚Ü)ƒŒƒWƒXƒ^(80ƒrƒbƒg)‚ł̉‰ŽZ‚ɂȂé‚Ì‚ÅA ŒvŽZŒ‹‰Ê‚ª•Ï‚í‚é‚̂͂â‚ނ𓾂Ȃ¢‚Æ‚¢‚¤Œ‹˜_‚ɂȂé‚Ì‚¾‚ª... ‚¿‚Ȃ݂ÉA235‚ÍDebugƒ‚[ƒh‚ŃRƒ“ƒpƒCƒ‹‚µAƒfƒoƒbƒK”z‰º‚Ì‹tƒAƒZƒ“ƒuƒ‹Œ‹‰Ê‚Å‚µ‚åB
265 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/16(“ú) 23:24:30.83 ID:zL1WUjLu.net] >>257 > 252‚ÍRelease”Å‚ðƒRƒ“ƒ\[ƒ‹‚ÅŽÀs‚µ‚½‚Æ‚«‚Ì‹tƒAƒZƒ“ƒuƒ‹Œ‹‰ÊB ‚»‚ê‚͂ǂ¤‚â‚Á‚Ä“¾‚½‚ÌH‰´‚Í‚»‚ꂪo—ˆ‚È‚¢‚©‚碂Á‚Ä‚éB > ‚¿‚Ȃ݂ÉA235‚ÍDebugƒ‚[ƒh‚ŃRƒ“ƒpƒCƒ‹‚µAƒfƒoƒbƒK”z‰º‚Ì‹tƒAƒZƒ“ƒuƒ‹Œ‹‰Ê‚Å‚µ‚åB 235‚ÍAIDEã‚ÅReleaseƒ‚[ƒh‚ÅF5‚Å‹N“®‚µAƒuƒŒ[ƒNƒ|ƒCƒ“ƒg‚𓖂ĂĎ~‚߂ċtƒAƒZƒ“ƒuƒ‹‚µ‚½Œ‹‰ÊB ‰´‚ª“\‚Á‚Ä‚é‹tƒAƒZƒ“ƒuƒ‹Œ‹‰Ê‚Í‘S‚Ä‚±‚Ì•û–@‚ÅAIDE‚Å•\ަ‚³‚ê‚Ä‚¢‚é‚à‚ÌB ‚¾‚©‚çIDE‚Ì•\ަ‚ª‚¨‚©‚µ‚©‚Á‚½‚ç˜b‚ª‘S•”‚¨‚©‚µ‚‚È‚éB ŒN‚ªIDE‚©‚ç“Æ—§‚µ‚Ä‹tƒAƒZƒ“ƒuƒ‹o—ˆ‚Ä‚¢‚é‚̂ȂçA‚»‚Ì•û–@‚ð’m‚肽‚¢B ‚±‚¿‚ç‚Å‚àŽŽ‚·B ‚È‚¨ILSpyAƒOƒ_ƒOƒ_Œ¾‚킸‚ÉŽŽ‚µ‚Ă݂½‚ªA “–‚½‚è‘O‚¾‚ªmanaged code ‚¾‚ÆIL‚ªo‚é(x86‚ł͂Ȃ¢j‚Ì‚ÅA ‰´‚Á‚Ī–{“I‚ÉŠÔˆá‚Á‚Ä‚½‚©‚àH ¡‚Ü‚Åx86‚̃AƒZƒ“ƒuƒ‰‚Å‹c˜_‚µ‚Ä‚½‚¯‚ÇA‚±‚ê‚Á‚Ä .NET ƒAƒvƒŠ‚ɂ͓¯«‚³‚ê‚Ä‚¢‚È‚¢‚Æ‚¢‚¤ƒIƒ`H (‚Ü‚ ‚»‚Ìꇂ͌N‚ª‚â‚Á‚Ä‚¢‚éŠO•”‹tƒAƒZƒ“ƒuƒ‹‚ª’Pƒ‚É‚Ío—ˆ‚È‚¢‚Í‚¸‚Ȃ̂¾‚ªj
266 –¼‘OF240 mailto:sage [2018/09/16(“ú) 23:35:36.48 ID:/oSJzlqn.net] >> 252‚ÍRelease”Å‚ðƒRƒ“ƒ\[ƒ‹‚ÅŽÀs‚µ‚½‚Æ‚«‚Ì‹tƒAƒZƒ“ƒuƒ‹Œ‹‰ÊB >‚»‚ê‚͂ǂ¤‚â‚Á‚Ä“¾‚½‚ÌH‰´‚Í‚»‚ꂪo—ˆ‚È‚¢‚©‚碂Á‚Ä‚éB calc_norm_and_regulate‚ÌŽŸ‚Ìs‚É System::Diagnostics::Debugger::Launch(); ‚ð“ü‚ê‚ăRƒ“ƒ\[ƒ‹‚©‚çŽÀs‚·‚邯 just in time ƒfƒoƒbƒO‚Å‚«‚é‚Ì‚ÅAƒfƒoƒbƒK‚ð‘I‚ñ‚¾ŒãA Visual Studio‚Ì ŒÄ‚Ño‚µ—š—ð‚©‚ç calc_norm_and_regulate ‚ð’T‚µ‚Ĉړ®‚·‚é >> ‚¿‚Ȃ݂ÉA235‚ÍDebugƒ‚[ƒh‚ŃRƒ“ƒpƒCƒ‹‚µAƒfƒoƒbƒK”z‰º‚Ì‹tƒAƒZƒ“ƒuƒ‹Œ‹‰Ê‚Å‚µ‚åB >236‚ÍAIDEã‚ÅReleaseƒ‚[ƒh‚ÅF5‚Å‹N“®‚µAƒuƒŒ[ƒNƒ|ƒCƒ“ƒg‚𓖂ĂĎ~‚߂ċtƒAƒZƒ“ƒuƒ‹‚µ‚½Œ‹‰ÊB ‚ ‚êH ‚¾‚Æ‚·‚邯œK‰»‚µ‚Ä‚¢‚È‚¢‚̂łÍH ‚±‚¿‚ç‚ÌŒ‹‰Ê‚ƈႤ‚Ì‚¾‚ªB
267 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2018/09/16(“ú) 23:49:32.68 ID:SOVIz+sV.net] ‚Æ‚è‚ ‚¦‚¸A>>199 ‚É‘‚¢‚Ä‚ ‚邯‚¨‚èAŒ³‚̺°ÄÞ‚ÅÄŒ»‚Í‚µ‚Ă邩‚ç‚È ‚»‚ÌÄŒ»‚µ‚½º°ÄÞ‚Æ‹t±¾ÝÌÞÙ‚µ‚½Œ‹‰Ê‚Í‚ ‚°‚Æ‚ ‡B-1 ÃÞÌ«ÙÄÝ’è(Release)@yº°ÄÞz #include "stdafx.h" #include <stdio.h> #include <stdint.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]; //@@@@@@fprintf(stdout, "[0]0x%016llX:%.19lg\n", *(uint64_t*)&norm, norm); @@@} @@@fprintf(stdout, "[1]0x%016llX:%.19lg\n", *(uint64_t*)&norm, norm); @@@norm = sqrt(norm); @@@if (regulate) @@@@@@for (int i=0;i<num;i++) @@@@@@@@@r[i] = (T)(r[i]/norm); @@@return norm; }
268 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2018/09/16(“ú) 23:50:40.20 ID:SOVIz+sV.net] ‡B-1 ÃÞÌ«ÙÄÝ’è(Release)@yº°ÄÞzi‚»‚Ì2j 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); @@@fprintf(stdout, "[2]0x%016llX:%.19lg\n", *(uint64_t*)&norm, norm); @@@// 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; }
269 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2018/09/16(“ú) 23:51:14.21 ID:SOVIz+sV.net] ‡B-1 ÃÞÌ«ÙÄÝ’èiReleasej@yŽÀsŒ‹‰Êz «‚±‚̺°ÄÞ‚Ì‹t±¾ÝÌÞÙº°ÄÞ https://ideone.com/Gf4qUQ [1]0x0007F2C44DFFF8F2:1.1053482540585106e-308 [2]0x1FF68DDFB62221DE:1.051355436595308e-154
270 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2018/09/16(“ú) 23:54:13.85 ID:SOVIz+sV.net] ‚ÅA>>200 ‚É‘‚¢‚Ä‚ ‚邯‚¨‚è«DebugËÞÙÄÞ‚Æ“¯‚¶Œ‹‰Ê‚ªÄŒ»‚³‚ꂽ > «‚±‚̉º‚ÉiÙ°Ìß“à‚Éjfprintf•¶‚ð“ü‚ê‚邾‚¯‚Å > @ReleaseËÞÙÄÞ‚ÆDebugËÞÙÄÞ‚ª“¯‚¶ŽÀsŒ‹‰Ê‚ɂȂ邱‚Æ‚ªŠm”F‚Å‚«‚½ > norm += (double)r[i] * (double)r[i]; ‡B-2 ÃÞÌ«ÙÄÝ’è(Release)@yº°ÄÞzi‚»‚Ì1j #include "stdafx.h" #include <stdio.h> #include <stdint.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]; @@@@@@fprintf(stdout, "[0]0x%016llX:%.19lg\n", *(uint64_t*)&norm, norm); @@@} @@@fprintf(stdout, "[1]0x%016llX:%.19lg\n", *(uint64_t*)&norm, norm); @@@norm = sqrt(norm); @@@if (regulate) @@@@@@for (int i=0;i<num;i++) @@@@@@@@@r[i] = (T)(r[i]/norm); @@@return norm; }
271 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2018/09/16(“ú) 23:54:58.60 ID:SOVIz+sV.net] ‡B-2 ÃÞÌ«ÙÄÝ’è(Release)@yº°ÄÞzi‚»‚Ì2j 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); @@@fprintf(stdout, "[2]0x%016llX:%.19lg\n", *(uint64_t*)&norm, norm); @@@// 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; }
272 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2018/09/16(“ú) 23:56:17.88 ID:SOVIz+sV.net] ‡B-2 ÃÞÌ«ÙÄÝ’èiReleasej@yŽÀsŒ‹‰Êz «‚±‚̺°ÄÞ‚Ì‹t±¾ÝÌÞÙº°ÄÞ https://ideone.com/E3Nxt8 «ŽÀsŒ‹‰Ê‚ð‘‚«ž‚߂Ȃ¢‚©‚炱‚Á‚¿‚É‘‚«ž‚ñ‚Ç‚¢‚½ https://ideone.com/1cky6N [1]0x0007F2C44DFFF8F1:1.1053482540585101e-308 [2]0x1FF68DDFB62221DD:1.0513554365953078e-154 ˆÈゾ
273 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/16(“ú) 23:58:42.66 ID:zL1WUjLu.net] >>259 ‚¨‚¨A‚»‚Ì‚â‚è•û‚Í’m‚ç‚È‚©‚Á‚½B‘å•Ï•‚©‚Á‚½B‚ ‚肪‚Æ‚¤B ‚ÅAŒ‹‰Ê‚¾‚ªA>>253 ‚Ƃ͔÷–‚ɈႤ‚ªAŠm‚©‚ÉŠg’£”{¸“x‚ÅŒvŽZ‚³‚ê‚Ä‚¢‚éB ‹tƒAƒZƒ“ƒuƒ‹Œ‹‰Ê‚ÍAˆÈ‰ºB 0000000e D9 EE fldz for (int i=0;i<num;i++) norm += (double)r[i] * (double)r[i]; 00000010 33 C9 xor ecx,ecx 00000012 EB 01 jmp 00000015 00000014 41 inc ecx 00000015 3B CE cmp ecx,esi 00000017 7D 0B jge 00000024 00000019 DD 04 CF fld qword ptr [edi+ecx*8] 0000001c D9 C0 fld st(0) 0000001e DE C9 fmulp st(1),st 00000020 DE C1 faddp st(1),st 00000022 EB F0 jmp 00000014 norm = sqrt(norm); 00000024 83 EC 08 sub esp,8 00000027 DD 1C 24 fstp qword ptr [esp] 0000002a E8 49 7C F2 FF call FFF27C78 ‚Ƃɂ©‚AReleaseƒrƒ‹ƒh‚ðƒRƒ“ƒ\[ƒ‹‚©‚ç‹N“®‚µ‚½ê‡‚ÍŠg’£”{¸“x‚ɂȂÁ‚Ä‚é‚͕̂ª‚©‚Á‚½B ‚È‚çAReleaseƒrƒ‹ƒh‚ðIDE‚©‚ç‹N“®‚µ‚½ê‡‚͉½‚ð‹N“®‚µ‚Ä‚é‚ñ‚¾‚±‚ê‚ÍH Debugƒrƒ‹ƒh‚Æ‚à”÷–‚ɃAƒhƒŒƒX“™‚ªˆá‚¤‚ñ‚¾‚ªB ‚Ƃ͂¢‚¦A‚±‚ê‚Íu‚»‚à‚»‚àFXŠÔˆá‚Á‚Ä‚¢‚év‰Â”\«‚ªo‚Ä‚«‚½‚Ì‚ÅA‚à‚¤ˆê“x‘S‘Ì‚ðŒ©’¼‚·B –¾“úi‚¾‚¯‚ÅςނƂàŽv‚¦‚È‚¢‚ªjŠm”F‚µA®—‚µ‚Ă܂½“Še‚·‚éB ‚Ƃɂ©‚‚ ‚肪‚Æ‚¤B‚±‚ê‚Í‚¾‚¢‚ÔƒCƒ“ƒpƒNƒg‚ª‚ ‚éBi‚Í‚¸)
274 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/17(ŒŽ)
] [‚±‚±‰ó‚ê‚Ă܂·]
275 –¼‘OF 00:49:10.27 ID:gBxGzBbQ.net mailto: >>266 ide‚Æconsole‚Å”÷–‚ɈႤƒo[ƒWƒ‡ƒ“‚Ìvcruntime‚ªƒ[ƒh‚³‚ê‚Ă邯‚©H process monitor‚ʼn½‚ªŽÀs‚³‚ê‚ĉ½‚ªƒ[ƒh‚³‚ê‚Ă邩’²‚ׂ邯‚©H ‚ ‚Æ‚Íwindbg‚©‚ç‹N“®‚µ‚½‚çAide‚Æconsole‚̂ǂ¿‚ç‚ÌŒ‹‰Ê‚ƈê’v‚·‚é‚Ì‚©‹C‚ɂȂéB [] [‚±‚±‰ó‚ê‚Ă܂·]
276 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/17(ŒŽ) 01:06:37.11 ID:+dwRu2dr.net] >>262 ‚¾‚©‚ç‚»‚ê‚Í>>201 ‚Æ“¯‚¶‚È‚ñ‚¾‚æB ‚»‚Ì‹tƒAƒZƒ“ƒuƒ‹‚Å‚¢‚¤‚ÆAˆÈ‰º•”•ª‚ªƒƒ‚ƒŠ‚Éo—Í‚³‚ꂸAŠg’£”{¸“x‚Å“®ì‚µ‚Ă邾‚ëB 00000281 fld qword ptr [ebp+FFFFFF14h] 00000287 fmul st,st(0) 00000289 fadd qword ptr [ebp+FFFFFF70h] 0000028f fld qword ptr [ebp+FFFFFF1Ch] 00000295 fmul st,st(0) 00000297 faddp st(1),st 00000299 fld qword ptr [ebp+FFFFFF24h] 0000029f fmul st,st(0) 000002a1 faddp st(1),st 000002a3 fld qword ptr [ebp+FFFFFF2Ch] 000002a9 fmul st,st(0) 000002ab faddp st(1),st 000002ad fld qword ptr [ebp+FFFFFF34h] 000002b3 fmul st,st(0) 000002b5 faddp st(1),st 000002b7 fld qword ptr [ebp+FFFFFF3Ch] 000002bd fmul st,st(0) 000002bf faddp st(1),st 000002c1 fld qword ptr [ebp+FFFFFF44h] 000002c7 fmul st,st(0) 000002c9 faddp st(1),st 000002cb fld qword ptr [ebp+FFFFFF4Ch] 000002d1 fmul st,st(0) 000002d3 faddp st(1),st 000002d5 fstp qword ptr [ebp+FFFFFF70h]
277 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/17(ŒŽ) 01:07:41.74 ID:+dwRu2dr.net] >>262 i‘±‚«) ‚±‚ê‚͂Ȃ‚Æ‚àuƒ‹[ƒv‰ñ”‚ª8‚Ì”{”‚Å‚ ‚évŽ–‚ªƒRƒ“ƒpƒCƒ‰‚ÉŒ©‚¦‚È‚¢‚Æo—ˆ‚È‚¢Å“K‰»‚¾B ‚»‚¤‚łȂ¯‚ê‚ÎA—Ⴆ‚΃‹[ƒv‰ñ”‚ª6‰ñ‚â14‰ñ‚ÌŽž‚ÉA ʼn‚Ì‚P‰ñ‚¾‚¯ 0299 ‚É”ò‚Ñž‚ñ‚ÅŽn‚ß‚éi“ª‚Ì2‰ñ‚ðƒXƒLƒbƒv‚·‚éjƒR[ƒh‚ª•K—v‚ɂȂ邪A ‚»‚ê‚Ío‚ĂȂ¢‚¾‚ëB (‚»‚à‚»‚à‚±‚̃Aƒ“ƒ[ƒŠƒ“ƒO‚ªx86“I‚ɈӖ¡‚ª‚ ‚é‚Ì‚©‚à‹^–₾‚ªj ˆê”Ê“I‚ÉA‰Â•ωñ”ƒ‹[ƒv‚ð“WŠJ‚·‚邯A•K‚¸ã‹L‚Ì’[؂ꈗiƒLƒŠ‚ª—Ç‚‚È‚¢‚Æ‚«‚̈—j‚ª•K—v‚ɂȂéB ‚¾‚©‚çu‰Â•Ïv‚¾‚ÆŠm’肵‚Ä‚¢‚é‚̂Ȃ畒ʂ͓WŠJ‚µ‚È‚¢B ‚‚܂èAˆê”Ê“I‚É‚ÍA•ÊŠÖ”‚Ń‹[ƒv‰ñ”‚ªˆø”‚Å—^‚¦‚ç‚ê‚Ä‚½‚çA‚»‚ÌÅ“K‰»‚Í‚©‚©‚ç‚È‚¢B ¡‰ñƒqƒbƒg‚·‚éƒf[ƒ^‚ª‹ôX16‰ñƒ‹[ƒv‚¾‚Á‚½‚¾‚¯‚ÅA ‰´‚Ì–{”ÔƒR[ƒh‚͉•ςŗp‚¢‚Ä‚¢‚éˆ×A ‚±‚̂悤‚ȃAƒ“ƒ[ƒŠƒ“ƒO‚Í‚³‚ê‚ĂȂ¢Bi‚ÆŽv‚Á‚Ä‚éB‚½‚¾‚µ265‚Ì’Ê‚è‚à‚¤ˆê“xŠm”F•K—vj ‚±‚¿‚炳̓fƒtƒH‚Å‚»‚±‚Ü‚ÅÅ“K‰»‚ª‚©‚©‚ç‚È‚¢‚̂ł»‚¿‚ç‚Ì󋵂͂悕ª‚©‚ç‚È‚¢‚ªA ‚»‚ÌÅ“K‰»‚ª‚©‚©‚Á‚Ä‚é‚̂ȂçA‰´‚Ì–{”ÔƒR[ƒh‚Ƃ͈Ⴄ󋵂œ®‚¢‚Ä‚¢‚邱‚ƂɂȂéB(‚Í‚¸j ‚¾‚©‚牴‚Í‚»‚ÌÅ“K‰»‚ª‚©‚©‚ç‚È‚¢”͈͂ŋc˜_‚µ‚Ä‚éB ‚»‚ꂪ‰´‚ªÅ‰‚©‚ç•ÊŠÖ”‚É‚µ‚Ä‚½——RBi‚Æ‚¢‚¤‚©Œ³‚̃R[ƒh‚ª•ÊŠÖ”‚¾‚©‚炾‚ªj ‚Ă䂤‚©ƒ}ƒW‚Å‚»‚êƒfƒtƒH‚̂܂܂©H ‚à‚µ‚©‚µ‚ĉ´‚̊‹«‚ª‚¨‚©‚µ‚‚ÄA‘S‚Å“K‰»‚³‚ê‚ĂȂ¢ƒR[ƒh‚ªo‚Ä‚éH
278 –¼‘OF247 mailto:sage [2018/09/17(ŒŽ) 01:12:11.55 ID:yaPtorLJ.net] ¡A–ß‚Á‚½B Ȃ𗣂ê‚ÄŽv‚Á‚½‚ªA‘½•ªAC++/CLI ‚Ìê‡AIDE‚ŃRƒ“ƒpƒCƒ‹ŒãA exeƒtƒ@ƒCƒ‹‚ɂȂÁ‚Ä‚àAunmanaged ƒR[ƒh•”•ªˆÈŠO‚ÍA–{Ž¿“I‚É‚Í .NET‚Ì‹¤’Ê’†ŠÔŒ¾Œê(CILAMSIL)‚ɂȂ邾‚¯‚ÅAx86‚̃}ƒVƒ“Œê‚É‚Í ‚È‚Á‚ĂȂ¢‚ÆŽv‚¤Bˆê•ûÂȂª‚ç‚Ì–{“–‚ÌC++‚Å‚ÍAexe‚Ì’†g‚ÍA –{Ž¿“I‚É‚ÍAx86‚̃}ƒVƒ“Œê‚ª“ü‚Á‚Ä‚¢‚½B C++/CLI‚Ìê‡A쬂³‚ꂽexe‚ÍA‹N“®Žž‚ÉA’†ŠÔŒ¾Œê‚ªx86‚Ì ƒ}ƒVƒ“Œê‚É’¼‚³‚ê‚Ä‚©‚çŽÀs‚³‚ê‚éB‚»‚ÌÛAÅ“K‰»‚ÌŠÖŒW‚ÅA ‚Ç‚¤’¼‚³‚ê‚é‚©‚ª•K‚¸‚µ‚àˆê’肵‚Ä‚¢‚È‚¢B‚¾‚©‚çAIDE‚©‚ç‚Ì‹N“®‚ÆA ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚©‚ç‚Ì‹N“®‚ňقȂÁ‚½x86–½—߂ɒ¼‚³‚ê‚Ä‚µ‚Ü‚¤ ‚Ì‚©‚à’m‚ê‚È‚¢B o—ˆ‚½x86ƒR[ƒh‚ªA—ǂœK‰»‚³‚ꂽê‡Ax87 fpu–½—߂𒷂«‚É “n‚Á‚ăƒ‚ƒŠ‚É‘‚«–ß‚³‚¸‚ÉAst(0)`st(7)‚̃ŒƒWƒXƒ^ã‚ʼn‰ŽZ‚µ ‘±‚¯‚ç‚ê‚邱‚ƂɂȂéB‚»‚Ìê‡A80BIT‚̸“x‚ÅŒvŽZ‚³‚ê‚é ŠúŠÔ‚ª’·‚‚È‚éB ˆê•ûAx87 fpu–½—߂Ɋւ·‚éÅ“K‰»‚ª‚µˆ«‚¢‚©Aˆ«‚‚È‚‚Ä‚à–½—ß‚Ì Žg‚¢•û‚ª•Ï‚í‚Á‚Ä‚µ‚Ü‚¤‚ÆA80BIT(Šg’£double)‚©‚ç64BIT(double)‚Ö ’¼‚³‚ê‚éƒ^ƒCƒ~ƒ“ƒO‚â‰ñ”‚ª•Ï‚í‚éB ‚±‚Ì—¼ŽÒ‚ł͌‹‰Ê‚̸“x‚ª•Ï‚í‚Á‚Ä‚‚éB‘OŽÒ‚Ì•û‚ªŒãŽÒ‚æ‚è‹Í‚© ‚ɸ“x‚ª‚‚‚È‚éB
279 –¼‘OF243=269 mailto:sage [2018/09/17(ŒŽ) 01:14:28.51 ID:yaPtorLJ.net] >>270 –¼‘O—“‚ÍAu247v‚ł͂Ȃu243v‚̊ԈႢ‚¾‚Á‚½B
280 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/17(ŒŽ) 01:24:06.04 ID:yaPtorLJ.net] >>258 >‚È‚¨ILSpyAƒOƒ_ƒOƒ_Œ¾‚킸‚ÉŽŽ‚µ‚Ă݂½‚ªA >“–‚½‚è‘O‚¾‚ªmanaged code ‚¾‚ÆIL‚ªo‚é(x86‚ł͂Ȃ¢j‚Ì‚ÅA >‰´‚Á‚Ī–{“I‚ÉŠÔˆá‚Á‚Ä‚½‚©‚àH >¡‚Ü‚Åx86‚̃AƒZƒ“ƒuƒ‰‚Å‹c˜_‚µ‚Ä‚½‚¯‚ÇA‚±‚ê‚Á‚Ä .NET ƒAƒvƒŠ‚ɂ͓¯«‚³‚ê‚Ä‚¢‚È‚¢‚Æ‚¢‚¤ƒIƒ`H ‚â‚Í‚èAmanaged code•”•ª‚ÍAx86–½—߂ł͖³‚AIL‚ɃRƒ“ƒpƒCƒ‹‚³‚ê‚Ä‚¢‚ÄA •’Ê‚ÌC++‚Ƃ͈á‚Á‚Ä‚½‚ñ‚¾B
281 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/17(ŒŽ) 01:30:31.16 ID:yaPtorLJ.net] >calc_norm_and_regulate‚ðunmanagedŠÖ”‚É‚·‚邯Aˆá‚¢‚͂Ȃ‚È‚éB >(Releaseƒrƒ‹ƒh‚ÌM‚ðƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚Å‹N“®‚µ‚½Û‚É‚àA****dd‚ÌŒ‹‰Ê‚ƂȂéj ‚â‚Í‚èB unmanagedŠÖ”‚ÌꇂÍACIL(MSIL)‚ł͂ȂAexe‚Ì’iŠK‚ÅŠù‚É x86ƒ}ƒVƒ“Œê‚É’¼‚³‚ꂽ‚à‚Ì‚ªŠi”[‚³‚ê‚é‚ñ‚¾‚낤B‚¾‚Æ‚·‚邯A‹N“®•û–@‚É ŠÖŒW‚È‚A‚È‚‚Æ‚à‚»‚Ì•”•ª‚ÉŠÖ‚µ‚Ä‚ÍAx87 fpu–½—߂̎g‚í‚ê•û‚ª ‘S‚“¯‚¶‚ɂȂéBcall‚µ‚½sqrt()ŠÖ”‚Ì’†‚Íœ‚¢‚ÄB
282 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2018/09/17(ŒŽ) 01:37:20.55 ID:dj7qSZnZ.net] >>260-261 ‚̺°ÄÞ‚à>>263-264 ‚à“¯‚¶ðŒ‚ÅÃÞÌ«ÙĂźÝÊß²Ù‚µ‚Ä‚é ºÚ‚ÍŠÔˆá‚¢‚È‚¢ ˆêsºÒÝĂ͂¸‚µ‚ĺÝÊß²Ù‚µ‚È‚¨‚·‚¾‚¯‚¾‚©‚ç‚È ‚ÅA>>262 A>>265 ‚Ý‚½‚¢‚ÈŒ‹‰Ê‚ɂȂé >>265 ‚ÌŽÀsŒ‹‰Ê‚ÍDebugËÞÙÄނƂ܂Á‚½‚“¯‚¶‚É‚È‚é ‚»‚̂܂ñ‚Ü
283 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/17(ŒŽ) 02:03:16.26 ID:yaPtorLJ.net] ‚Í‚Á‚«‚è‘‚¢‚Ä‚ ‚éBmanaged code ‚ÍA‹N“®Žž‚ÉJITƒRƒ“ƒpƒCƒ‹‚³‚ê‚éB ‚¾‚©‚çA‚Ç‚ñ‚ȃ}ƒVƒ“Œê‚É’u‚«Š·‚í‚é‚©‚ªAƒRƒ“ƒpƒCƒ‹‚µ‚½‚¾‚¯‚Å‚Í ‚Ü‚¾Š®‘S‚ɂ͌ˆ’肳‚ê‚ĂȂ¢B https://en.wikipedia.org/wiki/Managed_code Drawbacks include slower startup speed (the managed code must be JIT compiled by the VM) and generally increased use of system resources on any machine that is executing the code. managed code ‚ÍAVM‚É‚æ‚Á‚ÄAJIT ƒRƒ“ƒpƒCƒ‹‚³‚ê‚È‚¢‚Æ‚¢‚¯‚È‚¢‚Ì‚ÅA ‹N“®‘¬“x‚ª’x‚‚È‚èA‚©‚ÂAˆê”Ê“I‚ÉAƒVƒXƒeƒ€EƒŠƒ\[ƒX‚ÌŽg—p‚ª‘‚¦‚éB
284 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2018/09/17(ŒŽ) 02:49:02.18 ID:dj7qSZnZ.net] •’ʂ̺ݿ°Ù±Ìߨ¹°¼®Ý(CLR‚¶‚á‚È‚¢‚Ù‚¤)‚Å‚à “¯‚¶º°ÄÞ‚Å•’ʂɂ܂Á‚½‚“¯‚¶‚悤‚ÉÄŒ»‚·‚éܹ‚¾‚ª ÎÝĂȷÐׂ͂Ȃɂ𓪈«‚¢‚±‚Ƃ΂Á‚©‚è‚¢‚Á‚Ä‚ñ‚ÌH ŽÀsŒ‹‰Ê‚¾‚¯‚͂͂Á‚Æ‚¢‚Ä‚â‚邪
285 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2018/09/17(ŒŽ) 02:50:12.89 ID:dj7qSZnZ.net] ‡C-1 ÃÞÌ«ÙÄÝ’è(Release)@yº°ÄÞzi‚»‚Ì1j #include "stdafx.h" #include <stdio.h> #include <stdint.h> #include <math.h> 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]; //@@@@@@fprintf(stdout, "[0]0x%016llX:%.19lg\n", *(uint64_t*)&norm, norm); @@@} @@@fprintf(stdout, "[1]0x%016llX:%.19lg\n", *(uint64_t*)&norm, norm); @@@norm = sqrt(norm); @@@if (regulate) @@@@@@for (int i=0;i<num;i++) @@@@@@@@@r[i] = (T)(r[i]/norm); @@@return norm; }
286 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2018/09/17(ŒŽ) 02:50:37.91 ID:dj7qSZnZ.net] ‡C-1 ÃÞÌ«ÙÄÝ’è(Release)@yº°ÄÞzi‚»‚Ì2j int _tmain(int argc, _TCHAR* argv[]) { @@@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); @@@fprintf(stdout, "[2]0x%016llX:%.19lg\n", *(uint64_t*)&norm, norm); @@@return 0; }
287 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2018/09/17(ŒŽ) 02:51:12.35 ID:dj7qSZnZ.net] ‡C-1 ÃÞÌ«ÙÄÝ’èiReleasej@yŽÀsŒ‹‰Êz «‚±‚̺°ÄÞ‚Ì‹t±¾ÝÌÞÙº°ÄÞ https://ideone.com/Dqqn6J [1]0x0007F2C44DFFF8F2:1.1053482540585106e-308 [2]0x1FF68DDFB62221DE:1.051355436595308e-154
288 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2018/09/17(ŒŽ) 02:51:53.99 ID:dj7qSZnZ.net] ‡C-2 ÃÞÌ«ÙÄÝ’è(Release)@yº°ÄÞzi‚»‚Ì1j #include "stdafx.h" #include <stdio.h> #include <stdint.h> #include <math.h> 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]; //@@@@@@fprintf(stdout, "[0]0x%016llX:%.19lg\n", *(uint64_t*)&norm, norm); @@@} @@@fprintf(stdout, "[1]0x%016llX:%.19lg\n", *(uint64_t*)&norm, norm); @@@norm = sqrt(norm); @@@if (regulate) @@@@@@for (int i=0;i<num;i++) @@@@@@@@@r[i] = (T)(r[i]/norm); @@@return norm; }
289 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2018/09/17(ŒŽ) 02:52:10.55 ID:dj7qSZnZ.net] ‡C-2 ÃÞÌ«ÙÄÝ’è(Release)@yº°ÄÞzi‚»‚Ì2j int _tmain(int argc, _TCHAR* argv[]) { @@@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); @@@fprintf(stdout, "[2]0x%016llX:%.19lg\n", *(uint64_t*)&norm, norm); @@@return 0; }
290 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2018/09/17(ŒŽ) 02:52:25.20 ID:dj7qSZnZ.net] ‡C-2 ÃÞÌ«ÙÄÝ’èiReleasej@yŽÀsŒ‹‰Êz «‚±‚̺°ÄÞ‚Ì‹t±¾ÝÌÞÙº°ÄÞ https://ideone.com/5OaUe6 «ŽÀsŒ‹‰Ê‚ð‘‚«ž‚߂Ȃ¢‚©‚炱‚Á‚¿‚É‘‚«ž‚ñ‚Ç‚¢‚½ https://ideone.com/FFW0P0 [1]0x0007F2C44DFFF8F1:1.1053482540585101e-308 [2]0x1FF68DDFB62221DD:1.0513554365953078e-154
291 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2018/09/17(ŒŽ) 02:53:45.62 ID:dj7qSZnZ.net] ‡C-2 ÃÞÌ«ÙÄÝ’è(Release)@yº°ÄÞzi‚»‚Ì1j #include "stdafx.h" #include <stdio.h> #include <stdint.h> #include <math.h> 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]; @@@@@@fprintf(stdout, "[0]0x%016llX:%.19lg\n", *(uint64_t*)&norm, norm); @@@} @@@fprintf(stdout, "[1]0x%016llX:%.19lg\n", *(uint64_t*)&norm, norm); @@@norm = sqrt(norm); @@@if (regulate) @@@@@@for (int i=0;i<num;i++) @@@@@@@@@r[i] = (T)(r[i]/norm); @@@return norm; }
292 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2018/09/17(ŒŽ) 02:54:34.82 ID:dj7qSZnZ.net] i³j>>283 iŒëj>>280
293 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2018/09/17(ŒŽ) 02:57:46.48 ID:dj7qSZnZ.net] >>277-278 ‚̺°ÄÞ‚à>>283 ,281‚̺°ÄÞ‚à ‚à“¯‚¶ðŒ‚ÅÃÞÌ«ÙĂźÝÊß²Ù‚µ‚Ä‚é ˆêsºÒÝĂ͂¸‚µ‚ĺÝÊß²Ù‚µ‚È‚¨‚·‚¾‚¯‚¾‚©‚ç‚È ‚ÅA>>279 A>>282 ‚Ý‚½‚¢‚ÈŒ‹‰Ê‚ɂȂé >>282 ‚ÌŽÀsŒ‹‰Ê‚ÍDebugËÞÙÄނƂ܂Á‚½‚“¯‚¶‚É‚È‚é ‚»‚̂܂ñ‚Ü CLR‚̂Ƃ«i>>274 j‚Ì“®ì‚Ƃ܂Á‚½‚“¯‚¶ ·Ðׂ͂¸[‚Á‚ƂȂɂâ‚Á‚Ä‚é‚킯H
294 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/17(ŒŽ) 09:44:34.76 ID:yu1Dprt2.net] >>285 “¯ˆê‚Ìrelease‚ðƒRƒ“ƒ\[ƒ‹‚ÅŽÀs‚·‚é‚©ƒfƒoƒbƒK‚ÅŽÀs‚·‚é‚©‚ÅŒ‹‰Ê‚ªˆÙ‚È‚é‚̂͂Ȃº‚¾‚낤B ‚Æ‚¢‚¤˜b‚ð‚µ‚Ä‚¢‚½‚̂ł ‚Á‚ÄA debug/release‚ŕʂ̌‹‰Ê‚ɂȂ邱‚Æ‚ð–â‘è‚É‚µ‚Ä‚¢‚é‚̂ł͂Ȃ¢‚Å‚·B
295 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/17(ŒŽ) 10:25:22.39 ID:+dwRu2dr.net] >>192 ‚ªƒRƒ“ƒ\[ƒ‹‹N“®‚ÆIDE‹N“®‚Å‹““®‚ªˆÙ‚Ȃ闗R‚Í•ª‚©‚è‚Ü‚µ‚½B ‚ ‚肪‚Æ‚¤B Œ‹˜_‚͂‚܂èˆÈ‰º‚¾B > JIT ‚ÌÅ“K‰»‚ƃfƒoƒbƒOi”²ˆj > ƒ}ƒl[ƒW ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ðƒfƒoƒbƒO‚·‚邯‚«AVisual Studio ‚Å‚ÍAŠù’è‚ÅA > ƒWƒƒƒXƒg ƒCƒ“ ƒ^ƒCƒ€ (JIT: Just-In-Time) ƒR[ƒh‚ÌÅ“K‰»‚ªÈ—ª‚³‚ê‚Ä‚¢‚Ü‚·B > Å“K‰»‚³‚ꂽƒR[ƒh‚ðƒfƒoƒbƒO‚·‚é‚̂͢“ï‚Å‚ ‚邽‚ßA > Å“K‰»‚³‚ꂽƒR[ƒh‚Å”¶‚·‚éƒoƒO‚ªA”ñÅ“K‰»ƒo[ƒWƒ‡ƒ“‚Å‚ÍÄŒ»‚µ‚È‚¢‚Æ‚«‚ɂ݂̂¨Š©‚ß‚µ‚Ü‚·B > JIT Å“K‰»‚ÍAVisual Studio ‚Ì [ƒ‚ƒWƒ…[ƒ‹‚̓ǂݞ‚Ý’†‚É JIT Å“K‰»‚ð—}§‚·‚é] ƒIƒvƒVƒ‡ƒ“‚ŧŒä‚³‚ê‚Ü‚·B > ŽÀs’†‚̃vƒƒZƒX‚ɃAƒ^ƒbƒ`‚·‚éê‡AŠù‚ɓǂݞ‚Ü‚êAJIT ‚ŃRƒ“ƒpƒCƒ‹‚³‚êA > Å“K‰»‚³‚ê‚Ä‚¢‚éƒR[ƒh‚ªŠÜ‚Ü‚ê‚邱‚Æ‚ª‚ ‚è‚Ü‚·B > ‚±‚̂悤‚ȃR[ƒh‚Ìê‡A[ƒ‚ƒWƒ…[ƒ‹‚̓ǂݞ‚Ý’†‚É JIT Å“K‰»‚ð—}§‚·‚é] ƒIƒvƒVƒ‡ƒ“‚̉e‹¿‚Í‚ ‚è‚Ü‚¹‚ñB > https://msdn.microsoft.com/ja-jp/library/ms241594.aspx Šm‚©‚É‚±‚̃IƒvƒVƒ‡ƒ“‚Å’¼‚Á‚½B
296 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/17(ŒŽ) 10:25:48.51 ID:+dwRu2dr.net] ‚»‚Ì‘¼”XA˜b‚ð®—‚·‚邯AˆÈ‰º‚ƂȂéBiƒ\[ƒX‚Í>>192 ŽQÆj 1. managedƒR[ƒh‚Å‚ÍMSIL‚ªo—Í‚³‚êAx86ƒR[ƒh‚͊܂܂ê‚Ä‚¢‚È‚¢B 2. ‹N“®ŽžAMSIL‚ÍJIT‚³‚êAx86ƒR[ƒh‚É—Ž‚Æ‚³‚ê‚éB 3. ‚±‚Ì‚½‚ßAmain‚Ì1s–ڂŃuƒŒ[ƒNƒ|ƒCƒ“ƒg‚ÅŽ~‚ßAcalc_norm_and_regulate‚Ì‹tƒAƒZƒ“ƒuƒ‹‚ðŒ©‚æ‚¤‚Æ‚µ‚Ä‚àA @IDEã‚Åu‹tƒAƒZƒ“ƒuƒ‹‚ð•\ަ‚Å‚«‚Ü‚¹‚ñBŽ®‚ª‚Ü‚¾ƒlƒCƒeƒBƒu ƒ}ƒVƒ“ ƒR[ƒh‚É–|–󂳂ê‚Ä‚¢‚Ü‚¹‚ñBv‚Æo‚éB @‚±‚ê‚Ímain‚Ì1s–Ú‚É System::Diagnostics::Debugger::Launch(); ‚ð“ü‚ꂽ‚Æ‚«‚à“¯—lB 4. ‚»‚µ‚Ä‚±‚ÌJIT‚ÉŠÖ‚µ‚ÄAã‹LIDE’†‚Ì w[ƒ‚ƒWƒ…[ƒ‹‚̓ǂݞ‚Ý’†‚É JIT Å“K‰»‚ð—}§‚·‚é] ƒIƒvƒVƒ‡ƒ“x ‚ªŒø‚¢‚Ä‚‚éB @‹K’è‚ł̓IƒtA‚‚܂èAReleaseƒrƒ‹ƒh‚Å‚àIDE‹N“®‚È‚çJITÅ“K‰»‚Í—}§‚³‚ê‚éB @‚±‚ꂪfld/fmul/fadd/fstp‚̃‹[ƒvƒR[ƒh‚ɂȂ闗RB @‚±‚ê‚ðƒIƒ“‚É‚·‚ê‚ÎAŠm‚©‚ÉReleaseƒrƒ‹ƒhIDE‹N“®‚Å‚àA @fld/fmul/fadd‚̃‹[ƒvƒR[ƒh‚ƂȂèAƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‹N“®‚Æ“¯‚¶Œ‹‰Ê‚ɂȂ邱‚Ƃ͊m”F‚µ‚½B 5. ã‹L‚ł͕\Œ»‚ª”÷–‚¾‚ªAJITÅ“K‰»‚ð‚·‚é‚©‚Ç‚¤‚©‚͓ǂݞ‚Ü‚ê‚邯‚«‚ÉŒˆ‚Ü‚é‚炵‚¢B @‚µ‚½‚ª‚Á‚ÄAReleaseƒrƒ‹ƒh‚ð‹N“®Œã‚ɃAƒ^ƒbƒ`‚µ‚½ê‡‚Í’Êí’Ê‚èÅ“K‰»‚³‚êA @IDE‚©‚çReleaseƒrƒ‹ƒh‚ð‹N“®‚µ‚½ê‡‚ÍwŠù’è‚Å‚ÍxÅ“K‰»‚ª—}§‚³‚ê‚Ä‚µ‚Ü‚¤B @‚±‚ꂪIDE‹N“®‚ƃRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‹N“®‚Å‹““®‚ªˆÙ‚È‚Á‚½Œ´ˆöB @ã‹LAw[ƒ‚ƒWƒ…[ƒ‹‚̓ǂݞ‚Ý’†‚É JIT Å“K‰»‚ð—}§‚·‚é]x‚̃`ƒFƒbƒN‚ðŠO‚¹‚ÎA’¼‚Á‚½B 6. ‚¨‚»‚ç‚‚±‚̃IƒvƒVƒ‡ƒ“‚̓\ƒŠƒ…[ƒVƒ‡ƒ“–ˆ‚ł͂ȂAIDE‚̃Cƒ“ƒXƒg[ƒ‹–ˆ‚È‚ñ‚¾‚ÆŽv‚¤B @iƒ\ƒŠƒ…[ƒVƒ‡ƒ“–ˆ‚̃IƒvƒVƒ‡ƒ“‚̓vƒƒWƒFƒNƒg‚̃vƒƒpƒeƒB‚É‚ ‚èAꊂªˆá‚¤) @‚¾‚©‚ç‚»‚Ìl‚̊‹«‚É‚æ‚Á‚Ä‚Íʼn‚©‚çƒIƒt‚É‚µ‚Ä‚¢‚él‚ª‚¢‚½‚©‚àH @‚±‚ꂪČ»ŽÀŒ±‚ð‚µ‚Ä‚‚ꂽl‚½‚¿‚Æ”÷–‚ÉŒ‹‰Ê‚ªˆÙ‚È‚Á‚½‚肵‚½Œ´ˆö‚©H ‚±‚ê‚Å>>192 ‚ɂ‚¢‚Ă̋^–â‚͉ðÁ‚µ‚½Bi‚Í‚¸j ‰´‚Ì–{”ÔƒR[ƒh‚ɂ‚¢‚Ä‚ÍÄ“xŠm”F‚µA‚Ü‚½•ñ‚·‚éB
297 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2018/09/17(ŒŽ) 10:28:21.54 ID:dj7qSZnZ.net] “¯‚¶ØØ°½ËÞÙÄÞ‚Å Œ‹‰Ê‚ª‚©‚í‚Á‚Ä‚ñ‚̂ɂȂɂ¢‚Á‚Ä‚ñ‚ÌH fprintf“ü‚ê‚邾‚¯‚Å ØØ°½ËÞÙÄÞ‚ÅŒ‹‰Ê‚ª•Ï‚í‚é
298 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2018/09/17(ŒŽ) 10:31:16.66 ID:dj7qSZnZ.net] ‚â‚Í‚è’áŠw—ð’mŒb’x‚ê‚Í Œ‹‰Ê‚ªˆÓ–¡‚·‚邯‚±‚낪•ª‚©‚Á‚ĂȂ¢‚íBBB
299 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2018/09/17(ŒŽ) 10:32:49.39 ID:dj7qSZnZ.net] ‚¿‚Ȃ݂ɵڂª‚ ‚°‚½Œ‹‰Ê‚Í ‚·‚×‚ÄØØ°½ËÞÙÄÞ‚ÌŒ‹‰Ê‚¾‚©‚ç‚È ÃÞÊÞ¯¸ÞËÞÙÄÞ‚ÌŒ‹‰Ê‚È‚ñ‚©‚ ‚°‚Ä‚à ˆÓ–¡‚È‚¢‚©‚ç‚È
300 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2018/09/17(ŒŽ) 10:38:00.02 ID:dj7qSZnZ.net] CLR‚̹°½‚àCLR‚łȂ¢•’Ê‚Ìexe‚̹°½‚Å‚à Œ‹‰Ê‚͂܂Á‚½‚“¯‚¶‚¾‚©‚ç‚È ‚µ‚©‚à‚·‚×‚ÄØØ°½ËÞÙÄÞ‚Å ‚¨‚«‚Ä‚éŒë·‚܂ł҂Á‚½‚èˆê’v‚µ‚Ä‚é
301 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/17(ŒŽ) 10:52:24.35 ID:+dwRu2dr.net] >>289 ‚¨‘O‚Í‘Š•Ï‚í‚炸—‰ð‚µ‚ĂȂ¢‚ÈB 80bitiŠg’£”{¸“xj‚Æ64bit(”{¸“x)‚̉‰ŽZ‚ÅŒ…—Ž‚¿‚ªˆÙ‚È‚èAŒ‹‰Ê‚ªˆÙ‚È‚é‚͓̂–‘R‚È‚ñ‚¾‚æB –â‘è‚Í“¯‚¶ƒoƒCƒiƒŠ‚̕Ȃɉ½ŒÌ‹N“®•û–@‚É‚æ‚Á‚ĈقȂé‚Ì‚©H‚¾‚Á‚½‚ñ‚¾B ——R‚ÍMSIL‚¾‚©‚炾B MSIL‚ÍCLRã‚ÅJIT‚³‚êAx86ƒR[ƒh‚É—Ž‚Æ‚³‚ê‚éB ‚±‚̂Ƃ«‚ÉJITÅ“K‰»‚ª‚©‚©‚ê‚ÎAŠg’£”{¸“xi‚ð•Û‚Á‚½‚Ü‚Üj‚̃R[ƒh‚ɂȂ邵A Å“K‰»‚ª‚©‚©‚炸–ˆ‰ñƒƒ‚ƒŠ‚É‘‚«–ß‚µ‚Ä‚¢‚ê‚ÎA”{¸“x‚̃R[ƒh‚ɂȂéB .NET‚É‚¨‚¯‚铯ˆêƒoƒCƒiƒŠ‚Á‚Ă̂ÍA
302 –¼‘OF“¯ˆêMSIL‚Æ‚¢‚¤ˆÓ–¡‚Å‚ ‚Á‚ÄA“¯ˆêx86‹@ŠBŒê‚Æ‚¢‚¤ˆÓ–¡‚ł͂Ȃ¢B ‚¾‚©‚çAŠm‚©‚É“¯ˆêƒoƒCƒiƒŠ‚ð’Í‚ñ‚Å‚¢‚½‚ªA‹N“®•û–@‚É‚æ‚Á‚ÄŒ‹‰Ê‚ªˆÙ‚È‚Á‚Ä‚¢‚½‚ñ‚¾‚æB (VS‚ªƒfƒoƒbƒO—p‚ɈÓ}“I‚É‚»‚¤‚¢‚¤Žd—l‚É‚µ‚Ä‚¢‚½‚¾‚¯B‰´‚Í‚»‚ê‚ð’m‚ç‚È‚©‚Á‚½j ŒN‚̃R[ƒh‚ɂ‚¢‚Ä‚ÍA ‚¢‚¿‚¢‚¿fprint‚·‚éꇂÍdouble(”{¸“xj‚ª–ˆ‰ñ•K—v‚ɂȂ邩‚çA ƒRƒ“ƒpƒCƒ‰‚Í‚»‚Ì•”•ª‚ł̊g’£”{¸“x‚ł̃‹[ƒv‚ð’f”O‚µA Œ‹‰Ê“I‚É‚»‚̃‹[ƒv‚ª”{¸“x‚ʼnñ‚Á‚Ä‚¢‚邾‚¯‚Ì‚±‚ÆB ‚à‚µ‰¼‚ÉC‚ªŠg’£”{¸“xŒ^ ExDouble ‚ðŽ‚Á‚Ä‚¢‚½‚Æ‚µ‚ÄAprintf‚à‚»‚ê‚ɑΉž‚µ‚Ä‚¢‚ê‚ÎA ‚à‚µ‚©‚·‚邯‚»‚Ì–ˆ‰ñprintf‚·‚éƒR[ƒh‚Å‚àŠg’£”{¸“x‚ʼnñ‚Á‚Ä‚¢‚½‚©‚à‚µ‚ê‚ñB –ܘ_Žè“®‚Å‚»‚¤‚¢‚¤ƒR[ƒh‚Ì‚·‚邱‚Æ‚à‰Â”\‚¾B ‚»‚±‚̓Rƒ“ƒpƒCƒ‰‚ª‚Ç‚¤”»’f‚µ‚½‚Ì‚©‚Å‚µ‚©‚È‚A‚ ‚Ü‚è‹l‚߂ĂàˆÓ–¡‚ª‚È‚¢B [] [‚±‚±‰ó‚ê‚Ă܂·]
303 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/17(ŒŽ) 10:54:19.52 ID:+dwRu2dr.net] ~ fprint › printf ‚Ü‚ A•ª‚©‚邯Žv‚¢‚Ü‚·‚ª
304 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2018/09/17(ŒŽ) 10:57:31.99 ID:dj7qSZnZ.net] ‚ÅAÅ“K‰»‚³‚ê‚Ă邩‚³‚ê‚ĂȂ¢‚©‚·‚ç ‚¢‚܂̂¢‚܂܂ŋC•t‚‚±‚Æ‚·‚ç‚Å‚«‚È‚¢ ‚»‚µ‚Ä‹C•t‚•û–@‚·‚ç‚í‚©‚ç‚È‚©‚Á‚½‚킯‚© ‚¤‚ ‚í “ª‚í‚邤BBB ·ÐAÌßÛ¸Þ×Ñ‚‚Þ‚ÌŒü‚¢‚ĂȂ¢‚í
305 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2018/09/17(ŒŽ) 10:58:47.63 ID:dj7qSZnZ.net] –â‘è‚ÌØ‚蕪‚¯‚ª‚Å‚«‚È‚¢l‚Í ÌßÛ¸Þ×т͂‚߂Ȃ¢ ºÚ‚Í’èà‚¾‚©‚ç‚È
306 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/17(ŒŽ) 11:09:05.96 ID:ivGPGa/P.net] >>287 ‚È‚é‚Ù‚Ç–Ê”’‚¢‚ËB ƒŒƒX‚ª–c‘å‰ß‚¬‚Äʼn‚Ì•û‚µ‚©“Ç‚ñ‚łȂ©‚Á‚½‚¯‚ÇAƒlƒCƒeƒBƒuƒR[ƒh‚̘b‚ÆŽv‚¢ž‚ñ‚Å‚½‚ç .NET‚̘b‚¾‚Á‚½‚Ì‚©w
307 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/17(ŒŽ) 12:34:14.16 ID:yaPtorLJ.net] ŒÂl“I‚É‚ÍAC++‚âx87 FPU‚ÍŠ„‚Æ’mޝ‚ª‚ ‚Á‚½‚¯‚ÇA.NETŠÖ˜A‚Í—]‚è’Ç‚¢‚©‚¯‚ĂȂ©‚Á‚½‚Ì‚ÅA‹C‚‚̂ª’x‚ꂽB managedƒR[ƒhAunmanagedƒR[ƒh‚ɂ‚¢‚ÄA¡‰ñ‰‚߂Dz‚ׂĂ݂½‚‚ç‚¢‚¾‚µB
308 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/17(ŒŽ) 12:53:34.77 ID:yaPtorLJ.net] >>293 uID:dj7qSZnZv‚Ìl‚Í—‰ð‚µ‚Ä‚¢‚È‚¢‚ËB ”Þ‚Íl‚ÌŽ–”nނɂµ‚Ă邯‚ÇEEEB
309 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/17(ŒŽ) 13:39:23.91 ID:F2vzl5VC.net] ʼn‚ÉŽw“E‚³‚ꂽ‚±‚Æ‚¾‚낤‚ÉB ƒAƒZƒ“ƒuƒ‰ƒŒƒxƒ‹‚Ÿ“x‚âŒø—¦‚ɉî“ü‚µ‚½‚«‚á.net‚È‚ñ‚ÄŽg‚¤‚ÈA‚È‚ñ‚Ä•ª‚©‚è‚«‚Á‚½‚±‚ÆB
310 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/17(ŒŽ) 14:58:46.52 ID:zCVYDMXL.net] ƒGƒfƒBƒ^Žg‚Á‚Ă邯‚½‚Ü‚É Intellisense‹@”\‚ªŒø‚©‚È‚¢‚Æ‚«‚ª‚ ‚é‚ñ‚¾‚ª ‚ ‚ê‚È‚ñ‚È‚ÌH ’†ŠÔƒtƒ@ƒCƒ‹‚Æ‚©Á‚¹‚Î’¼‚é‚ÌH
311 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/17(ŒŽ) 17:03:46.83 ID:+dwRu2dr.net] >>301 ‚Í‚¢B‚悉ó‚ê‚Ü‚·B > [C++] There is an issue with the .ncb file > Close the solution. > Delete the . ncb file. > Reopen the solution. > Reopening the solution creates a new . ncb file. > https://msdn.microsoft.com/ja-jp/library/ks1ka3t6(v=vs.110)
312 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/17(ŒŽ) 17:17:56.66 ID:zCVYDMXL.net] >>302 ‚È‚é‚Ù‚Ç .ncbƒtƒ@ƒCƒ‹‚Ë ¡“xÁ‚µ‚Ä‚â‚Á‚Ă݂é‚í
313 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/17(ŒŽ) 18:30:58.83 ID:+dwRu2dr.net] ‚³‚ĉ´‚Ì–{”ÔƒR[ƒhAˆÈ‰º‚̂悤‚¾B ‹^–â‚͉ðÁ‚µ‚½B‹¦—Í‚µ‚Ä‚‚ꂽŠF—l‚ ‚肪‚Æ‚¤B FŠg’£”{¸“xA›F”{¸“xA‚Æ‚µ‚ÄA(ƒ\[ƒX‚Í>>192 ŽQÆ) EReleaseƒrƒ‹ƒh‚ðƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚©‚ç‹N“®¨Ï˜aA•½•ûª EDebugƒrƒ‹ƒh‚ðƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚©‚ç‹N“®¨Ï˜aA›•½•ûª EIDE‚©‚ç‹N“®¨›Ï˜aA›•½•ûª ‚±‚ê‚Å3Ží—Þo—ˆã‚ª‚Á‚Ä‚½B (‚È‚¨A>>167 “àƒoƒCƒiƒŠ‚ðƒAƒ^ƒbƒ`‚µ‚½Û‚ÌuA‚Ü‚½‚ÍCv‚ÍAuA‚Ü‚½‚ÍBv‚̊ԈႢ) ‚»‚µ‚ÄIDEã‚Åw[ƒ‚ƒWƒ…[ƒ‹‚̓ǂݞ‚Ý’†‚É JIT Å“K‰»‚ð—}§‚·‚é]x‚ð•ÏX‚·‚邯A Šm‚©‚ÉRelease/Debug‚Ì2Ží—Þ‚Éi‚ê‚éB Debug‚¾‚©‚ç‚Æ‚¢‚Á‚ÄA‘S‚Å“K‰»‚ª‚©‚©‚ç‚È‚¢‚킯‚Å‚à‚È‚¢‚悤‚¾B i1s“à‚È‚çÅ“K‰»‚ª‚©‚©‚éHj ŽQl‚ÉAReleaseƒrƒ‹ƒh‚ÌŠY“–•”•ª‚Ì‹tƒAƒZƒ“ƒuƒ‹‚͈ȉºB Ϙa‚ªŠg’£”{¸“x‚Ås‚í‚êA‚»‚Ì‚Ü‚Ü fsqrt ‚Å•½•ûª‚ªŽæ‚ç‚ê‚éB iŠÖ”‚²‚ƃCƒ“ƒ‰ƒCƒ“‰»‚³‚ê‚Ä‚¢‚é‚̂ŃAƒhƒŒƒX‚ª’†“r”¼’[‚¾‚ªj double retval = calc_norm_and_regulate(count, vec, false); 0000003e fldz 00000040 xor edx,edx 00000042 test esi,esi 00000044 jle 00000056 00000046 lea eax,[esp+28h] 0000004a fld qword ptr [eax+edx*8] 0000004d fmul st(0),st 0000004f faddp st(1),st 00000051 inc edx 00000052 cmp edx,esi 00000054 jl 00000046 00000056 fsqrt 00000058 fstp qword ptr [esp+10h]
314 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2018/09/19(…) 17:24:44.24 ID:GzaYiinu.net] VC++2008‚¾‚¯‚ÇA“Ë‘Rˆê•”‚̃tƒ@ƒCƒ‹‚¾‚¯ƒuƒŒ[ƒNƒ|ƒCƒ“ƒg‚ª“ü‚ç‚È‚‚È‚Á‚½EEE .ncbÁ‚µ‚½‚èA‚»‚̃vƒƒWƒFƒNƒg‚¾‚¯ƒŠƒrƒ‹ƒh‚µ‚½‚¯‚Ç’¼‚ç‚È‚¢ ‘SƒŠƒrƒ‹ƒh‚·‚ê‚΂¨‚‹H
315 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/19(…) 18:59:08.26 ID:KTUM/Tgt.net] >>305 ª–{“I‚ȉðŒˆô‚Ƃ͈Ⴄ‚ª uƒuƒŒ[ƒNƒ|ƒCƒ“ƒg‚ÍŒ»Ý‚ÌÝ’è‚ł̓qƒbƒg‚µ‚Ü‚¹‚ñBƒ\[ƒXƒR[ƒh‚ªŒ³‚̃o[ƒWƒ‡ƒ“‚ƈقȂè‚Ü‚·Bv ‚È‚ç [ƒIƒvƒVƒ‡ƒ“] ‚Ì[ƒfƒoƒbƒO]‚©‚ç[Œ³‚̃o[ƒWƒ‡ƒ“‚ÆŠ®‘S‚Ɉê’v‚·‚éƒ\[ƒX ƒtƒ@ƒCƒ‹‚ð•K—v‚Æ‚·‚é] ‚ðƒIƒt‚Å
316 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2018/09/20(–Ø) 12:44:39.12 ID:rLmEYUhk.net] >>306 ‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B Œ‹‹ÇA‘SƒŠƒrƒ‹ƒh‚Å‚à’¼‚ç‚È‚©‚Á‚½‚Ì‚ÅA.sln ‚Æ .vcproj ˆÈŠO‘S•”Á‚µ‚Ä Windows‚àÄ‹N“®‚µ‚ÄŠ®‘S‚ɂ܂Á‚³‚ç‚Èó‘Ô‚É‚µ‚Ä‘Sƒrƒ‹ƒh‚µ‚½‚ç’¼‚è‚Ü‚µ‚½‚ªA ‚»‚Ì‚¤‚¿‚Ü‚½ƒuƒŒ[ƒNƒ|ƒCƒ“ƒg‚ª“ü‚ç‚È‚‚È‚Á‚½‚Ì‚ÅA>>306 ‚Ì•û–@‚Å ‰ñ”ð‚µ‚Ü‚µ‚½B
317 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2019/06/19(…) 14:12:16.93 ID:Yoy0IPRe.net] ‚¨A‚¨‚¤
318 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2019/10/04(‹à) 14:14:25.88 ID:gozwERy2.net] C++@CLR‚ÌWindowsƒtƒH[ƒ€ƒAƒvƒŠì‚Á‚Ă邯A ƒCƒxƒ“ƒg‚Æ‚©‹L“ü‚·‚邯‚«ƒCƒ“ƒfƒ“ƒg‚ª‚¨‚©‚µ‚¢iƒXƒy[ƒX‚ª1‚•t‚j‚ñ‚Å‚·‚ªA ‚±‚ê‚𒼂·•û–@‚Á‚Ä‚ ‚è‚Ü‚·‚©H
319 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2019/10/06(“ú) 21:09:30.88 ID:xhkeezXX.net] ƒeƒ“ƒvƒŒ[ƒg“ÁŽê‰»‚Á‚ÄVisualC++2008 SP1 ‚ł͂ł«‚È‚¢‚Å‚·‚©H
320 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2019/10/06(“ú) 21:48:55.66 ID:xhkeezXX.net] >310 https://programming-place.net/ppp/contents/cpp/language/023.html ‚±‚¿‚炳ł«‚Ü‚µ‚½AƒXƒŒ‰˜‚µ‚·‚݂܂¹‚ñ
321 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ [2021/04/20(‰Î) 20:00:45.05 ID:rVJPu0WM.net] ‚í‚©‚ç‚È‚¢‚̂ŋ³‚¦‚Ä‚‚¾‚³‚¢B ƒVƒŠƒAƒ‹’ÊM‚ð‚·‚éƒvƒƒOƒ‰ƒ€‚ðì‚肽‚A VS2008‚É‚ÄAuSerialPortv‚ðŽg‚¦A‚Æ‚¢‚¤‚Ì‚ª ƒTƒCƒg‚É‚ ‚Á‚½‚̂ł·‚ªA ƒc[ƒ‹ƒ{ƒbƒNƒX‚ÉSerialPort‚ª‚ ‚è‚Ü‚¹‚ñB ’ljÁ‚·‚é•û–@‚ð‹³‚¦‚Ä‚‚¾‚³‚¢B Žg—pŠÂ‹«FVS2008 C++ MFCƒAƒvƒŠƒP[ƒVƒ‡ƒ“
322 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2021/04/20(‰Î) 20:36:15.98 ID:mPkgRyxP.net] ‚Ë‚¥‚Ë‚¥¡“ú‚͉½ˆ‚Ü‚ÅÀ‚±‚¤‚©‚È` COM‚̓lƒCƒeƒBƒu‚Ȃ̂©‚Ë
323 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2021/04/23(‹à) 21:39:54.21 ID:OsunfFOw.net] >>312 SerialPort‚ÍŽg‚Á‚½‚±‚Æ–³‚¢‚©‚ç’m‚ç‚ñ‚ªA ‚»‚Ì’ö“x‚Ì‚±‚Æ‚ðŽ©—Í‚Å‰ðŒˆo—ˆ‚È‚¢“z‚ª¡XVS2008‚Å‚µ‚©‚àMFC‚Æ‚©–³—‚¾B ƒTƒCƒg‚ðŽQl‚É‚·‚é‚Ì‚à‚¢‚¢‚ªA“ú•t‚Í•K‚¸Œ©‚邿‚¤‚É‚µ‚ëB .NET serial port ‚ÅŒŸõ‚·‚邯ˆÈ‰º‚ª“–‚½‚邵A¡‚Ȃ畒ʂɂ±‚ꂾ‚ÆŽv‚¤‚ªB https://docs.microsoft.com/ja-jp/dotnet/api/system.io.ports.serialport?view=dotnet-plat-ext-5.0 ‚Ç‚¤‚¹Œ©‚¦‚½“WŠJ‚¾‚µA–Ê“|‚¾‚©‚çæ‚ÉŒ¾‚Á‚Ä‚¨‚‚ªA ‚¨‘O‚Ì‚â‚Á‚Ă邱‚Ƃ͉SŽÒ‚Ì‚ ‚é‚ ‚é E‚»‚à‚»‚à‚â‚è•û‚ðŠÔˆá‚Á‚Ä‚¢‚é‚Ì‚ÉA‚»‚êˆÈŠO‚Ì‰ðŒˆ•û–@‚ð”F‚߂Ȃ¢ E³‚µ‚¢‚â‚è•û‚ð‹³‚¦‚Ä‚àA‚»‚ê‚Í•·‚¢‚ĂȂ¢‚Æ‚µ‚Ď󂯕t‚¯‚È‚¢ ‚¾B‚¾‚©‚ç‚Ç‚¤‚¹‚±‚ê‚©‚ç•¶‹å‚àŒ¾‚¤‚Ì‚¾‚낤‚ªAd‚˂Ⱦ‚¤‚ªA ¡X‚»‚̊‹«(VS2008+MFC)‚Í‚ ‚蓾‚È‚¢‚‚ç‚¢‚̈Ù킳‚¾B ‚¨‘O‚ª‰SŽÒ‚ʼn½‚à’m‚ç‚È‚¢‚¾‚¯‚È‚çAí‚ÉÅV‚̊‹«‚ðŽg‚¤‚悤‚ÉS‚ª‚¯‚ëB‚»‚ꂾ‚¯‚Å–³‘ʂȂ±‚ƂɛƂè‚É‚‚‚È‚éB ‚»‚̊‹«‚ÉS‚鉽‚ç‚©‚Ì——R‚ª‚ ‚èA‚»‚ê‚ð‹‚¢‚Ä‚«‚½ãŽi“™‚ª‹‚é‚̂ȂçA‚Ü‚¸‚»‚¢‚‚ɕ·‚¯B •·‚l‚ª‹‚È‚¢‚̂ȂçA¡‚Ì‚¨‘O‚É‚»‚̊‹«‚Å‚â‚è‚«‚é”\—͂͂Ȃ¢‚©‚ç’ú‚ß‚ëB
324 –¼‘OFƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñ mailto:sage [2022/02/16(…) 02:27:10.00 ID:ky7QDxn6.net] ‹L”OƒJƒLƒR
325 –¼‘OF‰ß‹ŽƒƒO š [[‰ß‹ŽƒƒO]] ¡ ‚±‚̃XƒŒƒbƒh‚Í‰ß‹ŽƒƒO‘qŒÉ‚ÉŠi”[‚³‚ê‚Ä‚¢‚Ü‚·