1/* 2 ** Copyright 2003-2010, VisualOn, Inc. 3 ** 4 ** Licensed under the Apache License, Version 2.0 (the "License"); 5 ** you may not use this file except in compliance with the License. 6 ** You may obtain a copy of the License at 7 ** 8 ** http://www.apache.org/licenses/LICENSE-2.0 9 ** 10 ** Unless required by applicable law or agreed to in writing, software 11 ** distributed under the License is distributed on an "AS IS" BASIS, 12 ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 ** See the License for the specific language governing permissions and 14 ** limitations under the License. 15 */ 16 17 18/*-----------------------------------------------------* 19 | Tables for function Isf_isp() and Isp_isf() | 20 *-----------------------------------------------------*/ 21 22/* table of cos(x) in Q15 */ 23 24static const Word16 table[129] = { 25 32767, 26 32758, 32729, 32679, 32610, 32522, 32413, 32286, 32138, 27 31972, 31786, 31581, 31357, 31114, 30853, 30572, 30274, 28 29957, 29622, 29269, 28899, 28511, 28106, 27684, 27246, 29 26791, 26320, 25833, 25330, 24812, 24279, 23732, 23170, 30 22595, 22006, 21403, 20788, 20160, 19520, 18868, 18205, 31 17531, 16846, 16151, 15447, 14733, 14010, 13279, 12540, 32 11793, 11039, 10279, 9512, 8740, 7962, 7180, 6393, 33 5602, 4808, 4011, 3212, 2411, 1608, 804, 0, 34 -804, -1608, -2411, -3212, -4011, -4808, -5602, -6393, 35 -7180, -7962, -8740, -9512, -10279, -11039, -11793, -12540, 36 -13279, -14010, -14733, -15447, -16151, -16846, -17531, -18205, 37 -18868, -19520, -20160, -20788, -21403, -22006, -22595, -23170, 38 -23732, -24279, -24812, -25330, -25833, -26320, -26791, -27246, 39 -27684, -28106, -28511, -28899, -29269, -29622, -29957, -30274, 40 -30572, -30853, -31114, -31357, -31581, -31786, -31972, -32138, 41 -32286, -32413, -32522, -32610, -32679, -32729, -32758, -32768}; 42 43/* slope in Q11 used to compute y = acos(x) */ 44 45static const Word16 slope[128] = { 46 -26214, -9039, -5243, -3799, -2979, -2405, -2064, -1771, 47 -1579, -1409, -1279, -1170, -1079, -1004, -933, -880, 48 -827, -783, -743, -708, -676, -647, -621, -599, 49 -576, -557, -538, -521, -506, -492, -479, -466, 50 -456, -445, -435, -426, -417, -410, -402, -395, 51 -389, -383, -377, -372, -367, -363, -359, -355, 52 -351, -348, -345, -342, -340, -337, -335, -333, 53 -331, -330, -329, -328, -327, -326, -326, -326, 54 -326, -326, -326, -327, -328, -329, -330, -331, 55 -333, -335, -337, -340, -342, -345, -348, -351, 56 -355, -359, -363, -367, -372, -377, -383, -389, 57 -395, -402, -410, -417, -426, -435, -445, -456, 58 -466, -479, -492, -506, -521, -538, -557, -576, 59 -599, -621, -647, -676, -708, -743, -783, -827, 60 -880, -933, -1004, -1079, -1170, -1279, -1409, -1579, 61 -1771, -2064, -2405, -2979, -3799, -5243, -9039, -26214}; 62 63