---
# System prepended metadata

title: KSP： サイン・コサインテーブル生成
tags: [ksp]

---

# KSP： サイン・コサインテーブル生成

###### tags: `ksp`

固定小数で nka ファイル形式で標準出力するPythonスクリプト。

毎回整数部分の取り出しでビットシフトが入るので、浮動少数演算より遅いかもしれない…。

~~~python

import math

# 精度。この場合は 4096段階
FIXED       = 1 << 12
COS_OFS     = int( FIXED / 4 )
RADIAN_MASK = FIXED - 1

SIN  = []
per = 2 * math.pi / FIXED

print( "%SIN" )
for i in range( FIXED ):
    SIN.append( int( math.sin( per * i ) * FIXED ) )
    print( SIN[ i ] )

print( "%COS" )
for i in range( FIXED ):
    print( SIN[ ( i + COS_OFS ) & RADIAN_MASK ] )

~~~