summaryrefslogtreecommitdiff
path: root/Build/source/libs/freetype2/freetype-src/src/tools/cordic.py
diff options
context:
space:
mode:
authorAkira Kakuto <kakuto@fuk.kindai.ac.jp>2015-12-28 12:09:41 +0000
committerAkira Kakuto <kakuto@fuk.kindai.ac.jp>2015-12-28 12:09:41 +0000
commit1fff76f0c267ade1406b5a8a9a8c48c7cab1ad4f (patch)
tree7701270ffe1ed4b8ec08208b9ccdf2afb0b5f957 /Build/source/libs/freetype2/freetype-src/src/tools/cordic.py
parent28d16176960e908983aaa3926faddc374209de78 (diff)
freetype-2.6.2
git-svn-id: svn://tug.org/texlive/trunk@39211 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/libs/freetype2/freetype-src/src/tools/cordic.py')
-rwxr-xr-xBuild/source/libs/freetype2/freetype-src/src/tools/cordic.py33
1 files changed, 33 insertions, 0 deletions
diff --git a/Build/source/libs/freetype2/freetype-src/src/tools/cordic.py b/Build/source/libs/freetype2/freetype-src/src/tools/cordic.py
new file mode 100755
index 00000000000..6742c90dfef
--- /dev/null
+++ b/Build/source/libs/freetype2/freetype-src/src/tools/cordic.py
@@ -0,0 +1,33 @@
+# compute arctangent table for CORDIC computations in fttrigon.c
+import sys, math
+
+#units = 64*65536.0 # don't change !!
+units = 180 * 2**16
+scale = units/math.pi
+shrink = 1.0
+comma = ""
+
+print ""
+print "table of arctan( 1/2^n ) for PI = " + repr(units/65536.0) + " units"
+
+for n in range(1,32):
+
+ x = 0.5**n # tangent value
+
+ angle = math.atan(x) # arctangent
+ angle2 = round(angle*scale) # arctangent in FT_Angle units
+
+ if angle2 <= 0:
+ break
+
+ sys.stdout.write( comma + repr( int(angle2) ) )
+ comma = ", "
+
+ shrink /= math.sqrt( 1 + x*x )
+
+print
+print "shrink factor = " + repr( shrink )
+print "shrink factor 2 = " + repr( int( shrink * (2**32) ) )
+print "expansion factor = " + repr( 1/shrink )
+print ""
+