⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cordic.py

📁 qt-x11-opensource-src-4.1.4.tar.gz源码
💻 PY
字号:
# compute arctangent table for CORDIC computations in fttrigon.cimport sys, math#units  = 64*65536.0   # don't change !!units  = 256scale  = units/math.pishrink = 1.0comma  = ""def calc_val( x ):    global units, shrink    angle  = math.atan(x)    shrink = shrink * math.cos(angle)    return angle/math.pi * unitsdef  print_val( n, x ):    global comma    lo  = int(x)    hi  = lo + 1    alo = math.atan(lo)    ahi = math.atan(hi)    ax  = math.atan(2.0**n)    errlo = abs( alo - ax )    errhi = abs( ahi - ax )    if ( errlo < errhi ):      hi = lo    sys.stdout.write( comma + repr( int(hi) ) )    comma = ", "print ""print "table of arctan( 1/2^n ) for PI = " + repr(units/65536.0) + " units"# compute range of "i"r = [-1]r = r + range(32)for n in r:    if n >= 0:        x = 1.0/(2.0**n)    # tangent value    else:        x = 2.0**(-n)    angle  = math.atan(x)    # arctangent    angle2 = angle*scale     # arctangent in FT_Angle units    # determine which integer value for angle gives the best tangent    lo  = int(angle2)    hi  = lo + 1    tlo = math.tan(lo/scale)    thi = math.tan(hi/scale)    errlo = abs( tlo - x )    errhi = abs( thi - x )    angle2 = hi    if errlo < errhi:        angle2 = lo    if angle2 <= 0:        break    sys.stdout.write( comma + repr( int(angle2) ) )    comma = ", "    shrink = shrink * math.cos( angle2/scale)printprint "shrink factor    = " + repr( shrink )print "shrink factor 2  = " + repr( shrink * (2.0**32) )print "expansion factor = " + repr(1/shrink)print ""   

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -