PCM Digital Synthesizer

Dependencies:   LCD mbed

/media/uploads/p_igmon/img_1731-w480.jpg

Revision:
0:ad6637c36dc7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lfo_table.h	Fri Sep 02 13:24:16 2016 +0000
@@ -0,0 +1,1819 @@
+/* LFO Wave Form */ 
+static S16 square_table[]={
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+32767   ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  ,
+-32768  
+};
+
+ 
+static S16 sin_table[]={
+0   ,
+804 ,
+1608    ,
+2410    ,
+3212    ,
+4011    ,
+4808    ,
+5602    ,
+6393    ,
+7179    ,
+7962    ,
+8739    ,
+9512    ,
+10278   ,
+11039   ,
+11793   ,
+12539   ,
+13279   ,
+14010   ,
+14732   ,
+15446   ,
+16151   ,
+16846   ,
+17530   ,
+18204   ,
+18868   ,
+19519   ,
+20159   ,
+20787   ,
+21403   ,
+22005   ,
+22594   ,
+23170   ,
+23731   ,
+24279   ,
+24812   ,
+25329   ,
+25832   ,
+26319   ,
+26790   ,
+27245   ,
+27683   ,
+28105   ,
+28510   ,
+28898   ,
+29268   ,
+29621   ,
+29956   ,
+30273   ,
+30571   ,
+30852   ,
+31113   ,
+31356   ,
+31580   ,
+31785   ,
+31971   ,
+32137   ,
+32285   ,
+32412   ,
+32521   ,
+32609   ,
+32678   ,
+32728   ,
+32757   ,
+32767   ,
+32757   ,
+32728   ,
+32678   ,
+32609   ,
+32521   ,
+32412   ,
+32285   ,
+32137   ,
+31971   ,
+31785   ,
+31580   ,
+31356   ,
+31113   ,
+30852   ,
+30571   ,
+30273   ,
+29956   ,
+29621   ,
+29268   ,
+28898   ,
+28510   ,
+28105   ,
+27683   ,
+27245   ,
+26790   ,
+26319   ,
+25832   ,
+25329   ,
+24812   ,
+24279   ,
+23731   ,
+23170   ,
+22594   ,
+22005   ,
+21403   ,
+20787   ,
+20159   ,
+19519   ,
+18868   ,
+18204   ,
+17530   ,
+16846   ,
+16151   ,
+15446   ,
+14732   ,
+14010   ,
+13279   ,
+12539   ,
+11793   ,
+11039   ,
+10278   ,
+9512    ,
+8739    ,
+7962    ,
+7179    ,
+6393    ,
+5602    ,
+4808    ,
+4011    ,
+3212    ,
+2410    ,
+1608    ,
+804 ,
+0   ,
+-804    ,
+-1608   ,
+-2410   ,
+-3212   ,
+-4011   ,
+-4808   ,
+-5602   ,
+-6393   ,
+-7179   ,
+-7962   ,
+-8739   ,
+-9512   ,
+-10278  ,
+-11039  ,
+-11793  ,
+-12539  ,
+-13279  ,
+-14010  ,
+-14732  ,
+-15446  ,
+-16151  ,
+-16846  ,
+-17530  ,
+-18204  ,
+-18868  ,
+-19519  ,
+-20159  ,
+-20787  ,
+-21403  ,
+-22005  ,
+-22594  ,
+-23170  ,
+-23731  ,
+-24279  ,
+-24812  ,
+-25329  ,
+-25832  ,
+-26319  ,
+-26790  ,
+-27245  ,
+-27683  ,
+-28105  ,
+-28510  ,
+-28898  ,
+-29268  ,
+-29621  ,
+-29956  ,
+-30273  ,
+-30571  ,
+-30852  ,
+-31113  ,
+-31356  ,
+-31580  ,
+-31785  ,
+-31971  ,
+-32137  ,
+-32285  ,
+-32412  ,
+-32521  ,
+-32609  ,
+-32678  ,
+-32728  ,
+-32757  ,
+-32767  ,
+-32757  ,
+-32728  ,
+-32678  ,
+-32609  ,
+-32521  ,
+-32412  ,
+-32285  ,
+-32137  ,
+-31971  ,
+-31785  ,
+-31580  ,
+-31356  ,
+-31113  ,
+-30852  ,
+-30571  ,
+-30273  ,
+-29956  ,
+-29621  ,
+-29268  ,
+-28898  ,
+-28510  ,
+-28105  ,
+-27683  ,
+-27245  ,
+-26790  ,
+-26319  ,
+-25832  ,
+-25329  ,
+-24812  ,
+-24279  ,
+-23731  ,
+-23170  ,
+-22594  ,
+-22005  ,
+-21403  ,
+-20787  ,
+-20159  ,
+-19519  ,
+-18868  ,
+-18204  ,
+-17530  ,
+-16846  ,
+-16151  ,
+-15446  ,
+-14732  ,
+-14010  ,
+-13279  ,
+-12539  ,
+-11793  ,
+-11039  ,
+-10278  ,
+-9512   ,
+-8739   ,
+-7962   ,
+-7179   ,
+-6393   ,
+-5602   ,
+-4808   ,
+-4011   ,
+-3212   ,
+-2410   ,
+-1608   ,
+-804
+};
+
+static S16 sin_table2[]={
+0   ,
+804 ,
+1608    ,
+2410    ,
+3212    ,
+4011    ,
+4808    ,
+5602    ,
+6393    ,
+7179    ,
+7962    ,
+8739    ,
+9512    ,
+10278   ,
+11039   ,
+11793   ,
+12539   ,
+13279   ,
+14010   ,
+14732   ,
+15446   ,
+16151   ,
+16846   ,
+17530   ,
+18204   ,
+18868   ,
+19519   ,
+20159   ,
+20787   ,
+21403   ,
+22005   ,
+22594   ,
+23170   ,
+23731   ,
+24279   ,
+24812   ,
+25329   ,
+25832   ,
+26319   ,
+26790   ,
+27245   ,
+27683   ,
+28105   ,
+28510   ,
+28898   ,
+29268   ,
+29621   ,
+29956   ,
+30273   ,
+30571   ,
+30852   ,
+31113   ,
+31356   ,
+31580   ,
+31785   ,
+31971   ,
+32137   ,
+32285   ,
+32412   ,
+32521   ,
+32609   ,
+32678   ,
+32728   ,
+32757   ,
+32767   ,
+32757   ,
+32728   ,
+32678   ,
+32609   ,
+32521   ,
+32412   ,
+32285   ,
+32137   ,
+31971   ,
+31785   ,
+31580   ,
+31356   ,
+31113   ,
+30852   ,
+30571   ,
+30273   ,
+29956   ,
+29621   ,
+29268   ,
+28898   ,
+28510   ,
+28105   ,
+27683   ,
+27245   ,
+26790   ,
+26319   ,
+25832   ,
+25329   ,
+24812   ,
+24279   ,
+23731   ,
+23170   ,
+22594   ,
+22005   ,
+21403   ,
+20787   ,
+20159   ,
+19519   ,
+18868   ,
+18204   ,
+17530   ,
+16846   ,
+16151   ,
+15446   ,
+14732   ,
+14010   ,
+13279   ,
+12539   ,
+11793   ,
+11039   ,
+10278   ,
+9512    ,
+8739    ,
+7962    ,
+7179    ,
+6393    ,
+5602    ,
+4808    ,
+4011    ,
+3212    ,
+2410    ,
+1608    ,
+804 ,
+0   ,
+804 ,
+1608    ,
+2410    ,
+3212    ,
+4011    ,
+4808    ,
+5602    ,
+6393    ,
+7179    ,
+7962    ,
+8739    ,
+9512    ,
+10278   ,
+11039   ,
+11793   ,
+12539   ,
+13279   ,
+14010   ,
+14732   ,
+15446   ,
+16151   ,
+16846   ,
+17530   ,
+18204   ,
+18868   ,
+19519   ,
+20159   ,
+20787   ,
+21403   ,
+22005   ,
+22594   ,
+23170   ,
+23731   ,
+24279   ,
+24812   ,
+25329   ,
+25832   ,
+26319   ,
+26790   ,
+27245   ,
+27683   ,
+28105   ,
+28510   ,
+28898   ,
+29268   ,
+29621   ,
+29956   ,
+30273   ,
+30571   ,
+30852   ,
+31113   ,
+31356   ,
+31580   ,
+31785   ,
+31971   ,
+32137   ,
+32285   ,
+32412   ,
+32521   ,
+32609   ,
+32678   ,
+32728   ,
+32757   ,
+32767   ,
+32757   ,
+32728   ,
+32678   ,
+32609   ,
+32521   ,
+32412   ,
+32285   ,
+32137   ,
+31971   ,
+31785   ,
+31580   ,
+31356   ,
+31113   ,
+30852   ,
+30571   ,
+30273   ,
+29956   ,
+29621   ,
+29268   ,
+28898   ,
+28510   ,
+28105   ,
+27683   ,
+27245   ,
+26790   ,
+26319   ,
+25832   ,
+25329   ,
+24812   ,
+24279   ,
+23731   ,
+23170   ,
+22594   ,
+22005   ,
+21403   ,
+20787   ,
+20159   ,
+19519   ,
+18868   ,
+18204   ,
+17530   ,
+16846   ,
+16151   ,
+15446   ,
+14732   ,
+14010   ,
+13279   ,
+12539   ,
+11793   ,
+11039   ,
+10278   ,
+9512    ,
+8739    ,
+7962    ,
+7179    ,
+6393    ,
+5602    ,
+4808    ,
+4011    ,
+3212    ,
+2410    ,
+1608    ,
+804
+};
+
+
+
+
+static S16 saw1_table[]={
+0   ,
+256 ,
+512 ,
+768 ,
+1024    ,
+1280    ,
+1536    ,
+1792    ,
+2048    ,
+2304    ,
+2560    ,
+2816    ,
+3072    ,
+3328    ,
+3584    ,
+3840    ,
+4096    ,
+4352    ,
+4608    ,
+4864    ,
+5120    ,
+5376    ,
+5632    ,
+5888    ,
+6144    ,
+6400    ,
+6656    ,
+6912    ,
+7168    ,
+7424    ,
+7680    ,
+7936    ,
+8192    ,
+8448    ,
+8704    ,
+8960    ,
+9216    ,
+9472    ,
+9728    ,
+9984    ,
+10240   ,
+10496   ,
+10752   ,
+11008   ,
+11264   ,
+11520   ,
+11776   ,
+12032   ,
+12288   ,
+12544   ,
+12800   ,
+13056   ,
+13312   ,
+13568   ,
+13824   ,
+14080   ,
+14336   ,
+14592   ,
+14848   ,
+15104   ,
+15360   ,
+15616   ,
+15872   ,
+16128   ,
+16384   ,
+16640   ,
+16896   ,
+17152   ,
+17408   ,
+17664   ,
+17920   ,
+18176   ,
+18432   ,
+18688   ,
+18944   ,
+19200   ,
+19456   ,
+19712   ,
+19968   ,
+20224   ,
+20480   ,
+20736   ,
+20992   ,
+21248   ,
+21504   ,
+21760   ,
+22016   ,
+22272   ,
+22528   ,
+22784   ,
+23040   ,
+23296   ,
+23552   ,
+23808   ,
+24064   ,
+24320   ,
+24576   ,
+24832   ,
+25088   ,
+25344   ,
+25600   ,
+25856   ,
+26112   ,
+26368   ,
+26624   ,
+26880   ,
+27136   ,
+27392   ,
+27648   ,
+27904   ,
+28160   ,
+28416   ,
+28672   ,
+28928   ,
+29184   ,
+29440   ,
+29696   ,
+29952   ,
+30208   ,
+30464   ,
+30720   ,
+30976   ,
+31232   ,
+31488   ,
+31744   ,
+32000   ,
+32256   ,
+32512   ,
+-32768  ,
+-32512  ,
+-32256  ,
+-32000  ,
+-31744  ,
+-31488  ,
+-31232  ,
+-30976  ,
+-30720  ,
+-30464  ,
+-30208  ,
+-29952  ,
+-29696  ,
+-29440  ,
+-29184  ,
+-28928  ,
+-28672  ,
+-28416  ,
+-28160  ,
+-27904  ,
+-27648  ,
+-27392  ,
+-27136  ,
+-26880  ,
+-26624  ,
+-26368  ,
+-26112  ,
+-25856  ,
+-25600  ,
+-25344  ,
+-25088  ,
+-24832  ,
+-24576  ,
+-24320  ,
+-24064  ,
+-23808  ,
+-23552  ,
+-23296  ,
+-23040  ,
+-22784  ,
+-22528  ,
+-22272  ,
+-22016  ,
+-21760  ,
+-21504  ,
+-21248  ,
+-20992  ,
+-20736  ,
+-20480  ,
+-20224  ,
+-19968  ,
+-19712  ,
+-19456  ,
+-19200  ,
+-18944  ,
+-18688  ,
+-18432  ,
+-18176  ,
+-17920  ,
+-17664  ,
+-17408  ,
+-17152  ,
+-16896  ,
+-16640  ,
+-16384  ,
+-16128  ,
+-15872  ,
+-15616  ,
+-15360  ,
+-15104  ,
+-14848  ,
+-14592  ,
+-14336  ,
+-14080  ,
+-13824  ,
+-13568  ,
+-13312  ,
+-13056  ,
+-12800  ,
+-12544  ,
+-12288  ,
+-12032  ,
+-11776  ,
+-11520  ,
+-11264  ,
+-11008  ,
+-10752  ,
+-10496  ,
+-10240  ,
+-9984   ,
+-9728   ,
+-9472   ,
+-9216   ,
+-8960   ,
+-8704   ,
+-8448   ,
+-8192   ,
+-7936   ,
+-7680   ,
+-7424   ,
+-7168   ,
+-6912   ,
+-6656   ,
+-6400   ,
+-6144   ,
+-5888   ,
+-5632   ,
+-5376   ,
+-5120   ,
+-4864   ,
+-4608   ,
+-4352   ,
+-4096   ,
+-3840   ,
+-3584   ,
+-3328   ,
+-3072   ,
+-2816   ,
+-2560   ,
+-2304   ,
+-2048   ,
+-1792   ,
+-1536   ,
+-1280   ,
+-1024   ,
+-768    ,
+-512    ,
+-256    
+};
+
+static S16 saw2_table[]={
+0   ,
+-256    ,
+-512    ,
+-768    ,
+-1024   ,
+-1280   ,
+-1536   ,
+-1792   ,
+-2048   ,
+-2304   ,
+-2560   ,
+-2816   ,
+-3072   ,
+-3328   ,
+-3584   ,
+-3840   ,
+-4096   ,
+-4352   ,
+-4608   ,
+-4864   ,
+-5120   ,
+-5376   ,
+-5632   ,
+-5888   ,
+-6144   ,
+-6400   ,
+-6656   ,
+-6912   ,
+-7168   ,
+-7424   ,
+-7680   ,
+-7936   ,
+-8192   ,
+-8448   ,
+-8704   ,
+-8960   ,
+-9216   ,
+-9472   ,
+-9728   ,
+-9984   ,
+-10240  ,
+-10496  ,
+-10752  ,
+-11008  ,
+-11264  ,
+-11520  ,
+-11776  ,
+-12032  ,
+-12288  ,
+-12544  ,
+-12800  ,
+-13056  ,
+-13312  ,
+-13568  ,
+-13824  ,
+-14080  ,
+-14336  ,
+-14592  ,
+-14848  ,
+-15104  ,
+-15360  ,
+-15616  ,
+-15872  ,
+-16128  ,
+-16384  ,
+-16640  ,
+-16896  ,
+-17152  ,
+-17408  ,
+-17664  ,
+-17920  ,
+-18176  ,
+-18432  ,
+-18688  ,
+-18944  ,
+-19200  ,
+-19456  ,
+-19712  ,
+-19968  ,
+-20224  ,
+-20480  ,
+-20736  ,
+-20992  ,
+-21248  ,
+-21504  ,
+-21760  ,
+-22016  ,
+-22272  ,
+-22528  ,
+-22784  ,
+-23040  ,
+-23296  ,
+-23552  ,
+-23808  ,
+-24064  ,
+-24320  ,
+-24576  ,
+-24832  ,
+-25088  ,
+-25344  ,
+-25600  ,
+-25856  ,
+-26112  ,
+-26368  ,
+-26624  ,
+-26880  ,
+-27136  ,
+-27392  ,
+-27648  ,
+-27904  ,
+-28160  ,
+-28416  ,
+-28672  ,
+-28928  ,
+-29184  ,
+-29440  ,
+-29696  ,
+-29952  ,
+-30208  ,
+-30464  ,
+-30720  ,
+-30976  ,
+-31232  ,
+-31488  ,
+-31744  ,
+-32000  ,
+-32256  ,
+-32512  ,
+-32768  ,
+32511   ,
+32255   ,
+31999   ,
+31743   ,
+31487   ,
+31231   ,
+30975   ,
+30719   ,
+30463   ,
+30207   ,
+29951   ,
+29695   ,
+29439   ,
+29183   ,
+28927   ,
+28671   ,
+28415   ,
+28159   ,
+27903   ,
+27647   ,
+27391   ,
+27135   ,
+26879   ,
+26623   ,
+26367   ,
+26111   ,
+25855   ,
+25599   ,
+25343   ,
+25087   ,
+24831   ,
+24575   ,
+24319   ,
+24063   ,
+23807   ,
+23551   ,
+23295   ,
+23039   ,
+22783   ,
+22527   ,
+22271   ,
+22015   ,
+21759   ,
+21503   ,
+21247   ,
+20991   ,
+20735   ,
+20479   ,
+20223   ,
+19967   ,
+19711   ,
+19455   ,
+19199   ,
+18943   ,
+18687   ,
+18431   ,
+18175   ,
+17919   ,
+17663   ,
+17407   ,
+17151   ,
+16895   ,
+16639   ,
+16383   ,
+16127   ,
+15871   ,
+15615   ,
+15359   ,
+15103   ,
+14847   ,
+14591   ,
+14335   ,
+14079   ,
+13823   ,
+13567   ,
+13311   ,
+13055   ,
+12799   ,
+12543   ,
+12287   ,
+12031   ,
+11775   ,
+11519   ,
+11263   ,
+11007   ,
+10751   ,
+10495   ,
+10239   ,
+9983    ,
+9727    ,
+9471    ,
+9215    ,
+8959    ,
+8703    ,
+8447    ,
+8191    ,
+7935    ,
+7679    ,
+7423    ,
+7167    ,
+6911    ,
+6655    ,
+6399    ,
+6143    ,
+5887    ,
+5631    ,
+5375    ,
+5119    ,
+4863    ,
+4607    ,
+4351    ,
+4095    ,
+3839    ,
+3583    ,
+3327    ,
+3071    ,
+2815    ,
+2559    ,
+2303    ,
+2047    ,
+1791    ,
+1535    ,
+1279    ,
+1023    ,
+767 ,
+511 ,
+255 
+};
+
+static S16 tri_table[]={
+0   ,
+512 ,
+1024    ,
+1536    ,
+2048    ,
+2560    ,
+3072    ,
+3584    ,
+4096    ,
+4608    ,
+5120    ,
+5632    ,
+6144    ,
+6656    ,
+7168    ,
+7680    ,
+8192    ,
+8704    ,
+9216    ,
+9728    ,
+10240   ,
+10752   ,
+11264   ,
+11776   ,
+12288   ,
+12800   ,
+13312   ,
+13824   ,
+14336   ,
+14848   ,
+15360   ,
+15872   ,
+16384   ,
+16896   ,
+17408   ,
+17920   ,
+18432   ,
+18944   ,
+19456   ,
+19968   ,
+20480   ,
+20992   ,
+21504   ,
+22016   ,
+22528   ,
+23040   ,
+23552   ,
+24064   ,
+24576   ,
+25088   ,
+25600   ,
+26112   ,
+26624   ,
+27136   ,
+27648   ,
+28160   ,
+28672   ,
+29184   ,
+29696   ,
+30208   ,
+30720   ,
+31232   ,
+31744   ,
+32256   ,
+32767   ,
+32255   ,
+31743   ,
+31231   ,
+30719   ,
+30207   ,
+29695   ,
+29183   ,
+28671   ,
+28159   ,
+27647   ,
+27135   ,
+26623   ,
+26111   ,
+25599   ,
+25087   ,
+24575   ,
+24063   ,
+23551   ,
+23039   ,
+22527   ,
+22015   ,
+21503   ,
+20991   ,
+20479   ,
+19967   ,
+19455   ,
+18943   ,
+18431   ,
+17919   ,
+17407   ,
+16895   ,
+16383   ,
+15871   ,
+15359   ,
+14847   ,
+14335   ,
+13823   ,
+13311   ,
+12799   ,
+12287   ,
+11775   ,
+11263   ,
+10751   ,
+10239   ,
+9727    ,
+9215    ,
+8703    ,
+8191    ,
+7679    ,
+7167    ,
+6655    ,
+6143    ,
+5631    ,
+5119    ,
+4607    ,
+4095    ,
+3583    ,
+3071    ,
+2559    ,
+2047    ,
+1535    ,
+1023    ,
+511 ,
+-1  ,
+-513    ,
+-1025   ,
+-1537   ,
+-2049   ,
+-2561   ,
+-3073   ,
+-3585   ,
+-4097   ,
+-4609   ,
+-5121   ,
+-5633   ,
+-6145   ,
+-6657   ,
+-7169   ,
+-7681   ,
+-8193   ,
+-8705   ,
+-9217   ,
+-9729   ,
+-10241  ,
+-10753  ,
+-11265  ,
+-11777  ,
+-12289  ,
+-12801  ,
+-13313  ,
+-13825  ,
+-14337  ,
+-14849  ,
+-15361  ,
+-15873  ,
+-16385  ,
+-16897  ,
+-17409  ,
+-17921  ,
+-18433  ,
+-18945  ,
+-19457  ,
+-19969  ,
+-20481  ,
+-20993  ,
+-21505  ,
+-22017  ,
+-22529  ,
+-23041  ,
+-23553  ,
+-24065  ,
+-24577  ,
+-25089  ,
+-25601  ,
+-26113  ,
+-26625  ,
+-27137  ,
+-27649  ,
+-28161  ,
+-28673  ,
+-29185  ,
+-29697  ,
+-30209  ,
+-30721  ,
+-31233  ,
+-31745  ,
+-32257  ,
+-32768  ,
+-32256  ,
+-31744  ,
+-31232  ,
+-30720  ,
+-30208  ,
+-29696  ,
+-29184  ,
+-28672  ,
+-28160  ,
+-27648  ,
+-27136  ,
+-26624  ,
+-26112  ,
+-25600  ,
+-25088  ,
+-24576  ,
+-24064  ,
+-23552  ,
+-23040  ,
+-22528  ,
+-22016  ,
+-21504  ,
+-20992  ,
+-20480  ,
+-19968  ,
+-19456  ,
+-18944  ,
+-18432  ,
+-17920  ,
+-17408  ,
+-16896  ,
+-16384  ,
+-15872  ,
+-15360  ,
+-14848  ,
+-14336  ,
+-13824  ,
+-13312  ,
+-12800  ,
+-12288  ,
+-11776  ,
+-11264  ,
+-10752  ,
+-10240  ,
+-9728   ,
+-9216   ,
+-8704   ,
+-8192   ,
+-7680   ,
+-7168   ,
+-6656   ,
+-6144   ,
+-5632   ,
+-5120   ,
+-4608   ,
+-4096   ,
+-3584   ,
+-3072   ,
+-2560   ,
+-2048   ,
+-1536   ,
+-1024   ,
+-512    
+};
+
+/*
+static S16 rand_table[]={
+-4702   ,
+-5937   ,
+1759    ,
+5872    ,
+-12112  ,
+3206    ,
+-1264   ,
+-15611  ,
+-14364  ,
+2695    ,
+14181   ,
+-7401   ,
+3850    ,
+-11648  ,
+10868   ,
+3708    ,
+-10377  ,
+9014    ,
+8700    ,
+-14739  ,
+6456    ,
+16098   ,
+4686    ,
+6799    ,
+-975    ,
+16232   ,
+9697    ,
+13385   ,
+751 ,
+7436    ,
+-6095   ,
+13099   ,
+11876   ,
+-13041  ,
+-3477   ,
+6435    ,
+-6829   ,
+-12507  ,
+-5812   ,
+12803   ,
+10729   ,
+-7479   ,
+7376    ,
+-5443   ,
+-10950  ,
+10022   ,
+-2564   ,
+-15874  ,
+4668    ,
+4713    ,
+9395    ,
+-10234  ,
+3657    ,
+-5513   ,
+5354    ,
+-12489  ,
+-15931  ,
+-5721   ,
+14209   ,
+-4347   ,
+13988   ,
+-7041   ,
+-2546   ,
+-11584  ,
+-8644   ,
+-228    ,
+-16181  ,
+-8151   ,
+11335   ,
+14388   ,
+14949   ,
+-8035   ,
+-13892  ,
+15135   ,
+-3969   ,
+6648    ,
+15148   ,
+8950    ,
+574 ,
+-9073   ,
+15669   ,
+11775   ,
+763 ,
+3151    ,
+-12135  ,
+-12169  ,
+9605    ,
+-6657   ,
+-15719  ,
+13266   ,
+-3722   ,
+-15255  ,
+5692    ,
+-10309  ,
+13124   ,
+-9366   ,
+-7765   ,
+6999    ,
+8386    ,
+15420   ,
+-4968   ,
+-202    ,
+8628    ,
+-4212   ,
+-11400  ,
+8105    ,
+-11109  ,
+-5194   ,
+-3745   ,
+-7401   ,
+6659    ,
+8305    ,
+2596    ,
+14753   ,
+2982    ,
+-7625   ,
+2982    ,
+13759   ,
+8370    ,
+15031   ,
+960 ,
+7657    ,
+-12315  ,
+3118    ,
+3594    ,
+1096    ,
+-8170   ,
+15216   ,
+8214    ,
+10686   ,
+-5097   ,
+-2757   ,
+16009   ,
+15692   ,
+-6785   ,
+6745    ,
+-3329   ,
+15549   ,
+13942   ,
+-2251   ,
+5121    ,
+6668    ,
+4485    ,
+7399    ,
+-1296   ,
+-13123  ,
+15626   ,
+8179    ,
+-15663  ,
+-3525   ,
+-11335  ,
+-3789   ,
+-15464  ,
+5378    ,
+11846   ,
+-3336   ,
+-6615   ,
+5632    ,
+-1580   ,
+-7516   ,
+14305   ,
+-3498   ,
+11659   ,
+4070    ,
+-15716  ,
+-1538   ,
+-15156  ,
+-14056  ,
+-11466  ,
+-3617   ,
+-7872   ,
+5279    ,
+957 ,
+-11435  ,
+-12116  ,
+-2382   ,
+10603   ,
+-8960   ,
+2788    ,
+-14564  ,
+15417   ,
+-14205  ,
+1446    ,
+-38 ,
+14555   ,
+3048    ,
+-15186  ,
+8049    ,
+13701   ,
+15978   ,
+-8635   ,
+5345    ,
+5956    ,
+-959    ,
+-1412   ,
+-8778   ,
+6102    ,
+-9267   ,
+-5359   ,
+-9307   ,
+-4823   ,
+262 ,
+15678   ,
+-2597   ,
+2381    ,
+2733    ,
+1589    ,
+14095   ,
+-4438   ,
+3132    ,
+-8347   ,
+-15531  ,
+-14455  ,
+9221    ,
+-16371  ,
+-3805   ,
+6240    ,
+-83 ,
+-2819   ,
+-7996   ,
+13221   ,
+581 ,
+-2605   ,
+9129    ,
+-16278  ,
+-4914   ,
+9007    ,
+-3943   ,
+11643   ,
+-2273   ,
+5094    ,
+11570   ,
+-16142  ,
+-15706  ,
+-13944  ,
+-359    ,
+-5528   ,
+-5262   ,
+-15017  ,
+-10309  ,
+2162    ,
+-6804   ,
+-11014  ,
+14903   ,
+-6135   ,
+-3560   ,
+-3194   ,
+-8291   ,
+-11162  ,
+-5989   ,
+5102    ,
+3235    ,
+1329    ,
+1232    ,
+9652    ,
+-12759  
+};
+*/
\ No newline at end of file