Added 1200 bit/s VQ mode
authordrowe67 <drowe67@01035d8c-6547-0410-b346-abe4f91aad63>
Wed, 15 Feb 2012 02:18:53 +0000 (02:18 +0000)
committerdrowe67 <drowe67@01035d8c-6547-0410-b346-abe4f91aad63>
Wed, 15 Feb 2012 02:18:53 +0000 (02:18 +0000)
git-svn-id: https://svn.code.sf.net/p/freetel/code@316 01035d8c-6547-0410-b346-abe4f91aad63

15 files changed:
codec2-dev/src/c2dec.c
codec2-dev/src/c2demo.c
codec2-dev/src/c2enc.c
codec2-dev/src/c2sim.c
codec2-dev/src/codebook/lspdt1-4.txt
codec2-dev/src/codebook/lspjvm1.txt
codec2-dev/src/codebook/lspjvm2.txt
codec2-dev/src/codebook/lspjvm3.txt
codec2-dev/src/codebookdt.c
codec2-dev/src/codebookjvm.c
codec2-dev/src/codec2.c
codec2-dev/src/codec2.h
codec2-dev/src/quantise.c
codec2-dev/src/quantise.h
codec2-dev/unittest/vq_train_jvm.c

index 7d0dbcd728816293d767b133737e3f112c20299e..56cfcca7f52913f9c1a46e4de92fa92f285f9b51 100644 (file)
@@ -43,17 +43,19 @@ int main(int argc, char *argv[])
     int            nsam, nbit, nbyte;
 
     if (argc != 4) {
-       printf("usage: c2dec 2500|1400 InputBitFile OutputRawSpeechFile\n");
-       printf("e.g    c2dec 1400 hts1a.c2 hts1a_1400.raw\n");
+       printf("usage: c2dec 2500|1500|1125 InputBitFile OutputRawSpeechFile\n");
+       printf("e.g    c2dec 1500 hts1a.c2 hts1a_1500.raw\n");
        exit(1);
     }
 
-    if (strcmp(argv[1],"1400") == 0)
-       mode = CODEC2_MODE_1400;
-    else if (strcmp(argv[1],"2500") == 0)
+    if (strcmp(argv[1],"2500") == 0)
        mode = CODEC2_MODE_2500;
+    else if (strcmp(argv[1],"1500") == 0)
+       mode = CODEC2_MODE_1500;
+    else if (strcmp(argv[1],"1200") == 0)
+       mode = CODEC2_MODE_1200;
     else {
-       fprintf(stderr, "Error in mode: %s.  Must be 2500 or 1400\n", argv[1]);
+       fprintf(stderr, "Error in mode: %s.  Must be 2500 or 1500 or 1200\n", argv[1]);
        exit(1);
     }
     
index 36be594862330638a3945f9e76023ccbd3b7b63a..c350f0f3d9b2ba5727749ea45ab420fd2b606813 100644 (file)
@@ -69,7 +69,7 @@ int main(int argc, char *argv[])
     /* Note only one set of Codec 2 states is required for an encoder
        and decoder pair. */
 
-    codec2 = codec2_create(CODEC2_MODE_1400);
+    codec2 = codec2_create(CODEC2_MODE_1500);
     nsam = codec2_samples_per_frame(codec2);
     buf = (short*)malloc(nsam*sizeof(short));
     nbit = codec2_bits_per_frame(codec2);
index 8e56cfc6309d09c7558e1ca399e916506d0e708e..a91ef73c88e62c16eaf1e5deb66ee9dba5809826 100644 (file)
@@ -44,17 +44,19 @@ int main(int argc, char *argv[])
     int            nsam, nbit, nbyte;
 
     if (argc != 4) {
-       printf("usage: c2enc 2500|1400 InputRawspeechFile OutputBitFile\n");
-       printf("e.g    c2enc 1400 ../raw/hts1a.raw hts1a.c2\n");
+       printf("usage: c2enc 2500|1500|1200 InputRawspeechFile OutputBitFile\n");
+       printf("e.g    c2enc 1500 ../raw/hts1a.raw hts1a.c2\n");
        exit(1);
     }
  
-    if (strcmp(argv[1],"1400") == 0)
-       mode = CODEC2_MODE_1400;
-    else if (strcmp(argv[1],"2500") == 0)
+    if (strcmp(argv[1],"2500") == 0)
        mode = CODEC2_MODE_2500;
+    else if (strcmp(argv[1],"1500") == 0)
+       mode = CODEC2_MODE_1500;
+    else if (strcmp(argv[1],"1200") == 0)
+       mode = CODEC2_MODE_1200;
     else {
-       fprintf(stderr, "Error in mode: %s.  Must be 2500 or 1400\n", argv[1]);
+       fprintf(stderr, "Error in mode: %s.  Must be 2500 or 1500 or 1200\n", argv[1]);
        exit(1);
     }
 
index f1e9f374bb9266adf29ca59b8d622063c2f2c48b..468189d09e3ac1b1f4404ddf050f6841d689e628 100644 (file)
@@ -135,7 +135,7 @@ int main(int argc, char *argv[])
     nlp_states = nlp_create();
 
     if (argc < 2) {
-       fprintf(stderr, "\nCodec2 - 2400 bit/s speech codec - Simulation Program\n"
+       fprintf(stderr, "\nCodec2 - low bit rate speech codec - Simulation Program\n"
                "\thttp://rowetel.com/codec2.html\n\n"
                "usage: %s InputFile [-o OutputFile]\n"
                "\t[--lpc Order]\n"
@@ -153,7 +153,8 @@ int main(int argc, char *argv[])
                "\t[--dec]\n"
                "\t[--dt]\n"
                "\t[--2500]\n"
-               "\t[--1400]\n"
+               "\t[--1500]\n"
+               "\t[--1200]\n"
                "\t[--dump DumpFilePrefix]\n", argv[0]);
        exit(1);
     }
@@ -256,15 +257,23 @@ int main(int argc, char *argv[])
        postfilt = 1;
        decimate = 1;
     }
-    if (switch_present("--1400",argc,argv)) {
+    if (switch_present("--1500",argc,argv)) {
        lpc_model = 1; order = 10;
-       lsp = 1; lspdt = 1; lspdt_mode = LSPDT_LOW;
+       lsp = 1; lspdt = 1;
        phase0 = 1;
        postfilt = 1;
        decimate = 1;
        dt = 1;
     }
 
+    if (switch_present("--1200",argc,argv)) {
+       lpc_model = 1; order = 10;
+       lspjvm = 1; lspdt = 1;
+       phase0 = 1;
+       postfilt = 1;
+       decimate = 1;
+       dt = 1;
+    }
     /*
       printf("lspd: %d lspdt: %d lspdt_mode: %d  phase0: %d postfilt: %d "
           "decimate: %d dt: %d\n",lspd,lspdt,lspdt_mode,phase0,postfilt,
@@ -386,19 +395,9 @@ int main(int argc, char *argv[])
            }
 
            if (lspjvm) {
-               /* note assumes lsps_[] is last frames quantised lsps_ */
-               printf("\n");
+               /* Jean-marcs multi-stage VQ */
                lspjvm_quantise(lsps, lsps_, LPC_ORD);
-               bw_expand_lsps(lsps_, LPC_ORD);
-               for(i=0; i<10; i++)
-                   printf("%f ", lsps_[i]);
-               for(i=1; i<10; i++) {
-                   if (lsps_[i] < lsps_[i-1]) {
-                       printf("unstable!\n");
-                       exit(0);
-                   }
-               }
-                           
+               bw_expand_lsps(lsps_, LPC_ORD);                     
                lsp_to_lpc(lsps_, ak, LPC_ORD);
            }
 
@@ -548,7 +547,7 @@ int main(int argc, char *argv[])
            */
 
            if ((frames%2) == 0) {
-               //printf("frame: %d\n", frames);
+               printf("frame: %d\n", frames);
 
                /* decode interpolated frame */
 
@@ -561,7 +560,7 @@ int main(int argc, char *argv[])
                                prev_lsps_, prev_e, lsps_, e, ak_interp, lsps_interp);          
                apply_lpc_correction(&interp_model);
 
-               /* used to compare with c2enc/c2dec version
+               /* used to compare with c2enc/c2dec version */
 
                printf("  Wo: %1.5f  L: %d v1: %d prev_e: %f\n", 
                       interp_model.Wo, interp_model.L, interp_model.voiced, prev_e);
@@ -581,7 +580,7 @@ int main(int argc, char *argv[])
                for(i=0; i<10; i++)
                    printf("%5.3f  ",model.A[i]);
                printf("\n");
-               */
+               
                        
 #ifdef DUMP
                /* do dumping here so we get lsp dump file in correct order */
@@ -635,7 +634,7 @@ int main(int argc, char *argv[])
        prev__Wo = prev_Wo;
        prev_Wo = model.Wo;
        prev_uq_Wo = uq_Wo;
-       //if (frames == 44) {
+       //if (frames == 8) {
        //    exit(0);
        //}
     }
index 8ec51e08eed64e9a8e919bd437ff9cc7e3ce2e8b..890001f2da10526ea71ecf5b4ab2998beb2e8d15 100644 (file)
@@ -1,4 +1,4 @@
-4 87
+4 81
  -25  -25  -50  -50 
    0  -25  -50  -50 
   25  -25  -50  -50 
  -25   25   50   50 
    0   25   50   50 
   25   25   50   50 
