{"version":"1.0","type":"rich","image_url":null,"title":"\u591a\u4f53\u554f\u984c\uff083\uff09","provider_name":"Hatena Blog","author_name":"inamori","provider_url":"https://hatena.blog","url":"https://inamori.hateblo.jp/entry/20090123/p1","author_url":"https://blog.hatena.ne.jp/inamori/","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Finamori.hateblo.jp%2Fentry%2F20090123%2Fp1\" title=\"\u591a\u4f53\u554f\u984c\uff083\uff09 - inamori\u2019s diary\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","height":"190","width":"100%","blog_url":"https://inamori.hateblo.jp/","description":"\u91cd\u529b\u3092\u8a08\u7b97\u3059\u308b\u3068\u3053\u308d\u3001 float dx = diff_x(sx[i], x); float dy = diff_x(sy[i], y); float dist_square = dx * dx + dy * dy; float d = dist_square * sqrt(dist_square); ax += dx / d; ay += dy / d;\u3053\u3053\u3067\u3001sqrt\u3092\u4f7f\u3063\u3066\u3044\u308b\u304c\u3001\u5b9f\u306f\u3001 sqrt(x) = x / rsqrt(x)\u3092\u4f7f\u3063\u3066\u8a08\u7b97\u3057\u3066\u3044\u308b\u3089\u3057\u3044\u3002rsqrt\u306f\u898b\u3066\u306e\u901a\u308a\u5e73\u65b9\u6839\u306e\u9006\u6570\u3002\u305d\u3046\u3044\u3048\u3070\u3001x86\u306b\u3082\u3053\u3046\u3044\u3046\u547d\u4ee4\u304c\u3042\u3063\u3066\u3001\u7cbe\u5ea6\u306f\u60aa\u3044\u304c\u901f\u3044\u3089\u3057\u3044\u3002\u3053\u308c\u3092\u540c\u3058\u7406\u5c48\u3060\u308d\u3046\u304b\u3002\u305d\u2026","blog_title":"inamori\u2019s diary","categories":["GPGPU","CUDA"],"published":"2009-01-23 00:00:00"}