1 float saw_table[1025] = { 2 0.000000, 0.008187, 0.016378, 0.024569, 0.032759, 0.040950, 3 0.049141, 0.057331, 0.065522, 0.073712, 0.081903, 0.090094, 4 0.098284, 0.106475, 0.114666, 0.122856, 0.131047, 0.139237, 5 0.147428, 0.155619, 0.163809, 0.172000, 0.180191, 0.188381, 6 0.196572, 0.204762, 0.212953, 0.221144, 0.229334, 0.237525, 7 0.245716, 0.253906, 0.262097, 0.270287, 0.278478, 0.286668, 8 0.294859, 0.303049, 0.311240, 0.319430, 0.327621, 0.335811, 9 0.344002, 0.352193, 0.360383, 0.368574, 0.376764, 0.384955, 10 0.393145, 0.401336, 0.409526, 0.417717, 0.425907, 0.434098, 11 0.442288, 0.450479, 0.458669, 0.466860, 0.475050, 0.483241, 12 0.491431, 0.499622, 0.507812, 0.516003, 0.524194, 0.532384, 13 0.540575, 0.548765, 0.556956, 0.565146, 0.573337, 0.581527, 14 0.589718, 0.597908, 0.606099, 0.614289, 0.622480, 0.630670, 15 0.638861, 0.647052, 0.655242, 0.663433, 0.671623, 0.679814, 16 0.688004, 0.696195, 0.704385, 0.712576, 0.720766, 0.728957, 17 0.737147, 0.745338, 0.753528, 0.761719, 0.769909, 0.778100, 18 0.786290, 0.794313, 0.802167, 0.809854, 0.817372, 0.824723, 19 0.831905, 0.838920, 0.845766, 0.852445, 0.858955, 0.865297, 20 0.871472, 0.877478, 0.883317, 0.888987, 0.894489, 0.899823, 21 0.904990, 0.909988, 0.914818, 0.919481, 0.923975, 0.928301, 22 0.932460, 0.936450, 0.940272, 0.943926, 0.947412, 0.950731, 23 0.953881, 0.956863, 0.959677, 0.962323, 0.964801, 0.967112, 24 0.969254, 0.971228, 0.973034, 0.974672, 0.976142, 0.977444, 25 0.978578, 0.979544, 0.980342, 0.980972, 0.981434, 0.981728, 26 0.981854, 0.981812, 0.981602, 0.981224, 0.980678, 0.979964, 27 0.979082, 0.978032, 0.976814, 0.975428, 0.973874, 0.972152, 28 0.970262, 0.968203, 0.965977, 0.963583, 0.961021, 0.958291, 29 0.955560, 0.952830, 0.950100, 0.947370, 0.944640, 0.941909, 30 0.939179, 0.936449, 0.933719, 0.930989, 0.928258, 0.925528, 31 0.922798, 0.920068, 0.917338, 0.914608, 0.911877, 0.909147, 32 0.906417, 0.903687, 0.900957, 0.898226, 0.895496, 0.892766, 33 0.890036, 0.887306, 0.884575, 0.881845, 0.879115, 0.876385, 34 0.873655, 0.870924, 0.868194, 0.865464, 0.862734, 0.860004, 35 0.857273, 0.854543, 0.851813, 0.849083, 0.846353, 0.843622, 36 0.840892, 0.838162, 0.835432, 0.832702, 0.829971, 0.827241, 37 0.824511, 0.821781, 0.819051, 0.816320, 0.813590, 0.810860, 38 0.808130, 0.805400, 0.802670, 0.799939, 0.797209, 0.794479, 39 0.791749, 0.789019, 0.786288, 0.783558, 0.780828, 0.778098, 40 0.775367, 0.772637, 0.769907, 0.767177, 0.764447, 0.761717, 41 0.758986, 0.756256, 0.753526, 0.750796, 0.748066, 0.745335, 42 0.742605, 0.739875, 0.737145, 0.734415, 0.731684, 0.728954, 43 0.726224, 0.723494, 0.720764, 0.718033, 0.715303, 0.712573, 44 0.709843, 0.707113, 0.704382, 0.701652, 0.698922, 0.696192, 45 0.693462, 0.690732, 0.688001, 0.685271, 0.682541, 0.679811, 46 0.677081, 0.674350, 0.671620, 0.668890, 0.666160, 0.663429, 47 0.660699, 0.657969, 0.655239, 0.652509, 0.649779, 0.647048, 48 0.644318, 0.641588, 0.638858, 0.636128, 0.633397, 0.630667, 49 0.627937, 0.625207, 0.622477, 0.619746, 0.617016, 0.614286, 50 0.611556, 0.608826, 0.606095, 0.603365, 0.600635, 0.597905, 51 0.595175, 0.592444, 0.589714, 0.586984, 0.584254, 0.581524, 52 0.578794, 0.576063, 0.573333, 0.570603, 0.567873, 0.565143, 53 0.562412, 0.559682, 0.556952, 0.554222, 0.551492, 0.548761, 54 0.546031, 0.543301, 0.540571, 0.537841, 0.535111, 0.532380, 55 0.529650, 0.526920, 0.524190, 0.521460, 0.518729, 0.515999, 56 0.513269, 0.510539, 0.507809, 0.505079, 0.502348, 0.499618, 57 0.496888, 0.494158, 0.491428, 0.488698, 0.485967, 0.483237, 58 0.480507, 0.477777, 0.475047, 0.472316, 0.469586, 0.466856, 59 0.464126, 0.461396, 0.458666, 0.455935, 0.453205, 0.450475, 60 0.447745, 0.445015, 0.442285, 0.439555, 0.436824, 0.434094, 61 0.431364, 0.428634, 0.425904, 0.423173, 0.420443, 0.417713, 62 0.414983, 0.412253, 0.409523, 0.406792, 0.404062, 0.401332, 63 0.398602, 0.395872, 0.393142, 0.390411, 0.387681, 0.384951, 64 0.382221, 0.379491, 0.376761, 0.374031, 0.371300, 0.368570, 65 0.365840, 0.363110, 0.360380, 0.357650, 0.354919, 0.352189, 66 0.349459, 0.346729, 0.343999, 0.341269, 0.338538, 0.335808, 67 0.333078, 0.330348, 0.327618, 0.324888, 0.322157, 0.319427, 68 0.316697, 0.313967, 0.311237, 0.308507, 0.305776, 0.303046, 69 0.300316, 0.297586, 0.294856, 0.292126, 0.289395, 0.286665, 70 0.283935, 0.281205, 0.278475, 0.275745, 0.273014, 0.270284, 71 0.267554, 0.264824, 0.262094, 0.259363, 0.256633, 0.253903, 72 0.251173, 0.248443, 0.245713, 0.242982, 0.240252, 0.237522, 73 0.234792, 0.232062, 0.229332, 0.226601, 0.223871, 0.221141, 74 0.218411, 0.215681, 0.212951, 0.210220, 0.207490, 0.204760, 75 0.202030, 0.199300, 0.196570, 0.193839, 0.191109, 0.188379, 76 0.185649, 0.182919, 0.180188, 0.177458, 0.174728, 0.171998, 77 0.169268, 0.166538, 0.163807, 0.161077, 0.158347, 0.155617, 78 0.152887, 0.150156, 0.147426, 0.144696, 0.141966, 0.139236, 79 0.136506, 0.133775, 0.131045, 0.128315, 0.125585, 0.122855, 80 0.120125, 0.117394, 0.114664, 0.111934, 0.109204, 0.106474, 81 0.103743, 0.101013, 0.098283, 0.095553, 0.092823, 0.090093, 82 0.087362, 0.084632, 0.081902, 0.079172, 0.076442, 0.073711, 83 0.070981, 0.068251, 0.065521, 0.062791, 0.060061, 0.057330, 84 0.054600, 0.051870, 0.049140, 0.046410, 0.043680, 0.040949, 85 0.038219, 0.035489, 0.032759, 0.030029, 0.027299, 0.024568, 86 0.021838, 0.019108, 0.016378, 0.013648, 0.010918, 0.008187, 87 0.005457, 0.002727, -0.000003, -0.002733, -0.005464, -0.008194, 88 -0.010924, -0.013654, -0.016384, -0.019114, -0.021845, -0.024575, 89 -0.027305, -0.030035, -0.032765, -0.035495, -0.038226, -0.040956, 90 -0.043686, -0.046416, -0.049146, -0.051876, -0.054607, -0.057337, 91 -0.060067, -0.062797, -0.065527, -0.068258, -0.070988, -0.073718, 92 -0.076448, -0.079178, -0.081908, -0.084639, -0.087369, -0.090099, 93 -0.092829, -0.095559, -0.098289, -0.101020, -0.103750, -0.106480, 94 -0.109210, -0.111940, -0.114671, -0.117401, -0.120131, -0.122861, 95 -0.125591, -0.128321, -0.131052, -0.133782, -0.136512, -0.139242, 96 -0.141972, -0.144702, -0.147433, -0.150163, -0.152893, -0.155623, 97 -0.158353, -0.161084, -0.163814, -0.166544, -0.169274, -0.172004, 98 -0.174734, -0.177465, -0.180195, -0.182925, -0.185655, -0.188385, 99 -0.191115, -0.193846, -0.196576, -0.199306, -0.202036, -0.204766, 100 -0.207497, -0.210227, -0.212957, -0.215687, -0.218417, -0.221147, 101 -0.223878, -0.226608, -0.229338, -0.232068, -0.234798, -0.237528, 102 -0.240259, -0.242989, -0.245719, -0.248449, -0.251179, -0.253909, 103 -0.256640, -0.259370, -0.262100, -0.264830, -0.267560, -0.270291, 104 -0.273021, -0.275751, -0.278481, -0.281211, -0.283941, -0.286672, 105 -0.289402, -0.292132, -0.294862, -0.297592, -0.300322, -0.303053, 106 -0.305783, -0.308513, -0.311243, -0.313973, -0.316703, -0.319434, 107 -0.322164, -0.324894, -0.327624, -0.330354, -0.333084, -0.335815, 108 -0.338545, -0.341275, -0.344005, -0.346735, -0.349465, -0.352196, 109 -0.354926, -0.357656, -0.360386, -0.363116, -0.365846, -0.368577, 110 -0.371307, -0.374037, -0.376767, -0.379497, -0.382227, -0.384958, 111 -0.387688, -0.390418, -0.393148, -0.395878, -0.398608, -0.401339, 112 -0.404069, -0.406799, -0.409529, -0.412259, -0.414989, -0.417720, 113 -0.420450, -0.423180, -0.425910, -0.428640, -0.431370, -0.434101, 114 -0.436831, -0.439561, -0.442291, -0.445021, -0.447751, -0.450482, 115 -0.453212, -0.455942, -0.458672, -0.461402, -0.464132, -0.466862, 116 -0.469593, -0.472323, -0.475053, -0.477783, -0.480513, -0.483244, 117 -0.485974, -0.488704, -0.491434, -0.494164, -0.496894, -0.499625, 118 -0.502355, -0.505085, -0.507815, -0.510545, -0.513275, -0.516006, 119 -0.518736, -0.521466, -0.524196, -0.526926, -0.529657, -0.532387, 120 -0.535117, -0.537847, -0.540577, -0.543307, -0.546038, -0.548768, 121 -0.551498, -0.554228, -0.556958, -0.559689, -0.562419, -0.565149, 122 -0.567879, -0.570609, -0.573339, -0.576070, -0.578800, -0.581530, 123 -0.584260, -0.586990, -0.589721, -0.592451, -0.595181, -0.597911, 124 -0.600641, -0.603372, -0.606102, -0.608832, -0.611562, -0.614292, 125 -0.617023, -0.619753, -0.622483, -0.625213, -0.627943, -0.630674, 126 -0.633404, -0.636134, -0.638864, -0.641594, -0.644325, -0.647055, 127 -0.649785, -0.652515, -0.655245, -0.657976, -0.660706, -0.663436, 128 -0.666166, -0.668896, -0.671626, -0.674357, -0.677087, -0.679817, 129 -0.682547, -0.685277, -0.688008, -0.690738, -0.693468, -0.696198, 130 -0.698928, -0.701659, -0.704389, -0.707119, -0.709849, -0.712579, 131 -0.715310, -0.718040, -0.720770, -0.723500, -0.726230, -0.728961, 132 -0.731691, -0.734421, -0.737151, -0.739881, -0.742612, -0.745342, 133 -0.748072, -0.750802, -0.753532, -0.756262, -0.758993, -0.761723, 134 -0.764453, -0.767183, -0.769913, -0.772644, -0.775374, -0.778104, 135 -0.780834, -0.783564, -0.786295, -0.789025, -0.791755, -0.794485, 136 -0.797216, -0.799946, -0.802676, -0.805406, -0.808136, -0.810866, 137 -0.813597, -0.816327, -0.819057, -0.821787, -0.824517, -0.827248, 138 -0.829978, -0.832708, -0.835438, -0.838169, -0.840899, -0.843629, 139 -0.846359, -0.849089, -0.851819, -0.854550, -0.857280, -0.860010, 140 -0.862740, -0.865470, -0.868201, -0.870931, -0.873661, -0.876391, 141 -0.879121, -0.881852, -0.884582, -0.887312, -0.890042, -0.892772, 142 -0.895503, -0.898233, -0.900963, -0.903693, -0.906423, -0.909153, 143 -0.911884, -0.914614, -0.917344, -0.920074, -0.922804, -0.925535, 144 -0.928265, -0.930995, -0.933725, -0.936455, -0.939186, -0.941916, 145 -0.944646, -0.947376, -0.950106, -0.952837, -0.955567, -0.958297, 146 -0.961027, -0.963589, -0.965984, -0.968210, -0.970268, -0.972158, 147 -0.973880, -0.975434, -0.976820, -0.978038, -0.979089, -0.979971, 148 -0.980685, -0.981231, -0.981609, -0.981819, -0.981861, -0.981735, 149 -0.981441, -0.980979, -0.980349, -0.979551, -0.978585, -0.977451, 150 -0.976149, -0.974679, -0.973040, -0.971234, -0.969260, -0.967118, 151 -0.964808, -0.962330, -0.959684, -0.956869, -0.953887, -0.950737, 152 -0.947419, -0.943933, -0.940278, -0.936456, -0.932466, -0.928308, 153 -0.923981, -0.919487, -0.914825, -0.909995, -0.904996, -0.899830, 154 -0.894496, -0.888993, -0.883323, -0.877485, -0.871478, -0.865304, 155 -0.858961, -0.852451, -0.845773, -0.838926, -0.831912, -0.824729, 156 -0.817379, -0.809860, -0.802174, -0.794319, -0.786297, -0.778106, 157 -0.769916, -0.761725, -0.753535, -0.745344, -0.737154, -0.728963, 158 -0.720773, -0.712582, -0.704391, -0.696201, -0.688010, -0.679820, 159 -0.671629, -0.663439, -0.655248, -0.647058, -0.638867, -0.630677, 160 -0.622486, -0.614296, -0.606105, -0.597915, -0.589724, -0.581534, 161 -0.573343, -0.565153, -0.556962, -0.548771, -0.540581, -0.532390, 162 -0.524200, -0.516009, -0.507819, -0.499628, -0.491438, -0.483247, 163 -0.475057, -0.466866, -0.458676, -0.450485, -0.442295, -0.434104, 164 -0.425914, -0.417723, -0.409533, -0.401342, -0.393152, -0.384961, 165 -0.376770, -0.368580, -0.360389, -0.352199, -0.344008, -0.335818, 166 -0.327627, -0.319437, -0.311246, -0.303056, -0.294865, -0.286675, 167 -0.278484, -0.270294, -0.262103, -0.253912, -0.245722, -0.237531, 168 -0.229341, -0.221150, -0.212959, -0.204769, -0.196578, -0.188387, 169 -0.180197, -0.172006, -0.163816, -0.155625, -0.147434, -0.139244, 170 -0.131053, -0.122862, -0.114672, -0.106481, -0.098291, -0.090100, 171 -0.081909, -0.073719, -0.065528, -0.057337, -0.049147, -0.040956, 172 -0.032766, -0.024575, -0.016384, -0.008194, 0.000000 173 }; 174