# 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 ] ) ~~~