рд╕рднреА рдХреЛ рдирдорд╕реНрдХрд╛рд░!
рд╕рд┐рди рдФрд░ рдХреЙрд╕ рдХреА рддреНрд╡рд░рд┐рдд рдЧрдгрдирд╛ рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред рдЧрдгрдирд╛рдУрдВ рдХрд╛ рдЖрдзрд╛рд░ рдЯреЗрд▓рд░ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рдерд╛ред рдореИрдВ рдЗрд╕реЗ 3 рдбреА-рд╕рд┐рд╕реНрдЯрдо (рдУрдкрдирдЬреАрдПрд▓ рдФрд░ рдореЗрд░реЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдЧреНрд░рд╛рдлрд┐рдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп) рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдбрдмрд▓ рдХреЗ рд▓рд┐рдП "рдЖрджрд░реНрд╢" рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдЪреНрдЫрд╛ рддреНрд╡рд░рдг рджреНрд╡рд╛рд░рд╛ рдСрдлрд╕реЗрдЯ рд╣реИред рдХреЛрдб рдбреЗрд▓реНрдлреА рдПрдХреНрд╕рдИ 6 рдореЗрдВ рдХреЛрдбрд╛рдВрддрд░рдХ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред SSE2 рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЦреЗрд▓ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдПред
рд╕рдЯреАрдХрддрд╛ рдПрдХрд▓ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрд╡рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рдореИрдЯреНрд░рд┐рдХреНрд╕ рджреНрд╡рд╛рд░рд╛ рдЧреБрдгрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ:
- рдкреНрд░рд╛рдкреНрдд рд╕рдЯреАрдХрддрд╛ рд╣реИ: 10.e-13
- рд╕реАрдкреАрдпреВ рдХреЗ рд╕рд╛рде рдЕрдзрд┐рдХрддрдо рд╡рд┐рд╕рдВрдЧрддрд┐ 0.000000000000045 рд╣реИред
- рд╕реАрдкреАрдпреВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЧрддрд┐ 4.75 рдЧреБрдирд╛ рдмрдврд╝ рдЬрд╛рддреА рд╣реИред
- рдЧрддрд┐ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ Math.Sin рдФрд░ Math.Cos рдХреА рддреБрд▓рдирд╛ рдореЗрдВ 2.6 рдЧреБрдирд╛ рд╡реГрджреНрдзрд┐ рд╣реБрдИ рд╣реИред
рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ Intel Core-i7 6950X Extreme 3.0 GHz рдкреНрд░реЛрд╕реЗрд╕рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред
рдбреЗрд▓реНрдлреА рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛрдбрд╛рдВрддрд░рдХ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдПрдореНрдмреЗрдбреЗрдб рд╣реИред
рд╕реНрд░реЛрдд рдХреЛрдб:
рд╕реНрдкрд╛рдпрд▓рд░ рд╣реЗрдбрд┐рдВрдЧvar gSinTab: array of Double; gSinAddr: UInt64; const AbsMask64: UInt64 = ($7FFFFFFFFFFFFFFF); PI90: Double = (PI / 2.0); FSinTab: array[0..7] of Double = (1.0 / 6.0,
рдХрд╛рдо рдЙрджрд╛рд╣рд░рдг рдпрд╣рд╛рдБрд░рдЪрдирд╛рддреНрдордХ рд╕реБрдЭрд╛рд╡реЛрдВ рдФрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред