Subversion Repositories wimsdev

Rev

Go to most recent revision | Blame | Last modification | View Log | RSS feed

  1. #define costScale 1024
  2. int cost[] = {
  3.   1024,
  4.   1023,
  5.   1023,
  6.   1022,
  7.   1021,
  8.   1020,
  9.   1018,
  10.   1016,
  11.   1014,
  12.   1011,
  13.   1008,
  14.   1005,
  15.   1001,
  16.   997,
  17.   993,
  18.   989,
  19.   984,
  20.   979,
  21.   973,
  22.   968,
  23.   962,
  24.   955,
  25.   949,
  26.   942,
  27.   935,
  28.   928,
  29.   920,
  30.   912,
  31.   904,
  32.   895,
  33.   886,
  34.   877,
  35.   868,
  36.   858,
  37.   848,
  38.   838,
  39.   828,
  40.   817,
  41.   806,
  42.   795,
  43.   784,
  44.   772,
  45.   760,
  46.   748,
  47.   736,
  48.   724,
  49.   711,
  50.   698,
  51.   685,
  52.   671,
  53.   658,
  54.   644,
  55.   630,
  56.   616,
  57.   601,
  58.   587,
  59.   572,
  60.   557,
  61.   542,
  62.   527,
  63.   512,
  64.   496,
  65.   480,
  66.   464,
  67.   448,
  68.   432,
  69.   416,
  70.   400,
  71.   383,
  72.   366,
  73.   350,
  74.   333,
  75.   316,
  76.   299,
  77.   282,
  78.   265,
  79.   247,
  80.   230,
  81.   212,
  82.   195,
  83.   177,
  84.   160,
  85.   142,
  86.   124,
  87.   107,
  88.   89,
  89.   71,
  90.   53,
  91.   35,
  92.   17,
  93.   0,
  94.   -17,
  95.   -35,
  96.   -53,
  97.   -71,
  98.   -89,
  99.   -107,
  100.   -124,
  101.   -142,
  102.   -160,
  103.   -177,
  104.   -195,
  105.   -212,
  106.   -230,
  107.   -247,
  108.   -265,
  109.   -282,
  110.   -299,
  111.   -316,
  112.   -333,
  113.   -350,
  114.   -366,
  115.   -383,
  116.   -400,
  117.   -416,
  118.   -432,
  119.   -448,
  120.   -464,
  121.   -480,
  122.   -496,
  123.   -512,
  124.   -527,
  125.   -542,
  126.   -557,
  127.   -572,
  128.   -587,
  129.   -601,
  130.   -616,
  131.   -630,
  132.   -644,
  133.   -658,
  134.   -671,
  135.   -685,
  136.   -698,
  137.   -711,
  138.   -724,
  139.   -736,
  140.   -748,
  141.   -760,
  142.   -772,
  143.   -784,
  144.   -795,
  145.   -806,
  146.   -817,
  147.   -828,
  148.   -838,
  149.   -848,
  150.   -858,
  151.   -868,
  152.   -877,
  153.   -886,
  154.   -895,
  155.   -904,
  156.   -912,
  157.   -920,
  158.   -928,
  159.   -935,
  160.   -942,
  161.   -949,
  162.   -955,
  163.   -962,
  164.   -968,
  165.   -973,
  166.   -979,
  167.   -984,
  168.   -989,
  169.   -993,
  170.   -997,
  171.   -1001,
  172.   -1005,
  173.   -1008,
  174.   -1011,
  175.   -1014,
  176.   -1016,
  177.   -1018,
  178.   -1020,
  179.   -1021,
  180.   -1022,
  181.   -1023,
  182.   -1023,
  183.   -1024,
  184.   -1023,
  185.   -1023,
  186.   -1022,
  187.   -1021,
  188.   -1020,
  189.   -1018,
  190.   -1016,
  191.   -1014,
  192.   -1011,
  193.   -1008,
  194.   -1005,
  195.   -1001,
  196.   -997,
  197.   -993,
  198.   -989,
  199.   -984,
  200.   -979,
  201.   -973,
  202.   -968,
  203.   -962,
  204.   -955,
  205.   -949,
  206.   -942,
  207.   -935,
  208.   -928,
  209.   -920,
  210.   -912,
  211.   -904,
  212.   -895,
  213.   -886,
  214.   -877,
  215.   -868,
  216.   -858,
  217.   -848,
  218.   -838,
  219.   -828,
  220.   -817,
  221.   -806,
  222.   -795,
  223.   -784,
  224.   -772,
  225.   -760,
  226.   -748,
  227.   -736,
  228.   -724,
  229.   -711,
  230.   -698,
  231.   -685,
  232.   -671,
  233.   -658,
  234.   -644,
  235.   -630,
  236.   -616,
  237.   -601,
  238.   -587,
  239.   -572,
  240.   -557,
  241.   -542,
  242.   -527,
  243.   -512,
  244.   -496,
  245.   -480,
  246.   -464,
  247.   -448,
  248.   -432,
  249.   -416,
  250.   -400,
  251.   -383,
  252.   -366,
  253.   -350,
  254.   -333,
  255.   -316,
  256.   -299,
  257.   -282,
  258.   -265,
  259.   -247,
  260.   -230,
  261.   -212,
  262.   -195,
  263.   -177,
  264.   -160,
  265.   -142,
  266.   -124,
  267.   -107,
  268.   -89,
  269.   -71,
  270.   -53,
  271.   -35,
  272.   -17,
  273.   0,
  274.   17,
  275.   35,
  276.   53,
  277.   71,
  278.   89,
  279.   107,
  280.   124,
  281.   142,
  282.   160,
  283.   177,
  284.   195,
  285.   212,
  286.   230,
  287.   247,
  288.   265,
  289.   282,
  290.   299,
  291.   316,
  292.   333,
  293.   350,
  294.   366,
  295.   383,
  296.   400,
  297.   416,
  298.   432,
  299.   448,
  300.   464,
  301.   480,
  302.   496,
  303.   512,
  304.   527,
  305.   542,
  306.   557,
  307.   572,
  308.   587,
  309.   601,
  310.   616,
  311.   630,
  312.   644,
  313.   658,
  314.   671,
  315.   685,
  316.   698,
  317.   711,
  318.   724,
  319.   736,
  320.   748,
  321.   760,
  322.   772,
  323.   784,
  324.   795,
  325.   806,
  326.   817,
  327.   828,
  328.   838,
  329.   848,
  330.   858,
  331.   868,
  332.   877,
  333.   886,
  334.   895,
  335.   904,
  336.   912,
  337.   920,
  338.   928,
  339.   935,
  340.   942,
  341.   949,
  342.   955,
  343.   962,
  344.   968,
  345.   973,
  346.   979,
  347.   984,
  348.   989,
  349.   993,
  350.   997,
  351.   1001,
  352.   1005,
  353.   1008,
  354.   1011,
  355.   1014,
  356.   1016,
  357.   1018,
  358.   1020,
  359.   1021,
  360.   1022,
  361.   1023,
  362.   1023
  363. };
  364. #define sintScale 1024
  365. int sint[] = {
  366.   0,
  367.   17,
  368.   35,
  369.   53,
  370.   71,
  371.   89,
  372.   107,
  373.   124,
  374.   142,
  375.   160,
  376.   177,
  377.   195,
  378.   212,
  379.   230,
  380.   247,
  381.   265,
  382.   282,
  383.   299,
  384.   316,
  385.   333,
  386.   350,
  387.   366,
  388.   383,
  389.   400,
  390.   416,
  391.   432,
  392.   448,
  393.   464,
  394.   480,
  395.   496,
  396.   512,
  397.   527,
  398.   542,
  399.   557,
  400.   572,
  401.   587,
  402.   601,
  403.   616,
  404.   630,
  405.   644,
  406.   658,
  407.   671,
  408.   685,
  409.   698,
  410.   711,
  411.   724,
  412.   736,
  413.   748,
  414.   760,
  415.   772,
  416.   784,
  417.   795,
  418.   806,
  419.   817,
  420.   828,
  421.   838,
  422.   848,
  423.   858,
  424.   868,
  425.   877,
  426.   886,
  427.   895,
  428.   904,
  429.   912,
  430.   920,
  431.   928,
  432.   935,
  433.   942,
  434.   949,
  435.   955,
  436.   962,
  437.   968,
  438.   973,
  439.   979,
  440.   984,
  441.   989,
  442.   993,
  443.   997,
  444.   1001,
  445.   1005,
  446.   1008,
  447.   1011,
  448.   1014,
  449.   1016,
  450.   1018,
  451.   1020,
  452.   1021,
  453.   1022,
  454.   1023,
  455.   1023,
  456.   1024,
  457.   1023,
  458.   1023,
  459.   1022,
  460.   1021,
  461.   1020,
  462.   1018,
  463.   1016,
  464.   1014,
  465.   1011,
  466.   1008,
  467.   1005,
  468.   1001,
  469.   997,
  470.   993,
  471.   989,
  472.   984,
  473.   979,
  474.   973,
  475.   968,
  476.   962,
  477.   955,
  478.   949,
  479.   942,
  480.   935,
  481.   928,
  482.   920,
  483.   912,
  484.   904,
  485.   895,
  486.   886,
  487.   877,
  488.   868,
  489.   858,
  490.   848,
  491.   838,
  492.   828,
  493.   817,
  494.   806,
  495.   795,
  496.   784,
  497.   772,
  498.   760,
  499.   748,
  500.   736,
  501.   724,
  502.   711,
  503.   698,
  504.   685,
  505.   671,
  506.   658,
  507.   644,
  508.   630,
  509.   616,
  510.   601,
  511.   587,
  512.   572,
  513.   557,
  514.   542,
  515.   527,
  516.   512,
  517.   496,
  518.   480,
  519.   464,
  520.   448,
  521.   432,
  522.   416,
  523.   400,
  524.   383,
  525.   366,
  526.   350,
  527.   333,
  528.   316,
  529.   299,
  530.   282,
  531.   265,
  532.   247,
  533.   230,
  534.   212,
  535.   195,
  536.   177,
  537.   160,
  538.   142,
  539.   124,
  540.   107,
  541.   89,
  542.   71,
  543.   53,
  544.   35,
  545.   17,
  546.   0,
  547.   -17,
  548.   -35,
  549.   -53,
  550.   -71,
  551.   -89,
  552.   -107,
  553.   -124,
  554.   -142,
  555.   -160,
  556.   -177,
  557.   -195,
  558.   -212,
  559.   -230,
  560.   -247,
  561.   -265,
  562.   -282,
  563.   -299,
  564.   -316,
  565.   -333,
  566.   -350,
  567.   -366,
  568.   -383,
  569.   -400,
  570.   -416,
  571.   -432,
  572.   -448,
  573.   -464,
  574.   -480,
  575.   -496,
  576.   -512,
  577.   -527,
  578.   -542,
  579.   -557,
  580.   -572,
  581.   -587,
  582.   -601,
  583.   -616,
  584.   -630,
  585.   -644,
  586.   -658,
  587.   -671,
  588.   -685,
  589.   -698,
  590.   -711,
  591.   -724,
  592.   -736,
  593.   -748,
  594.   -760,
  595.   -772,
  596.   -784,
  597.   -795,
  598.   -806,
  599.   -817,
  600.   -828,
  601.   -838,
  602.   -848,
  603.   -858,
  604.   -868,
  605.   -877,
  606.   -886,
  607.   -895,
  608.   -904,
  609.   -912,
  610.   -920,
  611.   -928,
  612.   -935,
  613.   -942,
  614.   -949,
  615.   -955,
  616.   -962,
  617.   -968,
  618.   -973,
  619.   -979,
  620.   -984,
  621.   -989,
  622.   -993,
  623.   -997,
  624.   -1001,
  625.   -1005,
  626.   -1008,
  627.   -1011,
  628.   -1014,
  629.   -1016,
  630.   -1018,
  631.   -1020,
  632.   -1021,
  633.   -1022,
  634.   -1023,
  635.   -1023,
  636.   -1024,
  637.   -1023,
  638.   -1023,
  639.   -1022,
  640.   -1021,
  641.   -1020,
  642.   -1018,
  643.   -1016,
  644.   -1014,
  645.   -1011,
  646.   -1008,
  647.   -1005,
  648.   -1001,
  649.   -997,
  650.   -993,
  651.   -989,
  652.   -984,
  653.   -979,
  654.   -973,
  655.   -968,
  656.   -962,
  657.   -955,
  658.   -949,
  659.   -942,
  660.   -935,
  661.   -928,
  662.   -920,
  663.   -912,
  664.   -904,
  665.   -895,
  666.   -886,
  667.   -877,
  668.   -868,
  669.   -858,
  670.   -848,
  671.   -838,
  672.   -828,
  673.   -817,
  674.   -806,
  675.   -795,
  676.   -784,
  677.   -772,
  678.   -760,
  679.   -748,
  680.   -736,
  681.   -724,
  682.   -711,
  683.   -698,
  684.   -685,
  685.   -671,
  686.   -658,
  687.   -644,
  688.   -630,
  689.   -616,
  690.   -601,
  691.   -587,
  692.   -572,
  693.   -557,
  694.   -542,
  695.   -527,
  696.   -512,
  697.   -496,
  698.   -480,
  699.   -464,
  700.   -448,
  701.   -432,
  702.   -416,
  703.   -400,
  704.   -383,
  705.   -366,
  706.   -350,
  707.   -333,
  708.   -316,
  709.   -299,
  710.   -282,
  711.   -265,
  712.   -247,
  713.   -230,
  714.   -212,
  715.   -195,
  716.   -177,
  717.   -160,
  718.   -142,
  719.   -124,
  720.   -107,
  721.   -89,
  722.   -71,
  723.   -53,
  724.   -35,
  725.   -17
  726. };
  727.