-  50   50   50   50
- 100  100  100  100
- 200  200  200  200
- 300  300  300  300
- -50  -50  -50  -50
--100 -100 -100 -100
--200 -200 -200 -200
--300 -300 -300 -300
index 25167e93985ad6abc477190e4f60171849771a83..db539e0d4a539ff70209bf22efaba67616531c18 100644 (file)
-5 64
-0.210255 0.377659 0.423269 0.400938 0.478056 0.532360 0.601365 0.646555 0.684234 0.698676 
-0.032956 0.043506 0.071210 0.119380 0.333943 0.405757 0.528245 0.577805 0.692151 0.748558 
-0.074672 0.093144 0.195148 0.324108 0.350785 0.402025 0.456705 0.500132 0.653953 0.686855 
-0.240905 0.416519 0.609486 0.607996 0.642493 0.673006 0.687839 0.712076 0.731746 0.718608 
-0.057446 0.086502 0.130674 0.171643 0.239946 0.279123 0.286909 0.501975 0.570826 0.638823 
-0.017882 -0.013511 -0.142225 0.167153 0.308066 0.352573 0.437795 0.486891 0.584845 0.647598 
-0.046980 0.073960 0.119758 0.197191 0.289588 0.332222 0.429597 0.478396 0.526410 0.700443 
-0.042792 0.054636 0.218961 0.528048 0.422554 0.479162 0.537828 0.595358 0.679379 0.709526 
-0.054313 0.060307 0.054660 0.097842 0.143043 0.160662 0.251864 0.329837 0.444627 0.552299 
-0.076678 0.098320 0.173618 0.219049 0.259334 0.426960 0.468356 0.523478 0.644781 0.670285 
-0.072407 0.106906 0.274510 0.472652 0.648285 0.707364 0.712602 0.731155 0.735989 0.730210 
-0.053147 0.085674 0.132992 0.212295 0.264206 0.312810 0.488638 0.522639 0.638749 0.699633 
-0.047449 0.061378 0.094170 0.161906 0.243550 0.322804 0.390514 0.448901 0.465275 0.437053 
-0.039313 0.059639 0.101045 0.161066 0.318078 0.376262 0.433082 0.472590 0.649039 0.694638 
-0.048289 0.062368 0.102421 0.199427 0.478942 0.501292 0.539243 0.592485 0.644152 0.684887 
-0.059707 0.134781 0.500978 0.537298 0.524009 0.553262 0.575468 0.617187 0.670339 0.691938 
-0.054931 0.085709 0.125650 0.181901 0.212169 0.239085 0.418893 0.497027 0.597271 0.675501 
-0.061959 0.094473 0.152022 0.203759 0.262190 0.314438 0.396465 0.598217 0.638693 0.683203 
-0.121952 0.176775 0.258048 0.314808 0.374419 0.422949 0.482535 0.539617 0.603429 0.649946 
-0.053336 0.069450 0.109332 0.152945 0.184015 0.426688 0.496913 0.555075 0.646199 0.683624 
-0.209199 0.338387 0.401263 0.284364 0.201828 0.224417 0.346100 0.440431 0.575261 0.648738 
-0.044978 0.071498 0.110116 0.172387 0.222703 0.280248 0.411043 0.460651 0.713573 0.726476 
-0.065596 0.084849 0.136519 0.246735 0.404958 0.464447 0.499717 0.546731 0.593953 0.634352 
-0.037222 0.049678 0.144975 0.292832 0.425448 0.553890 0.640080 0.713589 0.747550 0.753870 
-0.058309 0.074586 0.141745 0.272278 0.328995 0.388094 0.448297 0.491701 0.507557 0.585513 
-0.050023 0.069801 0.139143 0.225050 0.315564 0.372745 0.569384 0.604187 0.634851 0.685780 
-0.054461 0.107958 0.409721 0.381157 0.384675 0.432788 0.488290 0.552233 0.637233 0.682111 
-0.044054 0.054642 0.020775 0.083404 0.116689 0.082766 0.399185 0.470280 0.572619 0.659219 
-0.042527 0.062601 0.081034 0.109889 0.396217 0.456807 0.498884 0.546736 0.594549 0.653205 
-0.040545 0.056928 0.088922 0.134529 0.303823 0.354800 0.421072 0.487222 0.544268 0.579065 
-0.103286 0.153098 0.196107 0.245624 0.309443 0.344386 0.413976 0.496647 0.556428 0.611368 
-0.047000 0.061973 0.102409 0.174546 0.258304 0.338560 0.409730 0.450177 0.377802 0.623712 
-0.112409 0.147140 0.204836 0.264220 0.293295 0.361325 0.473188 0.522188 0.634754 0.678920 
-0.050591 0.069568 0.252323 0.315864 0.379092 0.456668 0.521785 0.586119 0.656466 0.690445 
-0.049433 0.068777 0.101143 0.287143 0.337565 0.384931 0.474693 0.528928 0.642475 0.690443 
-0.026273 0.020561 -0.032001 -0.042085 0.225978 0.271496 0.341491 0.453767 0.523985 0.611266 
-0.047302 0.065276 0.100627 0.177341 0.240727 0.291852 0.361986 0.353152 0.595788 0.661449 
-0.134077 0.240497 0.318949 0.376000 0.440342 0.493663 0.547002 0.592531 0.649897 0.681642 
-0.055335 0.080071 0.106319 0.159145 0.190005 0.234642 0.516348 0.568601 0.635411 0.694603 
-0.058463 0.086066 0.124634 0.194301 0.368670 0.407954 0.441635 0.509019 0.566512 0.614965 
-0.049509 0.064792 0.113652 0.176792 0.308689 0.519352 0.527038 0.578369 0.642552 0.677740 
-0.074335 0.110814 0.172234 0.230070 0.274196 0.331733 0.405268 0.451862 0.632812 0.675760 
-0.043642 0.056140 0.109549 0.339952 0.398910 0.450082 0.538769 0.599176 0.663721 0.699911 
-0.229352 0.397657 0.580312 0.508102 0.436887 0.438673 0.475209 0.530891 0.614201 0.652398 
-0.039394 0.027144 0.044189 0.087585 0.037790 0.296526 0.396245 0.459674 0.587743 0.654224 
-0.047712 0.070149 0.114412 0.192446 0.382634 0.415903 0.475301 0.542803 0.626846 0.694329 
-0.222732 0.330063 0.285450 0.303210 0.361175 0.416198 0.491912 0.548239 0.626668 0.666324 
-0.043573 0.061659 0.089573 0.156618 0.212660 0.241015 0.426408 0.483392 0.528095 0.594262 
-0.028098 0.037454 0.070360 0.095141 0.265647 0.316057 0.448025 0.518254 0.595252 0.693973 
-0.081863 0.118515 0.167198 0.251692 0.347642 0.381815 0.462653 0.526841 0.584810 0.639923 
-0.033260 0.033035 -0.028301 -0.087095 0.314210 0.403675 0.478764 0.523465 0.597026 0.660724 
-0.041693 0.056129 0.236944 0.273809 0.329711 0.390832 0.455537 0.520933 0.592008 0.655888 
-0.048918 0.066347 0.115465 0.171037 0.199391 0.368351 0.440916 0.486743 0.579831 0.631450 
-0.067044 0.101341 0.157745 0.217504 0.274181 0.317238 0.378290 0.457013 0.520277 0.577294 
-0.051670 0.070148 0.109086 0.278276 0.318156 0.354750 0.423394 0.452599 0.610021 0.659917 
-0.063381 0.097487 0.255517 0.362912 0.502924 0.536220 0.544191 0.587177 0.622257 0.665103 
-0.042829 0.063290 0.141327 0.268721 0.335146 0.393934 0.506781 0.553873 0.793023 0.778164 
-0.073878 0.110774 0.158479 0.220476 0.260310 0.300543 0.468657 0.523335 0.568892 0.634785 
-0.058825 0.071494 0.141760 0.371302 0.401010 0.428906 0.481611 0.527376 0.610082 0.663253 
-0.046893 0.065288 0.110378 0.168657 0.290286 0.420886 0.488267 0.533125 0.573346 0.631251 
-0.055519 0.087601 0.143240 0.194621 0.306311 0.346112 0.389518 0.533281 0.586602 0.636479 
--0.021990 -0.080814 0.057690 0.242027 0.311289 0.375152 0.456319 0.523315 0.596758 0.659604 
-0.057263 0.123945 0.346494 0.371719 0.434120 0.523152 0.600973 0.656435 0.704022 0.721856 
-0.100590 0.179518 0.238388 0.304685 0.379577 0.445410 0.549238 0.604036 0.671731 0.704624 
-
+10 256
+0.444006 0.663921 1.043517 1.286433 1.514680 1.774763 2.141215 2.349557 2.623896 2.744784 
+0.202863 0.353657 0.518096 0.846833 1.067629 1.264342 1.581520 1.827218 2.632047 2.803895 
+0.290751 0.402185 0.592311 1.021346 1.267470 1.405595 1.731229 1.881080 2.252468 2.597819 
+0.058693 0.127197 0.591827 0.903718 1.271819 1.552586 1.865775 2.154356 2.502532 2.766426 
+0.141414 0.217839 0.691099 1.014245 1.324570 1.581796 1.903913 2.174950 2.499670 2.735038 
+0.266012 0.351982 0.597490 0.788421 0.965447 1.457715 1.754957 1.936402 2.275678 2.472840 
+0.255438 0.421642 0.611897 0.895487 1.066592 1.446986 1.828292 2.055901 2.633289 2.790546 
+0.191859 0.282633 0.402573 0.618878 1.372745 1.687246 1.863189 2.107720 2.315795 2.525844 
+0.350040 0.503022 0.807819 1.044075 1.442925 1.635728 1.901146 2.153626 2.443386 2.622058 
+0.244120 0.351288 0.532830 0.730925 0.884782 1.101129 1.659677 2.138527 2.462573 2.640767 
+0.323982 0.526745 0.709872 0.887135 1.179405 1.317425 1.601332 2.069320 2.345578 2.515124 
+0.224357 0.343903 0.528062 0.742489 1.312574 1.505725 1.719087 2.142744 2.375011 2.615532 
+0.258602 0.315173 0.795481 1.382100 1.538939 1.714115 1.946925 2.126021 2.588246 2.715564 
+0.169682 0.225162 0.378980 0.580365 0.921031 1.170491 1.772781 2.035832 2.284511 2.463871 
+0.308846 0.374612 0.703487 1.162267 1.312267 1.497887 1.736697 1.890748 2.483090 2.662601 
+0.256141 0.360128 0.570961 0.919508 1.432140 1.582424 1.826342 2.211282 2.436069 2.614104 
+0.292760 0.526083 1.223303 1.443506 1.712618 1.899457 2.083276 2.259421 2.514819 2.673088 
+0.314876 0.429968 0.626672 0.800656 0.930340 1.259981 1.756581 1.929216 2.401771 2.598113 
+0.324881 0.459963 0.630198 0.910609 1.469576 1.691693 1.861990 2.084855 2.345839 2.479008 
+0.167174 0.268959 0.408666 0.923086 1.172471 1.374813 1.765683 1.933947 2.614686 2.788288 
+0.294112 0.353495 0.696198 1.250708 1.452127 1.584269 1.853881 1.993415 2.365848 2.626350 
+0.160229 0.221080 0.392121 0.680713 1.075798 1.571951 1.836325 1.961303 2.178148 2.666178 
+0.274660 0.347336 0.564336 0.730773 0.908738 1.664115 1.888845 2.116712 2.546955 2.669169 
+0.157237 0.236767 0.338173 0.578501 1.579902 1.747237 1.992384 2.205416 2.536867 2.785298 
+0.308259 0.492539 0.823677 1.072207 1.467257 1.712872 2.024571 2.282919 2.552843 2.740032 
+0.246009 0.356412 0.537071 0.755742 0.881462 1.426144 1.891803 2.033206 2.487656 2.673928 
+0.228981 0.374214 0.587873 0.757043 1.177540 1.344412 1.600571 2.144031 2.358145 2.634774 
+0.155273 0.231854 0.376918 0.624432 1.186777 1.422218 1.734012 1.905982 2.564104 2.783872 
+0.178048 0.274432 0.633315 1.029370 1.353378 1.719424 2.084521 2.358693 2.660456 2.805038 
+0.215863 0.330407 0.526334 0.804778 1.073466 1.244115 1.600319 1.906924 2.162522 2.381613 
+0.279339 0.402307 0.804567 1.051365 1.213764 1.386725 1.629045 2.011895 2.445019 2.630218 
+0.179686 0.274561 0.413410 0.681085 1.349426 1.528716 1.795593 2.010354 2.279661 2.719523 
+0.172127 0.324193 1.068894 1.398742 1.685840 1.942310 2.196724 2.376432 2.615870 2.759702 
+0.163156 0.242172 0.440624 0.747123 0.969573 1.352739 1.747257 1.962151 2.432090 2.640670 
+0.238370 0.316772 0.511654 0.989180 1.331450 1.489821 1.892489 2.112974 2.319195 2.510569 
+0.198677 0.300536 0.458600 0.980041 1.256542 1.411467 1.965955 2.125348 2.564575 2.772833 
+0.258912 0.533142 0.873031 1.088889 1.311679 1.548079 1.892041 2.184336 2.523931 2.745963 
+0.194521 0.273036 0.459226 0.956941 1.202606 1.411966 1.751533 1.949081 2.172780 2.472739 
+0.227160 0.432026 0.582654 0.856834 1.028620 1.233650 1.847503 1.992857 2.498515 2.735348 
+0.172998 0.239154 0.414753 0.775156 1.218821 1.516542 2.107320 2.312443 2.604248 2.781711 
+0.367599 0.532297 0.907868 1.200444 1.554197 1.724487 1.959865 2.155684 2.408196 2.581382 
+0.213706 0.323833 0.451763 0.683525 0.847024 1.023254 1.836589 2.091523 2.327741 2.746656 
+0.409473 0.572486 0.744804 0.929476 1.098112 1.264489 1.809251 2.111976 2.298775 2.515697 
+0.219844 0.358005 0.500456 0.798651 1.262139 1.378705 1.718415 1.989444 2.230093 2.708628 
+0.177314 0.249322 0.548358 1.219203 1.618776 1.841861 2.185949 2.388187 2.623279 2.758930 
+0.190093 0.298399 0.488720 0.729652 1.042028 1.200445 1.692881 2.020112 2.277212 2.748126 
+0.231037 0.329151 0.830931 1.101649 1.323282 1.594531 1.869032 2.079573 2.401206 2.610652 
+0.228965 0.288025 0.472312 1.123468 1.639900 1.807257 2.027118 2.222917 2.471779 2.642813 
+0.330429 0.662203 1.155377 1.450676 1.735459 2.016547 2.295193 2.460407 2.694192 2.809249 
+0.307411 0.523130 0.771590 0.942193 1.126998 1.313784 1.760727 2.178797 2.486101 2.706460 
+0.239171 0.327250 0.509444 0.876766 1.360141 1.507513 1.742863 2.019876 2.240788 2.403119 
+0.155360 0.238064 0.628010 0.835956 1.182461 1.381618 1.675413 1.932676 2.491653 2.724706 
+0.216742 0.284523 0.446650 1.242825 1.465485 1.607304 1.828568 2.013179 2.531729 2.693945 
+0.167284 0.217762 0.381458 0.566737 1.009391 1.335555 1.572318 1.892384 2.301443 2.513372 
+0.293728 0.405726 0.646951 0.855980 1.034065 1.469387 1.914359 2.098643 2.459853 2.625651 
+0.224067 0.296066 0.467587 0.763685 1.355546 1.871838 2.116832 2.244280 2.494398 2.627771 
+0.279457 0.509303 0.937602 1.210400 1.405482 1.666485 1.983796 2.252478 2.614465 2.787229 
+0.313064 0.405260 0.587466 0.760087 0.874919 1.187016 1.949193 2.239772 2.444686 2.636398 
+0.259358 0.469150 0.655986 0.857805 1.200142 1.339298 1.652733 1.982532 2.217731 2.673896 
+0.158369 0.221229 0.374718 0.613461 1.164416 1.342261 1.762108 1.990766 2.358854 2.731158 
+0.204307 0.278079 0.443141 0.966187 1.432196 1.612943 2.032464 2.215207 2.450967 2.631409 
+0.202714 0.291047 0.451258 0.677979 1.084182 1.252548 1.638246 2.182108 2.435697 2.671338 
+0.283411 0.400384 0.700546 0.997037 1.204040 1.431131 1.999580 2.224171 2.470946 2.658334 
+0.224849 0.322164 0.452143 0.769074 1.539007 1.772142 1.923591 2.139147 2.340834 2.521873 
+0.331040 0.501349 0.895909 1.186011 1.583298 1.805048 2.093690 2.296681 2.511648 2.673773 
+0.205341 0.342548 0.515860 0.737304 0.888795 1.136409 1.762650 1.977787 2.594847 2.801589 
+0.278449 0.342193 0.562437 1.101400 1.404563 1.535848 1.804639 1.958515 2.203449 2.570289 
+0.108390 0.146459 0.333955 0.900761 1.280016 1.578524 1.888938 2.174958 2.532315 2.778295 
+0.177382 0.280847 0.686625 1.071873 1.499695 1.676123 1.934553 2.207799 2.502314 2.714848 
+0.207510 0.311685 0.474058 0.839137 1.044223 1.266176 1.836328 2.015117 2.267019 2.553477 
+0.322073 0.393838 0.673357 0.830697 0.990850 1.561516 1.780162 1.958950 2.588705 2.689016 
+0.207520 0.278497 0.449007 0.638986 1.005285 1.836921 2.056509 2.231488 2.479450 2.657900 
+0.451817 0.687519 0.910350 1.064707 1.263839 1.509747 1.938235 2.183920 2.491257 2.671054 
+0.197230 0.277997 0.428070 0.612194 0.805327 0.977093 1.592615 2.082608 2.355163 2.682511 
+0.373174 0.505963 0.701627 0.958050 1.159333 1.320678 1.699544 1.877771 2.101586 2.474051 
+0.184011 0.252944 0.445693 0.723325 1.233616 1.419671 1.699353 1.894982 2.367171 2.516922 
+0.251359 0.306272 0.652428 1.313126 1.582013 1.717821 2.007624 2.171260 2.447590 2.651329 
+0.176633 0.256092 0.401007 0.619441 0.840795 1.036605 1.595611 1.900119 2.189226 2.592257 
+0.406629 0.480617 0.806260 1.144272 1.265412 1.559397 1.849193 2.018251 2.537492 2.690293 
+0.272322 0.342653 0.502614 0.970118 1.515159 1.695564 1.870135 2.108926 2.304849 2.478032 
+0.421892 0.646093 1.047002 1.317678 1.642120 1.829901 2.044395 2.222127 2.478455 2.632361 
+0.270250 0.431768 0.608552 0.805170 0.998694 1.132209 1.727792 2.132920 2.325330 2.716146 
+0.383155 0.573168 0.736677 0.966220 1.378829 1.517926 1.750589 2.036235 2.282597 2.441691 
+0.187742 0.276023 0.424975 1.061690 1.367562 1.552787 1.841937 2.027817 2.476263 2.647948 
+0.275494 0.346341 0.636204 1.188368 1.347280 1.580418 1.870908 2.033400 2.570002 2.711879 
+0.160222 0.224763 0.415902 0.757729 1.108378 1.575703 1.856887 2.022643 2.422340 2.681180 
+0.293173 0.372388 0.584855 0.743569 0.917475 1.522697 2.097034 2.244385 2.564107 2.700464 
+0.204818 0.295161 0.441987 0.680218 1.411309 1.715704 1.899547 2.207486 2.450764 2.643565 
+0.268073 0.332678 0.634962 1.110880 1.689332 1.917899 2.071438 2.248748 2.476441 2.604308 
+0.144717 0.191592 0.341100 0.527969 0.833642 1.337204 1.727113 1.999597 2.433651 2.727683 
+0.240097 0.380006 0.623533 0.828942 1.137885 1.321987 1.538449 1.958046 2.425392 2.590453 
+0.226095 0.325837 0.551424 0.727486 1.248133 1.623890 1.831972 2.074067 2.591299 2.752449 
+0.185185 0.241767 0.396158 0.963534 1.663594 1.778717 2.092783 2.315288 2.579123 2.751526 
+0.186809 0.255288 0.438930 0.738678 0.999260 1.365373 1.742566 1.921082 2.110933 2.301003 
+0.484383 0.668173 0.822633 1.033554 1.276983 1.398442 1.800021 2.092370 2.300934 2.481548 
+0.226037 0.320683 0.449427 0.894989 1.433144 1.572887 1.811829 2.027544 2.247291 2.621902 
+0.309178 0.551187 0.984557 1.257810 1.482252 1.811980 2.183147 2.465076 2.719524 2.836126 
+0.171127 0.266577 0.617310 0.830900 1.057546 1.305792 1.791662 2.111268 2.461573 2.695501 
+0.268814 0.353762 0.726139 0.947742 1.163235 1.580272 1.844729 2.049724 2.361439 2.548195 
+0.193743 0.274208 0.423613 0.692666 1.310966 1.468902 1.965623 2.213508 2.434028 2.662030 
+0.293370 0.361283 0.724275 1.038744 1.175620 1.643611 1.895472 2.077200 2.575383 2.693989 
+0.219346 0.291413 0.617484 0.838156 1.193888 1.605425 1.820202 1.960450 2.176590 2.558139 
+0.382878 0.507446 0.711513 0.938945 1.074295 1.349410 1.778160 1.916245 2.401177 2.647392 
+0.201842 0.261408 0.431515 0.631579 1.289205 1.820416 2.079137 2.234392 2.638724 2.793084 
+0.432562 0.661120 0.988376 1.223753 1.482236 1.697379 2.036828 2.255417 2.544226 2.691604 
+0.229571 0.332541 0.459885 0.656519 0.822344 0.979009 1.758291 2.317746 2.522871 2.752673 
+0.314962 0.412424 0.633483 1.022607 1.259076 1.383384 1.827425 2.097972 2.285639 2.499450 
+0.167857 0.235021 0.393370 0.645760 1.200300 1.376984 1.720170 1.947772 2.159898 2.630115 
+0.194911 0.252209 0.405926 1.380229 1.566591 1.742247 2.041490 2.318425 2.590986 2.750057 
+0.157912 0.223957 0.380186 0.691714 0.964009 1.387355 1.707013 1.853041 2.054115 2.622530 
+0.289547 0.484925 0.836898 1.043053 1.302082 1.496856 1.813215 2.086825 2.383140 2.583390 
+0.229000 0.285993 0.637895 0.884564 1.566435 1.825841 2.015954 2.215223 2.454511 2.611474 
+0.561221 0.974815 1.327380 1.498536 1.797843 1.971954 2.200089 2.361515 2.566436 2.674949 
+0.233078 0.334719 0.485204 0.911847 1.213251 1.400289 1.625665 2.308507 2.582594 2.752787 
+0.292390 0.469592 0.665363 0.873253 1.302289 1.474670 1.717119 2.003341 2.419710 2.606963 
+0.177019 0.250095 0.440412 1.027722 1.265293 1.472070 1.704453 1.951264 2.403045 2.608729 
+0.250508 0.306199 0.518087 1.183097 1.547573 1.658179 1.917662 2.075882 2.336299 2.624550 
+0.180689 0.243525 0.408193 0.650005 1.142399 1.398650 1.886892 2.070198 2.263892 2.441344 
+0.336731 0.408806 0.723579 0.845498 1.073163 1.642888 1.809946 2.158126 2.555034 2.652938 
+0.182913 0.264452 0.377350 0.561242 1.462119 1.841569 2.007228 2.195117 2.397059 2.610795 
+0.234511 0.416733 0.806229 1.134950 1.517061 1.854557 2.185306 2.429433 2.684622 2.812337 
+0.221303 0.355005 0.503565 0.788216 0.978417 1.145162 1.902693 2.112219 2.387095 2.761467 
+0.191689 0.306774 0.493852 0.802196 1.096702 1.276458 1.619502 1.872675 2.112249 2.643985 
+0.137074 0.174429 0.311248 0.498628 1.087331 1.479375 1.805380 2.076181 2.436815 2.744047 
+0.177451 0.259976 0.388007 0.958233 1.528291 1.640265 1.910720 2.064388 2.589628 2.768742 
+0.242049 0.420312 0.630685 0.780956 1.085706 1.255754 1.476700 2.018357 2.253881 2.534978 
+0.345213 0.456060 0.689243 1.060945 1.225158 1.442790 1.893098 2.030969 2.456431 2.686579 
+0.261786 0.389592 0.565693 0.772947 1.339907 1.650735 1.828287 2.063783 2.405461 2.563907 
+0.479021 0.738518 1.115068 1.330611 1.625788 1.915598 2.233403 2.422517 2.647439 2.750805 
+0.235785 0.356295 0.521197 0.823497 1.039034 1.208639 1.463269 1.638177 2.432537 2.719976 
+0.392014 0.484761 0.747411 1.074801 1.227884 1.423077 1.805229 1.941149 2.274005 2.591269 
+0.134963 0.206067 0.598456 0.899519 1.198410 1.481115 1.813348 2.096788 2.463502 2.718010 
+0.211185 0.364797 0.724757 0.984381 1.263395 1.487429 1.788920 2.160420 2.505545 2.716382 
+0.216708 0.300500 0.671956 0.862426 1.093183 1.337184 1.676934 1.945499 2.297480 2.492427 
+0.319330 0.474389 0.693406 0.862631 0.999987 1.271214 1.723328 1.984294 2.563096 2.728395 
+0.170279 0.233289 0.373480 0.522986 1.170059 1.690942 1.947953 2.143178 2.362909 2.590438 
+0.389911 0.585334 0.917755 1.143479 1.423512 1.643718 1.957937 2.181091 2.495637 2.669225 
+0.258331 0.386778 0.581091 0.777195 0.979141 1.139085 1.647296 2.294892 2.549526 2.730632 
+0.306202 0.491332 0.701865 0.865744 1.140911 1.295494 1.508529 1.926946 2.217932 2.404694 
+0.183151 0.261291 0.404409 0.602560 1.282401 1.475569 1.689841 2.143598 2.371583 2.596834 
+0.214795 0.333642 0.985949 1.346001 1.554296 1.794626 2.010093 2.235913 2.524664 2.685638 
+0.203837 0.291340 0.479778 0.731837 0.905538 1.233035 1.710534 1.950385 2.272003 2.463907 
+0.247518 0.323005 0.697618 0.997179 1.211087 1.556680 1.771900 1.921487 2.532771 2.684287 
+0.219585 0.301175 0.690547 0.932217 1.419450 1.643477 1.861830 2.039874 2.430607 2.639260 
+0.317628 0.533775 1.067023 1.380795 1.568090 1.832701 2.073727 2.281102 2.611151 2.757542 
+0.212696 0.343065 0.517379 0.754632 0.913300 1.150564 1.657695 1.869722 2.448163 2.646953 
+0.313797 0.462711 0.635127 0.916973 1.409096 1.558325 1.793999 2.092287 2.325180 2.484221 
+0.261526 0.396384 0.545407 1.008636 1.217070 1.398755 1.746395 1.906515 2.543925 2.745435 
+0.292892 0.341980 0.802965 1.270103 1.400641 1.596769 1.797518 1.994997 2.571862 2.707129 
+0.179502 0.260809 0.446411 0.671166 0.855064 1.542928 1.882321 2.054020 2.282601 2.585810 
+0.223431 0.330004 0.524624 0.736704 1.043483 1.653042 1.869459 2.315096 2.655138 2.786227 
+0.164127 0.235599 0.365357 0.748237 1.508704 1.667835 2.021350 2.259231 2.551547 2.765292 
+0.241503 0.341405 0.678065 1.099439 1.446986 1.674476 2.094430 2.274811 2.512762 2.682374 
+0.220115 0.320172 0.468401 0.678288 0.805037 1.294741 1.918255 2.098124 2.417962 2.579570 
+0.239465 0.387973 0.563794 0.749465 1.223251 1.405308 1.603795 2.019422 2.261481 2.482788 
+0.173788 0.283615 0.406268 0.824985 1.351895 1.486693 1.773986 1.916144 2.544504 2.756263 
+0.177463 0.261381 0.471872 1.037367 1.274925 1.615908 1.896088 2.275567 2.640829 2.799562 
+0.231453 0.342699 0.524956 0.813595 0.994181 1.204230 1.461354 1.713319 2.132642 2.368830 
+0.344121 0.465968 0.707598 0.985590 1.174682 1.362527 1.581253 1.796528 2.417289 2.591542 
+0.205233 0.295361 0.443613 0.770664 1.453936 1.644855 1.876317 2.123003 2.341865 2.730470 
+0.203440 0.350711 0.860563 1.279974 1.660665 1.917009 2.182379 2.354930 2.584981 2.736619 
+0.163764 0.248462 0.417790 0.786784 1.095893 1.302810 1.632717 1.808749 2.400444 2.662919 
+0.257979 0.352682 0.550782 1.041638 1.248068 1.428256 1.898469 2.043576 2.385303 2.661716 
+0.237850 0.335708 0.519519 0.950892 1.107601 1.548006 1.931053 2.113042 2.545192 2.708723 
+0.275724 0.447788 0.736236 1.014079 1.335183 1.609653 1.919262 2.209480 2.580364 2.785604 
+0.208554 0.288270 0.512666 0.858156 1.186222 1.409483 1.743868 1.916878 2.092179 2.254980 
+0.225840 0.415380 0.557180 0.853852 1.106890 1.250425 1.699649 1.859771 2.395774 2.754694 
+0.179720 0.227226 0.379701 0.524835 1.114303 1.684442 2.125470 2.248279 2.590635 2.782907 
+0.347731 0.534312 1.094068 1.319392 1.497286 1.683766 1.937811 2.152828 2.498888 2.673852 
+0.163297 0.250799 0.370845 0.605917 0.780304 1.043330 1.793203 1.986306 2.486360 2.731709 
+0.323218 0.464636 0.646625 0.861922 1.046781 1.195891 1.705545 2.034666 2.222008 2.424387 
+0.233090 0.391593 0.548633 0.871234 1.175741 1.296126 1.843583 2.070896 2.328085 2.756332 
+0.226719 0.278036 0.694846 1.392043 1.612629 1.757124 2.124303 2.285402 2.582578 2.727062 
+0.235868 0.422225 0.568072 0.769964 0.968350 1.112743 1.681405 1.879410 2.175887 2.710303 
+0.234784 0.341791 0.891242 1.222923 1.424995 1.666551 1.901618 2.167827 2.475677 2.637739 
+0.250078 0.322950 0.454487 0.964023 1.605898 1.869510 2.016040 2.187132 2.390460 2.526987 
+0.381649 0.608688 1.074733 1.430776 1.724197 1.939878 2.194771 2.353463 2.599158 2.739318 
+0.282530 0.419950 0.635305 0.872590 1.100023 1.260592 1.696933 2.182636 2.413397 2.571182 
+0.291878 0.453647 0.610854 0.830956 1.335301 1.491930 1.741415 2.017658 2.228373 2.453124 
+0.173020 0.246458 0.664000 0.910766 1.180193 1.418646 1.742241 1.954692 2.287038 2.650083 
+0.213571 0.298418 0.490086 1.275184 1.397526 1.641497 1.821517 2.300756 2.590374 2.763433 
+0.175500 0.232099 0.391873 0.598956 1.179544 1.367335 1.649589 1.942946 2.190850 2.340126 
+0.336913 0.414057 0.664999 0.815826 0.999354 1.609882 1.856906 2.011737 2.398964 2.523982 
+0.222048 0.293303 0.563475 0.849879 1.301620 1.767982 1.986776 2.196485 2.505092 2.668064 
+0.308713 0.528802 0.863486 1.189500 1.456978 1.722589 2.086467 2.327831 2.676409 2.828762 
+0.309169 0.425136 0.627956 0.870633 1.029834 1.247141 1.915182 2.172560 2.366570 2.570322 
+0.284190 0.466165 0.629035 0.859846 1.068666 1.224370 1.727456 1.945482 2.202555 2.614776 
+0.163141 0.229808 0.369530 0.591712 1.029276 1.235577 1.886731 2.122523 2.442672 2.739324 
+0.153720 0.217846 0.417210 1.001612 1.450926 1.677563 2.077071 2.296525 2.637218 2.809109 
+0.189613 0.277123 0.453605 0.658135 1.120973 1.299267 1.538919 2.067437 2.301059 2.567852 
+0.332842 0.480820 0.683333 0.885426 1.026057 1.365780 1.994542 2.192667 2.536361 2.728194 
+0.250897 0.335203 0.522537 0.812418 1.380842 1.783065 1.969090 2.138072 2.362087 2.506712 
+0.386928 0.599274 0.962864 1.221899 1.663584 1.886897 2.176761 2.360343 2.565193 2.697506 
+0.164258 0.276286 0.442233 0.667067 0.863232 1.222699 1.562471 1.773100 2.613751 2.823480 
+0.252896 0.319277 0.741034 1.126530 1.322224 1.575087 1.831676 1.992021 2.212703 2.493790 
+0.129395 0.183165 0.369469 0.805070 1.142176 1.468081 1.824255 2.121909 2.511680 2.757659 
+0.120898 0.263707 0.805673 1.108748 1.370159 1.617656 1.956834 2.230273 2.599347 2.802584 
+0.201557 0.280661 0.512143 0.809437 1.165675 1.349765 1.769057 2.083897 2.300439 2.480471 
+0.258090 0.354436 0.605847 0.834631 1.018442 1.462972 1.731461 1.923329 2.463865 2.628027 
+0.214253 0.299636 0.483674 0.690867 1.199443 1.724921 1.943121 2.158688 2.425233 2.613597 
+0.408295 0.590393 0.961707 1.177846 1.389611 1.558184 1.818959 2.051409 2.394598 2.590017 
+0.231628 0.332457 0.498613 0.664534 0.856836 0.973976 1.414965 2.192593 2.478018 2.689077 
+0.280045 0.353699 0.677761 1.011825 1.186595 1.433942 1.714457 1.903797 2.119927 2.344499 
+0.190606 0.261774 0.430921 0.652413 1.309355 1.519139 1.753924 2.007566 2.272589 2.418412 
+0.253476 0.307645 0.629525 1.311766 1.515663 1.668438 1.915380 2.070661 2.566594 2.712997 
+0.158342 0.229827 0.393273 0.627673 0.879051 1.142502 1.611502 1.836829 2.370990 2.727930 
+0.398653 0.484163 0.759758 0.999790 1.120354 1.508814 1.771593 1.935012 2.548829 2.687686 
+0.301067 0.372320 0.643743 1.111441 1.564977 1.714555 1.904809 2.141623 2.329746 2.502625 
+0.426630 0.771668 1.247073 1.432427 1.640779 1.813090 2.037585 2.247903 2.545127 2.694641 
+0.281253 0.383223 0.554873 0.766104 0.897526 1.101873 1.771803 2.114452 2.325735 2.519623 
+0.365386 0.568881 0.740961 0.932002 1.255558 1.384675 1.688566 1.995031 2.217263 2.407667 
+0.226724 0.323656 0.473603 1.112988 1.339711 1.509969 1.850254 2.004541 2.611151 2.790292 
+0.327749 0.405292 0.740356 1.232969 1.385082 1.608564 1.986130 2.132821 2.536359 2.706976 
+0.216279 0.306099 0.521025 0.678469 1.070860 1.559023 1.759651 2.105296 2.381877 2.583023 
+0.207282 0.284811 0.436850 0.624627 0.796857 1.556811 1.970260 2.163083 2.563894 2.724755 
+0.170955 0.252585 0.364623 0.553325 1.448490 1.659757 1.893560 2.128383 2.357096 2.742743 
+0.240614 0.336239 0.792595 1.093871 1.582869 1.806742 2.019645 2.215151 2.466434 2.630409 
+0.184152 0.272630 0.454853 0.683131 0.843646 1.453510 1.749228 2.037829 2.608726 2.776580 
+0.274888 0.437755 0.673651 0.832722 1.030987 1.192379 1.499094 2.091165 2.448616 2.643807 
+0.158756 0.250619 0.363061 0.690691 1.449150 1.601621 1.855088 2.011862 2.544309 2.756899 
+0.233298 0.293366 0.481016 0.853065 1.586514 1.934521 2.130568 2.295756 2.558322 2.685144 
+0.162678 0.218578 0.356930 0.551448 0.905511 1.185141 1.601519 1.851654 2.117482 2.273896 
+0.413518 0.601263 0.850891 1.020655 1.231055 1.398597 1.721441 2.043385 2.415898 2.598628 
+0.206759 0.318389 0.456773 0.924999 1.378624 1.491383 1.869248 2.033079 2.373456 2.765893 
+0.276543 0.556716 0.939531 1.319758 1.661803 1.935053 2.242341 2.436525 2.699509 2.834648 
+0.166363 0.286077 0.429610 0.805017 1.082480 1.262681 1.887255 2.061542 2.552131 2.779387 
+0.184798 0.257855 0.708397 0.893842 1.282397 1.446370 1.766039 2.100029 2.370008 2.564619 
+0.183231 0.288657 0.451692 0.771618 1.236068 1.373457 1.869521 2.089103 2.401543 2.691596 
+0.298816 0.369542 0.829931 1.074380 1.247655 1.747814 1.957331 2.205247 2.544420 2.653488 
+0.211040 0.282017 0.522226 0.776940 1.075920 1.596165 1.865855 2.006997 2.175053 2.395537 
+0.314688 0.437080 0.642025 0.965556 1.125358 1.333259 1.866524 2.010495 2.331291 2.620679 
+0.183598 0.246981 0.376549 0.548713 1.419029 1.904913 2.084239 2.261237 2.547694 2.708014 
+0.519054 0.743791 1.011263 1.229557 1.464795 1.660660 1.946867 2.156413 2.454786 2.620552 
+0.217448 0.320028 0.435627 0.623507 0.761637 1.076820 2.008316 2.205058 2.560326 2.800976 
+0.295822 0.461337 0.640353 0.856643 1.229534 1.366627 1.826210 2.109388 2.301790 2.509451 
+0.146450 0.208738 0.408790 0.856811 1.131371 1.444037 1.788654 1.948296 2.268885 2.719070 
+0.198805 0.262021 0.438575 1.214274 1.521601 1.664030 1.990988 2.152516 2.577539 2.743526 
+0.150215 0.200178 0.342929 0.535637 0.987179 1.266365 1.737838 1.956524 2.195765 2.723465 
+0.359606 0.471082 0.699657 1.119580 1.381021 1.508120 1.861003 2.120770 2.365069 2.566448 
+0.300605 0.393573 0.569342 0.926649 1.528650 1.811593 1.971539 2.159606 2.430302 2.552937 
+0.452315 0.749139 1.266805 1.499432 1.776357 1.993033 2.215974 2.378501 2.614109 2.732213 
+0.240194 0.365714 0.619909 0.771863 1.167835 1.388472 1.620056 2.133271 2.582576 2.727495 
+0.286057 0.443913 0.609916 0.854279 1.305935 1.437201 1.674764 2.137900 2.377645 2.539610 
+0.196764 0.313916 0.469271 0.921515 1.168756 1.360603 1.780730 1.940475 2.418544 2.588454 
+0.269624 0.353707 0.592990 1.130126 1.381479 1.544105 1.952391 2.115301 2.426768 2.659683 
+0.172158 0.215290 0.383990 0.539123 0.977437 1.474029 1.757769 2.001924 2.294298 2.473138 
+0.327180 0.399773 0.714499 0.861399 1.054293 1.747604 2.027978 2.206141 2.569769 2.672144 
+0.209446 0.291320 0.415002 0.750296 1.578663 1.868076 2.024153 2.220154 2.454555 2.617462 
+0.128682 0.265539 0.822250 1.194984 1.450793 1.746222 2.089565 2.361562 2.673132 2.818969 
+0.220674 0.341244 0.500467 0.782433 0.933033 1.201647 1.997613 2.205283 2.576194 2.780905 
+0.252799 0.394807 0.549805 0.861654 1.195481 1.311627 1.541058 1.689357 2.138969 2.661683 
+0.138500 0.187769 0.318423 0.588423 1.242927 1.512026 1.890553 2.158517 2.547644 2.792691 
+0.190844 0.261674 0.394321 0.930393 1.580162 1.717498 1.929445 2.119560 2.389715 2.705649 
+0.233726 0.355346 0.537925 0.740228 0.957950 1.093596 1.517800 2.019084 2.263135 2.571295 
+0.427268 0.528019 0.795750 0.992404 1.124186 1.558514 1.926960 2.082662 2.523972 2.666722 
+0.233766 0.339958 0.483599 0.784487 1.416317 1.608200 1.793507 2.108387 2.315437 2.489568 
index 786d34f29b9969022d9275297db1587e7b308e6b..5ea16b33429c1f60be453c9cebcc0b0471639805 100644 (file)
-5 64
-0.180622 0.006066 -0.021468 -0.013437 0.015371 
-0.003683 0.008561 0.045263 0.004004 0.049437 
--0.163772 0.023012 0.008096 0.000595 -0.007511 
-0.018726 0.024696 -0.012187 0.040880 -0.037520 
-0.018287 0.048845 0.002788 0.008714 0.020441 
--0.041314 -0.023004 -0.012868 -0.006827 0.020867 
-0.020537 0.025562 -0.025163 -0.005949 0.176464 
-0.029031 0.023992 0.040001 -0.001579 -0.012196 
-0.089764 0.051566 0.026604 -0.011248 0.027925 
--0.082012 -0.046648 0.055399 0.034046 0.005132 
-0.113247 -0.023355 0.041174 0.036370 -0.046196 
-0.051016 0.030063 -0.017635 -0.011313 -0.036656 
--0.062688 0.047435 -0.002149 0.001155 0.053891 
-0.005997 0.009596 -0.018469 0.041943 0.044300 
--0.028231 0.016577 -0.007576 -0.043950 -0.016269 
-0.035918 0.013668 -0.007319 -0.028917 0.040241 
--0.002860 -0.017397 0.055068 -0.003111 -0.018230 
--0.014853 -0.025694 0.024000 0.040516 0.023921 
--0.010584 0.018591 0.007213 0.008872 0.002639 
--0.039141 0.021724 -0.007418 0.056879 -0.025835 
--0.012914 -0.035655 0.025106 -0.033265 0.025828 
-0.008212 -0.009233 0.008548 0.021100 -0.003220 
--0.033749 0.036061 0.057176 0.004730 0.007389 
--0.016066 -0.009876 0.169501 -0.019578 0.018563 
--0.005042 -0.017609 -0.003367 -0.033805 -0.034261 
-0.021848 -0.037098 -0.016724 -0.013664 -0.022234 
--0.014318 -0.041632 -0.025771 0.009917 -0.004712 
-0.016061 0.039283 -0.031636 -0.107720 -0.031214 
-0.045005 0.009421 0.002766 0.047322 0.010610 
--0.000365 -0.012189 -0.027333 -0.005110 0.026984 
--0.095422 -0.058078 -0.061673 -0.024753 0.012418 
-0.010534 0.026639 -0.026237 -0.024583 -0.006740 
--0.000214 0.009931 -0.045554 0.008574 -0.033281 
--0.005650 0.008215 0.012479 0.015845 -0.173872 
--0.007468 0.036860 -0.007603 -0.033418 0.049009 
-0.027431 0.004773 -0.059174 0.012162 0.009249 
-0.075983 -0.050330 -0.034798 -0.009475 0.015972 
--0.075828 0.017657 0.007893 -0.024710 -0.037156 
--0.003870 -0.019629 -0.034949 0.060981 -0.005291 
--0.027994 -0.051432 0.023954 -0.002302 -0.033216 
--0.004043 0.056778 0.030301 -0.020760 -0.037710 
--0.024427 0.031822 -0.063218 0.009871 0.021376 
--0.012111 -0.005709 0.024335 0.125538 0.082754 
-0.008418 0.005587 0.021277 -0.044805 0.005042 
-0.004683 0.017979 0.055288 0.058361 -0.009646 
-0.002515 -0.021444 -0.158007 0.009838 0.033717 
--0.010086 -0.015696 0.009078 0.032922 -0.055059 
-0.023172 -0.048288 0.032483 0.010087 0.027439 
--0.009869 -0.014953 -0.058391 -0.054933 0.000823 
--0.026950 -0.127542 -0.040479 -0.019142 0.027921 
-0.052918 -0.003970 0.077123 -0.063210 -0.039627 
--0.016171 -0.027555 -0.007027 0.002134 0.084092 
--0.016824 -0.025088 -0.078462 -0.008012 -0.082548 
--0.018758 -0.028954 0.048720 -0.112156 -0.052909 
--0.007753 -0.123471 0.047735 0.054028 -0.003099 
-0.083138 0.089523 -0.116610 0.021680 0.037196 
--0.006830 0.097009 -0.001860 0.029964 0.010137 
-0.011289 0.007370 0.014781 -0.012922 -0.066981 
-0.034641 -0.154921 0.011883 -0.009672 -0.021795 
--0.041500 0.136367 -0.041281 -0.032394 -0.024645 
-0.010206 -0.008545 -0.042595 0.156139 -0.026349 
--0.002143 0.027830 0.067894 -0.098022 0.044893 
-0.004982 -0.020281 -0.030082 -0.074794 0.052684 
-0.015115 -0.056898 0.148751 0.028815 -0.062015 
+5 256
+-0.021406 0.108931 0.010236 -0.145815 -0.089687 
+0.016537 -0.038145 -0.132961 0.144062 0.096719 
+-0.001249 0.013167 0.052016 0.072695 -0.029050 
+0.054435 0.072283 -0.113255 0.091670 -0.068342 
+0.056174 0.101084 0.008257 -0.047489 0.082329 
+-0.009670 -0.013122 -0.089819 -0.016051 0.032201 
+-0.025482 -0.062168 -0.027894 -0.042783 0.019989 
+-0.036210 -0.102359 0.010714 -0.073465 0.139879 
+0.029393 0.116335 -0.053214 0.015564 -0.013808 
+-0.026376 -0.048523 0.030416 0.066124 -0.024016 
+-0.016938 -0.010752 -0.022466 0.121965 -0.111960 
+0.001775 0.120198 -0.006935 0.092166 0.060780 
+0.020879 -0.052287 -0.042419 -0.092863 -0.003716 
+-0.012942 0.003592 -0.068986 -0.008414 -0.201647 
+-0.066428 0.003595 -0.022975 -0.047039 -0.047828 
+0.052783 0.042176 0.126683 -0.008779 0.031824 
+-0.069533 0.057703 -0.101798 -0.023824 -0.015011 
+-0.009915 -0.043934 -0.203639 0.020801 0.033223 
+-0.077839 0.001180 -0.025396 0.081330 -0.042430 
+0.085572 0.029367 -0.095070 0.125583 0.022176 
+0.092057 -0.008781 -0.079235 -0.048786 0.010769 
+0.027327 0.000593 -0.083822 -0.011844 -0.018093 
+-0.032156 -0.154150 -0.008283 -0.017139 -0.050854 
+0.009479 -0.025090 -0.027382 -0.027763 0.063362 
+0.088887 0.011119 0.009036 0.064685 -0.071905 
+-0.002787 -0.022367 -0.041960 0.039802 -0.056172 
+0.070393 -0.060213 0.055618 -0.004384 -0.098820 
+0.022720 -0.054683 0.042647 0.074937 0.051574 
+-0.040340 -0.055900 -0.090361 -0.056423 0.054499 
+-0.022323 -0.062442 -0.154120 0.064024 -0.106246 
+0.029715 0.011630 -0.024847 -0.139332 -0.089951 
+-0.017745 -0.027821 0.127381 -0.013944 0.064178 
+0.010859 0.071557 0.031402 -0.149073 -0.003671 
+0.043703 0.010400 -0.095362 -0.078181 0.078992 
+-0.062365 0.108491 0.061683 -0.028738 -0.067763 
+-0.011243 0.043622 -0.135943 0.097385 0.062552 
+-0.032851 0.010995 0.099787 -0.038882 0.157780 
+-0.007503 0.017079 -0.127619 -0.056150 -0.024204 
+-0.037235 -0.044950 0.035140 -0.039034 -0.045729 
+-0.012150 -0.023033 -0.015281 -0.017554 0.175991 
+0.013504 0.104354 -0.012111 -0.023550 -0.115563 
+-0.042342 -0.099164 0.096286 0.091278 0.031877 
+-0.024046 -0.030027 0.067930 0.154144 -0.031663 
+-0.072506 0.074380 0.017280 0.140934 -0.004622 
+-0.003206 -0.034860 -0.021056 -0.243855 -0.011117 
+-0.060839 0.044539 -0.058851 0.036564 -0.097705 
+-0.016596 -0.013664 0.068173 -0.067875 -0.183602 
+-0.064965 0.019491 0.095851 -0.028385 0.019268 
+-0.010465 0.055629 -0.016387 0.024339 -0.045126 
+-0.018622 -0.079611 -0.091009 0.066046 0.121183 
+-0.123295 0.058013 -0.012140 -0.021931 -0.045825 
+0.059201 0.078097 0.040501 0.065851 -0.110515 
+0.126930 0.005995 0.034017 -0.048068 -0.015656 
+0.016926 0.056610 -0.075600 -0.029285 0.044383 
+-0.024671 -0.048029 0.096627 -0.012414 -0.032073 
+0.021229 -0.033084 0.019567 0.072695 0.142564 
+0.008864 0.044495 0.040261 -0.033093 0.010083 
+0.010580 -0.002921 0.033653 0.168848 0.069199 
+0.039400 -0.063679 0.089332 -0.012301 0.022360 
+0.092973 0.079011 0.059365 0.008416 0.083912 
+0.054464 0.080565 -0.058195 -0.134860 0.138418 
+-0.087504 -0.067253 0.009030 0.016760 -0.081394 
+0.051506 -0.004796 -0.013195 -0.009200 -0.062858 
+0.014136 -0.005275 0.130559 0.109747 0.064248 
+0.010845 0.069553 -0.085492 -0.131332 -0.007657 
+0.061578 -0.010083 -0.071970 0.033097 0.100995 
+0.003198 0.007159 0.027522 0.025186 -0.080406 
+-0.096163 0.054974 -0.097498 0.082830 -0.012090 
+0.004564 0.097746 -0.036003 -0.008348 0.122627 
+-0.065901 0.025078 -0.032586 -0.057617 0.045000 
+-0.040136 -0.148328 -0.030633 -0.064691 0.045416 
+-0.012157 -0.071964 0.061991 -0.039987 0.077308 
+-0.070987 0.153939 0.010666 0.037040 -0.030856 
+-0.062433 -0.130329 0.002839 0.064062 0.024361 
+-0.010079 -0.010083 0.033087 0.042281 -0.160409 
+0.043272 0.054272 -0.059931 0.111129 0.114478 
+-0.000965 -0.033833 0.021267 -0.070397 0.019875 
+0.015102 -0.050712 -0.031612 -0.000424 -0.123141 
+-0.014702 0.017940 0.056732 -0.033205 -0.088282 
+0.022676 0.003815 0.127489 -0.060266 -0.046166 
+-0.109531 0.015517 -0.067033 0.056234 0.073193 
+-0.036736 -0.015719 -0.146495 0.043652 -0.023600 
+-0.072281 0.011353 0.085598 -0.009990 -0.053988 
+0.116015 0.078694 -0.069806 0.011356 0.032732 
+0.035160 -0.077654 -0.085381 -0.030028 0.028329 
+0.007367 0.098254 -0.128188 -0.027778 -0.092765 
+-0.069658 -0.086929 0.052634 -0.082911 0.001566 
+-0.031465 0.039504 -0.023896 0.021954 0.048575 
+0.067465 0.050711 0.109993 0.012589 -0.068459 
+0.042952 -0.070780 -0.027110 0.074662 -0.038708 
+-0.016487 -0.060168 0.022980 0.053224 -0.096817 
+0.095022 0.019917 0.019350 0.081452 0.053094 
+0.000089 -0.061265 -0.113233 -0.226444 0.129738 
+-0.020289 -0.099412 -0.020535 0.056754 -0.041445 
+-0.018132 -0.095821 -0.023669 -0.129792 -0.092501 
+0.012197 -0.057650 0.169818 0.024001 -0.032966 
+-0.080227 0.054215 0.064056 -0.107205 0.004215 
+-0.019811 -0.031309 -0.064602 -0.018889 0.110998 
+-0.018518 0.108617 0.128486 0.054262 -0.067850 
+0.025706 0.028344 -0.051367 0.072576 0.040130 
+-0.029519 0.044777 0.063178 -0.044981 0.078351 
+-0.007752 -0.005772 -0.151473 -0.075434 -0.135683 
+-0.028129 -0.041696 0.038737 0.002588 0.039111 
+-0.001413 -0.117329 0.014356 -0.008556 0.058081 
+0.073577 0.086054 -0.063932 -0.059703 -0.056043 
+-0.004455 -0.105199 0.057557 0.036356 -0.001614 
+0.034813 -0.011546 0.119991 0.097970 -0.057333 
+0.012490 0.036923 0.060306 0.089075 0.026544 
+-0.007308 -0.003360 0.089332 -0.156157 -0.076983 
+0.020443 0.038004 -0.082617 0.014187 -0.084229 
+-0.010067 -0.043646 0.104190 -0.020332 -0.113413 
+0.019452 -0.017699 0.086407 -0.149350 0.035032 
+-0.063843 0.049501 0.023881 -0.007758 0.015123 
+-0.040657 -0.040203 -0.063597 0.042128 0.025604 
+-0.130160 -0.024866 0.055305 -0.041194 0.045116 
+0.049432 0.055510 -0.006683 0.138421 -0.043183 
+0.087163 0.013057 -0.006799 -0.084491 0.056532 
+0.064054 0.106709 -0.075535 -0.087588 0.046051 
+-0.026502 -0.091502 0.062202 -0.077878 -0.103918 
+-0.070766 -0.007034 -0.005016 0.012735 0.091548 
+0.030092 0.104877 0.065607 0.020461 -0.002983 
+0.006667 -0.059681 -0.067896 0.140805 -0.037053 
+0.024911 -0.042592 0.035611 -0.022190 -0.017371 
+0.043806 -0.003772 0.064155 -0.005587 0.065305 
+0.013775 -0.019471 -0.010808 -0.114880 0.092429 
+-0.004362 -0.097882 -0.072622 0.000859 -0.072969 
+0.010835 0.002935 -0.010522 -0.029640 -0.018812 
+-0.002815 0.019650 0.073786 0.023017 0.027486 
+-0.035116 0.083780 -0.047697 -0.093223 -0.049601 
+0.016083 -0.030747 -0.081910 0.105295 0.037028 
+0.021420 0.017461 0.021006 0.030737 -0.007009 
+0.017570 -0.004117 -0.109441 0.099907 -0.060442 
+0.031533 0.170766 0.007603 -0.023917 0.039640 
+-0.034490 -0.004353 -0.049810 -0.001665 -0.006800 
+-0.049992 -0.082781 -0.030432 -0.069328 -0.033724 
+-0.026425 -0.084230 0.068958 -0.147731 0.089957 
+-0.025804 0.152835 -0.052516 -0.035930 -0.032842 
+-0.026333 -0.041967 0.018667 0.106536 0.021511 
+0.025179 -0.006152 0.032580 0.109526 -0.087229 
+-0.046329 0.156428 -0.000438 0.032617 0.082644 
+0.045529 -0.088920 0.005952 -0.100032 0.037022 
+0.043473 0.034600 -0.048768 0.050748 -0.142175 
+-0.052680 0.040293 0.025408 -0.078601 -0.057626 
+-0.008755 0.039271 0.157026 0.016939 0.011512 
+-0.055155 0.100297 -0.090750 -0.070506 0.053489 
+0.036003 -0.004689 -0.140033 0.021003 0.050800 
+-0.094297 -0.038679 0.001987 0.044431 0.014913 
+0.075296 0.020313 -0.055272 0.055650 -0.012236 
+0.080103 -0.001597 -0.017090 -0.008598 0.039225 
+0.074687 0.005695 -0.126235 -0.014300 -0.062800 
+0.006515 -0.098507 0.016983 -0.025850 -0.061359 
+0.003403 0.020760 0.004611 -0.040494 0.066641 
+0.080290 0.040135 0.035632 0.025592 -0.020162 
+0.001135 -0.000322 -0.019373 0.081497 -0.024835 
+0.032781 -0.056711 0.055831 0.043231 -0.056169 
+0.059098 -0.031619 0.033132 0.039309 0.015952 
+-0.002714 -0.040968 -0.126282 -0.082601 0.115541 
+-0.009564 -0.038716 -0.077074 0.054052 -0.127886 
+-0.013589 0.020741 -0.030063 -0.098522 -0.154709 
+-0.019341 -0.076775 0.150586 -0.056835 0.028978 
+0.026984 0.120357 0.014776 -0.087996 0.001184 
+0.043136 0.047468 -0.106854 -0.012311 0.136749 
+0.006266 0.135453 0.089884 -0.044424 -0.015318 
+-0.022275 0.104625 -0.093291 0.040459 0.043466 
+0.026675 0.033732 0.033432 -0.040003 0.137637 
+-0.015331 -0.040834 -0.144406 -0.102359 0.007346 
+-0.037072 -0.006470 0.019555 0.004435 -0.023113 
+0.050195 -0.050172 0.002684 -0.032435 0.117505 
+0.053669 0.065412 0.023483 -0.076387 -0.097193 
+-0.046469 -0.112094 0.081252 0.010354 0.081406 
+0.003424 -0.098166 0.059285 0.116414 -0.043193 
+-0.085510 0.089546 0.067583 0.063370 0.036681 
+-0.050885 -0.014553 -0.010354 -0.138138 -0.019065 
+-0.062106 0.089829 -0.025795 -0.024562 -0.136513 
+0.042604 0.028547 0.068434 -0.019686 -0.149143 
+-0.011292 -0.004941 0.080298 -0.068819 0.013087 
+-0.033391 0.083482 -0.002741 0.044834 -0.000087 
+-0.030048 -0.111492 -0.106256 0.013354 0.069577 
+-0.201947 0.033380 0.030414 0.014569 -0.056871 
+0.032976 0.099252 -0.022767 0.071354 -0.074629 
+0.084309 0.070168 0.048774 -0.058682 0.019366 
+0.032417 0.045013 -0.038956 0.003473 0.024131 
+-0.053350 -0.111804 0.084936 0.015044 -0.043488 
+-0.021984 -0.089694 0.026913 0.087199 0.105413 
+0.032985 0.060479 0.043282 -0.041424 -0.045614 
+-0.025281 0.016546 -0.008511 0.109096 0.061579 
+0.108852 -0.086107 0.057949 -0.007846 0.023739 
+0.022917 0.048324 0.084817 0.051422 0.108333 
+0.020075 0.065293 0.024222 -0.177025 0.103021 
+-0.052328 -0.058433 -0.016859 -0.039048 -0.132025 
+0.044874 -0.056423 -0.009110 -0.056668 -0.062653 
+0.007126 -0.049861 0.112609 0.043628 0.102097 
+0.053027 0.006351 -0.074985 -0.155632 0.000468 
+-0.003952 -0.020796 -0.047587 0.066293 0.093601 
+0.006187 0.075271 0.038270 0.013700 -0.086700 
+-0.038267 0.110563 -0.053092 0.104285 -0.058967 
+-0.017230 0.065483 -0.030473 -0.073551 0.097440 
+-0.017625 0.009543 -0.053416 -0.091798 0.013864 
+-0.047203 -0.111174 -0.068496 0.004133 -0.001946 
+0.021511 -0.033754 0.082109 -0.067395 0.108098 
+0.024329 0.172244 0.023377 0.022373 -0.066952 
+-0.024787 -0.090210 -0.039733 0.128667 0.045121 
+-0.056078 0.039012 0.057493 0.060251 -0.111755 
+0.002505 0.046864 -0.005795 0.052569 0.117762 
+-0.049994 -0.019961 0.021272 -0.092885 0.061478 
+0.025756 0.008735 -0.010368 -0.028567 -0.125922 
+0.000465 -0.012792 0.031428 -0.078323 -0.081520 
+-0.009561 0.065195 0.112336 -0.071252 -0.041794 
+-0.148640 0.078451 -0.027802 -0.011982 0.061388 
+-0.005007 -0.071353 -0.108450 0.054048 -0.009674 
+-0.095070 -0.000467 0.065054 0.060690 -0.022708 
+0.071931 0.100729 -0.048705 0.059187 0.065931 
+0.066351 -0.085844 -0.041025 0.021797 0.046665 
+0.003912 0.061475 -0.162863 0.038635 -0.025668 
+-0.010671 -0.130322 0.059096 -0.065249 0.005155 
+0.003692 -0.012791 -0.008737 0.036513 0.037150 
+0.033874 -0.000886 0.083220 0.009612 -0.037199 
+0.077031 -0.048573 -0.065236 0.028360 -0.043075 
+-0.019846 -0.097997 0.069274 0.025529 -0.131338 
+0.050027 -0.010317 0.022528 0.118355 0.001105 
+-0.023244 -0.088843 -0.056329 -0.140675 0.037221 
+-0.052427 -0.096705 -0.045605 0.099184 -0.072695 
+-0.001344 -0.024613 -0.066691 -0.087988 -0.075475 
+-0.003806 -0.057986 0.114851 0.046384 0.013172 
+-0.060172 0.127551 0.032045 -0.088201 0.057495 
+-0.030853 0.024597 -0.100073 0.011060 0.108274 
+-0.015716 0.067447 0.075220 0.051558 -0.038701 
+-0.001983 0.026967 -0.085766 0.052349 -0.005081 
+-0.024184 0.092450 0.055417 0.004123 0.076868 
+-0.002270 -0.069252 -0.133485 -0.036492 -0.054455 
+-0.012415 -0.065990 0.006622 0.009851 -0.004664 
+-0.035992 -0.083973 -0.016076 0.002209 0.092316 
+0.084844 0.068940 -0.020968 -0.004783 -0.046660 
+0.037839 -0.143521 0.005325 0.036055 0.002123 
+-0.023575 -0.021621 0.106150 0.061087 -0.046658 
+0.041745 0.096932 0.095910 0.112957 0.016901 
+0.014863 -0.029474 0.038073 -0.124756 -0.025224 
+-0.012760 0.030910 -0.053282 -0.028662 -0.070939 
+0.005145 0.000361 0.148092 0.011131 -0.102044 
+0.021703 0.043413 0.111529 -0.096640 0.070849 
+-0.018883 0.085116 -0.011565 -0.036848 0.001140 
+0.004421 -0.070699 -0.034949 0.050552 0.034228 
+-0.141451 -0.055244 -0.037438 -0.034652 -0.000520 
+0.025296 0.083630 -0.024993 0.100072 -0.001299 
+0.022946 0.046100 0.002547 -0.103144 0.035870 
+0.034994 0.100019 -0.142482 -0.019346 0.025513 
+0.013032 -0.078172 0.109851 -0.079647 -0.043137 
+-0.030375 -0.017337 0.041640 0.035436 0.111094 
+0.044122 0.080993 0.015356 0.033668 0.027083 
+-0.009547 0.005556 -0.052828 0.165063 -0.001717 
+0.056999 -0.007110 0.063252 -0.065978 -0.008868 
+0.036395 0.018676 0.008704 0.023610 0.076704 
+-0.037486 0.016184 -0.046249 -0.156788 0.095619 
+-0.029472 -0.042230 -0.055255 -0.020155 -0.057540 
+0.035636 0.027756 -0.026705 -0.073320 -0.028806 
+-0.052871 0.003491 0.087672 0.064225 0.057197 
index 5232932cad7441a9e5eaec5a5a2b67b48e99249f..49fc639444bcc6034638018881e9aa62d05f510c 100644 (file)
-5 64
-0.199356 -0.046114 -0.014628 0.019331 0.007094 
--0.223637 -0.027704 0.005744 -0.030910 -0.002358 
-0.012583 0.025512 -0.018059 -0.159782 0.003840 
--0.132734 0.042020 0.037016 0.000379 -0.010638 
--0.006745 -0.011922 0.018691 -0.032089 -0.159781 
-0.044397 0.027639 0.007529 -0.010559 0.005324 
-0.094328 0.033697 -0.071778 0.025642 0.025931 
-0.018792 0.016222 -0.154698 -0.017059 0.000699 
--0.067211 0.033705 0.025447 -0.026276 0.031514 
--0.104739 -0.017205 -0.052495 0.000481 0.008038 
-0.068027 0.001855 -0.007310 0.028354 -0.048914 
-0.028143 -0.006052 -0.006966 -0.015113 -0.041109 
--0.038585 -0.005834 -0.021703 -0.007152 0.014956 
-0.114966 0.015750 0.039961 -0.032410 0.006278 
-0.020340 -0.036924 0.033169 -0.047163 0.009171 
-0.010720 -0.039946 -0.017723 -0.002642 -0.010278 
--0.079353 -0.060398 0.034670 -0.002409 -0.010720 
-0.028527 0.006945 -0.045590 0.016821 -0.004159 
--0.018629 -0.033281 0.011648 0.033733 -0.036671 
--0.043644 0.012612 0.001700 -0.017529 -0.053521 
-0.048372 -0.008161 -0.046648 -0.050377 0.005868 
--0.013208 -0.130732 0.048663 0.006746 -0.008581 
--0.012499 -0.023672 -0.013511 -0.055482 -0.020262 
--0.009173 -0.041402 0.015274 -0.007771 0.027925 
--0.002419 -0.011154 0.039476 -0.022125 -0.033716 
-0.023169 -0.032382 0.029847 0.029624 -0.014876 
-0.044864 -0.005728 0.066242 -0.031428 -0.037726 
--0.006296 -0.018223 -0.031106 0.026031 0.020168 
--0.002680 0.019292 -0.054964 -0.028514 0.003996 
-0.014037 0.063021 -0.019018 0.019135 0.006253 
--0.030836 -0.013152 0.043025 -0.008038 0.001975 
-0.013008 0.031322 -0.004349 -0.045247 -0.022323 
--0.001254 -0.003786 -0.039013 0.007816 -0.058864 
--0.029850 -0.007355 0.092691 -0.096908 0.012834 
--0.004289 -0.005152 0.056846 0.028014 0.009501 
-0.011267 0.030816 0.028408 0.022022 -0.054663 
-0.011944 0.012077 0.018871 0.002067 0.013561 
-0.037847 -0.012540 -0.005700 0.026174 0.036866 
--0.011667 0.029533 -0.001613 0.002176 -0.019421 
--0.064045 0.009466 -0.014587 0.051633 -0.007692 
--0.000734 0.061783 0.053816 -0.019430 0.000760 
--0.027340 0.044591 0.019738 0.038465 0.009254 
-0.077260 -0.065671 -0.002924 -0.002751 0.010811 
--0.059460 0.069552 -0.070568 -0.034797 0.011398 
--0.019409 0.022774 0.008093 -0.046885 0.024185 
-0.045376 0.029876 0.052322 0.053145 0.010152 
-0.004524 -0.017804 0.058043 0.019065 0.119071 
-0.004986 0.000119 -0.004026 0.059938 0.000625 
-0.010842 -0.011323 -0.025120 -0.031177 0.037555 
--0.054404 0.032783 0.102674 0.037726 -0.016502 
--0.024732 0.019641 -0.069165 0.035973 -0.007114 
-0.022856 0.033603 -0.034710 0.107206 -0.046868 
--0.020350 -0.066156 -0.049100 -0.002560 -0.012345 
--0.036348 -0.047706 0.008369 0.048741 0.044398 
-0.029796 -0.065326 -0.068475 0.070067 -0.004048 
-0.063030 0.124997 -0.026117 -0.037609 -0.022144 
--0.011243 0.028624 -0.006808 0.008654 0.058514 
-0.006905 -0.033728 0.163891 0.017925 -0.028119 
--0.038975 -0.058758 -0.036370 -0.069444 0.051810 
-0.005915 -0.008354 -0.078672 0.025962 0.101040 
--0.032262 0.157582 -0.012208 -0.008087 -0.007190 
-0.023464 0.035066 0.011241 -0.057235 0.056908 
--0.019183 -0.017633 0.014499 0.143127 -0.005776 
-0.051205 -0.185582 -0.001777 0.018170 -0.008225 
+5 256
+-0.049493 0.054928 0.084940 0.052135 0.008568 
+-0.066116 0.006570 -0.027523 0.158516 0.042695 
+0.077460 -0.019928 -0.012915 0.012901 -0.098697 
+0.028568 0.000341 -0.025438 -0.085876 0.170940 
+0.014357 -0.066755 -0.144243 0.165268 0.011916 
+0.020644 -0.092580 -0.081946 0.055022 0.007749 
+-0.027372 0.051994 0.033764 0.000619 -0.072671 
+0.011662 -0.038667 -0.034632 -0.078986 0.087758 
+-0.024310 -0.048062 0.107728 0.024164 0.006083 
+0.052660 0.011153 0.031828 0.048317 0.056289 
+-0.029014 0.039726 -0.055089 0.024123 -0.105980 
+0.035791 0.028310 0.054464 -0.124706 0.040220 
+-0.039838 -0.010122 0.054055 0.061690 -0.037657 
+-0.086924 -0.009158 0.011889 -0.048271 -0.096720 
+-0.022199 0.050122 0.113121 0.076273 -0.079928 
+-0.033161 -0.147776 0.019592 0.002594 -0.021873 
+-0.081140 0.072112 0.033137 0.019729 0.066647 
+0.118834 0.098388 -0.026103 0.013142 -0.013216 
+-0.000177 0.131275 -0.039096 -0.057554 -0.099675 
+0.078053 -0.007955 0.054077 -0.010283 -0.026083 
+0.006225 -0.029400 -0.046540 0.024907 0.040126 
+-0.017713 -0.086932 -0.104490 -0.034290 0.111475 
+-0.053135 0.032393 0.024949 0.154463 -0.055979 
+0.010110 -0.084365 0.043942 -0.143588 0.059090 
+-0.028178 -0.064062 0.042823 0.164601 0.015843 
+0.089595 -0.035899 -0.039930 0.133627 0.033243 
+-0.013140 -0.008344 -0.104900 -0.106493 0.028217 
+-0.095950 0.081940 0.002347 -0.084799 -0.073903 
+-0.036268 -0.072257 -0.015128 0.036224 -0.089424 
+-0.101200 0.063829 -0.061475 0.012579 -0.047699 
+-0.050236 0.118664 0.083446 -0.052543 -0.018838 
+-0.070661 -0.021915 0.054200 -0.092410 0.018701 
+0.041419 0.036648 0.126667 0.042162 0.031663 
+-0.063135 0.022908 -0.086859 0.019763 0.039548 
+0.015121 0.066099 -0.029927 -0.003374 -0.032001 
+0.089102 0.057931 -0.003415 -0.091946 0.084794 
+-0.104839 -0.045958 0.016926 0.068547 0.081198 
+0.078588 0.043905 -0.106359 -0.032332 -0.004293 
+0.036452 0.104520 0.031718 0.027031 -0.125065 
+-0.041077 -0.152599 0.117252 -0.030131 0.037371 
+0.013985 -0.027980 0.107111 -0.067626 0.092561 
+-0.028813 -0.035193 0.012488 0.065691 0.027352 
+-0.018945 -0.062152 -0.097681 -0.029327 -0.078038 
+-0.016391 0.124686 0.019323 -0.147042 0.049316 
+-0.021113 -0.052981 0.111882 0.025840 -0.077151 
+-0.012782 -0.053834 0.026849 -0.029175 0.000992 
+0.042064 0.054611 0.016125 0.080908 -0.020857 
+-0.001874 -0.051978 0.089166 -0.127696 -0.080845 
+-0.008962 -0.018067 0.129410 0.071134 0.081936 
+-0.064042 0.116090 -0.063253 -0.004220 0.024728 
+0.029012 0.071023 0.014449 -0.128413 -0.035250 
+0.115653 -0.029705 0.016432 0.055524 0.040377 
+0.000581 -0.092870 -0.028356 0.152103 0.076057 
+-0.045269 0.077207 -0.081390 -0.112025 0.047049 
+-0.057804 0.095103 0.005696 0.081825 -0.020948 
+0.027780 -0.080443 -0.023995 -0.061605 0.036406 
+0.004583 -0.106303 0.105940 0.094569 -0.011431 
+0.046422 0.030015 -0.125031 0.088154 -0.024277 
+-0.007487 0.020628 -0.012213 -0.072900 -0.005260 
+-0.032193 0.064610 0.007714 0.021012 0.008793 
+0.043014 -0.105241 -0.019126 0.000769 -0.031247 
+-0.048003 -0.003554 -0.092245 -0.009662 -0.034732 
+-0.011536 0.040900 0.112394 -0.038142 0.037212 
+-0.001175 0.010234 0.054830 -0.085407 -0.020114 
+-0.013534 0.120768 0.025436 0.100014 0.064602 
+-0.007919 0.062282 -0.052443 0.164335 -0.008297 
+0.137841 -0.002255 -0.058618 -0.031305 -0.047965 
+0.040785 -0.018168 -0.019170 0.040177 0.128136 
+-0.015732 -0.145363 -0.104833 0.054181 -0.064311 
+-0.036895 -0.103280 -0.189378 0.001223 0.024070 
+-0.035035 0.050910 -0.077374 -0.067580 -0.118780 
+-0.055123 -0.057412 0.027202 -0.031426 0.136722 
+-0.062403 -0.039221 0.092996 -0.032073 -0.039746 
+0.017314 0.028132 -0.029601 0.061427 0.034043 
+-0.004881 0.002314 0.033058 0.014516 -0.127914 
+-0.070568 0.031534 -0.012681 -0.137671 0.044282 
+0.092312 -0.034836 0.075316 0.053215 -0.030095 
+-0.140758 -0.069760 -0.024582 0.011822 -0.000733 
+-0.024247 0.139108 0.078949 0.043541 -0.012572 
+-0.073887 -0.105378 0.066079 0.027750 -0.079807 
+-0.122697 -0.026910 0.042952 -0.044345 0.087147 
+0.068465 0.068240 -0.061864 -0.002708 0.084389 
+0.028249 0.094201 -0.022887 -0.050955 0.000270 
+0.087836 0.052671 0.087438 -0.042701 0.006800 
+0.037755 -0.071608 -0.000400 -0.012553 0.084497 
+0.007152 -0.005660 -0.082247 -0.007079 0.128017 
+0.026060 -0.064540 0.005121 0.115795 -0.097058 
+0.100707 -0.033714 -0.046097 -0.115607 0.062101 
+-0.082457 -0.095242 0.088832 0.072264 0.030882 
+0.083814 0.018039 -0.041244 0.036194 -0.011624 
+-0.039240 -0.124739 -0.042978 -0.103072 -0.023279 
+-0.144367 0.076922 -0.007872 -0.041215 0.031877 
+0.006244 -0.036286 -0.025736 0.008745 -0.041488 
+-0.034725 -0.006689 -0.078874 0.095089 -0.064621 
+0.035418 0.089685 0.089611 -0.067216 0.100016 
+-0.101854 0.043002 0.083647 -0.042806 -0.033568 
+0.012106 0.025344 0.094987 0.162123 0.035730 
+-0.036396 0.077816 -0.057973 0.076779 0.027709 
+0.047350 0.011238 -0.089403 -0.020863 -0.131279 
+0.040658 0.040655 -0.001990 -0.009227 0.039513 
+-0.043753 -0.112026 -0.064065 0.002673 0.025153 
+0.036183 -0.011645 -0.076221 -0.004745 -0.034205 
+-0.058467 0.128728 -0.003543 0.018335 -0.096496 
+-0.037375 -0.096154 0.045813 -0.079580 0.065173 
+0.024184 -0.012183 0.144278 -0.039914 -0.024761 
+0.001824 -0.035165 -0.043834 0.123192 -0.004488 
+0.023477 -0.062701 -0.108522 -0.107858 -0.104674 
+0.007663 0.103787 -0.043859 -0.071127 0.104928 
+-0.009634 -0.050318 0.092534 -0.030233 -0.148857 
+-0.054886 -0.027436 -0.016247 -0.008144 0.017055 
+0.065990 0.058093 0.021202 -0.030646 -0.029521 
+0.028683 -0.088290 0.061191 -0.038173 -0.018411 
+-0.019566 -0.006009 0.029617 0.048934 0.128434 
+0.027648 0.116940 -0.044437 0.053775 -0.033262 
+0.054197 0.048524 -0.050178 -0.094124 0.034207 
+0.048351 -0.047109 0.092891 -0.008774 0.057988 
+0.038534 -0.080114 -0.063179 0.067392 0.087593 
+0.005154 0.015079 -0.128284 -0.101708 0.119929 
+-0.101885 -0.005064 -0.029441 0.089339 0.002341 
+-0.037477 -0.162543 -0.026269 -0.046444 0.091725 
+0.033059 -0.071982 0.044066 0.051900 0.053592 
+0.025106 0.027318 -0.147748 0.030892 0.062725 
+0.047862 0.002439 -0.016146 -0.124853 -0.087549 
+-0.014286 0.115960 0.019628 0.005148 0.043461 
+0.060577 -0.119423 0.048737 0.062958 -0.038195 
+-0.015093 0.042261 -0.145536 -0.025395 -0.029757 
+0.001268 0.056525 0.053869 0.032714 0.082888 
+0.022561 0.059787 0.095042 -0.051948 -0.068783 
+-0.094719 0.033934 0.092886 0.112047 0.037717 
+-0.001812 0.002863 -0.007932 0.128980 0.098130 
+0.051733 0.006324 -0.014277 -0.045797 -0.073487 
+0.066137 0.012250 0.015209 -0.023922 0.125121 
+-0.031201 -0.025882 -0.114882 0.098874 0.043116 
+0.061535 -0.056840 -0.119559 0.018516 0.007920 
+-0.014308 0.048837 0.019679 -0.064948 -0.084436 
+-0.024933 -0.012847 0.007479 -0.065528 0.068539 
+0.004575 -0.001495 0.074599 0.025324 0.016894 
+0.042433 -0.009825 0.010528 0.022473 -0.000257 
+-0.033952 -0.017194 -0.036425 0.022356 -0.156508 
+-0.013117 0.054715 0.038852 -0.077395 0.072355 
+0.001274 -0.036819 0.027128 0.040457 -0.053848 
+-0.086835 -0.028765 -0.044665 -0.046087 -0.052959 
+-0.034503 0.043617 0.164382 0.021163 -0.026827 
+-0.037370 -0.105915 -0.012794 -0.035014 -0.065537 
+-0.119152 0.066125 -0.013818 0.076743 0.096879 
+0.101142 0.074383 0.006285 0.055684 0.045990 
+0.008245 0.142750 0.024302 -0.029760 -0.056919 
+0.041171 -0.009591 0.029222 -0.047190 0.020924 
+-0.051111 -0.028751 -0.045611 0.030202 0.083927 
+-0.070117 -0.062254 -0.063990 -0.094579 0.091497 
+-0.033466 -0.006572 -0.034026 0.129351 -0.113997 
+0.078692 -0.053624 0.040154 -0.104795 0.025607 
+-0.052797 -0.050278 0.088609 0.119334 -0.060736 
+0.115692 -0.079482 -0.048491 0.068397 -0.022062 
+-0.037695 -0.030571 -0.064488 -0.091032 -0.014135 
+-0.042106 0.091151 -0.019045 -0.094026 -0.018182 
+0.031180 -0.070951 -0.066565 0.046865 -0.091124 
+-0.064953 0.069372 -0.121696 0.088365 -0.053972 
+-0.029497 0.072347 0.116673 -0.125445 -0.009480 
+-0.057537 0.008908 0.042657 -0.131808 -0.033942 
+0.096819 0.056788 0.086251 0.071955 0.003274 
+-0.090077 0.028509 -0.140286 0.036077 0.090491 
+0.057723 0.070025 -0.046937 -0.003053 -0.085808 
+0.119290 0.025854 -0.010211 -0.038993 0.033979 
+-0.067638 -0.102356 -0.044892 0.087972 0.054670 
+0.064861 -0.026264 -0.155722 -0.076296 -0.004410 
+0.027390 0.058673 -0.023777 0.079681 -0.099769 
+-0.038207 -0.087710 0.071253 -0.001252 0.056320 
+-0.041616 -0.043606 0.147704 -0.104791 0.047362 
+0.030432 -0.069719 -0.005648 0.064599 -0.000497 
+-0.019486 -0.029184 -0.159904 0.013300 -0.108612 
+-0.066563 0.108614 0.028643 -0.071699 0.094973 
+0.016578 -0.115251 0.124735 -0.017707 -0.059670 
+-0.006860 0.003127 0.035165 -0.007475 -0.022022 
+0.009648 0.051351 0.061689 0.056550 -0.053208 
+-0.046096 -0.109828 0.063655 -0.100019 -0.043527 
+-0.026785 -0.076073 0.088392 0.051665 0.133100 
+-0.045997 0.178133 -0.064664 0.056571 0.051732 
+0.102884 0.077377 0.004628 -0.085416 -0.061286 
+0.109994 -0.039939 -0.042316 0.014354 0.075984 
+0.005229 -0.164906 -0.016684 0.091671 0.039303 
+-0.006969 0.101629 -0.089859 -0.052952 0.020092 
+-0.045949 0.032304 -0.005320 0.081945 -0.060901 
+0.027070 -0.114150 -0.086607 -0.054088 0.004837 
+0.035701 -0.045766 0.164697 0.084509 -0.018948 
+0.010206 0.032954 -0.082634 0.044347 0.004530 
+0.004364 0.028710 -0.061377 -0.060602 -0.054825 
+-0.039078 0.049004 0.038851 -0.033510 -0.000653 
+0.099260 -0.129483 -0.041979 -0.010101 0.007582 
+-0.029400 0.031264 -0.038312 0.007963 -0.028211 
+-0.074222 0.054407 0.125246 -0.018590 0.085045 
+0.052651 -0.024240 0.086068 -0.095228 -0.030255 
+0.001949 0.118434 0.062541 0.143709 -0.013657 
+0.059100 0.060955 -0.062497 0.140532 0.039334 
+0.137904 -0.047089 0.020524 -0.041405 -0.028004 
+0.071786 0.043146 0.010174 0.078741 0.128039 
+-0.036884 -0.113879 -0.032227 0.117783 -0.044599 
+-0.020722 -0.038462 -0.123526 -0.017251 0.024845 
+-0.003770 0.057517 0.014066 -0.069925 -0.177097 
+0.002999 -0.061495 0.053071 -0.058476 0.176585 
+-0.107408 -0.011537 0.089763 0.020941 0.007634 
+-0.014054 0.037515 0.024582 0.089185 0.032661 
+-0.014873 -0.029682 0.018115 -0.034564 -0.080746 
+-0.013506 0.003207 0.000266 -0.164226 0.098068 
+0.045094 -0.010661 0.092839 0.012485 -0.067205 
+-0.113117 -0.020358 0.019490 0.027338 -0.057637 
+0.013845 0.118103 0.122242 -0.004007 -0.048063 
+-0.008788 -0.136503 0.027790 0.005555 -0.131424 
+-0.083209 0.011395 0.017487 -0.016643 0.046392 
+0.030425 0.107761 -0.071125 0.045148 0.054625 
+0.053332 0.145331 -0.008619 -0.023923 0.041308 
+0.134661 0.008854 0.093443 -0.032697 0.071954 
+-0.023891 -0.095844 -0.005013 0.018860 0.082267 
+0.061228 -0.032643 -0.090171 -0.034001 0.080500 
+0.040538 -0.001812 0.056798 0.098146 -0.086025 
+0.050696 -0.036444 -0.044846 -0.103970 -0.013299 
+-0.037169 -0.095103 0.028957 0.051655 -0.013412 
+0.130547 0.019129 -0.001590 0.077133 -0.053911 
+-0.025131 -0.063589 -0.028458 -0.171521 0.011501 
+-0.097285 0.020341 -0.064513 -0.054109 0.022119 
+-0.006468 -0.056433 -0.045977 -0.038456 -0.019800 
+-0.021424 -0.018152 -0.123724 0.060016 -0.027830 
+0.037863 0.133958 0.058506 -0.071618 0.008112 
+-0.043763 0.015491 0.116371 -0.072366 -0.097338 
+0.043984 -0.026910 0.049132 0.118551 0.018631 
+-0.028239 0.055398 -0.057995 0.056031 0.100533 
+0.072128 0.018840 -0.109151 0.056207 -0.089330 
+-0.010688 0.049440 -0.019639 -0.022852 0.068609 
+-0.065836 -0.063422 -0.064772 0.042444 -0.027891 
+0.061130 -0.019511 -0.043812 -0.030081 0.013764 
+-0.092974 0.064228 0.061218 0.026781 -0.104864 
+-0.081493 -0.079808 0.012731 -0.041955 0.012656 
+-0.016276 -0.056064 0.192510 -0.004442 0.025862 
+0.036425 -0.008637 -0.036821 0.081811 -0.037871 
+-0.007774 -0.065904 -0.022194 -0.067532 -0.139567 
+-0.042209 0.056068 -0.012666 -0.019246 0.146524 
+0.011036 0.037842 0.130579 0.007341 -0.127799 
+-0.013799 0.008239 -0.048960 -0.029047 0.026824 
+0.036017 0.069660 0.046899 0.011232 -0.028266 
+0.045601 -0.073884 0.007504 -0.076546 -0.063695 
+-0.023409 -0.007362 0.043925 0.003804 0.069891 
+-0.028193 0.155343 -0.029118 0.097712 -0.049714 
+0.050270 0.052105 -0.079831 -0.145765 -0.026820 
+0.105467 -0.094302 0.056671 0.002415 0.067049 
+-0.011861 -0.039917 -0.087290 0.071195 0.148098 
+-0.000921 0.036156 -0.092175 -0.043226 0.066444 
+-0.076021 0.020404 -0.000194 0.037147 -0.012776 
+0.029476 -0.151625 0.023394 -0.038235 0.028699 
+0.015071 -0.143856 0.067703 0.065697 0.050489 
+0.092833 0.014004 -0.097666 0.070604 0.070138 
+-0.034150 -0.002128 -0.029135 -0.141805 -0.072841 
+-0.061676 0.139117 0.014200 -0.030924 0.010254 
+0.061562 -0.080245 0.037562 0.009031 -0.091375 
+0.006152 0.120619 -0.125849 0.003889 -0.039092 
+0.034074 0.112456 0.072599 0.015352 0.068852 
+0.065438 0.013853 0.057260 -0.057487 -0.109489 
index 6bd2555f1979bb4f9656d53ea97aa0aca81a5286..f2b6b329390b3f23e2379b40a7ac6fbd9790564c 100644 (file)
@@ -89,13 +89,7 @@ static const float codes0[] = {
   25,  0,  50,  50,
   -25,  25,  50,  50,
   0,  25,  50,  50,
-  25,  25,  50,  50,
-  50,  50,  50,  50,
-  100,  100,  100,  100,
-  200,  200,  200,  200,
-  300,  300,  300,  300,
-  -50,  -50,  -50,  -50,
-  -100,  -100,  -100,  -100
+  25,  25,  50,  50
 };
   /* codebook/lspdt5-10.txt */
 static const float codes1[] = {
@@ -1349,8 +1343,8 @@ const struct lsp_codebook lsp_cbdt[] = {
   /* codebook/lspdt1-4.txt */
   {
     4,
-    6.44294,
-    87,
+    6.33985,
+    81,
     codes0
   },
   /* codebook/lspdt5-10.txt */
index 0e21a23bfd207edaedf06107ac3f8970cef1e269..60458fbbabe8e71df927c4b9da3f2ef7d4011da4 100644 (file)
 
   /* codebook/lspjvm1.txt */
 static const float codes0[] = {
-  0.210255,  0.377659,  0.423269,  0.400938,  0.478056,
-  0.53236,  0.601365,  0.646555,  0.684234,  0.698676,
-  0.032956,  0.043506,  0.07121,  0.11938,  0.333943,
-  0.405757,  0.528245,  0.577805,  0.692151,  0.748558,
-  0.074672,  0.093144,  0.195148,  0.324108,  0.350785,
-  0.402025,  0.456705,  0.500132,  0.653953,  0.686855,
-  0.240905,  0.416519,  0.609486,  0.607996,  0.642493,
-  0.673006,  0.687839,  0.712076,  0.731746,  0.718608,
-  0.057446,  0.086502,  0.130674,  0.171643,  0.239946,
-  0.279123,  0.286909,  0.501975,  0.570826,  0.638823,
-  0.017882,  -0.013511,  -0.142225,  0.167153,  0.308066,
-  0.352573,  0.437795,  0.486891,  0.584845,  0.647598,
-  0.04698,  0.07396,  0.119758,  0.197191,  0.289588,
-  0.332222,  0.429597,  0.478396,  0.52641,  0.700443,
-  0.042792,  0.054636,  0.218961,  0.528048,  0.422554,
-  0.479162,  0.537828,  0.595358,  0.679379,  0.709526,
-  0.054313,  0.060307,  0.05466,  0.097842,  0.143043,
-  0.160662,  0.251864,  0.329837,  0.444627,  0.552299,
-  0.076678,  0.09832,  0.173618,  0.219049,  0.259334,
-  0.42696,  0.468356,  0.523478,  0.644781,  0.670285,
-  0.072407,  0.106906,  0.27451,  0.472652,  0.648285,
-  0.707364,  0.712602,  0.731155,  0.735989,  0.73021,
-  0.053147,  0.085674,  0.132992,  0.212295,  0.264206,
-  0.31281,  0.488638,  0.522639,  0.638749,  0.699633,
-  0.047449,  0.061378,  0.09417,  0.161906,  0.24355,
-  0.322804,  0.390514,  0.448901,  0.465275,  0.437053,
-  0.039313,  0.059639,  0.101045,  0.161066,  0.318078,
-  0.376262,  0.433082,  0.47259,  0.649039,  0.694638,
-  0.048289,  0.062368,  0.102421,  0.199427,  0.478942,
-  0.501292,  0.539243,  0.592485,  0.644152,  0.684887,
-  0.059707,  0.134781,  0.500978,  0.537298,  0.524009,
-  0.553262,  0.575468,  0.617187,  0.670339,  0.691938,
-  0.054931,  0.085709,  0.12565,  0.181901,  0.212169,
-  0.239085,  0.418893,  0.497027,  0.597271,  0.675501,
-  0.061959,  0.094473,  0.152022,  0.203759,  0.26219,
-  0.314438,  0.396465,  0.598217,  0.638693,  0.683203,
-  0.121952,  0.176775,  0.258048,  0.314808,  0.374419,
-  0.422949,  0.482535,  0.539617,  0.603429,  0.649946,
-  0.053336,  0.06945,  0.109332,  0.152945,  0.184015,
-  0.426688,  0.496913,  0.555075,  0.646199,  0.683624,
-  0.209199,  0.338387,  0.401263,  0.284364,  0.201828,
-  0.224417,  0.3461,  0.440431,  0.575261,  0.648738,
-  0.044978,  0.071498,  0.110116,  0.172387,  0.222703,
-  0.280248,  0.411043,  0.460651,  0.713573,  0.726476,
-  0.065596,  0.084849,  0.136519,  0.246735,  0.404958,
-  0.464447,  0.499717,  0.546731,  0.593953,  0.634352,
-  0.037222,  0.049678,  0.144975,  0.292832,  0.425448,
-  0.55389,  0.64008,  0.713589,  0.74755,  0.75387,
-  0.058309,  0.074586,  0.141745,  0.272278,  0.328995,
-  0.388094,  0.448297,  0.491701,  0.507557,  0.585513,
-  0.050023,  0.069801,  0.139143,  0.22505,  0.315564,
-  0.372745,  0.569384,  0.604187,  0.634851,  0.68578,
-  0.054461,  0.107958,  0.409721,  0.381157,  0.384675,
-  0.432788,  0.48829,  0.552233,  0.637233,  0.682111,
-  0.044054,  0.054642,  0.020775,  0.083404,  0.116689,
-  0.082766,  0.399185,  0.47028,  0.572619,  0.659219,
-  0.042527,  0.062601,  0.081034,  0.109889,  0.396217,
-  0.456807,  0.498884,  0.546736,  0.594549,  0.653205,
-  0.040545,  0.056928,  0.088922,  0.134529,  0.303823,
-  0.3548,  0.421072,  0.487222,  0.544268,  0.579065,
-  0.103286,  0.153098,  0.196107,  0.245624,  0.309443,
-  0.344386,  0.413976,  0.496647,  0.556428,  0.611368,
-  0.047,  0.061973,  0.102409,  0.174546,  0.258304,
-  0.33856,  0.40973,  0.450177,  0.377802,  0.623712
+  0.444006,  0.663921,  1.04352,  1.28643,  1.51468,  1.77476,  2.14122,  2.34956,  2.6239,  2.74478,
+  0.202863,  0.353657,  0.518096,  0.846833,  1.06763,  1.26434,  1.58152,  1.82722,  2.63205,  2.80389,
+  0.290751,  0.402185,  0.592311,  1.02135,  1.26747,  1.40559,  1.73123,  1.88108,  2.25247,  2.59782,
+  0.058693,  0.127197,  0.591827,  0.903718,  1.27182,  1.55259,  1.86577,  2.15436,  2.50253,  2.76643,
+  0.141414,  0.217839,  0.691099,  1.01425,  1.32457,  1.5818,  1.90391,  2.17495,  2.49967,  2.73504,
+  0.266012,  0.351982,  0.59749,  0.788421,  0.965447,  1.45772,  1.75496,  1.9364,  2.27568,  2.47284,
+  0.255438,  0.421642,  0.611897,  0.895487,  1.06659,  1.44699,  1.82829,  2.0559,  2.63329,  2.79055,
+  0.191859,  0.282633,  0.402573,  0.618878,  1.37275,  1.68725,  1.86319,  2.10772,  2.31579,  2.52584,
+  0.35004,  0.503022,  0.807819,  1.04408,  1.44292,  1.63573,  1.90115,  2.15363,  2.44339,  2.62206,
+  0.24412,  0.351288,  0.53283,  0.730925,  0.884782,  1.10113,  1.65968,  2.13853,  2.46257,  2.64077,
+  0.323982,  0.526745,  0.709872,  0.887135,  1.1794,  1.31743,  1.60133,  2.06932,  2.34558,  2.51512,
+  0.224357,  0.343903,  0.528062,  0.742489,  1.31257,  1.50573,  1.71909,  2.14274,  2.37501,  2.61553,
+  0.258602,  0.315173,  0.795481,  1.3821,  1.53894,  1.71412,  1.94693,  2.12602,  2.58825,  2.71556,
+  0.169682,  0.225162,  0.37898,  0.580365,  0.921031,  1.17049,  1.77278,  2.03583,  2.28451,  2.46387,
+  0.308846,  0.374612,  0.703487,  1.16227,  1.31227,  1.49789,  1.7367,  1.89075,  2.48309,  2.6626,
+  0.256141,  0.360128,  0.570961,  0.919508,  1.43214,  1.58242,  1.82634,  2.21128,  2.43607,  2.6141,
+  0.29276,  0.526083,  1.2233,  1.44351,  1.71262,  1.89946,  2.08328,  2.25942,  2.51482,  2.67309,
+  0.314876,  0.429968,  0.626672,  0.800656,  0.93034,  1.25998,  1.75658,  1.92922,  2.40177,  2.59811,
+  0.324881,  0.459963,  0.630198,  0.910609,  1.46958,  1.69169,  1.86199,  2.08486,  2.34584,  2.47901,
+  0.167174,  0.268959,  0.408666,  0.923086,  1.17247,  1.37481,  1.76568,  1.93395,  2.61469,  2.78829,
+  0.294112,  0.353495,  0.696198,  1.25071,  1.45213,  1.58427,  1.85388,  1.99341,  2.36585,  2.62635,
+  0.160229,  0.22108,  0.392121,  0.680713,  1.0758,  1.57195,  1.83633,  1.9613,  2.17815,  2.66618,
+  0.27466,  0.347336,  0.564336,  0.730773,  0.908738,  1.66411,  1.88884,  2.11671,  2.54696,  2.66917,
+  0.157237,  0.236767,  0.338173,  0.578501,  1.5799,  1.74724,  1.99238,  2.20542,  2.53687,  2.7853,
+  0.308259,  0.492539,  0.823677,  1.07221,  1.46726,  1.71287,  2.02457,  2.28292,  2.55284,  2.74003,
+  0.246009,  0.356412,  0.537071,  0.755742,  0.881462,  1.42614,  1.8918,  2.03321,  2.48766,  2.67393,
+  0.228981,  0.374214,  0.587873,  0.757043,  1.17754,  1.34441,  1.60057,  2.14403,  2.35814,  2.63477,
+  0.155273,  0.231854,  0.376918,  0.624432,  1.18678,  1.42222,  1.73401,  1.90598,  2.5641,  2.78387,
+  0.178048,  0.274432,  0.633315,  1.02937,  1.35338,  1.71942,  2.08452,  2.35869,  2.66046,  2.80504,
+  0.215863,  0.330407,  0.526334,  0.804778,  1.07347,  1.24411,  1.60032,  1.90692,  2.16252,  2.38161,
+  0.279339,  0.402307,  0.804567,  1.05137,  1.21376,  1.38672,  1.62905,  2.01189,  2.44502,  2.63022,
+  0.179686,  0.274561,  0.41341,  0.681085,  1.34943,  1.52872,  1.79559,  2.01035,  2.27966,  2.71952,
+  0.172127,  0.324193,  1.06889,  1.39874,  1.68584,  1.94231,  2.19672,  2.37643,  2.61587,  2.7597,
+  0.163156,  0.242172,  0.440624,  0.747123,  0.969573,  1.35274,  1.74726,  1.96215,  2.43209,  2.64067,
+  0.23837,  0.316772,  0.511654,  0.98918,  1.33145,  1.48982,  1.89249,  2.11297,  2.3192,  2.51057,
+  0.198677,  0.300536,  0.4586,  0.980041,  1.25654,  1.41147,  1.96596,  2.12535,  2.56457,  2.77283,
+  0.258912,  0.533142,  0.873031,  1.08889,  1.31168,  1.54808,  1.89204,  2.18434,  2.52393,  2.74596,
+  0.194521,  0.273036,  0.459226,  0.956941,  1.20261,  1.41197,  1.75153,  1.94908,  2.17278,  2.47274,
+  0.22716,  0.432026,  0.582654,  0.856834,  1.02862,  1.23365,  1.8475,  1.99286,  2.49851,  2.73535,
+  0.172998,  0.239154,  0.414753,  0.775156,  1.21882,  1.51654,  2.10732,  2.31244,  2.60425,  2.78171,
+  0.367599,  0.532297,  0.907868,  1.20044,  1.5542,  1.72449,  1.95986,  2.15568,  2.4082,  2.58138,
+  0.213706,  0.323833,  0.451763,  0.683525,  0.847024,  1.02325,  1.83659,  2.09152,  2.32774,  2.74666,
+  0.409473,  0.572486,  0.744804,  0.929476,  1.09811,  1.26449,  1.80925,  2.11198,  2.29877,  2.5157,
+  0.219844,  0.358005,  0.500456,  0.798651,  1.26214,  1.37871,  1.71842,  1.98944,  2.23009,  2.70863,
+  0.177314,  0.249322,  0.548358,  1.2192,  1.61878,  1.84186,  2.18595,  2.38819,  2.62328,  2.75893,
+  0.190093,  0.298399,  0.48872,  0.729652,  1.04203,  1.20045,  1.69288,  2.02011,  2.27721,  2.74813,
+  0.231037,  0.329151,  0.830931,  1.10165,  1.32328,  1.59453,  1.86903,  2.07957,  2.40121,  2.61065,
+  0.228965,  0.288025,  0.472312,  1.12347,  1.6399,  1.80726,  2.02712,  2.22292,  2.47178,  2.64281,
+  0.330429,  0.662203,  1.15538,  1.45068,  1.73546,  2.01655,  2.29519,  2.46041,  2.69419,  2.80925,
+  0.307411,  0.52313,  0.77159,  0.942193,  1.127,  1.31378,  1.76073,  2.1788,  2.4861,  2.70646,
+  0.239171,  0.32725,  0.509444,  0.876766,  1.36014,  1.50751,  1.74286,  2.01988,  2.24079,  2.40312,
+  0.15536,  0.238064,  0.62801,  0.835956,  1.18246,  1.38162,  1.67541,  1.93268,  2.49165,  2.72471,
+  0.216742,  0.284523,  0.44665,  1.24283,  1.46548,  1.6073,  1.82857,  2.01318,  2.53173,  2.69394,
+  0.167284,  0.217762,  0.381458,  0.566737,  1.00939,  1.33555,  1.57232,  1.89238,  2.30144,  2.51337,
+  0.293728,  0.405726,  0.646951,  0.85598,  1.03407,  1.46939,  1.91436,  2.09864,  2.45985,  2.62565,
+  0.224067,  0.296066,  0.467587,  0.763685,  1.35555,  1.87184,  2.11683,  2.24428,  2.4944,  2.62777,
+  0.279457,  0.509303,  0.937602,  1.2104,  1.40548,  1.66648,  1.9838,  2.25248,  2.61446,  2.78723,
+  0.313064,  0.40526,  0.587466,  0.760087,  0.874919,  1.18702,  1.94919,  2.23977,  2.44469,  2.6364,
+  0.259358,  0.46915,  0.655986,  0.857805,  1.20014,  1.3393,  1.65273,  1.98253,  2.21773,  2.6739,
+  0.158369,  0.221229,  0.374718,  0.613461,  1.16442,  1.34226,  1.76211,  1.99077,  2.35885,  2.73116,
+  0.204307,  0.278079,  0.443141,  0.966187,  1.4322,  1.61294,  2.03246,  2.21521,  2.45097,  2.63141,
+  0.202714,  0.291047,  0.451258,  0.677979,  1.08418,  1.25255,  1.63825,  2.18211,  2.4357,  2.67134,
+  0.283411,  0.400384,  0.700546,  0.997037,  1.20404,  1.43113,  1.99958,  2.22417,  2.47095,  2.65833,
+  0.224849,  0.322164,  0.452143,  0.769074,  1.53901,  1.77214,  1.92359,  2.13915,  2.34083,  2.52187,
+  0.33104,  0.501349,  0.895909,  1.18601,  1.5833,  1.80505,  2.09369,  2.29668,  2.51165,  2.67377,
+  0.205341,  0.342548,  0.51586,  0.737304,  0.888795,  1.13641,  1.76265,  1.97779,  2.59485,  2.80159,
+  0.278449,  0.342193,  0.562437,  1.1014,  1.40456,  1.53585,  1.80464,  1.95852,  2.20345,  2.57029,
+  0.10839,  0.146459,  0.333955,  0.900761,  1.28002,  1.57852,  1.88894,  2.17496,  2.53232,  2.7783,
+  0.177382,  0.280847,  0.686625,  1.07187,  1.49969,  1.67612,  1.93455,  2.2078,  2.50231,  2.71485,
+  0.20751,  0.311685,  0.474058,  0.839137,  1.04422,  1.26618,  1.83633,  2.01512,  2.26702,  2.55348,
+  0.322073,  0.393838,  0.673357,  0.830697,  0.99085,  1.56152,  1.78016,  1.95895,  2.58871,  2.68902,
+  0.20752,  0.278497,  0.449007,  0.638986,  1.00529,  1.83692,  2.05651,  2.23149,  2.47945,  2.6579,
+  0.451817,  0.687519,  0.91035,  1.06471,  1.26384,  1.50975,  1.93824,  2.18392,  2.49126,  2.67105,
+  0.19723,  0.277997,  0.42807,  0.612194,  0.805327,  0.977093,  1.59262,  2.08261,  2.35516,  2.68251,
+  0.373174,  0.505963,  0.701627,  0.95805,  1.15933,  1.32068,  1.69954,  1.87777,  2.10159,  2.47405,
+  0.184011,  0.252944,  0.445693,  0.723325,  1.23362,  1.41967,  1.69935,  1.89498,  2.36717,  2.51692,
+  0.251359,  0.306272,  0.652428,  1.31313,  1.58201,  1.71782,  2.00762,  2.17126,  2.44759,  2.65133,
+  0.176633,  0.256092,  0.401007,  0.619441,  0.840795,  1.03661,  1.59561,  1.90012,  2.18923,  2.59226,
+  0.406629,  0.480617,  0.80626,  1.14427,  1.26541,  1.5594,  1.84919,  2.01825,  2.53749,  2.69029,
+  0.272322,  0.342653,  0.502614,  0.970118,  1.51516,  1.69556,  1.87013,  2.10893,  2.30485,  2.47803,
+  0.421892,  0.646093,  1.047,  1.31768,  1.64212,  1.8299,  2.04439,  2.22213,  2.47846,  2.63236,
+  0.27025,  0.431768,  0.608552,  0.80517,  0.998694,  1.13221,  1.72779,  2.13292,  2.32533,  2.71615,
+  0.383155,  0.573168,  0.736677,  0.96622,  1.37883,  1.51793,  1.75059,  2.03624,  2.2826,  2.44169,
+  0.187742,  0.276023,  0.424975,  1.06169,  1.36756,  1.55279,  1.84194,  2.02782,  2.47626,  2.64795,
+  0.275494,  0.346341,  0.636204,  1.18837,  1.34728,  1.58042,  1.87091,  2.0334,  2.57,  2.71188,
+  0.160222,  0.224763,  0.415902,  0.757729,  1.10838,  1.5757,  1.85689,  2.02264,  2.42234,  2.68118,
+  0.293173,  0.372388,  0.584855,  0.743569,  0.917475,  1.5227,  2.09703,  2.24439,  2.56411,  2.70046,
+  0.204818,  0.295161,  0.441987,  0.680218,  1.41131,  1.7157,  1.89955,  2.20749,  2.45076,  2.64356,
+  0.268073,  0.332678,  0.634962,  1.11088,  1.68933,  1.9179,  2.07144,  2.24875,  2.47644,  2.60431,
+  0.144717,  0.191592,  0.3411,  0.527969,  0.833642,  1.3372,  1.72711,  1.9996,  2.43365,  2.72768,
+  0.240097,  0.380006,  0.623533,  0.828942,  1.13788,  1.32199,  1.53845,  1.95805,  2.42539,  2.59045,
+  0.226095,  0.325837,  0.551424,  0.727486,  1.24813,  1.62389,  1.83197,  2.07407,  2.5913,  2.75245,
+  0.185185,  0.241767,  0.396158,  0.963534,  1.66359,  1.77872,  2.09278,  2.31529,  2.57912,  2.75153,
+  0.186809,  0.255288,  0.43893,  0.738678,  0.99926,  1.36537,  1.74257,  1.92108,  2.11093,  2.301,
+  0.484383,  0.668173,  0.822633,  1.03355,  1.27698,  1.39844,  1.80002,  2.09237,  2.30093,  2.48155,
+  0.226037,  0.320683,  0.449427,  0.894989,  1.43314,  1.57289,  1.81183,  2.02754,  2.24729,  2.6219,
+  0.309178,  0.551187,  0.984557,  1.25781,  1.48225,  1.81198,  2.18315,  2.46508,  2.71952,  2.83613,
+  0.171127,  0.266577,  0.61731,  0.8309,  1.05755,  1.30579,  1.79166,  2.11127,  2.46157,  2.6955,
+  0.268814,  0.353762,  0.726139,  0.947742,  1.16323,  1.58027,  1.84473,  2.04972,  2.36144,  2.54819,
+  0.193743,  0.274208,  0.423613,  0.692666,  1.31097,  1.4689,  1.96562,  2.21351,  2.43403,  2.66203,
+  0.29337,  0.361283,  0.724275,  1.03874,  1.17562,  1.64361,  1.89547,  2.0772,  2.57538,  2.69399,
+  0.219346,  0.291413,  0.617484,  0.838156,  1.19389,  1.60543,  1.8202,  1.96045,  2.17659,  2.55814,
+  0.382878,  0.507446,  0.711513,  0.938945,  1.0743,  1.34941,  1.77816,  1.91624,  2.40118,  2.64739,
+  0.201842,  0.261408,  0.431515,  0.631579,  1.2892,  1.82042,  2.07914,  2.23439,  2.63872,  2.79308,
+  0.432562,  0.66112,  0.988376,  1.22375,  1.48224,  1.69738,  2.03683,  2.25542,  2.54423,  2.6916,
+  0.229571,  0.332541,  0.459885,  0.656519,  0.822344,  0.979009,  1.75829,  2.31775,  2.52287,  2.75267,
+  0.314962,  0.412424,  0.633483,  1.02261,  1.25908,  1.38338,  1.82743,  2.09797,  2.28564,  2.49945,
+  0.167857,  0.235021,  0.39337,  0.64576,  1.2003,  1.37698,  1.72017,  1.94777,  2.1599,  2.63012,
+  0.194911,  0.252209,  0.405926,  1.38023,  1.56659,  1.74225,  2.04149,  2.31842,  2.59099,  2.75006,
+  0.157912,  0.223957,  0.380186,  0.691714,  0.964009,  1.38735,  1.70701,  1.85304,  2.05412,  2.62253,
+  0.289547,  0.484925,  0.836898,  1.04305,  1.30208,  1.49686,  1.81322,  2.08682,  2.38314,  2.58339,
+  0.229,  0.285993,  0.637895,  0.884564,  1.56643,  1.82584,  2.01595,  2.21522,  2.45451,  2.61147,
+  0.561221,  0.974815,  1.32738,  1.49854,  1.79784,  1.97195,  2.20009,  2.36152,  2.56644,  2.67495,
+  0.233078,  0.334719,  0.485204,  0.911847,  1.21325,  1.40029,  1.62566,  2.30851,  2.58259,  2.75279,
+  0.29239,  0.469592,  0.665363,  0.873253,  1.30229,  1.47467,  1.71712,  2.00334,  2.41971,  2.60696,
+  0.177019,  0.250095,  0.440412,  1.02772,  1.26529,  1.47207,  1.70445,  1.95126,  2.40304,  2.60873,
+  0.250508,  0.306199,  0.518087,  1.1831,  1.54757,  1.65818,  1.91766,  2.07588,  2.3363,  2.62455,
+  0.180689,  0.243525,  0.408193,  0.650005,  1.1424,  1.39865,  1.88689,  2.0702,  2.26389,  2.44134,
+  0.336731,  0.408806,  0.723579,  0.845498,  1.07316,  1.64289,  1.80995,  2.15813,  2.55503,  2.65294,
+  0.182913,  0.264452,  0.37735,  0.561242,  1.46212,  1.84157,  2.00723,  2.19512,  2.39706,  2.6108,
+  0.234511,  0.416733,  0.806229,  1.13495,  1.51706,  1.85456,  2.18531,  2.42943,  2.68462,  2.81234,
+  0.221303,  0.355005,  0.503565,  0.788216,  0.978417,  1.14516,  1.90269,  2.11222,  2.38709,  2.76147,
+  0.191689,  0.306774,  0.493852,  0.802196,  1.0967,  1.27646,  1.6195,  1.87267,  2.11225,  2.64399,
+  0.137074,  0.174429,  0.311248,  0.498628,  1.08733,  1.47938,  1.80538,  2.07618,  2.43682,  2.74405,
+  0.177451,  0.259976,  0.388007,  0.958233,  1.52829,  1.64026,  1.91072,  2.06439,  2.58963,  2.76874,
+  0.242049,  0.420312,  0.630685,  0.780956,  1.08571,  1.25575,  1.4767,  2.01836,  2.25388,  2.53498,
+  0.345213,  0.45606,  0.689243,  1.06095,  1.22516,  1.44279,  1.8931,  2.03097,  2.45643,  2.68658,
+  0.261786,  0.389592,  0.565693,  0.772947,  1.33991,  1.65074,  1.82829,  2.06378,  2.40546,  2.56391,
+  0.479021,  0.738518,  1.11507,  1.33061,  1.62579,  1.9156,  2.2334,  2.42252,  2.64744,  2.7508,
+  0.235785,  0.356295,  0.521197,  0.823497,  1.03903,  1.20864,  1.46327,  1.63818,  2.43254,  2.71998,
+  0.392014,  0.484761,  0.747411,  1.0748,  1.22788,  1.42308,  1.80523,  1.94115,  2.274,  2.59127,
+  0.134963,  0.206067,  0.598456,  0.899519,  1.19841,  1.48111,  1.81335,  2.09679,  2.4635,  2.71801,
+  0.211185,  0.364797,  0.724757,  0.984381,  1.26339,  1.48743,  1.78892,  2.16042,  2.50554,  2.71638,
+  0.216708,  0.3005,  0.671956,  0.862426,  1.09318,  1.33718,  1.67693,  1.9455,  2.29748,  2.49243,
+  0.31933,  0.474389,  0.693406,  0.862631,  0.999987,  1.27121,  1.72333,  1.98429,  2.5631,  2.72839,
+  0.170279,  0.233289,  0.37348,  0.522986,  1.17006,  1.69094,  1.94795,  2.14318,  2.36291,  2.59044,
+  0.389911,  0.585334,  0.917755,  1.14348,  1.42351,  1.64372,  1.95794,  2.18109,  2.49564,  2.66922,
+  0.258331,  0.386778,  0.581091,  0.777195,  0.979141,  1.13909,  1.6473,  2.29489,  2.54953,  2.73063,
+  0.306202,  0.491332,  0.701865,  0.865744,  1.14091,  1.29549,  1.50853,  1.92695,  2.21793,  2.40469,
+  0.183151,  0.261291,  0.404409,  0.60256,  1.2824,  1.47557,  1.68984,  2.1436,  2.37158,  2.59683,
+  0.214795,  0.333642,  0.985949,  1.346,  1.5543,  1.79463,  2.01009,  2.23591,  2.52466,  2.68564,
+  0.203837,  0.29134,  0.479778,  0.731837,  0.905538,  1.23303,  1.71053,  1.95038,  2.272,  2.46391,
+  0.247518,  0.323005,  0.697618,  0.997179,  1.21109,  1.55668,  1.7719,  1.92149,  2.53277,  2.68429,
+  0.219585,  0.301175,  0.690547,  0.932217,  1.41945,  1.64348,  1.86183,  2.03987,  2.43061,  2.63926,
+  0.317628,  0.533775,  1.06702,  1.3808,  1.56809,  1.8327,  2.07373,  2.2811,  2.61115,  2.75754,
+  0.212696,  0.343065,  0.517379,  0.754632,  0.9133,  1.15056,  1.6577,  1.86972,  2.44816,  2.64695,
+  0.313797,  0.462711,  0.635127,  0.916973,  1.4091,  1.55833,  1.794,  2.09229,  2.32518,  2.48422,
+  0.261526,  0.396384,  0.545407,  1.00864,  1.21707,  1.39875,  1.74639,  1.90652,  2.54393,  2.74543,
+  0.292892,  0.34198,  0.802965,  1.2701,  1.40064,  1.59677,  1.79752,  1.995,  2.57186,  2.70713,
+  0.179502,  0.260809,  0.446411,  0.671166,  0.855064,  1.54293,  1.88232,  2.05402,  2.2826,  2.58581,
+  0.223431,  0.330004,  0.524624,  0.736704,  1.04348,  1.65304,  1.86946,  2.3151,  2.65514,  2.78623,
+  0.164127,  0.235599,  0.365357,  0.748237,  1.5087,  1.66783,  2.02135,  2.25923,  2.55155,  2.76529,
+  0.241503,  0.341405,  0.678065,  1.09944,  1.44699,  1.67448,  2.09443,  2.27481,  2.51276,  2.68237,
+  0.220115,  0.320172,  0.468401,  0.678288,  0.805037,  1.29474,  1.91825,  2.09812,  2.41796,  2.57957,
+  0.239465,  0.387973,  0.563794,  0.749465,  1.22325,  1.40531,  1.6038,  2.01942,  2.26148,  2.48279,
+  0.173788,  0.283615,  0.406268,  0.824985,  1.35189,  1.48669,  1.77399,  1.91614,  2.5445,  2.75626,
+  0.177463,  0.261381,  0.471872,  1.03737,  1.27492,  1.61591,  1.89609,  2.27557,  2.64083,  2.79956,
+  0.231453,  0.342699,  0.524956,  0.813595,  0.994181,  1.20423,  1.46135,  1.71332,  2.13264,  2.36883,
+  0.344121,  0.465968,  0.707598,  0.98559,  1.17468,  1.36253,  1.58125,  1.79653,  2.41729,  2.59154,
+  0.205233,  0.295361,  0.443613,  0.770664,  1.45394,  1.64486,  1.87632,  2.123,  2.34187,  2.73047,
+  0.20344,  0.350711,  0.860563,  1.27997,  1.66067,  1.91701,  2.18238,  2.35493,  2.58498,  2.73662,
+  0.163764,  0.248462,  0.41779,  0.786784,  1.09589,  1.30281,  1.63272,  1.80875,  2.40044,  2.66292,
+  0.257979,  0.352682,  0.550782,  1.04164,  1.24807,  1.42826,  1.89847,  2.04358,  2.3853,  2.66172,
+  0.23785,  0.335708,  0.519519,  0.950892,  1.1076,  1.54801,  1.93105,  2.11304,  2.54519,  2.70872,
+  0.275724,  0.447788,  0.736236,  1.01408,  1.33518,  1.60965,  1.91926,  2.20948,  2.58036,  2.7856,
+  0.208554,  0.28827,  0.512666,  0.858156,  1.18622,  1.40948,  1.74387,  1.91688,  2.09218,  2.25498,
+  0.22584,  0.41538,  0.55718,  0.853852,  1.10689,  1.25042,  1.69965,  1.85977,  2.39577,  2.75469,
+  0.17972,  0.227226,  0.379701,  0.524835,  1.1143,  1.68444,  2.12547,  2.24828,  2.59064,  2.78291,
+  0.347731,  0.534312,  1.09407,  1.31939,  1.49729,  1.68377,  1.93781,  2.15283,  2.49889,  2.67385,
+  0.163297,  0.250799,  0.370845,  0.605917,  0.780304,  1.04333,  1.7932,  1.98631,  2.48636,  2.73171,
+  0.323218,  0.464636,  0.646625,  0.861922,  1.04678,  1.19589,  1.70554,  2.03467,  2.22201,  2.42439,
+  0.23309,  0.391593,  0.548633,  0.871234,  1.17574,  1.29613,  1.84358,  2.0709,  2.32808,  2.75633,
+  0.226719,  0.278036,  0.694846,  1.39204,  1.61263,  1.75712,  2.1243,  2.2854,  2.58258,  2.72706,
+  0.235868,  0.422225,  0.568072,  0.769964,  0.96835,  1.11274,  1.6814,  1.87941,  2.17589,  2.7103,
+  0.234784,  0.341791,  0.891242,  1.22292,  1.42499,  1.66655,  1.90162,  2.16783,  2.47568,  2.63774,
+  0.250078,  0.32295,  0.454487,  0.964023,  1.6059,  1.86951,  2.01604,  2.18713,  2.39046,  2.52699,
+  0.381649,  0.608688,  1.07473,  1.43078,  1.7242,  1.93988,  2.19477,  2.35346,  2.59916,  2.73932,
+  0.28253,  0.41995,  0.635305,  0.87259,  1.10002,  1.26059,  1.69693,  2.18264,  2.4134,  2.57118,
+  0.291878,  0.453647,  0.610854,  0.830956,  1.3353,  1.49193,  1.74142,  2.01766,  2.22837,  2.45312,
+  0.17302,  0.246458,  0.664,  0.910766,  1.18019,  1.41865,  1.74224,  1.95469,  2.28704,  2.65008,
+  0.213571,  0.298418,  0.490086,  1.27518,  1.39753,  1.6415,  1.82152,  2.30076,  2.59037,  2.76343,
+  0.1755,  0.232099,  0.391873,  0.598956,  1.17954,  1.36733,  1.64959,  1.94295,  2.19085,  2.34013,
+  0.336913,  0.414057,  0.664999,  0.815826,  0.999354,  1.60988,  1.85691,  2.01174,  2.39896,  2.52398,
+  0.222048,  0.293303,  0.563475,  0.849879,  1.30162,  1.76798,  1.98678,  2.19649,  2.50509,  2.66806,
+  0.308713,  0.528802,  0.863486,  1.1895,  1.45698,  1.72259,  2.08647,  2.32783,  2.67641,  2.82876,
+  0.309169,  0.425136,  0.627956,  0.870633,  1.02983,  1.24714,  1.91518,  2.17256,  2.36657,  2.57032,
+  0.28419,  0.466165,  0.629035,  0.859846,  1.06867,  1.22437,  1.72746,  1.94548,  2.20255,  2.61478,
+  0.163141,  0.229808,  0.36953,  0.591712,  1.02928,  1.23558,  1.88673,  2.12252,  2.44267,  2.73932,
+  0.15372,  0.217846,  0.41721,  1.00161,  1.45093,  1.67756,  2.07707,  2.29653,  2.63722,  2.80911,
+  0.189613,  0.277123,  0.453605,  0.658135,  1.12097,  1.29927,  1.53892,  2.06744,  2.30106,  2.56785,
+  0.332842,  0.48082,  0.683333,  0.885426,  1.02606,  1.36578,  1.99454,  2.19267,  2.53636,  2.72819,
+  0.250897,  0.335203,  0.522537,  0.812418,  1.38084,  1.78306,  1.96909,  2.13807,  2.36209,  2.50671,
+  0.386928,  0.599274,  0.962864,  1.2219,  1.66358,  1.8869,  2.17676,  2.36034,  2.56519,  2.69751,
+  0.164258,  0.276286,  0.442233,  0.667067,  0.863232,  1.2227,  1.56247,  1.7731,  2.61375,  2.82348,
+  0.252896,  0.319277,  0.741034,  1.12653,  1.32222,  1.57509,  1.83168,  1.99202,  2.2127,  2.49379,
+  0.129395,  0.183165,  0.369469,  0.80507,  1.14218,  1.46808,  1.82425,  2.12191,  2.51168,  2.75766,
+  0.120898,  0.263707,  0.805673,  1.10875,  1.37016,  1.61766,  1.95683,  2.23027,  2.59935,  2.80258,
+  0.201557,  0.280661,  0.512143,  0.809437,  1.16568,  1.34976,  1.76906,  2.0839,  2.30044,  2.48047,
+  0.25809,  0.354436,  0.605847,  0.834631,  1.01844,  1.46297,  1.73146,  1.92333,  2.46387,  2.62803,
+  0.214253,  0.299636,  0.483674,  0.690867,  1.19944,  1.72492,  1.94312,  2.15869,  2.42523,  2.6136,
+  0.408295,  0.590393,  0.961707,  1.17785,  1.38961,  1.55818,  1.81896,  2.05141,  2.3946,  2.59002,
+  0.231628,  0.332457,  0.498613,  0.664534,  0.856836,  0.973976,  1.41497,  2.19259,  2.47802,  2.68908,
+  0.280045,  0.353699,  0.677761,  1.01182,  1.18659,  1.43394,  1.71446,  1.9038,  2.11993,  2.3445,
+  0.190606,  0.261774,  0.430921,  0.652413,  1.30936,  1.51914,  1.75392,  2.00757,  2.27259,  2.41841,
+  0.253476,  0.307645,  0.629525,  1.31177,  1.51566,  1.66844,  1.91538,  2.07066,  2.56659,  2.713,
+  0.158342,  0.229827,  0.393273,  0.627673,  0.879051,  1.1425,  1.6115,  1.83683,  2.37099,  2.72793,
+  0.398653,  0.484163,  0.759758,  0.99979,  1.12035,  1.50881,  1.77159,  1.93501,  2.54883,  2.68769,
+  0.301067,  0.37232,  0.643743,  1.11144,  1.56498,  1.71456,  1.90481,  2.14162,  2.32975,  2.50262,
+  0.42663,  0.771668,  1.24707,  1.43243,  1.64078,  1.81309,  2.03759,  2.2479,  2.54513,  2.69464,
+  0.281253,  0.383223,  0.554873,  0.766104,  0.897526,  1.10187,  1.7718,  2.11445,  2.32574,  2.51962,
+  0.365386,  0.568881,  0.740961,  0.932002,  1.25556,  1.38468,  1.68857,  1.99503,  2.21726,  2.40767,
+  0.226724,  0.323656,  0.473603,  1.11299,  1.33971,  1.50997,  1.85025,  2.00454,  2.61115,  2.79029,
+  0.327749,  0.405292,  0.740356,  1.23297,  1.38508,  1.60856,  1.98613,  2.13282,  2.53636,  2.70698,
+  0.216279,  0.306099,  0.521025,  0.678469,  1.07086,  1.55902,  1.75965,  2.1053,  2.38188,  2.58302,
+  0.207282,  0.284811,  0.43685,  0.624627,  0.796857,  1.55681,  1.97026,  2.16308,  2.56389,  2.72476,
+  0.170955,  0.252585,  0.364623,  0.553325,  1.44849,  1.65976,  1.89356,  2.12838,  2.3571,  2.74274,
+  0.240614,  0.336239,  0.792595,  1.09387,  1.58287,  1.80674,  2.01964,  2.21515,  2.46643,  2.63041,
+  0.184152,  0.27263,  0.454853,  0.683131,  0.843646,  1.45351,  1.74923,  2.03783,  2.60873,  2.77658,
+  0.274888,  0.437755,  0.673651,  0.832722,  1.03099,  1.19238,  1.49909,  2.09117,  2.44862,  2.64381,
+  0.158756,  0.250619,  0.363061,  0.690691,  1.44915,  1.60162,  1.85509,  2.01186,  2.54431,  2.7569,
+  0.233298,  0.293366,  0.481016,  0.853065,  1.58651,  1.93452,  2.13057,  2.29576,  2.55832,  2.68514,
+  0.162678,  0.218578,  0.35693,  0.551448,  0.905511,  1.18514,  1.60152,  1.85165,  2.11748,  2.2739,
+  0.413518,  0.601263,  0.850891,  1.02066,  1.23106,  1.3986,  1.72144,  2.04339,  2.4159,  2.59863,
+  0.206759,  0.318389,  0.456773,  0.924999,  1.37862,  1.49138,  1.86925,  2.03308,  2.37346,  2.76589,
+  0.276543,  0.556716,  0.939531,  1.31976,  1.6618,  1.93505,  2.24234,  2.43653,  2.69951,  2.83465,
+  0.166363,  0.286077,  0.42961,  0.805017,  1.08248,  1.26268,  1.88725,  2.06154,  2.55213,  2.77939,
+  0.184798,  0.257855,  0.708397,  0.893842,  1.2824,  1.44637,  1.76604,  2.10003,  2.37001,  2.56462,
+  0.183231,  0.288657,  0.451692,  0.771618,  1.23607,  1.37346,  1.86952,  2.0891,  2.40154,  2.6916,
+  0.298816,  0.369542,  0.829931,  1.07438,  1.24766,  1.74781,  1.95733,  2.20525,  2.54442,  2.65349,
+  0.21104,  0.282017,  0.522226,  0.77694,  1.07592,  1.59616,  1.86585,  2.007,  2.17505,  2.39554,
+  0.314688,  0.43708,  0.642025,  0.965556,  1.12536,  1.33326,  1.86652,  2.01049,  2.33129,  2.62068,
+  0.183598,  0.246981,  0.376549,  0.548713,  1.41903,  1.90491,  2.08424,  2.26124,  2.54769,  2.70801,
+  0.519054,  0.743791,  1.01126,  1.22956,  1.46479,  1.66066,  1.94687,  2.15641,  2.45479,  2.62055,
+  0.217448,  0.320028,  0.435627,  0.623507,  0.761637,  1.07682,  2.00832,  2.20506,  2.56033,  2.80098,
+  0.295822,  0.461337,  0.640353,  0.856643,  1.22953,  1.36663,  1.82621,  2.10939,  2.30179,  2.50945,
+  0.14645,  0.208738,  0.40879,  0.856811,  1.13137,  1.44404,  1.78865,  1.9483,  2.26888,  2.71907,
+  0.198805,  0.262021,  0.438575,  1.21427,  1.5216,  1.66403,  1.99099,  2.15252,  2.57754,  2.74353,
+  0.150215,  0.200178,  0.342929,  0.535637,  0.987179,  1.26637,  1.73784,  1.95652,  2.19577,  2.72346,
+  0.359606,  0.471082,  0.699657,  1.11958,  1.38102,  1.50812,  1.861,  2.12077,  2.36507,  2.56645,
+  0.300605,  0.393573,  0.569342,  0.926649,  1.52865,  1.81159,  1.97154,  2.15961,  2.4303,  2.55294,
+  0.452315,  0.749139,  1.26681,  1.49943,  1.77636,  1.99303,  2.21597,  2.3785,  2.61411,  2.73221,
+  0.240194,  0.365714,  0.619909,  0.771863,  1.16783,  1.38847,  1.62006,  2.13327,  2.58258,  2.72749,
+  0.286057,  0.443913,  0.609916,  0.854279,  1.30594,  1.4372,  1.67476,  2.1379,  2.37765,  2.53961,
+  0.196764,  0.313916,  0.469271,  0.921515,  1.16876,  1.3606,  1.78073,  1.94047,  2.41854,  2.58845,
+  0.269624,  0.353707,  0.59299,  1.13013,  1.38148,  1.54411,  1.95239,  2.1153,  2.42677,  2.65968,
+  0.172158,  0.21529,  0.38399,  0.539123,  0.977437,  1.47403,  1.75777,  2.00192,  2.2943,  2.47314,
+  0.32718,  0.399773,  0.714499,  0.861399,  1.05429,  1.7476,  2.02798,  2.20614,  2.56977,  2.67214,
+  0.209446,  0.29132,  0.415002,  0.750296,  1.57866,  1.86808,  2.02415,  2.22015,  2.45456,  2.61746,
+  0.128682,  0.265539,  0.82225,  1.19498,  1.45079,  1.74622,  2.08957,  2.36156,  2.67313,  2.81897,
+  0.220674,  0.341244,  0.500467,  0.782433,  0.933033,  1.20165,  1.99761,  2.20528,  2.57619,  2.78091,
+  0.252799,  0.394807,  0.549805,  0.861654,  1.19548,  1.31163,  1.54106,  1.68936,  2.13897,  2.66168,
+  0.1385,  0.187769,  0.318423,  0.588423,  1.24293,  1.51203,  1.89055,  2.15852,  2.54764,  2.79269,
+  0.190844,  0.261674,  0.394321,  0.930393,  1.58016,  1.7175,  1.92945,  2.11956,  2.38971,  2.70565,
+  0.233726,  0.355346,  0.537925,  0.740228,  0.95795,  1.0936,  1.5178,  2.01908,  2.26313,  2.5713,
+  0.427268,  0.528019,  0.79575,  0.992404,  1.12419,  1.55851,  1.92696,  2.08266,  2.52397,  2.66672,
+  0.233766,  0.339958,  0.483599,  0.784487,  1.41632,  1.6082,  1.79351,  2.10839,  2.31544,  2.48957
 };
   /* codebook/lspjvm2.txt */
 static const float codes1[] = {
-  0.180622,  0.006066,  -0.021468,  -0.013437,  0.015371,
-  0.003683,  0.008561,  0.045263,  0.004004,  0.049437,
-  -0.163772,  0.023012,  0.008096,  0.000595,  -0.007511,
-  0.018726,  0.024696,  -0.012187,  0.04088,  -0.03752,
-  0.018287,  0.048845,  0.002788,  0.008714,  0.020441,
-  -0.041314,  -0.023004,  -0.012868,  -0.006827,  0.020867,
-  0.020537,  0.025562,  -0.025163,  -0.005949,  0.176464,
-  0.029031,  0.023992,  0.040001,  -0.001579,  -0.012196,
-  0.089764,  0.051566,  0.026604,  -0.011248,  0.027925,
-  -0.082012,  -0.046648,  0.055399,  0.034046,  0.005132,
-  0.113247,  -0.023355,  0.041174,  0.03637,  -0.046196,
-  0.051016,  0.030063,  -0.017635,  -0.011313,  -0.036656,
-  -0.062688,  0.047435,  -0.002149,  0.001155,  0.053891,
-  0.005997,  0.009596,  -0.018469,  0.041943,  0.0443,
-  -0.028231,  0.016577,  -0.007576,  -0.04395,  -0.016269,
-  0.035918,  0.013668,  -0.007319,  -0.028917,  0.040241,
-  -0.00286,  -0.017397,  0.055068,  -0.003111,  -0.01823,
-  -0.014853,  -0.025694,  0.024,  0.040516,  0.023921,
-  -0.010584,  0.018591,  0.007213,  0.008872,  0.002639,
-  -0.039141,  0.021724,  -0.007418,  0.056879,  -0.025835,
-  -0.012914,  -0.035655,  0.025106,  -0.033265,  0.025828,
-  0.008212,  -0.009233,  0.008548,  0.0211,  -0.00322,
-  -0.033749,  0.036061,  0.057176,  0.00473,  0.007389,
-  -0.016066,  -0.009876,  0.169501,  -0.019578,  0.018563,
-  -0.005042,  -0.017609,  -0.003367,  -0.033805,  -0.034261,
-  0.021848,  -0.037098,  -0.016724,  -0.013664,  -0.022234,
-  -0.014318,  -0.041632,  -0.025771,  0.009917,  -0.004712,
-  0.016061,  0.039283,  -0.031636,  -0.10772,  -0.031214,
-  0.045005,  0.009421,  0.002766,  0.047322,  0.01061,
-  -0.000365,  -0.012189,  -0.027333,  -0.00511,  0.026984,
-  -0.095422,  -0.058078,  -0.061673,  -0.024753,  0.012418,
-  0.010534,  0.026639,  -0.026237,  -0.024583,  -0.00674,
-  -0.000214,  0.009931,  -0.045554,  0.008574,  -0.033281,
-  -0.00565,  0.008215,  0.012479,  0.015845,  -0.173872,
-  -0.007468,  0.03686,  -0.007603,  -0.033418,  0.049009,
-  0.027431,  0.004773,  -0.059174,  0.012162,  0.009249,
-  0.075983,  -0.05033,  -0.034798,  -0.009475,  0.015972,
-  -0.075828,  0.017657,  0.007893,  -0.02471,  -0.037156,
-  -0.00387,  -0.019629,  -0.034949,  0.060981,  -0.005291,
-  -0.027994,  -0.051432,  0.023954,  -0.002302,  -0.033216,
-  -0.004043,  0.056778,  0.030301,  -0.02076,  -0.03771,
-  -0.024427,  0.031822,  -0.063218,  0.009871,  0.021376,
-  -0.012111,  -0.005709,  0.024335,  0.125538,  0.082754,
-  0.008418,  0.005587,  0.021277,  -0.044805,  0.005042,
-  0.004683,  0.017979,  0.055288,  0.058361,  -0.009646,
-  0.002515,  -0.021444,  -0.158007,  0.009838,  0.033717,
-  -0.010086,  -0.015696,  0.009078,  0.032922,  -0.055059,
-  0.023172,  -0.048288,  0.032483,  0.010087,  0.027439,
-  -0.009869,  -0.014953,  -0.058391,  -0.054933,  0.000823,
-  -0.02695,  -0.127542,  -0.040479,  -0.019142,  0.027921,
-  0.052918,  -0.00397,  0.077123,  -0.06321,  -0.039627,
-  -0.016171,  -0.027555,  -0.007027,  0.002134,  0.084092,
-  -0.016824,  -0.025088,  -0.078462,  -0.008012,  -0.082548,
-  -0.018758,  -0.028954,  0.04872,  -0.112156,  -0.052909,
-  -0.007753,  -0.123471,  0.047735,  0.054028,  -0.003099,
-  0.083138,  0.089523,  -0.11661,  0.02168,  0.037196,
-  -0.00683,  0.097009,  -0.00186,  0.029964,  0.010137,
-  0.011289,  0.00737,  0.014781,  -0.012922,  -0.066981,
-  0.034641,  -0.154921,  0.011883,  -0.009672,  -0.021795,
-  -0.0415,  0.136367,  -0.041281,  -0.032394,  -0.024645,
-  0.010206,  -0.008545,  -0.042595,  0.156139,  -0.026349,
-  -0.002143,  0.02783,  0.067894,  -0.098022,  0.044893,
-  0.004982,  -0.020281,  -0.030082,  -0.074794,  0.052684,
-  0.015115,  -0.056898,  0.148751,  0.028815,  -0.062015
+  -0.021406,  0.108931,  0.010236,  -0.145815,  -0.089687,
+  0.016537,  -0.038145,  -0.132961,  0.144062,  0.096719,
+  -0.001249,  0.013167,  0.052016,  0.072695,  -0.02905,
+  0.054435,  0.072283,  -0.113255,  0.09167,  -0.068342,
+  0.056174,  0.101084,  0.008257,  -0.047489,  0.082329,
+  -0.00967,  -0.013122,  -0.089819,  -0.016051,  0.032201,
+  -0.025482,  -0.062168,  -0.027894,  -0.042783,  0.019989,
+  -0.03621,  -0.102359,  0.010714,  -0.073465,  0.139879,
+  0.029393,  0.116335,  -0.053214,  0.015564,  -0.013808,
+  -0.026376,  -0.048523,  0.030416,  0.066124,  -0.024016,
+  -0.016938,  -0.010752,  -0.022466,  0.121965,  -0.11196,
+  0.001775,  0.120198,  -0.006935,  0.092166,  0.06078,
+  0.020879,  -0.052287,  -0.042419,  -0.092863,  -0.003716,
+  -0.012942,  0.003592,  -0.068986,  -0.008414,  -0.201647,
+  -0.066428,  0.003595,  -0.022975,  -0.047039,  -0.047828,
+  0.052783,  0.042176,  0.126683,  -0.008779,  0.031824,
+  -0.069533,  0.057703,  -0.101798,  -0.023824,  -0.015011,
+  -0.009915,  -0.043934,  -0.203639,  0.020801,  0.033223,
+  -0.077839,  0.00118,  -0.025396,  0.08133,  -0.04243,
+  0.085572,  0.029367,  -0.09507,  0.125583,  0.022176,
+  0.092057,  -0.008781,  -0.079235,  -0.048786,  0.010769,
+  0.027327,  0.000593,  -0.083822,  -0.011844,  -0.018093,
+  -0.032156,  -0.15415,  -0.008283,  -0.017139,  -0.050854,
+  0.009479,  -0.02509,  -0.027382,  -0.027763,  0.063362,
+  0.088887,  0.011119,  0.009036,  0.064685,  -0.071905,
+  -0.002787,  -0.022367,  -0.04196,  0.039802,  -0.056172,
+  0.070393,  -0.060213,  0.055618,  -0.004384,  -0.09882,
+  0.02272,  -0.054683,  0.042647,  0.074937,  0.051574,
+  -0.04034,  -0.0559,  -0.090361,  -0.056423,  0.054499,
+  -0.022323,  -0.062442,  -0.15412,  0.064024,  -0.106246,
+  0.029715,  0.01163,  -0.024847,  -0.139332,  -0.089951,
+  -0.017745,  -0.027821,  0.127381,  -0.013944,  0.064178,
+  0.010859,  0.071557,  0.031402,  -0.149073,  -0.003671,
+  0.043703,  0.0104,  -0.095362,  -0.078181,  0.078992,
+  -0.062365,  0.108491,  0.061683,  -0.028738,  -0.067763,
+  -0.011243,  0.043622,  -0.135943,  0.097385,  0.062552,
+  -0.032851,  0.010995,  0.099787,  -0.038882,  0.15778,
+  -0.007503,  0.017079,  -0.127619,  -0.05615,  -0.024204,
+  -0.037235,  -0.04495,  0.03514,  -0.039034,  -0.045729,
+  -0.01215,  -0.023033,  -0.015281,  -0.017554,  0.175991,
+  0.013504,  0.104354,  -0.012111,  -0.02355,  -0.115563,
+  -0.042342,  -0.099164,  0.096286,  0.091278,  0.031877,
+  -0.024046,  -0.030027,  0.06793,  0.154144,  -0.031663,
+  -0.072506,  0.07438,  0.01728,  0.140934,  -0.004622,
+  -0.003206,  -0.03486,  -0.021056,  -0.243855,  -0.011117,
+  -0.060839,  0.044539,  -0.058851,  0.036564,  -0.097705,
+  -0.016596,  -0.013664,  0.068173,  -0.067875,  -0.183602,
+  -0.064965,  0.019491,  0.095851,  -0.028385,  0.019268,
+  -0.010465,  0.055629,  -0.016387,  0.024339,  -0.045126,
+  -0.018622,  -0.079611,  -0.091009,  0.066046,  0.121183,
+  -0.123295,  0.058013,  -0.01214,  -0.021931,  -0.045825,
+  0.059201,  0.078097,  0.040501,  0.065851,  -0.110515,
+  0.12693,  0.005995,  0.034017,  -0.048068,  -0.015656,
+  0.016926,  0.05661,  -0.0756,  -0.029285,  0.044383,
+  -0.024671,  -0.048029,  0.096627,  -0.012414,  -0.032073,
+  0.021229,  -0.033084,  0.019567,  0.072695,  0.142564,
+  0.008864,  0.044495,  0.040261,  -0.033093,  0.010083,
+  0.01058,  -0.002921,  0.033653,  0.168848,  0.069199,
+  0.0394,  -0.063679,  0.089332,  -0.012301,  0.02236,
+  0.092973,  0.079011,  0.059365,  0.008416,  0.083912,
+  0.054464,  0.080565,  -0.058195,  -0.13486,  0.138418,
+  -0.087504,  -0.067253,  0.00903,  0.01676,  -0.081394,
+  0.051506,  -0.004796,  -0.013195,  -0.0092,  -0.062858,
+  0.014136,  -0.005275,  0.130559,  0.109747,  0.064248,
+  0.010845,  0.069553,  -0.085492,  -0.131332,  -0.007657,
+  0.061578,  -0.010083,  -0.07197,  0.033097,  0.100995,
+  0.003198,  0.007159,  0.027522,  0.025186,  -0.080406,
+  -0.096163,  0.054974,  -0.097498,  0.08283,  -0.01209,
+  0.004564,  0.097746,  -0.036003,  -0.008348,  0.122627,
+  -0.065901,  0.025078,  -0.032586,  -0.057617,  0.045,
+  -0.040136,  -0.148328,  -0.030633,  -0.064691,  0.045416,
+  -0.012157,  -0.071964,  0.061991,  -0.039987,  0.077308,
+  -0.070987,  0.153939,  0.010666,  0.03704,  -0.030856,
+  -0.062433,  -0.130329,  0.002839,  0.064062,  0.024361,
+  -0.010079,  -0.010083,  0.033087,  0.042281,  -0.160409,
+  0.043272,  0.054272,  -0.059931,  0.111129,  0.114478,
+  -0.000965,  -0.033833,  0.021267,  -0.070397,  0.019875,
+  0.015102,  -0.050712,  -0.031612,  -0.000424,  -0.123141,
+  -0.014702,  0.01794,  0.056732,  -0.033205,  -0.088282,
+  0.022676,  0.003815,  0.127489,  -0.060266,  -0.046166,
+  -0.109531,  0.015517,  -0.067033,  0.056234,  0.073193,
+  -0.036736,  -0.015719,  -0.146495,  0.043652,  -0.0236,
+  -0.072281,  0.011353,  0.085598,  -0.00999,  -0.053988,
+  0.116015,  0.078694,  -0.069806,  0.011356,  0.032732,
+  0.03516,  -0.077654,  -0.085381,  -0.030028,  0.028329,
+  0.007367,  0.098254,  -0.128188,  -0.027778,  -0.092765,
+  -0.069658,  -0.086929,  0.052634,  -0.082911,  0.001566,
+  -0.031465,  0.039504,  -0.023896,  0.021954,  0.048575,
+  0.067465,  0.050711,  0.109993,  0.012589,  -0.068459,
+  0.042952,  -0.07078,  -0.02711,  0.074662,  -0.038708,
+  -0.016487,  -0.060168,  0.02298,  0.053224,  -0.096817,
+  0.095022,  0.019917,  0.01935,  0.081452,  0.053094,
+  8.9e-05,  -0.061265,  -0.113233,  -0.226444,  0.129738,
+  -0.020289,  -0.099412,  -0.020535,  0.056754,  -0.041445,
+  -0.018132,  -0.095821,  -0.023669,  -0.129792,  -0.092501,
+  0.012197,  -0.05765,  0.169818,  0.024001,  -0.032966,
+  -0.080227,  0.054215,  0.064056,  -0.107205,  0.004215,
+  -0.019811,  -0.031309,  -0.064602,  -0.018889,  0.110998,
+  -0.018518,  0.108617,  0.128486,  0.054262,  -0.06785,
+  0.025706,  0.028344,  -0.051367,  0.072576,  0.04013,
+  -0.029519,  0.044777,  0.063178,  -0.044981,  0.078351,
+  -0.007752,  -0.005772,  -0.151473,  -0.075434,  -0.135683,
+  -0.028129,  -0.041696,  0.038737,  0.002588,  0.039111,
+  -0.001413,  -0.117329,  0.014356,  -0.008556,  0.058081,
+  0.073577,  0.086054,  -0.063932,  -0.059703,  -0.056043,
+  -0.004455,  -0.105199,  0.057557,  0.036356,  -0.001614,
+  0.034813,  -0.011546,  0.119991,  0.09797,  -0.057333,
+  0.01249,  0.036923,  0.060306,  0.089075,  0.026544,
+  -0.007308,  -0.00336,  0.089332,  -0.156157,  -0.076983,
+  0.020443,  0.038004,  -0.082617,  0.014187,  -0.084229,
+  -0.010067,  -0.043646,  0.10419,  -0.020332,  -0.113413,
+  0.019452,  -0.017699,  0.086407,  -0.14935,  0.035032,
+  -0.063843,  0.049501,  0.023881,  -0.007758,  0.015123,
+  -0.040657,  -0.040203,  -0.063597,  0.042128,  0.025604,
+  -0.13016,  -0.024866,  0.055305,  -0.041194,  0.045116,
+  0.049432,  0.05551,  -0.006683,  0.138421,  -0.043183,
+  0.087163,  0.013057,  -0.006799,  -0.084491,  0.056532,
+  0.064054,  0.106709,  -0.075535,  -0.087588,  0.046051,
+  -0.026502,  -0.091502,  0.062202,  -0.077878,  -0.103918,
+  -0.070766,  -0.007034,  -0.005016,  0.012735,  0.091548,
+  0.030092,  0.104877,  0.065607,  0.020461,  -0.002983,
+  0.006667,  -0.059681,  -0.067896,  0.140805,  -0.037053,
+  0.024911,  -0.042592,  0.035611,  -0.02219,  -0.017371,
+  0.043806,  -0.003772,  0.064155,  -0.005587,  0.065305,
+  0.013775,  -0.019471,  -0.010808,  -0.11488,  0.092429,
+  -0.004362,  -0.097882,  -0.072622,  0.000859,  -0.072969,
+  0.010835,  0.002935,  -0.010522,  -0.02964,  -0.018812,
+  -0.002815,  0.01965,  0.073786,  0.023017,  0.027486,
+  -0.035116,  0.08378,  -0.047697,  -0.093223,  -0.049601,
+  0.016083,  -0.030747,  -0.08191,  0.105295,  0.037028,
+  0.02142,  0.017461,  0.021006,  0.030737,  -0.007009,
+  0.01757,  -0.004117,  -0.109441,  0.099907,  -0.060442,
+  0.031533,  0.170766,  0.007603,  -0.023917,  0.03964,
+  -0.03449,  -0.004353,  -0.04981,  -0.001665,  -0.0068,
+  -0.049992,  -0.082781,  -0.030432,  -0.069328,  -0.033724,
+  -0.026425,  -0.08423,  0.068958,  -0.147731,  0.089957,
+  -0.025804,  0.152835,  -0.052516,  -0.03593,  -0.032842,
+  -0.026333,  -0.041967,  0.018667,  0.106536,  0.021511,
+  0.025179,  -0.006152,  0.03258,  0.109526,  -0.087229,
+  -0.046329,  0.156428,  -0.000438,  0.032617,  0.082644,
+  0.045529,  -0.08892,  0.005952,  -0.100032,  0.037022,
+  0.043473,  0.0346,  -0.048768,  0.050748,  -0.142175,
+  -0.05268,  0.040293,  0.025408,  -0.078601,  -0.057626,
+  -0.008755,  0.039271,  0.157026,  0.016939,  0.011512,
+  -0.055155,  0.100297,  -0.09075,  -0.070506,  0.053489,
+  0.036003,  -0.004689,  -0.140033,  0.021003,  0.0508,
+  -0.094297,  -0.038679,  0.001987,  0.044431,  0.014913,
+  0.075296,  0.020313,  -0.055272,  0.05565,  -0.012236,
+  0.080103,  -0.001597,  -0.01709,  -0.008598,  0.039225,
+  0.074687,  0.005695,  -0.126235,  -0.0143,  -0.0628,
+  0.006515,  -0.098507,  0.016983,  -0.02585,  -0.061359,
+  0.003403,  0.02076,  0.004611,  -0.040494,  0.066641,
+  0.08029,  0.040135,  0.035632,  0.025592,  -0.020162,
+  0.001135,  -0.000322,  -0.019373,  0.081497,  -0.024835,
+  0.032781,  -0.056711,  0.055831,  0.043231,  -0.056169,
+  0.059098,  -0.031619,  0.033132,  0.039309,  0.015952,
+  -0.002714,  -0.040968,  -0.126282,  -0.082601,  0.115541,
+  -0.009564,  -0.038716,  -0.077074,  0.054052,  -0.127886,
+  -0.013589,  0.020741,  -0.030063,  -0.098522,  -0.154709,
+  -0.019341,  -0.076775,  0.150586,  -0.056835,  0.028978,
+  0.026984,  0.120357,  0.014776,  -0.087996,  0.001184,
+  0.043136,  0.047468,  -0.106854,  -0.012311,  0.136749,
+  0.006266,  0.135453,  0.089884,  -0.044424,  -0.015318,
+  -0.022275,  0.104625,  -0.093291,  0.040459,  0.043466,
+  0.026675,  0.033732,  0.033432,  -0.040003,  0.137637,
+  -0.015331,  -0.040834,  -0.144406,  -0.102359,  0.007346,
+  -0.037072,  -0.00647,  0.019555,  0.004435,  -0.023113,
+  0.050195,  -0.050172,  0.002684,  -0.032435,  0.117505,
+  0.053669,  0.065412,  0.023483,  -0.076387,  -0.097193,
+  -0.046469,  -0.112094,  0.081252,  0.010354,  0.081406,
+  0.003424,  -0.098166,  0.059285,  0.116414,  -0.043193,
+  -0.08551,  0.089546,  0.067583,  0.06337,  0.036681,
+  -0.050885,  -0.014553,  -0.010354,  -0.138138,  -0.019065,
+  -0.062106,  0.089829,  -0.025795,  -0.024562,  -0.136513,
+  0.042604,  0.028547,  0.068434,  -0.019686,  -0.149143,
+  -0.011292,  -0.004941,  0.080298,  -0.068819,  0.013087,
+  -0.033391,  0.083482,  -0.002741,  0.044834,  -8.7e-05,
+  -0.030048,  -0.111492,  -0.106256,  0.013354,  0.069577,
+  -0.201947,  0.03338,  0.030414,  0.014569,  -0.056871,
+  0.032976,  0.099252,  -0.022767,  0.071354,  -0.074629,
+  0.084309,  0.070168,  0.048774,  -0.058682,  0.019366,
+  0.032417,  0.045013,  -0.038956,  0.003473,  0.024131,
+  -0.05335,  -0.111804,  0.084936,  0.015044,  -0.043488,
+  -0.021984,  -0.089694,  0.026913,  0.087199,  0.105413,
+  0.032985,  0.060479,  0.043282,  -0.041424,  -0.045614,
+  -0.025281,  0.016546,  -0.008511,  0.109096,  0.061579,
+  0.108852,  -0.086107,  0.057949,  -0.007846,  0.023739,
+  0.022917,  0.048324,  0.084817,  0.051422,  0.108333,
+  0.020075,  0.065293,  0.024222,  -0.177025,  0.103021,
+  -0.052328,  -0.058433,  -0.016859,  -0.039048,  -0.132025,
+  0.044874,  -0.056423,  -0.00911,  -0.056668,  -0.062653,
+  0.007126,  -0.049861,  0.112609,  0.043628,  0.102097,
+  0.053027,  0.006351,  -0.074985,  -0.155632,  0.000468,
+  -0.003952,  -0.020796,  -0.047587,  0.066293,  0.093601,
+  0.006187,  0.075271,  0.03827,  0.0137,  -0.0867,
+  -0.038267,  0.110563,  -0.053092,  0.104285,  -0.058967,
+  -0.01723,  0.065483,  -0.030473,  -0.073551,  0.09744,
+  -0.017625,  0.009543,  -0.053416,  -0.091798,  0.013864,
+  -0.047203,  -0.111174,  -0.068496,  0.004133,  -0.001946,
+  0.021511,  -0.033754,  0.082109,  -0.067395,  0.108098,
+  0.024329,  0.172244,  0.023377,  0.022373,  -0.066952,
+  -0.024787,  -0.09021,  -0.039733,  0.128667,  0.045121,
+  -0.056078,  0.039012,  0.057493,  0.060251,  -0.111755,
+  0.002505,  0.046864,  -0.005795,  0.052569,  0.117762,
+  -0.049994,  -0.019961,  0.021272,  -0.092885,  0.061478,
+  0.025756,  0.008735,  -0.010368,  -0.028567,  -0.125922,
+  0.000465,  -0.012792,  0.031428,  -0.078323,  -0.08152,
+  -0.009561,  0.065195,  0.112336,  -0.071252,  -0.041794,
+  -0.14864,  0.078451,  -0.027802,  -0.011982,  0.061388,
+  -0.005007,  -0.071353,  -0.10845,  0.054048,  -0.009674,
+  -0.09507,  -0.000467,  0.065054,  0.06069,  -0.022708,
+  0.071931,  0.100729,  -0.048705,  0.059187,  0.065931,
+  0.066351,  -0.085844,  -0.041025,  0.021797,  0.046665,
+  0.003912,  0.061475,  -0.162863,  0.038635,  -0.025668,
+  -0.010671,  -0.130322,  0.059096,  -0.065249,  0.005155,
+  0.003692,  -0.012791,  -0.008737,  0.036513,  0.03715,
+  0.033874,  -0.000886,  0.08322,  0.009612,  -0.037199,
+  0.077031,  -0.048573,  -0.065236,  0.02836,  -0.043075,
+  -0.019846,  -0.097997,  0.069274,  0.025529,  -0.131338,
+  0.050027,  -0.010317,  0.022528,  0.118355,  0.001105,
+  -0.023244,  -0.088843,  -0.056329,  -0.140675,  0.037221,
+  -0.052427,  -0.096705,  -0.045605,  0.099184,  -0.072695,
+  -0.001344,  -0.024613,  -0.066691,  -0.087988,  -0.075475,
+  -0.003806,  -0.057986,  0.114851,  0.046384,  0.013172,
+  -0.060172,  0.127551,  0.032045,  -0.088201,  0.057495,
+  -0.030853,  0.024597,  -0.100073,  0.01106,  0.108274,
+  -0.015716,  0.067447,  0.07522,  0.051558,  -0.038701,
+  -0.001983,  0.026967,  -0.085766,  0.052349,  -0.005081,
+  -0.024184,  0.09245,  0.055417,  0.004123,  0.076868,
+  -0.00227,  -0.069252,  -0.133485,  -0.036492,  -0.054455,
+  -0.012415,  -0.06599,  0.006622,  0.009851,  -0.004664,
+  -0.035992,  -0.083973,  -0.016076,  0.002209,  0.092316,
+  0.084844,  0.06894,  -0.020968,  -0.004783,  -0.04666,
+  0.037839,  -0.143521,  0.005325,  0.036055,  0.002123,
+  -0.023575,  -0.021621,  0.10615,  0.061087,  -0.046658,
+  0.041745,  0.096932,  0.09591,  0.112957,  0.016901,
+  0.014863,  -0.029474,  0.038073,  -0.124756,  -0.025224,
+  -0.01276,  0.03091,  -0.053282,  -0.028662,  -0.070939,
+  0.005145,  0.000361,  0.148092,  0.011131,  -0.102044,
+  0.021703,  0.043413,  0.111529,  -0.09664,  0.070849,
+  -0.018883,  0.085116,  -0.011565,  -0.036848,  0.00114,
+  0.004421,  -0.070699,  -0.034949,  0.050552,  0.034228,
+  -0.141451,  -0.055244,  -0.037438,  -0.034652,  -0.00052,
+  0.025296,  0.08363,  -0.024993,  0.100072,  -0.001299,
+  0.022946,  0.0461,  0.002547,  -0.103144,  0.03587,
+  0.034994,  0.100019,  -0.142482,  -0.019346,  0.025513,
+  0.013032,  -0.078172,  0.109851,  -0.079647,  -0.043137,
+  -0.030375,  -0.017337,  0.04164,  0.035436,  0.111094,
+  0.044122,  0.080993,  0.015356,  0.033668,  0.027083,
+  -0.009547,  0.005556,  -0.052828,  0.165063,  -0.001717,
+  0.056999,  -0.00711,  0.063252,  -0.065978,  -0.008868,
+  0.036395,  0.018676,  0.008704,  0.02361,  0.076704,
+  -0.037486,  0.016184,  -0.046249,  -0.156788,  0.095619,
+  -0.029472,  -0.04223,  -0.055255,  -0.020155,  -0.05754,
+  0.035636,  0.027756,  -0.026705,  -0.07332,  -0.028806,
+  -0.052871,  0.003491,  0.087672,  0.064225,  0.057197
 };
   /* codebook/lspjvm3.txt */
 static const float codes2[] = {
-  0.199356,  -0.046114,  -0.014628,  0.019331,  0.007094,
-  -0.223637,  -0.027704,  0.005744,  -0.03091,  -0.002358,
-  0.012583,  0.025512,  -0.018059,  -0.159782,  0.00384,
-  -0.132734,  0.04202,  0.037016,  0.000379,  -0.010638,
-  -0.006745,  -0.011922,  0.018691,  -0.032089,  -0.159781,
-  0.044397,  0.027639,  0.007529,  -0.010559,  0.005324,
-  0.094328,  0.033697,  -0.071778,  0.025642,  0.025931,
-  0.018792,  0.016222,  -0.154698,  -0.017059,  0.000699,
-  -0.067211,  0.033705,  0.025447,  -0.026276,  0.031514,
-  -0.104739,  -0.017205,  -0.052495,  0.000481,  0.008038,
-  0.068027,  0.001855,  -0.00731,  0.028354,  -0.048914,
-  0.028143,  -0.006052,  -0.006966,  -0.015113,  -0.041109,
-  -0.038585,  -0.005834,  -0.021703,  -0.007152,  0.014956,
-  0.114966,  0.01575,  0.039961,  -0.03241,  0.006278,
-  0.02034,  -0.036924,  0.033169,  -0.047163,  0.009171,
-  0.01072,  -0.039946,  -0.017723,  -0.002642,  -0.010278,
-  -0.079353,  -0.060398,  0.03467,  -0.002409,  -0.01072,
-  0.028527,  0.006945,  -0.04559,  0.016821,  -0.004159,
-  -0.018629,  -0.033281,  0.011648,  0.033733,  -0.036671,
-  -0.043644,  0.012612,  0.0017,  -0.017529,  -0.053521,
-  0.048372,  -0.008161,  -0.046648,  -0.050377,  0.005868,
-  -0.013208,  -0.130732,  0.048663,  0.006746,  -0.008581,
-  -0.012499,  -0.023672,  -0.013511,  -0.055482,  -0.020262,
-  -0.009173,  -0.041402,  0.015274,  -0.007771,  0.027925,
-  -0.002419,  -0.011154,  0.039476,  -0.022125,  -0.033716,
-  0.023169,  -0.032382,  0.029847,  0.029624,  -0.014876,
-  0.044864,  -0.005728,  0.066242,  -0.031428,  -0.037726,
-  -0.006296,  -0.018223,  -0.031106,  0.026031,  0.020168,
-  -0.00268,  0.019292,  -0.054964,  -0.028514,  0.003996,
-  0.014037,  0.063021,  -0.019018,  0.019135,  0.006253,
-  -0.030836,  -0.013152,  0.043025,  -0.008038,  0.001975,
-  0.013008,  0.031322,  -0.004349,  -0.045247,  -0.022323,
-  -0.001254,  -0.003786,  -0.039013,  0.007816,  -0.058864,
-  -0.02985,  -0.007355,  0.092691,  -0.096908,  0.012834,
-  -0.004289,  -0.005152,  0.056846,  0.028014,  0.009501,
-  0.011267,  0.030816,  0.028408,  0.022022,  -0.054663,
-  0.011944,  0.012077,  0.018871,  0.002067,  0.013561,
-  0.037847,  -0.01254,  -0.0057,  0.026174,  0.036866,
-  -0.011667,  0.029533,  -0.001613,  0.002176,  -0.019421,
-  -0.064045,  0.009466,  -0.014587,  0.051633,  -0.007692,
-  -0.000734,  0.061783,  0.053816,  -0.01943,  0.00076,
-  -0.02734,  0.044591,  0.019738,  0.038465,  0.009254,
-  0.07726,  -0.065671,  -0.002924,  -0.002751,  0.010811,
-  -0.05946,  0.069552,  -0.070568,  -0.034797,  0.011398,
-  -0.019409,  0.022774,  0.008093,  -0.046885,  0.024185,
-  0.045376,  0.029876,  0.052322,  0.053145,  0.010152,
-  0.004524,  -0.017804,  0.058043,  0.019065,  0.119071,
-  0.004986,  0.000119,  -0.004026,  0.059938,  0.000625,
-  0.010842,  -0.011323,  -0.02512,  -0.031177,  0.037555,
-  -0.054404,  0.032783,  0.102674,  0.037726,  -0.016502,
-  -0.024732,  0.019641,  -0.069165,  0.035973,  -0.007114,
-  0.022856,  0.033603,  -0.03471,  0.107206,  -0.046868,
-  -0.02035,  -0.066156,  -0.0491,  -0.00256,  -0.012345,
-  -0.036348,  -0.047706,  0.008369,  0.048741,  0.044398,
-  0.029796,  -0.065326,  -0.068475,  0.070067,  -0.004048,
-  0.06303,  0.124997,  -0.026117,  -0.037609,  -0.022144,
-  -0.011243,  0.028624,  -0.006808,  0.008654,  0.058514,
-  0.006905,  -0.033728,  0.163891,  0.017925,  -0.028119,
-  -0.038975,  -0.058758,  -0.03637,  -0.069444,  0.05181,
-  0.005915,  -0.008354,  -0.078672,  0.025962,  0.10104,
-  -0.032262,  0.157582,  -0.012208,  -0.008087,  -0.00719,
-  0.023464,  0.035066,  0.011241,  -0.057235,  0.056908,
-  -0.019183,  -0.017633,  0.014499,  0.143127,  -0.005776,
-  0.051205,  -0.185582,  -0.001777,  0.01817,  -0.008225
+  -0.049493,  0.054928,  0.08494,  0.052135,  0.008568,
+  -0.066116,  0.00657,  -0.027523,  0.158516,  0.042695,
+  0.07746,  -0.019928,  -0.012915,  0.012901,  -0.098697,
+  0.028568,  0.000341,  -0.025438,  -0.085876,  0.17094,
+  0.014357,  -0.066755,  -0.144243,  0.165268,  0.011916,
+  0.020644,  -0.09258,  -0.081946,  0.055022,  0.007749,
+  -0.027372,  0.051994,  0.033764,  0.000619,  -0.072671,
+  0.011662,  -0.038667,  -0.034632,  -0.078986,  0.087758,
+  -0.02431,  -0.048062,  0.107728,  0.024164,  0.006083,
+  0.05266,  0.011153,  0.031828,  0.048317,  0.056289,
+  -0.029014,  0.039726,  -0.055089,  0.024123,  -0.10598,
+  0.035791,  0.02831,  0.054464,  -0.124706,  0.04022,
+  -0.039838,  -0.010122,  0.054055,  0.06169,  -0.037657,
+  -0.086924,  -0.009158,  0.011889,  -0.048271,  -0.09672,
+  -0.022199,  0.050122,  0.113121,  0.076273,  -0.079928,
+  -0.033161,  -0.147776,  0.019592,  0.002594,  -0.021873,
+  -0.08114,  0.072112,  0.033137,  0.019729,  0.066647,
+  0.118834,  0.098388,  -0.026103,  0.013142,  -0.013216,
+  -0.000177,  0.131275,  -0.039096,  -0.057554,  -0.099675,
+  0.078053,  -0.007955,  0.054077,  -0.010283,  -0.026083,
+  0.006225,  -0.0294,  -0.04654,  0.024907,  0.040126,
+  -0.017713,  -0.086932,  -0.10449,  -0.03429,  0.111475,
+  -0.053135,  0.032393,  0.024949,  0.154463,  -0.055979,
+  0.01011,  -0.084365,  0.043942,  -0.143588,  0.05909,
+  -0.028178,  -0.064062,  0.042823,  0.164601,  0.015843,
+  0.089595,  -0.035899,  -0.03993,  0.133627,  0.033243,
+  -0.01314,  -0.008344,  -0.1049,  -0.106493,  0.028217,
+  -0.09595,  0.08194,  0.002347,  -0.084799,  -0.073903,
+  -0.036268,  -0.072257,  -0.015128,  0.036224,  -0.089424,
+  -0.1012,  0.063829,  -0.061475,  0.012579,  -0.047699,
+  -0.050236,  0.118664,  0.083446,  -0.052543,  -0.018838,
+  -0.070661,  -0.021915,  0.0542,  -0.09241,  0.018701,
+  0.041419,  0.036648,  0.126667,  0.042162,  0.031663,
+  -0.063135,  0.022908,  -0.086859,  0.019763,  0.039548,
+  0.015121,  0.066099,  -0.029927,  -0.003374,  -0.032001,
+  0.089102,  0.057931,  -0.003415,  -0.091946,  0.084794,
+  -0.104839,  -0.045958,  0.016926,  0.068547,  0.081198,
+  0.078588,  0.043905,  -0.106359,  -0.032332,  -0.004293,
+  0.036452,  0.10452,  0.031718,  0.027031,  -0.125065,
+  -0.041077,  -0.152599,  0.117252,  -0.030131,  0.037371,
+  0.013985,  -0.02798,  0.107111,  -0.067626,  0.092561,
+  -0.028813,  -0.035193,  0.012488,  0.065691,  0.027352,
+  -0.018945,  -0.062152,  -0.097681,  -0.029327,  -0.078038,
+  -0.016391,  0.124686,  0.019323,  -0.147042,  0.049316,
+  -0.021113,  -0.052981,  0.111882,  0.02584,  -0.077151,
+  -0.012782,  -0.053834,  0.026849,  -0.029175,  0.000992,
+  0.042064,  0.054611,  0.016125,  0.080908,  -0.020857,
+  -0.001874,  -0.051978,  0.089166,  -0.127696,  -0.080845,
+  -0.008962,  -0.018067,  0.12941,  0.071134,  0.081936,
+  -0.064042,  0.11609,  -0.063253,  -0.00422,  0.024728,
+  0.029012,  0.071023,  0.014449,  -0.128413,  -0.03525,
+  0.115653,  -0.029705,  0.016432,  0.055524,  0.040377,
+  0.000581,  -0.09287,  -0.028356,  0.152103,  0.076057,
+  -0.045269,  0.077207,  -0.08139,  -0.112025,  0.047049,
+  -0.057804,  0.095103,  0.005696,  0.081825,  -0.020948,
+  0.02778,  -0.080443,  -0.023995,  -0.061605,  0.036406,
+  0.004583,  -0.106303,  0.10594,  0.094569,  -0.011431,
+  0.046422,  0.030015,  -0.125031,  0.088154,  -0.024277,
+  -0.007487,  0.020628,  -0.012213,  -0.0729,  -0.00526,
+  -0.032193,  0.06461,  0.007714,  0.021012,  0.008793,
+  0.043014,  -0.105241,  -0.019126,  0.000769,  -0.031247,
+  -0.048003,  -0.003554,  -0.092245,  -0.009662,  -0.034732,
+  -0.011536,  0.0409,  0.112394,  -0.038142,  0.037212,
+  -0.001175,  0.010234,  0.05483,  -0.085407,  -0.020114,
+  -0.013534,  0.120768,  0.025436,  0.100014,  0.064602,
+  -0.007919,  0.062282,  -0.052443,  0.164335,  -0.008297,
+  0.137841,  -0.002255,  -0.058618,  -0.031305,  -0.047965,
+  0.040785,  -0.018168,  -0.01917,  0.040177,  0.128136,
+  -0.015732,  -0.145363,  -0.104833,  0.054181,  -0.064311,
+  -0.036895,  -0.10328,  -0.189378,  0.001223,  0.02407,
+  -0.035035,  0.05091,  -0.077374,  -0.06758,  -0.11878,
+  -0.055123,  -0.057412,  0.027202,  -0.031426,  0.136722,
+  -0.062403,  -0.039221,  0.092996,  -0.032073,  -0.039746,
+  0.017314,  0.028132,  -0.029601,  0.061427,  0.034043,
+  -0.004881,  0.002314,  0.033058,  0.014516,  -0.127914,
+  -0.070568,  0.031534,  -0.012681,  -0.137671,  0.044282,
+  0.092312,  -0.034836,  0.075316,  0.053215,  -0.030095,
+  -0.140758,  -0.06976,  -0.024582,  0.011822,  -0.000733,
+  -0.024247,  0.139108,  0.078949,  0.043541,  -0.012572,
+  -0.073887,  -0.105378,  0.066079,  0.02775,  -0.079807,
+  -0.122697,  -0.02691,  0.042952,  -0.044345,  0.087147,
+  0.068465,  0.06824,  -0.061864,  -0.002708,  0.084389,
+  0.028249,  0.094201,  -0.022887,  -0.050955,  0.00027,
+  0.087836,  0.052671,  0.087438,  -0.042701,  0.0068,
+  0.037755,  -0.071608,  -0.0004,  -0.012553,  0.084497,
+  0.007152,  -0.00566,  -0.082247,  -0.007079,  0.128017,
+  0.02606,  -0.06454,  0.005121,  0.115795,  -0.097058,
+  0.100707,  -0.033714,  -0.046097,  -0.115607,  0.062101,
+  -0.082457,  -0.095242,  0.088832,  0.072264,  0.030882,
+  0.083814,  0.018039,  -0.041244,  0.036194,  -0.011624,
+  -0.03924,  -0.124739,  -0.042978,  -0.103072,  -0.023279,
+  -0.144367,  0.076922,  -0.007872,  -0.041215,  0.031877,
+  0.006244,  -0.036286,  -0.025736,  0.008745,  -0.041488,
+  -0.034725,  -0.006689,  -0.078874,  0.095089,  -0.064621,
+  0.035418,  0.089685,  0.089611,  -0.067216,  0.100016,
+  -0.101854,  0.043002,  0.083647,  -0.042806,  -0.033568,
+  0.012106,  0.025344,  0.094987,  0.162123,  0.03573,
+  -0.036396,  0.077816,  -0.057973,  0.076779,  0.027709,
+  0.04735,  0.011238,  -0.089403,  -0.020863,  -0.131279,
+  0.040658,  0.040655,  -0.00199,  -0.009227,  0.039513,
+  -0.043753,  -0.112026,  -0.064065,  0.002673,  0.025153,
+  0.036183,  -0.011645,  -0.076221,  -0.004745,  -0.034205,
+  -0.058467,  0.128728,  -0.003543,  0.018335,  -0.096496,
+  -0.037375,  -0.096154,  0.045813,  -0.07958,  0.065173,
+  0.024184,  -0.012183,  0.144278,  -0.039914,  -0.024761,
+  0.001824,  -0.035165,  -0.043834,  0.123192,  -0.004488,
+  0.023477,  -0.062701,  -0.108522,  -0.107858,  -0.104674,
+  0.007663,  0.103787,  -0.043859,  -0.071127,  0.104928,
+  -0.009634,  -0.050318,  0.092534,  -0.030233,  -0.148857,
+  -0.054886,  -0.027436,  -0.016247,  -0.008144,  0.017055,
+  0.06599,  0.058093,  0.021202,  -0.030646,  -0.029521,
+  0.028683,  -0.08829,  0.061191,  -0.038173,  -0.018411,
+  -0.019566,  -0.006009,  0.029617,  0.048934,  0.128434,
+  0.027648,  0.11694,  -0.044437,  0.053775,  -0.033262,
+  0.054197,  0.048524,  -0.050178,  -0.094124,  0.034207,
+  0.048351,  -0.047109,  0.092891,  -0.008774,  0.057988,
+  0.038534,  -0.080114,  -0.063179,  0.067392,  0.087593,
+  0.005154,  0.015079,  -0.128284,  -0.101708,  0.119929,
+  -0.101885,  -0.005064,  -0.029441,  0.089339,  0.002341,
+  -0.037477,  -0.162543,  -0.026269,  -0.046444,  0.091725,
+  0.033059,  -0.071982,  0.044066,  0.0519,  0.053592,
+  0.025106,  0.027318,  -0.147748,  0.030892,  0.062725,
+  0.047862,  0.002439,  -0.016146,  -0.124853,  -0.087549,
+  -0.014286,  0.11596,  0.019628,  0.005148,  0.043461,
+  0.060577,  -0.119423,  0.048737,  0.062958,  -0.038195,
+  -0.015093,  0.042261,  -0.145536,  -0.025395,  -0.029757,
+  0.001268,  0.056525,  0.053869,  0.032714,  0.082888,
+  0.022561,  0.059787,  0.095042,  -0.051948,  -0.068783,
+  -0.094719,  0.033934,  0.092886,  0.112047,  0.037717,
+  -0.001812,  0.002863,  -0.007932,  0.12898,  0.09813,
+  0.051733,  0.006324,  -0.014277,  -0.045797,  -0.073487,
+  0.066137,  0.01225,  0.015209,  -0.023922,  0.125121,
+  -0.031201,  -0.025882,  -0.114882,  0.098874,  0.043116,
+  0.061535,  -0.05684,  -0.119559,  0.018516,  0.00792,
+  -0.014308,  0.048837,  0.019679,  -0.064948,  -0.084436,
+  -0.024933,  -0.012847,  0.007479,  -0.065528,  0.068539,
+  0.004575,  -0.001495,  0.074599,  0.025324,  0.016894,
+  0.042433,  -0.009825,  0.010528,  0.022473,  -0.000257,
+  -0.033952,  -0.017194,  -0.036425,  0.022356,  -0.156508,
+  -0.013117,  0.054715,  0.038852,  -0.077395,  0.072355,
+  0.001274,  -0.036819,  0.027128,  0.040457,  -0.053848,
+  -0.086835,  -0.028765,  -0.044665,  -0.046087,  -0.052959,
+  -0.034503,  0.043617,  0.164382,  0.021163,  -0.026827,
+  -0.03737,  -0.105915,  -0.012794,  -0.035014,  -0.065537,
+  -0.119152,  0.066125,  -0.013818,  0.076743,  0.096879,
+  0.101142,  0.074383,  0.006285,  0.055684,  0.04599,
+  0.008245,  0.14275,  0.024302,  -0.02976,  -0.056919,
+  0.041171,  -0.009591,  0.029222,  -0.04719,  0.020924,
+  -0.051111,  -0.028751,  -0.045611,  0.030202,  0.083927,
+  -0.070117,  -0.062254,  -0.06399,  -0.094579,  0.091497,
+  -0.033466,  -0.006572,  -0.034026,  0.129351,  -0.113997,
+  0.078692,  -0.053624,  0.040154,  -0.104795,  0.025607,
+  -0.052797,  -0.050278,  0.088609,  0.119334,  -0.060736,
+  0.115692,  -0.079482,  -0.048491,  0.068397,  -0.022062,
+  -0.037695,  -0.030571,  -0.064488,  -0.091032,  -0.014135,
+  -0.042106,  0.091151,  -0.019045,  -0.094026,  -0.018182,
+  0.03118,  -0.070951,  -0.066565,  0.046865,  -0.091124,
+  -0.064953,  0.069372,  -0.121696,  0.088365,  -0.053972,
+  -0.029497,  0.072347,  0.116673,  -0.125445,  -0.00948,
+  -0.057537,  0.008908,  0.042657,  -0.131808,  -0.033942,
+  0.096819,  0.056788,  0.086251,  0.071955,  0.003274,
+  -0.090077,  0.028509,  -0.140286,  0.036077,  0.090491,
+  0.057723,  0.070025,  -0.046937,  -0.003053,  -0.085808,
+  0.11929,  0.025854,  -0.010211,  -0.038993,  0.033979,
+  -0.067638,  -0.102356,  -0.044892,  0.087972,  0.05467,
+  0.064861,  -0.026264,  -0.155722,  -0.076296,  -0.00441,
+  0.02739,  0.058673,  -0.023777,  0.079681,  -0.099769,
+  -0.038207,  -0.08771,  0.071253,  -0.001252,  0.05632,
+  -0.041616,  -0.043606,  0.147704,  -0.104791,  0.047362,
+  0.030432,  -0.069719,  -0.005648,  0.064599,  -0.000497,
+  -0.019486,  -0.029184,  -0.159904,  0.0133,  -0.108612,
+  -0.066563,  0.108614,  0.028643,  -0.071699,  0.094973,
+  0.016578,  -0.115251,  0.124735,  -0.017707,  -0.05967,
+  -0.00686,  0.003127,  0.035165,  -0.007475,  -0.022022,
+  0.009648,  0.051351,  0.061689,  0.05655,  -0.053208,
+  -0.046096,  -0.109828,  0.063655,  -0.100019,  -0.043527,
+  -0.026785,  -0.076073,  0.088392,  0.051665,  0.1331,
+  -0.045997,  0.178133,  -0.064664,  0.056571,  0.051732,
+  0.102884,  0.077377,  0.004628,  -0.085416,  -0.061286,
+  0.109994,  -0.039939,  -0.042316,  0.014354,  0.075984,
+  0.005229,  -0.164906,  -0.016684,  0.091671,  0.039303,
+  -0.006969,  0.101629,  -0.089859,  -0.052952,  0.020092,
+  -0.045949,  0.032304,  -0.00532,  0.081945,  -0.060901,
+  0.02707,  -0.11415,  -0.086607,  -0.054088,  0.004837,
+  0.035701,  -0.045766,  0.164697,  0.084509,  -0.018948,
+  0.010206,  0.032954,  -0.082634,  0.044347,  0.00453,
+  0.004364,  0.02871,  -0.061377,  -0.060602,  -0.054825,
+  -0.039078,  0.049004,  0.038851,  -0.03351,  -0.000653,
+  0.09926,  -0.129483,  -0.041979,  -0.010101,  0.007582,
+  -0.0294,  0.031264,  -0.038312,  0.007963,  -0.028211,
+  -0.074222,  0.054407,  0.125246,  -0.01859,  0.085045,
+  0.052651,  -0.02424,  0.086068,  -0.095228,  -0.030255,
+  0.001949,  0.118434,  0.062541,  0.143709,  -0.013657,
+  0.0591,  0.060955,  -0.062497,  0.140532,  0.039334,
+  0.137904,  -0.047089,  0.020524,  -0.041405,  -0.028004,
+  0.071786,  0.043146,  0.010174,  0.078741,  0.128039,
+  -0.036884,  -0.113879,  -0.032227,  0.117783,  -0.044599,
+  -0.020722,  -0.038462,  -0.123526,  -0.017251,  0.024845,
+  -0.00377,  0.057517,  0.014066,  -0.069925,  -0.177097,
+  0.002999,  -0.061495,  0.053071,  -0.058476,  0.176585,
+  -0.107408,  -0.011537,  0.089763,  0.020941,  0.007634,
+  -0.014054,  0.037515,  0.024582,  0.089185,  0.032661,
+  -0.014873,  -0.029682,  0.018115,  -0.034564,  -0.080746,
+  -0.013506,  0.003207,  0.000266,  -0.164226,  0.098068,
+  0.045094,  -0.010661,  0.092839,  0.012485,  -0.067205,
+  -0.113117,  -0.020358,  0.01949,  0.027338,  -0.057637,
+  0.013845,  0.118103,  0.122242,  -0.004007,  -0.048063,
+  -0.008788,  -0.136503,  0.02779,  0.005555,  -0.131424,
+  -0.083209,  0.011395,  0.017487,  -0.016643,  0.046392,
+  0.030425,  0.107761,  -0.071125,  0.045148,  0.054625,
+  0.053332,  0.145331,  -0.008619,  -0.023923,  0.041308,
+  0.134661,  0.008854,  0.093443,  -0.032697,  0.071954,
+  -0.023891,  -0.095844,  -0.005013,  0.01886,  0.082267,
+  0.061228,  -0.032643,  -0.090171,  -0.034001,  0.0805,
+  0.040538,  -0.001812,  0.056798,  0.098146,  -0.086025,
+  0.050696,  -0.036444,  -0.044846,  -0.10397,  -0.013299,
+  -0.037169,  -0.095103,  0.028957,  0.051655,  -0.013412,
+  0.130547,  0.019129,  -0.00159,  0.077133,  -0.053911,
+  -0.025131,  -0.063589,  -0.028458,  -0.171521,  0.011501,
+  -0.097285,  0.020341,  -0.064513,  -0.054109,  0.022119,
+  -0.006468,  -0.056433,  -0.045977,  -0.038456,  -0.0198,
+  -0.021424,  -0.018152,  -0.123724,  0.060016,  -0.02783,
+  0.037863,  0.133958,  0.058506,  -0.071618,  0.008112,
+  -0.043763,  0.015491,  0.116371,  -0.072366,  -0.097338,
+  0.043984,  -0.02691,  0.049132,  0.118551,  0.018631,
+  -0.028239,  0.055398,  -0.057995,  0.056031,  0.100533,
+  0.072128,  0.01884,  -0.109151,  0.056207,  -0.08933,
+  -0.010688,  0.04944,  -0.019639,  -0.022852,  0.068609,
+  -0.065836,  -0.063422,  -0.064772,  0.042444,  -0.027891,
+  0.06113,  -0.019511,  -0.043812,  -0.030081,  0.013764,
+  -0.092974,  0.064228,  0.061218,  0.026781,  -0.104864,
+  -0.081493,  -0.079808,  0.012731,  -0.041955,  0.012656,
+  -0.016276,  -0.056064,  0.19251,  -0.004442,  0.025862,
+  0.036425,  -0.008637,  -0.036821,  0.081811,  -0.037871,
+  -0.007774,  -0.065904,  -0.022194,  -0.067532,  -0.139567,
+  -0.042209,  0.056068,  -0.012666,  -0.019246,  0.146524,
+  0.011036,  0.037842,  0.130579,  0.007341,  -0.127799,
+  -0.013799,  0.008239,  -0.04896,  -0.029047,  0.026824,
+  0.036017,  0.06966,  0.046899,  0.011232,  -0.028266,
+  0.045601,  -0.073884,  0.007504,  -0.076546,  -0.063695,
+  -0.023409,  -0.007362,  0.043925,  0.003804,  0.069891,
+  -0.028193,  0.155343,  -0.029118,  0.097712,  -0.049714,
+  0.05027,  0.052105,  -0.079831,  -0.145765,  -0.02682,
+  0.105467,  -0.094302,  0.056671,  0.002415,  0.067049,
+  -0.011861,  -0.039917,  -0.08729,  0.071195,  0.148098,
+  -0.000921,  0.036156,  -0.092175,  -0.043226,  0.066444,
+  -0.076021,  0.020404,  -0.000194,  0.037147,  -0.012776,
+  0.029476,  -0.151625,  0.023394,  -0.038235,  0.028699,
+  0.015071,  -0.143856,  0.067703,  0.065697,  0.050489,
+  0.092833,  0.014004,  -0.097666,  0.070604,  0.070138,
+  -0.03415,  -0.002128,  -0.029135,  -0.141805,  -0.072841,
+  -0.061676,  0.139117,  0.0142,  -0.030924,  0.010254,
+  0.061562,  -0.080245,  0.037562,  0.009031,  -0.091375,
+  0.006152,  0.120619,  -0.125849,  0.003889,  -0.039092,
+  0.034074,  0.112456,  0.072599,  0.015352,  0.068852,
+  0.065438,  0.013853,  0.05726,  -0.057487,  -0.109489
 };
 
 const struct lsp_codebook lsp_cbjvm[] = {
   /* codebook/lspjvm1.txt */
   {
-    5,
-    6,
-    64,
+    10,
+    8,
+    256,
     codes0
   },
   /* codebook/lspjvm2.txt */
   {
     5,
-    6,
-    64,
+    8,
+    256,
     codes1
   },
   /* codebook/lspjvm3.txt */
   {
     5,
-    6,
-    64,
+    8,
+    256,
     codes2
   },
   { 0, 0, 0, 0 }
index 5c0886000ac0aa176c52d27912838eaa0c9728b8..9104142084377c343af895ee7fec2a0a5e229b9b 100644 (file)
@@ -72,8 +72,10 @@ void synthesise_one_frame(struct CODEC2 *c2, short speech[], MODEL *model,
                          float ak[]);
 void codec2_encode_2500(struct CODEC2 *c2, unsigned char * bits, short speech[]);
 void codec2_decode_2500(struct CODEC2 *c2, short speech[], const unsigned char * bits);
-void codec2_encode_1400(struct CODEC2 *c2, unsigned char * bits, short speech[]);
-void codec2_decode_1400(struct CODEC2 *c2, short speech[], const unsigned char * bits);
+void codec2_encode_1500(struct CODEC2 *c2, unsigned char * bits, short speech[]);
+void codec2_decode_1500(struct CODEC2 *c2, short speech[], const unsigned char * bits);
+void codec2_encode_1200(struct CODEC2 *c2, unsigned char * bits, short speech[]);
+void codec2_decode_1200(struct CODEC2 *c2, short speech[], const unsigned char * bits);
 
 /*---------------------------------------------------------------------------*\
                                                        
@@ -104,7 +106,11 @@ struct CODEC2 *codec2_create(int mode)
     if (c2 == NULL)
        return NULL;
     
-    assert((mode == CODEC2_MODE_2500) || (mode == CODEC2_MODE_1400));
+    assert(
+          (mode == CODEC2_MODE_2500) || 
+          (mode == CODEC2_MODE_1500) || 
+          (mode == CODEC2_MODE_1200)
+          );
     c2->mode = mode;
     for(i=0; i<M; i++)
        c2->Sn[i] = 1.0;
@@ -168,8 +174,10 @@ void codec2_destroy(struct CODEC2 *c2)
 int codec2_bits_per_frame(struct CODEC2 *c2) {
     if (c2->mode == CODEC2_MODE_2500)
        return 50;
-    if  (c2->mode == CODEC2_MODE_1400)
+    if  (c2->mode == CODEC2_MODE_1500)
        return 60;
+    if  (c2->mode == CODEC2_MODE_1200)
+       return 48;
 
     return 0; /* shouldn't get here */
 }
@@ -188,7 +196,9 @@ int codec2_bits_per_frame(struct CODEC2 *c2) {
 int codec2_samples_per_frame(struct CODEC2 *c2) {
     if (c2->mode == CODEC2_MODE_2500)
        return 160;
-    if  (c2->mode == CODEC2_MODE_1400)
+    if  (c2->mode == CODEC2_MODE_1500)
+       return 320;
+    if  (c2->mode == CODEC2_MODE_1200)
        return 320;
 
     return 0; /* shouldnt get here */
@@ -197,23 +207,35 @@ int codec2_samples_per_frame(struct CODEC2 *c2) {
 void codec2_encode(struct CODEC2 *c2, unsigned char *bits, short speech[])
 {
     assert(c2 != NULL);
-    assert((c2->mode == CODEC2_MODE_2500) || (c2->mode == CODEC2_MODE_1400));
+    assert(
+          (c2->mode == CODEC2_MODE_2500) || 
+          (c2->mode == CODEC2_MODE_1500) || 
+          (c2->mode == CODEC2_MODE_1200)
+          );
 
     if (c2->mode == CODEC2_MODE_2500)
        codec2_encode_2500(c2, bits, speech);
-    else
-       codec2_encode_1400(c2, bits, speech);
+    if (c2->mode == CODEC2_MODE_1500)
+       codec2_encode_1500(c2, bits, speech);
+    if (c2->mode == CODEC2_MODE_1200)
+       codec2_encode_1200(c2, bits, speech);
 }
 
 void codec2_decode(struct CODEC2 *c2, short speech[], const unsigned char *bits)
 {
     assert(c2 != NULL);
-    assert((c2->mode == CODEC2_MODE_2500) || (c2->mode == CODEC2_MODE_1400));
+    assert(
+          (c2->mode == CODEC2_MODE_2500) || 
+          (c2->mode == CODEC2_MODE_1500) || 
+          (c2->mode == CODEC2_MODE_1200)
+          );
 
     if (c2->mode == CODEC2_MODE_2500)
        codec2_decode_2500(c2, speech, bits);
-    else
-       codec2_decode_1400(c2, speech, bits);
+    if (c2->mode == CODEC2_MODE_1500)
+       codec2_decode_1500(c2, speech, bits);
+    if (c2->mode == CODEC2_MODE_1200)
+       codec2_decode_1200(c2, speech, bits);
 }
 
 /*---------------------------------------------------------------------------*\
@@ -399,19 +421,19 @@ void codec2_decode_2500(struct CODEC2 *c2, short speech[], const unsigned char *
 
 /*---------------------------------------------------------------------------*\
                                                        
-  FUNCTION....: codec2_encode_1400          
+  FUNCTION....: codec2_encode_1500          
   AUTHOR......: David Rowe                           
   DATE CREATED: Nov 14 2011 
 
-  Encodes 320 speech samples (50ms of speech) into 56 bits.  
+  Encodes 320 speech samples (40ms of speech) into 60 bits.  
 
   The codec2 algorithm actually operates internally on 10ms (80
   sample) frames, so we run the encoding algorithm for times:
 
   frame 0: just send voicing bit
-  frame 1: full quantisation of LSPs and Wo
+  frame 1: scalar quantisation of LSPs and Wo and E
   frame 2: just send voicing bit
-  frame 3: delta-time quantisation of LSPs and Wo
+  frame 3: delta-time quantisation Wo and E
 
   The bit allocation is:
 
@@ -425,7 +447,7 @@ void codec2_decode_2500(struct CODEC2 *c2, short speech[], const unsigned char *
  
 \*---------------------------------------------------------------------------*/
 
-void codec2_encode_1400(struct CODEC2 *c2, unsigned char * bits, short speech[])
+void codec2_encode_1500(struct CODEC2 *c2, unsigned char * bits, short speech[])
 {
     MODEL   model;
     float   lsps[LPC_ORD], lsps_[LPC_ORD];
@@ -526,7 +548,7 @@ void codec2_encode_1400(struct CODEC2 *c2, unsigned char * bits, short speech[])
 
 /*---------------------------------------------------------------------------*\
                                                        
-  FUNCTION....: codec2_decode_1400          
+  FUNCTION....: codec2_decode_1500          
   AUTHOR......: David Rowe                           
   DATE CREATED: 16 Nov 2011
 
@@ -534,7 +556,7 @@ void codec2_encode_1400(struct CODEC2 *c2, unsigned char * bits, short speech[])
 
 \*---------------------------------------------------------------------------*/
 
-void codec2_decode_1400(struct CODEC2 *c2, short speech[], const unsigned char * bits)
+void codec2_decode_1500(struct CODEC2 *c2, short speech[], const unsigned char * bits)
 {
     MODEL   model;
     int     voiced1, voiced2, voiced3, voiced4;
@@ -706,6 +728,308 @@ void codec2_decode_1400(struct CODEC2 *c2, short speech[], const unsigned char *
 
 }
 
+/*---------------------------------------------------------------------------*\
+                                                       
+  FUNCTION....: codec2_encode_1200          
+  AUTHOR......: David Rowe                           
+  DATE CREATED: Nov 14 2011 
+
+  Encodes 320 speech samples (40ms of speech) into 48 bits.  
+
+  The codec2 algorithm actually operates internally on 10ms (80
+  sample) frames, so we run the encoding algorithm for times:
+
+  frame 0: just send voicing bit
+  frame 1: predictive vector quantisation of LSPs and Wo and E
+  frame 2: just send voicing bit
+  frame 3: delta-time quantisation Wo and E
+
+  The bit allocation is:
+
+    Parameter                      frame 2  frame 4   Total
+    -------------------------------------------------------
+    Harmonic magnitudes (LSPs)     24        0        21
+    Energy                          5        5        10
+    Wo (fundamental frequnecy)      7        3        10
+    Voicing (10ms update)           2        2         4
+    TOTAL                          35       10        45
+\*---------------------------------------------------------------------------*/
+
+void codec2_encode_1200(struct CODEC2 *c2, unsigned char * bits, short speech[])
+{
+    MODEL   model;
+    float   lsps[LPC_ORD], lsps_[LPC_ORD];
+    float   ak[LPC_ORD+1];
+    float   e;
+    int     voiced1, voiced2, voiced3, voiced4;
+    int     lsp_indexes[LSP_PRED_VQ_INDEXES];
+    int     energy_index;
+    int     Wo_index, delta_Wo_index;
+    int     i;
+    unsigned int nbit = 0;
+    unsigned int nbit_tmp;
+    float   prev_Wo;
+    static  int frames;
+
+    assert(c2 != NULL);
+
+    memset(bits, '\0',  ((codec2_bits_per_frame(c2) + 7) / 8));
+
+    /* frame 1: - we just want voicing -------------------------------- */
+
+    printf("frame: %d\n", ++frames);
+    analyse_one_frame(c2, &model, speech);
+    voiced1 = model.voiced;
+
+    /* frame 2: - predictive VQ LSP and Wo ---------------------------- */
+
+    printf("frame: %d\n", ++frames);
+    analyse_one_frame(c2, &model, &speech[N]);
+    voiced2 = model.voiced;
+    
+    Wo_index = encode_Wo(model.Wo);
+
+    e = speech_to_uq_lsps(lsps, ak, c2->Sn, c2->w, LPC_ORD);
+    printf("   lsps........: ");
+    for(i=0; i<LPC_ORD; i++)
+       printf("%5.3f  ", lsps[i]);
+    printf("\n");
+    encode_lsps_vq(lsp_indexes, lsps, lsps_, LPC_ORD);
+    energy_index = encode_energy(e);
+
+    pack(bits, &nbit, Wo_index, WO_BITS);
+    for(i=0; i<LSP_PRED_VQ_INDEXES; i++) {
+       pack(bits, &nbit, lsp_indexes[i], lsp_pred_vq_bits(i));
+    }
+    pack(bits, &nbit, energy_index, E_BITS);
+    pack(bits, &nbit, voiced1, 1);
+    pack(bits, &nbit, voiced2, 1);
+
+    prev_Wo = decode_Wo(Wo_index);
+
+    /* frame 3: - we just want voicing --------------------------------- */
+
+    printf("frame: %d\n", ++frames);
+    analyse_one_frame(c2, &model, &speech[2*N]);
+    voiced3 = model.voiced;
+
+    /* frame 4: - voicing and delta Wo -----------------------------  */
+
+    printf("frame: %d\n", ++frames);
+    analyse_one_frame(c2, &model, &speech[3*N]);
+    voiced4 = model.voiced;
+    
+    delta_Wo_index =  encode_Wo_dt(model.Wo, prev_Wo);
+  
+    /* need to run this to get LPC energy */
+    e = speech_to_uq_lsps(lsps, ak, c2->Sn, c2->w, LPC_ORD);
+
+    //encode_lsps_diff_time_vq(lsp_indexes, lsps, prev_lsps_, LPC_ORD);
+    energy_index = encode_energy(e);
+    //printf("  e: %f code: %d dec: %f \n", e, energy_index, decode_energy(energy_index));
+
+    pack(bits, &nbit, delta_Wo_index, WO_DT_BITS);
+    nbit_tmp = nbit;
+    pack(bits, &nbit, energy_index, E_BITS);
+    pack(bits, &nbit, voiced3, 1);
+    pack(bits, &nbit, voiced4, 1);
+    //printf("          00 16 24 32 40 48 56\n"); 
+    //printf("nbit = %d %02x %02x %02x %02x %02x %02x %02x %02x\n", nbit, 
+    //    bits[0], bits[1], bits[2], bits[3],
+    //    bits[4], bits[5], bits[6], bits[7]);
+
+    //printf("  nbit_tmp: %d ", nbit_tmp);
+    energy_index = unpack(bits, &nbit_tmp, E_BITS);
+    // printf("energy_index after: %d\n", energy_index);
+
+    assert(nbit == codec2_bits_per_frame(c2));
+    //if (frames == 8)
+    //exit(0);
+}
+
+
+/*---------------------------------------------------------------------------*\
+                                                       
+  FUNCTION....: codec2_decode_1200          
+  AUTHOR......: David Rowe                           
+  DATE CREATED: 14 Feb 2012
+
+  Decodes frames of 48 bits into 320 samples (40ms) of speech.
+
+\*---------------------------------------------------------------------------*/
+
+void codec2_decode_1200(struct CODEC2 *c2, short speech[], const unsigned char * bits)
+{
+    MODEL   model;
+    int     voiced1, voiced2, voiced3, voiced4;
+    int     lsp_indexes[LSP_PRED_VQ_INDEXES];
+    float   lsps_[LPC_ORD];
+    int     energy_index;
+    float   energy;
+    float   snr;
+    int     Wo_index, delta_Wo_index;
+    float   ak[LPC_ORD+1];
+    float   ak_interp[LPC_ORD+1];
+    float   lsps_interp[LPC_ORD];
+    int     i;
+    unsigned int nbit = 0;
+    MODEL   model_interp;
+    static  int frames;
+    float   prev__Wo;
+
+    assert(c2 != NULL);
+
+    /* unpack frame 1 & 2 bit stream to integer codes */
+
+    Wo_index = unpack(bits, &nbit, WO_BITS);
+    for(i=0; i<LSP_PRED_VQ_INDEXES; i++) {
+       lsp_indexes[i] = unpack(bits, &nbit, lsp_pred_vq_bits(i));
+    }
+    energy_index = unpack(bits, &nbit, E_BITS);
+    voiced1 = unpack(bits, &nbit, 1);
+    voiced2 = unpack(bits, &nbit, 1);
+    /* decode integer codes to model parameters */
+
+    model.Wo = decode_Wo(Wo_index);
+    model.L = PI/model.Wo;
+    memset(&model.A, 0, (model.L+1)*sizeof(model.A[0]));
+
+    /* decode frame 2 LSPs and model amplitudes */
+
+    decode_lsps_vq(lsp_indexes, lsps_, LPC_ORD);
+    bw_expand_lsps(lsps_, LPC_ORD);
+    lsp_to_lpc(lsps_, ak, LPC_ORD);
+    energy = decode_energy(energy_index);
+    aks_to_M2(ak, LPC_ORD, &model, energy, &snr, 1); 
+    apply_lpc_correction(&model);
+
+    /* interpolate frame 1 model parameters from adjacent frames */
+
+    model.voiced = voiced2;
+    model_interp.voiced = voiced1;
+    model_interp.Wo = P_MAX/2;
+    memset(&model_interp.A, 0, MAX_AMP*sizeof(model_interp.A[0]));
+
+    interpolate_lsp(&model_interp, &c2->prev_model, &model,
+                   c2->prev_lsps_, c2->prev_energy, lsps_, energy, ak_interp,
+                   lsps_interp);
+    apply_lpc_correction(&model_interp);
+
+    frames += 2;
+    /* used for comparing to c2sim version  */
+       printf("frame: %d\n", frames);
+    printf("  Wo: %1.5f  L: %d v1: %d prev_e: %f\n", 
+          model_interp.Wo, model_interp.L, model_interp.voiced, c2->prev_energy);
+    printf("  lsps_interp: ");
+    for(i=0; i<LPC_ORD; i++)
+       printf("%5.3f  ", lsps_interp[i]);
+    printf("\n  A..........: ");
+    for(i=0; i<10; i++)
+       printf("%5.3f  ",model_interp.A[i]);
+
+    printf("\n  Wo: %1.5f  L: %d e: %3.2f v2: %d\n", 
+          model.Wo, model.L, energy, model.voiced);
+    printf("  lsps_......: ");
+    for(i=0; i<LPC_ORD; i++)
+       printf("%5.3f  ", lsps_[i]);
+    printf("\n  A..........: ");
+    for(i=0; i<10; i++)
+       printf("%5.3f  ",model.A[i]);
+    printf("\n");
+    
+
+    /* synthesise frame 1 and frame 2 10ms frames */
+
+    synthesise_one_frame(c2, speech, &model_interp, ak_interp);
+    //printf("  buf[0] %d\n", speech[0]);
+    synthesise_one_frame(c2, &speech[N], &model, ak);
+    //printf("  buf[0] %d\n", speech[N]);
+
+    /* update memories (decode states) for next time */
+
+    memcpy(&c2->prev_model, &model, sizeof(MODEL));
+    memcpy(c2->prev_lsps_, lsps_, sizeof(lsps_));
+    c2->prev_energy = energy;
+    prev__Wo = model.Wo;
+
+    /*--------------------------------------------------------------------*/
+
+    /* unpack frame 3 & 4 bit stream to integer codes */
+
+    delta_Wo_index = unpack(bits, &nbit, WO_DT_BITS);
+    energy_index = unpack(bits, &nbit, E_BITS);
+    voiced3 = unpack(bits, &nbit, 1);
+    voiced4 = unpack(bits, &nbit, 1);
+    assert(nbit == codec2_bits_per_frame(c2));
+
+    /* decode integer codes to model parameters */
+
+    model.Wo = decode_Wo_dt(delta_Wo_index, prev__Wo);
+    model.L = PI/model.Wo;
+    memset(&model.A, 0, (model.L+1)*sizeof(model.A[0]));
+    energy = decode_energy(energy_index);
+
+    /* decode frame 4  */
+
+    aks_to_M2(ak, LPC_ORD, &model, energy, &snr, 1); 
+    apply_lpc_correction(&model);
+
+    /* interpolate frame 3 model parameters from adjacent frames */
+
+    model.voiced = voiced4;
+    model_interp.voiced = voiced3;
+    model_interp.Wo = P_MAX/2;
+    memset(&model_interp.A, 0, MAX_AMP*sizeof(model_interp.A[0]));
+
+    interpolate_lsp(&model_interp, &c2->prev_model, &model,
+                   c2->prev_lsps_, c2->prev_energy, lsps_, energy, ak_interp,
+                   lsps_interp);
+    apply_lpc_correction(&model_interp);
+
+    frames +=2;
+    /* used for comparing to c2sim version: */
+    printf("frame: %d\n", frames);
+
+    printf("  Wo: %1.5f  L: %d v1: %d prev_e: %f\n", 
+          model_interp.Wo, model_interp.L, model_interp.voiced, c2->prev_energy);
+    printf("  lsps_interp: ");
+    for(i=0; i<LPC_ORD; i++)
+       printf("%5.3f  ", lsps_interp[i]);
+    printf("\n  A..........: ");
+    for(i=0; i<10; i++)
+       printf("%5.3f  ",model_interp.A[i]);
+
+    printf("\n  Wo: %1.5f  L: %d e_index: %d e: %3.2f v2: %d\n", 
+          model.Wo, model.L, energy_index, energy, model.voiced);
+    printf("  lsps_......: ");
+    for(i=0; i<LPC_ORD; i++)
+       printf("%5.3f  ", lsps_[i]);
+    printf("\n  A..........: ");
+    for(i=0; i<10; i++)
+       printf("%5.3f  ",model.A[i]);
+    printf("\n");
+
+    /* synthesise frame 3 and frame 4 10ms frames */
+
+    synthesise_one_frame(c2, &speech[2*N], &model_interp, ak_interp);
+    //printf("  buf[0] %d\n", speech[2*N]);
+    synthesise_one_frame(c2, &speech[3*N], &model, ak);
+    //printf("  buf[0] %d\n", speech[3*N]);
+    //if (frames == 8) {
+    // exit(0);
+    //}
+
+    /* update memories (decode states) for next time */
+
+    memcpy(&c2->prev_model, &model, sizeof(MODEL));
+    memcpy(c2->prev_lsps_, lsps_, sizeof(lsps_));
+    c2->prev_energy = energy;
+
+}
+
 
 /*---------------------------------------------------------------------------*\
                                                        
index 01054b2f48e25ce5dbb0d6443a0629cd632be087..f45cf2ee5e78437c69b18791e8f32728747811d5 100644 (file)
@@ -33,7 +33,8 @@ extern "C" {
 #define  __CODEC2__
 
 #define CODEC2_MODE_2500 0
-#define CODEC2_MODE_1400 1
+#define CODEC2_MODE_1500 1
+#define CODEC2_MODE_1200 2
 
 struct CODEC2;
 
index c6dbcc952a2dee881712e416a5401c60c5dec23f..09e816273ee151ddf6b32dbea25a9b9e8d86417a 100644 (file)
@@ -63,6 +63,10 @@ int lspd_bits(int i) {
     return lsp_cbd[i].log2m;
 }
 
+int lsp_pred_vq_bits(int i) {
+    return lsp_cbjvm[i].log2m;
+}
+
 /*---------------------------------------------------------------------------*\
 
   quantise_init
@@ -427,7 +431,6 @@ void lspdt_quantise(float lsps[], float lsps_[], float lsps__prev[], int mode)
 }
 
 #define MIN(a,b) ((a)<(b)?(a):(b))
-#define COEF 0.75f
 #define MAX_ENTRIES 16384
 
 void compute_weights(const float *x, float *w, int ndim)
@@ -498,21 +501,14 @@ void lspjvm_quantise(float *x, float *xq, int ndim)
     w[i] = MIN(x[i]-x[i-1], x[i+1]-x[i]);
   w[ndim-1] = MIN(x[ndim-1]-x[ndim-2], M_PI-x[ndim-1]);
   
-  /*
-  for (i=0;i<ndim;i++)
-    w[i] = 1./(.003+w[i]);
-  w[0]*=3;
-  w[1]*=2;*/
   compute_weights(x, w, ndim);
   
-  for (i=0;i<ndim;i++)
-    err[i] = x[i]-COEF*xq[i];
-  n1 = find_nearest(codebook1, lsp_cbjvm[0].m, err, ndim);
+  n1 = find_nearest(codebook1, lsp_cbjvm[0].m, x, ndim);
   
   for (i=0;i<ndim;i++)
   {
-    xq[i] = COEF*xq[i] + codebook1[ndim*n1+i];
-    err[i] -= codebook1[ndim*n1+i];
+    xq[i] = codebook1[ndim*n1+i];
+    err[i] = x[i] - xq[i];
   }
   for (i=0;i<ndim/2;i++)
   {
@@ -1166,6 +1162,86 @@ void decode_lsps_diff_time_vq(
 }
 
 
+/*---------------------------------------------------------------------------*\
+                                                       
+  FUNCTION....: encode_lsps_vq()            
+  AUTHOR......: David Rowe                           
+  DATE CREATED: 15 Feb 2012
+
+  Multi-stage VQ LSP quantiser developed by Jean-Marc Valin.
+
+\*---------------------------------------------------------------------------*/
+
+void encode_lsps_vq(int *indexes, float *x, float *xq, int ndim)
+{
+  int i, n1, n2, n3;
+  float err[ndim], err2[ndim], err3[ndim];
+  float w[ndim], w2[ndim], w3[ndim];
+  const float *codebook1 = lsp_cbjvm[0].cb;
+  const float *codebook2 = lsp_cbjvm[1].cb;
+  const float *codebook3 = lsp_cbjvm[2].cb;
+
+  w[0] = MIN(x[0], x[1]-x[0]);
+  for (i=1;i<ndim-1;i++)
+    w[i] = MIN(x[i]-x[i-1], x[i+1]-x[i]);
+  w[ndim-1] = MIN(x[ndim-1]-x[ndim-2], M_PI-x[ndim-1]);
+  
+  compute_weights(x, w, ndim);
+  
+  n1 = find_nearest(codebook1, lsp_cbjvm[0].m, x, ndim);
+  
+  for (i=0;i<ndim;i++)
+  {
+    xq[i]  = codebook1[ndim*n1+i];
+    err[i] = x[i] - xq[i];
+  }
+  for (i=0;i<ndim/2;i++)
+  {
+    err2[i] = err[2*i];  
+    err3[i] = err[2*i+1];
+    w2[i] = w[2*i];  
+    w3[i] = w[2*i+1];
+  }
+  n2 = find_nearest_weighted(codebook2, lsp_cbjvm[1].m, err2, w2, ndim/2);
+  n3 = find_nearest_weighted(codebook3, lsp_cbjvm[2].m, err3, w3, ndim/2);
+  
+  indexes[0] = n1;
+  indexes[1] = n2;
+  indexes[2] = n3;
+}
+
+
+/*---------------------------------------------------------------------------*\
+                                                       
+  FUNCTION....: decode_lsps_vq()            
+  AUTHOR......: David Rowe                           
+  DATE CREATED: 15 Feb 2012
+
+\*---------------------------------------------------------------------------*/
+
+void decode_lsps_vq(int *indexes, float *xq, int ndim)
+{
+  int i, n1, n2, n3;
+  const float *codebook1 = lsp_cbjvm[0].cb;
+  const float *codebook2 = lsp_cbjvm[1].cb;
+  const float *codebook3 = lsp_cbjvm[2].cb;
+
+  n1 = indexes[0];
+  n2 = indexes[1];
+  n3 = indexes[2];
+
+  for (i=0;i<ndim;i++)
+  {
+    xq[i] = codebook1[ndim*n1+i];
+  }
+  for (i=0;i<ndim/2;i++)
+  {
+    xq[2*i] += codebook2[ndim*n2/2+i];
+    xq[2*i+1] += codebook3[ndim*n3/2+i];
+  }
+}
+
+
 /*---------------------------------------------------------------------------*\
                                                        
   FUNCTION....: bw_expand_lsps()            
index 9fd34eebe63db9e6f7ec97880858e24893ed1ac2..6e04173d87e3aca43b81fc2e7c549ae3cb742cf1 100644 (file)
@@ -36,6 +36,7 @@
 #define E_MAX_DB    40.0
 
 #define LSP_SCALAR_INDEXES    10
+#define LSP_PRED_VQ_INDEXES    3
 #define LSP_DIFF_FREQ_INDEXES  5
 #define LSP_DIFF_TIME_BITS     7
 
@@ -67,6 +68,9 @@ void decode_lsps_diff_time_vq(
                              float lsp__prev[],
                              int order);
 
+void encode_lsps_vq(int *indexes, float *x, float *xq, int ndim);
+void decode_lsps_vq(int *indexes, float *xq, int ndim);
+
 void lspd_quantise(float lsp[], float lsp_[], int order);
 void lspvq_quantise(float lsp[], float lsp_[], int order); 
 void lspjnd_quantise(float lsp[], float lsp_[], int order);
@@ -81,6 +85,7 @@ int  unpack(const unsigned char * bits, unsigned int *nbit, unsigned int index_b
 
 int lsp_bits(int i);
 int lspd_bits(int i);
+int lsp_pred_vq_bits(int i);
 
 void apply_lpc_correction(MODEL *model);
 float speech_to_uq_lsps(float lsp[],
index 7461008baba0f0f04bb3253dcc5cd6c8ebd756e6..885020e239af0f212a9ee85b77d0e5eabd20f676 100755 (executable)
@@ -35,7 +35,7 @@
 #include <math.h>
 
 #define MIN(a,b) ((a)<(b)?(a):(b))
-#define COEF 0.00f
+#define COEF 0.0f
 #define MAX_ENTRIES 16384
 
 void compute_weights(const float *x, float *w, int ndim)
@@ -284,11 +284,13 @@ int main(int argc, char **argv)
   float *delta, *delta2;
   float tmp, err, min_dist, total_min_dist;
   int ret;
+  char filename[256];
+  FILE *fcb;
 
   printf("Jean-Marc Valin's Split VQ training program....\n");
 
   if (argc != 5) {
-      printf("usage: %s TrainTextFile K(dimension) M(codebook size) VQFile\n", argv[0]);
+      printf("usage: %s TrainTextFile K(dimension) M(codebook size) VQFilesPrefix\n", argv[0]);
       exit(0);      
   }
   
@@ -357,10 +359,10 @@ int main(int argc, char **argv)
 
   /* generate predicted data for training */
 
-  for (i=1;i<nb_vectors;i++)
+  for (i=2;i<nb_vectors;i++)
   {
     for (j=0;j<ndim;j++)
-      pred[i*ndim+j] = data[i*ndim+j] - COEF*data[(i-1)*ndim+j];
+      pred[i*ndim+j] = data[i*ndim+j] - COEF*data[(i-2)*ndim+j];
   }
 
   VALGRIND_CHECK_MEM_IS_DEFINED(pred, nb_entries*ndim);
@@ -440,27 +442,38 @@ int main(int argc, char **argv)
   
   /* save output tables to text files */
 
-  exit(0);
+  sprintf(filename, "%s1.txt", argv[4]);
+  fcb = fopen(filename, "wt"); assert(fcb != NULL);
+  fprintf(fcb, "%d %d\n", ndim, nb_entries);
   for (i=0;i<nb_entries;i++)
   {
     for (j=0;j<ndim;j++)
-      printf("%f ", codebook[i*ndim+j]);
-    printf("\n");
+       fprintf(fcb, "%f ", codebook[i*ndim+j]);
+    fprintf(fcb, "\n");
   }
-  printf("\n");
+  fclose(fcb);
+
+  sprintf(filename, "%s2.txt", argv[4]);
+  fcb = fopen(filename, "wt"); assert(fcb != NULL);
+  fprintf(fcb, "%d %d\n", ndim/2, nb_entries);
   for (i=0;i<nb_entries;i++)
   {
     for (j=0;j<ndim/2;j++)
-      printf("%f ", codebook2[i*ndim/2+j]);
-    printf("\n");
+       fprintf(fcb, "%f ", codebook2[i*ndim/2+j]);
+    fprintf(fcb, "\n");
   }
-  printf("\n");
+  fclose(fcb);
+
+  sprintf(filename, "%s3.txt", argv[4]);
+  fcb = fopen(filename, "wt"); assert(fcb != NULL);
+  fprintf(fcb, "%d %d\n", ndim/2, nb_entries);
   for (i=0;i<nb_entries;i++)
   {
     for (j=0;j<ndim/2;j++)
-      printf("%f ", codebook2[i*ndim/2+j]);
-    printf("\n");
+      fprintf(fcb, "%f ", codebook3[i*ndim/2+j]);
+    fprintf(fcb, "\n");
   }
+  fclose(fcb);
 
   return 0;
 }