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