All pastes #108815 Raw Edit

Anonymous

public text v1 · immutable
#108815 ·published 2006-07-31 18:01 UTC
rendered paste body
// Generating a cos table - woo!

#include <inttypes.h>
#include <math.h>
#include <stdio.h>

// cos table from AMR ref source...
static const int16_t cos_table[65] = {

   32767,

   32729,

   32610,

   32413,

   32138,

   31786,

   31357,

   30853,

   30274,

   29622,

   28899,

   28106,

   27246,

   26320,

   25330,

   24279,

   23170,

   22006,

   20788,

   19520,

   18205,

   16846,

   15447,

   14010,

   12540,

   11039,

   9512,

   7962,

   6393,

   4808,

   3212,

   1608,

   0,

   - 1608,

   - 3212,

   - 4808,

   - 6393,

   - 7962,

   - 9512,

   - 11039,

   - 12540,

   - 14010,

   - 15447,

   - 16846,

   - 18205,

   - 19520,

   - 20788,

   - 22006,

   - 23170,

   - 24279,

   - 25330,

   - 26320,

   - 27246,

   - 28106,

   - 28899,

   - 29622,

   - 30274,

   - 30853,

   - 31357,

   - 31786,

   - 32138,

   - 32413,

   - 32610,

   - 32729,

   - 32768

};

int main() {
    int i;
    double pi_step = M_PI/(double)64;
    int16_t cos_table_65[65];

    cos_table_65[0] = 32767; // FIXME dirty hack for -32768 when i want 32767
    printf("cos_table[%d] = %6d : %6d : %2d\n", 0, cos_table_65[0], cos_table[0], cos_table_65[0]-cos_table[0]);
    for(i=1; i<65; i++) {
        cos_table_65[i] = (int16_t)(32768*cos(pi_step*(double)i));
        printf("cos_table[%d] = %6d : %6d : %2d\n", i, cos_table_65[i], cos_table[i], cos_table_65[i]-cos_table[i]);
    }

    return;
}


@@@@@@@@ OUTPUT OF THE ABOVE CODE IS BELOW @@@@@@@@

cos_table[0] =  32767 :  32767 :  0
cos_table[1] =  32728 :  32729 : -1
cos_table[2] =  32610 :  32610 :  0
cos_table[3] =  32413 :  32413 :  0
cos_table[4] =  32138 :  32138 :  0
cos_table[5] =  31785 :  31786 : -1
cos_table[6] =  31357 :  31357 :  0
cos_table[7] =  30852 :  30853 : -1
cos_table[8] =  30273 :  30274 : -1
cos_table[9] =  29621 :  29622 : -1
cos_table[10] =  28898 :  28899 : -1
cos_table[11] =  28106 :  28106 :  0
cos_table[12] =  27245 :  27246 : -1
cos_table[13] =  26319 :  26320 : -1
cos_table[14] =  25330 :  25330 :  0
cos_table[15] =  24279 :  24279 :  0
cos_table[16] =  23170 :  23170 :  0
cos_table[17] =  22005 :  22006 : -1
cos_table[18] =  20787 :  20788 : -1
cos_table[19] =  19519 :  19520 : -1
cos_table[20] =  18204 :  18205 : -1
cos_table[21] =  16846 :  16846 :  0
cos_table[22] =  15446 :  15447 : -1
cos_table[23] =  14010 :  14010 :  0
cos_table[24] =  12539 :  12540 : -1
cos_table[25] =  11039 :  11039 :  0
cos_table[26] =   9512 :   9512 :  0
cos_table[27] =   7961 :   7962 : -1
cos_table[28] =   6392 :   6393 : -1
cos_table[29] =   4808 :   4808 :  0
cos_table[30] =   3211 :   3212 : -1
cos_table[31] =   1607 :   1608 : -1
cos_table[32] =      0 :      0 :  0
cos_table[33] =  -1607 :  -1608 :  1
cos_table[34] =  -3211 :  -3212 :  1
cos_table[35] =  -4808 :  -4808 :  0
cos_table[36] =  -6392 :  -6393 :  1
cos_table[37] =  -7961 :  -7962 :  1
cos_table[38] =  -9512 :  -9512 :  0
cos_table[39] = -11039 : -11039 :  0
cos_table[40] = -12539 : -12540 :  1
cos_table[41] = -14010 : -14010 :  0
cos_table[42] = -15446 : -15447 :  1
cos_table[43] = -16846 : -16846 :  0
cos_table[44] = -18204 : -18205 :  1
cos_table[45] = -19519 : -19520 :  1
cos_table[46] = -20787 : -20788 :  1
cos_table[47] = -22005 : -22006 :  1
cos_table[48] = -23170 : -23170 :  0
cos_table[49] = -24279 : -24279 :  0
cos_table[50] = -25330 : -25330 :  0
cos_table[51] = -26319 : -26320 :  1
cos_table[52] = -27245 : -27246 :  1
cos_table[53] = -28106 : -28106 :  0
cos_table[54] = -28898 : -28899 :  1
cos_table[55] = -29621 : -29622 :  1
cos_table[56] = -30273 : -30274 :  1
cos_table[57] = -30852 : -30853 :  1
cos_table[58] = -31357 : -31357 :  0
cos_table[59] = -31785 : -31786 :  1
cos_table[60] = -32138 : -32138 :  0
cos_table[61] = -32413 : -32413 :  0
cos_table[62] = -32610 : -32610 :  0
cos_table[63] = -32728 : -32729 :  1
cos_table[64] = -32768 : -32768 :  0