From 76c6513a8fa9817613abbd39e1982a0ecc1991ca Mon Sep 17 00:00:00 2001 From: Tim Barrass Date: Fri, 28 Jun 2013 00:01:03 +1000 Subject: [PATCH] update 0.01.12c tentative --- AudioDelay.h | 7 + ControlDelay.h | 11 +- Doxyfile | 291 ++- Line.h | 6 +- MozziGuts.h | 43 +- NEWS.txt | 13 +- Oscil.h | 11 +- README.md | 2 +- RecentAverage.h | 2 +- Sample.h | 30 +- VERSION.txt | 2 +- ..._control__echo__theremin_8ino-example.html | 193 ++ ...udio_delay_2_audio_delay_8ino-example.html | 171 ++ doc/html/_a_d_s_r_8h_source.html | 568 ++--- ...io_config_hi_speed14bit_pwm_8h_source.html | 131 +- ...dio_config_standard9bit_pwm_8h_source.html | 105 +- doc/html/_audio_delay_8h_source.html | 281 +-- doc/html/_audio_delay_feedback_8h_source.html | 673 +++--- doc/html/_auto_range_8h_source.html | 173 ++ doc/html/_control_delay_8h_source.html | 152 ++ doc/html/_d_cfilter_8h_source.html | 231 +- doc/html/_ead_8h_source.html | 341 +-- doc/html/_event_delay_8h_source.html | 225 +- doc/html/_line_8h_source.html | 239 +- doc/html/_low_pass_filter_8h_source.html | 309 +-- doc/html/_mozzi_guts_8cpp_source.html | 935 ++++---- doc/html/_mozzi_guts_8h_source.html | 283 +-- doc/html/_oscil_8h_source.html | 543 ++--- doc/html/_phasor_8h_source.html | 273 +-- doc/html/_portamento_8h_source.html | 261 ++- doc/html/_r_cpoll_8h_source.html | 159 +- doc/html/_recent_average_8h_source.html | 505 ++-- doc/html/_reverb_tank_8h_source.html | 265 ++- doc/html/_sample_8h_source.html | 567 ++--- doc/html/_smooth_8h_source.html | 373 +-- doc/html/_state_variable_8h_source.html | 385 +-- doc/html/_wave_packet_8h_source.html | 403 ++-- doc/html/_wave_shaper_8h_source.html | 235 +- doc/html/abomb16384__int8_8h_source.html | 1515 ++++++------ doc/html/annotated.html | 111 +- doc/html/annotated.js | 23 + .../bamboo__00__2048__int8_8h_source.html | 295 +-- .../bamboo__00__4096__int8_8h_source.html | 473 ++-- .../bamboo__01__2048__int8_8h_source.html | 295 +-- .../bamboo__01__4096__int8_8h_source.html | 469 ++-- .../bamboo__02__2048__int8_8h_source.html | 297 +-- .../bamboo__02__4096__int8_8h_source.html | 471 ++-- .../bamboo__03__2048__int8_8h_source.html | 297 +-- .../bamboo__03__4096__int8_8h_source.html | 473 ++-- .../bamboo__04__2048__int8_8h_source.html | 297 +-- .../bamboo__04__4096__int8_8h_source.html | 471 ++-- .../bamboo__05__2048__int8_8h_source.html | 301 +-- .../bamboo__05__4096__int8_8h_source.html | 477 ++-- .../bamboo__06__2048__int8_8h_source.html | 297 +-- .../bamboo__07__2048__int8_8h_source.html | 295 +-- .../bamboo__08__2048__int8_8h_source.html | 295 +-- .../bamboo__09__2048__int8_8h_source.html | 295 +-- .../bamboo__10__2048__int8_8h_source.html | 295 +-- doc/html/bc_s.png | Bin 671 -> 670 bytes doc/html/bdwn.png | Bin 146 -> 145 bytes doc/html/brownnoise8192__int8_8h_source.html | 1087 ++++----- .../burroughs1__18649__int8_8h_source.html | 2077 +++++++++-------- doc/html/char2mozzi-old_8py_source.html | 221 +- doc/html/char2mozzi_8py_source.html | 229 +- doc/html/chebyshev__int8_8py_source.html | 193 +- doc/html/chum78__int8_8h_source.html | 1047 +++++---- doc/html/chum9__int8_8h_source.html | 1013 ++++---- doc/html/class_a_d_s_r-members.html | 104 +- doc/html/class_a_d_s_r.html | 456 ++-- doc/html/class_a_d_s_r.js | 18 + doc/html/class_audio_delay-members.html | 86 +- doc/html/class_audio_delay.html | 221 +- doc/html/class_audio_delay.js | 9 + doc/html/class_audio_delay.png | Bin 0 -> 1042 bytes .../class_audio_delay_feedback-members.html | 5 +- doc/html/class_audio_delay_feedback.html | 5 +- doc/html/class_auto_range-members.html | 129 + doc/html/class_auto_range.html | 264 +++ doc/html/class_auto_range.js | 6 + doc/html/class_control_delay-members.html | 132 ++ doc/html/class_control_delay.html | 174 ++ doc/html/class_control_delay.png | Bin 0 -> 1038 bytes doc/html/class_d_cfilter-members.html | 78 +- doc/html/class_d_cfilter.html | 130 +- doc/html/class_d_cfilter.js | 5 + doc/html/class_ead-members.html | 88 +- doc/html/class_ead.html | 269 ++- doc/html/class_ead.js | 10 + doc/html/class_event_delay-members.html | 84 +- doc/html/class_event_delay.html | 202 +- doc/html/class_event_delay.js | 8 + doc/html/class_line-members.html | 84 +- doc/html/class_line.html | 212 +- doc/html/class_line.js | 8 + doc/html/class_low_pass_filter-members.html | 82 +- doc/html/class_low_pass_filter.html | 153 +- doc/html/class_low_pass_filter.js | 7 + doc/html/class_oscil-members.html | 104 +- doc/html/class_oscil.html | 506 ++-- doc/html/class_oscil.js | 18 + doc/html/class_phasor-members.html | 88 +- doc/html/class_phasor.html | 266 ++- doc/html/class_phasor.js | 10 + doc/html/class_portamento-members.html | 84 +- doc/html/class_portamento.html | 175 +- doc/html/class_portamento.js | 8 + doc/html/class_r_cpoll-members.html | 78 +- doc/html/class_r_cpoll.html | 109 +- doc/html/class_r_cpoll.js | 5 + doc/html/class_recent_average-members.html | 78 +- doc/html/class_recent_average.html | 143 +- doc/html/class_recent_average.js | 5 + doc/html/class_reverb_tank-members.html | 84 +- doc/html/class_reverb_tank.html | 192 +- doc/html/class_reverb_tank.js | 8 + doc/html/class_sample-members.html | 110 +- doc/html/class_sample.html | 450 ++-- doc/html/class_sample.js | 21 + doc/html/class_smooth-members.html | 80 +- doc/html/class_smooth.html | 156 +- doc/html/class_smooth.js | 6 + doc/html/class_state_variable-members.html | 82 +- doc/html/class_state_variable.html | 163 +- doc/html/class_state_variable.js | 7 + doc/html/class_wave_packet-members.html | 86 +- doc/html/class_wave_packet.html | 194 +- doc/html/class_wave_packet.js | 9 + doc/html/class_wave_shaper.html | 77 +- doc/html/classes.html | 109 +- doc/html/closed.png | Bin 126 -> 132 bytes doc/html/cos1024__int8_8h_source.html | 239 +- doc/html/cos2048__int8_8h_source.html | 365 +-- doc/html/cos256__int8_8h_source.html | 145 +- doc/html/cos4096__int8_8h_source.html | 617 ++--- doc/html/cos512__int8_8h_source.html | 175 +- doc/html/cos8192__int8_8h_source.html | 1121 ++++----- doc/html/cosphase2048__int8_8h_source.html | 367 +-- doc/html/cosphase256__int8_8h_source.html | 151 +- doc/html/cosphase8192__int8_8h_source.html | 1125 ++++----- .../dir_112f3ba1b16e25834edeb1f9f1ac63ae.html | 155 ++ .../dir_6f9635d4fbfa321d4c00f29df5cd540c.html | 130 ++ .../dir_7837fde3ab9c1fb2fc5be7b717af8d79.html | 141 ++ .../dir_9f351d46ce3cc29445a41dc3a31e6919.html | 123 + .../dir_c14d9bf81a1758ecfa63ad49c7d2ec2e.html | 237 ++ doc/html/doxygen.css | 422 +++- doc/html/doxygen.png | Bin 4002 -> 3837 bytes doc/html/dynsections.js | 97 + doc/html/envelop2048__uint8_8h_source.html | 319 +-- doc/html/examples.html | 122 + doc/html/examples.js | 5 + doc/html/files.html | 39 +- doc/html/float2mozzi_8py_source.html | 179 +- doc/html/float2mozzi__uint8_8py_source.html | 167 +- doc/html/ftv2blank.png | Bin 0 -> 86 bytes doc/html/ftv2cl.png | Bin 0 -> 451 bytes doc/html/ftv2doc.png | Bin 0 -> 771 bytes doc/html/ftv2folderclosed.png | Bin 0 -> 578 bytes doc/html/ftv2folderopen.png | Bin 0 -> 615 bytes doc/html/ftv2lastnode.png | Bin 0 -> 86 bytes doc/html/ftv2link.png | Bin 0 -> 771 bytes doc/html/ftv2mlastnode.png | Bin 0 -> 244 bytes doc/html/ftv2mnode.png | Bin 0 -> 244 bytes doc/html/ftv2mo.png | Bin 0 -> 392 bytes doc/html/ftv2node.png | Bin 0 -> 86 bytes doc/html/ftv2ns.png | Bin 0 -> 382 bytes doc/html/ftv2plastnode.png | Bin 0 -> 230 bytes doc/html/ftv2pnode.png | Bin 0 -> 230 bytes doc/html/ftv2splitbar.png | Bin 0 -> 313 bytes doc/html/ftv2vertline.png | Bin 0 -> 86 bytes doc/html/functions.html | 128 +- doc/html/functions_func.html | 128 +- doc/html/group___soundtables.html | 121 + doc/html/group__analog.html | 262 ++- doc/html/group__analog.js | 16 + doc/html/group__core.html | 250 +- doc/html/group__core.js | 17 + doc/html/group__midi.html | 147 +- doc/html/group__midi.js | 7 + doc/html/group__mozzi__fixmath.html | 1754 +++++++++----- doc/html/group__mozzi__fixmath.js | 106 + doc/html/group__random.html | 303 +-- doc/html/group__random.js | 18 + doc/html/group__util.html | 142 +- doc/html/group__util.js | 6 + doc/html/halfsin256__uint8_8h_source.html | 143 +- .../halfsinwindow512__uint8_8h_source.html | 163 +- doc/html/hierarchy.html | 155 ++ doc/html/hierarchy.js | 32 + .../horse__lips__8192__int8_8h_source.html | 881 +++---- doc/html/index.html | 84 +- doc/html/jquery.js | 102 +- doc/html/known__16bit__timers_8h_source.html | 251 +- doc/html/meta_8h_source.html | 161 +- doc/html/modules.html | 86 +- doc/html/modules.js | 10 + doc/html/mozzi__analog_8cpp_source.html | 641 ++--- doc/html/mozzi__analog_8h_source.html | 291 +-- doc/html/mozzi__config_8h_source.html | 117 +- doc/html/mozzi__fixmath_8cpp_source.html | 253 +- doc/html/mozzi__fixmath_8h_source.html | 975 ++++---- doc/html/mozzi__midi_8cpp_source.html | 335 +-- doc/html/mozzi__midi_8h_source.html | 95 +- doc/html/mozzi__rand_8cpp_source.html | 357 +-- doc/html/mozzi__rand_8h_source.html | 133 +- doc/html/mozzi__utils_8h_source.html | 156 +- doc/html/mult16x16_8h_source.html | 561 ++--- doc/html/mult16x8_8h_source.html | 249 +- doc/html/mult32x16_8h_source.html | 231 +- doc/html/nav_f.png | Bin 162 -> 159 bytes doc/html/nav_g.png | Bin 0 -> 95 bytes doc/html/nav_h.png | Bin 96 -> 98 bytes doc/html/navtree.css | 143 ++ doc/html/navtree.js | 522 +++++ doc/html/navtreeindex0.js | 253 ++ doc/html/navtreeindex1.js | 60 + ...ise__static__1__16384__int8_8h_source.html | 1739 +++++++------- doc/html/open.png | Bin 117 -> 122 bytes doc/html/phasor256__int8_8h_source.html | 149 +- doc/html/pinknoise8192__int8_8h_source.html | 1007 ++++---- doc/html/primes_8h_source.html | 193 +- doc/html/resize.js | 93 + doc/html/saw1024__int8_8h_source.html | 233 +- doc/html/saw2048__int8_8h_source.html | 351 +-- doc/html/saw256__int8_8h_source.html | 143 +- doc/html/saw4096__int8_8h_source.html | 591 ++--- doc/html/saw512__int8_8h_source.html | 173 +- doc/html/saw8192__int8_8h_source.html | 1069 ++++----- .../saw__analogue512__int8_8h_source.html | 175 +- doc/html/search/all_61.html | 1 + doc/html/search/all_61.js | 10 +- doc/html/search/all_63.html | 1 + doc/html/search/all_63.js | 3 +- doc/html/search/all_64.html | 1 + doc/html/search/all_65.html | 1 + doc/html/search/all_66.html | 1 + doc/html/search/all_66.js | 3 +- doc/html/search/all_67.html | 1 + doc/html/search/all_68.html | 1 + doc/html/search/all_69.html | 1 + doc/html/search/all_6c.html | 1 + doc/html/search/all_6c.js | 6 +- doc/html/search/all_6d.html | 1 + doc/html/search/all_6d.js | 7 +- doc/html/search/all_6e.html | 1 + doc/html/search/all_6e.js | 2 +- doc/html/search/all_6f.html | 1 + doc/html/search/all_6f.js | 2 +- doc/html/search/all_70.html | 1 + doc/html/search/all_70.js | 2 +- doc/html/search/all_71.html | 1 + doc/html/search/all_72.html | 1 + doc/html/search/all_72.js | 2 +- doc/html/search/all_73.html | 1 + doc/html/search/all_73.js | 7 +- doc/html/search/all_75.html | 1 + doc/html/search/all_77.html | 1 + doc/html/search/all_77.js | 5 +- doc/html/search/all_78.html | 1 + doc/html/search/classes_61.html | 1 + doc/html/search/classes_61.js | 8 +- doc/html/search/classes_63.html | 26 + doc/html/search/classes_63.js | 4 + doc/html/search/classes_64.html | 1 + doc/html/search/classes_65.html | 1 + doc/html/search/classes_6c.html | 1 + doc/html/search/classes_6c.js | 6 +- doc/html/search/classes_6f.html | 1 + doc/html/search/classes_6f.js | 2 +- doc/html/search/classes_70.html | 1 + doc/html/search/classes_70.js | 2 +- doc/html/search/classes_72.html | 1 + doc/html/search/classes_73.html | 1 + doc/html/search/classes_77.html | 1 + doc/html/search/functions_61.html | 1 + doc/html/search/functions_61.js | 4 +- doc/html/search/functions_64.html | 1 + doc/html/search/functions_65.html | 1 + doc/html/search/functions_66.html | 1 + doc/html/search/functions_67.html | 1 + doc/html/search/functions_69.html | 1 + doc/html/search/functions_6c.html | 1 + doc/html/search/functions_6d.html | 1 + doc/html/search/functions_6e.html | 1 + doc/html/search/functions_6e.js | 2 +- doc/html/search/functions_6f.html | 1 + doc/html/search/functions_70.html | 1 + doc/html/search/functions_71.html | 1 + doc/html/search/functions_72.html | 1 + doc/html/search/functions_72.js | 2 +- doc/html/search/functions_73.html | 1 + doc/html/search/functions_73.js | 6 +- doc/html/search/functions_75.html | 1 + doc/html/search/functions_77.html | 1 + doc/html/search/functions_77.js | 4 +- doc/html/search/functions_78.html | 1 + doc/html/search/groups_66.html | 26 + doc/html/search/groups_66.js | 4 + doc/html/search/groups_6d.html | 26 + doc/html/search/groups_6d.js | 8 + doc/html/search/groups_73.html | 26 + doc/html/search/groups_73.js | 4 + doc/html/search/pages_77.html | 26 + doc/html/search/pages_77.js | 4 + doc/html/search/search.css | 35 +- doc/html/search/search.js | 10 +- doc/html/search/typedefs_71.html | 1 + doc/html/sin1024__int8_8h_source.html | 236 +- doc/html/sin1024__int8_8py_source.html | 157 ++ doc/html/sin1024__uint8_8h_source.html | 215 +- doc/html/sin2048__int8_8h_source.html | 365 +-- doc/html/sin256__int8_8h_source.html | 145 +- doc/html/sin4096__int8_8h_source.html | 617 ++--- doc/html/sin512__int8_8h_source.html | 175 +- doc/html/sin8192__int8_8h_source.html | 1121 ++++----- doc/html/sin8192__uint8_8h_source.html | 1021 ++++---- doc/html/sin8192__uint8_8py_source.html | 163 +- doc/html/sin__levels__int8_8py_source.html | 159 +- .../sin__multi__levels__int8_8py_source.html | 171 +- .../smoothsquare8192__int8_8h_source.html | 1205 +++++----- .../square__analogue512__int8_8h_source.html | 183 +- .../square__no__alias512__int8_8h_source.html | 191 +- doc/html/sync_off.png | Bin 0 -> 856 bytes doc/html/sync_on.png | Bin 0 -> 844 bytes doc/html/tab_a.png | Bin 140 -> 142 bytes doc/html/tab_b.png | Bin 181 -> 176 bytes doc/html/tab_h.png | Bin 197 -> 185 bytes doc/html/tab_s.png | Bin 198 -> 196 bytes ...table__generator__template_8py_source.html | 133 +- doc/html/tabs.css | 1 + doc/html/triangle1024__int8_8h_source.html | 233 +- doc/html/triangle2048__int8_8h_source.html | 351 +-- doc/html/triangle512__int8_8h_source.html | 173 +- ...triangle__analogue512__int8_8h_source.html | 177 +- ...le__dist__cubed__2048__int8_8h_source.html | 341 +-- ...__dist__squared__2048__int8_8h_source.html | 313 +-- ...riangle__hermes__2048__int8_8h_source.html | 351 +-- ...triangle__valve__2048__int8_8h_source.html | 349 +-- ...angle__valve__2__2048__int8_8h_source.html | 361 +-- .../triangle__warm8192__int8_8h_source.html | 1075 ++++----- doc/html/twi__nonblock_8cpp_source.html | 1233 +++++----- doc/html/twi__nonblock_8h_source.html | 263 ++- doc/html/uphasor256__uint8_8h_source.html | 169 +- .../waveshape1__softclip__int8_8h_source.html | 155 +- ...aveshape2__softerclip__int8_8h_source.html | 153 +- ...__chebyshev__3rd__256__int8_8h_source.html | 147 +- ...__chebyshev__4th__256__int8_8h_source.html | 147 +- ...__chebyshev__5th__256__int8_8h_source.html | 147 +- ...__chebyshev__6th__256__int8_8h_source.html | 147 +- ...mpress__512__to__488__int16_8h_source.html | 195 +- .../waveshape__sigmoid__int8_8h_source.html | 151 +- doc/html/waveshape__tanh__int8_8h_source.html | 143 +- doc/html/whitenoise8192__int8_8h_source.html | 1073 ++++----- .../_01_basics/Control_Gain/Control_Gain.mp3 | Bin 40229 -> 40229 bytes .../_01_basics/Control_Gain/Control_Gain.ogg | Bin 28624 -> 28257 bytes examples/_01_basics/Sinewave/Sinewave.mp3 | Bin 40229 -> 40229 bytes examples/_01_basics/Sinewave/Sinewave.ogg | Bin 20872 -> 21366 bytes .../Sinewave_HIFI/Sinewave_HIFI.mp3 | Bin 0 -> 40229 bytes .../Sinewave_HIFI/Sinewave_HIFI.ogg | Bin 0 -> 26343 bytes examples/_01_basics/Skeleton/Skeleton.mp3 | Bin 40229 -> 40229 bytes examples/_01_basics/Skeleton/Skeleton.ogg | Bin 24881 -> 25193 bytes .../Table_Resolution/Table_Resolution.mp3 | Bin 40229 -> 40229 bytes .../Table_Resolution/Table_Resolution.ogg | Bin 32325 -> 198934 bytes examples/_01_basics/Vibrato/Vibrato.mp3 | Bin 40229 -> 40229 bytes examples/_01_basics/Vibrato/Vibrato.ogg | Bin 24120 -> 24872 bytes .../Control_Echo_Theremin.ino | 76 + .../Control_Echo_Theremin.mp3 | Bin 0 -> 40229 bytes .../Control_Echo_Theremin.ogg | Bin 0 -> 15952 bytes .../Control_Oscil_Wash/Control_Oscil_Wash.mp3 | Bin 40229 -> 40229 bytes .../Control_Oscil_Wash/Control_Oscil_Wash.ogg | Bin 24998 -> 26017 bytes .../Control_Tremelo/Control_Tremelo.mp3 | Bin 40229 -> 40229 bytes .../Control_Tremelo/Control_Tremelo.ogg | Bin 31654 -> 31792 bytes .../_02_control/EventDelay/EventDelay.mp3 | Bin 40229 -> 40229 bytes .../_02_control/EventDelay/EventDelay.ogg | Bin 24991 -> 25471 bytes .../_02_control/Line_Gliss/Line_Gliss.mp3 | Bin 40229 -> 40229 bytes .../_02_control/Line_Gliss/Line_Gliss.ogg | Bin 34078 -> 33868 bytes .../Line_Gliss_Double/Line_Gliss_Double.ino | 119 - .../Line_Gliss_Double/Line_Gliss_Double.mp3 | Bin 40229 -> 0 bytes .../Line_Gliss_Double/Line_Gliss_Double.ogg | Bin 36495 -> 0 bytes .../Line_Gliss_Double_32k_HIFI.ino} | 0 .../Line_Gliss_Double_32k_HIFI.mp3 | Bin 0 -> 40229 bytes .../Line_Gliss_Double_32k_HIFI.ogg | Bin 0 -> 37693 bytes .../Line_Gliss_Double_HIFI_32k.mp3 | Bin 40229 -> 0 bytes .../Line_Gliss_Double_HIFI_32k.ogg | Bin 46192 -> 0 bytes examples/_02_control/Pause/Pause.mp3 | Bin 40229 -> 40229 bytes examples/_02_control/Pause/Pause.ogg | Bin 42460 -> 25173 bytes examples/_02_control/RCpoll/RCpoll.mp3 | Bin 0 -> 40229 bytes examples/_02_control/RCpoll/RCpoll.ogg | Bin 0 -> 30178 bytes .../Knob_LDR_x2_WavePacket.mp3 | Bin 0 -> 40229 bytes .../Knob_LDR_x2_WavePacket.ogg | Bin 0 -> 30577 bytes .../Knob_LightLevel_FMsynth.mp3 | Bin 0 -> 40229 bytes .../Knob_LightLevel_FMsynth.ogg | Bin 0 -> 37011 bytes .../Knob_LightLevel_x2_FMsynth.mp3 | Bin 0 -> 40229 bytes .../Knob_LightLevel_x2_FMsynth.ogg | Bin 0 -> 45896 bytes .../Piezo_Frequency/Piezo_Frequency.mp3 | Bin 0 -> 40229 bytes .../Piezo_Frequency/Piezo_Frequency.ogg | Bin 0 -> 29176 bytes .../Piezo_SampleScrubber.mp3 | Bin 0 -> 40229 bytes .../Piezo_SampleScrubber.ogg | Bin 0 -> 44892 bytes .../Piezo_SampleTrigger.mp3 | Bin 0 -> 40229 bytes .../Piezo_SampleTrigger.ogg | Bin 0 -> 24661 bytes .../Piezo_Switch_Pitch/Piezo_Switch_Pitch.mp3 | Bin 0 -> 40229 bytes .../Piezo_Switch_Pitch/Piezo_Switch_Pitch.ogg | Bin 0 -> 24583 bytes .../_03_sensors/Volume_Knob/Volume_Knob.mp3 | Bin 0 -> 40229 bytes .../_03_sensors/Volume_Knob/Volume_Knob.ogg | Bin 0 -> 25186 bytes .../Volume_Knob_LightLevel_Frequency.mp3 | Bin 0 -> 40229 bytes .../Volume_Knob_LightLevel_Frequency.ogg | Bin 0 -> 17754 bytes .../Audio_Input/Audio_Input.mp3 | Bin 0 -> 40229 bytes .../Audio_Input/Audio_Input.ogg | Bin 0 -> 17745 bytes .../adcReadAllChannels/adcReadAllChannels.mp3 | Bin 40229 -> 40229 bytes .../adcReadAllChannels/adcReadAllChannels.ogg | Bin 24870 -> 25053 bytes .../adcReadAllChannels_LowPassFilter.mp3 | Bin 161749 -> 40229 bytes .../adcReadAllChannels_LowPassFilter.ogg | Bin 108578 -> 25128 bytes .../adc_One_at_a_Time/adc_One_at_a_Time.mp3 | Bin 40229 -> 40229 bytes .../adc_One_at_a_Time/adc_One_at_a_Time.ogg | Bin 24940 -> 24752 bytes .../_05_control_filters/DCfilter/DCfilter.mp3 | Bin 40229 -> 40229 bytes .../_05_control_filters/DCfilter/DCfilter.ogg | Bin 24569 -> 24615 bytes .../RecentAverage/RecentAverage.mp3 | Bin 0 -> 40229 bytes .../RecentAverage/RecentAverage.ogg | Bin 0 -> 14364 bytes .../_05_control_filters/Smooth/Smooth.mp3 | Bin 40229 -> 40229 bytes .../_05_control_filters/Smooth/Smooth.ogg | Bin 31564 -> 31656 bytes .../Smooth_Frequency/Smooth_Frequency.mp3 | Bin 40229 -> 40229 bytes .../Smooth_Frequency/Smooth_Frequency.ogg | Bin 22368 -> 22719 bytes examples/_06_synthesis/AMsynth/AMsynth.mp3 | Bin 40229 -> 161749 bytes examples/_06_synthesis/AMsynth/AMsynth.ogg | Bin 31894 -> 262761 bytes .../AMsynth_HIFI/AMsynth_HIFI.mp3 | Bin 40229 -> 40229 bytes .../AMsynth_HIFI/AMsynth_HIFI.ogg | Bin 48699 -> 32486 bytes .../Detuned_Beats_Wash/Detuned_Beats_Wash.mp3 | Bin 40229 -> 40229 bytes .../Detuned_Beats_Wash/Detuned_Beats_Wash.ogg | Bin 27494 -> 27823 bytes examples/_06_synthesis/FMsynth/FMsynth.mp3 | Bin 40229 -> 40229 bytes examples/_06_synthesis/FMsynth/FMsynth.ogg | Bin 38616 -> 38474 bytes .../FMsynth_HIFI/FMsynth_HIFI.mp3 | Bin 40229 -> 40229 bytes .../FMsynth_HIFI/FMsynth_HIFI.ogg | Bin 44413 -> 42784 bytes .../_06_synthesis/PWM_Phasing/PWM_Phasing.mp3 | Bin 40229 -> 40229 bytes .../_06_synthesis/PWM_Phasing/PWM_Phasing.ogg | Bin 48814 -> 48505 bytes .../_06_synthesis/Waveshaper/Waveshaper.mp3 | Bin 40229 -> 40229 bytes .../_06_synthesis/Waveshaper/Waveshaper.ogg | Bin 42589 -> 36914 bytes .../Waveshaper_Difference_Tone.mp3 | Bin 40229 -> 40229 bytes .../Waveshaper_Difference_Tone.ogg | Bin 52072 -> 34219 bytes .../ADSR_Envelope/ADSR_Envelope.mp3 | Bin 40229 -> 40229 bytes .../ADSR_Envelope/ADSR_Envelope.ogg | Bin 26665 -> 26799 bytes .../Ead_Envelope/Ead_Envelope.mp3 | Bin 40229 -> 40229 bytes .../Ead_Envelope/Ead_Envelope.ogg | Bin 34750 -> 33580 bytes .../Phasemod_Envelope/Phasemod_Envelope.mp3 | Bin 40229 -> 40229 bytes .../Phasemod_Envelope/Phasemod_Envelope.ogg | Bin 42594 -> 42764 bytes examples/_08_samples/Sample/Sample.mp3 | Bin 40229 -> 40229 bytes examples/_08_samples/Sample/Sample.ogg | Bin 37313 -> 37649 bytes .../Sample_Loop_Points/Sample_Loop_Points.mp3 | Bin 40229 -> 40229 bytes .../Sample_Loop_Points/Sample_Loop_Points.ogg | Bin 44699 -> 45311 bytes .../Sample_Offset/Sample_Offset.mp3 | Bin 40229 -> 40229 bytes .../Sample_Offset/Sample_Offset.ogg | Bin 43032 -> 42076 bytes examples/_08_samples/Samples/Samples.ino | 42 +- examples/_08_samples/Samples/Samples.mp3 | Bin 40229 -> 161749 bytes examples/_08_samples/Samples/Samples.ogg | Bin 46656 -> 308669 bytes .../Samples_Tables_Arrays.mp3 | Bin 40229 -> 40229 bytes .../Samples_Tables_Arrays.ogg | Bin 48560 -> 48109 bytes .../Wavetable_Swap/Wavetable_Swap.mp3 | Bin 40229 -> 40229 bytes .../Wavetable_Swap/Wavetable_Swap.ogg | Bin 32313 -> 32326 bytes examples/_09_delays/AudioDelay/AudioDelay.mp3 | Bin 40229 -> 40229 bytes examples/_09_delays/AudioDelay/AudioDelay.ogg | Bin 33028 -> 32758 bytes .../AudioDelayFeedback/AudioDelayFeedback.mp3 | Bin 40229 -> 40229 bytes .../AudioDelayFeedback/AudioDelayFeedback.ogg | Bin 34326 -> 34359 bytes .../AudioDelayFeedbackAllpass.mp3 | Bin 40229 -> 40229 bytes .../AudioDelayFeedbackAllpass.ogg | Bin 34351 -> 32426 bytes .../AudioDelayFeedbackX2.mp3 | Bin 40229 -> 40229 bytes .../AudioDelayFeedbackX2.ogg | Bin 37026 -> 36783 bytes .../AudioDelayFeedback_HIFI.mp3 | Bin 40229 -> 40229 bytes .../AudioDelayFeedback_HIFI.ogg | Bin 49479 -> 35696 bytes .../ReverbTank_STANDARD.mp3 | Bin 40229 -> 40229 bytes .../ReverbTank_STANDARD.ogg | Bin 42144 -> 41632 bytes .../LowPassFilter/LowPassFilter.mp3 | Bin 40229 -> 40229 bytes .../LowPassFilter/LowPassFilter.ogg | Bin 39107 -> 39078 bytes .../LowPassFilterX2/LowPassFilterX2.mp3 | Bin 40229 -> 40229 bytes .../LowPassFilterX2/LowPassFilterX2.ogg | Bin 38307 -> 38412 bytes .../StateVariableFilter.mp3 | Bin 40229 -> 40229 bytes .../StateVariableFilter.ogg | Bin 41914 -> 42487 bytes .../Mozzi_Processing Serial.mp3 | Bin 40229 -> 0 bytes .../Mozzi_Processing Serial.ogg | Bin 24144 -> 0 bytes .../Mozzi_Processing_Serial.mp3 | Bin 0 -> 40229 bytes .../Mozzi_Processing_Serial.ogg | Bin 0 -> 25129 bytes .../Sinewave_PWM_leds_HIFI.ino} | 0 .../Sinewave_PWM_leds_HIFI.mp3 | Bin 0 -> 40229 bytes .../Sinewave_PWM_leds_HIFI.ogg | Bin 0 -> 26328 bytes .../TwoWire_Read_ADXL345.mp3 | Bin 0 -> 40229 bytes .../TwoWire_Read_ADXL345.ogg | Bin 0 -> 49315 bytes keywords.txt | 2 +- mozzi_analog.cpp | 4 +- mozzi_analog.h | 9 +- mozzi_config.h | 19 +- mozzi_fixmath.h | 5 +- mozzi_midi.h | 3 +- mozzi_rand.h | 3 +- mozzi_utils.h | 1 + python/char2mozzi.py | 46 +- python/{sin1024_uint8.py => sin1024_int8.py} | 15 +- samples/TJBAnalogDisk/Acid/FMAcidBass1.wav | Bin 9926 -> 0 bytes samples/TJBAnalogDisk/Acid/FMAcidBass2.wav | Bin 10322 -> 0 bytes samples/TJBAnalogDisk/Acid/FMAcidBass3.wav | Bin 10702 -> 0 bytes samples/TJBAnalogDisk/Acid/FMAcidBass4.wav | Bin 9494 -> 0 bytes .../Acid_mozzi/FMAcidBass1_int8.h | 546 ----- .../Acid_mozzi/FMAcidBass2_int8.h | 558 ----- .../Acid_mozzi/FMAcidBass3_int8.h | 579 ----- .../Acid_mozzi/FMAcidBass4_int8.h | 528 ----- samples/TJBAnalogDisk/Juno2/JunoBass10T.wav | Bin 8994 -> 0 bytes samples/TJBAnalogDisk/Juno2/JunoBass11T.wav | Bin 21458 -> 0 bytes samples/TJBAnalogDisk/Juno2/JunoBass17T.wav | Bin 7852 -> 0 bytes samples/TJBAnalogDisk/Juno2/JunoBass2T.wav | Bin 29064 -> 0 bytes samples/TJBAnalogDisk/Juno2/JunoBass3T.wav | Bin 10992 -> 0 bytes samples/TJBAnalogDisk/Juno2/JunoBass5T.wav | Bin 6534 -> 0 bytes samples/TJBAnalogDisk/Juno2/JunoBass6T.wav | Bin 21966 -> 0 bytes samples/TJBAnalogDisk/Juno2/JunoBass7T.wav | Bin 12646 -> 0 bytes samples/TJBAnalogDisk/Juno2/JunoBass8T.wav | Bin 15514 -> 0 bytes samples/TJBAnalogDisk/Juno2/JunoBass9T.wav | Bin 38898 -> 0 bytes samples/TJBAnalogDisk/Juno2/JunoBss13T.wav | Bin 39792 -> 0 bytes samples/TJBAnalogDisk/Juno2/JunoBss15T.wav | Bin 29304 -> 0 bytes samples/TJBAnalogDisk/Juno2/JunoBss16T.wav | Bin 26472 -> 0 bytes samples/TJBAnalogDisk/Juno2/JunoBss18T.wav | Bin 20790 -> 0 bytes samples/TJBAnalogDisk/Juno2/JunoBss19T.wav | Bin 13024 -> 0 bytes samples/TJBAnalogDisk/Juno2/JunoBss20T.wav | Bin 12274 -> 0 bytes samples/TJBAnalogDisk/Juno2/JunoBss21AT.wav | Bin 8714 -> 0 bytes samples/TJBAnalogDisk/Juno2/JunoBss21BT.wav | Bin 14486 -> 0 bytes .../Juno2_mozzi/JunoBass10T_int8.h | 504 ---- .../Juno2_mozzi/JunoBass11T_int8.h | 1210 ---------- .../Juno2_mozzi/JunoBass13T_int8.h | 2066 ---------------- .../Juno2_mozzi/JunoBass15T_int8.h | 1591 ------------- .../Juno2_mozzi/JunoBass16T_int8.h | 1507 ------------ .../Juno2_mozzi/JunoBass17T_int8.h | 441 ---- .../Juno2_mozzi/JunoBass18T_int8.h | 979 -------- .../Juno2_mozzi/JunoBass19T_int8.h | 739 ------ .../Juno2_mozzi/JunoBass20T_int8.h | 712 ------ .../Juno2_mozzi/JunoBass21AT_int8.h | 493 ---- .../Juno2_mozzi/JunoBass21BT_int8.h | 745 ------ .../Juno2_mozzi/JunoBass2T_int8.h | 1557 ------------ .../Juno2_mozzi/JunoBass3T_int8.h | 633 ----- .../Juno2_mozzi/JunoBass5T_int8.h | 403 ---- .../Juno2_mozzi/JunoBass6T_int8.h | 1232 ---------- .../Juno2_mozzi/JunoBass7T_int8.h | 623 ----- .../Juno2_mozzi/JunoBass8T_int8.h | 790 ------- .../Juno2_mozzi/JunoBass9T_int8.h | 2002 ---------------- samples/TJBAnalogDisk/readme.txt | 7 - samples/bamboo1/bamboo1_1024_int8.h | 67 - samples/bamboo1/bamboo2_1024_int8.h | 66 - samples/bamboo1/bamboo3_2048_int8.h | 119 - samples/thumbpiano/thumbpiano1_int8.h | 395 ---- samples/thumbpiano/thumbpiano2_int8.h | 392 ---- samples/thumbpiano/thumbpiano3_int8.h | 404 ---- samples/thumbpiano/thumbpiano4_int8.h | 411 ---- samples/thumbpiano/thumbpiano5_int8.h | 418 ---- tables/sin1024_int8.h | 80 + tables/sin1024_uint8.h | 127 +- 548 files changed, 37974 insertions(+), 52477 deletions(-) create mode 100644 doc/html/_02_control_2_control__echo__theremin_2_control__echo__theremin_8ino-example.html create mode 100644 doc/html/_09_delays_2_audio_delay_2_audio_delay_8ino-example.html create mode 100644 doc/html/_auto_range_8h_source.html create mode 100644 doc/html/_control_delay_8h_source.html create mode 100644 doc/html/annotated.js create mode 100644 doc/html/class_a_d_s_r.js create mode 100644 doc/html/class_audio_delay.js create mode 100644 doc/html/class_audio_delay.png create mode 100644 doc/html/class_auto_range-members.html create mode 100644 doc/html/class_auto_range.html create mode 100644 doc/html/class_auto_range.js create mode 100644 doc/html/class_control_delay-members.html create mode 100644 doc/html/class_control_delay.html create mode 100644 doc/html/class_control_delay.png create mode 100644 doc/html/class_d_cfilter.js create mode 100644 doc/html/class_ead.js create mode 100644 doc/html/class_event_delay.js create mode 100644 doc/html/class_line.js create mode 100644 doc/html/class_low_pass_filter.js create mode 100644 doc/html/class_oscil.js create mode 100644 doc/html/class_phasor.js create mode 100644 doc/html/class_portamento.js create mode 100644 doc/html/class_r_cpoll.js create mode 100644 doc/html/class_recent_average.js create mode 100644 doc/html/class_reverb_tank.js create mode 100644 doc/html/class_sample.js create mode 100644 doc/html/class_smooth.js create mode 100644 doc/html/class_state_variable.js create mode 100644 doc/html/class_wave_packet.js create mode 100644 doc/html/dir_112f3ba1b16e25834edeb1f9f1ac63ae.html create mode 100644 doc/html/dir_6f9635d4fbfa321d4c00f29df5cd540c.html create mode 100644 doc/html/dir_7837fde3ab9c1fb2fc5be7b717af8d79.html create mode 100644 doc/html/dir_9f351d46ce3cc29445a41dc3a31e6919.html create mode 100644 doc/html/dir_c14d9bf81a1758ecfa63ad49c7d2ec2e.html create mode 100644 doc/html/dynsections.js create mode 100644 doc/html/examples.html create mode 100644 doc/html/examples.js create mode 100644 doc/html/ftv2blank.png create mode 100644 doc/html/ftv2cl.png create mode 100644 doc/html/ftv2doc.png create mode 100644 doc/html/ftv2folderclosed.png create mode 100644 doc/html/ftv2folderopen.png create mode 100644 doc/html/ftv2lastnode.png create mode 100644 doc/html/ftv2link.png create mode 100644 doc/html/ftv2mlastnode.png create mode 100644 doc/html/ftv2mnode.png create mode 100644 doc/html/ftv2mo.png create mode 100644 doc/html/ftv2node.png create mode 100644 doc/html/ftv2ns.png create mode 100644 doc/html/ftv2plastnode.png create mode 100644 doc/html/ftv2pnode.png create mode 100644 doc/html/ftv2splitbar.png create mode 100644 doc/html/ftv2vertline.png create mode 100644 doc/html/group___soundtables.html create mode 100644 doc/html/group__analog.js create mode 100644 doc/html/group__core.js create mode 100644 doc/html/group__midi.js create mode 100644 doc/html/group__mozzi__fixmath.js create mode 100644 doc/html/group__random.js create mode 100644 doc/html/group__util.js create mode 100644 doc/html/hierarchy.html create mode 100644 doc/html/hierarchy.js create mode 100644 doc/html/modules.js create mode 100644 doc/html/nav_g.png create mode 100644 doc/html/navtree.css create mode 100644 doc/html/navtree.js create mode 100644 doc/html/navtreeindex0.js create mode 100644 doc/html/navtreeindex1.js create mode 100644 doc/html/resize.js create mode 100644 doc/html/search/classes_63.html create mode 100644 doc/html/search/classes_63.js create mode 100644 doc/html/search/groups_66.html create mode 100644 doc/html/search/groups_66.js create mode 100644 doc/html/search/groups_6d.html create mode 100644 doc/html/search/groups_6d.js create mode 100644 doc/html/search/groups_73.html create mode 100644 doc/html/search/groups_73.js create mode 100644 doc/html/search/pages_77.html create mode 100644 doc/html/search/pages_77.js create mode 100644 doc/html/sin1024__int8_8py_source.html create mode 100644 doc/html/sync_off.png create mode 100644 doc/html/sync_on.png create mode 100644 examples/_01_basics/Sinewave_HIFI/Sinewave_HIFI.mp3 create mode 100644 examples/_01_basics/Sinewave_HIFI/Sinewave_HIFI.ogg create mode 100644 examples/_02_control/Control_Echo_Theremin/Control_Echo_Theremin.ino create mode 100644 examples/_02_control/Control_Echo_Theremin/Control_Echo_Theremin.mp3 create mode 100644 examples/_02_control/Control_Echo_Theremin/Control_Echo_Theremin.ogg delete mode 100644 examples/_02_control/Line_Gliss_Double/Line_Gliss_Double.ino delete mode 100644 examples/_02_control/Line_Gliss_Double/Line_Gliss_Double.mp3 delete mode 100644 examples/_02_control/Line_Gliss_Double/Line_Gliss_Double.ogg rename examples/_02_control/{Line_Gliss_Double_HIFI_32k/Line_Gliss_Double_HIFI_32k.ino => Line_Gliss_Double_32k_HIFI/Line_Gliss_Double_32k_HIFI.ino} (100%) create mode 100644 examples/_02_control/Line_Gliss_Double_32k_HIFI/Line_Gliss_Double_32k_HIFI.mp3 create mode 100644 examples/_02_control/Line_Gliss_Double_32k_HIFI/Line_Gliss_Double_32k_HIFI.ogg delete mode 100644 examples/_02_control/Line_Gliss_Double_HIFI_32k/Line_Gliss_Double_HIFI_32k.mp3 delete mode 100644 examples/_02_control/Line_Gliss_Double_HIFI_32k/Line_Gliss_Double_HIFI_32k.ogg create mode 100644 examples/_02_control/RCpoll/RCpoll.mp3 create mode 100644 examples/_02_control/RCpoll/RCpoll.ogg create mode 100644 examples/_03_sensors/Knob_LDR_x2_WavePacket/Knob_LDR_x2_WavePacket.mp3 create mode 100644 examples/_03_sensors/Knob_LDR_x2_WavePacket/Knob_LDR_x2_WavePacket.ogg create mode 100644 examples/_03_sensors/Knob_LightLevel_FMsynth/Knob_LightLevel_FMsynth.mp3 create mode 100644 examples/_03_sensors/Knob_LightLevel_FMsynth/Knob_LightLevel_FMsynth.ogg create mode 100644 examples/_03_sensors/Knob_LightLevel_x2_FMsynth/Knob_LightLevel_x2_FMsynth.mp3 create mode 100644 examples/_03_sensors/Knob_LightLevel_x2_FMsynth/Knob_LightLevel_x2_FMsynth.ogg create mode 100644 examples/_03_sensors/Piezo_Frequency/Piezo_Frequency.mp3 create mode 100644 examples/_03_sensors/Piezo_Frequency/Piezo_Frequency.ogg create mode 100644 examples/_03_sensors/Piezo_SampleScrubber/Piezo_SampleScrubber.mp3 create mode 100644 examples/_03_sensors/Piezo_SampleScrubber/Piezo_SampleScrubber.ogg create mode 100644 examples/_03_sensors/Piezo_SampleTrigger/Piezo_SampleTrigger.mp3 create mode 100644 examples/_03_sensors/Piezo_SampleTrigger/Piezo_SampleTrigger.ogg create mode 100644 examples/_03_sensors/Piezo_Switch_Pitch/Piezo_Switch_Pitch.mp3 create mode 100644 examples/_03_sensors/Piezo_Switch_Pitch/Piezo_Switch_Pitch.ogg create mode 100644 examples/_03_sensors/Volume_Knob/Volume_Knob.mp3 create mode 100644 examples/_03_sensors/Volume_Knob/Volume_Knob.ogg create mode 100644 examples/_03_sensors/Volume_Knob_LightLevel_Frequency/Volume_Knob_LightLevel_Frequency.mp3 create mode 100644 examples/_03_sensors/Volume_Knob_LightLevel_Frequency/Volume_Knob_LightLevel_Frequency.ogg create mode 100644 examples/_04_analog_input/Audio_Input/Audio_Input.mp3 create mode 100644 examples/_04_analog_input/Audio_Input/Audio_Input.ogg create mode 100644 examples/_05_control_filters/RecentAverage/RecentAverage.mp3 create mode 100644 examples/_05_control_filters/RecentAverage/RecentAverage.ogg delete mode 100644 examples/_11_communication/Mozzi_Processing_Serial/Mozzi_Processing Serial.mp3 delete mode 100644 examples/_11_communication/Mozzi_Processing_Serial/Mozzi_Processing Serial.ogg create mode 100644 examples/_11_communication/Mozzi_Processing_Serial/Mozzi_Processing_Serial.mp3 create mode 100644 examples/_11_communication/Mozzi_Processing_Serial/Mozzi_Processing_Serial.ogg rename examples/_11_communication/{Sinewave_HIFI_PWM_leds/Sinewave_HIFI_PWM_leds.ino => Sinewave_PWM_leds_HIFI/Sinewave_PWM_leds_HIFI.ino} (100%) create mode 100644 examples/_11_communication/Sinewave_PWM_leds_HIFI/Sinewave_PWM_leds_HIFI.mp3 create mode 100644 examples/_11_communication/Sinewave_PWM_leds_HIFI/Sinewave_PWM_leds_HIFI.ogg create mode 100644 examples/_11_communication/TwoWire_Read_ADXL345/TwoWire_Read_ADXL345.mp3 create mode 100644 examples/_11_communication/TwoWire_Read_ADXL345/TwoWire_Read_ADXL345.ogg rename python/{sin1024_uint8.py => sin1024_int8.py} (72%) delete mode 100644 samples/TJBAnalogDisk/Acid/FMAcidBass1.wav delete mode 100644 samples/TJBAnalogDisk/Acid/FMAcidBass2.wav delete mode 100644 samples/TJBAnalogDisk/Acid/FMAcidBass3.wav delete mode 100644 samples/TJBAnalogDisk/Acid/FMAcidBass4.wav delete mode 100644 samples/TJBAnalogDisk/Acid_mozzi/FMAcidBass1_int8.h delete mode 100644 samples/TJBAnalogDisk/Acid_mozzi/FMAcidBass2_int8.h delete mode 100644 samples/TJBAnalogDisk/Acid_mozzi/FMAcidBass3_int8.h delete mode 100644 samples/TJBAnalogDisk/Acid_mozzi/FMAcidBass4_int8.h delete mode 100644 samples/TJBAnalogDisk/Juno2/JunoBass10T.wav delete mode 100644 samples/TJBAnalogDisk/Juno2/JunoBass11T.wav delete mode 100644 samples/TJBAnalogDisk/Juno2/JunoBass17T.wav delete mode 100644 samples/TJBAnalogDisk/Juno2/JunoBass2T.wav delete mode 100644 samples/TJBAnalogDisk/Juno2/JunoBass3T.wav delete mode 100644 samples/TJBAnalogDisk/Juno2/JunoBass5T.wav delete mode 100644 samples/TJBAnalogDisk/Juno2/JunoBass6T.wav delete mode 100644 samples/TJBAnalogDisk/Juno2/JunoBass7T.wav delete mode 100644 samples/TJBAnalogDisk/Juno2/JunoBass8T.wav delete mode 100644 samples/TJBAnalogDisk/Juno2/JunoBass9T.wav delete mode 100644 samples/TJBAnalogDisk/Juno2/JunoBss13T.wav delete mode 100644 samples/TJBAnalogDisk/Juno2/JunoBss15T.wav delete mode 100644 samples/TJBAnalogDisk/Juno2/JunoBss16T.wav delete mode 100644 samples/TJBAnalogDisk/Juno2/JunoBss18T.wav delete mode 100644 samples/TJBAnalogDisk/Juno2/JunoBss19T.wav delete mode 100644 samples/TJBAnalogDisk/Juno2/JunoBss20T.wav delete mode 100644 samples/TJBAnalogDisk/Juno2/JunoBss21AT.wav delete mode 100644 samples/TJBAnalogDisk/Juno2/JunoBss21BT.wav delete mode 100644 samples/TJBAnalogDisk/Juno2_mozzi/JunoBass10T_int8.h delete mode 100644 samples/TJBAnalogDisk/Juno2_mozzi/JunoBass11T_int8.h delete mode 100644 samples/TJBAnalogDisk/Juno2_mozzi/JunoBass13T_int8.h delete mode 100644 samples/TJBAnalogDisk/Juno2_mozzi/JunoBass15T_int8.h delete mode 100644 samples/TJBAnalogDisk/Juno2_mozzi/JunoBass16T_int8.h delete mode 100644 samples/TJBAnalogDisk/Juno2_mozzi/JunoBass17T_int8.h delete mode 100644 samples/TJBAnalogDisk/Juno2_mozzi/JunoBass18T_int8.h delete mode 100644 samples/TJBAnalogDisk/Juno2_mozzi/JunoBass19T_int8.h delete mode 100644 samples/TJBAnalogDisk/Juno2_mozzi/JunoBass20T_int8.h delete mode 100644 samples/TJBAnalogDisk/Juno2_mozzi/JunoBass21AT_int8.h delete mode 100644 samples/TJBAnalogDisk/Juno2_mozzi/JunoBass21BT_int8.h delete mode 100644 samples/TJBAnalogDisk/Juno2_mozzi/JunoBass2T_int8.h delete mode 100644 samples/TJBAnalogDisk/Juno2_mozzi/JunoBass3T_int8.h delete mode 100644 samples/TJBAnalogDisk/Juno2_mozzi/JunoBass5T_int8.h delete mode 100644 samples/TJBAnalogDisk/Juno2_mozzi/JunoBass6T_int8.h delete mode 100644 samples/TJBAnalogDisk/Juno2_mozzi/JunoBass7T_int8.h delete mode 100644 samples/TJBAnalogDisk/Juno2_mozzi/JunoBass8T_int8.h delete mode 100644 samples/TJBAnalogDisk/Juno2_mozzi/JunoBass9T_int8.h delete mode 100644 samples/TJBAnalogDisk/readme.txt delete mode 100644 samples/bamboo1/bamboo1_1024_int8.h delete mode 100644 samples/bamboo1/bamboo2_1024_int8.h delete mode 100644 samples/bamboo1/bamboo3_2048_int8.h delete mode 100644 samples/thumbpiano/thumbpiano1_int8.h delete mode 100644 samples/thumbpiano/thumbpiano2_int8.h delete mode 100644 samples/thumbpiano/thumbpiano3_int8.h delete mode 100644 samples/thumbpiano/thumbpiano4_int8.h delete mode 100644 samples/thumbpiano/thumbpiano5_int8.h create mode 100644 tables/sin1024_int8.h diff --git a/AudioDelay.h b/AudioDelay.h index 8623084c4..36b10225f 100644 --- a/AudioDelay.h +++ b/AudioDelay.h @@ -98,6 +98,9 @@ class AudioDelay } + /** Set the delay time, measured in cells. + @param delaytime_cells how many cells to delay the input signal by. + */ inline void set(unsigned int delaytime_cells){ _delaytime_cells = delaytime_cells; @@ -128,5 +131,9 @@ class AudioDelay }; +/** +@example _09_delays/AudioDelay/AudioDelay.ino +This is an example of how to use the AudioDelay class. +*/ #endif // #ifndef AUDIODELAY_H_ diff --git a/ControlDelay.h b/ControlDelay.h index 5afc2e5d6..a042a12c6 100644 --- a/ControlDelay.h +++ b/ControlDelay.h @@ -25,8 +25,10 @@ #include "AudioDelay.h" -/** Control delay line for delaying control signals, for instance to allow oone voice to follow the dynamics of another, a bit later. -Good for echo-like effects using multiple instances of the same voice, when AudioDelay would be too short. +/** Control-rate delay line for delaying control signals. +For example, this could be used to produce echo-like effects using multiple +instances of the same voice, when AudioDelay would be too short for an actual +audio echo. See AudioDelay for documentation, as this is just a wrapper of the same code. @tparam NUM_BUFFER_SAMPLES is the length of the delay buffer in samples. This should be a power of two. @tparam the type of numbers to use for the signal in the delay. The default is char, but int could be useful @@ -39,5 +41,10 @@ class ControlDelay: public AudioDelay ; }; +/** +@example _02_control/Control_Echo_Theremin/Control_Echo_Theremin.ino +This is an example of how to use the ControlDelay class. +*/ + #endif // #ifndef CONTROLDELAY_H_ diff --git a/Doxyfile b/Doxyfile index ac0cd3a44..918e75887 100644 --- a/Doxyfile +++ b/Doxyfile @@ -1,4 +1,4 @@ -# Doxyfile 1.8.0 +# Doxyfile 1.8.4 # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project @@ -32,7 +32,7 @@ PROJECT_NAME = Mozzi # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = "alpha 0.01.2b" +PROJECT_NUMBER = "alpha 0.01.2c" # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer @@ -70,9 +70,9 @@ CREATE_SUBDIRS = NO # Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, # Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, # Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English -# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, -# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, -# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. +# messages), Korean, Korean-en, Latvian, Lithuanian, Norwegian, Macedonian, +# Persian, Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, +# Slovak, Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. OUTPUT_LANGUAGE = English @@ -136,7 +136,9 @@ FULL_PATH_NAMES = YES # only done if one of the specified strings matches the left-hand part of # the path. The tag can be used to show relative paths in the file list. # If left blank the directory from which doxygen is run is used as the -# path to strip. +# path to strip. Note that you specify absolute paths here, but also +# relative paths, which will be relative from the directory where doxygen is +# started. STRIP_FROM_PATH = @@ -239,14 +241,15 @@ OPTIMIZE_FOR_FORTRAN = NO OPTIMIZE_OUTPUT_VHDL = NO # Doxygen selects the parser to use depending on the extension of the files it -# parses. With this tag you can assign which parser to use for a given extension. -# Doxygen has a built-in mapping, but you can override or extend it using this -# tag. The format is ext=language, where ext is a file extension, and language -# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C, -# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make -# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C -# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions -# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen. +# parses. With this tag you can assign which parser to use for a given +# extension. Doxygen has a built-in mapping, but you can override or extend it +# using this tag. The format is ext=language, where ext is a file extension, +# and language is one of the parsers supported by doxygen: IDL, Java, +# Javascript, CSharp, C, C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, +# C++. For instance to make doxygen treat .inc files as Fortran files (default +# is PHP), and .f files as C (default is Fortran), use: inc=Fortran f=C. Note +# that for custom extensions you also need to set FILE_PATTERNS otherwise the +# files are not read by doxygen. EXTENSION_MAPPING = @@ -259,6 +262,13 @@ EXTENSION_MAPPING = MARKDOWN_SUPPORT = YES +# When enabled doxygen tries to link words that correspond to documented +# classes, or namespaces to their corresponding documentation. Such a link can +# be prevented in individual cases by by putting a % sign in front of the word +# or globally by setting AUTOLINK_SUPPORT to NO. + +AUTOLINK_SUPPORT = YES + # If you use STL classes (i.e. std::string, std::vector, etc.) but do not want # to include (a tag file for) the STL sources as input, then you should # set this tag to YES in order to let doxygen match functions declarations and @@ -279,10 +289,10 @@ CPP_CLI_SUPPORT = NO SIP_SUPPORT = NO -# For Microsoft's IDL there are propget and propput attributes to indicate getter -# and setter methods for a property. Setting this option to YES (the default) -# will make doxygen replace the get and set methods by a property in the -# documentation. This will only work if the methods are indeed getting or +# For Microsoft's IDL there are propget and propput attributes to indicate +# getter and setter methods for a property. Setting this option to YES (the +# default) will make doxygen replace the get and set methods by a property in +# the documentation. This will only work if the methods are indeed getting or # setting a simple type. If this is not the case, or you want to show the # methods anyway, you should set this option to NO. @@ -311,11 +321,11 @@ SUBGROUPING = YES INLINE_GROUPED_CLASSES = NO # When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and -# unions with only public data fields will be shown inline in the documentation -# of the scope in which they are defined (i.e. file, namespace, or group -# documentation), provided this scope is documented. If set to NO (the default), -# structs, classes, and unions are shown on a separate page (for HTML and Man -# pages) or section (for LaTeX and RTF). +# unions with only public data fields or simple typedef fields will be shown +# inline in the documentation of the scope in which they are defined (i.e. file, +# namespace, or group documentation), provided this scope is documented. If set +# to NO (the default), structs, classes, and unions are shown on a separate +# page (for HTML and Man pages) or section (for LaTeX and RTF). INLINE_SIMPLE_STRUCTS = NO @@ -329,30 +339,14 @@ INLINE_SIMPLE_STRUCTS = NO TYPEDEF_HIDES_STRUCT = NO -# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to -# determine which symbols to keep in memory and which to flush to disk. -# When the cache is full, less often used symbols will be written to disk. -# For small to medium size projects (<1000 input files) the default value is -# probably good enough. For larger projects a too small cache size can cause -# doxygen to be busy swapping symbols to and from disk most of the time -# causing a significant performance penalty. -# If the system has enough physical memory increasing the cache will improve the -# performance by keeping more symbols in memory. Note that the value works on -# a logarithmic scale so increasing the size by one will roughly double the -# memory usage. The cache size is given by this formula: -# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, -# corresponding to a cache size of 2^16 = 65536 symbols. - -SYMBOL_CACHE_SIZE = 0 - -# Similar to the SYMBOL_CACHE_SIZE the size of the symbol lookup cache can be -# set using LOOKUP_CACHE_SIZE. This cache is used to resolve symbols given -# their name and scope. Since this can be an expensive process and often the -# same symbol appear multiple times in the code, doxygen keeps a cache of -# pre-resolved symbols. If the cache is too small doxygen will become slower. -# If the cache is too large, memory is wasted. The cache size is given by this -# formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range is 0..9, the default is 0, -# corresponding to a cache size of 2^16 = 65536 symbols. +# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This +# cache is used to resolve symbols given their name and scope. Since this can +# be an expensive process and often the same symbol appear multiple times in +# the code, doxygen keeps a cache of pre-resolved symbols. If the cache is too +# small doxygen will become slower. If the cache is too large, memory is wasted. +# The cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid +# range is 0..9, the default is 0, corresponding to a cache size of 2^16 = 65536 +# symbols. LOOKUP_CACHE_SIZE = 0 @@ -363,7 +357,7 @@ LOOKUP_CACHE_SIZE = 0 # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in # documentation are documented, even if no documentation was available. # Private class members and static file members will be hidden unless -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES +# the EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES EXTRACT_ALL = NO @@ -372,7 +366,7 @@ EXTRACT_ALL = NO EXTRACT_PRIVATE = NO -# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal +# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal # scope will be included in the documentation. EXTRACT_PACKAGE = NO @@ -544,7 +538,8 @@ GENERATE_BUGLIST = YES GENERATE_DEPRECATEDLIST= YES # The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if sectionname ... \endif. +# documentation sections, marked by \if section-label ... \endif +# and \cond section-label ... \endcond blocks. ENABLED_SECTIONS = @@ -564,12 +559,6 @@ MAX_INITIALIZER_LINES = 46 SHOW_USED_FILES = YES -# If the sources in your project are distributed over multiple directories -# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy -# in the documentation. The default is NO. - -SHOW_DIRECTORIES = NO - # Set the SHOW_FILES tag to NO to disable the generation of the Files page. # This will remove the Files entry from the Quick Index and from the # Folder Tree View (if specified). The default is YES. @@ -594,7 +583,7 @@ FILE_VERSION_FILTER = # The LAYOUT_FILE tag can be used to specify a layout file which will be parsed # by doxygen. The layout file controls the global structure of the generated -# output files in an output format independent way. The create the layout file +# output files in an output format independent way. To create the layout file # that represents doxygen's defaults, run doxygen with the -l option. # You can optionally specify a file name after the option, if omitted # DoxygenLayout.xml will be used as the name of the layout file. @@ -607,7 +596,8 @@ LAYOUT_FILE = # requires the bibtex tool to be installed. See also # http://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style # of the bibliography can be controlled using LATEX_BIB_STYLE. To use this -# feature you need bibtex and perl available in the search path. +# feature you need bibtex and perl available in the search path. Do not use +# file names with spaces, bibtex cannot handle them. CITE_BIB_FILES = @@ -762,7 +752,7 @@ EXCLUDE_SYMBOLS = # directories that contain example code fragments that are included (see # the \include command). -EXAMPLE_PATH = +EXAMPLE_PATH = examples # If the value of the EXAMPLE_PATH tag contains directories, you can use the # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp @@ -789,8 +779,10 @@ IMAGE_PATH = # by executing (via popen()) the command , where # is the value of the INPUT_FILTER tag, and is the name of an # input file. Doxygen will then use the output that the filter program writes -# to standard output. If FILTER_PATTERNS is specified, this tag will be -# ignored. +# to standard output. If FILTER_PATTERNS is specified, this tag will be ignored. +# Note that the filter must not add or remove lines; it is applied before the +# code is scanned, but not when the output code is generated. If lines are added +# or removed, the anchors will not be placed correctly. INPUT_FILTER = @@ -817,6 +809,13 @@ FILTER_SOURCE_FILES = NO FILTER_SOURCE_PATTERNS = +# If the USE_MD_FILE_AS_MAINPAGE tag refers to the name of a markdown file that +# is part of the input, its contents will be placed on the main page +# (index.html). This can be useful if you have a project on for instance GitHub +# and want reuse the introduction page also for the doxygen output. + +USE_MDFILE_AS_MAINPAGE = + #--------------------------------------------------------------------------- # configuration options related to source browsing #--------------------------------------------------------------------------- @@ -835,7 +834,7 @@ INLINE_SOURCES = NO # Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct # doxygen to hide any special comment blocks from generated source code -# fragments. Normal C and C++ comments will always remain visible. +# fragments. Normal C, C++ and Fortran comments will always remain visible. STRIP_CODE_COMMENTS = YES @@ -872,6 +871,20 @@ USE_HTAGS = NO VERBATIM_HEADERS = YES +# If CLANG_ASSISTED_PARSING is set to YES, then doxygen will use the clang parser +# for more acurate parsing at the cost of reduced performance. This can be +# particularly helpful with template rich C++ code for which doxygen's built-in +# parser lacks the necessairy type information. + +CLANG_ASSISTED_PARSING = NO + +# If clang assisted parsing is enabled you can provide the compiler with command +# line options that you would normally use when invoking the compiler. Note that +# the include paths will already be set by doxygen for the files and directories +# specified at INPUT and INCLUDE_PATH. + +CLANG_OPTIONS = + #--------------------------------------------------------------------------- # configuration options related to the alphabetical class index #--------------------------------------------------------------------------- @@ -937,17 +950,27 @@ HTML_FOOTER = # The HTML_STYLESHEET tag can be used to specify a user-defined cascading # style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen -# will generate a default style sheet. Note that doxygen will try to copy -# the style sheet file to the HTML output directory, so don't put your own -# style sheet in the HTML output directory as well, or it will be erased! +# fine-tune the look of the HTML output. If left blank doxygen will +# generate a default style sheet. Note that it is recommended to use +# HTML_EXTRA_STYLESHEET instead of this one, as it is more robust and this +# tag will in the future become obsolete. HTML_STYLESHEET = +# The HTML_EXTRA_STYLESHEET tag can be used to specify an additional +# user-defined cascading style sheet that is included after the standard +# style sheets created by doxygen. Using this option one can overrule +# certain style aspects. This is preferred over using HTML_STYLESHEET +# since it does not replace the standard style sheet and is therefor more +# robust against future updates. Doxygen will copy the style sheet file to +# the output directory. + +HTML_EXTRA_STYLESHEET = + # The HTML_EXTRA_FILES tag can be used to specify one or more extra images or # other source files which should be copied to the HTML output directory. Note # that these files will be copied to the base HTML output directory. Use the -# $relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these +# $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these # files. In the HTML_STYLESHEET file, use the file name only. Also note that # the files will be copied as-is; there are no commands or markers available. @@ -984,20 +1007,23 @@ HTML_COLORSTYLE_GAMMA = 87 HTML_TIMESTAMP = YES -# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, -# files or namespaces will be aligned in HTML using tables. If set to -# NO a bullet list will be used. - -HTML_ALIGN_MEMBERS = YES - # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML # documentation will contain sections that can be hidden and shown after the -# page has loaded. For this to work a browser that supports -# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox -# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). +# page has loaded. HTML_DYNAMIC_SECTIONS = NO +# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of +# entries shown in the various tree structured indices initially; the user +# can expand and collapse entries dynamically later on. Doxygen will expand +# the tree to such a level that at most the specified number of entries are +# visible (unless a fully collapsed tree already exceeds this amount). +# So setting the number of entries 1 will produce a full collapsed tree by +# default. 0 is a special value representing an infinite number of entries +# and will result in a full expanded tree by default. + +HTML_INDEX_NUM_ENTRIES = 100 + # If the GENERATE_DOCSET tag is set to YES, additional index files # will be generated that can be used as input for Apple's Xcode 3 # integrated development environment, introduced with OSX 10.5 (Leopard). @@ -1025,9 +1051,9 @@ DOCSET_FEEDNAME = "Doxygen generated docs" DOCSET_BUNDLE_ID = org.doxygen.Project -# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify -# the documentation publisher. This should be a reverse domain-name style -# string, e.g. com.mycompany.MyDocSet.documentation. +# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely +# identify the documentation publisher. This should be a reverse domain-name +# style string, e.g. com.mycompany.MyDocSet.documentation. DOCSET_PUBLISHER_ID = org.doxygen.Publisher @@ -1167,7 +1193,7 @@ DISABLE_INDEX = NO # Since the tree basically has the same information as the tab index you # could consider to set DISABLE_INDEX to NO when enabling this option. -GENERATE_TREEVIEW = NO +GENERATE_TREEVIEW = YES # The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values # (range [0,1..20]) that doxygen will group on one line in the generated HTML @@ -1176,11 +1202,6 @@ GENERATE_TREEVIEW = NO ENUM_VALUES_PER_LINE = 4 -# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories, -# and Class Hierarchy pages using a tree view instead of an ordered list. - -USE_INLINE_TREES = NO - # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be # used to set the initial width (in pixels) of the frame in which the tree # is shown. @@ -1217,6 +1238,13 @@ FORMULA_TRANSPARENT = YES USE_MATHJAX = NO +# When MathJax is enabled you can set the default output format to be used for +# the MathJax output. Supported types are HTML-CSS, NativeMML (i.e. MathML) and +# SVG. The default value is HTML-CSS, which is slower, but has the best +# compatibility. + +MATHJAX_FORMAT = HTML-CSS + # When MathJax is enabled you need to specify the location relative to the # HTML output directory using the MATHJAX_RELPATH option. The destination # directory should contain the MathJax.js script. For instance, if the mathjax @@ -1233,6 +1261,11 @@ MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest MATHJAX_EXTENSIONS = +# The MATHJAX_CODEFILE tag can be used to specify a file with javascript +# pieces of code that will be used on startup of the MathJax code. + +MATHJAX_CODEFILE = + # When the SEARCHENGINE tag is enabled doxygen will generate a search box # for the HTML output. The underlying search engine uses javascript # and DHTML and should work on any modern browser. Note that when using @@ -1244,15 +1277,55 @@ MATHJAX_EXTENSIONS = SEARCHENGINE = YES # When the SERVER_BASED_SEARCH tag is enabled the search engine will be -# implemented using a PHP enabled web server instead of at the web client -# using Javascript. Doxygen will generate the search PHP script and index -# file to put on the web server. The advantage of the server -# based approach is that it scales better to large projects and allows -# full text search. The disadvantages are that it is more difficult to setup -# and does not have live searching capabilities. +# implemented using a web server instead of a web client using Javascript. +# There are two flavours of web server based search depending on the +# EXTERNAL_SEARCH setting. When disabled, doxygen will generate a PHP script for +# searching and an index file used by the script. When EXTERNAL_SEARCH is +# enabled the indexing and searching needs to be provided by external tools. +# See the manual for details. SERVER_BASED_SEARCH = NO +# When EXTERNAL_SEARCH is enabled doxygen will no longer generate the PHP +# script for searching. Instead the search results are written to an XML file +# which needs to be processed by an external indexer. Doxygen will invoke an +# external search engine pointed to by the SEARCHENGINE_URL option to obtain +# the search results. Doxygen ships with an example indexer (doxyindexer) and +# search engine (doxysearch.cgi) which are based on the open source search +# engine library Xapian. See the manual for configuration details. + +EXTERNAL_SEARCH = NO + +# The SEARCHENGINE_URL should point to a search engine hosted by a web server +# which will returned the search results when EXTERNAL_SEARCH is enabled. +# Doxygen ships with an example search engine (doxysearch) which is based on +# the open source search engine library Xapian. See the manual for configuration +# details. + +SEARCHENGINE_URL = + +# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed +# search data is written to a file for indexing by an external tool. With the +# SEARCHDATA_FILE tag the name of this file can be specified. + +SEARCHDATA_FILE = searchdata.xml + +# When SERVER_BASED_SEARCH AND EXTERNAL_SEARCH are both enabled the +# EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is +# useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple +# projects and redirect the results back to the right project. + +EXTERNAL_SEARCH_ID = + +# The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen +# projects other than the one defined by this configuration file, but that are +# all added to the same external search index. Each project needs to have a +# unique id set via EXTERNAL_SEARCH_ID. The search mapping then maps the id +# of to a relative location where the documentation can be found. +# The format is: EXTRA_SEARCH_MAPPINGS = id1=loc1 id2=loc2 ... + +EXTRA_SEARCH_MAPPINGS = + #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- @@ -1290,7 +1363,7 @@ COMPACT_LATEX = NO # The PAPER_TYPE tag can be used to set the paper type that is used # by the printer. Possible values are: a4, letter, legal and -# executive. If left blank a4wide will be used. +# executive. If left blank a4 will be used. PAPER_TYPE = a4 @@ -1313,6 +1386,13 @@ LATEX_HEADER = LATEX_FOOTER = +# The LATEX_EXTRA_FILES tag can be used to specify one or more extra images +# or other source files which should be copied to the LaTeX output directory. +# Note that the files will be copied as-is; there are no commands or markers +# available. + +LATEX_EXTRA_FILES = + # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated # is prepared for conversion to pdf (using ps2pdf). The pdf file will # contain links (just like the HTML output) instead of page references @@ -1457,6 +1537,21 @@ XML_DTD = XML_PROGRAMLISTING = YES +#--------------------------------------------------------------------------- +# configuration options related to the DOCBOOK output +#--------------------------------------------------------------------------- + +# If the GENERATE_DOCBOOK tag is set to YES Doxygen will generate DOCBOOK files +# that can be used to generate PDF. + +GENERATE_DOCBOOK = NO + +# The DOCBOOK_OUTPUT tag is used to specify where the DOCBOOK pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be put in +# front of it. If left blank docbook will be used as the default path. + +DOCBOOK_OUTPUT = docbook + #--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- @@ -1602,6 +1697,12 @@ ALLEXTERNALS = NO EXTERNAL_GROUPS = YES +# If the EXTERNAL_PAGES tag is set to YES all external pages will be listed +# in the related pages index. If set to NO, only the current project's +# pages will be listed. + +EXTERNAL_PAGES = YES + # The PERL_PATH should be the absolute path and name of the perl script # interpreter (i.e. the result of `which perl'). @@ -1617,7 +1718,7 @@ PERL_PATH = /usr/bin/perl # this option also works with HAVE_DOT disabled, but it is recommended to # install and use dot, since it yields more powerful graphs. -CLASS_DIAGRAMS = YES +CLASS_DIAGRAMS = NO # You can define message sequence charts within doxygen comments using the \msc # command. Doxygen will then run the mscgen tool (see @@ -1698,7 +1799,7 @@ UML_LOOK = NO # the class node. If there are many fields or methods and many nodes the # graph may become too big to be useful. The UML_LIMIT_NUM_FIELDS # threshold limits the number of items for each type to make the size more -# managable. Set this to 0 for no limit. Note that the threshold may be +# manageable. Set this to 0 for no limit. Note that the threshold may be # exceeded by 50% before the limit is enforced. UML_LIMIT_NUM_FIELDS = 10 @@ -1743,7 +1844,7 @@ CALLER_GRAPH = NO GRAPHICAL_HIERARCHY = YES -# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES +# If the DIRECTORY_GRAPH and HAVE_DOT tags are set to YES # then doxygen will show the dependencies a directory has on other directories # in a graphical way. The dependency relations are determined by the #include # relations between the files in the directories. diff --git a/Line.h b/Line.h index 18f3adb6c..b32eefe29 100644 --- a/Line.h +++ b/Line.h @@ -34,7 +34,7 @@ you can use Line to make an oscillator glide from one frequency to another, pre-calculating the required phase increments for each end and then letting your Line change the phase increment with only a simple addition at each step. -@tparam T the type of numbers to use. For example, Line myline; makes a +@tparam T the type of numbers to use. For example, Line \ myline; makes a Line which uses ints. @note Watch out for underflows in the internal calcualtion of Line() if you're not using floats (but on the other hand try to avoid lots of floats, they're too slow!). @@ -54,7 +54,7 @@ class Line public: /** Constructor. Use the template parameter to set the type of numbers you - want to use. For example, Line myline; makes a Line which uses ints. + want to use. For example, Line \ myline; makes a Line which uses ints. */ Line () { @@ -104,7 +104,7 @@ class Line /** Given a new starting value, target value and the number of steps to take on the way, this sets the step size needed to get there. - @param value the number to set the Line's current_value to. + @param startvalue the number to set the Line's current_value to. @param targetvalue the value to move towards. @param num_steps how many steps to take to reach the target. */ diff --git a/MozziGuts.h b/MozziGuts.h index 558a906f4..482c8b0bd 100644 --- a/MozziGuts.h +++ b/MozziGuts.h @@ -27,9 +27,10 @@ #error Mozzi expects a cpu clock speed of 16MHz! #endif + #include "mozzi_config.h" // User can change the config file to set audio mode -#include "TimerOne.h" #include "TimerZero.h" +#include "TimerOne.h" #include "FrequencyTimer2.h" /** @mainpage Welcome @@ -48,19 +49,45 @@ Utility functions which are generally useful, including midi note to frequency c @section Classes The Classes used to generate control and audio signals. -@section Files -Files includes ready-to-use wave tables and samples which are in the Mozzi/tables and Mozzi/samples folders. -See the sample files themselves for documentation. -You can also convert your own sounds from a program like -Audacity to tables for Mozzi with a script called char2mozzi.py, in Mozzi/python. +@section Soundtables +Includes ready-to-use wave tables and a few example samples which are in +the Mozzi/tables and Mozzi/samples folders. -Read the char2mozzi.py file for instructions. +You can convert your own sounds from a program like Audacity to tables for Mozzi +with a script called char2mozzi.py, in Mozzi/python. Read the char2mozzi.py file for instructions. */ + +/** @defgroup Soundtables +Look-up-tables for audio waveforms, waveshaping, and control functions, and +python scripts to generate or convert them. Includes ready-to-use wave tables +and a few example samples which are in the Mozzi/tables and Mozzi/samples +folders. You can convert your own sounds from a program like Audacity to tables +for Mozzi with a script called char2mozzi.py, in Mozzi/python. Read the +char2mozzi.py file for instructions. Also check out the other scripts in the python +folder for templates to use if you want to do your own thing. +*/ + + /** @defgroup core Mozzi core definitions and functions +The bones of every Mozzi sketch. */ -//@defgroup tables Mozzi look-up-tables for audio waveforms, waveshaping, and control functions. + + +/** @ingroup core +Mozzi's CONTROL_RATE sets how many times per second updateControl() is called. +It can be any power of 2 greater than 64, and the largest value where it starts to +become impractical is around 1024. 64, 128, 256 and sometimes 512 are all usable values. +Try to keep it as low as you can, for efficiency, though higher rates can sometimes give smoother results, +avoiding the need to interpolate sensitive variables at audio rate in updateAudio(). +CONTROL_RATE has a default of 64 Hz, but it can be changed at the top of your sketch, +after the \#includes, for example: +\#define CONTROL_RATE 256 +*/ +#define CONTROL_RATE 64 + + /** @ingroup core Use \#define AUDIO_MODE STANDARD in Mozzi/config.h to select Mozzi's original audio diff --git a/NEWS.txt b/NEWS.txt index 05e3c860f..0e27673fe 100644 --- a/NEWS.txt +++ b/NEWS.txt @@ -12,9 +12,16 @@ Version 0.01.2c Madetwi_initiateReadFrom() and twi_initiateWriteFrom() return their error states and made twi_continueReadFrom() and twi_continueWriteFrom() return void. - numbered the Examples category folders to give more sense of organisation and progression -- added Examples > _04_analog_input > Audio_Input, a minimal test of Mozzi audio input. - - +- added Examples > Mozzi > _04_analog_input > Audio_Input, a minimal test of Mozzi audio input. +- added Examples > Mozzi > _02_control > Control_Echo_Theremin, demonstrating ControlDelay() +- repaired hack for Teensy 2 in mozzi_analog.h so it compiles again +- moved default CONTROL_RATE definition to MozziGuts.h, it doesn't need to be in + a config file if you can change it in a sketch. +- changed sin1024_int8.h table to use full range signed 8 bit values - it was scaled down slightly for a forgotten project +- removed samples/TJBAnalogDisk and samples/thumbpiano, these will be available as a separate "Mozzi_Extras" download. +- removed samples/Bamboo1 and changed samples/Samples sketch to use samples/bamboo + + Version 0.01.2b - fixed some docs - added thumbpiano samples diff --git a/Oscil.h b/Oscil.h index 476b042c7..25b4f3c0f 100644 --- a/Oscil.h +++ b/Oscil.h @@ -49,7 +49,8 @@ -/** Oscil plays a wavetable, cycling through the table to generate an audio or +/** +Oscil plays a wavetable, cycling through the table to generate an audio or control signal. The frequency of the signal can be set or changed with setFreq(), and the output of an Oscil can be produced with next() for a simple cycling oscillator, or atIndex() for a particular sample in the table. @@ -150,20 +151,20 @@ class Oscil /** Get the phase of the Oscil in fractional format. - @param phase a position in the wavetable. + @return position in the wavetable, shifted left by OSCIL_F_BITS (which is 16 when this was written). */ unsigned long getPhaseFractional() { ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { - return phase_fractional;; + return phase_fractional; } } /** Returns the next sample given a phase modulation value. - @param a phase modulation value given as a proportion of the wave. The + @param phmod_proportion a phase modulation value given as a proportion of the wave. The phmod_proportion parameter is a Q15n16 fixed-point number where the fractional n16 part represents -1 to 1, modulating the phase by one whole table length in each direction. @@ -256,7 +257,7 @@ class Oscil } */ /** Returns the sample at the given table index. - @param atIndex table index between 0 and the table size.The + @param index between 0 and the table size.The index rolls back around to 0 if it's larger than the table size. @return the sample at the given table index. */ diff --git a/README.md b/README.md index 9c885a3b2..d4a8b9224 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ Mozzi sound synthesis library for Arduino ------------------------------------ -Version 0.01.2b +Version 0.01.2c Tim Barrass 2010-13 diff --git a/RecentAverage.h b/RecentAverage.h index c83a6bc66..732ddb030 100644 --- a/RecentAverage.h +++ b/RecentAverage.h @@ -92,7 +92,7 @@ class /** Give the average of the last NUM_READINGS. - @param a control signal such as an analog input which needs smoothing. + @param input a control signal such as an analog input which needs smoothing. @return the smoothed result. */ T next(T input) diff --git a/Sample.h b/Sample.h index a2943bbee..c592710ba 100644 --- a/Sample.h +++ b/Sample.h @@ -100,10 +100,10 @@ class Sample /** Sets the starting position in samples. - @param offset position in samples. + @param startpos offset position in samples. */ inline - void setStart(unsigned int start) + void setStart(unsigned int startpos) { startpos_fractional = (unsigned long) start << SAMPLE_F_BITS; } @@ -122,7 +122,7 @@ class Sample /** Sets the a new start position and sets the phase (the playhead) to that position. - @param start position in samples from the beginning of the sound. + @param startpos position in samples from the beginning of the sound. */ inline void start(unsigned int startpos) @@ -132,7 +132,7 @@ class Sample } - /** Sets the end position in samples from the beginning of the sound.. + /** Sets the end position in samples from the beginning of the sound. @param end position in samples. */ inline @@ -211,13 +211,13 @@ class Sample // Not readjusted for arbitrary table length yet // - // /** Returns the next sample given a phase modulation value. - // @param a phase modulation value given as a proportion of the wave. The + // Returns the next sample given a phase modulation value. + // @param phmod_proportion phase modulation value given as a proportion of the wave. The // phmod_proportion parameter is a Q15n16 fixed-point number where to fractional // n16 part represents -1 to 1, modulating the phase by one whole table length in // each direction. // @return a sample from the table. - // */ + // // inline // char phMod(long phmod_proportion) // { @@ -227,15 +227,15 @@ class Sample - /** Set the oscillator frequency with an unsigned int. This is faster than using a - float, so it's useful when processor time is tight, but it can be tricky with - low and high frequencies, depending on the size of the wavetable being used. If - you're not getting the results you expect, try explicitly using a float, or try - setFreq_Q24n8. + /** Set the oscillator frequency with an unsigned int. + This is faster than using a float, so it's useful when processor time is tight, + but it can be tricky with low and high frequencies, depending on the size of the + wavetable being used. If you're not getting the results you expect, try + explicitly using a float, or try setFreq_Q24n8. @param frequency to play the wave table. */ inline - void setFreq ( int frequency) { + void setFreq (int frequency) { ATOMIC_BLOCK(ATOMIC_RESTORESTATE) { phase_increment_fractional = ((((unsigned long)NUM_TABLE_CELLS< + + + + + +Mozzi: _02_control/Control_Echo_Theremin/Control_Echo_Theremin.ino + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Mozzi +  alpha 0.01.2c +
+
sound synthesis library for Arduino
+
+
+ + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
+
_02_control/Control_Echo_Theremin/Control_Echo_Theremin.ino
+
+
+

This is an example of how to use the ControlDelay class.

+
/* Example of a simple light-sensing theremin-like
+
instrument with long echoes,
+
using Mozzi sonification library.
+
+
Demonstrates ControlDelay() for echoing control values,
+
and smoothing an analog input from a sensor
+
signal with RecentAverage().
+
+
The circuit:
+
+
* Audio output on digital pin 9 (on a Uno or similar), or
+
check the README or http://sensorium.github.com/Mozzi/
+
+
Light dependent resistor (LDR) and 5.1k resistor on analog pin 1:
+
* LDR from analog pin to +5V
+
* 5.1k resistor from analog pin to ground
+
+
Mozzi help/discussion/announcements:
+
https://groups.google.com/forum/#!forum/mozzi-users
+
+
Tim Barrass 2013.
+
This example code is in the public domain.
+
*/
+
+
#include <MozziGuts.h>
+
#include <Oscil.h> // oscillator template
+
#include <tables/sin2048_int8.h> // sine table for oscillator
+
#include <RecentAverage.h>
+
#include <ControlDelay.h>
+
+
#define INPUT_PIN 0 // analog control input
+
+
unsigned int echo_cells_1 = 32;
+
unsigned int echo_cells_2 = 60;
+
unsigned int echo_cells_3 = 127;
+
+
#define CONTROL_RATE 64
+
ControlDelay <128, int> kDelay; // 2seconds
+
+
// oscils to compare bumpy to averaged control input
+ + + + +
+
// use: RecentAverage <number_type, how_many_to_average> myThing
+
RecentAverage <int, 32> kAverage; // how_many_to_average has to be power of 2
+
int averaged;
+
+
void setup(){
+
kDelay.set(echo_cells_1);
+ +
}
+
+
+ +
int bumpy_input = analogRead(INPUT_PIN);
+
averaged = kAverage.next(bumpy_input);
+
aSin0.setFreq(averaged);
+
aSin1.setFreq(kDelay.next(averaged));
+
aSin2.setFreq(kDelay.read(echo_cells_2));
+
aSin3.setFreq(kDelay.read(echo_cells_3));
+
}
+
+
+ +
return 3*((int)aSin0.next()+aSin1.next()+(aSin2.next()>>1)
+
+(aSin3.next()>>2)) >>3;
+
}
+
+
+
void loop(){
+ +
}
+
+
+
+
+ + + + diff --git a/doc/html/_09_delays_2_audio_delay_2_audio_delay_8ino-example.html b/doc/html/_09_delays_2_audio_delay_2_audio_delay_8ino-example.html new file mode 100644 index 000000000..c34be5210 --- /dev/null +++ b/doc/html/_09_delays_2_audio_delay_2_audio_delay_8ino-example.html @@ -0,0 +1,171 @@ + + + + + + +Mozzi: _09_delays/AudioDelay/AudioDelay.ino + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Mozzi +  alpha 0.01.2c +
+
sound synthesis library for Arduino
+
+
+ + + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+
+
_09_delays/AudioDelay/AudioDelay.ino
+
+
+

This is an example of how to use the AudioDelay class.

+
/* Example of modulating a signal by using a variable delay,
+
* using Mozzi sonification library.
+
*
+
* Demonstrates AudioDelay.
+
*
+
* Circuit: Audio output on digital pin 9 (on a Uno or similar), or
+
* check the README or http://sensorium.github.com/Mozzi/
+
*
+
* Mozzi help/discussion/announcements:
+
* https://groups.google.com/forum/#!forum/mozzi-users
+
*
+
* Tim Barrass 2012.
+
* This example code is in the public domain.
+
*/
+
+
#include <MozziGuts.h>
+
#include <Oscil.h>
+
#include <tables/triangle_analogue512_int8.h> // wavetable
+
#include <tables/cos2048_int8.h> // wavetable
+
#include <AudioDelay.h>
+
#include <mozzi_midi.h> // for mtof
+
+
#define CONTROL_RATE 256 // powers of 2 please
+
+
Oscil<TRIANGLE_ANALOGUE512_NUM_CELLS, AUDIO_RATE> aTriangle(TRIANGLE_ANALOGUE512_DATA);
+ +
+ +
int del_samps;
+
+
void setup(){
+
aTriangle.setFreq(mtof(60.f));
+
kFreq.setFreq(.63f);
+ +
}
+
+
void loop(){
+ +
}
+
+ +
del_samps = 128+kFreq.next();
+
}
+
+ +
char asig = aDel.next(aTriangle.next(), del_samps);
+
return (int) asig;
+
}
+
+
+
+
+
+
+
+
+ + + + diff --git a/doc/html/_a_d_s_r_8h_source.html b/doc/html/_a_d_s_r_8h_source.html index e18920034..2b041df52 100644 --- a/doc/html/_a_d_s_r_8h_source.html +++ b/doc/html/_a_d_s_r_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: ADSR.h Source File - - - - + + + + + + - + -
- - +
- - - - - -
Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
sound synthesis library for Arduino
- - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -95,261 +102,264 @@
    ADSR.h
    -
    00001 /*
    -00002  * ADSR.h
    -00003  *
    -00004  * Copyright 2012 Tim Barrass.
    -00005  *
    -00006  * This file is part of Mozzi.
    -00007  *
    -00008  * Mozzi is free software: you can redistribute it and/or modify
    -00009  * it under the terms of the GNU General Public License as published by
    -00010  * the Free Software Foundation, either version 3 of the License, or
    -00011  * (at your option) any later version.
    -00012  *
    -00013  * Mozzi is distributed in the hope that it will be useful,
    -00014  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00015  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    -00016  * GNU General Public License for more details.
    -00017  *
    -00018  * You should have received a copy of the GNU General Public License
    -00019  * along with Mozzi.  If not, see <http://www.gnu.org/licenses/>.
    -00020  *
    -00021  */
    -00022 
    -00023 #ifndef ADSR_H_
    -00024 #define ADSR_H_
    -00025 
    -00026 #if ARDUINO >= 100
    -00027  #include "Arduino.h"
    -00028 #else
    -00029  #include "WProgram.h"
    -00030 #endif
    -00031 //#include <util/atomic.h>
    -00032 #include "Line.h"
    -00033 #include "mozzi_fixmath.h"
    -00034 
    -00041 template <unsigned int CONTROL_UPDATE_RATE>
    -00042 class ADSR
    -00043 {
    -00044 private:
    -00045 
    -00046                 const unsigned int AUDIO_TICKS_PER_CONTROL;
    -00047 
    -00048                 unsigned int phase_control_step_counter;
    -00049                 unsigned int phase_num_control_steps;
    -00050 
    -00051                 enum {ATTACK,DECAY,SUSTAIN,RELEASE,IDLE};
    -00052                 
    -00053                 
    -00054                 struct phase{
    -00055                                 byte phase_type;
    -00056                                 unsigned int control_steps;
    -00057                                 unsigned long audio_steps;
    -00058                                 Q8n0 level;
    -00059                 }attack,decay,sustain,release,idle;
    -00060                 
    -00061                 phase * current_phase;
    -00062                 
    -00063                 // Linear audio rate transitions for envelope
    -00064                 Line <unsigned long> transition;
    -00065 
    -00066                 inline
    -00067                 unsigned int convertMsecToControlSteps(unsigned int msec){
    -00068                                 return (uint) (((ulong)msec*CONTROL_UPDATE_RATE)>>10); // approximate /1000 with shift
    -00069                 }
    -00070 
    -00071                 inline
    -00072                 void setPhase(phase * next_phase) {
    -00073                                 phase_control_step_counter = 0;
    -00074                                 phase_num_control_steps = next_phase->control_steps;
    -00075                                 transition.set(Q8n0_to_Q16n16(next_phase->level),next_phase->audio_steps);
    -00076                                 current_phase = next_phase;
    -00077                 }
    -00078                 
    -00079                 
    -00080                 
    -00081                 inline
    -00082                 void checkForAndSetNextPhase(phase * next_phase) {
    -00083                                 if (++phase_control_step_counter >= phase_num_control_steps){
    -00084                                                 setPhase(next_phase);
    -00085                                 }
    -00086                 }
    -00087                                                                 
    -00088                 
    -00089                 inline
    -00090                 void checkForAndSetIdle() {
    -00091                                 if (++phase_control_step_counter >= phase_num_control_steps){
    -00092                                                 transition.set(0,0,1);
    -00093                                                 current_phase = &idle;
    -00094                                 }
    -00095                 }
    -00096                 
    -00097                 
    -00098                 
    -00099 inline
    -00100                 void setTime(phase * p, unsigned int msec)
    -00101                 {
    -00102                                 p->control_steps=convertMsecToControlSteps(msec);
    -00103                                 p->audio_steps = (ulong) p->control_steps * AUDIO_TICKS_PER_CONTROL;
    -00104                 }
    -00105                 
    -00106                 
    -00107 public:
    -00108 
    -00111                 ADSR():AUDIO_TICKS_PER_CONTROL(AUDIO_RATE/CONTROL_UPDATE_RATE)
    -00112                 {
    -00113                                 attack.phase_type = ATTACK;
    -00114                                 decay.phase_type = DECAY;
    -00115                                 sustain.phase_type = SUSTAIN;
    -00116                                 release.phase_type = RELEASE;
    -00117                                 idle.phase_type = IDLE;
    -00118                                 release.level = 0;
    -00119                 }
    -00120 
    -00121 
    -00125                 void update(){ // control rate
    -00126                                 
    -00127                                 switch(current_phase->phase_type) {
    -00128                                                 
    -00129                                                 case ATTACK:
    -00130                                                                 checkForAndSetNextPhase(&decay);
    -00131                                                                 break;
    -00132 
    -00133                                                 case DECAY:
    -00134                                                                                 checkForAndSetNextPhase(&sustain);
    -00135                                                                 break;
    -00136                                                                                 
    -00137                                                 case SUSTAIN:
    -00138                                                                                 checkForAndSetNextPhase(&release);                                                                                                                                                              
    -00139                                                                 break;
    -00140                                                                                 
    -00141                                                 case RELEASE:
    -00142                                                                                 checkForAndSetIdle();                                                                                                           
    -00143                                                                 break;
    -00144 
    -00145                                 }               
    -00146                 }
    -00147 
    -00152                 inline
    -00153                 unsigned int next()
    -00154                 {
    -00155                                 return Q16n16_to_Q16n0(transition.next());
    -00156                 }
    -00157 
    -00158 
    -00159 
    -00162                 inline
    -00163                 void noteOn(){
    -00164                                 setPhase(&attack);
    -00165                 }
    -00166 
    -00167 
    -00168 
    -00172                 inline
    -00173                 void noteOff(){                                 
    -00174                                 setPhase(&release);
    -00175                 }
    -00176 
    -00177 
    -00178 
    -00179 
    -00180 
    -00184                 inline
    -00185                 void setAttackLevel(byte value)
    -00186                 {
    -00187                                 attack.level=value;
    -00188                 }
    -00189 
    -00190 
    -00191 
    -00195                 inline
    -00196                 void setDecayLevel(byte value)
    -00197                 {
    -00198                                 decay.level=value;
    -00199                 }
    -00200 
    -00201 
    -00206                 inline
    -00207                 void setSustainLevel(byte value)
    -00208                 {
    -00209                                 sustain.level=value;
    -00210                 }
    -00211                 
    -00216                 inline
    -00217                 void setReleaseLevel(byte value)
    -00218                 {
    -00219                                 release.level=value;
    -00220                 }
    -00221                 
    -00222                 
    -00223                 
    -00229                 inline
    -00230                 void setADLevels(byte attack, byte decay)
    -00231                 {
    -00232                                 setAttackLevel(attack);
    -00233                                 setDecayLevel(decay);
    -00234                                 setSustainLevel(decay);
    -00235                                 setReleaseLevel(0);
    -00236                 }
    -00237                 
    -00238 
    -00239 
    -00240                 
    -00241                 
    -00242                 
    -00243                 
    -00248                 inline
    -00249                 void setAttackTime(unsigned int msec)
    -00250                 {
    -00251                                 setTime(&attack, msec);
    -00252                 }
    -00253 
    -00254 
    -00259                 inline
    -00260                 void setDecayTime(unsigned int msec)
    -00261                 {
    -00262                                 setTime(&decay, msec);
    -00263                 }
    -00264 
    -00265                 
    -00271                 inline
    -00272                 void setSustainTime(unsigned int msec)
    -00273                 {
    -00274                                 setTime(&sustain, msec);
    -00275                 }
    -00276                 
    -00277                 
    -00278 
    -00283                 inline
    -00284                 void setReleaseTime(unsigned int msec)
    -00285                 {
    -00286                                 setTime(&release, msec);
    -00287                 }
    -00288                 
    -00289 
    -00290 
    -00298                 inline
    -00299                 void setTimes(unsigned int attack_ms, unsigned int decay_ms, unsigned int sustain_ms, unsigned int release_ms)
    -00300                 {
    -00301                                 setAttackTime(attack_ms);
    -00302                                 setDecayTime(decay_ms);
    -00303                                 setSustainTime(sustain_ms);
    -00304                                 setReleaseTime(release_ms);
    -00305                 }
    -00306 
    -00307 
    -00308 };
    -00309 
    -00310 #endif /* ADSR_H_ */
    -
    - - - - +
    1 /*
    +
    2  * ADSR.h
    +
    3  *
    +
    4  * Copyright 2012 Tim Barrass.
    +
    5  *
    +
    6  * This file is part of Mozzi.
    +
    7  *
    +
    8  * Mozzi is free software: you can redistribute it and/or modify
    +
    9  * it under the terms of the GNU General Public License as published by
    +
    10  * the Free Software Foundation, either version 3 of the License, or
    +
    11  * (at your option) any later version.
    +
    12  *
    +
    13  * Mozzi is distributed in the hope that it will be useful,
    +
    14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    +
    15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    +
    16  * GNU General Public License for more details.
    +
    17  *
    +
    18  * You should have received a copy of the GNU General Public License
    +
    19  * along with Mozzi. If not, see <http://www.gnu.org/licenses/>.
    +
    20  *
    +
    21  */
    +
    22 
    +
    23 #ifndef ADSR_H_
    +
    24 #define ADSR_H_
    +
    25 
    +
    26 #if ARDUINO >= 100
    +
    27  #include "Arduino.h"
    +
    28 #else
    +
    29  #include "WProgram.h"
    +
    30 #endif
    +
    31 //#include <util/atomic.h>
    +
    32 #include "Line.h"
    +
    33 #include "mozzi_fixmath.h"
    +
    34 
    +
    35 
    +
    42 template <unsigned int CONTROL_UPDATE_RATE>
    +
    43 class ADSR
    +
    44 {
    +
    45 private:
    +
    46 
    +
    47  const unsigned int AUDIO_TICKS_PER_CONTROL;
    +
    48 
    +
    49  unsigned int phase_control_step_counter;
    +
    50  unsigned int phase_num_control_steps;
    +
    51 
    +
    52  enum {ATTACK,DECAY,SUSTAIN,RELEASE,IDLE};
    +
    53 
    +
    54 
    +
    55  struct phase{
    +
    56  byte phase_type;
    +
    57  unsigned int control_steps;
    +
    58  unsigned long audio_steps;
    +
    59  Q8n0 level;
    +
    60  }attack,decay,sustain,release,idle;
    +
    61 
    +
    62  phase * current_phase;
    +
    63 
    +
    64  // Linear audio rate transitions for envelope
    +
    65  Line <unsigned long> transition;
    +
    66 
    +
    67  inline
    +
    68  unsigned int convertMsecToControlSteps(unsigned int msec){
    +
    69  return (uint) (((ulong)msec*CONTROL_UPDATE_RATE)>>10); // approximate /1000 with shift
    +
    70  }
    +
    71 
    +
    72  inline
    +
    73  void setPhase(phase * next_phase) {
    +
    74  phase_control_step_counter = 0;
    +
    75  phase_num_control_steps = next_phase->control_steps;
    +
    76  transition.set(Q8n0_to_Q16n16(next_phase->level),next_phase->audio_steps);
    +
    77  current_phase = next_phase;
    +
    78  }
    +
    79 
    +
    80 
    +
    81 
    +
    82  inline
    +
    83  void checkForAndSetNextPhase(phase * next_phase) {
    +
    84  if (++phase_control_step_counter >= phase_num_control_steps){
    +
    85  setPhase(next_phase);
    +
    86  }
    +
    87  }
    +
    88 
    +
    89 
    +
    90  inline
    +
    91  void checkForAndSetIdle() {
    +
    92  if (++phase_control_step_counter >= phase_num_control_steps){
    +
    93  transition.set(0,0,1);
    +
    94  current_phase = &idle;
    +
    95  }
    +
    96  }
    +
    97 
    +
    98 
    +
    99 
    +
    100 inline
    +
    101  void setTime(phase * p, unsigned int msec)
    +
    102  {
    +
    103  p->control_steps=convertMsecToControlSteps(msec);
    +
    104  p->audio_steps = (ulong) p->control_steps * AUDIO_TICKS_PER_CONTROL;
    +
    105  }
    +
    106 
    +
    107 
    +
    108 public:
    +
    109 
    +
    112  ADSR():AUDIO_TICKS_PER_CONTROL(AUDIO_RATE/CONTROL_UPDATE_RATE)
    +
    113  {
    +
    114  attack.phase_type = ATTACK;
    +
    115  decay.phase_type = DECAY;
    +
    116  sustain.phase_type = SUSTAIN;
    +
    117  release.phase_type = RELEASE;
    +
    118  idle.phase_type = IDLE;
    +
    119  release.level = 0;
    +
    120  }
    +
    121 
    +
    122 
    +
    126  void update(){ // control rate
    +
    127 
    +
    128  switch(current_phase->phase_type) {
    +
    129 
    +
    130  case ATTACK:
    +
    131  checkForAndSetNextPhase(&decay);
    +
    132  break;
    +
    133 
    +
    134  case DECAY:
    +
    135  checkForAndSetNextPhase(&sustain);
    +
    136  break;
    +
    137 
    +
    138  case SUSTAIN:
    +
    139  checkForAndSetNextPhase(&release);
    +
    140  break;
    +
    141 
    +
    142  case RELEASE:
    +
    143  checkForAndSetIdle();
    +
    144  break;
    +
    145 
    +
    146  }
    +
    147  }
    +
    148 
    +
    153  inline
    +
    154  unsigned int next()
    +
    155  {
    +
    156  return Q16n16_to_Q16n0(transition.next());
    +
    157  }
    +
    158 
    +
    159 
    +
    160 
    +
    163  inline
    +
    164  void noteOn(){
    +
    165  setPhase(&attack);
    +
    166  }
    +
    167 
    +
    168 
    +
    169 
    +
    173  inline
    +
    174  void noteOff(){
    +
    175  setPhase(&release);
    +
    176  }
    +
    177 
    +
    178 
    +
    179 
    +
    180 
    +
    181 
    +
    185  inline
    +
    186  void setAttackLevel(byte value)
    +
    187  {
    +
    188  attack.level=value;
    +
    189  }
    +
    190 
    +
    191 
    +
    192 
    +
    196  inline
    +
    197  void setDecayLevel(byte value)
    +
    198  {
    +
    199  decay.level=value;
    +
    200  }
    +
    201 
    +
    202 
    +
    207  inline
    +
    208  void setSustainLevel(byte value)
    +
    209  {
    +
    210  sustain.level=value;
    +
    211  }
    +
    212 
    +
    217  inline
    +
    218  void setReleaseLevel(byte value)
    +
    219  {
    +
    220  release.level=value;
    +
    221  }
    +
    222 
    +
    223 
    +
    224 
    +
    230  inline
    +
    231  void setADLevels(byte attack, byte decay)
    +
    232  {
    +
    233  setAttackLevel(attack);
    +
    234  setDecayLevel(decay);
    +
    235  setSustainLevel(decay);
    +
    236  setReleaseLevel(0);
    +
    237  }
    +
    238 
    +
    239 
    +
    240 
    +
    241 
    +
    242 
    +
    243 
    +
    244 
    +
    249  inline
    +
    250  void setAttackTime(unsigned int msec)
    +
    251  {
    +
    252  setTime(&attack, msec);
    +
    253  }
    +
    254 
    +
    255 
    +
    260  inline
    +
    261  void setDecayTime(unsigned int msec)
    +
    262  {
    +
    263  setTime(&decay, msec);
    +
    264  }
    +
    265 
    +
    266 
    +
    272  inline
    +
    273  void setSustainTime(unsigned int msec)
    +
    274  {
    +
    275  setTime(&sustain, msec);
    +
    276  }
    +
    277 
    +
    278 
    +
    279 
    +
    284  inline
    +
    285  void setReleaseTime(unsigned int msec)
    +
    286  {
    +
    287  setTime(&release, msec);
    +
    288  }
    +
    289 
    +
    290 
    +
    291 
    +
    299  inline
    +
    300  void setTimes(unsigned int attack_ms, unsigned int decay_ms, unsigned int sustain_ms, unsigned int release_ms)
    +
    301  {
    +
    302  setAttackTime(attack_ms);
    +
    303  setDecayTime(decay_ms);
    +
    304  setSustainTime(sustain_ms);
    +
    305  setReleaseTime(release_ms);
    +
    306  }
    +
    307 
    +
    308 
    +
    309 };
    +
    310 
    +
    311 #endif /* ADSR_H_ */
    +
    + + + diff --git a/doc/html/_audio_config_hi_speed14bit_pwm_8h_source.html b/doc/html/_audio_config_hi_speed14bit_pwm_8h_source.html index ca91a1b2e..947fe3a7c 100644 --- a/doc/html/_audio_config_hi_speed14bit_pwm_8h_source.html +++ b/doc/html/_audio_config_hi_speed14bit_pwm_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: AudioConfigHiSpeed14bitPwm.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -95,43 +102,45 @@
    AudioConfigHiSpeed14bitPwm.h
    -
    00001 #ifndef AUDIOCONFIGHISPEED14BITPWM_H
    -00002 #define AUDIOCONFIGHISPEED14BITPWM_H
    -00003 
    -00004 /*
    -00005 14 bit sound at 16384 Hz and 125kHz pwm rate
    -00006 Timer 1: PWM 125kHz 
    -00007 Timer 2: called at AUDIO_RATE 16384 Hz, setting Timer1 pwm levels
    -00008 Output on Timer1, low byte on Pin 10, and high byte on Pin 9 (on 328 based Arduino boards)
    -00009 Add signals through a 3.9k resistor on high byte pin and 1M resistor on low byte pin.
    -00010 Use 1% or better resistors.
    -00011 As discussed on http://www.openmusiclabs.com/learning/digital/pwm-dac/dual-pwm-circuits/
    -00012 Also, there are higher quality output circuits are on the site.
    -00013 
    -00014 Boards, pins and resistor positions are documented in MozziGuts.h
    -00015 */
    -00016 
    -00017 // pins defined in TimerOne/config/known_16bit_timers.h
    -00018 #define AUDIO_CHANNEL_1_HIGHBYTE_PIN TIMER1_A_PIN // 3.9k resistor
    -00019 #define AUDIO_CHANNEL_1_LOWBYTE_PIN TIMER1_B_PIN // 1 M resistor
    -00020 #define AUDIO_CHANNEL_1_HIGHBYTE_REGISTER OCR1AL
    -00021 #define AUDIO_CHANNEL_1_LOWBYTE_REGISTER OCR1BL
    -00022 
    -00023 /* Used internally to put the 0-biased generated audio into the right range for PWM output.*/
    -00024 // 14 bit
    -00025 #define AUDIO_BIAS ((unsigned int) 0x2000)
    -00026 
    -00027 
    -00028 #endif        //  #ifndef AUDIOCONFIGHISPEED14BITPWM_H
    -00029 
    -
    - - - - +
    1 #ifndef AUDIOCONFIGHISPEED14BITPWM_H
    +
    2 #define AUDIOCONFIGHISPEED14BITPWM_H
    +
    3 
    +
    4 /*
    +
    5 14 bit sound at 16384 Hz and 125kHz pwm rate
    +
    6 Timer 1: PWM 125kHz
    +
    7 Timer 2: called at AUDIO_RATE 16384 Hz, setting Timer1 pwm levels
    +
    8 Output on Timer1, low byte on Pin 10, and high byte on Pin 9 (on 328 based Arduino boards)
    +
    9 Add signals through a 3.9k resistor on high byte pin and 1M resistor on low byte pin.
    +
    10 Use 1% or better resistors.
    +
    11 As discussed on http://www.openmusiclabs.com/learning/digital/pwm-dac/dual-pwm-circuits/
    +
    12 Also, there are higher quality output circuits are on the site.
    +
    13 
    +
    14 Boards, pins and resistor positions are documented in MozziGuts.h
    +
    15 */
    +
    16 
    +
    17 // pins defined in TimerOne/config/known_16bit_timers.h
    +
    18 #define AUDIO_CHANNEL_1_HIGHBYTE_PIN TIMER1_A_PIN // 3.9k resistor
    +
    19 #define AUDIO_CHANNEL_1_LOWBYTE_PIN TIMER1_B_PIN // 1 M resistor
    +
    20 #define AUDIO_CHANNEL_1_HIGHBYTE_REGISTER OCR1AL
    +
    21 #define AUDIO_CHANNEL_1_LOWBYTE_REGISTER OCR1BL
    +
    22 
    +
    23 /* Used internally to put the 0-biased generated audio into the right range for PWM output.*/
    +
    24 // 14 bit
    +
    25 #define AUDIO_BIAS ((unsigned int) 0x2000)
    +
    26 
    +
    27 
    +
    28 #endif // #ifndef AUDIOCONFIGHISPEED14BITPWM_H
    +
    29 
    +
    + + + diff --git a/doc/html/_audio_config_standard9bit_pwm_8h_source.html b/doc/html/_audio_config_standard9bit_pwm_8h_source.html index 00ce657ae..b6252ed8a 100644 --- a/doc/html/_audio_config_standard9bit_pwm_8h_source.html +++ b/doc/html/_audio_config_standard9bit_pwm_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: AudioConfigStandard9bitPwm.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -95,30 +102,32 @@
    AudioConfigStandard9bitPwm.h
    -
    00001 #ifndef AUDIOCONFIGSTANDARD9BITPWM_H
    -00002 #define AUDIOCONFIGSTANDARD9BITPWM_H
    -00003 
    -00004 
    -00011 #define STANDARD_PWM_RESOLUTION 488
    -00012 
    -00013 /* Used internally to put the 0-biased generated audio into the right range for PWM output.*/
    -00014 #define AUDIO_BIAS ((unsigned char) 244)
    -00015 
    -00016 // Used internally.  If there was a channel 2, it would be OCR1B.
    -00017 #define AUDIO_CHANNEL_1_OUTPUT_REGISTER OCR1A
    -00018 
    -00019 #define AUDIO_CHANNEL_1_PIN TIMER1_A_PIN // defined in TimerOne/config/known_16bit_timers.h
    -00020 
    -00021 #endif        //  #ifndef AUDIOCONFIGSTANDARD9BITPWM_H
    -00022 
    -
    - - - - +
    1 #ifndef AUDIOCONFIGSTANDARD9BITPWM_H
    +
    2 #define AUDIOCONFIGSTANDARD9BITPWM_H
    +
    3 
    +
    4 
    +
    11 #define STANDARD_PWM_RESOLUTION 488
    +
    12 
    +
    13 /* Used internally to put the 0-biased generated audio into the right range for PWM output.*/
    +
    14 #define AUDIO_BIAS ((unsigned char) 244)
    +
    15 
    +
    16 // Used internally. If there was a channel 2, it would be OCR1B.
    +
    17 #define AUDIO_CHANNEL_1_OUTPUT_REGISTER OCR1A
    +
    18 
    +
    19 #define AUDIO_CHANNEL_1_PIN TIMER1_A_PIN // defined in TimerOne/config/known_16bit_timers.h
    +
    20 
    +
    21 #endif // #ifndef AUDIOCONFIGSTANDARD9BITPWM_H
    +
    22 
    +
    + + + diff --git a/doc/html/_audio_delay_8h_source.html b/doc/html/_audio_delay_8h_source.html index e1b94d741..413899c51 100644 --- a/doc/html/_audio_delay_8h_source.html +++ b/doc/html/_audio_delay_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: AudioDelay.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -95,118 +102,120 @@
    AudioDelay.h
    -
    00001 /*
    -00002  * AudioDelay.h
    -00003  *
    -00004  * Copyright 2012 Tim Barrass.
    -00005  *
    -00006  * This file is part of Mozzi.
    -00007  *
    -00008  * Mozzi is free software: you can redistribute it and/or modify
    -00009  * it under the terms of the GNU General Public License as published by
    -00010  * the Free Software Foundation, either version 3 of the License, or
    -00011  * (at your option) any later version.
    -00012  *
    -00013  * Mozzi is distributed in the hope that it will be useful,
    -00014  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00015  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    -00016  * GNU General Public License for more details.
    -00017  *
    -00018  * You should have received a copy of the GNU General Public License
    -00019  * along with Mozzi.  If not, see <http://www.gnu.org/licenses/>.
    -00020  *
    -00021  */
    -00022 
    -00023 #ifndef AUDIODELAY_H_
    -00024 #define AUDIODELAY_H_
    -00025 
    -00026 
    -00037 template <unsigned int NUM_BUFFER_SAMPLES, class T = char>
    -00038 class AudioDelay
    -00039 {
    -00040 
    -00041 private:
    -00042 
    -00043                 T delay_array[NUM_BUFFER_SAMPLES];
    -00044                 unsigned int _write_pos;
    -00045                 unsigned int _delaytime_cells;
    -00046                 
    -00047 public:
    -00048 
    -00051                 AudioDelay(): _write_pos(0)
    -00052                 {}
    -00053                 
    -00054                 
    -00060                 AudioDelay(unsigned int delaytime_cells): _write_pos(0), _delaytime_cells(delaytime_cells)
    -00061                 {}
    -00062 
    -00063                 
    -00064 
    -00069                 inline
    -00070                 T next(T in_value, unsigned int delaytime_cells)
    -00071                 {
    -00072                                 ++_write_pos &= (NUM_BUFFER_SAMPLES - 1);
    -00073                                 unsigned int read_pos = (_write_pos - delaytime_cells) & (NUM_BUFFER_SAMPLES - 1);
    -00074 
    -00075                                 // why does delay jump if I read it before writing?
    -00076                                 delay_array[_write_pos] = in_value;                                             // write to buffer
    -00077                                 char delay_sig = delay_array[read_pos] ;        // read the delay buffer
    -00078 
    -00079                                 return (T)delay_sig;
    -00080                 }
    -00081                 
    -00082                 
    -00083                 
    -00087                 inline
    -00088                 T next(T in_value)
    -00089                 {
    -00090                                 ++_write_pos &= (NUM_BUFFER_SAMPLES - 1);
    -00091                                 unsigned int read_pos = (_write_pos - _delaytime_cells) & (NUM_BUFFER_SAMPLES - 1);
    -00092 
    -00093                                 // why does delay jump if I read it before writing?
    -00094                                 delay_array[_write_pos] = in_value;                                             // write to buffer
    -00095                                 T delay_sig = delay_array[read_pos] ;           // read the delay buffer
    -00096 
    -00097                                 return delay_sig;
    -00098                 }
    -00099 
    -00100                 
    -00101                 inline
    -00102                 void set(unsigned int delaytime_cells){
    -00103                                 _delaytime_cells = delaytime_cells;
    -00104                 }
    -00105 
    -00106                 
    -00111                 inline
    -00112                 T read(unsigned int delaytime_cells)
    -00113                 {
    -00114                                 unsigned int read_pos = (_write_pos - delaytime_cells) & (NUM_BUFFER_SAMPLES - 1);
    -00115                                 return delay_array[read_pos];
    -00116                 }
    -00117                 
    -00118                 
    -00119                 // /** Input a value to the delay but don't advance the write position, change the delay time or retrieve the output signal.
    -00120                 // This can be useful for manually adding feedback to the delay line, "behind" the advancing write head.
    -00121                 // @param input the signal input.
    -00122                 // */
    -00123                 // inline
    -00124                 // void writeFeedback(T input)
    -00125                 // {
    -00126                                 // delay_array[_write_pos] = input;
    -00127                 // }
    -00128                 
    -00129 };
    -00130 
    -00131 #endif        //  #ifndef AUDIODELAY_H_
    -00132 
    -
    - - - - +
    1 /*
    +
    2  * AudioDelay.h
    +
    3  *
    +
    4  * Copyright 2012 Tim Barrass.
    +
    5  *
    +
    6  * This file is part of Mozzi.
    +
    7  *
    +
    8  * Mozzi is free software: you can redistribute it and/or modify
    +
    9  * it under the terms of the GNU General Public License as published by
    +
    10  * the Free Software Foundation, either version 3 of the License, or
    +
    11  * (at your option) any later version.
    +
    12  *
    +
    13  * Mozzi is distributed in the hope that it will be useful,
    +
    14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    +
    15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    +
    16  * GNU General Public License for more details.
    +
    17  *
    +
    18  * You should have received a copy of the GNU General Public License
    +
    19  * along with Mozzi. If not, see <http://www.gnu.org/licenses/>.
    +
    20  *
    +
    21  */
    +
    22 
    +
    23 #ifndef AUDIODELAY_H_
    +
    24 #define AUDIODELAY_H_
    +
    25 
    +
    26 
    +
    37 template <unsigned int NUM_BUFFER_SAMPLES, class T = char>
    + +
    39 {
    +
    40 
    +
    41 private:
    +
    42 
    +
    43  T delay_array[NUM_BUFFER_SAMPLES];
    +
    44  unsigned int _write_pos;
    +
    45  unsigned int _delaytime_cells;
    +
    46 
    +
    47 public:
    +
    48 
    +
    51  AudioDelay(): _write_pos(0)
    +
    52  {}
    +
    53 
    +
    54 
    +
    60  AudioDelay(unsigned int delaytime_cells): _write_pos(0), _delaytime_cells(delaytime_cells)
    +
    61  {}
    +
    62 
    +
    63 
    +
    64 
    +
    69  inline
    +
    70  T next(T in_value, unsigned int delaytime_cells)
    +
    71  {
    +
    72  ++_write_pos &= (NUM_BUFFER_SAMPLES - 1);
    +
    73  unsigned int read_pos = (_write_pos - delaytime_cells) & (NUM_BUFFER_SAMPLES - 1);
    +
    74 
    +
    75  // why does delay jump if I read it before writing?
    +
    76  delay_array[_write_pos] = in_value; // write to buffer
    +
    77  char delay_sig = delay_array[read_pos] ; // read the delay buffer
    +
    78 
    +
    79  return (T)delay_sig;
    +
    80  }
    +
    81 
    +
    82 
    +
    83 
    +
    87  inline
    +
    88  T next(T in_value)
    +
    89  {
    +
    90  ++_write_pos &= (NUM_BUFFER_SAMPLES - 1);
    +
    91  unsigned int read_pos = (_write_pos - _delaytime_cells) & (NUM_BUFFER_SAMPLES - 1);
    +
    92 
    +
    93  // why does delay jump if I read it before writing?
    +
    94  delay_array[_write_pos] = in_value; // write to buffer
    +
    95  T delay_sig = delay_array[read_pos] ; // read the delay buffer
    +
    96 
    +
    97  return delay_sig;
    +
    98  }
    +
    99 
    +
    100 
    +
    104  inline
    +
    105  void set(unsigned int delaytime_cells){
    +
    106  _delaytime_cells = delaytime_cells;
    +
    107  }
    +
    108 
    +
    109 
    +
    114  inline
    +
    115  T read(unsigned int delaytime_cells)
    +
    116  {
    +
    117  unsigned int read_pos = (_write_pos - delaytime_cells) & (NUM_BUFFER_SAMPLES - 1);
    +
    118  return delay_array[read_pos];
    +
    119  }
    +
    120 
    +
    121 
    +
    122  // /** Input a value to the delay but don't advance the write position, change the delay time or retrieve the output signal.
    +
    123  // This can be useful for manually adding feedback to the delay line, "behind" the advancing write head.
    +
    124  // @param input the signal input.
    +
    125  // */
    +
    126  // inline
    +
    127  // void writeFeedback(T input)
    +
    128  // {
    +
    129  // delay_array[_write_pos] = input;
    +
    130  // }
    +
    131 
    +
    132 };
    +
    133 
    +
    138 #endif // #ifndef AUDIODELAY_H_
    +
    139 
    +
    + + + diff --git a/doc/html/_audio_delay_feedback_8h_source.html b/doc/html/_audio_delay_feedback_8h_source.html index 296355410..7eb39d733 100644 --- a/doc/html/_audio_delay_feedback_8h_source.html +++ b/doc/html/_audio_delay_feedback_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: AudioDelayFeedback.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -95,314 +102,316 @@
    AudioDelayFeedback.h
    -
    00001 #ifndef AUDIODELAY_FEEDBACK_H_
    -00002 #define AUDIODELAY_FEEDBACK_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include "mozzi_utils.h"
    -00010 #include "meta.h"
    -00011 
    -00012 enum interpolation_types {LINEAR,ALLPASS};
    -00013 
    -00014 
    -00028 template <unsigned int NUM_BUFFER_SAMPLES, char INTERP_TYPE = LINEAR>
    -00029 class AudioDelayFeedback
    -00030 {
    -00031 
    -00032 public:
    -00035                 AudioDelayFeedback(): write_pos(0), _feedback_level(0), _delaytime_cells(0)
    -00036                 {}
    -00037 
    -00038 
    -00044                 AudioDelayFeedback(unsigned int delaytime_cells): write_pos(0), _feedback_level(0), _delaytime_cells(delaytime_cells)
    -00045                 {}
    -00046 
    -00047 
    -00054                 AudioDelayFeedback(unsigned int delaytime_cells, char feedback_level): write_pos(0),  _feedback_level(feedback_level), _delaytime_cells(delaytime_cells)
    -00055                 {}
    -00056 
    -00057 
    -00058 
    -00063                 inline
    -00064                 int next(char input)
    -00065                 {
    -00066                                 // chooses a different next() function depending on whether the
    -00067                                 // the template parameter is LINEAR(default if none provided) or ALLPASS.
    -00068                                 // See meta.h.
    -00069                                 return next(input, Int2Type<INTERP_TYPE>());
    -00070                 }
    -00071 
    -00072 
    -00073 
    -00081                 inline
    -00082                 int next(char input, unsigned int delaytime_cells)
    -00083                 {
    -00084                                 //setPin13High();
    -00085                                 ++write_pos &= (NUM_BUFFER_SAMPLES - 1);
    -00086                                 unsigned int read_pos = (write_pos - delaytime_cells) & (NUM_BUFFER_SAMPLES - 1);
    -00087                                 // < 1us to here
    -00088                                 int delay_sig = delay_array[read_pos];                                                                                                                          // read the delay buffer
    -00089                                 // with this line, the method takes 18us
    -00090                                 //char feedback_sig = (char) min(max(((delay_sig * _feedback_level)/128),-128),127); // feedback clipped
    -00091                                 // this line, the whole method takes 4us... Compiler doesn't optimise pow2 divides.  Why?
    -00092                                 char feedback_sig = (char) min(max(((delay_sig * _feedback_level)>>7),-128),127); // feedback clipped
    -00093                                 delay_array[write_pos] = (int) input + feedback_sig;                                                                            // write to buffer
    -00094                                 //setPin13Low();
    -00095                                 return delay_sig;
    -00096                 }
    -00097 
    -00098 
    -00099 
    -00107                 inline
    -00108                 int next(char input, Q16n16 delaytime_cells)
    -00109                 {
    -00110                                 //setPin13High();
    -00111                                 ++write_pos &= (NUM_BUFFER_SAMPLES - 1);
    -00112                                 unsigned int index = delaytime_cells >> 16;
    -00113                                 unsigned int fraction = (unsigned int) delaytime_cells; // keeps low word
    -00114 
    -00115                                 unsigned int read_pos1 = (write_pos - index) & (NUM_BUFFER_SAMPLES - 1);
    -00116                                 int delay_sig1 = delay_array[read_pos1];                                                                                                                        // read the delay buffer
    -00117 
    -00118                                 unsigned int read_pos2 = (write_pos - (index+1)) & (NUM_BUFFER_SAMPLES - 1);
    -00119                                 int delay_sig2 = delay_array[read_pos2];                                                                                                                        // read the delay buffer
    -00120 
    -00121 
    -00122                                 int difference = delay_sig2 - delay_sig1;
    -00123                                 int delay_sig_fraction = ((long) fraction * difference) >> 16;
    -00124 
    -00125                                 int delay_sig = delay_sig1+delay_sig_fraction;
    -00126 
    -00127                                 //int delay_sig = delay_sig1 + ((long)delay_sig2*fraction)>>16;
    -00128 
    -00129                                 char feedback_sig = (char) min(max(((delay_sig * _feedback_level)>>7),-128),127); // feedback clipped
    -00130                                 delay_array[write_pos] = (int) input + feedback_sig;                                                                            // write to buffer
    -00131                                 //setPin13Low();
    -00132                                 return delay_sig;
    -00133                 }
    -00134 
    -00135 
    -00139                 inline
    -00140                 void write(char input)
    -00141                 {
    -00142                                 ++write_pos &= (NUM_BUFFER_SAMPLES - 1);
    -00143                                 delay_array[write_pos] = input;
    -00144                 }
    -00145 
    -00146 
    -00151                 inline
    -00152                 void writeFeedback(char input)
    -00153                 {
    -00154                                 delay_array[write_pos] = input;
    -00155                 }
    -00156 
    -00157 
    -00163                 inline
    -00164                 void write(char input, unsigned int offset)
    -00165                 {
    -00166                                 (write_pos + offset) &= (NUM_BUFFER_SAMPLES - 1);
    -00167                                 delay_array[write_pos] = input;
    -00168                 }
    -00169 
    -00170 
    -00175                 inline
    -00176                 int read(Q16n16 delaytime_cells)
    -00177                 {
    -00178                                 return read(delaytime_cells, Int2Type<INTERP_TYPE>());
    -00179                 }
    -00180 
    -00181 
    -00185                 inline
    -00186                 int read()
    -00187                 {
    -00188                                 return read(Int2Type<INTERP_TYPE>());
    -00189                 }
    -00190 
    -00191 
    -00197                 inline
    -00198                 void setDelayTimeCells(unsigned int delaytime_cells)
    -00199                 {
    -00200                                 _delaytime_cells = (unsigned int) delaytime_cells;
    -00201                 }
    -00202 
    -00203 
    -00209                 inline
    -00210                 void setDelayTimeCells(Q16n16 delaytime_cells)
    -00211                 {
    -00212                                 return setDelayTimeCells(delaytime_cells, Int2Type<INTERP_TYPE>());
    -00213                 }
    -00214 
    -00215 
    -00221                 inline
    -00222                 void setDelayTimeCells(float delaytime_cells)
    -00223                 {
    -00224                                 return setDelayTimeCells(delaytime_cells, Int2Type<INTERP_TYPE>());
    -00225                 }
    -00226 
    -00227 
    -00231                 inline
    -00232                 void setFeedbackLevel(char feedback_level)
    -00233                 {
    -00234                                 _feedback_level = feedback_level;
    -00235                 }
    -00236 
    -00237 
    -00238 
    -00239 private:
    -00240                 int delay_array[NUM_BUFFER_SAMPLES];
    -00241                 unsigned int write_pos;
    -00242                 char _feedback_level;
    -00243                 unsigned int _delaytime_cells;
    -00244                 Q15n16 _coeff; // for allpass interpolation
    -00245 
    -00246 
    -00247 
    -00251                 inline
    -00252                 int next(char in_value, Int2Type<LINEAR>)
    -00253                 {
    -00254                                 ++write_pos &= (NUM_BUFFER_SAMPLES - 1);
    -00255                                 unsigned int read_pos = (write_pos - _delaytime_cells) & (NUM_BUFFER_SAMPLES - 1);
    -00256 
    -00257                                 int delay_sig = delay_array[read_pos];                                                                                                                          // read the delay buffer
    -00258                                 char feedback_sig = (char) min(max(((delay_sig * _feedback_level)/128),-128),127); // feedback clipped
    -00259                                 delay_array[write_pos] = (int) in_value + feedback_sig;                                                                         // write to buffer
    -00260 
    -00261                                 return delay_sig;
    -00262                 }
    -00263 
    -00264 
    -00265 
    -00273                 inline
    -00274                 int next(char input, Int2Type<ALLPASS>)
    -00275                 {
    -00276                                 /*
    -00277                                 http://www.scandalis.com/Jarrah/Documents/DelayLine.pdf
    -00278                                 also https://ccrma.stanford.edu/~jos/Interpolation/Interpolation_4up.pdf
    -00279                                 for desired fractional delay of d samples,
    -00280                                 coeff = (1-d)/(1+d)
    -00281                                 or
    -00282                                 coeff = ((d-1)>1) + (((d-1)*(d-1))>>2) - (((d-1)*(d-1)*(d-1))>>3)
    -00283                                 out = coeff * in + last_in - coeff * last_out
    -00284                                 = coeff * (in-last_out) + last_in
    -00285                                 */
    -00286                                 //setPin13High();
    -00287                                 static char last_in;
    -00288                                 static int last_out;
    -00289 
    -00290                                 ++write_pos &= (NUM_BUFFER_SAMPLES - 1);
    -00291 
    -00292                                 unsigned int read_pos1 = (write_pos - _delaytime_cells) & (NUM_BUFFER_SAMPLES - 1);
    -00293                                 int delay_sig = delay_array[read_pos1];                                                                                                                         // read the delay buffer
    -00294 
    -00295                                 int interp = (int)(_coeff * ((int)input - last_out)>>16) + last_in; // Q15n16*Q15n0 + Q15n0 = Q15n16 + Q15n0 = Q15n16
    -00296                                 delay_sig += interp;
    -00297 
    -00298                                 char feedback_sig = (char) min(max(((delay_sig * _feedback_level)>>7),-128),127); // feedback clipped
    -00299                                 delay_array[write_pos] = (int) input + feedback_sig;                                                                            // write to buffer
    -00300 
    -00301                                 last_in = input;
    -00302                                 last_out = delay_sig;
    -00303                                 //setPin13Low();
    -00304                                 return delay_sig;
    -00305                 }
    -00306 
    -00307 
    -00308 
    -00309                 // 20-25us
    -00310                 inline
    -00311                 void setDelayTimeCells(Q16n16 delaytime_cells, Int2Type<ALLPASS>)
    -00312                 {
    -00313                                 /*
    -00314                                 integer optimisation/approximation from 
    -00315                                 Van Duyne, Jaffe, Scandalis, Stilson 1997
    -00316                                 http://www.scandalis.com/Jarrah/Documents/DelayLine.pdf
    -00317                                 //coeff = -((d-1)>1) + (((d-1)*(d-1))>>2) - (((d-1)*(d-1)*(d-1))>>3) , d is fractional part
    -00318                                 */
    -00319                                 _delaytime_cells = delaytime_cells>>16; // whole integer part
    -00320                                 Q15n16 dminus1 = - Q15n16_FIX1 + (unsigned int) delaytime_cells;
    -00321                                 Q15n16 dminus1squared = (dminus1)*(dminus1)>>16;
    -00322                                 _coeff = -(dminus1>>1) + (dminus1squared>>2) - (((dminus1squared*dminus1)>>16)>>3);
    -00323                 }
    -00324 
    -00325 
    -00326                 // 100us
    -00327                 inline
    -00328                 void setDelayTimeCells(float delaytime_cells, Int2Type<ALLPASS>)
    -00329                 {
    -00330                                 //coeff = (1-d)/(1+d)
    -00331                                 _delaytime_cells = (unsigned int) delaytime_cells;
    -00332 
    -00333                                 float fraction = delaytime_cells - _delaytime_cells;
    -00334 
    -00335                                 // modified from stk DelayA.cpp
    -00336                                 float alpha_ = 1.0f + fraction; // fractional part
    -00337                                 if ( alpha_ < 0.5f ) {
    -00338                                                 // (stk): The optimal range for alpha is about 0.5 - 1.5 in order to
    -00339                                                 // achieve the flattest phase delay response.
    -00340 
    -00341                                                 // something's not right about how I use _delaytime_cells and
    -00342                                                 // NUM_BUFFER_SAMPLES etc. in my ringbuffer compared to stk
    -00343                                                 _delaytime_cells += 1;
    -00344                                                 if ( _delaytime_cells >= NUM_BUFFER_SAMPLES ) _delaytime_cells -= NUM_BUFFER_SAMPLES;
    -00345                                                 alpha_ += 1.0f;
    -00346                                 }
    -00347                                 // otherwise this would use fraction instead of alpha
    -00348                                 _coeff = float_to_Q15n16((1.f-alpha_)/(1.f+alpha_));
    -00349                 }
    -00350 
    -00351                 
    -00352 
    -00353                 // /** Retrieve the signal in the delay line at the position delaytime_cells.
    -00354                 // It doesn't change the stored internal value of _delaytime_cells or feedback the output to the input.
    -00355                 // @param delaytime_cells indicates the delay time in terms of cells in the delay buffer.
    -00356                 // */
    -00357                 // inline
    -00358                 // int read(unsigned int delaytime_cells, Int2Type<LINEAR>)
    -00359                 // {
    -00360                 // unsigned int read_pos = (write_pos - delaytime_cells) & (NUM_BUFFER_SAMPLES - 1);
    -00361                 // int delay_sig = delay_array[read_pos];                                                                                                                       // read the delay buffer
    -00362                 //
    -00363                 // return delay_sig;
    -00364                 // }
    -00365 
    -00370                 inline
    -00371                 int read(Q16n16 delaytime_cells, Int2Type<LINEAR>)
    -00372                 {
    -00373                                 unsigned int index = delaytime_cells >> 16;
    -00374                                 unsigned int fraction = (unsigned int) delaytime_cells; // keeps low word
    -00375 
    -00376                                 unsigned int read_pos1 = (write_pos - index) & (NUM_BUFFER_SAMPLES - 1);
    -00377                                 int delay_sig1 = delay_array[read_pos1];                                                                                                                        // read the delay buffer
    -00378 
    -00379                                 unsigned int read_pos2 = (write_pos - (index+1)) & (NUM_BUFFER_SAMPLES - 1);
    -00380                                 int delay_sig2 = delay_array[read_pos2];                                                                                                                        // read the delay buffer
    -00381 
    -00382                                 /*
    -00383                                 int difference = delay_sig2 - delay_sig1;
    -00384                                 int delay_sig_fraction = ((long) fraction * difference) >> 16;
    -00385 
    -00386                                 int delay_sig = delay_sig1+delay_sig_fraction;
    -00387                                 */
    -00388                                 int delay_sig = delay_sig1 + ((long)delay_sig2*fraction)>>16;
    -00389 
    -00390                                 return delay_sig;
    -00391                 }
    -00392 
    -00393 };
    -00394 
    -00395 #endif        //  #ifndef AUDIODELAY_FEEDBACK_H_
    -
    - - - - +
    1 #ifndef AUDIODELAY_FEEDBACK_H_
    +
    2 #define AUDIODELAY_FEEDBACK_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include "mozzi_utils.h"
    +
    10 #include "meta.h"
    +
    11 
    +
    12 enum interpolation_types {LINEAR,ALLPASS};
    +
    13 
    +
    14 
    +
    28 template <unsigned int NUM_BUFFER_SAMPLES, char INTERP_TYPE = LINEAR>
    +
    29 class AudioDelayFeedback
    +
    30 {
    +
    31 
    +
    32 public:
    +
    35  AudioDelayFeedback(): write_pos(0), _feedback_level(0), _delaytime_cells(0)
    +
    36  {}
    +
    37 
    +
    38 
    +
    44  AudioDelayFeedback(unsigned int delaytime_cells): write_pos(0), _feedback_level(0), _delaytime_cells(delaytime_cells)
    +
    45  {}
    +
    46 
    +
    47 
    +
    54  AudioDelayFeedback(unsigned int delaytime_cells, char feedback_level): write_pos(0), _feedback_level(feedback_level), _delaytime_cells(delaytime_cells)
    +
    55  {}
    +
    56 
    +
    57 
    +
    58 
    +
    63  inline
    +
    64  int next(char input)
    +
    65  {
    +
    66  // chooses a different next() function depending on whether the
    +
    67  // the template parameter is LINEAR(default if none provided) or ALLPASS.
    +
    68  // See meta.h.
    +
    69  return next(input, Int2Type<INTERP_TYPE>());
    +
    70  }
    +
    71 
    +
    72 
    +
    73 
    +
    81  inline
    +
    82  int next(char input, unsigned int delaytime_cells)
    +
    83  {
    +
    84  //setPin13High();
    +
    85  ++write_pos &= (NUM_BUFFER_SAMPLES - 1);
    +
    86  unsigned int read_pos = (write_pos - delaytime_cells) & (NUM_BUFFER_SAMPLES - 1);
    +
    87  // < 1us to here
    +
    88  int delay_sig = delay_array[read_pos]; // read the delay buffer
    +
    89  // with this line, the method takes 18us
    +
    90  //char feedback_sig = (char) min(max(((delay_sig * _feedback_level)/128),-128),127); // feedback clipped
    +
    91  // this line, the whole method takes 4us... Compiler doesn't optimise pow2 divides. Why?
    +
    92  char feedback_sig = (char) min(max(((delay_sig * _feedback_level)>>7),-128),127); // feedback clipped
    +
    93  delay_array[write_pos] = (int) input + feedback_sig; // write to buffer
    +
    94  //setPin13Low();
    +
    95  return delay_sig;
    +
    96  }
    +
    97 
    +
    98 
    +
    99 
    +
    107  inline
    +
    108  int next(char input, Q16n16 delaytime_cells)
    +
    109  {
    +
    110  //setPin13High();
    +
    111  ++write_pos &= (NUM_BUFFER_SAMPLES - 1);
    +
    112  unsigned int index = delaytime_cells >> 16;
    +
    113  unsigned int fraction = (unsigned int) delaytime_cells; // keeps low word
    +
    114 
    +
    115  unsigned int read_pos1 = (write_pos - index) & (NUM_BUFFER_SAMPLES - 1);
    +
    116  int delay_sig1 = delay_array[read_pos1]; // read the delay buffer
    +
    117 
    +
    118  unsigned int read_pos2 = (write_pos - (index+1)) & (NUM_BUFFER_SAMPLES - 1);
    +
    119  int delay_sig2 = delay_array[read_pos2]; // read the delay buffer
    +
    120 
    +
    121 
    +
    122  int difference = delay_sig2 - delay_sig1;
    +
    123  int delay_sig_fraction = ((long) fraction * difference) >> 16;
    +
    124 
    +
    125  int delay_sig = delay_sig1+delay_sig_fraction;
    +
    126 
    +
    127  //int delay_sig = delay_sig1 + ((long)delay_sig2*fraction)>>16;
    +
    128 
    +
    129  char feedback_sig = (char) min(max(((delay_sig * _feedback_level)>>7),-128),127); // feedback clipped
    +
    130  delay_array[write_pos] = (int) input + feedback_sig; // write to buffer
    +
    131  //setPin13Low();
    +
    132  return delay_sig;
    +
    133  }
    +
    134 
    +
    135 
    +
    139  inline
    +
    140  void write(char input)
    +
    141  {
    +
    142  ++write_pos &= (NUM_BUFFER_SAMPLES - 1);
    +
    143  delay_array[write_pos] = input;
    +
    144  }
    +
    145 
    +
    146 
    +
    151  inline
    +
    152  void writeFeedback(char input)
    +
    153  {
    +
    154  delay_array[write_pos] = input;
    +
    155  }
    +
    156 
    +
    157 
    +
    163  inline
    +
    164  void write(char input, unsigned int offset)
    +
    165  {
    +
    166  (write_pos + offset) &= (NUM_BUFFER_SAMPLES - 1);
    +
    167  delay_array[write_pos] = input;
    +
    168  }
    +
    169 
    +
    170 
    +
    175  inline
    +
    176  int read(Q16n16 delaytime_cells)
    +
    177  {
    +
    178  return read(delaytime_cells, Int2Type<INTERP_TYPE>());
    +
    179  }
    +
    180 
    +
    181 
    +
    185  inline
    +
    186  int read()
    +
    187  {
    +
    188  return read(Int2Type<INTERP_TYPE>());
    +
    189  }
    +
    190 
    +
    191 
    +
    197  inline
    +
    198  void setDelayTimeCells(unsigned int delaytime_cells)
    +
    199  {
    +
    200  _delaytime_cells = (unsigned int) delaytime_cells;
    +
    201  }
    +
    202 
    +
    203 
    +
    209  inline
    +
    210  void setDelayTimeCells(Q16n16 delaytime_cells)
    +
    211  {
    +
    212  return setDelayTimeCells(delaytime_cells, Int2Type<INTERP_TYPE>());
    +
    213  }
    +
    214 
    +
    215 
    +
    221  inline
    +
    222  void setDelayTimeCells(float delaytime_cells)
    +
    223  {
    +
    224  return setDelayTimeCells(delaytime_cells, Int2Type<INTERP_TYPE>());
    +
    225  }
    +
    226 
    +
    227 
    +
    231  inline
    +
    232  void setFeedbackLevel(char feedback_level)
    +
    233  {
    +
    234  _feedback_level = feedback_level;
    +
    235  }
    +
    236 
    +
    237 
    +
    238 
    +
    239 private:
    +
    240  int delay_array[NUM_BUFFER_SAMPLES];
    +
    241  unsigned int write_pos;
    +
    242  char _feedback_level;
    +
    243  unsigned int _delaytime_cells;
    +
    244  Q15n16 _coeff; // for allpass interpolation
    +
    245 
    +
    246 
    +
    247 
    +
    251  inline
    +
    252  int next(char in_value, Int2Type<LINEAR>)
    +
    253  {
    +
    254  ++write_pos &= (NUM_BUFFER_SAMPLES - 1);
    +
    255  unsigned int read_pos = (write_pos - _delaytime_cells) & (NUM_BUFFER_SAMPLES - 1);
    +
    256 
    +
    257  int delay_sig = delay_array[read_pos]; // read the delay buffer
    +
    258  char feedback_sig = (char) min(max(((delay_sig * _feedback_level)/128),-128),127); // feedback clipped
    +
    259  delay_array[write_pos] = (int) in_value + feedback_sig; // write to buffer
    +
    260 
    +
    261  return delay_sig;
    +
    262  }
    +
    263 
    +
    264 
    +
    265 
    +
    273  inline
    +
    274  int next(char input, Int2Type<ALLPASS>)
    +
    275  {
    +
    276  /*
    +
    277  http://www.scandalis.com/Jarrah/Documents/DelayLine.pdf
    +
    278  also https://ccrma.stanford.edu/~jos/Interpolation/Interpolation_4up.pdf
    +
    279  for desired fractional delay of d samples,
    +
    280  coeff = (1-d)/(1+d)
    +
    281  or
    +
    282  coeff = ((d-1)>1) + (((d-1)*(d-1))>>2) - (((d-1)*(d-1)*(d-1))>>3)
    +
    283  out = coeff * in + last_in - coeff * last_out
    +
    284  = coeff * (in-last_out) + last_in
    +
    285  */
    +
    286  //setPin13High();
    +
    287  static char last_in;
    +
    288  static int last_out;
    +
    289 
    +
    290  ++write_pos &= (NUM_BUFFER_SAMPLES - 1);
    +
    291 
    +
    292  unsigned int read_pos1 = (write_pos - _delaytime_cells) & (NUM_BUFFER_SAMPLES - 1);
    +
    293  int delay_sig = delay_array[read_pos1]; // read the delay buffer
    +
    294 
    +
    295  int interp = (int)(_coeff * ((int)input - last_out)>>16) + last_in; // Q15n16*Q15n0 + Q15n0 = Q15n16 + Q15n0 = Q15n16
    +
    296  delay_sig += interp;
    +
    297 
    +
    298  char feedback_sig = (char) min(max(((delay_sig * _feedback_level)>>7),-128),127); // feedback clipped
    +
    299  delay_array[write_pos] = (int) input + feedback_sig; // write to buffer
    +
    300 
    +
    301  last_in = input;
    +
    302  last_out = delay_sig;
    +
    303  //setPin13Low();
    +
    304  return delay_sig;
    +
    305  }
    +
    306 
    +
    307 
    +
    308 
    +
    309  // 20-25us
    +
    310  inline
    +
    311  void setDelayTimeCells(Q16n16 delaytime_cells, Int2Type<ALLPASS>)
    +
    312  {
    +
    313  /*
    +
    314  integer optimisation/approximation from
    +
    315  Van Duyne, Jaffe, Scandalis, Stilson 1997
    +
    316  http://www.scandalis.com/Jarrah/Documents/DelayLine.pdf
    +
    317  //coeff = -((d-1)>1) + (((d-1)*(d-1))>>2) - (((d-1)*(d-1)*(d-1))>>3) , d is fractional part
    +
    318  */
    +
    319  _delaytime_cells = delaytime_cells>>16; // whole integer part
    +
    320  Q15n16 dminus1 = - Q15n16_FIX1 + (unsigned int) delaytime_cells;
    +
    321  Q15n16 dminus1squared = (dminus1)*(dminus1)>>16;
    +
    322  _coeff = -(dminus1>>1) + (dminus1squared>>2) - (((dminus1squared*dminus1)>>16)>>3);
    +
    323  }
    +
    324 
    +
    325 
    +
    326  // 100us
    +
    327  inline
    +
    328  void setDelayTimeCells(float delaytime_cells, Int2Type<ALLPASS>)
    +
    329  {
    +
    330  //coeff = (1-d)/(1+d)
    +
    331  _delaytime_cells = (unsigned int) delaytime_cells;
    +
    332 
    +
    333  float fraction = delaytime_cells - _delaytime_cells;
    +
    334 
    +
    335  // modified from stk DelayA.cpp
    +
    336  float alpha_ = 1.0f + fraction; // fractional part
    +
    337  if ( alpha_ < 0.5f ) {
    +
    338  // (stk): The optimal range for alpha is about 0.5 - 1.5 in order to
    +
    339  // achieve the flattest phase delay response.
    +
    340 
    +
    341  // something's not right about how I use _delaytime_cells and
    +
    342  // NUM_BUFFER_SAMPLES etc. in my ringbuffer compared to stk
    +
    343  _delaytime_cells += 1;
    +
    344  if ( _delaytime_cells >= NUM_BUFFER_SAMPLES ) _delaytime_cells -= NUM_BUFFER_SAMPLES;
    +
    345  alpha_ += 1.0f;
    +
    346  }
    +
    347  // otherwise this would use fraction instead of alpha
    +
    348  _coeff = float_to_Q15n16((1.f-alpha_)/(1.f+alpha_));
    +
    349  }
    +
    350 
    +
    351 
    +
    352 
    +
    353  // /** Retrieve the signal in the delay line at the position delaytime_cells.
    +
    354  // It doesn't change the stored internal value of _delaytime_cells or feedback the output to the input.
    +
    355  // @param delaytime_cells indicates the delay time in terms of cells in the delay buffer.
    +
    356  // */
    +
    357  // inline
    +
    358  // int read(unsigned int delaytime_cells, Int2Type<LINEAR>)
    +
    359  // {
    +
    360  // unsigned int read_pos = (write_pos - delaytime_cells) & (NUM_BUFFER_SAMPLES - 1);
    +
    361  // int delay_sig = delay_array[read_pos]; // read the delay buffer
    +
    362  //
    +
    363  // return delay_sig;
    +
    364  // }
    +
    365 
    +
    370  inline
    +
    371  int read(Q16n16 delaytime_cells, Int2Type<LINEAR>)
    +
    372  {
    +
    373  unsigned int index = delaytime_cells >> 16;
    +
    374  unsigned int fraction = (unsigned int) delaytime_cells; // keeps low word
    +
    375 
    +
    376  unsigned int read_pos1 = (write_pos - index) & (NUM_BUFFER_SAMPLES - 1);
    +
    377  int delay_sig1 = delay_array[read_pos1]; // read the delay buffer
    +
    378 
    +
    379  unsigned int read_pos2 = (write_pos - (index+1)) & (NUM_BUFFER_SAMPLES - 1);
    +
    380  int delay_sig2 = delay_array[read_pos2]; // read the delay buffer
    +
    381 
    +
    382  /*
    +
    383  int difference = delay_sig2 - delay_sig1;
    +
    384  int delay_sig_fraction = ((long) fraction * difference) >> 16;
    +
    385 
    +
    386  int delay_sig = delay_sig1+delay_sig_fraction;
    +
    387  */
    +
    388  int delay_sig = delay_sig1 + ((long)delay_sig2*fraction)>>16;
    +
    389 
    +
    390  return delay_sig;
    +
    391  }
    +
    392 
    +
    393 };
    +
    394 
    +
    395 #endif // #ifndef AUDIODELAY_FEEDBACK_H_
    +
    + + + diff --git a/doc/html/_auto_range_8h_source.html b/doc/html/_auto_range_8h_source.html new file mode 100644 index 000000000..305378d60 --- /dev/null +++ b/doc/html/_auto_range_8h_source.html @@ -0,0 +1,173 @@ + + + + + + +Mozzi: AutoRange.h Source File + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    Mozzi +  alpha 0.01.2c +
    +
    sound synthesis library for Arduino
    +
    +
    + + + + +
    +
    + +
    +
    +
    + +
    + + + + +
    + +
    + +
    +
    +
    AutoRange.h
    +
    +
    +
    1 #ifndef AUTORANGE_H
    +
    2 #define AUTORANGE_H
    +
    3 
    +
    4 /*
    +
    5  * AutoRange.h
    +
    6  *
    +
    7  * Copyright 2013 Tim Barrass.
    +
    8  *
    +
    9  * This file is part of Mozzi.
    +
    10  *
    +
    11  * Mozzi is free software: you can redistribute it and/or modify
    +
    12  * it under the terms of the GNU General Public License as published by
    +
    13  * the Free Software Foundation, either version 3 of the License, or
    +
    14  * (at your option) any later version.
    +
    15  *
    +
    16  * Mozzi is distributed in the hope that it will be useful,
    +
    17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    +
    18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    +
    19  * GNU General Public License for more details.
    +
    20  *
    +
    21  * You should have received a copy of the GNU General Public License
    +
    22  * along with Mozzi. If not, see <http://www.gnu.org/licenses/>.
    +
    23  *
    +
    24  */
    +
    25 
    +
    26 
    +
    30 template <class T>
    +
    31 class
    +
    32  AutoRange {
    +
    33 
    +
    34 public:
    +
    38  AutoRange(T min_expected, T max_expected):range_min(max_expected),range_max(min_expected),range(0)
    +
    39  {}
    +
    40 
    +
    41 
    +
    45 T next(T n){
    +
    46  if (n > range_max) {
    +
    47  range_max = n;
    +
    48  range = range_max - range_min;
    +
    49  }
    +
    50  }else{
    +
    51  if (n< range_min) {
    +
    52  range_min = n;
    +
    53  range = range_max - range_min;
    +
    54  }
    +
    55  }
    +
    56  return range;
    +
    57 }
    +
    58 
    +
    59 private:
    +
    60 T range_max, range_min , range;
    +
    61 
    +
    62 };
    +
    63 
    +
    64 #endif // #ifndef AUTORANGE_H
    +
    65 
    +
    +
    + + + + diff --git a/doc/html/_control_delay_8h_source.html b/doc/html/_control_delay_8h_source.html new file mode 100644 index 000000000..5ceae6180 --- /dev/null +++ b/doc/html/_control_delay_8h_source.html @@ -0,0 +1,152 @@ + + + + + + +Mozzi: ControlDelay.h Source File + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    Mozzi +  alpha 0.01.2c +
    +
    sound synthesis library for Arduino
    +
    +
    + + + + +
    +
    + +
    +
    +
    + +
    + + + + +
    + +
    + +
    +
    +
    ControlDelay.h
    +
    +
    +
    1 /*
    +
    2  * ControlDelay.h
    +
    3  *
    +
    4  * Copyright 2012 Tim Barrass.
    +
    5  *
    +
    6  * This file is part of Mozzi.
    +
    7  *
    +
    8  * Mozzi is free software: you can redistribute it and/or modify
    +
    9  * it under the terms of the GNU General Public License as published by
    +
    10  * the Free Software Foundation, either version 3 of the License, or
    +
    11  * (at your option) any later version.
    +
    12  *
    +
    13  * Mozzi is distributed in the hope that it will be useful,
    +
    14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    +
    15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    +
    16  * GNU General Public License for more details.
    +
    17  *
    +
    18  * You should have received a copy of the GNU General Public License
    +
    19  * along with Mozzi. If not, see <http://www.gnu.org/licenses/>.
    +
    20  *
    +
    21  */
    +
    22 
    +
    23 #ifndef CONTROLDELAY_H_
    +
    24 #define CONTROLDELAY_H_
    +
    25 
    +
    26 #include "AudioDelay.h"
    +
    27 
    +
    38 template <unsigned int NUM_BUFFER_SAMPLES, class T = char>
    +
    39 class ControlDelay: public AudioDelay<NUM_BUFFER_SAMPLES, T>
    +
    40 {
    +
    41  ;
    +
    42 };
    +
    43 
    +
    49 #endif // #ifndef CONTROLDELAY_H_
    +
    50 
    +
    +
    + + + + diff --git a/doc/html/_d_cfilter_8h_source.html b/doc/html/_d_cfilter_8h_source.html index b6fa3ef67..8e3603e72 100644 --- a/doc/html/_d_cfilter_8h_source.html +++ b/doc/html/_d_cfilter_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: DCfilter.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -95,93 +102,95 @@
    DCfilter.h
    -
    00001 /*
    -00002  * DCfilter.h
    -00003  *
    -00004  * Copyright 2012 Tim Barrass.
    -00005  *
    -00006  * This file is part of Mozzi.
    -00007  *
    -00008  * Mozzi is free software: you can redistribute it and/or modify
    -00009  * it under the terms of the GNU General Public License as published by
    -00010  * the Free Software Foundation, either version 3 of the License, or
    -00011  * (at your option) any later version.
    -00012  *
    -00013  * Mozzi is distributed in the hope that it will be useful,
    -00014  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00015  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    -00016  * GNU General Public License for more details.
    -00017  *
    -00018  * You should have received a copy of the GNU General Public License
    -00019  * along with Mozzi.  If not, see <http://www.gnu.org/licenses/>.
    -00020  *
    -00021  */
    -00022  
    -00023 #ifndef DCFILTER_H
    -00024 #define DCFILTER_H
    -00025 
    -00026 /*
    -00027 tb2010 adapted from: 
    -00028 robert bristow-johnson, DSP Trick: Fixed-Point DC Blocking Filter with Noise-Shaping
    -00029 http://www.dspguru.com/book/export/html/126
    -00030 
    -00031 y[n] = x[n] - x[n-1] + a * y[n-1]
    -00032 
    -00033 Where y[n] is the output at the current time n, and x[n] is the input at the current time n. 
    -00034  */
    -00035  
    -00041 class DCfilter {
    -00042 public:
    -00048                 DCfilter(float pole):acc(0),prev_x(0),prev_y(0)
    -00049                 {
    -00050                                 A = (int)(32768.0*(1.0 - pole));
    -00051                 }
    -00052                 
    -00053 /*  almost original
    -00054                 // timing: 20us
    -00055                 int next(int x) 
    -00056                 {
    -00057                                 setPin13High();
    -00058                                 acc   -= prev_x;
    -00059                                 prev_x = (long)x<<15;
    -00060                                 acc   += prev_x;
    -00061                                 acc   -= A*prev_y;
    -00062                                 prev_y = acc>>15;               // quantization happens here
    -00063                                 int filtered = (int)prev_y;
    -00064                                 // acc has y[n] in upper 17 bits and -e[n] in lower 15 bits
    -00065                                 setPin13Low();
    -00066                                 return filtered;
    -00067                 }
    -00068                 */
    -00069 
    -00075                 // timing :8us
    -00076                 inline
    -00077                 int next(int x) 
    -00078                 {
    -00079                                 acc += ((long)(x-prev_x)<<16)>>1;
    -00080                                 prev_x = x;
    -00081                                 acc   -= (long)A*prev_y;        // acc has y[n] in upper 17 bits and -e[n] in lower 15 bits
    -00082                                 prev_y = (acc>>16)<<1; // faster than >>15 but loses bit 0       
    -00083                                 if (acc & 32784) prev_y += 1; // adds 1 if it was in the 0 bit position lost in the shifts above  
    -00084                                 return prev_y;
    -00085                 }
    -00086 
    -00087 private:
    -00088                 long acc;
    -00089                 int prev_x, prev_y,A;
    -00090 };
    -00091 
    -00092 
    -00093 #endif        //  #ifndef DCFILTER_H
    -00094 
    -
    - - - - +
    1 /*
    +
    2  * DCfilter.h
    +
    3  *
    +
    4  * Copyright 2012 Tim Barrass.
    +
    5  *
    +
    6  * This file is part of Mozzi.
    +
    7  *
    +
    8  * Mozzi is free software: you can redistribute it and/or modify
    +
    9  * it under the terms of the GNU General Public License as published by
    +
    10  * the Free Software Foundation, either version 3 of the License, or
    +
    11  * (at your option) any later version.
    +
    12  *
    +
    13  * Mozzi is distributed in the hope that it will be useful,
    +
    14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    +
    15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    +
    16  * GNU General Public License for more details.
    +
    17  *
    +
    18  * You should have received a copy of the GNU General Public License
    +
    19  * along with Mozzi. If not, see <http://www.gnu.org/licenses/>.
    +
    20  *
    +
    21  */
    +
    22 
    +
    23 #ifndef DCFILTER_H
    +
    24 #define DCFILTER_H
    +
    25 
    +
    26 /*
    +
    27 tb2010 adapted from:
    +
    28 robert bristow-johnson, DSP Trick: Fixed-Point DC Blocking Filter with Noise-Shaping
    +
    29 http://www.dspguru.com/book/export/html/126
    +
    30 
    +
    31 y[n] = x[n] - x[n-1] + a * y[n-1]
    +
    32 
    +
    33 Where y[n] is the output at the current time n, and x[n] is the input at the current time n.
    +
    34  */
    +
    35 
    +
    41 class DCfilter {
    +
    42 public:
    +
    48  DCfilter(float pole):acc(0),prev_x(0),prev_y(0)
    +
    49  {
    +
    50  A = (int)(32768.0*(1.0 - pole));
    +
    51  }
    +
    52 
    +
    53 /* almost original
    +
    54  // timing: 20us
    +
    55  int next(int x)
    +
    56  {
    +
    57  setPin13High();
    +
    58  acc -= prev_x;
    +
    59  prev_x = (long)x<<15;
    +
    60  acc += prev_x;
    +
    61  acc -= A*prev_y;
    +
    62  prev_y = acc>>15; // quantization happens here
    +
    63  int filtered = (int)prev_y;
    +
    64  // acc has y[n] in upper 17 bits and -e[n] in lower 15 bits
    +
    65  setPin13Low();
    +
    66  return filtered;
    +
    67  }
    +
    68  */
    +
    69 
    +
    75  // timing :8us
    +
    76  inline
    +
    77  int next(int x)
    +
    78  {
    +
    79  acc += ((long)(x-prev_x)<<16)>>1;
    +
    80  prev_x = x;
    +
    81  acc -= (long)A*prev_y; // acc has y[n] in upper 17 bits and -e[n] in lower 15 bits
    +
    82  prev_y = (acc>>16)<<1; // faster than >>15 but loses bit 0
    +
    83  if (acc & 32784) prev_y += 1; // adds 1 if it was in the 0 bit position lost in the shifts above
    +
    84  return prev_y;
    +
    85  }
    +
    86 
    +
    87 private:
    +
    88  long acc;
    +
    89  int prev_x, prev_y,A;
    +
    90 };
    +
    91 
    +
    92 
    +
    93 #endif // #ifndef DCFILTER_H
    +
    94 
    +
    + + + diff --git a/doc/html/_ead_8h_source.html b/doc/html/_ead_8h_source.html index 919429519..428167216 100644 --- a/doc/html/_ead_8h_source.html +++ b/doc/html/_ead_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: Ead.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -95,147 +102,151 @@
    Ead.h
    -
    00001 /*
    -00002  * Ead.h
    -00003  *
    -00004  * Adapted from ead~.c puredata external (creb library)
    -00005  * Copyright (c) 2000-2003 by Tom Schouten
    -00006  *
    -00007  * Copyright 2012 Tim Barrass, 2000-2003 Tom Schouten
    -00008  *
    -00009  * This file is part of Mozzi.
    -00010  *
    -00011  * Mozzi is free software: you can redistribute it and/or modify
    -00012  * it under the terms of the GNU General Public License as published by
    -00013  * the Free Software Foundation, either version 3 of the License, or
    -00014  * (at your option) any later version.
    -00015  *
    -00016  * Mozzi is distributed in the hope that it will be useful,
    -00017  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00018  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    -00019  * GNU General Public License for more details.
    -00020  *
    -00021  * You should have received a copy of the GNU General Public License
    -00022  * along with Mozzi.  If not, see <http://www.gnu.org/licenses/>.
    -00023  *
    -00024  */
    -00025 
    -00026 #ifndef EAD_H_
    -00027 #define EAD_H_
    -00028 
    -00029 #include "math.h"
    -00030 #include "mozzi_fixmath.h"
    -00031 
    -00032 
    -00040 class Ead
    -00041 {
    -00042 
    -00043 public:
    -00044 
    -00052                 Ead(unsigned int update_rate);
    -00053 
    -00054 
    -00058                 inline
    -00059                 void setAttack(unsigned int attack_ms)
    -00060                 {
    -00061                                 Q8n8attack = float_to_Q8n8(millisToOneMinusRealPole(attack_ms));
    -00062                 }
    -00063 
    -00064 
    -00068                 inline
    -00069                 void setDecay(unsigned int decay_ms)
    -00070                 {
    -00071                                 Q8n8decay = float_to_Q8n8(millisToOneMinusRealPole(decay_ms));
    -00072                 }
    -00073 
    -00074 
    -00081                 inline
    -00082                 void set(unsigned int attack_ms, unsigned int decay_ms)
    -00083                 {
    -00084                                 setAttack(attack_ms);
    -00085                                 setDecay(decay_ms);
    -00086                 }
    -00087 
    -00088 
    -00091                 inline
    -00092                 void start()
    -00093                 {
    -00094                                 Q8n24state = 0;
    -00095                                 attack_phase = true;
    -00096                 }
    -00097 
    -00098 
    -00107                 inline
    -00108                 void start(unsigned int attack_ms, unsigned int decay_ms)
    -00109                 {
    -00110                                 set(attack_ms, decay_ms);
    -00111                                 Q8n24state = 0;
    -00112                                 attack_phase = true;
    -00113                 }
    -00114 
    -00115 
    -00120                 inline
    -00121                 unsigned char next()
    -00122                 {
    -00123                                 if(attack_phase)
    -00124                                 {
    -00125                                                 // signed multiply A(a1,b1) * A(a2,b2)=A(a1 +a2 +1,b1 +b2)
    -00126                                                 Q8n24state += ((Q8n24_FIX1 - Q8n24state) * Q8n8attack) >> 8; // Q8n24, shifts all back into n24
    -00127                                                 if (Q8n24state >= Q8n24_FIX1-256)
    -00128                                                 {
    -00129                                                                 Q8n24state = Q8n24_FIX1-256;
    -00130                                                                 attack_phase = false;
    -00131                                                 }
    -00132                                 }else{ /* decay phase */
    -00133                                                 Q8n24state -= (Q8n24state * Q8n8decay)>>8;
    -00134                                 }
    -00135                                 return Q8n24_to_Q0n8(Q8n24state);
    -00136                 }
    -00137 
    -00138 
    -00139 private:
    -00140 
    -00141                 Q8n8 Q8n8attack;
    -00142                 Q8n8 Q8n8decay;
    -00143                 Q8n24 Q8n24state;
    -00144                 bool attack_phase;
    -00145                 const unsigned int UPDATE_RATE;
    -00146 
    -00147 
    -00148                 /* convert milliseconds to 1-p, with p a real pole */
    -00149                 inline
    -00150                 float millisToOneMinusRealPole(unsigned int milliseconds)
    -00151                 {
    -00152                                 static const float NUMERATOR = 1000.0f * log(0.001f);
    -00153                                 return  -expm1(NUMERATOR / ((float)UPDATE_RATE * milliseconds));
    -00154                 }
    -00155 
    -00156 
    -00157                 // Compute exp(x) - 1 without loss of precision for small values of x.
    -00158                 inline
    -00159                 float expm1(float x)
    -00160                 {
    -00161                                 if (fabs(x) < 1e-5)
    -00162                                 {
    -00163                                                 return x + 0.5*x*x;
    -00164                                 }
    -00165                                 else
    -00166                                 {
    -00167                                                 return exp(x) - 1.0;
    -00168                                 }
    -00169                 }
    -00170 
    -00171 };
    -00172 
    -00173 #endif /* EAD_H_ */
    -
    - - - - +
    1 /*
    +
    2  * Ead.h
    +
    3  *
    +
    4  * Adapted from ead~.c puredata external (creb library)
    +
    5  * Copyright (c) 2000-2003 by Tom Schouten
    +
    6  *
    +
    7  * Copyright 2012 Tim Barrass, 2000-2003 Tom Schouten
    +
    8  *
    +
    9  * This file is part of Mozzi.
    +
    10  *
    +
    11  * Mozzi is free software: you can redistribute it and/or modify
    +
    12  * it under the terms of the GNU General Public License as published by
    +
    13  * the Free Software Foundation, either version 3 of the License, or
    +
    14  * (at your option) any later version.
    +
    15  *
    +
    16  * Mozzi is distributed in the hope that it will be useful,
    +
    17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    +
    18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    +
    19  * GNU General Public License for more details.
    +
    20  *
    +
    21  * You should have received a copy of the GNU General Public License
    +
    22  * along with Mozzi. If not, see <http://www.gnu.org/licenses/>.
    +
    23  *
    +
    24  */
    +
    25 
    +
    26 #ifndef EAD_H_
    +
    27 #define EAD_H_
    +
    28 
    +
    29 #include "math.h"
    +
    30 #include "mozzi_fixmath.h"
    +
    31 
    +
    32 
    +
    40 class Ead
    +
    41 {
    +
    42 
    +
    43 public:
    +
    44 
    +
    52  Ead(unsigned int update_rate) : UPDATE_RATE(update_rate)
    +
    53  {
    +
    54  ;
    +
    55  }
    +
    56 
    +
    61  inline
    +
    62  void setAttack(unsigned int attack_ms)
    +
    63  {
    +
    64  Q8n8attack = float_to_Q8n8(millisToOneMinusRealPole(attack_ms));
    +
    65  }
    +
    66 
    +
    67 
    +
    72  inline
    +
    73  void setDecay(unsigned int decay_ms)
    +
    74  {
    +
    75  Q8n8decay = float_to_Q8n8(millisToOneMinusRealPole(decay_ms));
    +
    76  }
    +
    77 
    +
    78 
    +
    85  inline
    +
    86  void set(unsigned int attack_ms, unsigned int decay_ms)
    +
    87  {
    +
    88  setAttack(attack_ms);
    +
    89  setDecay(decay_ms);
    +
    90  }
    +
    91 
    +
    92 
    +
    96  inline
    +
    97  void start()
    +
    98  {
    +
    99  Q8n24state = 0;
    +
    100  attack_phase = true;
    +
    101  }
    +
    102 
    +
    103 
    +
    112  inline
    +
    113  void start(unsigned int attack_ms, unsigned int decay_ms)
    +
    114  {
    +
    115  set(attack_ms, decay_ms);
    +
    116  Q8n24state = 0;
    +
    117  attack_phase = true;
    +
    118  }
    +
    119 
    +
    120 
    +
    125  inline
    +
    126  unsigned char next()
    +
    127  {
    +
    128  if(attack_phase)
    +
    129  {
    +
    130  // signed multiply A(a1,b1) * A(a2,b2)=A(a1 +a2 +1,b1 +b2)
    +
    131  Q8n24state += ((Q8n24_FIX1 - Q8n24state) * Q8n8attack) >> 8; // Q8n24, shifts all back into n24
    +
    132  if (Q8n24state >= Q8n24_FIX1-256)
    +
    133  {
    +
    134  Q8n24state = Q8n24_FIX1-256;
    +
    135  attack_phase = false;
    +
    136  }
    +
    137  }else{ /* decay phase */
    +
    138  Q8n24state -= (Q8n24state * Q8n8decay)>>8;
    +
    139  }
    +
    140  return Q8n24_to_Q0n8(Q8n24state);
    +
    141  }
    +
    142 
    +
    143 
    +
    144 private:
    +
    145 
    +
    146  Q8n8 Q8n8attack;
    +
    147  Q8n8 Q8n8decay;
    +
    148  Q8n24 Q8n24state;
    +
    149  bool attack_phase;
    +
    150  const unsigned int UPDATE_RATE;
    +
    151 
    +
    152 
    +
    153  /* convert milliseconds to 1-p, with p a real pole */
    +
    154  inline
    +
    155  float millisToOneMinusRealPole(unsigned int milliseconds)
    +
    156  {
    +
    157  static const float NUMERATOR = 1000.0f * log(0.001f);
    +
    158  return -expm1(NUMERATOR / ((float)UPDATE_RATE * milliseconds));
    +
    159  }
    +
    160 
    +
    161 
    +
    162  // Compute exp(x) - 1 without loss of precision for small values of x.
    +
    163  inline
    +
    164  float expm1(float x)
    +
    165  {
    +
    166  if (fabs(x) < 1e-5)
    +
    167  {
    +
    168  return x + 0.5*x*x;
    +
    169  }
    +
    170  else
    +
    171  {
    +
    172  return exp(x) - 1.0;
    +
    173  }
    +
    174  }
    +
    175 
    +
    176 };
    +
    177 
    +
    178 #endif /* EAD_H_ */
    +
    + + + diff --git a/doc/html/_event_delay_8h_source.html b/doc/html/_event_delay_8h_source.html index ddcbb19b0..48b22bd71 100644 --- a/doc/html/_event_delay_8h_source.html +++ b/doc/html/_event_delay_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: EventDelay.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -95,90 +102,92 @@
    EventDelay.h
    -
    00001 /*
    -00002  * EventDelay.h
    -00003  *
    -00004  * Copyright 2012 Tim Barrass.
    -00005  *
    -00006  * This file is part of Mozzi.
    -00007  *
    -00008  * Mozzi is free software: you can redistribute it and/or modify
    -00009  * it under the terms of the GNU General Public License as published by
    -00010  * the Free Software Foundation, either version 3 of the License, or
    -00011  * (at your option) any later version.
    -00012  *
    -00013  * Mozzi is distributed in the hope that it will be useful,
    -00014  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00015  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    -00016  * GNU General Public License for more details.
    -00017  *
    -00018  * You should have received a copy of the GNU General Public License
    -00019  * along with Mozzi.  If not, see <http://www.gnu.org/licenses/>.
    -00020  *
    -00021  */
    -00022 
    -00023 #ifndef EVENTDELAY_H_
    -00024 #define EVENTDELAY_H_
    -00025 
    -00026 
    -00032 template <unsigned int UPDATE_RATE>
    -00033 class EventDelay
    -00034 {
    -00035 
    -00036 public:
    -00042                 EventDelay(): counter(0), micros_per_update(1000000/UPDATE_RATE)
    -00043                 {
    -00044                                 ;
    -00045                 }               
    -00046                 
    -00047 
    -00051                 inline
    -00052                 void set(unsigned int delay_milliseconds)
    -00053                 {
    -00054                                 counter_start_value = ((long)delay_milliseconds*1000)/micros_per_update;
    -00055                 }
    -00056 
    -00057 
    -00062                 inline
    -00063                 void start()
    -00064                 {
    -00065                                 counter = counter_start_value;
    -00066                 }
    -00067                 
    -00068                 
    -00072                 inline
    -00073                 void start(unsigned int delay_milliseconds)
    -00074                 {
    -00075                                 set(delay_milliseconds);
    -00076                                 start();
    -00077                 }
    -00078 
    -00079 
    -00083                 inline
    -00084                 bool ready()
    -00085                 {
    -00086                                 return (--counter<0);
    -00087                 }
    -00088 
    -00089 
    -00090 private:
    -00091 
    -00092                 long counter; // long so even at a control rate of 2048 you can have >15seconds
    -00093                 long counter_start_value;
    -00094                 const unsigned int micros_per_update;
    -00095 
    -00096 };
    -00097 
    -00098 
    -00099 #endif /* EVENTDELAY_H_ */
    -
    - - - - +
    1 /*
    +
    2  * EventDelay.h
    +
    3  *
    +
    4  * Copyright 2012 Tim Barrass.
    +
    5  *
    +
    6  * This file is part of Mozzi.
    +
    7  *
    +
    8  * Mozzi is free software: you can redistribute it and/or modify
    +
    9  * it under the terms of the GNU General Public License as published by
    +
    10  * the Free Software Foundation, either version 3 of the License, or
    +
    11  * (at your option) any later version.
    +
    12  *
    +
    13  * Mozzi is distributed in the hope that it will be useful,
    +
    14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    +
    15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    +
    16  * GNU General Public License for more details.
    +
    17  *
    +
    18  * You should have received a copy of the GNU General Public License
    +
    19  * along with Mozzi. If not, see <http://www.gnu.org/licenses/>.
    +
    20  *
    +
    21  */
    +
    22 
    +
    23 #ifndef EVENTDELAY_H_
    +
    24 #define EVENTDELAY_H_
    +
    25 
    +
    26 
    +
    32 template <unsigned int UPDATE_RATE>
    + +
    34 {
    +
    35 
    +
    36 public:
    +
    42  EventDelay(): counter(0), micros_per_update(1000000/UPDATE_RATE)
    +
    43  {
    +
    44  ;
    +
    45  }
    +
    46 
    +
    47 
    +
    51  inline
    +
    52  void set(unsigned int delay_milliseconds)
    +
    53  {
    +
    54  counter_start_value = ((long)delay_milliseconds*1000)/micros_per_update;
    +
    55  }
    +
    56 
    +
    57 
    +
    62  inline
    +
    63  void start()
    +
    64  {
    +
    65  counter = counter_start_value;
    +
    66  }
    +
    67 
    +
    68 
    +
    72  inline
    +
    73  void start(unsigned int delay_milliseconds)
    +
    74  {
    +
    75  set(delay_milliseconds);
    +
    76  start();
    +
    77  }
    +
    78 
    +
    79 
    +
    83  inline
    +
    84  bool ready()
    +
    85  {
    +
    86  return (--counter<0);
    +
    87  }
    +
    88 
    +
    89 
    +
    90 private:
    +
    91 
    +
    92  long counter; // long so even at a control rate of 2048 you can have >15seconds
    +
    93  long counter_start_value;
    +
    94  const unsigned int micros_per_update;
    +
    95 
    +
    96 };
    +
    97 
    +
    98 
    +
    99 #endif /* EVENTDELAY_H_ */
    +
    + + + diff --git a/doc/html/_line_8h_source.html b/doc/html/_line_8h_source.html index 234e0756b..e0c9a523e 100644 --- a/doc/html/_line_8h_source.html +++ b/doc/html/_line_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: Line.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -95,97 +102,99 @@
    Line.h
    -
    00001 /*
    -00002  * Line.h
    -00003  *
    -00004  * Copyright 2012 Tim Barrass.
    -00005  *
    -00006  * This file is part of Mozzi.
    -00007  *
    -00008  * Mozzi is free software: you can redistribute it and/or modify
    -00009  * it under the terms of the GNU General Public License as published by
    -00010  * the Free Software Foundation, either version 3 of the License, or
    -00011  * (at your option) any later version.
    -00012  *
    -00013  * Mozzi is distributed in the hope that it will be useful,
    -00014  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00015  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    -00016  * GNU General Public License for more details.
    -00017  *
    -00018  * You should have received a copy of the GNU General Public License
    -00019  * along with Mozzi.  If not, see <http://www.gnu.org/licenses/>.
    -00020  *
    -00021  */
    -00022 
    -00023 #ifndef LINE_H_
    -00024 #define LINE_H_
    -00025 
    -00026 #if ARDUINO >= 100
    -00027  #include "Arduino.h"
    -00028 #else
    -00029  #include "WProgram.h"
    -00030 #endif
    -00031 #include <util/atomic.h>
    -00032 
    -00048 template <class T>
    -00049 class Line
    -00050 {
    -00051 private:
    -00052                 volatile T current_value; // volatile because it could be set in control interrupt and updated in audio
    -00053                 T step_size;
    -00054 
    -00055 public:
    -00059                 Line ()
    -00060                 {
    -00061                                 ;
    -00062                 }
    -00063 
    -00067                 inline
    -00068                 T next()
    -00069                 {
    -00070                                 ATOMIC_BLOCK(ATOMIC_RESTORESTATE)
    -00071                                 {
    -00072                                                 current_value += step_size;
    -00073                                 }
    -00074                                 return current_value;
    -00075                 }
    -00076 
    -00077 
    -00078 
    -00083                 inline
    -00084                 void set(T value)
    -00085                 {
    -00086                                 ATOMIC_BLOCK(ATOMIC_RESTORESTATE)
    -00087                                 {
    -00088                                                 current_value=value;
    -00089                                 }
    -00090                 }
    -00091 
    -00092 
    -00093 
    -00099                 inline
    -00100                 void set(T targetvalue, T num_steps)
    -00101                 {
    -00102                                 step_size=(T)((((float)targetvalue-current_value)/num_steps));
    -00103                 }
    -00104 
    -00111                 inline
    -00112                 void set(T startvalue, T targetvalue, T num_steps)
    -00113                 {
    -00114                                 set(startvalue);
    -00115                                 set(targetvalue, num_steps);
    -00116                 }
    -00117 };
    -00118 
    -00119 #endif /* LINE_H_ */
    -
    - - - - +
    1 /*
    +
    2  * Line.h
    +
    3  *
    +
    4  * Copyright 2012 Tim Barrass.
    +
    5  *
    +
    6  * This file is part of Mozzi.
    +
    7  *
    +
    8  * Mozzi is free software: you can redistribute it and/or modify
    +
    9  * it under the terms of the GNU General Public License as published by
    +
    10  * the Free Software Foundation, either version 3 of the License, or
    +
    11  * (at your option) any later version.
    +
    12  *
    +
    13  * Mozzi is distributed in the hope that it will be useful,
    +
    14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    +
    15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    +
    16  * GNU General Public License for more details.
    +
    17  *
    +
    18  * You should have received a copy of the GNU General Public License
    +
    19  * along with Mozzi. If not, see <http://www.gnu.org/licenses/>.
    +
    20  *
    +
    21  */
    +
    22 
    +
    23 #ifndef LINE_H_
    +
    24 #define LINE_H_
    +
    25 
    +
    26 #if ARDUINO >= 100
    +
    27  #include "Arduino.h"
    +
    28 #else
    +
    29  #include "WProgram.h"
    +
    30 #endif
    +
    31 #include <util/atomic.h>
    +
    32 
    +
    48 template <class T>
    +
    49 class Line
    +
    50 {
    +
    51 private:
    +
    52  volatile T current_value; // volatile because it could be set in control interrupt and updated in audio
    +
    53  T step_size;
    +
    54 
    +
    55 public:
    +
    59  Line ()
    +
    60  {
    +
    61  ;
    +
    62  }
    +
    63 
    +
    67  inline
    +
    68  T next()
    +
    69  {
    +
    70  ATOMIC_BLOCK(ATOMIC_RESTORESTATE)
    +
    71  {
    +
    72  current_value += step_size;
    +
    73  }
    +
    74  return current_value;
    +
    75  }
    +
    76 
    +
    77 
    +
    78 
    +
    83  inline
    +
    84  void set(T value)
    +
    85  {
    +
    86  ATOMIC_BLOCK(ATOMIC_RESTORESTATE)
    +
    87  {
    +
    88  current_value=value;
    +
    89  }
    +
    90  }
    +
    91 
    +
    92 
    +
    93 
    +
    99  inline
    +
    100  void set(T targetvalue, T num_steps)
    +
    101  {
    +
    102  step_size=(T)((((float)targetvalue-current_value)/num_steps));
    +
    103  }
    +
    104 
    +
    111  inline
    +
    112  void set(T startvalue, T targetvalue, T num_steps)
    +
    113  {
    +
    114  set(startvalue);
    +
    115  set(targetvalue, num_steps);
    +
    116  }
    +
    117 };
    +
    118 
    +
    119 #endif /* LINE_H_ */
    +
    + + + diff --git a/doc/html/_low_pass_filter_8h_source.html b/doc/html/_low_pass_filter_8h_source.html index cb25690f2..d592d8da4 100644 --- a/doc/html/_low_pass_filter_8h_source.html +++ b/doc/html/_low_pass_filter_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: LowPassFilter.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -95,132 +102,134 @@
    LowPassFilter.h
    -
    00001 /*
    -00002  * LowPassFilter.h
    -00003  *
    -00004  * Copyright 2012 Tim Barrass
    -00005  *
    -00006  * This file is part of Mozzi.
    -00007  *
    -00008  * Mozzi is free software: you can redistribute it and/or modify
    -00009  * it under the terms of the GNU General Public License as published by
    -00010  * the Free Software Foundation, either version 3 of the License, or
    -00011  * (at your option) any later version.
    -00012  *
    -00013  * Mozzi is distributed in the hope that it will be useful,
    -00014  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00015  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    -00016  * GNU General Public License for more details.
    -00017  *
    -00018  * You should have received a copy of the GNU General Public License
    -00019  * along with Mozzi.  If not, see <http://www.gnu.org/licenses/>.
    -00020  *
    -00021  */
    -00022 
    -00023 #ifndef LOWPASS_H_
    -00024 #define LOWPASS_H_
    -00025 
    -00026 /*
    -00027 simple resonant filter posted to musicdsp.org by Paul Kellett http://www.musicdsp.org/archive.php?classid=3#259
    -00028 
    -00029 // set feedback amount given f and q between 0 and 1
    -00030 fb = q + q/(1.0 - f);
    -00031 
    -00032 // for each sample...
    -00033 buf0 = buf0 + f * (in - buf0 + fb * (buf0 - buf1));
    -00034 buf1 = buf1 + f * (buf0 - buf1);
    -00035 out = buf1;
    -00036 
    -00037 fixed point version of the filter
    -00038 "dave's blog of art and programming" http://www.pawfal.org/dave/blog/2011/09/
    -00039 */
    -00040 
    -00041 
    -00042 // we are using .n fixed point (n bits for the fractional part)
    -00043 #define FX_SHIFT 8
    -00044 #define SHIFTED_1 ((unsigned char) 255)
    -00045 
    -00048 class LowPassFilter
    -00049 {
    -00050 
    -00051 public:
    -00052 
    -00053 
    -00056                 LowPassFilter(){;
    -00057                 }
    -00058 
    -00059 
    -00064                 void setCutoffFreq(unsigned char cutoff)
    -00065                 {
    -00066                                 f = cutoff;
    -00067                                 fb = q+ucfxmul(q, SHIFTED_1 - cutoff);
    -00068                 }
    -00069 
    -00070 
    -00074                 void setResonance(unsigned char resonance)
    -00075                 {
    -00076                                 q = resonance;
    -00077                 }
    -00078 
    -00084                 //              10.5 to 12.5 us, mostly 10.5 us (was 14us)
    -00085                 inline
    -00086                 int next(int in)
    -00087                 {
    -00088                                 //setPin13High();
    -00089                                 buf0+=fxmul(((in - buf0) + fxmul(fb, buf0-buf1)), f);
    -00090                                 buf1+=ifxmul(buf0-buf1, f); // could overflow if input changes fast
    -00091                                 //setPin13Low();
    -00092                                 return buf1;
    -00093                 }
    -00094 
    -00095 
    -00096 private:
    -00097                 unsigned char q;
    -00098                 unsigned char f;
    -00099                 unsigned int fb;
    -00100                 int buf0,buf1;
    -00101 
    -00102 
    -00103                 // // multiply two fixed point numbers (returns fixed point)
    -00104                 // inline
    -00105                 // long fxmul(long a, long b)
    -00106                 // {
    -00107                 //              return (a*b)>>FX_SHIFT;
    -00108                 // }
    -00109 
    -00110                 // multiply two fixed point numbers (returns fixed point)
    -00111                 inline
    -00112                 unsigned int ucfxmul(unsigned char a, unsigned char b)
    -00113                 {
    -00114                                 return (((unsigned int)a*b)>>FX_SHIFT);
    -00115                 }
    -00116                 
    -00117                                 // multiply two fixed point numbers (returns fixed point)
    -00118                 inline
    -00119                 int ifxmul(int a, unsigned char b)
    -00120                 {
    -00121                                 return ((a*b)>>FX_SHIFT);
    -00122                 }
    -00123                 
    -00124                 // multiply two fixed point numbers (returns fixed point)
    -00125                 inline
    -00126                 long fxmul(long a, int b)
    -00127                 {
    -00128                                 return ((a*b)>>FX_SHIFT);
    -00129                 }
    -00130 
    -00131 
    -00132 };
    -00133 
    -00134 #endif /* LOWPASS_H_ */
    -
    - - - - +
    1 /*
    +
    2  * LowPassFilter.h
    +
    3  *
    +
    4  * Copyright 2012 Tim Barrass
    +
    5  *
    +
    6  * This file is part of Mozzi.
    +
    7  *
    +
    8  * Mozzi is free software: you can redistribute it and/or modify
    +
    9  * it under the terms of the GNU General Public License as published by
    +
    10  * the Free Software Foundation, either version 3 of the License, or
    +
    11  * (at your option) any later version.
    +
    12  *
    +
    13  * Mozzi is distributed in the hope that it will be useful,
    +
    14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    +
    15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    +
    16  * GNU General Public License for more details.
    +
    17  *
    +
    18  * You should have received a copy of the GNU General Public License
    +
    19  * along with Mozzi. If not, see <http://www.gnu.org/licenses/>.
    +
    20  *
    +
    21  */
    +
    22 
    +
    23 #ifndef LOWPASS_H_
    +
    24 #define LOWPASS_H_
    +
    25 
    +
    26 /*
    +
    27 simple resonant filter posted to musicdsp.org by Paul Kellett http://www.musicdsp.org/archive.php?classid=3#259
    +
    28 
    +
    29 // set feedback amount given f and q between 0 and 1
    +
    30 fb = q + q/(1.0 - f);
    +
    31 
    +
    32 // for each sample...
    +
    33 buf0 = buf0 + f * (in - buf0 + fb * (buf0 - buf1));
    +
    34 buf1 = buf1 + f * (buf0 - buf1);
    +
    35 out = buf1;
    +
    36 
    +
    37 fixed point version of the filter
    +
    38 "dave's blog of art and programming" http://www.pawfal.org/dave/blog/2011/09/
    +
    39 */
    +
    40 
    +
    41 
    +
    42 // we are using .n fixed point (n bits for the fractional part)
    +
    43 #define FX_SHIFT 8
    +
    44 #define SHIFTED_1 ((unsigned char) 255)
    +
    45 
    + +
    49 {
    +
    50 
    +
    51 public:
    +
    52 
    +
    53 
    + +
    57  }
    +
    58 
    +
    59 
    +
    64  void setCutoffFreq(unsigned char cutoff)
    +
    65  {
    +
    66  f = cutoff;
    +
    67  fb = q+ucfxmul(q, SHIFTED_1 - cutoff);
    +
    68  }
    +
    69 
    +
    70 
    +
    74  void setResonance(unsigned char resonance)
    +
    75  {
    +
    76  q = resonance;
    +
    77  }
    +
    78 
    +
    84  // 10.5 to 12.5 us, mostly 10.5 us (was 14us)
    +
    85  inline
    +
    86  int next(int in)
    +
    87  {
    +
    88  //setPin13High();
    +
    89  buf0+=fxmul(((in - buf0) + fxmul(fb, buf0-buf1)), f);
    +
    90  buf1+=ifxmul(buf0-buf1, f); // could overflow if input changes fast
    +
    91  //setPin13Low();
    +
    92  return buf1;
    +
    93  }
    +
    94 
    +
    95 
    +
    96 private:
    +
    97  unsigned char q;
    +
    98  unsigned char f;
    +
    99  unsigned int fb;
    +
    100  int buf0,buf1;
    +
    101 
    +
    102 
    +
    103  // // multiply two fixed point numbers (returns fixed point)
    +
    104  // inline
    +
    105  // long fxmul(long a, long b)
    +
    106  // {
    +
    107  // return (a*b)>>FX_SHIFT;
    +
    108  // }
    +
    109 
    +
    110  // multiply two fixed point numbers (returns fixed point)
    +
    111  inline
    +
    112  unsigned int ucfxmul(unsigned char a, unsigned char b)
    +
    113  {
    +
    114  return (((unsigned int)a*b)>>FX_SHIFT);
    +
    115  }
    +
    116 
    +
    117  // multiply two fixed point numbers (returns fixed point)
    +
    118  inline
    +
    119  int ifxmul(int a, unsigned char b)
    +
    120  {
    +
    121  return ((a*b)>>FX_SHIFT);
    +
    122  }
    +
    123 
    +
    124  // multiply two fixed point numbers (returns fixed point)
    +
    125  inline
    +
    126  long fxmul(long a, int b)
    +
    127  {
    +
    128  return ((a*b)>>FX_SHIFT);
    +
    129  }
    +
    130 
    +
    131 
    +
    132 };
    +
    133 
    +
    134 #endif /* LOWPASS_H_ */
    +
    + + + diff --git a/doc/html/_mozzi_guts_8cpp_source.html b/doc/html/_mozzi_guts_8cpp_source.html index a4cd53b2f..014318241 100644 --- a/doc/html/_mozzi_guts_8cpp_source.html +++ b/doc/html/_mozzi_guts_8cpp_source.html @@ -3,46 +3,44 @@ + Mozzi: MozziGuts.cpp Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -95,445 +102,447 @@
    MozziGuts.cpp
    -
    00001 /*
    -00002  * MozziGuts.cpp
    -00003  *
    -00004  * Copyright 2012 Tim Barrass.
    -00005  *
    -00006  * This file is part of Mozzi.
    -00007  *
    -00008  * Mozzi is free software: you can redistribute it and/or modify
    -00009  * it under the terms of the GNU General Public License as published by
    -00010  * the Free Software Foundation, either version 3 of the License, or
    -00011  * (at your option) any later version.
    -00012  *
    -00013  * Mozzi is distributed in the hope that it will be useful,
    -00014  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00015  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    -00016  * GNU General Public License for more details.
    -00017  *
    -00018  * You should have received a copy of the GNU General Public License
    -00019  * along with Mozzi.  If not, see <http://www.gnu.org/licenses/>.
    -00020  *
    -00021  */
    -00022 
    -00023 #include "mozzi_config.h" // at the top of all MozziGuts and analog files
    -00024 #include "MozziGuts.h"
    -00025 //#include <util/atomic.h>
    -00026 #include "mozzi_utils.h"
    -00027 
    -00028 
    -00029 /*
    -00030 ATmega328 technical manual, Section 12.7.4:
    -00031 The dual-slope operation [of phase correct pwm] has lower maximum operation
    -00032 frequency than single slope operation. However, due to the symmetric feature
    -00033 of the dual-slope PWM modes, these modes are preferred for motor control
    -00034 applications.
    -00035 Due to the single-slope operation, the operating frequency of the
    -00036 fast PWM mode can be twice as high as the phase correct PWM mode that use
    -00037 dual-slope operation. This high frequency makes the fast PWM mode well suited
    -00038 for power regulation, rectification, and DAC applications. High frequency allows
    -00039 physically small sized external components (coils, capacitors)..
    -00040 
    -00041 DAC, that's us!  Fast PWM.
    -00042 
    -00043 PWM frequency tests
    -00044 62500Hz, single 8 or dual 16 bits, bad aliasing
    -00045 125000Hz dual 14 bits, sweet
    -00046 250000Hz dual 12 bits, gritty, if you're gonna have 2 pins, have 14 bits
    -00047 500000Hz dual 10 bits, grittier
    -00048 16384Hz single nearly 9 bits (original mode) not bad for a single pin, but carrier freq noise can be an issue
    -00049 */
    -00050 
    -00051 
    -00052 //-----------------------------------------------------------------------------------------------------------------
    -00053 // ring buffer for audio output
    -00054 #define BUFFER_NUM_CELLS 256
    -00055 static unsigned int output_buffer[BUFFER_NUM_CELLS];
    -00056 static volatile unsigned long output_buffer_tail; // shared by audioHook() (in loop()), and outputAudio() (in audio interrupt), where it is changed
    -00057 
    -00058 //-----------------------------------------------------------------------------------------------------------------
    -00059 
    -00060 // to store backups of timer registers so Mozzi can be stopped and pre_mozzi timer values can be restored
    -00061 static byte pre_mozzi_TCCR0A, pre_mozzi_TCCR0B, pre_mozzi_OCR0A, pre_mozzi_TIMSK0;
    -00062 static byte pre_mozzi_TCCR1A, pre_mozzi_TCCR1B, pre_mozzi_OCR1A, pre_mozzi_TIMSK1;
    -00063 
    -00064 #if (AUDIO_MODE == HIFI)
    -00065 #if defined(TCCR2A)
    -00066 static byte pre_mozzi_TCCR2A, pre_mozzi_TCCR2B, pre_mozzi_OCR2A, pre_mozzi_TIMSK2;
    -00067 #elif defined(TCCR2)
    -00068 static byte pre_mozzi_TCCR2, pre_mozzi_OCR2, pre_mozzi_TIMSK;
    -00069 #elif defined(TCCR4A)
    -00070 static byte pre_mozzi_TCCR4A, pre_mozzi_TCCR4B, pre_mozzi_TCCR4C, pre_mozzi_TCCR4D, pre_mozzi_TCCR4E, pre_mozzi_OCR4C, pre_mozzi_TIMSK4;
    -00071 #endif
    -00072 #endif
    -00073 
    -00074 static void backupPreMozziTimer1(){
    -00075                 // backup pre-mozzi register values for pausing later
    -00076                 pre_mozzi_TCCR1A = TCCR1A;
    -00077                 pre_mozzi_TCCR1B = TCCR1B;
    -00078                 pre_mozzi_OCR1A = OCR1A;
    -00079                 pre_mozzi_TIMSK1 = TIMSK1;
    -00080 }
    -00081 
    -00082 //-----------------------------------------------------------------------------------------------------------------
    -00083 
    -00084 // to store backups of mozzi's changes to timer registers so Mozzi can be paused and unPaused
    -00085 static byte mozzi_TCCR0A, mozzi_TCCR0B, mozzi_OCR0A, mozzi_TIMSK0;
    -00086 static byte mozzi_TCCR1A, mozzi_TCCR1B, mozzi_OCR1A, mozzi_TIMSK1;
    -00087 
    -00088 #if (AUDIO_MODE == HIFI)
    -00089 #if defined(TCCR2A)
    -00090 static byte mozzi_TCCR2A, mozzi_TCCR2B, mozzi_OCR2A, mozzi_TIMSK2;
    -00091 #elif defined(TCCR2)
    -00092 static byte mozzi_TCCR2, mozzi_OCR2, mozzi_TIMSK;
    -00093 #elif defined(TCCR4A)
    -00094 static byte mozzi_TCCR4A, mozzi_TCCR4B, mozzi_TCCR4C, mozzi_TCCR4D, mozzi_TCCR4E, mozzi_OCR4C, mozzi_TIMSK4;
    -00095 #endif
    -00096 #endif
    -00097 
    -00098 static void backupMozziTimer1(){
    -00099                 // backup mozzi register values for unpausing later
    -00100                 mozzi_TCCR1A = TCCR1A;
    -00101                 mozzi_TCCR1B = TCCR1B;
    -00102                 mozzi_OCR1A = OCR1A;
    -00103                 mozzi_TIMSK1 = TIMSK1;
    -00104 }
    -00105 
    -00106 //-----------------------------------------------------------------------------------------------------------------
    -00107 
    -00108 #if USE_AUDIO_INPUT
    -00109 
    -00110 #include "mozzi_analog.h"
    -00111 
    -00112 static void adcSetupAudioInput(){
    -00113                 adcEnableInterrupt();
    -00114                 setupFastAnalogRead();
    -00115                 adcSetChannel(0);
    -00116 }
    -00117 
    -00118 static volatile long input_gap;
    -00119 static volatile unsigned long input_buffer_head;
    -00120 static volatile int input_buffer[BUFFER_NUM_CELLS];
    -00121 static boolean do_update_audio;
    -00122 static int audio_input; // holds the latest audio from input_buffer
    -00123 
    -00124 
    -00125 int getAudioInput()
    -00126 {
    -00127                 return audio_input;
    -00128 }
    -00129 
    -00130 
    -00131 /* Audio ISR. This is called with when the adc finishes a conversion.
    -00132 */
    -00133 ISR(ADC_vect, ISR_BLOCK)
    -00134 {
    -00135                 // gets here about 16us after being set audio output isr
    -00136                 input_buffer_head++;
    -00137                 input_buffer[input_buffer_head & (BUFFER_NUM_CELLS-1)] = ADC; // put new data into input_buffer, don't worry about overwriting old, as guarding would also cause a glitch
    -00138                 if (input_gap > (BUFFER_NUM_CELLS/2)) {
    -00139                                 do_update_audio = true;
    -00140                 }else{
    -00141                                 do_update_audio = false;
    -00142                 }
    -00143 }
    -00144 
    -00145 #endif
    -00146 
    -00147 
    -00148 
    -00149 void audioHook() // 2us excluding updateAudio()
    -00150 {
    -00151                 static unsigned long output_buffer_head = 0;
    -00152                 long output_gap = output_buffer_head - output_buffer_tail; // wraps to a big number if it's negative, and will take a long time to wrap
    -00153 
    -00154 #if USE_AUDIO_INPUT // 3us
    -00155 
    -00156                 static unsigned long input_buffer_tail =0;
    -00157                 input_gap = input_buffer_head - input_buffer_tail; // wraps to a big number if it's negative, and will take a long time to wrap
    -00158                 if ((output_gap < BUFFER_NUM_CELLS) && do_update_audio) {
    -00159                                 input_buffer_tail++;
    -00160                                 audio_input = input_buffer[input_buffer_tail & (BUFFER_NUM_CELLS-1)];
    -00161 
    -00162 #else
    -00163 
    -00164                                 if(output_gap < BUFFER_NUM_CELLS) // prevent writing over cells which haven't been output yet
    -00165                                 {
    -00166 
    -00167 #endif
    -00168                                                 output_buffer_head++;
    -00169                                                 output_buffer[(unsigned char)output_buffer_head & (unsigned char)(BUFFER_NUM_CELLS-1)] = (unsigned int) (updateAudio() + AUDIO_BIAS);
    -00170                                 }
    -00171 
    -00172                 }
    -00173 
    -00174 
    -00175                 //-----------------------------------------------------------------------------------------------------------------
    -00176 #if (AUDIO_MODE == STANDARD)
    -00177 
    -00178                 static void startAudioStandard(){
    -00179                                 backupPreMozziTimer1();
    -00180 
    -00181                                 pinMode(AUDIO_CHANNEL_1_PIN, OUTPUT);           // set pin to output for audio
    -00182                                 Timer1.initialize(1000000UL/AUDIO_RATE, PHASE_FREQ_CORRECT);                    // set period, phase and frequency correct
    -00183                                 Timer1.pwm(AUDIO_CHANNEL_1_PIN, AUDIO_BIAS);                    // pwm pin, 50% of Mozzi's duty cycle, ie. 0 signal
    -00184                                 TIMSK1 = _BV(TOIE1);            // Overflow Interrupt Enable (when not using Timer1.attachInterrupt())
    -00185 
    -00186                                 backupMozziTimer1();
    -00187 
    -00188 #if USE_AUDIO_INPUT
    -00189                                 adcSetupAudioInput();
    -00190 #endif
    -00191                 }
    -00192 
    -00193 
    -00194                 /* Interrupt service routine moves sound data from the output buffer to the
    -00195                 Arduino output register, running at AUDIO_RATE. */
    -00196                 ISR(TIMER1_OVF_vect, ISR_BLOCK) {
    -00197 #if USE_AUDIO_INPUT
    -00198                                 sbi(ADCSRA, ADSC);                                                              // start next adc conversion
    -00199 #endif
    -00200                                 output_buffer_tail++;
    -00201                                 AUDIO_CHANNEL_1_OUTPUT_REGISTER = output_buffer[(unsigned char)output_buffer_tail & (unsigned char)(BUFFER_NUM_CELLS-1)]; // 1us, 2.5us with longs
    -00202                 }
    -00203 
    -00204                 // end STANDARD
    -00205 
    -00206                 //-----------------------------------------------------------------------------------------------------------------
    -00207 #elif (AUDIO_MODE == HIFI)
    -00208 
    -00209                 static void startAudioHiFi(){
    -00210                                 backupPreMozziTimer1();
    -00211 
    -00212                                 // pwm on timer 1
    -00213                                 pinMode(AUDIO_CHANNEL_1_HIGHBYTE_PIN, OUTPUT);  // set pin to output for audio, use 3.9k resistor
    -00214                                 pinMode(AUDIO_CHANNEL_1_LOWBYTE_PIN, OUTPUT);   // set pin to output for audio, use 1M resistor
    -00215 
    -00216                                 Timer1.initialize(1000000UL/125000, FAST);                      // set period for 125000 Hz fast pwm carrier frequency = 14 bits
    -00217 
    -00218                                 Timer1.pwm(AUDIO_CHANNEL_1_HIGHBYTE_PIN, 0);                    // pwm pin, 0% duty cycle, ie. 0 signal
    -00219                                 Timer1.pwm(AUDIO_CHANNEL_1_LOWBYTE_PIN, 0);                     // pwm pin, 0% duty cycle, ie. 0 signal
    -00220 
    -00221                                 backupMozziTimer1();
    -00222 
    -00223                                 // audio output interrupt on timer 2, sets the pwm levels of timer 1
    -00224                                 setupTimer2();
    -00225 
    -00226 #if USE_AUDIO_INPUT
    -00227                                 adcSetupAudioInput();
    -00228 #endif
    -00229                 }
    -00230 
    -00231                 /* set up Timer 2 using modified FrequencyTimer2 library */
    -00232                 void dummy(){}
    -00233 
    -00234                 static void setupTimer2(){
    -00235                                 //backup Timer2 register values
    -00236 #if defined(TCCR2A)
    -00237                                 pre_mozzi_TCCR2A = TCCR2A;
    -00238                                 pre_mozzi_TCCR2B = TCCR2B;
    -00239                                 pre_mozzi_OCR2A = OCR2A;
    -00240                                 pre_mozzi_TIMSK2 = TIMSK2;
    -00241 #elif defined(TCCR2)
    -00242                                 pre_mozzi_TCCR2 = TCCR2;
    -00243                                 pre_mozzi_OCR2 = OCR2;
    -00244                                 pre_mozzi_TIMSK = TIMSK;
    -00245 #elif defined(TCCR4A)
    -00246                                 pre_mozzi_TCCR4B = TCCR4A;
    -00247                                 pre_mozzi_TCCR4B = TCCR4B;
    -00248                                 pre_mozzi_TCCR4B = TCCR4C;
    -00249                                 pre_mozzi_TCCR4B = TCCR4D;
    -00250                                 pre_mozzi_TCCR4B = TCCR4E;
    -00251                                 pre_mozzi_OCR4C = OCR4C;
    -00252                                 pre_mozzi_TIMSK4 = TIMSK4;
    -00253 #endif
    -00254 
    -00255                                 // audio output interrupt on timer 2 (or 4 on ATMEGA32U4 cpu), sets the pwm levels of timer 1
    -00256 
    -00257                                 FrequencyTimer2::setPeriod(2000000UL/AUDIO_RATE); // gives a period half of what's provided, for some reason
    -00258                                 FrequencyTimer2::setOnOverflow(dummy);
    -00259                                 FrequencyTimer2::enable();
    -00260 
    -00261                                 // backup mozzi register values for unpausing later
    -00262 #if defined(TCCR2A)
    -00263                                 mozzi_TCCR2A = TCCR2A;
    -00264                                 mozzi_TCCR2B = TCCR2B;
    -00265                                 mozzi_OCR2A = OCR2A;
    -00266                                 mozzi_TIMSK2 = TIMSK2;
    -00267 #elif defined(TCCR2)
    -00268                                 mozzi_TCCR2 = TCCR2;
    -00269                                 mozzi_OCR2 = OCR2;
    -00270                                 mozzi_TIMSK = TIMSK;
    -00271 #elif defined(TCCR4A)
    -00272                                 mozzi_TCCR4B = TCCR4A;
    -00273                                 mozzi_TCCR4B = TCCR4B;
    -00274                                 mozzi_TCCR4B = TCCR4C;
    -00275                                 mozzi_TCCR4B = TCCR4D;
    -00276                                 mozzi_TCCR4B = TCCR4E;
    -00277                                 mozzi_OCR4C = OCR4C;
    -00278                                 mozzi_TIMSK4 = TIMSK4;
    -00279 #endif
    -00280                 }
    -00281 
    -00282                 #if defined(TIMER2_COMPA_vect)
    -00283                 ISR(TIMER2_COMPA_vect)
    -00284 #elif defined(TIMER2_COMP_vect)
    -00285                 ISR(TIMER2_COMP_vect)
    -00286 #elif defined(TIMER4_COMPA_vect)
    -00287                 ISR(TIMER4_COMPA_vect)
    -00288 #else
    -00289 #error "This board does not have a hardware timer which is compatible with FrequencyTimer2"
    -00290                 void dummy_function(void)
    -00291 #endif
    -00292                 {
    -00293 #if USE_AUDIO_INPUT
    -00294                                 sbi(ADCSRA, ADSC);                                                              // start next adc conversion
    -00295 #endif
    -00296 
    -00297                                 output_buffer_tail++;
    -00298                                 unsigned int out = output_buffer[(unsigned char)output_buffer_tail & (unsigned char)(BUFFER_NUM_CELLS-1)]; // 1us, 2.5us with longs
    -00299 
    -00300                                 // read about dual pwm at http://www.openmusiclabs.com/learning/digital/pwm-dac/dual-pwm-circuits/
    -00301                                 // sketches at http://wiki.openmusiclabs.com/wiki/PWMDAC,  http://wiki.openmusiclabs.com/wiki/MiniArDSP
    -00302 
    -00303                                 // 14 bit - this sounds better than 12 bit, it's cleaner, less bitty, don't notice aliasing
    -00304                                 AUDIO_CHANNEL_1_HIGHBYTE_REGISTER = out >> 7; // B11111110000000 becomes B1111111
    -00305                                 AUDIO_CHANNEL_1_LOWBYTE_REGISTER = out & 127; // B001111111
    -00306 
    -00307                 }
    -00308 
    -00309                 //  end of HIFI
    -00310 
    -00311 #endif
    -00312 
    -00313 
    -00314                 //-----------------------------------------------------------------------------------------------------------------
    -00315 
    -00316                 /* Sets up Timer 0 for control interrupts. This is the same for all output
    -00317                 options Using Timer0 for control disables Arduino's time functions but also
    -00318                 saves on the interrupts and blocking action of those functions. May add a config
    -00319                 option for Using Timer2 instead if needed. (MozziTimer2 can be re-introduced for
    -00320                 that). */
    -00321                 static void startControl(unsigned int control_rate_hz)
    -00322                 {
    -00323                                 // backup pre-mozzi register values
    -00324                                 pre_mozzi_TCCR0A = TCCR0A;
    -00325                                 pre_mozzi_TCCR0B = TCCR0B;
    -00326                                 pre_mozzi_OCR0A = OCR0A;
    -00327                                 pre_mozzi_TIMSK0 = TIMSK0;
    -00328 
    -00329                                 TimerZero::init(1000000/control_rate_hz,updateControl); // set period, attach updateControl()
    -00330                                 TimerZero::start();
    -00331 
    -00332                                 // backup mozzi register values for unpausing later
    -00333                                 mozzi_TCCR0A = TCCR0A;
    -00334                                 mozzi_TCCR0B = TCCR0B;
    -00335                                 mozzi_OCR0A = OCR0A;
    -00336                                 mozzi_TIMSK0 = TIMSK0;
    -00337                 }
    -00338 
    -00339 
    -00340                 void startMozzi(int control_rate_hz)
    -00341                 {
    -00342                                 startControl(control_rate_hz);
    -00343 #if (AUDIO_MODE == STANDARD)
    -00344                                 startAudioStandard();
    -00345 #elif (AUDIO_MODE == HIFI)
    -00346                                 startAudioHiFi();
    -00347 #endif
    -00348                 }
    -00349 
    -00350 
    -00351                 void pauseMozzi(){
    -00352                                 // restore backed up register values
    -00353                                 TCCR0A = pre_mozzi_TCCR0A;
    -00354                                 TCCR0B = pre_mozzi_TCCR0B;
    -00355                                 OCR0A = pre_mozzi_OCR0A;
    -00356                                 TIMSK0 = pre_mozzi_TIMSK0;
    -00357 
    -00358                                 TCCR1A = pre_mozzi_TCCR1A;
    -00359                                 TCCR1B = pre_mozzi_TCCR1B;
    -00360                                 OCR1A = pre_mozzi_OCR1A;
    -00361                                 TIMSK1 = pre_mozzi_TIMSK1;
    -00362 
    -00363 #if (AUDIO_MODE == HIFI)
    -00364 #if defined(TCCR2A)
    -00365                                 TCCR2A = pre_mozzi_TCCR2A;
    -00366                                 TCCR2B = pre_mozzi_TCCR2B;
    -00367                                 OCR2A = pre_mozzi_OCR2A;
    -00368                                 TIMSK2 = pre_mozzi_TIMSK2;
    -00369 #elif defined(TCCR2)
    -00370                                 TCCR2 = pre_mozzi_TCCR2;
    -00371                                 OCR2 = pre_mozzi_OCR2;
    -00372                                 TIMSK = pre_mozzi_TIMSK;
    -00373 #elif defined(TCCR4A)
    -00374                                 TCCR4B = pre_mozzi_TCCR4A;
    -00375                                 TCCR4B = pre_mozzi_TCCR4B;
    -00376                                 TCCR4B = pre_mozzi_TCCR4C;
    -00377                                 TCCR4B = pre_mozzi_TCCR4D;
    -00378                                 TCCR4B = pre_mozzi_TCCR4E;
    -00379                                 OCR4C = pre_mozzi_OCR4C;
    -00380                                 TIMSK4 = pre_mozzi_TIMSK4;
    -00381 #endif
    -00382 #endif                                          
    -00383                 }
    -00384 
    -00385 
    -00386                 void unPauseMozzi(){
    -00387                                 // restore backed up register values
    -00388                                 TCCR0A = mozzi_TCCR0A;
    -00389                                 TCCR0B = mozzi_TCCR0B;
    -00390                                 OCR0A = mozzi_OCR0A;
    -00391                                 TIMSK0 = mozzi_TIMSK0;
    -00392 
    -00393                                 TCCR1A = mozzi_TCCR1A;
    -00394                                 TCCR1B = mozzi_TCCR1B;
    -00395                                 OCR1A = mozzi_OCR1A;
    -00396                                 TIMSK1 = mozzi_TIMSK1;
    -00397 
    -00398 #if (AUDIO_MODE == HIFI)
    -00399 #if defined(TCCR2A)
    -00400                                 TCCR2A = mozzi_TCCR2A;
    -00401                                 TCCR2B = mozzi_TCCR2B;
    -00402                                 OCR2A = mozzi_OCR2A;
    -00403                                 TIMSK2 = mozzi_TIMSK2;
    -00404 #elif defined(TCCR2)
    -00405                                 TCCR2 = mozzi_TCCR2;
    -00406                                 OCR2 = mozzi_OCR2;
    -00407                                 TIMSK = mozzi_TIMSK;
    -00408 #elif defined(TCCR4A)
    -00409                                 TCCR4B = mozzi_TCCR4A;
    -00410                                 TCCR4B = mozzi_TCCR4B;
    -00411                                 TCCR4B = mozzi_TCCR4C;
    -00412                                 TCCR4B = mozzi_TCCR4D;
    -00413                                 TCCR4B = mozzi_TCCR4E;
    -00414                                 OCR4C = mozzi_OCR4C;
    -00415                                 TIMSK4 = mozzi_TIMSK4;
    -00416 #endif
    -00417 #endif                                          
    -00418                 }
    -00419                 
    -00420 
    -00421                 unsigned long mozziMicros(){
    -00422                                 return output_buffer_tail / MICROS_PER_AUDIO_TICK;
    -00423                 }
    -00424 
    -00425                 // Unmodified TimerOne.cpp has TIMER3_OVF_vect.
    -00426                 // Watch out if you update the library file.
    -00427                 // The symptom will be no sound.
    -00428                 // ISR(TIMER1_OVF_vect)
    -00429                 // {
    -00430                 //              Timer1.isrCallback();
    -00431                 // }
    -
    - - - - +
    1 /*
    +
    2  * MozziGuts.cpp
    +
    3  *
    +
    4  * Copyright 2012 Tim Barrass.
    +
    5  *
    +
    6  * This file is part of Mozzi.
    +
    7  *
    +
    8  * Mozzi is free software: you can redistribute it and/or modify
    +
    9  * it under the terms of the GNU General Public License as published by
    +
    10  * the Free Software Foundation, either version 3 of the License, or
    +
    11  * (at your option) any later version.
    +
    12  *
    +
    13  * Mozzi is distributed in the hope that it will be useful,
    +
    14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    +
    15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    +
    16  * GNU General Public License for more details.
    +
    17  *
    +
    18  * You should have received a copy of the GNU General Public License
    +
    19  * along with Mozzi. If not, see <http://www.gnu.org/licenses/>.
    +
    20  *
    +
    21  */
    +
    22 
    +
    23 #include "mozzi_config.h" // at the top of all MozziGuts and analog files
    +
    24 #include "MozziGuts.h"
    +
    25 //#include <util/atomic.h>
    +
    26 #include "mozzi_utils.h"
    +
    27 
    +
    28 
    +
    29 /*
    +
    30 ATmega328 technical manual, Section 12.7.4:
    +
    31 The dual-slope operation [of phase correct pwm] has lower maximum operation
    +
    32 frequency than single slope operation. However, due to the symmetric feature
    +
    33 of the dual-slope PWM modes, these modes are preferred for motor control
    +
    34 applications.
    +
    35 Due to the single-slope operation, the operating frequency of the
    +
    36 fast PWM mode can be twice as high as the phase correct PWM mode that use
    +
    37 dual-slope operation. This high frequency makes the fast PWM mode well suited
    +
    38 for power regulation, rectification, and DAC applications. High frequency allows
    +
    39 physically small sized external components (coils, capacitors)..
    +
    40 
    +
    41 DAC, that's us! Fast PWM.
    +
    42 
    +
    43 PWM frequency tests
    +
    44 62500Hz, single 8 or dual 16 bits, bad aliasing
    +
    45 125000Hz dual 14 bits, sweet
    +
    46 250000Hz dual 12 bits, gritty, if you're gonna have 2 pins, have 14 bits
    +
    47 500000Hz dual 10 bits, grittier
    +
    48 16384Hz single nearly 9 bits (original mode) not bad for a single pin, but carrier freq noise can be an issue
    +
    49 */
    +
    50 
    +
    51 
    +
    52 //-----------------------------------------------------------------------------------------------------------------
    +
    53 // ring buffer for audio output
    +
    54 #define BUFFER_NUM_CELLS 256
    +
    55 static unsigned int output_buffer[BUFFER_NUM_CELLS];
    +
    56 static volatile unsigned long output_buffer_tail; // shared by audioHook() (in loop()), and outputAudio() (in audio interrupt), where it is changed
    +
    57 
    +
    58 //-----------------------------------------------------------------------------------------------------------------
    +
    59 
    +
    60 // to store backups of timer registers so Mozzi can be stopped and pre_mozzi timer values can be restored
    +
    61 static byte pre_mozzi_TCCR0A, pre_mozzi_TCCR0B, pre_mozzi_OCR0A, pre_mozzi_TIMSK0;
    +
    62 static byte pre_mozzi_TCCR1A, pre_mozzi_TCCR1B, pre_mozzi_OCR1A, pre_mozzi_TIMSK1;
    +
    63 
    +
    64 #if (AUDIO_MODE == HIFI)
    +
    65 #if defined(TCCR2A)
    +
    66 static byte pre_mozzi_TCCR2A, pre_mozzi_TCCR2B, pre_mozzi_OCR2A, pre_mozzi_TIMSK2;
    +
    67 #elif defined(TCCR2)
    +
    68 static byte pre_mozzi_TCCR2, pre_mozzi_OCR2, pre_mozzi_TIMSK;
    +
    69 #elif defined(TCCR4A)
    +
    70 static byte pre_mozzi_TCCR4A, pre_mozzi_TCCR4B, pre_mozzi_TCCR4C, pre_mozzi_TCCR4D, pre_mozzi_TCCR4E, pre_mozzi_OCR4C, pre_mozzi_TIMSK4;
    +
    71 #endif
    +
    72 #endif
    +
    73 
    +
    74 static void backupPreMozziTimer1(){
    +
    75  // backup pre-mozzi register values for pausing later
    +
    76  pre_mozzi_TCCR1A = TCCR1A;
    +
    77  pre_mozzi_TCCR1B = TCCR1B;
    +
    78  pre_mozzi_OCR1A = OCR1A;
    +
    79  pre_mozzi_TIMSK1 = TIMSK1;
    +
    80 }
    +
    81 
    +
    82 //-----------------------------------------------------------------------------------------------------------------
    +
    83 
    +
    84 // to store backups of mozzi's changes to timer registers so Mozzi can be paused and unPaused
    +
    85 static byte mozzi_TCCR0A, mozzi_TCCR0B, mozzi_OCR0A, mozzi_TIMSK0;
    +
    86 static byte mozzi_TCCR1A, mozzi_TCCR1B, mozzi_OCR1A, mozzi_TIMSK1;
    +
    87 
    +
    88 #if (AUDIO_MODE == HIFI)
    +
    89 #if defined(TCCR2A)
    +
    90 static byte mozzi_TCCR2A, mozzi_TCCR2B, mozzi_OCR2A, mozzi_TIMSK2;
    +
    91 #elif defined(TCCR2)
    +
    92 static byte mozzi_TCCR2, mozzi_OCR2, mozzi_TIMSK;
    +
    93 #elif defined(TCCR4A)
    +
    94 static byte mozzi_TCCR4A, mozzi_TCCR4B, mozzi_TCCR4C, mozzi_TCCR4D, mozzi_TCCR4E, mozzi_OCR4C, mozzi_TIMSK4;
    +
    95 #endif
    +
    96 #endif
    +
    97 
    +
    98 static void backupMozziTimer1(){
    +
    99  // backup mozzi register values for unpausing later
    +
    100  mozzi_TCCR1A = TCCR1A;
    +
    101  mozzi_TCCR1B = TCCR1B;
    +
    102  mozzi_OCR1A = OCR1A;
    +
    103  mozzi_TIMSK1 = TIMSK1;
    +
    104 }
    +
    105 
    +
    106 //-----------------------------------------------------------------------------------------------------------------
    +
    107 
    +
    108 #if USE_AUDIO_INPUT
    +
    109 
    +
    110 #include "mozzi_analog.h"
    +
    111 
    +
    112 static void adcSetupAudioInput(){
    + + +
    115  adcSetChannel(0);
    +
    116 }
    +
    117 
    +
    118 static volatile long input_gap;
    +
    119 static volatile unsigned long input_buffer_head;
    +
    120 static volatile int input_buffer[BUFFER_NUM_CELLS];
    +
    121 static boolean do_update_audio;
    +
    122 static int audio_input; // holds the latest audio from input_buffer
    +
    123 
    +
    124 
    +
    125 int getAudioInput()
    +
    126 {
    +
    127  return audio_input;
    +
    128 }
    +
    129 
    +
    130 
    +
    131 /* Audio ISR. This is called with when the adc finishes a conversion.
    +
    132 */
    +
    133 ISR(ADC_vect, ISR_BLOCK)
    +
    134 {
    +
    135  // gets here about 16us after being set audio output isr
    +
    136  input_buffer_head++;
    +
    137  input_buffer[input_buffer_head & (BUFFER_NUM_CELLS-1)] = ADC; // put new data into input_buffer, don't worry about overwriting old, as guarding would also cause a glitch
    +
    138  if (input_gap > (BUFFER_NUM_CELLS/2)) {
    +
    139  do_update_audio = true;
    +
    140  }else{
    +
    141  do_update_audio = false;
    +
    142  }
    +
    143 }
    +
    144 
    +
    145 #endif
    +
    146 
    +
    147 
    +
    148 
    +
    149 void audioHook() // 2us excluding updateAudio()
    +
    150 {
    +
    151  static unsigned long output_buffer_head = 0;
    +
    152  long output_gap = output_buffer_head - output_buffer_tail; // wraps to a big number if it's negative, and will take a long time to wrap
    +
    153 
    +
    154 #if USE_AUDIO_INPUT // 3us
    +
    155 
    +
    156  static unsigned long input_buffer_tail =0;
    +
    157  input_gap = input_buffer_head - input_buffer_tail; // wraps to a big number if it's negative, and will take a long time to wrap
    +
    158  if ((output_gap < BUFFER_NUM_CELLS) && do_update_audio) {
    +
    159  input_buffer_tail++;
    +
    160  audio_input = input_buffer[input_buffer_tail & (BUFFER_NUM_CELLS-1)];
    +
    161 
    +
    162 #else
    +
    163 
    +
    164  if(output_gap < BUFFER_NUM_CELLS) // prevent writing over cells which haven't been output yet
    +
    165  {
    +
    166 
    +
    167 #endif
    +
    168  output_buffer_head++;
    +
    169  output_buffer[(unsigned char)output_buffer_head & (unsigned char)(BUFFER_NUM_CELLS-1)] = (unsigned int) (updateAudio() + AUDIO_BIAS);
    +
    170  }
    +
    171 
    +
    172  }
    +
    173 
    +
    174 
    +
    175  //-----------------------------------------------------------------------------------------------------------------
    +
    176 #if (AUDIO_MODE == STANDARD)
    +
    177 
    +
    178  static void startAudioStandard(){
    +
    179  backupPreMozziTimer1();
    +
    180 
    +
    181  pinMode(AUDIO_CHANNEL_1_PIN, OUTPUT); // set pin to output for audio
    +
    182  Timer1.initialize(1000000UL/AUDIO_RATE, PHASE_FREQ_CORRECT); // set period, phase and frequency correct
    +
    183  Timer1.pwm(AUDIO_CHANNEL_1_PIN, AUDIO_BIAS); // pwm pin, 50% of Mozzi's duty cycle, ie. 0 signal
    +
    184  TIMSK1 = _BV(TOIE1); // Overflow Interrupt Enable (when not using Timer1.attachInterrupt())
    +
    185 
    +
    186  backupMozziTimer1();
    +
    187 
    +
    188 #if USE_AUDIO_INPUT
    +
    189  adcSetupAudioInput();
    +
    190 #endif
    +
    191  }
    +
    192 
    +
    193 
    +
    194  /* Interrupt service routine moves sound data from the output buffer to the
    +
    195  Arduino output register, running at AUDIO_RATE. */
    +
    196  ISR(TIMER1_OVF_vect, ISR_BLOCK) {
    +
    197 #if USE_AUDIO_INPUT
    +
    198  sbi(ADCSRA, ADSC); // start next adc conversion
    +
    199 #endif
    +
    200  output_buffer_tail++;
    +
    201  AUDIO_CHANNEL_1_OUTPUT_REGISTER = output_buffer[(unsigned char)output_buffer_tail & (unsigned char)(BUFFER_NUM_CELLS-1)]; // 1us, 2.5us with longs
    +
    202  }
    +
    203 
    +
    204  // end STANDARD
    +
    205 
    +
    206  //-----------------------------------------------------------------------------------------------------------------
    +
    207 #elif (AUDIO_MODE == HIFI)
    +
    208 
    +
    209  static void startAudioHiFi(){
    +
    210  backupPreMozziTimer1();
    +
    211 
    +
    212  // pwm on timer 1
    +
    213  pinMode(AUDIO_CHANNEL_1_HIGHBYTE_PIN, OUTPUT); // set pin to output for audio, use 3.9k resistor
    +
    214  pinMode(AUDIO_CHANNEL_1_LOWBYTE_PIN, OUTPUT); // set pin to output for audio, use 1M resistor
    +
    215 
    +
    216  Timer1.initialize(1000000UL/125000, FAST); // set period for 125000 Hz fast pwm carrier frequency = 14 bits
    +
    217 
    +
    218  Timer1.pwm(AUDIO_CHANNEL_1_HIGHBYTE_PIN, 0); // pwm pin, 0% duty cycle, ie. 0 signal
    +
    219  Timer1.pwm(AUDIO_CHANNEL_1_LOWBYTE_PIN, 0); // pwm pin, 0% duty cycle, ie. 0 signal
    +
    220 
    +
    221  backupMozziTimer1();
    +
    222 
    +
    223  // audio output interrupt on timer 2, sets the pwm levels of timer 1
    +
    224  setupTimer2();
    +
    225 
    +
    226 #if USE_AUDIO_INPUT
    +
    227  adcSetupAudioInput();
    +
    228 #endif
    +
    229  }
    +
    230 
    +
    231  /* set up Timer 2 using modified FrequencyTimer2 library */
    +
    232  void dummy(){}
    +
    233 
    +
    234  static void setupTimer2(){
    +
    235  //backup Timer2 register values
    +
    236 #if defined(TCCR2A)
    +
    237  pre_mozzi_TCCR2A = TCCR2A;
    +
    238  pre_mozzi_TCCR2B = TCCR2B;
    +
    239  pre_mozzi_OCR2A = OCR2A;
    +
    240  pre_mozzi_TIMSK2 = TIMSK2;
    +
    241 #elif defined(TCCR2)
    +
    242  pre_mozzi_TCCR2 = TCCR2;
    +
    243  pre_mozzi_OCR2 = OCR2;
    +
    244  pre_mozzi_TIMSK = TIMSK;
    +
    245 #elif defined(TCCR4A)
    +
    246  pre_mozzi_TCCR4B = TCCR4A;
    +
    247  pre_mozzi_TCCR4B = TCCR4B;
    +
    248  pre_mozzi_TCCR4B = TCCR4C;
    +
    249  pre_mozzi_TCCR4B = TCCR4D;
    +
    250  pre_mozzi_TCCR4B = TCCR4E;
    +
    251  pre_mozzi_OCR4C = OCR4C;
    +
    252  pre_mozzi_TIMSK4 = TIMSK4;
    +
    253 #endif
    +
    254 
    +
    255  // audio output interrupt on timer 2 (or 4 on ATMEGA32U4 cpu), sets the pwm levels of timer 1
    +
    256 
    +
    257  FrequencyTimer2::setPeriod(2000000UL/AUDIO_RATE); // gives a period half of what's provided, for some reason
    +
    258  FrequencyTimer2::setOnOverflow(dummy);
    +
    259  FrequencyTimer2::enable();
    +
    260 
    +
    261  // backup mozzi register values for unpausing later
    +
    262 #if defined(TCCR2A)
    +
    263  mozzi_TCCR2A = TCCR2A;
    +
    264  mozzi_TCCR2B = TCCR2B;
    +
    265  mozzi_OCR2A = OCR2A;
    +
    266  mozzi_TIMSK2 = TIMSK2;
    +
    267 #elif defined(TCCR2)
    +
    268  mozzi_TCCR2 = TCCR2;
    +
    269  mozzi_OCR2 = OCR2;
    +
    270  mozzi_TIMSK = TIMSK;
    +
    271 #elif defined(TCCR4A)
    +
    272  mozzi_TCCR4B = TCCR4A;
    +
    273  mozzi_TCCR4B = TCCR4B;
    +
    274  mozzi_TCCR4B = TCCR4C;
    +
    275  mozzi_TCCR4B = TCCR4D;
    +
    276  mozzi_TCCR4B = TCCR4E;
    +
    277  mozzi_OCR4C = OCR4C;
    +
    278  mozzi_TIMSK4 = TIMSK4;
    +
    279 #endif
    +
    280  }
    +
    281 
    +
    282  #if defined(TIMER2_COMPA_vect)
    +
    283  ISR(TIMER2_COMPA_vect)
    +
    284 #elif defined(TIMER2_COMP_vect)
    +
    285  ISR(TIMER2_COMP_vect)
    +
    286 #elif defined(TIMER4_COMPA_vect)
    +
    287  ISR(TIMER4_COMPA_vect)
    +
    288 #else
    +
    289 #error "This board does not have a hardware timer which is compatible with FrequencyTimer2"
    +
    290  void dummy_function(void)
    +
    291 #endif
    +
    292  {
    +
    293 #if USE_AUDIO_INPUT
    +
    294  sbi(ADCSRA, ADSC); // start next adc conversion
    +
    295 #endif
    +
    296 
    +
    297  output_buffer_tail++;
    +
    298  unsigned int out = output_buffer[(unsigned char)output_buffer_tail & (unsigned char)(BUFFER_NUM_CELLS-1)]; // 1us, 2.5us with longs
    +
    299 
    +
    300  // read about dual pwm at http://www.openmusiclabs.com/learning/digital/pwm-dac/dual-pwm-circuits/
    +
    301  // sketches at http://wiki.openmusiclabs.com/wiki/PWMDAC, http://wiki.openmusiclabs.com/wiki/MiniArDSP
    +
    302 
    +
    303  // 14 bit - this sounds better than 12 bit, it's cleaner, less bitty, don't notice aliasing
    +
    304  AUDIO_CHANNEL_1_HIGHBYTE_REGISTER = out >> 7; // B11111110000000 becomes B1111111
    +
    305  AUDIO_CHANNEL_1_LOWBYTE_REGISTER = out & 127; // B001111111
    +
    306 
    +
    307  }
    +
    308 
    +
    309  // end of HIFI
    +
    310 
    +
    311 #endif
    +
    312 
    +
    313 
    +
    314  //-----------------------------------------------------------------------------------------------------------------
    +
    315 
    +
    316  /* Sets up Timer 0 for control interrupts. This is the same for all output
    +
    317  options Using Timer0 for control disables Arduino's time functions but also
    +
    318  saves on the interrupts and blocking action of those functions. May add a config
    +
    319  option for Using Timer2 instead if needed. (MozziTimer2 can be re-introduced for
    +
    320  that). */
    +
    321  static void startControl(unsigned int control_rate_hz)
    +
    322  {
    +
    323  // backup pre-mozzi register values
    +
    324  pre_mozzi_TCCR0A = TCCR0A;
    +
    325  pre_mozzi_TCCR0B = TCCR0B;
    +
    326  pre_mozzi_OCR0A = OCR0A;
    +
    327  pre_mozzi_TIMSK0 = TIMSK0;
    +
    328 
    +
    329  TimerZero::init(1000000/control_rate_hz,updateControl); // set period, attach updateControl()
    +
    330  TimerZero::start();
    +
    331 
    +
    332  // backup mozzi register values for unpausing later
    +
    333  mozzi_TCCR0A = TCCR0A;
    +
    334  mozzi_TCCR0B = TCCR0B;
    +
    335  mozzi_OCR0A = OCR0A;
    +
    336  mozzi_TIMSK0 = TIMSK0;
    +
    337  }
    +
    338 
    +
    339 
    +
    340  void startMozzi(int control_rate_hz)
    +
    341  {
    +
    342  startControl(control_rate_hz);
    +
    343 #if (AUDIO_MODE == STANDARD)
    +
    344  startAudioStandard();
    +
    345 #elif (AUDIO_MODE == HIFI)
    +
    346  startAudioHiFi();
    +
    347 #endif
    +
    348  }
    +
    349 
    +
    350 
    +
    351  void pauseMozzi(){
    +
    352  // restore backed up register values
    +
    353  TCCR0A = pre_mozzi_TCCR0A;
    +
    354  TCCR0B = pre_mozzi_TCCR0B;
    +
    355  OCR0A = pre_mozzi_OCR0A;
    +
    356  TIMSK0 = pre_mozzi_TIMSK0;
    +
    357 
    +
    358  TCCR1A = pre_mozzi_TCCR1A;
    +
    359  TCCR1B = pre_mozzi_TCCR1B;
    +
    360  OCR1A = pre_mozzi_OCR1A;
    +
    361  TIMSK1 = pre_mozzi_TIMSK1;
    +
    362 
    +
    363 #if (AUDIO_MODE == HIFI)
    +
    364 #if defined(TCCR2A)
    +
    365  TCCR2A = pre_mozzi_TCCR2A;
    +
    366  TCCR2B = pre_mozzi_TCCR2B;
    +
    367  OCR2A = pre_mozzi_OCR2A;
    +
    368  TIMSK2 = pre_mozzi_TIMSK2;
    +
    369 #elif defined(TCCR2)
    +
    370  TCCR2 = pre_mozzi_TCCR2;
    +
    371  OCR2 = pre_mozzi_OCR2;
    +
    372  TIMSK = pre_mozzi_TIMSK;
    +
    373 #elif defined(TCCR4A)
    +
    374  TCCR4B = pre_mozzi_TCCR4A;
    +
    375  TCCR4B = pre_mozzi_TCCR4B;
    +
    376  TCCR4B = pre_mozzi_TCCR4C;
    +
    377  TCCR4B = pre_mozzi_TCCR4D;
    +
    378  TCCR4B = pre_mozzi_TCCR4E;
    +
    379  OCR4C = pre_mozzi_OCR4C;
    +
    380  TIMSK4 = pre_mozzi_TIMSK4;
    +
    381 #endif
    +
    382 #endif
    +
    383  }
    +
    384 
    +
    385 
    +
    386  void unPauseMozzi(){
    +
    387  // restore backed up register values
    +
    388  TCCR0A = mozzi_TCCR0A;
    +
    389  TCCR0B = mozzi_TCCR0B;
    +
    390  OCR0A = mozzi_OCR0A;
    +
    391  TIMSK0 = mozzi_TIMSK0;
    +
    392 
    +
    393  TCCR1A = mozzi_TCCR1A;
    +
    394  TCCR1B = mozzi_TCCR1B;
    +
    395  OCR1A = mozzi_OCR1A;
    +
    396  TIMSK1 = mozzi_TIMSK1;
    +
    397 
    +
    398 #if (AUDIO_MODE == HIFI)
    +
    399 #if defined(TCCR2A)
    +
    400  TCCR2A = mozzi_TCCR2A;
    +
    401  TCCR2B = mozzi_TCCR2B;
    +
    402  OCR2A = mozzi_OCR2A;
    +
    403  TIMSK2 = mozzi_TIMSK2;
    +
    404 #elif defined(TCCR2)
    +
    405  TCCR2 = mozzi_TCCR2;
    +
    406  OCR2 = mozzi_OCR2;
    +
    407  TIMSK = mozzi_TIMSK;
    +
    408 #elif defined(TCCR4A)
    +
    409  TCCR4B = mozzi_TCCR4A;
    +
    410  TCCR4B = mozzi_TCCR4B;
    +
    411  TCCR4B = mozzi_TCCR4C;
    +
    412  TCCR4B = mozzi_TCCR4D;
    +
    413  TCCR4B = mozzi_TCCR4E;
    +
    414  OCR4C = mozzi_OCR4C;
    +
    415  TIMSK4 = mozzi_TIMSK4;
    +
    416 #endif
    +
    417 #endif
    +
    418  }
    +
    419 
    +
    420 
    +
    421  unsigned long mozziMicros(){
    +
    422  return output_buffer_tail / MICROS_PER_AUDIO_TICK;
    +
    423  }
    +
    424 
    +
    425  // Unmodified TimerOne.cpp has TIMER3_OVF_vect.
    +
    426  // Watch out if you update the library file.
    +
    427  // The symptom will be no sound.
    +
    428  // ISR(TIMER1_OVF_vect)
    +
    429  // {
    +
    430  // Timer1.isrCallback();
    +
    431  // }
    +
    + + + diff --git a/doc/html/_mozzi_guts_8h_source.html b/doc/html/_mozzi_guts_8h_source.html index 5ef578270..891cb5fb8 100644 --- a/doc/html/_mozzi_guts_8h_source.html +++ b/doc/html/_mozzi_guts_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: MozziGuts.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -95,116 +102,124 @@
    MozziGuts.h
    -
    00001 /*
    -00002  * MozziGuts.h
    -00003  *
    -00004  * Copyright 2012 Tim Barrass.
    -00005  *
    -00006  * This file is part of Mozzi.
    -00007  *
    -00008  * Mozzi is free software: you can redistribute it and/or modify
    -00009  * it under the terms of the GNU General Public License as published by
    -00010  * the Free Software Foundation, either version 3 of the License, or
    -00011  * (at your option) any later version.
    -00012  *
    -00013  * Mozzi is distributed in the hope that it will be useful,
    -00014  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00015  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    -00016  * GNU General Public License for more details.
    -00017  *
    -00018  * You should have received a copy of the GNU General Public License
    -00019  * along with Mozzi.  If not, see <http://www.gnu.org/licenses/>.
    -00020  *
    -00021  */
    -00022 
    -00023 #ifndef MOZZIGUTS_H_
    -00024 #define MOZZIGUTS_H_
    -00025 
    -00026 #if F_CPU != 16000000
    -00027 #error Mozzi expects a cpu clock speed of 16MHz!
    -00028 #endif
    -00029 
    -00030 #include "mozzi_config.h" // User can change the config file to set audio mode
    -00031 #include "TimerOne.h"
    -00032 #include "TimerZero.h"
    -00033 #include "FrequencyTimer2.h"
    -00034 
    -00063 //@defgroup tables Mozzi look-up-tables for audio waveforms, waveshaping, and control functions.
    -00064 
    -00092 #define STANDARD 0
    -00093 
    -00094 
    -00095 
    -00148 #define HIFI 1
    -00149 
    -00150 
    -00151 #if (AUDIO_MODE == STANDARD) && (AUDIO_RATE == 32768)
    -00152 #error AUDIO_RATE 32768 does not work when AUDIO_MODE is STANDARD, check settings in Mozzi/mozzi_config.h
    -00153 #endif
    -00154 
    -00155 
    -00156 #if AUDIO_RATE == 16384
    -00157 #define AUDIO_RATE_AS_LSHIFT 14
    -00158 #define MICROS_PER_AUDIO_TICK 61 // 1000000 / 16384 = 61.035, ...* 256 = 15625
    -00159 #elif AUDIO_RATE == 32768
    -00160 #define AUDIO_RATE_AS_LSHIFT 15
    -00161 #define MICROS_PER_AUDIO_TICK 31 // = 1000000 / 32768 = 30.518, ...* 256 = 7812.6
    -00162 #endif
    -00163 
    -00164 
    -00165 #if AUDIO_MODE == STANDARD
    -00166 #include "AudioConfigStandard9bitPwm.h"
    -00167 #elif AUDIO_MODE == HIFI
    -00168 #include "AudioConfigHiSpeed14bitPwm.h"
    -00169 #endif
    -00170 
    -00171 // common abbreviations
    -00172 typedef unsigned char uchar;
    -00173 typedef unsigned int uint;
    -00174 typedef unsigned long ulong;
    -00175 
    -00176 
    -00177 
    -00178 
    -00206 void startMozzi(int control_rate_hz = CONTROL_RATE);
    -00207 
    -00208 
    -00209 
    -00226 void pauseMozzi();
    -00227 
    -00228 
    -00229 
    -00236 void unPauseMozzi();
    -00237 
    -00245 int updateAudio();
    -00246 
    -00247 
    -00254 void updateControl();
    -00255 
    -00256 
    -00271 void audioHook();
    -00272 
    -00273 
    -00274 
    -00289 #if (USE_AUDIO_INPUT == true)
    -00290 int getAudioInput();
    -00291 #endif
    -00292 
    -00293 
    -00301 unsigned long mozziMicros();
    -00302 
    -00303 // internal use
    -00304 static void setupTimer2();
    -00305 
    -00306 #endif /* MOZZIGUTS_H_ */
    -
    - - - - +
    1 /*
    +
    2  * MozziGuts.h
    +
    3  *
    +
    4  * Copyright 2012 Tim Barrass.
    +
    5  *
    +
    6  * This file is part of Mozzi.
    +
    7  *
    +
    8  * Mozzi is free software: you can redistribute it and/or modify
    +
    9  * it under the terms of the GNU General Public License as published by
    +
    10  * the Free Software Foundation, either version 3 of the License, or
    +
    11  * (at your option) any later version.
    +
    12  *
    +
    13  * Mozzi is distributed in the hope that it will be useful,
    +
    14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    +
    15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    +
    16  * GNU General Public License for more details.
    +
    17  *
    +
    18  * You should have received a copy of the GNU General Public License
    +
    19  * along with Mozzi. If not, see <http://www.gnu.org/licenses/>.
    +
    20  *
    +
    21  */
    +
    22 
    +
    23 #ifndef MOZZIGUTS_H_
    +
    24 #define MOZZIGUTS_H_
    +
    25 
    +
    26 #if F_CPU != 16000000
    +
    27 #error Mozzi expects a cpu clock speed of 16MHz!
    +
    28 #endif
    +
    29 
    +
    30 
    +
    31 #include "mozzi_config.h" // User can change the config file to set audio mode
    +
    32 #include "TimerZero.h"
    +
    33 #include "TimerOne.h"
    +
    34 #include "FrequencyTimer2.h"
    +
    35 
    +
    88 #define CONTROL_RATE 64
    +
    89 
    +
    90 
    +
    91 
    +
    119 #define STANDARD 0
    +
    120 
    +
    121 
    +
    122 
    +
    175 #define HIFI 1
    +
    176 
    +
    177 
    +
    178 #if (AUDIO_MODE == STANDARD) && (AUDIO_RATE == 32768)
    +
    179 #error AUDIO_RATE 32768 does not work when AUDIO_MODE is STANDARD, check settings in Mozzi/mozzi_config.h
    +
    180 #endif
    +
    181 
    +
    182 
    +
    183 #if AUDIO_RATE == 16384
    +
    184 #define AUDIO_RATE_AS_LSHIFT 14
    +
    185 #define MICROS_PER_AUDIO_TICK 61 // 1000000 / 16384 = 61.035, ...* 256 = 15625
    +
    186 #elif AUDIO_RATE == 32768
    +
    187 #define AUDIO_RATE_AS_LSHIFT 15
    +
    188 #define MICROS_PER_AUDIO_TICK 31 // = 1000000 / 32768 = 30.518, ...* 256 = 7812.6
    +
    189 #endif
    +
    190 
    +
    191 
    +
    192 #if AUDIO_MODE == STANDARD
    +
    193 #include "AudioConfigStandard9bitPwm.h"
    +
    194 #elif AUDIO_MODE == HIFI
    +
    195 #include "AudioConfigHiSpeed14bitPwm.h"
    +
    196 #endif
    +
    197 
    +
    198 // common abbreviations
    +
    199 typedef unsigned char uchar;
    +
    200 typedef unsigned int uint;
    +
    201 typedef unsigned long ulong;
    +
    202 
    +
    203 
    +
    204 
    +
    205 
    +
    233 void startMozzi(int control_rate_hz = CONTROL_RATE);
    +
    234 
    +
    235 
    +
    236 
    +
    253 void pauseMozzi();
    +
    254 
    +
    255 
    +
    256 
    +
    263 void unPauseMozzi();
    +
    264 
    +
    272 int updateAudio();
    +
    273 
    +
    274 
    +
    281 void updateControl();
    +
    282 
    +
    283 
    +
    298 void audioHook();
    +
    299 
    +
    300 
    +
    301 
    +
    316 #if (USE_AUDIO_INPUT == true)
    +
    317 int getAudioInput();
    +
    318 #endif
    +
    319 
    +
    320 
    +
    328 unsigned long mozziMicros();
    +
    329 
    +
    330 
    +
    331 // internal use
    +
    332 #if (AUDIO_MODE == HIFI)
    +
    333 static void setupTimer2();
    +
    334 #endif
    +
    335 
    +
    336 #endif /* MOZZIGUTS_H_ */
    +
    + + + diff --git a/doc/html/_oscil_8h_source.html b/doc/html/_oscil_8h_source.html index c8c48e29d..78b9652e9 100644 --- a/doc/html/_oscil_8h_source.html +++ b/doc/html/_oscil_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: Oscil.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -95,249 +102,251 @@
    Oscil.h
    -
    00001 /*
    -00002  * Oscil.h
    -00003  *
    -00004  * Oscil.h owes much to AF_precision_synthesis.pde, 2009, Adrian Freed.
    -00005  *
    -00006  * Copyright 2012 Tim Barrass, 2009 Adrian Freed.
    -00007  *
    -00008  * This file is part of Mozzi.
    -00009  *
    -00010  * Mozzi is free software: you can redistribute it and/or modify
    -00011  * it under the terms of the GNU General Public License as published by
    -00012  * the Free Software Foundation, either version 3 of the License, or
    -00013  * (at your option) any later version.
    -00014  *
    -00015  * Mozzi is distributed in the hope that it will be useful,
    -00016  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00017  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    -00018  * GNU General Public License for more details.
    -00019  *
    -00020  * You should have received a copy of the GNU General Public License
    -00021  * along with Mozzi.  If not, see <http://www.gnu.org/licenses/>.
    -00022  *
    -00023  */
    -00024 
    -00025 #ifndef OSCIL_H_
    -00026 #define OSCIL_H_
    -00027 
    -00028 #if ARDUINO >= 100
    -00029  #include "Arduino.h"
    -00030 #else
    -00031  #include "WProgram.h"
    -00032 #endif
    -00033 #include "MozziGuts.h"
    -00034 #include "mozzi_fixmath.h"
    -00035 #include <util/atomic.h>
    -00036 
    -00037 
    -00038 #ifdef OSCIL_DITHER_PHASE
    -00039 #include "mozzi_rand.h"
    -00040 #endif
    -00041 
    -00042 // fractional bits for oscillator index precision
    -00043 #define OSCIL_F_BITS 16
    -00044 #define OSCIL_F_BITS_AS_MULTIPLIER 65536
    -00045 
    -00046 // phmod_proportion is an 1n15 fixed-point number only using
    -00047 // the fractional part and the sign bit
    -00048 #define OSCIL_PHMOD_BITS 16
    -00049 
    -00050 
    -00051 
    -00074 //template <unsigned int NUM_TABLE_CELLS, unsigned int UPDATE_RATE, bool DITHER_PHASE=false>
    -00075 template <unsigned int NUM_TABLE_CELLS, unsigned int UPDATE_RATE>
    -00076 class Oscil
    -00077 {
    -00078 
    -00079 
    -00080 public:
    -00086                 Oscil(const char * TABLE_NAME):table(TABLE_NAME)
    -00087                 {}
    -00088 
    -00089 
    -00096                 Oscil()
    -00097                 {}
    -00098 
    -00099 
    -00104                 inline
    -00105                 char next()
    -00106                 {
    -00107                                 incrementPhase();
    -00108                                 return readTable();
    -00109                 }
    -00110 
    -00111 
    -00115                 void setTable(const char * TABLE_NAME)
    -00116                 {
    -00117                                 table = TABLE_NAME;
    -00118                 }
    -00119 
    -00120 
    -00125                 // This could be called in the control interrupt, so phase_fractional should really be volatile,
    -00126                 // but that could limit optimisation.  Since phase_fractional gets changed often in updateAudio()
    -00127                 // (in loop()), it's probably worth keeping it nonvolatile until it causes problems
    -00128                 void setPhase(unsigned int phase)
    -00129                 {
    -00130                                 ATOMIC_BLOCK(ATOMIC_RESTORESTATE)
    -00131                                 {
    -00132                                                 phase_fractional = (unsigned long)phase << OSCIL_F_BITS;
    -00133                                 }
    -00134                 }
    -00135 
    -00140                 // This could be called in the control interrupt, so phase_fractional should really be volatile,
    -00141                 // but that could limit optimisation.  Since phase_fractional gets changed often in updateAudio()
    -00142                 // (in loop()), it's probably worth keeping it nonvolatile until it causes problems
    -00143                 void setPhaseFractional(unsigned long phase)
    -00144                 {
    -00145                                 ATOMIC_BLOCK(ATOMIC_RESTORESTATE)
    -00146                                 {
    -00147                                                 phase_fractional = phase;
    -00148                                 }
    -00149                 }
    -00150 
    -00151 
    -00155                 unsigned long getPhaseFractional()
    -00156                 {
    -00157                                 ATOMIC_BLOCK(ATOMIC_RESTORESTATE)
    -00158                                 {
    -00159                                                 return phase_fractional;;
    -00160                                 }
    -00161                 }
    -00162 
    -00163 
    -00164 
    -00173                 // PM: cos((angle += incr) + change)
    -00174                 // FM: cos(angle += (incr + change))
    -00175                 // The ratio of deviation to modulation frequency is called the "index of modulation". ( I = d / Fm )
    -00176                 inline
    -00177                 char phMod(Q15n16 phmod_proportion)
    -00178                 {
    -00179                                 incrementPhase();
    -00180                                 return (char)pgm_read_byte_near(table + (((phase_fractional+(phmod_proportion * NUM_TABLE_CELLS))>>OSCIL_F_BITS) & (NUM_TABLE_CELLS - 1)));
    -00181                 }
    -00182 
    -00183 
    -00191                 inline
    -00192                 void setFreq (int frequency) {
    -00193                                 ATOMIC_BLOCK(ATOMIC_RESTORESTATE)
    -00194                                 {
    -00195                                                 phase_increment_fractional = ((((unsigned long)NUM_TABLE_CELLS<<ADJUST_FOR_NUM_TABLE_CELLS)*frequency)/UPDATE_RATE) << (OSCIL_F_BITS - ADJUST_FOR_NUM_TABLE_CELLS);
    -00196                                 }
    -00197                 }
    -00198 
    -00199 
    -00205                 inline
    -00206                 void setFreq(float frequency)
    -00207                 { // 1 us - using float doesn't seem to incur measurable overhead with the oscilloscope
    -00208                                 ATOMIC_BLOCK(ATOMIC_RESTORESTATE)
    -00209                                 {
    -00210                                                 phase_increment_fractional = (unsigned long)((((float)NUM_TABLE_CELLS * frequency)/UPDATE_RATE) * OSCIL_F_BITS_AS_MULTIPLIER);
    -00211                                 }
    -00212                 }
    -00213 
    -00214 
    -00222                 inline
    -00223                 void setFreq_Q24n8(Q24n8 frequency)
    -00224                 {
    -00225                                 ATOMIC_BLOCK(ATOMIC_RESTORESTATE)
    -00226                                 {
    -00227                                                 //phase_increment_fractional = (frequency* (NUM_TABLE_CELLS>>3)/(UPDATE_RATE>>6)) << (F_BITS-(8-3+6));
    -00228                                                 phase_increment_fractional = (((((unsigned long)NUM_TABLE_CELLS<<ADJUST_FOR_NUM_TABLE_CELLS)>>3)*frequency)/(UPDATE_RATE>>6))
    -00229                                                                              << (OSCIL_F_BITS - ADJUST_FOR_NUM_TABLE_CELLS - (8-3+6));
    -00230                                 }
    -00231                 }
    -00232 
    -00233 
    -00241                 inline
    -00242                 void setFreq_Q16n16(Q16n16 frequency)
    -00243                 {
    -00244                                 ATOMIC_BLOCK(ATOMIC_RESTORESTATE)
    -00245                                 {
    -00246                                                 //phase_increment_fractional = ((frequency * (NUM_TABLE_CELLS>>7))/(UPDATE_RATE>>6)) << (F_BITS-16+1);
    -00247                                                 phase_increment_fractional = (((((unsigned long)NUM_TABLE_CELLS<<ADJUST_FOR_NUM_TABLE_CELLS)>>7)*frequency)/(UPDATE_RATE>>6))
    -00248                                                                              << (OSCIL_F_BITS - ADJUST_FOR_NUM_TABLE_CELLS - 16 + 1);
    -00249 
    -00250                                 }
    -00251                 }
    -00252 /*
    -00253                 inline
    -00254                 void setFreqMidi(char note_num) {
    -00255                                 setFreq_Q16n16(mtof(note_num));
    -00256                 }
    -00257 */
    -00263                 inline
    -00264                 char atIndex(unsigned int index)
    -00265                 {
    -00266                                 return (char)pgm_read_byte_near(table + (index & (NUM_TABLE_CELLS - 1)));
    -00267                 }
    -00268 
    -00269 
    -00280                 inline
    -00281                 //const
    -00282                 unsigned long phaseIncFromFreq(int frequency)
    -00283                 {
    -00284                                 return (((unsigned long)frequency * NUM_TABLE_CELLS)/UPDATE_RATE) << OSCIL_F_BITS;
    -00285                 }
    -00286 
    -00287 
    -00291                 inline
    -00292                 void setPhaseInc(unsigned long phaseinc_fractional)
    -00293                 {
    -00294                                 ATOMIC_BLOCK(ATOMIC_RESTORESTATE)
    -00295                                 {
    -00296                                                 phase_increment_fractional = phaseinc_fractional;
    -00297                                 }
    -00298                 }
    -00299 
    -00300 
    -00301 
    -00302 private:
    -00303 
    -00304 
    -00307 static const unsigned char ADJUST_FOR_NUM_TABLE_CELLS = (NUM_TABLE_CELLS<2048) ? 8 : 0;
    -00308 
    -00309 
    -00312                 inline
    -00313                 void incrementPhase()
    -00314                 {
    -00315                                 //phase_fractional += (phase_increment_fractional | 1); // odd phase incr, attempt to reduce frequency spurs in output
    -00316                                 phase_fractional += phase_increment_fractional;
    -00317                 }
    -00318 
    -00319 
    -00322                 inline
    -00323                 char readTable()
    -00324                 {
    -00325 #ifdef OSCIL_DITHER_PHASE
    -00326                                 return (char)pgm_read_byte_near(table + (((phase_fractional + ((int)(xorshift96()>>16))) >> OSCIL_F_BITS) & (NUM_TABLE_CELLS - 1)));
    -00327 #else
    -00328                                 return (char)pgm_read_byte_near(table + ((phase_fractional >> OSCIL_F_BITS) & (NUM_TABLE_CELLS - 1)));
    -00329                                 //return (char)pgm_read_byte_near(table + (((phase_fractional >> OSCIL_F_BITS) | 1 ) & (NUM_TABLE_CELLS - 1))); odd phase, attempt to reduce frequency spurs in output
    -00330 #endif
    -00331                 }
    -00332 
    -00333 
    -00334                 unsigned long phase_fractional;
    -00335                 volatile unsigned long phase_increment_fractional; // volatile with atomic access because it can
    -00336                 // be set in the updateControl() interrupt and
    -00337                 // used in updateAudio(), which is outside the
    -00338                 // interrupt.
    -00339                 const char * table;
    -00340 
    -00341 };
    -00342 
    -00343 
    -00344 #endif /* OSCIL_H_ */
    -
    - - - - +
    1 /*
    +
    2  * Oscil.h
    +
    3  *
    +
    4  * Oscil.h owes much to AF_precision_synthesis.pde, 2009, Adrian Freed.
    +
    5  *
    +
    6  * Copyright 2012 Tim Barrass, 2009 Adrian Freed.
    +
    7  *
    +
    8  * This file is part of Mozzi.
    +
    9  *
    +
    10  * Mozzi is free software: you can redistribute it and/or modify
    +
    11  * it under the terms of the GNU General Public License as published by
    +
    12  * the Free Software Foundation, either version 3 of the License, or
    +
    13  * (at your option) any later version.
    +
    14  *
    +
    15  * Mozzi is distributed in the hope that it will be useful,
    +
    16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    +
    17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    +
    18  * GNU General Public License for more details.
    +
    19  *
    +
    20  * You should have received a copy of the GNU General Public License
    +
    21  * along with Mozzi. If not, see <http://www.gnu.org/licenses/>.
    +
    22  *
    +
    23  */
    +
    24 
    +
    25 #ifndef OSCIL_H_
    +
    26 #define OSCIL_H_
    +
    27 
    +
    28 #if ARDUINO >= 100
    +
    29  #include "Arduino.h"
    +
    30 #else
    +
    31  #include "WProgram.h"
    +
    32 #endif
    +
    33 #include "MozziGuts.h"
    +
    34 #include "mozzi_fixmath.h"
    +
    35 #include <util/atomic.h>
    +
    36 
    +
    37 
    +
    38 #ifdef OSCIL_DITHER_PHASE
    +
    39 #include "mozzi_rand.h"
    +
    40 #endif
    +
    41 
    +
    42 // fractional bits for oscillator index precision
    +
    43 #define OSCIL_F_BITS 16
    +
    44 #define OSCIL_F_BITS_AS_MULTIPLIER 65536
    +
    45 
    +
    46 // phmod_proportion is an 1n15 fixed-point number only using
    +
    47 // the fractional part and the sign bit
    +
    48 #define OSCIL_PHMOD_BITS 16
    +
    49 
    +
    50 
    +
    51 
    +
    75 //template <unsigned int NUM_TABLE_CELLS, unsigned int UPDATE_RATE, bool DITHER_PHASE=false>
    +
    76 template <unsigned int NUM_TABLE_CELLS, unsigned int UPDATE_RATE>
    +
    77 class Oscil
    +
    78 {
    +
    79 
    +
    80 
    +
    81 public:
    +
    87  Oscil(const char * TABLE_NAME):table(TABLE_NAME)
    +
    88  {}
    +
    89 
    +
    90 
    + +
    98  {}
    +
    99 
    +
    100 
    +
    105  inline
    +
    106  char next()
    +
    107  {
    +
    108  incrementPhase();
    +
    109  return readTable();
    +
    110  }
    +
    111 
    +
    112 
    +
    116  void setTable(const char * TABLE_NAME)
    +
    117  {
    +
    118  table = TABLE_NAME;
    +
    119  }
    +
    120 
    +
    121 
    +
    126  // This could be called in the control interrupt, so phase_fractional should really be volatile,
    +
    127  // but that could limit optimisation. Since phase_fractional gets changed often in updateAudio()
    +
    128  // (in loop()), it's probably worth keeping it nonvolatile until it causes problems
    +
    129  void setPhase(unsigned int phase)
    +
    130  {
    +
    131  ATOMIC_BLOCK(ATOMIC_RESTORESTATE)
    +
    132  {
    +
    133  phase_fractional = (unsigned long)phase << OSCIL_F_BITS;
    +
    134  }
    +
    135  }
    +
    136 
    +
    141  // This could be called in the control interrupt, so phase_fractional should really be volatile,
    +
    142  // but that could limit optimisation. Since phase_fractional gets changed often in updateAudio()
    +
    143  // (in loop()), it's probably worth keeping it nonvolatile until it causes problems
    +
    144  void setPhaseFractional(unsigned long phase)
    +
    145  {
    +
    146  ATOMIC_BLOCK(ATOMIC_RESTORESTATE)
    +
    147  {
    +
    148  phase_fractional = phase;
    +
    149  }
    +
    150  }
    +
    151 
    +
    152 
    +
    156  unsigned long getPhaseFractional()
    +
    157  {
    +
    158  ATOMIC_BLOCK(ATOMIC_RESTORESTATE)
    +
    159  {
    +
    160  return phase_fractional;
    +
    161  }
    +
    162  }
    +
    163 
    +
    164 
    +
    165 
    +
    174  // PM: cos((angle += incr) + change)
    +
    175  // FM: cos(angle += (incr + change))
    +
    176  // The ratio of deviation to modulation frequency is called the "index of modulation". ( I = d / Fm )
    +
    177  inline
    +
    178  char phMod(Q15n16 phmod_proportion)
    +
    179  {
    +
    180  incrementPhase();
    +
    181  return (char)pgm_read_byte_near(table + (((phase_fractional+(phmod_proportion * NUM_TABLE_CELLS))>>OSCIL_F_BITS) & (NUM_TABLE_CELLS - 1)));
    +
    182  }
    +
    183 
    +
    184 
    +
    192  inline
    +
    193  void setFreq (int frequency) {
    +
    194  ATOMIC_BLOCK(ATOMIC_RESTORESTATE)
    +
    195  {
    +
    196  phase_increment_fractional = ((((unsigned long)NUM_TABLE_CELLS<<ADJUST_FOR_NUM_TABLE_CELLS)*frequency)/UPDATE_RATE) << (OSCIL_F_BITS - ADJUST_FOR_NUM_TABLE_CELLS);
    +
    197  }
    +
    198  }
    +
    199 
    +
    200 
    +
    206  inline
    +
    207  void setFreq(float frequency)
    +
    208  { // 1 us - using float doesn't seem to incur measurable overhead with the oscilloscope
    +
    209  ATOMIC_BLOCK(ATOMIC_RESTORESTATE)
    +
    210  {
    +
    211  phase_increment_fractional = (unsigned long)((((float)NUM_TABLE_CELLS * frequency)/UPDATE_RATE) * OSCIL_F_BITS_AS_MULTIPLIER);
    +
    212  }
    +
    213  }
    +
    214 
    +
    215 
    +
    223  inline
    +
    224  void setFreq_Q24n8(Q24n8 frequency)
    +
    225  {
    +
    226  ATOMIC_BLOCK(ATOMIC_RESTORESTATE)
    +
    227  {
    +
    228  //phase_increment_fractional = (frequency* (NUM_TABLE_CELLS>>3)/(UPDATE_RATE>>6)) << (F_BITS-(8-3+6));
    +
    229  phase_increment_fractional = (((((unsigned long)NUM_TABLE_CELLS<<ADJUST_FOR_NUM_TABLE_CELLS)>>3)*frequency)/(UPDATE_RATE>>6))
    +
    230  << (OSCIL_F_BITS - ADJUST_FOR_NUM_TABLE_CELLS - (8-3+6));
    +
    231  }
    +
    232  }
    +
    233 
    +
    234 
    +
    242  inline
    +
    243  void setFreq_Q16n16(Q16n16 frequency)
    +
    244  {
    +
    245  ATOMIC_BLOCK(ATOMIC_RESTORESTATE)
    +
    246  {
    +
    247  //phase_increment_fractional = ((frequency * (NUM_TABLE_CELLS>>7))/(UPDATE_RATE>>6)) << (F_BITS-16+1);
    +
    248  phase_increment_fractional = (((((unsigned long)NUM_TABLE_CELLS<<ADJUST_FOR_NUM_TABLE_CELLS)>>7)*frequency)/(UPDATE_RATE>>6))
    +
    249  << (OSCIL_F_BITS - ADJUST_FOR_NUM_TABLE_CELLS - 16 + 1);
    +
    250 
    +
    251  }
    +
    252  }
    +
    253 /*
    +
    254  inline
    +
    255  void setFreqMidi(char note_num) {
    +
    256  setFreq_Q16n16(mtof(note_num));
    +
    257  }
    +
    258 */
    +
    264  inline
    +
    265  char atIndex(unsigned int index)
    +
    266  {
    +
    267  return (char)pgm_read_byte_near(table + (index & (NUM_TABLE_CELLS - 1)));
    +
    268  }
    +
    269 
    +
    270 
    +
    281  inline
    +
    282  //const
    +
    283  unsigned long phaseIncFromFreq(int frequency)
    +
    284  {
    +
    285  return (((unsigned long)frequency * NUM_TABLE_CELLS)/UPDATE_RATE) << OSCIL_F_BITS;
    +
    286  }
    +
    287 
    +
    288 
    +
    292  inline
    +
    293  void setPhaseInc(unsigned long phaseinc_fractional)
    +
    294  {
    +
    295  ATOMIC_BLOCK(ATOMIC_RESTORESTATE)
    +
    296  {
    +
    297  phase_increment_fractional = phaseinc_fractional;
    +
    298  }
    +
    299  }
    +
    300 
    +
    301 
    +
    302 
    +
    303 private:
    +
    304 
    +
    305 
    +
    308 static const unsigned char ADJUST_FOR_NUM_TABLE_CELLS = (NUM_TABLE_CELLS<2048) ? 8 : 0;
    +
    309 
    +
    310 
    +
    313  inline
    +
    314  void incrementPhase()
    +
    315  {
    +
    316  //phase_fractional += (phase_increment_fractional | 1); // odd phase incr, attempt to reduce frequency spurs in output
    +
    317  phase_fractional += phase_increment_fractional;
    +
    318  }
    +
    319 
    +
    320 
    +
    323  inline
    +
    324  char readTable()
    +
    325  {
    +
    326 #ifdef OSCIL_DITHER_PHASE
    +
    327  return (char)pgm_read_byte_near(table + (((phase_fractional + ((int)(xorshift96()>>16))) >> OSCIL_F_BITS) & (NUM_TABLE_CELLS - 1)));
    +
    328 #else
    +
    329  return (char)pgm_read_byte_near(table + ((phase_fractional >> OSCIL_F_BITS) & (NUM_TABLE_CELLS - 1)));
    +
    330  //return (char)pgm_read_byte_near(table + (((phase_fractional >> OSCIL_F_BITS) | 1 ) & (NUM_TABLE_CELLS - 1))); odd phase, attempt to reduce frequency spurs in output
    +
    331 #endif
    +
    332  }
    +
    333 
    +
    334 
    +
    335  unsigned long phase_fractional;
    +
    336  volatile unsigned long phase_increment_fractional; // volatile with atomic access because it can
    +
    337  // be set in the updateControl() interrupt and
    +
    338  // used in updateAudio(), which is outside the
    +
    339  // interrupt.
    +
    340  const char * table;
    +
    341 
    +
    342 };
    +
    343 
    +
    344 
    +
    345 #endif /* OSCIL_H_ */
    +
    + + + diff --git a/doc/html/_phasor_8h_source.html b/doc/html/_phasor_8h_source.html index d840615de..df2271227 100644 --- a/doc/html/_phasor_8h_source.html +++ b/doc/html/_phasor_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: Phasor.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -95,114 +102,116 @@
    Phasor.h
    -
    00001 /*
    -00002  * Phasor.h
    -00003  *
    -00004  * Copyright 2012 Tim Barrass.
    -00005  *
    -00006  * This file is part of Mozzi.
    -00007  *
    -00008  * Mozzi is free software: you can redistribute it and/or modify
    -00009  * it under the terms of the GNU General Public License as published by
    -00010  * the Free Software Foundation, either version 3 of the License, or
    -00011  * (at your option) any later version.
    -00012  *
    -00013  * Mozzi is distributed in the hope that it will be useful,
    -00014  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00015  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    -00016  * GNU General Public License for more details.
    -00017  *
    -00018  * You should have received a copy of the GNU General Public License
    -00019  * along with Mozzi.  If not, see <http://www.gnu.org/licenses/>.
    -00020  *
    -00021  */
    -00022 
    -00023 #ifndef PHASOR_H_
    -00024 #define PHASOR_H_
    -00025 
    -00026 #if ARDUINO >= 100
    -00027  #include "Arduino.h"
    -00028 #else
    -00029  #include "WProgram.h"
    -00030 #endif
    -00031 #include "mozzi_fixmath.h"
    -00032 #include <util/atomic.h>
    -00033 
    -00034 #define PHASOR_MAX_VALUE_UL 4294967295UL
    -00035 
    -00043 template <unsigned int UPDATE_RATE>
    -00044 class Phasor
    -00045 {
    -00046 private:
    -00047                 unsigned long current_value;
    -00048                 volatile unsigned long step_size;
    -00049 
    -00050 public:
    -00054                 Phasor (){
    -00055                                 ;
    -00056                 }
    -00057 
    -00061                 inline
    -00062                 unsigned long next()
    -00063                 {
    -00064                                 ATOMIC_BLOCK(ATOMIC_RESTORESTATE)
    -00065                                 {
    -00066                                                 current_value += step_size; // will wrap
    -00067                                 }
    -00068                                 return current_value;
    -00069                 }
    -00070 
    -00074                 inline
    -00075                 void set(unsigned long value)
    -00076                 {
    -00077                                 current_value=value;
    -00078                 }
    -00079 
    -00080 
    -00086                 inline
    -00087                 void setFreq( int frequency)
    -00088                 {
    -00089                                 step_size = ((((unsigned long)((PHASOR_MAX_VALUE_UL>>8)+1))/(UPDATE_RATE))*frequency)<<8;
    -00090                 }
    -00091                 
    -00092                 
    -00097                 inline
    -00098                 void setFreq(float frequency)
    -00099                 { // 1 us - using float doesn't seem to incur measurable overhead with the oscilloscope
    -00100                                 //ATOMIC_BLOCK(ATOMIC_RESTORESTATE)
    -00101                                 //{
    -00102                                 step_size = (unsigned long)(((float)PHASOR_MAX_VALUE_UL/UPDATE_RATE)*frequency);
    -00103 
    -00104                                 //}
    -00105                 }
    -00106                 
    -00117                 inline
    -00118                 unsigned long phaseIncFromFreq(int frequency)
    -00119                 {
    -00120                                 return ((((unsigned long)((PHASOR_MAX_VALUE_UL>>8)+1))/(UPDATE_RATE))*frequency)<<8;
    -00121                 }
    -00122 
    -00123 
    -00127                 inline
    -00128                 void setPhaseInc(unsigned long stepsize)
    -00129                 {
    -00130                                 ATOMIC_BLOCK(ATOMIC_RESTORESTATE)
    -00131                                 {
    -00132                                                 step_size = stepsize;
    -00133                                 }
    -00134                 }
    -00135                 
    -00136 };
    -00137 
    -00138 #endif /* PHASOR_H_ */
    -
    - - - - +
    1 /*
    +
    2  * Phasor.h
    +
    3  *
    +
    4  * Copyright 2012 Tim Barrass.
    +
    5  *
    +
    6  * This file is part of Mozzi.
    +
    7  *
    +
    8  * Mozzi is free software: you can redistribute it and/or modify
    +
    9  * it under the terms of the GNU General Public License as published by
    +
    10  * the Free Software Foundation, either version 3 of the License, or
    +
    11  * (at your option) any later version.
    +
    12  *
    +
    13  * Mozzi is distributed in the hope that it will be useful,
    +
    14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    +
    15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    +
    16  * GNU General Public License for more details.
    +
    17  *
    +
    18  * You should have received a copy of the GNU General Public License
    +
    19  * along with Mozzi. If not, see <http://www.gnu.org/licenses/>.
    +
    20  *
    +
    21  */
    +
    22 
    +
    23 #ifndef PHASOR_H_
    +
    24 #define PHASOR_H_
    +
    25 
    +
    26 #if ARDUINO >= 100
    +
    27  #include "Arduino.h"
    +
    28 #else
    +
    29  #include "WProgram.h"
    +
    30 #endif
    +
    31 #include "mozzi_fixmath.h"
    +
    32 #include <util/atomic.h>
    +
    33 
    +
    34 #define PHASOR_MAX_VALUE_UL 4294967295UL
    +
    35 
    +
    43 template <unsigned int UPDATE_RATE>
    +
    44 class Phasor
    +
    45 {
    +
    46 private:
    +
    47  unsigned long current_value;
    +
    48  volatile unsigned long step_size;
    +
    49 
    +
    50 public:
    +
    54  Phasor (){
    +
    55  ;
    +
    56  }
    +
    57 
    +
    61  inline
    +
    62  unsigned long next()
    +
    63  {
    +
    64  ATOMIC_BLOCK(ATOMIC_RESTORESTATE)
    +
    65  {
    +
    66  current_value += step_size; // will wrap
    +
    67  }
    +
    68  return current_value;
    +
    69  }
    +
    70 
    +
    74  inline
    +
    75  void set(unsigned long value)
    +
    76  {
    +
    77  current_value=value;
    +
    78  }
    +
    79 
    +
    80 
    +
    86  inline
    +
    87  void setFreq( int frequency)
    +
    88  {
    +
    89  step_size = ((((unsigned long)((PHASOR_MAX_VALUE_UL>>8)+1))/(UPDATE_RATE))*frequency)<<8;
    +
    90  }
    +
    91 
    +
    92 
    +
    97  inline
    +
    98  void setFreq(float frequency)
    +
    99  { // 1 us - using float doesn't seem to incur measurable overhead with the oscilloscope
    +
    100  //ATOMIC_BLOCK(ATOMIC_RESTORESTATE)
    +
    101  //{
    +
    102  step_size = (unsigned long)(((float)PHASOR_MAX_VALUE_UL/UPDATE_RATE)*frequency);
    +
    103 
    +
    104  //}
    +
    105  }
    +
    106 
    +
    117  inline
    +
    118  unsigned long phaseIncFromFreq(int frequency)
    +
    119  {
    +
    120  return ((((unsigned long)((PHASOR_MAX_VALUE_UL>>8)+1))/(UPDATE_RATE))*frequency)<<8;
    +
    121  }
    +
    122 
    +
    123 
    +
    127  inline
    +
    128  void setPhaseInc(unsigned long stepsize)
    +
    129  {
    +
    130  ATOMIC_BLOCK(ATOMIC_RESTORESTATE)
    +
    131  {
    +
    132  step_size = stepsize;
    +
    133  }
    +
    134  }
    +
    135 
    +
    136 };
    +
    137 
    +
    138 #endif /* PHASOR_H_ */
    +
    + + + diff --git a/doc/html/_portamento_8h_source.html b/doc/html/_portamento_8h_source.html index 13d19ef9d..91ad446d7 100644 --- a/doc/html/_portamento_8h_source.html +++ b/doc/html/_portamento_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: Portamento.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -95,108 +102,110 @@
    Portamento.h
    -
    00001 /*
    -00002  * Portamento.h
    -00003  *
    -00004  * Copyright 2012 Tim Barrass.
    -00005  *
    -00006  * This file is part of Mozzi.
    -00007  *
    -00008  * Mozzi is free software: you can redistribute it and/or modify
    -00009  * it under the terms of the GNU General Public License as published by
    -00010  * the Free Software Foundation, either version 3 of the License, or
    -00011  * (at your option) any later version.
    -00012  *
    -00013  * Mozzi is distributed in the hope that it will be useful,
    -00014  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00015  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    -00016  * GNU General Public License for more details.
    -00017  *
    -00018  * You should have received a copy of the GNU General Public License
    -00019  * along with Mozzi.  If not, see <http://www.gnu.org/licenses/>.
    -00020  *
    -00021  */
    -00022 
    -00023 #ifndef PORTAMENTO_H_
    -00024 #define PORTAMENTO_H_
    -00025 
    -00026 #include "mozzi_midi.h"
    -00027 #include "mozzi_fixmath.h"
    -00028 #include "Line.h"
    -00029 
    -00032 template <unsigned int CONTROL_UPDATE_RATE>
    -00033 class
    -00034                 Portamento {
    -00035                 
    -00036 public:
    -00037 
    -00040                 Portamento():
    -00041                                                 MICROS_PER_CONTROL_STEP(1000000/CONTROL_UPDATE_RATE)
    -00042                 {
    -00043                 }
    -00044                 
    -00048                 inline
    -00049                 void setTime(unsigned int milliseconds){
    -00050                                 //control_steps_per_portamento = ((long)milliseconds*1000)/MICROS_PER_CONTROL_STEP; // more accurate but slower
    -00051                                 control_steps_per_portamento = convertMsecToControlSteps(milliseconds);
    -00052                 }
    -00053 
    -00057                 inline
    -00058                 void start(unsigned char note) {
    -00059                                 target_freq = Q16n16_mtof(Q8n0_to_Q16n16(note));
    -00060                                 aPortamentoLine.set(target_freq, control_steps_per_portamento);
    -00061                                 countdown = control_steps_per_portamento;
    -00062                                 portamento_on=true;
    -00063                 }
    -00064                 
    -00068                 inline
    -00069                 void start(Q16n16 note) {
    -00070                                 target_freq = Q16n16_mtof(note);
    -00071                                 aPortamentoLine.set(target_freq, control_steps_per_portamento);
    -00072                                 countdown = control_steps_per_portamento;
    -00073                                 portamento_on=true;
    -00074                 }
    -00075                 
    -00076 
    -00081                 inline
    -00082                 Q16n16 next() {
    -00083                                 if (portamento_on==true){
    -00084                                                 if(--countdown < 0) {
    -00085                                                                 // stay level when portamento has finished
    -00086                                                                 aPortamentoLine.set(target_freq, target_freq, control_steps_per_portamento);
    -00087                                                                 portamento_on=false;
    -00088                                                 }
    -00089                                 }
    -00090                                 return aPortamentoLine.next();
    -00091                 }
    -00092                 
    -00093                 private:
    -00094 
    -00095                 int countdown;
    -00096                 int control_steps_per_portamento;
    -00097                 Q16n16 target_freq;
    -00098                 bool portamento_on;
    -00099                 const unsigned int MICROS_PER_CONTROL_STEP;
    -00100                 Line <Q16n16> aPortamentoLine;
    -00101 
    -00102                 
    -00103                 // copied from ADSR.h
    -00104                 inline
    -00105                 static const unsigned int convertMsecToControlSteps(unsigned int msec){
    -00106                                 return (uint) (((ulong)msec*CONTROL_UPDATE_RATE)>>10); // approximate /1000 with shift
    -00107                 }
    -00108 
    -00109 };
    -00110 
    -00111 #endif /* PORTAMENTO_H_ */
    -
    - - - - +
    1 /*
    +
    2  * Portamento.h
    +
    3  *
    +
    4  * Copyright 2012 Tim Barrass.
    +
    5  *
    +
    6  * This file is part of Mozzi.
    +
    7  *
    +
    8  * Mozzi is free software: you can redistribute it and/or modify
    +
    9  * it under the terms of the GNU General Public License as published by
    +
    10  * the Free Software Foundation, either version 3 of the License, or
    +
    11  * (at your option) any later version.
    +
    12  *
    +
    13  * Mozzi is distributed in the hope that it will be useful,
    +
    14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    +
    15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    +
    16  * GNU General Public License for more details.
    +
    17  *
    +
    18  * You should have received a copy of the GNU General Public License
    +
    19  * along with Mozzi. If not, see <http://www.gnu.org/licenses/>.
    +
    20  *
    +
    21  */
    +
    22 
    +
    23 #ifndef PORTAMENTO_H_
    +
    24 #define PORTAMENTO_H_
    +
    25 
    +
    26 #include "mozzi_midi.h"
    +
    27 #include "mozzi_fixmath.h"
    +
    28 #include "Line.h"
    +
    29 
    +
    32 template <unsigned int CONTROL_UPDATE_RATE>
    +
    33 class
    +
    34  Portamento {
    +
    35 
    +
    36 public:
    +
    37 
    + +
    41  MICROS_PER_CONTROL_STEP(1000000/CONTROL_UPDATE_RATE)
    +
    42  {
    +
    43  }
    +
    44 
    +
    48  inline
    +
    49  void setTime(unsigned int milliseconds){
    +
    50  //control_steps_per_portamento = ((long)milliseconds*1000)/MICROS_PER_CONTROL_STEP; // more accurate but slower
    +
    51  control_steps_per_portamento = convertMsecToControlSteps(milliseconds);
    +
    52  }
    +
    53 
    +
    57  inline
    +
    58  void start(unsigned char note) {
    +
    59  target_freq = Q16n16_mtof(Q8n0_to_Q16n16(note));
    +
    60  aPortamentoLine.set(target_freq, control_steps_per_portamento);
    +
    61  countdown = control_steps_per_portamento;
    +
    62  portamento_on=true;
    +
    63  }
    +
    64 
    +
    68  inline
    +
    69  void start(Q16n16 note) {
    +
    70  target_freq = Q16n16_mtof(note);
    +
    71  aPortamentoLine.set(target_freq, control_steps_per_portamento);
    +
    72  countdown = control_steps_per_portamento;
    +
    73  portamento_on=true;
    +
    74  }
    +
    75 
    +
    76 
    +
    81  inline
    + +
    83  if (portamento_on==true){
    +
    84  if(--countdown < 0) {
    +
    85  // stay level when portamento has finished
    +
    86  aPortamentoLine.set(target_freq, target_freq, control_steps_per_portamento);
    +
    87  portamento_on=false;
    +
    88  }
    +
    89  }
    +
    90  return aPortamentoLine.next();
    +
    91  }
    +
    92 
    +
    93  private:
    +
    94 
    +
    95  int countdown;
    +
    96  int control_steps_per_portamento;
    +
    97  Q16n16 target_freq;
    +
    98  bool portamento_on;
    +
    99  const unsigned int MICROS_PER_CONTROL_STEP;
    +
    100  Line <Q16n16> aPortamentoLine;
    +
    101 
    +
    102 
    +
    103  // copied from ADSR.h
    +
    104  inline
    +
    105  static const unsigned int convertMsecToControlSteps(unsigned int msec){
    +
    106  return (uint) (((ulong)msec*CONTROL_UPDATE_RATE)>>10); // approximate /1000 with shift
    +
    107  }
    +
    108 
    +
    109 };
    +
    110 
    +
    111 #endif /* PORTAMENTO_H_ */
    +
    + + + diff --git a/doc/html/_r_cpoll_8h_source.html b/doc/html/_r_cpoll_8h_source.html index 8e58afa72..45d4e08cb 100644 --- a/doc/html/_r_cpoll_8h_source.html +++ b/doc/html/_r_cpoll_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: RCpoll.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -95,57 +102,59 @@
    RCpoll.h
    -
    00001 #ifndef RCPOLL_H
    -00002 #define RCPOLL_H
    -00003 
    -00004 
    -00011 template <unsigned char SENSOR_PIN>
    -00012 class RCpoll
    -00013 {
    -00014 
    -00015 public:
    -00018                 RCpoll():result(0),rc_cued(true), output(0)
    -00019                 {
    -00020                                 ;
    -00021                 }
    -00022 
    -00028                 inline
    -00029                 unsigned int next(){
    -00030                                 if (rc_cued){
    -00031                                                 pinMode(SENSOR_PIN, INPUT);        // turn pin into an input and time till pin goes low
    -00032                                                 digitalWrite(SENSOR_PIN, LOW);     // turn pullups off - or it won't work
    -00033                                                 rc_cued = false;
    -00034                                 }
    -00035                                 if(digitalRead(SENSOR_PIN)){    // wait for pin to go low
    -00036                                                 result++;
    -00037                                 }
    -00038                                 else{
    -00039                                                 output = result;
    -00040                                                 result = 0;
    -00041                                                 pinMode(SENSOR_PIN, OUTPUT);  // make pin OUTPUT
    -00042                                                 digitalWrite(SENSOR_PIN, HIGH);    // make pin HIGH to discharge capacitor - see the schematic
    -00043                                                 rc_cued = true;
    -00044                                 }
    -00045                                 return output;
    -00046                 }
    -00047 
    -00048 private:
    -00049                 unsigned int result;
    -00050                 boolean rc_cued;
    -00051                 unsigned int output;
    -00052 
    -00053 };
    -00054 
    -00055 #endif        //  #ifndef RCPOLL_H
    -00056 
    -
    - - - - +
    1 #ifndef RCPOLL_H
    +
    2 #define RCPOLL_H
    +
    3 
    +
    4 
    +
    11 template <unsigned char SENSOR_PIN>
    +
    12 class RCpoll
    +
    13 {
    +
    14 
    +
    15 public:
    +
    18  RCpoll():result(0),rc_cued(true), output(0)
    +
    19  {
    +
    20  ;
    +
    21  }
    +
    22 
    +
    28  inline
    +
    29  unsigned int next(){
    +
    30  if (rc_cued){
    +
    31  pinMode(SENSOR_PIN, INPUT); // turn pin into an input and time till pin goes low
    +
    32  digitalWrite(SENSOR_PIN, LOW); // turn pullups off - or it won't work
    +
    33  rc_cued = false;
    +
    34  }
    +
    35  if(digitalRead(SENSOR_PIN)){ // wait for pin to go low
    +
    36  result++;
    +
    37  }
    +
    38  else{
    +
    39  output = result;
    +
    40  result = 0;
    +
    41  pinMode(SENSOR_PIN, OUTPUT); // make pin OUTPUT
    +
    42  digitalWrite(SENSOR_PIN, HIGH); // make pin HIGH to discharge capacitor - see the schematic
    +
    43  rc_cued = true;
    +
    44  }
    +
    45  return output;
    +
    46  }
    +
    47 
    +
    48 private:
    +
    49  unsigned int result;
    +
    50  boolean rc_cued;
    +
    51  unsigned int output;
    +
    52 
    +
    53 };
    +
    54 
    +
    55 #endif // #ifndef RCPOLL_H
    +
    56 
    +
    + + + diff --git a/doc/html/_recent_average_8h_source.html b/doc/html/_recent_average_8h_source.html index 3d487bcc6..0935eabaa 100644 --- a/doc/html/_recent_average_8h_source.html +++ b/doc/html/_recent_average_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: RecentAverage.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -95,230 +102,232 @@
    RecentAverage.h
    -
    00001 #ifndef RECENTAVERAGE_H
    -00002 #define RECENTAVERAGE_H
    -00003 
    -00004 /*
    -00005  * RecentAverage.h
    -00006  *
    -00007  * Copyright 2013 Tim Barrass.
    -00008  *
    -00009  * This file is part of Mozzi.
    -00010  *
    -00011  * Mozzi is free software: you can redistribute it and/or modify
    -00012  * it under the terms of the GNU General Public License as published by
    -00013  * the Free Software Foundation, either version 3 of the License, or
    -00014  * (at your option) any later version.
    -00015  *
    -00016  * Mozzi is distributed in the hope that it will be useful,
    -00017  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00018  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    -00019  * GNU General Public License for more details.
    -00020  *
    -00021  * You should have received a copy of the GNU General Public License
    -00022  * along with Mozzi.  If not, see <http://www.gnu.org/licenses/>.
    -00023  *
    -00024  */
    -00025 /*
    -00026   Draws on Arduino Smoothing example,
    -00027   Created 22 April 2007
    -00028   By David A. Mellis  <dam@mellis.org>
    -00029   modified 9 Apr 2012
    -00030   by Tom Igoe
    -00031   http://www.arduino.cc/en/Tutorial/Smoothing
    -00032 */
    -00033 
    -00034 
    -00035 
    -00041 template <class T, int NUM_READINGS>
    -00042 class
    -00043                 RecentAverage {
    -00044 
    -00045 public:
    -00055                 RecentAverage():index(0),total(0)
    -00056                 {
    -00057                                 // initialize all the readings to 0:
    -00058                                 for (int thisReading = 0; thisReading < NUM_READINGS; thisReading++)
    -00059                                                 readings[thisReading] = 0;
    -00060                                 switch(NUM_READINGS)
    -00061                                 {
    -00062                                 case 256:
    -00063                                                 num_readings_as_rshift = 8;
    -00064                                                 break;
    -00065                                 case 128:
    -00066                                                 num_readings_as_rshift = 7;
    -00067                                                 break;
    -00068                                 case 64:
    -00069                                                 num_readings_as_rshift = 6;
    -00070                                                 break;
    -00071                                 case 32:
    -00072                                                 num_readings_as_rshift = 5;
    -00073                                                 break;
    -00074                                 case 16:
    -00075                                                 num_readings_as_rshift = 4;
    -00076                                                 break;
    -00077                                 case 8:
    -00078                                                 num_readings_as_rshift = 3;
    -00079                                                 break;
    -00080                                 case 4:
    -00081                                                 num_readings_as_rshift = 2;
    -00082                                                 break;
    -00083                                 case 2:
    -00084                                                 num_readings_as_rshift = 1;
    -00085                                                 break;
    -00086                                                 //default:
    -00087                                                 // if nothing else matches, do the default
    -00088                                                 // default is optional
    -00089                                 }
    -00090                 }
    -00091 
    -00092 
    -00093 
    -00098                 T next(T input)
    -00099                 {
    -00100                                 // out with the old
    -00101                                 total -= readings[index];
    -00102                                 // in with the new
    -00103                                 total +=  input;
    -00104                                 readings[index] = input;
    -00105 
    -00106                                 // advance and wrap index
    -00107                                 ++index &= NUM_READINGS -1;
    -00108 
    -00109                                 // calculate the average:
    -00110                                 return total>>num_readings_as_rshift;
    -00111                 }
    -00112 
    -00113 
    -00114 private:
    -00115                 T readings[NUM_READINGS];       // the readings from the analog input
    -00116                 unsigned char index;            // the index of the current reading
    -00117                 long total;     // the running total
    -00118                 unsigned char num_readings_as_rshift;
    -00119 
    -00120 };
    -00121 
    -00122 
    -00123 
    -00124  // doxygen can ignore the specialisations
    -00126 
    -00127 
    -00128 // not sure why this template is neccessary now..
    -00129 
    -00131 template <int NUM_READINGS>
    -00132 class RecentAverage <unsigned int, NUM_READINGS>
    -00133 {
    -00134 public:
    -00142                 RecentAverage():index(0),total(0)
    -00143                 {
    -00144                                 // initialize all the readings to 0:
    -00145                                 for (int thisReading = 0; thisReading < NUM_READINGS; thisReading++)
    -00146                                                 readings[thisReading] = 0;
    -00147                                 switch(NUM_READINGS)
    -00148                                 {
    -00149                                 case 256:
    -00150                                                 num_readings_as_rshift = 8;
    -00151                                                 break;
    -00152                                 case 128:
    -00153                                                 num_readings_as_rshift = 7;
    -00154                                                 break;
    -00155                                 case 64:
    -00156                                                 num_readings_as_rshift = 6;
    -00157                                                 break;
    -00158                                 case 32:
    -00159                                                 num_readings_as_rshift = 5;
    -00160                                                 break;
    -00161                                 case 16:
    -00162                                                 num_readings_as_rshift = 4;
    -00163                                                 break;
    -00164                                 case 8:
    -00165                                                 num_readings_as_rshift = 3;
    -00166                                                 break;
    -00167                                 case 4:
    -00168                                                 num_readings_as_rshift = 2;
    -00169                                                 break;
    -00170                                 case 2:
    -00171                                                 num_readings_as_rshift = 1;
    -00172                                                 break;
    -00173                                                 //default:
    -00174                                                 // if nothing else matches, do the default
    -00175                                                 // default is optional
    -00176                                 }
    -00177                 }
    -00178 
    -00183                 unsigned int next(unsigned int input)
    -00184                 {
    -00185                                 // out with the old
    -00186                                 total -= readings[index];
    -00187                                 // in with the new
    -00188                                 total +=  input;
    -00189                                 readings[index] = input;
    -00190 
    -00191                                 // advance and wrap index
    -00192                                 ++index &= NUM_READINGS -1;
    -00193 
    -00194                                 // calculate the average:
    -00195                                 return (unsigned) total>>num_readings_as_rshift;
    -00196                 }
    -00197 
    -00198 
    -00199 private:
    -00200                 unsigned int readings[NUM_READINGS];      // the readings from the analog input
    -00201                 unsigned char index;                  // the index of the current reading
    -00202                 long total;               // the running total
    -00203                 unsigned char num_readings_as_rshift;
    -00204 
    -00205 };
    -00206 
    -00207 
    -00208 
    -00209 
    -00211 template <int NUM_READINGS>
    -00212 class RecentAverage <float, NUM_READINGS>
    -00213 {
    -00214 public:
    -00222                 RecentAverage():index(0),total(0)
    -00223                 {
    -00224                                 // initialize all the readings to 0:
    -00225                                 for (int thisReading = 0; thisReading < NUM_READINGS; thisReading++)
    -00226                                                 readings[thisReading] = 0;
    -00227                 }
    -00228 
    -00233                 unsigned int next(unsigned int input)
    -00234                 {
    -00235                                 // out with the old
    -00236                                 total -= readings[index];
    -00237                                 // in with the new
    -00238                                 total +=  input;
    -00239                                 readings[index] = input;
    -00240 
    -00241                                 // advance and wrap index
    -00242                                 ++index &= NUM_READINGS -1;
    -00243 
    -00244                                 // calculate the average:
    -00245                                 // this unsigned cast is the only difference between the int and unsigned int specialisations
    -00246                                 // it tells the shift not to sign extend in from the left
    -00247                                 return total/NUM_READINGS;
    -00248                 }
    -00249 
    -00250 
    -00251 private:
    -00252                 float readings[NUM_READINGS];      // the readings from the analog input
    -00253                 unsigned char index;                  // the index of the current reading
    -00254                 float total;               // the running total
    -00255 
    -00256 };
    -00257 
    -00258 
    -00259 #endif        //  #ifndef RECENTAVERAGE_H
    -
    - - - - +
    1 #ifndef RECENTAVERAGE_H
    +
    2 #define RECENTAVERAGE_H
    +
    3 
    +
    4 /*
    +
    5  * RecentAverage.h
    +
    6  *
    +
    7  * Copyright 2013 Tim Barrass.
    +
    8  *
    +
    9  * This file is part of Mozzi.
    +
    10  *
    +
    11  * Mozzi is free software: you can redistribute it and/or modify
    +
    12  * it under the terms of the GNU General Public License as published by
    +
    13  * the Free Software Foundation, either version 3 of the License, or
    +
    14  * (at your option) any later version.
    +
    15  *
    +
    16  * Mozzi is distributed in the hope that it will be useful,
    +
    17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    +
    18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    +
    19  * GNU General Public License for more details.
    +
    20  *
    +
    21  * You should have received a copy of the GNU General Public License
    +
    22  * along with Mozzi. If not, see <http://www.gnu.org/licenses/>.
    +
    23  *
    +
    24  */
    +
    25 /*
    +
    26  Draws on Arduino Smoothing example,
    +
    27  Created 22 April 2007
    +
    28  By David A. Mellis <dam@mellis.org>
    +
    29  modified 9 Apr 2012
    +
    30  by Tom Igoe
    +
    31  http://www.arduino.cc/en/Tutorial/Smoothing
    +
    32 */
    +
    33 
    +
    34 
    +
    35 
    +
    41 template <class T, int NUM_READINGS>
    +
    42 class
    + +
    44 
    +
    45 public:
    +
    55  RecentAverage():index(0),total(0)
    +
    56  {
    +
    57  // initialize all the readings to 0:
    +
    58  for (int thisReading = 0; thisReading < NUM_READINGS; thisReading++)
    +
    59  readings[thisReading] = 0;
    +
    60  switch(NUM_READINGS)
    +
    61  {
    +
    62  case 256:
    +
    63  num_readings_as_rshift = 8;
    +
    64  break;
    +
    65  case 128:
    +
    66  num_readings_as_rshift = 7;
    +
    67  break;
    +
    68  case 64:
    +
    69  num_readings_as_rshift = 6;
    +
    70  break;
    +
    71  case 32:
    +
    72  num_readings_as_rshift = 5;
    +
    73  break;
    +
    74  case 16:
    +
    75  num_readings_as_rshift = 4;
    +
    76  break;
    +
    77  case 8:
    +
    78  num_readings_as_rshift = 3;
    +
    79  break;
    +
    80  case 4:
    +
    81  num_readings_as_rshift = 2;
    +
    82  break;
    +
    83  case 2:
    +
    84  num_readings_as_rshift = 1;
    +
    85  break;
    +
    86  //default:
    +
    87  // if nothing else matches, do the default
    +
    88  // default is optional
    +
    89  }
    +
    90  }
    +
    91 
    +
    92 
    +
    93 
    +
    98  T next(T input)
    +
    99  {
    +
    100  // out with the old
    +
    101  total -= readings[index];
    +
    102  // in with the new
    +
    103  total += input;
    +
    104  readings[index] = input;
    +
    105 
    +
    106  // advance and wrap index
    +
    107  ++index &= NUM_READINGS -1;
    +
    108 
    +
    109  // calculate the average:
    +
    110  return total>>num_readings_as_rshift;
    +
    111  }
    +
    112 
    +
    113 
    +
    114 private:
    +
    115  T readings[NUM_READINGS]; // the readings from the analog input
    +
    116  unsigned char index; // the index of the current reading
    +
    117  long total; // the running total
    +
    118  unsigned char num_readings_as_rshift;
    +
    119 
    +
    120 };
    +
    121 
    +
    122 
    +
    123 
    +
    124  // doxygen can ignore the specialisations
    +
    126 
    +
    127 
    +
    128 // not sure why this template is neccessary now..
    +
    129 
    +
    131 template <int NUM_READINGS>
    +
    132 class RecentAverage <unsigned int, NUM_READINGS>
    +
    133 {
    +
    134 public:
    +
    142  RecentAverage():index(0),total(0)
    +
    143  {
    +
    144  // initialize all the readings to 0:
    +
    145  for (int thisReading = 0; thisReading < NUM_READINGS; thisReading++)
    +
    146  readings[thisReading] = 0;
    +
    147  switch(NUM_READINGS)
    +
    148  {
    +
    149  case 256:
    +
    150  num_readings_as_rshift = 8;
    +
    151  break;
    +
    152  case 128:
    +
    153  num_readings_as_rshift = 7;
    +
    154  break;
    +
    155  case 64:
    +
    156  num_readings_as_rshift = 6;
    +
    157  break;
    +
    158  case 32:
    +
    159  num_readings_as_rshift = 5;
    +
    160  break;
    +
    161  case 16:
    +
    162  num_readings_as_rshift = 4;
    +
    163  break;
    +
    164  case 8:
    +
    165  num_readings_as_rshift = 3;
    +
    166  break;
    +
    167  case 4:
    +
    168  num_readings_as_rshift = 2;
    +
    169  break;
    +
    170  case 2:
    +
    171  num_readings_as_rshift = 1;
    +
    172  break;
    +
    173  //default:
    +
    174  // if nothing else matches, do the default
    +
    175  // default is optional
    +
    176  }
    +
    177  }
    +
    178 
    +
    183  unsigned int next(unsigned int input)
    +
    184  {
    +
    185  // out with the old
    +
    186  total -= readings[index];
    +
    187  // in with the new
    +
    188  total += input;
    +
    189  readings[index] = input;
    +
    190 
    +
    191  // advance and wrap index
    +
    192  ++index &= NUM_READINGS -1;
    +
    193 
    +
    194  // calculate the average:
    +
    195  return (unsigned) total>>num_readings_as_rshift;
    +
    196  }
    +
    197 
    +
    198 
    +
    199 private:
    +
    200  unsigned int readings[NUM_READINGS]; // the readings from the analog input
    +
    201  unsigned char index; // the index of the current reading
    +
    202  long total; // the running total
    +
    203  unsigned char num_readings_as_rshift;
    +
    204 
    +
    205 };
    +
    206 
    +
    207 
    +
    208 
    +
    209 
    +
    211 template <int NUM_READINGS>
    +
    212 class RecentAverage <float, NUM_READINGS>
    +
    213 {
    +
    214 public:
    +
    222  RecentAverage():index(0),total(0)
    +
    223  {
    +
    224  // initialize all the readings to 0:
    +
    225  for (int thisReading = 0; thisReading < NUM_READINGS; thisReading++)
    +
    226  readings[thisReading] = 0;
    +
    227  }
    +
    228 
    +
    233  unsigned int next(unsigned int input)
    +
    234  {
    +
    235  // out with the old
    +
    236  total -= readings[index];
    +
    237  // in with the new
    +
    238  total += input;
    +
    239  readings[index] = input;
    +
    240 
    +
    241  // advance and wrap index
    +
    242  ++index &= NUM_READINGS -1;
    +
    243 
    +
    244  // calculate the average:
    +
    245  // this unsigned cast is the only difference between the int and unsigned int specialisations
    +
    246  // it tells the shift not to sign extend in from the left
    +
    247  return total/NUM_READINGS;
    +
    248  }
    +
    249 
    +
    250 
    +
    251 private:
    +
    252  float readings[NUM_READINGS]; // the readings from the analog input
    +
    253  unsigned char index; // the index of the current reading
    +
    254  float total; // the running total
    +
    255 
    +
    256 };
    +
    257 
    +
    258 
    +
    259 #endif // #ifndef RECENTAVERAGE_H
    +
    + + + diff --git a/doc/html/_reverb_tank_8h_source.html b/doc/html/_reverb_tank_8h_source.html index dff92b695..5d10e63d8 100644 --- a/doc/html/_reverb_tank_8h_source.html +++ b/doc/html/_reverb_tank_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: ReverbTank.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -95,110 +102,112 @@
    ReverbTank.h
    -
    00001 #ifndef REVERBTANK_H
    -00002 #define REVERBTANK_H
    -00003 
    -00004 /*
    -00005  * ReverbTank.h
    -00006  *
    -00007  * Copyright 2013 Tim Barrass.
    -00008  *
    -00009  * This file is part of Mozzi.
    -00010  *
    -00011  * Mozzi is free software: you can redistribute it and/or modify
    -00012  * it under the terms of the GNU General Public License as published by
    -00013  * the Free Software Foundation, either version 3 of the License, or
    -00014  * (at your option) any later version.
    -00015  *
    -00016  * Mozzi is distributed in the hope that it will be useful,
    -00017  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00018  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    -00019  * GNU General Public License for more details.
    -00020  *
    -00021  * You should have received a copy of the GNU General Public License
    -00022  * along with Mozzi.  If not, see <http://www.gnu.org/licenses/>.
    -00023  *
    -00024  */
    -00025 
    -00026 #include "AudioDelay.h"
    -00043 class
    -00044                 ReverbTank {
    -00045 
    -00046 public:
    -00056                 ReverbTank(
    -00057                   char early_reflection1 = 37,
    -00058                   char early_reflection2 = 77,
    -00059                   char early_reflection3 = 127,
    -00060                   char loop1_delay=117,
    -00061                   unsigned char loop2_delay=255,
    -00062                   char feedback_level = 85):
    -00063                                                 _early_reflection1(early_reflection1),_early_reflection2(early_reflection3),_early_reflection3(early_reflection3),
    -00064                                                 _feedback_level(feedback_level)
    -00065                 {
    -00066                                 aLoopDel1.set(loop1_delay);
    -00067                                 aLoopDel2.set(loop2_delay);
    -00068                 }
    -00069 
    -00070 
    -00076                 int next(int input){
    -00077                                 static int recycle1, recycle2;
    -00078 
    -00079                                 // early reflections
    -00080                                 int asig = aLoopDel0.next(input, _early_reflection1);
    -00081                                 asig += aLoopDel0.read(_early_reflection2);
    -00082                                 asig += aLoopDel0.read(_early_reflection3);
    -00083                                 asig >>= 2;
    -00084 
    -00085                                 // recirculating delays
    -00086                                 char feedback_sig1 = (char) min(max(((recycle1 * _feedback_level)>>7),-128),127); // feedback clipped
    -00087                                 char feedback_sig2 = (char) min(max(((recycle2 * _feedback_level)>>7),-128),127); // feedback clipped
    -00088                                 int sig3 = aLoopDel1.next(asig+feedback_sig1);
    -00089                                 int sig4 = aLoopDel2.next(asig+feedback_sig2);
    -00090                                 recycle1 = sig3 + sig4;
    -00091                                 recycle2 = sig3 - sig4;
    -00092 
    -00093                                 return recycle1;
    -00094                 }
    -00095 
    -00096 
    -00102                 void setEarlyReflections(char early_reflection1, char early_reflection2, char early_reflection3){
    -00103                                 _early_reflection1=early_reflection1;
    -00104                                 _early_reflection2=early_reflection2;
    -00105                                 _early_reflection3=early_reflection3;
    -00106                 }
    -00107 
    -00108 
    -00113                 void setLoopDelays(char loop1_delay, unsigned char loop2_delay){
    -00114                                 aLoopDel1.set(loop1_delay);
    -00115                                 aLoopDel2.set(loop2_delay);
    -00116                 }
    -00117 
    -00121                 void setFeebackLevel(char feedback_level){
    -00122                                 _feedback_level=feedback_level;
    -00123                 }
    -00124 
    -00125 
    -00126 private:
    -00127                 char _early_reflection1;
    -00128                 char _early_reflection2;
    -00129                 char _early_reflection3;
    -00130 
    -00131                 char _feedback_level;
    -00132 
    -00133                 AudioDelay <128> aLoopDel0; // 128/16384 seconds * 340.29 m/s speed of sound = 3.5 metres
    -00134                 AudioDelay <128,int> aLoopDel1;
    -00135                 AudioDelay <256,int> aLoopDel2; // 7 metres
    -00136 
    -00137 };
    -00138 #endif        //  #ifndef REVERBTANK_H
    -
    - - - - +
    1 #ifndef REVERBTANK_H
    +
    2 #define REVERBTANK_H
    +
    3 
    +
    4 /*
    +
    5  * ReverbTank.h
    +
    6  *
    +
    7  * Copyright 2013 Tim Barrass.
    +
    8  *
    +
    9  * This file is part of Mozzi.
    +
    10  *
    +
    11  * Mozzi is free software: you can redistribute it and/or modify
    +
    12  * it under the terms of the GNU General Public License as published by
    +
    13  * the Free Software Foundation, either version 3 of the License, or
    +
    14  * (at your option) any later version.
    +
    15  *
    +
    16  * Mozzi is distributed in the hope that it will be useful,
    +
    17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    +
    18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    +
    19  * GNU General Public License for more details.
    +
    20  *
    +
    21  * You should have received a copy of the GNU General Public License
    +
    22  * along with Mozzi. If not, see <http://www.gnu.org/licenses/>.
    +
    23  *
    +
    24  */
    +
    25 
    +
    26 #include "AudioDelay.h"
    +
    43 class
    +
    44  ReverbTank {
    +
    45 
    +
    46 public:
    + +
    57  char early_reflection1 = 37,
    +
    58  char early_reflection2 = 77,
    +
    59  char early_reflection3 = 127,
    +
    60  char loop1_delay=117,
    +
    61  unsigned char loop2_delay=255,
    +
    62  char feedback_level = 85):
    +
    63  _early_reflection1(early_reflection1),_early_reflection2(early_reflection3),_early_reflection3(early_reflection3),
    +
    64  _feedback_level(feedback_level)
    +
    65  {
    +
    66  aLoopDel1.set(loop1_delay);
    +
    67  aLoopDel2.set(loop2_delay);
    +
    68  }
    +
    69 
    +
    70 
    +
    76  int next(int input){
    +
    77  static int recycle1, recycle2;
    +
    78 
    +
    79  // early reflections
    +
    80  int asig = aLoopDel0.next(input, _early_reflection1);
    +
    81  asig += aLoopDel0.read(_early_reflection2);
    +
    82  asig += aLoopDel0.read(_early_reflection3);
    +
    83  asig >>= 2;
    +
    84 
    +
    85  // recirculating delays
    +
    86  char feedback_sig1 = (char) min(max(((recycle1 * _feedback_level)>>7),-128),127); // feedback clipped
    +
    87  char feedback_sig2 = (char) min(max(((recycle2 * _feedback_level)>>7),-128),127); // feedback clipped
    +
    88  int sig3 = aLoopDel1.next(asig+feedback_sig1);
    +
    89  int sig4 = aLoopDel2.next(asig+feedback_sig2);
    +
    90  recycle1 = sig3 + sig4;
    +
    91  recycle2 = sig3 - sig4;
    +
    92 
    +
    93  return recycle1;
    +
    94  }
    +
    95 
    +
    96 
    +
    102  void setEarlyReflections(char early_reflection1, char early_reflection2, char early_reflection3){
    +
    103  _early_reflection1=early_reflection1;
    +
    104  _early_reflection2=early_reflection2;
    +
    105  _early_reflection3=early_reflection3;
    +
    106  }
    +
    107 
    +
    108 
    +
    113  void setLoopDelays(char loop1_delay, unsigned char loop2_delay){
    +
    114  aLoopDel1.set(loop1_delay);
    +
    115  aLoopDel2.set(loop2_delay);
    +
    116  }
    +
    117 
    +
    121  void setFeebackLevel(char feedback_level){
    +
    122  _feedback_level=feedback_level;
    +
    123  }
    +
    124 
    +
    125 
    +
    126 private:
    +
    127  char _early_reflection1;
    +
    128  char _early_reflection2;
    +
    129  char _early_reflection3;
    +
    130 
    +
    131  char _feedback_level;
    +
    132 
    +
    133  AudioDelay <128> aLoopDel0; // 128/16384 seconds * 340.29 m/s speed of sound = 3.5 metres
    +
    134  AudioDelay <128,int> aLoopDel1;
    +
    135  AudioDelay <256,int> aLoopDel2; // 7 metres
    +
    136 
    +
    137 };
    +
    138 #endif // #ifndef REVERBTANK_H
    +
    + + + diff --git a/doc/html/_sample_8h_source.html b/doc/html/_sample_8h_source.html index 20b5677e6..f5c9906e6 100644 --- a/doc/html/_sample_8h_source.html +++ b/doc/html/_sample_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: Sample.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -95,261 +102,263 @@
    Sample.h
    -
    00001 /*
    -00002  * Sample.h
    -00003  *
    -00004  * Oscil.h owes much to AF_precision_synthesis.pde, 2009, Adrian Freed.
    -00005  *
    -00006  * Copyright 2012 Tim Barrass, 2009 Adrian Freed.
    -00007  *
    -00008  * This file is part of Mozzi.
    -00009  *
    -00010  * Mozzi is free software: you can redistribute it and/or modify
    -00011  * it under the terms of the GNU General Public License as published by
    -00012  * the Free Software Foundation, either version 3 of the License, or
    -00013  * (at your option) any later version.
    -00014  *
    -00015  * Mozzi is distributed in the hope that it will be useful,
    -00016  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00017  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    -00018  * GNU General Public License for more details.
    -00019  *
    -00020  * You should have received a copy of the GNU General Public License
    -00021  * along with Mozzi.  If not, see <http://www.gnu.org/licenses/>.
    -00022  *
    -00023  */
    -00024 
    -00025 #ifndef SAMPLE_H_
    -00026 #define SAMPLE_H_
    -00027 
    -00028 #include "Arduino.h"
    -00029 #include "MozziGuts.h"
    -00030 #include "mozzi_fixmath.h"
    -00031 #include <util/atomic.h>
    -00032 
    -00033 
    -00034 // fractional bits for sample index precision
    -00035 #define SAMPLE_F_BITS 16
    -00036 #define SAMPLE_F_BITS_AS_MULTIPLIER 65536
    -00037 
    -00038 // phmod_proportion is an 1n15 fixed-point number only using
    -00039 // the fractional part and the sign bit
    -00040 #define SAMPLE_PHMOD_BITS 16
    -00041 
    -00042 
    -00061 template <unsigned int NUM_TABLE_CELLS, unsigned int UPDATE_RATE>
    -00062 class Sample
    -00063 {
    -00064 
    -00065 public:
    -00066 
    -00073                 Sample(const char * TABLE_NAME):table(TABLE_NAME),endpos_fractional((unsigned long) NUM_TABLE_CELLS << SAMPLE_F_BITS) // so isPlaying() will work
    -00074                 {
    -00075                                 setLoopingOff();
    -00076                                 //rangeWholeSample();
    -00077                 }
    -00078 
    -00079 
    -00080 
    -00085                 Sample():endpos_fractional(4294967295UL) // biggest UL number so isPlaying() will work
    -00086                 {
    -00087                                 setLoopingOff();
    -00088                                 //rangeWholeSample();
    -00089                 }
    -00090 
    -00091 
    -00095                 inline
    -00096                 void setTable(const char * TABLE_NAME)
    -00097                 {
    -00098                                 table = TABLE_NAME;
    -00099                 }
    -00100 
    -00101 
    -00105                 inline
    -00106                 void setStart(unsigned int start)
    -00107                 {
    -00108                                 startpos_fractional = (unsigned long) start << SAMPLE_F_BITS;
    -00109                 }
    -00110 
    -00111 
    -00114                 inline
    -00115                 void start()
    -00116                 {
    -00117                                 ATOMIC_BLOCK(ATOMIC_RESTORESTATE)
    -00118                                 {
    -00119                                                 phase_fractional = startpos_fractional;
    -00120                                 }
    -00121                 }
    -00122 
    -00123 
    -00127                 inline
    -00128                 void start(unsigned int startpos)
    -00129                 {
    -00130                                 setStart(startpos);
    -00131                                 start();
    -00132                 }
    -00133 
    -00134 
    -00138                 inline
    -00139                 void setEnd(unsigned int end)
    -00140                 {
    -00141                                 endpos_fractional = (unsigned long) end << SAMPLE_F_BITS;
    -00142                 }
    -00143 
    -00144 
    -00147                 inline
    -00148                 void rangeWholeSample()
    -00149                 {
    -00150                                 startpos_fractional = 0;
    -00151                                 endpos_fractional = (unsigned long) NUM_TABLE_CELLS << SAMPLE_F_BITS;
    -00152                 }
    -00153 
    -00154 
    -00157                 inline
    -00158                 void setLoopingOn()
    -00159                 {
    -00160                                 looping=true;
    -00161                 }
    -00162 
    -00163 
    -00166                 inline
    -00167                 void setLoopingOff()
    -00168                 {
    -00169                                 looping=false;
    -00170                 }
    -00171 
    -00172 
    -00180                 inline
    -00181                 char next() // 4us
    -00182                 {
    -00183                                 char out = 0;
    -00184                                 if (!looping)
    -00185                                 {
    -00186                                                 if (phase_fractional<endpos_fractional){
    -00187                                                                 out = (char)pgm_read_byte_near(table + (phase_fractional >> SAMPLE_F_BITS));
    -00188                                                                 incrementPhase();
    -00189                                                 }
    -00190                                 }
    -00191                                 else
    -00192                                 {
    -00193                                                 if (phase_fractional>endpos_fractional)
    -00194                                                                 phase_fractional = startpos_fractional + (phase_fractional - endpos_fractional);
    -00195 
    -00196                                                 out = (char)pgm_read_byte_near(table + (phase_fractional >> SAMPLE_F_BITS));
    -00197                                                 incrementPhase();
    -00198                                 }
    -00199                                 return out;
    -00200                 }
    -00201 
    -00202 
    -00206                 inline
    -00207                 boolean isPlaying(){
    -00208                                 return phase_fractional<endpos_fractional;
    -00209                 }
    -00210 
    -00211 
    -00212                 // Not readjusted for arbitrary table length yet
    -00213                 //
    -00214                 // /** Returns the next sample given a phase modulation value.
    -00215                 // @param a phase modulation value given as a proportion of the wave. The
    -00216                 // phmod_proportion parameter is a Q15n16 fixed-point number where to fractional
    -00217                 // n16 part represents -1 to 1, modulating the phase by one whole table length in
    -00218                 // each direction.
    -00219                 // @return a sample from the table.
    -00220                 // */
    -00221                 // inline
    -00222                 // char phMod(long phmod_proportion)
    -00223                 // {
    -00224                 //              incrementPhase();
    -00225                 //              return (char)pgm_read_byte_near(table + (((phase_fractional+(phmod_proportion * NUM_TABLE_CELLS))>>SAMPLE_SAMPLE_F_BITS) & (NUM_TABLE_CELLS - 1)));
    -00226                 // }
    -00227 
    -00228 
    -00229 
    -00237                 inline
    -00238                 void setFreq ( int frequency) {
    -00239                                 ATOMIC_BLOCK(ATOMIC_RESTORESTATE)
    -00240                                 {
    -00241                                                 phase_increment_fractional = ((((unsigned long)NUM_TABLE_CELLS<<ADJUST_FOR_NUM_TABLE_CELLS)*frequency)/UPDATE_RATE) << (SAMPLE_F_BITS - ADJUST_FOR_NUM_TABLE_CELLS);
    -00242                                 }
    -00243                 }
    -00244 
    -00245 
    -00251                 inline
    -00252                 void setFreq(float frequency)
    -00253                 { // 1 us - using float doesn't seem to incur measurable overhead with the oscilloscope
    -00254                                 ATOMIC_BLOCK(ATOMIC_RESTORESTATE)
    -00255                                 {
    -00256                                                 phase_increment_fractional = (unsigned long)((((float)NUM_TABLE_CELLS * frequency)/UPDATE_RATE) * SAMPLE_F_BITS_AS_MULTIPLIER);
    -00257                                 }
    -00258                 }
    -00259 
    -00260 
    -00269                 inline
    -00270                 void setFreq_Q24n8(Q24n8 frequency)
    -00271                 {
    -00272                                 ATOMIC_BLOCK(ATOMIC_RESTORESTATE)
    -00273                                 {
    -00274                                                 //phase_increment_fractional = (frequency* (NUM_TABLE_CELLS>>3)/(UPDATE_RATE>>6)) << (F_BITS-(8-3+6));
    -00275                                                 phase_increment_fractional = (((((unsigned long)NUM_TABLE_CELLS<<ADJUST_FOR_NUM_TABLE_CELLS)>>3)*frequency)/(UPDATE_RATE>>6))
    -00276                                                                              << (SAMPLE_F_BITS - ADJUST_FOR_NUM_TABLE_CELLS - (8-3+6));
    -00277                                 }
    -00278                 }
    -00279 
    -00280 
    -00286                 inline
    -00287                 char atIndex(unsigned int index)
    -00288                 {
    -00289                                 return (char)pgm_read_byte_near(table + (index & (NUM_TABLE_CELLS - 1)));
    -00290                 }
    -00291 
    -00292 
    -00303                 inline
    -00304                 unsigned long phaseIncFromFreq(unsigned int frequency)
    -00305                 {
    -00306                                 return (((unsigned long)frequency * NUM_TABLE_CELLS)/UPDATE_RATE) << SAMPLE_F_BITS;
    -00307                 }
    -00308 
    -00309 
    -00313                 inline
    -00314                 void setPhaseInc(unsigned long phaseinc_fractional)
    -00315                 {
    -00316                                 ATOMIC_BLOCK(ATOMIC_RESTORESTATE)
    -00317                                 {
    -00318                                                 phase_increment_fractional = phaseinc_fractional;
    -00319                                 }
    -00320                 }
    -00321 
    -00322 
    -00323 private:
    -00324 
    -00325 
    -00328 static const unsigned char ADJUST_FOR_NUM_TABLE_CELLS = (NUM_TABLE_CELLS<2048) ? 8 : 0;
    -00329 
    -00330 
    -00333                 inline
    -00334                 void incrementPhase()
    -00335                 {
    -00336                                 phase_fractional += phase_increment_fractional;
    -00337                 }
    -00338 
    -00339 
    -00340                 volatile unsigned long phase_fractional;
    -00341                 volatile unsigned long phase_increment_fractional;
    -00342                 const char * table;
    -00343                 bool looping;
    -00344                 unsigned long startpos_fractional, endpos_fractional;
    -00345 };
    -00346 
    -00347 #endif /* SAMPLE_H_ */
    -
    - - - - +
    1 /*
    +
    2  * Sample.h
    +
    3  *
    +
    4  * Oscil.h owes much to AF_precision_synthesis.pde, 2009, Adrian Freed.
    +
    5  *
    +
    6  * Copyright 2012 Tim Barrass, 2009 Adrian Freed.
    +
    7  *
    +
    8  * This file is part of Mozzi.
    +
    9  *
    +
    10  * Mozzi is free software: you can redistribute it and/or modify
    +
    11  * it under the terms of the GNU General Public License as published by
    +
    12  * the Free Software Foundation, either version 3 of the License, or
    +
    13  * (at your option) any later version.
    +
    14  *
    +
    15  * Mozzi is distributed in the hope that it will be useful,
    +
    16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    +
    17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    +
    18  * GNU General Public License for more details.
    +
    19  *
    +
    20  * You should have received a copy of the GNU General Public License
    +
    21  * along with Mozzi. If not, see <http://www.gnu.org/licenses/>.
    +
    22  *
    +
    23  */
    +
    24 
    +
    25 #ifndef SAMPLE_H_
    +
    26 #define SAMPLE_H_
    +
    27 
    +
    28 #include "Arduino.h"
    +
    29 #include "MozziGuts.h"
    +
    30 #include "mozzi_fixmath.h"
    +
    31 #include <util/atomic.h>
    +
    32 
    +
    33 
    +
    34 // fractional bits for sample index precision
    +
    35 #define SAMPLE_F_BITS 16
    +
    36 #define SAMPLE_F_BITS_AS_MULTIPLIER 65536
    +
    37 
    +
    38 // phmod_proportion is an 1n15 fixed-point number only using
    +
    39 // the fractional part and the sign bit
    +
    40 #define SAMPLE_PHMOD_BITS 16
    +
    41 
    +
    42 
    +
    61 template <unsigned int NUM_TABLE_CELLS, unsigned int UPDATE_RATE>
    +
    62 class Sample
    +
    63 {
    +
    64 
    +
    65 public:
    +
    66 
    +
    73  Sample(const char * TABLE_NAME):table(TABLE_NAME),endpos_fractional((unsigned long) NUM_TABLE_CELLS << SAMPLE_F_BITS) // so isPlaying() will work
    +
    74  {
    +
    75  setLoopingOff();
    +
    76  //rangeWholeSample();
    +
    77  }
    +
    78 
    +
    79 
    +
    80 
    +
    85  Sample():endpos_fractional(4294967295UL) // biggest UL number so isPlaying() will work
    +
    86  {
    +
    87  setLoopingOff();
    +
    88  //rangeWholeSample();
    +
    89  }
    +
    90 
    +
    91 
    +
    95  inline
    +
    96  void setTable(const char * TABLE_NAME)
    +
    97  {
    +
    98  table = TABLE_NAME;
    +
    99  }
    +
    100 
    +
    101 
    +
    105  inline
    +
    106  void setStart(unsigned int startpos)
    +
    107  {
    +
    108  startpos_fractional = (unsigned long) start << SAMPLE_F_BITS;
    +
    109  }
    +
    110 
    +
    111 
    +
    114  inline
    +
    115  void start()
    +
    116  {
    +
    117  ATOMIC_BLOCK(ATOMIC_RESTORESTATE)
    +
    118  {
    +
    119  phase_fractional = startpos_fractional;
    +
    120  }
    +
    121  }
    +
    122 
    +
    123 
    +
    127  inline
    +
    128  void start(unsigned int startpos)
    +
    129  {
    +
    130  setStart(startpos);
    +
    131  start();
    +
    132  }
    +
    133 
    +
    134 
    +
    138  inline
    +
    139  void setEnd(unsigned int end)
    +
    140  {
    +
    141  endpos_fractional = (unsigned long) end << SAMPLE_F_BITS;
    +
    142  }
    +
    143 
    +
    144 
    +
    147  inline
    + +
    149  {
    +
    150  startpos_fractional = 0;
    +
    151  endpos_fractional = (unsigned long) NUM_TABLE_CELLS << SAMPLE_F_BITS;
    +
    152  }
    +
    153 
    +
    154 
    +
    157  inline
    + +
    159  {
    +
    160  looping=true;
    +
    161  }
    +
    162 
    +
    163 
    +
    166  inline
    + +
    168  {
    +
    169  looping=false;
    +
    170  }
    +
    171 
    +
    172 
    +
    180  inline
    +
    181  char next() // 4us
    +
    182  {
    +
    183  char out = 0;
    +
    184  if (!looping)
    +
    185  {
    +
    186  if (phase_fractional<endpos_fractional){
    +
    187  out = (char)pgm_read_byte_near(table + (phase_fractional >> SAMPLE_F_BITS));
    +
    188  incrementPhase();
    +
    189  }
    +
    190  }
    +
    191  else
    +
    192  {
    +
    193  if (phase_fractional>endpos_fractional)
    +
    194  phase_fractional = startpos_fractional + (phase_fractional - endpos_fractional);
    +
    195 
    +
    196  out = (char)pgm_read_byte_near(table + (phase_fractional >> SAMPLE_F_BITS));
    +
    197  incrementPhase();
    +
    198  }
    +
    199  return out;
    +
    200  }
    +
    201 
    +
    202 
    +
    206  inline
    +
    207  boolean isPlaying(){
    +
    208  return phase_fractional<endpos_fractional;
    +
    209  }
    +
    210 
    +
    211 
    +
    212  // Not readjusted for arbitrary table length yet
    +
    213  //
    +
    214  // Returns the next sample given a phase modulation value.
    +
    215  // @param phmod_proportion phase modulation value given as a proportion of the wave. The
    +
    216  // phmod_proportion parameter is a Q15n16 fixed-point number where to fractional
    +
    217  // n16 part represents -1 to 1, modulating the phase by one whole table length in
    +
    218  // each direction.
    +
    219  // @return a sample from the table.
    +
    220  //
    +
    221  // inline
    +
    222  // char phMod(long phmod_proportion)
    +
    223  // {
    +
    224  // incrementPhase();
    +
    225  // return (char)pgm_read_byte_near(table + (((phase_fractional+(phmod_proportion * NUM_TABLE_CELLS))>>SAMPLE_SAMPLE_F_BITS) & (NUM_TABLE_CELLS - 1)));
    +
    226  // }
    +
    227 
    +
    228 
    +
    229 
    +
    237  inline
    +
    238  void setFreq (int frequency) {
    +
    239  ATOMIC_BLOCK(ATOMIC_RESTORESTATE)
    +
    240  {
    +
    241  phase_increment_fractional = ((((unsigned long)NUM_TABLE_CELLS<<ADJUST_FOR_NUM_TABLE_CELLS)*frequency)/UPDATE_RATE) << (SAMPLE_F_BITS - ADJUST_FOR_NUM_TABLE_CELLS);
    +
    242  }
    +
    243  }
    +
    244 
    +
    245 
    +
    251  inline
    +
    252  void setFreq(float frequency)
    +
    253  { // 1 us - using float doesn't seem to incur measurable overhead with the oscilloscope
    +
    254  ATOMIC_BLOCK(ATOMIC_RESTORESTATE)
    +
    255  {
    +
    256  phase_increment_fractional = (unsigned long)((((float)NUM_TABLE_CELLS * frequency)/UPDATE_RATE) * SAMPLE_F_BITS_AS_MULTIPLIER);
    +
    257  }
    +
    258  }
    +
    259 
    +
    260 
    +
    269  inline
    +
    270  void setFreq_Q24n8(Q24n8 frequency)
    +
    271  {
    +
    272  ATOMIC_BLOCK(ATOMIC_RESTORESTATE)
    +
    273  {
    +
    274  //phase_increment_fractional = (frequency* (NUM_TABLE_CELLS>>3)/(UPDATE_RATE>>6)) << (F_BITS-(8-3+6));
    +
    275  phase_increment_fractional = (((((unsigned long)NUM_TABLE_CELLS<<ADJUST_FOR_NUM_TABLE_CELLS)>>3)*frequency)/(UPDATE_RATE>>6))
    +
    276  << (SAMPLE_F_BITS - ADJUST_FOR_NUM_TABLE_CELLS - (8-3+6));
    +
    277  }
    +
    278  }
    +
    279 
    +
    280 
    +
    286  inline
    +
    287  char atIndex(unsigned int index)
    +
    288  {
    +
    289  return (char)pgm_read_byte_near(table + (index & (NUM_TABLE_CELLS - 1)));
    +
    290  }
    +
    291 
    +
    292 
    +
    303  inline
    +
    304  unsigned long phaseIncFromFreq(unsigned int frequency)
    +
    305  {
    +
    306  return (((unsigned long)frequency * NUM_TABLE_CELLS)/UPDATE_RATE) << SAMPLE_F_BITS;
    +
    307  }
    +
    308 
    +
    309 
    +
    313  inline
    +
    314  void setPhaseInc(unsigned long phaseinc_fractional)
    +
    315  {
    +
    316  ATOMIC_BLOCK(ATOMIC_RESTORESTATE)
    +
    317  {
    +
    318  phase_increment_fractional = phaseinc_fractional;
    +
    319  }
    +
    320  }
    +
    321 
    +
    322 
    +
    323 private:
    +
    324 
    +
    325 
    +
    328 static const unsigned char ADJUST_FOR_NUM_TABLE_CELLS = (NUM_TABLE_CELLS<2048) ? 8 : 0;
    +
    329 
    +
    330 
    +
    333  inline
    +
    334  void incrementPhase()
    +
    335  {
    +
    336  phase_fractional += phase_increment_fractional;
    +
    337  }
    +
    338 
    +
    339 
    +
    340  volatile unsigned long phase_fractional;
    +
    341  volatile unsigned long phase_increment_fractional;
    +
    342  const char * table;
    +
    343  bool looping;
    +
    344  unsigned long startpos_fractional, endpos_fractional;
    +
    345 };
    +
    346 
    +
    347 #endif /* SAMPLE_H_ */
    +
    + + + diff --git a/doc/html/_smooth_8h_source.html b/doc/html/_smooth_8h_source.html index fdd3ba45c..4ceed7ba7 100644 --- a/doc/html/_smooth_8h_source.html +++ b/doc/html/_smooth_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: Smooth.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -95,164 +102,166 @@
    Smooth.h
    -
    00001 /*
    -00002  * Smooth.h
    -00003  *
    -00004  * Copyright 2012 Tim Barrass.
    -00005  *
    -00006  * This file is part of Mozzi.
    -00007  *
    -00008  * Mozzi is free software: you can redistribute it and/or modify
    -00009  * it under the terms of the GNU General Public License as published by
    -00010  * the Free Software Foundation, either version 3 of the License, or
    -00011  * (at your option) any later version.
    -00012  *
    -00013  * Mozzi is distributed in the hope that it will be useful,
    -00014  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00015  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    -00016  * GNU General Public License for more details.
    -00017  *
    -00018  * You should have received a copy of the GNU General Public License
    -00019  * along with Mozzi.  If not, see <http://www.gnu.org/licenses/>.
    -00020  *
    -00021  */
    -00022 
    -00023 #ifndef SMOOTH_H_
    -00024 #define SMOOTH_H_
    -00025 
    -00026 #include "Arduino.h"
    -00027 #include "mozzi_fixmath.h"
    -00028 
    -00045 template <class T>
    -00046 class Smooth
    -00047 {
    -00048 private:
    -00049                 long last_out;
    -00050                 Q0n16 a;
    -00051 
    -00052 public:
    -00058                 Smooth(float smoothness)
    -00059                 {
    -00060                                 setSmoothness(smoothness);
    -00061                 }
    -00062 
    -00067                 inline
    -00068                 T next(T in)
    -00069                 {
    -00070                                 long out = ((((((long)in - (last_out>>8)) * a))>>8) + last_out);
    -00071                                 last_out = out;
    -00072                                 return (T)(out>>8);
    -00073                 }
    -00074 
    -00080                 inline
    -00081                 void setSmoothness(float smoothness)
    -00082                 {
    -00083                                 a=float_to_Q0n16(1.f-smoothness);
    -00084                 }
    -00085 
    -00086 };
    -00087 
    -00088  // doxygen can ignore the specialisations
    -00090 
    -00092 template <>
    -00093 class Smooth <unsigned char>
    -00094 {
    -00095 private:
    -00096                 unsigned int last_out;
    -00097                 Q0n8 a;
    -00098 
    -00099 public:
    -00105                 Smooth(float smoothness)
    -00106                 {
    -00107                                 setSmoothness(smoothness);
    -00108                 }
    -00109 
    -00114                 inline
    -00115                 unsigned char next(unsigned char in)
    -00116                 {
    -00117                                 unsigned int out = (((((int)in - (last_out>>8)) * a)) + last_out);
    -00118                                 last_out = out;
    -00119                                 return (unsigned char)(out>>8);
    -00120                 }
    -00121 
    -00127                 inline
    -00128                 void setSmoothness(float smoothness)
    -00129                 {
    -00130                                 a=float_to_Q0n8(1.f-smoothness);
    -00131                 }
    -00132 
    -00133 };
    -00134 
    -00135 
    -00137 template <>
    -00138 class Smooth <char>
    -00139 {
    -00140 private:
    -00141                 int last_out;
    -00142                 Q0n8 a;
    -00143 
    -00144 public:
    -00150                 Smooth(float smoothness)
    -00151                 {
    -00152                                 setSmoothness(smoothness);
    -00153                 }
    -00154 
    -00159                 inline
    -00160                 char next(char in)
    -00161                 {
    -00162                                 int out = (((((int)in - (last_out>>8)) * a)) + last_out);
    -00163                                 last_out = out;
    -00164                                 return (char)(out>>8);
    -00165                 }
    -00166 
    -00172                 inline
    -00173                 void setSmoothness(float smoothness)
    -00174                 {
    -00175                                 a=float_to_Q0n8(1.f-smoothness);
    -00176                 }
    -00177 
    -00178 };
    -00179 
    -00181 template <>
    -00182 class Smooth <float>
    -00183 {
    -00184 private:
    -00185                 float last_out;
    -00186                 float a;
    -00187 
    -00188 public:
    -00194                 Smooth(float smoothness)
    -00195                 {
    -00196                                 setSmoothness(smoothness);
    -00197                 }
    -00198 
    -00203                 inline
    -00204                 float next(float in)
    -00205                 {
    -00206                                 float out = last_out + a * (in - last_out);
    -00207                                 //float out = (in - last_out * a) + last_out;
    -00208                                 last_out = out;
    -00209                                 return out;
    -00210                 }
    -00211 
    -00217                 inline
    -00218                 void setSmoothness(float smoothness)
    -00219                 {
    -00220                                 a=1.f-smoothness;
    -00221                 }
    -00222 
    -00223 };
    -00224 
    -00225 
    -00228 #endif /* SMOOTH_H_ */
    -
    - - - - +
    1 /*
    +
    2  * Smooth.h
    +
    3  *
    +
    4  * Copyright 2012 Tim Barrass.
    +
    5  *
    +
    6  * This file is part of Mozzi.
    +
    7  *
    +
    8  * Mozzi is free software: you can redistribute it and/or modify
    +
    9  * it under the terms of the GNU General Public License as published by
    +
    10  * the Free Software Foundation, either version 3 of the License, or
    +
    11  * (at your option) any later version.
    +
    12  *
    +
    13  * Mozzi is distributed in the hope that it will be useful,
    +
    14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    +
    15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    +
    16  * GNU General Public License for more details.
    +
    17  *
    +
    18  * You should have received a copy of the GNU General Public License
    +
    19  * along with Mozzi. If not, see <http://www.gnu.org/licenses/>.
    +
    20  *
    +
    21  */
    +
    22 
    +
    23 #ifndef SMOOTH_H_
    +
    24 #define SMOOTH_H_
    +
    25 
    +
    26 #include "Arduino.h"
    +
    27 #include "mozzi_fixmath.h"
    +
    28 
    +
    45 template <class T>
    +
    46 class Smooth
    +
    47 {
    +
    48 private:
    +
    49  long last_out;
    +
    50  Q0n16 a;
    +
    51 
    +
    52 public:
    +
    58  Smooth(float smoothness)
    +
    59  {
    +
    60  setSmoothness(smoothness);
    +
    61  }
    +
    62 
    +
    67  inline
    +
    68  T next(T in)
    +
    69  {
    +
    70  long out = ((((((long)in - (last_out>>8)) * a))>>8) + last_out);
    +
    71  last_out = out;
    +
    72  return (T)(out>>8);
    +
    73  }
    +
    74 
    +
    80  inline
    +
    81  void setSmoothness(float smoothness)
    +
    82  {
    +
    83  a=float_to_Q0n16(1.f-smoothness);
    +
    84  }
    +
    85 
    +
    86 };
    +
    87 
    +
    88  // doxygen can ignore the specialisations
    +
    90 
    +
    92 template <>
    +
    93 class Smooth <unsigned char>
    +
    94 {
    +
    95 private:
    +
    96  unsigned int last_out;
    +
    97  Q0n8 a;
    +
    98 
    +
    99 public:
    +
    105  Smooth(float smoothness)
    +
    106  {
    +
    107  setSmoothness(smoothness);
    +
    108  }
    +
    109 
    +
    114  inline
    +
    115  unsigned char next(unsigned char in)
    +
    116  {
    +
    117  unsigned int out = (((((int)in - (last_out>>8)) * a)) + last_out);
    +
    118  last_out = out;
    +
    119  return (unsigned char)(out>>8);
    +
    120  }
    +
    121 
    +
    127  inline
    +
    128  void setSmoothness(float smoothness)
    +
    129  {
    +
    130  a=float_to_Q0n8(1.f-smoothness);
    +
    131  }
    +
    132 
    +
    133 };
    +
    134 
    +
    135 
    +
    137 template <>
    +
    138 class Smooth <char>
    +
    139 {
    +
    140 private:
    +
    141  int last_out;
    +
    142  Q0n8 a;
    +
    143 
    +
    144 public:
    +
    150  Smooth(float smoothness)
    +
    151  {
    +
    152  setSmoothness(smoothness);
    +
    153  }
    +
    154 
    +
    159  inline
    +
    160  char next(char in)
    +
    161  {
    +
    162  int out = (((((int)in - (last_out>>8)) * a)) + last_out);
    +
    163  last_out = out;
    +
    164  return (char)(out>>8);
    +
    165  }
    +
    166 
    +
    172  inline
    +
    173  void setSmoothness(float smoothness)
    +
    174  {
    +
    175  a=float_to_Q0n8(1.f-smoothness);
    +
    176  }
    +
    177 
    +
    178 };
    +
    179 
    +
    181 template <>
    +
    182 class Smooth <float>
    +
    183 {
    +
    184 private:
    +
    185  float last_out;
    +
    186  float a;
    +
    187 
    +
    188 public:
    +
    194  Smooth(float smoothness)
    +
    195  {
    +
    196  setSmoothness(smoothness);
    +
    197  }
    +
    198 
    +
    203  inline
    +
    204  float next(float in)
    +
    205  {
    +
    206  float out = last_out + a * (in - last_out);
    +
    207  //float out = (in - last_out * a) + last_out;
    +
    208  last_out = out;
    +
    209  return out;
    +
    210  }
    +
    211 
    +
    217  inline
    +
    218  void setSmoothness(float smoothness)
    +
    219  {
    +
    220  a=1.f-smoothness;
    +
    221  }
    +
    222 
    +
    223 };
    +
    224 
    +
    225 
    +
    228 #endif /* SMOOTH_H_ */
    +
    + + + diff --git a/doc/html/_state_variable_8h_source.html b/doc/html/_state_variable_8h_source.html index 7d32f3b07..959090d43 100644 --- a/doc/html/_state_variable_8h_source.html +++ b/doc/html/_state_variable_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: StateVariable.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -95,170 +102,172 @@
    StateVariable.h
    -
    00001 /*
    -00002  * StateVariable.h
    -00003  *
    -00004  * This implementation copyright 2012 Tim Barrass.
    -00005  *
    -00006  * This file is part of Mozzi.
    -00007  *
    -00008  * Mozzi is free software: you can redistribute it and/or modify
    -00009  * it under the terms of the GNU General Public License as published by
    -00010  * the Free Software Foundation, either version 3 of the License, or
    -00011  * (at your option) any later version.
    -00012  *
    -00013  * Mozzi is distributed in the hope that it will be useful,
    -00014  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00015  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    -00016  * GNU General Public License for more details.
    -00017  *
    -00018  * You should have received a copy of the GNU General Public License
    -00019  * along with Mozzi.  If not, see <http://www.gnu.org/licenses/>.
    -00020  *
    -00021  */
    -00022 
    -00023 
    -00032 #ifndef STATEVARIABLE_H_
    -00033 #define STATEVARIABLE_H_
    -00034 
    -00035 #include "Arduino.h"
    -00036 #include "util/atomic.h"
    -00037 #include "mozzi_fixmath.h"
    -00038 #include "math.h"
    -00039 #include "mozzi_utils.h"
    -00040 #include "meta.h"
    -00041 
    -00042 
    -00043 enum filter_types {LOWPASS,BANDPASS,HIGHPASS,NOTCH};
    -00044 
    -00053 template <char FILTER_TYPE>
    -00054 class StateVariable
    -00055 {
    -00056 
    -00057 public:
    -00058 
    -00059 
    -00062                 StateVariable()
    -00063                 {
    -00064                 }
    -00065 
    -00066 
    -00067 
    -00075                 void setResonance(Q0n8 resonance){
    -00076                                 // qvalue goes from 255 to 0, representing .999 to 0 in fixed point
    -00077                                 // lower q, more resonance
    -00078                                 q = resonance;
    -00079                                 //ATOMIC_BLOCK(ATOMIC_RESTORESTATE)
    -00080                                 //{
    -00081                                 scale = (Q0n8)sqrt((unsigned int) resonance<<8);
    -00082                                 //}
    -00083                 }
    -00084 
    -00085 
    -00086 
    -00093                 /*
    -00094                 void setCentreFreq(unsigned int centre_freq){
    -00095                                 // simple frequency tuning with error towards nyquist
    -00096                                 // F is the filter's center frequency
    -00097                                 ATOMIC_BLOCK(ATOMIC_RESTORESTATE)
    -00098                                 {
    -00099                                                 f = (Q1n15)(((Q16n16_2PI*centre_freq)>>AUDIO_RATE_AS_LSHIFT)>>1);
    -00100                                 }
    -00101                 }
    -00102 */
    -00103                 void setCentreFreq(unsigned int centre_freq){
    -00104                                 // simple frequency tuning with error towards nyquist
    -00105                                 // F is the filter's center frequency
    -00106                                 //ATOMIC_BLOCK(ATOMIC_RESTORESTATE)
    -00107                                 //{
    -00108                                                 //f = (Q1n15)(((Q16n16_2PI*centre_freq)>>AUDIO_RATE_AS_LSHIFT)>>1);
    -00109                                                 f = (Q1n15)((Q16n16_2PI*centre_freq)>>(AUDIO_RATE_AS_LSHIFT+1));
    -00110                                 //}
    -00111                 }
    -00112 
    -00113 
    -00119                 inline
    -00120                 int next(int input)
    -00121                 {
    -00122                                 // chooses a different next() function depending on whether the
    -00123                                 // filter is declared as LOWPASS, BANDPASS, HIGHPASS or NOTCH.
    -00124                                 // See meta.h.
    -00125                                 return next(input, Int2Type<FILTER_TYPE>());
    -00126                 }
    -00127 
    -00128 
    -00129 
    -00130 
    -00131 private:
    -00132                 int low, band;
    -00133                 Q0n8 q,scale;
    -00134                 volatile Q1n15 f;
    -00135 
    -00136 
    -00142                 inline
    -00143                 int next(int input, Int2Type<LOWPASS>)
    -00144                 {
    -00145                                 //SET_PIN13_HIGH;
    -00146                                 low += (((long)band * f)>>15);
    -00147                                 int high = (((long)input - low - (((long)band * q)>>8))*scale)>>8;
    -00148                                 band += (((long)high * f)>>15);
    -00149                                 //int notch = high + low;
    -00150                                 //SET_PIN13_LOW;
    -00151                                 return low;
    -00152                 }
    -00153 
    -00154 
    -00160                 inline
    -00161                 int next(int input, Int2Type<BANDPASS>)
    -00162                 {
    -00163                                 //SET_PIN13_HIGH;
    -00164                                 low += (((long)band * f)>>15);
    -00165                                 int high = (((long)input - low - (((long)band * q)>>8))*scale)>>8;
    -00166                                 band += (((long)high * f)>>15);
    -00167                                 //int notch = high + low;
    -00168                                 //SET_PIN13_LOW;
    -00169                                 return band;
    -00170                 }
    -00171 
    -00172 
    -00173 
    -00179                 inline
    -00180                 int next(int input, Int2Type<HIGHPASS>)
    -00181                 {
    -00182                                 //SET_PIN13_HIGH;
    -00183                                 low += (((long)band * f)>>15);
    -00184                                 int high = (((long)input - low - (((long)band * q)>>8))*scale)>>8;
    -00185                                 band += (((long)high * f)>>15);
    -00186                                 //int notch = high + low;
    -00187                                 //SET_PIN13_LOW;
    -00188                                 return high;
    -00189                 }
    -00190 
    -00191 
    -00192 
    -00198                 inline
    -00199                 int next(int input, Int2Type<NOTCH>)
    -00200                 {
    -00201                                 //SET_PIN13_HIGH;
    -00202                                 low += (((long)band * f)>>15);
    -00203                                 int high = (((long)input - low - (((long)band * q)>>8))*scale)>>8;
    -00204                                 band += (((long)high * f)>>15);
    -00205                                 int notch = high + low;
    -00206                                 //SET_PIN13_LOW;
    -00207                                 return notch;
    -00208                 }
    -00209 
    -00210 };
    -00211 
    -00212 #endif /* STATEVARIABLE_H_ */
    -
    - - - - +
    1 /*
    +
    2  * StateVariable.h
    +
    3  *
    +
    4  * This implementation copyright 2012 Tim Barrass.
    +
    5  *
    +
    6  * This file is part of Mozzi.
    +
    7  *
    +
    8  * Mozzi is free software: you can redistribute it and/or modify
    +
    9  * it under the terms of the GNU General Public License as published by
    +
    10  * the Free Software Foundation, either version 3 of the License, or
    +
    11  * (at your option) any later version.
    +
    12  *
    +
    13  * Mozzi is distributed in the hope that it will be useful,
    +
    14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    +
    15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    +
    16  * GNU General Public License for more details.
    +
    17  *
    +
    18  * You should have received a copy of the GNU General Public License
    +
    19  * along with Mozzi. If not, see <http://www.gnu.org/licenses/>.
    +
    20  *
    +
    21  */
    +
    22 
    +
    23 
    +
    32 #ifndef STATEVARIABLE_H_
    +
    33 #define STATEVARIABLE_H_
    +
    34 
    +
    35 #include "Arduino.h"
    +
    36 #include "util/atomic.h"
    +
    37 #include "mozzi_fixmath.h"
    +
    38 #include "math.h"
    +
    39 #include "mozzi_utils.h"
    +
    40 #include "meta.h"
    +
    41 
    +
    42 
    +
    43 enum filter_types {LOWPASS,BANDPASS,HIGHPASS,NOTCH};
    +
    44 
    +
    53 template <char FILTER_TYPE>
    + +
    55 {
    +
    56 
    +
    57 public:
    +
    58 
    +
    59 
    + +
    63  {
    +
    64  }
    +
    65 
    +
    66 
    +
    67 
    +
    75  void setResonance(Q0n8 resonance){
    +
    76  // qvalue goes from 255 to 0, representing .999 to 0 in fixed point
    +
    77  // lower q, more resonance
    +
    78  q = resonance;
    +
    79  //ATOMIC_BLOCK(ATOMIC_RESTORESTATE)
    +
    80  //{
    +
    81  scale = (Q0n8)sqrt((unsigned int) resonance<<8);
    +
    82  //}
    +
    83  }
    +
    84 
    +
    85 
    +
    86 
    +
    93  /*
    +
    94  void setCentreFreq(unsigned int centre_freq){
    +
    95  // simple frequency tuning with error towards nyquist
    +
    96  // F is the filter's center frequency
    +
    97  ATOMIC_BLOCK(ATOMIC_RESTORESTATE)
    +
    98  {
    +
    99  f = (Q1n15)(((Q16n16_2PI*centre_freq)>>AUDIO_RATE_AS_LSHIFT)>>1);
    +
    100  }
    +
    101  }
    +
    102 */
    +
    103  void setCentreFreq(unsigned int centre_freq){
    +
    104  // simple frequency tuning with error towards nyquist
    +
    105  // F is the filter's center frequency
    +
    106  //ATOMIC_BLOCK(ATOMIC_RESTORESTATE)
    +
    107  //{
    +
    108  //f = (Q1n15)(((Q16n16_2PI*centre_freq)>>AUDIO_RATE_AS_LSHIFT)>>1);
    +
    109  f = (Q1n15)((Q16n16_2PI*centre_freq)>>(AUDIO_RATE_AS_LSHIFT+1));
    +
    110  //}
    +
    111  }
    +
    112 
    +
    113 
    +
    119  inline
    +
    120  int next(int input)
    +
    121  {
    +
    122  // chooses a different next() function depending on whether the
    +
    123  // filter is declared as LOWPASS, BANDPASS, HIGHPASS or NOTCH.
    +
    124  // See meta.h.
    +
    125  return next(input, Int2Type<FILTER_TYPE>());
    +
    126  }
    +
    127 
    +
    128 
    +
    129 
    +
    130 
    +
    131 private:
    +
    132  int low, band;
    +
    133  Q0n8 q,scale;
    +
    134  volatile Q1n15 f;
    +
    135 
    +
    136 
    +
    142  inline
    +
    143  int next(int input, Int2Type<LOWPASS>)
    +
    144  {
    +
    145  //SET_PIN13_HIGH;
    +
    146  low += (((long)band * f)>>15);
    +
    147  int high = (((long)input - low - (((long)band * q)>>8))*scale)>>8;
    +
    148  band += (((long)high * f)>>15);
    +
    149  //int notch = high + low;
    +
    150  //SET_PIN13_LOW;
    +
    151  return low;
    +
    152  }
    +
    153 
    +
    154 
    +
    160  inline
    +
    161  int next(int input, Int2Type<BANDPASS>)
    +
    162  {
    +
    163  //SET_PIN13_HIGH;
    +
    164  low += (((long)band * f)>>15);
    +
    165  int high = (((long)input - low - (((long)band * q)>>8))*scale)>>8;
    +
    166  band += (((long)high * f)>>15);
    +
    167  //int notch = high + low;
    +
    168  //SET_PIN13_LOW;
    +
    169  return band;
    +
    170  }
    +
    171 
    +
    172 
    +
    173 
    +
    179  inline
    +
    180  int next(int input, Int2Type<HIGHPASS>)
    +
    181  {
    +
    182  //SET_PIN13_HIGH;
    +
    183  low += (((long)band * f)>>15);
    +
    184  int high = (((long)input - low - (((long)band * q)>>8))*scale)>>8;
    +
    185  band += (((long)high * f)>>15);
    +
    186  //int notch = high + low;
    +
    187  //SET_PIN13_LOW;
    +
    188  return high;
    +
    189  }
    +
    190 
    +
    191 
    +
    192 
    +
    198  inline
    +
    199  int next(int input, Int2Type<NOTCH>)
    +
    200  {
    +
    201  //SET_PIN13_HIGH;
    +
    202  low += (((long)band * f)>>15);
    +
    203  int high = (((long)input - low - (((long)band * q)>>8))*scale)>>8;
    +
    204  band += (((long)high * f)>>15);
    +
    205  int notch = high + low;
    +
    206  //SET_PIN13_LOW;
    +
    207  return notch;
    +
    208  }
    +
    209 
    +
    210 };
    +
    211 
    +
    212 #endif /* STATEVARIABLE_H_ */
    +
    + + + diff --git a/doc/html/_wave_packet_8h_source.html b/doc/html/_wave_packet_8h_source.html index a9d27895a..1c1f92e42 100644 --- a/doc/html/_wave_packet_8h_source.html +++ b/doc/html/_wave_packet_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: WavePacket.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -95,179 +102,181 @@
    WavePacket.h
    -
    00001 /*
    -00002  * WavePacket.h
    -00003  *
    -00004  * Copyright 2013 Tim Barrass.
    -00005  *
    -00006  * This file is part of Mozzi.
    -00007  *
    -00008  * Mozzi is free software: you can redistribute it and/or modify
    -00009  * it under the terms of the GNU General Public License as published by
    -00010  * the Free Software Foundation, either version 3 of the License, or
    -00011  * (at your option) any later version.
    -00012  *
    -00013  * Mozzi is distributed in the hope that it will be useful,
    -00014  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00015  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    -00016  * GNU General Public License for more details.
    -00017  *
    -00018  * You should have received a copy of the GNU General Public License
    -00019  * along with Mozzi.  If not, see <http://www.gnu.org/licenses/>.
    -00020  *
    -00021  */
    -00022 
    -00023 
    -00024 #ifndef WAVEPACKET_H
    -00025 #define WAVEPACKET_H
    -00026 
    -00027 #include <MozziGuts.h>
    -00028 #include <Oscil.h>
    -00029 #include <tables/cos8192_int8.h>
    -00030 #include <mozzi_fixmath.h>
    -00031 #include <Phasor.h>
    -00032 #include <Line.h>
    -00033 #include <meta.h>
    -00034 //#include <mozzi_utils.h>
    -00035 //#include <mozzi_analog.h>
    -00036 
    -00037 enum algorithms {SINGLE,DOUBLE};
    -00038 
    -00046 template <char ALGORITHM>
    -00047 class WavePacket
    -00048 {
    -00049 public:
    -00050 
    -00053                 WavePacket():AUDIO_STEPS_PER_CONTROL(AUDIO_RATE / CONTROL_RATE)
    -00054                 {
    -00055                                 aCos.setTable(COS8192_DATA);
    -00056                 }
    -00057 
    -00058 
    -00067                 inline
    -00068                 void set(int fundamental, int bandwidth, int centrefreq)
    -00069                 {
    -00070                                 setFundamental(fundamental);
    -00071                                 setBandwidth(bandwidth);
    -00072                                 setCentreFreq(centrefreq);
    -00073                 }
    -00074 
    -00075 
    -00080                 inline
    -00081                 void setFundamental(int fundamental)
    -00082                 {
    -00083                                 aPhasor.setFreq(fundamental);
    -00084                                 invFreq = Q8n24_FIX1 / fundamental;
    -00085                 }
    -00086 
    -00087 
    -00088 
    -00095                 inline
    -00096                 void setBandwidth(int bandwidth)
    -00097                 {
    -00098                                 Q15n16 bw = invFreq*bandwidth;
    -00099                                 bw >>= 9;
    -00100                                 bw = max(bw, Q15n16_FIX1>>3);
    -00101                                 aBandwidth.set(bw, AUDIO_STEPS_PER_CONTROL);
    -00102                 }
    -00103 
    -00104 
    -00105 
    -00110                 inline
    -00111                 void setCentreFreq(int centrefreq)
    -00112                 {
    -00113                                 Q15n16 cf = invFreq * centrefreq;
    -00114                                 cf >>= 3;
    -00115                                 aCentrefreq.set(cf, AUDIO_STEPS_PER_CONTROL);
    -00116                 }
    -00117 
    -00118 
    -00123                 inline
    -00124                 int next()
    -00125                 {
    -00126                                 gcentrefreq = aCentrefreq.next();
    -00127                                 gbandwidth = aBandwidth.next();
    -00128                                 int phase1 = aPhasor.next()>>16; // -0.5 to 0.5, 0n15
    -00129                                 if (ALGORITHM == DOUBLE) {
    -00130                                                 return (signalPath(params1, phase1)+signalPath(params2, phase1+32768))>>1;
    -00131                                 } else {
    -00132                                                 return signalPath(params1, phase1);
    -00133                                 }
    -00134                 }
    -00135 
    -00136 
    -00137 private:
    -00138                 //Q15n16 fundamental; // range 4 to 6271 in pd patch, 13 integer bits
    -00139                 Q8n24 invFreq;
    -00140                 Q15n16 gcentrefreq;   // range 0 to 3068, 12 integer bits
    -00141                 Q15n16 gbandwidth;   // range 1 to 3068, 12 integer bits
    -00142 
    -00143                 // Lines to interpolate controls at audio rate
    -00144                 Line <Q15n16> aCentrefreq;
    -00145                 Line <Q16n16> aBandwidth;
    -00146                 Line <Q16n16> aFreq;
    -00147 
    -00148                 // different sets of params for each audio phase stream
    -00149                 struct parameters
    -00150                 {
    -00151                                 int previous_phase;
    -00152                                 Q15n16 centrefreq;
    -00153                                 Q23n8 bandwidth;
    -00154                 }
    -00155                 params1,params2;
    -00156 
    -00157                 // the number of audio steps the line has to take to reach the next control value
    -00158                 const unsigned int AUDIO_STEPS_PER_CONTROL;
    -00159 
    -00160                 Oscil <COS8192_NUM_CELLS, AUDIO_RATE> aCos;
    -00161                 Phasor <AUDIO_RATE> aPhasor;
    -00162 
    -00163 
    -00164                 inline
    -00165                 int signalPath(struct parameters &param, int phase) // 25us?  * 2
    -00166                 {
    -00167                                 //setPin13High();
    -00168                                 int index;
    -00169 
    -00170                                 if(phase<param.previous_phase)
    -00171                                 {
    -00172                                                 param.centrefreq = gcentrefreq>>8;
    -00173                                                 param.bandwidth = Q15n16_to_Q23n8(gbandwidth);
    -00174                                 }
    -00175                                 param.previous_phase = phase;
    -00176 
    -00177                                 // oscillation
    -00178                                 index = (param.centrefreq * phase)>>16;
    -00179                                 // hack to make peak in middle of packet, otherwise it centres around a zero-crossing.. 
    -00180                                 index += COS8192_NUM_CELLS>>1; 
    -00181                                 index &= COS8192_NUM_CELLS-1;
    -00182                                 char sig1 = aCos.atIndex(index);
    -00183 
    -00184                                 // packet envelope
    -00185                                 Q23n8 bwphase = (param.bandwidth * phase)>>8;
    -00186                                 bwphase += COS8192_NUM_CELLS>>1;
    -00187                                 index = constrain(bwphase, 0, (COS8192_NUM_CELLS-1));
    -00188                                 unsigned char packet_width = 128 + aCos.atIndex(index);
    -00189                                 // if (AUDIO_MODE == HIFI){
    -00190                                                 // return ((int) sig1 * packet_width)>>3; // scaled to fit HIFI updateAudio output
    -00191                                 // }else{
    -00192                                                 // return ((int) sig1 * packet_width)>>8; // scaled to fit STANDARD updateAudio output
    -00193                                 // }
    -00194                                 
    -00195                                 return ((int) sig1 * packet_width);
    -00196                 }
    -00197 
    -00198 };
    -00199 
    -00200 #endif        //  #ifndef WAVEPACKET_H
    -
    - - - - +
    1 /*
    +
    2  * WavePacket.h
    +
    3  *
    +
    4  * Copyright 2013 Tim Barrass.
    +
    5  *
    +
    6  * This file is part of Mozzi.
    +
    7  *
    +
    8  * Mozzi is free software: you can redistribute it and/or modify
    +
    9  * it under the terms of the GNU General Public License as published by
    +
    10  * the Free Software Foundation, either version 3 of the License, or
    +
    11  * (at your option) any later version.
    +
    12  *
    +
    13  * Mozzi is distributed in the hope that it will be useful,
    +
    14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    +
    15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    +
    16  * GNU General Public License for more details.
    +
    17  *
    +
    18  * You should have received a copy of the GNU General Public License
    +
    19  * along with Mozzi. If not, see <http://www.gnu.org/licenses/>.
    +
    20  *
    +
    21  */
    +
    22 
    +
    23 
    +
    24 #ifndef WAVEPACKET_H
    +
    25 #define WAVEPACKET_H
    +
    26 
    +
    27 #include <MozziGuts.h>
    +
    28 #include <Oscil.h>
    +
    29 #include <tables/cos8192_int8.h>
    +
    30 #include <mozzi_fixmath.h>
    +
    31 #include <Phasor.h>
    +
    32 #include <Line.h>
    +
    33 #include <meta.h>
    +
    34 //#include <mozzi_utils.h>
    +
    35 //#include <mozzi_analog.h>
    +
    36 
    +
    37 enum algorithms {SINGLE,DOUBLE};
    +
    38 
    +
    46 template <char ALGORITHM>
    + +
    48 {
    +
    49 public:
    +
    50 
    +
    53  WavePacket():AUDIO_STEPS_PER_CONTROL(AUDIO_RATE / CONTROL_RATE)
    +
    54  {
    +
    55  aCos.setTable(COS8192_DATA);
    +
    56  }
    +
    57 
    +
    58 
    +
    67  inline
    +
    68  void set(int fundamental, int bandwidth, int centrefreq)
    +
    69  {
    +
    70  setFundamental(fundamental);
    +
    71  setBandwidth(bandwidth);
    +
    72  setCentreFreq(centrefreq);
    +
    73  }
    +
    74 
    +
    75 
    +
    80  inline
    +
    81  void setFundamental(int fundamental)
    +
    82  {
    +
    83  aPhasor.setFreq(fundamental);
    +
    84  invFreq = Q8n24_FIX1 / fundamental;
    +
    85  }
    +
    86 
    +
    87 
    +
    88 
    +
    95  inline
    +
    96  void setBandwidth(int bandwidth)
    +
    97  {
    +
    98  Q15n16 bw = invFreq*bandwidth;
    +
    99  bw >>= 9;
    +
    100  bw = max(bw, Q15n16_FIX1>>3);
    +
    101  aBandwidth.set(bw, AUDIO_STEPS_PER_CONTROL);
    +
    102  }
    +
    103 
    +
    104 
    +
    105 
    +
    110  inline
    +
    111  void setCentreFreq(int centrefreq)
    +
    112  {
    +
    113  Q15n16 cf = invFreq * centrefreq;
    +
    114  cf >>= 3;
    +
    115  aCentrefreq.set(cf, AUDIO_STEPS_PER_CONTROL);
    +
    116  }
    +
    117 
    +
    118 
    +
    123  inline
    +
    124  int next()
    +
    125  {
    +
    126  gcentrefreq = aCentrefreq.next();
    +
    127  gbandwidth = aBandwidth.next();
    +
    128  int phase1 = aPhasor.next()>>16; // -0.5 to 0.5, 0n15
    +
    129  if (ALGORITHM == DOUBLE) {
    +
    130  return (signalPath(params1, phase1)+signalPath(params2, phase1+32768))>>1;
    +
    131  } else {
    +
    132  return signalPath(params1, phase1);
    +
    133  }
    +
    134  }
    +
    135 
    +
    136 
    +
    137 private:
    +
    138  //Q15n16 fundamental; // range 4 to 6271 in pd patch, 13 integer bits
    +
    139  Q8n24 invFreq;
    +
    140  Q15n16 gcentrefreq; // range 0 to 3068, 12 integer bits
    +
    141  Q15n16 gbandwidth; // range 1 to 3068, 12 integer bits
    +
    142 
    +
    143  // Lines to interpolate controls at audio rate
    +
    144  Line <Q15n16> aCentrefreq;
    +
    145  Line <Q16n16> aBandwidth;
    +
    146  Line <Q16n16> aFreq;
    +
    147 
    +
    148  // different sets of params for each audio phase stream
    +
    149  struct parameters
    +
    150  {
    +
    151  int previous_phase;
    +
    152  Q15n16 centrefreq;
    +
    153  Q23n8 bandwidth;
    +
    154  }
    +
    155  params1,params2;
    +
    156 
    +
    157  // the number of audio steps the line has to take to reach the next control value
    +
    158  const unsigned int AUDIO_STEPS_PER_CONTROL;
    +
    159 
    + +
    161  Phasor <AUDIO_RATE> aPhasor;
    +
    162 
    +
    163 
    +
    164  inline
    +
    165  int signalPath(struct parameters &param, int phase) // 25us? * 2
    +
    166  {
    +
    167  //setPin13High();
    +
    168  int index;
    +
    169 
    +
    170  if(phase<param.previous_phase)
    +
    171  {
    +
    172  param.centrefreq = gcentrefreq>>8;
    +
    173  param.bandwidth = Q15n16_to_Q23n8(gbandwidth);
    +
    174  }
    +
    175  param.previous_phase = phase;
    +
    176 
    +
    177  // oscillation
    +
    178  index = (param.centrefreq * phase)>>16;
    +
    179  // hack to make peak in middle of packet, otherwise it centres around a zero-crossing..
    +
    180  index += COS8192_NUM_CELLS>>1;
    +
    181  index &= COS8192_NUM_CELLS-1;
    +
    182  char sig1 = aCos.atIndex(index);
    +
    183 
    +
    184  // packet envelope
    +
    185  Q23n8 bwphase = (param.bandwidth * phase)>>8;
    +
    186  bwphase += COS8192_NUM_CELLS>>1;
    +
    187  index = constrain(bwphase, 0, (COS8192_NUM_CELLS-1));
    +
    188  unsigned char packet_width = 128 + aCos.atIndex(index);
    +
    189  // if (AUDIO_MODE == HIFI){
    +
    190  // return ((int) sig1 * packet_width)>>3; // scaled to fit HIFI updateAudio output
    +
    191  // }else{
    +
    192  // return ((int) sig1 * packet_width)>>8; // scaled to fit STANDARD updateAudio output
    +
    193  // }
    +
    194 
    +
    195  return ((int) sig1 * packet_width);
    +
    196  }
    +
    197 
    +
    198 };
    +
    199 
    +
    200 #endif // #ifndef WAVEPACKET_H
    +
    + + + diff --git a/doc/html/_wave_shaper_8h_source.html b/doc/html/_wave_shaper_8h_source.html index 3b09a8418..0caffa5fc 100644 --- a/doc/html/_wave_shaper_8h_source.html +++ b/doc/html/_wave_shaper_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: WaveShaper.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -95,95 +102,97 @@
    WaveShaper.h
    -
    00001 /*
    -00002  * WaveShaper.h
    -00003  *
    -00004  * Copyright 2012 Tim Barrass.
    -00005  *
    -00006  * This file is part of Mozzi.
    -00007  *
    -00008  * Mozzi is free software: you can redistribute it and/or modify
    -00009  * it under the terms of the GNU General Public License as published by
    -00010  * the Free Software Foundation, either version 3 of the License, or
    -00011  * (at your option) any later version.
    -00012  *
    -00013  * Mozzi is distributed in the hope that it will be useful,
    -00014  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00015  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    -00016  * GNU General Public License for more details.
    -00017  *
    -00018  * You should have received a copy of the GNU General Public License
    -00019  * along with Mozzi.  If not, see <http://www.gnu.org/licenses/>.
    -00020  *
    -00021  */
    -00022 
    -00023 #ifndef WAVESHAPER_H_
    -00024 #define WAVESHAPER_H_
    -00025 
    -00026 #include "Arduino.h"
    -00027 
    -00032 template <class T>
    -00033 class WaveShaper
    -00034                 {}
    -00035 ;
    -00036  // doxygen can ignore the specialisations
    -00038 
    -00040 template <>
    -00041 class WaveShaper < char>
    -00042 {
    -00043 
    -00044 public:
    -00050                 WaveShaper(const char  * TABLE_NAME):table(TABLE_NAME)
    -00051                 {
    -00052                                 ;
    -00053                 }
    -00054 
    -00055 
    -00063                 inline
    -00064                 char next(unsigned char in)
    -00065                 {
    -00066                                 return (char) pgm_read_byte_near(table + in);
    -00067                 }
    -00068 
    -00069 private:
    -00070                 const char  * table;
    -00071 };
    -00072 
    -00073 
    -00074 
    -00076 template <>
    -00077 class WaveShaper <int>
    -00078 {
    -00079 
    -00080 public:
    -00086                 WaveShaper(const int __attribute__((progmem)) * TABLE_NAME):table(TABLE_NAME)
    -00087                 {
    -00088                                 ;
    -00089                 }
    -00090 
    -00091 
    -00102                 inline
    -00103                 int next(int in)
    -00104                 {
    -00105                                 return (unsigned int) pgm_read_word_near(table + in);
    -00106                 }
    -00107 
    -00108 private:
    -00109                 const int __attribute__((progmem)) * table;
    -00110 };
    -00111 
    -00112 
    -00113 #endif /* WAVESHAPER_H_ */
    -00114 
    -00115 
    -
    - - - - +
    1 /*
    +
    2  * WaveShaper.h
    +
    3  *
    +
    4  * Copyright 2012 Tim Barrass.
    +
    5  *
    +
    6  * This file is part of Mozzi.
    +
    7  *
    +
    8  * Mozzi is free software: you can redistribute it and/or modify
    +
    9  * it under the terms of the GNU General Public License as published by
    +
    10  * the Free Software Foundation, either version 3 of the License, or
    +
    11  * (at your option) any later version.
    +
    12  *
    +
    13  * Mozzi is distributed in the hope that it will be useful,
    +
    14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    +
    15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    +
    16  * GNU General Public License for more details.
    +
    17  *
    +
    18  * You should have received a copy of the GNU General Public License
    +
    19  * along with Mozzi. If not, see <http://www.gnu.org/licenses/>.
    +
    20  *
    +
    21  */
    +
    22 
    +
    23 #ifndef WAVESHAPER_H_
    +
    24 #define WAVESHAPER_H_
    +
    25 
    +
    26 #include "Arduino.h"
    +
    27 
    +
    32 template <class T>
    + +
    34  {}
    +
    35 ;
    +
    36  // doxygen can ignore the specialisations
    +
    38 
    +
    40 template <>
    +
    41 class WaveShaper < char>
    +
    42 {
    +
    43 
    +
    44 public:
    +
    50  WaveShaper(const char * TABLE_NAME):table(TABLE_NAME)
    +
    51  {
    +
    52  ;
    +
    53  }
    +
    54 
    +
    55 
    +
    63  inline
    +
    64  char next(unsigned char in)
    +
    65  {
    +
    66  return (char) pgm_read_byte_near(table + in);
    +
    67  }
    +
    68 
    +
    69 private:
    +
    70  const char * table;
    +
    71 };
    +
    72 
    +
    73 
    +
    74 
    +
    76 template <>
    +
    77 class WaveShaper <int>
    +
    78 {
    +
    79 
    +
    80 public:
    +
    86  WaveShaper(const int __attribute__((progmem)) * TABLE_NAME):table(TABLE_NAME)
    +
    87  {
    +
    88  ;
    +
    89  }
    +
    90 
    +
    91 
    +
    102  inline
    +
    103  int next(int in)
    +
    104  {
    +
    105  return (unsigned int) pgm_read_word_near(table + in);
    +
    106  }
    +
    107 
    +
    108 private:
    +
    109  const int __attribute__((progmem)) * table;
    +
    110 };
    +
    111 
    +
    112 
    +
    113 #endif /* WAVESHAPER_H_ */
    +
    114 
    +
    115 
    +
    + + + diff --git a/doc/html/abomb16384__int8_8h_source.html b/doc/html/abomb16384__int8_8h_source.html index 16cd30fa5..e56f404d6 100644 --- a/doc/html/abomb16384__int8_8h_source.html +++ b/doc/html/abomb16384__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: samples/abomb16384_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,737 +99,739 @@
    -
    samples/abomb16384_int8.h
    +
    abomb16384_int8.h
    -
    00001 #ifndef ABOMB_H_
    -00002 #define ABOMB_H_
    -00003  
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010  
    -00011 #define ABOMB_NUM_CELLS 16384
    -00012 #define ABOMB_SAMPLERATE 16384
    -00013  
    -00014 const char __attribute__((progmem)) ABOMB_DATA [] = {-11, -14, -16, -14, -9, -7,
    -00015 -5, -1, 8, 13, 12, 10, 12, 16, 16, 16, 15, 15, 17, 14, 7, 3, 6, 4, 1, -1, -5,
    -00016 -4, -7, -10, -9, -12, -15, -17, -17, -15, -13, -13, -13, -13, -10, -4, -1, 1, 5,
    -00017 11, 13, 14, 15, 15, 15, 14, 15, 16, 15, 16, 13, 7, 10, 8, 0, -1, -1, -2, -3, -8,
    -00018 -9, -13, -14, -13, -14, -14, -10, -6, -7, -10, -4, 2, 2, 3, 5, 8, 14, 16, 13,
    -00019 16, 16, 15, 16, 14, 12, 12, 13, 10, 5, 6, 4, 1, 1, -2, -3, -2, -7, -9, -10, -11,
    -00020 -10, -9, -4, -3, -4, -4, 1, 5, 5, 7, 9, 8, 13, 18, 13, 9, 12, 10, 9, 9, 6, 7, 6,
    -00021 2, 1, 2, 1, -3, -6, -9, -10, -7, -9, -10, -10, -10, -8, -7, -5, -3, -1, 1, 3, 3,
    -00022 4, 9, 9, 6, 8, 10, 11, 9, 7, 6, 4, 3, 2, 1, 3, 3, -1, -5, -7, -8, -7, -8, -10,
    -00023 -7, -4, -6, -5, -6, -5, 0, 1, 0, 4, 8, 7, 5, 7, 9, 10, 9, 8, 8, 6, 7, 6, 4, 4,
    -00024 3, 0, -4, -3, 0, -4, -5, -6, -6, -4, -7, -7, -6, -4, -1, -1, 1, 3, 6, 7, 6, 10,
    -00025 11, 12, 13, 14, 16, 15, 12, 11, 8, 7, 9, 8, 6, 3, 1, 1, -1, -3, -3, -7, -7, -9,
    -00026 -10, -6, -5, -8, -8, -5, -1, 2, 3, 4, 8, 11, 9, 10, 8, 9, 11, 10, 10, 12, 12, 8,
    -00027 5, 3, 3, 3, 0, -4, -5, -5, -7, -10, -14, -14, -10, -10, -13, -10, -8, -10, -8,
    -00028 -6, -5, -4, -2, 2, 5, 8, 6, 5, 6, 6, 10, 11, 7, 10, 12, 10, 10, 4, 0, -2, -5,
    -00029 -6, -10, -8, -8, -10, -10, -10, -7, -5, -6, -4, -5, -5, -4, -3, 1, 4, 7, 6, 7,
    -00030 14, 16, 12, 12, 10, 9, 11, 11, 11, 8, 5, 4, -1, -4, -5, -8, -10, -9, -12, -12,
    -00031 -6, -7, -13, -14, -8, -6, -8, -7, -5, 5, 19, 24, 19, 16, 13, 16, 26, 32, 30, 15,
    -00032 2, -14, -23, -21, -22, -20, -19, -17, -15, -15, -12, -8, -1, -2, -12, -16, -20,
    -00033 -25, -26, -23, -16, -8, -5, 2, 11, 19, 25, 27, 24, 19, 18, 23, 28, 26, 25, 25,
    -00034 22, 21, 28, 31, 32, 31, 18, 7, 1, -1, -4, 3, 9, 3, 5, 12, 14, 12, 9, 9, 9, 9,
    -00035 10, 14, 20, 22, 13, 10, 13, 14, 16, 15, 11, 7, 6, 6, 8, 9, 7, 7, 1, -7, -12,
    -00036 -14, -12, -12, -14, -9, -8, -14, -18, -20, -18, -9, -9, -16, -13, -17, -23, -22,
    -00037 -21, -21, -26, -24, -18, -14, -13, -17, -18, -15, -14, -18, -23, -29, -32, -32,
    -00038 -35, -34, -29, -29, -30, -29, -28, -32, -30, -26, -22, -14, -11, -13, -6, -3,
    -00039 -8, 0, 4, 2, 12, 22, 23, 23, 18, 2, -1, 11, 12, 11, 18, 13, 1, 4, 14, 16, 8, 4,
    -00040 9, 8, 4, 4, 11, 18, 19, 29, 28, 17, 27, 33, 28, 25, 23, 21, 24, 26, 31, 35, 36,
    -00041 34, 33, 31, 32, 31, 18, 22, 28, 19, 20, 22, 20, 23, 20, 12, 17, 22, 17, 13, 10,
    -00042 7, 10, 21, 26, 22, 18, 16, 15, 16, 15, 16, 13, 6, 9, 13, 16, 15, 8, 2, 4, 1, -7,
    -00043 -6, -11, -14, -10, -13, -17, -11, -4, -4, -2, -2, -7, -12, -13, -10, -9, -8, -7,
    -00044 -4, 4, 6, 5, 7, 3, 1, -2, -6, -1, 8, 6, 0, -3, -7, -7, -4, -8, -14, -19, -26,
    -00045 -26, -27, -28, -25, -26, -30, -32, -31, -22, -17, -18, -17, -23, -19, -17, -27,
    -00046 -18, -10, -19, -16, -12, -16, -14, -8, -6, -9, -7, -14, -25, -19, -11, -15, -17,
    -00047 -16, -18, -19, -19, -16, -16, -16, -8, -11, -19, -18, -15, -19, -20, -14, -11,
    -00048 -12, -15, -17, -15, -20, -24, -16, -11, -6, 0, 5, 8, 5, 3, 1, 3, 0, 3, 8, 5, 4,
    -00049 1, 2, 9, 7, 2, 7, 9, 3, 5, 8, 10, 11, 12, 16, 16, 25, 26, 21, 24, 29, 34, 29,
    -00050 29, 32, 27, 27, 26, 21, 22, 26, 26, 26, 23, 18, 23, 25, 19, 17, 22, 23, 21, 24,
    -00051 27, 23, 22, 22, 21, 25, 27, 31, 30, 25, 29, 30, 25, 26, 27, 24, 21, 18, 16, 15,
    -00052 16, 18, 15, 7, 6, 9, 6, 5, 6, 6, 5, 6, 6, 3, 8, 11, 9, 8, 2, 1, 1, 2, 6, 9, 6,
    -00053 2, 5, 4, 0, 2, 2, 1, -4, -4, 1, -3, -4, -2, -6, -7, -6, -9, -15, -17, -11, -7,
    -00054 -8, -7, -8, -11, -9, -5, -9, -14, -11, -9, -12, -7, -6, -3, 6, 2, -3, 3, 4, 0,
    -00055 -2, 3, 2, -4, -3, -1, 3, 4, -2, -5, -3, -5, -7, -8, -7, -4, 0, 1, -8, -10, -6,
    -00056 -5, -1, 2, 1, 1, 2, 6, 2, -1, 3, 1, 4, 5, 1, -1, 1, 2, -3, -5, -6, -10, -11,
    -00057 -10, -15, -15, -12, -15, -17, -17, -14, -13, -15, -13, -11, -14, -15, -10, -11,
    -00058 -13, -11, -13, -14, -15, -14, -13, -16, -16, -14, -16, -13, -11, -12, -13, -12,
    -00059 -15, -22, -20, -20, -25, -23, -18, -22, -25, -19, -19, -17, -17, -18, -15, -16,
    -00060 -17, -15, -7, -6, -11, -11, -13, -9, -6, -7, -6, -6, -10, -7, -6, -5, -4, -6,
    -00061 -3, -2, 1, 6, 4, 2, 3, -1, -3, -2, 1, 2, 1, 5, 4, 2, 7, 8, 7, 11, 13, 13, 13,
    -00062 10, 13, 18, 18, 12, 11, 16, 14, 11, 11, 11, 6, 2, 1, 1, 5, 7, 8, 9, 7, 6, 8, 11,
    -00063 11, 12, 13, 9, 7, 11, 13, 15, 18, 18, 16, 15, 16, 14, 10, 15, 17, 13, 10, 12,
    -00064 13, 12, 17, 17, 14, 11, 13, 17, 16, 15, 12, 7, 6, 12, 15, 14, 16, 14, 10, 14,
    -00065 17, 19, 21, 18, 18, 17, 15, 17, 18, 15, 16, 11, 7, 7, 10, 11, 10, 12, 13, 16,
    -00066 15, 13, 12, 10, 11, 12, 15, 15, 16, 20, 21, 19, 16, 18, 21, 20, 20, 21, 21, 20,
    -00067 18, 16, 15, 17, 17, 17, 17, 12, 9, 10, 9, 11, 10, 6, 6, 8, 10, 10, 8, 5, 3, 4,
    -00068 3, 2, 4, 5, 3, 5, 4, 3, 5, 6, 9, 9, 8, 9, 8, 9, 8, 9, 8, 7, 5, 0, 0, 0, -1, 0,
    -00069 1, -3, -6, -6, -10, -12, -11, -10, -9, -9, -6, -3, -4, -5, -5, -5, -8, -8, -5,
    -00070 -4, -2, 0, 0, -3, -7, -5, -8, -11, -10, -10, -9, -11, -11, -11, -12, -12, -13,
    -00071 -12, -11, -13, -14, -13, -12, -13, -13, -12, -11, -9, -8, -8, -8, -7, -5, -5,
    -00072 -5, -6, -6, -5, -7, -10, -11, -9, -9, -10, -11, -9, -8, -9, -9, -10, -11, -12,
    -00073 -14, -14, -13, -13, -13, -14, -14, -14, -14, -14, -12, -11, -11, -12, -12, -11,
    -00074 -9, -9, -11, -11, -10, -11, -12, -13, -14, -14, -15, -12, -12, -14, -15, -14,
    -00075 -14, -13, -10, -11, -11, -13, -14, -12, -10, -9, -10, -10, -9, -10, -11, -9, -8,
    -00076 -9, -9, -7, -5, -6, -5, -3, -4, -5, -5, -6, -9, -6, -5, -8, -8, -9, -8, -5, -8,
    -00077 -9, -4, -3, -3, -4, -8, -7, -6, -6, -5, -6, -5, -2, -2, -3, -1, 1, 0, -1, -2,
    -00078 -4, -6, -5, -3, -2, -2, -2, -4, -6, -4, -4, -5, -5, -5, -5, -2, 0, -2, -3, -1,
    -00079 0, 0, 1, 0, -3, 1, 4, 2, 2, 3, 3, 6, 10, 6, 3, 6, 9, 7, 6, 6, 3, 3, 3, 2, 4, 5,
    -00080 7, 8, 10, 10, 10, 12, 11, 12, 13, 12, 13, 13, 15, 16, 18, 19, 19, 19, 20, 19,
    -00081 19, 20, 21, 20, 18, 19, 18, 17, 19, 19, 18, 20, 23, 22, 23, 23, 20, 19, 21, 20,
    -00082 22, 18, 19, 22, 25, 31, 24, 23, 27, 25, 27, 26, 25, 25, 25, 28, 26, 22, 23, 24,
    -00083 22, 21, 20, 18, 17, 21, 23, 22, 19, 17, 17, 16, 17, 18, 17, 19, 18, 16, 15, 16,
    -00084 14, 16, 17, 10, 12, 15, 16, 16, 15, 15, 16, 13, 10, 10, 8, 7, 8, 7, 6, 8, 7, 3,
    -00085 4, 5, 3, 3, 0, -4, 0, 3, 0, 1, 2, 1, 1, 3, 4, 5, 4, 3, 2, 2, 2, 5, 6, 4, 4, 3,
    -00086 4, 4, 1, 2, 2, 0, 1, 2, 2, 1, 3, 5, 8, 9, 6, 2, 3, 3, 2, 3, 3, 4, 3, 1, 1, 0,
    -00087 -2, -4, -3, -4, -1, -1, -4, -1, -1, -2, -1, -2, -3, -2, -1, -3, -6, -6, -8, -8,
    -00088 -8, -10, -13, -14, -13, -14, -12, -10, -10, -12, -11, -9, -8, -10, -12, -11,
    -00089 -10, -11, -11, -13, -15, -13, -14, -15, -13, -13, -15, -14, -15, -16, -14, -14,
    -00090 -15, -18, -18, -16, -18, -19, -17, -17, -16, -17, -18, -16, -15, -15, -15, -12,
    -00091 -13, -14, -12, -12, -13, -13, -11, -12, -13, -14, -12, -11, -11, -12, -11, -9,
    -00092 -9, -12, -15, -16, -16, -15, -10, -8, -9, -10, -6, -5, -7, -6, -6, -6, -7, -6,
    -00093 -5, -6, -5, -6, -6, -7, -6, -3, -4, -4, -4, -6, -4, -4, -7, -6, -5, -5, -7, -7,
    -00094 -6, -7, -7, -6, -7, -9, -9, -6, -5, -7, -4, -3, -4, -5, -4, -2, -2, -4, -5, -3,
    -00095 -3, -3, 1, 1, -1, -3, -4, -4, -4, -6, -7, -5, -8, -10, -6, -6, -7, -6, -4, -3,
    -00096 -4, -6, -5, -2, 0, 3, 2, 0, 1, 3, 3, 2, 2, 1, 2, 4, 3, 1, 1, 1, 2, 5, 6, 6, 7,
    -00097 6, 8, 6, 5, 6, 2, 2, 4, 5, 6, 7, 6, 8, 9, 9, 11, 10, 11, 9, 8, 11, 10, 10, 12,
    -00098 10, 10, 11, 10, 12, 15, 16, 16, 16, 14, 10, 9, 11, 12, 13, 13, 11, 10, 9, 10, 8,
    -00099 7, 11, 9, 8, 10, 10, 11, 11, 13, 15, 13, 11, 15, 16, 15, 16, 14, 13, 15, 10, 10,
    -00100 11, 10, 11, 10, 11, 10, 8, 8, 10, 9, 8, 8, 6, 7, 7, 9, 11, 12, 11, 13, 13, 12,
    -00101 13, 11, 9, 10, 9, 8, 10, 12, 12, 13, 11, 10, 10, 9, 9, 10, 10, 8, 6, 7, 7, 6, 8,
    -00102 9, 7, 5, 8, 9, 7, 7, 7, 8, 7, 8, 9, 9, 8, 8, 9, 9, 11, 11, 10, 11, 13, 13, 11,
    -00103 10, 9, 8, 8, 7, 4, 3, 4, 6, 6, 5, 5, 6, 5, 4, 6, 8, 6, 3, 5, 7, 8, 9, 7, 5, 6,
    -00104 7, 4, 3, 4, 3, 4, 3, 2, 3, 3, 4, 2, 2, 3, 3, 2, 1, 1, 2, 0, -1, -1, -3, -3, -1,
    -00105 -3, 0, 2, 0, 0, 1, 0, -1, -1, 0, 2, 1, -1, 0, 1, 1, -2, -3, -1, 1, 2, 2, 0, 0,
    -00106 -1, -3, -4, -3, -4, -5, -4, -5, -5, -6, -4, -1, -3, -1, 0, 0, 2, 1, 1, -1, 0, 1,
    -00107 0, 3, 5, 1, -1, 1, 0, -3, -4, -1, 1, 0, 1, 1, 0, 1, 0, -1, -2, -6, -7, -6, -5,
    -00108 -3, -2, -4, -4, -1, 0, 0, -2, -4, -2, -1, -1, -2, -4, -2, 0, -2, -3, -2, -3, -4,
    -00109 -2, -3, -4, -3, -1, -1, 0, -1, -3, -3, -3, -4, -4, -5, -4, -3, -3, -5, -6, -5,
    -00110 -6, -6, -4, -4, -2, -3, -4, -3, -2, -2, -2, -3, -4, -4, -5, -4, -3, -3, -2, -3,
    -00111 -4, -4, -3, -3, -4, -4, -3, -4, -4, -2, -4, -5, -6, -6, -5, -3, 0, 1, 0, 0, 1,
    -00112 0, -2, -1, 0, -3, -3, 0, -3, -2, -1, -3, -3, -6, -5, -6, -7, -5, -6, -5, -3, -5,
    -00113 -7, -5, -4, -5, -4, -5, -6, -5, -5, -6, -5, -6, -5, -3, -4, -5, -4, -3, -4, -5,
    -00114 -4, -5, -7, -6, -5, -3, -3, -3, -4, -3, -3, -6, -5, -4, -6, -7, -6, -5, -5, -6,
    -00115 -7, -6, -6, -5, -4, -5, -6, -5, -4, -4, -3, -2, -2, 0, 0, -2, -2, -2, -3, -3,
    -00116 -4, -5, -4, -2, -2, -3, -4, -3, -1, 0, 2, 1, -2, -2, -1, -3, -2, 0, 2, 3, 2, 3,
    -00117 3, 4, 5, 3, 4, 4, 2, 3, 4, 5, 4, 2, 3, 2, 1, 3, 3, 4, 4, 3, 2, 3, 5, 5, 4, 3, 2,
    -00118 3, 3, 5, 4, 6, 6, 4, 4, 5, 6, 7, 6, 7, 6, 8, 9, 7, 8, 8, 6, 7, 6, 7, 6, 6, 7, 6,
    -00119 7, 7, 4, 6, 7, 6, 5, 4, 5, 6, 6, 7, 7, 6, 5, 6, 7, 6, 6, 5, 6, 8, 8, 9, 10, 8,
    -00120 8, 7, 8, 10, 7, 6, 7, 6, 5, 6, 9, 6, 6, 7, 8, 6, 3, 5, 6, 5, 5, 5, 6, 8, 9, 9,
    -00121 8, 5, 5, 7, 7, 7, 8, 7, 6, 6, 7, 8, 7, 7, 8, 7, 7, 6, 5, 6, 6, 6, 5, 5, 6, 6, 7,
    -00122 5, 4, 5, 7, 7, 5, 6, 7, 6, 7, 7, 8, 8, 7, 8, 6, 6, 8, 7, 4, 6, 6, 7, 7, 5, 6, 6,
    -00123 5, 5, 4, 5, 4, 4, 4, 3, 2, 4, 4, 5, 6, 7, 6, 5, 4, 5, 6, 4, 3, 2, 2, 3, 2, 3, 3,
    -00124 3, 4, 3, 2, 2, 1, 2, 2, 3, 3, 1, 1, 3, 0, 0, 0, 0, 1, 1, 1, 1, -1, -1, 1, 2, 2,
    -00125 2, 2, 3, 2, 1, 1, 2, -1, -3, 0, 0, 0, 1, 0, 0, 2, 4, 2, -1, 0, 0, -1, 1, 0, -4,
    -00126 -4, -2, -2, 0, 1, 0, 0, -1, -1, 1, 1, 0, 0, -2, -2, -1, -1, 1, 0, -1, 0, 0, -1,
    -00127 -2, -2, -4, -4, -3, -3, -2, -3, -4, -4, -4, -3, -2, -2, -3, -4, -4, -4, -3, -4,
    -00128 -3, -1, -2, -2, -2, -1, 1, 2, 3, 0, -1, 0, -1, -1, 0, -1, -2, -2, -1, 0, -1, 0,
    -00129 -1, -3, -2, -1, -1, -2, -1, 0, -1, 0, 0, 0, 0, -2, -2, -1, -1, 1, -1, -2, 0, 1,
    -00130 0, 0, -1, 0, 0, 0, -1, -2, -1, 0, -1, -1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, -1,
    -00131 -1, -1, -3, -3, 0, 1, 2, 3, 1, 1, 2, 2, 0, 1, 2, 1, 1, 1, 0, 1, 2, 1, 0, 1, 2,
    -00132 1, 1, 0, 1, 4, 2, 2, 3, 2, 3, 4, 5, 4, 1, 3, 2, 1, 3, 3, 2, 3, 3, 2, 4, 4, 3, 3,
    -00133 2, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 2, 2, 3, 3, 2, 3, 3, 2, 3, 2, 0, 0, -2, -2, 0,
    -00134 -1, -3, -2, 1, 3, 3, 2, 0, 0, 1, 0, -1, 0, -1, 0, -1, 0, -1, -3, -3, -1, -1, -2,
    -00135 -3, -3, -4, -3, -1, 0, -2, -3, -2, -2, -1, -1, -1, -1, -4, -2, -4, -4, -1, -3,
    -00136 -3, -1, -1, -2, -3, -3, 0, 1, 0, 1, 0, 1, 0, 0, -1, -1, -1, 0, 0, 0, 0, -1, -1,
    -00137 0, -2, -1, 1, 0, 1, 2, 1, 2, 2, 1, 2, 1, 0, 1, 2, 2, 3, 2, 2, 3, 5, 4, 3, 5, 6,
    -00138 5, 3, 1, 2, 1, 2, 3, 2, 3, 3, 2, 1, 1, 2, 3, 3, 3, 2, 1, 1, 1, 2, 1, 1, 1, 2, 2,
    -00139 2, 1, -1, 2, 2, 1, 2, 3, 3, 2, 2, 1, 1, 2, 2, 2, 3, 2, 2, 3, 4, 3, 3, 2, 3, 3,
    -00140 3, 2, 3, 3, 4, 4, 3, 1, 2, 3, 2, 2, 3, 4, 3, 2, 2, 0, 0, 2, 2, 1, -1, 0, 1, 1,
    -00141 2, 1, 0, 1, 1, 1, 2, 1, 0, 1, 2, 1, 2, 1, 1, 2, 2, 1, 2, 1, 1, 2, 1, 2, 3, 1, 2,
    -00142 1, 0, 1, 2, 1, 2, 4, 6, 5, 4, 3, 4, 6, 6, 5, 4, 3, 4, 4, 4, 3, 2, 5, 6, 5, 5, 3,
    -00143 2, 3, 4, 5, 4, 4, 4, 4, 3, 3, 2, 3, 3, 4, 6, 4, 4, 6, 5, 4, 4, 2, 2, 4, 5, 6, 5,
    -00144 4, 4, 3, 4, 4, 5, 4, 4, 3, 2, 5, 7, 5, 3, 3, 2, 1, 2, 3, 2, 3, 3, 2, 3, 2, 1, 1,
    -00145 2, 1, 1, 2, 3, 4, 3, 3, 2, 3, 2, 2, 2, 2, 2, 3, 3, 1, 0, 1, 2, 2, 1, 0, 1, 1, 2,
    -00146 3, 2, 2, 3, 3, 5, 4, 3, 3, 2, 3, 3, 3, 3, 4, 3, 3, 4, 5, 5, 5, 4, 3, 4, 5, 4, 2,
    -00147 3, 3, 2, 2, 1, 1, 2, 2, 3, 2, 2, 3, 3, 2, 3, 3, 2, 1, 2, 3, 3, 2, 2, 1, 2, 5, 5,
    -00148 3, 2, 3, 2, 3, 4, 3, 2, 3, 1, 1, 1, 1, 3, 3, 2, 2, 1, 0, 1, 0, 1, 2, 2, 2, 1, 1,
    -00149 1, 0, 0, -1, -3, 1, 2, 0, -1, -3, -1, 0, -1, 0, -1, -2, -1, -2, -2, -3, -4, -3,
    -00150 -2, -1, -2, -3, -2, -2, -2, -2, -2, -1, -1, 0, -1, -2, -3, -2, -3, -3, -1, 0,
    -00151 -3, -2, 0, -2, -3, -3, -4, -3, -2, -2, -1, -1, 0, 0, -1, -2, -1, 1, 0, 0, 1, 1,
    -00152 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, -1, 0, 1, 0, -1, 0, 0, 2, 3, 2, 1, 2, 2, 1,
    -00153 0, 1, 0, 0, 2, 2, 1, 1, 2, 3, 3, 3, 4, 2, 1, 3, 2, 2, 4, 3, 2, 3, 4, 4, 3, 3, 4,
    -00154 3, 2, 2, 3, 4, 3, 3, 2, 3, 4, 5, 5, 4, 3, 4, 3, 4, 4, 3, 2, 3, 4, 5, 4, 3, 2, 3,
    -00155 4, 5, 4, 4, 4, 4, 3, 2, 2, 2, 4, 5, 3, 1, 2, 3, 2, 3, 2, 2, 3, 3, 2, 3, 2, 3, 2,
    -00156 1, 2, 1, 0, 1, 3, 2, 0, -1, 0, 2, 1, 0, 2, 3, 1, 0, 1, 2, 1, 1, 0, 0, 1, 1, 0,
    -00157 -2, -2, -1, -1, 0, 2, 1, -1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1,
    -00158 1, 0, 1, 1, 0, -1, -1, -1, -1, -1, 0, 0, 1, 0, 1, 2, 2, 1, 0, 0, 1, 2, 1, 0, -1,
    -00159 -1, 0, 1, 1, 0, 0, 0, -1, 0, 1, 1, 2, 1, 1, 1, 2, 1, -1, 0, 1, 3, 2, 1, 2, 1, 2,
    -00160 1, 1, 0, 1, 1, 0, 1, 0, -1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 3, 2, 1, 2, 1, 1, 2, 3,
    -00161 1, 0, 0, -1, 0, 0, -1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 2, 2, 1, 2, 2, 1,
    -00162 2, 3, 3, 2, 3, 2, 4, 3, 1, 2, 2, 2, 2, 3, 3, 1, 2, 1, 2, 1, 0, 1, 3, 3, 3, 4, 4,
    -00163 3, 3, 4, 3, 2, 3, 2, 3, 2, 3, 2, 1, 2, 2, 3, 4, 2, 3, 2, 2, 3, 2, 3, 3, 2, 3, 2,
    -00164 3, 4, 3, 0, 1, 1, 2, 1, 2, 3, 2, 3, 3, 1, 2, 3, 3, 2, 2, 3, 2, 1, 1, 2, 3, 4, 2,
    -00165 2, 3, 4, 3, 2, 2, 3, 4, 5, 2, 1, 1, 1, 3, 4, 3, 2, 3, 3, 2, 3, 3, 2, 1, 3, 4, 3,
    -00166 3, 4, 3, 4, 3, 2, 3, 3, 3, 2, 1, 2, 3, 5, 4, 3, 3, 5, 5, 4, 4, 3, 2, 2, 2, 3, 3,
    -00167 3, 2, 2, 3, 4, 5, 5, 4, 2, 3, 5, 4, 4, 3, 3, 4, 3, 4, 3, 2, 3, 2, 2, 1, 1, 3, 2,
    -00168 3, 1, 1, 3, 4, 4, 3, 2, 2, 1, 3, 5, 3, 2, 3, 1, 2, 4, 3, 1, 2, 3, 3, 3, 2, 1, 0,
    -00169 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 2, 4, 4, 2, 1, 1, 2, 2, 1, 2, 2, 3, 2, 2, 1, 2,
    -00170 1, 2, 2, 2, 1, 0, -1, -1, 0, 0, -1, 0, 1, 0, 1, 0, 1, 2, 2, 1, 1, 0, 1, 2, 1, 0,
    -00171 0, 2, 3, 2, 1, 2, 1, 1, 2, 1, 1, -1, -2, -1, 0, 0, -1, -3, -2, -1, -2, -1, -1,
    -00172 -2, -3, -3, -2, -3, -2, 0, -1, 0, 0, -1, 0, -1, 1, 3, 1, -1, 0, 1, 0, -1, 0, 1,
    -00173 0, 1, 2, 1, 0, -1, 0, -1, -1, -2, -1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 2, 3, 2, 2,
    -00174 3, 2, 3, 3, 2, 3, 4, 3, 2, 4, 3, 2, 3, 2, 3, 2, 3, 4, 4, 3, 2, 1, 2, 1, 2, 3, 2,
    -00175 3, 2, 2, 3, 4, 4, 3, 3, 4, 3, 4, 3, 4, 4, 3, 4, 5, 5, 3, 3, 4, 4, 4, 4, 2, 2, 2,
    -00176 3, 4, 2, 2, 3, 3, 3, 2, 2, 3, 3, 4, 5, 4, 4, 5, 5, 5, 5, 4, 3, 3, 4, 5, 5, 4, 4,
    -00177 2, 2, 3, 2, 3, 2, 2, 3, 2, 3, 3, 1, 1, 2, 3, 3, 3, 2, 4, 5, 4, 4, 5, 6, 5, 4, 3,
    -00178 4, 5, 5, 4, 3, 4, 5, 3, 3, 3, 3, 4, 3, 2, 1, 0, 1, 0, 1, 2, 1, 2, 2, 1, 0, 1, 0,
    -00179 1, 2, 3, 3, 2, 3, 3, 2, 2, 3, 2, 3, 2, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, -1, 0, 1,
    -00180 1, 0, -1, -1, -3, -2, -1, -1, 0, -2, -2, -1, 2, 1, -1, 0, 1, 1, 2, 0, -1, 0, 1,
    -00181 2, 2, 2, 1, -1, -2, -1, 0, -1, 0, -1, -1, 0, 0, 1, 0, 1, 0, 1, 2, 1, 0, -1, 0,
    -00182 1, 1, 2, 2, 1, 2, 1, 0, 1, 1, 1, 3, 2, 1, 0, -1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1,
    -00183 1, -1, -1, 1, 2, 1, 2, 2, 3, 3, 2, 2, 1, 1, 2, 1, 2, 1, 1, 2, 2, 2, 3, 2, 2, 1,
    -00184 0, 0, 0, -1, 0, 1, 1, 2, 1, 0, 0, -1, 0, 3, 3, 2, 3, 2, 2, 3, 3, 2, 3, 4, 2, 3,
    -00185 5, 4, 3, 3, 4, 3, 1, 1, 2, 1, 1, 2, 1, 0, 1, 2, 1, 2, 3, 2, 1, 2, 3, 3, 4, 3, 4,
    -00186 4, 5, 5, 4, 3, 3, 3, 3, 4, 5, 4, 4, 4, 3, 2, 3, 3, 2, 2, 1, 2, 1, 1, 1, 2, 3, 2,
    -00187 1, 2, 3, 3, 4, 4, 3, 4, 5, 4, 3, 4, 3, 4, 3, 4, 5, 3, 2, 2, 2, 3, 2, 1, -1, -2,
    -00188 -1, 0, -1, 0, 0, 0, 1, 2, 2, 0, 1, 1, 2, 1, 1, 2, 3, 3, 2, 3, 2, 2, 3, 2, 1, 2,
    -00189 1, 0, 1, 1, 0, 0, -1, 0, -1, 0, -1, -2, 0, -2, -3, -1, -1, 1, 2, 0, 1, 2, 2, 3,
    -00190 3, 4, 4, 5, 4, 4, 3, 4, 3, 4, 5, 4, 3, 2, 2, 2, 0, 2, 3, 3, 2, 1, 2, 1, 2, 1, 2,
    -00191 3, 3, 2, 3, 5, 4, 2, 4, 4, 4, 5, 5, 4, 4, 5, 4, 3, 4, 4, 4, 3, 0, 1, 1, 1, 2, 0,
    -00192 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 2, 1, 1, 2, 2, 1, 0, -1, 0, 2, 2, 3, 6, 5, 5,
    -00193 4, 2, 1, 0, -2, -3, 0, 2, -1, -1, 0, 1, 2, 0, 1, 2, 1, 2, 1, 0, 0, -1, 0, 0, 2,
    -00194 2, 1, 2, 1, 1, 1, 1, 1, -1, -2, -1, -2, -2, -2, -4, 0, -1, -4, 2, 3, -5, -4, 1,
    -00195 2, -2, -6, -3, 3, 4, 0, -5, -2, 6, 15, 20, 16, 8, 1, 3, 11, 19, 23, 16, 5, -13,
    -00196 -21, -22, -25, -23, -19, -16, -19, -19, -14, -6, 7, 11, 6, 1, -4, -9, -12, -10,
    -00197 -7, -5, -3, 0, 8, 17, 29, 31, 23, 18, 16, 18, 19, 20, 18, 16, 13, 11, 16, 19,
    -00198 21, 22, 19, 12, 1, -6, -6, 3, 11, 16, 17, 14, 11, 12, 13, 12, 11, 8, 7, 14, 18,
    -00199 17, 15, 13, 11, 10, 5, 3, 3, 3, 7, 7, 5, 6, 7, 5, 3, 2, 2, -3, -10, -11, -9, -4,
    -00200 0, -1, -8, -13, -11, -9, -5, -4, -7, -10, -9, -10, -12, -19, -26, -26, -22, -20,
    -00201 -20, -16, -14, -19, -22, -18, -15, -13, -16, -23, -26, -27, -32, -33, -29, -22,
    -00202 -19, -16, -20, -24, -18, -13, -10, -9, -9, -7, -8, -10, -9, -10, -9, -5, 2, 9,
    -00203 17, 21, 22, 19, 17, 12, 3, -5, -5, 1, 6, 10, 16, 18, 19, 13, 11, 9, 7, 14, 16,
    -00204 15, 17, 20, 23, 22, 25, 31, 26, 14, 9, 10, 11, 16, 21, 19, 22, 26, 23, 22, 26,
    -00205 26, 27, 25, 14, 8, 11, 12, 10, 12, 15, 19, 23, 22, 20, 18, 13, 14, 21, 20, 20,
    -00206 19, 16, 21, 21, 14, 9, 5, 2, 5, 3, 1, 5, 5, 2, 1, 1, -1, 0, -1, -5, -11, -18,
    -00207 -18, -15, -12, -8, -5, -5, -5, -1, 5, 3, -6, -5, 0, 0, -4, -9, -10, -8, -8, -11,
    -00208 -10, -10, -12, -11, -7, -8, -13, -16, -15, -13, -11, -8, -5, -7, -10, -12, -13,
    -00209 -14, -21, -28, -31, -26, -18, -15, -9, -9, -15, -13, -9, -6, -6, -8, -9, -11,
    -00210 -13, -8, -7, -9, -8, -10, -16, -19, -17, -20, -22, -20, -20, -21, -19, -11, -8,
    -00211 -8, -5, -4, -2, -1, -2, -1, -3, -7, -5, -8, -10, -10, -10, -9, -9, -11, -13,
    -00212 -10, -5, -2, -6, -7, -6, -4, -2, -1, -1, -3, 0, 4, 4, 10, 9, 4, 7, 8, 7, 7, 7,
    -00213 6, 8, 14, 17, 12, 12, 15, 15, 16, 17, 14, 11, 11, 10, 13, 15, 16, 18, 17, 16,
    -00214 15, 16, 17, 15, 12, 13, 17, 20, 24, 26, 25, 23, 19, 18, 16, 17, 20, 20, 17, 19,
    -00215 22, 21, 21, 20, 18, 17, 16, 15, 16, 19, 24, 24, 19, 14, 13, 18, 19, 16, 13, 9,
    -00216 12, 18, 19, 15, 15, 13, 9, 10, 12, 16, 15, 8, 12, 11, 7, 8, 8, 11, 10, 9, 9, 5,
    -00217 1, 5, 7, 2, 3, 5, 3, 3, -5, -11, -7, -3, 1, 0, -3, -2, -1, 3, 1, 0, 0, -6, -7,
    -00218 -8, -8, -5, -3, -6, -9, -9, -8, -7, -8, -5, 1, -4, -7, -4, -5, -7, -7, -4, -6,
    -00219 -9, -6, -6, -6, -2, 1, -1, -4, -7, -12, -10, -4, -1, 0, -2, -5, -7, -7, -5, -4,
    -00220 -7, -5, 0, 1, -3, -5, -6, -3, -1, -3, -5, -6, -6, -6, -9, -10, -9, -10, -10,
    -00221 -10, -9, -7, -5, -7, -10, -12, -11, -10, -10, -10, -9, -7, -10, -11, -15, -17,
    -00222 -16, -16, -12, -10, -12, -15, -16, -16, -15, -13, -13, -14, -11, -11, -12, -10,
    -00223 -8, -9, -12, -14, -14, -14, -13, -12, -13, -15, -14, -9, -7, -10, -12, -11, -10,
    -00224 -6, -5, -9, -12, -15, -14, -12, -10, -8, -7, -8, -7, -5, -6, -6, -7, -9, -8, -6,
    -00225 -3, 0, 3, 4, 3, 3, 4, 1, 1, 4, 5, 2, 4, 9, 10, 9, 10, 12, 8, 7, 7, 2, 1, 4, 6,
    -00226 7, 7, 8, 10, 11, 10, 8, 10, 9, 8, 12, 13, 8, 6, 8, 6, 8, 12, 11, 9, 7, 6, 6, 6,
    -00227 5, 7, 9, 8, 10, 10, 7, 9, 12, 9, 7, 11, 15, 11, 11, 13, 11, 7, 7, 10, 10, 13,
    -00228 13, 11, 6, 5, 9, 11, 14, 16, 13, 13, 14, 15, 16, 15, 16, 16, 19, 22, 20, 20, 17,
    -00229 16, 11, 6, 10, 15, 12, 12, 13, 14, 17, 18, 17, 17, 14, 14, 16, 15, 16, 14, 11,
    -00230 10, 10, 13, 15, 14, 15, 16, 15, 16, 17, 15, 13, 13, 14, 13, 15, 15, 16, 15, 14,
    -00231 17, 16, 15, 16, 12, 10, 13, 12, 11, 12, 14, 12, 9, 7, 7, 6, 6, 7, 6, 5, 5, 4, 4,
    -00232 5, 4, 4, 5, 4, 3, 0, 1, 4, 3, 3, 3, 1, -2, -2, 2, 0, -3, -3, -5, -8, -7, -7, -9,
    -00233 -7, -3, -5, -5, -3, -6, -5, -5, -7, -5, -7, -9, -8, -5, -6, -7, -6, -8, -10,
    -00234 -10, -8, -10, -7, -3, -6, -9, -10, -13, -15, -15, -13, -12, -8, -8, -10, -9,
    -00235 -10, -10, -8, -9, -8, -7, -6, -8, -9, -8, -10, -8, -8, -13, -14, -14, -13, -11,
    -00236 -13, -12, -11, -12, -13, -13, -10, -9, -8, -6, -10, -12, -7, -7, -8, -8, -9, -8,
    -00237 -9, -7, -5, -10, -10, -9, -7, -7, -8, -7, -11, -11, -8, -8, -9, -8, -7, -8, -10,
    -00238 -11, -10, -11, -10, -10, -10, -11, -11, -10, -9, -6, -5, -6, -10, -11, -8, -11,
    -00239 -9, -7, -8, -6, -6, -4, -4, -7, -9, -8, -5, -5, -5, -3, -5, -6, -4, -4, -4, -4,
    -00240 -4, -5, -4, -5, -6, -5, -5, -6, -5, -5, -6, -4, -3, -4, -5, -6, -7, -5, -2, -1,
    -00241 0, 0, 0, 1, 1, -1, 0, 3, 2, 0, 1, 2, 0, -2, 1, 0, -1, 2, 0, -1, 0, 0, 0, 1, 2,
    -00242 3, 2, 3, 3, 2, 3, 4, 5, 5, 4, 6, 7, 7, 7, 6, 6, 7, 8, 10, 8, 7, 5, 5, 6, 6, 5,
    -00243 6, 6, 7, 7, 6, 8, 8, 7, 8, 10, 9, 7, 7, 9, 10, 12, 12, 10, 10, 11, 12, 13, 14,
    -00244 15, 16, 15, 16, 15, 15, 16, 14, 12, 13, 15, 13, 11, 14, 17, 17, 15, 16, 15, 13,
    -00245 12, 11, 12, 14, 16, 17, 18, 19, 18, 17, 17, 16, 15, 16, 18, 18, 15, 16, 15, 15,
    -00246 18, 19, 19, 18, 19, 19, 17, 17, 16, 15, 16, 15, 17, 17, 17, 15, 14, 12, 10, 10,
    -00247 11, 10, 12, 11, 11, 15, 15, 11, 15, 15, 11, 12, 9, 5, 5, 4, 4, 7, 9, 9, 8, 7, 6,
    -00248 9, 7, 4, 6, 5, 5, 5, 6, 5, 4, 4, 5, 4, 5, 4, 2, 4, 4, 2, 2, 3, 5, 4, 5, 7, 5, 4,
    -00249 3, 3, 2, 3, 5, 4, 2, 2, 2, 3, 1, -1, 1, 3, 2, 3, 4, 4, 3, 5, 7, 5, 4, 2, 1, 0,
    -00250 -1, -1, 0, 1, 0, -2, -1, 2, 0, -1, 0, 0, 1, 1, -2, -4, -4, -7, -5, -5, -8, -7,
    -00251 -6, -6, -6, -5, -5, -4, -2, -4, -7, -8, -8, -9, -9, -9, -9, -11, -11, -10, -10,
    -00252 -12, -11, -11, -13, -13, -12, -13, -14, -13, -12, -13, -13, -14, -14, -15, -17,
    -00253 -15, -13, -14, -14, -18, -20, -16, -14, -13, -12, -13, -14, -14, -12, -13, -13,
    -00254 -12, -13, -13, -12, -10, -10, -13, -13, -13, -15, -15, -16, -13, -10, -10, -9,
    -00255 -9, -10, -8, -8, -10, -9, -10, -11, -10, -11, -10, -7, -8, -8, -7, -6, -7, -8,
    -00256 -10, -12, -10, -8, -7, -7, -6, -6, -6, -7, -6, -8, -7, -6, -8, -7, -6, -8, -7,
    -00257 -5, -4, -3, -2, -3, -4, -5, -5, -6, -4, -3, -5, -4, -2, -3, -2, -3, -4, -5, -4,
    -00258 -3, -5, -4, -3, -3, -4, -3, -3, -4, 0, 2, 0, -3, -4, -3, -1, -1, 0, 1, 3, 1, 2,
    -00259 3, 1, 2, 1, 1, 3, 4, 4, 2, 4, 4, 5, 6, 6, 6, 5, 8, 11, 9, 5, 5, 6, 8, 9, 9, 12,
    -00260 9, 9, 11, 10, 11, 10, 11, 11, 9, 10, 10, 11, 16, 13, 11, 10, 7, 8, 11, 12, 11,
    -00261 14, 14, 11, 11, 12, 12, 11, 10, 11, 8, 8, 10, 8, 8, 10, 9, 8, 9, 10, 8, 9, 10,
    -00262 8, 6, 8, 8, 8, 8, 8, 10, 9, 7, 8, 7, 7, 8, 8, 7, 8, 7, 6, 8, 8, 7, 6, 5, 6, 5,
    -00263 6, 9, 9, 7, 6, 6, 8, 10, 11, 9, 8, 10, 10, 11, 9, 8, 9, 8, 9, 8, 7, 8, 6, 5, 6,
    -00264 8, 8, 6, 5, 7, 7, 6, 9, 10, 9, 10, 8, 7, 8, 10, 9, 9, 10, 6, 5, 6, 7, 6, 8, 10,
    -00265 6, 8, 9, 5, 5, 7, 5, 7, 9, 7, 7, 5, 4, 5, 6, 8, 7, 5, 5, 5, 3, 2, 4, 5, 4, 3, 4,
    -00266 5, 4, 4, 3, 3, 1, 0, 0, 2, 3, 3, 2, 3, 3, 2, 1, 2, 2, 2, 0, -1, 0, -1, -1, -2,
    -00267 -1, 1, 0, 2, 2, 3, 3, 1, 2, 3, 1, 1, 2, 3, 3, 2, 3, 3, 2, 2, 3, 4, 2, 2, 3, 1,
    -00268 1, 1, 1, 2, 0, -1, 0, 1, 1, 3, 4, 3, 3, 1, 0, 0, 2, 3, 4, 5, 6, 5, 4, 3, 2, 3,
    -00269 3, 2, 1, -1, 0, 0, 1, 2, 1, 3, 4, 0, 0, 0, 2, 2, 0, 0, -2, -2, 1, 1, 1, -1, -2,
    -00270 -2, -1, 0, 1, 0, -1, 0, 1, 0, 1, 2, 1, -1, -5, -6, -4, -3, -3, -5, -7, -5, -3,
    -00271 -4, -5, -3, -6, -6, -3, -4, -4, -4, -5, -4, -3, -5, -4, -5, -5, -2, -1, -1, -3,
    -00272 -3, -3, -3, -5, -7, -6, -7, -5, -6, -5, -5, -4, -3, -4, -4, -5, -5, -7, -7, -4,
    -00273 -5, -6, -5, -4, -4, -5, -4, -4, -3, -4, -3, -4, -3, -4, -5, -5, -4, -5, -6, -7,
    -00274 -6, -6, -5, -4, -3, -3, -4, -3, -2, -4, -5, -4, -5, -5, -5, -6, -5, -5, -4, -2,
    -00275 -3, -3, -2, -3, -2, -4, -5, -5, -4, -5, -6, -6, -5, -2, -1, -2, -2, -3, -4, -3,
    -00276 -3, -4, -5, -6, -5, -5, -5, -6, -7, -6, -5, -4, -5, -5, -6, -5, -5, -5, -4, -2,
    -00277 0, -1, -2, -4, -6, -5, -6, -5, -4, -5, -6, -5, -4, -2, -1, -2, -3, -2, -4, -4,
    -00278 -3, -3, -4, -4, -3, -2, 0, -2, -1, 0, -1, 1, 2, 2, 1, 2, 4, 4, 4, 4, 3, 2, 2, 2,
    -00279 3, 2, 2, 3, 3, 2, 3, 2, 1, 2, 2, 3, 3, 2, 2, 2, 3, 2, 1, 0, 1, 3, 3, 2, 2, 2, 3,
    -00280 5, 6, 5, 4, 3, 4, 6, 6, 3, 3, 4, 4, 6, 5, 3, 4, 5, 6, 7, 6, 4, 4, 3, 2, 2, 4, 5,
    -00281 5, 7, 8, 7, 6, 7, 7, 7, 6, 6, 7, 8, 7, 5, 4, 4, 5, 7, 6, 7, 8, 7, 7, 9, 9, 8, 9,
    -00282 10, 9, 8, 9, 8, 9, 10, 9, 8, 9, 10, 10, 9, 8, 9, 9, 10, 9, 7, 8, 7, 8, 11, 11,
    -00283 12, 11, 9, 7, 7, 7, 6, 6, 7, 8, 9, 9, 9, 8, 8, 8, 7, 7, 6, 6, 8, 9, 8, 7, 7, 7,
    -00284 5, 6, 5, 5, 5, 4, 5, 4, 4, 5, 4, 4, 4, 3, 4, 4, 3, 2, 1, 0, 2, 2, 3, 4, 4, 3, 2,
    -00285 3, 3, 2, 3, 3, 3, 2, 3, 3, 1, 2, 1, 1, 2, 2, 2, 2, 1, 0, 2, 2, 1, 1, 2, 1, 0, 1,
    -00286 3, 2, 1, 0, 0, 1, 2, 5, 4, 3, 3, 3, 2, 1, 2, 1, 2, 3, 2, 1, 0, 1, 0, 1, 2, 1, 2,
    -00287 1, 0, 0, -1, 0, 0, 1, 0, 1, 1, 1, 2, 1, 2, 1, 0, 1, 1, 2, 0, 0, 1, 1, 1, 0, 1,
    -00288 1, 1, 0, -1, 0, -1, 0, -1, -1, -1, -2, 0, 0, -1, 0, 2, 3, 3, 2, 0, -1, -3, -2,
    -00289 -3, -3, -2, -3, -2, -2, -1, 0, 1, 2, 0, 0, -2, -3, -3, -3, -2, -3, -3, -3, -4,
    -00290 -3, -3, -4, -3, -3, -2, -3, -2, -1, 0, -1, 0, 1, 2, 1, 0, 1, 0, 0, -1, -2, -1,
    -00291 -2, -2, -1, -2, -2, -1, 0, -1, 1, 2, 0, 1, 0, 0, 1, 2, 1, 2, 1, 2, 1, 2, 2, 3,
    -00292 2, 2, 1, 2, 2, 3, 2, 0, 1, 1, 0, 1, 2, 2, 3, 3, 2, 3, 2, 1, 2, 1, 1, 1, 3, 2, 2,
    -00293 2, 3, 2, 2, 1, 2, 2, 3, 3, 3, 3, 2, 2, 5, 4, 3, 2, 1, 2, 1, 0, 1, 1, 2, 3, 1, 1,
    -00294 2, 3, 2, 1, 2, 1, 3, 3, 2, 2, 1, 2, 2, 0, 0, 2, 3, 1, 1, -1, 0, 0, -1, 0, 0, 1,
    -00295 2, 2, 1, 2, 1, 1, 2, 1, 0, 1, 0, 1, 0, 1, 2, 1, 2, 1, 1, 0, 0, -1, 0, 0, -1, -1,
    -00296 0, -1, 0, -1, -3, -3, -4, -3, -2, -3, -3, -3, -3, -2, -2, -2, -2, -3, -1, -1,
    -00297 -3, -3, -4, -5, -5, -4, -3, -1, 0, -1, -3, -2, 0, 1, 0, -2, -3, -2, -1, -2, -2,
    -00298 -2, -1, -1, -2, -3, -4, -4, -4, -3, -2, -3, -2, -2, -1, 1, 1, 0, -1, 0, 0, 2, 2,
    -00299 2, 3, 2, 1, 0, 0, 1, 1, 1, 1, 2, 2, 1, 1, 0, 2, 4, 2, 1, 2, 3, 3, 4, 3, 3, 3, 2,
    -00300 2, 3, 3, 2, 2, 2, 3, 2, 2, 2, 3, 3, 1, 2, 3, 1, 1, 2, 2, 0, 1, 0, 1, 3, 3, 2, 2,
    -00301 1, 2, 0, 0, 1, 0, 1, 2, 1, 0, 3, 2, 1, 3, 2, 2, 3, 2, 3, 3, 2, 3, 3, 2, 2, 2, 2,
    -00302 2, 2, 2, 1, 2, 2, 2, 3, 2, 3, 3, 2, 2, 1, 2, 2, 2, 3, 2, 4, 4, 3, 4, 3, 4, 3, 5,
    -00303 6, 5, 5, 6, 5, 5, 6, 6, 5, 4, 4, 4, 3, 3, 3, 4, 5, 4, 5, 4, 4, 5, 6, 6, 5, 4, 5,
    -00304 4, 4, 4, 5, 5, 6, 5, 6, 5, 6, 5, 4, 4, 5, 4, 5, 4, 3, 4, 4, 4, 3, 2, 3, 4, 4, 3,
    -00305 2, 2, 3, 4, 5, 6, 5, 6, 5, 4, 4, 2, 4, 4, 4, 5, 4, 3, 3, 4, 4, 3, 2, 3, 2, 3, 3,
    -00306 2, 3, 2, 1, 2, 3, 1, 1, 2, 2, 3, 2, 2, 4, 3, 2, 1, 2, 1, 2, 2, 1, 0, 1, 2, 1, 1,
    -00307 1, 0, 0, 0, 1, 1, 1, 0, 0, -1, 0, 0, -1, 0, 2, 1, 2, 1, 1, 0, 1, 2, 1, 0, 1, 0,
    -00308 1, 2, 0, -1, 0, 1, 2, 2, 0, 0, 1, 0, 1, 1, 2, 1, 1, 2, 1, 0, 0, 0, 1, 2, 1, 0,
    -00309 1, 2, 1, 2, 2, 3, 3, 3, 2, 2, 2, 1, 2, 3, 2, 1, 2, 3, 2, 1, 1, 2, 2, 1, 2, 3, 2,
    -00310 2, 3, 2, 1, 2, 1, 2, 2, 3, 3, 4, 4, 3, 4, 3, 3, 2, 1, 2, 1, 2, 1, 3, 4, 3, 3, 3,
    -00311 2, 3, 3, 2, 3, 2, 2, 3, 3, 2, 0, 1, 2, 1, 3, 2, 1, 2, 1, 2, 1, 2, 1, 2, 3, 2, 2,
    -00312 1, 2, 2, 3, 3, 3, 2, 3, 1, 2, 2, 1, 0, -1, 0, 1, 1, 0, -1, 0, 1, 2, 1, 1, 2, 1,
    -00313 2, 2, 1, 2, 2, 3, 2, 3, 2, 3, 2, 2, 3, 2, 3, 2, 1, 2, 1, 2, 2, 1, 1, 0, 0, 1, 0,
    -00314 1, 1, 0, 1, 0, 0, 0, 1, 2, 2, 1, 1, 2, 2, 1, 2, 1, 2, 1, 2, 3, 2, 3, 1, 2, 2, 1,
    -00315 1, 0, 1, 2, 2, 1, 2, 2, 2, 3, 2, 3, 2, 1, 2, 1, 2, 3, 3, 2, 2, 3, 2, 3, 4, 3, 1,
    -00316 1, 3, 3, 3, 3, 2, 2, 2, 3, 2, 1, 2, 1, 2, 1, 0, 1, 2, 1, 1, 0, 1, 0, 1, 1, 0, 0,
    -00317 2, 2, 1, 1, 2, 2, 1, 0, 0, -1, -1, 0, -1, -1, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1,
    -00318 -2, -1, 0, -2, -2, -1, 0, -1, -1, 0, -1, 0, 0, 0, -2, -2, 0, 0, -1, -1, 0, 1, 0,
    -00319 0, -1, 0, 1, 0, 1, 0, -1, 0, -1, 0, 0, -1, 0, 0, 1, 1, 2, 1, 1, 1, 2, 2, 2, 3,
    -00320 3, 2, 3, 2, 1, 2, 3, 2, 3, 2, 2, 1, 2, 3, 2, 1, 2, 1, 1, 1, 2, 1, 1, 1, 2, 3, 2,
    -00321 1, 2, 1, 2, 3, 2, 3, 2, 3, 2, 2, 1, 2, 2, 1, 2, 2, 1, 1, 0, 1, 1, 1, 2, 1, 2, 1,
    -00322 2, 1, 1, 2, 1, 1, 0, 1, 1, 2, 1, 0, 1, 2, 1, 1, 0, 0, 1, 2, 2, 1, 0, 0, 1, 1, 0,
    -00323 1, 0, 1, 0, 1, 2, 1, 0, 1, 2, 3, 2, 3, 2, 3, 2, 3, 3, 2, 3, 4, 5, 3, 3, 4, 4, 4,
    -00324 3, 4, 4, 3, 4, 5, 4, 3, 3, 4, 5, 5, 6, 5, 4, 5, 4, 5, 5, 4, 5, 4, 5, 5, 4, 5, 5,
    -00325 5, 5, 6, 5, 5, 5, 4, 3, 4, 4, 3, 3, 4, 3, 4, 3, 2, 3, 2, 2, 2, 3, 3, 3, 2, 2, 2,
    -00326 3, 3, 2, 2, 3, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 2, 3, 2, 2, 1, 1, 2, 3, 2, 1, 2, 1,
    -00327 1, 2, 1, 1, 0, 1, 0, 1, 2, 1, 1, 2, 1, 2, 2, 1, 2, 3, 2, 3, 3, 2, 3, 2, 3, 2, 1,
    -00328 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 1, 0, 1, 3, 2, 2, 3, 2, 3, 3, 2, 3, 2, 3,
    -00329 2, 3, 4, 3, 3, 4, 3, 3, 2, 1, 1, 2, 2, 1, 2, 2, 3, 3, 2, 2, 1, 1, 2, 1, 1, 2, 1,
    -00330 0, 1, 1, 2, 2, 1, 2, 1, 1, 2, 1, 2, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, -1, -1, -1, 0,
    -00331 -1, 0, 0, 1, 0, 1, 1, 0, -1, 0, -1, -1, 0, 1, 1, 0, 1, 1, 0, 1, 2, 1, 2, 1, 2,
    -00332 1, 2, 1, 2, 1, 0, 0, 0, 1, 1, 2, 1, 1, 0, -1, 0, 1, 0, 0, 1, 0, 1, 2, 1, 1, 1,
    -00333 2, 2, 3, 3, 2, 1, 0, 1, 2, 1, 2, 1, 1, 0, 1, 2, 0, 1, 0, 1, 2, 2, 1, 0, 1, 2, 2,
    -00334 2, 1, 1, 1, 2, 1, 2, 3, 2, 3, 2, 3, 3, 2, 3, 2, 3, 2, 2, 3, 2, 2, 1, 1, 2, 1, 2,
    -00335 3, 3, 3, 4, 3, 2, 3, 2, 2, 3, 2, 2, 3, 2, 3, 3, 4, 3, 4, 4, 4, 3, 3, 3, 3, 2, 2,
    -00336 3, 3, 2, 3, 2, 1, 1, 1, 2, 1, 2, 2, 3, 2, 2, 1, 2, 3, 2, 3, 3, 3, 3, 2, 3, 3, 4,
    -00337 4, 3, 2, 3, 2, 1, 2, 1, 1, 1, 0, 1, 0, 0, 1, 1, 2, 1, 1, 1, 0, 0, 0, 1, 1, 2, 2,
    -00338 2, 2, 3, 2, 1, 2, 1, 2, 3, 2, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 1, 0,
    -00339 1, 2, 1, 2, 1, 2, 3, 2, 3, 2, 2, 1, 2, 1, 1, 2, 2, 1, 2, 2, 1, 1, 2, 1, 1, 2, 1,
    -00340 0, 1, 2, 2, 1, 2, 1, 0, 2, 3, 2, 2, 1, 2, 2, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2,
    -00341 2, 1, 0, 1, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, -1, 0, 1, 0, 1, 0, 1,
    -00342 2, 2, 0, 0, 1, 1, 2, 1, 1, 0, 1, 2, 3, 2, 2, 1, 2, 2, 1, 2, 1, 1, 0, 1, 2, 1, 2,
    -00343 3, 2, 3, 2, 3, 3, 2, 3, 5, 4, 5, 3, 3, 3, 3, 4, 5, 4, 4, 4, 4, 3, 3, 2, 3, 2, 3,
    -00344 3, 4, 3, 2, 3, 2, 3, 2, 3, 2, 3, 4, 4, 3, 4, 5, 5, 4, 4, 4, 3, 4, 5, 4, 3, 4, 4,
    -00345 3, 4, 3, 3, 4, 3, 3, 4, 3, 2, 3, 2, 2, 2, 2, 3, 2, 3, 3, 2, 2, 3, 3, 3, 2, 3, 4,
    -00346 3, 2, 3, 3, 2, 3, 2, 3, 3, 2, 3, 2, 1, 1, 2, 1, 0, 0, 1, 1, 1, 1, 2, 2, 2, 3, 2,
    -00347 3, 2, 1, 2, 2, 3, 2, 3, 3, 4, 3, 3, 2, 2, 2, 1, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1,
    -00348 2, 1, 2, 1, 0, 1, 1, 1, 2, 1, 2, 1, 2, 2, 2, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0,
    -00349 1, 0, 0, -1, 0, 0, 1, 0, 0, -1, -1, 0, 0, 0, 1, 0, -1, -1, 0, -1, 0, 1, 1, 0, 1,
    -00350 1, 0, 1, 2, 1, 1, 1, 0, 1, 1, 2, 1, 1, 0, -1, 0, 1, 2, 1, 1, 2, 1, 1, 0, 0, 1,
    -00351 1, 0, 1, 1, 0, 1, 2, 1, 2, 1, 2, 1, 2, 3, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 1, 1, 2,
    -00352 2, 3, 3, 2, 3, 2, 3, 3, 2, 3, 2, 3, 2, 3, 2, 2, 1, 2, 3, 2, 2, 3, 2, 2, 1, 2, 2,
    -00353 3, 2, 2, 2, 3, 2, 2, 1, 1, 1, 2, 1, 1, 1, 2, 2, 1, 2, 1, 2, 2, 2, 1, 0, 2, 1, 2,
    -00354 1, 2, 1, 2, 2, 1, 2, 1, 2, 1, 2, 2, 2, 3, 2, 0, 0, 1, 3, 2, 3, 2, 3, 2, 1, 2, 1,
    -00355 2, 3, 2, 3, 3, 2, 3, 2, 3, 2, 3, 2, 3, 3, 2, 1, 2, 1, 2, 2, 2, 3, 2, 3, 4, 3, 2,
    -00356 3, 2, 3, 2, 3, 4, 3, 3, 4, 3, 3, 3, 3, 2, 3, 3, 2, 1, 2, 1, 2, 1, 2, 3, 3, 2, 3,
    -00357 2, 1, 2, 2, 1, 2, 2, 3, 2, 1, 1, 2, 1, 2, 2, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 2,
    -00358 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 3, 2, 2, 1, 0, 1, 0, 1, 2, 1, 1, 2, 1, 1,
    -00359 2, 2, 1, 2, 1, 2, 1, 2, 2, 1, 0, 1, 1, 1, 2, 1, 2, 2, 1, 0, 0, 0, 0, 0, 1, 0, 0,
    -00360 -1, 0, 1, 0, 1, 0, 1, 1, 1, 2, 2, 1, 1, 0, 1, 1, 2, 1, 1, 0, 0, 1, 0, -1, 0, -1,
    -00361 0, 1, 2, 1, 1, 2, 3, 3, 4, 4, 6, 8, 7, 1, -27, -30, -15, -11, -5, 0, 3, 3, 1, 3,
    -00362 -2, 2, -7, -7, -1, -41, -26, 24, 40, 26, 3, 6, 11, 5, -3, 11, 12, 11, 20, -1, 4,
    -00363 30, 26, 14, 2, -4, -3, 6, 6, 0, -2, 5, 22, 23, -5, -20, 5, 2, -28, -14, 14, 17,
    -00364 -12, -25, -9, -9, -7, 5, 9, -2, 0, 13, -3, -17, -6, 3, 8, 16, 13, 8, 5, -2, 5,
    -00365 16, 9, -4, -15, 7, 21, 11, 15, 17, 17, 3, -7, -6, 2, 7, -2, -11, -22, -20, -8,
    -00366 6, 18, 21, 9, 3, 5, -4, -7, 8, 24, 2, -23, -15, -4, 10, 16, 6, -20, -27, 12, 16,
    -00367 -5, 18, 26, 12, 4, 5, 4, 0, 17, 1, -29, -9, 12, -10, 2, 21, 1, -6, 4, 3, -5, 6,
    -00368 -10, -16, 15, 10, 2, 18, 13, -3, -5, 7, 18, 21, 1, -22, 0, 22, 25, 26, 17, 21,
    -00369 31, 33, 28, 28, 30, 22, 18, 0, -18, -6, -7, -8, 9, 2, -1, 17, 19, 6, 2, 8, 3,
    -00370 -6, -5, -12, -17, -16, -22, -9, 0, -8, 2, 8, 2, -7, -8, -11, -14, -8, -5, -11,
    -00371 -23, -16, -9, -23, -35, -41, -37, -25, -22, -14, -2, 2, 2, -7, -24, -36, -44,
    -00372 -32, -25, -34, -20, -22, -34, -23, -15, -10, -3, -6, -15, -14, -9, -21, -24,
    -00373 -16, -14, -10, -9, 7, 28, 20, 9, 10, 9, -1, -5, 1, 6, 17, 25, 26, 17, 11, 7, 1,
    -00374 12, 13, 8, 15, 7, -3, 4, 10, 17, 35, 50, 59, 61, 51, 50, 45, 40, 48, 57, 57, 50,
    -00375 42, 36, 41, 45, 36, 30, 31, 26, 15, 11, 9, 5, -2, -1, -5, -20, -20, -22, -24,
    -00376 -9, -1, -11, -16, -22, -18, -2, 2, 14, 21, 15, 15, 11, 0, -8, -16, -8, 4, -2,
    -00377 -13, -21, -32, -34, -21, -16, -22, -18, -20, -30, -33, -36, -45, -49, -43, -43,
    -00378 -49, -46, -42, -41, -39, -36, -31, -19, -16, -5, 13, 12, 12, 0, -6, 0, -10, -7,
    -00379 8, 15, 5, -4, -4, -9, -8, -7, -6, -4, 2, 1, -7, -2, 0, -5, -11, -13, -10, -10,
    -00380 3, 16, 15, 25, 42, 36, 24, 34, 44, 40, 34, 35, 22, 13, 15, 9, 15, 23, 22, 26,
    -00381 41, 37, 30, 33, 19, 7, -6, -17, -12, -5, 6, 16, 16, 16, 15, 17, 22, 18, 15, 17,
    -00382 20, 24, 25, 16, 9, 12, 2, -5, -6, -2, 0, -7, 11, 6, -7, 3, 6, 8, 5, 2, -13, -23,
    -00383 -15, -24, -19, -4, -12, -21, -23, -20, -12, -8, -2, 1, 2, 3, -3, -4, -7, -5, -1,
    -00384 -18, -21, -17, -25, -26, -23, -29, -25, -17, -29, -27, -11, -16, -17, -5, 2, 6,
    -00385 5, 11, 9, -2, 0, -8, -14, -15, -8, 9, -3, -3, 18, 20, 21, 19, 17, 10, -2, 2, 11,
    -00386 8, 10, 20, 9, -14, -26, -19, -18, -20, -11, -8, 0, 16, 16, 14, 20, 19, 26, 34,
    -00387 34, 37, 30, 15, 17, 17, 18, 30, 28, 23, 28, 33, 32, 38, 39, 34, 19, 5, -6, -24,
    -00388 -29, -24, -12, -17, -11, -7, -22, -12, -3, 0, -11, -13, 3, 3, 5, 4, 3, 8, 0,
    -00389 -11, -6, 4, 1, 2, 3, 3, 12, 14, 13, 17, 23, 11, -9, 0, -5, -13, 4, -4, -18, -24,
    -00390 -26, -29, -30, -19, -31, -40, -39, -38, -24, -13, -13, 0, 12, -6, -17, -8, 0,
    -00391 -7, -8, 2, 11, 18, 2, -2, 9, 1, 4, 4, -8, -9, -20, -24, -16, -19, -7, 0, -14,
    -00392 -15, -8, -4, -4, 0, 3, -5, -9, -17, -5, 17, 24, 39, 35, 28, 27, 21, 24, 24, 32,
    -00393 24, 6, 5, 10, 13, 25, 31, 33, 16, 2, 16, 4, -2, 10, 10, 2, -13, -11, -6, -5, 2,
    -00394 12, 2, -2, 17, 12, 5, 8, 13, 18, 4, 8, 11, 1, 13, 21, 28, 35, 29, 20, 10, 14,
    -00395 13, -8, -13, -6, -18, -24, -20, -19, -21, -27, -32, -23, -19, -14, -10, -13, -6,
    -00396 -13, -22, -8, -5, -20, -18, -22, -25, -17, -30, -9, 34, 48, 43, 32, 21, 1, 4,
    -00397 -5, -33, -17, 8, 20, 37, 51, 30, 4, -4, -12, -10, -17, -13, -7, -9, 4, 1, -12,
    -00398 -4, 11, 15, 22, 20, 12, 11, 3, 9, 7, 0, 4, 11, 37, 39, 10, 0, -5, -14, -15, -1,
    -00399 9, -2, 2, 13, 19, 13, 1, -13, -31, -29, -22, -28, -33, -18, -14, -13, 9, 18, -2,
    -00400 -7, 3, 9, -5, -11, -5, -29, -28, -17, -3, 9, -2, -6, -16, 2, 8, -13, -17, -16,
    -00401 14, 22, -3, 0, 9, 11, 15, 32, 35, 29, 40, 38, 37, 27, 15, 5, -10, -4, 1, -14,
    -00402 -17, -22, -38, -30, -14, -1, 20, 33, 34, 32, 35, 33, 14, 14, 15, 19, 48, 34, 20,
    -00403 33, 24, 28, 35, 37, 34, 31, 35, 23, 1, -13, -9, -21, -28, -17, -9, 16, -2, -17,
    -00404 -3, -11, -18, -32, -22, -8, -33, -47, -22, -8, -24, -37, -31, -21, -11, 6, -4,
    -00405 -17, -5, 6, 22, 16, 14, 26, 11, -4, -4, -14, -20, -14, -24, -18, -4, -16, -16,
    -00406 -15, -33, -38, -31, -30, -28, -32, -40, -38, -39, -33, -14, -19, -27, -5, 5,
    -00407 -12, -29, -23, -13, -2, 30, 41, 44, 39, 27, 34, 10, -12, 9, 24, 16, 25, 42, 44,
    -00408 36, 31, 33, 25, 28, 2, -8, 10, 5, 22, 21, 14, -3, 4, 20, -3, -8, -13, -7, 8, 12,
    -00409 12, 10, 22, 34, 37, 42, 46, 24, 17, 24, 26, 32, 23, 20, 7, 20, 31, 8, 31, 40,
    -00410 31, 28, 21, 22, 0, 1, 1, -3, 6, -13, -13, 1, -10, -13, -1, -10, -20, -10, -9, 5,
    -00411 17, 5, 1, -3, -10, -14, -19, -15, -7, -22, -37, -26, -5, -17, -47, -40, -36,
    -00412 -43, -43, -31, -18, -34, -28, -17, -12, -27, -37, -16, -13, -18, -22, -24, -19,
    -00413 -12, -16, -15, -2, 12, 7, 1, 3, -1, 14, 14, -1, -11, -26, -23, -14, -16, -12,
    -00414 -5, -18, -16, 3, 9, -6, -9, 17, 13, -3, 4, -1, -7, -5, -1, 10, 29, 23, 5, 11,
    -00415 12, 27, 23, 18, 11, -2, 23, 25, 37, 40, 36, 42, 36, 27, 9, 22, 14, 0, 3, 7, 16,
    -00416 16, 20, 18, -3, -3, 18, 15, 12, 29, 28, 15, 21, 15, -13, -18, -12, -18, -9, 2,
    -00417 1, 7, 4, 7, 20, 9, 18, 24, 3, 1, 5, -11, -16, -10, -20, 1, 13, 1, -4, -22, -17,
    -00418 -13, -16, -20, -25, -10, 1, -7, -7, 5, -3, -18, -20, -11, -16, -22, -21, -13, 1,
    -00419 -1, 5, 15, 14, 3, -5, 9, 0, -24, -21, -14, -13, -6, 14, 6, -10, 8, 16, 11, 6,
    -00420 -8, -11, 0, 3, 10, 20, 14, 15, 16, 0, -15, -10, 9, -1, -5, 14, 22, 16, 25, 38,
    -00421 27, 11, 14, 32, 26, 14, 15, 10, 6, -1, -9, -4, 0, -2, -12, 1, 27, 20, 6, 16, 20,
    -00422 18, 19, 13, 19, 19, 20, 12, -1, 6, 7, 7, 17, 25, 17, 10, 18, 16, 15, 19, 14, 17,
    -00423 0, -12, 8, 12, -5, -19, 2, 1, -24, -10, -5, -17, -8, -2, -9, -17, -17, -7, -8,
    -00424 -21, -23, -6, 5, -6, -7, -8, -16, -14, -18, -8, -24, -49, -19, -6, -13, -2, 4,
    -00425 6, 21, 24, 17, 12, 0, 3, 2, 0, 10, -2, -7, -1, -4, -16, -21, -4, -8, -7, -8,
    -00426 -19, -6, -9, -13, -5, 1, -2, 4, 0, 3, 10, 7, 21, 14, 9, 1, -11, -12, -5, 15, 10,
    -00427 1, -7, -10, -4, 2, 14, 6, 7, 3, 1, 11, 6, -2, -15, -20, -11, -2, -12, -24, -24,
    -00428 1, -1, -16, 7, 2, -2, 4, 12, 20, 11, 21, 30, 10, 16, 23, 9, 8, 27, 23, 2, 17,
    -00429 17, 12, 15, 10, 7, 6, 17, 16, 12, 4, -9, -2, 2, 3, 5, -9, -7, -12, -19, -12, -9,
    -00430 13, 22, 7, 7, 10, -3, 7, 24, 12, 3, -2, 1, 13, 17, 10, 0, 11, 14, 5, 2, -20,
    -00431 -24, -13, -11, 1, 5, -3, -11, -10, 8, -3, -19, -8, -18, -19, -14, -7, -5, -11,
    -00432 -10, -21, -21, -1, 5, -4, 0, -6, -23, -22, -11, -5, -3, 10, 17, 10, 10, 10, 5,
    -00433 13, 28, 6, -11, 2, 2, -3, -13, -10, -13, -23, -10, -9, -16, 0, 10, 11, 15, 4, 7,
    -00434 9, 13, 15, 4, 11, 19, 30, 13, 6, 34, 30, 13, 14, 19, 22, 27, 15, 12, 22, 20, 24,
    -00435 27, 31, 24, 1, -3, 14, 20, 11, 2, 3, -10, -28, -11, 2, -8, -10, -4, -7, -11,
    -00436 -13, -6, 6, -3, 6, 9, -9, -5, 3, 5, -1, 2, 19, 16, 9, 24, 19, 4, 11, 11, 8, 7,
    -00437 4, 7, 10, 8, -4, -2, 0, -13, -6, -8, -5, -4, -16, -6, -7, -15, -7, -2, -4, 1,
    -00438 10, -5, -13, -7, -13, -3, 3, 8, 7, 5, 9, -11, -16, -13, -28, -33, -22, -21, -12,
    -00439 -9, -10, 1, -7, -6, -7, -17, -13, -14, -14, -11, -8, -11, -12, -2, -8, -5, 0,
    -00440 -16, -9, 1, -9, 0, 9, 7, 6, 2, 17, 10, 3, 7, 1, 12, 12, 15, 31, 27, 16, 19, 14,
    -00441 16, 12, -3, 3, 10, 6, 4, 15, 31, 23, 10, 11, 4, 13, 15, 2, 7, 13, 0, -20, -6, 8,
    -00442 3, 19, 18, 8, 10, 9, 11, 3, -3, -9, -10, 1, 10, 18, 22, 18, -5, 1, 12, 8, 23,
    -00443 15, 2, -10, -5, 10, 0, -1, 2, -2, -6, -4, 12, 8, -12, -4, -1, 0, 5, -10, -15,
    -00444 -4, -11, -19, -15, -13, -11, -27, -32, -19, -13, -19, -22, -12, -15, -27, -19,
    -00445 -5, -9, -14, -7, -9, -15, -10, -7, -2, -10, -5, 15, -8, -9, 11, -3, 0, 18, 20,
    -00446 15, 4, -7, 1, 16, 22, 25, 25, 21, 10, 8, 19, 27, 25, 26, 37, 25, 14, 16, 8, 2,
    -00447 2, 5, -9, -4, 17, -3, -7, 19, 11, -7, -7, -4, -8, -15, -2, -3, -8, 10, 11, 10,
    -00448 17, 15, 20, 13, 11, 20, 15, 16, 11, -2, -1, 8, 12, 8, 3, 0, -9, -9, -3, 1, 3, 8,
    -00449 4, 0, 6, 3, -8, -7, -4, -11, -7, -4, -4, 8, 10, -5, 3, 16, -1, 0, -4, -3, -3,
    -00450 -13, -7, -2, -1, -3, -1, -9, -8, -4, -2, 4, -8, -7, -7, -20, -8, -1, -18, -22,
    -00451 -8, -4, -9, -14, -8, 0, 1, 2, 6, 8, -10, -13, 10, 5, 2, 6, 0, 9, 1, -7, 7, 8, 0,
    -00452 -3, 9, 6, -5, -5, 4, 9, 11, 18, 11, 13, 10, 8, 10, 1, 5, 1, 5, 14, -7, -8, 10,
    -00453 -4, -16, 2, -1, -8, 0, -3, 8, 18, 12, 7, 4, -7, -11, -6, -4, 0, -2, 1, 4, 12,
    -00454 14, 4, 15, 6, 0, 17, 9, 5, 6, 1, 5, 0, -8, 0, 6, -2, 1, 8, 5, 2, 9, 4, 0, 6, 3,
    -00455 16, 15, 5, 4, 7, 13, 3, -3, -1, 1, -4, -3, 2, 1, -5, -8, -12, -15, -13, -13,
    -00456 -19, -17, -11, -10, -13, -11, -11, -14, -4, 4, 11, 10, 2, 7, 6, -5, -2, 8, 16,
    -00457 7, -5, 10, 13, 1, 3, 12, 6, -9, 3, 13, 1, 3, 4, 0, 0, -6, -3, -7, -10, -6, -11,
    -00458 -15, -8, -3, -9, -8, -1, -3, -15, -5, 7, 1, 10, 12, 3, 1, 16, 20, 18, 18, 0, -2,
    -00459 -1, -5, -1, 1, 11, 9, 3, 9, 12, 6, 2, 9, -6, -5, 2, 2, 5, 3, 9, 10, 13, 7, 0,
    -00460 -1, -2, -4, -6, 2, -3, -9, 5, 12, 6, 12, 16, 7, 12, 16, 10, 5, 4, 14, 18, 10,
    -00461 10, 6, 3, 12, 0, 1, 9, -6, -1, 6, -7, -9, -8, -2, 3, -9, 0, 6, -5, 7, 9, -3, 2,
    -00462 -1, 0, -3, -15, 2, 5, -5, -3, -5, 2, 1, -5, -6, -3, -1, -6, -3, -4, -5, -7, -9,
    -00463 -1, 5, -3, -9, -10, -14, -13, -9, 0, -4, -4, -1, -16, -11, -7, -6, 0, -2, 0, 0,
    -00464 2, 1, 2, 0, -5, -7, -10, -12, -11, -3, 3, -3, -4, 3, -5, -12, -7, -1, -3, -6,
    -00465 -2, -4, 2, 6, -2, -5, 0, 2, 7, 7, 2, 13, 15, 9, 0, 0, 13, 6, 7, 14, 11, 12, 12,
    -00466 18, 17, 15, 17, 12, 10, 12, 17, 10, 10, 13, 1, 5, 4, 6, 15, 12, 11, 10, 8, 6, 7,
    -00467 10, 9, 12, 16, 14, 15, 8, -3, 5, 11, 9, 4, 1, 4, -3, -11, -7, -1, -1, -10, -12,
    -00468 -5, 0, 1, -6, 1, 3, -5, 5, 4, -3, -5, -3, 1, -2, 4, 0, -12, -15, -10, 0, 1, 3,
    -00469 -4, -10, -7, -7, -3, -7, -6, -7, -8, -7, -6, -2, -4, -6, -1, 0, 1, 6, -5, -17,
    -00470 -3, 9, -4, -8, -5, -11, -7, -9, -5, 4, 2, -1, -2, 9, 8, -2, 4, 10, 2, -6, 2, 2,
    -00471 -2, 5, 7, 3, 6, 13, 9, 10, 9, 8, 11, 10, 4, 4, 6, -2, 3, 6, 6, 10, 2, -4, -2, 3,
    -00472 -5, -3, 1, 6, 16, 16, 10, 4, 14, 23, 10, 9, 16, 7, 10, 13, 10, 18, 9, -7, 0, 5,
    -00473 5, 7, 4, 1, 0, -4, -3, -1, -1, 4, -2, -4, -12, -7, 8, -1, 4, 9, -1, -3, -4, 0,
    -00474 4, 0, 6, 5, -8, -7, -10, -12, -10, 2, 10, 2, 8, -4, -8, 3, -13, -11, -1, -8, -8,
    -00475 -6, -4, -6, -6, 0, -4, -10, -12, -8, -6, -9, -5, -12, -18, -6, 0, -7, -6, 0, -4,
    -00476 -8, -7, -4, -6, -7, -11, -9, -4, -4, -3, -3, 4, 5, 8, 8, 1, 7, 8, 0, -5, -4, -3,
    -00477 -1, 6, 4, -3, -2, 1, 3, 2, 3, 2, 5, 5, 4, 8, 4, 7, 11, 3, 6, 16, 16, 14, 15, 18,
    -00478 17, 12, 15, 18, 15, 11, 10, 15, 15, 6, 1, 5, 11, 12, 6, 3, 5, 5, 2, 7, 5, 0, 0,
    -00479 -7, 0, -5, -2, 11, -3, -9, -7, -2, -3, -5, 7, 11, 3, -9, 1, 9, -9, -5, 7, 2, 3,
    -00480 6, -7, -15, -1, -4, -7, 4, -1, -4, -6, -1, 7, -5, -14, -13, -15, -4, -1, -13,
    -00481 -8, -6, -3, 1, 1, 2, -10, -8, -1, -5, -10, -7, 0, -3, -1, -2, -4, -1, -8, -7,
    -00482 -2, 2, -3, -3, 4, 3, 6, 6, 4, 1, 1, 5, 4, 4, 8, 11, 9, 7, 3, 2, 2, 2, 9, 2, 0,
    -00483 6, 4, 5, 3, -1, 4, 9, 6, 0, -3, 0, 4, 4, 3, 8, 12, 6, 2, 0, 8, 15, 8, 10, 7, 1,
    -00484 6, 11, 7, 4, 5, 2, 3, 5, 4, 5, 7, 7, 2, -1, -1, 2, 9, 6, -1, -3, -1, 1, 5, -2,
    -00485 -2, 9, -1, -7, 2, 1, 1, -3, -4, -1, -6, -2, -3, -4, 1, 2, 5, 3, -1, 2, -1, -13,
    -00486 -6, 4, -1, -3, -3, -2, -2, -11, -3, -2, -16, -10, -3, -6, -5, 4, 1, -8, -5, -4,
    -00487 4, 6, 3, 6, 5, -2, -2, 0, 1, 4, -1, 1, -1, -3, 6, 4, -3, -7, -6, 0, 0, -5, -10,
    -00488 -8, 6, 9, 2, 5, 6, 1, -2, -2, 0, 7, 4, -2, 5, 6, 2, 3, 9, 6, -4, -1, 5, 6, 4, 5,
    -00489 5, 6, 7, 3, 6, 6, 8, 13, 11, 6, 2, 7, 2, -2, 7, 3, -2, 5, 5, 1, 0, -2, 4, 3, 0,
    -00490 2, 0, 3, 3, 0, 8, 12, -2, 3, 10, 0, 5, 17, 10, 0, 7, 5, 1, 6, 2, -2, 6, 7, -3,
    -00491 4, 11, 1, 4, 8, -2, 3, 5, -1, -1, 2, -1, -10, -3, -4, -8, -5, -4, 2, -1, -7, -4,
    -00492 4, -1, -10, -6, 2, -2, 0, 1, -10, -8, -7, -7, -2, -9, -9, -3, -1, -5, -10, -5,
    -00493 1, -10, -11, 0, -2, -6, -6, -8, -5, 6, 3, 1, 7, 5, 7, 5, 1, 1, 4, 2, -7, 2, 7,
    -00494 1, 0, -5, -6, -1, 2, -1, 0, 5, 5, 2, 13, 14, 2, 9, 5, 0, 4, 2, 13, 13, 6, 6, 6,
    -00495 8, 2, 6, 14, 16, 16, 4, 5, 12, 9, 8, 10, 9, 9, 8, 2, 5, 11, 11, 12, 10, 4, 5, 1,
    -00496 -2, 11, 10, -2, 1, 4, 1, -5, 0, 2, -3, 4, 2, -2, 2, 5, 5, 1, -2, -7, -11, -4,
    -00497 -1, -5, -6, -5, -6, -3, 1, 3, 2, -3, -4, -2, -3, -4, -6, -1, 3, -7, -9, -4, -3,
    -00498 2, -2, -6, -4, -5, -6, -6, -8, -10, -11, -7, -5, -6, -11, -10, -2, 1, -4, -2, 4,
    -00499 0, 1, 2, -2, -4, -2, 2, -2, -4, -1, -1, 0, 1, 4, 3, 3, 2, 1, 7, 9, 4, 5, 5, -1,
    -00500 8, 13, 10, 10, 6, 7, 7, 3, 2, -3, -2, 4, 4, 7, 6, 9, 10, 7, 7, 7, 12, 12, 13, 9,
    -00501 7, 9, 7, 8, 6, 3, 3, 5, 4, 4, 4, 2, 2, 8, 5, -6, 1, 2, 1, 8, 4, 3, 3, 0, -1, -2,
    -00502 3, 7, 5, 6, 3, -1, -1, -3, 2, 3, 3, 2, 2, 5, -3, -1, 5, 2, 2, 1, 3, 7, -1, 0, 2,
    -00503 -6, -3, -2, -5, -4, -1, -4, -2, 0, -8, -3, -1, -11, -8, -4, -6, -5, -3, 0, -4,
    -00504 -7, -4, -5, -3, -3, -10, -5, -2, -5, -6, -1, -2, -3, 7, 5, -3, -2, 3, 5, 5, 5,
    -00505 3, 2, 1, 1, 5, 6, 4, 3, 0, 1, 4, 4, 6, 7, 8, 9, 11, 8, 5, 6, 5, 2, 5, 8, 1, 3,
    -00506 10, 3, 2, 3, 7, 9, 3, 7, 9, 6, 5, 5, 6, 6, 5, 7, 5, 1, 2, 3, 4, 7, 8, 4, -2, 0,
    -00507 0, -1, 0, -4, -3, -2, 2, -4, -11, -6, -6, -3, -6, -10, -4, -2, -6, -6, -1, -5,
    -00508 -4, 3, -7, -7, -2, -3, 3, 5, 3, 1, 2, 0, 2, 7, 5, 7, 3, -2, 1, -5, -4, -2, -2,
    -00509 0, -1, 1, 1, -1, 2, -2, -8, -3, -5, -7, -4, 2, 3, 1, 5, 5, 1, 4, 10, 6, 1, 8, 8,
    -00510 3, 1, 0, 2, 2, 2, 6, 0, 0, 8, 5, -1, -3, 2, 5, 3, 1, 0, 5, 3, 2, 1, -1, 4, 4, 0,
    -00511 -2, -3, 0, 1, 3, 2, 1, 2, 4, 5, 5, 4, 5, 9, 8, 5, 9, 5, -1, 5, 6, 2, 6, 7, 2,
    -00512 -1, -2, -1, -3, -1, 2, -1, 1, 2, 4, 0, -2, 2, 1, 3, 2, 1, 3, 1, 5, 3, 4, 11, 9,
    -00513 9, 7, 2, 6, 3, 5, 9, 3, 5, 9, 5, -1, 0, 4, 2, 2, 7, 5, 1, 2, 2, 3, 3, -1, -4,
    -00514 -2, -2, 0, 2, 2, 5, 1, 1, 3, 4, 5, 2, 0, 4, 5, 1, -1, 0, 1, -3, -1, -1, -3, -1,
    -00515 -1, 0, -4, -6, -6, -6, -6, 0, 1, -2, 4, 2, 3, 6, 4, 2, 2, 2, 1, 0, -2, -4, -4,
    -00516 -1, -5, -5, 0, -1, -1, -1, 3, 7, 4, 1, 2, 2, -1, -4, -1, -1, -5, -2, -1, 0, 1,
    -00517 4, 6, 7, 6, 5, 6, 8, 8, 10, 11, 11, 10, 8, 11, 4, 2, 10, 5, 7, 7, 0, 5, 8, 3,
    -00518 -2, 1, 0, -5, -4, -2, -1, -3, -2, -4, -5, -5, -3, -1, 1, 2, 1, 1, -2, -3, -1, 0,
    -00519 2, 2, -1, 0, 1, -4, -2, 1, -2, 1, -2, -4, -3, -4, -5, -3, -9, -8, 0, -2, 2, 5,
    -00520 3, 0, -3, 0, 1, -4, 0, 5, 0, -1, 4, 8, 4, 0, 6, 3, 2, 3, 1, 3, 3, 3, 2, 1, -1,
    -00521 -2, 2, 1, -2, 1, 3, 0, 1, 8, 4, -1, 7, 7, 6, 6, 1, 3, 4, 4, 3, 3, 6, 7, 9, 11,
    -00522 8, 8, 9, 3, 3, 5, 7, 4, 1, 6, 5, 4, 4, 5, 3, 3, 5, 3, 2, 1, 2, 2, 2, 0, -3, 0,
    -00523 3, 0, 3, 2, -2, 1, 2, 6, 6, 4, 8, 9, 4, -1, -1, -2, 2, 5, 3, 5, 3, 3, 5, 0, -1,
    -00524 3, 2, 0, 1, 6, 1, -6, 3, 7, -1, 0, 2, 2, -1, -1, -3, -2, 1, 1, 4, 3, 0, -1, 0,
    -00525 3, 0, -1, -3, -1, 3, 1, 0, -2, -3, -5, 0, 4, 2, 2, 0, 2, 1, -4, -5, -5, 2, 3,
    -00526 -2, -3, 1, -2, 0, 3, 0, 4, 3, 0, 2, 6, 7, 1, 2, 6, 4, 3, 5, 5, 3, 1, -1, -1, -2,
    -00527 -3, 1, 2, 3, 2, 4, 4, 3, 4, 2, 5, 6, 0, 0, 1, 3, 2, 2, 3, 4, 4, 5, 4, 4, 6, 3,
    -00528 5, 3, 2, 3, 4, 6, 2, 2, 4, 0, 2, 6, 4, 8, 6, 0, 3, 1, -1, 1, 1, 5, 1, -1, 3, -1,
    -00529 -2, 2, 1, 1, 2, 1, -2, -3, 4, 2, 1, 3, 0, 3, 4, 0, -1, -3, 2, 0, -4, -1, -3, -2,
    -00530 -1, -2, -3, -5, -5, -5, -3, -3, -2, -1, -4, -2, 0, -4, -5, -6, -8, -4, -3, -3,
    -00531 -1, 0, -2, -7, -4, -1, -3, 2, -1, -6, -2, 2, 1, -2, -2, -3, -2, 2, 2, 1, 0, 0,
    -00532 2, 5, 3, 2, 5, 2, 0, 4, 7, 7, 6, 7, 7, 6, 7, 6, 7, 6, 4, 4, 5, 5, 7, 6, 7, 6, 2,
    -00533 3, 5, 5, 2, 4, 6, 5, 7, 4, 4, 7, 4, 3, 3, 2, 3, 9, 8, 3, 5, 4, 1, 2, 6, 7, 3, 3,
    -00534 5, 4, 4, 6, 6, 4, 0, 3, 4, 4, 3, 1, 1, 2, 1, 0, 0, -1, 1, 2, 2, 3, 1, 0, 1, 0,
    -00535 -4, 2, 6, 2, 3, 3, 4, 5, 3, 1, -1, 0, -2, 2, 4, 3, 3, 2, 4, 3, 0, -1, 0, -1, 0,
    -00536 0, 0, 3, 2, 1, 3, 2, 5, 2, 2, 3, 0, 2, 2, 0, 0, 1, 0, 4, 4, 3, 8, 5, 3, 5, 6, 5,
    -00537 5, 4, 1, 1, 5, 4, 4, 4, 0, 2, 5, 4, 3, 3, 5, 3, 1, 2, 2, 1, 2, 4, 3, 5, 6, 4, 4,
    -00538 5, 3, 0, -1, -1, -2, 1, 3, 1, 0, -1, 2, -1, -4, -1, 0, -2, -5, -1, -2, -8, -6,
    -00539 -7, -6, -2, -3, -4, -2, -1, -2, 2, 1, -1, 1, 0, 1, 0, -1, -5, -4, -1, -4, -3,
    -00540 -4, -5, -3, -4, -6, -5, -5, -6, -3, -3, -4, -3, -3, -5, -3, -1, -2, -5, -5, -3,
    -00541 -4, -2, 1, 3, 4, 2, 1, 0, 1, 2, 1, 3, 6, 4, 0, 2, 4, -1, -4, 1, 3, 0, 1, 2, -1,
    -00542 0, 3, 5, 4, 2, 3, 2, 7, 8, 3, 6, 7, 6, 6, 7, 10, 6, 4, 7, 6, 1, 3, 7, 7, 7, 5,
    -00543 2, 2, 4, 0, 1, 1, -1, 2, 0, -1, -2, -2, 0, 1, 1, -2, -2, 3, 2, 0, 1, -1, 1, 1,
    -00544 2, 4, 2, 3, 4, 3, 2, 2, 3, 2, 2, 2, 0, 1, 6, 2, 1, 1, -2, 2, 4, 4, 3, 2, 1, 1,
    -00545 3, 3, 4, 3, 5, 7, 4, 3, 6, 4, 2, 6, 7, 5, 5, 6, 7, 6, 7, 7, 5, 4, 8, 9, 5, 7, 4,
    -00546 5, 10, 4, 1, 5, 5, 6, 6, 5, 4, 4, 5, 5, 4, 5, 6, 5, 4, 3, 4, 4, 2, 1, 4, 7, 5,
    -00547 3, 4, 3, 3, 4, 3, 1, 1, 2, 2, 1, 3, 4, 3, 1, 1, 0, 0, 1, 1, 0, 0, 2, 2, 3, 2,
    -00548 -1, 1, 4, 0, -2, 4, 1, -5, -3, 0, 0, 2, -2, -5, -1, -2, -4, 0, -1, -1, 2, 0, 0,
    -00549 1, 0, -1, -2, 0, 0, -1, 1, 4, 7, 6, 3, 5, 4, 2, 5, 6, 5, 4, 1, 1, 3, 2, 1, 1, 2,
    -00550 1, -2, -2, -2, -1, 1, 0, 0, -3, -3, -1, 0, 0, 1, 0, -3, -5, -3, 0, -3, -2, 2, 0,
    -00551 0, 1, 1, 0, 0, -1, -3, -3, -1, 1, 1, -1, -3, -3, -1, -1, -5, -3, -2, -3, -5, -6,
    -00552 -1, -2, -3, 1, -1, -1, -3, -6, -3, 0, -1, -1, -2, -6, -2, 1, -2, -2, -1, -5, -3,
    -00553 0, -4, -3, 0, 2, 2, 3, 3, 3, 6, 4, 3, 4, 4, 5, 3, 1, 4, 3, 1, 4, 3, 6, 7, 5, 5,
    -00554 4, 6, 3, 4, 6, 3, 6, 7, 6, 3, 0, 2, 2, 4, 3, 0, 4, 4, 2, 2, 4, 4, 5, 4, 4, 4, 1,
    -00555 2, 0, 0, 2, 3, 2, 3, 5, 3, 2, 1, 2, 1, 3, 4, 0, 2, 1, 1, 0, -4, -1, -2, -2, 1,
    -00556 -1, -1, -3, -1, 2, 2, 3, 1, 1, 0, 2, 3, 3, 4, 1, 0, 2, 4, 1, 2, 3, 1, 1, 0, 1,
    -00557 0, 0, 1, 1, 2, 2, 0, 1, 3, 0, 1, 3, 0, 1, 3, 3, 5, 7, 6, 6, 8, 9, 7, 6, 7, 5, 4,
    -00558 7, 4, 1, 4, 3, 3, 3, 4, 6, 3, 4, 4, -1, 0, 3, 1, 0, 1, 3, 2, 0, 2, 1, -1, 1, 0,
    -00559 1, 3, 4, 3, 3, 2, 4, 6, 3, 4, 4, 2, 2, 3, 3, 2, 2, 5, 3, 1, 1, 1, -1, -2, -2,
    -00560 -4, -3, -1, -1, 1, 4, 2, -1, 3, 6, 3, 3, 2, 0, 0, -1, 4, 4, 2, 3, 2, 1, 2, 1, 1,
    -00561 1, 1, 1, 3, 4, 1, 1, 2, 3, 3, 2, 3, 1, 0, 2, 3, 3, 2, 3, 4, 3, 4, 5, 4, 3, 4, 3,
    -00562 5, 4, -1, 3, 2, -1, 4, 3, 1, 1, 2, 1, 2, 3, 3, 4, 5, 5, 4, 3, 0, -2, 1, 2, 0, 1,
    -00563 2, 2, 5, 5, 0, -1, 2, 5, 3, 2, 3, 1, 2, 4, 5, 6, 5, 1, 3, 8, 4, 3, 4, 1, 2, 4,
    -00564 3, 6, 6, 2, 2, 3, 3, 2, 3, 3, 4, 5, 8, 9, 4, 5, 4, 3, 5, 4, 5, 7, 6, 2, 3, 4, 2,
    -00565 5, 5, 2, 2, 4, 5, 0, 1, 3, 2, 1, 0, 3, 1, 0, 3, 2, 2, 1, 1, 0, 1, 2, 2, 2, 1, 2,
    -00566 0, 0, 1, -1, 1, 3, -1, -1, -1, -4, -2, -4, -4, -2, -4, -3, -2, -1, 1, 0, 0, 0,
    -00567 -2, -2, 1, 1, -2, 2, 2, -2, 0, 0, 1, 0, -1, 0, -1, -1, -1, 0, -2, -4, -3, -5,
    -00568 -3, -3, -5, -2, 0, -1, -3, 0, 0, -3, -2, 0, 0, 0, -2, -3, -1, 1, 1, 3, 3, 0, 0,
    -00569 1, 0, -1, 1, 1, -1, 0, 0, -1, -4, -2, -1, -3, -1, -2, -2, -3, -2, -1, -2, -1,
    -00570 -2, -3, -2, -3, -2, -1, 0, -1, -3, -3, -4, -2, -2, 0, 0, -6, -4, -1, 0, -1, -2,
    -00571 -1, -3, -3, -2, -3, -4, -3, -2, -1, 0, 1, 0, 0, 3, 3, 0, 1, 3, 1, 1, 3, 0, 0, 2,
    -00572 1, 2, 3, 5, 4, 1, 0, 1, 1, 0, 0, 1, 2, 1, 2, 3, 3, 2, 3, 3, 1, 0, 4, 3, 2, 2, 1,
    -00573 1, 3, 3, 1, 4, 5, 5, 5, 2, 4, 6, 4, 3, 4, 4, 5, 4, 1, 3, 4, 4, 5, 2, 3, 2, 2, 2,
    -00574 0, 2, 2, 1, 3, 4, 3, 1, 3, 5, 3, 4, 3, 4, 6, 7, 9, 6, 6, 8, 8, 7, 3, 4, 4, 2, 2,
    -00575 2, 5, 4, 3, 4, 0, 1, 2, 0, 2, 4, 3, 6, 8, 5, 5, 5, 7, 7, 7, 8, 6, 9, 8, 5, 6, 5,
    -00576 5, 6, 5, 5, 4, 1, 5, 7, 3, 4, 4, 1, 4, 5, 1, 1, 1, 2, 2, 3, 5, 5, 5, 6, 4, 1, 3,
    -00577 4, 3, 4, 5, 5, 5, 6, 4, 3, 3, 3, 5, 5, 2, 2, 3, 2, 0, 0, 2, 3, 1, 2, 3, 3, 2, 3,
    -00578 3, 4, 5, 2, 3, 3, 0, 2, 5, 5, 3, 3, 4, 4, 3, 2, 3, 2, 3, 3, 0, 2, 2, -1, 0, 0,
    -00579 2, 1, 0, 1, 0, 2, 3, 2, 4, 4, 1, 3, 6, 4, -1, 2, 3, 2, 2, 1, 3, 5, 5, 2, 1, 2,
    -00580 2, 3, 2, 2, 3, 2, -1, -1, -1, 3, 4, 0, 0, 2, 2, 0, 0, -1, -1, 3, 0, 1, 3, 0, -1,
    -00581 0, -1, -1, 0, 1, 4, 4, 3, 1, 0, 0, 1, 0, -1, 1, 1, -1, -2, -3, -2, -2, -2, -3,
    -00582 -4, -3, -4, -4, -3, -5, -4, 0, 0, 1, 2, 1, 1, 1, 3, 4, 2, 3, 2, 3, 3, 0, -1, 1,
    -00583 1, 1, 2, 2, 2, 1, 0, -1, 0, -1, -3, 0, 3, -1, -3, 0, 0, 0, 3, 2, -1, -1, 1, 1,
    -00584 1, 2, 2, 0, 1, 2, 3, 2, 2, 1, 0, 1, 1, 2, 3, 3, 2, 2, 1, 1, 6, 2, 0, 1, 2, 2, 1,
    -00585 1, 0, 2, 1, 1, 4, 1, 0, 1, 0, 1, 1, -1, 1, 2, 3, 5, 5, 3, 1, 2, 1, 2, 2, 1, 1,
    -00586 2, 1, -1, -2, -1, -2, -4, -3, -2, -3, -1, 1, -1, 2, 3, 0, -3, -5, -2, -2, -1, 1,
    -00587 -4, -3, -1, -1, 1, -1, -4, -3, 2, -2, -4, 0, -5, -1, 0, 0, 1, 0, 0, -2, 1, 2, 1,
    -00588 2, 1, 0, 1, 3, 4, 0, 2, 5, 1, 1, 3, 1, 4, 4, 1, 3, 1, 0, 3, 5, 4, 5, 4, 3, 3, 2,
    -00589 1, 1, 1, 1, 4, 4, -1, -3, 1, 1, 1, 4, 5, 2, 3, 4, 1, 2, 1, 2, 4, 3, 1, 2, 6, 4,
    -00590 0, 1, 2, 3, 2, 3, 2, 0, 3, 2, 0, 2, 1, -1, 0, 2, 2, 3, 1, -1, 2, 2, 4, 1, 1, 4,
    -00591 2, -1, -2, -4, -4, -4, -4, -5, -5, -2, -3, -1, 0, -1, -2, -1, 1, 3, 3, -1, -1,
    -00592 1, 2, 1, 0, 2, 1, 3, 4, 2, 2, 1, 0, 3, 3, 1, 4, 4, 3, 3, 5, 4, 1, 2, 3, 4, 3, 2,
    -00593 3, 3, 5, 6, 5, 7, 10, 8, 7, 6, 4, 6, 7, 6, 7, 7, 7, 5, 5, 4, 5, 6, 3, 1, 2, 4,
    -00594 4, 1, 1, 2, -3, -2, 4, 2, 1, 2, 3, 3, 1, 2, 4, 3, 1, 4, 5, 3, 3, 1, 4, 4, 4, 7,
    -00595 6, 5, 4, 5, 3, 2, 3, 2, 2, 1, 1, 2, 0, 1, -2, -3, 3, 2, 0, 1, 0, -2, -1, 1, 0,
    -00596 -1, 1, 3, 2, 1, 4, 3, 0, 3, 4, 3, 3, 6, 3, 3, 6, 4, 4, 4, 2, 3, 4, 5, 1, 2, 4,
    -00597 1, 3, 2, 2, 4, 5, 6, 4, 4, 5, 4, 4, 5, 6, 6, 7, 3, 4, 6, 5, 7, 6, 4, 2, 1, 4, 5,
    -00598 2, 2, 3, 2, 2, 2, 1, 1, -2, -3, 2, 2, 1, 2, 2, 0, 1, 2, 0, 0, -1, 1, 0, -4, -3,
    -00599 -3, -1, 3, 1, 2, 1, -1, -1, 0, 0, -1, 0, -1, 0, 0, -1, 1, 0, 0, 0, 0, -2, -3, 0,
    -00600 -2, -2, 1, 0, -2, -1, 1, 0, 0, 0, 0, 2, -1, -4, 0, 3, 2, 0, 0, 1, 3, 3, 0, -3,
    -00601 -5, -2, -1, 1, 1, -2, 1, 3, 1, 1, 1, 0, 1, 2, 1, 3, 6, 2, 2, 5, 3, 4, 3, 5, 6,
    -00602 4, 2, 2, 3, 1, 0, 0, 3, 4, 2, 4, 1, 1, 4, 2, 0, -4, -2, 0, 1, 3, 1, 1, 2, 0, 1,
    -00603 1, 0, 1, 3, 4, 0, 0, 1, 2, 3, 2, 3, 6, 4, 1, 1, 2, 0, 2, 3, 0, 1, 4, 5, 0, -1,
    -00604 3, 0, 2, 6, 3, 0, 4, 5, 2, 0, 1, 2, 3, 3, 2, 3, 3, 2, -1, 2, 5, 1, 0, 3, 2, 2,
    -00605 0, 1, 1, 0, 3, 3, 0, 0, 1, 1, 1, 0, 0, 1, 2, 2, 2, 1, 3, 2, -2, 1, 0, 0, 4, 1,
    -00606 -1, 1, 1, 0, 2, 2, 2, 3, 3, 2, 0, -2, -1, 2, 3, 3, 2, 2, 1, 0, 2, 1, 1, 3, 0, 1,
    -00607 2, 2, 4, 2, 1, 3, 1, 0, 2, 2, 3, 4, 4, 3, 2, 1, 4, 5, 2, 4, 3, 0, 3, 4, 3, 2, 3,
    -00608 4, 3, 1, 0, 0, 0, 4, 4, 1, 2, 3, 5, 4, -1, -1, 2, 1, 0, 1, 0, 1, 1, 1, 0, 1, 3,
    -00609 2, 3, 4, 1, 0, 1, 0, -2, -3, -1, 0, -2, 1, 0, -3, 1, -1, 0, 4, 2, 1, 2, 1, 0, 2,
    -00610 2, -1, -1, 2, 0, -4, 0, 2, 1, 0, 1, 2, -1, 2, 2, -1, 1, 3, 3, 2, 0, 1, 0, 1, 1,
    -00611 0, 3, 3, 3, 4, 1, 0, -1, 1, 2, 1, 2, 2, 4, 1, 0, 4, 4, 3, 2, 2, 2, 1, 0, 1, 3,
    -00612 1, 0, 1, 2, 1, 0, 3, 3, 1, 2, 1, -1, 3, 3, 1, 2, 3, 5, 1, 1, 2, -2, -1, 0, 0, 2,
    -00613 2, 0, 1, 2, 1, 2, 1, 2, 1, 0, 0, 1, -2, -3, -2, -3, -3, 1, 4, 3, 2, 2, 2, 0, 1,
    -00614 4, 0, 2, 4, 0, 4, 4, -1, 3, 4, 0, 2, 3, 2, 2, 4, 5, 3, 3, 3, 1, 2, 4, 3, 1, 2,
    -00615 2, 4, 2, 3, 4, 2, 3, 2, 1, 3, 1, 1, 4, 3, 0, 2, 2, 1, 3, 3, 3, 2, 0, 2, 4, 3, 4,
    -00616 3, 2, 3, 3, 2, 3, 2, 0, 0, 1, -1, 1, 2, 0, 2, 2, 3, 3, 1, 1, 0, -1, 2, 0, -1, 4,
    -00617 3, 0, 3, 2, 1, 2, 2, 0, 0, 3, 4, 4, 3, 0, -1, 0, 1, 1, 0, 0, 1, 2, 0, 0, 0, 2,
    -00618 3, 0, 3, 3, -1, 2, 5, 0, -2, 2, 2, 2, 0, 1, 2, 3, 2, 2, 3, 3, 4, 3, 3, 2, 1, 2,
    -00619 3, 2, 4, 4, 1, 2, 2, 1, 2, 3, 5, 4, 2, 4, 0, -2, 1, 0, 0, -1, 1, 3, 2, 1, 1, 3,
    -00620 2, 3, 1, 0, 2, 4, 2, 3, 1, 1, 2, 1, 0, 0, 2, 1, 0, 0, 0, 2, 2, 2, 0, 2, 5, -1,
    -00621 -1, 1, -1, 0, 0, 2, 2, 0, 1, 2, 2, 2, 1, 2, 2, 3, 3, 3, 3, 2, 4, 2, 1, 2, 1, 3,
    -00622 0, -1, 3, 3, 2, 1, 0, 0, 2, 2, 3, 2, -3, -1, 2, 1, 4, 5, 5, 5, 6, 7, 5, 5, 5, 4,
    -00623 3, 4, 5, 4, 5, 6, 3, 2, 1, 2, 2, 2, 3, 1, 1, 4, 3, 1, -2, -1, 1, 1, 3, 2, 3, 5,
    -00624 2, 2, 3, 3, 2, 3, 6, 4, 1, 2, 3, 2, 2, 3, 1, 3, 4, 3, 2, 0, 1, 1, 2, 1, 1, 2,
    -00625 -1, -2, -2, -3, -1, 0, -1, 1, 0, -1, 0, 1, 2, 2, 1, 1, 2, 2, 0, 3, 4, 2, 2, 1,
    -00626 -1, -1, 2, 2, 1, 2, 1, -1, -1, 2, 3, 1, 1, 2, 2, 1, 0, 1, 3, 4, 0, 0, 2, -1, -2,
    -00627 0, 3, 5, 4, 5, 3, -1, 1, 2, 1, 2, 3, 2, 2, 3, 2, 1, 4, 4, 3, 4, 3, 3, 1, 0, 2,
    -00628 2, 2, 2, 4, 5, 3, 3, 1, 1, 3, 2, 3, 5, 4, 2, 2, 2, 2, 1, 1, 3, 3, 1, 1, 3, 3, 2,
    -00629 3, 2, 0, -1, 0, 1, 1, -2, -4, -3, -1, 0, 0, 2, 3, 2, 1, -1, -3, -3, -2, -3, -3,
    -00630 0, 1, 0, -2, -3, -1, 0, -1, 1, 1, -2, 0, 0, 0, 1, 0, 1, 1, 1, 2, 3, 1, 0, -1, 0,
    -00631 4, 3, 3, 2, 3, 3, 1, 2, 3, 3, 2, 1, 3, 2, 1, 2, 1, 3, 6, 5, 2, 3, 2, 1, 2, 2, 3,
    -00632 2, 5, 5, 2, 2, 3, 3, 2, 2, 3, 4, 2, 1, 2, 1, 3, 5, 2, 2, 4, 1, 1, 1, -1, 0, 1,
    -00633 1, 2, 4, 3, 1, 0, -1, 1, 3, 2, 1, 2, 3, 3, 1, 0, 1, 1, 1, 0, 0, -3, -2, -1, 0,
    -00634 3, 2, 0, 0, 1, 0, 0, -1, -1, -2, -1, 1, 1, 0, 2, 2, 0, 0, 0, 1, 4, 0, -1, 0, -1,
    -00635 1, 3, 2, 1, 1, 0, 3, 3, 0, 0, 0, 0, 4, 3, 2, 1, 0, 2, 3, 4, 2, -1, 1, 3, 2, 2,
    -00636 0, 0, 0, 1, 2, 1, 3, 2, 4, 4, -1, -3, 1, 4, 2, 1, 2, 3, 2, -2, -1, -1, -2, 0, 1,
    -00637 0, -1, 0, 0, -1, -1, -2, 2, 3, 1, 0, 0, 1, 1, 1, 1, 0, 2, -1, 0, 4, 2, 2, 1, -3,
    -00638 0, 2, 2, 3, -1, 0, 3, 0, 0, 1, 0, 0, 4, 3, 1, 2, 2, 1, 2, 2, 0, 1, 3, 0, 0, 1,
    -00639 -1, 0, 3, 2, 1, 2, 2, -1, 0, 2, 2, 1, 2, 1, 4, 6, 3, 2, 0, 3, 2, 1, 3, 4, 5, 4,
    -00640 4, 4, 3, 3, 3, 2, 3, 3, 3, 1, 2, 3, 3, 2, 1, 2, 3, 5, 2, 0, 2, 2, 1, 3, 2, 2, 5,
    -00641 0, -1, 4, 1, 0, 1, 2, 3, 2, 3, 4, 3, 3, 4, 2, 2, 2, 3, 3, 1, 2, 3, 0, 1, 2, 2,
    -00642 0, 0, 2, 2, 1, 2, 1, 0, 2, 2, 1, 1, 2, 1, 1, 4, 2, 1, 5, 4, 0, 2, 4, 0, 0, 3, 3,
    -00643 1, 1, 1, 2, 1, -1, 1, 4, 6, 6, 3, 2, 3, 2, 2, 3, 2, 1, 2, 2, 1, 2, 3, 3, 4, 5,
    -00644 4, 5, 5, 4, 5, 3, 1, 1, 2, 3, 2, 3, 2, 3, 2, 1, 1, 0, 2, 3, 2, 3, 2, 1, 0, 0, 3,
    -00645 1, 1, 4, 1, 2, 4, 2, 3, 2, 2, 3, 1, 1, 2, 2, 2, 4, 5, 3, 3, 3, 2, 2, 0, 1, 1,
    -00646 -1, 0, 2, 0, 2, 2, 0, 2, 1, 1, 1, 0, 1, 1, 3, 1, 0, 3, 1, 1, 1, 0, -2, -2, 2, 3,
    -00647 3, 4, 1, 1, 1, 1, 3, 2, -1, -2, 1, 0, -3, -1, -1, 1, 4, 2, 2, 1, -1, -2, -1, 1,
    -00648 2, 1, 3, 3, 1, 1, 0, 1, 4, 3, 2, 1, 0, 2, 2, 1, 1, 0, 1, 3, 2, 3, 3, 0, 1, 1,
    -00649 -1, 0, 2, 2, 1, 1, 2, 1, 0, 2, 2, 1, 1, 1, 1, 2, 3, 3, 3, 3, 2, 4, 4, 1, 1, 4,
    -00650 4, 3, 5, 4, 3, 4, 3, 1, -1, -1, 2, 1, 0, 1, 1, 3, 3, 4, 4, 1, 3, 2, 1, 2, 3, 1,
    -00651 1, 1, 2, 4, 4, 5, 4, 4, 1, 1, 2, 0, 1, 2, 3, 1, 1, 2, 1, 1, -1, 0, 0, 0, 0, 1,
    -00652 2, 4, 2, 1, 2, 1, 2, 4, 2, 0, 2, 3, 1, 2, 3, 4, 1, 0, 1, 1, 1, 0, 1, 1, 1, 4, 4,
    -00653 3, 4, 3, 3, 1, 0, 0, -1, -1, 1, 2, 1, 2, 2, 1, 0, 0, 0, 0, 1, 3, 2, 1, 1, 1, 3,
    -00654 3, 1, 2, 0, 1, 3, 0, 0, 1, 1, 2, 1, 3, 3, 2, 2, 1, -2, 1, 4, 0, 3, 4, 1, 0, 2,
    -00655 3, 2, 2, 1, 2, 3, 2, 1, 1, 0, 2, 4, 4, 3, 0, 0, 2, 2, 2, 1, 1, 2, 1, -1, 0, 1,
    -00656 -1, -3, -1, 1, 2, 1, -1, 0, 1, 0, 0, 0, 1, 3, 2, 0, 1, 0, -3, 0, 2, 1, 1, 2, 1,
    -00657 2, 1, 1, 1, 1, 1, 2, 3, 3, 2, 0, 0, 2, 2, 2, 1, 2, 1, -1, 0, -2, -4, -1, 1, 0,
    -00658 1, 1, 0, -1, 0, -1, -3, -2, -2, -1, 0, 1, 0, -1, 1, 1, 1, 2, 2, 1, 3, 4, 2, 1,
    -00659 2, 2, 3, 1, 2, 2, 0, 1, 2, 1, 0, 2, 2, 1, 3, 2, 2, 1, 0, 0, 2, 3, 2, 3, 3, 1, 3,
    -00660 3, 3, 2, 3, 2, 3, 4, 2, 1, 2, 3, 3, 2, 3, 2, 3, 2, 1, 3, 1, 0, 2, 3, 3, 3, 4, 3,
    -00661 4, 3, 0, 0, 1, 2, 2, 3, 3, 2, 3, 4, 1, 1, 3, 3, 2, 1, 2, 3, 1, -1, 1, 1, 0, 1,
    -00662 1, -1, -1, 2, 1, 1, -1, 0, 3, 2, 1, 2, 2, 2, 1, 2, 2, 3, 2, 2, 1, 1, 2, 2, 3, 3,
    -00663 2, 3, 2, 2, 1, 2, 1, 0, 2, 4, 2, 0, 0, 1, 2, 4, 3, 2, 1, 1, 2, 4, 5, 3, 4, 3, 3,
    -00664 3, 4, 5, 3, 2, 4, 5, 3, 2, 2, 3, 3, 4, 3, -1, 0, 3, 2, 2, 2, 1, 2, 4, 4, 3, 1,
    -00665 1, 2, 3, 2, 3, 2, 1, 3, 3, 1, 1, 3, 2, 4, 4, 2, 1, 0, 2, 3, 2, 2, 3, 2, 3, 2, 1,
    -00666 2, 0, 0, 1, -1, 0, 1, 3, 3, 1, 0, 1, 0, 0, 1, 1, 2, 3, 2, 2, 2, 1, 1, -1, 0, 1,
    -00667 0, 1, 2, 2, 2, 1, -2, -1, 3, 0, 0, -1, -5, -2, -1, -2, -1, -1, 0, 1, 0, 0, 0, 1,
    -00668 0, 0, 0, 1, 2, 2, 1, 0, 1, 1, 2, 3, 3, 3, 2, 0, 0, 2, 3, 2, 0, 1, 1, 3, 3, 2, 1,
    -00669 0, 1, 2, 2, 4, 3, 0, 1, 4, 2, 2, 4, 3, 3, 3, 3, 4, 4, 4, 3, 1, 3, 4, 2, 3, 3, 3,
    -00670 3, 3, 3, 3, 1, 1, 3, 2, 2, 4, 4, 2, 1, 3, 3, 2, 3, 4, 3, 3, 5, 3, 2, 3, 4, 4, 4,
    -00671 3, 2, 3, 3, 2, 0, -1, 1, 1, -1, 0, 2, 1, 1, 2, 1, 0, 1, 2, 0, 0, 2, 2, 2, 2, 1,
    -00672 0, 2, 3, 1, 0, 1, 1, 2, 1, 2, 1, 2, 3, 2, 1, 2, 0, -1, 2, 1, 0, 1, 1, 4, 6, 4,
    -00673 2, 2, 1, 1, 2, 1, 1, 3, 2, 3, 2, 1, 2, 3, 3, 1, 2, 3, 3, 3, 2, 2, 4, 4, 2, 2, 2,
    -00674 3, 3, 1, 2, 2, 3, 3, 2, 3, 3, 2, 1, 2, 0, 0, 2, 1, 0, 0, 1, 1, 1, 2, 1, 3, 4, 1,
    -00675 1, 0, 1, 3, 3, 2, 3, 2, 1, 2, 1, 2, 3, 2, 2, 1, 2, 4, 3, 1, 1, 2, 2, 3, 3, 3, 1,
    -00676 1, 1, 2, 2, 3, 1, 0, 2, 2, 1, 1, -1, 1, 2, 0, 0, 1, 1, 2, 2, 1, 0, 1, -1, 0, 3,
    -00677 1, 1, 2, 2, 2, 1, 1, 1, -1, 0, 3, 1, 2, 2, -1, -3, -1, 2, 1, 2, 3, 1, -1, -2, 0,
    -00678 0, 0, 1, 0, 1, 2, 1, 0, 1, 0, -1, 0, 1, 2, 2, 1, 0, 1, 0, 0, -1, 0, 0, 0, 0, -1,
    -00679 0, 1, 1, 2, 3, 1, 0, 2, 2, 1, 1, 0, 1, 2, 1, 2, 2, 3, 4, 1, 0, 3, 2, 1, 3, 3, 2,
    -00680 3, 3, 2, 2, 3, 2, 1, 2, 2, 3, 4, 3, 2, 3, 2, 3, 2, 3, 2, 1, 3, 2, 3, 2, 2, 4, 3,
    -00681 3, 4, 4, 6, 5, 2, 1, 2, 1, 2, 3, 4, 6, 5, 4, 4, 3, 0, 1, 0, 2, 4, 4, 2, 2, 2, 1,
    -00682 2, 2, 1, 2, 4, 4, 1, 0, 1, 1, 3, 3, 0, 0, 1, 2, 2, 1, -2, -2, 1, 1, 0, 0, 0, 1,
    -00683 1, 2, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 2, 4, 3, 0, 0, 2, 1, -1, 1, 0, 0, 3, 3, 2,
    -00684 2, 2, 0, 1, 2, 2, 1, 0, 0, 1, 0, 1, 2, 3, 4, 2, 1, 2, 1, 1, 2, 3, 2, 3, 4, 5, 5,
    -00685 3, 1, 2, 2, 1, 0, 2, 2, 3, 4, 3, 2, 3, 2, 2, 1, 2, 2, 0, 1, 1, 1, 3, 2, 2, 3, 3,
    -00686 2, 0, 1, 0, 1, 3, 3, 4, 3, 2, 3, 1, 0, 0, -1, 0, 0, -1, 1, 1, 1, 0, -1, 0, -2,
    -00687 -2, 0, -1, -1, 1, 1, 1, 0, -1, -1, 1, 2, 1, 0, 0, 0, -1, 1, 1, 2, 2, 2, 3, 1, 0,
    -00688 1, 0, -1, 0, 1, 1, -1, 0, 1, 1, 3, 3, 1, 0, 1, 0, 0, 1, 2, 3, 2, 4, 4, 1, 3, 4,
    -00689 2, 3, 5, 5, 3, 2, 3, 3, 4, 3, 3, 3, 3, 4, 4, 2, 2, 3, 3, 2, 2, 4, 4, 1, 2, 3, 4,
    -00690 3, 2, 3, 2, 3, 4, 6, 4, 2, 4, 5, 5, 3, 2, 5, 4, 4, 5, 4, 3, 2, 3, 3, 1, 1, 3, 1,
    -00691 1, 1, 2, 3, 3, 1, 1, 2, 2, 2, 1, 0, 1, 2, 2, 1, 2, 1, 2, 2, 1, 2, 0, 1, 3, 2, 2,
    -00692 1, 0, 2, 3, 1, -2, -3, -2, 0, 1, -1, 1, 2, 1, 3, 2, 0, 2, 1, 0, 0, 0, 1, 0, 1,
    -00693 2, 1, 1, 2, 1, 3, 4, 2, 3, 1, 1, 2, 1, 1, -1, -1, 1, 1, 0, 1, 3, 2, 1, 2, 1, 1,
    -00694 3, 5, 4, 2, 0, 1, 2, 3, 4, 4, 3, 5, 4, 4, 5, 5, 4, 3, 2, 1, 2, 2, 1, 2, 3, 2, 2,
    -00695 3, 2, 3, 2, 1, 3, 0, 0, 2, 2, 2, 3, 3, 1, 2, 3, 3, 3, 2, 1, 0, 1, 2, 1, 0, 1, 1,
    -00696 2, 3, 2, -1, -2, -1, 0, 1, 2, 1, 1, 0, 1, 0, 0, -1, -2, 0, -1, -2, 0, 2, 1, 0,
    -00697 1, 0, 1, 2, 1, 0, 1, 2, 2, 2, 1, 1, 3, 3, 2, 1, 1, 0, -1, 0, 3, 3, 3, 4, 3, 3,
    -00698 2, 1, 2, 3, 2, 1, 2, 3, 4, 4, 5, 4, 2, 1, 3, 4, 3, 2, 3, 3, 2, 3, 2, 2, 3, 2, 1,
    -00699 1, 2, 2, 1, 0, 1, 1, 2, 1, 1, 3, 3, 2, 2, 1, 1, 2, 2, 1, 1, 3, 4, 3, 2, 3, 3, 2,
    -00700 3, 2, 3, 3, 1, 1, 0, 1, 2, 1, 1, 1, 2, 3, 3, 2, 3, 3, 3, 2, 1, 2, 1, 2, 3, 3, 1,
    -00701 1, 3, 1, 0, 1, 1, 0, 1, 2, 1, -1, 0, 0, -1, -1, -1, 1, 1, 2, 1, 2, 3, 1, 1, 3,
    -00702 1, -2, -2, 2, 3, 2, 2, 1, 2, 2, 2, 1, 2, 2, 1, 0, 1, 2, 1, 2, 2, 1, 2, 2, 0, 0,
    -00703 -1, -1, 1, 1, 0, 0, 3, 3, 0, 0, 0, 1, 2, 2, 0, 1, 3, 2, 3, 2, 1, 1, 2, 2, 2, 1,
    -00704 1, 1, 2, 4, 5, 3, 2, 1, 0, 2, 4, 5, 4, 3, 3, 4, 2, 2, 1, 2, 3, 2, 2, 3, 3, 1, 1,
    -00705 2, 2, 3, 3, 2, 1, 2, 1, 0, -1, 0, 1, 2, 2, -1, 0, 1, 1, 0, 1, 2, 2, 2, 2, 1, 2,
    -00706 2, 1, 3, 3, 2, 2, 1, 1, 0, 1, 3, 3, 2, 2, 4, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1,
    -00707 2, 2, 3, 3, 2, 1, 1, 2, 1, 2, 1, 1, 1, 2, 3, 3, 2, 1, 0, 1, 0, 0, 1, 1, 1, 2, 2,
    -00708 0, 1, 2, 1, 1, 2, 3, 1, 1, 2, 1, 0, 1, 2, 2, 3, 2, 1, 2, 3, 2, 2, 2, 1, 1, 2, 1,
    -00709 1, 1, 2, 1, 1, 2, 1, 2, 3, 1, 0, 1, 0, 0, 1, 2, 0, 1, 4, 3, 2, 2, 2, 2, 2, 3, 2,
    -00710 4, 2, 1, 2, 1, 0, 1, 3, 2, 3, 2, 3, 2, 1, 2, 3, 2, 1, 2, 1, 1, 2, 1, 2, 2, 3, 2,
    -00711 3, 3, 2, 1, 0, 1, 3, 2, 1, 3, 2, 3, 2, 1, 2, 2, 5, 4, 3, 3, 2, 1, 2, 0, 0, 1, 1,
    -00712 0, -1, 0, 2, 1, 0, 0, 0, 1, 0, 1, 2, 3, 2, 1, 2, 1, 0, 3, 2, 1, 2, 2, 1, 2, 2,
    -00713 3, 2, 2, 4, 3, 2, 2, 1, 0, 0, 2, 1, 1, 2, 2, 3, 4, 2, 1, 2, 2, 1, 2, 1, 3, 3, 2,
    -00714 1, 2, 1, 2, 3, 3, 2, 3, 2, 2, 1, 2, 4, 3, 3, 3, 2, 2, 0, 0, 2, 2, 1, 1, 1, 0, 0,
    -00715 2, 3, 2, 0, 0, 0, 0, 1, 1, 0, 1, 2, 3, 2, 2, 2, 1, 1, 1, 2, 2, 1, 2, 2, 2, 1, 1,
    -00716 2, 1, 1, 2, 2, 2, 2, 0, -1, -1, 1, 2, 2, 1, 0, 2, 2, 1, 2, 0, 1, 1, 2, 3, 3, 4,
    -00717 4, 1, 2, 3, 2, 1, 2, 3, 3, 2, 3, 1, 3, 4, 1, 1, 4, 4, 2, 1, 3, 3, 2, 3, 2, 3, 5,
    -00718 6, 4, 2, 3, 5, 4, 3, 2, 1, 3, 2, };
    -00719  
    -00720  #endif /* ABOMB_H_ */
    -
    - - - - +
    1 #ifndef ABOMB_H_
    +
    2 #define ABOMB_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 #define ABOMB_NUM_CELLS 16384
    +
    12 #define ABOMB_SAMPLERATE 16384
    +
    13 
    +
    14 const char __attribute__((progmem)) ABOMB_DATA [] = {-11, -14, -16, -14, -9, -7,
    +
    15 -5, -1, 8, 13, 12, 10, 12, 16, 16, 16, 15, 15, 17, 14, 7, 3, 6, 4, 1, -1, -5,
    +
    16 -4, -7, -10, -9, -12, -15, -17, -17, -15, -13, -13, -13, -13, -10, -4, -1, 1, 5,
    +
    17 11, 13, 14, 15, 15, 15, 14, 15, 16, 15, 16, 13, 7, 10, 8, 0, -1, -1, -2, -3, -8,
    +
    18 -9, -13, -14, -13, -14, -14, -10, -6, -7, -10, -4, 2, 2, 3, 5, 8, 14, 16, 13,
    +
    19 16, 16, 15, 16, 14, 12, 12, 13, 10, 5, 6, 4, 1, 1, -2, -3, -2, -7, -9, -10, -11,
    +
    20 -10, -9, -4, -3, -4, -4, 1, 5, 5, 7, 9, 8, 13, 18, 13, 9, 12, 10, 9, 9, 6, 7, 6,
    +
    21 2, 1, 2, 1, -3, -6, -9, -10, -7, -9, -10, -10, -10, -8, -7, -5, -3, -1, 1, 3, 3,
    +
    22 4, 9, 9, 6, 8, 10, 11, 9, 7, 6, 4, 3, 2, 1, 3, 3, -1, -5, -7, -8, -7, -8, -10,
    +
    23 -7, -4, -6, -5, -6, -5, 0, 1, 0, 4, 8, 7, 5, 7, 9, 10, 9, 8, 8, 6, 7, 6, 4, 4,
    +
    24 3, 0, -4, -3, 0, -4, -5, -6, -6, -4, -7, -7, -6, -4, -1, -1, 1, 3, 6, 7, 6, 10,
    +
    25 11, 12, 13, 14, 16, 15, 12, 11, 8, 7, 9, 8, 6, 3, 1, 1, -1, -3, -3, -7, -7, -9,
    +
    26 -10, -6, -5, -8, -8, -5, -1, 2, 3, 4, 8, 11, 9, 10, 8, 9, 11, 10, 10, 12, 12, 8,
    +
    27 5, 3, 3, 3, 0, -4, -5, -5, -7, -10, -14, -14, -10, -10, -13, -10, -8, -10, -8,
    +
    28 -6, -5, -4, -2, 2, 5, 8, 6, 5, 6, 6, 10, 11, 7, 10, 12, 10, 10, 4, 0, -2, -5,
    +
    29 -6, -10, -8, -8, -10, -10, -10, -7, -5, -6, -4, -5, -5, -4, -3, 1, 4, 7, 6, 7,
    +
    30 14, 16, 12, 12, 10, 9, 11, 11, 11, 8, 5, 4, -1, -4, -5, -8, -10, -9, -12, -12,
    +
    31 -6, -7, -13, -14, -8, -6, -8, -7, -5, 5, 19, 24, 19, 16, 13, 16, 26, 32, 30, 15,
    +
    32 2, -14, -23, -21, -22, -20, -19, -17, -15, -15, -12, -8, -1, -2, -12, -16, -20,
    +
    33 -25, -26, -23, -16, -8, -5, 2, 11, 19, 25, 27, 24, 19, 18, 23, 28, 26, 25, 25,
    +
    34 22, 21, 28, 31, 32, 31, 18, 7, 1, -1, -4, 3, 9, 3, 5, 12, 14, 12, 9, 9, 9, 9,
    +
    35 10, 14, 20, 22, 13, 10, 13, 14, 16, 15, 11, 7, 6, 6, 8, 9, 7, 7, 1, -7, -12,
    +
    36 -14, -12, -12, -14, -9, -8, -14, -18, -20, -18, -9, -9, -16, -13, -17, -23, -22,
    +
    37 -21, -21, -26, -24, -18, -14, -13, -17, -18, -15, -14, -18, -23, -29, -32, -32,
    +
    38 -35, -34, -29, -29, -30, -29, -28, -32, -30, -26, -22, -14, -11, -13, -6, -3,
    +
    39 -8, 0, 4, 2, 12, 22, 23, 23, 18, 2, -1, 11, 12, 11, 18, 13, 1, 4, 14, 16, 8, 4,
    +
    40 9, 8, 4, 4, 11, 18, 19, 29, 28, 17, 27, 33, 28, 25, 23, 21, 24, 26, 31, 35, 36,
    +
    41 34, 33, 31, 32, 31, 18, 22, 28, 19, 20, 22, 20, 23, 20, 12, 17, 22, 17, 13, 10,
    +
    42 7, 10, 21, 26, 22, 18, 16, 15, 16, 15, 16, 13, 6, 9, 13, 16, 15, 8, 2, 4, 1, -7,
    +
    43 -6, -11, -14, -10, -13, -17, -11, -4, -4, -2, -2, -7, -12, -13, -10, -9, -8, -7,
    +
    44 -4, 4, 6, 5, 7, 3, 1, -2, -6, -1, 8, 6, 0, -3, -7, -7, -4, -8, -14, -19, -26,
    +
    45 -26, -27, -28, -25, -26, -30, -32, -31, -22, -17, -18, -17, -23, -19, -17, -27,
    +
    46 -18, -10, -19, -16, -12, -16, -14, -8, -6, -9, -7, -14, -25, -19, -11, -15, -17,
    +
    47 -16, -18, -19, -19, -16, -16, -16, -8, -11, -19, -18, -15, -19, -20, -14, -11,
    +
    48 -12, -15, -17, -15, -20, -24, -16, -11, -6, 0, 5, 8, 5, 3, 1, 3, 0, 3, 8, 5, 4,
    +
    49 1, 2, 9, 7, 2, 7, 9, 3, 5, 8, 10, 11, 12, 16, 16, 25, 26, 21, 24, 29, 34, 29,
    +
    50 29, 32, 27, 27, 26, 21, 22, 26, 26, 26, 23, 18, 23, 25, 19, 17, 22, 23, 21, 24,
    +
    51 27, 23, 22, 22, 21, 25, 27, 31, 30, 25, 29, 30, 25, 26, 27, 24, 21, 18, 16, 15,
    +
    52 16, 18, 15, 7, 6, 9, 6, 5, 6, 6, 5, 6, 6, 3, 8, 11, 9, 8, 2, 1, 1, 2, 6, 9, 6,
    +
    53 2, 5, 4, 0, 2, 2, 1, -4, -4, 1, -3, -4, -2, -6, -7, -6, -9, -15, -17, -11, -7,
    +
    54 -8, -7, -8, -11, -9, -5, -9, -14, -11, -9, -12, -7, -6, -3, 6, 2, -3, 3, 4, 0,
    +
    55 -2, 3, 2, -4, -3, -1, 3, 4, -2, -5, -3, -5, -7, -8, -7, -4, 0, 1, -8, -10, -6,
    +
    56 -5, -1, 2, 1, 1, 2, 6, 2, -1, 3, 1, 4, 5, 1, -1, 1, 2, -3, -5, -6, -10, -11,
    +
    57 -10, -15, -15, -12, -15, -17, -17, -14, -13, -15, -13, -11, -14, -15, -10, -11,
    +
    58 -13, -11, -13, -14, -15, -14, -13, -16, -16, -14, -16, -13, -11, -12, -13, -12,
    +
    59 -15, -22, -20, -20, -25, -23, -18, -22, -25, -19, -19, -17, -17, -18, -15, -16,
    +
    60 -17, -15, -7, -6, -11, -11, -13, -9, -6, -7, -6, -6, -10, -7, -6, -5, -4, -6,
    +
    61 -3, -2, 1, 6, 4, 2, 3, -1, -3, -2, 1, 2, 1, 5, 4, 2, 7, 8, 7, 11, 13, 13, 13,
    +
    62 10, 13, 18, 18, 12, 11, 16, 14, 11, 11, 11, 6, 2, 1, 1, 5, 7, 8, 9, 7, 6, 8, 11,
    +
    63 11, 12, 13, 9, 7, 11, 13, 15, 18, 18, 16, 15, 16, 14, 10, 15, 17, 13, 10, 12,
    +
    64 13, 12, 17, 17, 14, 11, 13, 17, 16, 15, 12, 7, 6, 12, 15, 14, 16, 14, 10, 14,
    +
    65 17, 19, 21, 18, 18, 17, 15, 17, 18, 15, 16, 11, 7, 7, 10, 11, 10, 12, 13, 16,
    +
    66 15, 13, 12, 10, 11, 12, 15, 15, 16, 20, 21, 19, 16, 18, 21, 20, 20, 21, 21, 20,
    +
    67 18, 16, 15, 17, 17, 17, 17, 12, 9, 10, 9, 11, 10, 6, 6, 8, 10, 10, 8, 5, 3, 4,
    +
    68 3, 2, 4, 5, 3, 5, 4, 3, 5, 6, 9, 9, 8, 9, 8, 9, 8, 9, 8, 7, 5, 0, 0, 0, -1, 0,
    +
    69 1, -3, -6, -6, -10, -12, -11, -10, -9, -9, -6, -3, -4, -5, -5, -5, -8, -8, -5,
    +
    70 -4, -2, 0, 0, -3, -7, -5, -8, -11, -10, -10, -9, -11, -11, -11, -12, -12, -13,
    +
    71 -12, -11, -13, -14, -13, -12, -13, -13, -12, -11, -9, -8, -8, -8, -7, -5, -5,
    +
    72 -5, -6, -6, -5, -7, -10, -11, -9, -9, -10, -11, -9, -8, -9, -9, -10, -11, -12,
    +
    73 -14, -14, -13, -13, -13, -14, -14, -14, -14, -14, -12, -11, -11, -12, -12, -11,
    +
    74 -9, -9, -11, -11, -10, -11, -12, -13, -14, -14, -15, -12, -12, -14, -15, -14,
    +
    75 -14, -13, -10, -11, -11, -13, -14, -12, -10, -9, -10, -10, -9, -10, -11, -9, -8,
    +
    76 -9, -9, -7, -5, -6, -5, -3, -4, -5, -5, -6, -9, -6, -5, -8, -8, -9, -8, -5, -8,
    +
    77 -9, -4, -3, -3, -4, -8, -7, -6, -6, -5, -6, -5, -2, -2, -3, -1, 1, 0, -1, -2,
    +
    78 -4, -6, -5, -3, -2, -2, -2, -4, -6, -4, -4, -5, -5, -5, -5, -2, 0, -2, -3, -1,
    +
    79 0, 0, 1, 0, -3, 1, 4, 2, 2, 3, 3, 6, 10, 6, 3, 6, 9, 7, 6, 6, 3, 3, 3, 2, 4, 5,
    +
    80 7, 8, 10, 10, 10, 12, 11, 12, 13, 12, 13, 13, 15, 16, 18, 19, 19, 19, 20, 19,
    +
    81 19, 20, 21, 20, 18, 19, 18, 17, 19, 19, 18, 20, 23, 22, 23, 23, 20, 19, 21, 20,
    +
    82 22, 18, 19, 22, 25, 31, 24, 23, 27, 25, 27, 26, 25, 25, 25, 28, 26, 22, 23, 24,
    +
    83 22, 21, 20, 18, 17, 21, 23, 22, 19, 17, 17, 16, 17, 18, 17, 19, 18, 16, 15, 16,
    +
    84 14, 16, 17, 10, 12, 15, 16, 16, 15, 15, 16, 13, 10, 10, 8, 7, 8, 7, 6, 8, 7, 3,
    +
    85 4, 5, 3, 3, 0, -4, 0, 3, 0, 1, 2, 1, 1, 3, 4, 5, 4, 3, 2, 2, 2, 5, 6, 4, 4, 3,
    +
    86 4, 4, 1, 2, 2, 0, 1, 2, 2, 1, 3, 5, 8, 9, 6, 2, 3, 3, 2, 3, 3, 4, 3, 1, 1, 0,
    +
    87 -2, -4, -3, -4, -1, -1, -4, -1, -1, -2, -1, -2, -3, -2, -1, -3, -6, -6, -8, -8,
    +
    88 -8, -10, -13, -14, -13, -14, -12, -10, -10, -12, -11, -9, -8, -10, -12, -11,
    +
    89 -10, -11, -11, -13, -15, -13, -14, -15, -13, -13, -15, -14, -15, -16, -14, -14,
    +
    90 -15, -18, -18, -16, -18, -19, -17, -17, -16, -17, -18, -16, -15, -15, -15, -12,
    +
    91 -13, -14, -12, -12, -13, -13, -11, -12, -13, -14, -12, -11, -11, -12, -11, -9,
    +
    92 -9, -12, -15, -16, -16, -15, -10, -8, -9, -10, -6, -5, -7, -6, -6, -6, -7, -6,
    +
    93 -5, -6, -5, -6, -6, -7, -6, -3, -4, -4, -4, -6, -4, -4, -7, -6, -5, -5, -7, -7,
    +
    94 -6, -7, -7, -6, -7, -9, -9, -6, -5, -7, -4, -3, -4, -5, -4, -2, -2, -4, -5, -3,
    +
    95 -3, -3, 1, 1, -1, -3, -4, -4, -4, -6, -7, -5, -8, -10, -6, -6, -7, -6, -4, -3,
    +
    96 -4, -6, -5, -2, 0, 3, 2, 0, 1, 3, 3, 2, 2, 1, 2, 4, 3, 1, 1, 1, 2, 5, 6, 6, 7,
    +
    97 6, 8, 6, 5, 6, 2, 2, 4, 5, 6, 7, 6, 8, 9, 9, 11, 10, 11, 9, 8, 11, 10, 10, 12,
    +
    98 10, 10, 11, 10, 12, 15, 16, 16, 16, 14, 10, 9, 11, 12, 13, 13, 11, 10, 9, 10, 8,
    +
    99 7, 11, 9, 8, 10, 10, 11, 11, 13, 15, 13, 11, 15, 16, 15, 16, 14, 13, 15, 10, 10,
    +
    100 11, 10, 11, 10, 11, 10, 8, 8, 10, 9, 8, 8, 6, 7, 7, 9, 11, 12, 11, 13, 13, 12,
    +
    101 13, 11, 9, 10, 9, 8, 10, 12, 12, 13, 11, 10, 10, 9, 9, 10, 10, 8, 6, 7, 7, 6, 8,
    +
    102 9, 7, 5, 8, 9, 7, 7, 7, 8, 7, 8, 9, 9, 8, 8, 9, 9, 11, 11, 10, 11, 13, 13, 11,
    +
    103 10, 9, 8, 8, 7, 4, 3, 4, 6, 6, 5, 5, 6, 5, 4, 6, 8, 6, 3, 5, 7, 8, 9, 7, 5, 6,
    +
    104 7, 4, 3, 4, 3, 4, 3, 2, 3, 3, 4, 2, 2, 3, 3, 2, 1, 1, 2, 0, -1, -1, -3, -3, -1,
    +
    105 -3, 0, 2, 0, 0, 1, 0, -1, -1, 0, 2, 1, -1, 0, 1, 1, -2, -3, -1, 1, 2, 2, 0, 0,
    +
    106 -1, -3, -4, -3, -4, -5, -4, -5, -5, -6, -4, -1, -3, -1, 0, 0, 2, 1, 1, -1, 0, 1,
    +
    107 0, 3, 5, 1, -1, 1, 0, -3, -4, -1, 1, 0, 1, 1, 0, 1, 0, -1, -2, -6, -7, -6, -5,
    +
    108 -3, -2, -4, -4, -1, 0, 0, -2, -4, -2, -1, -1, -2, -4, -2, 0, -2, -3, -2, -3, -4,
    +
    109 -2, -3, -4, -3, -1, -1, 0, -1, -3, -3, -3, -4, -4, -5, -4, -3, -3, -5, -6, -5,
    +
    110 -6, -6, -4, -4, -2, -3, -4, -3, -2, -2, -2, -3, -4, -4, -5, -4, -3, -3, -2, -3,
    +
    111 -4, -4, -3, -3, -4, -4, -3, -4, -4, -2, -4, -5, -6, -6, -5, -3, 0, 1, 0, 0, 1,
    +
    112 0, -2, -1, 0, -3, -3, 0, -3, -2, -1, -3, -3, -6, -5, -6, -7, -5, -6, -5, -3, -5,
    +
    113 -7, -5, -4, -5, -4, -5, -6, -5, -5, -6, -5, -6, -5, -3, -4, -5, -4, -3, -4, -5,
    +
    114 -4, -5, -7, -6, -5, -3, -3, -3, -4, -3, -3, -6, -5, -4, -6, -7, -6, -5, -5, -6,
    +
    115 -7, -6, -6, -5, -4, -5, -6, -5, -4, -4, -3, -2, -2, 0, 0, -2, -2, -2, -3, -3,
    +
    116 -4, -5, -4, -2, -2, -3, -4, -3, -1, 0, 2, 1, -2, -2, -1, -3, -2, 0, 2, 3, 2, 3,
    +
    117 3, 4, 5, 3, 4, 4, 2, 3, 4, 5, 4, 2, 3, 2, 1, 3, 3, 4, 4, 3, 2, 3, 5, 5, 4, 3, 2,
    +
    118 3, 3, 5, 4, 6, 6, 4, 4, 5, 6, 7, 6, 7, 6, 8, 9, 7, 8, 8, 6, 7, 6, 7, 6, 6, 7, 6,
    +
    119 7, 7, 4, 6, 7, 6, 5, 4, 5, 6, 6, 7, 7, 6, 5, 6, 7, 6, 6, 5, 6, 8, 8, 9, 10, 8,
    +
    120 8, 7, 8, 10, 7, 6, 7, 6, 5, 6, 9, 6, 6, 7, 8, 6, 3, 5, 6, 5, 5, 5, 6, 8, 9, 9,
    +
    121 8, 5, 5, 7, 7, 7, 8, 7, 6, 6, 7, 8, 7, 7, 8, 7, 7, 6, 5, 6, 6, 6, 5, 5, 6, 6, 7,
    +
    122 5, 4, 5, 7, 7, 5, 6, 7, 6, 7, 7, 8, 8, 7, 8, 6, 6, 8, 7, 4, 6, 6, 7, 7, 5, 6, 6,
    +
    123 5, 5, 4, 5, 4, 4, 4, 3, 2, 4, 4, 5, 6, 7, 6, 5, 4, 5, 6, 4, 3, 2, 2, 3, 2, 3, 3,
    +
    124 3, 4, 3, 2, 2, 1, 2, 2, 3, 3, 1, 1, 3, 0, 0, 0, 0, 1, 1, 1, 1, -1, -1, 1, 2, 2,
    +
    125 2, 2, 3, 2, 1, 1, 2, -1, -3, 0, 0, 0, 1, 0, 0, 2, 4, 2, -1, 0, 0, -1, 1, 0, -4,
    +
    126 -4, -2, -2, 0, 1, 0, 0, -1, -1, 1, 1, 0, 0, -2, -2, -1, -1, 1, 0, -1, 0, 0, -1,
    +
    127 -2, -2, -4, -4, -3, -3, -2, -3, -4, -4, -4, -3, -2, -2, -3, -4, -4, -4, -3, -4,
    +
    128 -3, -1, -2, -2, -2, -1, 1, 2, 3, 0, -1, 0, -1, -1, 0, -1, -2, -2, -1, 0, -1, 0,
    +
    129 -1, -3, -2, -1, -1, -2, -1, 0, -1, 0, 0, 0, 0, -2, -2, -1, -1, 1, -1, -2, 0, 1,
    +
    130 0, 0, -1, 0, 0, 0, -1, -2, -1, 0, -1, -1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, -1,
    +
    131 -1, -1, -3, -3, 0, 1, 2, 3, 1, 1, 2, 2, 0, 1, 2, 1, 1, 1, 0, 1, 2, 1, 0, 1, 2,
    +
    132 1, 1, 0, 1, 4, 2, 2, 3, 2, 3, 4, 5, 4, 1, 3, 2, 1, 3, 3, 2, 3, 3, 2, 4, 4, 3, 3,
    +
    133 2, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 2, 2, 3, 3, 2, 3, 3, 2, 3, 2, 0, 0, -2, -2, 0,
    +
    134 -1, -3, -2, 1, 3, 3, 2, 0, 0, 1, 0, -1, 0, -1, 0, -1, 0, -1, -3, -3, -1, -1, -2,
    +
    135 -3, -3, -4, -3, -1, 0, -2, -3, -2, -2, -1, -1, -1, -1, -4, -2, -4, -4, -1, -3,
    +
    136 -3, -1, -1, -2, -3, -3, 0, 1, 0, 1, 0, 1, 0, 0, -1, -1, -1, 0, 0, 0, 0, -1, -1,
    +
    137 0, -2, -1, 1, 0, 1, 2, 1, 2, 2, 1, 2, 1, 0, 1, 2, 2, 3, 2, 2, 3, 5, 4, 3, 5, 6,
    +
    138 5, 3, 1, 2, 1, 2, 3, 2, 3, 3, 2, 1, 1, 2, 3, 3, 3, 2, 1, 1, 1, 2, 1, 1, 1, 2, 2,
    +
    139 2, 1, -1, 2, 2, 1, 2, 3, 3, 2, 2, 1, 1, 2, 2, 2, 3, 2, 2, 3, 4, 3, 3, 2, 3, 3,
    +
    140 3, 2, 3, 3, 4, 4, 3, 1, 2, 3, 2, 2, 3, 4, 3, 2, 2, 0, 0, 2, 2, 1, -1, 0, 1, 1,
    +
    141 2, 1, 0, 1, 1, 1, 2, 1, 0, 1, 2, 1, 2, 1, 1, 2, 2, 1, 2, 1, 1, 2, 1, 2, 3, 1, 2,
    +
    142 1, 0, 1, 2, 1, 2, 4, 6, 5, 4, 3, 4, 6, 6, 5, 4, 3, 4, 4, 4, 3, 2, 5, 6, 5, 5, 3,
    +
    143 2, 3, 4, 5, 4, 4, 4, 4, 3, 3, 2, 3, 3, 4, 6, 4, 4, 6, 5, 4, 4, 2, 2, 4, 5, 6, 5,
    +
    144 4, 4, 3, 4, 4, 5, 4, 4, 3, 2, 5, 7, 5, 3, 3, 2, 1, 2, 3, 2, 3, 3, 2, 3, 2, 1, 1,
    +
    145 2, 1, 1, 2, 3, 4, 3, 3, 2, 3, 2, 2, 2, 2, 2, 3, 3, 1, 0, 1, 2, 2, 1, 0, 1, 1, 2,
    +
    146 3, 2, 2, 3, 3, 5, 4, 3, 3, 2, 3, 3, 3, 3, 4, 3, 3, 4, 5, 5, 5, 4, 3, 4, 5, 4, 2,
    +
    147 3, 3, 2, 2, 1, 1, 2, 2, 3, 2, 2, 3, 3, 2, 3, 3, 2, 1, 2, 3, 3, 2, 2, 1, 2, 5, 5,
    +
    148 3, 2, 3, 2, 3, 4, 3, 2, 3, 1, 1, 1, 1, 3, 3, 2, 2, 1, 0, 1, 0, 1, 2, 2, 2, 1, 1,
    +
    149 1, 0, 0, -1, -3, 1, 2, 0, -1, -3, -1, 0, -1, 0, -1, -2, -1, -2, -2, -3, -4, -3,
    +
    150 -2, -1, -2, -3, -2, -2, -2, -2, -2, -1, -1, 0, -1, -2, -3, -2, -3, -3, -1, 0,
    +
    151 -3, -2, 0, -2, -3, -3, -4, -3, -2, -2, -1, -1, 0, 0, -1, -2, -1, 1, 0, 0, 1, 1,
    +
    152 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, -1, 0, 1, 0, -1, 0, 0, 2, 3, 2, 1, 2, 2, 1,
    +
    153 0, 1, 0, 0, 2, 2, 1, 1, 2, 3, 3, 3, 4, 2, 1, 3, 2, 2, 4, 3, 2, 3, 4, 4, 3, 3, 4,
    +
    154 3, 2, 2, 3, 4, 3, 3, 2, 3, 4, 5, 5, 4, 3, 4, 3, 4, 4, 3, 2, 3, 4, 5, 4, 3, 2, 3,
    +
    155 4, 5, 4, 4, 4, 4, 3, 2, 2, 2, 4, 5, 3, 1, 2, 3, 2, 3, 2, 2, 3, 3, 2, 3, 2, 3, 2,
    +
    156 1, 2, 1, 0, 1, 3, 2, 0, -1, 0, 2, 1, 0, 2, 3, 1, 0, 1, 2, 1, 1, 0, 0, 1, 1, 0,
    +
    157 -2, -2, -1, -1, 0, 2, 1, -1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1,
    +
    158 1, 0, 1, 1, 0, -1, -1, -1, -1, -1, 0, 0, 1, 0, 1, 2, 2, 1, 0, 0, 1, 2, 1, 0, -1,
    +
    159 -1, 0, 1, 1, 0, 0, 0, -1, 0, 1, 1, 2, 1, 1, 1, 2, 1, -1, 0, 1, 3, 2, 1, 2, 1, 2,
    +
    160 1, 1, 0, 1, 1, 0, 1, 0, -1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 3, 2, 1, 2, 1, 1, 2, 3,
    +
    161 1, 0, 0, -1, 0, 0, -1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 2, 2, 1, 2, 2, 1,
    +
    162 2, 3, 3, 2, 3, 2, 4, 3, 1, 2, 2, 2, 2, 3, 3, 1, 2, 1, 2, 1, 0, 1, 3, 3, 3, 4, 4,
    +
    163 3, 3, 4, 3, 2, 3, 2, 3, 2, 3, 2, 1, 2, 2, 3, 4, 2, 3, 2, 2, 3, 2, 3, 3, 2, 3, 2,
    +
    164 3, 4, 3, 0, 1, 1, 2, 1, 2, 3, 2, 3, 3, 1, 2, 3, 3, 2, 2, 3, 2, 1, 1, 2, 3, 4, 2,
    +
    165 2, 3, 4, 3, 2, 2, 3, 4, 5, 2, 1, 1, 1, 3, 4, 3, 2, 3, 3, 2, 3, 3, 2, 1, 3, 4, 3,
    +
    166 3, 4, 3, 4, 3, 2, 3, 3, 3, 2, 1, 2, 3, 5, 4, 3, 3, 5, 5, 4, 4, 3, 2, 2, 2, 3, 3,
    +
    167 3, 2, 2, 3, 4, 5, 5, 4, 2, 3, 5, 4, 4, 3, 3, 4, 3, 4, 3, 2, 3, 2, 2, 1, 1, 3, 2,
    +
    168 3, 1, 1, 3, 4, 4, 3, 2, 2, 1, 3, 5, 3, 2, 3, 1, 2, 4, 3, 1, 2, 3, 3, 3, 2, 1, 0,
    +
    169 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 2, 4, 4, 2, 1, 1, 2, 2, 1, 2, 2, 3, 2, 2, 1, 2,
    +
    170 1, 2, 2, 2, 1, 0, -1, -1, 0, 0, -1, 0, 1, 0, 1, 0, 1, 2, 2, 1, 1, 0, 1, 2, 1, 0,
    +
    171 0, 2, 3, 2, 1, 2, 1, 1, 2, 1, 1, -1, -2, -1, 0, 0, -1, -3, -2, -1, -2, -1, -1,
    +
    172 -2, -3, -3, -2, -3, -2, 0, -1, 0, 0, -1, 0, -1, 1, 3, 1, -1, 0, 1, 0, -1, 0, 1,
    +
    173 0, 1, 2, 1, 0, -1, 0, -1, -1, -2, -1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 2, 3, 2, 2,
    +
    174 3, 2, 3, 3, 2, 3, 4, 3, 2, 4, 3, 2, 3, 2, 3, 2, 3, 4, 4, 3, 2, 1, 2, 1, 2, 3, 2,
    +
    175 3, 2, 2, 3, 4, 4, 3, 3, 4, 3, 4, 3, 4, 4, 3, 4, 5, 5, 3, 3, 4, 4, 4, 4, 2, 2, 2,
    +
    176 3, 4, 2, 2, 3, 3, 3, 2, 2, 3, 3, 4, 5, 4, 4, 5, 5, 5, 5, 4, 3, 3, 4, 5, 5, 4, 4,
    +
    177 2, 2, 3, 2, 3, 2, 2, 3, 2, 3, 3, 1, 1, 2, 3, 3, 3, 2, 4, 5, 4, 4, 5, 6, 5, 4, 3,
    +
    178 4, 5, 5, 4, 3, 4, 5, 3, 3, 3, 3, 4, 3, 2, 1, 0, 1, 0, 1, 2, 1, 2, 2, 1, 0, 1, 0,
    +
    179 1, 2, 3, 3, 2, 3, 3, 2, 2, 3, 2, 3, 2, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, -1, 0, 1,
    +
    180 1, 0, -1, -1, -3, -2, -1, -1, 0, -2, -2, -1, 2, 1, -1, 0, 1, 1, 2, 0, -1, 0, 1,
    +
    181 2, 2, 2, 1, -1, -2, -1, 0, -1, 0, -1, -1, 0, 0, 1, 0, 1, 0, 1, 2, 1, 0, -1, 0,
    +
    182 1, 1, 2, 2, 1, 2, 1, 0, 1, 1, 1, 3, 2, 1, 0, -1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1,
    +
    183 1, -1, -1, 1, 2, 1, 2, 2, 3, 3, 2, 2, 1, 1, 2, 1, 2, 1, 1, 2, 2, 2, 3, 2, 2, 1,
    +
    184 0, 0, 0, -1, 0, 1, 1, 2, 1, 0, 0, -1, 0, 3, 3, 2, 3, 2, 2, 3, 3, 2, 3, 4, 2, 3,
    +
    185 5, 4, 3, 3, 4, 3, 1, 1, 2, 1, 1, 2, 1, 0, 1, 2, 1, 2, 3, 2, 1, 2, 3, 3, 4, 3, 4,
    +
    186 4, 5, 5, 4, 3, 3, 3, 3, 4, 5, 4, 4, 4, 3, 2, 3, 3, 2, 2, 1, 2, 1, 1, 1, 2, 3, 2,
    +
    187 1, 2, 3, 3, 4, 4, 3, 4, 5, 4, 3, 4, 3, 4, 3, 4, 5, 3, 2, 2, 2, 3, 2, 1, -1, -2,
    +
    188 -1, 0, -1, 0, 0, 0, 1, 2, 2, 0, 1, 1, 2, 1, 1, 2, 3, 3, 2, 3, 2, 2, 3, 2, 1, 2,
    +
    189 1, 0, 1, 1, 0, 0, -1, 0, -1, 0, -1, -2, 0, -2, -3, -1, -1, 1, 2, 0, 1, 2, 2, 3,
    +
    190 3, 4, 4, 5, 4, 4, 3, 4, 3, 4, 5, 4, 3, 2, 2, 2, 0, 2, 3, 3, 2, 1, 2, 1, 2, 1, 2,
    +
    191 3, 3, 2, 3, 5, 4, 2, 4, 4, 4, 5, 5, 4, 4, 5, 4, 3, 4, 4, 4, 3, 0, 1, 1, 1, 2, 0,
    +
    192 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 2, 1, 1, 2, 2, 1, 0, -1, 0, 2, 2, 3, 6, 5, 5,
    +
    193 4, 2, 1, 0, -2, -3, 0, 2, -1, -1, 0, 1, 2, 0, 1, 2, 1, 2, 1, 0, 0, -1, 0, 0, 2,
    +
    194 2, 1, 2, 1, 1, 1, 1, 1, -1, -2, -1, -2, -2, -2, -4, 0, -1, -4, 2, 3, -5, -4, 1,
    +
    195 2, -2, -6, -3, 3, 4, 0, -5, -2, 6, 15, 20, 16, 8, 1, 3, 11, 19, 23, 16, 5, -13,
    +
    196 -21, -22, -25, -23, -19, -16, -19, -19, -14, -6, 7, 11, 6, 1, -4, -9, -12, -10,
    +
    197 -7, -5, -3, 0, 8, 17, 29, 31, 23, 18, 16, 18, 19, 20, 18, 16, 13, 11, 16, 19,
    +
    198 21, 22, 19, 12, 1, -6, -6, 3, 11, 16, 17, 14, 11, 12, 13, 12, 11, 8, 7, 14, 18,
    +
    199 17, 15, 13, 11, 10, 5, 3, 3, 3, 7, 7, 5, 6, 7, 5, 3, 2, 2, -3, -10, -11, -9, -4,
    +
    200 0, -1, -8, -13, -11, -9, -5, -4, -7, -10, -9, -10, -12, -19, -26, -26, -22, -20,
    +
    201 -20, -16, -14, -19, -22, -18, -15, -13, -16, -23, -26, -27, -32, -33, -29, -22,
    +
    202 -19, -16, -20, -24, -18, -13, -10, -9, -9, -7, -8, -10, -9, -10, -9, -5, 2, 9,
    +
    203 17, 21, 22, 19, 17, 12, 3, -5, -5, 1, 6, 10, 16, 18, 19, 13, 11, 9, 7, 14, 16,
    +
    204 15, 17, 20, 23, 22, 25, 31, 26, 14, 9, 10, 11, 16, 21, 19, 22, 26, 23, 22, 26,
    +
    205 26, 27, 25, 14, 8, 11, 12, 10, 12, 15, 19, 23, 22, 20, 18, 13, 14, 21, 20, 20,
    +
    206 19, 16, 21, 21, 14, 9, 5, 2, 5, 3, 1, 5, 5, 2, 1, 1, -1, 0, -1, -5, -11, -18,
    +
    207 -18, -15, -12, -8, -5, -5, -5, -1, 5, 3, -6, -5, 0, 0, -4, -9, -10, -8, -8, -11,
    +
    208 -10, -10, -12, -11, -7, -8, -13, -16, -15, -13, -11, -8, -5, -7, -10, -12, -13,
    +
    209 -14, -21, -28, -31, -26, -18, -15, -9, -9, -15, -13, -9, -6, -6, -8, -9, -11,
    +
    210 -13, -8, -7, -9, -8, -10, -16, -19, -17, -20, -22, -20, -20, -21, -19, -11, -8,
    +
    211 -8, -5, -4, -2, -1, -2, -1, -3, -7, -5, -8, -10, -10, -10, -9, -9, -11, -13,
    +
    212 -10, -5, -2, -6, -7, -6, -4, -2, -1, -1, -3, 0, 4, 4, 10, 9, 4, 7, 8, 7, 7, 7,
    +
    213 6, 8, 14, 17, 12, 12, 15, 15, 16, 17, 14, 11, 11, 10, 13, 15, 16, 18, 17, 16,
    +
    214 15, 16, 17, 15, 12, 13, 17, 20, 24, 26, 25, 23, 19, 18, 16, 17, 20, 20, 17, 19,
    +
    215 22, 21, 21, 20, 18, 17, 16, 15, 16, 19, 24, 24, 19, 14, 13, 18, 19, 16, 13, 9,
    +
    216 12, 18, 19, 15, 15, 13, 9, 10, 12, 16, 15, 8, 12, 11, 7, 8, 8, 11, 10, 9, 9, 5,
    +
    217 1, 5, 7, 2, 3, 5, 3, 3, -5, -11, -7, -3, 1, 0, -3, -2, -1, 3, 1, 0, 0, -6, -7,
    +
    218 -8, -8, -5, -3, -6, -9, -9, -8, -7, -8, -5, 1, -4, -7, -4, -5, -7, -7, -4, -6,
    +
    219 -9, -6, -6, -6, -2, 1, -1, -4, -7, -12, -10, -4, -1, 0, -2, -5, -7, -7, -5, -4,
    +
    220 -7, -5, 0, 1, -3, -5, -6, -3, -1, -3, -5, -6, -6, -6, -9, -10, -9, -10, -10,
    +
    221 -10, -9, -7, -5, -7, -10, -12, -11, -10, -10, -10, -9, -7, -10, -11, -15, -17,
    +
    222 -16, -16, -12, -10, -12, -15, -16, -16, -15, -13, -13, -14, -11, -11, -12, -10,
    +
    223 -8, -9, -12, -14, -14, -14, -13, -12, -13, -15, -14, -9, -7, -10, -12, -11, -10,
    +
    224 -6, -5, -9, -12, -15, -14, -12, -10, -8, -7, -8, -7, -5, -6, -6, -7, -9, -8, -6,
    +
    225 -3, 0, 3, 4, 3, 3, 4, 1, 1, 4, 5, 2, 4, 9, 10, 9, 10, 12, 8, 7, 7, 2, 1, 4, 6,
    +
    226 7, 7, 8, 10, 11, 10, 8, 10, 9, 8, 12, 13, 8, 6, 8, 6, 8, 12, 11, 9, 7, 6, 6, 6,
    +
    227 5, 7, 9, 8, 10, 10, 7, 9, 12, 9, 7, 11, 15, 11, 11, 13, 11, 7, 7, 10, 10, 13,
    +
    228 13, 11, 6, 5, 9, 11, 14, 16, 13, 13, 14, 15, 16, 15, 16, 16, 19, 22, 20, 20, 17,
    +
    229 16, 11, 6, 10, 15, 12, 12, 13, 14, 17, 18, 17, 17, 14, 14, 16, 15, 16, 14, 11,
    +
    230 10, 10, 13, 15, 14, 15, 16, 15, 16, 17, 15, 13, 13, 14, 13, 15, 15, 16, 15, 14,
    +
    231 17, 16, 15, 16, 12, 10, 13, 12, 11, 12, 14, 12, 9, 7, 7, 6, 6, 7, 6, 5, 5, 4, 4,
    +
    232 5, 4, 4, 5, 4, 3, 0, 1, 4, 3, 3, 3, 1, -2, -2, 2, 0, -3, -3, -5, -8, -7, -7, -9,
    +
    233 -7, -3, -5, -5, -3, -6, -5, -5, -7, -5, -7, -9, -8, -5, -6, -7, -6, -8, -10,
    +
    234 -10, -8, -10, -7, -3, -6, -9, -10, -13, -15, -15, -13, -12, -8, -8, -10, -9,
    +
    235 -10, -10, -8, -9, -8, -7, -6, -8, -9, -8, -10, -8, -8, -13, -14, -14, -13, -11,
    +
    236 -13, -12, -11, -12, -13, -13, -10, -9, -8, -6, -10, -12, -7, -7, -8, -8, -9, -8,
    +
    237 -9, -7, -5, -10, -10, -9, -7, -7, -8, -7, -11, -11, -8, -8, -9, -8, -7, -8, -10,
    +
    238 -11, -10, -11, -10, -10, -10, -11, -11, -10, -9, -6, -5, -6, -10, -11, -8, -11,
    +
    239 -9, -7, -8, -6, -6, -4, -4, -7, -9, -8, -5, -5, -5, -3, -5, -6, -4, -4, -4, -4,
    +
    240 -4, -5, -4, -5, -6, -5, -5, -6, -5, -5, -6, -4, -3, -4, -5, -6, -7, -5, -2, -1,
    +
    241 0, 0, 0, 1, 1, -1, 0, 3, 2, 0, 1, 2, 0, -2, 1, 0, -1, 2, 0, -1, 0, 0, 0, 1, 2,
    +
    242 3, 2, 3, 3, 2, 3, 4, 5, 5, 4, 6, 7, 7, 7, 6, 6, 7, 8, 10, 8, 7, 5, 5, 6, 6, 5,
    +
    243 6, 6, 7, 7, 6, 8, 8, 7, 8, 10, 9, 7, 7, 9, 10, 12, 12, 10, 10, 11, 12, 13, 14,
    +
    244 15, 16, 15, 16, 15, 15, 16, 14, 12, 13, 15, 13, 11, 14, 17, 17, 15, 16, 15, 13,
    +
    245 12, 11, 12, 14, 16, 17, 18, 19, 18, 17, 17, 16, 15, 16, 18, 18, 15, 16, 15, 15,
    +
    246 18, 19, 19, 18, 19, 19, 17, 17, 16, 15, 16, 15, 17, 17, 17, 15, 14, 12, 10, 10,
    +
    247 11, 10, 12, 11, 11, 15, 15, 11, 15, 15, 11, 12, 9, 5, 5, 4, 4, 7, 9, 9, 8, 7, 6,
    +
    248 9, 7, 4, 6, 5, 5, 5, 6, 5, 4, 4, 5, 4, 5, 4, 2, 4, 4, 2, 2, 3, 5, 4, 5, 7, 5, 4,
    +
    249 3, 3, 2, 3, 5, 4, 2, 2, 2, 3, 1, -1, 1, 3, 2, 3, 4, 4, 3, 5, 7, 5, 4, 2, 1, 0,
    +
    250 -1, -1, 0, 1, 0, -2, -1, 2, 0, -1, 0, 0, 1, 1, -2, -4, -4, -7, -5, -5, -8, -7,
    +
    251 -6, -6, -6, -5, -5, -4, -2, -4, -7, -8, -8, -9, -9, -9, -9, -11, -11, -10, -10,
    +
    252 -12, -11, -11, -13, -13, -12, -13, -14, -13, -12, -13, -13, -14, -14, -15, -17,
    +
    253 -15, -13, -14, -14, -18, -20, -16, -14, -13, -12, -13, -14, -14, -12, -13, -13,
    +
    254 -12, -13, -13, -12, -10, -10, -13, -13, -13, -15, -15, -16, -13, -10, -10, -9,
    +
    255 -9, -10, -8, -8, -10, -9, -10, -11, -10, -11, -10, -7, -8, -8, -7, -6, -7, -8,
    +
    256 -10, -12, -10, -8, -7, -7, -6, -6, -6, -7, -6, -8, -7, -6, -8, -7, -6, -8, -7,
    +
    257 -5, -4, -3, -2, -3, -4, -5, -5, -6, -4, -3, -5, -4, -2, -3, -2, -3, -4, -5, -4,
    +
    258 -3, -5, -4, -3, -3, -4, -3, -3, -4, 0, 2, 0, -3, -4, -3, -1, -1, 0, 1, 3, 1, 2,
    +
    259 3, 1, 2, 1, 1, 3, 4, 4, 2, 4, 4, 5, 6, 6, 6, 5, 8, 11, 9, 5, 5, 6, 8, 9, 9, 12,
    +
    260 9, 9, 11, 10, 11, 10, 11, 11, 9, 10, 10, 11, 16, 13, 11, 10, 7, 8, 11, 12, 11,
    +
    261 14, 14, 11, 11, 12, 12, 11, 10, 11, 8, 8, 10, 8, 8, 10, 9, 8, 9, 10, 8, 9, 10,
    +
    262 8, 6, 8, 8, 8, 8, 8, 10, 9, 7, 8, 7, 7, 8, 8, 7, 8, 7, 6, 8, 8, 7, 6, 5, 6, 5,
    +
    263 6, 9, 9, 7, 6, 6, 8, 10, 11, 9, 8, 10, 10, 11, 9, 8, 9, 8, 9, 8, 7, 8, 6, 5, 6,
    +
    264 8, 8, 6, 5, 7, 7, 6, 9, 10, 9, 10, 8, 7, 8, 10, 9, 9, 10, 6, 5, 6, 7, 6, 8, 10,
    +
    265 6, 8, 9, 5, 5, 7, 5, 7, 9, 7, 7, 5, 4, 5, 6, 8, 7, 5, 5, 5, 3, 2, 4, 5, 4, 3, 4,
    +
    266 5, 4, 4, 3, 3, 1, 0, 0, 2, 3, 3, 2, 3, 3, 2, 1, 2, 2, 2, 0, -1, 0, -1, -1, -2,
    +
    267 -1, 1, 0, 2, 2, 3, 3, 1, 2, 3, 1, 1, 2, 3, 3, 2, 3, 3, 2, 2, 3, 4, 2, 2, 3, 1,
    +
    268 1, 1, 1, 2, 0, -1, 0, 1, 1, 3, 4, 3, 3, 1, 0, 0, 2, 3, 4, 5, 6, 5, 4, 3, 2, 3,
    +
    269 3, 2, 1, -1, 0, 0, 1, 2, 1, 3, 4, 0, 0, 0, 2, 2, 0, 0, -2, -2, 1, 1, 1, -1, -2,
    +
    270 -2, -1, 0, 1, 0, -1, 0, 1, 0, 1, 2, 1, -1, -5, -6, -4, -3, -3, -5, -7, -5, -3,
    +
    271 -4, -5, -3, -6, -6, -3, -4, -4, -4, -5, -4, -3, -5, -4, -5, -5, -2, -1, -1, -3,
    +
    272 -3, -3, -3, -5, -7, -6, -7, -5, -6, -5, -5, -4, -3, -4, -4, -5, -5, -7, -7, -4,
    +
    273 -5, -6, -5, -4, -4, -5, -4, -4, -3, -4, -3, -4, -3, -4, -5, -5, -4, -5, -6, -7,
    +
    274 -6, -6, -5, -4, -3, -3, -4, -3, -2, -4, -5, -4, -5, -5, -5, -6, -5, -5, -4, -2,
    +
    275 -3, -3, -2, -3, -2, -4, -5, -5, -4, -5, -6, -6, -5, -2, -1, -2, -2, -3, -4, -3,
    +
    276 -3, -4, -5, -6, -5, -5, -5, -6, -7, -6, -5, -4, -5, -5, -6, -5, -5, -5, -4, -2,
    +
    277 0, -1, -2, -4, -6, -5, -6, -5, -4, -5, -6, -5, -4, -2, -1, -2, -3, -2, -4, -4,
    +
    278 -3, -3, -4, -4, -3, -2, 0, -2, -1, 0, -1, 1, 2, 2, 1, 2, 4, 4, 4, 4, 3, 2, 2, 2,
    +
    279 3, 2, 2, 3, 3, 2, 3, 2, 1, 2, 2, 3, 3, 2, 2, 2, 3, 2, 1, 0, 1, 3, 3, 2, 2, 2, 3,
    +
    280 5, 6, 5, 4, 3, 4, 6, 6, 3, 3, 4, 4, 6, 5, 3, 4, 5, 6, 7, 6, 4, 4, 3, 2, 2, 4, 5,
    +
    281 5, 7, 8, 7, 6, 7, 7, 7, 6, 6, 7, 8, 7, 5, 4, 4, 5, 7, 6, 7, 8, 7, 7, 9, 9, 8, 9,
    +
    282 10, 9, 8, 9, 8, 9, 10, 9, 8, 9, 10, 10, 9, 8, 9, 9, 10, 9, 7, 8, 7, 8, 11, 11,
    +
    283 12, 11, 9, 7, 7, 7, 6, 6, 7, 8, 9, 9, 9, 8, 8, 8, 7, 7, 6, 6, 8, 9, 8, 7, 7, 7,
    +
    284 5, 6, 5, 5, 5, 4, 5, 4, 4, 5, 4, 4, 4, 3, 4, 4, 3, 2, 1, 0, 2, 2, 3, 4, 4, 3, 2,
    +
    285 3, 3, 2, 3, 3, 3, 2, 3, 3, 1, 2, 1, 1, 2, 2, 2, 2, 1, 0, 2, 2, 1, 1, 2, 1, 0, 1,
    +
    286 3, 2, 1, 0, 0, 1, 2, 5, 4, 3, 3, 3, 2, 1, 2, 1, 2, 3, 2, 1, 0, 1, 0, 1, 2, 1, 2,
    +
    287 1, 0, 0, -1, 0, 0, 1, 0, 1, 1, 1, 2, 1, 2, 1, 0, 1, 1, 2, 0, 0, 1, 1, 1, 0, 1,
    +
    288 1, 1, 0, -1, 0, -1, 0, -1, -1, -1, -2, 0, 0, -1, 0, 2, 3, 3, 2, 0, -1, -3, -2,
    +
    289 -3, -3, -2, -3, -2, -2, -1, 0, 1, 2, 0, 0, -2, -3, -3, -3, -2, -3, -3, -3, -4,
    +
    290 -3, -3, -4, -3, -3, -2, -3, -2, -1, 0, -1, 0, 1, 2, 1, 0, 1, 0, 0, -1, -2, -1,
    +
    291 -2, -2, -1, -2, -2, -1, 0, -1, 1, 2, 0, 1, 0, 0, 1, 2, 1, 2, 1, 2, 1, 2, 2, 3,
    +
    292 2, 2, 1, 2, 2, 3, 2, 0, 1, 1, 0, 1, 2, 2, 3, 3, 2, 3, 2, 1, 2, 1, 1, 1, 3, 2, 2,
    +
    293 2, 3, 2, 2, 1, 2, 2, 3, 3, 3, 3, 2, 2, 5, 4, 3, 2, 1, 2, 1, 0, 1, 1, 2, 3, 1, 1,
    +
    294 2, 3, 2, 1, 2, 1, 3, 3, 2, 2, 1, 2, 2, 0, 0, 2, 3, 1, 1, -1, 0, 0, -1, 0, 0, 1,
    +
    295 2, 2, 1, 2, 1, 1, 2, 1, 0, 1, 0, 1, 0, 1, 2, 1, 2, 1, 1, 0, 0, -1, 0, 0, -1, -1,
    +
    296 0, -1, 0, -1, -3, -3, -4, -3, -2, -3, -3, -3, -3, -2, -2, -2, -2, -3, -1, -1,
    +
    297 -3, -3, -4, -5, -5, -4, -3, -1, 0, -1, -3, -2, 0, 1, 0, -2, -3, -2, -1, -2, -2,
    +
    298 -2, -1, -1, -2, -3, -4, -4, -4, -3, -2, -3, -2, -2, -1, 1, 1, 0, -1, 0, 0, 2, 2,
    +
    299 2, 3, 2, 1, 0, 0, 1, 1, 1, 1, 2, 2, 1, 1, 0, 2, 4, 2, 1, 2, 3, 3, 4, 3, 3, 3, 2,
    +
    300 2, 3, 3, 2, 2, 2, 3, 2, 2, 2, 3, 3, 1, 2, 3, 1, 1, 2, 2, 0, 1, 0, 1, 3, 3, 2, 2,
    +
    301 1, 2, 0, 0, 1, 0, 1, 2, 1, 0, 3, 2, 1, 3, 2, 2, 3, 2, 3, 3, 2, 3, 3, 2, 2, 2, 2,
    +
    302 2, 2, 2, 1, 2, 2, 2, 3, 2, 3, 3, 2, 2, 1, 2, 2, 2, 3, 2, 4, 4, 3, 4, 3, 4, 3, 5,
    +
    303 6, 5, 5, 6, 5, 5, 6, 6, 5, 4, 4, 4, 3, 3, 3, 4, 5, 4, 5, 4, 4, 5, 6, 6, 5, 4, 5,
    +
    304 4, 4, 4, 5, 5, 6, 5, 6, 5, 6, 5, 4, 4, 5, 4, 5, 4, 3, 4, 4, 4, 3, 2, 3, 4, 4, 3,
    +
    305 2, 2, 3, 4, 5, 6, 5, 6, 5, 4, 4, 2, 4, 4, 4, 5, 4, 3, 3, 4, 4, 3, 2, 3, 2, 3, 3,
    +
    306 2, 3, 2, 1, 2, 3, 1, 1, 2, 2, 3, 2, 2, 4, 3, 2, 1, 2, 1, 2, 2, 1, 0, 1, 2, 1, 1,
    +
    307 1, 0, 0, 0, 1, 1, 1, 0, 0, -1, 0, 0, -1, 0, 2, 1, 2, 1, 1, 0, 1, 2, 1, 0, 1, 0,
    +
    308 1, 2, 0, -1, 0, 1, 2, 2, 0, 0, 1, 0, 1, 1, 2, 1, 1, 2, 1, 0, 0, 0, 1, 2, 1, 0,
    +
    309 1, 2, 1, 2, 2, 3, 3, 3, 2, 2, 2, 1, 2, 3, 2, 1, 2, 3, 2, 1, 1, 2, 2, 1, 2, 3, 2,
    +
    310 2, 3, 2, 1, 2, 1, 2, 2, 3, 3, 4, 4, 3, 4, 3, 3, 2, 1, 2, 1, 2, 1, 3, 4, 3, 3, 3,
    +
    311 2, 3, 3, 2, 3, 2, 2, 3, 3, 2, 0, 1, 2, 1, 3, 2, 1, 2, 1, 2, 1, 2, 1, 2, 3, 2, 2,
    +
    312 1, 2, 2, 3, 3, 3, 2, 3, 1, 2, 2, 1, 0, -1, 0, 1, 1, 0, -1, 0, 1, 2, 1, 1, 2, 1,
    +
    313 2, 2, 1, 2, 2, 3, 2, 3, 2, 3, 2, 2, 3, 2, 3, 2, 1, 2, 1, 2, 2, 1, 1, 0, 0, 1, 0,
    +
    314 1, 1, 0, 1, 0, 0, 0, 1, 2, 2, 1, 1, 2, 2, 1, 2, 1, 2, 1, 2, 3, 2, 3, 1, 2, 2, 1,
    +
    315 1, 0, 1, 2, 2, 1, 2, 2, 2, 3, 2, 3, 2, 1, 2, 1, 2, 3, 3, 2, 2, 3, 2, 3, 4, 3, 1,
    +
    316 1, 3, 3, 3, 3, 2, 2, 2, 3, 2, 1, 2, 1, 2, 1, 0, 1, 2, 1, 1, 0, 1, 0, 1, 1, 0, 0,
    +
    317 2, 2, 1, 1, 2, 2, 1, 0, 0, -1, -1, 0, -1, -1, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1,
    +
    318 -2, -1, 0, -2, -2, -1, 0, -1, -1, 0, -1, 0, 0, 0, -2, -2, 0, 0, -1, -1, 0, 1, 0,
    +
    319 0, -1, 0, 1, 0, 1, 0, -1, 0, -1, 0, 0, -1, 0, 0, 1, 1, 2, 1, 1, 1, 2, 2, 2, 3,
    +
    320 3, 2, 3, 2, 1, 2, 3, 2, 3, 2, 2, 1, 2, 3, 2, 1, 2, 1, 1, 1, 2, 1, 1, 1, 2, 3, 2,
    +
    321 1, 2, 1, 2, 3, 2, 3, 2, 3, 2, 2, 1, 2, 2, 1, 2, 2, 1, 1, 0, 1, 1, 1, 2, 1, 2, 1,
    +
    322 2, 1, 1, 2, 1, 1, 0, 1, 1, 2, 1, 0, 1, 2, 1, 1, 0, 0, 1, 2, 2, 1, 0, 0, 1, 1, 0,
    +
    323 1, 0, 1, 0, 1, 2, 1, 0, 1, 2, 3, 2, 3, 2, 3, 2, 3, 3, 2, 3, 4, 5, 3, 3, 4, 4, 4,
    +
    324 3, 4, 4, 3, 4, 5, 4, 3, 3, 4, 5, 5, 6, 5, 4, 5, 4, 5, 5, 4, 5, 4, 5, 5, 4, 5, 5,
    +
    325 5, 5, 6, 5, 5, 5, 4, 3, 4, 4, 3, 3, 4, 3, 4, 3, 2, 3, 2, 2, 2, 3, 3, 3, 2, 2, 2,
    +
    326 3, 3, 2, 2, 3, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 2, 3, 2, 2, 1, 1, 2, 3, 2, 1, 2, 1,
    +
    327 1, 2, 1, 1, 0, 1, 0, 1, 2, 1, 1, 2, 1, 2, 2, 1, 2, 3, 2, 3, 3, 2, 3, 2, 3, 2, 1,
    +
    328 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 1, 0, 1, 3, 2, 2, 3, 2, 3, 3, 2, 3, 2, 3,
    +
    329 2, 3, 4, 3, 3, 4, 3, 3, 2, 1, 1, 2, 2, 1, 2, 2, 3, 3, 2, 2, 1, 1, 2, 1, 1, 2, 1,
    +
    330 0, 1, 1, 2, 2, 1, 2, 1, 1, 2, 1, 2, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, -1, -1, -1, 0,
    +
    331 -1, 0, 0, 1, 0, 1, 1, 0, -1, 0, -1, -1, 0, 1, 1, 0, 1, 1, 0, 1, 2, 1, 2, 1, 2,
    +
    332 1, 2, 1, 2, 1, 0, 0, 0, 1, 1, 2, 1, 1, 0, -1, 0, 1, 0, 0, 1, 0, 1, 2, 1, 1, 1,
    +
    333 2, 2, 3, 3, 2, 1, 0, 1, 2, 1, 2, 1, 1, 0, 1, 2, 0, 1, 0, 1, 2, 2, 1, 0, 1, 2, 2,
    +
    334 2, 1, 1, 1, 2, 1, 2, 3, 2, 3, 2, 3, 3, 2, 3, 2, 3, 2, 2, 3, 2, 2, 1, 1, 2, 1, 2,
    +
    335 3, 3, 3, 4, 3, 2, 3, 2, 2, 3, 2, 2, 3, 2, 3, 3, 4, 3, 4, 4, 4, 3, 3, 3, 3, 2, 2,
    +
    336 3, 3, 2, 3, 2, 1, 1, 1, 2, 1, 2, 2, 3, 2, 2, 1, 2, 3, 2, 3, 3, 3, 3, 2, 3, 3, 4,
    +
    337 4, 3, 2, 3, 2, 1, 2, 1, 1, 1, 0, 1, 0, 0, 1, 1, 2, 1, 1, 1, 0, 0, 0, 1, 1, 2, 2,
    +
    338 2, 2, 3, 2, 1, 2, 1, 2, 3, 2, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 1, 0,
    +
    339 1, 2, 1, 2, 1, 2, 3, 2, 3, 2, 2, 1, 2, 1, 1, 2, 2, 1, 2, 2, 1, 1, 2, 1, 1, 2, 1,
    +
    340 0, 1, 2, 2, 1, 2, 1, 0, 2, 3, 2, 2, 1, 2, 2, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2,
    +
    341 2, 1, 0, 1, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, -1, 0, 1, 0, 1, 0, 1,
    +
    342 2, 2, 0, 0, 1, 1, 2, 1, 1, 0, 1, 2, 3, 2, 2, 1, 2, 2, 1, 2, 1, 1, 0, 1, 2, 1, 2,
    +
    343 3, 2, 3, 2, 3, 3, 2, 3, 5, 4, 5, 3, 3, 3, 3, 4, 5, 4, 4, 4, 4, 3, 3, 2, 3, 2, 3,
    +
    344 3, 4, 3, 2, 3, 2, 3, 2, 3, 2, 3, 4, 4, 3, 4, 5, 5, 4, 4, 4, 3, 4, 5, 4, 3, 4, 4,
    +
    345 3, 4, 3, 3, 4, 3, 3, 4, 3, 2, 3, 2, 2, 2, 2, 3, 2, 3, 3, 2, 2, 3, 3, 3, 2, 3, 4,
    +
    346 3, 2, 3, 3, 2, 3, 2, 3, 3, 2, 3, 2, 1, 1, 2, 1, 0, 0, 1, 1, 1, 1, 2, 2, 2, 3, 2,
    +
    347 3, 2, 1, 2, 2, 3, 2, 3, 3, 4, 3, 3, 2, 2, 2, 1, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1,
    +
    348 2, 1, 2, 1, 0, 1, 1, 1, 2, 1, 2, 1, 2, 2, 2, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0,
    +
    349 1, 0, 0, -1, 0, 0, 1, 0, 0, -1, -1, 0, 0, 0, 1, 0, -1, -1, 0, -1, 0, 1, 1, 0, 1,
    +
    350 1, 0, 1, 2, 1, 1, 1, 0, 1, 1, 2, 1, 1, 0, -1, 0, 1, 2, 1, 1, 2, 1, 1, 0, 0, 1,
    +
    351 1, 0, 1, 1, 0, 1, 2, 1, 2, 1, 2, 1, 2, 3, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 1, 1, 2,
    +
    352 2, 3, 3, 2, 3, 2, 3, 3, 2, 3, 2, 3, 2, 3, 2, 2, 1, 2, 3, 2, 2, 3, 2, 2, 1, 2, 2,
    +
    353 3, 2, 2, 2, 3, 2, 2, 1, 1, 1, 2, 1, 1, 1, 2, 2, 1, 2, 1, 2, 2, 2, 1, 0, 2, 1, 2,
    +
    354 1, 2, 1, 2, 2, 1, 2, 1, 2, 1, 2, 2, 2, 3, 2, 0, 0, 1, 3, 2, 3, 2, 3, 2, 1, 2, 1,
    +
    355 2, 3, 2, 3, 3, 2, 3, 2, 3, 2, 3, 2, 3, 3, 2, 1, 2, 1, 2, 2, 2, 3, 2, 3, 4, 3, 2,
    +
    356 3, 2, 3, 2, 3, 4, 3, 3, 4, 3, 3, 3, 3, 2, 3, 3, 2, 1, 2, 1, 2, 1, 2, 3, 3, 2, 3,
    +
    357 2, 1, 2, 2, 1, 2, 2, 3, 2, 1, 1, 2, 1, 2, 2, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 2,
    +
    358 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 2, 3, 2, 2, 1, 0, 1, 0, 1, 2, 1, 1, 2, 1, 1,
    +
    359 2, 2, 1, 2, 1, 2, 1, 2, 2, 1, 0, 1, 1, 1, 2, 1, 2, 2, 1, 0, 0, 0, 0, 0, 1, 0, 0,
    +
    360 -1, 0, 1, 0, 1, 0, 1, 1, 1, 2, 2, 1, 1, 0, 1, 1, 2, 1, 1, 0, 0, 1, 0, -1, 0, -1,
    +
    361 0, 1, 2, 1, 1, 2, 3, 3, 4, 4, 6, 8, 7, 1, -27, -30, -15, -11, -5, 0, 3, 3, 1, 3,
    +
    362 -2, 2, -7, -7, -1, -41, -26, 24, 40, 26, 3, 6, 11, 5, -3, 11, 12, 11, 20, -1, 4,
    +
    363 30, 26, 14, 2, -4, -3, 6, 6, 0, -2, 5, 22, 23, -5, -20, 5, 2, -28, -14, 14, 17,
    +
    364 -12, -25, -9, -9, -7, 5, 9, -2, 0, 13, -3, -17, -6, 3, 8, 16, 13, 8, 5, -2, 5,
    +
    365 16, 9, -4, -15, 7, 21, 11, 15, 17, 17, 3, -7, -6, 2, 7, -2, -11, -22, -20, -8,
    +
    366 6, 18, 21, 9, 3, 5, -4, -7, 8, 24, 2, -23, -15, -4, 10, 16, 6, -20, -27, 12, 16,
    +
    367 -5, 18, 26, 12, 4, 5, 4, 0, 17, 1, -29, -9, 12, -10, 2, 21, 1, -6, 4, 3, -5, 6,
    +
    368 -10, -16, 15, 10, 2, 18, 13, -3, -5, 7, 18, 21, 1, -22, 0, 22, 25, 26, 17, 21,
    +
    369 31, 33, 28, 28, 30, 22, 18, 0, -18, -6, -7, -8, 9, 2, -1, 17, 19, 6, 2, 8, 3,
    +
    370 -6, -5, -12, -17, -16, -22, -9, 0, -8, 2, 8, 2, -7, -8, -11, -14, -8, -5, -11,
    +
    371 -23, -16, -9, -23, -35, -41, -37, -25, -22, -14, -2, 2, 2, -7, -24, -36, -44,
    +
    372 -32, -25, -34, -20, -22, -34, -23, -15, -10, -3, -6, -15, -14, -9, -21, -24,
    +
    373 -16, -14, -10, -9, 7, 28, 20, 9, 10, 9, -1, -5, 1, 6, 17, 25, 26, 17, 11, 7, 1,
    +
    374 12, 13, 8, 15, 7, -3, 4, 10, 17, 35, 50, 59, 61, 51, 50, 45, 40, 48, 57, 57, 50,
    +
    375 42, 36, 41, 45, 36, 30, 31, 26, 15, 11, 9, 5, -2, -1, -5, -20, -20, -22, -24,
    +
    376 -9, -1, -11, -16, -22, -18, -2, 2, 14, 21, 15, 15, 11, 0, -8, -16, -8, 4, -2,
    +
    377 -13, -21, -32, -34, -21, -16, -22, -18, -20, -30, -33, -36, -45, -49, -43, -43,
    +
    378 -49, -46, -42, -41, -39, -36, -31, -19, -16, -5, 13, 12, 12, 0, -6, 0, -10, -7,
    +
    379 8, 15, 5, -4, -4, -9, -8, -7, -6, -4, 2, 1, -7, -2, 0, -5, -11, -13, -10, -10,
    +
    380 3, 16, 15, 25, 42, 36, 24, 34, 44, 40, 34, 35, 22, 13, 15, 9, 15, 23, 22, 26,
    +
    381 41, 37, 30, 33, 19, 7, -6, -17, -12, -5, 6, 16, 16, 16, 15, 17, 22, 18, 15, 17,
    +
    382 20, 24, 25, 16, 9, 12, 2, -5, -6, -2, 0, -7, 11, 6, -7, 3, 6, 8, 5, 2, -13, -23,
    +
    383 -15, -24, -19, -4, -12, -21, -23, -20, -12, -8, -2, 1, 2, 3, -3, -4, -7, -5, -1,
    +
    384 -18, -21, -17, -25, -26, -23, -29, -25, -17, -29, -27, -11, -16, -17, -5, 2, 6,
    +
    385 5, 11, 9, -2, 0, -8, -14, -15, -8, 9, -3, -3, 18, 20, 21, 19, 17, 10, -2, 2, 11,
    +
    386 8, 10, 20, 9, -14, -26, -19, -18, -20, -11, -8, 0, 16, 16, 14, 20, 19, 26, 34,
    +
    387 34, 37, 30, 15, 17, 17, 18, 30, 28, 23, 28, 33, 32, 38, 39, 34, 19, 5, -6, -24,
    +
    388 -29, -24, -12, -17, -11, -7, -22, -12, -3, 0, -11, -13, 3, 3, 5, 4, 3, 8, 0,
    +
    389 -11, -6, 4, 1, 2, 3, 3, 12, 14, 13, 17, 23, 11, -9, 0, -5, -13, 4, -4, -18, -24,
    +
    390 -26, -29, -30, -19, -31, -40, -39, -38, -24, -13, -13, 0, 12, -6, -17, -8, 0,
    +
    391 -7, -8, 2, 11, 18, 2, -2, 9, 1, 4, 4, -8, -9, -20, -24, -16, -19, -7, 0, -14,
    +
    392 -15, -8, -4, -4, 0, 3, -5, -9, -17, -5, 17, 24, 39, 35, 28, 27, 21, 24, 24, 32,
    +
    393 24, 6, 5, 10, 13, 25, 31, 33, 16, 2, 16, 4, -2, 10, 10, 2, -13, -11, -6, -5, 2,
    +
    394 12, 2, -2, 17, 12, 5, 8, 13, 18, 4, 8, 11, 1, 13, 21, 28, 35, 29, 20, 10, 14,
    +
    395 13, -8, -13, -6, -18, -24, -20, -19, -21, -27, -32, -23, -19, -14, -10, -13, -6,
    +
    396 -13, -22, -8, -5, -20, -18, -22, -25, -17, -30, -9, 34, 48, 43, 32, 21, 1, 4,
    +
    397 -5, -33, -17, 8, 20, 37, 51, 30, 4, -4, -12, -10, -17, -13, -7, -9, 4, 1, -12,
    +
    398 -4, 11, 15, 22, 20, 12, 11, 3, 9, 7, 0, 4, 11, 37, 39, 10, 0, -5, -14, -15, -1,
    +
    399 9, -2, 2, 13, 19, 13, 1, -13, -31, -29, -22, -28, -33, -18, -14, -13, 9, 18, -2,
    +
    400 -7, 3, 9, -5, -11, -5, -29, -28, -17, -3, 9, -2, -6, -16, 2, 8, -13, -17, -16,
    +
    401 14, 22, -3, 0, 9, 11, 15, 32, 35, 29, 40, 38, 37, 27, 15, 5, -10, -4, 1, -14,
    +
    402 -17, -22, -38, -30, -14, -1, 20, 33, 34, 32, 35, 33, 14, 14, 15, 19, 48, 34, 20,
    +
    403 33, 24, 28, 35, 37, 34, 31, 35, 23, 1, -13, -9, -21, -28, -17, -9, 16, -2, -17,
    +
    404 -3, -11, -18, -32, -22, -8, -33, -47, -22, -8, -24, -37, -31, -21, -11, 6, -4,
    +
    405 -17, -5, 6, 22, 16, 14, 26, 11, -4, -4, -14, -20, -14, -24, -18, -4, -16, -16,
    +
    406 -15, -33, -38, -31, -30, -28, -32, -40, -38, -39, -33, -14, -19, -27, -5, 5,
    +
    407 -12, -29, -23, -13, -2, 30, 41, 44, 39, 27, 34, 10, -12, 9, 24, 16, 25, 42, 44,
    +
    408 36, 31, 33, 25, 28, 2, -8, 10, 5, 22, 21, 14, -3, 4, 20, -3, -8, -13, -7, 8, 12,
    +
    409 12, 10, 22, 34, 37, 42, 46, 24, 17, 24, 26, 32, 23, 20, 7, 20, 31, 8, 31, 40,
    +
    410 31, 28, 21, 22, 0, 1, 1, -3, 6, -13, -13, 1, -10, -13, -1, -10, -20, -10, -9, 5,
    +
    411 17, 5, 1, -3, -10, -14, -19, -15, -7, -22, -37, -26, -5, -17, -47, -40, -36,
    +
    412 -43, -43, -31, -18, -34, -28, -17, -12, -27, -37, -16, -13, -18, -22, -24, -19,
    +
    413 -12, -16, -15, -2, 12, 7, 1, 3, -1, 14, 14, -1, -11, -26, -23, -14, -16, -12,
    +
    414 -5, -18, -16, 3, 9, -6, -9, 17, 13, -3, 4, -1, -7, -5, -1, 10, 29, 23, 5, 11,
    +
    415 12, 27, 23, 18, 11, -2, 23, 25, 37, 40, 36, 42, 36, 27, 9, 22, 14, 0, 3, 7, 16,
    +
    416 16, 20, 18, -3, -3, 18, 15, 12, 29, 28, 15, 21, 15, -13, -18, -12, -18, -9, 2,
    +
    417 1, 7, 4, 7, 20, 9, 18, 24, 3, 1, 5, -11, -16, -10, -20, 1, 13, 1, -4, -22, -17,
    +
    418 -13, -16, -20, -25, -10, 1, -7, -7, 5, -3, -18, -20, -11, -16, -22, -21, -13, 1,
    +
    419 -1, 5, 15, 14, 3, -5, 9, 0, -24, -21, -14, -13, -6, 14, 6, -10, 8, 16, 11, 6,
    +
    420 -8, -11, 0, 3, 10, 20, 14, 15, 16, 0, -15, -10, 9, -1, -5, 14, 22, 16, 25, 38,
    +
    421 27, 11, 14, 32, 26, 14, 15, 10, 6, -1, -9, -4, 0, -2, -12, 1, 27, 20, 6, 16, 20,
    +
    422 18, 19, 13, 19, 19, 20, 12, -1, 6, 7, 7, 17, 25, 17, 10, 18, 16, 15, 19, 14, 17,
    +
    423 0, -12, 8, 12, -5, -19, 2, 1, -24, -10, -5, -17, -8, -2, -9, -17, -17, -7, -8,
    +
    424 -21, -23, -6, 5, -6, -7, -8, -16, -14, -18, -8, -24, -49, -19, -6, -13, -2, 4,
    +
    425 6, 21, 24, 17, 12, 0, 3, 2, 0, 10, -2, -7, -1, -4, -16, -21, -4, -8, -7, -8,
    +
    426 -19, -6, -9, -13, -5, 1, -2, 4, 0, 3, 10, 7, 21, 14, 9, 1, -11, -12, -5, 15, 10,
    +
    427 1, -7, -10, -4, 2, 14, 6, 7, 3, 1, 11, 6, -2, -15, -20, -11, -2, -12, -24, -24,
    +
    428 1, -1, -16, 7, 2, -2, 4, 12, 20, 11, 21, 30, 10, 16, 23, 9, 8, 27, 23, 2, 17,
    +
    429 17, 12, 15, 10, 7, 6, 17, 16, 12, 4, -9, -2, 2, 3, 5, -9, -7, -12, -19, -12, -9,
    +
    430 13, 22, 7, 7, 10, -3, 7, 24, 12, 3, -2, 1, 13, 17, 10, 0, 11, 14, 5, 2, -20,
    +
    431 -24, -13, -11, 1, 5, -3, -11, -10, 8, -3, -19, -8, -18, -19, -14, -7, -5, -11,
    +
    432 -10, -21, -21, -1, 5, -4, 0, -6, -23, -22, -11, -5, -3, 10, 17, 10, 10, 10, 5,
    +
    433 13, 28, 6, -11, 2, 2, -3, -13, -10, -13, -23, -10, -9, -16, 0, 10, 11, 15, 4, 7,
    +
    434 9, 13, 15, 4, 11, 19, 30, 13, 6, 34, 30, 13, 14, 19, 22, 27, 15, 12, 22, 20, 24,
    +
    435 27, 31, 24, 1, -3, 14, 20, 11, 2, 3, -10, -28, -11, 2, -8, -10, -4, -7, -11,
    +
    436 -13, -6, 6, -3, 6, 9, -9, -5, 3, 5, -1, 2, 19, 16, 9, 24, 19, 4, 11, 11, 8, 7,
    +
    437 4, 7, 10, 8, -4, -2, 0, -13, -6, -8, -5, -4, -16, -6, -7, -15, -7, -2, -4, 1,
    +
    438 10, -5, -13, -7, -13, -3, 3, 8, 7, 5, 9, -11, -16, -13, -28, -33, -22, -21, -12,
    +
    439 -9, -10, 1, -7, -6, -7, -17, -13, -14, -14, -11, -8, -11, -12, -2, -8, -5, 0,
    +
    440 -16, -9, 1, -9, 0, 9, 7, 6, 2, 17, 10, 3, 7, 1, 12, 12, 15, 31, 27, 16, 19, 14,
    +
    441 16, 12, -3, 3, 10, 6, 4, 15, 31, 23, 10, 11, 4, 13, 15, 2, 7, 13, 0, -20, -6, 8,
    +
    442 3, 19, 18, 8, 10, 9, 11, 3, -3, -9, -10, 1, 10, 18, 22, 18, -5, 1, 12, 8, 23,
    +
    443 15, 2, -10, -5, 10, 0, -1, 2, -2, -6, -4, 12, 8, -12, -4, -1, 0, 5, -10, -15,
    +
    444 -4, -11, -19, -15, -13, -11, -27, -32, -19, -13, -19, -22, -12, -15, -27, -19,
    +
    445 -5, -9, -14, -7, -9, -15, -10, -7, -2, -10, -5, 15, -8, -9, 11, -3, 0, 18, 20,
    +
    446 15, 4, -7, 1, 16, 22, 25, 25, 21, 10, 8, 19, 27, 25, 26, 37, 25, 14, 16, 8, 2,
    +
    447 2, 5, -9, -4, 17, -3, -7, 19, 11, -7, -7, -4, -8, -15, -2, -3, -8, 10, 11, 10,
    +
    448 17, 15, 20, 13, 11, 20, 15, 16, 11, -2, -1, 8, 12, 8, 3, 0, -9, -9, -3, 1, 3, 8,
    +
    449 4, 0, 6, 3, -8, -7, -4, -11, -7, -4, -4, 8, 10, -5, 3, 16, -1, 0, -4, -3, -3,
    +
    450 -13, -7, -2, -1, -3, -1, -9, -8, -4, -2, 4, -8, -7, -7, -20, -8, -1, -18, -22,
    +
    451 -8, -4, -9, -14, -8, 0, 1, 2, 6, 8, -10, -13, 10, 5, 2, 6, 0, 9, 1, -7, 7, 8, 0,
    +
    452 -3, 9, 6, -5, -5, 4, 9, 11, 18, 11, 13, 10, 8, 10, 1, 5, 1, 5, 14, -7, -8, 10,
    +
    453 -4, -16, 2, -1, -8, 0, -3, 8, 18, 12, 7, 4, -7, -11, -6, -4, 0, -2, 1, 4, 12,
    +
    454 14, 4, 15, 6, 0, 17, 9, 5, 6, 1, 5, 0, -8, 0, 6, -2, 1, 8, 5, 2, 9, 4, 0, 6, 3,
    +
    455 16, 15, 5, 4, 7, 13, 3, -3, -1, 1, -4, -3, 2, 1, -5, -8, -12, -15, -13, -13,
    +
    456 -19, -17, -11, -10, -13, -11, -11, -14, -4, 4, 11, 10, 2, 7, 6, -5, -2, 8, 16,
    +
    457 7, -5, 10, 13, 1, 3, 12, 6, -9, 3, 13, 1, 3, 4, 0, 0, -6, -3, -7, -10, -6, -11,
    +
    458 -15, -8, -3, -9, -8, -1, -3, -15, -5, 7, 1, 10, 12, 3, 1, 16, 20, 18, 18, 0, -2,
    +
    459 -1, -5, -1, 1, 11, 9, 3, 9, 12, 6, 2, 9, -6, -5, 2, 2, 5, 3, 9, 10, 13, 7, 0,
    +
    460 -1, -2, -4, -6, 2, -3, -9, 5, 12, 6, 12, 16, 7, 12, 16, 10, 5, 4, 14, 18, 10,
    +
    461 10, 6, 3, 12, 0, 1, 9, -6, -1, 6, -7, -9, -8, -2, 3, -9, 0, 6, -5, 7, 9, -3, 2,
    +
    462 -1, 0, -3, -15, 2, 5, -5, -3, -5, 2, 1, -5, -6, -3, -1, -6, -3, -4, -5, -7, -9,
    +
    463 -1, 5, -3, -9, -10, -14, -13, -9, 0, -4, -4, -1, -16, -11, -7, -6, 0, -2, 0, 0,
    +
    464 2, 1, 2, 0, -5, -7, -10, -12, -11, -3, 3, -3, -4, 3, -5, -12, -7, -1, -3, -6,
    +
    465 -2, -4, 2, 6, -2, -5, 0, 2, 7, 7, 2, 13, 15, 9, 0, 0, 13, 6, 7, 14, 11, 12, 12,
    +
    466 18, 17, 15, 17, 12, 10, 12, 17, 10, 10, 13, 1, 5, 4, 6, 15, 12, 11, 10, 8, 6, 7,
    +
    467 10, 9, 12, 16, 14, 15, 8, -3, 5, 11, 9, 4, 1, 4, -3, -11, -7, -1, -1, -10, -12,
    +
    468 -5, 0, 1, -6, 1, 3, -5, 5, 4, -3, -5, -3, 1, -2, 4, 0, -12, -15, -10, 0, 1, 3,
    +
    469 -4, -10, -7, -7, -3, -7, -6, -7, -8, -7, -6, -2, -4, -6, -1, 0, 1, 6, -5, -17,
    +
    470 -3, 9, -4, -8, -5, -11, -7, -9, -5, 4, 2, -1, -2, 9, 8, -2, 4, 10, 2, -6, 2, 2,
    +
    471 -2, 5, 7, 3, 6, 13, 9, 10, 9, 8, 11, 10, 4, 4, 6, -2, 3, 6, 6, 10, 2, -4, -2, 3,
    +
    472 -5, -3, 1, 6, 16, 16, 10, 4, 14, 23, 10, 9, 16, 7, 10, 13, 10, 18, 9, -7, 0, 5,
    +
    473 5, 7, 4, 1, 0, -4, -3, -1, -1, 4, -2, -4, -12, -7, 8, -1, 4, 9, -1, -3, -4, 0,
    +
    474 4, 0, 6, 5, -8, -7, -10, -12, -10, 2, 10, 2, 8, -4, -8, 3, -13, -11, -1, -8, -8,
    +
    475 -6, -4, -6, -6, 0, -4, -10, -12, -8, -6, -9, -5, -12, -18, -6, 0, -7, -6, 0, -4,
    +
    476 -8, -7, -4, -6, -7, -11, -9, -4, -4, -3, -3, 4, 5, 8, 8, 1, 7, 8, 0, -5, -4, -3,
    +
    477 -1, 6, 4, -3, -2, 1, 3, 2, 3, 2, 5, 5, 4, 8, 4, 7, 11, 3, 6, 16, 16, 14, 15, 18,
    +
    478 17, 12, 15, 18, 15, 11, 10, 15, 15, 6, 1, 5, 11, 12, 6, 3, 5, 5, 2, 7, 5, 0, 0,
    +
    479 -7, 0, -5, -2, 11, -3, -9, -7, -2, -3, -5, 7, 11, 3, -9, 1, 9, -9, -5, 7, 2, 3,
    +
    480 6, -7, -15, -1, -4, -7, 4, -1, -4, -6, -1, 7, -5, -14, -13, -15, -4, -1, -13,
    +
    481 -8, -6, -3, 1, 1, 2, -10, -8, -1, -5, -10, -7, 0, -3, -1, -2, -4, -1, -8, -7,
    +
    482 -2, 2, -3, -3, 4, 3, 6, 6, 4, 1, 1, 5, 4, 4, 8, 11, 9, 7, 3, 2, 2, 2, 9, 2, 0,
    +
    483 6, 4, 5, 3, -1, 4, 9, 6, 0, -3, 0, 4, 4, 3, 8, 12, 6, 2, 0, 8, 15, 8, 10, 7, 1,
    +
    484 6, 11, 7, 4, 5, 2, 3, 5, 4, 5, 7, 7, 2, -1, -1, 2, 9, 6, -1, -3, -1, 1, 5, -2,
    +
    485 -2, 9, -1, -7, 2, 1, 1, -3, -4, -1, -6, -2, -3, -4, 1, 2, 5, 3, -1, 2, -1, -13,
    +
    486 -6, 4, -1, -3, -3, -2, -2, -11, -3, -2, -16, -10, -3, -6, -5, 4, 1, -8, -5, -4,
    +
    487 4, 6, 3, 6, 5, -2, -2, 0, 1, 4, -1, 1, -1, -3, 6, 4, -3, -7, -6, 0, 0, -5, -10,
    +
    488 -8, 6, 9, 2, 5, 6, 1, -2, -2, 0, 7, 4, -2, 5, 6, 2, 3, 9, 6, -4, -1, 5, 6, 4, 5,
    +
    489 5, 6, 7, 3, 6, 6, 8, 13, 11, 6, 2, 7, 2, -2, 7, 3, -2, 5, 5, 1, 0, -2, 4, 3, 0,
    +
    490 2, 0, 3, 3, 0, 8, 12, -2, 3, 10, 0, 5, 17, 10, 0, 7, 5, 1, 6, 2, -2, 6, 7, -3,
    +
    491 4, 11, 1, 4, 8, -2, 3, 5, -1, -1, 2, -1, -10, -3, -4, -8, -5, -4, 2, -1, -7, -4,
    +
    492 4, -1, -10, -6, 2, -2, 0, 1, -10, -8, -7, -7, -2, -9, -9, -3, -1, -5, -10, -5,
    +
    493 1, -10, -11, 0, -2, -6, -6, -8, -5, 6, 3, 1, 7, 5, 7, 5, 1, 1, 4, 2, -7, 2, 7,
    +
    494 1, 0, -5, -6, -1, 2, -1, 0, 5, 5, 2, 13, 14, 2, 9, 5, 0, 4, 2, 13, 13, 6, 6, 6,
    +
    495 8, 2, 6, 14, 16, 16, 4, 5, 12, 9, 8, 10, 9, 9, 8, 2, 5, 11, 11, 12, 10, 4, 5, 1,
    +
    496 -2, 11, 10, -2, 1, 4, 1, -5, 0, 2, -3, 4, 2, -2, 2, 5, 5, 1, -2, -7, -11, -4,
    +
    497 -1, -5, -6, -5, -6, -3, 1, 3, 2, -3, -4, -2, -3, -4, -6, -1, 3, -7, -9, -4, -3,
    +
    498 2, -2, -6, -4, -5, -6, -6, -8, -10, -11, -7, -5, -6, -11, -10, -2, 1, -4, -2, 4,
    +
    499 0, 1, 2, -2, -4, -2, 2, -2, -4, -1, -1, 0, 1, 4, 3, 3, 2, 1, 7, 9, 4, 5, 5, -1,
    +
    500 8, 13, 10, 10, 6, 7, 7, 3, 2, -3, -2, 4, 4, 7, 6, 9, 10, 7, 7, 7, 12, 12, 13, 9,
    +
    501 7, 9, 7, 8, 6, 3, 3, 5, 4, 4, 4, 2, 2, 8, 5, -6, 1, 2, 1, 8, 4, 3, 3, 0, -1, -2,
    +
    502 3, 7, 5, 6, 3, -1, -1, -3, 2, 3, 3, 2, 2, 5, -3, -1, 5, 2, 2, 1, 3, 7, -1, 0, 2,
    +
    503 -6, -3, -2, -5, -4, -1, -4, -2, 0, -8, -3, -1, -11, -8, -4, -6, -5, -3, 0, -4,
    +
    504 -7, -4, -5, -3, -3, -10, -5, -2, -5, -6, -1, -2, -3, 7, 5, -3, -2, 3, 5, 5, 5,
    +
    505 3, 2, 1, 1, 5, 6, 4, 3, 0, 1, 4, 4, 6, 7, 8, 9, 11, 8, 5, 6, 5, 2, 5, 8, 1, 3,
    +
    506 10, 3, 2, 3, 7, 9, 3, 7, 9, 6, 5, 5, 6, 6, 5, 7, 5, 1, 2, 3, 4, 7, 8, 4, -2, 0,
    +
    507 0, -1, 0, -4, -3, -2, 2, -4, -11, -6, -6, -3, -6, -10, -4, -2, -6, -6, -1, -5,
    +
    508 -4, 3, -7, -7, -2, -3, 3, 5, 3, 1, 2, 0, 2, 7, 5, 7, 3, -2, 1, -5, -4, -2, -2,
    +
    509 0, -1, 1, 1, -1, 2, -2, -8, -3, -5, -7, -4, 2, 3, 1, 5, 5, 1, 4, 10, 6, 1, 8, 8,
    +
    510 3, 1, 0, 2, 2, 2, 6, 0, 0, 8, 5, -1, -3, 2, 5, 3, 1, 0, 5, 3, 2, 1, -1, 4, 4, 0,
    +
    511 -2, -3, 0, 1, 3, 2, 1, 2, 4, 5, 5, 4, 5, 9, 8, 5, 9, 5, -1, 5, 6, 2, 6, 7, 2,
    +
    512 -1, -2, -1, -3, -1, 2, -1, 1, 2, 4, 0, -2, 2, 1, 3, 2, 1, 3, 1, 5, 3, 4, 11, 9,
    +
    513 9, 7, 2, 6, 3, 5, 9, 3, 5, 9, 5, -1, 0, 4, 2, 2, 7, 5, 1, 2, 2, 3, 3, -1, -4,
    +
    514 -2, -2, 0, 2, 2, 5, 1, 1, 3, 4, 5, 2, 0, 4, 5, 1, -1, 0, 1, -3, -1, -1, -3, -1,
    +
    515 -1, 0, -4, -6, -6, -6, -6, 0, 1, -2, 4, 2, 3, 6, 4, 2, 2, 2, 1, 0, -2, -4, -4,
    +
    516 -1, -5, -5, 0, -1, -1, -1, 3, 7, 4, 1, 2, 2, -1, -4, -1, -1, -5, -2, -1, 0, 1,
    +
    517 4, 6, 7, 6, 5, 6, 8, 8, 10, 11, 11, 10, 8, 11, 4, 2, 10, 5, 7, 7, 0, 5, 8, 3,
    +
    518 -2, 1, 0, -5, -4, -2, -1, -3, -2, -4, -5, -5, -3, -1, 1, 2, 1, 1, -2, -3, -1, 0,
    +
    519 2, 2, -1, 0, 1, -4, -2, 1, -2, 1, -2, -4, -3, -4, -5, -3, -9, -8, 0, -2, 2, 5,
    +
    520 3, 0, -3, 0, 1, -4, 0, 5, 0, -1, 4, 8, 4, 0, 6, 3, 2, 3, 1, 3, 3, 3, 2, 1, -1,
    +
    521 -2, 2, 1, -2, 1, 3, 0, 1, 8, 4, -1, 7, 7, 6, 6, 1, 3, 4, 4, 3, 3, 6, 7, 9, 11,
    +
    522 8, 8, 9, 3, 3, 5, 7, 4, 1, 6, 5, 4, 4, 5, 3, 3, 5, 3, 2, 1, 2, 2, 2, 0, -3, 0,
    +
    523 3, 0, 3, 2, -2, 1, 2, 6, 6, 4, 8, 9, 4, -1, -1, -2, 2, 5, 3, 5, 3, 3, 5, 0, -1,
    +
    524 3, 2, 0, 1, 6, 1, -6, 3, 7, -1, 0, 2, 2, -1, -1, -3, -2, 1, 1, 4, 3, 0, -1, 0,
    +
    525 3, 0, -1, -3, -1, 3, 1, 0, -2, -3, -5, 0, 4, 2, 2, 0, 2, 1, -4, -5, -5, 2, 3,
    +
    526 -2, -3, 1, -2, 0, 3, 0, 4, 3, 0, 2, 6, 7, 1, 2, 6, 4, 3, 5, 5, 3, 1, -1, -1, -2,
    +
    527 -3, 1, 2, 3, 2, 4, 4, 3, 4, 2, 5, 6, 0, 0, 1, 3, 2, 2, 3, 4, 4, 5, 4, 4, 6, 3,
    +
    528 5, 3, 2, 3, 4, 6, 2, 2, 4, 0, 2, 6, 4, 8, 6, 0, 3, 1, -1, 1, 1, 5, 1, -1, 3, -1,
    +
    529 -2, 2, 1, 1, 2, 1, -2, -3, 4, 2, 1, 3, 0, 3, 4, 0, -1, -3, 2, 0, -4, -1, -3, -2,
    +
    530 -1, -2, -3, -5, -5, -5, -3, -3, -2, -1, -4, -2, 0, -4, -5, -6, -8, -4, -3, -3,
    +
    531 -1, 0, -2, -7, -4, -1, -3, 2, -1, -6, -2, 2, 1, -2, -2, -3, -2, 2, 2, 1, 0, 0,
    +
    532 2, 5, 3, 2, 5, 2, 0, 4, 7, 7, 6, 7, 7, 6, 7, 6, 7, 6, 4, 4, 5, 5, 7, 6, 7, 6, 2,
    +
    533 3, 5, 5, 2, 4, 6, 5, 7, 4, 4, 7, 4, 3, 3, 2, 3, 9, 8, 3, 5, 4, 1, 2, 6, 7, 3, 3,
    +
    534 5, 4, 4, 6, 6, 4, 0, 3, 4, 4, 3, 1, 1, 2, 1, 0, 0, -1, 1, 2, 2, 3, 1, 0, 1, 0,
    +
    535 -4, 2, 6, 2, 3, 3, 4, 5, 3, 1, -1, 0, -2, 2, 4, 3, 3, 2, 4, 3, 0, -1, 0, -1, 0,
    +
    536 0, 0, 3, 2, 1, 3, 2, 5, 2, 2, 3, 0, 2, 2, 0, 0, 1, 0, 4, 4, 3, 8, 5, 3, 5, 6, 5,
    +
    537 5, 4, 1, 1, 5, 4, 4, 4, 0, 2, 5, 4, 3, 3, 5, 3, 1, 2, 2, 1, 2, 4, 3, 5, 6, 4, 4,
    +
    538 5, 3, 0, -1, -1, -2, 1, 3, 1, 0, -1, 2, -1, -4, -1, 0, -2, -5, -1, -2, -8, -6,
    +
    539 -7, -6, -2, -3, -4, -2, -1, -2, 2, 1, -1, 1, 0, 1, 0, -1, -5, -4, -1, -4, -3,
    +
    540 -4, -5, -3, -4, -6, -5, -5, -6, -3, -3, -4, -3, -3, -5, -3, -1, -2, -5, -5, -3,
    +
    541 -4, -2, 1, 3, 4, 2, 1, 0, 1, 2, 1, 3, 6, 4, 0, 2, 4, -1, -4, 1, 3, 0, 1, 2, -1,
    +
    542 0, 3, 5, 4, 2, 3, 2, 7, 8, 3, 6, 7, 6, 6, 7, 10, 6, 4, 7, 6, 1, 3, 7, 7, 7, 5,
    +
    543 2, 2, 4, 0, 1, 1, -1, 2, 0, -1, -2, -2, 0, 1, 1, -2, -2, 3, 2, 0, 1, -1, 1, 1,
    +
    544 2, 4, 2, 3, 4, 3, 2, 2, 3, 2, 2, 2, 0, 1, 6, 2, 1, 1, -2, 2, 4, 4, 3, 2, 1, 1,
    +
    545 3, 3, 4, 3, 5, 7, 4, 3, 6, 4, 2, 6, 7, 5, 5, 6, 7, 6, 7, 7, 5, 4, 8, 9, 5, 7, 4,
    +
    546 5, 10, 4, 1, 5, 5, 6, 6, 5, 4, 4, 5, 5, 4, 5, 6, 5, 4, 3, 4, 4, 2, 1, 4, 7, 5,
    +
    547 3, 4, 3, 3, 4, 3, 1, 1, 2, 2, 1, 3, 4, 3, 1, 1, 0, 0, 1, 1, 0, 0, 2, 2, 3, 2,
    +
    548 -1, 1, 4, 0, -2, 4, 1, -5, -3, 0, 0, 2, -2, -5, -1, -2, -4, 0, -1, -1, 2, 0, 0,
    +
    549 1, 0, -1, -2, 0, 0, -1, 1, 4, 7, 6, 3, 5, 4, 2, 5, 6, 5, 4, 1, 1, 3, 2, 1, 1, 2,
    +
    550 1, -2, -2, -2, -1, 1, 0, 0, -3, -3, -1, 0, 0, 1, 0, -3, -5, -3, 0, -3, -2, 2, 0,
    +
    551 0, 1, 1, 0, 0, -1, -3, -3, -1, 1, 1, -1, -3, -3, -1, -1, -5, -3, -2, -3, -5, -6,
    +
    552 -1, -2, -3, 1, -1, -1, -3, -6, -3, 0, -1, -1, -2, -6, -2, 1, -2, -2, -1, -5, -3,
    +
    553 0, -4, -3, 0, 2, 2, 3, 3, 3, 6, 4, 3, 4, 4, 5, 3, 1, 4, 3, 1, 4, 3, 6, 7, 5, 5,
    +
    554 4, 6, 3, 4, 6, 3, 6, 7, 6, 3, 0, 2, 2, 4, 3, 0, 4, 4, 2, 2, 4, 4, 5, 4, 4, 4, 1,
    +
    555 2, 0, 0, 2, 3, 2, 3, 5, 3, 2, 1, 2, 1, 3, 4, 0, 2, 1, 1, 0, -4, -1, -2, -2, 1,
    +
    556 -1, -1, -3, -1, 2, 2, 3, 1, 1, 0, 2, 3, 3, 4, 1, 0, 2, 4, 1, 2, 3, 1, 1, 0, 1,
    +
    557 0, 0, 1, 1, 2, 2, 0, 1, 3, 0, 1, 3, 0, 1, 3, 3, 5, 7, 6, 6, 8, 9, 7, 6, 7, 5, 4,
    +
    558 7, 4, 1, 4, 3, 3, 3, 4, 6, 3, 4, 4, -1, 0, 3, 1, 0, 1, 3, 2, 0, 2, 1, -1, 1, 0,
    +
    559 1, 3, 4, 3, 3, 2, 4, 6, 3, 4, 4, 2, 2, 3, 3, 2, 2, 5, 3, 1, 1, 1, -1, -2, -2,
    +
    560 -4, -3, -1, -1, 1, 4, 2, -1, 3, 6, 3, 3, 2, 0, 0, -1, 4, 4, 2, 3, 2, 1, 2, 1, 1,
    +
    561 1, 1, 1, 3, 4, 1, 1, 2, 3, 3, 2, 3, 1, 0, 2, 3, 3, 2, 3, 4, 3, 4, 5, 4, 3, 4, 3,
    +
    562 5, 4, -1, 3, 2, -1, 4, 3, 1, 1, 2, 1, 2, 3, 3, 4, 5, 5, 4, 3, 0, -2, 1, 2, 0, 1,
    +
    563 2, 2, 5, 5, 0, -1, 2, 5, 3, 2, 3, 1, 2, 4, 5, 6, 5, 1, 3, 8, 4, 3, 4, 1, 2, 4,
    +
    564 3, 6, 6, 2, 2, 3, 3, 2, 3, 3, 4, 5, 8, 9, 4, 5, 4, 3, 5, 4, 5, 7, 6, 2, 3, 4, 2,
    +
    565 5, 5, 2, 2, 4, 5, 0, 1, 3, 2, 1, 0, 3, 1, 0, 3, 2, 2, 1, 1, 0, 1, 2, 2, 2, 1, 2,
    +
    566 0, 0, 1, -1, 1, 3, -1, -1, -1, -4, -2, -4, -4, -2, -4, -3, -2, -1, 1, 0, 0, 0,
    +
    567 -2, -2, 1, 1, -2, 2, 2, -2, 0, 0, 1, 0, -1, 0, -1, -1, -1, 0, -2, -4, -3, -5,
    +
    568 -3, -3, -5, -2, 0, -1, -3, 0, 0, -3, -2, 0, 0, 0, -2, -3, -1, 1, 1, 3, 3, 0, 0,
    +
    569 1, 0, -1, 1, 1, -1, 0, 0, -1, -4, -2, -1, -3, -1, -2, -2, -3, -2, -1, -2, -1,
    +
    570 -2, -3, -2, -3, -2, -1, 0, -1, -3, -3, -4, -2, -2, 0, 0, -6, -4, -1, 0, -1, -2,
    +
    571 -1, -3, -3, -2, -3, -4, -3, -2, -1, 0, 1, 0, 0, 3, 3, 0, 1, 3, 1, 1, 3, 0, 0, 2,
    +
    572 1, 2, 3, 5, 4, 1, 0, 1, 1, 0, 0, 1, 2, 1, 2, 3, 3, 2, 3, 3, 1, 0, 4, 3, 2, 2, 1,
    +
    573 1, 3, 3, 1, 4, 5, 5, 5, 2, 4, 6, 4, 3, 4, 4, 5, 4, 1, 3, 4, 4, 5, 2, 3, 2, 2, 2,
    +
    574 0, 2, 2, 1, 3, 4, 3, 1, 3, 5, 3, 4, 3, 4, 6, 7, 9, 6, 6, 8, 8, 7, 3, 4, 4, 2, 2,
    +
    575 2, 5, 4, 3, 4, 0, 1, 2, 0, 2, 4, 3, 6, 8, 5, 5, 5, 7, 7, 7, 8, 6, 9, 8, 5, 6, 5,
    +
    576 5, 6, 5, 5, 4, 1, 5, 7, 3, 4, 4, 1, 4, 5, 1, 1, 1, 2, 2, 3, 5, 5, 5, 6, 4, 1, 3,
    +
    577 4, 3, 4, 5, 5, 5, 6, 4, 3, 3, 3, 5, 5, 2, 2, 3, 2, 0, 0, 2, 3, 1, 2, 3, 3, 2, 3,
    +
    578 3, 4, 5, 2, 3, 3, 0, 2, 5, 5, 3, 3, 4, 4, 3, 2, 3, 2, 3, 3, 0, 2, 2, -1, 0, 0,
    +
    579 2, 1, 0, 1, 0, 2, 3, 2, 4, 4, 1, 3, 6, 4, -1, 2, 3, 2, 2, 1, 3, 5, 5, 2, 1, 2,
    +
    580 2, 3, 2, 2, 3, 2, -1, -1, -1, 3, 4, 0, 0, 2, 2, 0, 0, -1, -1, 3, 0, 1, 3, 0, -1,
    +
    581 0, -1, -1, 0, 1, 4, 4, 3, 1, 0, 0, 1, 0, -1, 1, 1, -1, -2, -3, -2, -2, -2, -3,
    +
    582 -4, -3, -4, -4, -3, -5, -4, 0, 0, 1, 2, 1, 1, 1, 3, 4, 2, 3, 2, 3, 3, 0, -1, 1,
    +
    583 1, 1, 2, 2, 2, 1, 0, -1, 0, -1, -3, 0, 3, -1, -3, 0, 0, 0, 3, 2, -1, -1, 1, 1,
    +
    584 1, 2, 2, 0, 1, 2, 3, 2, 2, 1, 0, 1, 1, 2, 3, 3, 2, 2, 1, 1, 6, 2, 0, 1, 2, 2, 1,
    +
    585 1, 0, 2, 1, 1, 4, 1, 0, 1, 0, 1, 1, -1, 1, 2, 3, 5, 5, 3, 1, 2, 1, 2, 2, 1, 1,
    +
    586 2, 1, -1, -2, -1, -2, -4, -3, -2, -3, -1, 1, -1, 2, 3, 0, -3, -5, -2, -2, -1, 1,
    +
    587 -4, -3, -1, -1, 1, -1, -4, -3, 2, -2, -4, 0, -5, -1, 0, 0, 1, 0, 0, -2, 1, 2, 1,
    +
    588 2, 1, 0, 1, 3, 4, 0, 2, 5, 1, 1, 3, 1, 4, 4, 1, 3, 1, 0, 3, 5, 4, 5, 4, 3, 3, 2,
    +
    589 1, 1, 1, 1, 4, 4, -1, -3, 1, 1, 1, 4, 5, 2, 3, 4, 1, 2, 1, 2, 4, 3, 1, 2, 6, 4,
    +
    590 0, 1, 2, 3, 2, 3, 2, 0, 3, 2, 0, 2, 1, -1, 0, 2, 2, 3, 1, -1, 2, 2, 4, 1, 1, 4,
    +
    591 2, -1, -2, -4, -4, -4, -4, -5, -5, -2, -3, -1, 0, -1, -2, -1, 1, 3, 3, -1, -1,
    +
    592 1, 2, 1, 0, 2, 1, 3, 4, 2, 2, 1, 0, 3, 3, 1, 4, 4, 3, 3, 5, 4, 1, 2, 3, 4, 3, 2,
    +
    593 3, 3, 5, 6, 5, 7, 10, 8, 7, 6, 4, 6, 7, 6, 7, 7, 7, 5, 5, 4, 5, 6, 3, 1, 2, 4,
    +
    594 4, 1, 1, 2, -3, -2, 4, 2, 1, 2, 3, 3, 1, 2, 4, 3, 1, 4, 5, 3, 3, 1, 4, 4, 4, 7,
    +
    595 6, 5, 4, 5, 3, 2, 3, 2, 2, 1, 1, 2, 0, 1, -2, -3, 3, 2, 0, 1, 0, -2, -1, 1, 0,
    +
    596 -1, 1, 3, 2, 1, 4, 3, 0, 3, 4, 3, 3, 6, 3, 3, 6, 4, 4, 4, 2, 3, 4, 5, 1, 2, 4,
    +
    597 1, 3, 2, 2, 4, 5, 6, 4, 4, 5, 4, 4, 5, 6, 6, 7, 3, 4, 6, 5, 7, 6, 4, 2, 1, 4, 5,
    +
    598 2, 2, 3, 2, 2, 2, 1, 1, -2, -3, 2, 2, 1, 2, 2, 0, 1, 2, 0, 0, -1, 1, 0, -4, -3,
    +
    599 -3, -1, 3, 1, 2, 1, -1, -1, 0, 0, -1, 0, -1, 0, 0, -1, 1, 0, 0, 0, 0, -2, -3, 0,
    +
    600 -2, -2, 1, 0, -2, -1, 1, 0, 0, 0, 0, 2, -1, -4, 0, 3, 2, 0, 0, 1, 3, 3, 0, -3,
    +
    601 -5, -2, -1, 1, 1, -2, 1, 3, 1, 1, 1, 0, 1, 2, 1, 3, 6, 2, 2, 5, 3, 4, 3, 5, 6,
    +
    602 4, 2, 2, 3, 1, 0, 0, 3, 4, 2, 4, 1, 1, 4, 2, 0, -4, -2, 0, 1, 3, 1, 1, 2, 0, 1,
    +
    603 1, 0, 1, 3, 4, 0, 0, 1, 2, 3, 2, 3, 6, 4, 1, 1, 2, 0, 2, 3, 0, 1, 4, 5, 0, -1,
    +
    604 3, 0, 2, 6, 3, 0, 4, 5, 2, 0, 1, 2, 3, 3, 2, 3, 3, 2, -1, 2, 5, 1, 0, 3, 2, 2,
    +
    605 0, 1, 1, 0, 3, 3, 0, 0, 1, 1, 1, 0, 0, 1, 2, 2, 2, 1, 3, 2, -2, 1, 0, 0, 4, 1,
    +
    606 -1, 1, 1, 0, 2, 2, 2, 3, 3, 2, 0, -2, -1, 2, 3, 3, 2, 2, 1, 0, 2, 1, 1, 3, 0, 1,
    +
    607 2, 2, 4, 2, 1, 3, 1, 0, 2, 2, 3, 4, 4, 3, 2, 1, 4, 5, 2, 4, 3, 0, 3, 4, 3, 2, 3,
    +
    608 4, 3, 1, 0, 0, 0, 4, 4, 1, 2, 3, 5, 4, -1, -1, 2, 1, 0, 1, 0, 1, 1, 1, 0, 1, 3,
    +
    609 2, 3, 4, 1, 0, 1, 0, -2, -3, -1, 0, -2, 1, 0, -3, 1, -1, 0, 4, 2, 1, 2, 1, 0, 2,
    +
    610 2, -1, -1, 2, 0, -4, 0, 2, 1, 0, 1, 2, -1, 2, 2, -1, 1, 3, 3, 2, 0, 1, 0, 1, 1,
    +
    611 0, 3, 3, 3, 4, 1, 0, -1, 1, 2, 1, 2, 2, 4, 1, 0, 4, 4, 3, 2, 2, 2, 1, 0, 1, 3,
    +
    612 1, 0, 1, 2, 1, 0, 3, 3, 1, 2, 1, -1, 3, 3, 1, 2, 3, 5, 1, 1, 2, -2, -1, 0, 0, 2,
    +
    613 2, 0, 1, 2, 1, 2, 1, 2, 1, 0, 0, 1, -2, -3, -2, -3, -3, 1, 4, 3, 2, 2, 2, 0, 1,
    +
    614 4, 0, 2, 4, 0, 4, 4, -1, 3, 4, 0, 2, 3, 2, 2, 4, 5, 3, 3, 3, 1, 2, 4, 3, 1, 2,
    +
    615 2, 4, 2, 3, 4, 2, 3, 2, 1, 3, 1, 1, 4, 3, 0, 2, 2, 1, 3, 3, 3, 2, 0, 2, 4, 3, 4,
    +
    616 3, 2, 3, 3, 2, 3, 2, 0, 0, 1, -1, 1, 2, 0, 2, 2, 3, 3, 1, 1, 0, -1, 2, 0, -1, 4,
    +
    617 3, 0, 3, 2, 1, 2, 2, 0, 0, 3, 4, 4, 3, 0, -1, 0, 1, 1, 0, 0, 1, 2, 0, 0, 0, 2,
    +
    618 3, 0, 3, 3, -1, 2, 5, 0, -2, 2, 2, 2, 0, 1, 2, 3, 2, 2, 3, 3, 4, 3, 3, 2, 1, 2,
    +
    619 3, 2, 4, 4, 1, 2, 2, 1, 2, 3, 5, 4, 2, 4, 0, -2, 1, 0, 0, -1, 1, 3, 2, 1, 1, 3,
    +
    620 2, 3, 1, 0, 2, 4, 2, 3, 1, 1, 2, 1, 0, 0, 2, 1, 0, 0, 0, 2, 2, 2, 0, 2, 5, -1,
    +
    621 -1, 1, -1, 0, 0, 2, 2, 0, 1, 2, 2, 2, 1, 2, 2, 3, 3, 3, 3, 2, 4, 2, 1, 2, 1, 3,
    +
    622 0, -1, 3, 3, 2, 1, 0, 0, 2, 2, 3, 2, -3, -1, 2, 1, 4, 5, 5, 5, 6, 7, 5, 5, 5, 4,
    +
    623 3, 4, 5, 4, 5, 6, 3, 2, 1, 2, 2, 2, 3, 1, 1, 4, 3, 1, -2, -1, 1, 1, 3, 2, 3, 5,
    +
    624 2, 2, 3, 3, 2, 3, 6, 4, 1, 2, 3, 2, 2, 3, 1, 3, 4, 3, 2, 0, 1, 1, 2, 1, 1, 2,
    +
    625 -1, -2, -2, -3, -1, 0, -1, 1, 0, -1, 0, 1, 2, 2, 1, 1, 2, 2, 0, 3, 4, 2, 2, 1,
    +
    626 -1, -1, 2, 2, 1, 2, 1, -1, -1, 2, 3, 1, 1, 2, 2, 1, 0, 1, 3, 4, 0, 0, 2, -1, -2,
    +
    627 0, 3, 5, 4, 5, 3, -1, 1, 2, 1, 2, 3, 2, 2, 3, 2, 1, 4, 4, 3, 4, 3, 3, 1, 0, 2,
    +
    628 2, 2, 2, 4, 5, 3, 3, 1, 1, 3, 2, 3, 5, 4, 2, 2, 2, 2, 1, 1, 3, 3, 1, 1, 3, 3, 2,
    +
    629 3, 2, 0, -1, 0, 1, 1, -2, -4, -3, -1, 0, 0, 2, 3, 2, 1, -1, -3, -3, -2, -3, -3,
    +
    630 0, 1, 0, -2, -3, -1, 0, -1, 1, 1, -2, 0, 0, 0, 1, 0, 1, 1, 1, 2, 3, 1, 0, -1, 0,
    +
    631 4, 3, 3, 2, 3, 3, 1, 2, 3, 3, 2, 1, 3, 2, 1, 2, 1, 3, 6, 5, 2, 3, 2, 1, 2, 2, 3,
    +
    632 2, 5, 5, 2, 2, 3, 3, 2, 2, 3, 4, 2, 1, 2, 1, 3, 5, 2, 2, 4, 1, 1, 1, -1, 0, 1,
    +
    633 1, 2, 4, 3, 1, 0, -1, 1, 3, 2, 1, 2, 3, 3, 1, 0, 1, 1, 1, 0, 0, -3, -2, -1, 0,
    +
    634 3, 2, 0, 0, 1, 0, 0, -1, -1, -2, -1, 1, 1, 0, 2, 2, 0, 0, 0, 1, 4, 0, -1, 0, -1,
    +
    635 1, 3, 2, 1, 1, 0, 3, 3, 0, 0, 0, 0, 4, 3, 2, 1, 0, 2, 3, 4, 2, -1, 1, 3, 2, 2,
    +
    636 0, 0, 0, 1, 2, 1, 3, 2, 4, 4, -1, -3, 1, 4, 2, 1, 2, 3, 2, -2, -1, -1, -2, 0, 1,
    +
    637 0, -1, 0, 0, -1, -1, -2, 2, 3, 1, 0, 0, 1, 1, 1, 1, 0, 2, -1, 0, 4, 2, 2, 1, -3,
    +
    638 0, 2, 2, 3, -1, 0, 3, 0, 0, 1, 0, 0, 4, 3, 1, 2, 2, 1, 2, 2, 0, 1, 3, 0, 0, 1,
    +
    639 -1, 0, 3, 2, 1, 2, 2, -1, 0, 2, 2, 1, 2, 1, 4, 6, 3, 2, 0, 3, 2, 1, 3, 4, 5, 4,
    +
    640 4, 4, 3, 3, 3, 2, 3, 3, 3, 1, 2, 3, 3, 2, 1, 2, 3, 5, 2, 0, 2, 2, 1, 3, 2, 2, 5,
    +
    641 0, -1, 4, 1, 0, 1, 2, 3, 2, 3, 4, 3, 3, 4, 2, 2, 2, 3, 3, 1, 2, 3, 0, 1, 2, 2,
    +
    642 0, 0, 2, 2, 1, 2, 1, 0, 2, 2, 1, 1, 2, 1, 1, 4, 2, 1, 5, 4, 0, 2, 4, 0, 0, 3, 3,
    +
    643 1, 1, 1, 2, 1, -1, 1, 4, 6, 6, 3, 2, 3, 2, 2, 3, 2, 1, 2, 2, 1, 2, 3, 3, 4, 5,
    +
    644 4, 5, 5, 4, 5, 3, 1, 1, 2, 3, 2, 3, 2, 3, 2, 1, 1, 0, 2, 3, 2, 3, 2, 1, 0, 0, 3,
    +
    645 1, 1, 4, 1, 2, 4, 2, 3, 2, 2, 3, 1, 1, 2, 2, 2, 4, 5, 3, 3, 3, 2, 2, 0, 1, 1,
    +
    646 -1, 0, 2, 0, 2, 2, 0, 2, 1, 1, 1, 0, 1, 1, 3, 1, 0, 3, 1, 1, 1, 0, -2, -2, 2, 3,
    +
    647 3, 4, 1, 1, 1, 1, 3, 2, -1, -2, 1, 0, -3, -1, -1, 1, 4, 2, 2, 1, -1, -2, -1, 1,
    +
    648 2, 1, 3, 3, 1, 1, 0, 1, 4, 3, 2, 1, 0, 2, 2, 1, 1, 0, 1, 3, 2, 3, 3, 0, 1, 1,
    +
    649 -1, 0, 2, 2, 1, 1, 2, 1, 0, 2, 2, 1, 1, 1, 1, 2, 3, 3, 3, 3, 2, 4, 4, 1, 1, 4,
    +
    650 4, 3, 5, 4, 3, 4, 3, 1, -1, -1, 2, 1, 0, 1, 1, 3, 3, 4, 4, 1, 3, 2, 1, 2, 3, 1,
    +
    651 1, 1, 2, 4, 4, 5, 4, 4, 1, 1, 2, 0, 1, 2, 3, 1, 1, 2, 1, 1, -1, 0, 0, 0, 0, 1,
    +
    652 2, 4, 2, 1, 2, 1, 2, 4, 2, 0, 2, 3, 1, 2, 3, 4, 1, 0, 1, 1, 1, 0, 1, 1, 1, 4, 4,
    +
    653 3, 4, 3, 3, 1, 0, 0, -1, -1, 1, 2, 1, 2, 2, 1, 0, 0, 0, 0, 1, 3, 2, 1, 1, 1, 3,
    +
    654 3, 1, 2, 0, 1, 3, 0, 0, 1, 1, 2, 1, 3, 3, 2, 2, 1, -2, 1, 4, 0, 3, 4, 1, 0, 2,
    +
    655 3, 2, 2, 1, 2, 3, 2, 1, 1, 0, 2, 4, 4, 3, 0, 0, 2, 2, 2, 1, 1, 2, 1, -1, 0, 1,
    +
    656 -1, -3, -1, 1, 2, 1, -1, 0, 1, 0, 0, 0, 1, 3, 2, 0, 1, 0, -3, 0, 2, 1, 1, 2, 1,
    +
    657 2, 1, 1, 1, 1, 1, 2, 3, 3, 2, 0, 0, 2, 2, 2, 1, 2, 1, -1, 0, -2, -4, -1, 1, 0,
    +
    658 1, 1, 0, -1, 0, -1, -3, -2, -2, -1, 0, 1, 0, -1, 1, 1, 1, 2, 2, 1, 3, 4, 2, 1,
    +
    659 2, 2, 3, 1, 2, 2, 0, 1, 2, 1, 0, 2, 2, 1, 3, 2, 2, 1, 0, 0, 2, 3, 2, 3, 3, 1, 3,
    +
    660 3, 3, 2, 3, 2, 3, 4, 2, 1, 2, 3, 3, 2, 3, 2, 3, 2, 1, 3, 1, 0, 2, 3, 3, 3, 4, 3,
    +
    661 4, 3, 0, 0, 1, 2, 2, 3, 3, 2, 3, 4, 1, 1, 3, 3, 2, 1, 2, 3, 1, -1, 1, 1, 0, 1,
    +
    662 1, -1, -1, 2, 1, 1, -1, 0, 3, 2, 1, 2, 2, 2, 1, 2, 2, 3, 2, 2, 1, 1, 2, 2, 3, 3,
    +
    663 2, 3, 2, 2, 1, 2, 1, 0, 2, 4, 2, 0, 0, 1, 2, 4, 3, 2, 1, 1, 2, 4, 5, 3, 4, 3, 3,
    +
    664 3, 4, 5, 3, 2, 4, 5, 3, 2, 2, 3, 3, 4, 3, -1, 0, 3, 2, 2, 2, 1, 2, 4, 4, 3, 1,
    +
    665 1, 2, 3, 2, 3, 2, 1, 3, 3, 1, 1, 3, 2, 4, 4, 2, 1, 0, 2, 3, 2, 2, 3, 2, 3, 2, 1,
    +
    666 2, 0, 0, 1, -1, 0, 1, 3, 3, 1, 0, 1, 0, 0, 1, 1, 2, 3, 2, 2, 2, 1, 1, -1, 0, 1,
    +
    667 0, 1, 2, 2, 2, 1, -2, -1, 3, 0, 0, -1, -5, -2, -1, -2, -1, -1, 0, 1, 0, 0, 0, 1,
    +
    668 0, 0, 0, 1, 2, 2, 1, 0, 1, 1, 2, 3, 3, 3, 2, 0, 0, 2, 3, 2, 0, 1, 1, 3, 3, 2, 1,
    +
    669 0, 1, 2, 2, 4, 3, 0, 1, 4, 2, 2, 4, 3, 3, 3, 3, 4, 4, 4, 3, 1, 3, 4, 2, 3, 3, 3,
    +
    670 3, 3, 3, 3, 1, 1, 3, 2, 2, 4, 4, 2, 1, 3, 3, 2, 3, 4, 3, 3, 5, 3, 2, 3, 4, 4, 4,
    +
    671 3, 2, 3, 3, 2, 0, -1, 1, 1, -1, 0, 2, 1, 1, 2, 1, 0, 1, 2, 0, 0, 2, 2, 2, 2, 1,
    +
    672 0, 2, 3, 1, 0, 1, 1, 2, 1, 2, 1, 2, 3, 2, 1, 2, 0, -1, 2, 1, 0, 1, 1, 4, 6, 4,
    +
    673 2, 2, 1, 1, 2, 1, 1, 3, 2, 3, 2, 1, 2, 3, 3, 1, 2, 3, 3, 3, 2, 2, 4, 4, 2, 2, 2,
    +
    674 3, 3, 1, 2, 2, 3, 3, 2, 3, 3, 2, 1, 2, 0, 0, 2, 1, 0, 0, 1, 1, 1, 2, 1, 3, 4, 1,
    +
    675 1, 0, 1, 3, 3, 2, 3, 2, 1, 2, 1, 2, 3, 2, 2, 1, 2, 4, 3, 1, 1, 2, 2, 3, 3, 3, 1,
    +
    676 1, 1, 2, 2, 3, 1, 0, 2, 2, 1, 1, -1, 1, 2, 0, 0, 1, 1, 2, 2, 1, 0, 1, -1, 0, 3,
    +
    677 1, 1, 2, 2, 2, 1, 1, 1, -1, 0, 3, 1, 2, 2, -1, -3, -1, 2, 1, 2, 3, 1, -1, -2, 0,
    +
    678 0, 0, 1, 0, 1, 2, 1, 0, 1, 0, -1, 0, 1, 2, 2, 1, 0, 1, 0, 0, -1, 0, 0, 0, 0, -1,
    +
    679 0, 1, 1, 2, 3, 1, 0, 2, 2, 1, 1, 0, 1, 2, 1, 2, 2, 3, 4, 1, 0, 3, 2, 1, 3, 3, 2,
    +
    680 3, 3, 2, 2, 3, 2, 1, 2, 2, 3, 4, 3, 2, 3, 2, 3, 2, 3, 2, 1, 3, 2, 3, 2, 2, 4, 3,
    +
    681 3, 4, 4, 6, 5, 2, 1, 2, 1, 2, 3, 4, 6, 5, 4, 4, 3, 0, 1, 0, 2, 4, 4, 2, 2, 2, 1,
    +
    682 2, 2, 1, 2, 4, 4, 1, 0, 1, 1, 3, 3, 0, 0, 1, 2, 2, 1, -2, -2, 1, 1, 0, 0, 0, 1,
    +
    683 1, 2, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 2, 4, 3, 0, 0, 2, 1, -1, 1, 0, 0, 3, 3, 2,
    +
    684 2, 2, 0, 1, 2, 2, 1, 0, 0, 1, 0, 1, 2, 3, 4, 2, 1, 2, 1, 1, 2, 3, 2, 3, 4, 5, 5,
    +
    685 3, 1, 2, 2, 1, 0, 2, 2, 3, 4, 3, 2, 3, 2, 2, 1, 2, 2, 0, 1, 1, 1, 3, 2, 2, 3, 3,
    +
    686 2, 0, 1, 0, 1, 3, 3, 4, 3, 2, 3, 1, 0, 0, -1, 0, 0, -1, 1, 1, 1, 0, -1, 0, -2,
    +
    687 -2, 0, -1, -1, 1, 1, 1, 0, -1, -1, 1, 2, 1, 0, 0, 0, -1, 1, 1, 2, 2, 2, 3, 1, 0,
    +
    688 1, 0, -1, 0, 1, 1, -1, 0, 1, 1, 3, 3, 1, 0, 1, 0, 0, 1, 2, 3, 2, 4, 4, 1, 3, 4,
    +
    689 2, 3, 5, 5, 3, 2, 3, 3, 4, 3, 3, 3, 3, 4, 4, 2, 2, 3, 3, 2, 2, 4, 4, 1, 2, 3, 4,
    +
    690 3, 2, 3, 2, 3, 4, 6, 4, 2, 4, 5, 5, 3, 2, 5, 4, 4, 5, 4, 3, 2, 3, 3, 1, 1, 3, 1,
    +
    691 1, 1, 2, 3, 3, 1, 1, 2, 2, 2, 1, 0, 1, 2, 2, 1, 2, 1, 2, 2, 1, 2, 0, 1, 3, 2, 2,
    +
    692 1, 0, 2, 3, 1, -2, -3, -2, 0, 1, -1, 1, 2, 1, 3, 2, 0, 2, 1, 0, 0, 0, 1, 0, 1,
    +
    693 2, 1, 1, 2, 1, 3, 4, 2, 3, 1, 1, 2, 1, 1, -1, -1, 1, 1, 0, 1, 3, 2, 1, 2, 1, 1,
    +
    694 3, 5, 4, 2, 0, 1, 2, 3, 4, 4, 3, 5, 4, 4, 5, 5, 4, 3, 2, 1, 2, 2, 1, 2, 3, 2, 2,
    +
    695 3, 2, 3, 2, 1, 3, 0, 0, 2, 2, 2, 3, 3, 1, 2, 3, 3, 3, 2, 1, 0, 1, 2, 1, 0, 1, 1,
    +
    696 2, 3, 2, -1, -2, -1, 0, 1, 2, 1, 1, 0, 1, 0, 0, -1, -2, 0, -1, -2, 0, 2, 1, 0,
    +
    697 1, 0, 1, 2, 1, 0, 1, 2, 2, 2, 1, 1, 3, 3, 2, 1, 1, 0, -1, 0, 3, 3, 3, 4, 3, 3,
    +
    698 2, 1, 2, 3, 2, 1, 2, 3, 4, 4, 5, 4, 2, 1, 3, 4, 3, 2, 3, 3, 2, 3, 2, 2, 3, 2, 1,
    +
    699 1, 2, 2, 1, 0, 1, 1, 2, 1, 1, 3, 3, 2, 2, 1, 1, 2, 2, 1, 1, 3, 4, 3, 2, 3, 3, 2,
    +
    700 3, 2, 3, 3, 1, 1, 0, 1, 2, 1, 1, 1, 2, 3, 3, 2, 3, 3, 3, 2, 1, 2, 1, 2, 3, 3, 1,
    +
    701 1, 3, 1, 0, 1, 1, 0, 1, 2, 1, -1, 0, 0, -1, -1, -1, 1, 1, 2, 1, 2, 3, 1, 1, 3,
    +
    702 1, -2, -2, 2, 3, 2, 2, 1, 2, 2, 2, 1, 2, 2, 1, 0, 1, 2, 1, 2, 2, 1, 2, 2, 0, 0,
    +
    703 -1, -1, 1, 1, 0, 0, 3, 3, 0, 0, 0, 1, 2, 2, 0, 1, 3, 2, 3, 2, 1, 1, 2, 2, 2, 1,
    +
    704 1, 1, 2, 4, 5, 3, 2, 1, 0, 2, 4, 5, 4, 3, 3, 4, 2, 2, 1, 2, 3, 2, 2, 3, 3, 1, 1,
    +
    705 2, 2, 3, 3, 2, 1, 2, 1, 0, -1, 0, 1, 2, 2, -1, 0, 1, 1, 0, 1, 2, 2, 2, 2, 1, 2,
    +
    706 2, 1, 3, 3, 2, 2, 1, 1, 0, 1, 3, 3, 2, 2, 4, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1,
    +
    707 2, 2, 3, 3, 2, 1, 1, 2, 1, 2, 1, 1, 1, 2, 3, 3, 2, 1, 0, 1, 0, 0, 1, 1, 1, 2, 2,
    +
    708 0, 1, 2, 1, 1, 2, 3, 1, 1, 2, 1, 0, 1, 2, 2, 3, 2, 1, 2, 3, 2, 2, 2, 1, 1, 2, 1,
    +
    709 1, 1, 2, 1, 1, 2, 1, 2, 3, 1, 0, 1, 0, 0, 1, 2, 0, 1, 4, 3, 2, 2, 2, 2, 2, 3, 2,
    +
    710 4, 2, 1, 2, 1, 0, 1, 3, 2, 3, 2, 3, 2, 1, 2, 3, 2, 1, 2, 1, 1, 2, 1, 2, 2, 3, 2,
    +
    711 3, 3, 2, 1, 0, 1, 3, 2, 1, 3, 2, 3, 2, 1, 2, 2, 5, 4, 3, 3, 2, 1, 2, 0, 0, 1, 1,
    +
    712 0, -1, 0, 2, 1, 0, 0, 0, 1, 0, 1, 2, 3, 2, 1, 2, 1, 0, 3, 2, 1, 2, 2, 1, 2, 2,
    +
    713 3, 2, 2, 4, 3, 2, 2, 1, 0, 0, 2, 1, 1, 2, 2, 3, 4, 2, 1, 2, 2, 1, 2, 1, 3, 3, 2,
    +
    714 1, 2, 1, 2, 3, 3, 2, 3, 2, 2, 1, 2, 4, 3, 3, 3, 2, 2, 0, 0, 2, 2, 1, 1, 1, 0, 0,
    +
    715 2, 3, 2, 0, 0, 0, 0, 1, 1, 0, 1, 2, 3, 2, 2, 2, 1, 1, 1, 2, 2, 1, 2, 2, 2, 1, 1,
    +
    716 2, 1, 1, 2, 2, 2, 2, 0, -1, -1, 1, 2, 2, 1, 0, 2, 2, 1, 2, 0, 1, 1, 2, 3, 3, 4,
    +
    717 4, 1, 2, 3, 2, 1, 2, 3, 3, 2, 3, 1, 3, 4, 1, 1, 4, 4, 2, 1, 3, 3, 2, 3, 2, 3, 5,
    +
    718 6, 4, 2, 3, 5, 4, 3, 2, 1, 3, 2, };
    +
    719 
    +
    720  #endif /* ABOMB_H_ */
    +
    + + + diff --git a/doc/html/annotated.html b/doc/html/annotated.html index 776105031..4535db964 100644 --- a/doc/html/annotated.html +++ b/doc/html/annotated.html @@ -3,46 +3,44 @@ + Mozzi: Class List - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • +
    + +
    +
    + +
    @@ -96,35 +109,39 @@
    Class List
  • -
    Here are the classes, structs, unions and interfaces with brief descriptions:
    - - - - - - - - - - - - - - - - - - - +
    Here are the classes, structs, unions and interfaces with brief descriptions:
    +
    ADSR< CONTROL_UPDATE_RATE >A simple ADSR envelope generator
    AudioDelay< NUM_BUFFER_SAMPLES, T >Audio delay line for comb filter, flange, chorus and short echo effects
    AudioDelayFeedback< NUM_BUFFER_SAMPLES, INTERP_TYPE >Audio delay line with feedback for comb filter, flange, chorus and short echo effects
    DCfilterA DC-blocking filter useful for highlighting changes in control signals
    EadExponential attack decay envelope
    EventDelay< UPDATE_RATE >A non-blocking replacement for Arduino's delay() function (which is disabled by Mozzi)
    Line< T >For linear changes with a minimum of calculation at each step
    LowPassFilterA resonant low pass filter for audio signals
    Oscil< NUM_TABLE_CELLS, UPDATE_RATE >Oscil plays a wavetable, cycling through the table to generate an audio or control signal
    Phasor< UPDATE_RATE >Phasor repeatedly generates a high resolution ramp at a variable frequency
    Portamento< CONTROL_UPDATE_RATE >A simple portamento (pitch slide from one note to the next) effect, useful for note-based applications
    RCpoll< SENSOR_PIN >A class for reading voltage on a digital pin, derived from http://arduino.cc/en/Tutorial/RCtime
    RecentAverage< T, NUM_READINGS >Calculates a running average over a specified number of the most recent readings
    ReverbTankA reverb which sounds like the inside of a tin can
    Sample< NUM_TABLE_CELLS, UPDATE_RATE >Sample is like Oscil, it plays a wavetable
    Smooth< T >A simple infinite impulse response low pass filter for smoothing control signals
    StateVariable< FILTER_TYPE >A State Variable filter which offers 12db resonant low, high, bandpass and notch modes
    WavePacket< ALGORITHM >Wavepacket synthesis, with two overlapping streams of wave packets
    WaveShaper< T >WaveShaper maps values from its input to values in a table, which are returned as output
    + + + + + + + + + + + + + + + + + + + +
    oCADSRA simple ADSR envelope generator
    oCAudioDelayAudio delay line for comb filter, flange, chorus and short echo effects
    oCAutoRangeKeeps a running calculation of the range of the input values it receives
    oCControlDelayControl-rate delay line for delaying control signals
    oCDCfilterA DC-blocking filter useful for highlighting changes in control signals
    oCEadExponential attack decay envelope
    oCEventDelayA non-blocking replacement for Arduino's delay() function (which is disabled by Mozzi)
    oCLineFor linear changes with a minimum of calculation at each step
    oCLowPassFilterA resonant low pass filter for audio signals
    oCOscilOscil plays a wavetable, cycling through the table to generate an audio or control signal
    oCPhasorPhasor repeatedly generates a high resolution ramp at a variable frequency
    oCPortamentoA simple portamento (pitch slide from one note to the next) effect, useful for note-based applications
    oCRCpollA class for reading voltage on a digital pin, derived from http://arduino.cc/en/Tutorial/RCtime
    oCRecentAverageCalculates a running average over a specified number of the most recent readings
    oCReverbTankA reverb which sounds like the inside of a tin can
    oCSampleSample is like Oscil, it plays a wavetable
    oCSmoothA simple infinite impulse response low pass filter for smoothing control signals
    oCStateVariableA State Variable filter which offers 12db resonant low, high, bandpass and notch modes
    oCWavePacketWavepacket synthesis, with two overlapping streams of wave packets
    \CWaveShaperWaveShaper maps values from its input to values in a table, which are returned as output
    +
    - - - - + + + diff --git a/doc/html/annotated.js b/doc/html/annotated.js new file mode 100644 index 000000000..75c1e160c --- /dev/null +++ b/doc/html/annotated.js @@ -0,0 +1,23 @@ +var annotated = +[ + [ "ADSR", "class_a_d_s_r.html", "class_a_d_s_r" ], + [ "AudioDelay", "class_audio_delay.html", "class_audio_delay" ], + [ "AutoRange", "class_auto_range.html", "class_auto_range" ], + [ "ControlDelay", "class_control_delay.html", null ], + [ "DCfilter", "class_d_cfilter.html", "class_d_cfilter" ], + [ "Ead", "class_ead.html", "class_ead" ], + [ "EventDelay", "class_event_delay.html", "class_event_delay" ], + [ "Line", "class_line.html", "class_line" ], + [ "LowPassFilter", "class_low_pass_filter.html", "class_low_pass_filter" ], + [ "Oscil", "class_oscil.html", "class_oscil" ], + [ "Phasor", "class_phasor.html", "class_phasor" ], + [ "Portamento", "class_portamento.html", "class_portamento" ], + [ "RCpoll", "class_r_cpoll.html", "class_r_cpoll" ], + [ "RecentAverage", "class_recent_average.html", "class_recent_average" ], + [ "ReverbTank", "class_reverb_tank.html", "class_reverb_tank" ], + [ "Sample", "class_sample.html", "class_sample" ], + [ "Smooth", "class_smooth.html", "class_smooth" ], + [ "StateVariable", "class_state_variable.html", "class_state_variable" ], + [ "WavePacket", "class_wave_packet.html", "class_wave_packet" ], + [ "WaveShaper", "class_wave_shaper.html", null ] +]; \ No newline at end of file diff --git a/doc/html/bamboo__00__2048__int8_8h_source.html b/doc/html/bamboo__00__2048__int8_8h_source.html index b37562729..8b99a7598 100644 --- a/doc/html/bamboo__00__2048__int8_8h_source.html +++ b/doc/html/bamboo__00__2048__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: samples/bamboo/bamboo_00_2048_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,127 +99,129 @@
    -
    samples/bamboo/bamboo_00_2048_int8.h
    +
    bamboo_00_2048_int8.h
    -
    00001 #ifndef BAMBOO_00_2048_H_
    -00002 #define BAMBOO_00_2048_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 #define BAMBOO_00_2048_NUM_CELLS 2048
    -00012 #define BAMBOO_00_2048_SAMPLERATE 16384
    -00013 
    -00014 const char __attribute__((progmem)) BAMBOO_00_2048_DATA []  = {-1, -1, -1, 0, -1, -1, 1, -1, 0, 0,
    -00015 -2, 1, 0, -1, 2, -3, -21, -66, -99, -56, 36, 60, 0, -31, 7, 71, 95, 89, 63, -2,
    -00016 -44, -73, -89, -29, 59, 91, 60, -13, -86, -126, -102, -32, 65, 123, 68, -19,
    -00017 -53, -62, -58, -21, 31, 73, 72, 6, -58, -65, -38, -9, 36, 69, 63, 22, -47, -78,
    -00018 -40, 6, 36, 54, 55, 27, -22, -51, -15, 21, 20, 12, 10, 19, 12, -32, -49, -28, 0,
    -00019 11, 17, 17, 12, -17, -46, -41, -9, 8, 8, 2, 14, 9, -25, -37, -19, 2, 14, 20, 25,
    -00020 28, 3, -31, -39, -13, 18, 34, 34, 24, 4, -25, -32, -14, 21, 37, 27, 11, -3, -30,
    -00021 -48, -31, 7, 29, 28, 5, -14, -33, -41, -29, 5, 30, 28, 0, -28, -33, -22, -10, 2,
    -00022 20, 20, 2, -13, -10, 1, 5, 7, 12, 14, 10, 0, -1, 8, 11, 4, -1, 3, 12, 12, 4, 0,
    -00023 -2, -4, -11, -9, 1, 8, 4, 0, -8, -18, -24, -20, 0, 13, 10, -11, -28, -27, -16,
    -00024 -4, 8, 18, 14, 0, -15, -14, -5, 6, 14, 18, 16, 1, -14, -12, -1, 13, 19, 21, 16,
    -00025 3, -3, -6, 0, 7, 8, 2, -7, -9, -11, -10, -6, -1, -4, -8, -12, -14, -9, -9, -7,
    -00026 -4, -4, -7, -7, -5, 0, -1, -6, -8, -4, 3, 6, 6, 7, 6, 1, 2, 5, 10, 11, 14, 14,
    -00027 9, 3, -2, 0, 5, 9, 6, -2, -6, -9, -11, -9, -2, 0, 0, -2, -11, -14, -15, -12, -7,
    -00028 0, 0, -7, -14, -17, -10, -2, 5, 8, 8, 1, -3, -2, 1, 7, 10, 14, 12, 6, 2, -1, 1,
    -00029 9, 13, 14, 9, 5, 1, 0, -2, -5, -4, -5, -2, -1, 0, -5, -12, -13, -14, -11, -6,
    -00030 -2, -3, -3, -11, -19, -18, -13, -1, 8, 10, 3, 0, -7, -5, 1, 8, 11, 15, 13, 5,
    -00031 -4, -5, -1, 9, 16, 16, 12, 2, -5, -9, -4, 2, 5, 5, -1, -8, -13, -14, -13, -8, 1,
    -00032 0, -5, -9, -10, -17, -15, -11, -3, -1, 2, -2, -6, -5, -7, -1, 6, 10, 8, 9, 5, 2,
    -00033 0, 1, 3, 9, 13, 11, 11, 6, -1, -2, 0, 6, 7, 6, 0, -6, -11, -11, -10, -5, -4, -5,
    -00034 -5, -8, -9, -12, -14, -10, -4, -2, -3, -5, -8, -5, -6, -3, 0, 6, 6, 7, 4, 4, 3,
    -00035 5, 8, 9, 10, 9, 8, 8, 4, 4, -1, 0, 4, 7, 2, -2, -3, -9, -7, -8, -5, -5, -2, -5,
    -00036 -8, -11, -12, -14, -12, -6, -2, 0, -5, -8, -11, -8, -5, 2, 7, 9, 5, 2, -2, 0, 0,
    -00037 5, 7, 12, 13, 8, 3, 0, 0, 7, 11, 12, 10, 3, -4, -11, -7, -5, -3, -1, 0, -2, -10,
    -00038 -15, -16, -10, -7, -3, -1, -5, -9, -13, -15, -12, -6, 2, 4, 6, 5, 2, -1, 0, 4,
    -00039 7, 12, 11, 9, 6, 0, -1, 0, 6, 10, 11, 10, 3, -3, -7, -5, -2, 2, 1, -1, -2, -8,
    -00040 -15, -13, -9, -5, -1, -1, -7, -10, -15, -16, -12, 0, 3, 0, -1, -5, -5, -5, 0, 6,
    -00041 11, 13, 8, 5, 1, -2, 0, 5, 10, 13, 11, 5, 1, -1, -1, 1, 4, 5, 1, -2, -7, -10,
    -00042 -8, -7, -6, -5, -4, -7, -9, -11, -13, -11, -7, -1, -1, -2, -7, -8, -6, -2, 0, 5,
    -00043 8, 7, 5, 3, 1, 4, 3, 6, 8, 10, 7, 4, 3, 0, 5, 4, 5, 5, 2, -1, -6, -6, -6, -5,
    -00044 -4, -5, -6, -7, -8, -11, -9, -6, -5, -7, -5, -8, -9, -9, -6, -4, 1, 0, 2, 0, 2,
    -00045 2, 4, 6, 7, 7, 8, 6, 6, 5, 3, 5, 6, 7, 6, 3, 2, -2, -2, -2, -1, -1, -3, -3, -6,
    -00046 -7, -9, -8, -7, -7, -6, -7, -5, -9, -8, -7, -5, -5, -4, -1, -2, -2, 0, 1, 4, 3,
    -00047 5, 4, 4, 5, 4, 4, 3, 6, 6, 7, 5, 5, 3, 2, 0, 0, -1, -1, -1, -3, -4, -6, -7, -7,
    -00048 -6, -5, -4, -5, -8, -9, -10, -8, -7, -5, -4, -1, -3, -3, -2, 0, 2, 4, 6, 7, 4,
    -00049 2, 2, 3, 6, 7, 7, 7, 5, 4, 2, 1, 3, 4, 6, 2, 0, -2, -4, -5, -6, -5, -6, -5, -6,
    -00050 -5, -8, -9, -8, -8, -5, -4, -5, -4, -5, -5, -5, -3, -1, 2, 3, 4, 4, 1, 0, 2, 5,
    -00051 8, 7, 7, 6, 4, 2, 1, 3, 4, 5, 4, 2, 0, -4, -4, -4, -4, -1, -4, -4, -7, -7, -9,
    -00052 -8, -7, -4, -4, -4, -5, -9, -7, -6, -3, -2, 0, -1, 0, -1, 1, 2, 3, 3, 6, 5, 6,
    -00053 5, 2, 4, 4, 4, 4, 5, 3, 1, 2, 1, -2, -2, -3, -1, -1, -5, -6, -6, -8, -6, -6, -4,
    -00054 -4, -6, -6, -8, -7, -6, -4, -3, -1, -1, -1, 0, -2, 1, 2, 2, 5, 4, 6, 4, 3, 3, 3,
    -00055 5, 4, 5, 4, 3, 1, 1, 0, 0, -2, 0, -2, -2, -4, -5, -8, -6, -6, -4, -5, -4, -6,
    -00056 -6, -7, -6, -4, -5, -3, -1, 0, -2, -2, -3, 0, 0, 3, 5, 5, 4, 3, 1, 3, 2, 4, 6,
    -00057 5, 3, 1, 2, 1, 3, 1, 1, -2, -1, -4, -4, -5, -5, -6, -4, -4, -5, -6, -8, -7, -5,
    -00058 -4, -3, -4, -3, -5, -4, -4, -1, 0, -1, 2, 2, 3, 2, 3, 3, 2, 4, 3, 5, 6, 4, 3, 2,
    -00059 3, 2, 3, 2, 2, -1, -1, -4, -4, -4, -3, -3, -3, -4, -3, -6, -6, -7, -5, -4, -3,
    -00060 -3, -4, -3, -5, -4, -3, -1, -1, 1, 2, 1, 2, 1, 2, 3, 5, 4, 4, 2, 3, 3, 2, 2, 2,
    -00061 1, 2, -1, -1, -1, -1, -2, -1, -2, -3, -4, -4, -6, -6, -6, -3, -4, -4, -5, -4,
    -00062 -5, -5, -3, -4, -2, -1, -1, 0, 0, 2, 0, 2, 3, 3, 2, 3, 3, 3, 3, 3, 1, 1, 2, 2,
    -00063 1, 0, 0, -1, -1, -2, -2, -3, -3, -3, -4, -5, -5, -4, -5, -4, -4, -3, -3, -4, -3,
    -00064 -3, -2, -2, -2, -1, 0, 0, 1, 0, 1, 1, 1, 2, 2, 2, 3, 2, 2, 1, 2, 1, 1, 1, 1, 0,
    -00065 -1, -1, -1, 0, -2, -3, -3, -4, -4, -4, -5, -4, -3, -3, -3, -4, -4, -4, -3, -2,
    -00066 -1, -1, -1, -1, 0, -1, 1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 2, 3, 1, 1, 1, 0, 0, 1, 0,
    -00067 -1, -1, -1, -2, -3, -3, -3, -4, -4, -4, -4, -4, -3, -4, -3, -3, -3, -3, -3, -2,
    -00068 -2, 0, 0, -1, 0, 0, 1, 1, 2, 2, 2, 1, 1, 2, 2, 3, 1, 1, 1, 0, 0, 0, 0, -1, 0, 0,
    -00069 -3, -3, -4, -3, -3, -3, -3, -4, -4, -4, -4, -4, -3, -3, -2, -3, -2, -1, -2, 0,
    -00070 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, -1, -1, -1, -1,
    -00071 -2, -3, -3, -3, -3, -4, -3, -4, -3, -3, -3, -3, -3, -3, -2, -2, -1, -1, -1, 0,
    -00072 -1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, -1, -1, -2, -2, -2,
    -00073 -3, -2, -3, -3, -4, -3, -3, -3, -3, -3, -3, -2, -2, -2, -2, 0, -1, -1, 0, -1, 0,
    -00074 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, -1, 0, -1, -1, -2, -2, -2, -2,
    -00075 -3, -3, -3, -3, -3, -2, -3, -3, -2, -2, -2, -1, -2, -1, -1, -1, 0, 0, 0, 0, 0,
    -00076 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, -1, 0, -1, -1, -1, -1, -2, -2, -2, -2,
    -00077 -2, -2, -3, -2, -2, -3, -3, -2, -2, -2, -2, -1, -2, 0, -1, 0, -1, 0, -1, 0, 0,
    -00078 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -2, -2, -2, -2,
    -00079 -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -1, -1, -1, -1, 0, 0, -1, 0, 0, 0, 1, 0,
    -00080 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, 0, 0, -1, -2, -2, -2, -2, -2, -2, -2, -2,
    -00081 -2, -2, -2, -2, -2, -2, -2, -1, -2, -1, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 1, 0,
    -00082 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -2, -2, -2, -2, -2, -2,
    -00083 -2, -2, -2, -2, -2, -2, -2, -1, -2, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 1, 0, 0,
    -00084 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -2, -2, -2, -2, -2,
    -00085 -2, -2, -1, -2, -1, -2, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00086 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00087 -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0,
    -00088 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00089 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00090 -1, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00091 -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0,
    -00092 -1, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00093 -1, -1, -1, -1, -1, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0,
    -00094 0, -1, 0, -1, 0, 0, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00095 -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, -1, 0, 0,
    -00096 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00097 0, -1, -1, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, 0, 0, 0, -1, 0, 0, -1, 0, -1,
    -00098 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00099 -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, 0, -1, 0,
    -00100 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00101 -1, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0,
    -00102 -1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00103 -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, 0, -1,
    -00104 0, -1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0,
    -00105 -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, 0,
    -00106 -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00107 -1, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, -1, 0,
    -00108 -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, 0, -1, -1, 0, -1, };
    -00109 
    -00110  #endif /* BAMBOO_00_2048_H_ */
    -
    - - - - +
    1 #ifndef BAMBOO_00_2048_H_
    +
    2 #define BAMBOO_00_2048_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 #define BAMBOO_00_2048_NUM_CELLS 2048
    +
    12 #define BAMBOO_00_2048_SAMPLERATE 16384
    +
    13 
    +
    14 const char __attribute__((progmem)) BAMBOO_00_2048_DATA [] = {-1, -1, -1, 0, -1, -1, 1, -1, 0, 0,
    +
    15 -2, 1, 0, -1, 2, -3, -21, -66, -99, -56, 36, 60, 0, -31, 7, 71, 95, 89, 63, -2,
    +
    16 -44, -73, -89, -29, 59, 91, 60, -13, -86, -126, -102, -32, 65, 123, 68, -19,
    +
    17 -53, -62, -58, -21, 31, 73, 72, 6, -58, -65, -38, -9, 36, 69, 63, 22, -47, -78,
    +
    18 -40, 6, 36, 54, 55, 27, -22, -51, -15, 21, 20, 12, 10, 19, 12, -32, -49, -28, 0,
    +
    19 11, 17, 17, 12, -17, -46, -41, -9, 8, 8, 2, 14, 9, -25, -37, -19, 2, 14, 20, 25,
    +
    20 28, 3, -31, -39, -13, 18, 34, 34, 24, 4, -25, -32, -14, 21, 37, 27, 11, -3, -30,
    +
    21 -48, -31, 7, 29, 28, 5, -14, -33, -41, -29, 5, 30, 28, 0, -28, -33, -22, -10, 2,
    +
    22 20, 20, 2, -13, -10, 1, 5, 7, 12, 14, 10, 0, -1, 8, 11, 4, -1, 3, 12, 12, 4, 0,
    +
    23 -2, -4, -11, -9, 1, 8, 4, 0, -8, -18, -24, -20, 0, 13, 10, -11, -28, -27, -16,
    +
    24 -4, 8, 18, 14, 0, -15, -14, -5, 6, 14, 18, 16, 1, -14, -12, -1, 13, 19, 21, 16,
    +
    25 3, -3, -6, 0, 7, 8, 2, -7, -9, -11, -10, -6, -1, -4, -8, -12, -14, -9, -9, -7,
    +
    26 -4, -4, -7, -7, -5, 0, -1, -6, -8, -4, 3, 6, 6, 7, 6, 1, 2, 5, 10, 11, 14, 14,
    +
    27 9, 3, -2, 0, 5, 9, 6, -2, -6, -9, -11, -9, -2, 0, 0, -2, -11, -14, -15, -12, -7,
    +
    28 0, 0, -7, -14, -17, -10, -2, 5, 8, 8, 1, -3, -2, 1, 7, 10, 14, 12, 6, 2, -1, 1,
    +
    29 9, 13, 14, 9, 5, 1, 0, -2, -5, -4, -5, -2, -1, 0, -5, -12, -13, -14, -11, -6,
    +
    30 -2, -3, -3, -11, -19, -18, -13, -1, 8, 10, 3, 0, -7, -5, 1, 8, 11, 15, 13, 5,
    +
    31 -4, -5, -1, 9, 16, 16, 12, 2, -5, -9, -4, 2, 5, 5, -1, -8, -13, -14, -13, -8, 1,
    +
    32 0, -5, -9, -10, -17, -15, -11, -3, -1, 2, -2, -6, -5, -7, -1, 6, 10, 8, 9, 5, 2,
    +
    33 0, 1, 3, 9, 13, 11, 11, 6, -1, -2, 0, 6, 7, 6, 0, -6, -11, -11, -10, -5, -4, -5,
    +
    34 -5, -8, -9, -12, -14, -10, -4, -2, -3, -5, -8, -5, -6, -3, 0, 6, 6, 7, 4, 4, 3,
    +
    35 5, 8, 9, 10, 9, 8, 8, 4, 4, -1, 0, 4, 7, 2, -2, -3, -9, -7, -8, -5, -5, -2, -5,
    +
    36 -8, -11, -12, -14, -12, -6, -2, 0, -5, -8, -11, -8, -5, 2, 7, 9, 5, 2, -2, 0, 0,
    +
    37 5, 7, 12, 13, 8, 3, 0, 0, 7, 11, 12, 10, 3, -4, -11, -7, -5, -3, -1, 0, -2, -10,
    +
    38 -15, -16, -10, -7, -3, -1, -5, -9, -13, -15, -12, -6, 2, 4, 6, 5, 2, -1, 0, 4,
    +
    39 7, 12, 11, 9, 6, 0, -1, 0, 6, 10, 11, 10, 3, -3, -7, -5, -2, 2, 1, -1, -2, -8,
    +
    40 -15, -13, -9, -5, -1, -1, -7, -10, -15, -16, -12, 0, 3, 0, -1, -5, -5, -5, 0, 6,
    +
    41 11, 13, 8, 5, 1, -2, 0, 5, 10, 13, 11, 5, 1, -1, -1, 1, 4, 5, 1, -2, -7, -10,
    +
    42 -8, -7, -6, -5, -4, -7, -9, -11, -13, -11, -7, -1, -1, -2, -7, -8, -6, -2, 0, 5,
    +
    43 8, 7, 5, 3, 1, 4, 3, 6, 8, 10, 7, 4, 3, 0, 5, 4, 5, 5, 2, -1, -6, -6, -6, -5,
    +
    44 -4, -5, -6, -7, -8, -11, -9, -6, -5, -7, -5, -8, -9, -9, -6, -4, 1, 0, 2, 0, 2,
    +
    45 2, 4, 6, 7, 7, 8, 6, 6, 5, 3, 5, 6, 7, 6, 3, 2, -2, -2, -2, -1, -1, -3, -3, -6,
    +
    46 -7, -9, -8, -7, -7, -6, -7, -5, -9, -8, -7, -5, -5, -4, -1, -2, -2, 0, 1, 4, 3,
    +
    47 5, 4, 4, 5, 4, 4, 3, 6, 6, 7, 5, 5, 3, 2, 0, 0, -1, -1, -1, -3, -4, -6, -7, -7,
    +
    48 -6, -5, -4, -5, -8, -9, -10, -8, -7, -5, -4, -1, -3, -3, -2, 0, 2, 4, 6, 7, 4,
    +
    49 2, 2, 3, 6, 7, 7, 7, 5, 4, 2, 1, 3, 4, 6, 2, 0, -2, -4, -5, -6, -5, -6, -5, -6,
    +
    50 -5, -8, -9, -8, -8, -5, -4, -5, -4, -5, -5, -5, -3, -1, 2, 3, 4, 4, 1, 0, 2, 5,
    +
    51 8, 7, 7, 6, 4, 2, 1, 3, 4, 5, 4, 2, 0, -4, -4, -4, -4, -1, -4, -4, -7, -7, -9,
    +
    52 -8, -7, -4, -4, -4, -5, -9, -7, -6, -3, -2, 0, -1, 0, -1, 1, 2, 3, 3, 6, 5, 6,
    +
    53 5, 2, 4, 4, 4, 4, 5, 3, 1, 2, 1, -2, -2, -3, -1, -1, -5, -6, -6, -8, -6, -6, -4,
    +
    54 -4, -6, -6, -8, -7, -6, -4, -3, -1, -1, -1, 0, -2, 1, 2, 2, 5, 4, 6, 4, 3, 3, 3,
    +
    55 5, 4, 5, 4, 3, 1, 1, 0, 0, -2, 0, -2, -2, -4, -5, -8, -6, -6, -4, -5, -4, -6,
    +
    56 -6, -7, -6, -4, -5, -3, -1, 0, -2, -2, -3, 0, 0, 3, 5, 5, 4, 3, 1, 3, 2, 4, 6,
    +
    57 5, 3, 1, 2, 1, 3, 1, 1, -2, -1, -4, -4, -5, -5, -6, -4, -4, -5, -6, -8, -7, -5,
    +
    58 -4, -3, -4, -3, -5, -4, -4, -1, 0, -1, 2, 2, 3, 2, 3, 3, 2, 4, 3, 5, 6, 4, 3, 2,
    +
    59 3, 2, 3, 2, 2, -1, -1, -4, -4, -4, -3, -3, -3, -4, -3, -6, -6, -7, -5, -4, -3,
    +
    60 -3, -4, -3, -5, -4, -3, -1, -1, 1, 2, 1, 2, 1, 2, 3, 5, 4, 4, 2, 3, 3, 2, 2, 2,
    +
    61 1, 2, -1, -1, -1, -1, -2, -1, -2, -3, -4, -4, -6, -6, -6, -3, -4, -4, -5, -4,
    +
    62 -5, -5, -3, -4, -2, -1, -1, 0, 0, 2, 0, 2, 3, 3, 2, 3, 3, 3, 3, 3, 1, 1, 2, 2,
    +
    63 1, 0, 0, -1, -1, -2, -2, -3, -3, -3, -4, -5, -5, -4, -5, -4, -4, -3, -3, -4, -3,
    +
    64 -3, -2, -2, -2, -1, 0, 0, 1, 0, 1, 1, 1, 2, 2, 2, 3, 2, 2, 1, 2, 1, 1, 1, 1, 0,
    +
    65 -1, -1, -1, 0, -2, -3, -3, -4, -4, -4, -5, -4, -3, -3, -3, -4, -4, -4, -3, -2,
    +
    66 -1, -1, -1, -1, 0, -1, 1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 2, 3, 1, 1, 1, 0, 0, 1, 0,
    +
    67 -1, -1, -1, -2, -3, -3, -3, -4, -4, -4, -4, -4, -3, -4, -3, -3, -3, -3, -3, -2,
    +
    68 -2, 0, 0, -1, 0, 0, 1, 1, 2, 2, 2, 1, 1, 2, 2, 3, 1, 1, 1, 0, 0, 0, 0, -1, 0, 0,
    +
    69 -3, -3, -4, -3, -3, -3, -3, -4, -4, -4, -4, -4, -3, -3, -2, -3, -2, -1, -2, 0,
    +
    70 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, -1, -1, -1, -1,
    +
    71 -2, -3, -3, -3, -3, -4, -3, -4, -3, -3, -3, -3, -3, -3, -2, -2, -1, -1, -1, 0,
    +
    72 -1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 0, 0, 0, 0, 0, 0, -1, -1, -2, -2, -2,
    +
    73 -3, -2, -3, -3, -4, -3, -3, -3, -3, -3, -3, -2, -2, -2, -2, 0, -1, -1, 0, -1, 0,
    +
    74 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, -1, 0, -1, -1, -2, -2, -2, -2,
    +
    75 -3, -3, -3, -3, -3, -2, -3, -3, -2, -2, -2, -1, -2, -1, -1, -1, 0, 0, 0, 0, 0,
    +
    76 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, -1, 0, -1, -1, -1, -1, -2, -2, -2, -2,
    +
    77 -2, -2, -3, -2, -2, -3, -3, -2, -2, -2, -2, -1, -2, 0, -1, 0, -1, 0, -1, 0, 0,
    +
    78 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -2, -2, -2, -2,
    +
    79 -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -1, -1, -1, -1, 0, 0, -1, 0, 0, 0, 1, 0,
    +
    80 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, 0, 0, -1, -2, -2, -2, -2, -2, -2, -2, -2,
    +
    81 -2, -2, -2, -2, -2, -2, -2, -1, -2, -1, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 1, 0,
    +
    82 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -2, -2, -2, -2, -2, -2,
    +
    83 -2, -2, -2, -2, -2, -2, -2, -1, -2, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 1, 0, 0,
    +
    84 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -2, -2, -2, -2, -2,
    +
    85 -2, -2, -1, -2, -1, -2, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    86 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    87 -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    88 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    89 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    90 -1, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    91 -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0,
    +
    92 -1, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    93 -1, -1, -1, -1, -1, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0,
    +
    94 0, -1, 0, -1, 0, 0, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    95 -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, -1, 0, 0,
    +
    96 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    97 0, -1, -1, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, 0, 0, 0, -1, 0, 0, -1, 0, -1,
    +
    98 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    99 -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, 0, -1, 0,
    +
    100 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    101 -1, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0,
    +
    102 -1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    103 -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, 0, -1,
    +
    104 0, -1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0,
    +
    105 -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, 0,
    +
    106 -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    107 -1, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, -1, 0,
    +
    108 -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, 0, -1, -1, 0, -1, };
    +
    109 
    +
    110  #endif /* BAMBOO_00_2048_H_ */
    +
    + + + diff --git a/doc/html/bamboo__00__4096__int8_8h_source.html b/doc/html/bamboo__00__4096__int8_8h_source.html index e363d2e3a..98aa6aee4 100644 --- a/doc/html/bamboo__00__4096__int8_8h_source.html +++ b/doc/html/bamboo__00__4096__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: samples/bamboo/bamboo_00_4096_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,216 +99,218 @@
    -
    samples/bamboo/bamboo_00_4096_int8.h
    +
    bamboo_00_4096_int8.h
    -
    00001 #ifndef BAMBOO_00_4096_H_
    -00002 #define BAMBOO_00_4096_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 #define BAMBOO_00_4096_NUM_CELLS 4096
    -00012 #define BAMBOO_00_4096_SAMPLERATE 16384
    -00013 
    -00014 const char __attribute__((progmem)) BAMBOO_00_4096_DATA []  = {-1, 0, -1, 0, -1, 0, 1, 0, 0, 0, -1,
    -00015                 1, 0, 0, 2, -2, -21, -66, -98, -56, 37, 60, 1, -31, 7, 72, 95, 90, 63, -1, -44,
    -00016                 -72, -89, -28, 59, 92, 60, -12, -86, -125, -102, -32, 66, 123, 69, -19, -53,
    -00017                 -61, -58, -20, 31, 74, 72, 6, -58, -65, -38, -9, 36, 69, 63, 22, -47, -78, -40,
    -00018                 7, 36, 55, 55, 28, -22, -50, -15, 21, 21, 12, 10, 20, 12, -31, -49, -27, 0, 12,
    -00019                 17, 18, 12, -16, -46, -40, -9, 9, 8, 3, 14, 9, -24, -37, -18, 2, 15, 20, 25, 28,
    -00020                 4, -31, -38, -13, 19, 35, 34, 25, 4, -24, -32, -14, 21, 38, 27, 12, -3, -30,
    -00021                 -48, -30, 7, 30, 28, 6, -14, -32, -41, -28, 5, 31, 28, 0, -28, -32, -22, -10, 3,
    -00022                 20, 21, 2, -13, -9, 1, 5, 7, 12, 15, 10, 0, -1, 9, 11, 5, -1, 3, 13, 12, 5, 0,
    -00023                 -1, -4, -10, -9, 2, 8, 5, 0, -8, -18, -24, -19, 0, 14, 10, -11, -28, -27, -16,
    -00024                 -3, 8, 19, 15, 0, -14, -14, -4, 6, 14, 19, 16, 2, -14, -12, 0, 13, 20, 21, 16,
    -00025                 4, -3, -5, 0, 7, 9, 2, -6, -9, -10, -10, -5, -1, -3, -8, -12, -13, -9, -8, -7,
    -00026                 -4, -4, -7, -7, -4, 0, -1, -6, -8, -4, 4, 6, 6, 8, 6, 2, 2, 6, 10, 11, 14, 14,
    -00027                 10, 3, -1, 0, 6, 9, 6, -1, -6, -9, -11, -9, -2, 1, 1, -2, -10, -14, -14, -12,
    -00028                 -6, 0, 0, -6, -14, -16, -10, -1, 5, 9, 8, 1, -2, -2, 2, 7, 11, 14, 12, 7, 2, 0,
    -00029                 1, 9, 14, 14, 10, 5, 1, 0, -2, -4, -4, -4, -2, 0, 0, -5, -11, -13, -14, -11, -5,
    -00030                 -2, -2, -3, -11, -18, -18, -12, -1, 9, 10, 4, 0, -6, -5, 1, 8, 12, 15, 14, 5,
    -00031                 -3, -5, 0, 9, 16, 17, 12, 3, -5, -9, -3, 2, 6, 5, 0, -8, -13, -14, -13, -7, 1,
    -00032                 1, -5, -8, -10, -16, -15, -10, -3, 0, 2, -2, -5, -5, -6, -1, 7, 10, 9, 9, 6, 2,
    -00033                 1, 1, 4, 9, 13, 12, 11, 7, -1, -2, 1, 6, 8, 6, 1, -6, -10, -11, -9, -5, -4, -4,
    -00034                 -5, -7, -9, -12, -13, -10, -4, -1, -3, -5, -7, -5, -5, -3, 1, 6, 7, 7, 5, 4, 4,
    -00035                 5, 8, 10, 10, 9, 8, 8, 5, 4, 0, 0, 5, 7, 3, -1, -3, -8, -7, -7, -5, -4, -2, -4,
    -00036                 -8, -10, -12, -13, -12, -6, -1, 0, -4, -8, -10, -8, -4, 2, 8, 9, 6, 2, -1, 0, 1,
    -00037                 5, 7, 13, 13, 8, 3, 0, 1, 7, 11, 13, 10, 4, -4, -10, -7, -4, -3, -1, 1, -2, -9,
    -00038                 -15, -15, -10, -6, -3, -1, -4, -9, -13, -14, -12, -5, 2, 5, 6, 6, 2, 0, 0, 4, 8,
    -00039                 12, 12, 9, 6, 1, -1, 1, 6, 10, 12, 10, 4, -3, -6, -5, -1, 2, 1, -1, -1, -8, -14,
    -00040                 -13, -9, -5, 0, -1, -6, -10, -14, -16, -11, 0, 3, 1, -1, -4, -5, -4, 0, 6, 12,
    -00041                 13, 9, 5, 1, -1, 0, 5, 11, 13, 11, 6, 1, -1, 0, 1, 5, 5, 2, -2, -7, -10, -8, -7,
    -00042                 -6, -4, -4, -6, -9, -10, -12, -11, -6, -1, 0, -2, -6, -8, -6, -1, 0, 5, 8, 7, 5,
    -00043                 3, 2, 4, 4, 6, 9, 10, 7, 5, 3, 1, 5, 5, 5, 5, 3, -1, -5, -6, -5, -5, -3, -4, -6,
    -00044                 -6, -8, -10, -9, -6, -5, -6, -5, -8, -9, -8, -6, -3, 1, 1, 2, 1, 2, 2, 5, 6, 7,
    -00045                 7, 8, 7, 6, 5, 4, 5, 7, 7, 6, 4, 2, -1, -2, -2, -1, -1, -2, -3, -5, -7, -8, -8,
    -00046                 -7, -6, -6, -6, -5, -8, -8, -6, -5, -5, -3, -1, -1, -1, 0, 2, 4, 4, 5, 4, 5, 5,
    -00047                 5, 4, 4, 6, 7, 7, 6, 5, 4, 2, 0, 0, -1, 0, -1, -2, -4, -5, -7, -7, -6, -5, -4,
    -00048                 -5, -8, -9, -9, -8, -6, -5, -3, -1, -3, -3, -2, 0, 2, 4, 6, 7, 4, 3, 2, 4, 6, 7,
    -00049                 8, 7, 6, 4, 2, 2, 3, 5, 6, 3, 0, -1, -4, -5, -5, -5, -5, -5, -5, -5, -8, -8, -8,
    -00050                 -7, -5, -4, -4, -4, -4, -5, -4, -3, 0, 2, 4, 4, 4, 2, 0, 2, 5, 8, 8, 7, 6, 4, 2,
    -00051                 2, 3, 4, 6, 4, 3, 0, -3, -4, -4, -3, -1, -3, -4, -6, -7, -8, -8, -6, -4, -3, -3,
    -00052                 -5, -8, -7, -5, -3, -1, 0, 0, 0, 0, 1, 3, 3, 4, 6, 6, 6, 5, 3, 4, 5, 4, 5, 5, 3,
    -00053                 2, 2, 1, -1, -2, -2, -1, -1, -4, -6, -6, -7, -6, -5, -4, -4, -5, -6, -7, -7, -5,
    -00054                 -4, -3, -1, -1, -1, 0, -1, 1, 3, 3, 5, 5, 6, 5, 3, 3, 3, 5, 5, 5, 5, 3, 2, 1, 1,
    -00055                 0, -1, 0, -1, -2, -4, -5, -7, -6, -5, -4, -4, -4, -5, -6, -7, -5, -4, -4, -3,
    -00056                 -1, 0, -1, -2, -2, 0, 1, 3, 6, 5, 5, 3, 2, 3, 3, 4, 6, 6, 3, 2, 2, 2, 3, 2, 1,
    -00057                 -1, -1, -3, -4, -5, -5, -5, -4, -4, -4, -6, -7, -7, -5, -4, -3, -4, -3, -4, -4,
    -00058                 -3, -1, 0, 0, 2, 3, 3, 3, 3, 3, 3, 4, 4, 5, 6, 4, 3, 3, 3, 3, 3, 3, 2, 0, -1,
    -00059                 -3, -4, -3, -3, -3, -3, -4, -3, -5, -6, -6, -5, -3, -3, -3, -3, -3, -4, -4, -2,
    -00060                 -1, 0, 1, 2, 2, 2, 2, 2, 4, 5, 5, 4, 3, 3, 3, 2, 3, 2, 2, 2, 0, -1, 0, -1, -1,
    -00061                 -1, -2, -3, -4, -4, -5, -6, -5, -3, -3, -4, -4, -4, -5, -4, -3, -3, -2, -1, 0,
    -00062                 0, 1, 2, 1, 2, 4, 3, 3, 3, 4, 4, 4, 4, 2, 2, 3, 3, 2, 1, 0, 0, -1, -1, -2, -3,
    -00063                 -3, -3, -4, -5, -5, -4, -5, -4, -4, -3, -3, -4, -3, -3, -2, -2, -2, -1, 0, 0, 2,
    -00064                 1, 2, 2, 2, 3, 3, 3, 4, 3, 3, 2, 3, 2, 2, 2, 2, 1, 0, -1, 0, 0, -2, -3, -3, -4,
    -00065                 -4, -4, -5, -4, -3, -3, -3, -4, -4, -4, -3, -2, -1, -1, -1, 0, 0, -1, 2, 2, 2,
    -00066                 2, 3, 3, 3, 3, 2, 2, 3, 4, 2, 2, 2, 1, 1, 2, 0, -1, -1, -1, -2, -3, -3, -3, -4,
    -00067                 -4, -4, -4, -4, -3, -4, -3, -3, -3, -3, -3, -2, -2, 0, 0, 0, 1, 1, 2, 2, 3, 3,
    -00068                 3, 2, 2, 3, 3, 4, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0, -3, -3, -4, -3, -3, -3, -3, -4,
    -00069                 -4, -4, -4, -4, -3, -3, -2, -3, -2, -1, -2, 0, 0, 0, 2, 2, 2, 2, 2, 3, 3, 3, 2,
    -00070                 2, 2, 2, 2, 1, 2, 1, 2, 1, 0, -1, -1, -1, -1, -2, -3, -3, -3, -3, -4, -3, -4,
    -00071                 -3, -3, -3, -3, -3, -3, -2, -2, -1, -1, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2,
    -00072                 2, 3, 2, 1, 1, 1, 0, 1, 1, 0, -1, -2, -2, -2, -3, -2, -3, -3, -4, -3, -3, -3,
    -00073                 -3, -3, -3, -2, -2, -2, -2, 0, 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 1, 1,
    -00074                 1, 2, 1, 1, 0, -1, 0, 0, -1, -2, -2, -2, -2, -3, -3, -3, -4, -3, -2, -3, -3, -2,
    -00075                 -2, -2, -1, -2, -1, -1, -1, 0, 0, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 2, 2, 2, 1, 1,
    -00076                 0, 0, 0, 0, -1, 0, -1, -2, -2, -2, -2, -2, -2, -3, -2, -2, -3, -3, -2, -2, -2,
    -00077                 -2, -1, -2, 0, -1, 0, 0, 0, 0, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 0,
    -00078                 0, -1, 0, -1, -1, -1, -2, -2, -3, -2, -2, -2, -2, -2, -2, -3, -2, -2, -2, -1,
    -00079                 -1, -1, -1, 0, 0, 0, 0, 0, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,
    -00080                 -1, -2, -2, -2, -2, -2, -2, -2, -2, -3, -2, -3, -2, -2, -2, -2, -1, -2, -1, -1,
    -00081                 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, -1, -1, 0, -1,
    -00082                 -1, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -1, -1, -1,
    -00083                 -1, 0, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, -1, -1, -1, -1, -1,
    -00084                 -1, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -1, -1, -1, -1, -1, 0,
    -00085                 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, -1, -1, -1, -2, -2,
    -00086                 -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -1, 0, -1, 0, 0, 1, 1, 0, 1,
    -00087                 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, -1, 0, -1, -1, -1, -2, -2, -2, -2,
    -00088                 -1, -2, -2, -2, -2, -2, -1, -2, -1, -1, -1, -1, 0, -1, 0, 0, 1, 0, 0, 1, 0, 1,
    -00089                 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, -1, 0, -1, 0, -2, -1, -1, -2, -2, -2, -2, -2,
    -00090                 -2, -1, -2, -2, -2, -1, -2, -1, -1, -1, 0, -1, 0, -1, 0, 0, 0, 1, 1, 1, 1, 1, 1,
    -00091                 1, 0, 1, 0, 1, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -2, -2, -2, -2, -2, -2, -2,
    -00092                 -2, -1, -1, -2, -1, -1, -1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1,
    -00093                 1, 1, 0, 0, 0, -1, 0, 0, -1, -1, 0, -1, -1, -2, -2, -1, -2, -2, -2, -2, -2, -1,
    -00094                 -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0,
    -00095                 0, 0, -1, 0, -1, -1, -1, -1, -2, -1, -2, -1, -1, -2, -2, -1, -1, -2, -1, -1, 0,
    -00096                 -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, -1, 0,
    -00097                 -1, -1, -1, -1, -1, -1, -1, -1, -1, -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00098                 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0,
    -00099                 -1, 0, -1, -1, -2, -2, -1, -1, -1, -2, -2, -2, -1, -1, 0, -1, -1, 0, -1, 0, 0,
    -00100                 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1,
    -00101                 -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, 0, 0, 0, -1, 0, 0, 0,
    -00102                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1,
    -00103                 -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, -1, 0, -1, 0, 0, 0, -1, 0, 0, 0,
    -00104                 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, 0, -1, -1, 0, -1, -1, -1, -1, -1, -1,
    -00105                 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00106                 0, 0, 0, 0, -1, 0, 0, 0, -1, 0, -1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1,
    -00107                 -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00108                 0, 0, 0, -1, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00109                 -1, -1, -1, -1, 0, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00110                 0, -1, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00111                 -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, -1,
    -00112                 0, -1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1,
    -00113                 -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, -1, 0,
    -00114                 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, 0, -1, 0,
    -00115                 -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, 0,
    -00116                 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, -1,
    -00117                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, -1, -1, -1,
    -00118                 0, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, 0, 0, 0, 0, 0,
    -00119                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1,
    -00120                 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00121                 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, 0, -1,
    -00122                 -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00123                 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00124                 -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00125                 0, 0, 0, 0, -1, -1, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00126                 -1, 0, -1, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00127                 -1, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00128                 -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, -1, 0,
    -00129                 -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0,
    -00130                 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, 0,
    -00131                 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, -1, -1, 0, -1, 0,
    -00132                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, -1, 0, -1, -1, -1,
    -00133                 -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0,
    -00134                 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1,
    -00135                 -1, -1, -1, -1, -1, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00136                 0, 0, 0, -1, 0, 0, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1,
    -00137                 -1, -1, -1, -1, -1, -1, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0,
    -00138                 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1,
    -00139                 -1, -1, -1, -1, -1, 0, -1, -1, -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1,
    -00140                 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, 0, -1, -1, -1, 0, -1, -1, -1, -1, -1,
    -00141                 -1, -1, -1, -1, -1, 0, 0, 0, -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0,
    -00142                 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00143                 -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, 0, 0, 0, 0, -1,
    -00144                 0, 0, -1, 0, -1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1,
    -00145                 -1, -1, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0,
    -00146                 0, 0, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0,
    -00147                 -1, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0,
    -00148                 -1, 0, -1, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, -1,
    -00149                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, -1,
    -00150                 -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, 0, 0, 0, 0,
    -00151                 -1, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, -1, 0, -1, -1,
    -00152                 -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, 0, -1, 0, 0, 0, 0, -1, 0,
    -00153                 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, -1, -1,
    -00154                 -1, 0, -1, 0, -1, 0, -1, -1, -1, 0, -1, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0,
    -00155                 0, 0, 0, 0, -1, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1,
    -00156                 -1, 0, 0, -1, -1, -1, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0,
    -00157                 0, -1, 0, -1, 0, -1, 0, -1, -1, 0, 0, -1, -1, -1, 0, -1, -1, 0, -1, -1, -1, -1,
    -00158                 -1, 0, -1, 0, -1, -1, -1, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00159                 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, 0, -1, 0, -1, -1, 0, -1, 0, -1,
    -00160                 -1, -1, -1, 0, -1, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0, -1,
    -00161                 0, -1, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1,
    -00162                 -1, -1, -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, -1,
    -00163                 0, -1, 0, -1, -1, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, 0, -1,
    -00164                 -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, 0,
    -00165                 -1, -1, 0, -1, 0, -1, 0, -1, 0, -1, -1, -1, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, -1,
    -00166                 0, 0, 0, 0, -1, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1, -1,
    -00167                 -1, -1, -1, 0, 0, -1, -1, -1, 0, 0, -1, -1, -1, 0, -1, -1, 0, -1, -1, 0, 0, 0,
    -00168                 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, 0, 0, -1, -1, -1, 0, 0,
    -00169                 -1, 0, -1, -1, 0, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0,
    -00170                 0, 0, 0, 0, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, -1, 0, -1, 0, -1, -1, -1, -1, -1,
    -00171                 -1, -1, 0, -1, -1, 0, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0,
    -00172                 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, -1, -1, -1, 0, -1, 0, -1, -1, -1,
    -00173                 0, 0, -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, -1, 0, 0, 0, -1, 0, -1,
    -00174                 0, 0, 0, -1, 0, -1, -1, -1, -1, 0, -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, -1, -1,
    -00175                 -1, -1, -1, -1, 0, -1, 0, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0,
    -00176                 -1, 0, 0, 0, -1, -1, 0, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0,
    -00177                 -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1,
    -00178                 0, -1, 0, -1, 0, -1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0,
    -00179                 -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1,
    -00180                 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, 0, -1, 0, -1, 0, -1,
    -00181                 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0,
    -00182                 -1, 0, -1, 0, -1, 0, -1, 0, -1, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0,
    -00183                 -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0,
    -00184                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00185                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00186                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00187                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00188                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00189                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00190                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00191                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00192                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00193                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00194                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00195                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00196 
    -00197                                            };
    -00198 
    -00199 #endif /* BAMBOO_00_4096_H_ */
    -
    - - - - +
    1 #ifndef BAMBOO_00_4096_H_
    +
    2 #define BAMBOO_00_4096_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 #define BAMBOO_00_4096_NUM_CELLS 4096
    +
    12 #define BAMBOO_00_4096_SAMPLERATE 16384
    +
    13 
    +
    14 const char __attribute__((progmem)) BAMBOO_00_4096_DATA [] = {-1, 0, -1, 0, -1, 0, 1, 0, 0, 0, -1,
    +
    15  1, 0, 0, 2, -2, -21, -66, -98, -56, 37, 60, 1, -31, 7, 72, 95, 90, 63, -1, -44,
    +
    16  -72, -89, -28, 59, 92, 60, -12, -86, -125, -102, -32, 66, 123, 69, -19, -53,
    +
    17  -61, -58, -20, 31, 74, 72, 6, -58, -65, -38, -9, 36, 69, 63, 22, -47, -78, -40,
    +
    18  7, 36, 55, 55, 28, -22, -50, -15, 21, 21, 12, 10, 20, 12, -31, -49, -27, 0, 12,
    +
    19  17, 18, 12, -16, -46, -40, -9, 9, 8, 3, 14, 9, -24, -37, -18, 2, 15, 20, 25, 28,
    +
    20  4, -31, -38, -13, 19, 35, 34, 25, 4, -24, -32, -14, 21, 38, 27, 12, -3, -30,
    +
    21  -48, -30, 7, 30, 28, 6, -14, -32, -41, -28, 5, 31, 28, 0, -28, -32, -22, -10, 3,
    +
    22  20, 21, 2, -13, -9, 1, 5, 7, 12, 15, 10, 0, -1, 9, 11, 5, -1, 3, 13, 12, 5, 0,
    +
    23  -1, -4, -10, -9, 2, 8, 5, 0, -8, -18, -24, -19, 0, 14, 10, -11, -28, -27, -16,
    +
    24  -3, 8, 19, 15, 0, -14, -14, -4, 6, 14, 19, 16, 2, -14, -12, 0, 13, 20, 21, 16,
    +
    25  4, -3, -5, 0, 7, 9, 2, -6, -9, -10, -10, -5, -1, -3, -8, -12, -13, -9, -8, -7,
    +
    26  -4, -4, -7, -7, -4, 0, -1, -6, -8, -4, 4, 6, 6, 8, 6, 2, 2, 6, 10, 11, 14, 14,
    +
    27  10, 3, -1, 0, 6, 9, 6, -1, -6, -9, -11, -9, -2, 1, 1, -2, -10, -14, -14, -12,
    +
    28  -6, 0, 0, -6, -14, -16, -10, -1, 5, 9, 8, 1, -2, -2, 2, 7, 11, 14, 12, 7, 2, 0,
    +
    29  1, 9, 14, 14, 10, 5, 1, 0, -2, -4, -4, -4, -2, 0, 0, -5, -11, -13, -14, -11, -5,
    +
    30  -2, -2, -3, -11, -18, -18, -12, -1, 9, 10, 4, 0, -6, -5, 1, 8, 12, 15, 14, 5,
    +
    31  -3, -5, 0, 9, 16, 17, 12, 3, -5, -9, -3, 2, 6, 5, 0, -8, -13, -14, -13, -7, 1,
    +
    32  1, -5, -8, -10, -16, -15, -10, -3, 0, 2, -2, -5, -5, -6, -1, 7, 10, 9, 9, 6, 2,
    +
    33  1, 1, 4, 9, 13, 12, 11, 7, -1, -2, 1, 6, 8, 6, 1, -6, -10, -11, -9, -5, -4, -4,
    +
    34  -5, -7, -9, -12, -13, -10, -4, -1, -3, -5, -7, -5, -5, -3, 1, 6, 7, 7, 5, 4, 4,
    +
    35  5, 8, 10, 10, 9, 8, 8, 5, 4, 0, 0, 5, 7, 3, -1, -3, -8, -7, -7, -5, -4, -2, -4,
    +
    36  -8, -10, -12, -13, -12, -6, -1, 0, -4, -8, -10, -8, -4, 2, 8, 9, 6, 2, -1, 0, 1,
    +
    37  5, 7, 13, 13, 8, 3, 0, 1, 7, 11, 13, 10, 4, -4, -10, -7, -4, -3, -1, 1, -2, -9,
    +
    38  -15, -15, -10, -6, -3, -1, -4, -9, -13, -14, -12, -5, 2, 5, 6, 6, 2, 0, 0, 4, 8,
    +
    39  12, 12, 9, 6, 1, -1, 1, 6, 10, 12, 10, 4, -3, -6, -5, -1, 2, 1, -1, -1, -8, -14,
    +
    40  -13, -9, -5, 0, -1, -6, -10, -14, -16, -11, 0, 3, 1, -1, -4, -5, -4, 0, 6, 12,
    +
    41  13, 9, 5, 1, -1, 0, 5, 11, 13, 11, 6, 1, -1, 0, 1, 5, 5, 2, -2, -7, -10, -8, -7,
    +
    42  -6, -4, -4, -6, -9, -10, -12, -11, -6, -1, 0, -2, -6, -8, -6, -1, 0, 5, 8, 7, 5,
    +
    43  3, 2, 4, 4, 6, 9, 10, 7, 5, 3, 1, 5, 5, 5, 5, 3, -1, -5, -6, -5, -5, -3, -4, -6,
    +
    44  -6, -8, -10, -9, -6, -5, -6, -5, -8, -9, -8, -6, -3, 1, 1, 2, 1, 2, 2, 5, 6, 7,
    +
    45  7, 8, 7, 6, 5, 4, 5, 7, 7, 6, 4, 2, -1, -2, -2, -1, -1, -2, -3, -5, -7, -8, -8,
    +
    46  -7, -6, -6, -6, -5, -8, -8, -6, -5, -5, -3, -1, -1, -1, 0, 2, 4, 4, 5, 4, 5, 5,
    +
    47  5, 4, 4, 6, 7, 7, 6, 5, 4, 2, 0, 0, -1, 0, -1, -2, -4, -5, -7, -7, -6, -5, -4,
    +
    48  -5, -8, -9, -9, -8, -6, -5, -3, -1, -3, -3, -2, 0, 2, 4, 6, 7, 4, 3, 2, 4, 6, 7,
    +
    49  8, 7, 6, 4, 2, 2, 3, 5, 6, 3, 0, -1, -4, -5, -5, -5, -5, -5, -5, -5, -8, -8, -8,
    +
    50  -7, -5, -4, -4, -4, -4, -5, -4, -3, 0, 2, 4, 4, 4, 2, 0, 2, 5, 8, 8, 7, 6, 4, 2,
    +
    51  2, 3, 4, 6, 4, 3, 0, -3, -4, -4, -3, -1, -3, -4, -6, -7, -8, -8, -6, -4, -3, -3,
    +
    52  -5, -8, -7, -5, -3, -1, 0, 0, 0, 0, 1, 3, 3, 4, 6, 6, 6, 5, 3, 4, 5, 4, 5, 5, 3,
    +
    53  2, 2, 1, -1, -2, -2, -1, -1, -4, -6, -6, -7, -6, -5, -4, -4, -5, -6, -7, -7, -5,
    +
    54  -4, -3, -1, -1, -1, 0, -1, 1, 3, 3, 5, 5, 6, 5, 3, 3, 3, 5, 5, 5, 5, 3, 2, 1, 1,
    +
    55  0, -1, 0, -1, -2, -4, -5, -7, -6, -5, -4, -4, -4, -5, -6, -7, -5, -4, -4, -3,
    +
    56  -1, 0, -1, -2, -2, 0, 1, 3, 6, 5, 5, 3, 2, 3, 3, 4, 6, 6, 3, 2, 2, 2, 3, 2, 1,
    +
    57  -1, -1, -3, -4, -5, -5, -5, -4, -4, -4, -6, -7, -7, -5, -4, -3, -4, -3, -4, -4,
    +
    58  -3, -1, 0, 0, 2, 3, 3, 3, 3, 3, 3, 4, 4, 5, 6, 4, 3, 3, 3, 3, 3, 3, 2, 0, -1,
    +
    59  -3, -4, -3, -3, -3, -3, -4, -3, -5, -6, -6, -5, -3, -3, -3, -3, -3, -4, -4, -2,
    +
    60  -1, 0, 1, 2, 2, 2, 2, 2, 4, 5, 5, 4, 3, 3, 3, 2, 3, 2, 2, 2, 0, -1, 0, -1, -1,
    +
    61  -1, -2, -3, -4, -4, -5, -6, -5, -3, -3, -4, -4, -4, -5, -4, -3, -3, -2, -1, 0,
    +
    62  0, 1, 2, 1, 2, 4, 3, 3, 3, 4, 4, 4, 4, 2, 2, 3, 3, 2, 1, 0, 0, -1, -1, -2, -3,
    +
    63  -3, -3, -4, -5, -5, -4, -5, -4, -4, -3, -3, -4, -3, -3, -2, -2, -2, -1, 0, 0, 2,
    +
    64  1, 2, 2, 2, 3, 3, 3, 4, 3, 3, 2, 3, 2, 2, 2, 2, 1, 0, -1, 0, 0, -2, -3, -3, -4,
    +
    65  -4, -4, -5, -4, -3, -3, -3, -4, -4, -4, -3, -2, -1, -1, -1, 0, 0, -1, 2, 2, 2,
    +
    66  2, 3, 3, 3, 3, 2, 2, 3, 4, 2, 2, 2, 1, 1, 2, 0, -1, -1, -1, -2, -3, -3, -3, -4,
    +
    67  -4, -4, -4, -4, -3, -4, -3, -3, -3, -3, -3, -2, -2, 0, 0, 0, 1, 1, 2, 2, 3, 3,
    +
    68  3, 2, 2, 3, 3, 4, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0, -3, -3, -4, -3, -3, -3, -3, -4,
    +
    69  -4, -4, -4, -4, -3, -3, -2, -3, -2, -1, -2, 0, 0, 0, 2, 2, 2, 2, 2, 3, 3, 3, 2,
    +
    70  2, 2, 2, 2, 1, 2, 1, 2, 1, 0, -1, -1, -1, -1, -2, -3, -3, -3, -3, -4, -3, -4,
    +
    71  -3, -3, -3, -3, -3, -3, -2, -2, -1, -1, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2,
    +
    72  2, 3, 2, 1, 1, 1, 0, 1, 1, 0, -1, -2, -2, -2, -3, -2, -3, -3, -4, -3, -3, -3,
    +
    73  -3, -3, -3, -2, -2, -2, -2, 0, 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 1, 1,
    +
    74  1, 2, 1, 1, 0, -1, 0, 0, -1, -2, -2, -2, -2, -3, -3, -3, -4, -3, -2, -3, -3, -2,
    +
    75  -2, -2, -1, -2, -1, -1, -1, 0, 0, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 2, 2, 2, 1, 1,
    +
    76  0, 0, 0, 0, -1, 0, -1, -2, -2, -2, -2, -2, -2, -3, -2, -2, -3, -3, -2, -2, -2,
    +
    77  -2, -1, -2, 0, -1, 0, 0, 0, 0, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 0,
    +
    78  0, -1, 0, -1, -1, -1, -2, -2, -3, -2, -2, -2, -2, -2, -2, -3, -2, -2, -2, -1,
    +
    79  -1, -1, -1, 0, 0, 0, 0, 0, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,
    +
    80  -1, -2, -2, -2, -2, -2, -2, -2, -2, -3, -2, -3, -2, -2, -2, -2, -1, -2, -1, -1,
    +
    81  0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, -1, -1, 0, -1,
    +
    82  -1, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -1, -1, -1,
    +
    83  -1, 0, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, -1, -1, -1, -1, -1,
    +
    84  -1, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -2, -1, -1, -1, -1, -1, 0,
    +
    85  0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, -1, -1, -1, -2, -2,
    +
    86  -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -1, 0, -1, 0, 0, 1, 1, 0, 1,
    +
    87  1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, -1, 0, -1, -1, -1, -2, -2, -2, -2,
    +
    88  -1, -2, -2, -2, -2, -2, -1, -2, -1, -1, -1, -1, 0, -1, 0, 0, 1, 0, 0, 1, 0, 1,
    +
    89  1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, -1, 0, -1, 0, -2, -1, -1, -2, -2, -2, -2, -2,
    +
    90  -2, -1, -2, -2, -2, -1, -2, -1, -1, -1, 0, -1, 0, -1, 0, 0, 0, 1, 1, 1, 1, 1, 1,
    +
    91  1, 0, 1, 0, 1, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -2, -2, -2, -2, -2, -2, -2,
    +
    92  -2, -1, -1, -2, -1, -1, -1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1,
    +
    93  1, 1, 0, 0, 0, -1, 0, 0, -1, -1, 0, -1, -1, -2, -2, -1, -2, -2, -2, -2, -2, -1,
    +
    94  -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0,
    +
    95  0, 0, -1, 0, -1, -1, -1, -1, -2, -1, -2, -1, -1, -2, -2, -1, -1, -2, -1, -1, 0,
    +
    96  -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, -1, 0,
    +
    97  -1, -1, -1, -1, -1, -1, -1, -1, -1, -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    98  0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0,
    +
    99  -1, 0, -1, -1, -2, -2, -1, -1, -1, -2, -2, -2, -1, -1, 0, -1, -1, 0, -1, 0, 0,
    +
    100  0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1,
    +
    101  -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, 0, 0, 0, -1, 0, 0, 0,
    +
    102  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1,
    +
    103  -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, -1, 0, -1, 0, 0, 0, -1, 0, 0, 0,
    +
    104  0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, 0, -1, -1, 0, -1, -1, -1, -1, -1, -1,
    +
    105  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    106  0, 0, 0, 0, -1, 0, 0, 0, -1, 0, -1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1,
    +
    107  -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    108  0, 0, 0, -1, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    109  -1, -1, -1, -1, 0, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    110  0, -1, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    111  -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, -1,
    +
    112  0, -1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1,
    +
    113  -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, -1, 0,
    +
    114  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, 0, -1, 0,
    +
    115  -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, 0,
    +
    116  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, -1,
    +
    117  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, -1, -1, -1,
    +
    118  0, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, 0, 0, 0, 0, 0,
    +
    119  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1,
    +
    120  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    121  0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, 0, -1,
    +
    122  -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    123  0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    124  -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    125  0, 0, 0, 0, -1, -1, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    126  -1, 0, -1, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    127  -1, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    128  -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, -1, 0,
    +
    129  -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0,
    +
    130  0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, 0,
    +
    131  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, -1, -1, 0, -1, 0,
    +
    132  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, -1, 0, -1, -1, -1,
    +
    133  -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0,
    +
    134  0, 0, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1,
    +
    135  -1, -1, -1, -1, -1, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    136  0, 0, 0, -1, 0, 0, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1,
    +
    137  -1, -1, -1, -1, -1, -1, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0,
    +
    138  0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    139  -1, -1, -1, -1, -1, 0, -1, -1, -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1,
    +
    140  0, -1, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, 0, -1, -1, -1, 0, -1, -1, -1, -1, -1,
    +
    141  -1, -1, -1, -1, -1, 0, 0, 0, -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0,
    +
    142  0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    143  -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, 0, 0, 0, 0, -1,
    +
    144  0, 0, -1, 0, -1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1,
    +
    145  -1, -1, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0,
    +
    146  0, 0, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0,
    +
    147  -1, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0,
    +
    148  -1, 0, -1, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, -1,
    +
    149  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, -1,
    +
    150  -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, 0, 0, 0, 0,
    +
    151  -1, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, -1, 0, -1, -1,
    +
    152  -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, 0, -1, 0, 0, 0, 0, -1, 0,
    +
    153  0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, -1, -1,
    +
    154  -1, 0, -1, 0, -1, 0, -1, -1, -1, 0, -1, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    155  0, 0, 0, 0, -1, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1,
    +
    156  -1, 0, 0, -1, -1, -1, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0,
    +
    157  0, -1, 0, -1, 0, -1, 0, -1, -1, 0, 0, -1, -1, -1, 0, -1, -1, 0, -1, -1, -1, -1,
    +
    158  -1, 0, -1, 0, -1, -1, -1, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    159  0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, 0, -1, 0, -1, -1, 0, -1, 0, -1,
    +
    160  -1, -1, -1, 0, -1, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0, -1,
    +
    161  0, -1, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1,
    +
    162  -1, -1, -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, -1,
    +
    163  0, -1, 0, -1, -1, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, 0, -1,
    +
    164  -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, 0,
    +
    165  -1, -1, 0, -1, 0, -1, 0, -1, 0, -1, -1, -1, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, -1,
    +
    166  0, 0, 0, 0, -1, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1, -1,
    +
    167  -1, -1, -1, 0, 0, -1, -1, -1, 0, 0, -1, -1, -1, 0, -1, -1, 0, -1, -1, 0, 0, 0,
    +
    168  0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, 0, 0, -1, -1, -1, 0, 0,
    +
    169  -1, 0, -1, -1, 0, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0,
    +
    170  0, 0, 0, 0, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, -1, 0, -1, 0, -1, -1, -1, -1, -1,
    +
    171  -1, -1, 0, -1, -1, 0, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0,
    +
    172  0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, -1, -1, -1, 0, -1, 0, -1, -1, -1,
    +
    173  0, 0, -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, -1, 0, 0, 0, -1, 0, -1,
    +
    174  0, 0, 0, -1, 0, -1, -1, -1, -1, 0, -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, -1, -1,
    +
    175  -1, -1, -1, -1, 0, -1, 0, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0,
    +
    176  -1, 0, 0, 0, -1, -1, 0, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0,
    +
    177  -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1,
    +
    178  0, -1, 0, -1, 0, -1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0,
    +
    179  -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1,
    +
    180  0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, 0, -1, 0, -1, 0, -1,
    +
    181  0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0,
    +
    182  -1, 0, -1, 0, -1, 0, -1, 0, -1, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0,
    +
    183  -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0,
    +
    184  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    185  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    186  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    187  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    188  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    189  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    190  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    191  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    192  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    193  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    194  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    195  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    196 
    +
    197  };
    +
    198 
    +
    199 #endif /* BAMBOO_00_4096_H_ */
    +
    + + + diff --git a/doc/html/bamboo__01__2048__int8_8h_source.html b/doc/html/bamboo__01__2048__int8_8h_source.html index 9f39c6de4..f9023bbbd 100644 --- a/doc/html/bamboo__01__2048__int8_8h_source.html +++ b/doc/html/bamboo__01__2048__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: samples/bamboo/bamboo_01_2048_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,127 +99,129 @@
    -
    samples/bamboo/bamboo_01_2048_int8.h
    +
    bamboo_01_2048_int8.h
    -
    00001 #ifndef BAMBOO_01_2048_H_
    -00002 #define BAMBOO_01_2048_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 #define BAMBOO_01_2048_NUM_CELLS 2048
    -00012 #define BAMBOO_01_2048_SAMPLERATE 16384
    -00013 
    -00014 const char __attribute__((progmem)) BAMBOO_01_2048_DATA []  = {0, 1, -1, 1, -1, 0, 1, -1, 0, -1, 0,
    -00015 -2, 0, -1, -1, -7, -29, -71, -96, -72, -16, 15, 12, 13, 53, 104, 126, 109, 34,
    -00016 -32, -50, -62, -46, -10, 29, 56, 29, -9, -56, -90, -72, -72, -28, 45, 82, 69, 1,
    -00017 -57, -86, -60, 15, 47, 71, 60, 17, -28, -61, -27, 1, 26, 63, 49, 43, 12, -53,
    -00018 -68, -39, 34, 84, 64, 19, -27, -41, -40, -30, -6, 6, 27, 17, -24, -35, -45, -30,
    -00019 -12, 9, 25, 13, -5, -38, -44, -2, 19, 14, 9, 2, 5, 3, 4, 5, 13, 23, 20, 15, 7,
    -00020 1, 1, -1, 5, 14, 12, 2, -22, -29, -9, 13, 12, -7, -25, -27, -22, -11, -15, -18,
    -00021 -9, 1, -2, -10, -14, -15, -10, -1, 7, 15, 15, 7, 1, -1, 10, 12, 8, 9, 14, 22,
    -00022 21, 10, -4, -10, -4, 3, 8, 10, 6, -4, -17, -24, -21, -14, 0, 3, 2, -2, -16, -31,
    -00023 -36, -24, -1, 18, 19, 4, -8, -15, -10, -2, 10, 20, 23, 20, 8, -3, -10, -7, 5,
    -00024 18, 29, 26, 13, -2, -13, -10, -3, 3, 4, 2, -4, -12, -22, -25, -19, -8, 1, 2, -3,
    -00025 -11, -16, -14, -10, -4, -4, -6, -8, -4, -1, 7, 12, 13, 9, 6, 6, 5, 7, 7, 11, 14,
    -00026 16, 9, 2, -2, -4, 0, 1, 1, -5, -13, -16, -15, -10, -8, -6, -10, -12, -10, -7,
    -00027 -7, -10, -12, -9, -2, 2, 3, 0, 0, -3, -3, -1, 6, 14, 17, 19, 13, 8, 2, 1, 2, 8,
    -00028 12, 9, 3, 0, -9, -10, -5, 0, 6, 0, -4, -11, -15, -16, -16, -13, -5, 0, -1, -6,
    -00029 -16, -16, -13, -5, 5, 11, 13, 8, 2, -4, -2, 0, 9, 16, 18, 17, 10, 4, -3, -2, 2,
    -00030 7, 10, 6, -1, -11, -13, -9, -5, -3, -6, -7, -7, -10, -13, -11, -12, -9, -8, -9,
    -00031 -5, -5, -4, -3, -1, 0, 2, 1, 4, 9, 9, 6, 4, 5, 8, 9, 10, 7, 7, 4, 1, -1, 2, 2,
    -00032 3, 1, -4, -7, -10, -10, -11, -9, -8, -7, -11, -10, -13, -13, -10, -4, 0, -3, -5,
    -00033 -8, -4, 1, 7, 8, 8, 9, 7, 7, 6, 7, 9, 13, 12, 9, 7, 0, -2, -1, 1, 6, 2, 0, -4,
    -00034 -9, -11, -14, -9, -3, -4, -5, -12, -16, -15, -12, -4, -2, 3, 1, -4, -4, -7, -2,
    -00035 5, 11, 14, 11, 8, 3, 4, 6, 10, 12, 9, 6, 1, -2, -3, -1, 0, 3, -1, -1, -4, -6,
    -00036 -8, -8, -6, -5, -7, -10, -13, -15, -12, -8, -4, 0, -2, -3, -4, -1, 0, 4, 3, 7,
    -00037 7, 6, 1, -1, 1, 5, 9, 8, 9, 6, 5, 2, 3, 4, 1, 1, -2, -1, -6, -9, -10, -8, -8,
    -00038 -6, -8, -8, -10, -11, -9, -8, -5, -5, -5, -4, -3, 0, 0, -1, 2, 4, 8, 9, 9, 7, 5,
    -00039 7, 7, 7, 9, 5, 5, 2, 2, 0, 0, -1, -3, -4, -4, -8, -8, -9, -7, -7, -7, -7, -10,
    -00040 -7, -7, -5, -4, -4, -3, -2, -1, 0, -1, 1, 1, 4, 5, 6, 5, 7, 5, 6, 6, 7, 9, 7, 5,
    -00041 1, 0, -1, -2, -3, -1, 0, -2, -7, -10, -13, -10, -8, -4, -4, -7, -8, -10, -6, -4,
    -00042 -4, -1, -3, 0, -1, 0, -1, 0, 3, 7, 7, 8, 6, 4, 6, 5, 6, 4, 6, 4, 3, 2, 0, -3,
    -00043 -3, -5, -3, -5, -6, -6, -10, -9, -11, -7, -7, -6, -6, -6, -6, -4, -5, -2, -1, 2,
    -00044 2, 2, 3, 2, 3, 4, 6, 7, 7, 5, 4, 3, 5, 5, 4, 4, 2, 1, -2, -2, -3, -5, -6, -6,
    -00045 -3, -3, -5, -8, -9, -9, -5, -5, -4, -5, -5, -4, -5, -4, -3, -1, 4, 5, 4, 4, 3,
    -00046 3, 5, 6, 7, 6, 4, 4, 3, 2, 2, 4, 3, 1, -2, -2, -4, -6, -5, -6, -5, -5, -7, -7,
    -00047 -9, -7, -6, -5, -3, -1, -3, -3, -4, -3, -2, 0, 0, 3, 2, 4, 3, 4, 3, 5, 5, 6, 6,
    -00048 3, 4, 1, 0, 1, 0, 1, -2, -3, -4, -5, -5, -6, -5, -6, -4, -5, -7, -9, -9, -7, -5,
    -00049 -3, -1, -2, -2, -2, -2, 0, 0, 4, 6, 5, 5, 3, 4, 4, 3, 5, 5, 6, 3, 2, 2, 1, -1,
    -00050 0, -2, -1, -3, -3, -6, -5, -6, -6, -6, -6, -7, -6, -5, -6, -4, -4, -3, -2, -2,
    -00051 0, -1, 2, 2, 2, 3, 3, 4, 2, 3, 4, 5, 5, 5, 4, 2, 2, 1, 0, 0, -1, 0, -4, -4, -6,
    -00052 -6, -8, -6, -6, -5, -4, -6, -6, -7, -6, -5, -4, -2, -1, 0, 0, -1, 0, 1, 2, 4, 5,
    -00053 6, 5, 4, 3, 3, 3, 3, 4, 2, 3, 1, 0, -2, -2, -3, -2, -4, -4, -5, -5, -6, -7, -7,
    -00054 -7, -4, -5, -4, -4, -4, -5, -4, -2, -1, 0, 1, 1, 3, 2, 3, 5, 5, 5, 5, 6, 4, 4,
    -00055 4, 2, 2, 0, 0, -1, -1, -1, -3, -3, -3, -4, -4, -6, -6, -7, -6, -6, -5, -4, -5,
    -00056 -4, -4, -4, -2, -1, 0, 1, 0, 1, 1, 1, 3, 3, 4, 6, 5, 4, 4, 2, 2, 1, 2, 2, 3, 1,
    -00057 -2, -2, -5, -4, -5, -4, -5, -4, -4, -6, -5, -5, -4, -5, -4, -4, -4, -2, -2, -3,
    -00058 -1, -1, 2, 2, 3, 2, 3, 2, 3, 4, 4, 5, 4, 3, 3, 2, 1, 1, 0, 0, -1, -1, -3, -3,
    -00059 -3, -4, -3, -4, -5, -4, -5, -7, -4, -5, -3, -4, -3, -3, -1, -3, 0, -1, 0, 2, 2,
    -00060 3, 2, 4, 4, 3, 5, 3, 4, 2, 2, 2, 0, 0, -1, -2, -1, -2, -2, -3, -4, -4, -3, -3,
    -00061 -5, -4, -6, -6, -6, -3, -4, -3, -3, -2, -1, 0, -1, -1, 2, 2, 2, 2, 3, 1, 3, 4,
    -00062 4, 4, 3, 3, 1, 0, 1, -1, 0, -1, 0, -2, -3, -4, -4, -3, -3, -3, -4, -5, -5, -6,
    -00063 -4, -3, -3, -3, -2, -2, 0, -1, 0, 1, 1, 1, 2, 1, 1, 2, 3, 3, 4, 2, 1, 1, 1, 0,
    -00064 1, 0, 0, -1, -2, -3, -3, -3, -3, -4, -3, -4, -4, -5, -5, -4, -4, -3, -2, -2, -2,
    -00065 -1, 0, -1, 0, 1, 1, 2, 1, 1, 1, 1, 2, 3, 2, 2, 1, 1, 1, 0, 1, 0, 0, -1, -1, -2,
    -00066 -3, -3, -3, -4, -4, -4, -4, -4, -4, -3, -4, -3, -3, -2, -1, -1, -1, 0, -1, 0, 1,
    -00067 1, 2, 2, 2, 3, 1, 2, 2, 1, 1, 1, 0, 0, 0, 0, 0, -1, -1, -3, -3, -3, -4, -4, -4,
    -00068 -4, -3, -4, -3, -3, -3, -3, -3, -2, -1, -1, 0, 0, 0, 0, 1, 1, 2, 2, 3, 2, 1, 1,
    -00069 1, 2, 1, 1, 1, 0, -1, -1, -1, -2, -2, -2, -3, -3, -3, -4, -5, -4, -5, -4, -3,
    -00070 -4, -3, -3, -2, -1, -1, -1, 0, 0, 0, 0, 1, 1, 2, 2, 2, 1, 2, 2, 1, 2, 1, 1, 0,
    -00071 0, 0, -1, -1, -1, -3, -2, -3, -3, -4, -4, -4, -4, -4, -3, -3, -3, -3, -3, -1,
    -00072 -1, -1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0, -1, -1, -2,
    -00073 -3, -2, -3, -3, -3, -4, -3, -4, -4, -4, -3, -2, -2, -2, -2, -2, -1, -1, 0, 0, 0,
    -00074 0, 1, 1, 0, 1, 1, 1, 2, 2, 1, 1, 0, 0, 0, -1, -1, 0, -1, -2, -2, -2, -3, -3, -3,
    -00075 -3, -3, -3, -3, -3, -3, -3, -2, -2, -2, -1, 0, -1, 0, 0, 0, 0, 0, 1, 1, 2, 2, 2,
    -00076 2, 1, 0, 1, 0, 0, 0, 0, 0, -1, -1, -2, -2, -2, -3, -2, -3, -3, -3, -3, -3, -3,
    -00077 -3, -3, -2, -2, -1, -1, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, -1,
    -00078 0, -1, 0, -1, -1, -2, -2, -2, -2, -2, -3, -2, -2, -3, -2, -2, -2, -2, -2, -2,
    -00079 -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, -1, 0, 0, -1, -1,
    -00080 -2, -2, -2, -2, -2, -2, -2, -2, -3, -2, -2, -2, -2, -2, -2, 0, -1, 0, -1, 0, 0,
    -00081 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -2, -2, -2, -2,
    -00082 -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 1, 0, 1,
    -00083 1, 1, 1, 0, 0, 0, 0, 0, -1, -1, -1, -1, -2, -1, -2, -2, -2, -2, -2, -3, -2, -2,
    -00084 -2, -2, -2, -2, -2, -2, -1, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0,
    -00085 0, 0, 0, 0, -1, -1, -1, -1, -1, -2, -1, -1, -1, -2, -1, -2, -1, -1, -1, -1, -1,
    -00086 -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1,
    -00087 -1, -1, -1, -1, -1, -1, -1, -1, -1, -2, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1,
    -00088 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1,
    -00089 -1, -1, -1, -1, -2, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0,
    -00090 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00091 -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00092 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -2, -1, -1, -1, -1, -1, -1, -1,
    -00093 -1, -1, -1, -1, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00094 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00095 -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1,
    -00096 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0,
    -00097 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1,
    -00098 -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00099 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00100 -1, -1, -1, -1, -1, -1, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00101 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0,
    -00102 -1, -1, -1, -1, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, 0, 0, -1, 0, 0, 0, -1, -1,
    -00103 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0,
    -00104 -1, 0, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1,
    -00105 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, -1, 0, 0, 0,
    -00106 0, 0, -1, 0, 0, 0, -1, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00107 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, -1, 0, -1, 0, -1,
    -00108 0, };
    -00109 
    -00110  #endif /* BAMBOO_01_2048_H_ */
    -
    - - - - +
    1 #ifndef BAMBOO_01_2048_H_
    +
    2 #define BAMBOO_01_2048_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 #define BAMBOO_01_2048_NUM_CELLS 2048
    +
    12 #define BAMBOO_01_2048_SAMPLERATE 16384
    +
    13 
    +
    14 const char __attribute__((progmem)) BAMBOO_01_2048_DATA [] = {0, 1, -1, 1, -1, 0, 1, -1, 0, -1, 0,
    +
    15 -2, 0, -1, -1, -7, -29, -71, -96, -72, -16, 15, 12, 13, 53, 104, 126, 109, 34,
    +
    16 -32, -50, -62, -46, -10, 29, 56, 29, -9, -56, -90, -72, -72, -28, 45, 82, 69, 1,
    +
    17 -57, -86, -60, 15, 47, 71, 60, 17, -28, -61, -27, 1, 26, 63, 49, 43, 12, -53,
    +
    18 -68, -39, 34, 84, 64, 19, -27, -41, -40, -30, -6, 6, 27, 17, -24, -35, -45, -30,
    +
    19 -12, 9, 25, 13, -5, -38, -44, -2, 19, 14, 9, 2, 5, 3, 4, 5, 13, 23, 20, 15, 7,
    +
    20 1, 1, -1, 5, 14, 12, 2, -22, -29, -9, 13, 12, -7, -25, -27, -22, -11, -15, -18,
    +
    21 -9, 1, -2, -10, -14, -15, -10, -1, 7, 15, 15, 7, 1, -1, 10, 12, 8, 9, 14, 22,
    +
    22 21, 10, -4, -10, -4, 3, 8, 10, 6, -4, -17, -24, -21, -14, 0, 3, 2, -2, -16, -31,
    +
    23 -36, -24, -1, 18, 19, 4, -8, -15, -10, -2, 10, 20, 23, 20, 8, -3, -10, -7, 5,
    +
    24 18, 29, 26, 13, -2, -13, -10, -3, 3, 4, 2, -4, -12, -22, -25, -19, -8, 1, 2, -3,
    +
    25 -11, -16, -14, -10, -4, -4, -6, -8, -4, -1, 7, 12, 13, 9, 6, 6, 5, 7, 7, 11, 14,
    +
    26 16, 9, 2, -2, -4, 0, 1, 1, -5, -13, -16, -15, -10, -8, -6, -10, -12, -10, -7,
    +
    27 -7, -10, -12, -9, -2, 2, 3, 0, 0, -3, -3, -1, 6, 14, 17, 19, 13, 8, 2, 1, 2, 8,
    +
    28 12, 9, 3, 0, -9, -10, -5, 0, 6, 0, -4, -11, -15, -16, -16, -13, -5, 0, -1, -6,
    +
    29 -16, -16, -13, -5, 5, 11, 13, 8, 2, -4, -2, 0, 9, 16, 18, 17, 10, 4, -3, -2, 2,
    +
    30 7, 10, 6, -1, -11, -13, -9, -5, -3, -6, -7, -7, -10, -13, -11, -12, -9, -8, -9,
    +
    31 -5, -5, -4, -3, -1, 0, 2, 1, 4, 9, 9, 6, 4, 5, 8, 9, 10, 7, 7, 4, 1, -1, 2, 2,
    +
    32 3, 1, -4, -7, -10, -10, -11, -9, -8, -7, -11, -10, -13, -13, -10, -4, 0, -3, -5,
    +
    33 -8, -4, 1, 7, 8, 8, 9, 7, 7, 6, 7, 9, 13, 12, 9, 7, 0, -2, -1, 1, 6, 2, 0, -4,
    +
    34 -9, -11, -14, -9, -3, -4, -5, -12, -16, -15, -12, -4, -2, 3, 1, -4, -4, -7, -2,
    +
    35 5, 11, 14, 11, 8, 3, 4, 6, 10, 12, 9, 6, 1, -2, -3, -1, 0, 3, -1, -1, -4, -6,
    +
    36 -8, -8, -6, -5, -7, -10, -13, -15, -12, -8, -4, 0, -2, -3, -4, -1, 0, 4, 3, 7,
    +
    37 7, 6, 1, -1, 1, 5, 9, 8, 9, 6, 5, 2, 3, 4, 1, 1, -2, -1, -6, -9, -10, -8, -8,
    +
    38 -6, -8, -8, -10, -11, -9, -8, -5, -5, -5, -4, -3, 0, 0, -1, 2, 4, 8, 9, 9, 7, 5,
    +
    39 7, 7, 7, 9, 5, 5, 2, 2, 0, 0, -1, -3, -4, -4, -8, -8, -9, -7, -7, -7, -7, -10,
    +
    40 -7, -7, -5, -4, -4, -3, -2, -1, 0, -1, 1, 1, 4, 5, 6, 5, 7, 5, 6, 6, 7, 9, 7, 5,
    +
    41 1, 0, -1, -2, -3, -1, 0, -2, -7, -10, -13, -10, -8, -4, -4, -7, -8, -10, -6, -4,
    +
    42 -4, -1, -3, 0, -1, 0, -1, 0, 3, 7, 7, 8, 6, 4, 6, 5, 6, 4, 6, 4, 3, 2, 0, -3,
    +
    43 -3, -5, -3, -5, -6, -6, -10, -9, -11, -7, -7, -6, -6, -6, -6, -4, -5, -2, -1, 2,
    +
    44 2, 2, 3, 2, 3, 4, 6, 7, 7, 5, 4, 3, 5, 5, 4, 4, 2, 1, -2, -2, -3, -5, -6, -6,
    +
    45 -3, -3, -5, -8, -9, -9, -5, -5, -4, -5, -5, -4, -5, -4, -3, -1, 4, 5, 4, 4, 3,
    +
    46 3, 5, 6, 7, 6, 4, 4, 3, 2, 2, 4, 3, 1, -2, -2, -4, -6, -5, -6, -5, -5, -7, -7,
    +
    47 -9, -7, -6, -5, -3, -1, -3, -3, -4, -3, -2, 0, 0, 3, 2, 4, 3, 4, 3, 5, 5, 6, 6,
    +
    48 3, 4, 1, 0, 1, 0, 1, -2, -3, -4, -5, -5, -6, -5, -6, -4, -5, -7, -9, -9, -7, -5,
    +
    49 -3, -1, -2, -2, -2, -2, 0, 0, 4, 6, 5, 5, 3, 4, 4, 3, 5, 5, 6, 3, 2, 2, 1, -1,
    +
    50 0, -2, -1, -3, -3, -6, -5, -6, -6, -6, -6, -7, -6, -5, -6, -4, -4, -3, -2, -2,
    +
    51 0, -1, 2, 2, 2, 3, 3, 4, 2, 3, 4, 5, 5, 5, 4, 2, 2, 1, 0, 0, -1, 0, -4, -4, -6,
    +
    52 -6, -8, -6, -6, -5, -4, -6, -6, -7, -6, -5, -4, -2, -1, 0, 0, -1, 0, 1, 2, 4, 5,
    +
    53 6, 5, 4, 3, 3, 3, 3, 4, 2, 3, 1, 0, -2, -2, -3, -2, -4, -4, -5, -5, -6, -7, -7,
    +
    54 -7, -4, -5, -4, -4, -4, -5, -4, -2, -1, 0, 1, 1, 3, 2, 3, 5, 5, 5, 5, 6, 4, 4,
    +
    55 4, 2, 2, 0, 0, -1, -1, -1, -3, -3, -3, -4, -4, -6, -6, -7, -6, -6, -5, -4, -5,
    +
    56 -4, -4, -4, -2, -1, 0, 1, 0, 1, 1, 1, 3, 3, 4, 6, 5, 4, 4, 2, 2, 1, 2, 2, 3, 1,
    +
    57 -2, -2, -5, -4, -5, -4, -5, -4, -4, -6, -5, -5, -4, -5, -4, -4, -4, -2, -2, -3,
    +
    58 -1, -1, 2, 2, 3, 2, 3, 2, 3, 4, 4, 5, 4, 3, 3, 2, 1, 1, 0, 0, -1, -1, -3, -3,
    +
    59 -3, -4, -3, -4, -5, -4, -5, -7, -4, -5, -3, -4, -3, -3, -1, -3, 0, -1, 0, 2, 2,
    +
    60 3, 2, 4, 4, 3, 5, 3, 4, 2, 2, 2, 0, 0, -1, -2, -1, -2, -2, -3, -4, -4, -3, -3,
    +
    61 -5, -4, -6, -6, -6, -3, -4, -3, -3, -2, -1, 0, -1, -1, 2, 2, 2, 2, 3, 1, 3, 4,
    +
    62 4, 4, 3, 3, 1, 0, 1, -1, 0, -1, 0, -2, -3, -4, -4, -3, -3, -3, -4, -5, -5, -6,
    +
    63 -4, -3, -3, -3, -2, -2, 0, -1, 0, 1, 1, 1, 2, 1, 1, 2, 3, 3, 4, 2, 1, 1, 1, 0,
    +
    64 1, 0, 0, -1, -2, -3, -3, -3, -3, -4, -3, -4, -4, -5, -5, -4, -4, -3, -2, -2, -2,
    +
    65 -1, 0, -1, 0, 1, 1, 2, 1, 1, 1, 1, 2, 3, 2, 2, 1, 1, 1, 0, 1, 0, 0, -1, -1, -2,
    +
    66 -3, -3, -3, -4, -4, -4, -4, -4, -4, -3, -4, -3, -3, -2, -1, -1, -1, 0, -1, 0, 1,
    +
    67 1, 2, 2, 2, 3, 1, 2, 2, 1, 1, 1, 0, 0, 0, 0, 0, -1, -1, -3, -3, -3, -4, -4, -4,
    +
    68 -4, -3, -4, -3, -3, -3, -3, -3, -2, -1, -1, 0, 0, 0, 0, 1, 1, 2, 2, 3, 2, 1, 1,
    +
    69 1, 2, 1, 1, 1, 0, -1, -1, -1, -2, -2, -2, -3, -3, -3, -4, -5, -4, -5, -4, -3,
    +
    70 -4, -3, -3, -2, -1, -1, -1, 0, 0, 0, 0, 1, 1, 2, 2, 2, 1, 2, 2, 1, 2, 1, 1, 0,
    +
    71 0, 0, -1, -1, -1, -3, -2, -3, -3, -4, -4, -4, -4, -4, -3, -3, -3, -3, -3, -1,
    +
    72 -1, -1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0, -1, -1, -2,
    +
    73 -3, -2, -3, -3, -3, -4, -3, -4, -4, -4, -3, -2, -2, -2, -2, -2, -1, -1, 0, 0, 0,
    +
    74 0, 1, 1, 0, 1, 1, 1, 2, 2, 1, 1, 0, 0, 0, -1, -1, 0, -1, -2, -2, -2, -3, -3, -3,
    +
    75 -3, -3, -3, -3, -3, -3, -3, -2, -2, -2, -1, 0, -1, 0, 0, 0, 0, 0, 1, 1, 2, 2, 2,
    +
    76 2, 1, 0, 1, 0, 0, 0, 0, 0, -1, -1, -2, -2, -2, -3, -2, -3, -3, -3, -3, -3, -3,
    +
    77 -3, -3, -2, -2, -1, -1, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, -1,
    +
    78 0, -1, 0, -1, -1, -2, -2, -2, -2, -2, -3, -2, -2, -3, -2, -2, -2, -2, -2, -2,
    +
    79 -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, -1, 0, 0, -1, -1,
    +
    80 -2, -2, -2, -2, -2, -2, -2, -2, -3, -2, -2, -2, -2, -2, -2, 0, -1, 0, -1, 0, 0,
    +
    81 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -2, -2, -2, -2,
    +
    82 -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 1, 0, 1,
    +
    83 1, 1, 1, 0, 0, 0, 0, 0, -1, -1, -1, -1, -2, -1, -2, -2, -2, -2, -2, -3, -2, -2,
    +
    84 -2, -2, -2, -2, -2, -2, -1, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0,
    +
    85 0, 0, 0, 0, -1, -1, -1, -1, -1, -2, -1, -1, -1, -2, -1, -2, -1, -1, -1, -1, -1,
    +
    86 -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1,
    +
    87 -1, -1, -1, -1, -1, -1, -1, -1, -1, -2, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1,
    +
    88 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1,
    +
    89 -1, -1, -1, -1, -2, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0,
    +
    90 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    91 -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    92 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -2, -1, -1, -1, -1, -1, -1, -1,
    +
    93 -1, -1, -1, -1, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    94 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    95 -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1,
    +
    96 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0,
    +
    97 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    98 -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    99 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    100 -1, -1, -1, -1, -1, -1, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    101 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0,
    +
    102 -1, -1, -1, -1, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, 0, 0, -1, 0, 0, 0, -1, -1,
    +
    103 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0,
    +
    104 -1, 0, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1,
    +
    105 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, -1, 0, 0, 0,
    +
    106 0, 0, -1, 0, 0, 0, -1, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    107 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, -1, 0, -1, 0, -1,
    +
    108 0, };
    +
    109 
    +
    110  #endif /* BAMBOO_01_2048_H_ */
    +
    + + + diff --git a/doc/html/bamboo__01__4096__int8_8h_source.html b/doc/html/bamboo__01__4096__int8_8h_source.html index 126102816..feeda0275 100644 --- a/doc/html/bamboo__01__4096__int8_8h_source.html +++ b/doc/html/bamboo__01__4096__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: samples/bamboo/bamboo_01_4096_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,214 +99,216 @@
    -
    samples/bamboo/bamboo_01_4096_int8.h
    +
    bamboo_01_4096_int8.h
    -
    00001 #ifndef BAMBOO_01_4096_H_
    -00002 #define BAMBOO_01_4096_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 #define BAMBOO_01_4096_NUM_CELLS 4096
    -00012 #define BAMBOO_01_4096_SAMPLERATE 16384
    -00013 
    -00014 const char __attribute__((progmem)) BAMBOO_01_4096_DATA []  = {0, 1, -1, 1, -1, 0, 1, -1, 0, -1, 0,
    -00015                 -1, 0, 0, -1, -6, -29, -70, -96, -71, -16, 15, 13, 13, 53, 105, 126, 110, 34,
    -00016                 -32, -49, -62, -45, -10, 29, 56, 29, -8, -56, -89, -72, -71, -28, 46, 82, 70, 1,
    -00017                 -57, -85, -60, 15, 48, 71, 61, 17, -27, -61, -27, 2, 26, 63, 50, 43, 13, -53,
    -00018                 -67, -39, 35, 84, 64, 20, -27, -40, -40, -30, -5, 6, 28, 17, -23, -35, -44, -30,
    -00019                 -11, 9, 25, 14, -5, -37, -44, -2, 19, 15, 9, 3, 5, 4, 4, 5, 13, 24, 20, 15, 8,
    -00020                 1, 2, -1, 6, 14, 13, 2, -21, -29, -8, 13, 13, -7, -24, -27, -21, -11, -14, -18,
    -00021                 -9, 1, -1, -10, -13, -15, -10, 0, 7, 15, 16, 7, 1, 0, 10, 13, 9, 9, 15, 22, 22,
    -00022                 10, -4, -9, -4, 4, 8, 11, 6, -3, -17, -23, -21, -13, 0, 4, 2, -1, -16, -30, -36,
    -00023                 -24, 0, 18, 19, 5, -8, -14, -10, -1, 10, 20, 24, 20, 9, -3, -10, -6, 5, 19, 29,
    -00024                 26, 14, -2, -12, -10, -2, 3, 5, 2, -3, -12, -21, -25, -19, -7, 1, 3, -3, -11,
    -00025                 -15, -14, -9, -4, -3, -6, -7, -4, 0, 7, 13, 13, 10, 7, 6, 6, 7, 8, 11, 15, 16,
    -00026                 10, 2, -2, -3, 0, 2, 1, -5, -12, -16, -14, -10, -7, -6, -10, -12, -9, -7, -6,
    -00027                 -10, -12, -8, -2, 3, 3, 1, 0, -2, -3, -1, 6, 14, 18, 19, 14, 8, 3, 1, 3, 8, 12,
    -00028                 9, 4, 0, -8, -10, -5, 1, 6, 1, -4, -10, -15, -15, -16, -12, -5, 0, 0, -6, -15,
    -00029                 -16, -13, -4, 5, 12, 13, 9, 2, -3, -2, 1, 9, 16, 18, 17, 11, 4, -2, -2, 2, 8,
    -00030                 10, 7, -1, -10, -12, -9, -4, -3, -5, -7, -6, -10, -12, -11, -11, -9, -8, -8, -5,
    -00031                 -4, -4, -3, -1, 1, 2, 2, 4, 9, 10, 6, 5, 5, 8, 10, 10, 8, 7, 5, 1, 0, 2, 3, 3,
    -00032                 1, -4, -7, -10, -10, -10, -9, -7, -7, -10, -10, -12, -13, -9, -4, 0, -2, -5, -7,
    -00033                 -4, 1, 8, 8, 9, 9, 8, 7, 6, 8, 9, 13, 13, 9, 7, 1, -2, -1, 2, 6, 3, 0, -3, -9,
    -00034                 -11, -13, -9, -3, -3, -5, -11, -16, -15, -11, -4, -1, 3, 1, -3, -4, -6, -2, 6,
    -00035                 11, 14, 12, 8, 4, 4, 7, 10, 12, 10, 6, 2, -2, -2, -1, 1, 3, 0, -1, -3, -6, -8,
    -00036                 -8, -6, -4, -7, -9, -13, -14, -12, -8, -3, 0, -1, -3, -3, -1, 1, 4, 4, 7, 8, 6,
    -00037                 1, 0, 1, 6, 9, 9, 9, 7, 5, 3, 3, 4, 2, 1, -1, -1, -5, -9, -9, -8, -7, -6, -7,
    -00038                 -8, -10, -10, -9, -7, -5, -4, -5, -4, -2, 0, 0, 0, 2, 5, 8, 10, 9, 7, 6, 7, 7,
    -00039                 8, 9, 6, 5, 3, 2, 1, 0, -1, -2, -4, -4, -7, -8, -8, -7, -7, -7, -7, -9, -7, -6,
    -00040                 -5, -4, -3, -3, -2, 0, 0, 0, 1, 2, 4, 6, 6, 6, 7, 6, 6, 6, 8, 9, 8, 5, 1, 0, 0,
    -00041                 -2, -2, -1, 1, -2, -6, -10, -12, -10, -7, -4, -4, -6, -8, -9, -6, -4, -3, -1,
    -00042                 -2, 0, 0, 0, 0, 0, 4, 7, 7, 9, 6, 5, 6, 6, 6, 5, 6, 5, 3, 2, 0, -2, -3, -4, -3,
    -00043                 -4, -6, -6, -9, -9, -10, -7, -6, -6, -6, -6, -6, -4, -4, -2, 0, 2, 3, 3, 3, 3,
    -00044                 3, 5, 6, 8, 7, 6, 4, 4, 5, 5, 5, 4, 3, 1, -1, -2, -3, -5, -6, -5, -3, -2, -5,
    -00045                 -7, -9, -8, -5, -4, -4, -5, -4, -4, -4, -4, -3, 0, 4, 5, 5, 4, 3, 4, 5, 7, 7, 6,
    -00046                 5, 4, 3, 3, 2, 4, 4, 1, -1, -2, -4, -5, -5, -5, -5, -5, -6, -7, -8, -7, -5, -5,
    -00047                 -3, -1, -2, -3, -3, -3, -1, 0, 1, 3, 3, 4, 4, 4, 4, 5, 5, 7, 6, 4, 4, 2, 0, 1,
    -00048                 1, 1, -1, -3, -3, -5, -5, -5, -5, -5, -4, -4, -7, -8, -9, -6, -5, -2, -1, -2,
    -00049                 -1, -2, -1, 0, 1, 4, 6, 5, 5, 4, 4, 4, 4, 5, 6, 6, 4, 2, 3, 1, 0, 0, -1, -1, -2,
    -00050                 -3, -5, -5, -5, -6, -5, -6, -7, -6, -5, -5, -4, -4, -3, -2, -1, 0, 0, 2, 3, 3,
    -00051                 3, 4, 4, 3, 3, 4, 6, 5, 5, 4, 3, 2, 1, 1, 0, 0, 0, -3, -4, -5, -6, -7, -5, -6,
    -00052                 -4, -4, -5, -6, -6, -6, -4, -4, -1, -1, 0, 0, -1, 0, 1, 3, 4, 6, 6, 6, 4, 3, 4,
    -00053                 3, 4, 4, 3, 3, 2, 0, -1, -2, -2, -2, -3, -4, -4, -5, -6, -6, -7, -6, -4, -4, -4,
    -00054                 -4, -4, -4, -4, -2, -1, 0, 1, 2, 3, 3, 4, 5, 6, 5, 6, 6, 5, 4, 4, 3, 2, 1, 0,
    -00055                 -1, -1, -1, -2, -3, -2, -4, -4, -5, -6, -6, -6, -5, -5, -4, -4, -4, -4, -3, -2,
    -00056                 -1, 1, 1, 1, 1, 1, 2, 3, 4, 4, 6, 6, 4, 4, 3, 2, 2, 2, 3, 3, 1, -1, -2, -4, -4,
    -00057                 -4, -4, -4, -4, -4, -5, -5, -5, -4, -4, -4, -3, -4, -2, -2, -2, -1, 0, 2, 3, 3,
    -00058                 3, 3, 3, 3, 4, 5, 5, 4, 3, 3, 2, 1, 1, 1, 0, 0, -1, -2, -3, -3, -4, -3, -4, -4,
    -00059                 -4, -5, -6, -4, -4, -3, -3, -3, -2, -1, -2, 0, 0, 1, 2, 3, 3, 3, 4, 4, 4, 5, 4,
    -00060                 4, 3, 3, 2, 1, 0, 0, -1, -1, -1, -2, -3, -4, -4, -3, -3, -5, -4, -6, -6, -5, -3,
    -00061                 -3, -3, -3, -2, -1, 0, -1, 0, 2, 3, 2, 3, 3, 2, 3, 4, 5, 4, 4, 3, 1, 1, 1, 0, 0,
    -00062                 -1, 0, -1, -3, -3, -4, -3, -3, -3, -4, -5, -5, -6, -4, -3, -3, -3, -2, -2, 0, 0,
    -00063                 1, 2, 2, 2, 3, 2, 2, 3, 4, 4, 5, 3, 2, 2, 2, 1, 2, 1, 0, -1, -2, -3, -3, -3, -3,
    -00064                 -4, -3, -4, -4, -5, -5, -4, -4, -3, -2, -2, -2, -1, 0, 0, 1, 2, 2, 3, 2, 2, 2,
    -00065                 2, 3, 4, 3, 3, 2, 2, 2, 1, 2, 1, 0, -1, -1, -2, -3, -3, -3, -4, -4, -4, -4, -4,
    -00066                 -4, -3, -4, -3, -3, -2, -1, -1, -1, 0, 0, 1, 2, 2, 3, 3, 3, 4, 2, 3, 3, 2, 2, 2,
    -00067                 1, 1, 0, 1, 0, -1, -1, -3, -3, -3, -4, -4, -4, -4, -3, -4, -3, -3, -3, -3, -3,
    -00068                 -2, -1, -1, 0, 0, 1, 0, 2, 2, 3, 3, 4, 3, 2, 2, 2, 3, 2, 2, 2, 1, 0, -1, 0, -2,
    -00069                 -2, -2, -3, -3, -3, -4, -5, -4, -5, -4, -3, -4, -3, -3, -2, -1, -1, -1, 0, 1, 1,
    -00070                 1, 2, 2, 3, 3, 3, 2, 3, 3, 2, 3, 2, 2, 0, 1, 0, -1, -1, -1, -3, -2, -3, -3, -4,
    -00071                 -4, -4, -4, -4, -3, -3, -3, -3, -3, -1, -1, -1, 0, 0, 1, 1, 1, 2, 2, 2, 2, 3, 3,
    -00072                 3, 3, 2, 2, 2, 2, 1, 1, 0, -1, -1, -2, -3, -2, -3, -3, -3, -4, -3, -4, -4, -4,
    -00073                 -3, -2, -2, -2, -2, -2, -1, 0, 0, 1, 1, 1, 2, 2, 1, 2, 2, 2, 3, 3, 2, 2, 1, 1,
    -00074                 0, 0, -1, 0, -1, -2, -2, -2, -3, -4, -3, -3, -3, -3, -4, -3, -3, -3, -2, -2, -2,
    -00075                 -1, 0, 0, 0, 1, 1, 1, 1, 2, 2, 3, 3, 3, 3, 2, 1, 2, 1, 1, 1, 1, 0, 0, -1, -2,
    -00076                 -2, -2, -3, -2, -3, -3, -4, -3, -4, -3, -3, -3, -2, -2, -1, -1, 0, 0, 1, 1, 1,
    -00077                 1, 2, 1, 2, 1, 2, 3, 2, 2, 2, 1, 1, 0, 1, -1, 0, -1, -1, -2, -2, -2, -2, -3, -4,
    -00078                 -3, -3, -4, -3, -2, -3, -2, -2, -2, -1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2,
    -00079                 2, 2, 1, 1, 1, 0, 0, 0, 0, -1, -1, -2, -2, -3, -3, -3, -3, -3, -3, -4, -3, -2,
    -00080                 -2, -2, -2, -2, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 0, 0,
    -00081                 0, -1, -1, -1, -2, -2, -3, -3, -2, -3, -3, -3, -2, -3, -2, -2, -2, -1, -1, -1,
    -00082                 0, 0, 0, 1, 1, 1, 1, 2, 1, 2, 2, 2, 3, 1, 1, 1, 1, 1, 0, -1, 0, -1, -2, -1, -2,
    -00083                 -2, -2, -2, -3, -4, -3, -3, -3, -2, -2, -2, -2, -2, -1, 0, 0, 0, 0, 1, 1, 1, 1,
    -00084                 2, 1, 1, 2, 1, 2, 2, 1, 1, 1, 1, 0, 0, -1, -1, -1, -2, -2, -3, -2, -2, -2, -3,
    -00085                 -2, -3, -2, -2, -2, -2, -2, -1, -1, -1, 0, 0, 1, 1, 1, 1, 2, 2, 2, 1, 2, 1, 1,
    -00086                 1, 0, 1, 0, 0, 0, -1, 0, -1, -1, -2, -2, -2, -2, -2, -2, -2, -3, -2, -2, -2, -2,
    -00087                 -1, -1, -1, -1, 0, 0, 0, 1, 1, 1, 1, 2, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 0, 0,
    -00088                 -1, -2, -2, -2, -2, -2, -2, -2, -2, -3, -2, -2, -2, -2, -2, -2, -1, -1, 0, 0, 0,
    -00089                 1, 1, 1, 1, 1, 1, 2, 1, 2, 2, 1, 1, 1, 1, 1, 1, 0, -1, -1, -2, -2, -2, -2, -2,
    -00090                 -2, -2, -2, -2, -3, -2, -2, -2, -2, -2, -1, -2, -1, -1, 0, 0, 1, 1, 1, 1, 1, 1,
    -00091                 1, 1, 1, 2, 1, 1, 1, 1, 0, 1, 0, 0, -1, -2, -1, -2, -2, -2, -3, -2, -2, -2, -2,
    -00092                 -2, -2, -2, -2, -2, -2, -1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1,
    -00093                 1, 1, 1, 0, 0, -1, -2, -1, -1, -2, -2, -2, -2, -2, -2, -2, -3, -2, -2, -2, -2,
    -00094                 -1, 0, -1, 0, -1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, -1, -1,
    -00095                 -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, 0, -1, 0, 0, 1,
    -00096                 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, -1, -1, -2, -2, -2, -2,
    -00097                 -2, -2, -2, -2, -2, -2, -2, -2, -1, -1, 0, -1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1,
    -00098                 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, -1, 0, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
    -00099                 -2, -1, -1, -2, -1, -1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1,
    -00100                 -1, 0, -1, -1, -1, -1, -1, -2, -2, -2, -2, -1, -2, -2, -2, -1, -1, -1, -1, 0,
    -00101                 -1, 0, -1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, -1, -1, -1,
    -00102                 -1, -1, -1, -1, -2, -2, -2, -2, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0,
    -00103                 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, -1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1,
    -00104                 -2, -2, -2, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
    -00105                 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -2, -1, -1, -2, -1, -1, -1, -1,
    -00106                 -1, -1, -1, -1, 0, -1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -1, 0,
    -00107                 -1, -1, -1, -1, -1, -2, -2, -1, -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0,
    -00108                 -1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -2,
    -00109                 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 1, 1,
    -00110                 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00111                 -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00112                 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -2, -1, -1, -1, -1, -1, -1, -1,
    -00113                 -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1,
    -00114                 -1, -1, -1, -1, -1, -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0,
    -00115                 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1,
    -00116                 -1, -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
    -00117                 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00118                 -1, -1, -1, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00119                 0, -1, 0, -1, -1, -1, -1, -1, -1, -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1,
    -00120                 0, -1, 0, 0, -1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1,
    -00121                 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0,
    -00122                 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, 0, -1, -1, -1, -1, -1,
    -00123                 -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00124                 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, -1, -1, -1, -1, -1, -2, -1, -1, -1, -1, -1, -1,
    -00125                 -1, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0,
    -00126                 -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0,
    -00127                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, 0, -1, -1,
    -00128                 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0,
    -00129                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1,
    -00130                 -1, -1, -1, -1, -1, -1, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00131                 -1, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1,
    -00132                 0, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, -1,
    -00133                 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0,
    -00134                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1,
    -00135                 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0,
    -00136                 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00137                 -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00138                 -1, 0, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1,
    -00139                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, -1, 0, -1, 0, -1,
    -00140                 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, 0, 0,
    -00141                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, -1, -1, -1, -1, -1, -1, -1,
    -00142                 -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00143                 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00144                 -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, -1, 0, 0,
    -00145                 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1,
    -00146                 -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1,
    -00147                 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0,
    -00148                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1,
    -00149                 -1, -1, -1, 0, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00150                 -1, 0, -1, 0, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1,
    -00151                 0, -1, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, -1, -1,
    -00152                 -1, 0, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, -1, 0, 0,
    -00153                 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, -1, -1, -1, -1, -1, 0,
    -00154                 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00155                 0, 0, -1, 0, 0, 0, -1, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0,
    -00156                 0, 0, -1, 0, -1, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0,
    -00157                 -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, 0, 0,
    -00158                 -1, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, -1, -1,
    -00159                 -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0,
    -00160                 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, 0, -1,
    -00161                 -1, -1, -1, 0, -1, -1, -1, -1, 0, 0, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0,
    -00162                 0, -1, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, 0, -1, -1, 0, -1, -1, -1, -1, -1, -1,
    -00163                 0, -1, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1,
    -00164                 -1, 0, -1, -1, -1, 0, -1, 0, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1,
    -00165                 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1, -1, -1,
    -00166                 -1, -1, -1, 0, -1, 0, -1, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0,
    -00167                 0, 0, 0, 0, -1, 0, 0, 0, -1, 0, 0, -1, 0, -1, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0,
    -00168                 -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0,
    -00169                 -1, 0, -1, 0, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, 0, -1, -1,
    -00170                 0, -1, -1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, -1,
    -00171                 -1, 0, -1, 0, 0, -1, 0, -1, -1, -1, 0, -1, 0, -1, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0,
    -00172                 -1, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, -1, -1, -1, -1,
    -00173                 -1, -1, -1, -1, 0, -1, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0,
    -00174                 0, -1, 0, -1, 0, -1, 0, 0, -1, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00175                 -1, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, -1,
    -00176                 -1, 0, 0, -1, -1, -1, -1, -1, 0, -1, -1, 0, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0,
    -00177                 -1, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, 0, -1, -1, -1, -1, -1, -1,
    -00178                 -1, 0, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, -1, 0, 0, -1, 0, 0, 0, -1, 0,
    -00179                 0, -1, 0, 0, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, 0, -1, -1,
    -00180                 -1, -1, -1, -1, -1, 0, -1, -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1,
    -00181                 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, -1, 0, -1, 0, 0,
    -00182                 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0,
    -00183                 -1, 0, 0, -1, 0, 0, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1,
    -00184                 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, -1,
    -00185                 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, -1, 0, 0, 0,
    -00186                 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0,
    -00187                 0, 0, 0, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, 0,
    -00188                 -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0,
    -00189                 -1, 0, -1, 0, -1, -1, 0, -1, 0, -1, 0, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, 0,
    -00190                 0, -1, 0, 0, -1, 0, -1, 0, -1, -1, 0, -1, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, -1, 0,
    -00191                 -1, 0, -1, 0, 0, 0, -1, 0, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0,
    -00192                 -1, 0, 0, 0, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0,
    -00193                 -1, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1,
    -00194                 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, -1, 0, -1, 0, -1, 0, -1, 0, -1,
    -00195                 0, -1, 0, 0, -1, 0, -1, 0, 0, -1, 0, };
    -00196 
    -00197 #endif /* BAMBOO_01_4096_H_ */
    -
    - - - - +
    1 #ifndef BAMBOO_01_4096_H_
    +
    2 #define BAMBOO_01_4096_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 #define BAMBOO_01_4096_NUM_CELLS 4096
    +
    12 #define BAMBOO_01_4096_SAMPLERATE 16384
    +
    13 
    +
    14 const char __attribute__((progmem)) BAMBOO_01_4096_DATA [] = {0, 1, -1, 1, -1, 0, 1, -1, 0, -1, 0,
    +
    15  -1, 0, 0, -1, -6, -29, -70, -96, -71, -16, 15, 13, 13, 53, 105, 126, 110, 34,
    +
    16  -32, -49, -62, -45, -10, 29, 56, 29, -8, -56, -89, -72, -71, -28, 46, 82, 70, 1,
    +
    17  -57, -85, -60, 15, 48, 71, 61, 17, -27, -61, -27, 2, 26, 63, 50, 43, 13, -53,
    +
    18  -67, -39, 35, 84, 64, 20, -27, -40, -40, -30, -5, 6, 28, 17, -23, -35, -44, -30,
    +
    19  -11, 9, 25, 14, -5, -37, -44, -2, 19, 15, 9, 3, 5, 4, 4, 5, 13, 24, 20, 15, 8,
    +
    20  1, 2, -1, 6, 14, 13, 2, -21, -29, -8, 13, 13, -7, -24, -27, -21, -11, -14, -18,
    +
    21  -9, 1, -1, -10, -13, -15, -10, 0, 7, 15, 16, 7, 1, 0, 10, 13, 9, 9, 15, 22, 22,
    +
    22  10, -4, -9, -4, 4, 8, 11, 6, -3, -17, -23, -21, -13, 0, 4, 2, -1, -16, -30, -36,
    +
    23  -24, 0, 18, 19, 5, -8, -14, -10, -1, 10, 20, 24, 20, 9, -3, -10, -6, 5, 19, 29,
    +
    24  26, 14, -2, -12, -10, -2, 3, 5, 2, -3, -12, -21, -25, -19, -7, 1, 3, -3, -11,
    +
    25  -15, -14, -9, -4, -3, -6, -7, -4, 0, 7, 13, 13, 10, 7, 6, 6, 7, 8, 11, 15, 16,
    +
    26  10, 2, -2, -3, 0, 2, 1, -5, -12, -16, -14, -10, -7, -6, -10, -12, -9, -7, -6,
    +
    27  -10, -12, -8, -2, 3, 3, 1, 0, -2, -3, -1, 6, 14, 18, 19, 14, 8, 3, 1, 3, 8, 12,
    +
    28  9, 4, 0, -8, -10, -5, 1, 6, 1, -4, -10, -15, -15, -16, -12, -5, 0, 0, -6, -15,
    +
    29  -16, -13, -4, 5, 12, 13, 9, 2, -3, -2, 1, 9, 16, 18, 17, 11, 4, -2, -2, 2, 8,
    +
    30  10, 7, -1, -10, -12, -9, -4, -3, -5, -7, -6, -10, -12, -11, -11, -9, -8, -8, -5,
    +
    31  -4, -4, -3, -1, 1, 2, 2, 4, 9, 10, 6, 5, 5, 8, 10, 10, 8, 7, 5, 1, 0, 2, 3, 3,
    +
    32  1, -4, -7, -10, -10, -10, -9, -7, -7, -10, -10, -12, -13, -9, -4, 0, -2, -5, -7,
    +
    33  -4, 1, 8, 8, 9, 9, 8, 7, 6, 8, 9, 13, 13, 9, 7, 1, -2, -1, 2, 6, 3, 0, -3, -9,
    +
    34  -11, -13, -9, -3, -3, -5, -11, -16, -15, -11, -4, -1, 3, 1, -3, -4, -6, -2, 6,
    +
    35  11, 14, 12, 8, 4, 4, 7, 10, 12, 10, 6, 2, -2, -2, -1, 1, 3, 0, -1, -3, -6, -8,
    +
    36  -8, -6, -4, -7, -9, -13, -14, -12, -8, -3, 0, -1, -3, -3, -1, 1, 4, 4, 7, 8, 6,
    +
    37  1, 0, 1, 6, 9, 9, 9, 7, 5, 3, 3, 4, 2, 1, -1, -1, -5, -9, -9, -8, -7, -6, -7,
    +
    38  -8, -10, -10, -9, -7, -5, -4, -5, -4, -2, 0, 0, 0, 2, 5, 8, 10, 9, 7, 6, 7, 7,
    +
    39  8, 9, 6, 5, 3, 2, 1, 0, -1, -2, -4, -4, -7, -8, -8, -7, -7, -7, -7, -9, -7, -6,
    +
    40  -5, -4, -3, -3, -2, 0, 0, 0, 1, 2, 4, 6, 6, 6, 7, 6, 6, 6, 8, 9, 8, 5, 1, 0, 0,
    +
    41  -2, -2, -1, 1, -2, -6, -10, -12, -10, -7, -4, -4, -6, -8, -9, -6, -4, -3, -1,
    +
    42  -2, 0, 0, 0, 0, 0, 4, 7, 7, 9, 6, 5, 6, 6, 6, 5, 6, 5, 3, 2, 0, -2, -3, -4, -3,
    +
    43  -4, -6, -6, -9, -9, -10, -7, -6, -6, -6, -6, -6, -4, -4, -2, 0, 2, 3, 3, 3, 3,
    +
    44  3, 5, 6, 8, 7, 6, 4, 4, 5, 5, 5, 4, 3, 1, -1, -2, -3, -5, -6, -5, -3, -2, -5,
    +
    45  -7, -9, -8, -5, -4, -4, -5, -4, -4, -4, -4, -3, 0, 4, 5, 5, 4, 3, 4, 5, 7, 7, 6,
    +
    46  5, 4, 3, 3, 2, 4, 4, 1, -1, -2, -4, -5, -5, -5, -5, -5, -6, -7, -8, -7, -5, -5,
    +
    47  -3, -1, -2, -3, -3, -3, -1, 0, 1, 3, 3, 4, 4, 4, 4, 5, 5, 7, 6, 4, 4, 2, 0, 1,
    +
    48  1, 1, -1, -3, -3, -5, -5, -5, -5, -5, -4, -4, -7, -8, -9, -6, -5, -2, -1, -2,
    +
    49  -1, -2, -1, 0, 1, 4, 6, 5, 5, 4, 4, 4, 4, 5, 6, 6, 4, 2, 3, 1, 0, 0, -1, -1, -2,
    +
    50  -3, -5, -5, -5, -6, -5, -6, -7, -6, -5, -5, -4, -4, -3, -2, -1, 0, 0, 2, 3, 3,
    +
    51  3, 4, 4, 3, 3, 4, 6, 5, 5, 4, 3, 2, 1, 1, 0, 0, 0, -3, -4, -5, -6, -7, -5, -6,
    +
    52  -4, -4, -5, -6, -6, -6, -4, -4, -1, -1, 0, 0, -1, 0, 1, 3, 4, 6, 6, 6, 4, 3, 4,
    +
    53  3, 4, 4, 3, 3, 2, 0, -1, -2, -2, -2, -3, -4, -4, -5, -6, -6, -7, -6, -4, -4, -4,
    +
    54  -4, -4, -4, -4, -2, -1, 0, 1, 2, 3, 3, 4, 5, 6, 5, 6, 6, 5, 4, 4, 3, 2, 1, 0,
    +
    55  -1, -1, -1, -2, -3, -2, -4, -4, -5, -6, -6, -6, -5, -5, -4, -4, -4, -4, -3, -2,
    +
    56  -1, 1, 1, 1, 1, 1, 2, 3, 4, 4, 6, 6, 4, 4, 3, 2, 2, 2, 3, 3, 1, -1, -2, -4, -4,
    +
    57  -4, -4, -4, -4, -4, -5, -5, -5, -4, -4, -4, -3, -4, -2, -2, -2, -1, 0, 2, 3, 3,
    +
    58  3, 3, 3, 3, 4, 5, 5, 4, 3, 3, 2, 1, 1, 1, 0, 0, -1, -2, -3, -3, -4, -3, -4, -4,
    +
    59  -4, -5, -6, -4, -4, -3, -3, -3, -2, -1, -2, 0, 0, 1, 2, 3, 3, 3, 4, 4, 4, 5, 4,
    +
    60  4, 3, 3, 2, 1, 0, 0, -1, -1, -1, -2, -3, -4, -4, -3, -3, -5, -4, -6, -6, -5, -3,
    +
    61  -3, -3, -3, -2, -1, 0, -1, 0, 2, 3, 2, 3, 3, 2, 3, 4, 5, 4, 4, 3, 1, 1, 1, 0, 0,
    +
    62  -1, 0, -1, -3, -3, -4, -3, -3, -3, -4, -5, -5, -6, -4, -3, -3, -3, -2, -2, 0, 0,
    +
    63  1, 2, 2, 2, 3, 2, 2, 3, 4, 4, 5, 3, 2, 2, 2, 1, 2, 1, 0, -1, -2, -3, -3, -3, -3,
    +
    64  -4, -3, -4, -4, -5, -5, -4, -4, -3, -2, -2, -2, -1, 0, 0, 1, 2, 2, 3, 2, 2, 2,
    +
    65  2, 3, 4, 3, 3, 2, 2, 2, 1, 2, 1, 0, -1, -1, -2, -3, -3, -3, -4, -4, -4, -4, -4,
    +
    66  -4, -3, -4, -3, -3, -2, -1, -1, -1, 0, 0, 1, 2, 2, 3, 3, 3, 4, 2, 3, 3, 2, 2, 2,
    +
    67  1, 1, 0, 1, 0, -1, -1, -3, -3, -3, -4, -4, -4, -4, -3, -4, -3, -3, -3, -3, -3,
    +
    68  -2, -1, -1, 0, 0, 1, 0, 2, 2, 3, 3, 4, 3, 2, 2, 2, 3, 2, 2, 2, 1, 0, -1, 0, -2,
    +
    69  -2, -2, -3, -3, -3, -4, -5, -4, -5, -4, -3, -4, -3, -3, -2, -1, -1, -1, 0, 1, 1,
    +
    70  1, 2, 2, 3, 3, 3, 2, 3, 3, 2, 3, 2, 2, 0, 1, 0, -1, -1, -1, -3, -2, -3, -3, -4,
    +
    71  -4, -4, -4, -4, -3, -3, -3, -3, -3, -1, -1, -1, 0, 0, 1, 1, 1, 2, 2, 2, 2, 3, 3,
    +
    72  3, 3, 2, 2, 2, 2, 1, 1, 0, -1, -1, -2, -3, -2, -3, -3, -3, -4, -3, -4, -4, -4,
    +
    73  -3, -2, -2, -2, -2, -2, -1, 0, 0, 1, 1, 1, 2, 2, 1, 2, 2, 2, 3, 3, 2, 2, 1, 1,
    +
    74  0, 0, -1, 0, -1, -2, -2, -2, -3, -4, -3, -3, -3, -3, -4, -3, -3, -3, -2, -2, -2,
    +
    75  -1, 0, 0, 0, 1, 1, 1, 1, 2, 2, 3, 3, 3, 3, 2, 1, 2, 1, 1, 1, 1, 0, 0, -1, -2,
    +
    76  -2, -2, -3, -2, -3, -3, -4, -3, -4, -3, -3, -3, -2, -2, -1, -1, 0, 0, 1, 1, 1,
    +
    77  1, 2, 1, 2, 1, 2, 3, 2, 2, 2, 1, 1, 0, 1, -1, 0, -1, -1, -2, -2, -2, -2, -3, -4,
    +
    78  -3, -3, -4, -3, -2, -3, -2, -2, -2, -1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2,
    +
    79  2, 2, 1, 1, 1, 0, 0, 0, 0, -1, -1, -2, -2, -3, -3, -3, -3, -3, -3, -4, -3, -2,
    +
    80  -2, -2, -2, -2, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 0, 0,
    +
    81  0, -1, -1, -1, -2, -2, -3, -3, -2, -3, -3, -3, -2, -3, -2, -2, -2, -1, -1, -1,
    +
    82  0, 0, 0, 1, 1, 1, 1, 2, 1, 2, 2, 2, 3, 1, 1, 1, 1, 1, 0, -1, 0, -1, -2, -1, -2,
    +
    83  -2, -2, -2, -3, -4, -3, -3, -3, -2, -2, -2, -2, -2, -1, 0, 0, 0, 0, 1, 1, 1, 1,
    +
    84  2, 1, 1, 2, 1, 2, 2, 1, 1, 1, 1, 0, 0, -1, -1, -1, -2, -2, -3, -2, -2, -2, -3,
    +
    85  -2, -3, -2, -2, -2, -2, -2, -1, -1, -1, 0, 0, 1, 1, 1, 1, 2, 2, 2, 1, 2, 1, 1,
    +
    86  1, 0, 1, 0, 0, 0, -1, 0, -1, -1, -2, -2, -2, -2, -2, -2, -2, -3, -2, -2, -2, -2,
    +
    87  -1, -1, -1, -1, 0, 0, 0, 1, 1, 1, 1, 2, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 0, 0,
    +
    88  -1, -2, -2, -2, -2, -2, -2, -2, -2, -3, -2, -2, -2, -2, -2, -2, -1, -1, 0, 0, 0,
    +
    89  1, 1, 1, 1, 1, 1, 2, 1, 2, 2, 1, 1, 1, 1, 1, 1, 0, -1, -1, -2, -2, -2, -2, -2,
    +
    90  -2, -2, -2, -2, -3, -2, -2, -2, -2, -2, -1, -2, -1, -1, 0, 0, 1, 1, 1, 1, 1, 1,
    +
    91  1, 1, 1, 2, 1, 1, 1, 1, 0, 1, 0, 0, -1, -2, -1, -2, -2, -2, -3, -2, -2, -2, -2,
    +
    92  -2, -2, -2, -2, -2, -2, -1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1,
    +
    93  1, 1, 1, 0, 0, -1, -2, -1, -1, -2, -2, -2, -2, -2, -2, -2, -3, -2, -2, -2, -2,
    +
    94  -1, 0, -1, 0, -1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, -1, -1,
    +
    95  -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, 0, -1, 0, 0, 1,
    +
    96  0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, -1, -1, -2, -2, -2, -2,
    +
    97  -2, -2, -2, -2, -2, -2, -2, -2, -1, -1, 0, -1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1,
    +
    98  1, 1, 1, 1, 1, 0, 0, 0, 0, 0, -1, 0, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2,
    +
    99  -2, -1, -1, -2, -1, -1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1,
    +
    100  -1, 0, -1, -1, -1, -1, -1, -2, -2, -2, -2, -1, -2, -2, -2, -1, -1, -1, -1, 0,
    +
    101  -1, 0, -1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, -1, -1, -1,
    +
    102  -1, -1, -1, -1, -2, -2, -2, -2, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0,
    +
    103  0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, -1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    104  -2, -2, -2, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
    +
    105  0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -2, -1, -1, -2, -1, -1, -1, -1,
    +
    106  -1, -1, -1, -1, 0, -1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -1, 0,
    +
    107  -1, -1, -1, -1, -1, -2, -2, -1, -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0,
    +
    108  -1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -2,
    +
    109  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 1, 1,
    +
    110  1, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    111  -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    112  0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -2, -1, -1, -1, -1, -1, -1, -1,
    +
    113  -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1,
    +
    114  -1, -1, -1, -1, -1, -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0,
    +
    115  0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1,
    +
    116  -1, -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
    +
    117  0, 0, 0, 0, 0, 0, -1, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    118  -1, -1, -1, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    119  0, -1, 0, -1, -1, -1, -1, -1, -1, -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1,
    +
    120  0, -1, 0, 0, -1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1,
    +
    121  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0,
    +
    122  0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, 0, -1, -1, -1, -1, -1,
    +
    123  -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    124  0, 0, 0, 0, 0, 0, -1, 0, 0, -1, -1, -1, -1, -1, -1, -2, -1, -1, -1, -1, -1, -1,
    +
    125  -1, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0,
    +
    126  -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0,
    +
    127  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, 0, -1, -1,
    +
    128  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    129  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    130  -1, -1, -1, -1, -1, -1, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    131  -1, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1,
    +
    132  0, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, -1,
    +
    133  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0,
    +
    134  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1,
    +
    135  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0,
    +
    136  0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    137  -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    138  -1, 0, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1,
    +
    139  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, -1, 0, -1, 0, -1,
    +
    140  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, 0, 0,
    +
    141  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, -1, -1, -1, -1, -1, -1, -1,
    +
    142  -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    143  0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    144  -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, -1, 0, 0,
    +
    145  0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1,
    +
    146  -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1,
    +
    147  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0,
    +
    148  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    149  -1, -1, -1, 0, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    150  -1, 0, -1, 0, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1,
    +
    151  0, -1, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, -1, -1,
    +
    152  -1, 0, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, -1, 0, 0,
    +
    153  0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, -1, -1, -1, -1, -1, 0,
    +
    154  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    155  0, 0, -1, 0, 0, 0, -1, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0,
    +
    156  0, 0, -1, 0, -1, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0,
    +
    157  -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, 0, 0,
    +
    158  -1, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, -1, -1,
    +
    159  -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0,
    +
    160  0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, 0, -1,
    +
    161  -1, -1, -1, 0, -1, -1, -1, -1, 0, 0, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0,
    +
    162  0, -1, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, 0, -1, -1, 0, -1, -1, -1, -1, -1, -1,
    +
    163  0, -1, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1,
    +
    164  -1, 0, -1, -1, -1, 0, -1, 0, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1,
    +
    165  0, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1, -1, -1,
    +
    166  -1, -1, -1, 0, -1, 0, -1, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0,
    +
    167  0, 0, 0, 0, -1, 0, 0, 0, -1, 0, 0, -1, 0, -1, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0,
    +
    168  -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    169  -1, 0, -1, 0, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, 0, -1, -1,
    +
    170  0, -1, -1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, -1,
    +
    171  -1, 0, -1, 0, 0, -1, 0, -1, -1, -1, 0, -1, 0, -1, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0,
    +
    172  -1, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, -1, -1, -1, -1,
    +
    173  -1, -1, -1, -1, 0, -1, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0,
    +
    174  0, -1, 0, -1, 0, -1, 0, 0, -1, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    175  -1, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, -1,
    +
    176  -1, 0, 0, -1, -1, -1, -1, -1, 0, -1, -1, 0, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0,
    +
    177  -1, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, 0, -1, -1, -1, -1, -1, -1,
    +
    178  -1, 0, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, -1, 0, 0, -1, 0, 0, 0, -1, 0,
    +
    179  0, -1, 0, 0, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, 0, -1, -1,
    +
    180  -1, -1, -1, -1, -1, 0, -1, -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1,
    +
    181  0, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, -1, 0, -1, 0, 0,
    +
    182  0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0,
    +
    183  -1, 0, 0, -1, 0, 0, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1,
    +
    184  0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, -1,
    +
    185  0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, -1, 0, 0, 0,
    +
    186  0, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0,
    +
    187  0, 0, 0, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, 0,
    +
    188  -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0,
    +
    189  -1, 0, -1, 0, -1, -1, 0, -1, 0, -1, 0, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, 0,
    +
    190  0, -1, 0, 0, -1, 0, -1, 0, -1, -1, 0, -1, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, -1, 0,
    +
    191  -1, 0, -1, 0, 0, 0, -1, 0, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0,
    +
    192  -1, 0, 0, 0, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0,
    +
    193  -1, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1,
    +
    194  0, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, -1, 0, -1, 0, -1, 0, -1, 0, -1,
    +
    195  0, -1, 0, 0, -1, 0, -1, 0, 0, -1, 0, };
    +
    196 
    +
    197 #endif /* BAMBOO_01_4096_H_ */
    +
    + + + diff --git a/doc/html/bamboo__02__2048__int8_8h_source.html b/doc/html/bamboo__02__2048__int8_8h_source.html index 3188f9e9f..d8ff9fde7 100644 --- a/doc/html/bamboo__02__2048__int8_8h_source.html +++ b/doc/html/bamboo__02__2048__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: samples/bamboo/bamboo_02_2048_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,128 +99,130 @@
    -
    samples/bamboo/bamboo_02_2048_int8.h
    +
    bamboo_02_2048_int8.h
    -
    00001 #ifndef BAMBOO_02_2048_H_
    -00002 #define BAMBOO_02_2048_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 #define BAMBOO_02_2048_NUM_CELLS 2048
    -00012 #define BAMBOO_02_2048_SAMPLERATE 16384
    -00013 
    -00014 const char __attribute__((progmem)) BAMBOO_02_2048_DATA []  = {0, 0, -1, 0, -1, 1, 1, -1, 0, -1,
    -00015 -1, -6, -27, -68, -96, -66, -5, 11, 2, 42, 113, 125, 67, 6, -22, -26, -5, 22,
    -00016 23, -7, -62, -90, -48, 5, 7, -1, -6, -45, -91, -37, 69, 90, 40, 2, -20, -26, -7,
    -00017 17, 36, 43, 19, -28, -19, 36, 50, 24, 0, -31, -43, -11, 35, 36, 8, -27, -68,
    -00018 -69, -10, 38, 33, -2, -36, -61, -36, 29, 52, 21, -15, -37, -34, 2, 52, 72, 52,
    -00019 -3, -54, -49, 17, 60, 46, 16, -9, -29, -31, 2, 31, 11, -33, -54, -44, -8, 21,
    -00020 20, -10, -36, -48, -30, 12, 40, 23, -5, -22, -24, -7, 27, 49, 30, -4, -17, 0,
    -00021 24, 37, 25, 4, -15, -27, -26, 0, 27, 22, -9, -33, -38, -26, -14, -5, -1, -9,
    -00022 -16, -19, -7, 5, 10, -1, -9, -8, 0, 13, 28, 32, 18, 4, 0, 6, 11, 21, 24, 7, -12,
    -00023 -21, -12, 5, 9, -3, -22, -29, -25, -18, -1, 6, -2, -23, -36, -27, -6, 13, 17, 9,
    -00024 -4, -7, 0, 18, 33, 28, 13, 1, 4, 15, 23, 19, 7, -9, -21, -14, -1, 7, -1, -9,
    -00025 -21, -27, -25, -12, 0, -4, -20, -27, -22, -7, 6, 11, 9, -1, -7, -3, 13, 28, 31,
    -00026 26, 10, -3, 0, 12, 22, 18, 6, -9, -16, -16, -8, -2, -4, -18, -24, -21, -14, -3,
    -00027 1, -7, -19, -24, -18, -5, 9, 15, 8, -1, -4, 7, 24, 33, 25, 10, -2, -1, 9, 23,
    -00028 24, 12, -8, -22, -17, -4, 10, 6, -12, -28, -34, -24, -7, 1, -4, -14, -22, -19,
    -00029 -4, 10, 14, 6, -5, -9, 5, 23, 29, 27, 13, 3, -2, 6, 19, 23, 12, -7, -17, -14, 0,
    -00030 9, 5, -12, -26, -31, -24, -12, -3, -6, -13, -21, -18, -8, 4, 11, 6, -1, 0, 6,
    -00031 15, 18, 18, 14, 11, 8, 9, 14, 15, 7, -5, -10, -10, -4, -2, -3, -9, -16, -21,
    -00032 -24, -16, -9, -8, -14, -15, -13, -6, 2, 9, 9, 5, 1, 4, 9, 15, 17, 16, 11, 7, 7,
    -00033 9, 10, 8, 4, -2, -5, -6, -7, -6, -7, -11, -17, -16, -15, -13, -11, -12, -13,
    -00034 -11, -9, -2, 4, 9, 9, 6, 6, 7, 9, 12, 16, 10, 7, 7, 8, 6, 9, 8, 1, -5, -7, -10,
    -00035 -8, -7, -8, -12, -15, -14, -13, -10, -8, -8, -11, -9, -5, -2, 4, 5, 7, 6, 8, 8,
    -00036 9, 12, 9, 7, 5, 6, 6, 7, 8, 6, -1, -6, -5, -7, -8, -9, -12, -15, -17, -14, -10,
    -00037 -7, -4, -8, -9, -8, -3, 1, 6, 5, 3, 4, 8, 8, 12, 12, 9, 1, 1, 5, 8, 11, 7, 0,
    -00038 -5, -7, -3, -1, -3, -9, -15, -16, -14, -10, -7, -5, -9, -11, -9, -3, 2, 5, 6, 2,
    -00039 0, 3, 8, 12, 12, 13, 7, 5, 5, 7, 8, 6, 1, -2, -4, -5, -4, -5, -6, -11, -15, -14,
    -00040 -11, -9, -11, -9, -8, -7, -5, -1, 2, 4, 3, 5, 6, 8, 11, 9, 10, 8, 7, 9, 8, 4, 2,
    -00041 0, -2, -3, -6, -6, -7, -9, -9, -10, -9, -9, -9, -10, -8, -8, -5, -5, -1, 0, 3,
    -00042 4, 5, 6, 8, 7, 8, 9, 10, 8, 6, 6, 6, 4, 1, -1, -5, -5, -8, -7, -6, -9, -11, -13,
    -00043 -9, -8, -7, -7, -6, -8, -5, -4, 0, 1, 5, 4, 6, 5, 7, 8, 9, 7, 7, 5, 4, 2, 2, 2,
    -00044 0, -2, -4, -5, -7, -6, -9, -8, -8, -8, -7, -9, -8, -6, -6, -4, -2, 0, 1, 0, 2,
    -00045 4, 8, 8, 7, 7, 5, 4, 5, 4, 5, 3, 1, -1, -1, 0, -2, -2, -6, -7, -9, -8, -9, -8,
    -00046 -9, -9, -9, -7, -4, -4, 0, 1, 1, 1, 3, 6, 5, 8, 7, 5, 6, 4, 5, 4, 5, 1, -1, -2,
    -00047 -2, -4, -4, -4, -5, -6, -10, -10, -9, -9, -6, -8, -6, -5, -2, -2, 2, 3, 3, 4, 5,
    -00048 4, 5, 5, 6, 4, 5, 3, 4, 5, 4, 0, -1, -2, -5, -4, -5, -4, -6, -7, -9, -8, -5, -5,
    -00049 -7, -5, -5, -2, -2, 2, 4, 3, 3, 1, 4, 6, 7, 7, 3, 3, 3, 4, 4, 3, 3, -1, -2, -4,
    -00050 -3, -2, -4, -6, -9, -10, -7, -6, -4, -6, -5, -6, -4, -1, 0, 4, 2, 3, 3, 4, 5, 5,
    -00051 6, 3, 3, 0, 3, 4, 3, 2, 0, -2, -1, -4, -3, -5, -5, -6, -8, -7, -6, -5, -4, -5,
    -00052 -4, -3, -3, 0, 0, 3, 2, 1, 2, 4, 3, 6, 5, 4, 3, 2, 1, 2, 0, 1, -1, -3, -6, -5,
    -00053 -4, -5, -5, -6, -8, -7, -6, -3, -3, -3, -5, -3, 0, 0, 2, 2, 2, 1, 3, 3, 5, 6, 3,
    -00054 4, 0, 2, 2, 2, 1, -1, -3, -4, -4, -3, -4, -5, -6, -8, -6, -5, -4, -3, -3, -4,
    -00055 -2, 0, 1, 3, 2, 3, 1, 3, 3, 4, 7, 5, 3, 1, 2, 1, 2, -1, -2, -4, -5, -5, -4, -4,
    -00056 -4, -5, -4, -7, -5, -5, -2, -3, -3, -3, 0, 1, 3, 3, 2, 3, 2, 3, 3, 3, 3, 2, 1,
    -00057 0, 1, -1, 1, -1, -2, -3, -5, -4, -5, -4, -4, -4, -5, -4, -4, -2, -2, -3, -3, -1,
    -00058 -2, 1, 2, 2, 2, 2, 2, 3, 2, 4, 2, 2, 0, 1, 0, 0, -1, -2, -4, -4, -4, -5, -3, -3,
    -00059 -4, -5, -5, -3, -2, -1, -1, -2, -1, 0, 1, 1, 3, 2, 2, 3, 2, 4, 3, 3, 2, -1, -1,
    -00060 -1, -2, 0, -1, -2, -4, -4, -4, -4, -5, -3, -5, -4, -3, -4, -2, -2, -1, -1, 0, 0,
    -00061 1, 3, 2, 3, 2, 3, 1, 1, 0, 2, 0, 1, -1, -1, -2, -2, -3, -2, -5, -3, -5, -4, -4,
    -00062 -2, -3, -3, -3, -3, -2, 0, 0, 1, 1, 0, 2, 2, 1, 3, 2, 3, 1, 1, 2, 1, 1, -2, -1,
    -00063 -3, -1, -3, -2, -3, -3, -4, -3, -3, -3, -3, -3, -3, -2, -1, 0, 0, 0, -1, 0, 0,
    -00064 1, 2, 3, 1, 1, 0, 1, 0, 1, 0, 0, -1, -2, -2, -3, -2, -2, -3, -3, -3, -3, -3, -1,
    -00065 -2, -3, -3, -1, -1, -1, 0, 1, 0, 1, 1, 1, 1, 1, 1, -1, 1, 0, 0, 0, 0, -2, -2,
    -00066 -3, -2, -2, -2, -3, -3, -4, -3, -2, -1, -2, -2, -2, -1, -1, 0, 1, 1, 1, 0, 1, 1,
    -00067 1, 1, 1, 1, -1, 0, 0, 0, -1, 0, -2, -2, -2, -2, -3, -3, -3, -3, -3, -3, -3, -3,
    -00068 -2, -1, -1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, -1, 0, -1, -1, -2, -2,
    -00069 -3, -3, -3, -3, -2, -2, -3, -2, -2, -1, -1, -1, -1, 0, 0, 0, 1, 1, 1, 1, 1, 1,
    -00070 1, 1, 1, -1, 0, 0, -1, 0, -1, -2, -3, -3, -3, -3, -2, -3, -3, -3, -3, -2, -1,
    -00071 -1, -1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, -1, 0, -1, 0, -1, -2, -1, -3, -3,
    -00072 -3, -2, -3, -2, -3, -3, -2, -3, -1, -1, -1, -1, -1, 0, 0, 1, 1, 1, 1, 1, 1, 1,
    -00073 1, 1, -1, 0, -1, 0, -1, -1, -2, -2, -3, -3, -3, -3, -2, -3, -3, -3, -2, -1, -1,
    -00074 -1, -1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, -1, -1, 0, -1, -2, -2, -3, -3,
    -00075 -3, -3, -2, -3, -3, -2, -2, -1, -1, -1, -1, -1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1,
    -00076 0, 0, -1, -1, -1, 0, -1, -2, -2, -3, -3, -3, -3, -3, -3, -3, -2, -2, -1, -1, -1,
    -00077 -1, -1, -1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, -1, 0, -1, -1, -1, -1, -2, -2, -3, -3,
    -00078 -3, -2, -3, -2, -2, -2, -1, -1, -1, 0, -1, -1, -1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
    -00079 0, 0, -1, 0, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, 0, -1,
    -00080 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -2, -2, -1, -2, -2, -2, -2,
    -00081 -2, -2, -2, -2, -2, -2, -2, -1, 0, -1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
    -00082 0, -1, -1, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -1, 0, -1, 0, 0,
    -00083 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -2, -2, -2, -2, -2, -2, -2,
    -00084 -2, -2, -2, -2, -2, -1, -1, 0, -1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, -1, 0,
    -00085 -1, -2, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -1, -2, -1, -1, -1, 0, 0, 0,
    -00086 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00087 -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1,
    -00088 -1, -1, -1, -1, -1, -1, -1, -1, -2, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1,
    -00089 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00090 -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1,
    -00091 0, -1, -1, -1, -1, -1, -1, -1, -1, -2, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0,
    -00092 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00093 -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0,
    -00094 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0,
    -00095 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00096 -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1,
    -00097 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0,
    -00098 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00099 -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1,
    -00100 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, -1, 0, -1, 0,
    -00101 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00102 -1, -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1,
    -00103 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0,
    -00104 0, 0, 0, 0, 0, -1, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00105 -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1,
    -00106 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, 0, -1, 0, -1, 0,
    -00107 -1, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00108 -1, -1, -1, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0, -1, 0, 0, -1, 0, -1, 0,
    -00109 -1, 0, -1, };
    -00110 
    -00111  #endif /* BAMBOO_02_2048_H_ */
    -
    - - - - +
    1 #ifndef BAMBOO_02_2048_H_
    +
    2 #define BAMBOO_02_2048_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 #define BAMBOO_02_2048_NUM_CELLS 2048
    +
    12 #define BAMBOO_02_2048_SAMPLERATE 16384
    +
    13 
    +
    14 const char __attribute__((progmem)) BAMBOO_02_2048_DATA [] = {0, 0, -1, 0, -1, 1, 1, -1, 0, -1,
    +
    15 -1, -6, -27, -68, -96, -66, -5, 11, 2, 42, 113, 125, 67, 6, -22, -26, -5, 22,
    +
    16 23, -7, -62, -90, -48, 5, 7, -1, -6, -45, -91, -37, 69, 90, 40, 2, -20, -26, -7,
    +
    17 17, 36, 43, 19, -28, -19, 36, 50, 24, 0, -31, -43, -11, 35, 36, 8, -27, -68,
    +
    18 -69, -10, 38, 33, -2, -36, -61, -36, 29, 52, 21, -15, -37, -34, 2, 52, 72, 52,
    +
    19 -3, -54, -49, 17, 60, 46, 16, -9, -29, -31, 2, 31, 11, -33, -54, -44, -8, 21,
    +
    20 20, -10, -36, -48, -30, 12, 40, 23, -5, -22, -24, -7, 27, 49, 30, -4, -17, 0,
    +
    21 24, 37, 25, 4, -15, -27, -26, 0, 27, 22, -9, -33, -38, -26, -14, -5, -1, -9,
    +
    22 -16, -19, -7, 5, 10, -1, -9, -8, 0, 13, 28, 32, 18, 4, 0, 6, 11, 21, 24, 7, -12,
    +
    23 -21, -12, 5, 9, -3, -22, -29, -25, -18, -1, 6, -2, -23, -36, -27, -6, 13, 17, 9,
    +
    24 -4, -7, 0, 18, 33, 28, 13, 1, 4, 15, 23, 19, 7, -9, -21, -14, -1, 7, -1, -9,
    +
    25 -21, -27, -25, -12, 0, -4, -20, -27, -22, -7, 6, 11, 9, -1, -7, -3, 13, 28, 31,
    +
    26 26, 10, -3, 0, 12, 22, 18, 6, -9, -16, -16, -8, -2, -4, -18, -24, -21, -14, -3,
    +
    27 1, -7, -19, -24, -18, -5, 9, 15, 8, -1, -4, 7, 24, 33, 25, 10, -2, -1, 9, 23,
    +
    28 24, 12, -8, -22, -17, -4, 10, 6, -12, -28, -34, -24, -7, 1, -4, -14, -22, -19,
    +
    29 -4, 10, 14, 6, -5, -9, 5, 23, 29, 27, 13, 3, -2, 6, 19, 23, 12, -7, -17, -14, 0,
    +
    30 9, 5, -12, -26, -31, -24, -12, -3, -6, -13, -21, -18, -8, 4, 11, 6, -1, 0, 6,
    +
    31 15, 18, 18, 14, 11, 8, 9, 14, 15, 7, -5, -10, -10, -4, -2, -3, -9, -16, -21,
    +
    32 -24, -16, -9, -8, -14, -15, -13, -6, 2, 9, 9, 5, 1, 4, 9, 15, 17, 16, 11, 7, 7,
    +
    33 9, 10, 8, 4, -2, -5, -6, -7, -6, -7, -11, -17, -16, -15, -13, -11, -12, -13,
    +
    34 -11, -9, -2, 4, 9, 9, 6, 6, 7, 9, 12, 16, 10, 7, 7, 8, 6, 9, 8, 1, -5, -7, -10,
    +
    35 -8, -7, -8, -12, -15, -14, -13, -10, -8, -8, -11, -9, -5, -2, 4, 5, 7, 6, 8, 8,
    +
    36 9, 12, 9, 7, 5, 6, 6, 7, 8, 6, -1, -6, -5, -7, -8, -9, -12, -15, -17, -14, -10,
    +
    37 -7, -4, -8, -9, -8, -3, 1, 6, 5, 3, 4, 8, 8, 12, 12, 9, 1, 1, 5, 8, 11, 7, 0,
    +
    38 -5, -7, -3, -1, -3, -9, -15, -16, -14, -10, -7, -5, -9, -11, -9, -3, 2, 5, 6, 2,
    +
    39 0, 3, 8, 12, 12, 13, 7, 5, 5, 7, 8, 6, 1, -2, -4, -5, -4, -5, -6, -11, -15, -14,
    +
    40 -11, -9, -11, -9, -8, -7, -5, -1, 2, 4, 3, 5, 6, 8, 11, 9, 10, 8, 7, 9, 8, 4, 2,
    +
    41 0, -2, -3, -6, -6, -7, -9, -9, -10, -9, -9, -9, -10, -8, -8, -5, -5, -1, 0, 3,
    +
    42 4, 5, 6, 8, 7, 8, 9, 10, 8, 6, 6, 6, 4, 1, -1, -5, -5, -8, -7, -6, -9, -11, -13,
    +
    43 -9, -8, -7, -7, -6, -8, -5, -4, 0, 1, 5, 4, 6, 5, 7, 8, 9, 7, 7, 5, 4, 2, 2, 2,
    +
    44 0, -2, -4, -5, -7, -6, -9, -8, -8, -8, -7, -9, -8, -6, -6, -4, -2, 0, 1, 0, 2,
    +
    45 4, 8, 8, 7, 7, 5, 4, 5, 4, 5, 3, 1, -1, -1, 0, -2, -2, -6, -7, -9, -8, -9, -8,
    +
    46 -9, -9, -9, -7, -4, -4, 0, 1, 1, 1, 3, 6, 5, 8, 7, 5, 6, 4, 5, 4, 5, 1, -1, -2,
    +
    47 -2, -4, -4, -4, -5, -6, -10, -10, -9, -9, -6, -8, -6, -5, -2, -2, 2, 3, 3, 4, 5,
    +
    48 4, 5, 5, 6, 4, 5, 3, 4, 5, 4, 0, -1, -2, -5, -4, -5, -4, -6, -7, -9, -8, -5, -5,
    +
    49 -7, -5, -5, -2, -2, 2, 4, 3, 3, 1, 4, 6, 7, 7, 3, 3, 3, 4, 4, 3, 3, -1, -2, -4,
    +
    50 -3, -2, -4, -6, -9, -10, -7, -6, -4, -6, -5, -6, -4, -1, 0, 4, 2, 3, 3, 4, 5, 5,
    +
    51 6, 3, 3, 0, 3, 4, 3, 2, 0, -2, -1, -4, -3, -5, -5, -6, -8, -7, -6, -5, -4, -5,
    +
    52 -4, -3, -3, 0, 0, 3, 2, 1, 2, 4, 3, 6, 5, 4, 3, 2, 1, 2, 0, 1, -1, -3, -6, -5,
    +
    53 -4, -5, -5, -6, -8, -7, -6, -3, -3, -3, -5, -3, 0, 0, 2, 2, 2, 1, 3, 3, 5, 6, 3,
    +
    54 4, 0, 2, 2, 2, 1, -1, -3, -4, -4, -3, -4, -5, -6, -8, -6, -5, -4, -3, -3, -4,
    +
    55 -2, 0, 1, 3, 2, 3, 1, 3, 3, 4, 7, 5, 3, 1, 2, 1, 2, -1, -2, -4, -5, -5, -4, -4,
    +
    56 -4, -5, -4, -7, -5, -5, -2, -3, -3, -3, 0, 1, 3, 3, 2, 3, 2, 3, 3, 3, 3, 2, 1,
    +
    57 0, 1, -1, 1, -1, -2, -3, -5, -4, -5, -4, -4, -4, -5, -4, -4, -2, -2, -3, -3, -1,
    +
    58 -2, 1, 2, 2, 2, 2, 2, 3, 2, 4, 2, 2, 0, 1, 0, 0, -1, -2, -4, -4, -4, -5, -3, -3,
    +
    59 -4, -5, -5, -3, -2, -1, -1, -2, -1, 0, 1, 1, 3, 2, 2, 3, 2, 4, 3, 3, 2, -1, -1,
    +
    60 -1, -2, 0, -1, -2, -4, -4, -4, -4, -5, -3, -5, -4, -3, -4, -2, -2, -1, -1, 0, 0,
    +
    61 1, 3, 2, 3, 2, 3, 1, 1, 0, 2, 0, 1, -1, -1, -2, -2, -3, -2, -5, -3, -5, -4, -4,
    +
    62 -2, -3, -3, -3, -3, -2, 0, 0, 1, 1, 0, 2, 2, 1, 3, 2, 3, 1, 1, 2, 1, 1, -2, -1,
    +
    63 -3, -1, -3, -2, -3, -3, -4, -3, -3, -3, -3, -3, -3, -2, -1, 0, 0, 0, -1, 0, 0,
    +
    64 1, 2, 3, 1, 1, 0, 1, 0, 1, 0, 0, -1, -2, -2, -3, -2, -2, -3, -3, -3, -3, -3, -1,
    +
    65 -2, -3, -3, -1, -1, -1, 0, 1, 0, 1, 1, 1, 1, 1, 1, -1, 1, 0, 0, 0, 0, -2, -2,
    +
    66 -3, -2, -2, -2, -3, -3, -4, -3, -2, -1, -2, -2, -2, -1, -1, 0, 1, 1, 1, 0, 1, 1,
    +
    67 1, 1, 1, 1, -1, 0, 0, 0, -1, 0, -2, -2, -2, -2, -3, -3, -3, -3, -3, -3, -3, -3,
    +
    68 -2, -1, -1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, -1, 0, -1, -1, -2, -2,
    +
    69 -3, -3, -3, -3, -2, -2, -3, -2, -2, -1, -1, -1, -1, 0, 0, 0, 1, 1, 1, 1, 1, 1,
    +
    70 1, 1, 1, -1, 0, 0, -1, 0, -1, -2, -3, -3, -3, -3, -2, -3, -3, -3, -3, -2, -1,
    +
    71 -1, -1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, -1, 0, -1, 0, -1, -2, -1, -3, -3,
    +
    72 -3, -2, -3, -2, -3, -3, -2, -3, -1, -1, -1, -1, -1, 0, 0, 1, 1, 1, 1, 1, 1, 1,
    +
    73 1, 1, -1, 0, -1, 0, -1, -1, -2, -2, -3, -3, -3, -3, -2, -3, -3, -3, -2, -1, -1,
    +
    74 -1, -1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, -1, -1, 0, -1, -2, -2, -3, -3,
    +
    75 -3, -3, -2, -3, -3, -2, -2, -1, -1, -1, -1, -1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1,
    +
    76 0, 0, -1, -1, -1, 0, -1, -2, -2, -3, -3, -3, -3, -3, -3, -3, -2, -2, -1, -1, -1,
    +
    77 -1, -1, -1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, -1, 0, -1, -1, -1, -1, -2, -2, -3, -3,
    +
    78 -3, -2, -3, -2, -2, -2, -1, -1, -1, 0, -1, -1, -1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
    +
    79 0, 0, -1, 0, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, 0, -1,
    +
    80 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -2, -2, -1, -2, -2, -2, -2,
    +
    81 -2, -2, -2, -2, -2, -2, -2, -1, 0, -1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
    +
    82 0, -1, -1, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -1, 0, -1, 0, 0,
    +
    83 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -2, -2, -2, -2, -2, -2, -2,
    +
    84 -2, -2, -2, -2, -2, -1, -1, 0, -1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, -1, 0,
    +
    85 -1, -2, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -1, -2, -1, -1, -1, 0, 0, 0,
    +
    86 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    87 -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1,
    +
    88 -1, -1, -1, -1, -1, -1, -1, -1, -2, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1,
    +
    89 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    90 -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1,
    +
    91 0, -1, -1, -1, -1, -1, -1, -1, -1, -2, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0,
    +
    92 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    93 -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0,
    +
    94 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0,
    +
    95 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    96 -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1,
    +
    97 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0,
    +
    98 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    99 -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1,
    +
    100 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, -1, 0, -1, 0,
    +
    101 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    102 -1, -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1,
    +
    103 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0,
    +
    104 0, 0, 0, 0, 0, -1, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    105 -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1,
    +
    106 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, 0, -1, 0, -1, 0,
    +
    107 -1, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    108 -1, -1, -1, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0, -1, 0, 0, -1, 0, -1, 0,
    +
    109 -1, 0, -1, };
    +
    110 
    +
    111  #endif /* BAMBOO_02_2048_H_ */
    +
    + + + diff --git a/doc/html/bamboo__02__4096__int8_8h_source.html b/doc/html/bamboo__02__4096__int8_8h_source.html index 3b44fa1be..739b7fb6b 100644 --- a/doc/html/bamboo__02__4096__int8_8h_source.html +++ b/doc/html/bamboo__02__4096__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: samples/bamboo/bamboo_02_4096_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,215 +99,217 @@
    -
    samples/bamboo/bamboo_02_4096_int8.h
    +
    bamboo_02_4096_int8.h
    -
    00001 #ifndef BAMBOO_02_4096_H_
    -00002 #define BAMBOO_02_4096_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 #define BAMBOO_02_4096_NUM_CELLS 4096
    -00012 #define BAMBOO_02_4096_SAMPLERATE 16384
    -00013 
    -00014 const char __attribute__((progmem)) BAMBOO_02_4096_DATA []  = {0, 0, -1, 0, -1, 1, 1, -1, 0, -1,
    -00015                 -1, -6, -26, -68, -95, -66, -4, 11, 2, 43, 113, 126, 67, 6, -21, -26, -5, 23,
    -00016                 23, -7, -61, -90, -47, 5, 8, -1, -5, -45, -90, -37, 69, 90, 41, 2, -20, -25, -7,
    -00017                 18, 36, 44, 19, -27, -19, 37, 50, 25, 0, -30, -43, -11, 35, 36, 8, -26, -68,
    -00018                 -68, -10, 39, 33, -1, -36, -60, -36, 29, 53, 21, -14, -36, -34, 3, 52, 73, 52,
    -00019                 -2, -54, -48, 17, 60, 47, 16, -8, -29, -30, 2, 31, 11, -33, -54, -43, -8, 22,
    -00020                 20, -9, -36, -47, -30, 12, 40, 24, -5, -21, -24, -7, 28, 49, 31, -4, -16, 0, 25,
    -00021                 37, 26, 4, -14, -27, -25, 0, 27, 22, -8, -33, -37, -26, -14, -4, -1, -8, -16,
    -00022                 -18, -7, 6, 10, 0, -9, -7, 0, 13, 29, 32, 19, 4, 1, 6, 12, 22, 24, 8, -12, -20,
    -00023                 -12, 5, 9, -3, -22, -28, -25, -17, -1, 7, -2, -23, -35, -27, -5, 13, 18, 9, -3,
    -00024                 -7, 0, 19, 33, 29, 13, 2, 4, 16, 23, 20, 7, -9, -20, -14, 0, 7, 0, -9, -20, -27,
    -00025                 -24, -12, 0, -4, -19, -27, -21, -7, 6, 11, 9, -1, -7, -3, 14, 28, 32, 26, 10,
    -00026                 -2, 0, 13, 22, 19, 6, -8, -16, -15, -8, -1, -4, -17, -24, -21, -14, -2, 1, -6,
    -00027                 -19, -23, -18, -5, 10, 15, 9, -1, -3, 7, 25, 33, 26, 10, -1, -1, 10, 23, 25, 13,
    -00028                 -8, -21, -17, -3, 10, 6, -11, -28, -33, -24, -6, 1, -4, -14, -22, -19, -4, 10,
    -00029                 14, 7, -5, -8, 5, 24, 30, 27, 14, 3, -2, 7, 19, 24, 12, -7, -17, -14, 0, 10, 5,
    -00030                 -12, -26, -31, -24, -11, -3, -5, -13, -20, -18, -8, 5, 11, 7, -1, 0, 7, 15, 19,
    -00031                 18, 15, 11, 9, 9, 15, 15, 7, -4, -10, -9, -4, -1, -3, -9, -15, -21, -23, -16,
    -00032                 -8, -8, -13, -15, -12, -6, 3, 9, 9, 6, 1, 4, 10, 15, 17, 17, 11, 8, 7, 9, 10, 9,
    -00033                 4, -1, -5, -5, -7, -6, -6, -11, -16, -16, -14, -13, -10, -12, -12, -11, -8, -2,
    -00034                 4, 9, 9, 7, 6, 8, 9, 13, 16, 11, 7, 8, 8, 7, 9, 9, 1, -4, -7, -9, -8, -6, -8,
    -00035                 -12, -14, -14, -12, -10, -7, -8, -10, -9, -4, -1, 4, 6, 7, 7, 8, 9, 10, 12, 10,
    -00036                 7, 6, 6, 7, 7, 8, 6, -1, -5, -5, -6, -8, -9, -11, -15, -16, -14, -10, -6, -4,
    -00037                 -7, -9, -8, -3, 2, 6, 6, 3, 5, 8, 9, 12, 13, 9, 2, 1, 5, 8, 11, 7, 0, -5, -7,
    -00038                 -3, -1, -3, -9, -15, -16, -14, -10, -6, -5, -8, -11, -8, -3, 2, 5, 6, 2, 0, 3,
    -00039                 8, 12, 13, 13, 7, 5, 5, 8, 8, 6, 1, -2, -3, -5, -4, -5, -6, -10, -15, -13, -10,
    -00040                 -9, -10, -9, -7, -7, -5, -1, 3, 4, 4, 5, 6, 9, 11, 10, 10, 8, 8, 9, 8, 5, 2, 0,
    -00041                 -1, -3, -5, -6, -7, -8, -9, -9, -9, -8, -9, -9, -8, -7, -5, -4, -1, 0, 3, 4, 5,
    -00042                 7, 8, 7, 8, 9, 11, 8, 6, 6, 6, 4, 2, -1, -4, -5, -7, -7, -6, -8, -11, -12, -9,
    -00043                 -8, -7, -6, -6, -7, -5, -3, 0, 2, 5, 5, 6, 6, 7, 9, 9, 8, 7, 6, 4, 3, 3, 2, 1,
    -00044                 -2, -3, -5, -6, -6, -8, -8, -8, -8, -7, -8, -7, -6, -5, -4, -1, 0, 2, 1, 2, 5,
    -00045                 8, 9, 7, 7, 5, 5, 5, 5, 5, 4, 1, 0, 0, 0, -1, -2, -5, -7, -8, -8, -8, -8, -8,
    -00046                 -9, -9, -6, -4, -3, 0, 1, 2, 1, 4, 6, 6, 8, 7, 6, 6, 5, 5, 5, 5, 2, -1, -1, -2,
    -00047                 -3, -4, -4, -4, -6, -9, -10, -9, -8, -6, -7, -6, -4, -2, -2, 2, 3, 3, 4, 5, 4,
    -00048                 5, 6, 6, 5, 5, 4, 4, 5, 4, 0, -1, -2, -5, -4, -4, -4, -6, -7, -9, -7, -5, -5,
    -00049                 -6, -5, -4, -2, -1, 2, 4, 4, 3, 2, 4, 6, 7, 7, 4, 3, 4, 4, 4, 4, 3, 0, -2, -3,
    -00050                 -3, -2, -3, -6, -9, -9, -7, -5, -4, -5, -5, -5, -4, -1, 1, 4, 3, 3, 3, 4, 5, 6,
    -00051                 6, 4, 3, 1, 3, 4, 4, 2, 0, -1, -1, -3, -3, -4, -5, -6, -7, -7, -5, -5, -4, -5,
    -00052                 -4, -3, -2, 0, 1, 3, 3, 1, 3, 4, 4, 6, 5, 5, 3, 2, 2, 2, 1, 1, 0, -3, -5, -5,
    -00053                 -4, -4, -5, -6, -8, -7, -5, -3, -2, -3, -4, -3, 0, 1, 2, 3, 2, 2, 3, 4, 5, 6, 4,
    -00054                 4, 1, 2, 3, 2, 2, -1, -2, -4, -3, -3, -3, -4, -6, -7, -6, -4, -4, -2, -3, -3,
    -00055                 -2, 0, 1, 3, 3, 3, 2, 3, 3, 5, 7, 6, 3, 2, 2, 2, 2, 0, -2, -4, -5, -4, -4, -3,
    -00056                 -4, -4, -4, -6, -5, -4, -2, -2, -3, -2, 0, 2, 3, 3, 2, 3, 3, 3, 3, 3, 3, 3, 1,
    -00057                 1, 1, 0, 1, 0, -2, -3, -4, -4, -4, -4, -4, -4, -4, -4, -3, -2, -1, -3, -2, -1,
    -00058                 -1, 1, 2, 3, 2, 3, 2, 3, 3, 4, 3, 2, 1, 1, 0, 1, -1, -1, -4, -4, -4, -4, -3, -3,
    -00059                 -4, -5, -4, -3, -2, -1, -1, -1, -1, 0, 1, 2, 3, 3, 2, 3, 3, 4, 4, 3, 2, 0, -1,
    -00060                 0, -1, 0, 0, -2, -3, -4, -4, -4, -4, -3, -4, -4, -3, -3, -2, -1, -1, 0, 0, 1, 1,
    -00061                 3, 3, 3, 3, 3, 2, 1, 1, 2, 1, 1, 0, -1, -1, -2, -2, -2, -4, -3, -4, -4, -3, -2,
    -00062                 -2, -3, -3, -3, -1, 0, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 1, 2, 2, 2, 1, -1, -1, -2,
    -00063                 -1, -2, -2, -3, -3, -4, -3, -3, -3, -3, -3, -3, -2, -1, 0, 1, 0, 0, 0, 1, 2, 3,
    -00064                 4, 2, 2, 1, 2, 1, 2, 1, 0, -1, -2, -2, -3, -2, -2, -3, -3, -3, -3, -3, -1, -2,
    -00065                 -3, -3, -1, 0, -1, 1, 2, 1, 2, 2, 2, 2, 2, 2, 0, 2, 1, 1, 1, 0, -2, -2, -3, -2,
    -00066                 -2, -2, -3, -3, -4, -3, -2, -1, -2, -2, -2, -1, 0, 0, 2, 2, 2, 1, 2, 2, 2, 2, 2,
    -00067                 2, 0, 1, 0, 0, -1, 0, -2, -2, -2, -2, -3, -3, -3, -3, -3, -3, -3, -3, -2, -1,
    -00068                 -1, 0, 0, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 0, -1, 0, 0, -1, -2, -2, -3, -3,
    -00069                 -3, -3, -2, -2, -3, -2, -2, -1, 0, -1, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0,
    -00070                 0, 0, 0, 0, 0, -2, -3, -3, -3, -3, -2, -3, -3, -3, -3, -2, -1, -1, 0, 0, 0, 1,
    -00071                 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 0, 0, -1, 0, 0, -2, -1, -3, -3, -3, -2, -3, -2,
    -00072                 -3, -3, -2, -3, -1, -1, 0, -1, 0, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0,
    -00073                 -1, -1, -2, -2, -3, -3, -3, -3, -2, -3, -3, -3, -2, -1, 0, -1, 0, 0, 0, 1, 2, 2,
    -00074                 2, 2, 2, 2, 2, 1, 2, 1, 0, -1, 0, -1, -2, -2, -3, -3, -3, -3, -2, -3, -3, -2,
    -00075                 -2, -1, -1, -1, 0, -1, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 2, 1, 1, 0, -1, 0, 0, -1,
    -00076                 -2, -2, -3, -3, -3, -3, -3, -3, -3, -2, -2, -1, -1, 0, -1, 0, 0, 2, 2, 2, 2, 2,
    -00077                 1, 2, 1, 1, 1, 0, 0, -1, -1, -1, -1, -2, -2, -3, -3, -3, -2, -3, -2, -2, -2, -1,
    -00078                 -1, 0, 0, 0, -1, 0, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 0, 0, -1, 0, -1, -2, -2, -2,
    -00079                 -3, -2, -3, -3, -2, -2, -2, -2, -2, -2, -1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1,
    -00080                 1, 1, 1, 0, -1, -1, -2, -2, -1, -2, -2, -3, -2, -2, -2, -2, -2, -2, -2, -2, -1,
    -00081                 0, -1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 0, 0, -1, -1, -1, -2, -2, -2, -3,
    -00082                 -3, -3, -2, -2, -2, -2, -2, -1, -1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
    -00083                 0, 0, -1, -1, -1, -2, -2, -2, -2, -3, -2, -2, -2, -2, -2, -2, -2, 0, -1, 0, 0,
    -00084                 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 0, 0, 0, -1, -2, -1, -2, -2, -2, -2, -2, -3,
    -00085                 -2, -3, -2, -1, -1, -2, -1, -1, 0, 0, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 0, 0,
    -00086                 -1, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -1, -1, 0, 0, 0, 1,
    -00087                 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, -1, 0, -1, -1, -2, -1, -2, -2, -2, -2, -3, -2,
    -00088                 -2, -2, -1, -2, -1, -1, 0, 0, 0, 0, 1, 1, 1, 1, 2, 1, 1, 1, 1, 0, 0, 0, 0, 0,
    -00089                 -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -1, -1, -1, -1, 0, 0, 1, 1, 1,
    -00090                 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, -1, 0, -1, -1, -2, -2, -2, -2, -2, -2, -3, -2, -2,
    -00091                 -2, -1, -1, -1, -1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, -1, -1, -2,
    -00092                 -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -1, 0, -1, 0, 0, 1, 0, 1, 1, 1,
    -00093                 1, 1, 1, 1, 1, 0, 0, 0, 0, -1, -1, -2, -2, -2, -1, -2, -2, -2, -2, -2, -1, -2,
    -00094                 -1, 0, 0, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, -1, 0, -2, -2, -2,
    -00095                 -2, -2, -2, -2, -2, -2, -2, -1, -1, -1, -1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1,
    -00096                 1, 1, 0, 0, -1, -1, -1, 0, -2, -2, -2, -1, -2, -2, -2, -2, -2, -2, -2, -1, -1,
    -00097                 0, -1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, -1, 0, -1, -2, -1, -2, -2,
    -00098                 -2, -2, -2, -2, -2, -1, -1, -1, -1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
    -00099                 1, 0, 0, -1, -1, -1, -2, -2, -2, -2, -2, -2, -2, -2, -1, -1, -1, 0, -1, 0, 0, 0,
    -00100                 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, -1, -1, -1, -2, -1, -2, -2, -1, -2, -2, -2,
    -00101                 -2, -1, -1, -2, -1, -1, 0, -1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, -1,
    -00102                 -1, -1, -1, -1, -1, -2, -2, -2, -2, -1, -2, -1, -2, -1, -1, 0, -1, 0, 0, 1, 0,
    -00103                 1, 0, 1, 0, 1, 1, 0, 1, 0, -1, 0, -1, -1, -1, -1, -2, -2, -2, -1, -2, -2, -2,
    -00104                 -2, -2, -1, -1, -1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, -1,
    -00105                 -1, -1, -2, -1, -1, -2, -2, -2, -2, -2, -2, -2, 0, -1, -1, -1, 0, 0, 1, 0, 1, 0,
    -00106                 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, -2, -2, -1, -2, -1, -2, -2, -2, -1, -1, -1,
    -00107                 -1, -1, 0, -1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, -1, -1, -1, -1,
    -00108                 -2, -1, -2, -1, -1, -1, -1, -2, -1, -1, 0, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0,
    -00109                 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00110                 -1, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1,
    -00111                 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00112                 -1, 0, 0, 0, -1, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0,
    -00113                 -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1,
    -00114                 -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00115                 -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, 0, 0, 0,
    -00116                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00117                 -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1,
    -00118                 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0,
    -00119                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1,
    -00120                 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, 0, -1,
    -00121                 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00122                 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0,
    -00123                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1,
    -00124                 -1, -1, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0,
    -00125                 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0,
    -00126                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00127                 -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, -1,
    -00128                 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0,
    -00129                 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1,
    -00130                 -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1,
    -00131                 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00132                 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00133                 -1, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1,
    -00134                 -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, 0,
    -00135                 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, 0, 0,
    -00136                 0, 0, 0, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00137                 -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, 0, 0, -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0,
    -00138                 0, -1, 0, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0,
    -00139                 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1,
    -00140                 -1, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1,
    -00141                 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, 0, 0, -1, 0, 0, 0, 0,
    -00142                 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0,
    -00143                 -1, 0, -1, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, -1, 0, 0, -1, -1, 0, -1, 0, -1,
    -00144                 -1, -1, 0, 0, -1, -1, -1, 0, 0, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1,
    -00145                 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1,
    -00146                 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, 0, -1, -1, -1, -1, -1,
    -00147                 -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, -1, 0, 0, 0, -1, 0, 0, 0, -1, 0, -1, 0,
    -00148                 -1, 0, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, 0, 0,
    -00149                 -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, 0, -1, -1, 0, -1, -1, 0,
    -00150                 -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, -1,
    -00151                 0, -1, -1, -1, 0, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1,
    -00152                 0, 0, 0, -1, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, -1, -1, -1, -1, -1, 0, -1, 0, 0,
    -00153                 0, 0, 0, 0, -1, 0, 0, 0, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1,
    -00154                 -1, -1, -1, 0, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0,
    -00155                 0, 0, 0, -1, 0, -1, -1, -1, 0, 0, 0, -1, -1, -1, -1, 0, -1, -1, 0, -1, 0, -1, 0,
    -00156                 -1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, -1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00157                 -1, -1, 0, -1, -1, -1, 0, 0, -1, 0, 0, -1, 0, 0, 0, -1, 0, -1, 0, 0, -1, 0, 0,
    -00158                 -1, 0, -1, -1, 0, -1, 0, -1, -1, -1, -1, 0, -1, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0,
    -00159                 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0,
    -00160                 -1, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, -1,
    -00161                 -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0,
    -00162                 0, 0, 0, 0, 0, 0, -1, -1, -1, 0, -1, 0, -1, -1, -1, 0, 0, -1, -1, -1, 0, -1, 0,
    -00163                 -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, -1, -1, 0, -1, -1,
    -00164                 -1, -1, -1, -1, 0, -1, 0, -1, -1, -1, 0, -1, 0, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0,
    -00165                 0, -1, 0, -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, -1, -1, 0, -1, 0, -1,
    -00166                 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, 0, -1, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1,
    -00167                 -1, -1, 0, -1, 0, -1, 0, 0, -1, -1, -1, 0, 0, -1, 0, -1, 0, 0, 0, -1, 0, 0, -1,
    -00168                 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, 0, -1, 0, -1, -1, 0, 0, 0, -1, 0, -1, 0, -1,
    -00169                 0, -1, 0, -1, 0, 0, -1, 0, 0, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, 0, -1,
    -00170                 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, 0, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, 0,
    -00171                 -1, 0, -1, -1, 0, -1, -1, -1, 0, -1, -1, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0,
    -00172                 -1, 0, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, -1, 0, -1,
    -00173                 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, 0, 0, -1, 0, 0, -1, -1, -1, 0,
    -00174                 -1, 0, -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0,
    -00175                 -1, 0, 0, -1, -1, 0, -1, -1, -1, 0, -1, -1, 0, -1, 0, -1, -1, -1, 0, -1, -1, 0,
    -00176                 0, -1, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, -1, -1, 0, -1, -1, -1, -1, 0, -1,
    -00177                 0, -1, 0, -1, 0, 0, -1, -1, -1, 0, 0, 0, 0, -1, 0, 0, 0, -1, 0, -1, 0, 0, -1, 0,
    -00178                 0, -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, 0, -1, 0,
    -00179                 0, 0, -1, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, -1, -1, 0, -1, 0, 0, -1, 0, 0,
    -00180                 0, -1, -1, -1, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0,
    -00181                 -1, 0, -1, -1, -1, -1, -1, 0, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, -1,
    -00182                 0, 0, -1, 0, -1, 0, -1, -1, 0, -1, 0, -1, 0, 0, 0, 0, -1, 0, 0, -1, 0, -1, 0,
    -00183                 -1, 0, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, 0, 0, -1, 0,
    -00184                 -1, 0, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, 0,
    -00185                 0, -1, 0, -1, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0,
    -00186                 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0,
    -00187                 -1, 0, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1,
    -00188                 0, -1, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0,
    -00189                 -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, -1, 0, -1,
    -00190                 0, 0, 0, -1, 0, -1, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, -1, 0, -1, 0, -1, 0,
    -00191                 -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0,
    -00192                 -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1,
    -00193                 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0,
    -00194                 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0,
    -00195                 -1, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1,
    -00196                 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, -1, 0 };
    -00197 
    -00198 #endif /* BAMBOO_02_4096_H_ */
    -
    - - - - +
    1 #ifndef BAMBOO_02_4096_H_
    +
    2 #define BAMBOO_02_4096_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 #define BAMBOO_02_4096_NUM_CELLS 4096
    +
    12 #define BAMBOO_02_4096_SAMPLERATE 16384
    +
    13 
    +
    14 const char __attribute__((progmem)) BAMBOO_02_4096_DATA [] = {0, 0, -1, 0, -1, 1, 1, -1, 0, -1,
    +
    15  -1, -6, -26, -68, -95, -66, -4, 11, 2, 43, 113, 126, 67, 6, -21, -26, -5, 23,
    +
    16  23, -7, -61, -90, -47, 5, 8, -1, -5, -45, -90, -37, 69, 90, 41, 2, -20, -25, -7,
    +
    17  18, 36, 44, 19, -27, -19, 37, 50, 25, 0, -30, -43, -11, 35, 36, 8, -26, -68,
    +
    18  -68, -10, 39, 33, -1, -36, -60, -36, 29, 53, 21, -14, -36, -34, 3, 52, 73, 52,
    +
    19  -2, -54, -48, 17, 60, 47, 16, -8, -29, -30, 2, 31, 11, -33, -54, -43, -8, 22,
    +
    20  20, -9, -36, -47, -30, 12, 40, 24, -5, -21, -24, -7, 28, 49, 31, -4, -16, 0, 25,
    +
    21  37, 26, 4, -14, -27, -25, 0, 27, 22, -8, -33, -37, -26, -14, -4, -1, -8, -16,
    +
    22  -18, -7, 6, 10, 0, -9, -7, 0, 13, 29, 32, 19, 4, 1, 6, 12, 22, 24, 8, -12, -20,
    +
    23  -12, 5, 9, -3, -22, -28, -25, -17, -1, 7, -2, -23, -35, -27, -5, 13, 18, 9, -3,
    +
    24  -7, 0, 19, 33, 29, 13, 2, 4, 16, 23, 20, 7, -9, -20, -14, 0, 7, 0, -9, -20, -27,
    +
    25  -24, -12, 0, -4, -19, -27, -21, -7, 6, 11, 9, -1, -7, -3, 14, 28, 32, 26, 10,
    +
    26  -2, 0, 13, 22, 19, 6, -8, -16, -15, -8, -1, -4, -17, -24, -21, -14, -2, 1, -6,
    +
    27  -19, -23, -18, -5, 10, 15, 9, -1, -3, 7, 25, 33, 26, 10, -1, -1, 10, 23, 25, 13,
    +
    28  -8, -21, -17, -3, 10, 6, -11, -28, -33, -24, -6, 1, -4, -14, -22, -19, -4, 10,
    +
    29  14, 7, -5, -8, 5, 24, 30, 27, 14, 3, -2, 7, 19, 24, 12, -7, -17, -14, 0, 10, 5,
    +
    30  -12, -26, -31, -24, -11, -3, -5, -13, -20, -18, -8, 5, 11, 7, -1, 0, 7, 15, 19,
    +
    31  18, 15, 11, 9, 9, 15, 15, 7, -4, -10, -9, -4, -1, -3, -9, -15, -21, -23, -16,
    +
    32  -8, -8, -13, -15, -12, -6, 3, 9, 9, 6, 1, 4, 10, 15, 17, 17, 11, 8, 7, 9, 10, 9,
    +
    33  4, -1, -5, -5, -7, -6, -6, -11, -16, -16, -14, -13, -10, -12, -12, -11, -8, -2,
    +
    34  4, 9, 9, 7, 6, 8, 9, 13, 16, 11, 7, 8, 8, 7, 9, 9, 1, -4, -7, -9, -8, -6, -8,
    +
    35  -12, -14, -14, -12, -10, -7, -8, -10, -9, -4, -1, 4, 6, 7, 7, 8, 9, 10, 12, 10,
    +
    36  7, 6, 6, 7, 7, 8, 6, -1, -5, -5, -6, -8, -9, -11, -15, -16, -14, -10, -6, -4,
    +
    37  -7, -9, -8, -3, 2, 6, 6, 3, 5, 8, 9, 12, 13, 9, 2, 1, 5, 8, 11, 7, 0, -5, -7,
    +
    38  -3, -1, -3, -9, -15, -16, -14, -10, -6, -5, -8, -11, -8, -3, 2, 5, 6, 2, 0, 3,
    +
    39  8, 12, 13, 13, 7, 5, 5, 8, 8, 6, 1, -2, -3, -5, -4, -5, -6, -10, -15, -13, -10,
    +
    40  -9, -10, -9, -7, -7, -5, -1, 3, 4, 4, 5, 6, 9, 11, 10, 10, 8, 8, 9, 8, 5, 2, 0,
    +
    41  -1, -3, -5, -6, -7, -8, -9, -9, -9, -8, -9, -9, -8, -7, -5, -4, -1, 0, 3, 4, 5,
    +
    42  7, 8, 7, 8, 9, 11, 8, 6, 6, 6, 4, 2, -1, -4, -5, -7, -7, -6, -8, -11, -12, -9,
    +
    43  -8, -7, -6, -6, -7, -5, -3, 0, 2, 5, 5, 6, 6, 7, 9, 9, 8, 7, 6, 4, 3, 3, 2, 1,
    +
    44  -2, -3, -5, -6, -6, -8, -8, -8, -8, -7, -8, -7, -6, -5, -4, -1, 0, 2, 1, 2, 5,
    +
    45  8, 9, 7, 7, 5, 5, 5, 5, 5, 4, 1, 0, 0, 0, -1, -2, -5, -7, -8, -8, -8, -8, -8,
    +
    46  -9, -9, -6, -4, -3, 0, 1, 2, 1, 4, 6, 6, 8, 7, 6, 6, 5, 5, 5, 5, 2, -1, -1, -2,
    +
    47  -3, -4, -4, -4, -6, -9, -10, -9, -8, -6, -7, -6, -4, -2, -2, 2, 3, 3, 4, 5, 4,
    +
    48  5, 6, 6, 5, 5, 4, 4, 5, 4, 0, -1, -2, -5, -4, -4, -4, -6, -7, -9, -7, -5, -5,
    +
    49  -6, -5, -4, -2, -1, 2, 4, 4, 3, 2, 4, 6, 7, 7, 4, 3, 4, 4, 4, 4, 3, 0, -2, -3,
    +
    50  -3, -2, -3, -6, -9, -9, -7, -5, -4, -5, -5, -5, -4, -1, 1, 4, 3, 3, 3, 4, 5, 6,
    +
    51  6, 4, 3, 1, 3, 4, 4, 2, 0, -1, -1, -3, -3, -4, -5, -6, -7, -7, -5, -5, -4, -5,
    +
    52  -4, -3, -2, 0, 1, 3, 3, 1, 3, 4, 4, 6, 5, 5, 3, 2, 2, 2, 1, 1, 0, -3, -5, -5,
    +
    53  -4, -4, -5, -6, -8, -7, -5, -3, -2, -3, -4, -3, 0, 1, 2, 3, 2, 2, 3, 4, 5, 6, 4,
    +
    54  4, 1, 2, 3, 2, 2, -1, -2, -4, -3, -3, -3, -4, -6, -7, -6, -4, -4, -2, -3, -3,
    +
    55  -2, 0, 1, 3, 3, 3, 2, 3, 3, 5, 7, 6, 3, 2, 2, 2, 2, 0, -2, -4, -5, -4, -4, -3,
    +
    56  -4, -4, -4, -6, -5, -4, -2, -2, -3, -2, 0, 2, 3, 3, 2, 3, 3, 3, 3, 3, 3, 3, 1,
    +
    57  1, 1, 0, 1, 0, -2, -3, -4, -4, -4, -4, -4, -4, -4, -4, -3, -2, -1, -3, -2, -1,
    +
    58  -1, 1, 2, 3, 2, 3, 2, 3, 3, 4, 3, 2, 1, 1, 0, 1, -1, -1, -4, -4, -4, -4, -3, -3,
    +
    59  -4, -5, -4, -3, -2, -1, -1, -1, -1, 0, 1, 2, 3, 3, 2, 3, 3, 4, 4, 3, 2, 0, -1,
    +
    60  0, -1, 0, 0, -2, -3, -4, -4, -4, -4, -3, -4, -4, -3, -3, -2, -1, -1, 0, 0, 1, 1,
    +
    61  3, 3, 3, 3, 3, 2, 1, 1, 2, 1, 1, 0, -1, -1, -2, -2, -2, -4, -3, -4, -4, -3, -2,
    +
    62  -2, -3, -3, -3, -1, 0, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 1, 2, 2, 2, 1, -1, -1, -2,
    +
    63  -1, -2, -2, -3, -3, -4, -3, -3, -3, -3, -3, -3, -2, -1, 0, 1, 0, 0, 0, 1, 2, 3,
    +
    64  4, 2, 2, 1, 2, 1, 2, 1, 0, -1, -2, -2, -3, -2, -2, -3, -3, -3, -3, -3, -1, -2,
    +
    65  -3, -3, -1, 0, -1, 1, 2, 1, 2, 2, 2, 2, 2, 2, 0, 2, 1, 1, 1, 0, -2, -2, -3, -2,
    +
    66  -2, -2, -3, -3, -4, -3, -2, -1, -2, -2, -2, -1, 0, 0, 2, 2, 2, 1, 2, 2, 2, 2, 2,
    +
    67  2, 0, 1, 0, 0, -1, 0, -2, -2, -2, -2, -3, -3, -3, -3, -3, -3, -3, -3, -2, -1,
    +
    68  -1, 0, 0, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 0, -1, 0, 0, -1, -2, -2, -3, -3,
    +
    69  -3, -3, -2, -2, -3, -2, -2, -1, 0, -1, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0,
    +
    70  0, 0, 0, 0, 0, -2, -3, -3, -3, -3, -2, -3, -3, -3, -3, -2, -1, -1, 0, 0, 0, 1,
    +
    71  2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 0, 0, -1, 0, 0, -2, -1, -3, -3, -3, -2, -3, -2,
    +
    72  -3, -3, -2, -3, -1, -1, 0, -1, 0, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0,
    +
    73  -1, -1, -2, -2, -3, -3, -3, -3, -2, -3, -3, -3, -2, -1, 0, -1, 0, 0, 0, 1, 2, 2,
    +
    74  2, 2, 2, 2, 2, 1, 2, 1, 0, -1, 0, -1, -2, -2, -3, -3, -3, -3, -2, -3, -3, -2,
    +
    75  -2, -1, -1, -1, 0, -1, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 2, 1, 1, 0, -1, 0, 0, -1,
    +
    76  -2, -2, -3, -3, -3, -3, -3, -3, -3, -2, -2, -1, -1, 0, -1, 0, 0, 2, 2, 2, 2, 2,
    +
    77  1, 2, 1, 1, 1, 0, 0, -1, -1, -1, -1, -2, -2, -3, -3, -3, -2, -3, -2, -2, -2, -1,
    +
    78  -1, 0, 0, 0, -1, 0, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 0, 0, -1, 0, -1, -2, -2, -2,
    +
    79  -3, -2, -3, -3, -2, -2, -2, -2, -2, -2, -1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1,
    +
    80  1, 1, 1, 0, -1, -1, -2, -2, -1, -2, -2, -3, -2, -2, -2, -2, -2, -2, -2, -2, -1,
    +
    81  0, -1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 0, 0, -1, -1, -1, -2, -2, -2, -3,
    +
    82  -3, -3, -2, -2, -2, -2, -2, -1, -1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
    +
    83  0, 0, -1, -1, -1, -2, -2, -2, -2, -3, -2, -2, -2, -2, -2, -2, -2, 0, -1, 0, 0,
    +
    84  1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 0, 0, 0, -1, -2, -1, -2, -2, -2, -2, -2, -3,
    +
    85  -2, -3, -2, -1, -1, -2, -1, -1, 0, 0, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 0, 0,
    +
    86  -1, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, -1, -1, 0, 0, 0, 1,
    +
    87  1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, -1, 0, -1, -1, -2, -1, -2, -2, -2, -2, -3, -2,
    +
    88  -2, -2, -1, -2, -1, -1, 0, 0, 0, 0, 1, 1, 1, 1, 2, 1, 1, 1, 1, 0, 0, 0, 0, 0,
    +
    89  -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -1, -1, -1, -1, 0, 0, 1, 1, 1,
    +
    90  1, 1, 1, 1, 1, 1, 1, 0, 0, 0, -1, 0, -1, -1, -2, -2, -2, -2, -2, -2, -3, -2, -2,
    +
    91  -2, -1, -1, -1, -1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, -1, -1, -2,
    +
    92  -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -1, 0, -1, 0, 0, 1, 0, 1, 1, 1,
    +
    93  1, 1, 1, 1, 1, 0, 0, 0, 0, -1, -1, -2, -2, -2, -1, -2, -2, -2, -2, -2, -1, -2,
    +
    94  -1, 0, 0, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, -1, 0, -2, -2, -2,
    +
    95  -2, -2, -2, -2, -2, -2, -2, -1, -1, -1, -1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1,
    +
    96  1, 1, 0, 0, -1, -1, -1, 0, -2, -2, -2, -1, -2, -2, -2, -2, -2, -2, -2, -1, -1,
    +
    97  0, -1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, -1, 0, -1, -2, -1, -2, -2,
    +
    98  -2, -2, -2, -2, -2, -1, -1, -1, -1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
    +
    99  1, 0, 0, -1, -1, -1, -2, -2, -2, -2, -2, -2, -2, -2, -1, -1, -1, 0, -1, 0, 0, 0,
    +
    100  0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, -1, -1, -1, -2, -1, -2, -2, -1, -2, -2, -2,
    +
    101  -2, -1, -1, -2, -1, -1, 0, -1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, -1,
    +
    102  -1, -1, -1, -1, -1, -2, -2, -2, -2, -1, -2, -1, -2, -1, -1, 0, -1, 0, 0, 1, 0,
    +
    103  1, 0, 1, 0, 1, 1, 0, 1, 0, -1, 0, -1, -1, -1, -1, -2, -2, -2, -1, -2, -2, -2,
    +
    104  -2, -2, -1, -1, -1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, -1,
    +
    105  -1, -1, -2, -1, -1, -2, -2, -2, -2, -2, -2, -2, 0, -1, -1, -1, 0, 0, 1, 0, 1, 0,
    +
    106  1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, -2, -2, -1, -2, -1, -2, -2, -2, -1, -1, -1,
    +
    107  -1, -1, 0, -1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, -1, -1, -1, -1,
    +
    108  -2, -1, -2, -1, -1, -1, -1, -2, -1, -1, 0, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    109  0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    110  -1, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1,
    +
    111  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    112  -1, 0, 0, 0, -1, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0,
    +
    113  -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1,
    +
    114  -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    115  -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, 0, 0, 0,
    +
    116  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    117  -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1,
    +
    118  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0,
    +
    119  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1,
    +
    120  0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, 0, -1,
    +
    121  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    122  0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0,
    +
    123  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1,
    +
    124  -1, -1, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0,
    +
    125  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0,
    +
    126  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    127  -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, -1,
    +
    128  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0,
    +
    129  0, 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    130  -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1,
    +
    131  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    132  0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    133  -1, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1,
    +
    134  -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, 0,
    +
    135  0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, 0, 0,
    +
    136  0, 0, 0, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    137  -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, 0, 0, -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0,
    +
    138  0, -1, 0, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0,
    +
    139  0, -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1,
    +
    140  -1, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1,
    +
    141  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, 0, 0, -1, 0, 0, 0, 0,
    +
    142  0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0,
    +
    143  -1, 0, -1, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, -1, 0, 0, -1, -1, 0, -1, 0, -1,
    +
    144  -1, -1, 0, 0, -1, -1, -1, 0, 0, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1,
    +
    145  0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1,
    +
    146  0, 0, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, 0, -1, -1, -1, -1, -1,
    +
    147  -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, -1, 0, 0, 0, -1, 0, 0, 0, -1, 0, -1, 0,
    +
    148  -1, 0, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, 0, 0,
    +
    149  -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, 0, -1, -1, 0, -1, -1, 0,
    +
    150  -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, -1,
    +
    151  0, -1, -1, -1, 0, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1,
    +
    152  0, 0, 0, -1, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, -1, -1, -1, -1, -1, 0, -1, 0, 0,
    +
    153  0, 0, 0, 0, -1, 0, 0, 0, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1,
    +
    154  -1, -1, -1, 0, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0,
    +
    155  0, 0, 0, -1, 0, -1, -1, -1, 0, 0, 0, -1, -1, -1, -1, 0, -1, -1, 0, -1, 0, -1, 0,
    +
    156  -1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, -1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    157  -1, -1, 0, -1, -1, -1, 0, 0, -1, 0, 0, -1, 0, 0, 0, -1, 0, -1, 0, 0, -1, 0, 0,
    +
    158  -1, 0, -1, -1, 0, -1, 0, -1, -1, -1, -1, 0, -1, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0,
    +
    159  0, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0,
    +
    160  -1, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, -1,
    +
    161  -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0,
    +
    162  0, 0, 0, 0, 0, 0, -1, -1, -1, 0, -1, 0, -1, -1, -1, 0, 0, -1, -1, -1, 0, -1, 0,
    +
    163  -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, -1, -1, 0, -1, -1,
    +
    164  -1, -1, -1, -1, 0, -1, 0, -1, -1, -1, 0, -1, 0, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0,
    +
    165  0, -1, 0, -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, -1, -1, 0, -1, 0, -1,
    +
    166  0, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, 0, -1, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1,
    +
    167  -1, -1, 0, -1, 0, -1, 0, 0, -1, -1, -1, 0, 0, -1, 0, -1, 0, 0, 0, -1, 0, 0, -1,
    +
    168  0, 0, 0, -1, 0, -1, 0, -1, -1, -1, 0, -1, 0, -1, -1, 0, 0, 0, -1, 0, -1, 0, -1,
    +
    169  0, -1, 0, -1, 0, 0, -1, 0, 0, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, 0, -1,
    +
    170  0, -1, 0, 0, -1, 0, 0, -1, 0, 0, 0, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, 0,
    +
    171  -1, 0, -1, -1, 0, -1, -1, -1, 0, -1, -1, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0,
    +
    172  -1, 0, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, -1, 0, -1,
    +
    173  0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, 0, 0, -1, 0, 0, -1, -1, -1, 0,
    +
    174  -1, 0, -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0,
    +
    175  -1, 0, 0, -1, -1, 0, -1, -1, -1, 0, -1, -1, 0, -1, 0, -1, -1, -1, 0, -1, -1, 0,
    +
    176  0, -1, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, -1, -1, 0, -1, -1, -1, -1, 0, -1,
    +
    177  0, -1, 0, -1, 0, 0, -1, -1, -1, 0, 0, 0, 0, -1, 0, 0, 0, -1, 0, -1, 0, 0, -1, 0,
    +
    178  0, -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, 0, -1, 0,
    +
    179  0, 0, -1, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, -1, -1, 0, -1, 0, 0, -1, 0, 0,
    +
    180  0, -1, -1, -1, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0,
    +
    181  -1, 0, -1, -1, -1, -1, -1, 0, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, -1,
    +
    182  0, 0, -1, 0, -1, 0, -1, -1, 0, -1, 0, -1, 0, 0, 0, 0, -1, 0, 0, -1, 0, -1, 0,
    +
    183  -1, 0, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, 0, 0, -1, 0,
    +
    184  -1, 0, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, 0,
    +
    185  0, -1, 0, -1, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0,
    +
    186  0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0,
    +
    187  -1, 0, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1,
    +
    188  0, -1, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0,
    +
    189  -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, -1, 0, -1,
    +
    190  0, 0, 0, -1, 0, -1, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, -1, 0, -1, 0, -1, 0,
    +
    191  -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0,
    +
    192  -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1,
    +
    193  0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0,
    +
    194  0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0,
    +
    195  -1, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1,
    +
    196  0, 0, 0, 0, 0, -1, 0, -1, 0, 0, -1, 0 };
    +
    197 
    +
    198 #endif /* BAMBOO_02_4096_H_ */
    +
    + + + diff --git a/doc/html/bamboo__03__2048__int8_8h_source.html b/doc/html/bamboo__03__2048__int8_8h_source.html index c05be537a..e1fc8ad4d 100644 --- a/doc/html/bamboo__03__2048__int8_8h_source.html +++ b/doc/html/bamboo__03__2048__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: samples/bamboo/bamboo_03_2048_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,128 +99,130 @@
    -
    samples/bamboo/bamboo_03_2048_int8.h
    +
    bamboo_03_2048_int8.h
    -
    00001 #ifndef BAMBOO_03_2048_H_
    -00002 #define BAMBOO_03_2048_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 #define BAMBOO_03_2048_NUM_CELLS 2048
    -00012 #define BAMBOO_03_2048_SAMPLERATE 16384
    -00013 
    -00014 const char __attribute__((progmem)) BAMBOO_03_2048_DATA []  = {1, 1, -1, -1, 0, -1, 0, -1, -1, 2,
    -00015 0, -22, -80, -128, -72, 38, 54, 23, 79, 124, 52, -22, -23, -2, 13, 39, 24, -41,
    -00016 -89, -92, -36, 18, -9, -54, -35, -11, 40, 91, 27, -37, -18, -1, 24, 73, 82, -6,
    -00017 -83, -30, 43, 55, 23, -18, -23, -27, -26, -6, 10, -11, -42, -23, 12, -1, -38,
    -00018 -56, -14, 50, 52, 23, 9, -24, -39, 22, 72, 40, 7, -5, -12, 4, 24, 20, 0, -23,
    -00019 -40, -27, 0, -4, -19, -35, -42, 0, 27, 1, -16, -13, -21, -9, 32, 48, 28, 5, -8,
    -00020 4, 23, 20, 23, 19, -5, -15, 0, -1, -19, -23, -18, -6, -6, -29, -42, -27, -13, 6,
    -00021 29, 20, -16, -29, -11, 14, 39, 37, 15, 5, 3, 11, 24, 21, -3, -17, -14, -2, 10,
    -00022 -5, -30, -32, -23, -16, -4, 1, -14, -25, -22, -6, 13, 22, 16, 6, 3, 1, 10, 22,
    -00023 24, 15, 14, 12, 8, -2, -12, -12, -5, -6, -11, -14, -22, -32, -23, -4, -1, -9,
    -00024 -19, -22, -7, 14, 25, 26, 19, 8, 9, 18, 22, 18, 6, -3, 4, 13, 3, -6, -15, -24,
    -00025 -21, -5, -2, -15, -23, -24, -16, -7, 0, -1, -3, -6, 3, 11, 14, 18, 15, 14, 22,
    -00026 30, 12, -6, -3, -1, -1, 3, 5, -10, -31, -31, -16, -4, -1, -11, -21, -25, -13, 3,
    -00027 11, 6, 5, 1, 4, 18, 20, 11, 5, 10, 17, 16, 15, 10, -2, -18, -15, -1, -4, -16,
    -00028 -16, -20, -23, -14, -3, -8, -15, -11, -1, 7, 7, 0, 6, 15, 22, 17, 11, 4, 3, 3,
    -00029 11, 19, 11, -6, -17, -16, -12, -9, -4, -12, -20, -21, -13, -7, -4, -8, -10, -4,
    -00030 6, 10, 10, 7, 11, 14, 16, 16, 16, 6, -2, -1, 4, 1, -3, -7, -12, -13, -13, -11,
    -00031 -15, -18, -15, -9, -6, -4, -5, -5, -2, 8, 13, 13, 9, 5, 9, 15, 21, 16, 7, 1, -2,
    -00032 -6, -5, -1, -7, -12, -11, -12, -16, -17, -14, -10, -11, -6, -1, -2, -2, 4, 7, 5,
    -00033 9, 16, 15, 12, 12, 12, 6, 6, 8, 5, -3, -5, -9, -17, -16, -10, -12, -15, -13, -9,
    -00034 -9, -11, -4, 2, 2, 5, 7, 4, 7, 17, 14, 10, 10, 10, 3, 4, 6, 4, -4, -8, -3, -4,
    -00035 -14, -13, -10, -15, -16, -9, -5, -11, -9, -3, -2, 1, 6, 5, 8, 13, 16, 8, 8, 9,
    -00036 10, 6, 3, 5, -3, -10, -6, -2, -8, -10, -9, -11, -16, -12, -9, -7, -6, -2, -2, 1,
    -00037 3, 6, 6, 9, 11, 11, 8, 9, 9, 5, 4, 4, 1, -8, -8, -7, -9, -13, -13, -9, -10, -9,
    -00038 -6, -6, -7, -5, -2, 4, 7, 7, 3, 5, 7, 9, 6, 9, 11, 6, 1, 3, 2, -3, -8, -5, -6,
    -00039 -10, -12, -14, -13, -11, -7, -4, -2, -3, -2, 2, 2, 4, 7, 9, 8, 8, 6, 6, 5, 6, 1,
    -00040 1, 0, -2, -8, -7, -6, -5, -8, -10, -10, -8, -10, -6, -4, -4, -3, 2, 3, 5, 3, 4,
    -00041 5, 11, 9, 7, 6, 3, 5, 4, 1, -1, -5, -7, -8, -6, -10, -12, -11, -8, -8, -3, -5,
    -00042 -6, -6, 0, 4, 7, 8, 4, 4, 5, 10, 10, 8, 4, 3, -1, 0, 1, 0, -6, -8, -6, -8, -11,
    -00043 -10, -8, -9, -7, -4, -3, -1, -1, -1, 2, 6, 7, 7, 5, 8, 8, 6, 5, 4, 2, -2, -2,
    -00044 -2, -3, -7, -7, -10, -9, -9, -6, -6, -7, -8, -8, -1, 1, 5, 4, 1, 3, 5, 9, 10, 7,
    -00045 5, 3, 4, 4, 3, -1, -3, -4, -5, -7, -9, -10, -9, -7, -5, -6, -6, -6, -2, 0, 1, 0,
    -00046 3, 5, 5, 7, 7, 5, 5, 6, 5, 3, 2, -1, -6, -5, -4, -5, -9, -8, -8, -8, -9, -7, -6,
    -00047 -5, -3, 0, -1, 0, 3, 4, 7, 8, 7, 6, 4, 4, 3, 3, 0, -1, -2, -3, -4, -5, -8, -9,
    -00048 -7, -9, -9, -8, -6, -6, -1, 1, 1, 0, 2, 4, 6, 6, 5, 5, 5, 5, 5, 4, 4, 0, -2, -3,
    -00049 -5, -4, -6, -8, -9, -8, -10, -7, -5, -6, -5, -4, -1, 0, 4, 5, 5, 6, 4, 6, 6, 8,
    -00050 5, 3, 2, 0, -1, -2, -4, -5, -7, -8, -9, -8, -9, -7, -7, -5, -4, -2, -2, 0, 3, 4,
    -00051 3, 5, 6, 6, 8, 5, 4, 2, 4, 3, 0, -1, -4, -5, -6, -6, -7, -8, -9, -7, -6, -6, -7,
    -00052 -4, -2, 0, 3, 3, 3, 3, 5, 6, 7, 6, 5, 2, 3, 2, 2, -2, -3, -5, -6, -6, -4, -7,
    -00053 -8, -9, -7, -5, -5, -2, -2, -1, 0, 1, 4, 3, 6, 6, 5, 4, 6, 3, 3, 1, 0, -2, -1,
    -00054 -2, -3, -7, -6, -7, -8, -8, -4, -5, -4, -4, -2, 0, 0, 1, 4, 2, 3, 5, 7, 5, 4, 5,
    -00055 3, 3, 2, -1, -2, -4, -5, -4, -6, -7, -5, -8, -7, -7, -4, -5, -2, -2, 0, 1, 2, 4,
    -00056 4, 6, 4, 6, 4, 6, 3, 2, 0, 1, -2, -1, -4, -4, -6, -7, -8, -6, -7, -6, -6, -5,
    -00057 -4, -3, 0, 2, 3, 4, 4, 3, 6, 5, 5, 4, 5, 2, 2, 0, -1, -3, -5, -4, -6, -8, -7,
    -00058 -7, -8, -6, -6, -3, -2, -2, 0, 0, 3, 3, 3, 4, 5, 6, 5, 4, 3, 2, 2, 0, 0, -2, -4,
    -00059 -6, -4, -4, -7, -7, -8, -6, -5, -4, -4, -1, -2, 1, 2, 2, 2, 5, 5, 5, 4, 6, 2, 3,
    -00060 1, 1, 0, -2, -3, -4, -5, -4, -5, -6, -6, -6, -5, -3, -4, -2, -3, -1, 1, 3, 2, 5,
    -00061 3, 5, 4, 3, 4, 2, 2, 0, 0, -1, -4, -3, -5, -4, -7, -6, -5, -6, -6, -5, -3, -3,
    -00062 -3, 0, 0, 2, 2, 3, 3, 4, 4, 5, 4, 3, 1, 1, 1, -2, -2, -4, -4, -5, -5, -7, -6,
    -00063 -5, -6, -4, -4, -2, -2, 0, 0, 1, 1, 2, 2, 3, 3, 3, 3, 3, 2, 0, -1, 0, -1, -2,
    -00064 -3, -4, -5, -4, -4, -4, -5, -4, -4, -3, -2, 0, 0, 0, 0, 2, 4, 3, 3, 4, 2, 1, 3,
    -00065 1, 0, 0, -2, -2, -3, -3, -5, -6, -6, -5, -4, -4, -4, -3, -2, -1, 0, 1, 1, 1, 2,
    -00066 3, 3, 4, 1, 1, 1, 1, 1, 0, 0, -2, -2, -3, -4, -5, -5, -5, -5, -4, -3, -3, -3,
    -00067 -2, -1, 0, 1, 1, 2, 3, 3, 3, 3, 2, 1, 1, 1, -1, 0, -1, -3, -3, -3, -4, -5, -5,
    -00068 -5, -5, -3, -2, -2, -1, -1, -1, 0, 2, 3, 2, 2, 2, 3, 3, 2, 1, 0, -1, 0, -1, -3,
    -00069 -3, -4, -5, -5, -5, -4, -4, -5, -3, -3, -1, 0, -1, 0, 0, 2, 3, 3, 3, 2, 2, 1, 1,
    -00070 1, -1, -1, -1, -2, -3, -4, -4, -5, -5, -5, -4, -3, -3, -3, -2, 0, 0, 0, 1, 1, 3,
    -00071 3, 2, 3, 2, 1, 1, 1, 0, -1, -1, -1, -3, -3, -3, -5, -5, -4, -4, -3, -4, -3, -2,
    -00072 -1, 0, 0, 1, 1, 2, 2, 3, 3, 2, 1, 1, 0, 0, -1, -1, -2, -3, -3, -3, -3, -4, -4,
    -00073 -4, -3, -3, -3, -2, -1, -1, 0, 1, 1, 1, 2, 2, 2, 2, 1, 1, 0, 0, -1, 0, -1, -2,
    -00074 -3, -4, -4, -4, -4, -4, -4, -3, -2, -2, -1, -1, -1, 0, 0, 1, 2, 2, 2, 2, 2, 1,
    -00075 1, 0, -1, -1, -1, -2, -2, -3, -3, -3, -3, -3, -3, -3, -3, -2, -1, -1, 0, 0, 0,
    -00076 0, 2, 2, 2, 2, 1, 0, 1, 0, 0, -1, -1, -2, -2, -2, -3, -3, -4, -3, -3, -3, -2,
    -00077 -2, -1, -1, 0, 0, 0, 1, 1, 1, 2, 2, 1, 1, 1, 0, 0, -1, -1, -1, -2, -3, -2, -3,
    -00078 -3, -3, -3, -3, -2, -2, -2, -1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, -1,
    -00079 -1, -2, -2, -3, -2, -2, -2, -2, -3, -3, -2, -2, -1, 0, 0, 0, 0, 1, 1, 1, 1, 1,
    -00080 1, 1, 0, 0, -1, 0, -1, -1, -2, -2, -2, -3, -3, -2, -2, -2, -2, -2, -1, -1, -1,
    -00081 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, -1, -2, -2, -2, -2, -2, -3, -3, -3, -2, -2,
    -00082 -2, -2, -1, -1, -1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, -1, -2, -2, -2, -2,
    -00083 -2, -2, -3, -2, -2, -2, -2, -1, -1, -1, -1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0,
    -00084 -1, -1, -2, -2, -2, -2, -2, -3, -2, -2, -2, -2, -2, -1, -1, 0, 0, 0, 0, 1, 1, 1,
    -00085 1, 1, 0, 0, 0, 0, -1, -1, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, 0, -1,
    -00086 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, -1, -1, -1, -1, -2, -2, -2, -2, -2, -2, -2,
    -00087 -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -2, -2,
    -00088 -2, -2, -2, -2, -2, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00089 -1, -1, -1, -1, -2, -1, -2, -2, -2, -1, -1, -1, -1, 0, -1, -1, 0, 0, 0, 0, 0, 0,
    -00090 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -2, -2, -1, -1, -1, -1, -1, -1, -1, 0,
    -00091 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -2, -2, -2, -2, -1,
    -00092 -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1,
    -00093 -2, -2, -2, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0,
    -00094 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0,
    -00095 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0,
    -00096 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00097 -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1,
    -00098 -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1,
    -00099 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0,
    -00100 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0,
    -00101 -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00102 -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, -1, 0, -1, -1, -1,
    -00103 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, -1,
    -00104 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0,
    -00105 -1, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00106 -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, 0, 0, -1, -1, -1, -1, -1,
    -00107 -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, 0, -1, 0, 0, 0, -1, 0, 0,
    -00108 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, -1, 0, -1, 0, 0,
    -00109 };
    -00110 
    -00111  #endif /* BAMBOO_03_2048_H_ */
    -
    - - - - +
    1 #ifndef BAMBOO_03_2048_H_
    +
    2 #define BAMBOO_03_2048_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 #define BAMBOO_03_2048_NUM_CELLS 2048
    +
    12 #define BAMBOO_03_2048_SAMPLERATE 16384
    +
    13 
    +
    14 const char __attribute__((progmem)) BAMBOO_03_2048_DATA [] = {1, 1, -1, -1, 0, -1, 0, -1, -1, 2,
    +
    15 0, -22, -80, -128, -72, 38, 54, 23, 79, 124, 52, -22, -23, -2, 13, 39, 24, -41,
    +
    16 -89, -92, -36, 18, -9, -54, -35, -11, 40, 91, 27, -37, -18, -1, 24, 73, 82, -6,
    +
    17 -83, -30, 43, 55, 23, -18, -23, -27, -26, -6, 10, -11, -42, -23, 12, -1, -38,
    +
    18 -56, -14, 50, 52, 23, 9, -24, -39, 22, 72, 40, 7, -5, -12, 4, 24, 20, 0, -23,
    +
    19 -40, -27, 0, -4, -19, -35, -42, 0, 27, 1, -16, -13, -21, -9, 32, 48, 28, 5, -8,
    +
    20 4, 23, 20, 23, 19, -5, -15, 0, -1, -19, -23, -18, -6, -6, -29, -42, -27, -13, 6,
    +
    21 29, 20, -16, -29, -11, 14, 39, 37, 15, 5, 3, 11, 24, 21, -3, -17, -14, -2, 10,
    +
    22 -5, -30, -32, -23, -16, -4, 1, -14, -25, -22, -6, 13, 22, 16, 6, 3, 1, 10, 22,
    +
    23 24, 15, 14, 12, 8, -2, -12, -12, -5, -6, -11, -14, -22, -32, -23, -4, -1, -9,
    +
    24 -19, -22, -7, 14, 25, 26, 19, 8, 9, 18, 22, 18, 6, -3, 4, 13, 3, -6, -15, -24,
    +
    25 -21, -5, -2, -15, -23, -24, -16, -7, 0, -1, -3, -6, 3, 11, 14, 18, 15, 14, 22,
    +
    26 30, 12, -6, -3, -1, -1, 3, 5, -10, -31, -31, -16, -4, -1, -11, -21, -25, -13, 3,
    +
    27 11, 6, 5, 1, 4, 18, 20, 11, 5, 10, 17, 16, 15, 10, -2, -18, -15, -1, -4, -16,
    +
    28 -16, -20, -23, -14, -3, -8, -15, -11, -1, 7, 7, 0, 6, 15, 22, 17, 11, 4, 3, 3,
    +
    29 11, 19, 11, -6, -17, -16, -12, -9, -4, -12, -20, -21, -13, -7, -4, -8, -10, -4,
    +
    30 6, 10, 10, 7, 11, 14, 16, 16, 16, 6, -2, -1, 4, 1, -3, -7, -12, -13, -13, -11,
    +
    31 -15, -18, -15, -9, -6, -4, -5, -5, -2, 8, 13, 13, 9, 5, 9, 15, 21, 16, 7, 1, -2,
    +
    32 -6, -5, -1, -7, -12, -11, -12, -16, -17, -14, -10, -11, -6, -1, -2, -2, 4, 7, 5,
    +
    33 9, 16, 15, 12, 12, 12, 6, 6, 8, 5, -3, -5, -9, -17, -16, -10, -12, -15, -13, -9,
    +
    34 -9, -11, -4, 2, 2, 5, 7, 4, 7, 17, 14, 10, 10, 10, 3, 4, 6, 4, -4, -8, -3, -4,
    +
    35 -14, -13, -10, -15, -16, -9, -5, -11, -9, -3, -2, 1, 6, 5, 8, 13, 16, 8, 8, 9,
    +
    36 10, 6, 3, 5, -3, -10, -6, -2, -8, -10, -9, -11, -16, -12, -9, -7, -6, -2, -2, 1,
    +
    37 3, 6, 6, 9, 11, 11, 8, 9, 9, 5, 4, 4, 1, -8, -8, -7, -9, -13, -13, -9, -10, -9,
    +
    38 -6, -6, -7, -5, -2, 4, 7, 7, 3, 5, 7, 9, 6, 9, 11, 6, 1, 3, 2, -3, -8, -5, -6,
    +
    39 -10, -12, -14, -13, -11, -7, -4, -2, -3, -2, 2, 2, 4, 7, 9, 8, 8, 6, 6, 5, 6, 1,
    +
    40 1, 0, -2, -8, -7, -6, -5, -8, -10, -10, -8, -10, -6, -4, -4, -3, 2, 3, 5, 3, 4,
    +
    41 5, 11, 9, 7, 6, 3, 5, 4, 1, -1, -5, -7, -8, -6, -10, -12, -11, -8, -8, -3, -5,
    +
    42 -6, -6, 0, 4, 7, 8, 4, 4, 5, 10, 10, 8, 4, 3, -1, 0, 1, 0, -6, -8, -6, -8, -11,
    +
    43 -10, -8, -9, -7, -4, -3, -1, -1, -1, 2, 6, 7, 7, 5, 8, 8, 6, 5, 4, 2, -2, -2,
    +
    44 -2, -3, -7, -7, -10, -9, -9, -6, -6, -7, -8, -8, -1, 1, 5, 4, 1, 3, 5, 9, 10, 7,
    +
    45 5, 3, 4, 4, 3, -1, -3, -4, -5, -7, -9, -10, -9, -7, -5, -6, -6, -6, -2, 0, 1, 0,
    +
    46 3, 5, 5, 7, 7, 5, 5, 6, 5, 3, 2, -1, -6, -5, -4, -5, -9, -8, -8, -8, -9, -7, -6,
    +
    47 -5, -3, 0, -1, 0, 3, 4, 7, 8, 7, 6, 4, 4, 3, 3, 0, -1, -2, -3, -4, -5, -8, -9,
    +
    48 -7, -9, -9, -8, -6, -6, -1, 1, 1, 0, 2, 4, 6, 6, 5, 5, 5, 5, 5, 4, 4, 0, -2, -3,
    +
    49 -5, -4, -6, -8, -9, -8, -10, -7, -5, -6, -5, -4, -1, 0, 4, 5, 5, 6, 4, 6, 6, 8,
    +
    50 5, 3, 2, 0, -1, -2, -4, -5, -7, -8, -9, -8, -9, -7, -7, -5, -4, -2, -2, 0, 3, 4,
    +
    51 3, 5, 6, 6, 8, 5, 4, 2, 4, 3, 0, -1, -4, -5, -6, -6, -7, -8, -9, -7, -6, -6, -7,
    +
    52 -4, -2, 0, 3, 3, 3, 3, 5, 6, 7, 6, 5, 2, 3, 2, 2, -2, -3, -5, -6, -6, -4, -7,
    +
    53 -8, -9, -7, -5, -5, -2, -2, -1, 0, 1, 4, 3, 6, 6, 5, 4, 6, 3, 3, 1, 0, -2, -1,
    +
    54 -2, -3, -7, -6, -7, -8, -8, -4, -5, -4, -4, -2, 0, 0, 1, 4, 2, 3, 5, 7, 5, 4, 5,
    +
    55 3, 3, 2, -1, -2, -4, -5, -4, -6, -7, -5, -8, -7, -7, -4, -5, -2, -2, 0, 1, 2, 4,
    +
    56 4, 6, 4, 6, 4, 6, 3, 2, 0, 1, -2, -1, -4, -4, -6, -7, -8, -6, -7, -6, -6, -5,
    +
    57 -4, -3, 0, 2, 3, 4, 4, 3, 6, 5, 5, 4, 5, 2, 2, 0, -1, -3, -5, -4, -6, -8, -7,
    +
    58 -7, -8, -6, -6, -3, -2, -2, 0, 0, 3, 3, 3, 4, 5, 6, 5, 4, 3, 2, 2, 0, 0, -2, -4,
    +
    59 -6, -4, -4, -7, -7, -8, -6, -5, -4, -4, -1, -2, 1, 2, 2, 2, 5, 5, 5, 4, 6, 2, 3,
    +
    60 1, 1, 0, -2, -3, -4, -5, -4, -5, -6, -6, -6, -5, -3, -4, -2, -3, -1, 1, 3, 2, 5,
    +
    61 3, 5, 4, 3, 4, 2, 2, 0, 0, -1, -4, -3, -5, -4, -7, -6, -5, -6, -6, -5, -3, -3,
    +
    62 -3, 0, 0, 2, 2, 3, 3, 4, 4, 5, 4, 3, 1, 1, 1, -2, -2, -4, -4, -5, -5, -7, -6,
    +
    63 -5, -6, -4, -4, -2, -2, 0, 0, 1, 1, 2, 2, 3, 3, 3, 3, 3, 2, 0, -1, 0, -1, -2,
    +
    64 -3, -4, -5, -4, -4, -4, -5, -4, -4, -3, -2, 0, 0, 0, 0, 2, 4, 3, 3, 4, 2, 1, 3,
    +
    65 1, 0, 0, -2, -2, -3, -3, -5, -6, -6, -5, -4, -4, -4, -3, -2, -1, 0, 1, 1, 1, 2,
    +
    66 3, 3, 4, 1, 1, 1, 1, 1, 0, 0, -2, -2, -3, -4, -5, -5, -5, -5, -4, -3, -3, -3,
    +
    67 -2, -1, 0, 1, 1, 2, 3, 3, 3, 3, 2, 1, 1, 1, -1, 0, -1, -3, -3, -3, -4, -5, -5,
    +
    68 -5, -5, -3, -2, -2, -1, -1, -1, 0, 2, 3, 2, 2, 2, 3, 3, 2, 1, 0, -1, 0, -1, -3,
    +
    69 -3, -4, -5, -5, -5, -4, -4, -5, -3, -3, -1, 0, -1, 0, 0, 2, 3, 3, 3, 2, 2, 1, 1,
    +
    70 1, -1, -1, -1, -2, -3, -4, -4, -5, -5, -5, -4, -3, -3, -3, -2, 0, 0, 0, 1, 1, 3,
    +
    71 3, 2, 3, 2, 1, 1, 1, 0, -1, -1, -1, -3, -3, -3, -5, -5, -4, -4, -3, -4, -3, -2,
    +
    72 -1, 0, 0, 1, 1, 2, 2, 3, 3, 2, 1, 1, 0, 0, -1, -1, -2, -3, -3, -3, -3, -4, -4,
    +
    73 -4, -3, -3, -3, -2, -1, -1, 0, 1, 1, 1, 2, 2, 2, 2, 1, 1, 0, 0, -1, 0, -1, -2,
    +
    74 -3, -4, -4, -4, -4, -4, -4, -3, -2, -2, -1, -1, -1, 0, 0, 1, 2, 2, 2, 2, 2, 1,
    +
    75 1, 0, -1, -1, -1, -2, -2, -3, -3, -3, -3, -3, -3, -3, -3, -2, -1, -1, 0, 0, 0,
    +
    76 0, 2, 2, 2, 2, 1, 0, 1, 0, 0, -1, -1, -2, -2, -2, -3, -3, -4, -3, -3, -3, -2,
    +
    77 -2, -1, -1, 0, 0, 0, 1, 1, 1, 2, 2, 1, 1, 1, 0, 0, -1, -1, -1, -2, -3, -2, -3,
    +
    78 -3, -3, -3, -3, -2, -2, -2, -1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, -1,
    +
    79 -1, -2, -2, -3, -2, -2, -2, -2, -3, -3, -2, -2, -1, 0, 0, 0, 0, 1, 1, 1, 1, 1,
    +
    80 1, 1, 0, 0, -1, 0, -1, -1, -2, -2, -2, -3, -3, -2, -2, -2, -2, -2, -1, -1, -1,
    +
    81 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, -1, -2, -2, -2, -2, -2, -3, -3, -3, -2, -2,
    +
    82 -2, -2, -1, -1, -1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, -1, -2, -2, -2, -2,
    +
    83 -2, -2, -3, -2, -2, -2, -2, -1, -1, -1, -1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0,
    +
    84 -1, -1, -2, -2, -2, -2, -2, -3, -2, -2, -2, -2, -2, -1, -1, 0, 0, 0, 0, 1, 1, 1,
    +
    85 1, 1, 0, 0, 0, 0, -1, -1, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -2, 0, -1,
    +
    86 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, -1, -1, -1, -1, -2, -2, -2, -2, -2, -2, -2,
    +
    87 -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -2, -2,
    +
    88 -2, -2, -2, -2, -2, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    89 -1, -1, -1, -1, -2, -1, -2, -2, -2, -1, -1, -1, -1, 0, -1, -1, 0, 0, 0, 0, 0, 0,
    +
    90 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -2, -2, -1, -1, -1, -1, -1, -1, -1, 0,
    +
    91 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -2, -2, -2, -2, -1,
    +
    92 -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1,
    +
    93 -2, -2, -2, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0,
    +
    94 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0,
    +
    95 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0,
    +
    96 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    97 -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1,
    +
    98 -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1,
    +
    99 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0,
    +
    100 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0,
    +
    101 -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    102 -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, -1, 0, -1, -1, -1,
    +
    103 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, -1,
    +
    104 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0,
    +
    105 -1, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    106 -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, 0, 0, -1, -1, -1, -1, -1,
    +
    107 -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, 0, -1, 0, 0, 0, -1, 0, 0,
    +
    108 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, -1, 0, -1, 0, 0,
    +
    109 };
    +
    110 
    +
    111  #endif /* BAMBOO_03_2048_H_ */
    +
    + + + diff --git a/doc/html/bamboo__03__4096__int8_8h_source.html b/doc/html/bamboo__03__4096__int8_8h_source.html index 1e6c93ab6..26d0736e2 100644 --- a/doc/html/bamboo__03__4096__int8_8h_source.html +++ b/doc/html/bamboo__03__4096__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: samples/bamboo/bamboo_03_4096_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,216 +99,218 @@
    -
    samples/bamboo/bamboo_03_4096_int8.h
    +
    bamboo_03_4096_int8.h
    -
    00001 #ifndef BAMBOO_03_4096_H_
    -00002 #define BAMBOO_03_4096_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 #define BAMBOO_03_4096_NUM_CELLS 4096
    -00012 #define BAMBOO_03_4096_SAMPLERATE 16384
    -00013 
    -00014 const char __attribute__((progmem)) BAMBOO_03_4096_DATA []  = {1, 1, -1, 0, 0, 0, 0, 0, 0, 2, 1,
    -00015                 -22, -80, -127, -72, 39, 54, 23, 80, 124, 53, -22, -22, -2, 13, 40, 24, -40,
    -00016                 -89, -91, -36, 19, -9, -54, -35, -10, 40, 92, 27, -37, -17, -1, 25, 73, 82, -5,
    -00017                 -83, -29, 43, 56, 23, -17, -23, -26, -26, -5, 10, -10, -42, -23, 12, -1, -38,
    -00018                 -56, -13, 50, 53, 23, 9, -23, -39, 23, 72, 41, 7, -4, -12, 4, 24, 20, 0, -22,
    -00019                 -40, -26, 0, -4, -18, -35, -41, 0, 28, 2, -16, -13, -20, -9, 33, 48, 29, 5, -7,
    -00020                 4, 23, 20, 23, 20, -5, -15, 0, -1, -18, -23, -17, -6, -6, -29, -41, -27, -12, 6,
    -00021                 29, 20, -16, -29, -11, 14, 39, 37, 15, 5, 4, 11, 25, 21, -2, -17, -14, -1, 10,
    -00022                 -4, -30, -31, -23, -16, -3, 1, -13, -25, -21, -6, 13, 23, 16, 7, 3, 2, 10, 23,
    -00023                 24, 16, 14, 13, 8, -1, -12, -12, -4, -6, -11, -13, -22, -31, -23, -4, 0, -9,
    -00024                 -18, -22, -7, 14, 25, 26, 19, 8, 9, 18, 22, 18, 6, -3, 4, 13, 4, -6, -14, -24,
    -00025                 -20, -5, -2, -15, -23, -24, -16, -6, 0, 0, -3, -5, 3, 11, 15, 18, 16, 14, 23,
    -00026                 30, 12, -6, -2, -1, -1, 4, 5, -10, -30, -31, -16, -3, -1, -10, -21, -24, -13, 4,
    -00027                 11, 7, 5, 1, 5, 18, 20, 12, 5, 11, 17, 17, 15, 11, -2, -17, -15, 0, -4, -15,
    -00028                 -16, -19, -23, -13, -3, -8, -14, -11, 0, 7, 7, 1, 6, 16, 22, 18, 11, 5, 3, 3,
    -00029                 12, 19, 12, -6, -17, -15, -12, -8, -4, -11, -20, -20, -13, -6, -4, -7, -10, -3,
    -00030                 6, 11, 10, 8, 11, 15, 16, 16, 16, 6, -2, 0, 4, 1, -2, -7, -11, -13, -12, -11,
    -00031                 -15, -18, -14, -9, -5, -4, -4, -5, -1, 8, 13, 13, 9, 6, 9, 16, 21, 17, 7, 1, -1,
    -00032                 -6, -4, -1, -6, -11, -11, -11, -16, -17, -13, -10, -10, -6, -1, -2, -2, 4, 7, 5,
    -00033                 9, 16, 15, 12, 13, 12, 7, 6, 9, 5, -3, -4, -9, -16, -16, -10, -11, -15, -13, -8,
    -00034                 -9, -10, -4, 2, 3, 5, 8, 4, 8, 17, 15, 10, 11, 10, 4, 4, 7, 4, -4, -7, -3, -4,
    -00035                 -13, -13, -9, -15, -16, -8, -5, -10, -9, -3, -1, 2, 6, 6, 8, 14, 16, 9, 8, 10,
    -00036                 10, 6, 4, 5, -2, -10, -6, -2, -8, -10, -8, -11, -15, -12, -8, -7, -5, -2, -1, 1,
    -00037                 4, 6, 7, 9, 12, 11, 8, 10, 9, 6, 4, 5, 1, -7, -8, -6, -9, -13, -12, -9, -9, -8,
    -00038                 -6, -5, -7, -5, -1, 4, 7, 7, 4, 5, 8, 9, 7, 9, 11, 7, 1, 3, 3, -3, -7, -5, -5,
    -00039                 -10, -12, -13, -13, -10, -7, -4, -1, -3, -1, 2, 3, 4, 8, 9, 9, 8, 7, 6, 6, 6, 2,
    -00040                 1, 1, -2, -7, -7, -5, -5, -7, -10, -10, -8, -9, -6, -3, -4, -2, 2, 4, 5, 4, 4,
    -00041                 6, 11, 9, 8, 6, 4, 5, 5, 1, -1, -4, -7, -7, -6, -9, -12, -10, -8, -7, -3, -4,
    -00042                 -6, -5, 0, 4, 8, 8, 5, 4, 6, 10, 11, 8, 5, 3, 0, 0, 2, 0, -6, -7, -6, -7, -11,
    -00043                 -9, -8, -8, -6, -4, -2, -1, -1, 0, 2, 6, 8, 7, 6, 8, 9, 6, 5, 5, 2, -1, -2, -1,
    -00044                 -3, -6, -7, -9, -9, -8, -6, -6, -6, -8, -7, -1, 2, 5, 4, 2, 3, 6, 9, 10, 8, 5,
    -00045                 4, 4, 5, 3, 0, -3, -4, -4, -7, -9, -9, -9, -6, -5, -6, -6, -5, -2, 1, 1, 1, 3,
    -00046                 5, 6, 7, 8, 5, 5, 7, 5, 3, 3, -1, -5, -5, -3, -5, -8, -8, -7, -8, -8, -7, -6,
    -00047                 -5, -2, 0, 0, 0, 3, 5, 7, 8, 8, 6, 5, 4, 4, 3, 1, -1, -1, -3, -3, -5, -8, -8,
    -00048                 -7, -8, -9, -7, -6, -5, -1, 1, 2, 0, 2, 4, 6, 6, 6, 5, 5, 6, 5, 5, 4, 1, -2, -3,
    -00049                 -4, -4, -5, -8, -8, -8, -9, -7, -5, -5, -5, -3, -1, 1, 4, 5, 6, 6, 5, 6, 7, 8,
    -00050                 5, 4, 2, 0, 0, -2, -3, -5, -7, -8, -8, -8, -8, -7, -6, -5, -3, -2, -1, 0, 4, 4,
    -00051                 3, 5, 6, 7, 8, 6, 4, 3, 4, 3, 1, -1, -3, -5, -5, -6, -6, -8, -8, -7, -6, -6, -6,
    -00052                 -4, -2, 0, 3, 4, 3, 4, 5, 7, 7, 7, 5, 3, 3, 3, 2, -1, -3, -4, -6, -5, -4, -6,
    -00053                 -8, -8, -7, -5, -4, -2, -1, -1, 0, 2, 4, 4, 6, 7, 5, 5, 6, 4, 3, 2, 0, -2, -1,
    -00054                 -2, -3, -6, -6, -6, -8, -7, -4, -4, -4, -4, -2, 0, 0, 2, 4, 3, 3, 6, 7, 5, 5, 5,
    -00055                 4, 3, 2, 0, -2, -4, -4, -4, -6, -6, -5, -7, -7, -6, -4, -4, -2, -1, 0, 1, 3, 4,
    -00056                 5, 6, 5, 6, 5, 6, 4, 2, 1, 1, -1, -1, -3, -4, -6, -7, -7, -6, -6, -6, -6, -4,
    -00057                 -4, -2, 0, 2, 3, 4, 4, 4, 6, 6, 5, 5, 5, 3, 2, 1, 0, -3, -4, -4, -5, -7, -7, -7,
    -00058                 -7, -6, -5, -3, -2, -1, 0, 1, 3, 4, 3, 4, 6, 6, 6, 4, 3, 3, 2, 1, 0, -1, -4, -5,
    -00059                 -4, -4, -6, -7, -7, -6, -5, -4, -3, -1, -1, 1, 3, 2, 3, 5, 6, 5, 5, 6, 3, 3, 2,
    -00060                 1, 1, -2, -3, -4, -4, -4, -5, -6, -6, -6, -4, -3, -3, -2, -2, -1, 2, 3, 3, 5, 4,
    -00061                 5, 4, 4, 4, 3, 2, 1, 0, -1, -3, -3, -4, -4, -6, -6, -5, -5, -6, -4, -3, -3, -2,
    -00062                 0, 1, 2, 3, 3, 4, 4, 5, 5, 5, 3, 2, 1, 1, -1, -2, -3, -4, -4, -5, -6, -6, -5,
    -00063                 -5, -4, -3, -2, -2, 0, 1, 2, 2, 3, 3, 4, 4, 4, 4, 4, 3, 0, 0, 0, -1, -2, -3, -4,
    -00064                 -5, -4, -4, -4, -5, -4, -4, -3, -2, 0, 0, 1, 1, 3, 5, 4, 4, 5, 3, 2, 4, 2, 1, 0,
    -00065                 -2, -2, -3, -3, -5, -6, -6, -5, -4, -4, -4, -3, -2, -1, 1, 2, 2, 2, 3, 4, 4, 5,
    -00066                 2, 2, 2, 2, 2, 1, 0, -2, -2, -3, -4, -5, -5, -5, -5, -4, -3, -3, -3, -2, -1, 1,
    -00067                 2, 2, 3, 4, 4, 4, 4, 3, 2, 2, 2, 0, 0, -1, -3, -3, -3, -4, -5, -5, -5, -5, -3,
    -00068                 -2, -2, -1, -1, 0, 1, 3, 4, 3, 3, 3, 4, 4, 3, 2, 1, -1, 0, -1, -3, -3, -4, -5,
    -00069                 -5, -5, -4, -4, -5, -3, -3, -1, 0, 0, 1, 1, 3, 4, 4, 4, 3, 3, 2, 2, 2, 0, -1,
    -00070                 -1, -2, -3, -4, -4, -5, -5, -5, -4, -3, -3, -3, -2, 0, 1, 1, 2, 2, 4, 4, 3, 4,
    -00071                 3, 2, 2, 2, 1, 0, -1, -1, -3, -3, -3, -5, -5, -4, -4, -3, -4, -3, -2, -1, 0, 1,
    -00072                 2, 2, 3, 3, 4, 4, 3, 2, 2, 1, 1, -1, -1, -2, -3, -3, -3, -3, -4, -4, -5, -3, -3,
    -00073                 -3, -2, -1, -1, 1, 2, 2, 2, 3, 3, 3, 3, 2, 2, 1, 1, -1, 0, -1, -2, -3, -4, -4,
    -00074                 -4, -4, -4, -4, -3, -2, -2, -1, -1, 0, 1, 1, 2, 3, 3, 3, 3, 3, 2, 2, 1, 0, -1,
    -00075                 -1, -2, -2, -3, -4, -4, -4, -3, -3, -3, -3, -2, -1, 0, 0, 1, 1, 1, 3, 3, 3, 3,
    -00076                 2, 1, 2, 1, 1, 0, -1, -2, -2, -2, -4, -4, -5, -4, -3, -3, -2, -2, -1, 0, 0, 1,
    -00077                 1, 2, 2, 2, 3, 3, 2, 2, 2, 1, 1, 0, -1, -1, -2, -3, -2, -3, -4, -4, -4, -3, -2,
    -00078                 -2, -2, -1, 0, 1, 1, 2, 2, 3, 2, 3, 3, 2, 2, 1, 1, 0, -1, -1, -2, -3, -4, -3,
    -00079                 -3, -3, -3, -4, -4, -2, -2, -1, 0, 1, 1, 1, 3, 3, 3, 3, 2, 2, 2, 1, 1, 0, 0, -1,
    -00080                 -1, -2, -3, -3, -4, -4, -3, -3, -2, -3, -2, -1, -1, 0, 0, 1, 1, 2, 3, 3, 3, 2,
    -00081                 2, 1, 1, 0, 0, -2, -2, -2, -3, -3, -4, -4, -4, -3, -2, -2, -2, -1, -1, 0, 1, 1,
    -00082                 1, 2, 3, 3, 3, 2, 2, 1, 1, 0, 0, -1, -2, -2, -2, -2, -3, -3, -4, -3, -3, -2, -2,
    -00083                 -1, 0, -1, 0, 1, 1, 1, 2, 2, 2, 3, 2, 1, 1, 0, 1, -1, -1, -2, -2, -3, -2, -3,
    -00084                 -4, -3, -3, -3, -2, -2, -1, -1, 0, 1, 1, 1, 2, 2, 2, 2, 2, 1, 1, 1, 0, -1, -1,
    -00085                 -1, -2, -2, -3, -3, -3, -3, -2, -2, -2, -2, -2, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 1,
    -00086                 1, 1, 0, 0, -1, -2, -2, -3, -3, -3, -3, -3, -3, -3, -2, -2, -1, -1, 0, 1, 1, 1,
    -00087                 2, 2, 2, 2, 2, 1, 1, 1, 0, 0, -1, -2, -2, -3, -3, -3, -3, -3, -3, -3, -2, -2,
    -00088                 -2, -1, 0, 0, 1, 1, 2, 2, 2, 1, 2, 1, 1, 1, 0, 0, 0, -1, -1, -2, -3, -2, -3, -3,
    -00089                 -3, -2, -2, -2, -2, 0, -1, 0, 1, 1, 2, 2, 1, 2, 1, 2, 1, 1, 1, 0, 0, -1, -2, -2,
    -00090                 -2, -2, -3, -3, -2, -2, -2, -2, -2, -1, 0, 0, 0, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1,
    -00091                 0, 0, -1, -1, -2, -2, -2, -3, -3, -3, -3, -2, -2, -2, -1, -1, 0, 1, 1, 1, 1, 1,
    -00092                 2, 1, 1, 1, 1, 1, 0, 0, -1, -1, -2, -2, -2, -3, -3, -3, -2, -2, -2, -1, -1, -1,
    -00093                 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, 0, -1, -1, -1, -2, -2, -2, -2, -3, -2,
    -00094                 -2, -2, -2, -1, 0, -1, 0, 1, 1, 1, 1, 2, 2, 1, 2, 1, 1, 1, 0, -1, -1, -1, -2,
    -00095                 -3, -2, -3, -3, -2, -2, -2, -2, -2, -1, 0, 1, 0, 1, 1, 1, 1, 1, 2, 1, 1, 1, 0,
    -00096                 -1, 0, -1, -1, -2, -2, -2, -2, -2, -2, -2, -2, -1, -1, -1, 0, 0, 1, 1, 1, 2, 2,
    -00097                 1, 1, 1, 1, 1, 0, 0, -1, -1, -1, -1, -2, -2, -2, -2, -2, -2, -2, -2, -1, -1, 0,
    -00098                 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, -1, -1, -1, -2, -2, -2, -3, -2, -2, -2,
    -00099                 -2, -2, -2, -1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, -1, -1, -1, -2, -2,
    -00100                 -2, -2, -2, -2, -2, -1, -1, -2, -1, -1, 0, 0, 1, 1, 1, 1, 1, 2, 2, 1, 1, 0, 0,
    -00101                 0, 0, -1, -1, -2, -1, -2, -3, -2, -2, -1, -2, -1, -2, -1, -1, 0, 0, 1, 1, 1, 1,
    -00102                 2, 0, 1, 0, 1, 0, -1, 0, -1, -1, -1, -1, -1, -2, -2, -2, -2, -2, -1, -1, -1, 0,
    -00103                 -1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, -1, 0, -1, -1, -2, -1, -2, -2, -1,
    -00104                 -2, -1, -1, -1, 0, -1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, -1, 0, -1, -1, -1,
    -00105                 -2, -2, -2, -2, -2, -1, -2, -1, -1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0,
    -00106                 0, 0, -1, -1, -1, -1, -1, -2, -2, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 1,
    -00107                 1, 0, 0, 0, 0, -1, -1, -1, -2, -2, -2, -2, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0,
    -00108                 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -2, -1, -1, -2, -1,
    -00109                 -1, -1, -1, -1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -2, -1,
    -00110                 -2, -1, -2, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1,
    -00111                 -1, -1, -1, -1, -2, -2, -1, -2, -2, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00112                 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -2, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0,
    -00113                 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -2, -1, -1, -1, -1,
    -00114                 -1, -1, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -2, -1,
    -00115                 -2, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 0, -1,
    -00116                 -1, -2, -1, -2, -1, -1, -1, -1, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00117                 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -2, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0,
    -00118                 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00119                 -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1,
    -00120                 -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1,
    -00121                 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00122                 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0,
    -00123                 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00124                 -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1,
    -00125                 -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1,
    -00126                 -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
    -00127                 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0,
    -00128                 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1,
    -00129                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00130                 -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1,
    -00131                 -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1,
    -00132                 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00133                 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0,
    -00134                 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00135                 -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, -1, -1, -1, -1, -1,
    -00136                 -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1,
    -00137                 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00138                 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, 0, 0,
    -00139                 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00140                 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1,
    -00141                 0, -1, 0, -1, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1,
    -00142                 -1, -1, -1, -1, -1, 0, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1,
    -00143                 0, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, 0, 0, 0, 0,
    -00144                 0, 0, -1, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0,
    -00145                 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00146                 -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1,
    -00147                 -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0,
    -00148                 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0,
    -00149                 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, 0, -1, -1, -1, -1, 0, -1, 0, -1, 0, 0, -1, 0,
    -00150                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0,
    -00151                 -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, -1, -1, -1, -1, -1,
    -00152                 0, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1,
    -00153                 -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0,
    -00154                 0, 0, -1, 0, -1, -1, -1, -1, -1, 0, -1, 0, -1, -1, -1, -1, -1, 0, 0, 0, 0, -1,
    -00155                 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, -1, -1, -1, 0, -1, -1, 0, -1, -1, -1, -1, -1, 0,
    -00156                 -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, 0, -1,
    -00157                 -1, -1, -1, -1, 0, -1, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1,
    -00158                 -1, 0, -1, 0, 0, -1, -1, -1, -1, -1, 0, -1, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0,
    -00159                 0, -1, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, 0, -1, -1, -1, 0, 0, -1,
    -00160                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1,
    -00161                 -1, 0, -1, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, 0, 0, 0, 0,
    -00162                 -1, -1, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1,
    -00163                 0, -1, 0, -1, -1, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1,
    -00164                 -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, 0, -1, 0, 0, 0, -1, 0, 0, 0, 0, -1,
    -00165                 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, -1, 0, -1, -1, 0, -1, 0, 0, 0, 0,
    -00166                 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00167                 -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, -1, -1, -1,
    -00168                 -1, 0, 0, -1, -1, 0, 0, 0, 0, -1, 0, 0, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1,
    -00169                 -1, -1, -1, 0, -1, 0, -1, 0, -1, -1, -1, 0, -1, 0, 0, -1, 0, -1, 0, 0, 0, 0, -1,
    -00170                 0, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, 0, 0, 0, 0, -1, 0, -1,
    -00171                 0, -1, 0, 0, 0, -1, 0, -1, 0, 0, -1, -1, -1, 0, 0, -1, -1, -1, 0, 0, -1, -1, 0,
    -00172                 0, 0, 0, -1, 0, 0, 0, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, -1, 0, -1, -1, -1, -1,
    -00173                 0, 0, 0, 0, -1, 0, 0, 0, 0, -1, 0, -1, 0, 0, -1, 0, 0, 0, -1, 0, -1, -1, -1, 0,
    -00174                 -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, -1,
    -00175                 0, -1, 0, -1, 0, -1, -1, -1, -1, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00176                 -1, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, 0, -1, 0, -1, 0,
    -00177                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, 0,
    -00178                 -1, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, 0, 0, 0, 0, -1, 0, 0, -1, -1,
    -00179                 -1, -1, -1, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, -1, 0, 0, -1,
    -00180                 -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00181                 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, 0, -1, -1, 0, -1, 0, 0, 0, 0, 0, -1, 0, -1,
    -00182                 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0,
    -00183                 -1, 0, -1, 0, -1, 0, -1, 0, -1, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, -1, -1, -1,
    -00184                 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1,
    -00185                 0, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1,
    -00186                 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0,
    -00187                 -1, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0,
    -00188                 -1, 0, -1, 0, 0, 0, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0,
    -00189                 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0,
    -00190                 -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0,
    -00191                 -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, -1, 0,
    -00192                 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0,
    -00193                 -1, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1,
    -00194                 0, -1, 0, -1, 0, -1, 0, -1, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0,
    -00195                 -1, 0, -1, 0, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1,
    -00196                 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, -1, 0,
    -00197                 -1, 0,};
    -00198 
    -00199 #endif /* BAMBOO_03_4096_H_ */
    -
    - - - - +
    1 #ifndef BAMBOO_03_4096_H_
    +
    2 #define BAMBOO_03_4096_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 #define BAMBOO_03_4096_NUM_CELLS 4096
    +
    12 #define BAMBOO_03_4096_SAMPLERATE 16384
    +
    13 
    +
    14 const char __attribute__((progmem)) BAMBOO_03_4096_DATA [] = {1, 1, -1, 0, 0, 0, 0, 0, 0, 2, 1,
    +
    15  -22, -80, -127, -72, 39, 54, 23, 80, 124, 53, -22, -22, -2, 13, 40, 24, -40,
    +
    16  -89, -91, -36, 19, -9, -54, -35, -10, 40, 92, 27, -37, -17, -1, 25, 73, 82, -5,
    +
    17  -83, -29, 43, 56, 23, -17, -23, -26, -26, -5, 10, -10, -42, -23, 12, -1, -38,
    +
    18  -56, -13, 50, 53, 23, 9, -23, -39, 23, 72, 41, 7, -4, -12, 4, 24, 20, 0, -22,
    +
    19  -40, -26, 0, -4, -18, -35, -41, 0, 28, 2, -16, -13, -20, -9, 33, 48, 29, 5, -7,
    +
    20  4, 23, 20, 23, 20, -5, -15, 0, -1, -18, -23, -17, -6, -6, -29, -41, -27, -12, 6,
    +
    21  29, 20, -16, -29, -11, 14, 39, 37, 15, 5, 4, 11, 25, 21, -2, -17, -14, -1, 10,
    +
    22  -4, -30, -31, -23, -16, -3, 1, -13, -25, -21, -6, 13, 23, 16, 7, 3, 2, 10, 23,
    +
    23  24, 16, 14, 13, 8, -1, -12, -12, -4, -6, -11, -13, -22, -31, -23, -4, 0, -9,
    +
    24  -18, -22, -7, 14, 25, 26, 19, 8, 9, 18, 22, 18, 6, -3, 4, 13, 4, -6, -14, -24,
    +
    25  -20, -5, -2, -15, -23, -24, -16, -6, 0, 0, -3, -5, 3, 11, 15, 18, 16, 14, 23,
    +
    26  30, 12, -6, -2, -1, -1, 4, 5, -10, -30, -31, -16, -3, -1, -10, -21, -24, -13, 4,
    +
    27  11, 7, 5, 1, 5, 18, 20, 12, 5, 11, 17, 17, 15, 11, -2, -17, -15, 0, -4, -15,
    +
    28  -16, -19, -23, -13, -3, -8, -14, -11, 0, 7, 7, 1, 6, 16, 22, 18, 11, 5, 3, 3,
    +
    29  12, 19, 12, -6, -17, -15, -12, -8, -4, -11, -20, -20, -13, -6, -4, -7, -10, -3,
    +
    30  6, 11, 10, 8, 11, 15, 16, 16, 16, 6, -2, 0, 4, 1, -2, -7, -11, -13, -12, -11,
    +
    31  -15, -18, -14, -9, -5, -4, -4, -5, -1, 8, 13, 13, 9, 6, 9, 16, 21, 17, 7, 1, -1,
    +
    32  -6, -4, -1, -6, -11, -11, -11, -16, -17, -13, -10, -10, -6, -1, -2, -2, 4, 7, 5,
    +
    33  9, 16, 15, 12, 13, 12, 7, 6, 9, 5, -3, -4, -9, -16, -16, -10, -11, -15, -13, -8,
    +
    34  -9, -10, -4, 2, 3, 5, 8, 4, 8, 17, 15, 10, 11, 10, 4, 4, 7, 4, -4, -7, -3, -4,
    +
    35  -13, -13, -9, -15, -16, -8, -5, -10, -9, -3, -1, 2, 6, 6, 8, 14, 16, 9, 8, 10,
    +
    36  10, 6, 4, 5, -2, -10, -6, -2, -8, -10, -8, -11, -15, -12, -8, -7, -5, -2, -1, 1,
    +
    37  4, 6, 7, 9, 12, 11, 8, 10, 9, 6, 4, 5, 1, -7, -8, -6, -9, -13, -12, -9, -9, -8,
    +
    38  -6, -5, -7, -5, -1, 4, 7, 7, 4, 5, 8, 9, 7, 9, 11, 7, 1, 3, 3, -3, -7, -5, -5,
    +
    39  -10, -12, -13, -13, -10, -7, -4, -1, -3, -1, 2, 3, 4, 8, 9, 9, 8, 7, 6, 6, 6, 2,
    +
    40  1, 1, -2, -7, -7, -5, -5, -7, -10, -10, -8, -9, -6, -3, -4, -2, 2, 4, 5, 4, 4,
    +
    41  6, 11, 9, 8, 6, 4, 5, 5, 1, -1, -4, -7, -7, -6, -9, -12, -10, -8, -7, -3, -4,
    +
    42  -6, -5, 0, 4, 8, 8, 5, 4, 6, 10, 11, 8, 5, 3, 0, 0, 2, 0, -6, -7, -6, -7, -11,
    +
    43  -9, -8, -8, -6, -4, -2, -1, -1, 0, 2, 6, 8, 7, 6, 8, 9, 6, 5, 5, 2, -1, -2, -1,
    +
    44  -3, -6, -7, -9, -9, -8, -6, -6, -6, -8, -7, -1, 2, 5, 4, 2, 3, 6, 9, 10, 8, 5,
    +
    45  4, 4, 5, 3, 0, -3, -4, -4, -7, -9, -9, -9, -6, -5, -6, -6, -5, -2, 1, 1, 1, 3,
    +
    46  5, 6, 7, 8, 5, 5, 7, 5, 3, 3, -1, -5, -5, -3, -5, -8, -8, -7, -8, -8, -7, -6,
    +
    47  -5, -2, 0, 0, 0, 3, 5, 7, 8, 8, 6, 5, 4, 4, 3, 1, -1, -1, -3, -3, -5, -8, -8,
    +
    48  -7, -8, -9, -7, -6, -5, -1, 1, 2, 0, 2, 4, 6, 6, 6, 5, 5, 6, 5, 5, 4, 1, -2, -3,
    +
    49  -4, -4, -5, -8, -8, -8, -9, -7, -5, -5, -5, -3, -1, 1, 4, 5, 6, 6, 5, 6, 7, 8,
    +
    50  5, 4, 2, 0, 0, -2, -3, -5, -7, -8, -8, -8, -8, -7, -6, -5, -3, -2, -1, 0, 4, 4,
    +
    51  3, 5, 6, 7, 8, 6, 4, 3, 4, 3, 1, -1, -3, -5, -5, -6, -6, -8, -8, -7, -6, -6, -6,
    +
    52  -4, -2, 0, 3, 4, 3, 4, 5, 7, 7, 7, 5, 3, 3, 3, 2, -1, -3, -4, -6, -5, -4, -6,
    +
    53  -8, -8, -7, -5, -4, -2, -1, -1, 0, 2, 4, 4, 6, 7, 5, 5, 6, 4, 3, 2, 0, -2, -1,
    +
    54  -2, -3, -6, -6, -6, -8, -7, -4, -4, -4, -4, -2, 0, 0, 2, 4, 3, 3, 6, 7, 5, 5, 5,
    +
    55  4, 3, 2, 0, -2, -4, -4, -4, -6, -6, -5, -7, -7, -6, -4, -4, -2, -1, 0, 1, 3, 4,
    +
    56  5, 6, 5, 6, 5, 6, 4, 2, 1, 1, -1, -1, -3, -4, -6, -7, -7, -6, -6, -6, -6, -4,
    +
    57  -4, -2, 0, 2, 3, 4, 4, 4, 6, 6, 5, 5, 5, 3, 2, 1, 0, -3, -4, -4, -5, -7, -7, -7,
    +
    58  -7, -6, -5, -3, -2, -1, 0, 1, 3, 4, 3, 4, 6, 6, 6, 4, 3, 3, 2, 1, 0, -1, -4, -5,
    +
    59  -4, -4, -6, -7, -7, -6, -5, -4, -3, -1, -1, 1, 3, 2, 3, 5, 6, 5, 5, 6, 3, 3, 2,
    +
    60  1, 1, -2, -3, -4, -4, -4, -5, -6, -6, -6, -4, -3, -3, -2, -2, -1, 2, 3, 3, 5, 4,
    +
    61  5, 4, 4, 4, 3, 2, 1, 0, -1, -3, -3, -4, -4, -6, -6, -5, -5, -6, -4, -3, -3, -2,
    +
    62  0, 1, 2, 3, 3, 4, 4, 5, 5, 5, 3, 2, 1, 1, -1, -2, -3, -4, -4, -5, -6, -6, -5,
    +
    63  -5, -4, -3, -2, -2, 0, 1, 2, 2, 3, 3, 4, 4, 4, 4, 4, 3, 0, 0, 0, -1, -2, -3, -4,
    +
    64  -5, -4, -4, -4, -5, -4, -4, -3, -2, 0, 0, 1, 1, 3, 5, 4, 4, 5, 3, 2, 4, 2, 1, 0,
    +
    65  -2, -2, -3, -3, -5, -6, -6, -5, -4, -4, -4, -3, -2, -1, 1, 2, 2, 2, 3, 4, 4, 5,
    +
    66  2, 2, 2, 2, 2, 1, 0, -2, -2, -3, -4, -5, -5, -5, -5, -4, -3, -3, -3, -2, -1, 1,
    +
    67  2, 2, 3, 4, 4, 4, 4, 3, 2, 2, 2, 0, 0, -1, -3, -3, -3, -4, -5, -5, -5, -5, -3,
    +
    68  -2, -2, -1, -1, 0, 1, 3, 4, 3, 3, 3, 4, 4, 3, 2, 1, -1, 0, -1, -3, -3, -4, -5,
    +
    69  -5, -5, -4, -4, -5, -3, -3, -1, 0, 0, 1, 1, 3, 4, 4, 4, 3, 3, 2, 2, 2, 0, -1,
    +
    70  -1, -2, -3, -4, -4, -5, -5, -5, -4, -3, -3, -3, -2, 0, 1, 1, 2, 2, 4, 4, 3, 4,
    +
    71  3, 2, 2, 2, 1, 0, -1, -1, -3, -3, -3, -5, -5, -4, -4, -3, -4, -3, -2, -1, 0, 1,
    +
    72  2, 2, 3, 3, 4, 4, 3, 2, 2, 1, 1, -1, -1, -2, -3, -3, -3, -3, -4, -4, -5, -3, -3,
    +
    73  -3, -2, -1, -1, 1, 2, 2, 2, 3, 3, 3, 3, 2, 2, 1, 1, -1, 0, -1, -2, -3, -4, -4,
    +
    74  -4, -4, -4, -4, -3, -2, -2, -1, -1, 0, 1, 1, 2, 3, 3, 3, 3, 3, 2, 2, 1, 0, -1,
    +
    75  -1, -2, -2, -3, -4, -4, -4, -3, -3, -3, -3, -2, -1, 0, 0, 1, 1, 1, 3, 3, 3, 3,
    +
    76  2, 1, 2, 1, 1, 0, -1, -2, -2, -2, -4, -4, -5, -4, -3, -3, -2, -2, -1, 0, 0, 1,
    +
    77  1, 2, 2, 2, 3, 3, 2, 2, 2, 1, 1, 0, -1, -1, -2, -3, -2, -3, -4, -4, -4, -3, -2,
    +
    78  -2, -2, -1, 0, 1, 1, 2, 2, 3, 2, 3, 3, 2, 2, 1, 1, 0, -1, -1, -2, -3, -4, -3,
    +
    79  -3, -3, -3, -4, -4, -2, -2, -1, 0, 1, 1, 1, 3, 3, 3, 3, 2, 2, 2, 1, 1, 0, 0, -1,
    +
    80  -1, -2, -3, -3, -4, -4, -3, -3, -2, -3, -2, -1, -1, 0, 0, 1, 1, 2, 3, 3, 3, 2,
    +
    81  2, 1, 1, 0, 0, -2, -2, -2, -3, -3, -4, -4, -4, -3, -2, -2, -2, -1, -1, 0, 1, 1,
    +
    82  1, 2, 3, 3, 3, 2, 2, 1, 1, 0, 0, -1, -2, -2, -2, -2, -3, -3, -4, -3, -3, -2, -2,
    +
    83  -1, 0, -1, 0, 1, 1, 1, 2, 2, 2, 3, 2, 1, 1, 0, 1, -1, -1, -2, -2, -3, -2, -3,
    +
    84  -4, -3, -3, -3, -2, -2, -1, -1, 0, 1, 1, 1, 2, 2, 2, 2, 2, 1, 1, 1, 0, -1, -1,
    +
    85  -1, -2, -2, -3, -3, -3, -3, -2, -2, -2, -2, -2, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 1,
    +
    86  1, 1, 0, 0, -1, -2, -2, -3, -3, -3, -3, -3, -3, -3, -2, -2, -1, -1, 0, 1, 1, 1,
    +
    87  2, 2, 2, 2, 2, 1, 1, 1, 0, 0, -1, -2, -2, -3, -3, -3, -3, -3, -3, -3, -2, -2,
    +
    88  -2, -1, 0, 0, 1, 1, 2, 2, 2, 1, 2, 1, 1, 1, 0, 0, 0, -1, -1, -2, -3, -2, -3, -3,
    +
    89  -3, -2, -2, -2, -2, 0, -1, 0, 1, 1, 2, 2, 1, 2, 1, 2, 1, 1, 1, 0, 0, -1, -2, -2,
    +
    90  -2, -2, -3, -3, -2, -2, -2, -2, -2, -1, 0, 0, 0, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1,
    +
    91  0, 0, -1, -1, -2, -2, -2, -3, -3, -3, -3, -2, -2, -2, -1, -1, 0, 1, 1, 1, 1, 1,
    +
    92  2, 1, 1, 1, 1, 1, 0, 0, -1, -1, -2, -2, -2, -3, -3, -3, -2, -2, -2, -1, -1, -1,
    +
    93  0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, 0, -1, -1, -1, -2, -2, -2, -2, -3, -2,
    +
    94  -2, -2, -2, -1, 0, -1, 0, 1, 1, 1, 1, 2, 2, 1, 2, 1, 1, 1, 0, -1, -1, -1, -2,
    +
    95  -3, -2, -3, -3, -2, -2, -2, -2, -2, -1, 0, 1, 0, 1, 1, 1, 1, 1, 2, 1, 1, 1, 0,
    +
    96  -1, 0, -1, -1, -2, -2, -2, -2, -2, -2, -2, -2, -1, -1, -1, 0, 0, 1, 1, 1, 2, 2,
    +
    97  1, 1, 1, 1, 1, 0, 0, -1, -1, -1, -1, -2, -2, -2, -2, -2, -2, -2, -2, -1, -1, 0,
    +
    98  0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, -1, -1, -1, -2, -2, -2, -3, -2, -2, -2,
    +
    99  -2, -2, -2, -1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, -1, -1, -1, -2, -2,
    +
    100  -2, -2, -2, -2, -2, -1, -1, -2, -1, -1, 0, 0, 1, 1, 1, 1, 1, 2, 2, 1, 1, 0, 0,
    +
    101  0, 0, -1, -1, -2, -1, -2, -3, -2, -2, -1, -2, -1, -2, -1, -1, 0, 0, 1, 1, 1, 1,
    +
    102  2, 0, 1, 0, 1, 0, -1, 0, -1, -1, -1, -1, -1, -2, -2, -2, -2, -2, -1, -1, -1, 0,
    +
    103  -1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, -1, 0, -1, -1, -2, -1, -2, -2, -1,
    +
    104  -2, -1, -1, -1, 0, -1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, -1, 0, -1, -1, -1,
    +
    105  -2, -2, -2, -2, -2, -1, -2, -1, -1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0,
    +
    106  0, 0, -1, -1, -1, -1, -1, -2, -2, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 1,
    +
    107  1, 0, 0, 0, 0, -1, -1, -1, -2, -2, -2, -2, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0,
    +
    108  0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -2, -1, -1, -2, -1,
    +
    109  -1, -1, -1, -1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -2, -1,
    +
    110  -2, -1, -2, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1,
    +
    111  -1, -1, -1, -1, -2, -2, -1, -2, -2, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    112  0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -2, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0,
    +
    113  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -2, -1, -1, -1, -1,
    +
    114  -1, -1, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -2, -1,
    +
    115  -2, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 0, -1,
    +
    116  -1, -2, -1, -2, -1, -1, -1, -1, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    117  0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -2, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0,
    +
    118  0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    119  -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1,
    +
    120  -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1,
    +
    121  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    122  0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0,
    +
    123  0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    124  -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1,
    +
    125  -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1,
    +
    126  -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
    +
    127  0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    128  0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1,
    +
    129  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    130  -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1,
    +
    131  -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1,
    +
    132  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    133  0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0,
    +
    134  0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    135  -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, -1, -1, -1, -1, -1,
    +
    136  -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1,
    +
    137  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    138  0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, 0, 0,
    +
    139  0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    140  0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1,
    +
    141  0, -1, 0, -1, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1,
    +
    142  -1, -1, -1, -1, -1, 0, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1,
    +
    143  0, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, 0, 0, 0, 0,
    +
    144  0, 0, -1, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0,
    +
    145  0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    146  -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1,
    +
    147  -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0,
    +
    148  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0,
    +
    149  0, 0, 0, 0, 0, 0, 0, -1, -1, -1, 0, -1, -1, -1, -1, 0, -1, 0, -1, 0, 0, -1, 0,
    +
    150  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0,
    +
    151  -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, -1, -1, -1, -1, -1,
    +
    152  0, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1,
    +
    153  -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    154  0, 0, -1, 0, -1, -1, -1, -1, -1, 0, -1, 0, -1, -1, -1, -1, -1, 0, 0, 0, 0, -1,
    +
    155  0, 0, 0, -1, 0, 0, 0, 0, 0, 0, -1, -1, -1, 0, -1, -1, 0, -1, -1, -1, -1, -1, 0,
    +
    156  -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, 0, -1,
    +
    157  -1, -1, -1, -1, 0, -1, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1,
    +
    158  -1, 0, -1, 0, 0, -1, -1, -1, -1, -1, 0, -1, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0,
    +
    159  0, -1, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, 0, -1, -1, -1, 0, 0, -1,
    +
    160  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1,
    +
    161  -1, 0, -1, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, 0, 0, 0, 0,
    +
    162  -1, -1, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1,
    +
    163  0, -1, 0, -1, -1, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1,
    +
    164  -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, 0, -1, 0, 0, 0, -1, 0, 0, 0, 0, -1,
    +
    165  0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, -1, 0, -1, -1, 0, -1, 0, 0, 0, 0,
    +
    166  0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    167  -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, -1, -1, -1,
    +
    168  -1, 0, 0, -1, -1, 0, 0, 0, 0, -1, 0, 0, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1,
    +
    169  -1, -1, -1, 0, -1, 0, -1, 0, -1, -1, -1, 0, -1, 0, 0, -1, 0, -1, 0, 0, 0, 0, -1,
    +
    170  0, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, 0, 0, 0, 0, -1, 0, -1,
    +
    171  0, -1, 0, 0, 0, -1, 0, -1, 0, 0, -1, -1, -1, 0, 0, -1, -1, -1, 0, 0, -1, -1, 0,
    +
    172  0, 0, 0, -1, 0, 0, 0, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, -1, 0, -1, -1, -1, -1,
    +
    173  0, 0, 0, 0, -1, 0, 0, 0, 0, -1, 0, -1, 0, 0, -1, 0, 0, 0, -1, 0, -1, -1, -1, 0,
    +
    174  -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, -1,
    +
    175  0, -1, 0, -1, 0, -1, -1, -1, -1, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    176  -1, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, 0, -1, 0, -1, 0,
    +
    177  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, 0,
    +
    178  -1, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, 0, 0, 0, 0, -1, 0, 0, -1, -1,
    +
    179  -1, -1, -1, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, -1, 0, 0, -1,
    +
    180  -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    181  0, 0, 0, 0, 0, -1, -1, -1, -1, -1, 0, -1, -1, 0, -1, 0, 0, 0, 0, 0, -1, 0, -1,
    +
    182  0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0,
    +
    183  -1, 0, -1, 0, -1, 0, -1, 0, -1, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, -1, -1, -1,
    +
    184  0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1,
    +
    185  0, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1,
    +
    186  0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0,
    +
    187  -1, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    188  -1, 0, -1, 0, 0, 0, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0,
    +
    189  0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0,
    +
    190  -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0,
    +
    191  -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, -1, 0,
    +
    192  0, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0,
    +
    193  -1, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1,
    +
    194  0, -1, 0, -1, 0, -1, 0, -1, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0,
    +
    195  -1, 0, -1, 0, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1,
    +
    196  0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, -1, 0,
    +
    197  -1, 0,};
    +
    198 
    +
    199 #endif /* BAMBOO_03_4096_H_ */
    +
    + + + diff --git a/doc/html/bamboo__04__2048__int8_8h_source.html b/doc/html/bamboo__04__2048__int8_8h_source.html index a058a503a..32c5a6cd0 100644 --- a/doc/html/bamboo__04__2048__int8_8h_source.html +++ b/doc/html/bamboo__04__2048__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: samples/bamboo/bamboo_04_2048_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,128 +99,130 @@
    -
    samples/bamboo/bamboo_04_2048_int8.h
    +
    bamboo_04_2048_int8.h
    -
    00001 #ifndef BAMBOO_04_2048_H_
    -00002 #define BAMBOO_04_2048_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 #define BAMBOO_04_2048_NUM_CELLS 2048
    -00012 #define BAMBOO_04_2048_SAMPLERATE 16384
    -00013 
    -00014 const char __attribute__((progmem)) BAMBOO_04_2048_DATA []  = {0, -2, 1, 0, 1, 0, 0, 0, 0, 0, 0,
    -00015 -1, -1, -1, 0, -1, 0, 0, 0, -3, -16, -52, -92, -93, -40, 8, 38, 93, 126, 76, 12,
    -00016 -2, 11, 10, 8, -8, -63, -90, -66, -37, -3, 9, -12, -26, 2, 45, 29, -2, 11, 16,
    -00017 13, 58, 87, 36, -13, -9, -37, -60, -25, 14, 7, 3, -1, -37, -49, -30, -32, -24,
    -00018 -1, 11, 8, 15, 38, 26, 11, 25, 28, 8, 17, 34, 15, -15, -14, -4, -5, -3, -2, -30,
    -00019 -53, -50, -39, -18, 4, 20, 13, 1, 0, -7, -4, 20, 34, 29, 35, 41, 30, 11, -1,
    -00020 -16, -33, -23, -4, -2, -7, -21, -46, -53, -28, 7, 11, 5, -3, -16, -8, 11, 17,
    -00021 19, 35, 45, 38, 29, 17, -15, -30, -20, -6, -6, -2, -7, -20, -31, -30, -35, -37,
    -00022 -18, 5, 18, 21, 11, -5, 3, 24, 33, 30, 22, 11, 2, 10, 16, 4, -13, -23, -19, -18,
    -00023 -19, -28, -39, -40, -19, 2, 15, 16, 2, -6, -4, 8, 19, 24, 31, 32, 31, 20, 11,
    -00024 -3, -17, -20, -17, -12, -12, -11, -16, -19, -20, -23, -23, -12, -1, 6, 8, 7, 4,
    -00025 10, 17, 22, 22, 22, 16, 7, 8, 8, 2, -7, -14, -19, -24, -24, -19, -21, -22, -16,
    -00026 -11, -7, -1, 9, 12, 15, 16, 16, 16, 14, 13, 6, 6, 9, 11, 8, 4, -5, -18, -29,
    -00027 -31, -24, -14, -7, -7, -8, -5, -7, -7, -4, 1, 9, 21, 28, 30, 26, 14, 7, 4, 5,
    -00028 -2, -10, -10, -13, -14, -15, -16, -18, -16, -11, -9, -13, -13, -13, -1, 12, 24,
    -00029 22, 17, 14, 14, 11, 9, 6, 0, 3, 6, 3, -5, -15, -22, -27, -23, -15, -8, -5, -5,
    -00030 -6, -6, -2, 3, 8, 13, 16, 22, 20, 17, 10, 5, 3, -1, -1, -3, -6, -13, -17, -20,
    -00031 -21, -16, -11, -5, -5, -2, -6, -9, -2, 4, 10, 15, 21, 21, 17, 13, 7, -1, -2, -1,
    -00032 0, -5, -7, -12, -12, -16, -21, -19, -15, -11, -8, -1, -1, 1, 7, 14, 16, 16, 14,
    -00033 9, 5, 8, 6, 2, -2, -2, -5, -6, -8, -13, -19, -18, -15, -10, -3, -4, -6, -4, 0,
    -00034 5, 6, 9, 10, 12, 17, 19, 17, 7, 0, 0, -3, -4, -8, -11, -10, -11, -10, -12, -15,
    -00035 -16, -13, -4, 0, 2, 3, 8, 10, 15, 14, 14, 11, 9, 7, 8, 3, -2, -9, -9, -10, -10,
    -00036 -11, -12, -13, -15, -11, -11, -8, -2, 3, 5, 9, 10, 10, 9, 10, 10, 9, 8, 9, 5, 2,
    -00037 -2, -8, -12, -14, -15, -16, -14, -11, -11, -10, -5, -2, 1, 5, 7, 7, 9, 9, 11,
    -00038 10, 11, 8, 6, 2, -2, -4, -7, -8, -11, -9, -9, -8, -9, -12, -13, -11, -9, -2, 1,
    -00039 6, 8, 13, 12, 9, 11, 8, 6, 5, 6, 1, -3, -6, -8, -9, -12, -11, -12, -12, -9, -7,
    -00040 -6, -4, -2, 2, 5, 10, 9, 8, 9, 8, 6, 7, 6, 4, 0, 1, -3, -4, -8, -10, -13, -12,
    -00041 -12, -9, -9, -6, -2, -1, 2, 3, 4, 6, 6, 8, 8, 9, 7, 7, 5, 1, -1, -3, -6, -9, -8,
    -00042 -9, -10, -11, -10, -9, -6, -5, -2, -2, 1, 4, 7, 8, 9, 8, 9, 7, 7, 3, 0, -3, -4,
    -00043 -5, -5, -6, -9, -10, -13, -12, -8, -6, -3, 0, 2, 2, 4, 4, 5, 6, 9, 8, 7, 6, 5,
    -00044 2, -2, -2, -5, -6, -7, -8, -10, -10, -12, -9, -8, -4, -1, 2, 3, 5, 6, 7, 7, 5,
    -00045 6, 5, 5, 4, 2, -1, -2, -4, -6, -6, -7, -9, -10, -8, -7, -7, -4, -3, 1, 3, 4, 4,
    -00046 5, 6, 6, 6, 5, 6, 4, 4, 0, -3, -5, -6, -6, -8, -8, -10, -9, -7, -7, -5, -4, 0,
    -00047 1, 4, 5, 6, 5, 6, 6, 7, 5, 4, 1, 0, -1, -2, -5, -7, -8, -8, -7, -7, -7, -7, -4,
    -00048 -4, -1, -1, 3, 3, 6, 7, 9, 6, 6, 4, 4, 2, 0, -2, -3, -6, -5, -6, -8, -9, -10,
    -00049 -6, -6, -4, -4, -1, -1, 2, 3, 5, 4, 5, 7, 7, 7, 4, 2, 0, 0, -1, -5, -5, -8, -9,
    -00050 -10, -8, -8, -8, -6, -2, -2, 1, 3, 3, 5, 5, 8, 7, 7, 5, 4, 3, 0, 0, -4, -4, -6,
    -00051 -8, -8, -9, -10, -9, -7, -3, -2, 0, 0, 2, 3, 5, 7, 7, 5, 7, 6, 5, 2, 1, -2, -3,
    -00052 -4, -5, -6, -6, -9, -8, -9, -7, -5, -5, 0, -1, 2, 3, 4, 6, 5, 6, 4, 4, 4, 5, 2,
    -00053 0, -3, -4, -6, -5, -8, -7, -9, -8, -7, -5, -4, -2, 0, 2, 2, 5, 5, 6, 5, 5, 5, 6,
    -00054 3, 3, 0, -1, -5, -6, -9, -7, -7, -7, -9, -7, -7, -4, -3, 0, 0, 3, 3, 6, 6, 7, 5,
    -00055 6, 3, 4, 2, 1, -1, -4, -6, -6, -7, -7, -7, -8, -7, -7, -4, -3, -1, 2, 2, 5, 5,
    -00056 6, 6, 5, 6, 4, 4, 2, 1, -1, -4, -4, -7, -7, -8, -7, -7, -6, -6, -4, -3, -1, 0,
    -00057 2, 3, 4, 5, 6, 5, 5, 3, 3, 2, 0, 0, -3, -4, -6, -6, -8, -7, -7, -5, -7, -5, -4,
    -00058 -1, -1, 2, 3, 2, 5, 5, 6, 5, 5, 3, 3, 0, 0, -4, -4, -6, -5, -7, -6, -6, -6, -5,
    -00059 -4, -5, -2, 0, 0, 3, 3, 4, 4, 5, 5, 6, 4, 4, 1, -2, -1, -4, -4, -6, -6, -7, -6,
    -00060 -7, -6, -5, -3, -4, 0, 0, 3, 2, 5, 4, 5, 5, 4, 5, 3, 1, 0, 0, -3, -3, -5, -6,
    -00061 -7, -7, -6, -7, -5, -5, -3, -1, 0, 2, 2, 3, 3, 5, 4, 5, 3, 3, 2, 0, 0, -4, -3,
    -00062 -5, -5, -5, -6, -6, -7, -5, -5, -3, -2, 0, 0, 2, 3, 4, 4, 3, 5, 3, 3, 3, 1, 0,
    -00063 -3, -3, -3, -4, -6, -6, -6, -6, -4, -4, -3, -3, -2, 1, 1, 2, 2, 3, 3, 4, 4, 3,
    -00064 1, 0, -1, 0, -2, -3, -5, -6, -5, -5, -4, -3, -3, -3, -3, 0, -1, 1, 1, 2, 4, 3,
    -00065 3, 3, 2, 1, 1, 0, -2, -2, -3, -4, -4, -6, -5, -5, -5, -3, -3, -2, -1, 0, 0, 1,
    -00066 2, 2, 4, 4, 3, 2, 1, 0, -1, -1, -1, -3, -4, -5, -5, -5, -5, -5, -4, -2, -1, 0,
    -00067 -1, 0, 1, 1, 3, 3, 3, 2, 1, 1, 1, 0, -1, -3, -3, -4, -4, -4, -5, -5, -5, -3, -2,
    -00068 -1, -1, 0, -1, 1, 2, 3, 3, 3, 2, 2, 1, 1, 0, -1, -1, -2, -3, -3, -4, -5, -5, -4,
    -00069 -4, -3, -2, -1, 0, 0, 0, 1, 1, 2, 3, 3, 2, 1, 1, -1, 0, -1, -2, -3, -4, -4, -5,
    -00070 -4, -4, -4, -3, -2, -1, 0, 0, 1, 0, 1, 2, 3, 2, 2, 1, 0, 0, 0, -1, -3, -3, -3,
    -00071 -4, -3, -5, -4, -3, -3, -2, -1, -1, 0, 1, 1, 2, 2, 2, 2, 2, 1, 1, 0, -1, 0, -2,
    -00072 -2, -3, -3, -4, -3, -4, -3, -3, -2, -2, -1, 0, 0, 1, 1, 1, 1, 2, 2, 2, 1, 0, -1,
    -00073 -1, -1, -3, -3, -3, -4, -3, -3, -3, -3, -3, -1, -1, 0, 0, 1, 1, 1, 1, 1, 1, 1,
    -00074 0, 0, 0, -1, -2, -2, -3, -3, -3, -4, -4, -3, -2, -2, -1, -1, -1, 0, 1, 1, 2, 1,
    -00075 1, 2, 1, 1, 0, 0, -1, -2, -2, -2, -2, -3, -3, -3, -3, -2, -2, -1, -1, -1, 0, 0,
    -00076 1, 2, 1, 0, 0, 0, 0, 0, 0, -1, -1, -2, -2, -3, -3, -3, -2, -3, -2, -2, -2, 0,
    -00077 -1, 0, 0, 0, 2, 1, 0, 1, 1, 0, 0, 0, -1, -1, -2, -2, -2, -3, -3, -3, -3, -2, -2,
    -00078 -2, -1, 0, -1, 0, 0, 0, 1, 2, 1, 1, 0, 0, 0, 0, 0, -1, -2, -2, -2, -2, -2, -2,
    -00079 -2, -2, -2, -1, 0, -1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, -1, -1, -1, -2, -2, -2, -2,
    -00080 -2, -2, -2, -2, -2, -1, -1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, -1, 0, -1, -2, -2,
    -00081 -2, -2, -2, -2, -2, -2, -2, -2, -1, -1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, -1, -1,
    -00082 -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0,
    -00083 -1, -1, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -1, 0, 0, 0, 1, 1, 1, 0, 1,
    -00084 0, 0, 0, -1, -1, -1, -1, -2, -2, -2, -2, -2, -2, -2, -2, -1, -1, -1, -1, 0, 1,
    -00085 0, 1, 0, 0, 0, 0, 0, -1, 0, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -1, 0,
    -00086 -1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -2, -2, -2, -1, -1,
    -00087 -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00088 -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1,
    -00089 -1, -2, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1,
    -00090 -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1,
    -00091 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0,
    -00092 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0,
    -00093 0, 0, -1, 0, -1, -1, -1, -1, -1, -2, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0,
    -00094 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0,
    -00095 -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00096 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00097 -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1,
    -00098 -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1,
    -00099 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, 0,
    -00100 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0,
    -00101 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0,
    -00102 0, 0, -1, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0,
    -00103 0, 0, -1, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00104 -1, -1, 0, -1, 0, 0, -1, 0, 0, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1,
    -00105 -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, -1, -1, -1,
    -00106 -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, -1, 0, -1,
    -00107 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, -1, 0, 0, -1,
    -00108 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, 0, -1, 0,
    -00109 0, -1, 0, -1, 0, -1, 0, };
    -00110 
    -00111  #endif /* BAMBOO_04_2048_H_ */
    -
    - - - - +
    1 #ifndef BAMBOO_04_2048_H_
    +
    2 #define BAMBOO_04_2048_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 #define BAMBOO_04_2048_NUM_CELLS 2048
    +
    12 #define BAMBOO_04_2048_SAMPLERATE 16384
    +
    13 
    +
    14 const char __attribute__((progmem)) BAMBOO_04_2048_DATA [] = {0, -2, 1, 0, 1, 0, 0, 0, 0, 0, 0,
    +
    15 -1, -1, -1, 0, -1, 0, 0, 0, -3, -16, -52, -92, -93, -40, 8, 38, 93, 126, 76, 12,
    +
    16 -2, 11, 10, 8, -8, -63, -90, -66, -37, -3, 9, -12, -26, 2, 45, 29, -2, 11, 16,
    +
    17 13, 58, 87, 36, -13, -9, -37, -60, -25, 14, 7, 3, -1, -37, -49, -30, -32, -24,
    +
    18 -1, 11, 8, 15, 38, 26, 11, 25, 28, 8, 17, 34, 15, -15, -14, -4, -5, -3, -2, -30,
    +
    19 -53, -50, -39, -18, 4, 20, 13, 1, 0, -7, -4, 20, 34, 29, 35, 41, 30, 11, -1,
    +
    20 -16, -33, -23, -4, -2, -7, -21, -46, -53, -28, 7, 11, 5, -3, -16, -8, 11, 17,
    +
    21 19, 35, 45, 38, 29, 17, -15, -30, -20, -6, -6, -2, -7, -20, -31, -30, -35, -37,
    +
    22 -18, 5, 18, 21, 11, -5, 3, 24, 33, 30, 22, 11, 2, 10, 16, 4, -13, -23, -19, -18,
    +
    23 -19, -28, -39, -40, -19, 2, 15, 16, 2, -6, -4, 8, 19, 24, 31, 32, 31, 20, 11,
    +
    24 -3, -17, -20, -17, -12, -12, -11, -16, -19, -20, -23, -23, -12, -1, 6, 8, 7, 4,
    +
    25 10, 17, 22, 22, 22, 16, 7, 8, 8, 2, -7, -14, -19, -24, -24, -19, -21, -22, -16,
    +
    26 -11, -7, -1, 9, 12, 15, 16, 16, 16, 14, 13, 6, 6, 9, 11, 8, 4, -5, -18, -29,
    +
    27 -31, -24, -14, -7, -7, -8, -5, -7, -7, -4, 1, 9, 21, 28, 30, 26, 14, 7, 4, 5,
    +
    28 -2, -10, -10, -13, -14, -15, -16, -18, -16, -11, -9, -13, -13, -13, -1, 12, 24,
    +
    29 22, 17, 14, 14, 11, 9, 6, 0, 3, 6, 3, -5, -15, -22, -27, -23, -15, -8, -5, -5,
    +
    30 -6, -6, -2, 3, 8, 13, 16, 22, 20, 17, 10, 5, 3, -1, -1, -3, -6, -13, -17, -20,
    +
    31 -21, -16, -11, -5, -5, -2, -6, -9, -2, 4, 10, 15, 21, 21, 17, 13, 7, -1, -2, -1,
    +
    32 0, -5, -7, -12, -12, -16, -21, -19, -15, -11, -8, -1, -1, 1, 7, 14, 16, 16, 14,
    +
    33 9, 5, 8, 6, 2, -2, -2, -5, -6, -8, -13, -19, -18, -15, -10, -3, -4, -6, -4, 0,
    +
    34 5, 6, 9, 10, 12, 17, 19, 17, 7, 0, 0, -3, -4, -8, -11, -10, -11, -10, -12, -15,
    +
    35 -16, -13, -4, 0, 2, 3, 8, 10, 15, 14, 14, 11, 9, 7, 8, 3, -2, -9, -9, -10, -10,
    +
    36 -11, -12, -13, -15, -11, -11, -8, -2, 3, 5, 9, 10, 10, 9, 10, 10, 9, 8, 9, 5, 2,
    +
    37 -2, -8, -12, -14, -15, -16, -14, -11, -11, -10, -5, -2, 1, 5, 7, 7, 9, 9, 11,
    +
    38 10, 11, 8, 6, 2, -2, -4, -7, -8, -11, -9, -9, -8, -9, -12, -13, -11, -9, -2, 1,
    +
    39 6, 8, 13, 12, 9, 11, 8, 6, 5, 6, 1, -3, -6, -8, -9, -12, -11, -12, -12, -9, -7,
    +
    40 -6, -4, -2, 2, 5, 10, 9, 8, 9, 8, 6, 7, 6, 4, 0, 1, -3, -4, -8, -10, -13, -12,
    +
    41 -12, -9, -9, -6, -2, -1, 2, 3, 4, 6, 6, 8, 8, 9, 7, 7, 5, 1, -1, -3, -6, -9, -8,
    +
    42 -9, -10, -11, -10, -9, -6, -5, -2, -2, 1, 4, 7, 8, 9, 8, 9, 7, 7, 3, 0, -3, -4,
    +
    43 -5, -5, -6, -9, -10, -13, -12, -8, -6, -3, 0, 2, 2, 4, 4, 5, 6, 9, 8, 7, 6, 5,
    +
    44 2, -2, -2, -5, -6, -7, -8, -10, -10, -12, -9, -8, -4, -1, 2, 3, 5, 6, 7, 7, 5,
    +
    45 6, 5, 5, 4, 2, -1, -2, -4, -6, -6, -7, -9, -10, -8, -7, -7, -4, -3, 1, 3, 4, 4,
    +
    46 5, 6, 6, 6, 5, 6, 4, 4, 0, -3, -5, -6, -6, -8, -8, -10, -9, -7, -7, -5, -4, 0,
    +
    47 1, 4, 5, 6, 5, 6, 6, 7, 5, 4, 1, 0, -1, -2, -5, -7, -8, -8, -7, -7, -7, -7, -4,
    +
    48 -4, -1, -1, 3, 3, 6, 7, 9, 6, 6, 4, 4, 2, 0, -2, -3, -6, -5, -6, -8, -9, -10,
    +
    49 -6, -6, -4, -4, -1, -1, 2, 3, 5, 4, 5, 7, 7, 7, 4, 2, 0, 0, -1, -5, -5, -8, -9,
    +
    50 -10, -8, -8, -8, -6, -2, -2, 1, 3, 3, 5, 5, 8, 7, 7, 5, 4, 3, 0, 0, -4, -4, -6,
    +
    51 -8, -8, -9, -10, -9, -7, -3, -2, 0, 0, 2, 3, 5, 7, 7, 5, 7, 6, 5, 2, 1, -2, -3,
    +
    52 -4, -5, -6, -6, -9, -8, -9, -7, -5, -5, 0, -1, 2, 3, 4, 6, 5, 6, 4, 4, 4, 5, 2,
    +
    53 0, -3, -4, -6, -5, -8, -7, -9, -8, -7, -5, -4, -2, 0, 2, 2, 5, 5, 6, 5, 5, 5, 6,
    +
    54 3, 3, 0, -1, -5, -6, -9, -7, -7, -7, -9, -7, -7, -4, -3, 0, 0, 3, 3, 6, 6, 7, 5,
    +
    55 6, 3, 4, 2, 1, -1, -4, -6, -6, -7, -7, -7, -8, -7, -7, -4, -3, -1, 2, 2, 5, 5,
    +
    56 6, 6, 5, 6, 4, 4, 2, 1, -1, -4, -4, -7, -7, -8, -7, -7, -6, -6, -4, -3, -1, 0,
    +
    57 2, 3, 4, 5, 6, 5, 5, 3, 3, 2, 0, 0, -3, -4, -6, -6, -8, -7, -7, -5, -7, -5, -4,
    +
    58 -1, -1, 2, 3, 2, 5, 5, 6, 5, 5, 3, 3, 0, 0, -4, -4, -6, -5, -7, -6, -6, -6, -5,
    +
    59 -4, -5, -2, 0, 0, 3, 3, 4, 4, 5, 5, 6, 4, 4, 1, -2, -1, -4, -4, -6, -6, -7, -6,
    +
    60 -7, -6, -5, -3, -4, 0, 0, 3, 2, 5, 4, 5, 5, 4, 5, 3, 1, 0, 0, -3, -3, -5, -6,
    +
    61 -7, -7, -6, -7, -5, -5, -3, -1, 0, 2, 2, 3, 3, 5, 4, 5, 3, 3, 2, 0, 0, -4, -3,
    +
    62 -5, -5, -5, -6, -6, -7, -5, -5, -3, -2, 0, 0, 2, 3, 4, 4, 3, 5, 3, 3, 3, 1, 0,
    +
    63 -3, -3, -3, -4, -6, -6, -6, -6, -4, -4, -3, -3, -2, 1, 1, 2, 2, 3, 3, 4, 4, 3,
    +
    64 1, 0, -1, 0, -2, -3, -5, -6, -5, -5, -4, -3, -3, -3, -3, 0, -1, 1, 1, 2, 4, 3,
    +
    65 3, 3, 2, 1, 1, 0, -2, -2, -3, -4, -4, -6, -5, -5, -5, -3, -3, -2, -1, 0, 0, 1,
    +
    66 2, 2, 4, 4, 3, 2, 1, 0, -1, -1, -1, -3, -4, -5, -5, -5, -5, -5, -4, -2, -1, 0,
    +
    67 -1, 0, 1, 1, 3, 3, 3, 2, 1, 1, 1, 0, -1, -3, -3, -4, -4, -4, -5, -5, -5, -3, -2,
    +
    68 -1, -1, 0, -1, 1, 2, 3, 3, 3, 2, 2, 1, 1, 0, -1, -1, -2, -3, -3, -4, -5, -5, -4,
    +
    69 -4, -3, -2, -1, 0, 0, 0, 1, 1, 2, 3, 3, 2, 1, 1, -1, 0, -1, -2, -3, -4, -4, -5,
    +
    70 -4, -4, -4, -3, -2, -1, 0, 0, 1, 0, 1, 2, 3, 2, 2, 1, 0, 0, 0, -1, -3, -3, -3,
    +
    71 -4, -3, -5, -4, -3, -3, -2, -1, -1, 0, 1, 1, 2, 2, 2, 2, 2, 1, 1, 0, -1, 0, -2,
    +
    72 -2, -3, -3, -4, -3, -4, -3, -3, -2, -2, -1, 0, 0, 1, 1, 1, 1, 2, 2, 2, 1, 0, -1,
    +
    73 -1, -1, -3, -3, -3, -4, -3, -3, -3, -3, -3, -1, -1, 0, 0, 1, 1, 1, 1, 1, 1, 1,
    +
    74 0, 0, 0, -1, -2, -2, -3, -3, -3, -4, -4, -3, -2, -2, -1, -1, -1, 0, 1, 1, 2, 1,
    +
    75 1, 2, 1, 1, 0, 0, -1, -2, -2, -2, -2, -3, -3, -3, -3, -2, -2, -1, -1, -1, 0, 0,
    +
    76 1, 2, 1, 0, 0, 0, 0, 0, 0, -1, -1, -2, -2, -3, -3, -3, -2, -3, -2, -2, -2, 0,
    +
    77 -1, 0, 0, 0, 2, 1, 0, 1, 1, 0, 0, 0, -1, -1, -2, -2, -2, -3, -3, -3, -3, -2, -2,
    +
    78 -2, -1, 0, -1, 0, 0, 0, 1, 2, 1, 1, 0, 0, 0, 0, 0, -1, -2, -2, -2, -2, -2, -2,
    +
    79 -2, -2, -2, -1, 0, -1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, -1, -1, -1, -2, -2, -2, -2,
    +
    80 -2, -2, -2, -2, -2, -1, -1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, -1, 0, -1, -2, -2,
    +
    81 -2, -2, -2, -2, -2, -2, -2, -2, -1, -1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, -1, -1,
    +
    82 -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0,
    +
    83 -1, -1, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -1, 0, 0, 0, 1, 1, 1, 0, 1,
    +
    84 0, 0, 0, -1, -1, -1, -1, -2, -2, -2, -2, -2, -2, -2, -2, -1, -1, -1, -1, 0, 1,
    +
    85 0, 1, 0, 0, 0, 0, 0, -1, 0, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -1, 0,
    +
    86 -1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -2, -2, -2, -1, -1,
    +
    87 -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    88 -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1,
    +
    89 -1, -2, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1,
    +
    90 -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1,
    +
    91 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0,
    +
    92 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0,
    +
    93 0, 0, -1, 0, -1, -1, -1, -1, -1, -2, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0,
    +
    94 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0,
    +
    95 -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    96 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    97 -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1,
    +
    98 -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1,
    +
    99 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, 0,
    +
    100 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    101 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0,
    +
    102 0, 0, -1, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0,
    +
    103 0, 0, -1, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    104 -1, -1, 0, -1, 0, 0, -1, 0, 0, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1,
    +
    105 -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, -1, -1, -1,
    +
    106 -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, -1, 0, -1,
    +
    107 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, -1, 0, 0, -1,
    +
    108 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, 0, -1, 0,
    +
    109 0, -1, 0, -1, 0, -1, 0, };
    +
    110 
    +
    111  #endif /* BAMBOO_04_2048_H_ */
    +
    + + + diff --git a/doc/html/bamboo__04__4096__int8_8h_source.html b/doc/html/bamboo__04__4096__int8_8h_source.html index a2b7131aa..27b71729c 100644 --- a/doc/html/bamboo__04__4096__int8_8h_source.html +++ b/doc/html/bamboo__04__4096__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: samples/bamboo/bamboo_04_4096_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,215 +99,217 @@
    -
    samples/bamboo/bamboo_04_4096_int8.h
    +
    bamboo_04_4096_int8.h
    -
    00001 #ifndef BAMBOO_04_4096_H_
    -00002 #define BAMBOO_04_4096_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 #define BAMBOO_04_4096_NUM_CELLS 4096
    -00012 #define BAMBOO_04_4096_SAMPLERATE 16384
    -00013 
    -00014 const char __attribute__((progmem)) BAMBOO_04_4096_DATA []  = {0, -1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0,
    -00015                 -1, 0, 0, 0, 1, 0, 0, -2, -16, -51, -92, -93, -39, 8, 39, 93, 126, 77, 12, -1,
    -00016                 11, 11, 8, -7, -63, -89, -66, -37, -2, 9, -11, -26, 2, 46, 29, -2, 12, 16, 14,
    -00017                 58, 88, 36, -12, -9, -36, -60, -25, 14, 8, 3, 0, -37, -48, -30, -32, -23, -1,
    -00018                 12, 8, 16, 38, 27, 11, 26, 28, 9, 17, 35, 15, -14, -14, -4, -5, -2, -2, -29,
    -00019                 -53, -50, -38, -18, 4, 21, 13, 2, 1, -7, -3, 20, 34, 30, 35, 42, 30, 11, 0, -16,
    -00020                 -32, -23, -4, -2, -6, -21, -45, -53, -28, 7, 12, 5, -2, -16, -8, 12, 17, 19, 35,
    -00021                 45, 38, 30, 17, -14, -30, -19, -6, -5, -2, -6, -20, -30, -30, -34, -36, -18, 6,
    -00022                 18, 22, 11, -4, 3, 24, 34, 30, 23, 11, 3, 10, 16, 5, -13, -22, -19, -17, -19,
    -00023                 -27, -39, -39, -19, 3, 16, 16, 3, -6, -4, 8, 19, 24, 31, 33, 31, 21, 11, -3,
    -00024                 -16, -20, -16, -12, -11, -11, -15, -19, -19, -23, -22, -12, 0, 6, 9, 7, 5, 10,
    -00025                 18, 22, 23, 22, 16, 8, 8, 9, 2, -7, -14, -18, -24, -23, -19, -21, -21, -16, -10,
    -00026                 -7, 0, 9, 13, 15, 17, 16, 16, 15, 13, 7, 6, 9, 11, 8, 4, -5, -18, -29, -30, -24,
    -00027                 -14, -6, -7, -7, -5, -6, -7, -3, 1, 10, 21, 29, 30, 26, 15, 7, 5, 5, -1, -9,
    -00028                 -10, -12, -14, -14, -16, -18, -16, -11, -9, -12, -13, -12, -1, 13, 24, 23, 17,
    -00029                 15, 14, 12, 9, 6, 1, 3, 6, 4, -5, -14, -22, -26, -23, -15, -7, -5, -5, -6, -6,
    -00030                 -1, 3, 9, 13, 17, 22, 21, 17, 11, 5, 3, 0, -1, -2, -6, -12, -17, -20, -20, -16,
    -00031                 -10, -5, -4, -2, -6, -8, -2, 5, 10, 16, 21, 21, 18, 13, 7, 0, -2, -1, 0, -4, -7,
    -00032                 -11, -12, -15, -21, -19, -15, -11, -7, -1, 0, 1, 8, 14, 17, 16, 15, 9, 6, 8, 7,
    -00033                 2, -1, -2, -5, -6, -8, -13, -18, -18, -14, -9, -3, -3, -6, -4, 1, 5, 7, 9, 10,
    -00034                 13, 17, 20, 17, 7, 1, 0, -2, -4, -8, -10, -10, -10, -10, -12, -14, -16, -12, -4,
    -00035                 1, 2, 4, 8, 11, 15, 15, 14, 12, 9, 8, 8, 4, -2, -8, -9, -9, -10, -11, -12, -13,
    -00036                 -14, -11, -10, -8, -1, 3, 6, 9, 11, 10, 9, 10, 11, 9, 9, 9, 6, 2, -2, -7, -12,
    -00037                 -13, -15, -16, -13, -11, -10, -9, -5, -1, 1, 6, 7, 8, 9, 10, 11, 11, 11, 9, 6,
    -00038                 3, -1, -4, -6, -8, -10, -9, -8, -8, -9, -11, -13, -11, -8, -2, 2, 6, 9, 13, 13,
    -00039                 10, 11, 9, 6, 6, 6, 2, -2, -6, -7, -9, -11, -11, -12, -11, -9, -7, -5, -4, -1,
    -00040                 2, 6, 10, 10, 8, 9, 9, 6, 7, 7, 4, 1, 1, -2, -4, -7, -10, -12, -12, -11, -9, -9,
    -00041                 -5, -2, 0, 2, 3, 4, 6, 7, 8, 9, 9, 8, 7, 5, 2, -1, -2, -6, -8, -8, -8, -10, -10,
    -00042                 -10, -8, -6, -4, -2, -1, 1, 5, 7, 9, 9, 9, 9, 8, 7, 4, 0, -2, -3, -5, -4, -6,
    -00043                 -8, -10, -12, -12, -8, -6, -3, 0, 2, 3, 4, 5, 5, 7, 9, 9, 8, 6, 6, 2, -1, -2,
    -00044                 -4, -6, -7, -8, -9, -10, -11, -9, -8, -4, -1, 2, 4, 5, 7, 7, 7, 6, 6, 6, 5, 5,
    -00045                 2, 0, -2, -4, -6, -6, -6, -9, -9, -8, -7, -6, -4, -2, 1, 4, 4, 5, 5, 6, 6, 6, 6,
    -00046                 6, 5, 4, 0, -2, -5, -5, -6, -7, -8, -9, -9, -7, -6, -5, -3, 0, 2, 4, 6, 6, 6, 6,
    -00047                 7, 7, 6, 4, 2, 0, 0, -2, -5, -6, -8, -8, -7, -7, -7, -6, -4, -3, -1, 0, 3, 4, 6,
    -00048                 8, 9, 7, 6, 4, 4, 2, 0, -1, -3, -5, -5, -6, -7, -9, -9, -6, -5, -4, -3, -1, 0,
    -00049                 2, 4, 5, 4, 6, 7, 8, 7, 4, 2, 1, 0, -1, -4, -5, -7, -9, -9, -8, -7, -8, -5, -2,
    -00050                 -1, 1, 3, 4, 5, 6, 8, 8, 7, 6, 4, 3, 1, 0, -3, -4, -6, -7, -8, -9, -9, -9, -6,
    -00051                 -3, -1, 0, 1, 2, 3, 5, 7, 7, 6, 7, 7, 5, 3, 1, -2, -2, -4, -5, -5, -6, -8, -8,
    -00052                 -8, -7, -5, -4, 0, 0, 2, 3, 5, 6, 6, 6, 5, 4, 5, 5, 3, 0, -2, -4, -5, -5, -7,
    -00053                 -7, -8, -8, -7, -4, -4, -2, 0, 2, 3, 5, 6, 6, 6, 5, 6, 6, 4, 3, 1, -1, -4, -6,
    -00054                 -8, -7, -6, -7, -8, -7, -6, -4, -2, 0, 1, 3, 4, 6, 7, 7, 6, 6, 4, 4, 3, 1, -1,
    -00055                 -4, -5, -6, -6, -7, -7, -7, -7, -6, -4, -3, 0, 2, 3, 5, 6, 6, 6, 6, 6, 5, 4, 3,
    -00056                 1, -1, -3, -4, -6, -7, -7, -7, -6, -6, -5, -4, -3, 0, 0, 3, 3, 4, 6, 6, 6, 5, 4,
    -00057                 3, 2, 1, 0, -2, -4, -5, -6, -7, -7, -6, -5, -6, -5, -3, -1, 0, 2, 3, 3, 5, 6, 6,
    -00058                 6, 5, 4, 3, 1, 0, -3, -4, -5, -5, -6, -6, -6, -6, -4, -4, -4, -2, 0, 1, 3, 4, 4,
    -00059                 5, 5, 6, 6, 5, 4, 1, -1, -1, -3, -4, -5, -6, -6, -6, -6, -6, -5, -3, -3, 0, 1,
    -00060                 3, 3, 5, 4, 5, 5, 5, 5, 3, 2, 0, 0, -2, -3, -4, -6, -6, -7, -6, -6, -5, -4, -3,
    -00061                 -1, 1, 2, 3, 3, 4, 5, 5, 5, 4, 3, 2, 1, 0, -3, -3, -4, -4, -5, -5, -6, -6, -5,
    -00062                 -4, -3, -1, 0, 1, 2, 3, 5, 4, 4, 5, 4, 4, 3, 2, 0, -2, -3, -3, -4, -5, -6, -6,
    -00063                 -5, -4, -3, -3, -3, -1, 1, 2, 3, 3, 4, 4, 5, 5, 4, 2, 1, 0, 0, -2, -3, -5, -6,
    -00064                 -5, -5, -4, -3, -3, -3, -3, 0, 0, 2, 2, 3, 5, 4, 4, 4, 3, 2, 2, 0, -2, -2, -3,
    -00065                 -4, -4, -6, -5, -5, -5, -3, -3, -2, -1, 0, 1, 2, 3, 3, 5, 5, 4, 3, 2, 1, 0, -1,
    -00066                 -1, -3, -4, -5, -5, -5, -5, -5, -4, -2, -1, 0, 0, 1, 2, 2, 4, 4, 4, 3, 2, 2, 2,
    -00067                 0, 0, -3, -3, -4, -4, -4, -5, -5, -5, -3, -2, -1, -1, 0, 0, 2, 3, 4, 4, 4, 3, 3,
    -00068                 2, 2, 0, 0, -1, -2, -3, -3, -4, -5, -5, -4, -4, -3, -2, 0, 1, 1, 1, 2, 2, 3, 4,
    -00069                 4, 3, 2, 2, 0, 0, -1, -2, -3, -4, -4, -5, -4, -4, -4, -3, -2, -1, 0, 1, 2, 1, 2,
    -00070                 3, 4, 3, 3, 2, 1, 1, 0, -1, -3, -3, -3, -4, -3, -5, -4, -3, -3, -2, -1, -1, 1,
    -00071                 2, 2, 3, 3, 3, 3, 3, 2, 2, 0, -1, 0, -2, -2, -3, -3, -4, -3, -4, -3, -3, -2, -2,
    -00072                 -1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 2, 1, -1, -1, -1, -3, -3, -3, -4, -3, -3, -3, -3,
    -00073                 -3, -1, -1, 0, 1, 2, 2, 2, 2, 2, 2, 2, 1, 1, 0, 0, -2, -2, -3, -3, -3, -4, -4,
    -00074                 -3, -2, -2, -1, -1, 0, 0, 2, 2, 3, 2, 2, 3, 2, 2, 1, 0, -1, -2, -2, -2, -2, -3,
    -00075                 -4, -4, -3, -2, -2, -1, -1, -1, 0, 1, 2, 3, 2, 1, 1, 1, 1, 1, 1, -1, -1, -2, -2,
    -00076                 -3, -3, -3, -2, -3, -2, -2, -2, 0, -1, 0, 1, 1, 3, 2, 1, 2, 2, 1, 1, 1, -1, 0,
    -00077                 -2, -2, -2, -3, -4, -4, -3, -2, -2, -2, -1, 0, 0, 0, 1, 1, 2, 3, 2, 2, 1, 1, 1,
    -00078                 1, 0, -1, -2, -2, -3, -3, -3, -3, -3, -2, -2, -1, 0, -1, 0, 1, 1, 3, 2, 3, 1, 1,
    -00079                 1, 1, 0, -1, -1, -2, -2, -3, -3, -3, -3, -3, -2, -2, -1, -1, 0, 0, 1, 1, 1, 1,
    -00080                 2, 2, 1, 2, 1, 0, 0, -1, -2, -2, -3, -2, -3, -3, -2, -3, -2, -2, -1, -1, 0, 1,
    -00081                 1, 2, 1, 2, 2, 2, 1, 1, 0, -1, -1, -2, -2, -3, -3, -3, -3, -2, -2, -2, -2, -2,
    -00082                 0, 1, 1, 1, 1, 2, 2, 1, 2, 1, 1, 0, 0, -1, -1, -2, -2, -2, -3, -3, -3, -2, -2,
    -00083                 -2, -1, -1, 1, 0, 1, 2, 2, 2, 1, 2, 1, 1, 1, 0, -1, -1, -1, -2, -2, -3, -2, -2,
    -00084                 -2, -2, -2, -1, 0, -1, 0, 1, 2, 1, 2, 1, 1, 1, 0, 1, 0, 0, -1, -2, -2, -2, -3,
    -00085                 -3, -2, -2, -2, -2, -1, -1, 0, -1, 1, 1, 2, 2, 1, 2, 1, 1, 1, 0, -1, -2, -2, -2,
    -00086                 -2, -2, -3, -3, -3, -2, -2, -1, 0, -1, 0, 1, 1, 1, 1, 2, 1, 1, 1, 1, 0, 0, -1,
    -00087                 -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, 0, 0, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1,
    -00088                 0, -1, -1, -2, -2, -2, -2, -2, -3, -2, -2, -1, -1, 0, -1, 0, 1, 1, 2, 2, 1, 1,
    -00089                 1, 1, 1, 0, 0, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -1, 0, 0, 1, 1, 1, 1,
    -00090                 2, 1, 1, 1, 1, 0, 0, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, 0, 0, 0, 0, 1,
    -00091                 1, 1, 1, 2, 1, 1, 0, 0, -1, -1, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, 0,
    -00092                 -1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, -1, -1, -2, -2, -2, -3, -2, -2, -2, -1, -2,
    -00093                 0, -1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, -1, 0, 0, -2, -2, -2, -2, -2, -2, -2,
    -00094                 -2, -1, -1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, -1, -1, -1, -2, -2, -2,
    -00095                 -2, -3, -2, -1, -1, 0, -1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, -1, -2, -2, -2,
    -00096                 -2, -2, -2, -2, -2, -2, -1, -1, 0, -1, 0, 1, 1, 1, 2, 1, 1, 0, 1, 0, 0, -1, -1,
    -00097                 -2, -2, -2, -2, -2, -2, -2, -2, -1, -1, -1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0,
    -00098                 -1, -1, -1, -1, -2, -2, -2, -2, -2, -2, -1, -1, -1, 0, 0, 1, 1, 1, 1, 1, 1, 0,
    -00099                 0, 0, -1, 0, -1, -2, -2, -2, -2, -2, -2, -2, -1, -1, -1, -1, 0, 0, 0, 1, 1, 1,
    -00100                 1, 1, 1, 1, 0, 0, 0, -1, -2, -1, -2, -2, -2, -2, -2, -2, -1, -1, -1, -1, 0, 1,
    -00101                 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, -1, 0, -2, -1, -2, -2, -1, -2, -1, -1, -1, -1, 0,
    -00102                 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00103                 -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -2, -1, -1,
    -00104                 -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -2, -1,
    -00105                 -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1,
    -00106                 -1, -1, -1, -1, -1, 0, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1,
    -00107                 -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00108                 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1,
    -00109                 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0,
    -00110                 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0,
    -00111                 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0,
    -00112                 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1,
    -00113                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00114                 -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0,
    -00115                 -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, -1, -1, -1, -1, -1,
    -00116                 -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1,
    -00117                 -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1,
    -00118                 -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1,
    -00119                 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0,
    -00120                 -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00121                 -1, 0, -1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0,
    -00122                 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, 0, -1, 0, 0, 0, 0,
    -00123                 0, 0, 0, -1, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0,
    -00124                 0, 0, 0, 0, 0, -1, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00125                 -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1,
    -00126                 -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1,
    -00127                 -1, -1, -1, -1, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, -1, -1,
    -00128                 -1, -1, -1, -1, -1, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, -1,
    -00129                 -1, -1, -1, -1, 0, -1, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, 0,
    -00130                 -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0,
    -00131                 0, -1, -1, -1, -1, -1, 0, 0, -1, -1, -1, -1, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0,
    -00132                 0, -1, -1, 0, -1, 0, -1, -1, -1, -1, 0, -1, 0, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0,
    -00133                 -1, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0,
    -00134                 0, 0, 0, 0, -1, -1, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0,
    -00135                 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0,
    -00136                 0, 0, -1, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1,
    -00137                 -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1,
    -00138                 -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0,
    -00139                 -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, -1, 0, -1, -1, -1,
    -00140                 0, -1, 0, -1, 0, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1,
    -00141                 -1, -1, -1, -1, -1, -1, 0, 0, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0,
    -00142                 -1, -1, 0, -1, 0, -1, -1, 0, -1, -1, -1, 0, -1, -1, -1, 0, 0, -1, 0, 0, 0, 0, 0,
    -00143                 0, 0, 0, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0,
    -00144                 0, 0, 0, 0, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, -1, 0,
    -00145                 0, 0, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, 0, -1, -1, -1, 0, 0, -1, 0, 0, 0, 0,
    -00146                 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0,
    -00147                 0, 0, 0, 0, -1, 0, 0, -1, 0, 0, 0, 0, 0, -1, -1, 0, -1, -1, -1, 0, -1, 0, -1,
    -00148                 -1, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, -1, 0, -1, 0,
    -00149                 -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, 0, -1, -1, 0, -1, 0, -1, -1, 0,
    -00150                 -1, 0, 0, -1, 0, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, 0, 0, -1,
    -00151                 -1, 0, -1, -1, 0, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, -1, -1, -1,
    -00152                 -1, 0, -1, -1, -1, 0, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, -1, 0, 0, -1, 0, 0, -1,
    -00153                 0, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, 0, 0, -1, 0, 0, 0, -1, 0, 0, -1, -1,
    -00154                 -1, 0, -1, 0, 0, -1, -1, -1, -1, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1,
    -00155                 0, 0, 0, 0, 0, -1, -1, -1, -1, 0, 0, -1, 0, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0,
    -00156                 -1, -1, 0, -1, 0, -1, -1, -1, -1, 0, -1, -1, -1, -1, 0, 0, -1, 0, 0, 0, 0, -1,
    -00157                 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, -1, -1, -1, 0, 0, -1, 0, -1, 0, 0, 0, 0,
    -00158                 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, -1, 0, -1, -1, -1, 0, -1, 0, 0, -1, 0, -1, 0,
    -00159                 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, 0, 0, -1, -1, -1, 0, -1, 0, 0, -1, 0, 0, 0,
    -00160                 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, 0, -1, -1, -1, 0, -1, 0, 0, -1, 0, -1, 0, 0,
    -00161                 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, 0, -1, 0, 0, 0,
    -00162                 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, -1, 0, -1, -1, 0, -1, -1, -1, 0, -1, 0, -1, 0,
    -00163                 -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1,
    -00164                 -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, 0, -1, 0, 0, -1, -1, -1,
    -00165                 -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, 0,
    -00166                 -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, -1, 0,
    -00167                 -1, 0, -1, -1, -1, -1, 0, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0,
    -00168                 0, -1, 0, -1, -1, -1, -1, -1, 0, -1, 0, -1, -1, -1, 0, 0, 0, 0, 0, 0, -1, 0, 0,
    -00169                 -1, 0, -1, 0, -1, -1, -1, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0,
    -00170                 0, 0, 0, 0, -1, 0, 0, -1, 0, -1, -1, -1, -1, -1, 0, 0, -1, 0, 0, 0, 0, -1, 0,
    -00171                 -1, 0, -1, -1, 0, 0, -1, -1, 0, -1, 0, 0, -1, -1, -1, 0, 0, -1, 0, -1, 0, 0, 0,
    -00172                 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, 0, 0, -1, -1, -1, -1, -1, 0, -1, -1, 0, 0, 0,
    -00173                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, 0, -1, 0, -1, -1, -1, 0, 0, -1, 0,
    -00174                 -1, -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, 0, -1, -1,
    -00175                 0, -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, 0, -1, 0, -1, 0, 0,
    -00176                 -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, -1, -1, 0, -1, 0, 0,
    -00177                 -1, -1, -1, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, 0, -1,
    -00178                 0, -1, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, 0, -1,
    -00179                 -1, 0, 0, -1, -1, 0, -1, 0, -1, -1, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1,
    -00180                 -1, 0, -1, 0, -1, 0, 0, -1, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0,
    -00181                 0, -1, 0, -1, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1,
    -00182                 0, -1, -1, 0, -1, 0, 0, -1, -1, 0, -1, 0, -1, 0, -1, -1, 0, -1, 0, -1, 0, -1, 0,
    -00183                 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, 0,
    -00184                 -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, 0,
    -00185                 -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, 0, 0,
    -00186                 -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0,
    -00187                 -1, 0, -1, 0, -1, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1,
    -00188                 0, -1, 0, -1, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0,
    -00189                 -1, 0, -1, 0, 0, -1, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1,
    -00190                 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1,
    -00191                 0, 0, -1, 0, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0,
    -00192                 -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0,
    -00193                 -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, -1, 0, 0, -1, 0,
    -00194                 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0,
    -00195                 -1, 0, -1, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0,
    -00196                 -1, 0, -1, -1, 0, -1, 0, -1, 0, -1, 0,};
    -00197 
    -00198 #endif /* BAMBOO_04_4096_H_ */
    -
    - - - - +
    1 #ifndef BAMBOO_04_4096_H_
    +
    2 #define BAMBOO_04_4096_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 #define BAMBOO_04_4096_NUM_CELLS 4096
    +
    12 #define BAMBOO_04_4096_SAMPLERATE 16384
    +
    13 
    +
    14 const char __attribute__((progmem)) BAMBOO_04_4096_DATA [] = {0, -1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0,
    +
    15  -1, 0, 0, 0, 1, 0, 0, -2, -16, -51, -92, -93, -39, 8, 39, 93, 126, 77, 12, -1,
    +
    16  11, 11, 8, -7, -63, -89, -66, -37, -2, 9, -11, -26, 2, 46, 29, -2, 12, 16, 14,
    +
    17  58, 88, 36, -12, -9, -36, -60, -25, 14, 8, 3, 0, -37, -48, -30, -32, -23, -1,
    +
    18  12, 8, 16, 38, 27, 11, 26, 28, 9, 17, 35, 15, -14, -14, -4, -5, -2, -2, -29,
    +
    19  -53, -50, -38, -18, 4, 21, 13, 2, 1, -7, -3, 20, 34, 30, 35, 42, 30, 11, 0, -16,
    +
    20  -32, -23, -4, -2, -6, -21, -45, -53, -28, 7, 12, 5, -2, -16, -8, 12, 17, 19, 35,
    +
    21  45, 38, 30, 17, -14, -30, -19, -6, -5, -2, -6, -20, -30, -30, -34, -36, -18, 6,
    +
    22  18, 22, 11, -4, 3, 24, 34, 30, 23, 11, 3, 10, 16, 5, -13, -22, -19, -17, -19,
    +
    23  -27, -39, -39, -19, 3, 16, 16, 3, -6, -4, 8, 19, 24, 31, 33, 31, 21, 11, -3,
    +
    24  -16, -20, -16, -12, -11, -11, -15, -19, -19, -23, -22, -12, 0, 6, 9, 7, 5, 10,
    +
    25  18, 22, 23, 22, 16, 8, 8, 9, 2, -7, -14, -18, -24, -23, -19, -21, -21, -16, -10,
    +
    26  -7, 0, 9, 13, 15, 17, 16, 16, 15, 13, 7, 6, 9, 11, 8, 4, -5, -18, -29, -30, -24,
    +
    27  -14, -6, -7, -7, -5, -6, -7, -3, 1, 10, 21, 29, 30, 26, 15, 7, 5, 5, -1, -9,
    +
    28  -10, -12, -14, -14, -16, -18, -16, -11, -9, -12, -13, -12, -1, 13, 24, 23, 17,
    +
    29  15, 14, 12, 9, 6, 1, 3, 6, 4, -5, -14, -22, -26, -23, -15, -7, -5, -5, -6, -6,
    +
    30  -1, 3, 9, 13, 17, 22, 21, 17, 11, 5, 3, 0, -1, -2, -6, -12, -17, -20, -20, -16,
    +
    31  -10, -5, -4, -2, -6, -8, -2, 5, 10, 16, 21, 21, 18, 13, 7, 0, -2, -1, 0, -4, -7,
    +
    32  -11, -12, -15, -21, -19, -15, -11, -7, -1, 0, 1, 8, 14, 17, 16, 15, 9, 6, 8, 7,
    +
    33  2, -1, -2, -5, -6, -8, -13, -18, -18, -14, -9, -3, -3, -6, -4, 1, 5, 7, 9, 10,
    +
    34  13, 17, 20, 17, 7, 1, 0, -2, -4, -8, -10, -10, -10, -10, -12, -14, -16, -12, -4,
    +
    35  1, 2, 4, 8, 11, 15, 15, 14, 12, 9, 8, 8, 4, -2, -8, -9, -9, -10, -11, -12, -13,
    +
    36  -14, -11, -10, -8, -1, 3, 6, 9, 11, 10, 9, 10, 11, 9, 9, 9, 6, 2, -2, -7, -12,
    +
    37  -13, -15, -16, -13, -11, -10, -9, -5, -1, 1, 6, 7, 8, 9, 10, 11, 11, 11, 9, 6,
    +
    38  3, -1, -4, -6, -8, -10, -9, -8, -8, -9, -11, -13, -11, -8, -2, 2, 6, 9, 13, 13,
    +
    39  10, 11, 9, 6, 6, 6, 2, -2, -6, -7, -9, -11, -11, -12, -11, -9, -7, -5, -4, -1,
    +
    40  2, 6, 10, 10, 8, 9, 9, 6, 7, 7, 4, 1, 1, -2, -4, -7, -10, -12, -12, -11, -9, -9,
    +
    41  -5, -2, 0, 2, 3, 4, 6, 7, 8, 9, 9, 8, 7, 5, 2, -1, -2, -6, -8, -8, -8, -10, -10,
    +
    42  -10, -8, -6, -4, -2, -1, 1, 5, 7, 9, 9, 9, 9, 8, 7, 4, 0, -2, -3, -5, -4, -6,
    +
    43  -8, -10, -12, -12, -8, -6, -3, 0, 2, 3, 4, 5, 5, 7, 9, 9, 8, 6, 6, 2, -1, -2,
    +
    44  -4, -6, -7, -8, -9, -10, -11, -9, -8, -4, -1, 2, 4, 5, 7, 7, 7, 6, 6, 6, 5, 5,
    +
    45  2, 0, -2, -4, -6, -6, -6, -9, -9, -8, -7, -6, -4, -2, 1, 4, 4, 5, 5, 6, 6, 6, 6,
    +
    46  6, 5, 4, 0, -2, -5, -5, -6, -7, -8, -9, -9, -7, -6, -5, -3, 0, 2, 4, 6, 6, 6, 6,
    +
    47  7, 7, 6, 4, 2, 0, 0, -2, -5, -6, -8, -8, -7, -7, -7, -6, -4, -3, -1, 0, 3, 4, 6,
    +
    48  8, 9, 7, 6, 4, 4, 2, 0, -1, -3, -5, -5, -6, -7, -9, -9, -6, -5, -4, -3, -1, 0,
    +
    49  2, 4, 5, 4, 6, 7, 8, 7, 4, 2, 1, 0, -1, -4, -5, -7, -9, -9, -8, -7, -8, -5, -2,
    +
    50  -1, 1, 3, 4, 5, 6, 8, 8, 7, 6, 4, 3, 1, 0, -3, -4, -6, -7, -8, -9, -9, -9, -6,
    +
    51  -3, -1, 0, 1, 2, 3, 5, 7, 7, 6, 7, 7, 5, 3, 1, -2, -2, -4, -5, -5, -6, -8, -8,
    +
    52  -8, -7, -5, -4, 0, 0, 2, 3, 5, 6, 6, 6, 5, 4, 5, 5, 3, 0, -2, -4, -5, -5, -7,
    +
    53  -7, -8, -8, -7, -4, -4, -2, 0, 2, 3, 5, 6, 6, 6, 5, 6, 6, 4, 3, 1, -1, -4, -6,
    +
    54  -8, -7, -6, -7, -8, -7, -6, -4, -2, 0, 1, 3, 4, 6, 7, 7, 6, 6, 4, 4, 3, 1, -1,
    +
    55  -4, -5, -6, -6, -7, -7, -7, -7, -6, -4, -3, 0, 2, 3, 5, 6, 6, 6, 6, 6, 5, 4, 3,
    +
    56  1, -1, -3, -4, -6, -7, -7, -7, -6, -6, -5, -4, -3, 0, 0, 3, 3, 4, 6, 6, 6, 5, 4,
    +
    57  3, 2, 1, 0, -2, -4, -5, -6, -7, -7, -6, -5, -6, -5, -3, -1, 0, 2, 3, 3, 5, 6, 6,
    +
    58  6, 5, 4, 3, 1, 0, -3, -4, -5, -5, -6, -6, -6, -6, -4, -4, -4, -2, 0, 1, 3, 4, 4,
    +
    59  5, 5, 6, 6, 5, 4, 1, -1, -1, -3, -4, -5, -6, -6, -6, -6, -6, -5, -3, -3, 0, 1,
    +
    60  3, 3, 5, 4, 5, 5, 5, 5, 3, 2, 0, 0, -2, -3, -4, -6, -6, -7, -6, -6, -5, -4, -3,
    +
    61  -1, 1, 2, 3, 3, 4, 5, 5, 5, 4, 3, 2, 1, 0, -3, -3, -4, -4, -5, -5, -6, -6, -5,
    +
    62  -4, -3, -1, 0, 1, 2, 3, 5, 4, 4, 5, 4, 4, 3, 2, 0, -2, -3, -3, -4, -5, -6, -6,
    +
    63  -5, -4, -3, -3, -3, -1, 1, 2, 3, 3, 4, 4, 5, 5, 4, 2, 1, 0, 0, -2, -3, -5, -6,
    +
    64  -5, -5, -4, -3, -3, -3, -3, 0, 0, 2, 2, 3, 5, 4, 4, 4, 3, 2, 2, 0, -2, -2, -3,
    +
    65  -4, -4, -6, -5, -5, -5, -3, -3, -2, -1, 0, 1, 2, 3, 3, 5, 5, 4, 3, 2, 1, 0, -1,
    +
    66  -1, -3, -4, -5, -5, -5, -5, -5, -4, -2, -1, 0, 0, 1, 2, 2, 4, 4, 4, 3, 2, 2, 2,
    +
    67  0, 0, -3, -3, -4, -4, -4, -5, -5, -5, -3, -2, -1, -1, 0, 0, 2, 3, 4, 4, 4, 3, 3,
    +
    68  2, 2, 0, 0, -1, -2, -3, -3, -4, -5, -5, -4, -4, -3, -2, 0, 1, 1, 1, 2, 2, 3, 4,
    +
    69  4, 3, 2, 2, 0, 0, -1, -2, -3, -4, -4, -5, -4, -4, -4, -3, -2, -1, 0, 1, 2, 1, 2,
    +
    70  3, 4, 3, 3, 2, 1, 1, 0, -1, -3, -3, -3, -4, -3, -5, -4, -3, -3, -2, -1, -1, 1,
    +
    71  2, 2, 3, 3, 3, 3, 3, 2, 2, 0, -1, 0, -2, -2, -3, -3, -4, -3, -4, -3, -3, -2, -2,
    +
    72  -1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 2, 1, -1, -1, -1, -3, -3, -3, -4, -3, -3, -3, -3,
    +
    73  -3, -1, -1, 0, 1, 2, 2, 2, 2, 2, 2, 2, 1, 1, 0, 0, -2, -2, -3, -3, -3, -4, -4,
    +
    74  -3, -2, -2, -1, -1, 0, 0, 2, 2, 3, 2, 2, 3, 2, 2, 1, 0, -1, -2, -2, -2, -2, -3,
    +
    75  -4, -4, -3, -2, -2, -1, -1, -1, 0, 1, 2, 3, 2, 1, 1, 1, 1, 1, 1, -1, -1, -2, -2,
    +
    76  -3, -3, -3, -2, -3, -2, -2, -2, 0, -1, 0, 1, 1, 3, 2, 1, 2, 2, 1, 1, 1, -1, 0,
    +
    77  -2, -2, -2, -3, -4, -4, -3, -2, -2, -2, -1, 0, 0, 0, 1, 1, 2, 3, 2, 2, 1, 1, 1,
    +
    78  1, 0, -1, -2, -2, -3, -3, -3, -3, -3, -2, -2, -1, 0, -1, 0, 1, 1, 3, 2, 3, 1, 1,
    +
    79  1, 1, 0, -1, -1, -2, -2, -3, -3, -3, -3, -3, -2, -2, -1, -1, 0, 0, 1, 1, 1, 1,
    +
    80  2, 2, 1, 2, 1, 0, 0, -1, -2, -2, -3, -2, -3, -3, -2, -3, -2, -2, -1, -1, 0, 1,
    +
    81  1, 2, 1, 2, 2, 2, 1, 1, 0, -1, -1, -2, -2, -3, -3, -3, -3, -2, -2, -2, -2, -2,
    +
    82  0, 1, 1, 1, 1, 2, 2, 1, 2, 1, 1, 0, 0, -1, -1, -2, -2, -2, -3, -3, -3, -2, -2,
    +
    83  -2, -1, -1, 1, 0, 1, 2, 2, 2, 1, 2, 1, 1, 1, 0, -1, -1, -1, -2, -2, -3, -2, -2,
    +
    84  -2, -2, -2, -1, 0, -1, 0, 1, 2, 1, 2, 1, 1, 1, 0, 1, 0, 0, -1, -2, -2, -2, -3,
    +
    85  -3, -2, -2, -2, -2, -1, -1, 0, -1, 1, 1, 2, 2, 1, 2, 1, 1, 1, 0, -1, -2, -2, -2,
    +
    86  -2, -2, -3, -3, -3, -2, -2, -1, 0, -1, 0, 1, 1, 1, 1, 2, 1, 1, 1, 1, 0, 0, -1,
    +
    87  -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, 0, 0, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1,
    +
    88  0, -1, -1, -2, -2, -2, -2, -2, -3, -2, -2, -1, -1, 0, -1, 0, 1, 1, 2, 2, 1, 1,
    +
    89  1, 1, 1, 0, 0, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -1, 0, 0, 1, 1, 1, 1,
    +
    90  2, 1, 1, 1, 1, 0, 0, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, 0, 0, 0, 0, 1,
    +
    91  1, 1, 1, 2, 1, 1, 0, 0, -1, -1, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, 0,
    +
    92  -1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, -1, -1, -2, -2, -2, -3, -2, -2, -2, -1, -2,
    +
    93  0, -1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, -1, 0, 0, -2, -2, -2, -2, -2, -2, -2,
    +
    94  -2, -1, -1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, -1, -1, -1, -2, -2, -2,
    +
    95  -2, -3, -2, -1, -1, 0, -1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, -1, -2, -2, -2,
    +
    96  -2, -2, -2, -2, -2, -2, -1, -1, 0, -1, 0, 1, 1, 1, 2, 1, 1, 0, 1, 0, 0, -1, -1,
    +
    97  -2, -2, -2, -2, -2, -2, -2, -2, -1, -1, -1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0,
    +
    98  -1, -1, -1, -1, -2, -2, -2, -2, -2, -2, -1, -1, -1, 0, 0, 1, 1, 1, 1, 1, 1, 0,
    +
    99  0, 0, -1, 0, -1, -2, -2, -2, -2, -2, -2, -2, -1, -1, -1, -1, 0, 0, 0, 1, 1, 1,
    +
    100  1, 1, 1, 1, 0, 0, 0, -1, -2, -1, -2, -2, -2, -2, -2, -2, -1, -1, -1, -1, 0, 1,
    +
    101  1, 1, 1, 1, 1, 1, 0, 0, 0, 0, -1, 0, -2, -1, -2, -2, -1, -2, -1, -1, -1, -1, 0,
    +
    102  0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    103  -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -2, -1, -1,
    +
    104  -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -2, -1,
    +
    105  -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1,
    +
    106  -1, -1, -1, -1, -1, 0, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1,
    +
    107  -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    108  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1,
    +
    109  0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0,
    +
    110  0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0,
    +
    111  0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0,
    +
    112  0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1,
    +
    113  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    114  -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0,
    +
    115  -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, -1, -1, -1, -1, -1,
    +
    116  -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1,
    +
    117  -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1,
    +
    118  -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1,
    +
    119  -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0,
    +
    120  -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    121  -1, 0, -1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0,
    +
    122  0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, 0, -1, 0, 0, 0, 0,
    +
    123  0, 0, 0, -1, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0,
    +
    124  0, 0, 0, 0, 0, -1, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    125  -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1,
    +
    126  -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1,
    +
    127  -1, -1, -1, -1, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, -1, -1,
    +
    128  -1, -1, -1, -1, -1, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, -1,
    +
    129  -1, -1, -1, -1, 0, -1, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, 0,
    +
    130  -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0,
    +
    131  0, -1, -1, -1, -1, -1, 0, 0, -1, -1, -1, -1, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0,
    +
    132  0, -1, -1, 0, -1, 0, -1, -1, -1, -1, 0, -1, 0, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0,
    +
    133  -1, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0,
    +
    134  0, 0, 0, 0, -1, -1, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0,
    +
    135  0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0,
    +
    136  0, 0, -1, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    137  -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1,
    +
    138  -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0,
    +
    139  -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, -1, 0, -1, -1, -1,
    +
    140  0, -1, 0, -1, 0, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1,
    +
    141  -1, -1, -1, -1, -1, -1, 0, 0, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0,
    +
    142  -1, -1, 0, -1, 0, -1, -1, 0, -1, -1, -1, 0, -1, -1, -1, 0, 0, -1, 0, 0, 0, 0, 0,
    +
    143  0, 0, 0, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0,
    +
    144  0, 0, 0, 0, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, -1, 0,
    +
    145  0, 0, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, 0, -1, -1, -1, 0, 0, -1, 0, 0, 0, 0,
    +
    146  0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0,
    +
    147  0, 0, 0, 0, -1, 0, 0, -1, 0, 0, 0, 0, 0, -1, -1, 0, -1, -1, -1, 0, -1, 0, -1,
    +
    148  -1, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, -1, 0, -1, 0,
    +
    149  -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, 0, -1, -1, 0, -1, 0, -1, -1, 0,
    +
    150  -1, 0, 0, -1, 0, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, 0, 0, -1,
    +
    151  -1, 0, -1, -1, 0, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, -1, -1, -1,
    +
    152  -1, 0, -1, -1, -1, 0, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, -1, 0, 0, -1, 0, 0, -1,
    +
    153  0, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, 0, 0, -1, 0, 0, 0, -1, 0, 0, -1, -1,
    +
    154  -1, 0, -1, 0, 0, -1, -1, -1, -1, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1,
    +
    155  0, 0, 0, 0, 0, -1, -1, -1, -1, 0, 0, -1, 0, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0,
    +
    156  -1, -1, 0, -1, 0, -1, -1, -1, -1, 0, -1, -1, -1, -1, 0, 0, -1, 0, 0, 0, 0, -1,
    +
    157  0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, -1, -1, -1, 0, 0, -1, 0, -1, 0, 0, 0, 0,
    +
    158  0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, -1, 0, -1, -1, -1, 0, -1, 0, 0, -1, 0, -1, 0,
    +
    159  0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, 0, 0, -1, -1, -1, 0, -1, 0, 0, -1, 0, 0, 0,
    +
    160  0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, 0, -1, -1, -1, 0, -1, 0, 0, -1, 0, -1, 0, 0,
    +
    161  0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, 0, -1, 0, 0, 0,
    +
    162  0, 0, 0, 0, -1, 0, 0, 0, 0, 0, -1, 0, -1, -1, 0, -1, -1, -1, 0, -1, 0, -1, 0,
    +
    163  -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1,
    +
    164  -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, 0, -1, 0, 0, -1, -1, -1,
    +
    165  -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, 0,
    +
    166  -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, -1, 0,
    +
    167  -1, 0, -1, -1, -1, -1, 0, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0,
    +
    168  0, -1, 0, -1, -1, -1, -1, -1, 0, -1, 0, -1, -1, -1, 0, 0, 0, 0, 0, 0, -1, 0, 0,
    +
    169  -1, 0, -1, 0, -1, -1, -1, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0,
    +
    170  0, 0, 0, 0, -1, 0, 0, -1, 0, -1, -1, -1, -1, -1, 0, 0, -1, 0, 0, 0, 0, -1, 0,
    +
    171  -1, 0, -1, -1, 0, 0, -1, -1, 0, -1, 0, 0, -1, -1, -1, 0, 0, -1, 0, -1, 0, 0, 0,
    +
    172  0, 0, 0, 0, 0, 0, -1, 0, -1, -1, 0, 0, -1, -1, -1, -1, -1, 0, -1, -1, 0, 0, 0,
    +
    173  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, 0, -1, 0, -1, -1, -1, 0, 0, -1, 0,
    +
    174  -1, -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, 0, -1, -1,
    +
    175  0, -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, 0, -1, 0, -1, 0, 0,
    +
    176  -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, -1, -1, 0, -1, 0, 0,
    +
    177  -1, -1, -1, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, 0, -1,
    +
    178  0, -1, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, 0, -1,
    +
    179  -1, 0, 0, -1, -1, 0, -1, 0, -1, -1, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1,
    +
    180  -1, 0, -1, 0, -1, 0, 0, -1, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0,
    +
    181  0, -1, 0, -1, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1,
    +
    182  0, -1, -1, 0, -1, 0, 0, -1, -1, 0, -1, 0, -1, 0, -1, -1, 0, -1, 0, -1, 0, -1, 0,
    +
    183  0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, 0,
    +
    184  -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, 0,
    +
    185  -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, 0, 0,
    +
    186  -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0,
    +
    187  -1, 0, -1, 0, -1, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1,
    +
    188  0, -1, 0, -1, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0,
    +
    189  -1, 0, -1, 0, 0, -1, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1,
    +
    190  0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1,
    +
    191  0, 0, -1, 0, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0,
    +
    192  -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0,
    +
    193  -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, -1, 0, 0, -1, 0,
    +
    194  0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0,
    +
    195  -1, 0, -1, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0,
    +
    196  -1, 0, -1, -1, 0, -1, 0, -1, 0, -1, 0,};
    +
    197 
    +
    198 #endif /* BAMBOO_04_4096_H_ */
    +
    + + + diff --git a/doc/html/bamboo__05__2048__int8_8h_source.html b/doc/html/bamboo__05__2048__int8_8h_source.html index e6fedab15..199c0feac 100644 --- a/doc/html/bamboo__05__2048__int8_8h_source.html +++ b/doc/html/bamboo__05__2048__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: samples/bamboo/bamboo_05_2048_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,130 +99,132 @@
    -
    samples/bamboo/bamboo_05_2048_int8.h
    +
    bamboo_05_2048_int8.h
    -
    00001 #ifndef BAMBOO_05_2048_H_
    -00002 #define BAMBOO_05_2048_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 #define BAMBOO_05_2048_NUM_CELLS 2048
    -00012 #define BAMBOO_05_2048_SAMPLERATE 16384
    -00013 
    -00014 const char __attribute__((progmem)) BAMBOO_05_2048_DATA []  = {1, 0, 1, -1, 0, -1, 0, -1, 0, 0, 0,
    -00015 1, 0, 0, 0, 1, -1, 0, -2, 0, -2, 1, -1, -1, 1, -1, 1, -1, -1, 2, 0, -14, -68,
    -00016 -126, -100, 25, 94, 82, 109, 90, -30, -52, 15, 13, -18, -34, -68, -66, -8, 5,
    -00017 -3, -18, -39, 34, 102, 44, 10, 47, 16, -7, 20, -33, -57, 32, 38, -35, -67, -71,
    -00018 -69, -6, 60, 17, -16, 5, 6, 8, 10, 43, 74, 41, 15, 4, -26, -38, 5, 12, -49, -53,
    -00019 -9, -23, -35, -20, -18, 1, 36, 35, 16, 28, 39, 24, 18, 7, 1, 5, 4, -2, -30, -69,
    -00020 -59, -3, 4, -11, -7, -17, -23, 13, 33, 27, 33, 39, 29, 18, 8, 1, 2, 0, -11, -23,
    -00021 -44, -46, -30, -25, -20, -5, -5, -7, 12, 27, 26, 33, 36, 20, 11, 19, 14, -7,
    -00022 -19, -23, -22, -21, -25, -27, -25, -23, -19, -7, 6, 19, 28, 24, 22, 21, 17, 17,
    -00023 25, 17, -3, -13, -23, -36, -31, -22, -15, -17, -21, -23, -12, 1, 20, 28, 25, 25,
    -00024 29, 22, 17, 10, 0, -4, 0, -8, -23, -29, -25, -24, -26, -20, -17, -4, 14, 23, 18,
    -00025 13, 21, 28, 32, 26, 15, -5, -16, -19, -23, -18, -17, -23, -27, -20, -9, -3, 1,
    -00026 9, 14, 16, 21, 21, 13, 6, 19, 19, 4, -1, -8, -17, -19, -23, -24, -28, -23, -9,
    -00027 -9, -5, 3, 14, 14, 20, 28, 24, 20, 17, 4, -5, -4, -6, -14, -24, -24, -25, -26,
    -00028 -22, -14, -9, 2, 16, 22, 16, 18, 22, 19, 19, 16, 5, -8, -6, -4, -14, -25, -23,
    -00029 -26, -22, -9, -10, -10, -2, 7, 12, 20, 23, 18, 19, 17, 12, 5, -1, -7, -9, -16,
    -00030 -20, -23, -26, -24, -12, -5, 0, 4, 2, 11, 22, 25, 18, 12, 10, 12, 9, 3, -8, -15,
    -00031 -16, -17, -24, -27, -22, -16, -4, 1, 0, 7, 16, 23, 23, 19, 12, 12, 11, 3, -2,
    -00032 -10, -14, -18, -20, -22, -20, -17, -12, -8, -3, 4, 15, 20, 18, 17, 18, 14, 15,
    -00033 11, -3, -7, -7, -13, -22, -24, -24, -17, -11, -9, -11, -5, 7, 17, 16, 15, 16,
    -00034 15, 15, 15, 8, 0, -3, -5, -14, -21, -20, -19, -21, -16, -14, -8, 3, 10, 8, 12,
    -00035 16, 19, 16, 16, 13, 10, 4, -4, -13, -20, -17, -15, -17, -22, -18, -11, -7, 3, 8,
    -00036 9, 11, 18, 19, 16, 14, 13, 9, 4, -2, -14, -19, -18, -17, -18, -19, -19, -14, -5,
    -00037 6, 8, 8, 15, 20, 22, 15, 14, 10, 7, 1, -7, -16, -16, -16, -16, -23, -23, -14,
    -00038 -7, -1, 2, 4, 8, 13, 20, 16, 14, 14, 15, 8, -2, -8, -12, -13, -13, -18, -26,
    -00039 -23, -12, -6, -5, -1, 3, 12, 17, 21, 17, 13, 14, 15, 8, -4, -10, -10, -12, -17,
    -00040 -23, -24, -17, -9, -5, -4, 2, 6, 11, 16, 20, 18, 14, 12, 9, 2, -1, -5, -8, -14,
    -00041 -17, -22, -22, -15, -10, -5, -4, 1, 7, 12, 14, 15, 16, 14, 15, 10, 2, -3, -7,
    -00042 -8, -14, -19, -21, -19, -13, -8, -7, -7, -1, 7, 15, 14, 14, 14, 14, 10, 7, 2,
    -00043 -1, -2, -6, -15, -20, -20, -16, -12, -8, -8, -5, 1, 6, 8, 12, 17, 16, 13, 10, 4,
    -00044 4, 1, -6, -13, -17, -17, -12, -11, -14, -12, -9, -2, 3, 6, 8, 13, 16, 15, 13,
    -00045 10, 7, 7, 0, -7, -16, -18, -16, -14, -12, -14, -11, -6, 0, 2, 7, 11, 10, 16, 13,
    -00046 10, 7, 6, 5, -2, -8, -12, -14, -11, -12, -15, -15, -10, -5, 0, 3, 7, 9, 13, 15,
    -00047 12, 9, 10, 10, 5, -2, -10, -13, -12, -12, -11, -14, -13, -9, -3, -2, 2, 7, 9,
    -00048 13, 13, 9, 9, 7, 7, 2, -2, -7, -10, -12, -13, -16, -15, -11, -6, -6, -1, 2, 7,
    -00049 10, 11, 13, 13, 11, 8, 3, -1, -6, -5, -8, -13, -14, -15, -13, -10, -8, -4, 1, 6,
    -00050 9, 9, 11, 10, 9, 8, 8, 4, -1, -3, -8, -9, -11, -12, -13, -11, -10, -8, -5, -1,
    -00051 2, 7, 9, 13, 12, 12, 7, 7, 1, 0, -1, -8, -11, -13, -14, -14, -11, -10, -5, -1,
    -00052 1, 5, 8, 8, 9, 12, 10, 9, 5, 2, 0, -3, -8, -9, -11, -13, -12, -8, -10, -7, -3,
    -00053 2, 5, 8, 10, 10, 11, 10, 8, 3, 1, -2, -5, -8, -9, -13, -13, -11, -9, -8, -5, -1,
    -00054 3, 4, 8, 10, 11, 10, 10, 7, 5, 1, 0, -5, -8, -11, -11, -12, -10, -9, -7, -4, 1,
    -00055 2, 6, 7, 8, 10, 10, 9, 4, 3, 0, -1, -5, -7, -9, -13, -11, -11, -9, -9, -4, -1,
    -00056 3, 6, 6, 7, 7, 9, 10, 7, 3, 0, -2, -4, -6, -11, -11, -12, -9, -9, -6, -4, -1, 2,
    -00057 7, 7, 8, 9, 8, 9, 6, 2, -1, -5, -4, -7, -11, -11, -12, -8, -8, -7, -2, -1, 3, 5,
    -00058 7, 8, 10, 7, 6, 4, 3, 0, -4, -5, -8, -10, -11, -9, -9, -8, -5, -2, 1, 3, 5, 7,
    -00059 7, 10, 9, 5, 4, 3, 0, -3, -6, -7, -9, -10, -9, -10, -7, -6, -2, 1, 2, 5, 6, 9,
    -00060 8, 8, 5, 4, 3, 2, -3, -6, -10, -9, -11, -9, -10, -7, -4, -4, 1, 3, 6, 8, 9, 6,
    -00061 6, 5, 5, 2, -1, -4, -6, -7, -8, -10, -10, -9, -6, -4, -2, 0, 3, 6, 8, 7, 5, 4,
    -00062 5, 3, 2, -1, -4, -6, -7, -9, -9, -9, -7, -5, -3, -2, -1, 1, 5, 6, 5, 6, 7, 4, 3,
    -00063 1, -1, -3, -5, -7, -8, -9, -8, -8, -6, -3, 0, 0, 3, 4, 6, 6, 7, 5, 5, 2, 0, -2,
    -00064 -3, -6, -7, -9, -9, -7, -6, -5, -3, -1, 1, 4, 5, 4, 5, 7, 6, 4, 1, -1, -2, -3,
    -00065 -5, -7, -8, -7, -6, -6, -5, -3, -1, 1, 3, 4, 4, 5, 6, 6, 3, 1, -1, -2, -3, -5,
    -00066 -8, -7, -7, -8, -7, -5, -2, 0, 1, 2, 4, 5, 6, 6, 4, 3, 1, 1, -1, -4, -6, -7, -6,
    -00067 -7, -7, -7, -4, -1, 0, 1, 3, 4, 5, 6, 6, 4, 2, 1, 0, -3, -4, -6, -7, -7, -7, -7,
    -00068 -6, -3, -1, 0, 1, 3, 4, 5, 5, 4, 4, 3, 1, -1, -3, -4, -5, -5, -6, -6, -6, -5,
    -00069 -3, -1, 0, 1, 2, 5, 5, 5, 4, 3, 2, 1, 0, -3, -4, -5, -6, -5, -6, -5, -4, -3, -1,
    -00070 0, 1, 3, 3, 4, 4, 3, 3, 3, 0, -2, -3, -4, -5, -5, -5, -6, -5, -4, -3, -1, 0, 1,
    -00071 3, 4, 3, 3, 3, 3, 2, 0, -1, -3, -4, -4, -6, -6, -5, -4, -4, -3, -1, 0, 1, 2, 3,
    -00072 4, 4, 3, 3, 1, 0, -2, -3, -4, -4, -5, -5, -5, -5, -3, -2, -1, 0, 2, 2, 3, 3, 3,
    -00073 3, 3, 2, 0, -1, -3, -3, -5, -4, -5, -5, -4, -4, -2, -1, 0, 2, 2, 3, 4, 4, 2, 1,
    -00074 1, 0, -1, -3, -4, -5, -5, -4, -4, -4, -3, -2, -1, 1, 1, 2, 3, 4, 3, 2, 2, 1, 0,
    -00075 -1, -3, -3, -4, -5, -5, -5, -4, -3, -2, 0, 1, 2, 2, 3, 3, 2, 3, 2, 1, 0, -2, -3,
    -00076 -4, -5, -4, -4, -4, -4, -3, -1, -1, 0, 2, 2, 2, 3, 2, 2, 1, 0, 0, -2, -3, -3,
    -00077 -4, -5, -5, -4, -3, -3, -2, -1, 0, 2, 2, 3, 3, 2, 2, 2, 0, -1, -2, -2, -3, -4,
    -00078 -4, -4, -4, -3, -2, -1, -1, 0, 1, 2, 2, 3, 2, 1, 1, 0, 0, -2, -2, -3, -4, -4,
    -00079 -4, -4, -3, -2, -1, 0, 1, 1, 2, 2, 2, 1, 1, 1, 0, -1, -2, -2, -3, -4, -4, -4,
    -00080 -3, -2, -2, -1, 0, 1, 1, 2, 1, 3, 2, 1, 0, 0, -1, -2, -2, -3, -3, -4, -4, -3,
    -00081 -3, -2, -1, 0, 1, 1, 1, 1, 2, 1, 1, 0, 0, -1, -2, -2, -3, -3, -4, -3, -3, -2,
    -00082 -2, -1, 0, 0, 1, 2, 2, 2, 2, 1, 0, 0, -1, -2, -3, -3, -3, -3, -3, -3, -2, -1,
    -00083 -1, 0, 0, 1, 1, 1, 2, 1, 1, 0, 0, -1, -2, -3, -3, -3, -3, -3, -3, -2, -2, -1, 0,
    -00084 1, 1, 1, 1, 1, 1, 1, 0, 0, -2, -2, -3, -3, -3, -3, -3, -2, -2, -2, 0, 0, 1, 1,
    -00085 1, 1, 1, 1, 1, 0, 0, -2, -2, -2, -3, -3, -3, -3, -3, -2, -1, -1, 0, 0, 1, 1, 2,
    -00086 1, 1, 0, 0, -1, -1, -1, -2, -2, -2, -2, -2, -2, -1, -1, 0, 0, 0, 1, 1, 1, 1, 0,
    -00087 0, 0, -1, -1, -2, -2, -2, -2, -2, -2, -2, -1, -1, -1, 0, 0, 1, 1, 1, 1, 1, 0, 0,
    -00088 0, -1, -1, -2, -2, -2, -2, -2, -1, -1, -1, 0, 0, 0, 0, 0, 1, 0, 0, 0, -1, -1,
    -00089 -1, -2, -2, -2, -2, -2, -2, -2, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1,
    -00090 -1, -2, -2, -2, -2, -2, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1,
    -00091 -2, -2, -2, -2, -2, -1, -1, -1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, -1, -1, -1, -2,
    -00092 -2, -2, -2, -2, -1, -1, -1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, -1, -1, -2, -2, -2,
    -00093 -2, -2, -2, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -2, -2, -2, -2, -2,
    -00094 -2, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1,
    -00095 -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00096 -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00097 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0,
    -00098 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0,
    -00099 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0,
    -00100 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0,
    -00101 -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00102 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0,
    -00103 -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1,
    -00104 -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1,
    -00105 -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1,
    -00106 -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1,
    -00107 -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1,
    -00108 -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00109 -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00110 -1, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00111 -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, };
    -00112 
    -00113  #endif /* BAMBOO_05_2048_H_ */
    -
    - - - - +
    1 #ifndef BAMBOO_05_2048_H_
    +
    2 #define BAMBOO_05_2048_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 #define BAMBOO_05_2048_NUM_CELLS 2048
    +
    12 #define BAMBOO_05_2048_SAMPLERATE 16384
    +
    13 
    +
    14 const char __attribute__((progmem)) BAMBOO_05_2048_DATA [] = {1, 0, 1, -1, 0, -1, 0, -1, 0, 0, 0,
    +
    15 1, 0, 0, 0, 1, -1, 0, -2, 0, -2, 1, -1, -1, 1, -1, 1, -1, -1, 2, 0, -14, -68,
    +
    16 -126, -100, 25, 94, 82, 109, 90, -30, -52, 15, 13, -18, -34, -68, -66, -8, 5,
    +
    17 -3, -18, -39, 34, 102, 44, 10, 47, 16, -7, 20, -33, -57, 32, 38, -35, -67, -71,
    +
    18 -69, -6, 60, 17, -16, 5, 6, 8, 10, 43, 74, 41, 15, 4, -26, -38, 5, 12, -49, -53,
    +
    19 -9, -23, -35, -20, -18, 1, 36, 35, 16, 28, 39, 24, 18, 7, 1, 5, 4, -2, -30, -69,
    +
    20 -59, -3, 4, -11, -7, -17, -23, 13, 33, 27, 33, 39, 29, 18, 8, 1, 2, 0, -11, -23,
    +
    21 -44, -46, -30, -25, -20, -5, -5, -7, 12, 27, 26, 33, 36, 20, 11, 19, 14, -7,
    +
    22 -19, -23, -22, -21, -25, -27, -25, -23, -19, -7, 6, 19, 28, 24, 22, 21, 17, 17,
    +
    23 25, 17, -3, -13, -23, -36, -31, -22, -15, -17, -21, -23, -12, 1, 20, 28, 25, 25,
    +
    24 29, 22, 17, 10, 0, -4, 0, -8, -23, -29, -25, -24, -26, -20, -17, -4, 14, 23, 18,
    +
    25 13, 21, 28, 32, 26, 15, -5, -16, -19, -23, -18, -17, -23, -27, -20, -9, -3, 1,
    +
    26 9, 14, 16, 21, 21, 13, 6, 19, 19, 4, -1, -8, -17, -19, -23, -24, -28, -23, -9,
    +
    27 -9, -5, 3, 14, 14, 20, 28, 24, 20, 17, 4, -5, -4, -6, -14, -24, -24, -25, -26,
    +
    28 -22, -14, -9, 2, 16, 22, 16, 18, 22, 19, 19, 16, 5, -8, -6, -4, -14, -25, -23,
    +
    29 -26, -22, -9, -10, -10, -2, 7, 12, 20, 23, 18, 19, 17, 12, 5, -1, -7, -9, -16,
    +
    30 -20, -23, -26, -24, -12, -5, 0, 4, 2, 11, 22, 25, 18, 12, 10, 12, 9, 3, -8, -15,
    +
    31 -16, -17, -24, -27, -22, -16, -4, 1, 0, 7, 16, 23, 23, 19, 12, 12, 11, 3, -2,
    +
    32 -10, -14, -18, -20, -22, -20, -17, -12, -8, -3, 4, 15, 20, 18, 17, 18, 14, 15,
    +
    33 11, -3, -7, -7, -13, -22, -24, -24, -17, -11, -9, -11, -5, 7, 17, 16, 15, 16,
    +
    34 15, 15, 15, 8, 0, -3, -5, -14, -21, -20, -19, -21, -16, -14, -8, 3, 10, 8, 12,
    +
    35 16, 19, 16, 16, 13, 10, 4, -4, -13, -20, -17, -15, -17, -22, -18, -11, -7, 3, 8,
    +
    36 9, 11, 18, 19, 16, 14, 13, 9, 4, -2, -14, -19, -18, -17, -18, -19, -19, -14, -5,
    +
    37 6, 8, 8, 15, 20, 22, 15, 14, 10, 7, 1, -7, -16, -16, -16, -16, -23, -23, -14,
    +
    38 -7, -1, 2, 4, 8, 13, 20, 16, 14, 14, 15, 8, -2, -8, -12, -13, -13, -18, -26,
    +
    39 -23, -12, -6, -5, -1, 3, 12, 17, 21, 17, 13, 14, 15, 8, -4, -10, -10, -12, -17,
    +
    40 -23, -24, -17, -9, -5, -4, 2, 6, 11, 16, 20, 18, 14, 12, 9, 2, -1, -5, -8, -14,
    +
    41 -17, -22, -22, -15, -10, -5, -4, 1, 7, 12, 14, 15, 16, 14, 15, 10, 2, -3, -7,
    +
    42 -8, -14, -19, -21, -19, -13, -8, -7, -7, -1, 7, 15, 14, 14, 14, 14, 10, 7, 2,
    +
    43 -1, -2, -6, -15, -20, -20, -16, -12, -8, -8, -5, 1, 6, 8, 12, 17, 16, 13, 10, 4,
    +
    44 4, 1, -6, -13, -17, -17, -12, -11, -14, -12, -9, -2, 3, 6, 8, 13, 16, 15, 13,
    +
    45 10, 7, 7, 0, -7, -16, -18, -16, -14, -12, -14, -11, -6, 0, 2, 7, 11, 10, 16, 13,
    +
    46 10, 7, 6, 5, -2, -8, -12, -14, -11, -12, -15, -15, -10, -5, 0, 3, 7, 9, 13, 15,
    +
    47 12, 9, 10, 10, 5, -2, -10, -13, -12, -12, -11, -14, -13, -9, -3, -2, 2, 7, 9,
    +
    48 13, 13, 9, 9, 7, 7, 2, -2, -7, -10, -12, -13, -16, -15, -11, -6, -6, -1, 2, 7,
    +
    49 10, 11, 13, 13, 11, 8, 3, -1, -6, -5, -8, -13, -14, -15, -13, -10, -8, -4, 1, 6,
    +
    50 9, 9, 11, 10, 9, 8, 8, 4, -1, -3, -8, -9, -11, -12, -13, -11, -10, -8, -5, -1,
    +
    51 2, 7, 9, 13, 12, 12, 7, 7, 1, 0, -1, -8, -11, -13, -14, -14, -11, -10, -5, -1,
    +
    52 1, 5, 8, 8, 9, 12, 10, 9, 5, 2, 0, -3, -8, -9, -11, -13, -12, -8, -10, -7, -3,
    +
    53 2, 5, 8, 10, 10, 11, 10, 8, 3, 1, -2, -5, -8, -9, -13, -13, -11, -9, -8, -5, -1,
    +
    54 3, 4, 8, 10, 11, 10, 10, 7, 5, 1, 0, -5, -8, -11, -11, -12, -10, -9, -7, -4, 1,
    +
    55 2, 6, 7, 8, 10, 10, 9, 4, 3, 0, -1, -5, -7, -9, -13, -11, -11, -9, -9, -4, -1,
    +
    56 3, 6, 6, 7, 7, 9, 10, 7, 3, 0, -2, -4, -6, -11, -11, -12, -9, -9, -6, -4, -1, 2,
    +
    57 7, 7, 8, 9, 8, 9, 6, 2, -1, -5, -4, -7, -11, -11, -12, -8, -8, -7, -2, -1, 3, 5,
    +
    58 7, 8, 10, 7, 6, 4, 3, 0, -4, -5, -8, -10, -11, -9, -9, -8, -5, -2, 1, 3, 5, 7,
    +
    59 7, 10, 9, 5, 4, 3, 0, -3, -6, -7, -9, -10, -9, -10, -7, -6, -2, 1, 2, 5, 6, 9,
    +
    60 8, 8, 5, 4, 3, 2, -3, -6, -10, -9, -11, -9, -10, -7, -4, -4, 1, 3, 6, 8, 9, 6,
    +
    61 6, 5, 5, 2, -1, -4, -6, -7, -8, -10, -10, -9, -6, -4, -2, 0, 3, 6, 8, 7, 5, 4,
    +
    62 5, 3, 2, -1, -4, -6, -7, -9, -9, -9, -7, -5, -3, -2, -1, 1, 5, 6, 5, 6, 7, 4, 3,
    +
    63 1, -1, -3, -5, -7, -8, -9, -8, -8, -6, -3, 0, 0, 3, 4, 6, 6, 7, 5, 5, 2, 0, -2,
    +
    64 -3, -6, -7, -9, -9, -7, -6, -5, -3, -1, 1, 4, 5, 4, 5, 7, 6, 4, 1, -1, -2, -3,
    +
    65 -5, -7, -8, -7, -6, -6, -5, -3, -1, 1, 3, 4, 4, 5, 6, 6, 3, 1, -1, -2, -3, -5,
    +
    66 -8, -7, -7, -8, -7, -5, -2, 0, 1, 2, 4, 5, 6, 6, 4, 3, 1, 1, -1, -4, -6, -7, -6,
    +
    67 -7, -7, -7, -4, -1, 0, 1, 3, 4, 5, 6, 6, 4, 2, 1, 0, -3, -4, -6, -7, -7, -7, -7,
    +
    68 -6, -3, -1, 0, 1, 3, 4, 5, 5, 4, 4, 3, 1, -1, -3, -4, -5, -5, -6, -6, -6, -5,
    +
    69 -3, -1, 0, 1, 2, 5, 5, 5, 4, 3, 2, 1, 0, -3, -4, -5, -6, -5, -6, -5, -4, -3, -1,
    +
    70 0, 1, 3, 3, 4, 4, 3, 3, 3, 0, -2, -3, -4, -5, -5, -5, -6, -5, -4, -3, -1, 0, 1,
    +
    71 3, 4, 3, 3, 3, 3, 2, 0, -1, -3, -4, -4, -6, -6, -5, -4, -4, -3, -1, 0, 1, 2, 3,
    +
    72 4, 4, 3, 3, 1, 0, -2, -3, -4, -4, -5, -5, -5, -5, -3, -2, -1, 0, 2, 2, 3, 3, 3,
    +
    73 3, 3, 2, 0, -1, -3, -3, -5, -4, -5, -5, -4, -4, -2, -1, 0, 2, 2, 3, 4, 4, 2, 1,
    +
    74 1, 0, -1, -3, -4, -5, -5, -4, -4, -4, -3, -2, -1, 1, 1, 2, 3, 4, 3, 2, 2, 1, 0,
    +
    75 -1, -3, -3, -4, -5, -5, -5, -4, -3, -2, 0, 1, 2, 2, 3, 3, 2, 3, 2, 1, 0, -2, -3,
    +
    76 -4, -5, -4, -4, -4, -4, -3, -1, -1, 0, 2, 2, 2, 3, 2, 2, 1, 0, 0, -2, -3, -3,
    +
    77 -4, -5, -5, -4, -3, -3, -2, -1, 0, 2, 2, 3, 3, 2, 2, 2, 0, -1, -2, -2, -3, -4,
    +
    78 -4, -4, -4, -3, -2, -1, -1, 0, 1, 2, 2, 3, 2, 1, 1, 0, 0, -2, -2, -3, -4, -4,
    +
    79 -4, -4, -3, -2, -1, 0, 1, 1, 2, 2, 2, 1, 1, 1, 0, -1, -2, -2, -3, -4, -4, -4,
    +
    80 -3, -2, -2, -1, 0, 1, 1, 2, 1, 3, 2, 1, 0, 0, -1, -2, -2, -3, -3, -4, -4, -3,
    +
    81 -3, -2, -1, 0, 1, 1, 1, 1, 2, 1, 1, 0, 0, -1, -2, -2, -3, -3, -4, -3, -3, -2,
    +
    82 -2, -1, 0, 0, 1, 2, 2, 2, 2, 1, 0, 0, -1, -2, -3, -3, -3, -3, -3, -3, -2, -1,
    +
    83 -1, 0, 0, 1, 1, 1, 2, 1, 1, 0, 0, -1, -2, -3, -3, -3, -3, -3, -3, -2, -2, -1, 0,
    +
    84 1, 1, 1, 1, 1, 1, 1, 0, 0, -2, -2, -3, -3, -3, -3, -3, -2, -2, -2, 0, 0, 1, 1,
    +
    85 1, 1, 1, 1, 1, 0, 0, -2, -2, -2, -3, -3, -3, -3, -3, -2, -1, -1, 0, 0, 1, 1, 2,
    +
    86 1, 1, 0, 0, -1, -1, -1, -2, -2, -2, -2, -2, -2, -1, -1, 0, 0, 0, 1, 1, 1, 1, 0,
    +
    87 0, 0, -1, -1, -2, -2, -2, -2, -2, -2, -2, -1, -1, -1, 0, 0, 1, 1, 1, 1, 1, 0, 0,
    +
    88 0, -1, -1, -2, -2, -2, -2, -2, -1, -1, -1, 0, 0, 0, 0, 0, 1, 0, 0, 0, -1, -1,
    +
    89 -1, -2, -2, -2, -2, -2, -2, -2, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1,
    +
    90 -1, -2, -2, -2, -2, -2, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1,
    +
    91 -2, -2, -2, -2, -2, -1, -1, -1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, -1, -1, -1, -2,
    +
    92 -2, -2, -2, -2, -1, -1, -1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, -1, -1, -2, -2, -2,
    +
    93 -2, -2, -2, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -2, -2, -2, -2, -2,
    +
    94 -2, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    95 -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    96 -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    97 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0,
    +
    98 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0,
    +
    99 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0,
    +
    100 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    101 -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    102 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0,
    +
    103 -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1,
    +
    104 -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1,
    +
    105 -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1,
    +
    106 -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1,
    +
    107 -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    108 -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    109 -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    110 -1, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    111 -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, };
    +
    112 
    +
    113  #endif /* BAMBOO_05_2048_H_ */
    +
    + + + diff --git a/doc/html/bamboo__05__4096__int8_8h_source.html b/doc/html/bamboo__05__4096__int8_8h_source.html index ca8b01e88..2693257d6 100644 --- a/doc/html/bamboo__05__4096__int8_8h_source.html +++ b/doc/html/bamboo__05__4096__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: samples/bamboo/bamboo_05_4096_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,218 +99,220 @@
    -
    samples/bamboo/bamboo_05_4096_int8.h
    +
    bamboo_05_4096_int8.h
    -
    00001 #ifndef BAMBOO_05_4096_H_
    -00002 #define BAMBOO_05_4096_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 #define BAMBOO_05_4096_NUM_CELLS 4096
    -00012 #define BAMBOO_05_4096_SAMPLERATE 16384
    -00013 
    -00014 const char __attribute__((progmem)) BAMBOO_05_4096_DATA []  = {1, 0, 1, -1, 0, 0, 0, 0, 0, 1, 0, 1,
    -00015                 0, 0, 0, 1, 0, 0, -1, 0, -1, 1, 0, -1, 1, -1, 1, -1, 0, 2, 1, -14, -67, -126,
    -00016                 -99, 25, 95, 82, 109, 90, -30, -52, 15, 13, -18, -34, -68, -66, -8, 5, -3, -18,
    -00017                 -38, 34, 103, 44, 11, 47, 17, -7, 21, -33, -56, 32, 38, -34, -67, -71, -69, -6,
    -00018                 60, 17, -16, 5, 7, 8, 10, 44, 74, 42, 15, 5, -26, -37, 5, 13, -49, -52, -9, -23,
    -00019                 -34, -20, -17, 1, 36, 35, 16, 29, 39, 25, 18, 8, 1, 6, 4, -2, -29, -69, -58, -3,
    -00020                 5, -11, -6, -17, -23, 13, 33, 27, 34, 39, 30, 18, 8, 1, 3, 0, -10, -23, -44,
    -00021                 -46, -30, -25, -20, -5, -5, -7, 12, 27, 26, 33, 37, 20, 11, 20, 14, -6, -19,
    -00022                 -22, -22, -21, -24, -27, -24, -23, -19, -6, 6, 19, 28, 24, 22, 22, 17, 17, 26,
    -00023                 17, -3, -12, -23, -35, -31, -21, -15, -16, -21, -22, -12, 2, 20, 29, 25, 26, 29,
    -00024                 23, 17, 11, 0, -3, 0, -7, -23, -29, -24, -24, -25, -20, -16, -4, 15, 24, 18, 14,
    -00025                 21, 29, 32, 27, 15, -4, -16, -19, -22, -18, -17, -23, -26, -20, -8, -3, 1, 10,
    -00026                 14, 17, 21, 22, 13, 7, 19, 19, 5, -1, -8, -16, -19, -22, -24, -28, -22, -9, -8,
    -00027                 -5, 4, 14, 15, 20, 28, 24, 20, 17, 4, -4, -4, -6, -14, -24, -24, -24, -26, -21,
    -00028                 -14, -9, 2, 16, 22, 17, 18, 22, 19, 19, 16, 5, -8, -6, -3, -14, -24, -23, -26,
    -00029                 -21, -9, -9, -10, -1, 7, 12, 21, 23, 19, 19, 18, 12, 6, -1, -6, -9, -16, -19,
    -00030                 -23, -26, -23, -12, -4, 0, 4, 3, 11, 23, 25, 19, 12, 11, 12, 10, 3, -8, -15,
    -00031                 -15, -17, -24, -26, -22, -15, -4, 1, 1, 7, 17, 23, 24, 19, 13, 12, 11, 4, -2,
    -00032                 -9, -14, -17, -20, -22, -20, -17, -12, -7, -3, 5, 15, 20, 19, 17, 18, 15, 15,
    -00033                 11, -2, -7, -6, -13, -21, -24, -23, -17, -10, -9, -11, -5, 8, 17, 17, 15, 16,
    -00034                 16, 15, 15, 9, 0, -2, -5, -13, -21, -19, -19, -20, -16, -13, -8, 4, 10, 9, 12,
    -00035                 17, 19, 17, 16, 14, 10, 5, -4, -13, -19, -17, -14, -17, -22, -17, -11, -6, 3, 9,
    -00036                 9, 12, 18, 20, 16, 14, 14, 9, 5, -2, -13, -19, -17, -17, -17, -19, -18, -14, -4,
    -00037                 6, 8, 9, 15, 21, 22, 16, 14, 11, 7, 2, -7, -15, -16, -15, -16, -23, -22, -14,
    -00038                 -6, -1, 2, 5, 8, 14, 20, 17, 14, 15, 15, 8, -1, -8, -11, -13, -12, -18, -26,
    -00039                 -22, -12, -6, -4, -1, 4, 12, 18, 21, 17, 14, 14, 16, 8, -4, -9, -10, -11, -17,
    -00040                 -22, -24, -17, -8, -5, -4, 2, 6, 12, 16, 20, 18, 14, 13, 9, 3, -1, -4, -8, -13,
    -00041                 -17, -21, -21, -15, -9, -5, -3, 1, 7, 12, 14, 15, 16, 15, 15, 11, 2, -3, -6, -8,
    -00042                 -13, -19, -20, -19, -13, -7, -7, -6, -1, 8, 15, 15, 14, 15, 14, 11, 7, 3, 0, -2,
    -00043                 -6, -14, -20, -19, -16, -12, -8, -7, -5, 2, 6, 9, 12, 17, 16, 13, 10, 5, 4, 2,
    -00044                 -6, -12, -17, -17, -11, -11, -13, -12, -8, -2, 4, 6, 8, 13, 16, 16, 13, 10, 8,
    -00045                 7, 1, -7, -16, -17, -16, -13, -12, -13, -11, -5, 0, 2, 8, 11, 11, 16, 14, 10, 7,
    -00046                 7, 5, -1, -8, -12, -13, -11, -11, -15, -14, -10, -4, 0, 3, 7, 9, 13, 15, 12, 9,
    -00047                 10, 10, 5, -2, -10, -13, -12, -11, -11, -13, -13, -8, -3, -1, 2, 7, 10, 13, 13,
    -00048                 10, 9, 8, 7, 3, -2, -6, -10, -11, -13, -15, -15, -10, -6, -5, -1, 3, 7, 10, 12,
    -00049                 13, 13, 12, 8, 4, -1, -5, -5, -8, -12, -14, -14, -13, -10, -7, -4, 1, 7, 9, 9,
    -00050                 11, 11, 9, 9, 9, 4, 0, -3, -7, -9, -10, -12, -12, -11, -9, -8, -4, -1, 2, 7, 10,
    -00051                 13, 13, 12, 8, 7, 2, 0, -1, -7, -11, -12, -14, -13, -11, -9, -5, -1, 2, 5, 8, 8,
    -00052                 9, 12, 11, 9, 5, 2, 0, -3, -7, -9, -11, -13, -12, -8, -9, -7, -2, 2, 6, 8, 10,
    -00053                 11, 11, 11, 8, 4, 1, -1, -5, -7, -9, -12, -13, -10, -9, -7, -5, 0, 3, 5, 8, 11,
    -00054                 11, 11, 10, 7, 5, 2, 0, -4, -8, -10, -11, -11, -10, -8, -7, -3, 1, 3, 6, 7, 9,
    -00055                 10, 11, 9, 5, 3, 1, -1, -4, -7, -9, -12, -11, -10, -9, -8, -4, 0, 3, 6, 7, 7, 8,
    -00056                 9, 10, 7, 3, 0, -2, -4, -6, -10, -11, -11, -9, -8, -6, -4, -1, 3, 7, 8, 8, 9, 9,
    -00057                 9, 7, 2, -1, -4, -4, -7, -10, -11, -11, -8, -8, -6, -2, 0, 3, 6, 7, 8, 10, 8, 6,
    -00058                 5, 3, 0, -3, -5, -7, -10, -10, -9, -9, -7, -5, -2, 1, 3, 6, 7, 8, 10, 10, 6, 4,
    -00059                 3, 1, -3, -5, -7, -9, -9, -9, -9, -7, -5, -2, 1, 3, 5, 7, 9, 9, 8, 6, 4, 4, 2,
    -00060                 -2, -6, -9, -9, -10, -9, -9, -7, -4, -3, 1, 3, 6, 9, 9, 7, 6, 6, 6, 3, 0, -4,
    -00061                 -6, -7, -8, -10, -10, -9, -6, -4, -2, 1, 4, 7, 9, 8, 6, 5, 6, 4, 3, -1, -4, -6,
    -00062                 -7, -9, -9, -9, -7, -5, -3, -2, 0, 2, 6, 7, 6, 7, 8, 5, 4, 2, -1, -3, -5, -7,
    -00063                 -8, -9, -8, -8, -6, -3, 0, 1, 4, 5, 7, 7, 8, 6, 6, 3, 0, -2, -3, -6, -7, -9, -9,
    -00064                 -7, -6, -5, -3, -1, 2, 5, 6, 5, 6, 8, 7, 5, 2, 0, -2, -3, -5, -7, -8, -7, -6,
    -00065                 -6, -5, -3, 0, 2, 4, 5, 5, 6, 7, 7, 4, 2, 0, -2, -3, -5, -8, -7, -7, -8, -7, -5,
    -00066                 -2, 1, 2, 3, 5, 6, 7, 7, 5, 4, 2, 2, -1, -4, -6, -7, -6, -7, -7, -7, -4, -1, 1,
    -00067                 2, 4, 5, 6, 7, 7, 5, 3, 2, 0, -3, -4, -6, -7, -7, -7, -7, -6, -3, -1, 0, 2, 4,
    -00068                 5, 6, 7, 5, 5, 4, 2, -1, -3, -4, -5, -5, -7, -7, -6, -5, -3, -1, 0, 2, 3, 6, 6,
    -00069                 6, 5, 4, 3, 2, 0, -3, -4, -5, -7, -6, -7, -6, -4, -3, -1, 0, 2, 4, 4, 6, 6, 4,
    -00070                 4, 4, 1, -2, -3, -4, -5, -5, -6, -7, -5, -4, -3, -1, 1, 2, 4, 6, 5, 4, 4, 4, 3,
    -00071                 1, -1, -3, -4, -5, -7, -7, -6, -5, -4, -3, -1, 1, 2, 3, 5, 6, 6, 4, 4, 2, 0, -2,
    -00072                 -3, -4, -5, -6, -6, -6, -6, -3, -2, 0, 1, 3, 3, 4, 4, 5, 4, 4, 3, 1, -1, -3, -4,
    -00073                 -6, -5, -6, -6, -5, -4, -2, -1, 1, 4, 4, 5, 6, 6, 4, 2, 2, 1, -1, -3, -5, -6,
    -00074                 -6, -5, -5, -5, -4, -2, 0, 2, 2, 4, 5, 6, 5, 4, 4, 2, 0, -1, -3, -4, -5, -6, -6,
    -00075                 -7, -5, -4, -2, 1, 2, 3, 4, 5, 5, 4, 5, 4, 2, 0, -2, -3, -5, -6, -5, -5, -5, -5,
    -00076                 -3, -1, 0, 1, 3, 4, 4, 5, 4, 3, 2, 1, 1, -2, -3, -4, -5, -6, -6, -5, -4, -4, -2,
    -00077                 -1, 1, 3, 4, 5, 5, 4, 4, 3, 1, -1, -2, -3, -4, -5, -5, -6, -6, -4, -2, -1, 0, 1,
    -00078                 3, 4, 4, 5, 4, 3, 2, 1, 0, -2, -3, -4, -5, -5, -5, -5, -4, -2, -1, 0, 2, 3, 4,
    -00079                 4, 4, 3, 3, 3, 1, -1, -2, -3, -4, -6, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 3, 5,
    -00080                 4, 3, 1, 1, -1, -2, -3, -4, -4, -6, -5, -4, -4, -3, -1, 0, 2, 3, 3, 3, 4, 3, 3,
    -00081                 1, 1, -1, -2, -3, -4, -4, -6, -5, -4, -3, -2, 0, 0, 1, 3, 4, 4, 4, 4, 3, 1, 0,
    -00082                 -1, -2, -4, -4, -4, -4, -5, -4, -3, -1, 0, 1, 1, 3, 3, 3, 4, 3, 3, 1, 1, -1, -2,
    -00083                 -4, -4, -4, -4, -4, -4, -3, -2, -1, 1, 2, 3, 3, 3, 3, 3, 3, 1, 0, -2, -2, -4,
    -00084                 -4, -4, -5, -4, -3, -2, -2, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 0, -2, -2, -3, -4, -4,
    -00085                 -4, -4, -4, -2, -1, 0, 1, 1, 3, 3, 4, 3, 3, 1, 1, 0, -2, -2, -3, -4, -4, -4, -4,
    -00086                 -4, -2, -2, 1, 1, 2, 3, 3, 3, 3, 2, 2, 0, -1, -1, -3, -4, -4, -4, -4, -4, -3,
    -00087                 -2, 0, -1, 1, 2, 3, 3, 3, 3, 3, 2, 1, 0, -2, -2, -3, -3, -4, -3, -4, -2, -2, -1,
    -00088                 0, 1, 2, 2, 2, 3, 2, 2, 2, 0, -1, -2, -3, -3, -4, -4, -3, -3, -3, -2, -1, 1, 1,
    -00089                 2, 2, 2, 2, 2, 2, 1, 0, -1, -1, -2, -3, -4, -4, -3, -3, -2, -2, -1, 0, 2, 2, 2,
    -00090                 2, 2, 2, 2, 1, 0, -1, -2, -2, -3, -3, -4, -3, -3, -2, -2, -1, 0, 1, 1, 2, 2, 3,
    -00091                 2, 2, 1, 1, -1, -1, -2, -3, -4, -4, -3, -3, -2, -2, -1, 1, 1, 2, 2, 2, 3, 2, 1,
    -00092                 1, 1, -1, -2, -3, -3, -3, -3, -4, -3, -2, -1, 0, 0, 1, 2, 2, 2, 2, 2, 1, 1, 0,
    -00093                 -2, -2, -3, -3, -3, -3, -3, -3, -2, -1, 0, 0, 1, 2, 2, 2, 2, 2, 1, 1, 0, -2, -2,
    -00094                 -2, -3, -3, -3, -3, -3, -2, -2, 0, 0, 1, 2, 2, 2, 2, 2, 1, 0, -1, -1, -2, -3,
    -00095                 -3, -3, -3, -3, -2, -2, -1, 0, 1, 2, 2, 2, 2, 2, 1, 1, 0, -1, -1, -2, -3, -3,
    -00096                 -3, -3, -3, -2, -2, -1, 0, 1, 1, 2, 2, 2, 2, 2, 1, 1, 0, -1, -2, -3, -3, -3, -3,
    -00097                 -3, -2, -1, 0, 0, 1, 1, 2, 2, 2, 2, 2, 1, 0, -1, -1, -2, -3, -3, -3, -3, -3, -2,
    -00098                 -2, -1, 0, 1, 1, 2, 2, 2, 2, 1, 1, 1, 0, -2, -2, -3, -3, -3, -3, -3, -2, -2, -1,
    -00099                 0, 1, 1, 1, 2, 2, 2, 1, 1, 0, -1, -2, -2, -3, -3, -3, -3, -2, -2, -2, -1, 0, 1,
    -00100                 1, 2, 2, 2, 1, 1, 0, 0, -1, -1, -2, -3, -3, -3, -3, -2, -2, -1, -1, 0, 1, 1, 2,
    -00101                 2, 2, 1, 1, 1, 0, -1, -2, -2, -3, -3, -3, -3, -2, -2, -2, 0, 0, 1, 2, 2, 1, 2,
    -00102                 2, 1, 1, -1, 0, -2, -2, -3, -3, -3, -3, -2, -2, -1, 0, 1, 1, 1, 2, 2, 1, 2, 1,
    -00103                 1, 0, -1, -2, -2, -2, -3, -3, -3, -2, -2, -1, -1, 1, 1, 1, 2, 2, 1, 1, 1, 0, 0,
    -00104                 -2, -1, -2, -2, -2, -2, -2, -2, -2, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, -1, -1,
    -00105                 -2, -2, -2, -2, -2, -2, -1, -1, 0, 0, 1, 1, 1, 1, 1, 0, 0, -1, 0, -1, -1, -2,
    -00106                 -2, -2, -2, -2, -1, -1, -1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, -1, -1, -2, -2, -2,
    -00107                 -2, -2, -2, -1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, -1, -1, -2, -2, -2, -2, -2, -2,
    -00108                 -1, -1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, -1, -1, -1, -2, -2, -2, -2, -2, -1, -1,
    -00109                 -1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, -1, -1, -1, -2, -2, -2, -2, -2, -2, -1, 0, 0,
    -00110                 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, -1, -1, -2, -2, -1, -2, -1, -1, 0, 0, 0, 0, 0, 1,
    -00111                 1, 1, 1, 0, 0, 0, 0, -1, -2, -2, -2, -2, -1, -2, -1, -1, 0, 0, 0, 1, 1, 1, 1, 0,
    -00112                 0, 0, 0, -1, -1, -2, -2, -2, -2, -2, -1, -1, -1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0,
    -00113                 0, -1, -1, -2, -2, -2, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, -1,
    -00114                 -1, -2, -2, -2, -1, -2, -1, -1, -1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, -1, -1, -1,
    -00115                 -1, -2, -1, -2, -2, -1, 0, -1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, -1, -1, -1, -1, -1,
    -00116                 -1, -2, -1, -1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1,
    -00117                 -1, -1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, -1, -1, -1, -1, -2, -1, -2, -1, -2, -1,
    -00118                 -1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, -1, -1, -1, -1, -2, -2, -1, -1, 0, -1, 0,
    -00119                 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -2, -1, -1, -1, -1, -1, 0, 0,
    -00120                 0, 0, 1, 1, 1, 0, 0, 0, -1, -1, -1, -1, -1, -1, -2, -1, -1, 0, -1, 0, 0, 1, 0,
    -00121                 1, 0, 0, 0, 0, 0, -1, -1, -1, -1, -2, -2, -2, -1, -1, -1, 0, 0, 0, 0, 0, 1, 0,
    -00122                 0, 0, 0, 0, -1, -1, -1, -1, -2, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 1, 0, 0, 0,
    -00123                 0, 0, -1, -1, -1, -2, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00124                 -1, -1, -1, -1, -1, -2, -1, -1, -1, -1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, -1, -1,
    -00125                 -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1,
    -00126                 -2, -1, -2, -1, -1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1,
    -00127                 -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -2, -1, -1, -1, -1,
    -00128                 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00129                 0, 0, 0, 0, 0, 1, 0, 0, 0, -1, -1, -1, -1, -1, -2, -1, -1, -1, -1, -1, 0, 0, 0,
    -00130                 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0,
    -00131                 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -2, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0,
    -00132                 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00133                 -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0,
    -00134                 -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1,
    -00135                 -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1,
    -00136                 -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1,
    -00137                 -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00138                 -1, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0,
    -00139                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0,
    -00140                 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00141                 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00142                 -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1,
    -00143                 -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1,
    -00144                 -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, -1, 0, 0, 0, -1, 0, 0, -1, -1, -1, -1,
    -00145                 -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1,
    -00146                 -1, -1, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, 0, -1, -1,
    -00147                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0,
    -00148                 -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, 0, 0, -1,
    -00149                 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0,
    -00150                 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, -1,
    -00151                 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1,
    -00152                 0, -1, 0, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1,
    -00153                 -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1,
    -00154                 -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1,
    -00155                 -1, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, 0, -1, 0,
    -00156                 -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0,
    -00157                 -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, 0, -1, -1, -1, 0, -1, 0, -1,
    -00158                 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, 0, -1, 0, -1, 0, -1, -1, 0, -1, 0, -1, 0, -1,
    -00159                 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, -1, 0,
    -00160                 0, 0, 0, 0, -1, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0,
    -00161                 -1, 0, 0, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, -1,
    -00162                 -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, -1, 0, -1,
    -00163                 0, -1, -1, -1, 0, 0, -1, -1, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, 0, 0, -1, -1, -1,
    -00164                 -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, 0, 0, -1, -1, -1,
    -00165                 -1, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1,
    -00166                 0, -1, -1, -1, 0, -1, 0, -1, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0,
    -00167                 -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1,
    -00168                 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0,
    -00169                 -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0,
    -00170                 0, 0, -1, 0, -1, 0, 0, 0, 0, -1, -1, -1, 0, -1, -1, 0, -1, 0, -1, -1, 0, 0, 0,
    -00171                 0, -1, 0, -1, 0, 0, -1, 0, 0, -1, -1, 0, -1, -1, 0, -1, 0, 0, 0, 0, -1, 0, -1,
    -00172                 0, 0, 0, -1, 0, -1, -1, -1, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, -1,
    -00173                 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, -1,
    -00174                 -1, -1, -1, -1, -1, 0, -1, 0, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, -1, 0,
    -00175                 -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, -1, 0, -1, -1, -1, -1,
    -00176                 -1, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, 0, -1, 0, 0, -1, -1, -1,
    -00177                 -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, 0, -1, -1, -1,
    -00178                 -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0,
    -00179                 0, -1, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, 0, -1, 0, -1,
    -00180                 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1,
    -00181                 0, 0, 0, 0, 0, -1, 0, 0, -1, -1, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0,
    -00182                 0, 0, 0, 0, -1, -1, -1, 0, -1, -1, 0, -1, -1, -1, -1, -1, 0, 0, 0, 0, -1, 0, -1,
    -00183                 0, -1, 0, 0, -1, 0, -1, 0, -1, -1, 0, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, -1,
    -00184                 -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, -1, 0, -1, 0,
    -00185                 -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, -1, 0, -1,
    -00186                 -1, -1, 0, -1, 0, -1, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0,
    -00187                 0, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1, -1, 0, -1, 0, -1, -1, 0, -1, 0, -1, 0, 0,
    -00188                 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0,
    -00189                 -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1,
    -00190                 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, 0, 0,
    -00191                 0, 0, -1, 0, -1, -1, 0, -1, 0, -1, 0, -1, 0, -1, -1, 0, -1, 0, -1, 0, 0, 0, -1,
    -00192                 0, -1, 0, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1,
    -00193                 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1,
    -00194                 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1,
    -00195                 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0,
    -00196                 0, 0, 0, -1, 0, -1, 0, -1, -1, 0, -1, 0, -1, 0, 0, -1, 0, 0, 0, -1, 0, -1, 0, 0,
    -00197                 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0,
    -00198                 -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, -1, 0, -1, 0, -1,
    -00199                 0, -1, 0, -1, 0, 0,};
    -00200 
    -00201 #endif /* BAMBOO_05_4096_H_ */
    -
    - - - - +
    1 #ifndef BAMBOO_05_4096_H_
    +
    2 #define BAMBOO_05_4096_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 #define BAMBOO_05_4096_NUM_CELLS 4096
    +
    12 #define BAMBOO_05_4096_SAMPLERATE 16384
    +
    13 
    +
    14 const char __attribute__((progmem)) BAMBOO_05_4096_DATA [] = {1, 0, 1, -1, 0, 0, 0, 0, 0, 1, 0, 1,
    +
    15  0, 0, 0, 1, 0, 0, -1, 0, -1, 1, 0, -1, 1, -1, 1, -1, 0, 2, 1, -14, -67, -126,
    +
    16  -99, 25, 95, 82, 109, 90, -30, -52, 15, 13, -18, -34, -68, -66, -8, 5, -3, -18,
    +
    17  -38, 34, 103, 44, 11, 47, 17, -7, 21, -33, -56, 32, 38, -34, -67, -71, -69, -6,
    +
    18  60, 17, -16, 5, 7, 8, 10, 44, 74, 42, 15, 5, -26, -37, 5, 13, -49, -52, -9, -23,
    +
    19  -34, -20, -17, 1, 36, 35, 16, 29, 39, 25, 18, 8, 1, 6, 4, -2, -29, -69, -58, -3,
    +
    20  5, -11, -6, -17, -23, 13, 33, 27, 34, 39, 30, 18, 8, 1, 3, 0, -10, -23, -44,
    +
    21  -46, -30, -25, -20, -5, -5, -7, 12, 27, 26, 33, 37, 20, 11, 20, 14, -6, -19,
    +
    22  -22, -22, -21, -24, -27, -24, -23, -19, -6, 6, 19, 28, 24, 22, 22, 17, 17, 26,
    +
    23  17, -3, -12, -23, -35, -31, -21, -15, -16, -21, -22, -12, 2, 20, 29, 25, 26, 29,
    +
    24  23, 17, 11, 0, -3, 0, -7, -23, -29, -24, -24, -25, -20, -16, -4, 15, 24, 18, 14,
    +
    25  21, 29, 32, 27, 15, -4, -16, -19, -22, -18, -17, -23, -26, -20, -8, -3, 1, 10,
    +
    26  14, 17, 21, 22, 13, 7, 19, 19, 5, -1, -8, -16, -19, -22, -24, -28, -22, -9, -8,
    +
    27  -5, 4, 14, 15, 20, 28, 24, 20, 17, 4, -4, -4, -6, -14, -24, -24, -24, -26, -21,
    +
    28  -14, -9, 2, 16, 22, 17, 18, 22, 19, 19, 16, 5, -8, -6, -3, -14, -24, -23, -26,
    +
    29  -21, -9, -9, -10, -1, 7, 12, 21, 23, 19, 19, 18, 12, 6, -1, -6, -9, -16, -19,
    +
    30  -23, -26, -23, -12, -4, 0, 4, 3, 11, 23, 25, 19, 12, 11, 12, 10, 3, -8, -15,
    +
    31  -15, -17, -24, -26, -22, -15, -4, 1, 1, 7, 17, 23, 24, 19, 13, 12, 11, 4, -2,
    +
    32  -9, -14, -17, -20, -22, -20, -17, -12, -7, -3, 5, 15, 20, 19, 17, 18, 15, 15,
    +
    33  11, -2, -7, -6, -13, -21, -24, -23, -17, -10, -9, -11, -5, 8, 17, 17, 15, 16,
    +
    34  16, 15, 15, 9, 0, -2, -5, -13, -21, -19, -19, -20, -16, -13, -8, 4, 10, 9, 12,
    +
    35  17, 19, 17, 16, 14, 10, 5, -4, -13, -19, -17, -14, -17, -22, -17, -11, -6, 3, 9,
    +
    36  9, 12, 18, 20, 16, 14, 14, 9, 5, -2, -13, -19, -17, -17, -17, -19, -18, -14, -4,
    +
    37  6, 8, 9, 15, 21, 22, 16, 14, 11, 7, 2, -7, -15, -16, -15, -16, -23, -22, -14,
    +
    38  -6, -1, 2, 5, 8, 14, 20, 17, 14, 15, 15, 8, -1, -8, -11, -13, -12, -18, -26,
    +
    39  -22, -12, -6, -4, -1, 4, 12, 18, 21, 17, 14, 14, 16, 8, -4, -9, -10, -11, -17,
    +
    40  -22, -24, -17, -8, -5, -4, 2, 6, 12, 16, 20, 18, 14, 13, 9, 3, -1, -4, -8, -13,
    +
    41  -17, -21, -21, -15, -9, -5, -3, 1, 7, 12, 14, 15, 16, 15, 15, 11, 2, -3, -6, -8,
    +
    42  -13, -19, -20, -19, -13, -7, -7, -6, -1, 8, 15, 15, 14, 15, 14, 11, 7, 3, 0, -2,
    +
    43  -6, -14, -20, -19, -16, -12, -8, -7, -5, 2, 6, 9, 12, 17, 16, 13, 10, 5, 4, 2,
    +
    44  -6, -12, -17, -17, -11, -11, -13, -12, -8, -2, 4, 6, 8, 13, 16, 16, 13, 10, 8,
    +
    45  7, 1, -7, -16, -17, -16, -13, -12, -13, -11, -5, 0, 2, 8, 11, 11, 16, 14, 10, 7,
    +
    46  7, 5, -1, -8, -12, -13, -11, -11, -15, -14, -10, -4, 0, 3, 7, 9, 13, 15, 12, 9,
    +
    47  10, 10, 5, -2, -10, -13, -12, -11, -11, -13, -13, -8, -3, -1, 2, 7, 10, 13, 13,
    +
    48  10, 9, 8, 7, 3, -2, -6, -10, -11, -13, -15, -15, -10, -6, -5, -1, 3, 7, 10, 12,
    +
    49  13, 13, 12, 8, 4, -1, -5, -5, -8, -12, -14, -14, -13, -10, -7, -4, 1, 7, 9, 9,
    +
    50  11, 11, 9, 9, 9, 4, 0, -3, -7, -9, -10, -12, -12, -11, -9, -8, -4, -1, 2, 7, 10,
    +
    51  13, 13, 12, 8, 7, 2, 0, -1, -7, -11, -12, -14, -13, -11, -9, -5, -1, 2, 5, 8, 8,
    +
    52  9, 12, 11, 9, 5, 2, 0, -3, -7, -9, -11, -13, -12, -8, -9, -7, -2, 2, 6, 8, 10,
    +
    53  11, 11, 11, 8, 4, 1, -1, -5, -7, -9, -12, -13, -10, -9, -7, -5, 0, 3, 5, 8, 11,
    +
    54  11, 11, 10, 7, 5, 2, 0, -4, -8, -10, -11, -11, -10, -8, -7, -3, 1, 3, 6, 7, 9,
    +
    55  10, 11, 9, 5, 3, 1, -1, -4, -7, -9, -12, -11, -10, -9, -8, -4, 0, 3, 6, 7, 7, 8,
    +
    56  9, 10, 7, 3, 0, -2, -4, -6, -10, -11, -11, -9, -8, -6, -4, -1, 3, 7, 8, 8, 9, 9,
    +
    57  9, 7, 2, -1, -4, -4, -7, -10, -11, -11, -8, -8, -6, -2, 0, 3, 6, 7, 8, 10, 8, 6,
    +
    58  5, 3, 0, -3, -5, -7, -10, -10, -9, -9, -7, -5, -2, 1, 3, 6, 7, 8, 10, 10, 6, 4,
    +
    59  3, 1, -3, -5, -7, -9, -9, -9, -9, -7, -5, -2, 1, 3, 5, 7, 9, 9, 8, 6, 4, 4, 2,
    +
    60  -2, -6, -9, -9, -10, -9, -9, -7, -4, -3, 1, 3, 6, 9, 9, 7, 6, 6, 6, 3, 0, -4,
    +
    61  -6, -7, -8, -10, -10, -9, -6, -4, -2, 1, 4, 7, 9, 8, 6, 5, 6, 4, 3, -1, -4, -6,
    +
    62  -7, -9, -9, -9, -7, -5, -3, -2, 0, 2, 6, 7, 6, 7, 8, 5, 4, 2, -1, -3, -5, -7,
    +
    63  -8, -9, -8, -8, -6, -3, 0, 1, 4, 5, 7, 7, 8, 6, 6, 3, 0, -2, -3, -6, -7, -9, -9,
    +
    64  -7, -6, -5, -3, -1, 2, 5, 6, 5, 6, 8, 7, 5, 2, 0, -2, -3, -5, -7, -8, -7, -6,
    +
    65  -6, -5, -3, 0, 2, 4, 5, 5, 6, 7, 7, 4, 2, 0, -2, -3, -5, -8, -7, -7, -8, -7, -5,
    +
    66  -2, 1, 2, 3, 5, 6, 7, 7, 5, 4, 2, 2, -1, -4, -6, -7, -6, -7, -7, -7, -4, -1, 1,
    +
    67  2, 4, 5, 6, 7, 7, 5, 3, 2, 0, -3, -4, -6, -7, -7, -7, -7, -6, -3, -1, 0, 2, 4,
    +
    68  5, 6, 7, 5, 5, 4, 2, -1, -3, -4, -5, -5, -7, -7, -6, -5, -3, -1, 0, 2, 3, 6, 6,
    +
    69  6, 5, 4, 3, 2, 0, -3, -4, -5, -7, -6, -7, -6, -4, -3, -1, 0, 2, 4, 4, 6, 6, 4,
    +
    70  4, 4, 1, -2, -3, -4, -5, -5, -6, -7, -5, -4, -3, -1, 1, 2, 4, 6, 5, 4, 4, 4, 3,
    +
    71  1, -1, -3, -4, -5, -7, -7, -6, -5, -4, -3, -1, 1, 2, 3, 5, 6, 6, 4, 4, 2, 0, -2,
    +
    72  -3, -4, -5, -6, -6, -6, -6, -3, -2, 0, 1, 3, 3, 4, 4, 5, 4, 4, 3, 1, -1, -3, -4,
    +
    73  -6, -5, -6, -6, -5, -4, -2, -1, 1, 4, 4, 5, 6, 6, 4, 2, 2, 1, -1, -3, -5, -6,
    +
    74  -6, -5, -5, -5, -4, -2, 0, 2, 2, 4, 5, 6, 5, 4, 4, 2, 0, -1, -3, -4, -5, -6, -6,
    +
    75  -7, -5, -4, -2, 1, 2, 3, 4, 5, 5, 4, 5, 4, 2, 0, -2, -3, -5, -6, -5, -5, -5, -5,
    +
    76  -3, -1, 0, 1, 3, 4, 4, 5, 4, 3, 2, 1, 1, -2, -3, -4, -5, -6, -6, -5, -4, -4, -2,
    +
    77  -1, 1, 3, 4, 5, 5, 4, 4, 3, 1, -1, -2, -3, -4, -5, -5, -6, -6, -4, -2, -1, 0, 1,
    +
    78  3, 4, 4, 5, 4, 3, 2, 1, 0, -2, -3, -4, -5, -5, -5, -5, -4, -2, -1, 0, 2, 3, 4,
    +
    79  4, 4, 3, 3, 3, 1, -1, -2, -3, -4, -6, -6, -5, -4, -3, -2, -1, 1, 2, 3, 4, 3, 5,
    +
    80  4, 3, 1, 1, -1, -2, -3, -4, -4, -6, -5, -4, -4, -3, -1, 0, 2, 3, 3, 3, 4, 3, 3,
    +
    81  1, 1, -1, -2, -3, -4, -4, -6, -5, -4, -3, -2, 0, 0, 1, 3, 4, 4, 4, 4, 3, 1, 0,
    +
    82  -1, -2, -4, -4, -4, -4, -5, -4, -3, -1, 0, 1, 1, 3, 3, 3, 4, 3, 3, 1, 1, -1, -2,
    +
    83  -4, -4, -4, -4, -4, -4, -3, -2, -1, 1, 2, 3, 3, 3, 3, 3, 3, 1, 0, -2, -2, -4,
    +
    84  -4, -4, -5, -4, -3, -2, -2, 0, 1, 2, 3, 3, 3, 3, 3, 2, 1, 0, -2, -2, -3, -4, -4,
    +
    85  -4, -4, -4, -2, -1, 0, 1, 1, 3, 3, 4, 3, 3, 1, 1, 0, -2, -2, -3, -4, -4, -4, -4,
    +
    86  -4, -2, -2, 1, 1, 2, 3, 3, 3, 3, 2, 2, 0, -1, -1, -3, -4, -4, -4, -4, -4, -3,
    +
    87  -2, 0, -1, 1, 2, 3, 3, 3, 3, 3, 2, 1, 0, -2, -2, -3, -3, -4, -3, -4, -2, -2, -1,
    +
    88  0, 1, 2, 2, 2, 3, 2, 2, 2, 0, -1, -2, -3, -3, -4, -4, -3, -3, -3, -2, -1, 1, 1,
    +
    89  2, 2, 2, 2, 2, 2, 1, 0, -1, -1, -2, -3, -4, -4, -3, -3, -2, -2, -1, 0, 2, 2, 2,
    +
    90  2, 2, 2, 2, 1, 0, -1, -2, -2, -3, -3, -4, -3, -3, -2, -2, -1, 0, 1, 1, 2, 2, 3,
    +
    91  2, 2, 1, 1, -1, -1, -2, -3, -4, -4, -3, -3, -2, -2, -1, 1, 1, 2, 2, 2, 3, 2, 1,
    +
    92  1, 1, -1, -2, -3, -3, -3, -3, -4, -3, -2, -1, 0, 0, 1, 2, 2, 2, 2, 2, 1, 1, 0,
    +
    93  -2, -2, -3, -3, -3, -3, -3, -3, -2, -1, 0, 0, 1, 2, 2, 2, 2, 2, 1, 1, 0, -2, -2,
    +
    94  -2, -3, -3, -3, -3, -3, -2, -2, 0, 0, 1, 2, 2, 2, 2, 2, 1, 0, -1, -1, -2, -3,
    +
    95  -3, -3, -3, -3, -2, -2, -1, 0, 1, 2, 2, 2, 2, 2, 1, 1, 0, -1, -1, -2, -3, -3,
    +
    96  -3, -3, -3, -2, -2, -1, 0, 1, 1, 2, 2, 2, 2, 2, 1, 1, 0, -1, -2, -3, -3, -3, -3,
    +
    97  -3, -2, -1, 0, 0, 1, 1, 2, 2, 2, 2, 2, 1, 0, -1, -1, -2, -3, -3, -3, -3, -3, -2,
    +
    98  -2, -1, 0, 1, 1, 2, 2, 2, 2, 1, 1, 1, 0, -2, -2, -3, -3, -3, -3, -3, -2, -2, -1,
    +
    99  0, 1, 1, 1, 2, 2, 2, 1, 1, 0, -1, -2, -2, -3, -3, -3, -3, -2, -2, -2, -1, 0, 1,
    +
    100  1, 2, 2, 2, 1, 1, 0, 0, -1, -1, -2, -3, -3, -3, -3, -2, -2, -1, -1, 0, 1, 1, 2,
    +
    101  2, 2, 1, 1, 1, 0, -1, -2, -2, -3, -3, -3, -3, -2, -2, -2, 0, 0, 1, 2, 2, 1, 2,
    +
    102  2, 1, 1, -1, 0, -2, -2, -3, -3, -3, -3, -2, -2, -1, 0, 1, 1, 1, 2, 2, 1, 2, 1,
    +
    103  1, 0, -1, -2, -2, -2, -3, -3, -3, -2, -2, -1, -1, 1, 1, 1, 2, 2, 1, 1, 1, 0, 0,
    +
    104  -2, -1, -2, -2, -2, -2, -2, -2, -2, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, -1, -1,
    +
    105  -2, -2, -2, -2, -2, -2, -1, -1, 0, 0, 1, 1, 1, 1, 1, 0, 0, -1, 0, -1, -1, -2,
    +
    106  -2, -2, -2, -2, -1, -1, -1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, -1, -1, -2, -2, -2,
    +
    107  -2, -2, -2, -1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, -1, -1, -2, -2, -2, -2, -2, -2,
    +
    108  -1, -1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, -1, -1, -1, -2, -2, -2, -2, -2, -1, -1,
    +
    109  -1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, -1, -1, -1, -2, -2, -2, -2, -2, -2, -1, 0, 0,
    +
    110  0, 0, 1, 1, 1, 0, 1, 0, 0, 0, -1, -1, -2, -2, -1, -2, -1, -1, 0, 0, 0, 0, 0, 1,
    +
    111  1, 1, 1, 0, 0, 0, 0, -1, -2, -2, -2, -2, -1, -2, -1, -1, 0, 0, 0, 1, 1, 1, 1, 0,
    +
    112  0, 0, 0, -1, -1, -2, -2, -2, -2, -2, -1, -1, -1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0,
    +
    113  0, -1, -1, -2, -2, -2, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, -1,
    +
    114  -1, -2, -2, -2, -1, -2, -1, -1, -1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, -1, -1, -1,
    +
    115  -1, -2, -1, -2, -2, -1, 0, -1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, -1, -1, -1, -1, -1,
    +
    116  -1, -2, -1, -1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1,
    +
    117  -1, -1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, -1, -1, -1, -1, -2, -1, -2, -1, -2, -1,
    +
    118  -1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, -1, -1, -1, -1, -2, -2, -1, -1, 0, -1, 0,
    +
    119  0, 0, 0, 0, 1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -2, -1, -1, -1, -1, -1, 0, 0,
    +
    120  0, 0, 1, 1, 1, 0, 0, 0, -1, -1, -1, -1, -1, -1, -2, -1, -1, 0, -1, 0, 0, 1, 0,
    +
    121  1, 0, 0, 0, 0, 0, -1, -1, -1, -1, -2, -2, -2, -1, -1, -1, 0, 0, 0, 0, 0, 1, 0,
    +
    122  0, 0, 0, 0, -1, -1, -1, -1, -2, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 1, 0, 0, 0,
    +
    123  0, 0, -1, -1, -1, -2, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    124  -1, -1, -1, -1, -1, -2, -1, -1, -1, -1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, -1, -1,
    +
    125  -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1,
    +
    126  -2, -1, -2, -1, -1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1,
    +
    127  -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -2, -1, -1, -1, -1,
    +
    128  0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    129  0, 0, 0, 0, 0, 1, 0, 0, 0, -1, -1, -1, -1, -1, -2, -1, -1, -1, -1, -1, 0, 0, 0,
    +
    130  0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0,
    +
    131  0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -2, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    132  0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    133  -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0,
    +
    134  -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1,
    +
    135  -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1,
    +
    136  -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    137  -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    138  -1, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0,
    +
    139  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0,
    +
    140  0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    141  0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    142  -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1,
    +
    143  -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1,
    +
    144  -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, -1, 0, 0, 0, -1, 0, 0, -1, -1, -1, -1,
    +
    145  -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1,
    +
    146  -1, -1, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, 0, -1, -1,
    +
    147  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0,
    +
    148  -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, 0, 0, -1,
    +
    149  0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0,
    +
    150  0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, -1,
    +
    151  0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1,
    +
    152  0, -1, 0, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1,
    +
    153  -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1,
    +
    154  -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1,
    +
    155  -1, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, 0, -1, 0,
    +
    156  -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0,
    +
    157  -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, 0, -1, -1, -1, 0, -1, 0, -1,
    +
    158  0, 0, 0, 0, 0, 0, 0, -1, -1, -1, 0, -1, 0, -1, 0, -1, -1, 0, -1, 0, -1, 0, -1,
    +
    159  0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, -1, 0,
    +
    160  0, 0, 0, 0, -1, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    161  -1, 0, 0, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, -1,
    +
    162  -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, -1, 0, -1,
    +
    163  0, -1, -1, -1, 0, 0, -1, -1, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, 0, 0, -1, -1, -1,
    +
    164  -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, 0, 0, -1, -1, -1,
    +
    165  -1, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    166  0, -1, -1, -1, 0, -1, 0, -1, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0,
    +
    167  -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1,
    +
    168  0, -1, 0, -1, 0, 0, -1, 0, -1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0,
    +
    169  -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0,
    +
    170  0, 0, -1, 0, -1, 0, 0, 0, 0, -1, -1, -1, 0, -1, -1, 0, -1, 0, -1, -1, 0, 0, 0,
    +
    171  0, -1, 0, -1, 0, 0, -1, 0, 0, -1, -1, 0, -1, -1, 0, -1, 0, 0, 0, 0, -1, 0, -1,
    +
    172  0, 0, 0, -1, 0, -1, -1, -1, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, -1,
    +
    173  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, -1,
    +
    174  -1, -1, -1, -1, -1, 0, -1, 0, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, -1, 0,
    +
    175  -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, -1, 0, -1, -1, -1, -1,
    +
    176  -1, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, 0, -1, 0, 0, -1, -1, -1,
    +
    177  -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, 0, -1, -1, -1,
    +
    178  -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0,
    +
    179  0, -1, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, 0, -1, 0, -1,
    +
    180  0, -1, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1,
    +
    181  0, 0, 0, 0, 0, -1, 0, 0, -1, -1, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0,
    +
    182  0, 0, 0, 0, -1, -1, -1, 0, -1, -1, 0, -1, -1, -1, -1, -1, 0, 0, 0, 0, -1, 0, -1,
    +
    183  0, -1, 0, 0, -1, 0, -1, 0, -1, -1, 0, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, -1,
    +
    184  -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, -1, 0, -1, 0,
    +
    185  -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, -1, 0, -1,
    +
    186  -1, -1, 0, -1, 0, -1, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0,
    +
    187  0, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1, -1, 0, -1, 0, -1, -1, 0, -1, 0, -1, 0, 0,
    +
    188  0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0,
    +
    189  -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1,
    +
    190  0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, 0, 0,
    +
    191  0, 0, -1, 0, -1, -1, 0, -1, 0, -1, 0, -1, 0, -1, -1, 0, -1, 0, -1, 0, 0, 0, -1,
    +
    192  0, -1, 0, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1,
    +
    193  0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1,
    +
    194  0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1,
    +
    195  0, -1, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    196  0, 0, 0, -1, 0, -1, 0, -1, -1, 0, -1, 0, -1, 0, 0, -1, 0, 0, 0, -1, 0, -1, 0, 0,
    +
    197  0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0,
    +
    198  -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, -1, 0, -1, 0, -1,
    +
    199  0, -1, 0, -1, 0, 0,};
    +
    200 
    +
    201 #endif /* BAMBOO_05_4096_H_ */
    +
    + + + diff --git a/doc/html/bamboo__06__2048__int8_8h_source.html b/doc/html/bamboo__06__2048__int8_8h_source.html index 51da68e0a..1c70082b9 100644 --- a/doc/html/bamboo__06__2048__int8_8h_source.html +++ b/doc/html/bamboo__06__2048__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: samples/bamboo/bamboo_06_2048_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,128 +99,130 @@
    -
    samples/bamboo/bamboo_06_2048_int8.h
    +
    bamboo_06_2048_int8.h
    -
    00001 #ifndef BAMBOO_06_2048_H_
    -00002 #define BAMBOO_06_2048_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 #define BAMBOO_06_2048_NUM_CELLS 2048
    -00012 #define BAMBOO_06_2048_SAMPLERATE 16384
    -00013 
    -00014 const char __attribute__((progmem)) BAMBOO_06_2048_DATA []  = {0, 0, 1, -1, 1, -1, 1, -1, 0, 0, 0,
    -00015                 1, -1, 0, 0, -1, 1, -1, 0, 0, 0, 0, 1, -8, -46, -104, -119, -32, 81, 125, 113,
    -00016                 65, -21, -48, 4, 9, -34, -45, -36, -28, -15, -34, -31, 15, 59, 86, 71, 34, 2,
    -00017                 -16, -7, 2, 11, 12, -42, -114, -97, -14, 28, 35, 16, -25, -10, 41, 61, 58, 31,
    -00018                 4, 4, 5, -7, -21, -30, -38, -35, -19, -25, -36, -11, 10, 16, 39, 52, 33, 10, 4,
    -00019                 23, 46, 33, -18, -65, -69, -37, -4, -2, -32, -44, -21, 9, 31, 49, 51, 35, 23,
    -00020                 21, 22, 21, 0, -31, -45, -45, -34, -24, -30, -29, -10, 12, 25, 27, 21, 21, 31,
    -00021                 48, 39, 3, -24, -31, -24, -13, -21, -40, -45, -41, -24, 3, 27, 34, 25, 11, 18,
    -00022                 40, 50, 35, 3, -19, -27, -27, -27, -34, -36, -26, -18, -13, -6, 4, 20, 39, 44,
    -00023                 37, 23, 11, 2, 4, 2, -5, -20, -41, -50, -41, -17, 3, 7, 3, 0, 10, 31, 43, 41,
    -00024                 30, 16, 7, -4, -14, -20, -20, -23, -28, -33, -35, -25, -11, 6, 25, 37, 36, 30,
    -00025                 22, 19, 24, 19, -2, -28, -40, -42, -37, -27, -16, -9, -4, 0, 8, 22, 30, 32, 29,
    -00026                 22, 16, 8, -4, -16, -17, -17, -24, -27, -28, -26, -17, -4, 8, 20, 18, 15, 24,
    -00027                 30, 28, 20, 7, -10, -20, -25, -30, -29, -23, -22, -20, -11, 0, 10, 19, 21, 24,
    -00028                 30, 30, 19, 8, 3, -6, -16, -23, -27, -27, -26, -25, -18, -6, 8, 18, 22, 26, 32,
    -00029                 27, 15, 11, 12, -1, -17, -24, -26, -26, -26, -24, -15, -4, 3, 6, 14, 24, 30, 27,
    -00030                 19, 16, 12, 0, -12, -13, -16, -24, -29, -24, -18, -11, -3, 4, 14, 26, 26, 20,
    -00031                 17, 17, 13, 4, -6, -10, -13, -22, -28, -24, -16, -11, -7, -2, 7, 18, 20, 18, 19,
    -00032                 20, 13, 4, -2, -5, -10, -19, -23, -21, -17, -18, -15, -2, 10, 13, 14, 16, 20,
    -00033                 21, 14, 4, 1, -1, -10, -18, -21, -18, -15, -17, -15, -6, 3, 9, 11, 16, 18, 18,
    -00034                 15, 10, 6, 0, -6, -13, -16, -17, -17, -17, -16, -6, 1, 4, 8, 17, 20, 15, 13, 13,
    -00035                 9, 2, -5, -9, -11, -16, -19, -19, -15, -9, -3, 0, 5, 13, 20, 16, 15, 18, 13, -1,
    -00036                 -9, -13, -13, -13, -17, -16, -13, -8, -2, 2, 6, 13, 15, 11, 11, 13, 12, 4, -1,
    -00037                 -4, -8, -14, -17, -16, -14, -9, -5, -1, 3, 5, 8, 13, 14, 14, 11, 2, -2, -2, -5,
    -00038                 -12, -14, -12, -11, -12, -10, -3, 3, 9, 11, 12, 12, 12, 10, 6, 2, 1, -5, -12,
    -00039                 -16, -14, -11, -8, -8, -4, 0, 3, 8, 13, 13, 12, 9, 6, 3, -1, -3, -8, -13, -12,
    -00040                 -10, -10, -8, -7, -1, 3, 7, 9, 9, 9, 10, 9, 6, 1, -2, -5, -11, -13, -12, -11,
    -00041                 -10, -7, -3, 1, 5, 8, 10, 10, 10, 10, 9, 3, -1, -5, -9, -10, -9, -10, -12, -10,
    -00042                 -5, -1, 0, 5, 11, 12, 11, 9, 8, 5, 2, -3, -6, -9, -10, -12, -13, -10, -5, -2,
    -00043                 -1, 5, 9, 9, 8, 11, 11, 7, 1, -3, -5, -7, -10, -12, -13, -13, -9, -4, -1, 3, 8,
    -00044                 10, 9, 10, 10, 7, 4, 0, -3, -7, -9, -11, -11, -9, -7, -5, -3, 0, 5, 6, 7, 10,
    -00045                 12, 9, 5, 3, 0, -3, -8, -10, -13, -12, -12, -9, -3, 2, 4, 4, 7, 10, 11, 10, 7,
    -00046                 6, 2, -3, -8, -9, -10, -10, -11, -10, -5, -2, 2, 4, 7, 10, 11, 9, 8, 6, 3, -1,
    -00047                 -5, -7, -10, -12, -11, -8, -5, -4, -3, 2, 5, 8, 11, 11, 10, 8, 4, -1, -2, -5,
    -00048                 -8, -11, -11, -10, -8, -7, -3, 2, 6, 8, 9, 8, 9, 8, 6, 2, -1, -5, -7, -10, -10,
    -00049                 -8, -9, -8, -5, 0, 3, 6, 9, 10, 8, 7, 6, 4, 2, -2, -5, -9, -9, -8, -9, -8, -6,
    -00050                 -2, 1, 2, 5, 7, 9, 8, 7, 5, 3, -1, -4, -6, -8, -8, -10, -10, -9, -5, -1, 2, 5,
    -00051                 7, 8, 8, 9, 7, 4, 1, -3, -7, -8, -8, -10, -8, -8, -6, -3, 0, 3, 6, 8, 8, 8, 7,
    -00052                 4, 1, -1, -3, -5, -7, -9, -10, -8, -6, -4, -1, 1, 5, 6, 7, 8, 8, 8, 4, 0, -2,
    -00053                 -4, -7, -9, -9, -7, -7, -6, -4, 1, 4, 6, 6, 8, 8, 7, 4, 1, 1, -2, -5, -7, -9,
    -00054                 -7, -7, -7, -4, -1, 2, 4, 5, 7, 8, 7, 5, 3, 2, -1, -5, -7, -7, -7, -8, -7, -5,
    -00055                 -2, 0, 2, 4, 6, 7, 6, 6, 5, 2, -1, -3, -5, -7, -7, -8, -8, -6, -4, -2, 1, 3, 5,
    -00056                 5, 5, 6, 5, 4, 0, -1, -3, -6, -8, -8, -6, -6, -5, -3, 0, 3, 4, 5, 6, 7, 6, 4, 1,
    -00057                 0, -1, -3, -6, -7, -7, -6, -6, -3, 0, 1, 2, 4, 5, 6, 6, 4, 3, 2, 0, -4, -6, -6,
    -00058                 -6, -7, -6, -5, -2, 0, 2, 4, 6, 6, 5, 3, 3, 3, 0, -3, -4, -5, -6, -7, -6, -4,
    -00059                 -2, -1, 0, 2, 4, 5, 5, 5, 4, 2, 0, -2, -3, -4, -6, -6, -6, -5, -4, -3, 0, 2, 3,
    -00060                 4, 4, 4, 4, 3, 1, 0, -2, -3, -5, -5, -5, -4, -4, -3, -2, 0, 3, 4, 4, 5, 5, 3, 2,
    -00061                 1, -2, -3, -4, -5, -6, -5, -4, -3, -1, 0, 2, 3, 4, 4, 4, 3, 3, 1, 0, -3, -4, -4,
    -00062                 -5, -5, -5, -4, -3, -1, 0, 3, 4, 4, 4, 4, 3, 2, 0, -1, -4, -4, -5, -5, -5, -4,
    -00063                 -3, -2, 1, 2, 3, 3, 4, 4, 3, 2, 1, -1, -2, -4, -5, -5, -5, -4, -3, -2, -1, 1, 3,
    -00064                 3, 3, 3, 3, 2, 1, 0, -1, -3, -4, -4, -5, -4, -4, -3, -1, 0, 2, 2, 3, 4, 4, 3, 2,
    -00065                 0, -1, -2, -3, -4, -4, -4, -4, -3, -2, 0, 1, 2, 3, 3, 3, 3, 2, 1, 0, -1, -2, -3,
    -00066                 -4, -4, -3, -3, -2, -1, 0, 2, 3, 3, 3, 3, 2, 1, 0, 0, -2, -3, -4, -4, -4, -4,
    -00067                 -3, -1, -1, 0, 1, 3, 3, 4, 3, 2, 1, -1, -1, -3, -4, -4, -4, -3, -3, -2, -1, 0,
    -00068                 1, 2, 3, 3, 2, 2, 1, 0, -1, -2, -3, -3, -4, -4, -3, -3, -1, 0, 0, 1, 3, 3, 3, 2,
    -00069                 2, 1, 0, -1, -2, -3, -4, -4, -4, -3, -2, -1, 0, 1, 2, 3, 3, 3, 3, 2, 0, -1, -2,
    -00070                 -3, -4, -4, -4, -3, -3, -1, -1, 1, 2, 2, 2, 3, 3, 2, 1, 0, -1, -2, -3, -3, -4,
    -00071                 -3, -3, -1, 0, -1, 1, 2, 2, 2, 2, 2, 1, 0, -1, -2, -2, -3, -4, -3, -3, -2, -1,
    -00072                 0, 0, 2, 2, 2, 2, 2, 1, 1, 0, -1, -2, -3, -3, -3, -3, -2, -2, -1, 0, 1, 2, 2, 2,
    -00073                 2, 1, 1, 0, 0, -2, -2, -3, -3, -3, -3, -2, -1, 0, 0, 1, 1, 2, 2, 1, 1, 1, -1,
    -00074                 -1, -2, -2, -2, -3, -2, -2, -2, -1, 0, 1, 1, 2, 2, 2, 1, 1, 0, -1, -1, -2, -3,
    -00075                 -3, -3, -2, -2, -1, 0, 1, 1, 1, 2, 2, 1, 1, 0, -1, -1, -2, -2, -3, -3, -2, -2,
    -00076                 -2, 0, 0, 1, 1, 2, 2, 1, 1, 1, 0, -1, -2, -2, -3, -2, -3, -2, -2, -1, 0, 1, 1,
    -00077                 1, 1, 1, 1, 1, 0, 0, -2, -2, -2, -2, -3, -2, -2, -1, -1, 0, 1, 1, 1, 2, 2, 1, 1,
    -00078                 0, -1, -2, -2, -3, -3, -2, -2, -2, -1, 0, 0, 1, 1, 1, 1, 1, 1, 0, -1, -1, -2,
    -00079                 -2, -2, -2, -2, -2, -1, -1, 0, 1, 1, 1, 1, 1, 1, 0, 0, -1, -1, -2, -2, -2, -2,
    -00080                 -2, -1, -1, 0, 0, 0, 1, 1, 1, 1, 0, 0, -1, -1, -2, -2, -2, -2, -2, -1, -1, -1,
    -00081                 0, 1, 1, 1, 1, 1, 1, 0, 0, -1, -1, -2, -2, -2, -2, -2, -1, 0, 0, 0, 1, 1, 1, 1,
    -00082                 0, 0, 0, -1, -1, -1, -2, -2, -2, -2, -1, -1, -1, 0, 0, 1, 1, 1, 1, 1, 0, 0, -1,
    -00083                 -1, -2, -2, -2, -2, -2, -1, -1, 0, 0, 0, 1, 1, 1, 1, 0, 0, -1, -1, -2, -2, -2,
    -00084                 -2, -2, -2, -1, -1, 0, 0, 1, 1, 1, 1, 0, 0, 0, -1, -1, -2, -2, -2, -2, -2, -1,
    -00085                 -1, -1, 0, 0, 1, 1, 1, 1, 0, 0, 0, -1, -1, -2, -2, -2, -2, -1, -1, -1, 0, 0, 0,
    -00086                 1, 1, 1, 0, 0, -1, -1, -1, -2, -2, -2, -2, -1, -1, -1, 0, 0, 1, 1, 1, 1, 1, 0,
    -00087                 0, 0, -1, -1, -1, -2, -1, -2, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1,
    -00088                 -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -2, -1,
    -00089                 -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0,
    -00090                 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0,
    -00091                 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1,
    -00092                 -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1,
    -00093                 -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    -00094                 -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0,
    -00095                 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00096                 -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1,
    -00097                 -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1,
    -00098                 -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0,
    -00099                 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00100                 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1,
    -00101                 -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1,
    -00102                 -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0,
    -00103                 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0,
    -00104                 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1,
    -00105                 -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1,
    -00106                 -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0,
    -00107                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0,
    -00108                 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0,
    -00109                 -1, 0, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0,};
    -00110 
    -00111 #endif /* BAMBOO_06_2048_H_ */
    -
    - - - - +
    1 #ifndef BAMBOO_06_2048_H_
    +
    2 #define BAMBOO_06_2048_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 #define BAMBOO_06_2048_NUM_CELLS 2048
    +
    12 #define BAMBOO_06_2048_SAMPLERATE 16384
    +
    13 
    +
    14 const char __attribute__((progmem)) BAMBOO_06_2048_DATA [] = {0, 0, 1, -1, 1, -1, 1, -1, 0, 0, 0,
    +
    15  1, -1, 0, 0, -1, 1, -1, 0, 0, 0, 0, 1, -8, -46, -104, -119, -32, 81, 125, 113,
    +
    16  65, -21, -48, 4, 9, -34, -45, -36, -28, -15, -34, -31, 15, 59, 86, 71, 34, 2,
    +
    17  -16, -7, 2, 11, 12, -42, -114, -97, -14, 28, 35, 16, -25, -10, 41, 61, 58, 31,
    +
    18  4, 4, 5, -7, -21, -30, -38, -35, -19, -25, -36, -11, 10, 16, 39, 52, 33, 10, 4,
    +
    19  23, 46, 33, -18, -65, -69, -37, -4, -2, -32, -44, -21, 9, 31, 49, 51, 35, 23,
    +
    20  21, 22, 21, 0, -31, -45, -45, -34, -24, -30, -29, -10, 12, 25, 27, 21, 21, 31,
    +
    21  48, 39, 3, -24, -31, -24, -13, -21, -40, -45, -41, -24, 3, 27, 34, 25, 11, 18,
    +
    22  40, 50, 35, 3, -19, -27, -27, -27, -34, -36, -26, -18, -13, -6, 4, 20, 39, 44,
    +
    23  37, 23, 11, 2, 4, 2, -5, -20, -41, -50, -41, -17, 3, 7, 3, 0, 10, 31, 43, 41,
    +
    24  30, 16, 7, -4, -14, -20, -20, -23, -28, -33, -35, -25, -11, 6, 25, 37, 36, 30,
    +
    25  22, 19, 24, 19, -2, -28, -40, -42, -37, -27, -16, -9, -4, 0, 8, 22, 30, 32, 29,
    +
    26  22, 16, 8, -4, -16, -17, -17, -24, -27, -28, -26, -17, -4, 8, 20, 18, 15, 24,
    +
    27  30, 28, 20, 7, -10, -20, -25, -30, -29, -23, -22, -20, -11, 0, 10, 19, 21, 24,
    +
    28  30, 30, 19, 8, 3, -6, -16, -23, -27, -27, -26, -25, -18, -6, 8, 18, 22, 26, 32,
    +
    29  27, 15, 11, 12, -1, -17, -24, -26, -26, -26, -24, -15, -4, 3, 6, 14, 24, 30, 27,
    +
    30  19, 16, 12, 0, -12, -13, -16, -24, -29, -24, -18, -11, -3, 4, 14, 26, 26, 20,
    +
    31  17, 17, 13, 4, -6, -10, -13, -22, -28, -24, -16, -11, -7, -2, 7, 18, 20, 18, 19,
    +
    32  20, 13, 4, -2, -5, -10, -19, -23, -21, -17, -18, -15, -2, 10, 13, 14, 16, 20,
    +
    33  21, 14, 4, 1, -1, -10, -18, -21, -18, -15, -17, -15, -6, 3, 9, 11, 16, 18, 18,
    +
    34  15, 10, 6, 0, -6, -13, -16, -17, -17, -17, -16, -6, 1, 4, 8, 17, 20, 15, 13, 13,
    +
    35  9, 2, -5, -9, -11, -16, -19, -19, -15, -9, -3, 0, 5, 13, 20, 16, 15, 18, 13, -1,
    +
    36  -9, -13, -13, -13, -17, -16, -13, -8, -2, 2, 6, 13, 15, 11, 11, 13, 12, 4, -1,
    +
    37  -4, -8, -14, -17, -16, -14, -9, -5, -1, 3, 5, 8, 13, 14, 14, 11, 2, -2, -2, -5,
    +
    38  -12, -14, -12, -11, -12, -10, -3, 3, 9, 11, 12, 12, 12, 10, 6, 2, 1, -5, -12,
    +
    39  -16, -14, -11, -8, -8, -4, 0, 3, 8, 13, 13, 12, 9, 6, 3, -1, -3, -8, -13, -12,
    +
    40  -10, -10, -8, -7, -1, 3, 7, 9, 9, 9, 10, 9, 6, 1, -2, -5, -11, -13, -12, -11,
    +
    41  -10, -7, -3, 1, 5, 8, 10, 10, 10, 10, 9, 3, -1, -5, -9, -10, -9, -10, -12, -10,
    +
    42  -5, -1, 0, 5, 11, 12, 11, 9, 8, 5, 2, -3, -6, -9, -10, -12, -13, -10, -5, -2,
    +
    43  -1, 5, 9, 9, 8, 11, 11, 7, 1, -3, -5, -7, -10, -12, -13, -13, -9, -4, -1, 3, 8,
    +
    44  10, 9, 10, 10, 7, 4, 0, -3, -7, -9, -11, -11, -9, -7, -5, -3, 0, 5, 6, 7, 10,
    +
    45  12, 9, 5, 3, 0, -3, -8, -10, -13, -12, -12, -9, -3, 2, 4, 4, 7, 10, 11, 10, 7,
    +
    46  6, 2, -3, -8, -9, -10, -10, -11, -10, -5, -2, 2, 4, 7, 10, 11, 9, 8, 6, 3, -1,
    +
    47  -5, -7, -10, -12, -11, -8, -5, -4, -3, 2, 5, 8, 11, 11, 10, 8, 4, -1, -2, -5,
    +
    48  -8, -11, -11, -10, -8, -7, -3, 2, 6, 8, 9, 8, 9, 8, 6, 2, -1, -5, -7, -10, -10,
    +
    49  -8, -9, -8, -5, 0, 3, 6, 9, 10, 8, 7, 6, 4, 2, -2, -5, -9, -9, -8, -9, -8, -6,
    +
    50  -2, 1, 2, 5, 7, 9, 8, 7, 5, 3, -1, -4, -6, -8, -8, -10, -10, -9, -5, -1, 2, 5,
    +
    51  7, 8, 8, 9, 7, 4, 1, -3, -7, -8, -8, -10, -8, -8, -6, -3, 0, 3, 6, 8, 8, 8, 7,
    +
    52  4, 1, -1, -3, -5, -7, -9, -10, -8, -6, -4, -1, 1, 5, 6, 7, 8, 8, 8, 4, 0, -2,
    +
    53  -4, -7, -9, -9, -7, -7, -6, -4, 1, 4, 6, 6, 8, 8, 7, 4, 1, 1, -2, -5, -7, -9,
    +
    54  -7, -7, -7, -4, -1, 2, 4, 5, 7, 8, 7, 5, 3, 2, -1, -5, -7, -7, -7, -8, -7, -5,
    +
    55  -2, 0, 2, 4, 6, 7, 6, 6, 5, 2, -1, -3, -5, -7, -7, -8, -8, -6, -4, -2, 1, 3, 5,
    +
    56  5, 5, 6, 5, 4, 0, -1, -3, -6, -8, -8, -6, -6, -5, -3, 0, 3, 4, 5, 6, 7, 6, 4, 1,
    +
    57  0, -1, -3, -6, -7, -7, -6, -6, -3, 0, 1, 2, 4, 5, 6, 6, 4, 3, 2, 0, -4, -6, -6,
    +
    58  -6, -7, -6, -5, -2, 0, 2, 4, 6, 6, 5, 3, 3, 3, 0, -3, -4, -5, -6, -7, -6, -4,
    +
    59  -2, -1, 0, 2, 4, 5, 5, 5, 4, 2, 0, -2, -3, -4, -6, -6, -6, -5, -4, -3, 0, 2, 3,
    +
    60  4, 4, 4, 4, 3, 1, 0, -2, -3, -5, -5, -5, -4, -4, -3, -2, 0, 3, 4, 4, 5, 5, 3, 2,
    +
    61  1, -2, -3, -4, -5, -6, -5, -4, -3, -1, 0, 2, 3, 4, 4, 4, 3, 3, 1, 0, -3, -4, -4,
    +
    62  -5, -5, -5, -4, -3, -1, 0, 3, 4, 4, 4, 4, 3, 2, 0, -1, -4, -4, -5, -5, -5, -4,
    +
    63  -3, -2, 1, 2, 3, 3, 4, 4, 3, 2, 1, -1, -2, -4, -5, -5, -5, -4, -3, -2, -1, 1, 3,
    +
    64  3, 3, 3, 3, 2, 1, 0, -1, -3, -4, -4, -5, -4, -4, -3, -1, 0, 2, 2, 3, 4, 4, 3, 2,
    +
    65  0, -1, -2, -3, -4, -4, -4, -4, -3, -2, 0, 1, 2, 3, 3, 3, 3, 2, 1, 0, -1, -2, -3,
    +
    66  -4, -4, -3, -3, -2, -1, 0, 2, 3, 3, 3, 3, 2, 1, 0, 0, -2, -3, -4, -4, -4, -4,
    +
    67  -3, -1, -1, 0, 1, 3, 3, 4, 3, 2, 1, -1, -1, -3, -4, -4, -4, -3, -3, -2, -1, 0,
    +
    68  1, 2, 3, 3, 2, 2, 1, 0, -1, -2, -3, -3, -4, -4, -3, -3, -1, 0, 0, 1, 3, 3, 3, 2,
    +
    69  2, 1, 0, -1, -2, -3, -4, -4, -4, -3, -2, -1, 0, 1, 2, 3, 3, 3, 3, 2, 0, -1, -2,
    +
    70  -3, -4, -4, -4, -3, -3, -1, -1, 1, 2, 2, 2, 3, 3, 2, 1, 0, -1, -2, -3, -3, -4,
    +
    71  -3, -3, -1, 0, -1, 1, 2, 2, 2, 2, 2, 1, 0, -1, -2, -2, -3, -4, -3, -3, -2, -1,
    +
    72  0, 0, 2, 2, 2, 2, 2, 1, 1, 0, -1, -2, -3, -3, -3, -3, -2, -2, -1, 0, 1, 2, 2, 2,
    +
    73  2, 1, 1, 0, 0, -2, -2, -3, -3, -3, -3, -2, -1, 0, 0, 1, 1, 2, 2, 1, 1, 1, -1,
    +
    74  -1, -2, -2, -2, -3, -2, -2, -2, -1, 0, 1, 1, 2, 2, 2, 1, 1, 0, -1, -1, -2, -3,
    +
    75  -3, -3, -2, -2, -1, 0, 1, 1, 1, 2, 2, 1, 1, 0, -1, -1, -2, -2, -3, -3, -2, -2,
    +
    76  -2, 0, 0, 1, 1, 2, 2, 1, 1, 1, 0, -1, -2, -2, -3, -2, -3, -2, -2, -1, 0, 1, 1,
    +
    77  1, 1, 1, 1, 1, 0, 0, -2, -2, -2, -2, -3, -2, -2, -1, -1, 0, 1, 1, 1, 2, 2, 1, 1,
    +
    78  0, -1, -2, -2, -3, -3, -2, -2, -2, -1, 0, 0, 1, 1, 1, 1, 1, 1, 0, -1, -1, -2,
    +
    79  -2, -2, -2, -2, -2, -1, -1, 0, 1, 1, 1, 1, 1, 1, 0, 0, -1, -1, -2, -2, -2, -2,
    +
    80  -2, -1, -1, 0, 0, 0, 1, 1, 1, 1, 0, 0, -1, -1, -2, -2, -2, -2, -2, -1, -1, -1,
    +
    81  0, 1, 1, 1, 1, 1, 1, 0, 0, -1, -1, -2, -2, -2, -2, -2, -1, 0, 0, 0, 1, 1, 1, 1,
    +
    82  0, 0, 0, -1, -1, -1, -2, -2, -2, -2, -1, -1, -1, 0, 0, 1, 1, 1, 1, 1, 0, 0, -1,
    +
    83  -1, -2, -2, -2, -2, -2, -1, -1, 0, 0, 0, 1, 1, 1, 1, 0, 0, -1, -1, -2, -2, -2,
    +
    84  -2, -2, -2, -1, -1, 0, 0, 1, 1, 1, 1, 0, 0, 0, -1, -1, -2, -2, -2, -2, -2, -1,
    +
    85  -1, -1, 0, 0, 1, 1, 1, 1, 0, 0, 0, -1, -1, -2, -2, -2, -2, -1, -1, -1, 0, 0, 0,
    +
    86  1, 1, 1, 0, 0, -1, -1, -1, -2, -2, -2, -2, -1, -1, -1, 0, 0, 1, 1, 1, 1, 1, 0,
    +
    87  0, 0, -1, -1, -1, -2, -1, -2, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1,
    +
    88  -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -2, -1,
    +
    89  -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0,
    +
    90  0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0,
    +
    91  0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1,
    +
    92  -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1,
    +
    93  -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    94  -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0,
    +
    95  0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    96  -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1,
    +
    97  -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1,
    +
    98  -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0,
    +
    99  0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    100  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1,
    +
    101  -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1,
    +
    102  -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0,
    +
    103  0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0,
    +
    104  0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1,
    +
    105  -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1,
    +
    106  -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0,
    +
    107  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0,
    +
    108  0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0,
    +
    109  -1, 0, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0,};
    +
    110 
    +
    111 #endif /* BAMBOO_06_2048_H_ */
    +
    + + + diff --git a/doc/html/bamboo__07__2048__int8_8h_source.html b/doc/html/bamboo__07__2048__int8_8h_source.html index 96cb5b55c..9a6f6d1d6 100644 --- a/doc/html/bamboo__07__2048__int8_8h_source.html +++ b/doc/html/bamboo__07__2048__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: samples/bamboo/bamboo_07_2048_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,127 +99,129 @@
    -
    samples/bamboo/bamboo_07_2048_int8.h
    +
    bamboo_07_2048_int8.h
    -
    00001 #ifndef BAMBOO_07_2048_H_
    -00002 #define BAMBOO_07_2048_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 #define BAMBOO_07_2048_NUM_CELLS 2048
    -00012 #define BAMBOO_07_2048_SAMPLERATE 16384
    -00013 
    -00014 const char __attribute__((progmem)) BAMBOO_07_2048_DATA []  = {1, -1, 0, 0, 1, 0, 0, -1, 0, 0, 0,
    -00015                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, -3, -15, -48, -89,
    -00016                 -84, 0, 98, 124, 71, -8, -50, -19, 13, -2, -24, -39, -38, -21, -18, 5, 51, 65,
    -00017                 53, 35, 21, 5, -29, -35, -3, -8, -51, -69, -56, -4, 42, 22, 7, 22, 43, 56, 31,
    -00018                 2, -13, -12, -3, -26, -52, -53, -43, -18, 18, 40, 32, 12, 12, 38, 58, 42, -3,
    -00019                 -37, -36, -27, -34, -37, -39, -21, 4, 10, 12, 17, 38, 58, 47, 18, -13, -24, -19,
    -00020                 -17, -18, -27, -46, -49, -22, 20, 41, 29, 16, 22, 37, 38, 21, -4, -16, -26, -35,
    -00021                 -40, -45, -32, -10, 3, 8, 13, 21, 32, 40, 42, 27, 0, -24, -31, -22, -19, -34,
    -00022                 -45, -37, -11, 16, 28, 25, 25, 32, 37, 32, 14, -1, -17, -29, -34, -36, -35, -27,
    -00023                 -16, 1, 19, 24, 25, 30, 33, 33, 20, -1, -17, -24, -25, -31, -39, -34, -21, 0,
    -00024                 16, 20, 24, 29, 32, 32, 24, 9, -10, -22, -27, -24, -24, -25, -26, -17, 1, 19,
    -00025                 26, 26, 24, 24, 25, 18, 5, -12, -24, -31, -36, -36, -27, -13, 0, 9, 21, 27, 30,
    -00026                 33, 31, 21, 1, -16, -25, -30, -31, -25, -23, -20, -9, 7, 23, 29, 27, 30, 24, 15,
    -00027                 3, -7, -16, -29, -33, -29, -26, -22, -10, 2, 14, 21, 23, 26, 23, 17, 11, 2, -11,
    -00028                 -24, -30, -25, -21, -20, -14, -3, 9, 21, 28, 27, 24, 20, 11, 3, -7, -16, -24,
    -00029                 -27, -24, -18, -13, -6, 3, 14, 22, 25, 23, 17, 10, 6, -2, -13, -21, -24, -22,
    -00030                 -19, -15, -6, 0, 9, 17, 24, 26, 23, 15, 7, -2, -11, -18, -23, -24, -20, -12, -6,
    -00031                 1, 8, 15, 22, 23, 19, 11, 4, -1, -8, -15, -19, -20, -18, -16, -11, -2, 6, 13,
    -00032                 16, 20, 19, 12, 5, 0, -4, -11, -17, -22, -19, -14, -7, 0, 3, 7, 13, 18, 19, 16,
    -00033                 9, 3, -5, -12, -15, -17, -19, -19, -12, -3, 3, 7, 14, 18, 19, 14, 9, 1, -5, -10,
    -00034                 -12, -16, -18, -15, -10, -4, 3, 8, 12, 14, 14, 14, 12, 4, -3, -9, -12, -16, -17,
    -00035                 -13, -9, -5, 0, 5, 9, 12, 15, 16, 12, 5, -3, -7, -10, -14, -14, -13, -10, -6, 0,
    -00036                 7, 9, 11, 10, 10, 8, 4, 0, -4, -8, -12, -12, -12, -11, -7, -1, 4, 7, 9, 14, 15,
    -00037                 10, 7, 2, -3, -9, -12, -13, -14, -12, -7, -1, 4, 6, 7, 8, 11, 10, 7, 3, -4, -11,
    -00038                 -14, -13, -10, -8, -6, -1, 2, 7, 10, 11, 11, 9, 4, 1, -2, -7, -9, -11, -11, -11,
    -00039                 -7, 0, 4, 5, 6, 9, 10, 9, 5, 2, -2, -7, -10, -10, -10, -9, -6, -2, 2, 4, 7, 12,
    -00040                 9, 6, 4, 2, -2, -7, -8, -8, -10, -9, -6, -1, 2, 3, 5, 9, 10, 7, 4, 2, -2, -4,
    -00041                 -6, -8, -9, -9, -6, -4, -1, 3, 7, 8, 8, 6, 5, 2, -1, -5, -7, -9, -10, -10, -7,
    -00042                 -2, 1, 3, 5, 6, 8, 7, 5, 3, 1, -3, -8, -10, -9, -8, -6, -4, -1, 1, 4, 5, 8, 8,
    -00043                 7, 4, 0, -3, -6, -8, -8, -9, -8, -6, -1, 3, 5, 7, 8, 8, 7, 3, 1, -1, -6, -8, -8,
    -00044                 -8, -7, -6, -3, 1, 4, 6, 7, 8, 7, 4, 3, 1, -2, -6, -8, -8, -9, -6, -3, -1, 2, 5,
    -00045                 7, 7, 7, 7, 4, 0, -5, -7, -7, -7, -8, -7, -5, -3, 1, 4, 7, 8, 8, 6, 3, 1, -2,
    -00046                 -5, -7, -9, -9, -7, -5, -2, 2, 4, 6, 6, 6, 7, 5, 2, -2, -5, -7, -9, -9, -6, -5,
    -00047                 -3, 1, 4, 6, 7, 7, 6, 4, 2, 0, -3, -5, -7, -8, -7, -5, -4, -1, 2, 4, 6, 6, 6, 6,
    -00048                 4, 0, -3, -5, -6, -7, -6, -6, -4, -2, 1, 4, 5, 5, 5, 5, 3, 2, -1, -4, -6, -8,
    -00049                 -8, -6, -4, -2, 1, 3, 4, 4, 5, 6, 4, 1, -1, -4, -5, -7, -6, -6, -6, -4, -2, 1,
    -00050                 5, 6, 5, 5, 4, 3, 0, -3, -5, -7, -8, -7, -6, -4, -1, 2, 3, 5, 5, 5, 5, 3, 1, -2,
    -00051                 -4, -6, -8, -7, -5, -4, -2, 1, 4, 6, 5, 5, 4, 4, 2, -1, -4, -6, -7, -7, -5, -4,
    -00052                 -2, 0, 2, 4, 5, 5, 4, 3, 2, 1, -2, -5, -6, -5, -5, -5, -4, 0, 2, 4, 4, 6, 4, 3,
    -00053                 2, 0, -1, -4, -5, -7, -6, -4, -3, -1, 1, 3, 4, 4, 5, 4, 3, 1, -1, -4, -5, -6,
    -00054                 -6, -5, -4, -2, 1, 3, 4, 4, 4, 4, 3, 1, -2, -3, -5, -6, -6, -5, -3, -2, 0, 1, 3,
    -00055                 5, 4, 4, 3, 1, -1, -3, -5, -5, -6, -5, -4, -3, -1, 2, 3, 3, 4, 4, 2, 1, -1, -2,
    -00056                 -3, -5, -6, -5, -4, -3, -2, 0, 2, 4, 4, 4, 3, 2, 0, -2, -3, -5, -5, -5, -3, -2,
    -00057                 -1, 1, 2, 3, 5, 3, 2, 1, 1, -1, -3, -4, -5, -4, -4, -3, -2, 0, 2, 3, 3, 4, 3, 2,
    -00058                 1, -1, -2, -3, -4, -5, -4, -3, -2, 0, 1, 2, 3, 4, 3, 2, 1, -1, -2, -3, -5, -5,
    -00059                 -4, -3, -3, 0, 1, 2, 3, 4, 3, 2, 2, 0, -2, -3, -4, -4, -4, -3, -2, -1, 1, 2, 3,
    -00060                 4, 4, 2, 1, 0, -2, -3, -3, -4, -4, -3, -2, -1, 0, 1, 2, 3, 3, 2, 2, 1, -1, -2,
    -00061                 -3, -4, -4, -4, -3, -2, 0, 1, 2, 3, 3, 3, 2, 1, -1, -2, -3, -4, -4, -4, -4, -2,
    -00062                 0, 1, 2, 3, 3, 3, 2, 1, -1, -2, -3, -4, -4, -4, -3, -2, 0, 1, 1, 2, 3, 3, 2, 2,
    -00063                 0, -2, -2, -3, -4, -4, -4, -2, -1, 0, 1, 2, 2, 2, 2, 1, 0, 0, -2, -2, -3, -4,
    -00064                 -3, -2, -1, -1, 0, 1, 2, 3, 2, 1, 0, 0, -1, -2, -3, -3, -3, -2, -2, -1, 0, 1, 2,
    -00065                 2, 2, 2, 1, 0, -1, -2, -3, -3, -3, -3, -1, -1, 0, 0, 2, 2, 2, 1, 1, 0, 0, -2,
    -00066                 -3, -3, -3, -3, -2, -1, 0, 1, 1, 2, 2, 1, 1, 0, -1, -1, -2, -3, -3, -2, -1, -1,
    -00067                 0, 0, 1, 1, 2, 1, 1, 0, 0, -1, -2, -3, -3, -2, -2, -1, -1, 0, 1, 1, 1, 2, 1, 1,
    -00068                 0, -1, -2, -2, -2, -2, -2, -1, -1, 0, 0, 1, 2, 1, 1, 1, 0, 0, -1, -2, -2, -3,
    -00069                 -3, -2, -1, 0, 0, 1, 1, 1, 1, 1, 0, -1, -1, -2, -2, -2, -2, -2, -1, -1, 0, 1, 1,
    -00070                 1, 1, 1, 0, -1, -1, -2, -2, -2, -2, -2, -2, -1, 0, 1, 1, 1, 1, 1, 0, 0, -1, -2,
    -00071                 -2, -2, -2, -2, -2, -1, 0, 0, 1, 1, 1, 1, 1, 0, -1, -2, -2, -2, -2, -2, -1, -1,
    -00072                 0, 0, 1, 1, 1, 1, 1, 0, 0, -1, -1, -2, -2, -2, -2, -1, 0, 0, 0, 1, 1, 1, 1, 0,
    -00073                 -1, -1, -2, -2, -2, -2, -2, -1, 0, 0, 1, 1, 1, 1, 0, 0, 0, -1, -2, -2, -2, -2,
    -00074                 -2, -1, -1, 0, 0, 1, 1, 1, 1, 0, 0, 0, -1, -2, -2, -2, -2, -1, -1, -1, 0, 0, 0,
    -00075                 1, 0, 0, 0, 0, -1, -1, -2, -2, -2, -1, -1, 0, -1, 0, 1, 1, 1, 1, 0, 0, -1, -1,
    -00076                 -2, -2, -2, -2, -1, -1, 0, 0, 0, 1, 1, 0, 0, -1, -1, -1, -2, -2, -2, -1, -1, 0,
    -00077                 0, 0, 0, 1, 1, 0, 0, 0, -1, -1, -1, -2, -2, -2, -1, 0, -1, 0, 1, 0, 1, 1, 0, 0,
    -00078                 -1, -1, -1, -1, -2, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1,
    -00079                 -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0,
    -00080                 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1,
    -00081                 -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0,
    -00082                 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00083                 -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1,
    -00084                 -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0,
    -00085                 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1,
    -00086                 -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, 0, -1, 0, 0,
    -00087                 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1,
    -00088                 -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1,
    -00089                 -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0,
    -00090                 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1,
    -00091                 -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0,
    -00092                 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0,
    -00093                 -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1,
    -00094                 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0,
    -00095                 -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1,
    -00096                 -1, 0, -1, -1, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0,
    -00097                 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1,
    -00098                 -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, -1, 0,
    -00099                 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0,
    -00100                 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1,
    -00101                 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0,
    -00102                 0, 0, -1, 0, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1,
    -00103                 -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0,
    -00104                 0, -1, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1,
    -00105                 0, -1, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0,
    -00106                 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, 0, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1,
    -00107                 0, -1, 0, -1, -1, -1, -1, 0, 0, 0, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, 0, -1,
    -00108                 0, 0,};
    -00109 
    -00110 #endif /* BAMBOO_07_2048_H_ */
    -
    - - - - +
    1 #ifndef BAMBOO_07_2048_H_
    +
    2 #define BAMBOO_07_2048_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 #define BAMBOO_07_2048_NUM_CELLS 2048
    +
    12 #define BAMBOO_07_2048_SAMPLERATE 16384
    +
    13 
    +
    14 const char __attribute__((progmem)) BAMBOO_07_2048_DATA [] = {1, -1, 0, 0, 1, 0, 0, -1, 0, 0, 0,
    +
    15  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, -3, -15, -48, -89,
    +
    16  -84, 0, 98, 124, 71, -8, -50, -19, 13, -2, -24, -39, -38, -21, -18, 5, 51, 65,
    +
    17  53, 35, 21, 5, -29, -35, -3, -8, -51, -69, -56, -4, 42, 22, 7, 22, 43, 56, 31,
    +
    18  2, -13, -12, -3, -26, -52, -53, -43, -18, 18, 40, 32, 12, 12, 38, 58, 42, -3,
    +
    19  -37, -36, -27, -34, -37, -39, -21, 4, 10, 12, 17, 38, 58, 47, 18, -13, -24, -19,
    +
    20  -17, -18, -27, -46, -49, -22, 20, 41, 29, 16, 22, 37, 38, 21, -4, -16, -26, -35,
    +
    21  -40, -45, -32, -10, 3, 8, 13, 21, 32, 40, 42, 27, 0, -24, -31, -22, -19, -34,
    +
    22  -45, -37, -11, 16, 28, 25, 25, 32, 37, 32, 14, -1, -17, -29, -34, -36, -35, -27,
    +
    23  -16, 1, 19, 24, 25, 30, 33, 33, 20, -1, -17, -24, -25, -31, -39, -34, -21, 0,
    +
    24  16, 20, 24, 29, 32, 32, 24, 9, -10, -22, -27, -24, -24, -25, -26, -17, 1, 19,
    +
    25  26, 26, 24, 24, 25, 18, 5, -12, -24, -31, -36, -36, -27, -13, 0, 9, 21, 27, 30,
    +
    26  33, 31, 21, 1, -16, -25, -30, -31, -25, -23, -20, -9, 7, 23, 29, 27, 30, 24, 15,
    +
    27  3, -7, -16, -29, -33, -29, -26, -22, -10, 2, 14, 21, 23, 26, 23, 17, 11, 2, -11,
    +
    28  -24, -30, -25, -21, -20, -14, -3, 9, 21, 28, 27, 24, 20, 11, 3, -7, -16, -24,
    +
    29  -27, -24, -18, -13, -6, 3, 14, 22, 25, 23, 17, 10, 6, -2, -13, -21, -24, -22,
    +
    30  -19, -15, -6, 0, 9, 17, 24, 26, 23, 15, 7, -2, -11, -18, -23, -24, -20, -12, -6,
    +
    31  1, 8, 15, 22, 23, 19, 11, 4, -1, -8, -15, -19, -20, -18, -16, -11, -2, 6, 13,
    +
    32  16, 20, 19, 12, 5, 0, -4, -11, -17, -22, -19, -14, -7, 0, 3, 7, 13, 18, 19, 16,
    +
    33  9, 3, -5, -12, -15, -17, -19, -19, -12, -3, 3, 7, 14, 18, 19, 14, 9, 1, -5, -10,
    +
    34  -12, -16, -18, -15, -10, -4, 3, 8, 12, 14, 14, 14, 12, 4, -3, -9, -12, -16, -17,
    +
    35  -13, -9, -5, 0, 5, 9, 12, 15, 16, 12, 5, -3, -7, -10, -14, -14, -13, -10, -6, 0,
    +
    36  7, 9, 11, 10, 10, 8, 4, 0, -4, -8, -12, -12, -12, -11, -7, -1, 4, 7, 9, 14, 15,
    +
    37  10, 7, 2, -3, -9, -12, -13, -14, -12, -7, -1, 4, 6, 7, 8, 11, 10, 7, 3, -4, -11,
    +
    38  -14, -13, -10, -8, -6, -1, 2, 7, 10, 11, 11, 9, 4, 1, -2, -7, -9, -11, -11, -11,
    +
    39  -7, 0, 4, 5, 6, 9, 10, 9, 5, 2, -2, -7, -10, -10, -10, -9, -6, -2, 2, 4, 7, 12,
    +
    40  9, 6, 4, 2, -2, -7, -8, -8, -10, -9, -6, -1, 2, 3, 5, 9, 10, 7, 4, 2, -2, -4,
    +
    41  -6, -8, -9, -9, -6, -4, -1, 3, 7, 8, 8, 6, 5, 2, -1, -5, -7, -9, -10, -10, -7,
    +
    42  -2, 1, 3, 5, 6, 8, 7, 5, 3, 1, -3, -8, -10, -9, -8, -6, -4, -1, 1, 4, 5, 8, 8,
    +
    43  7, 4, 0, -3, -6, -8, -8, -9, -8, -6, -1, 3, 5, 7, 8, 8, 7, 3, 1, -1, -6, -8, -8,
    +
    44  -8, -7, -6, -3, 1, 4, 6, 7, 8, 7, 4, 3, 1, -2, -6, -8, -8, -9, -6, -3, -1, 2, 5,
    +
    45  7, 7, 7, 7, 4, 0, -5, -7, -7, -7, -8, -7, -5, -3, 1, 4, 7, 8, 8, 6, 3, 1, -2,
    +
    46  -5, -7, -9, -9, -7, -5, -2, 2, 4, 6, 6, 6, 7, 5, 2, -2, -5, -7, -9, -9, -6, -5,
    +
    47  -3, 1, 4, 6, 7, 7, 6, 4, 2, 0, -3, -5, -7, -8, -7, -5, -4, -1, 2, 4, 6, 6, 6, 6,
    +
    48  4, 0, -3, -5, -6, -7, -6, -6, -4, -2, 1, 4, 5, 5, 5, 5, 3, 2, -1, -4, -6, -8,
    +
    49  -8, -6, -4, -2, 1, 3, 4, 4, 5, 6, 4, 1, -1, -4, -5, -7, -6, -6, -6, -4, -2, 1,
    +
    50  5, 6, 5, 5, 4, 3, 0, -3, -5, -7, -8, -7, -6, -4, -1, 2, 3, 5, 5, 5, 5, 3, 1, -2,
    +
    51  -4, -6, -8, -7, -5, -4, -2, 1, 4, 6, 5, 5, 4, 4, 2, -1, -4, -6, -7, -7, -5, -4,
    +
    52  -2, 0, 2, 4, 5, 5, 4, 3, 2, 1, -2, -5, -6, -5, -5, -5, -4, 0, 2, 4, 4, 6, 4, 3,
    +
    53  2, 0, -1, -4, -5, -7, -6, -4, -3, -1, 1, 3, 4, 4, 5, 4, 3, 1, -1, -4, -5, -6,
    +
    54  -6, -5, -4, -2, 1, 3, 4, 4, 4, 4, 3, 1, -2, -3, -5, -6, -6, -5, -3, -2, 0, 1, 3,
    +
    55  5, 4, 4, 3, 1, -1, -3, -5, -5, -6, -5, -4, -3, -1, 2, 3, 3, 4, 4, 2, 1, -1, -2,
    +
    56  -3, -5, -6, -5, -4, -3, -2, 0, 2, 4, 4, 4, 3, 2, 0, -2, -3, -5, -5, -5, -3, -2,
    +
    57  -1, 1, 2, 3, 5, 3, 2, 1, 1, -1, -3, -4, -5, -4, -4, -3, -2, 0, 2, 3, 3, 4, 3, 2,
    +
    58  1, -1, -2, -3, -4, -5, -4, -3, -2, 0, 1, 2, 3, 4, 3, 2, 1, -1, -2, -3, -5, -5,
    +
    59  -4, -3, -3, 0, 1, 2, 3, 4, 3, 2, 2, 0, -2, -3, -4, -4, -4, -3, -2, -1, 1, 2, 3,
    +
    60  4, 4, 2, 1, 0, -2, -3, -3, -4, -4, -3, -2, -1, 0, 1, 2, 3, 3, 2, 2, 1, -1, -2,
    +
    61  -3, -4, -4, -4, -3, -2, 0, 1, 2, 3, 3, 3, 2, 1, -1, -2, -3, -4, -4, -4, -4, -2,
    +
    62  0, 1, 2, 3, 3, 3, 2, 1, -1, -2, -3, -4, -4, -4, -3, -2, 0, 1, 1, 2, 3, 3, 2, 2,
    +
    63  0, -2, -2, -3, -4, -4, -4, -2, -1, 0, 1, 2, 2, 2, 2, 1, 0, 0, -2, -2, -3, -4,
    +
    64  -3, -2, -1, -1, 0, 1, 2, 3, 2, 1, 0, 0, -1, -2, -3, -3, -3, -2, -2, -1, 0, 1, 2,
    +
    65  2, 2, 2, 1, 0, -1, -2, -3, -3, -3, -3, -1, -1, 0, 0, 2, 2, 2, 1, 1, 0, 0, -2,
    +
    66  -3, -3, -3, -3, -2, -1, 0, 1, 1, 2, 2, 1, 1, 0, -1, -1, -2, -3, -3, -2, -1, -1,
    +
    67  0, 0, 1, 1, 2, 1, 1, 0, 0, -1, -2, -3, -3, -2, -2, -1, -1, 0, 1, 1, 1, 2, 1, 1,
    +
    68  0, -1, -2, -2, -2, -2, -2, -1, -1, 0, 0, 1, 2, 1, 1, 1, 0, 0, -1, -2, -2, -3,
    +
    69  -3, -2, -1, 0, 0, 1, 1, 1, 1, 1, 0, -1, -1, -2, -2, -2, -2, -2, -1, -1, 0, 1, 1,
    +
    70  1, 1, 1, 0, -1, -1, -2, -2, -2, -2, -2, -2, -1, 0, 1, 1, 1, 1, 1, 0, 0, -1, -2,
    +
    71  -2, -2, -2, -2, -2, -1, 0, 0, 1, 1, 1, 1, 1, 0, -1, -2, -2, -2, -2, -2, -1, -1,
    +
    72  0, 0, 1, 1, 1, 1, 1, 0, 0, -1, -1, -2, -2, -2, -2, -1, 0, 0, 0, 1, 1, 1, 1, 0,
    +
    73  -1, -1, -2, -2, -2, -2, -2, -1, 0, 0, 1, 1, 1, 1, 0, 0, 0, -1, -2, -2, -2, -2,
    +
    74  -2, -1, -1, 0, 0, 1, 1, 1, 1, 0, 0, 0, -1, -2, -2, -2, -2, -1, -1, -1, 0, 0, 0,
    +
    75  1, 0, 0, 0, 0, -1, -1, -2, -2, -2, -1, -1, 0, -1, 0, 1, 1, 1, 1, 0, 0, -1, -1,
    +
    76  -2, -2, -2, -2, -1, -1, 0, 0, 0, 1, 1, 0, 0, -1, -1, -1, -2, -2, -2, -1, -1, 0,
    +
    77  0, 0, 0, 1, 1, 0, 0, 0, -1, -1, -1, -2, -2, -2, -1, 0, -1, 0, 1, 0, 1, 1, 0, 0,
    +
    78  -1, -1, -1, -1, -2, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1,
    +
    79  -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0,
    +
    80  0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1,
    +
    81  -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0,
    +
    82  0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    83  -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1,
    +
    84  -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0,
    +
    85  0, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1,
    +
    86  -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, 0, -1, 0, 0,
    +
    87  0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1,
    +
    88  -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1,
    +
    89  -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0,
    +
    90  0, 0, -1, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1,
    +
    91  -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0,
    +
    92  0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0,
    +
    93  -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    94  0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0,
    +
    95  -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1,
    +
    96  -1, 0, -1, -1, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0,
    +
    97  0, 0, 0, -1, 0, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1,
    +
    98  -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, -1, 0,
    +
    99  0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0,
    +
    100  0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1,
    +
    101  0, 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0,
    +
    102  0, 0, -1, 0, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1,
    +
    103  -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0,
    +
    104  0, -1, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1,
    +
    105  0, -1, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0,
    +
    106  0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, 0, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1,
    +
    107  0, -1, 0, -1, -1, -1, -1, 0, 0, 0, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, 0, -1,
    +
    108  0, 0,};
    +
    109 
    +
    110 #endif /* BAMBOO_07_2048_H_ */
    +
    + + + diff --git a/doc/html/bamboo__08__2048__int8_8h_source.html b/doc/html/bamboo__08__2048__int8_8h_source.html index 4418a8da1..6134323cf 100644 --- a/doc/html/bamboo__08__2048__int8_8h_source.html +++ b/doc/html/bamboo__08__2048__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: samples/bamboo/bamboo_08_2048_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,127 +99,129 @@
    -
    samples/bamboo/bamboo_08_2048_int8.h
    +
    bamboo_08_2048_int8.h
    -
    00001 #ifndef BAMBOO_08_2048_H_
    -00002 #define BAMBOO_08_2048_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 #define BAMBOO_08_2048_NUM_CELLS 2048
    -00012 #define BAMBOO_08_2048_SAMPLERATE 16384
    -00013 
    -00014 const char __attribute__((progmem)) BAMBOO_08_2048_DATA []  = {1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0,
    -00015                 0, 1, 0, 0, 0, -6, -33, -86, -100, -11, 111, 125, 49, -15, -60, -49, -7, -7, -1,
    -00016                 9, -27, -38, 21, 77, 80, 50, 0, -42, -46, -32, 3, -13, -91, -62, 44, 80, 36, -5,
    -00017                 15, 47, 27, 5, -8, -60, -78, -34, -7, 12, 12, -7, 15, 51, 55, 43, 20, -24, -56,
    -00018                 -42, 0, 3, -52, -58, 5, 49, 53, 44, 24, 4, 2, 8, -7, -42, -61, -44, -17, -2, 12,
    -00019                 28, 42, 35, 15, 18, 31, 7, -41, -61, -41, -19, -15, -3, 15, 18, 28, 43, 41, 19,
    -00020                 -3, -18, -29, -37, -34, -23, -14, -14, -9, 23, 56, 48, 11, -8, -1, 4, -12, -34,
    -00021                 -46, -44, -19, 16, 29, 17, 16, 27, 32, 23, 5, -13, -31, -43, -36, -13, 2, 1, -1,
    -00022                 13, 39, 45, 24, 1, -13, -19, -17, -19, -28, -35, -21, 10, 29, 24, 22, 24, 18, 5,
    -00023                 -5, -12, -23, -34, -34, -17, 1, 10, 16, 21, 27, 24, 20, 12, -6, -26, -30, -21,
    -00024                 -21, -18, -7, 6, 15, 26, 37, 35, 16, -7, -23, -26, -22, -23, -24, -17, -7, 9,
    -00025                 31, 39, 26, 7, 0, -6, -18, -25, -21, -20, -20, -8, 14, 27, 23, 17, 15, 16, 10,
    -00026                 -4, -22, -27, -23, -16, -6, 1, 2, 8, 22, 26, 17, 4, -2, -11, -22, -24, -17, -17,
    -00027                 -14, -3, 12, 26, 26, 15, 8, 5, -1, -9, -18, -23, -22, -14, 0, 9, 10, 17, 26, 22,
    -00028                 9, 0, -2, -13, -22, -24, -18, -10, 0, 7, 13, 18, 21, 17, 9, 1, -8, -17, -18,
    -00029                 -18, -18, -12, 0, 8, 13, 22, 25, 18, 6, -4, -12, -16, -20, -21, -17, -7, 5, 14,
    -00030                 18, 18, 14, 11, 6, -4, -15, -23, -21, -14, -12, -7, 4, 12, 15, 17, 18, 11, 0,
    -00031                 -10, -15, -18, -17, -16, -11, -4, 5, 11, 17, 20, 15, 7, 0, -8, -16, -21, -17,
    -00032                 -11, -8, 0, 10, 15, 18, 18, 12, 4, -3, -11, -15, -17, -15, -10, -7, 2, 11, 14,
    -00033                 15, 15, 10, 4, -4, -10, -15, -17, -15, -9, -2, 4, 12, 15, 17, 13, 7, 0, -6, -13,
    -00034                 -15, -16, -13, -8, 0, 8, 12, 13, 13, 11, 7, -1, -9, -13, -16, -15, -10, -4, 1,
    -00035                 6, 12, 14, 13, 8, 4, -3, -12, -14, -14, -13, -9, -2, 4, 8, 10, 12, 11, 6, 1, -4,
    -00036                 -10, -12, -12, -12, -7, -1, 3, 7, 11, 13, 11, 6, -1, -7, -11, -14, -14, -11, -6,
    -00037                 2, 7, 11, 11, 11, 9, 4, -3, -8, -11, -12, -12, -9, -4, 3, 7, 10, 11, 10, 7, 3,
    -00038                 -4, -8, -11, -13, -12, -7, -3, 3, 9, 13, 11, 10, 6, 0, -7, -11, -12, -12, -10,
    -00039                 -5, -1, 4, 10, 14, 12, 7, 3, -1, -5, -10, -13, -13, -9, -3, 3, 7, 9, 11, 9, 8,
    -00040                 6, -2, -9, -12, -11, -10, -7, -2, 2, 6, 10, 12, 10, 6, 0, -5, -7, -8, -11, -11,
    -00041                 -6, -3, 3, 8, 10, 8, 5, 5, 2, -3, -9, -12, -12, -10, -6, 0, 5, 7, 7, 8, 9, 5, 0,
    -00042                 -6, -9, -12, -12, -9, -5, -1, 3, 8, 10, 9, 8, 3, -2, -7, -9, -11, -11, -9, -4,
    -00043                 1, 5, 9, 9, 8, 6, 2, -2, -6, -9, -13, -11, -6, -2, 2, 6, 8, 9, 9, 6, 2, -3, -6,
    -00044                 -9, -10, -8, -4, -3, 1, 7, 9, 9, 8, 4, 0, -3, -5, -8, -10, -8, -5, -2, 3, 8, 9,
    -00045                 8, 7, 4, 1, -3, -7, -9, -10, -7, -3, 0, 4, 7, 7, 7, 5, 3, -1, -5, -7, -10, -10,
    -00046                 -7, -2, 2, 4, 6, 8, 7, 4, 1, -3, -7, -9, -9, -7, -5, -3, 2, 4, 6, 6, 5, 3, 1,
    -00047                 -2, -6, -8, -9, -8, -4, 0, 3, 4, 6, 7, 5, 4, 0, -5, -8, -8, -7, -4, -3, 0, 3, 5,
    -00048                 7, 7, 5, 2, -2, -4, -6, -7, -7, -5, -3, 1, 4, 5, 6, 6, 4, 1, -1, -4, -7, -8, -6,
    -00049                 -4, -2, 1, 5, 6, 6, 5, 4, -1, -4, -6, -6, -6, -6, -4, -1, 2, 4, 6, 5, 4, 2, 0,
    -00050                 -4, -6, -6, -6, -4, -3, -1, 3, 5, 5, 5, 3, 1, -1, -4, -6, -7, -6, -4, -1, 2, 3,
    -00051                 4, 5, 5, 2, 1, -1, -4, -7, -6, -5, -2, -1, 1, 4, 5, 5, 5, 1, 0, -2, -4, -5, -6,
    -00052                 -4, -2, -1, 1, 4, 6, 5, 4, 2, -2, -3, -4, -6, -6, -4, -2, 0, 3, 4, 5, 4, 3, 1,
    -00053                 -2, -4, -6, -7, -5, -4, -1, 1, 3, 4, 6, 5, 3, 0, -3, -4, -5, -6, -5, -3, -2, 1,
    -00054                 3, 5, 5, 4, 1, 0, -2, -4, -5, -5, -5, -2, 0, 3, 4, 4, 4, 4, 1, -1, -3, -5, -5,
    -00055                 -5, -4, -1, 1, 2, 4, 4, 4, 2, 0, -2, -3, -5, -5, -4, -3, -2, 1, 2, 4, 4, 3, 2,
    -00056                 -1, -2, -3, -4, -5, -5, -3, -1, 1, 3, 4, 4, 3, 2, 0, -2, -3, -5, -5, -4, -3, -1,
    -00057                 1, 4, 3, 4, 3, 1, -1, -3, -3, -5, -4, -3, -2, 0, 1, 3, 3, 3, 2, 1, -2, -2, -4,
    -00058                 -4, -4, -3, -2, 0, 2, 3, 3, 3, 2, 0, -2, -3, -4, -5, -4, -3, -1, 1, 2, 3, 4, 3,
    -00059                 1, -1, -2, -3, -4, -4, -3, -2, 0, 2, 2, 3, 3, 2, 1, 0, -2, -4, -4, -4, -3, -2,
    -00060                 1, 1, 2, 3, 3, 2, 1, 0, -3, -4, -4, -4, -3, -2, 1, 2, 3, 3, 3, 1, 0, -1, -3, -3,
    -00061                 -4, -3, -2, -2, 1, 2, 3, 2, 2, 1, -1, -2, -3, -3, -3, -3, -2, 0, 1, 2, 3, 3, 2,
    -00062                 1, -1, -2, -3, -4, -3, -3, -2, 0, 1, 2, 2, 2, 1, 0, -1, -2, -3, -3, -3, -3, -2,
    -00063                 0, 2, 2, 2, 2, 1, 0, -1, -3, -4, -4, -3, -2, 0, 1, 1, 2, 2, 1, 1, -1, -1, -3,
    -00064                 -3, -2, -2, -1, -1, 1, 1, 2, 2, 1, 0, -1, -2, -2, -3, -2, -2, -1, 0, 1, 2, 1, 1,
    -00065                 1, 0, -1, -2, -2, -3, -2, -1, -1, 0, 1, 2, 1, 1, 1, 0, -1, -2, -2, -3, -2, -2,
    -00066                 -1, 0, 1, 1, 1, 1, 0, -1, -1, -2, -2, -3, -2, -1, 0, 0, 1, 1, 2, 1, 0, 0, -2,
    -00067                 -2, -2, -2, -2, -1, 0, 0, 1, 2, 1, 1, 0, -1, -1, -2, -2, -2, -2, -1, -1, 1, 2,
    -00068                 1, 1, 0, 0, -1, -2, -2, -3, -2, -1, -1, 0, 1, 1, 1, 1, 0, 0, -1, -1, -2, -2, -1,
    -00069                 -1, -1, 1, 1, 2, 1, 1, 1, -1, -1, -2, -2, -2, -1, -1, -1, 1, 1, 1, 1, 1, 0, -1,
    -00070                 -1, -2, -2, -2, -1, -1, 0, 0, 1, 1, 1, 1, 0, -1, -1, -2, -2, -2, -1, 0, 0, 1, 1,
    -00071                 1, 0, 0, 0, -1, -2, -2, -2, -2, -1, 0, 0, 1, 1, 1, 0, 0, -1, -2, -1, -2, -2, -2,
    -00072                 -1, 0, 0, 0, 1, 1, 0, 0, -1, -1, -1, -2, -2, -1, -1, 0, 1, 1, 1, 1, 0, 0, 0, -2,
    -00073                 -1, -2, -2, -1, -1, 0, 0, 1, 1, 0, 0, -1, -1, -2, -2, -2, -1, -1, -1, 0, 0, 0,
    -00074                 1, 0, 0, 0, -1, -2, -2, -1, -1, -1, 0, 0, 1, 1, 1, 0, -1, 0, -1, -2, -2, -2, -1,
    -00075                 -1, 0, 0, 1, 1, 0, 0, 0, -1, -2, -2, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, -1,
    -00076                 -1, -2, -1, -1, -1, 0, 0, 0, 1, 0, 0, 0, -1, 0, -1, -2, -1, -1, -1, 0, 0, 0, 0,
    -00077                 0, 0, 0, -1, -1, -1, -2, -1, -1, -1, 0, 1, 1, 1, 1, 0, 0, -1, -1, -2, -2, -2,
    -00078                 -1, -1, 0, 0, 0, 1, 0, 0, 0, -1, -1, -1, -2, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1,
    -00079                 -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0,
    -00080                 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, 0,
    -00081                 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, -1, -1,
    -00082                 -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0,
    -00083                 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1,
    -00084                 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, -1, 0, -1, -1,
    -00085                 -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0,
    -00086                 0, 0, 0, 0, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1,
    -00087                 -1, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, -1, -1,
    -00088                 -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0,
    -00089                 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1,
    -00090                 -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, -1, 0, -1,
    -00091                 -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0,
    -00092                 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1,
    -00093                 -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, -1, -1, -1,
    -00094                 -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0,
    -00095                 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1,
    -00096                 -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, -1,
    -00097                 -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0,
    -00098                 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1,
    -00099                 -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0,
    -00100                 -1, -1, -1, -1, 0, -1, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, -1, -1, 0, -1, -1, 0,
    -00101                 0, 0, 0, -1, 0, 0, 0, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1,
    -00102                 0, -1, 0, -1, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, 0, 0, -1, 0, 0, 0, 0, -1,
    -00103                 0, -1, -1, 0, -1, -1, -1, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, 0, 0, 0,
    -00104                 0, 0, -1, 0, -1, 0, 0, 0, 0, -1, -1, -1, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1,
    -00105                 0, 0, 0, -1, 0, 0, 0, 0, 0, -1, -1, -1, 0, -1, -1, 0, 0, 0, 0, -1, 0, 0, 0, -1,
    -00106                 -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, -1, -1, 0, -1, -1, -1, 0, -1, 0, 0, 0, 0,
    -00107                 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0,
    -00108                 -1, 0, -1, 0, 0, -1, 0, 0,};
    -00109 
    -00110 #endif /* BAMBOO_08_2048_H_ */
    -
    - - - - +
    1 #ifndef BAMBOO_08_2048_H_
    +
    2 #define BAMBOO_08_2048_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 #define BAMBOO_08_2048_NUM_CELLS 2048
    +
    12 #define BAMBOO_08_2048_SAMPLERATE 16384
    +
    13 
    +
    14 const char __attribute__((progmem)) BAMBOO_08_2048_DATA [] = {1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0,
    +
    15  0, 1, 0, 0, 0, -6, -33, -86, -100, -11, 111, 125, 49, -15, -60, -49, -7, -7, -1,
    +
    16  9, -27, -38, 21, 77, 80, 50, 0, -42, -46, -32, 3, -13, -91, -62, 44, 80, 36, -5,
    +
    17  15, 47, 27, 5, -8, -60, -78, -34, -7, 12, 12, -7, 15, 51, 55, 43, 20, -24, -56,
    +
    18  -42, 0, 3, -52, -58, 5, 49, 53, 44, 24, 4, 2, 8, -7, -42, -61, -44, -17, -2, 12,
    +
    19  28, 42, 35, 15, 18, 31, 7, -41, -61, -41, -19, -15, -3, 15, 18, 28, 43, 41, 19,
    +
    20  -3, -18, -29, -37, -34, -23, -14, -14, -9, 23, 56, 48, 11, -8, -1, 4, -12, -34,
    +
    21  -46, -44, -19, 16, 29, 17, 16, 27, 32, 23, 5, -13, -31, -43, -36, -13, 2, 1, -1,
    +
    22  13, 39, 45, 24, 1, -13, -19, -17, -19, -28, -35, -21, 10, 29, 24, 22, 24, 18, 5,
    +
    23  -5, -12, -23, -34, -34, -17, 1, 10, 16, 21, 27, 24, 20, 12, -6, -26, -30, -21,
    +
    24  -21, -18, -7, 6, 15, 26, 37, 35, 16, -7, -23, -26, -22, -23, -24, -17, -7, 9,
    +
    25  31, 39, 26, 7, 0, -6, -18, -25, -21, -20, -20, -8, 14, 27, 23, 17, 15, 16, 10,
    +
    26  -4, -22, -27, -23, -16, -6, 1, 2, 8, 22, 26, 17, 4, -2, -11, -22, -24, -17, -17,
    +
    27  -14, -3, 12, 26, 26, 15, 8, 5, -1, -9, -18, -23, -22, -14, 0, 9, 10, 17, 26, 22,
    +
    28  9, 0, -2, -13, -22, -24, -18, -10, 0, 7, 13, 18, 21, 17, 9, 1, -8, -17, -18,
    +
    29  -18, -18, -12, 0, 8, 13, 22, 25, 18, 6, -4, -12, -16, -20, -21, -17, -7, 5, 14,
    +
    30  18, 18, 14, 11, 6, -4, -15, -23, -21, -14, -12, -7, 4, 12, 15, 17, 18, 11, 0,
    +
    31  -10, -15, -18, -17, -16, -11, -4, 5, 11, 17, 20, 15, 7, 0, -8, -16, -21, -17,
    +
    32  -11, -8, 0, 10, 15, 18, 18, 12, 4, -3, -11, -15, -17, -15, -10, -7, 2, 11, 14,
    +
    33  15, 15, 10, 4, -4, -10, -15, -17, -15, -9, -2, 4, 12, 15, 17, 13, 7, 0, -6, -13,
    +
    34  -15, -16, -13, -8, 0, 8, 12, 13, 13, 11, 7, -1, -9, -13, -16, -15, -10, -4, 1,
    +
    35  6, 12, 14, 13, 8, 4, -3, -12, -14, -14, -13, -9, -2, 4, 8, 10, 12, 11, 6, 1, -4,
    +
    36  -10, -12, -12, -12, -7, -1, 3, 7, 11, 13, 11, 6, -1, -7, -11, -14, -14, -11, -6,
    +
    37  2, 7, 11, 11, 11, 9, 4, -3, -8, -11, -12, -12, -9, -4, 3, 7, 10, 11, 10, 7, 3,
    +
    38  -4, -8, -11, -13, -12, -7, -3, 3, 9, 13, 11, 10, 6, 0, -7, -11, -12, -12, -10,
    +
    39  -5, -1, 4, 10, 14, 12, 7, 3, -1, -5, -10, -13, -13, -9, -3, 3, 7, 9, 11, 9, 8,
    +
    40  6, -2, -9, -12, -11, -10, -7, -2, 2, 6, 10, 12, 10, 6, 0, -5, -7, -8, -11, -11,
    +
    41  -6, -3, 3, 8, 10, 8, 5, 5, 2, -3, -9, -12, -12, -10, -6, 0, 5, 7, 7, 8, 9, 5, 0,
    +
    42  -6, -9, -12, -12, -9, -5, -1, 3, 8, 10, 9, 8, 3, -2, -7, -9, -11, -11, -9, -4,
    +
    43  1, 5, 9, 9, 8, 6, 2, -2, -6, -9, -13, -11, -6, -2, 2, 6, 8, 9, 9, 6, 2, -3, -6,
    +
    44  -9, -10, -8, -4, -3, 1, 7, 9, 9, 8, 4, 0, -3, -5, -8, -10, -8, -5, -2, 3, 8, 9,
    +
    45  8, 7, 4, 1, -3, -7, -9, -10, -7, -3, 0, 4, 7, 7, 7, 5, 3, -1, -5, -7, -10, -10,
    +
    46  -7, -2, 2, 4, 6, 8, 7, 4, 1, -3, -7, -9, -9, -7, -5, -3, 2, 4, 6, 6, 5, 3, 1,
    +
    47  -2, -6, -8, -9, -8, -4, 0, 3, 4, 6, 7, 5, 4, 0, -5, -8, -8, -7, -4, -3, 0, 3, 5,
    +
    48  7, 7, 5, 2, -2, -4, -6, -7, -7, -5, -3, 1, 4, 5, 6, 6, 4, 1, -1, -4, -7, -8, -6,
    +
    49  -4, -2, 1, 5, 6, 6, 5, 4, -1, -4, -6, -6, -6, -6, -4, -1, 2, 4, 6, 5, 4, 2, 0,
    +
    50  -4, -6, -6, -6, -4, -3, -1, 3, 5, 5, 5, 3, 1, -1, -4, -6, -7, -6, -4, -1, 2, 3,
    +
    51  4, 5, 5, 2, 1, -1, -4, -7, -6, -5, -2, -1, 1, 4, 5, 5, 5, 1, 0, -2, -4, -5, -6,
    +
    52  -4, -2, -1, 1, 4, 6, 5, 4, 2, -2, -3, -4, -6, -6, -4, -2, 0, 3, 4, 5, 4, 3, 1,
    +
    53  -2, -4, -6, -7, -5, -4, -1, 1, 3, 4, 6, 5, 3, 0, -3, -4, -5, -6, -5, -3, -2, 1,
    +
    54  3, 5, 5, 4, 1, 0, -2, -4, -5, -5, -5, -2, 0, 3, 4, 4, 4, 4, 1, -1, -3, -5, -5,
    +
    55  -5, -4, -1, 1, 2, 4, 4, 4, 2, 0, -2, -3, -5, -5, -4, -3, -2, 1, 2, 4, 4, 3, 2,
    +
    56  -1, -2, -3, -4, -5, -5, -3, -1, 1, 3, 4, 4, 3, 2, 0, -2, -3, -5, -5, -4, -3, -1,
    +
    57  1, 4, 3, 4, 3, 1, -1, -3, -3, -5, -4, -3, -2, 0, 1, 3, 3, 3, 2, 1, -2, -2, -4,
    +
    58  -4, -4, -3, -2, 0, 2, 3, 3, 3, 2, 0, -2, -3, -4, -5, -4, -3, -1, 1, 2, 3, 4, 3,
    +
    59  1, -1, -2, -3, -4, -4, -3, -2, 0, 2, 2, 3, 3, 2, 1, 0, -2, -4, -4, -4, -3, -2,
    +
    60  1, 1, 2, 3, 3, 2, 1, 0, -3, -4, -4, -4, -3, -2, 1, 2, 3, 3, 3, 1, 0, -1, -3, -3,
    +
    61  -4, -3, -2, -2, 1, 2, 3, 2, 2, 1, -1, -2, -3, -3, -3, -3, -2, 0, 1, 2, 3, 3, 2,
    +
    62  1, -1, -2, -3, -4, -3, -3, -2, 0, 1, 2, 2, 2, 1, 0, -1, -2, -3, -3, -3, -3, -2,
    +
    63  0, 2, 2, 2, 2, 1, 0, -1, -3, -4, -4, -3, -2, 0, 1, 1, 2, 2, 1, 1, -1, -1, -3,
    +
    64  -3, -2, -2, -1, -1, 1, 1, 2, 2, 1, 0, -1, -2, -2, -3, -2, -2, -1, 0, 1, 2, 1, 1,
    +
    65  1, 0, -1, -2, -2, -3, -2, -1, -1, 0, 1, 2, 1, 1, 1, 0, -1, -2, -2, -3, -2, -2,
    +
    66  -1, 0, 1, 1, 1, 1, 0, -1, -1, -2, -2, -3, -2, -1, 0, 0, 1, 1, 2, 1, 0, 0, -2,
    +
    67  -2, -2, -2, -2, -1, 0, 0, 1, 2, 1, 1, 0, -1, -1, -2, -2, -2, -2, -1, -1, 1, 2,
    +
    68  1, 1, 0, 0, -1, -2, -2, -3, -2, -1, -1, 0, 1, 1, 1, 1, 0, 0, -1, -1, -2, -2, -1,
    +
    69  -1, -1, 1, 1, 2, 1, 1, 1, -1, -1, -2, -2, -2, -1, -1, -1, 1, 1, 1, 1, 1, 0, -1,
    +
    70  -1, -2, -2, -2, -1, -1, 0, 0, 1, 1, 1, 1, 0, -1, -1, -2, -2, -2, -1, 0, 0, 1, 1,
    +
    71  1, 0, 0, 0, -1, -2, -2, -2, -2, -1, 0, 0, 1, 1, 1, 0, 0, -1, -2, -1, -2, -2, -2,
    +
    72  -1, 0, 0, 0, 1, 1, 0, 0, -1, -1, -1, -2, -2, -1, -1, 0, 1, 1, 1, 1, 0, 0, 0, -2,
    +
    73  -1, -2, -2, -1, -1, 0, 0, 1, 1, 0, 0, -1, -1, -2, -2, -2, -1, -1, -1, 0, 0, 0,
    +
    74  1, 0, 0, 0, -1, -2, -2, -1, -1, -1, 0, 0, 1, 1, 1, 0, -1, 0, -1, -2, -2, -2, -1,
    +
    75  -1, 0, 0, 1, 1, 0, 0, 0, -1, -2, -2, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, -1,
    +
    76  -1, -2, -1, -1, -1, 0, 0, 0, 1, 0, 0, 0, -1, 0, -1, -2, -1, -1, -1, 0, 0, 0, 0,
    +
    77  0, 0, 0, -1, -1, -1, -2, -1, -1, -1, 0, 1, 1, 1, 1, 0, 0, -1, -1, -2, -2, -2,
    +
    78  -1, -1, 0, 0, 0, 1, 0, 0, 0, -1, -1, -1, -2, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1,
    +
    79  -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0,
    +
    80  0, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, 0,
    +
    81  0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, -1, -1,
    +
    82  -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0,
    +
    83  0, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1,
    +
    84  0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, -1, 0, -1, -1,
    +
    85  -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0,
    +
    86  0, 0, 0, 0, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1,
    +
    87  -1, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, -1, -1,
    +
    88  -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0,
    +
    89  0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1,
    +
    90  -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, -1, 0, -1,
    +
    91  -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0,
    +
    92  0, 0, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1,
    +
    93  -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, -1, -1, -1,
    +
    94  -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0,
    +
    95  0, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1,
    +
    96  -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, -1,
    +
    97  -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0,
    +
    98  0, 0, 0, 0, 0, -1, 0, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1,
    +
    99  -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0,
    +
    100  -1, -1, -1, -1, 0, -1, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, -1, -1, 0, -1, -1, 0,
    +
    101  0, 0, 0, -1, 0, 0, 0, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1,
    +
    102  0, -1, 0, -1, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, 0, 0, -1, 0, 0, 0, 0, -1,
    +
    103  0, -1, -1, 0, -1, -1, -1, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, 0, 0, 0,
    +
    104  0, 0, -1, 0, -1, 0, 0, 0, 0, -1, -1, -1, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1,
    +
    105  0, 0, 0, -1, 0, 0, 0, 0, 0, -1, -1, -1, 0, -1, -1, 0, 0, 0, 0, -1, 0, 0, 0, -1,
    +
    106  -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, -1, -1, 0, -1, -1, -1, 0, -1, 0, 0, 0, 0,
    +
    107  0, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0,
    +
    108  -1, 0, -1, 0, 0, -1, 0, 0,};
    +
    109 
    +
    110 #endif /* BAMBOO_08_2048_H_ */
    +
    + + + diff --git a/doc/html/bamboo__09__2048__int8_8h_source.html b/doc/html/bamboo__09__2048__int8_8h_source.html index 8621e7b67..d4329b723 100644 --- a/doc/html/bamboo__09__2048__int8_8h_source.html +++ b/doc/html/bamboo__09__2048__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: samples/bamboo/bamboo_09_2048_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,127 +99,129 @@
    -
    samples/bamboo/bamboo_09_2048_int8.h
    +
    bamboo_09_2048_int8.h
    -
    00001 #ifndef BAMBOO_09_2048_H_
    -00002 #define BAMBOO_09_2048_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 #define BAMBOO_09_2048_NUM_CELLS 2048
    -00012 #define BAMBOO_09_2048_SAMPLERATE 16384
    -00013 
    -00014 const char __attribute__((progmem)) BAMBOO_09_2048_DATA []  = {1, 0, 0, 0, -1, 1, -1, 1, 1, -1, 0,
    -00015                 -3, -14, -44, -89, -91, 6, 125, 121, 31, -29, -40, -22, -25, -39, -16, -9, -4,
    -00016                 51, 72, 55, 41, 0, -32, -33, -64, -91, -35, 24, 21, 18, 50, 72, 45, 7, -1, -19,
    -00017                 -77, -90, -31, -7, -1, 33, 43, 54, 71, 42, -5, -30, -45, -62, -60, -41, -7, 16,
    -00018                 36, 79, 86, 28, -1, 8, -31, -76, -71, -55, -33, 19, 45, 43, 55, 59, 40, 12, -28,
    -00019                 -64, -75, -60, -23, -2, -2, 30, 77, 70, 38, 25, -5, -48, -58, -60, -59, -35, 0,
    -00020                 33, 59, 65, 55, 39, 9, -25, -55, -77, -68, -35, -15, 9, 47, 61, 54, 48, 24, -19,
    -00021                 -55, -65, -54, -30, -12, 1, 21, 47, 60, 56, 28, -3, -24, -43, -47, -34, -33,
    -00022                 -19, 14, 34, 40, 47, 38, 19, -1, -30, -51, -49, -36, -16, 3, 17, 32, 44, 43, 30,
    -00023                 7, -27, -40, -33, -32, -28, -7, 11, 26, 41, 41, 30, 11, -11, -26, -28, -33, -28,
    -00024                 -15, 0, 17, 31, 31, 28, 22, 3, -14, -22, -33, -37, -23, -5, 9, 19, 28, 31, 27,
    -00025                 10, -10, -26, -33, -30, -21, -12, 0, 12, 24, 32, 29, 11, -7, -13, -21, -28, -23,
    -00026                 -13, -4, 8, 17, 22, 25, 18, 7, -6, -20, -28, -26, -20, -9, 2, 10, 19, 27, 23, 8,
    -00027                 -6, -16, -26, -25, -16, -7, 0, 7, 16, 27, 24, 13, -1, -11, -18, -17, -15, -12,
    -00028                 -3, 6, 14, 21, 21, 13, 3, -6, -13, -19, -20, -13, -3, 5, 7, 13, 16, 14, 9, 3,
    -00029                 -9, -17, -18, -15, -8, -1, 3, 12, 19, 20, 12, 4, -8, -19, -21, -16, -7, -2, 4,
    -00030                 14, 18, 14, 9, 3, -5, -12, -18, -17, -12, -6, 0, 7, 12, 14, 11, 5, 0, -9, -17,
    -00031                 -18, -12, -6, 0, 5, 11, 15, 13, 7, 0, -6, -12, -16, -14, -8, -2, 3, 12, 16, 14,
    -00032                 7, 0, -5, -11, -16, -15, -10, -2, 4, 9, 11, 11, 9, 3, -4, -10, -15, -15, -8, -1,
    -00033                 2, 6, 11, 14, 12, 8, 0, -10, -15, -15, -10, -4, 0, 5, 10, 13, 11, 7, 0, -7, -13,
    -00034                 -17, -14, -6, 1, 6, 10, 13, 10, 6, 2, -5, -12, -17, -12, -6, -1, 4, 8, 11, 11,
    -00035                 9, 4, -4, -10, -14, -13, -9, -2, 1, 5, 11, 13, 8, 4, 0, -5, -12, -14, -10, -6,
    -00036                 0, 6, 9, 11, 11, 7, 2, -4, -12, -16, -13, -8, -1, 3, 8, 12, 14, 9, 3, -4, -12,
    -00037                 -14, -11, -8, -4, 0, 6, 12, 14, 10, 5, -1, -8, -11, -12, -14, -10, 0, 8, 12, 13,
    -00038                 10, 4, 0, -4, -9, -14, -14, -10, -5, 3, 10, 12, 11, 10, 6, -3, -10, -13, -14,
    -00039                 -11, -4, 3, 7, 9, 11, 9, 5, 1, -4, -8, -12, -13, -10, -4, 3, 9, 11, 12, 10, 3,
    -00040                 -2, -7, -13, -15, -12, -5, 3, 7, 10, 12, 10, 6, 0, -7, -10, -12, -13, -9, -2, 5,
    -00041                 9, 11, 11, 8, 4, -1, -6, -12, -15, -11, -6, 1, 5, 10, 11, 10, 7, 2, -4, -11,
    -00042                 -13, -14, -11, -3, 4, 8, 11, 12, 9, 3, -3, -9, -14, -14, -11, -6, -1, 5, 10, 12,
    -00043                 10, 7, 2, -5, -11, -13, -12, -8, -2, 4, 7, 10, 12, 8, 4, -1, -6, -12, -12, -11,
    -00044                 -6, 0, 6, 10, 10, 10, 7, 0, -4, -8, -12, -13, -8, -1, 2, 7, 11, 10, 7, 2, -2,
    -00045                 -6, -10, -10, -9, -5, 0, 4, 7, 9, 8, 4, 0, -4, -8, -11, -10, -6, -3, 2, 6, 9, 9,
    -00046                 6, 2, -1, -5, -10, -10, -7, -3, 1, 4, 7, 9, 6, 3, 1, -3, -8, -9, -7, -4, -2, 1,
    -00047                 6, 7, 7, 4, 2, -3, -5, -8, -8, -5, -3, 1, 4, 7, 7, 5, 3, 0, -4, -7, -7, -6, -3,
    -00048                 0, 3, 6, 6, 6, 3, 0, -3, -6, -7, -6, -5, -3, 1, 4, 5, 5, 4, 1, -2, -5, -6, -6,
    -00049                 -5, -3, 0, 3, 3, 4, 5, 2, 0, -4, -6, -7, -6, -4, -1, 1, 3, 5, 5, 3, 1, -3, -5,
    -00050                 -6, -5, -4, -2, 1, 3, 5, 4, 3, 1, -2, -4, -6, -6, -6, -2, 0, 2, 3, 4, 4, 2, -1,
    -00051                 -2, -4, -6, -5, -3, -1, 1, 3, 4, 4, 3, 1, -2, -4, -5, -4, -4, -2, -1, 2, 3, 5,
    -00052                 5, 3, 0, -3, -5, -5, -4, -3, -1, 2, 4, 4, 3, 3, 1, -2, -4, -5, -5, -3, -1, 1, 2,
    -00053                 3, 3, 2, 1, -1, -3, -5, -5, -4, -2, 0, 2, 2, 3, 4, 2, 0, -2, -4, -5, -4, -3, -1,
    -00054                 1, 2, 4, 3, 2, 1, -2, -4, -4, -5, -4, -2, 1, 2, 3, 3, 3, 1, -1, -3, -4, -5, -3,
    -00055                 -2, -1, 1, 2, 3, 2, 2, 0, -2, -3, -3, -4, -2, -2, 0, 1, 3, 2, 2, 1, -1, -2, -3,
    -00056                 -4, -3, -2, -1, 1, 2, 3, 2, 1, 0, -2, -3, -3, -3, -2, 0, 1, 2, 2, 2, 1, 0, -1,
    -00057                 -2, -3, -3, -2, -2, 0, 1, 1, 2, 2, 0, 0, -2, -2, -3, -3, -2, 0, 0, 1, 2, 2, 1,
    -00058                 1, -1, -2, -3, -3, -2, 0, 0, 1, 2, 2, 1, 0, -1, -2, -3, -3, -2, -2, -1, 1, 2, 2,
    -00059                 1, 1, 0, -1, -2, -3, -3, -2, -1, 0, 2, 2, 2, 1, 1, -1, -2, -3, -3, -2, -1, -1,
    -00060                 1, 2, 2, 2, 0, -1, -2, -3, -3, -3, -2, -1, 1, 2, 2, 2, 1, 0, -2, -3, -3, -3, -3,
    -00061                 0, 1, 1, 2, 2, 1, 0, 0, -2, -3, -3, -3, -2, -1, 1, 2, 2, 2, 1, 0, -2, -3, -3,
    -00062                 -2, -2, -1, 1, 1, 2, 2, 1, 0, -1, -2, -3, -3, -2, -1, 0, 1, 2, 2, 1, 1, -1, -1,
    -00063                 -2, -3, -2, -2, -1, 1, 1, 2, 2, 1, -1, -2, -2, -3, -2, -2, -1, 0, 1, 1, 2, 0, 0,
    -00064                 -1, -2, -2, -2, -2, -1, 0, 0, 1, 1, 0, 0, 0, -1, -2, -2, -2, -2, -1, 0, 1, 1, 0,
    -00065                 1, 0, -1, -2, -2, -2, -2, -1, 0, 0, 0, 1, 0, 0, -1, -1, -2, -2, -2, -1, 0, 0, 0,
    -00066                 1, 1, 0, 0, -1, -1, -2, -2, -2, -1, 0, 0, 1, 0, 1, 0, -1, -1, -1, -1, -1, -1,
    -00067                 -1, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1,
    -00068                 -1, -1, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, -1, 0, -1,
    -00069                 -1, -1, -1, -1, 0, 0, 0, 1, 0, 0, 0, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, -1,
    -00070                 -1, -1, -2, -1, -1, -1, 0, 0, 0, 0, 0, -1, -1, -1, -2, -1, -1, -1, 0, 0, 0, 0,
    -00071                 0, 0, -1, -1, -2, -1, -1, -1, -1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0,
    -00072                 0, 1, 0, 0, 0, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, 0,
    -00073                 0, 0, 0, 0, 0, 0, 0, 0, -1, -2, -1, -1, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -2, -1,
    -00074                 -1, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, 0, 0, -1, 0, 0, 0, 0, -1, -1, -1, -1,
    -00075                 -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, -1, -1, -1,
    -00076                 -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0,
    -00077                 -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0,
    -00078                 0, 0, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0,
    -00079                 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0,
    -00080                 -1, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1,
    -00081                 -1, -1, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1,
    -00082                 -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, -1, -1,
    -00083                 -1, -1, -1, -1, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00084                 -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, -1,
    -00085                 0, -1, -1, -1, -1, -1, 0, 0, -1, 0, 0, 0, -1, -1, -1, 0, -1, -1, -1, -1, 0, 0,
    -00086                 0, 0, 0, -1, 0, 0, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, -1, -1, 0, -1,
    -00087                 0, 0, 0, -1, 0, 0, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, 0, -1,
    -00088                 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, -1, -1, -1, 0,
    -00089                 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0,
    -00090                 -1, 0, 0, -1, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0,
    -00091                 -1, 0, -1, -1, 0, -1, 0, -1, 0, -1, -1, -1, 0, -1, -1, -1, 0, 0, -1, 0, 0, 0,
    -00092                 -1, 0, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, 0, 0, -1, 0, 0, 0, 0,
    -00093                 -1, 0, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0,
    -00094                 -1, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, 0, 0, 0,
    -00095                 0, -1, 0, -1, 0, 0, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, -1, 0, -1, -1, 0, 0, 0,
    -00096                 -1, 0, -1, 0, 0, 0, 0, -1, 0, -1, -1, 0, -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1,
    -00097                 -1, -1, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1,
    -00098                 -1, -1, -1, 0, -1, 0, 0, -1, 0, -1, -1, -1, 0, -1, -1, 0, 0, 0, 0, 0, 0, -1, 0,
    -00099                 -1, 0, -1, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0,
    -00100                 -1, 0, -1, -1, -1, 0, -1, -1, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0,
    -00101                 0, 0, 0, -1, -1, -1, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0, -1,
    -00102                 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, 0, 0, 0, -1, 0, -1, -1, 0, 0,
    -00103                 -1, 0, -1, 0, -1, 0, -1, -1, -1, 0, -1, 0, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, -1,
    -00104                 0, -1, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0,
    -00105                 0, -1, 0, -1, 0, 0, 0, 0, 0, -1, -1, -1, 0, -1, -1, -1, 0, 0, -1, 0, -1, 0, -1,
    -00106                 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0,
    -00107                 -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1,
    -00108                 0, 0, -1, 0, -1, 0, 0, 0, };
    -00109 
    -00110 #endif /* BAMBOO_09_2048_H_ */
    -
    - - - - +
    1 #ifndef BAMBOO_09_2048_H_
    +
    2 #define BAMBOO_09_2048_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 #define BAMBOO_09_2048_NUM_CELLS 2048
    +
    12 #define BAMBOO_09_2048_SAMPLERATE 16384
    +
    13 
    +
    14 const char __attribute__((progmem)) BAMBOO_09_2048_DATA [] = {1, 0, 0, 0, -1, 1, -1, 1, 1, -1, 0,
    +
    15  -3, -14, -44, -89, -91, 6, 125, 121, 31, -29, -40, -22, -25, -39, -16, -9, -4,
    +
    16  51, 72, 55, 41, 0, -32, -33, -64, -91, -35, 24, 21, 18, 50, 72, 45, 7, -1, -19,
    +
    17  -77, -90, -31, -7, -1, 33, 43, 54, 71, 42, -5, -30, -45, -62, -60, -41, -7, 16,
    +
    18  36, 79, 86, 28, -1, 8, -31, -76, -71, -55, -33, 19, 45, 43, 55, 59, 40, 12, -28,
    +
    19  -64, -75, -60, -23, -2, -2, 30, 77, 70, 38, 25, -5, -48, -58, -60, -59, -35, 0,
    +
    20  33, 59, 65, 55, 39, 9, -25, -55, -77, -68, -35, -15, 9, 47, 61, 54, 48, 24, -19,
    +
    21  -55, -65, -54, -30, -12, 1, 21, 47, 60, 56, 28, -3, -24, -43, -47, -34, -33,
    +
    22  -19, 14, 34, 40, 47, 38, 19, -1, -30, -51, -49, -36, -16, 3, 17, 32, 44, 43, 30,
    +
    23  7, -27, -40, -33, -32, -28, -7, 11, 26, 41, 41, 30, 11, -11, -26, -28, -33, -28,
    +
    24  -15, 0, 17, 31, 31, 28, 22, 3, -14, -22, -33, -37, -23, -5, 9, 19, 28, 31, 27,
    +
    25  10, -10, -26, -33, -30, -21, -12, 0, 12, 24, 32, 29, 11, -7, -13, -21, -28, -23,
    +
    26  -13, -4, 8, 17, 22, 25, 18, 7, -6, -20, -28, -26, -20, -9, 2, 10, 19, 27, 23, 8,
    +
    27  -6, -16, -26, -25, -16, -7, 0, 7, 16, 27, 24, 13, -1, -11, -18, -17, -15, -12,
    +
    28  -3, 6, 14, 21, 21, 13, 3, -6, -13, -19, -20, -13, -3, 5, 7, 13, 16, 14, 9, 3,
    +
    29  -9, -17, -18, -15, -8, -1, 3, 12, 19, 20, 12, 4, -8, -19, -21, -16, -7, -2, 4,
    +
    30  14, 18, 14, 9, 3, -5, -12, -18, -17, -12, -6, 0, 7, 12, 14, 11, 5, 0, -9, -17,
    +
    31  -18, -12, -6, 0, 5, 11, 15, 13, 7, 0, -6, -12, -16, -14, -8, -2, 3, 12, 16, 14,
    +
    32  7, 0, -5, -11, -16, -15, -10, -2, 4, 9, 11, 11, 9, 3, -4, -10, -15, -15, -8, -1,
    +
    33  2, 6, 11, 14, 12, 8, 0, -10, -15, -15, -10, -4, 0, 5, 10, 13, 11, 7, 0, -7, -13,
    +
    34  -17, -14, -6, 1, 6, 10, 13, 10, 6, 2, -5, -12, -17, -12, -6, -1, 4, 8, 11, 11,
    +
    35  9, 4, -4, -10, -14, -13, -9, -2, 1, 5, 11, 13, 8, 4, 0, -5, -12, -14, -10, -6,
    +
    36  0, 6, 9, 11, 11, 7, 2, -4, -12, -16, -13, -8, -1, 3, 8, 12, 14, 9, 3, -4, -12,
    +
    37  -14, -11, -8, -4, 0, 6, 12, 14, 10, 5, -1, -8, -11, -12, -14, -10, 0, 8, 12, 13,
    +
    38  10, 4, 0, -4, -9, -14, -14, -10, -5, 3, 10, 12, 11, 10, 6, -3, -10, -13, -14,
    +
    39  -11, -4, 3, 7, 9, 11, 9, 5, 1, -4, -8, -12, -13, -10, -4, 3, 9, 11, 12, 10, 3,
    +
    40  -2, -7, -13, -15, -12, -5, 3, 7, 10, 12, 10, 6, 0, -7, -10, -12, -13, -9, -2, 5,
    +
    41  9, 11, 11, 8, 4, -1, -6, -12, -15, -11, -6, 1, 5, 10, 11, 10, 7, 2, -4, -11,
    +
    42  -13, -14, -11, -3, 4, 8, 11, 12, 9, 3, -3, -9, -14, -14, -11, -6, -1, 5, 10, 12,
    +
    43  10, 7, 2, -5, -11, -13, -12, -8, -2, 4, 7, 10, 12, 8, 4, -1, -6, -12, -12, -11,
    +
    44  -6, 0, 6, 10, 10, 10, 7, 0, -4, -8, -12, -13, -8, -1, 2, 7, 11, 10, 7, 2, -2,
    +
    45  -6, -10, -10, -9, -5, 0, 4, 7, 9, 8, 4, 0, -4, -8, -11, -10, -6, -3, 2, 6, 9, 9,
    +
    46  6, 2, -1, -5, -10, -10, -7, -3, 1, 4, 7, 9, 6, 3, 1, -3, -8, -9, -7, -4, -2, 1,
    +
    47  6, 7, 7, 4, 2, -3, -5, -8, -8, -5, -3, 1, 4, 7, 7, 5, 3, 0, -4, -7, -7, -6, -3,
    +
    48  0, 3, 6, 6, 6, 3, 0, -3, -6, -7, -6, -5, -3, 1, 4, 5, 5, 4, 1, -2, -5, -6, -6,
    +
    49  -5, -3, 0, 3, 3, 4, 5, 2, 0, -4, -6, -7, -6, -4, -1, 1, 3, 5, 5, 3, 1, -3, -5,
    +
    50  -6, -5, -4, -2, 1, 3, 5, 4, 3, 1, -2, -4, -6, -6, -6, -2, 0, 2, 3, 4, 4, 2, -1,
    +
    51  -2, -4, -6, -5, -3, -1, 1, 3, 4, 4, 3, 1, -2, -4, -5, -4, -4, -2, -1, 2, 3, 5,
    +
    52  5, 3, 0, -3, -5, -5, -4, -3, -1, 2, 4, 4, 3, 3, 1, -2, -4, -5, -5, -3, -1, 1, 2,
    +
    53  3, 3, 2, 1, -1, -3, -5, -5, -4, -2, 0, 2, 2, 3, 4, 2, 0, -2, -4, -5, -4, -3, -1,
    +
    54  1, 2, 4, 3, 2, 1, -2, -4, -4, -5, -4, -2, 1, 2, 3, 3, 3, 1, -1, -3, -4, -5, -3,
    +
    55  -2, -1, 1, 2, 3, 2, 2, 0, -2, -3, -3, -4, -2, -2, 0, 1, 3, 2, 2, 1, -1, -2, -3,
    +
    56  -4, -3, -2, -1, 1, 2, 3, 2, 1, 0, -2, -3, -3, -3, -2, 0, 1, 2, 2, 2, 1, 0, -1,
    +
    57  -2, -3, -3, -2, -2, 0, 1, 1, 2, 2, 0, 0, -2, -2, -3, -3, -2, 0, 0, 1, 2, 2, 1,
    +
    58  1, -1, -2, -3, -3, -2, 0, 0, 1, 2, 2, 1, 0, -1, -2, -3, -3, -2, -2, -1, 1, 2, 2,
    +
    59  1, 1, 0, -1, -2, -3, -3, -2, -1, 0, 2, 2, 2, 1, 1, -1, -2, -3, -3, -2, -1, -1,
    +
    60  1, 2, 2, 2, 0, -1, -2, -3, -3, -3, -2, -1, 1, 2, 2, 2, 1, 0, -2, -3, -3, -3, -3,
    +
    61  0, 1, 1, 2, 2, 1, 0, 0, -2, -3, -3, -3, -2, -1, 1, 2, 2, 2, 1, 0, -2, -3, -3,
    +
    62  -2, -2, -1, 1, 1, 2, 2, 1, 0, -1, -2, -3, -3, -2, -1, 0, 1, 2, 2, 1, 1, -1, -1,
    +
    63  -2, -3, -2, -2, -1, 1, 1, 2, 2, 1, -1, -2, -2, -3, -2, -2, -1, 0, 1, 1, 2, 0, 0,
    +
    64  -1, -2, -2, -2, -2, -1, 0, 0, 1, 1, 0, 0, 0, -1, -2, -2, -2, -2, -1, 0, 1, 1, 0,
    +
    65  1, 0, -1, -2, -2, -2, -2, -1, 0, 0, 0, 1, 0, 0, -1, -1, -2, -2, -2, -1, 0, 0, 0,
    +
    66  1, 1, 0, 0, -1, -1, -2, -2, -2, -1, 0, 0, 1, 0, 1, 0, -1, -1, -1, -1, -1, -1,
    +
    67  -1, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1,
    +
    68  -1, -1, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, -1, 0, -1,
    +
    69  -1, -1, -1, -1, 0, 0, 0, 1, 0, 0, 0, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, -1,
    +
    70  -1, -1, -2, -1, -1, -1, 0, 0, 0, 0, 0, -1, -1, -1, -2, -1, -1, -1, 0, 0, 0, 0,
    +
    71  0, 0, -1, -1, -2, -1, -1, -1, -1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0,
    +
    72  0, 1, 0, 0, 0, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, 0,
    +
    73  0, 0, 0, 0, 0, 0, 0, 0, -1, -2, -1, -1, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -2, -1,
    +
    74  -1, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, 0, 0, -1, 0, 0, 0, 0, -1, -1, -1, -1,
    +
    75  -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, -1, -1, -1,
    +
    76  -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0,
    +
    77  -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0,
    +
    78  0, 0, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0,
    +
    79  0, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0,
    +
    80  -1, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1,
    +
    81  -1, -1, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1,
    +
    82  -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, -1, -1,
    +
    83  -1, -1, -1, -1, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    84  -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, -1,
    +
    85  0, -1, -1, -1, -1, -1, 0, 0, -1, 0, 0, 0, -1, -1, -1, 0, -1, -1, -1, -1, 0, 0,
    +
    86  0, 0, 0, -1, 0, 0, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, -1, -1, 0, -1,
    +
    87  0, 0, 0, -1, 0, 0, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, 0, -1,
    +
    88  0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, -1, -1, -1, 0,
    +
    89  0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0,
    +
    90  -1, 0, 0, -1, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0,
    +
    91  -1, 0, -1, -1, 0, -1, 0, -1, 0, -1, -1, -1, 0, -1, -1, -1, 0, 0, -1, 0, 0, 0,
    +
    92  -1, 0, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, 0, 0, -1, 0, 0, 0, 0,
    +
    93  -1, 0, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0,
    +
    94  -1, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, 0, 0, 0,
    +
    95  0, -1, 0, -1, 0, 0, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, -1, 0, -1, -1, 0, 0, 0,
    +
    96  -1, 0, -1, 0, 0, 0, 0, -1, 0, -1, -1, 0, -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1,
    +
    97  -1, -1, 0, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1,
    +
    98  -1, -1, -1, 0, -1, 0, 0, -1, 0, -1, -1, -1, 0, -1, -1, 0, 0, 0, 0, 0, 0, -1, 0,
    +
    99  -1, 0, -1, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0,
    +
    100  -1, 0, -1, -1, -1, 0, -1, -1, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, 0,
    +
    101  0, 0, 0, -1, -1, -1, 0, 0, -1, 0, -1, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0, -1,
    +
    102  0, 0, -1, 0, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, 0, 0, 0, -1, 0, -1, -1, 0, 0,
    +
    103  -1, 0, -1, 0, -1, 0, -1, -1, -1, 0, -1, 0, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, -1,
    +
    104  0, -1, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, 0, -1, 0,
    +
    105  0, -1, 0, -1, 0, 0, 0, 0, 0, -1, -1, -1, 0, -1, -1, -1, 0, 0, -1, 0, -1, 0, -1,
    +
    106  0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0,
    +
    107  -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1,
    +
    108  0, 0, -1, 0, -1, 0, 0, 0, };
    +
    109 
    +
    110 #endif /* BAMBOO_09_2048_H_ */
    +
    + + + diff --git a/doc/html/bamboo__10__2048__int8_8h_source.html b/doc/html/bamboo__10__2048__int8_8h_source.html index 319eb30f1..61db21afe 100644 --- a/doc/html/bamboo__10__2048__int8_8h_source.html +++ b/doc/html/bamboo__10__2048__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: samples/bamboo/bamboo_10_2048_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,127 +99,129 @@
    -
    samples/bamboo/bamboo_10_2048_int8.h
    +
    bamboo_10_2048_int8.h
    -
    00001 #ifndef BAMBOO_10_2048_H_
    -00002 #define BAMBOO_10_2048_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 #define BAMBOO_10_2048_NUM_CELLS 2048
    -00012 #define BAMBOO_10_2048_SAMPLERATE 16384
    -00013 
    -00014 const char __attribute__((progmem)) BAMBOO_10_2048_DATA []  = {0, 0, -1, 0, -1, 1, 0, -1, 0, 0, 0,
    -00015                 0, 0, -1, -2, -8, -27, -64, -83, -7, 123, 124, -7, -81, -45, 32, 14, -73, -23,
    -00016                 43, 36, 87, 41, -70, -9, 5, -107, -55, 33, 11, 40, 77, 50, 7, -44, -48, -33,
    -00017                 -70, -53, 38, 45, 61, 106, 14, -53, 0, -35, -111, -50, 27, 42, 64, 50, 30, 32,
    -00018                 -9, -58, -85, -79, 7, 55, 13, 39, 90, 38, -15, -40, -87, -80, -34, -6, 32, 81,
    -00019                 82, 37, -18, -50, -40, -46, -54, -7, 13, 30, 88, 65, -4, -10, -24, -71, -61,
    -00020                 -23, -6, 22, 61, 68, 32, -4, -18, -42, -69, -49, -11, 5, 40, 70, 34, 0, 5, -18,
    -00021                 -62, -55, -20, 3, 29, 46, 40, 28, 13, -14, -49, -59, -24, 4, 6, 28, 51, 40, 18,
    -00022                 -6, -41, -52, -28, -12, -3, 18, 41, 44, 22, -1, -20, -40, -39, -18, -6, 9, 36,
    -00023                 45, 27, 11, -12, -36, -38, -24, -11, 3, 23, 42, 35, 11, -5, -22, -34, -28, -14,
    -00024                 -3, 20, 41, 30, 10, -1, -19, -33, -33, -22, 2, 23, 27, 23, 15, 7, -6, -32, -37,
    -00025                 -17, -6, 7, 21, 24, 26, 12, -15, -27, -24, -23, -14, 5, 21, 27, 21, 12, 0, -18,
    -00026                 -26, -25, -16, 1, 16, 17, 20, 18, 5, -16, -29, -25, -14, -6, 8, 20, 25, 23, 6,
    -00027                 -14, -23, -24, -20, -14, -1, 21, 32, 23, 10, -2, -19, -20, -21, -22, -1, 20, 22,
    -00028                 24, 21, 5, -14, -24, -29, -19, -3, 9, 20, 23, 22, 13, -7, -23, -26, -23, -14, 3,
    -00029                 14, 22, 25, 18, 2, -14, -26, -27, -20, -1, 13, 20, 25, 24, 9, -11, -25, -29,
    -00030                 -21, -8, 4, 17, 27, 25, 12, -6, -21, -27, -22, -15, -4, 14, 26, 24, 17, 1, -15,
    -00031                 -22, -24, -23, -7, 11, 21, 26, 21, 5, -7, -18, -25, -22, -13, 1, 16, 26, 23, 12,
    -00032                 -2, -15, -23, -23, -15, -3, 10, 21, 23, 17, 5, -12, -22, -21, -18, -7, 7, 16,
    -00033                 20, 19, 8, -5, -15, -22, -20, -10, -2, 9, 19, 19, 14, 4, -13, -21, -19, -16, -5,
    -00034                 9, 18, 19, 15, 5, -7, -15, -19, -16, -10, 1, 14, 20, 18, 12, -1, -14, -18, -18,
    -00035                 -14, 0, 12, 16, 17, 12, 2, -9, -18, -19, -14, -5, 8, 14, 16, 13, 6, -5, -13,
    -00036                 -15, -16, -11, 2, 11, 13, 15, 12, 1, -11, -16, -16, -11, -2, 6, 12, 15, 15, 7,
    -00037                 -9, -16, -16, -15, -8, 4, 10, 13, 16, 11, -2, -11, -16, -19, -12, 0, 9, 14, 14,
    -00038                 12, 2, -8, -14, -15, -13, -5, 5, 11, 14, 12, 6, -4, -8, -13, -15, -11, -1, 9,
    -00039                 12, 13, 10, -1, -9, -12, -16, -11, -1, 6, 9, 13, 12, 3, -5, -12, -13, -10, -4,
    -00040                 1, 6, 10, 13, 9, -2, -8, -11, -13, -8, -1, 4, 10, 12, 10, 3, -5, -12, -13, -11,
    -00041                 -5, 3, 7, 11, 13, 4, -4, -7, -12, -13, -7, -1, 4, 12, 12, 6, 1, -5, -11, -12,
    -00042                 -11, -2, 5, 8, 11, 10, 1, -3, -7, -14, -9, -2, -1, 5, 11, 9, 5, 0, -9, -12, -11,
    -00043                 -7, 0, 5, 8, 11, 7, -1, -6, -10, -12, -8, -1, 2, 7, 8, 8, 5, -3, -9, -10, -9,
    -00044                 -5, 2, 5, 8, 10, 4, -3, -6, -9, -10, -6, -1, 4, 8, 9, 5, 0, -3, -8, -8, -7, -3,
    -00045                 2, 7, 9, 6, 2, -2, -8, -10, -8, -5, 0, 5, 8, 6, 4, 1, -5, -8, -9, -5, -1, 3, 7,
    -00046                 7, 5, 2, -3, -8, -10, -8, -4, 1, 5, 7, 7, 4, -1, -5, -7, -9, -5, 0, 3, 6, 8, 5,
    -00047                 0, -5, -8, -8, -6, -3, 2, 5, 7, 7, 3, -3, -7, -9, -7, -4, 1, 5, 6, 6, 4, -1, -4,
    -00048                 -7, -7, -5, -2, 3, 6, 6, 5, 2, -3, -5, -7, -6, -4, 1, 4, 6, 6, 3, 0, -5, -7, -7,
    -00049                 -5, -2, 4, 6, 4, 4, 1, -3, -5, -7, -6, -2, 1, 3, 6, 4, 2, 0, -5, -6, -4, -5, -2,
    -00050                 2, 3, 5, 4, 0, -2, -4, -7, -4, -1, 0, 4, 5, 3, 3, 0, -5, -6, -5, -4, 0, 2, 3, 5,
    -00051                 3, 0, -3, -4, -5, -4, -2, 1, 5, 5, 3, 1, -2, -4, -5, -5, -3, 1, 3, 4, 3, 3, -1,
    -00052                 -4, -5, -5, -2, -1, 2, 3, 3, 2, 1, -2, -4, -4, -4, -2, 1, 3, 4, 3, 1, -1, -3,
    -00053                 -4, -4, -2, 0, 3, 2, 2, 2, -1, -3, -3, -4, -4, 0, 1, 2, 4, 3, 1, -1, -4, -4, -4,
    -00054                 -3, 0, 3, 3, 2, 1, -2, -4, -3, -4, -3, 0, 2, 3, 4, 2, 0, -2, -4, -5, -3, -1, 1,
    -00055                 3, 3, 3, 1, -2, -3, -3, -4, -2, 0, 2, 3, 3, 1, -1, -3, -3, -4, -2, -1, 2, 2, 2,
    -00056                 1, 0, -2, -3, -5, -3, 0, 1, 2, 3, 3, 1, -2, -3, -3, -3, -2, 0, 1, 2, 4, 1, 0,
    -00057                 -2, -3, -3, -3, -1, 1, 1, 2, 2, 0, -2, -3, -4, -2, -1, 0, 2, 2, 2, 1, -1, -2,
    -00058                 -3, -3, -2, 0, 1, 2, 2, 1, 0, -2, -3, -3, -2, -2, 1, 2, 2, 2, 0, -2, -2, -3, -3,
    -00059                 -1, 0, 0, 3, 2, 1, 0, -2, -3, -2, -3, -1, 1, 1, 2, 1, 0, -1, -2, -3, -2, -1, 0,
    -00060                 2, 2, 1, 1, 0, -2, -2, -2, -2, 0, 1, 1, 2, 1, 0, -1, -2, -3, -2, -1, 0, 1, 2, 1,
    -00061                 1, -1, -2, -3, -3, -1, 1, 1, 1, 2, 1, -1, -2, -2, -2, -2, 0, 0, 2, 1, 2, 0, -2,
    -00062                 -2, -2, -3, -2, 0, 1, 2, 1, 1, -1, -2, -3, -2, -2, -1, 1, 2, 1, 2, 0, -2, -2,
    -00063                 -3, -3, -1, 0, 1, 2, 2, 0, 0, -2, -3, -2, -2, -1, 2, 1, 2, 2, 0, -2, -2, -3, -3,
    -00064                 0, 0, 1, 2, 1, 0, 0, -2, -2, -2, -1, 0, 1, 1, 2, 1, 0, -1, -1, -3, -2, -1, 0, 0,
    -00065                 1, 1, 0, -1, -1, -2, -2, -1, 0, 1, 1, 1, 0, 0, -1, -2, -2, -1, -1, -1, 1, 1, 0,
    -00066                 0, -1, -2, -2, -1, -1, 0, 0, 1, 1, 0, -1, -1, -2, -2, -1, 0, 0, 1, 0, 0, 0, -1,
    -00067                 -2, -2, -1, -1, 0, 0, 1, 1, 0, 0, -1, -2, -1, -1, 0, 0, 1, 1, 0, -1, -1, -2, -2,
    -00068                 -1, -1, -1, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, 0, 1, 0, 0, 0, -1, -2, -1, -1,
    -00069                 -1, 0, 1, 0, 0, -1, -1, -2, -1, -1, -1, 0, 0, 1, 0, 0, -1, -1, -2, -1, -1, 0, 0,
    -00070                 1, 1, 0, 0, -1, -2, -2, -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0,
    -00071                 -1, -1, -1, -2, -1, -1, -1, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0,
    -00072                 -1, -1, -1, -1, 0, 0, 1, 0, 0, 0, 0, -1, -2, -1, -1, 0, 1, 0, 0, 0, 0, -1, -1,
    -00073                 -1, -1, -1, 0, 1, 0, 0, -1, -1, -2, -1, -1, -1, 0, 1, 0, 0, 0, -1, -2, -1, -1,
    -00074                 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, -1, -1, -1, -1, 0, -1,
    -00075                 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, -1, -1, -2, -1, -1, 0, 0, 0,
    -00076                 -1, 0, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, -1,
    -00077                 -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, -1, -1, -1,
    -00078                 -1, -1, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1,
    -00079                 0, 0, 0, 0, 0, -1, -1, -1, -1, 0, -1, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, 0, 0,
    -00080                 0, 0, 0, 0, -1, -1, -1, -1, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, 0, 0, 0, 0,
    -00081                 0, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, 0, 0, 0, 0, -1, 0, -1,
    -00082                 -1, -1, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1,
    -00083                 -1, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, 0, -1, 0, -1, 0, 0, -1, -1, -1, -1, -1,
    -00084                 -1, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, -1, 0, 0,
    -00085                 -1, 0, -1, -1, -1, 0, -1, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0,
    -00086                 -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, -1,
    -00087                 0, -1, 0, -1, 0, 0, 0, 0, 0, -1, -1, -1, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1,
    -00088                 0, -1, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, 0, -1, 0, 0, -1, -1, -1, 0, -1, -1,
    -00089                 0, -1, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, -1, 0, 0, -1, 0,
    -00090                 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, -1, 0, -1, 0, 0, 0, 0, -1,
    -00091                 0, -1, -1, -1, 0, -1, 0, -1, -1, 0, 0, 0, 0, -1, 0, 0, -1, 0, -1, -1, 0, -1, 0,
    -00092                 -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, -1, -1, 0,
    -00093                 -1, -1, -1, 0, -1, 0, 0, -1, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0,
    -00094                 0, 0, 0, -1, 0, -1, 0, 0, 0, -1, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1,
    -00095                 -1, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, -1, -1, 0, 0, 0, 0, -1, 0, -1,
    -00096                 0, -1, -1, 0, 0, 0, 0, 0, -1, -1, 0, -1, 0, 0, 0, -1, 0, 0, -1, -1, -1, 0, 0, 0,
    -00097                 0, 0, -1, 0, -1, 0, -1, -1, 0, 0, 0, -1, -1, -1, 0, 0, 0, -1, -1, 0, 0, -1, -1,
    -00098                 0, 0, -1, -1, 0, -1, 0, 0, -1, 0, -1, -1, 0, -1, -1, -1, 0, -1, -1, 0, -1, 0, 0,
    -00099                 -1, 0, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, -1, -1, 0, -1, 0, -1, 0, 0, 0, -1, 0,
    -00100                 -1, -1, 0, 0, 0, -1, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0,
    -00101                 -1, 0, -1, 0, -1, 0, 0, -1, 0, 0, 0, -1, 0, -1, -1, 0, -1, 0, -1, 0, 0, 0, 0,
    -00102                 -1, 0, -1, 0, -1, -1, 0, -1, 0, -1, 0, -1, 0, -1, -1, -1, 0, 0, -1, 0, 0, -1, 0,
    -00103                 -1, -1, -1, -1, 0, 0, 0, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0,
    -00104                 -1, 0, -1, 0, 0, 0, 0, -1, 0, -1, -1, -1, 0, 0, -1, 0, -1, 0, 0, -1, -1, 0, -1,
    -00105                 0, -1, 0, -1, 0, -1, 0, 0, -1, -1, 0, -1, 0, -1, 0, 0, -1, 0, 0, -1, -1, 0, -1,
    -00106                 0, 0, -1, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, 0,
    -00107                 -1, 0, 0, -1, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1,
    -00108                 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, -1, 0, -1, 0, -1, 0,};
    -00109 
    -00110 #endif /* BAMBOO_10_2048_H_ */
    -
    - - - - +
    1 #ifndef BAMBOO_10_2048_H_
    +
    2 #define BAMBOO_10_2048_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 #define BAMBOO_10_2048_NUM_CELLS 2048
    +
    12 #define BAMBOO_10_2048_SAMPLERATE 16384
    +
    13 
    +
    14 const char __attribute__((progmem)) BAMBOO_10_2048_DATA [] = {0, 0, -1, 0, -1, 1, 0, -1, 0, 0, 0,
    +
    15  0, 0, -1, -2, -8, -27, -64, -83, -7, 123, 124, -7, -81, -45, 32, 14, -73, -23,
    +
    16  43, 36, 87, 41, -70, -9, 5, -107, -55, 33, 11, 40, 77, 50, 7, -44, -48, -33,
    +
    17  -70, -53, 38, 45, 61, 106, 14, -53, 0, -35, -111, -50, 27, 42, 64, 50, 30, 32,
    +
    18  -9, -58, -85, -79, 7, 55, 13, 39, 90, 38, -15, -40, -87, -80, -34, -6, 32, 81,
    +
    19  82, 37, -18, -50, -40, -46, -54, -7, 13, 30, 88, 65, -4, -10, -24, -71, -61,
    +
    20  -23, -6, 22, 61, 68, 32, -4, -18, -42, -69, -49, -11, 5, 40, 70, 34, 0, 5, -18,
    +
    21  -62, -55, -20, 3, 29, 46, 40, 28, 13, -14, -49, -59, -24, 4, 6, 28, 51, 40, 18,
    +
    22  -6, -41, -52, -28, -12, -3, 18, 41, 44, 22, -1, -20, -40, -39, -18, -6, 9, 36,
    +
    23  45, 27, 11, -12, -36, -38, -24, -11, 3, 23, 42, 35, 11, -5, -22, -34, -28, -14,
    +
    24  -3, 20, 41, 30, 10, -1, -19, -33, -33, -22, 2, 23, 27, 23, 15, 7, -6, -32, -37,
    +
    25  -17, -6, 7, 21, 24, 26, 12, -15, -27, -24, -23, -14, 5, 21, 27, 21, 12, 0, -18,
    +
    26  -26, -25, -16, 1, 16, 17, 20, 18, 5, -16, -29, -25, -14, -6, 8, 20, 25, 23, 6,
    +
    27  -14, -23, -24, -20, -14, -1, 21, 32, 23, 10, -2, -19, -20, -21, -22, -1, 20, 22,
    +
    28  24, 21, 5, -14, -24, -29, -19, -3, 9, 20, 23, 22, 13, -7, -23, -26, -23, -14, 3,
    +
    29  14, 22, 25, 18, 2, -14, -26, -27, -20, -1, 13, 20, 25, 24, 9, -11, -25, -29,
    +
    30  -21, -8, 4, 17, 27, 25, 12, -6, -21, -27, -22, -15, -4, 14, 26, 24, 17, 1, -15,
    +
    31  -22, -24, -23, -7, 11, 21, 26, 21, 5, -7, -18, -25, -22, -13, 1, 16, 26, 23, 12,
    +
    32  -2, -15, -23, -23, -15, -3, 10, 21, 23, 17, 5, -12, -22, -21, -18, -7, 7, 16,
    +
    33  20, 19, 8, -5, -15, -22, -20, -10, -2, 9, 19, 19, 14, 4, -13, -21, -19, -16, -5,
    +
    34  9, 18, 19, 15, 5, -7, -15, -19, -16, -10, 1, 14, 20, 18, 12, -1, -14, -18, -18,
    +
    35  -14, 0, 12, 16, 17, 12, 2, -9, -18, -19, -14, -5, 8, 14, 16, 13, 6, -5, -13,
    +
    36  -15, -16, -11, 2, 11, 13, 15, 12, 1, -11, -16, -16, -11, -2, 6, 12, 15, 15, 7,
    +
    37  -9, -16, -16, -15, -8, 4, 10, 13, 16, 11, -2, -11, -16, -19, -12, 0, 9, 14, 14,
    +
    38  12, 2, -8, -14, -15, -13, -5, 5, 11, 14, 12, 6, -4, -8, -13, -15, -11, -1, 9,
    +
    39  12, 13, 10, -1, -9, -12, -16, -11, -1, 6, 9, 13, 12, 3, -5, -12, -13, -10, -4,
    +
    40  1, 6, 10, 13, 9, -2, -8, -11, -13, -8, -1, 4, 10, 12, 10, 3, -5, -12, -13, -11,
    +
    41  -5, 3, 7, 11, 13, 4, -4, -7, -12, -13, -7, -1, 4, 12, 12, 6, 1, -5, -11, -12,
    +
    42  -11, -2, 5, 8, 11, 10, 1, -3, -7, -14, -9, -2, -1, 5, 11, 9, 5, 0, -9, -12, -11,
    +
    43  -7, 0, 5, 8, 11, 7, -1, -6, -10, -12, -8, -1, 2, 7, 8, 8, 5, -3, -9, -10, -9,
    +
    44  -5, 2, 5, 8, 10, 4, -3, -6, -9, -10, -6, -1, 4, 8, 9, 5, 0, -3, -8, -8, -7, -3,
    +
    45  2, 7, 9, 6, 2, -2, -8, -10, -8, -5, 0, 5, 8, 6, 4, 1, -5, -8, -9, -5, -1, 3, 7,
    +
    46  7, 5, 2, -3, -8, -10, -8, -4, 1, 5, 7, 7, 4, -1, -5, -7, -9, -5, 0, 3, 6, 8, 5,
    +
    47  0, -5, -8, -8, -6, -3, 2, 5, 7, 7, 3, -3, -7, -9, -7, -4, 1, 5, 6, 6, 4, -1, -4,
    +
    48  -7, -7, -5, -2, 3, 6, 6, 5, 2, -3, -5, -7, -6, -4, 1, 4, 6, 6, 3, 0, -5, -7, -7,
    +
    49  -5, -2, 4, 6, 4, 4, 1, -3, -5, -7, -6, -2, 1, 3, 6, 4, 2, 0, -5, -6, -4, -5, -2,
    +
    50  2, 3, 5, 4, 0, -2, -4, -7, -4, -1, 0, 4, 5, 3, 3, 0, -5, -6, -5, -4, 0, 2, 3, 5,
    +
    51  3, 0, -3, -4, -5, -4, -2, 1, 5, 5, 3, 1, -2, -4, -5, -5, -3, 1, 3, 4, 3, 3, -1,
    +
    52  -4, -5, -5, -2, -1, 2, 3, 3, 2, 1, -2, -4, -4, -4, -2, 1, 3, 4, 3, 1, -1, -3,
    +
    53  -4, -4, -2, 0, 3, 2, 2, 2, -1, -3, -3, -4, -4, 0, 1, 2, 4, 3, 1, -1, -4, -4, -4,
    +
    54  -3, 0, 3, 3, 2, 1, -2, -4, -3, -4, -3, 0, 2, 3, 4, 2, 0, -2, -4, -5, -3, -1, 1,
    +
    55  3, 3, 3, 1, -2, -3, -3, -4, -2, 0, 2, 3, 3, 1, -1, -3, -3, -4, -2, -1, 2, 2, 2,
    +
    56  1, 0, -2, -3, -5, -3, 0, 1, 2, 3, 3, 1, -2, -3, -3, -3, -2, 0, 1, 2, 4, 1, 0,
    +
    57  -2, -3, -3, -3, -1, 1, 1, 2, 2, 0, -2, -3, -4, -2, -1, 0, 2, 2, 2, 1, -1, -2,
    +
    58  -3, -3, -2, 0, 1, 2, 2, 1, 0, -2, -3, -3, -2, -2, 1, 2, 2, 2, 0, -2, -2, -3, -3,
    +
    59  -1, 0, 0, 3, 2, 1, 0, -2, -3, -2, -3, -1, 1, 1, 2, 1, 0, -1, -2, -3, -2, -1, 0,
    +
    60  2, 2, 1, 1, 0, -2, -2, -2, -2, 0, 1, 1, 2, 1, 0, -1, -2, -3, -2, -1, 0, 1, 2, 1,
    +
    61  1, -1, -2, -3, -3, -1, 1, 1, 1, 2, 1, -1, -2, -2, -2, -2, 0, 0, 2, 1, 2, 0, -2,
    +
    62  -2, -2, -3, -2, 0, 1, 2, 1, 1, -1, -2, -3, -2, -2, -1, 1, 2, 1, 2, 0, -2, -2,
    +
    63  -3, -3, -1, 0, 1, 2, 2, 0, 0, -2, -3, -2, -2, -1, 2, 1, 2, 2, 0, -2, -2, -3, -3,
    +
    64  0, 0, 1, 2, 1, 0, 0, -2, -2, -2, -1, 0, 1, 1, 2, 1, 0, -1, -1, -3, -2, -1, 0, 0,
    +
    65  1, 1, 0, -1, -1, -2, -2, -1, 0, 1, 1, 1, 0, 0, -1, -2, -2, -1, -1, -1, 1, 1, 0,
    +
    66  0, -1, -2, -2, -1, -1, 0, 0, 1, 1, 0, -1, -1, -2, -2, -1, 0, 0, 1, 0, 0, 0, -1,
    +
    67  -2, -2, -1, -1, 0, 0, 1, 1, 0, 0, -1, -2, -1, -1, 0, 0, 1, 1, 0, -1, -1, -2, -2,
    +
    68  -1, -1, -1, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, 0, 1, 0, 0, 0, -1, -2, -1, -1,
    +
    69  -1, 0, 1, 0, 0, -1, -1, -2, -1, -1, -1, 0, 0, 1, 0, 0, -1, -1, -2, -1, -1, 0, 0,
    +
    70  1, 1, 0, 0, -1, -2, -2, -1, -1, -1, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0,
    +
    71  -1, -1, -1, -2, -1, -1, -1, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0,
    +
    72  -1, -1, -1, -1, 0, 0, 1, 0, 0, 0, 0, -1, -2, -1, -1, 0, 1, 0, 0, 0, 0, -1, -1,
    +
    73  -1, -1, -1, 0, 1, 0, 0, -1, -1, -2, -1, -1, -1, 0, 1, 0, 0, 0, -1, -2, -1, -1,
    +
    74  0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, -1, -1, -1, -1, 0, -1,
    +
    75  0, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, -1, -1, -2, -1, -1, 0, 0, 0,
    +
    76  -1, 0, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, -1,
    +
    77  -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, -1, -1, -1,
    +
    78  -1, -1, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1,
    +
    79  0, 0, 0, 0, 0, -1, -1, -1, -1, 0, -1, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, 0, 0,
    +
    80  0, 0, 0, 0, -1, -1, -1, -1, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, 0, 0, 0, 0,
    +
    81  0, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, 0, 0, 0, 0, -1, 0, -1,
    +
    82  -1, -1, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1,
    +
    83  -1, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, 0, -1, 0, -1, 0, 0, -1, -1, -1, -1, -1,
    +
    84  -1, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, -1, 0, 0, 0, 0, -1, -1, 0, -1, -1, -1, 0, 0,
    +
    85  -1, 0, -1, -1, -1, 0, -1, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0,
    +
    86  -1, -1, -1, 0, -1, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, -1,
    +
    87  0, -1, 0, -1, 0, 0, 0, 0, 0, -1, -1, -1, 0, 0, 0, -1, 0, -1, 0, -1, -1, -1, -1,
    +
    88  0, -1, 0, -1, 0, -1, 0, -1, -1, -1, -1, -1, 0, -1, 0, 0, -1, -1, -1, 0, -1, -1,
    +
    89  0, -1, 0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, -1, 0, 0, -1, 0,
    +
    90  0, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, -1, 0, -1, 0, 0, 0, 0, -1,
    +
    91  0, -1, -1, -1, 0, -1, 0, -1, -1, 0, 0, 0, 0, -1, 0, 0, -1, 0, -1, -1, 0, -1, 0,
    +
    92  -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, -1, -1, 0,
    +
    93  -1, -1, -1, 0, -1, 0, 0, -1, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0,
    +
    94  0, 0, 0, -1, 0, -1, 0, 0, 0, -1, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1,
    +
    95  -1, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, -1, 0, -1, -1, -1, 0, 0, 0, 0, -1, 0, -1,
    +
    96  0, -1, -1, 0, 0, 0, 0, 0, -1, -1, 0, -1, 0, 0, 0, -1, 0, 0, -1, -1, -1, 0, 0, 0,
    +
    97  0, 0, -1, 0, -1, 0, -1, -1, 0, 0, 0, -1, -1, -1, 0, 0, 0, -1, -1, 0, 0, -1, -1,
    +
    98  0, 0, -1, -1, 0, -1, 0, 0, -1, 0, -1, -1, 0, -1, -1, -1, 0, -1, -1, 0, -1, 0, 0,
    +
    99  -1, 0, -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, -1, -1, 0, -1, 0, -1, 0, 0, 0, -1, 0,
    +
    100  -1, -1, 0, 0, 0, -1, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0,
    +
    101  -1, 0, -1, 0, -1, 0, 0, -1, 0, 0, 0, -1, 0, -1, -1, 0, -1, 0, -1, 0, 0, 0, 0,
    +
    102  -1, 0, -1, 0, -1, -1, 0, -1, 0, -1, 0, -1, 0, -1, -1, -1, 0, 0, -1, 0, 0, -1, 0,
    +
    103  -1, -1, -1, -1, 0, 0, 0, 0, -1, 0, -1, 0, 0, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0,
    +
    104  -1, 0, -1, 0, 0, 0, 0, -1, 0, -1, -1, -1, 0, 0, -1, 0, -1, 0, 0, -1, -1, 0, -1,
    +
    105  0, -1, 0, -1, 0, -1, 0, 0, -1, -1, 0, -1, 0, -1, 0, 0, -1, 0, 0, -1, -1, 0, -1,
    +
    106  0, 0, -1, -1, 0, -1, 0, -1, 0, -1, 0, 0, 0, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, 0,
    +
    107  -1, 0, 0, -1, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1,
    +
    108  0, -1, 0, -1, 0, -1, 0, 0, -1, 0, -1, -1, 0, -1, 0, -1, 0,};
    +
    109 
    +
    110 #endif /* BAMBOO_10_2048_H_ */
    +
    + + + diff --git a/doc/html/bc_s.png b/doc/html/bc_s.png index 7ca8644147bf07398c562af640d3c98db966b6ba..d3e7a23c4f6a4d83fa92df40ab848ce235cfcf73 100644 GIT binary patch delta 659 zcmV;E0&M-C1)c?v7k?fI1^@s65rAI}0007INklClKaydEM6ZI81Sg-I^WqBJCmB40$k3W8n=iR7z5dm~i#yH+g?b;~x> zG@{VmE#Kq_YCZSTE_>2{;qZMp=W;%r`#k5IKLD?GzFi8`IDdecXCj(f1OQ6dbNbEg z3ZE@twebVvQRO-SP{J#xUT-rA+@Lp5^ox8~k}AI`;BtFJ^)G$ZvTQW6=Lj%V2yp-W zt;KK4U9Ju0HWE_+UTV`S7!YB;YO|eXSPV|SQ{p;sG5jhY_qfU}yX{V6WFo4x>%fIp z9dL0Re(-OSbAKdu$41jj8gRblMd2?8DtwYxv~az#QRSuvbT>aQ1cIW4?&nb?@iApDo^5&x0F(ss)UUpP%n-j7&or(8 zRJ&HJ$VWg+%fcXcwWf@3h)9++EXM z(=?)RcU--s1Z5WOupb_~K9~1_|Bq*ed7rt{wbr)_zEV2?xPJrwSQKeR?Wf<|aj90H z#VT}<__Z4u;OeQ@+YCm&$K%WX0iY=0kNr#mSDFU_;FVgUD5A)n3;1Kb$$;JyxZmw2LpbsSqB#zbl~K9 z`rzH9ECVPA4S&ro003R6f0_KqZkH;1Bs1R;8q#h7D-+Jwy+{USl3D0-sn*5Nkmgwp z0Kl-vr&tAnofv(u^-){x^K?*ea~K-e<(sBQhqb+Qw&qznFfxw5s6K@;j<(X7>I?t? z*K-R@WwIhZrIy1_Rs$6lIqPIzq4_ggEd{V&v5U&`GJnFc#`{emYk1Fge^Vnfbc~MV6(pk+=r{ zxKgzy8MNo*N)j)y4sCX6008Ldo(GB0#yFaA7s~+P4F~6=0Kjc=S0_M&Vi)s`5o>>)zy2(3xoF6e7^Clzkd|`2RJHRy0CcT)%3h;M z=$s74Zl;3r-ZezrM4?9k0M}GFHkSg9l=rmC*_KMhE(Sk+jMZlRS%-Gqi{#}y3>?oY ur>AE14c1?hW5N;<%}q~!%LxBZ{RUY`u{*FTm<=ER0000U0g(ZaByCtpL_t(|0qvd34S*mJM4wQT2TxjzCyNlV2wJi%Wen(sL|fR& zzS+;z0KBy>$7#I-_|pF}M{NMDG}mWn4~h?d?B`BU`c!>Z6g-#aIqqq=V-aXz7lI4& WZ5m~56?C!y0000UwCPHlR z&HHrk9q`fAPtWqQQ~sr00000NkvXXu0mjf(+x1l diff --git a/doc/html/brownnoise8192__int8_8h_source.html b/doc/html/brownnoise8192__int8_8h_source.html index d0c452378..419da183d 100644 --- a/doc/html/brownnoise8192__int8_8h_source.html +++ b/doc/html/brownnoise8192__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: tables/brownnoise8192_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,523 +99,525 @@
    -
    tables/brownnoise8192_int8.h
    +
    brownnoise8192_int8.h
    -
    00001 #ifndef BROWNNOISE8192_H_
    -00002 #define BROWNNOISE8192_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 /* Brown noise generated in Audacity
    -00012 */
    -00013 
    -00014 #define BROWNNOISE8192_NUM_CELLS 8192
    -00015 #define BROWNNOISE8192_SAMPLERATE 8192
    -00016 
    -00017 const char __attribute__((progmem)) BROWNNOISE8192_DATA []  =
    -00018         {
    -00019                 54, 75, 42, 8, 11, 63, 34, -6, 36,
    -00020                 79, 36, 72, 108, 99, 59, 106, 70, 102, 60, 100, 101, 97, 95, 127, 127, 127, 127,
    -00021                 127, 127, 85, 124, 73, 56, 54, 12, -34, 25, -11, -2, 43, 41, 18, -29, 19, 76,
    -00022                 40, 37, 79, 25, 72, 29, 8, 18, 45, 43, 31, 1, 8, -44, 4, 34, 25, 36, 46, 18, 18,
    -00023                 43, 86, 27, 10, 49, 8, 3, 1, -37, -84, -43, -3, -36, -49, -88, -37, -48, -48,
    -00024                 -34, -5, -57, -41, -17, 1, 7, 31, -1, 36, -12, 22, -17, -28, -1, -23, 2, -50,
    -00025                 -19, 8, -41, 0, 13, 34, 21, 76, 117, 127, 123, 73, 93, 54, 25, -20, -25, -28,
    -00026                 -62, -3, -17, -1, 21, -32, 11, 47, 9, 38, 33, 63, 33, 5, 27, 69, 26, 66, 35, 34,
    -00027                 0, 36, 54, 99, 127, 79, 115, 127, 111, 124, 127, 127, 127, 127, 127, 127, 127,
    -00028                 94, 32, 10, 10, 7, -6, 25, -17, 15, -38, -89, -74, -57, -76, -30, -33, -87, -98,
    -00029                 -111, -128, -123, -110, -96, -59, -55, -91, -50, -32, -81, -44, 17, 73, 81, 51,
    -00030                 89, 127, 108, 127, 90, 66, 13, -42, -49, 4, 33, -9, -45, -71, -98, -119, -105,
    -00031                 -59, -62, -13, -33, -51, 9, 65, 58, 49, 85, 112, 107, 102, 58, 69, 36, 77, 95,
    -00032                 36, 43, 70, 109, 127, 109, 127, 127, 126, 71, 119, 127, 127, 127, 116, 127, 91,
    -00033                 52, 49, 6, 57, 109, 44, 92, 118, 59, 66, 115, 105, 107, 76, 110, 114, 77, 87,
    -00034                 52, -8, -54, 1, 22, -8, -25, -4, -42, 11, 56, 82, 28, 35, 34, -18, -6, 33, 9,
    -00035                 23, 40, 50, 17, -20, -65, -34, 10, 45, 91, 29, -12, -4, 27, -29, -24, -67, -35,
    -00036                 -54, 3, -27, -6, 8, 14, 49, 80, 20, 31, 22, 12, -26, -13, 40, 11, -15, 44, -17,
    -00037                 35, 60, 88, 64, 11, 65, 42, -7, -33, 8, 18, 23, -37, -4, -27, -24, -34, 17, -28,
    -00038                 31, 22, 3, 0, 50, 0, -51, -23, -79, -41, -91, -111, -128, -128, -128, -128,
    -00039                 -128, -128, -128, -128, -128, -128, -128, -117, -109, -114, -125, -128, -128,
    -00040                 -121, -97, -128, -128, -128, -113, -61, -95, -77, -18, -64, -64, -83, -77, -88,
    -00041                 -31, -85, -115, -92, -128, -128, -88, -42, -6, 14, -18, -29, 9, 21, 77, 90, 84,
    -00042                 81, 63, 47, 30, 65, 4, 25, 23, 40, -3, 24, 39, 71, 55, 94, 127, 87, 112, 102,
    -00043                 127, 127, 87, 68, 48, 50, 8, -30, -51, -75, -89, -51, -23, 22, 28, 50, 56, 13,
    -00044                 -42, -97, -128, -128, -102, -128, -115, -59, -26, -20, -33, 26, -32, 0, -58,
    -00045                 -52, -33, -52, -34, -28, -25, -54, -100, -41, -12, 21, -13, -22, -37, -28, 13,
    -00046                 39, 19, 8, 45, 92, 74, 102, 39, 78, 43, 71, 107, 108, 61, 101, 127, 127, 127,
    -00047                 127, 121, 115, 121, 127, 97, 39, 19, -40, -37, 8, -7, -29, -40, -57, -74, -51,
    -00048                 -24, -28, 13, 13, 33, 87, 54, 86, 55, 1, 7, 42, 78, 104, 123, 127, 95, 127, 93,
    -00049                 72, 98, 127, 95, 78, 26, 11, -42, -59, -43, -83, -105, -128, -128, -88, -127,
    -00050                 -128, -128, -128, -128, -128, -128, -128, -98, -95, -96, -74, -78, -128, -107,
    -00051                 -128, -112, -85, -32, 11, 32, 14, -37, -40, -73, -51, -73, -16, -60, -46, -83,
    -00052                 -59, -85, -73, -19, -3, 54, 107, 52, 70, 116, 127, 68, 75, 14, 36, 55, 102, 127,
    -00053                 127, 127, 114, 118, 127, 127, 100, 127, 113, 127, 127, 127, 127, 71, 71, 72, 96,
    -00054                 97, 95, 126, 120, 96, 75, 106, 42, 15, 54, 38, 67, 37, 20, 49, 96, 103, 126,
    -00055                 127, 120, 110, 115, 93, 127, 127, 127, 127, 119, 66, 52, 18, -12, -37, -22, -19,
    -00056                 7, -11, 19, 72, 61, 64, 27, -30, -17, 11, 16, -38, -54, -36, -50, -37, -1, -13,
    -00057                 -3, 21, 12, 16, -23, -63, -92, -108, -78, -109, -106, -128, -91, -41, -65, -69,
    -00058                 -85, -102, -96, -56, -31, -52, -47, -50, -53, -95, -124, -128, -128, -128, -125,
    -00059                 -128, -110, -128, -128, -128, -128, -128, -128, -113, -128, -128, -101, -52,
    -00060                 -63, -37, -7, 16, 44, 76, 84, 52, 98, 39, 19, 21, 34, 81, 88, 52, 7, 1, -11, 44,
    -00061                 30, 22, -16, -37, -68, -37, 23, -1, -38, -82, -128, -96, -128, -124, -128, -128,
    -00062                 -104, -88, -101, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00063                 -128, -128, -128, -91, -39, -25, -31, 1, 50, 42, -1, -6, -16, 26, -2, 15, 17,
    -00064                 30, 25, -7, 5, -16, 11, -15, -1, -56, -75, -78, -126, -128, -128, -81, -22, -41,
    -00065                 -64, -98, -103, -88, -60, -10, 41, 0, -55, -85, -110, -87, -94, -53, -55, -63,
    -00066                 -7, -49, -28, -8, -13, -35, 6, -16, -7, -58, -42, -15, 29, -9, 35, 61, 16, 16,
    -00067                 29, -11, -56, -4, 52, -2, -59, -26, 28, 8, 20, -34, -36, 10, 28, 22, -12, -15,
    -00068                 -14, 22, 55, 70, 64, 5, 39, 84, 61, 70, 121, 127, 127, 127, 127, 127, 127, 121,
    -00069                 127, 91, 43, -16, -39, -5, 31, 78, 31, 6, 13, 41, 21, 6, -26, -75, -55, -55,
    -00070                 -68, -92, -81, -126, -118, -128, -128, -109, -78, -79, -74, -64, -61, -3, -23,
    -00071                 11, 66, 95, 127, 71, 14, -7, 43, 87, 100, 127, 74, 26, 71, 51, 74, 13, -15, -13,
    -00072                 -34, -61, -25, 25, -11, -28, -28, -6, 16, 8, -51, -96, -126, -128, -128, -128,
    -00073                 -128, -128, -128, -104, -40, -52, -52, -22, 13, -6, 6, -13, -21, 0, -24, 30, 42,
    -00074                 28, 37, 19, 30, 80, 75, 102, 87, 109, 56, 80, 89, 113, 86, 55, 68, 101, 112,
    -00075                 127, 127, 107, 61, 99, 77, 90, 74, 107, 98, 116, 124, 89, 48, -13, -69, -26,
    -00076                 -34, -28, 3, -40, -16, 22, 40, 42, 10, 48, 1, -18, -61, -67, -74, -16, -19, 2,
    -00077                 -6, 14, 15, -34, 25, 16, 4, 57, 68, 102, 63, 39, 41, 15, 23, -17, 12, -34, -40,
    -00078                 -61, -101, -36, -88, -113, -118, -65, -91, -31, 29, -7, -24, -60, -82, -47, -48,
    -00079                 -8, -4, 53, 99, 78, 55, 44, -6, -59, -106, -128, -110, -128, -125, -78, -46,
    -00080                 -44, 0, -9, 29, -27, 24, 32, 24, -10, -47, -91, -50, -86, -115, -128, -100,
    -00081                 -128, -128, -128, -128, -128, -128, -128, -101, -59, -65, -114, -76, -73, -69,
    -00082                 -68, -16, 17, -36, -75, -37, -29, -34, -48, -91, -33, -75, -107, -128, -128,
    -00083                 -128, -128, -120, -94, -89, -25, -66, -33, -2, 7, -38, -10, -61, -64, -38, -1,
    -00084                 -41, -42, -5, -2, 47, 11, -45, -34, 13, -5, 15, -8, -47, -81, -103, -68, -99,
    -00085                 -90, -102, -124, -128, -118, -95, -45, -3, -51, -91, -34, -32, -9, -65, -68,
    -00086                 -78, -38, -21, -45, -57, -36, -75, -84, -57, -1, 2, -34, 24, -22, 29, 72, 80,
    -00087                 16, -12, -65, -57, -96, -76, -100, -109, -123, -56, -14, -33, -27, -6, 51, 4,
    -00088                 54, -2, 46, 19, -16, -36, -25, -3, -12, -12, 8, 3, -36, 14, 4, 37, 38, -8, 47,
    -00089                 85, 127, 103, 127, 127, 127, 101, 53, 83, 49, 73, 115, 103, 63, 100, 79, 35, 30,
    -00090                 39, 9, -49, -24, -73, -76, -78, -67, -4, -32, -11, -16, -44, -10, 32, -20, -15,
    -00091                 -34, -56, -24, 28, 0, -22, -77, -126, -96, -128, -95, -91, -31, -33, -11, 1, 47,
    -00092                 22, -29, 9, -14, 35, 64, 58, 50, 57, 14, -34, -66, -21, -14, -64, -50, -37, -79,
    -00093                 -101, -72, -70, -111, -74, -45, -79, -105, -86, -58, -75, -17, -47, -64, -57,
    -00094                 -16, -50, -58, -2, 48, 70, 51, 100, 114, 87, 38, 24, 15, -3, 11, 2, 30, 22, -18,
    -00095                 13, 42, -5, -20, -41, -81, -17, 30, 29, -19, 2, 30, 0, -44, -71, -85, -118,
    -00096                 -113, -55, -23, -65, -37, -86, -60, -96, -76, -41, -21, 32, 1, 30, -17, -16, 37,
    -00097                 18, 27, 13, 16, -23, -13, -35, -86, -68, -23, -10, 36, 9, -21, -22, -31, -62,
    -00098                 -73, -69, -63, -29, -29, -18, 16, -28, -16, 25, -22, -14, 7, -6, 2, -14, 0, -38,
    -00099                 -31, -60, -102, -113, -115, -89, -90, -70, -55, -73, -21, 11, -33, -19, -62,
    -00100                 -92, -71, -70, -68, -70, -20, 9, 62, 14, -34, -9, 11, 24, 55, 88, 127, 127, 127,
    -00101                 127, 127, 127, 127, 127, 79, 37, 22, -7, -30, -82, -44, -81, -100, -101, -53,
    -00102                 -4, 31, 53, 7, -40, 6, -7, 5, 25, 40, 63, 97, 98, 58, 83, 124, 127, 127, 127,
    -00103                 127, 127, 100, 127, 93, 112, 95, 52, 20, 9, 36, 48, 41, 54, 54, 47, -6, 16, -30,
    -00104                 -63, -90, -55, -20, -3, 10, 62, 12, 47, -6, 13, -27, -57, -110, -128, -104, -72,
    -00105                 -105, -99, -48, -33, -2, 44, 27, -18, -64, -4, 28, 59, 62, 0, -53, -17, -46,
    -00106                 -13, 17, 52, 57, 36, 83, 89, 91, 113, 127, 91, 82, 58, 79, 113, 76, 100, 82, 59,
    -00107                 108, 57, 82, 91, 68, 95, 127, 73, 43, -14, -26, -74, -107, -115, -97, -65, -106,
    -00108                 -109, -81, -89, -84, -128, -128, -115, -110, -52, -76, -64, -1, -35, -47, -15,
    -00109                 -57, -94, -119, -77, -38, 16, 4, 7, 12, 31, 26, -33, -69, -69, -54, -59, -61,
    -00110                 -54, -2, -40, -16, -40, -79, -128, -62, -112, -64, -73, -89, -128, -87, -64,
    -00111                 -83, -110, -92, -102, -76, -83, -125, -82, -82, -21, 6, 5, 10, 51, 37, 39, 45,
    -00112                 34, 17, 57, 96, 124, 127, 92, 123, 127, 127, 127, 127, 127, 127, 127, 123, 127,
    -00113                 127, 80, 92, 62, 67, 67, 108, 68, 15, 16, 21, 73, 41, 33, 43, -2, -37, 6, -25,
    -00114                 -69, -66, -60, -35, -63, -87, -48, -35, -8, -39, -73, -73, -124, -115, -128,
    -00115                 -128, -128, -128, -82, -44, -7, -54, -79, -128, -128, -128, -128, -128, -128,
    -00116                 -128, -128, -128, -128, -128, -128, -87, -35, -79, -55, -86, -41, -64, -85, -78,
    -00117                 -15, -57, -49, -60, -51, -40, -58, -79, -93, -106, -64, -52, -41, 2, 59, 101,
    -00118                 57, 33, 14, -6, 40, 73, 26, 75, 118, 127, 124, 118, 127, 127, 127, 127, 127,
    -00119                 127, 127, 109, 122, 59, 56, 56, 68, 118, 127, 93, 65, 34, 83, 107, 127, 127,
    -00120                 127, 127, 127, 120, 125, 86, 83, 69, 102, 55, 107, 127, 86, 78, 48, 4, -42, -76,
    -00121                 -91, -128, -128, -81, -128, -94, -72, -119, -128, -128, -128, -128, -128, -128,
    -00122                 -128, -102, -47, -76, -47, -49, 6, -20, 35, 32, 26, -11, -46, -86, -107, -128,
    -00123                 -128, -92, -123, -68, -111, -121, -67, -44, -39, -26, -82, -21, 27, -22, 38, 88,
    -00124                 103, 127, 115, 50, 46, 84, 73, 15, 10, 41, 3, 17, -37, -4, -28, -29, -14, -45,
    -00125                 -69, -116, -97, -61, -7, -44, -52, -4, -55, -66, -33, 14, -19, -52, 2, -30, -46,
    -00126                 -23, -54, -76, -33, -82, -71, -122, -128, -128, -90, -128, -128, -128, -110,
    -00127                 -128, -128, -125, -115, -126, -128, -128, -98, -70, -12, -45, -40, -24, 20, 70,
    -00128                 10, 19, 27, -21, -76, -104, -127, -128, -111, -77, -29, -54, -75, -98, -125,
    -00129                 -61, -104, -88, -66, -68, -90, -111, -46, -60, -2, -10, -55, -51, -82, -45, -10,
    -00130                 -46, -57, -103, -126, -128, -128, -128, -119, -83, -96, -109, -128, -86, -47,
    -00131                 -90, -128, -66, -38, -50, -33, -4, -26, 15, -3, 39, 26, 74, 119, 97, 89, 126,
    -00132                 127, 127, 127, 127, 127, 127, 127, 127, 82, 56, 92, 65, 4, -36, -74, -101, -94,
    -00133                 -84, -106, -107, -128, -89, -68, -117, -74, -125, -128, -128, -126, -128, -128,
    -00134                 -89, -72, -103, -115, -68, -30, -84, -39, -53, -12, 6, 48, 56, 5, -7, 44, 92,
    -00135                 79, 69, 100, 68, 82, 78, 40, 48, 12, 28, 61, 113, 118, 102, 98, 90, 37, -22,
    -00136                 -36, -4, -40, -42, -13, -43, -38, -25, -28, 1, -28, 28, -33, 4, -1, -18, -73,
    -00137                 -55, 6, 47, -11, -27, -42, -70, -86, -128, -128, -128, -102, -66, -96, -120,
    -00138                 -62, -76, -107, -65, -45, -29, 28, 31, 2, 11, -2, -16, -54, -83, -42, -85, -96,
    -00139                 -78, -35, -27, 33, 38, 56, 108, 127, 112, 120, 64, 3, -50, -67, -86, -53, -43,
    -00140                 -88, -40, -25, 29, 3, -23, -34, 13, -18, -8, 21, 63, 25, 27, 39, 5, 2, 18, -11,
    -00141                 -11, -1, 11, -12, -7, 18, -5, 28, 7, -42, -31, 30, -8, -8, 38, -20, -35, 21, 60,
    -00142                 35, 13, -1, -24, 3, 37, 58, 18, 21, 53, 23, -9, -45, -84, -21, 0, 36, 30, 69,
    -00143                 43, 51, 13, 35, 3, 58, 4, 49, 67, 57, 92, 87, 84, 53, 90, 67, 53, 106, 94, 30,
    -00144                 75, 92, 127, 97, 50, -11, -48, -81, -50, -73, -48, -82, -88, -128, -77, -107,
    -00145                 -122, -64, -87, -117, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00146                 -128, -128, -128, -79, -30, 4, 57, 45, 78, 52, 72, 58, 14, 21, 37, 45, 19, 25,
    -00147                 22, -29, -18, -67, -75, -90, -107, -101, -70, -88, -117, -97, -47, -43, -21,
    -00148                 -67, -32, 6, 26, 36, -24, 35, -10, 37, 69, 5, -30, -35, 19, 53, 103, 127, 89,
    -00149                 40, -15, -49, -51, -33, -68, -61, 2, 4, -16, -25, -81, -123, -128, -128, -128,
    -00150                 -128, -128, -128, -128, -128, -121, -112, -58, -38, -84, -119, -128, -128, -128,
    -00151                 -128, -128, -128, -128, -128, -128, -106, -128, -75, -28, -42, -82, -92, -101,
    -00152                 -41, -88, -113, -64, -116, -128, -119, -128, -104, -42, -93, -128, -117, -128,
    -00153                 -126, -110, -109, -70, -59, -1, 41, 69, 103, 127, 127, 127, 121, 74, 123, 127,
    -00154                 101, 45, 18, 30, 77, 125, 127, 127, 102, 80, 69, 106, 45, 37, 15, 25, 64, 31,
    -00155                 -22, -57, -105, -61, -89, -106, -81, -51, -60, -84, -37, -23, 8, 48, 20, -30,
    -00156                 -38, -17, -53, -10, -27, -20, -28, -13, -62, -36, -27, 26, 78, 28, -29, -79,
    -00157                 -114, -95, -98, -93, -105, -52, -76, -70, -57, -50, -41, -75, -84, -120, -56,
    -00158                 -98, -108, -69, -68, -33, 7, -11, 28, 42, 55, 15, -25, -65, -97, -128, -75, -90,
    -00159                 -89, -37, -17, -43, 4, -14, 12, -12, 40, 95, 73, 90, 121, 112, 68, 117, 57, 92,
    -00160                 79, 86, 24, 71, 86, 109, 56, 108, 127, 92, 77, 47, 57, 25, -32, -24, -12, -28,
    -00161                 -47, -28, 9, 16, 68, 116, 57, 9, 26, 68, 16, 58, 39, -7, -32, -56, -51, -42, 2,
    -00162                 22, -3, -24, -48, -64, -54, -106, -117, -66, -52, -75, -43, -83, -70, -102, -81,
    -00163                 -61, -111, -128, -101, -38, -88, -75, -123, -81, -74, -64, -1, 47, 47, 90, 81,
    -00164                 72, 32, 72, 95, 114, 52, 38, -1, -15, -26, -74, -28, -15, 38, 34, 68, 88, 112,
    -00165                 58, -1, -51, -96, -50, -92, -85, -128, -128, -128, -128, -128, -114, -128, -128,
    -00166                 -128, -128, -128, -128, -128, -82, -100, -128, -128, -128, -70, -112, -64, -115,
    -00167                 -82, -70, -44, -90, -51, -9, 48, 95, 68, 32, -21, -59, -38, -55, -85, -34, -6,
    -00168                 36, -21, -8, 34, 59, 38, 40, 41, 22, 43, 17, 65, 17, -12, 26, 41, 53, -9, 18,
    -00169                 43, -19, 7, -2, 29, -14, -31, -62, -41, -41, -89, -128, -128, -128, -97, -125,
    -00170                 -113, -128, -128, -128, -97, -110, -80, -37, -82, -57, -41, -26, -20, 30, 26,
    -00171                 34, 27, -17, 23, -7, 49, 7, -10, 25, 12, 58, 33, 61, 29, -6, -56, -36, -39, -5,
    -00172                 29, 81, 48, 7, 46, 90, 78, 113, 90, 124, 127, 127, 127, 76, 87, 96, 88, 70, 49,
    -00173                 101, 83, 53, 27, 52, 89, 127, 110, 114, 91, 97, 59, 6, 32, 61, 23, -15, 0, 35,
    -00174                 -6, 16, 58, 63, 111, 127, 127, 127, 127, 127, 127, 127, 124, 125, 123, 127, 127,
    -00175                 127, 122, 117, 71, 106, 127, 127, 92, 81, 127, 127, 127, 127, 87, 87, 39, 50, 4,
    -00176                 -4, 4, 37, 52, 89, 41, 22, -35, -16, -64, -16, 32, -12, -4, 32, 53, 50, -5, 28,
    -00177                 23, 79, 78, 110, 116, 121, 76, 57, 82, 114, 57, 104, 120, 127, 116, 85, 32, 32,
    -00178                 65, 17, 59, 4, 46, 95, 88, 60, 90, 109, 95, 86, 110, 45, -3, 39, -11, 6, 7, 57,
    -00179                 3, 34, 19, 62, 76, 48, 66, 63, 13, -29, -30, 28, 11, -41, -68, -53, -85, -117,
    -00180                 -128, -128, -95, -120, -127, -105, -128, -95, -96, -68, -54, -71, -10, 6, 58,
    -00181                 63, 27, 76, 111, 123, 98, 95, 127, 88, 46, 82, 127, 67, 120, 127, 106, 127, 124,
    -00182                 82, 118, 103, 123, 102, 86, 114, 74, 38, -9, -23, -46, -48, -101, -106, -48,
    -00183                 -19, -20, -71, -56, -2, 44, 25, 61, 23, -12, -5, 53, 89, 36, 24, -32, 26, 35,
    -00184                 -12, -35, -19, -64, -93, -104, -122, -122, -128, -128, -113, -65, -22, -17, -8,
    -00185                 29, 58, -4, 5, -46, 4, 51, 54, 109, 44, 83, 55, 105, 127, 127, 127, 127, 127,
    -00186                 127, 104, 94, 110, 77, 100, 94, 127, 81, 127, 127, 127, 127, 127, 127, 82, 30,
    -00187                 -11, 37, 61, 10, -7, -20, 13, 53, 14, 69, 84, 37, 42, 59, 67, 108, 62, 45, -9,
    -00188                 -26, -54, -10, 7, 23, -32, -50, -53, -103, -82, -68, -67, -33, -16, -28, -48,
    -00189                 -32, -23, -41, -69, -120, -108, -85, -50, -42, -5, 28, 60, 43, 89, 59, 20, 7,
    -00190                 -37, -70, -103, -76, -94, -117, -88, -41, -49, -14, 23, 74, 34, 27, 80, 127,
    -00191                 127, 108, 126, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 97, 121,
    -00192                 102, 61, 72, 27, -31, 3, -55, -81, -51, -30, -3, 33, 18, -11, -43, -84, -57,
    -00193                 -53, -40, -53, -14, -53, -87, -96, -63, -47, -56, -23, -32, -87, -58, -80, -93,
    -00194                 -87, -71, -42, -65, -48, -66, -88, -56, -19, 16, 65, 113, 63, 18, 39, 80, 119,
    -00195                 70, 48, 30, -11, -58, -92, -61, -77, -76, -100, -109, -128, -128, -107, -53,
    -00196                 -34, 2, 33, 51, 39, 5, -41, -54, -24, 8, 40, -8, -63, -91, -61, -83, -128, -81,
    -00197                 -25, 20, 25, 59, 74, 122, 60, 103, 120, 70, 88, 127, 110, 78, 21, -28, 1, 59,
    -00198                 13, -37, -84, -59, -109, -50, -88, -107, -71, -93, -88, -25, 17, 25, 53, 69, 58,
    -00199                 39, 43, 23, 51, 29, 2, 41, 34, -19, -47, -38, -91, -59, -65, -103, -128, -72,
    -00200                 -85, -52, -70, -63, -108, -65, -116, -118, -125, -103, -88, -83, -128, -89, -51,
    -00201                 -16, 42, -4, -48, -90, -95, -99, -128, -128, -86, -62, -76, -69, -62, -9, -34,
    -00202                 23, 75, 27, 79, 22, 34, 13, -40, -63, -110, -64, -47, -95, -117, -128, -128,
    -00203                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00204                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -87,
    -00205                 -128, -95, -98, -106, -61, -81, -83, -35, 14, -5, 41, 80, 58, 42, -5, -15, 39,
    -00206                 60, 114, 127, 118, 70, 14, 22, -16, -26, -50, -96, -50, -30, 27, 32, 75, 47, -2,
    -00207                 -18, 3, -5, 39, 8, -40, -23, -15, -44, 10, 46, 95, 83, 127, 99, 72, 112, 53, 86,
    -00208                 26, 26, 12, -31, 23, 79, 34, 58, 20, -24, 18, 72, 27, 10, -35, -62, -43, 3, 48,
    -00209                 90, 112, 62, 85, 84, 102, 127, 98, 40, 54, -5, -55, -50, -58, -13, -69, -68,
    -00210                 -96, -106, -128, -128, -111, -88, -128, -128, -128, -128, -128, -111, -88, -105,
    -00211                 -61, -44, -39, -65, -24, -22, 6, 0, -55, -84, -59, -1, 21, 8, 49, 66, 102, 70,
    -00212                 51, -6, -60, -74, -98, -43, -9, -31, 10, 44, 71, 66, 3, -22, -24, -1, 38, 92,
    -00213                 94, 93, 103, 77, 43, 83, 122, 91, 73, 106, 52, 57, 74, 88, 69, 101, 63, 115, 89,
    -00214                 63, 9, -36, -30, -31, -78, -77, -98, -55, -30, -77, -117, -128, -128, -128,
    -00215                 -128, -128, -106, -128, -64, -103, -128, -128, -128, -73, -98, -128, -128, -128,
    -00216                 -128, -85, -58, -4, -33, 9, -19, -13, 46, 10, 24, -14, -56, -74, -28, -13, -39,
    -00217                 -94, -94, -46, -13, 14, 68, 53, 53, 73, 22, 66, 104, 103, 100, 127, 89, 49, -12,
    -00218                 43, 90, 111, 85, 115, 127, 89, 48, 20, -12, -25, -80, -75, -75, -89, -128, -128,
    -00219                 -128, -128, -128, -128, -117, -128, -128, -128, -128, -117, -102, -114, -83,
    -00220                 -44, -89, -78, -45, 13, 70, 117, 127, 127, 127, 127, 127, 127, 127, 124, 127,
    -00221                 106, 126, 127, 127, 119, 127, 127, 127, 127, 76, 45, 75, 101, 127, 127, 127,
    -00222                 127, 127, 127, 127, 127, 95, 76, 51, -9, -63, -93, -58, -57, -54, -40, -89,
    -00223                 -100, -60, -91, -128, -128, -76, -96, -33, -62, -2, 27, 10, 10, -3, 55, 93, 127,
    -00224                 69, 85, 37, -3, -43, -61, -9, -58, 3, 30, 25, -21, -68, -71, -39, -43, -4, 30,
    -00225                 10, 12, 45, 98, 127, 127, 127, 77, 112, 127, 127, 127, 127, 127, 127, 127, 127,
    -00226                 97, 115, 82, 29, 65, 5, -37, 20, 42, 32, 21, 33, 45, 61, 36, 59, 50, 100, 106,
    -00227                 117, 123, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00228                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 113,
    -00229                 118, 121, 127, 121, 80, 44, 75, 116, 127, 127, 127, 127, 119, 127, 91, 74, 62,
    -00230                 51, 54, 84, 125, 127, 122, 71, 122, 69, 40, 87, 36, 61, 96, 127, 98, 47, 84, 85,
    -00231                 122, 99, 71, 106, 108, 113, 114, 127, 115, 89, 120, 109, 127, 127, 104, 71, 108,
    -00232                 80, 99, 114, 77, 14, 3, -31, -32, -75, -67, -112, -119, -90, -44, -15, -35, -81,
    -00233                 -76, -17, -9, 26, 11, 49, 66, 43, 79, 16, 8, -36, -52, -29, -67, -113, -108,
    -00234                 -46, -100, -44, -56, -2, -11, -62, -21, -10, -34, -29, 18, 33, 41, 90, 92, 87,
    -00235                 104, 83, 28, -21, -10, 16, 62, 59, 18, 22, 1, -28, -40, -35, 25, 5, 52, 46, 41,
    -00236                 20, 3, -30, -14, -57, -84, -25, 35, 37, 33, 56, -4, 2, -3, -42, -25, -76, -68,
    -00237                 -50, -84, -64, -11, 34, -9, -39, -32, 6, 8, -14, 44, 6, -2, -46, -8, -40, -75,
    -00238                 -69, -88, -88, -101, -128, -128, -83, -106, -128, -116, -111, -75, -97, -56, 5,
    -00239                 -43, -79, -128, -99, -108, -105, -119, -122, -87, -89, -42, -67, -89, -119, -98,
    -00240                 -128, -128, -128, -124, -115, -57, -77, -66, -78, -57, -82, -62, -42, -65, -55,
    -00241                 -93, -95, -97, -96, -128, -87, -128, -128, -128, -108, -109, -46, -38, -65,
    -00242                 -110, -93, -78, -124, -128, -128, -128, -128, -128, -92, -114, -128, -82, -112,
    -00243                 -58, -19, -30, 10, -34, -10, -41, -2, -12, 47, 82, 24, 20, 37, -19, -49, -80,
    -00244                 -101, -122, -119, -128, -128, -128, -128, -128, -128, -113, -113, -59, -29, -73,
    -00245                 -42, -63, -106, -46, -68, -109, -128, -104, -48, -22, 22, -19, 29, 51, 91, 116,
    -00246                 127, 123, 60, 28, 27, 58, 31, 72, 82, 76, 37, 46, 0, -41, 18, 62, 73, 34, 10,
    -00247                 66, 87, 25, 33, 26, -23, -23, -31, -44, -73, -38, 7, 39, -6, -19, -50, 7, -27,
    -00248                 -40, -94, -118, -74, -90, -97, -128, -80, -51, -91, -87, -42, -11, -7, 21, -15,
    -00249                 29, -12, -47, -52, -98, -39, -85, -91, -91, -35, -79, -75, -113, -69, -50, -42,
    -00250                 -35, -33, -51, -4, 43, 33, 46, 40, 39, 75, 71, 33, -11, 21, -22, -52, -10, -61,
    -00251                 -107, -128, -113, -107, -128, -128, -124, -128, -122, -82, -81, -50, -33, -18,
    -00252                 -48, 3, -21, -21, -57, -43, -47, -77, -128, -78, -91, -75, -78, -53, -38, -32,
    -00253                 17, 46, 58, 6, -33, -12, 27, 13, 52, 40, 57, 49, 74, 48, 84, 90, 35, 72, 29, 53,
    -00254                 64, 3, 53, 73, 59, 1, 30, 57, 28, 12, -47, -16, 26, -31, -19, -28, -56, 5, 25,
    -00255                 66, 46, 51, -5, -47, -81, -75, -13, 45, -1, -25, -79, -33, -25, -50, -68, -26,
    -00256                 17, -6, -59, -49, 0, 37, 82, 127, 74, 39, 53, 101, 127, 127, 127, 127, 127, 127,
    -00257                 127, 127, 127, 82, 25, 76, 66, 3, 45, 71, 123, 127, 88, 63, 81, 33, -12, 15, 55,
    -00258                 12, 61, 55, 87, 127, 127, 127, 111, 127, 92, 93, 80, 96, 55, 44, 59, 71, 114,
    -00259                 111, 127, 127, 127, 127, 127, 110, 127, 127, 97, 39, -12, -64, -76, -55, -26,
    -00260                 -54, -45, -56, -2, 20, 38, 51, 7, -18, -63, -97, -49, -79, -96, -92, -128, -123,
    -00261                 -107, -89, -105, -65, -105, -55, -2, -6, -17, -74, -76, -89, -52, 3, 33, 57, 75,
    -00262                 78, 48, 102, 73, 30, 14, -32, -68, -70, -66, -97, -109, -68, -6, -6, -20, -23,
    -00263                 -6, -50, -9, -13, -19, -37, -89, -36, -6, 24, 15, 35, 79, 124, 75, 94, 127, 98,
    -00264                 58, 102, 112, 54, 35, 8, -43, 14, 64, 75, 105, 65, 95, 88, 98, 90, 124, 127,
    -00265                 101, 111, 114, 81, 79, 49, 69, 63, 94, 80, 69, 47, 73, 27, 6, -21, -77, -95,
    -00266                 -60, -91, -27, -73, -118, -61, -59, -13, 22, 29, -25, 30, 85, 114, 74, 13, -30,
    -00267                 -16, 16, -27, -79, -25, 13, -26, -82, -127, -82, -63, -10, 21, -2, 38, 86, 21,
    -00268                 61, 61, 111, 127, 102, 110, 53, 87, 43, 74, 66, 58, 9, 34, -3, -32, -21, -69,
    -00269                 -51, -20, 11, 6, 20, 61, 57, 102, 127, 127, 112, 127, 127, 85, 127, 116, 90, 37,
    -00270                 -3, 40, 23, 74, 21, 43, 97, 72, 67, 76, 108, 61, 68, 70, 68, 29, 64, 73, 121,
    -00271                 127, 107, 86, 35, 16, 14, 37, 1, -50, -19, 32, 13, 29, 39, 56, 74, 36, 75, 100,
    -00272                 83, 37, 64, 58, 29, 72, 79, 74, 125, 127, 97, 88, 61, 66, 113, 91, 28, 34, -20,
    -00273                 -65, -73, -30, -35, 19, 53, 8, 61, 1, 25, 66, 16, 15, 33, 61, 93, 80, 116, 109,
    -00274                 109, 123, 65, 15, -43, -89, -52, -21, -47, -97, -103, -128, -95, -94, -128,
    -00275                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00276                 -128, -128, -128, -128, -94, -61, -74, -70, -100, -111, -78, -120, -57, -51,
    -00277                 -36, -80, -98, -42, -5, -55, -100, -39, 6, 39, 52, 67, 70, 117, 91, 113, 127,
    -00278                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00279                 127, 127, 127, 127, 108, 111, 127, 127, 127, 127, 127, 127, 127, 127, 127, 115,
    -00280                 90, 96, 61, 77, 24, 28, 46, 39, 76, 127, 113, 120, 127, 103, 75, 61, 8, -10,
    -00281                 -54, -108, -113, -71, -80, -128, -110, -71, -17, -60, -72, -82, -92, -61, -77,
    -00282                 -65, -81, -21, -23, 25, 38, -12, 21, 40, 26, 71, 67, 78, 42, 95, 63, 107, 127,
    -00283                 127, 111, 47, 67, 19, 55, 77, 48, 2, 26, 65, 50, 13, -18, -73, -99, -46, -47,
    -00284                 -77, -97, -128, -124, -104, -57, -97, -49, -2, 15, -28, -82, -84, -84, -58, -24,
    -00285                 16, -30, -50, -58, -108, -102, -41, -71, -65, -29, -18, 37, 13, -5, -49, -71,
    -00286                 -54, -98, -124, -86, -63, -68, -96, -81, -72, -9, -42, -84, -84, -116, -128,
    -00287                 -121, -83, -45, -32, -64, -105, -114, -123, -128, -128, -128, -128, -128, -128,
    -00288                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -113, -128, -128, -128,
    -00289                 -128, -128, -128, -102, -86, -125, -128, -128, -128, -128, -128, -99, -51, -57,
    -00290                 -89, -55, -94, -106, -124, -109, -123, -78, -66, -46, 10, 10, 9, 14, -21, -51,
    -00291                 -99, -70, -82, -92, -97, -128, -128, -128, -128, -128, -128, -123, -128, -114,
    -00292                 -87, -25, -47, -70, -85, -115, -128, -128, -115, -57, -67, -34, -17, 7, -17, 33,
    -00293                 -24, -56, -42, -95, -75, -90, -128, -109, -86, -58, -49, -41, -19, 10, 49, -8,
    -00294                 -61, -82, -47, -79, -117, -128, -128, -80, -32, 8, -50, -23, -55, -52, -9, -53,
    -00295                 -73, -87, -60, -29, -84, -101, -51, -40, -50, -61, -11, -43, -57, -100, -37, 10,
    -00296                 45, 55, 19, 44, 92, 72, 12, -23, -10, -36, -69, -44, -81, -21, 20, 19, -6, -36,
    -00297                 -27, -19, 36, 20, 62, 70, 33, -21, 2, 9, 9, 25, 77, 54, 32, 49, 22, 50, 79, 98,
    -00298                 95, 75, 103, 102, 120, 76, 121, 83, 41, 81, 67, 32, 74, 58, 70, 66, 61, 112,
    -00299                 127, 127, 127, 127, 127, 127, 127, 101, 123, 60, 105, 127, 127, 127, 127, 127,
    -00300                 127, 127, 127, 109, 127, 92, 55, 102, 127, 127, 107, 57, 76, 56, 14, 10, 51, 73,
    -00301                 94, 93, 45, 58, 7, 35, 44, 2, -12, -30, -42, -28, -23, -25, -28, -46, -77, -77,
    -00302                 -33, 23, 14, 5, -21, -32, 13, 60, 81, 37, 67, 63, 105, 115, 122, 127, 127, 127,
    -00303                 127, 127, 127, 127, 120, 127, 61, 92, 127, 88, 92, 38, 93, 102, 74, 33, 76, 38,
    -00304                 35, 82, 78, 79, 107, 65, 81, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00305                 123, 127, 127, 121, 114, 127, 127, 127, 127, 127, 75, 105, 91, 29, 43, -2, -5,
    -00306                 27, 4, 13, 65, 66, 91, 120, 127, 123, 112, 127, 90, 127, 97, 100, 88, 115, 127,
    -00307                 127, 118, 84, 108, 98, 127, 127, 127, 123, 108, 95, 68, 50, 64, 12, 58, 52, 79,
    -00308                 29, 74, 82, 44, 9, 47, 64, 82, 73, 126, 127, 86, 92, 53, 34, 89, 115, 84, 67,
    -00309                 44, 13, 18, -31, -16, -71, -58, -63, -96, -49, -12, -30, 1, -15, 18, 35, -6,
    -00310                 -22, -39, -35, 3, -11, 32, 43, -17, 3, -50, -85, -115, -114, -75, -104, -107,
    -00311                 -128, -124, -117, -96, -126, -128, -113, -59, -41, -18, -49, -1, 47, 81, 26, 67,
    -00312                 25, 21, 35, 12, -9, -28, 15, -37, -32, 3, -44, -88, -63, -113, -58, -14, 23,
    -00313                 -13, -22, -40, -85, -110, -112, -128, -91, -119, -123, -128, -126, -70, -41, -3,
    -00314                 -26, 2, 49, 62, 88, 31, -10, -13, 19, 15, -11, 8, 32, 86, 57, 33, -5, 36, 64,
    -00315                 13, 24, 41, 33, 31, 40, -18, -74, -118, -128, -94, -109, -107, -63, -117, -77,
    -00316                 -107, -43, -77, -85, -126, -70, -25, -39, -29, -1, -32, -49, -94, -125, -89,
    -00317                 -42, 12, -26, 15, 70, 113, 93, 108, 86, 83, 44, 94, 113, 54, 35, 13, 3, -26, 25,
    -00318                 9, -36, -38, -57, -89, -109, -86, -42, -75, -29, -25, -30, -28, -34, -3, -6,
    -00319                 -48, 7, 22, -12, 7, -17, 9, -24, 2, 42, -15, -37, -51, -63, -20, 6, 56, 106, 59,
    -00320                 94, 127, 73, 104, 86, 127, 127, 127, 127, 127, 91, 67, 51, 36, 70, 69, 43, -17,
    -00321                 -21, -65, -15, -45, -52, -2, -10, 37, -1, -33, -5, -57, -74, -69, -70, -111,
    -00322                 -86, -112, -93, -72, -21, 38, 91, 55, 72, 25, -35, -77, -85, -45, -12, 27, 70,
    -00323                 10, 47, 94, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00324                 127, 127, 127, 127, 127, 127, 127, 127, 117, 55, 8, 43, 91, 49, -7, -11, 3, 53,
    -00325                 65, 24, -4, 52, 32, 82, 115, 79, 110, 110, 53, 99, 51, 97, 104, 127, 69, 119,
    -00326                 89, 61, 35, 60, 10, -21, -69, -55, -40, 12, -40, 9, 65, 111, 56, 96, 114, 88,
    -00327                 63, 37, 29, -14, -34, -84, -78, -123, -87, -126, -128, -128, -128, -128, -110,
    -00328                 -121, -128, -128, -128, -123, -61, -75, -22, -78, -110, -128, -128, -119, -79,
    -00329                 -98, -79, -118, -118, -74, -83, -53, 4, -45, 8, -5, -42, 8, 26, 42, 43, 4, 49,
    -00330                 11, 11, 45, 67, 35, -8, -22, -43, 6, 46, 28, -16, -45, -34, -57, -58, -58, 2,
    -00331                 -30, -25, -19, -12, -41, -9, -46, -20, 7, 16, 36, 66, 69, 99, 127, 127, 127,
    -00332                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00333                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00334                 127, 127, 127, 127, 118, 52, 99, 40, 28, 12, 26, -30, 10, -42, -20, 1, -18, 13,
    -00335                 -6, 35, 60, 100, 83, 57, -5, 35, -16, 16, 23, 34, 8, -7, -52, 9, -12, -55, -65,
    -00336                 -116, -123, -128, -93, -85, -101, -122, -111, -65, -67, -73, -29, -74, -72, -66,
    -00337                 -84, -122, -117, -128, -128, -128, -128, -128, -122, -128, -67, -91, -128, -87,
    -00338                 -128, -78, -53, -93, -31, -17, 40, 1, 26, 16, 44, 58, 30, 2, -57, -45, -54, -94,
    -00339                 -125, -128, -128, -121, -93, -123, -75, -71, -101, -73, -122, -74, -21, -73,
    -00340                 -90, -39, -66, -28, 18, 52, 49, 67, 105, 115, 117, 127, 112, 127, 111, 121, 105,
    -00341                 40, 69, 47, 29, 37, 19, 46, 12, 69, 119, 97, 78, 46, 40, 29, 38, 58, 105, 127,
    -00342                 127, 127, 127, 60, 97, 127, 114, 127, 127, 127, 127, 127, 127, 127, 91, 78, 102,
    -00343                 127, 108, 68, 28, 55, 93, 108, 127, 76, 127, 127, 88, 36, 89, 37, 4, 60, 64, 98,
    -00344                 114, 91, 103, 72, 29, 62, 73, 102, 96, 89, 42, 40, 21, -36, 15, -19, -67, -88,
    -00345                 -80, -68, -65, -105, -46, -21, 2, -54, -106, -128, -128, -128, -94, -100, -45,
    -00346                 -10, 34, 65, 14, 25, -25, -66, -97, -62, -101, -111, -114, -104, -49, -4, 32,
    -00347                 38, 7, -15, 16, 54, -4, 8, -40, -46, -24, -60, -104, -41, -38, -8, 40, 20, -27,
    -00348                 -45, -87, -42, -16, 8, 19, 62, 106, 88, 93, 90, 76, 94, 41, 82, 27, 47, 91, 27,
    -00349                 -32, -62, -14, 35, 89, 122, 127, 127, 127, 127, 127, 127, 127, 96, 65, 5, 14,
    -00350                 -8, 27, 55, 14, -2, -26, -69, -8, -30, -44, 7, 17, -16, -21, -34, -35, -67,
    -00351                 -105, -117, -122, -128, -111, -59, -25, -12, 41, -14, -42, -90, -26, -15, -65,
    -00352                 -93, -108, -44, -86, -47, -90, -127, -128, -128, -128, -128, -110, -112, -64,
    -00353                 -109, -80, -31, -73, -67, -66, -85, -109, -47, -94, -81, -80, -113, -63, -3, 8,
    -00354                 11, 28, -21, 36, -6, -47, -90, -125, -109, -76, -98, -128, -109, -128, -128,
    -00355                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00356                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00357                 -128, -124, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00358                 -128, -128, -124, -128, -128, -128, -128, -128, -114, -81, -122, -93, -115, -82,
    -00359                 -26, 29, 6, 6, 62, 33, -7, -38, -70, -67, -31, 7, 57, 28, 44, 1, -7, 44, -12, 6,
    -00360                 45, 58, 10, 5, 58, 90, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00361                 121, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00362                 127, 127, 127, 127, 127, 127, 127, 127, 123, 127, 105, 66, 42, 26, 28, 33, -10,
    -00363                 11, -19, -55, -104, -63, -23, -18, -42, -63, -34, -58, -29, 18, 35, 4, 54, 77,
    -00364                 28, 9, -42, -60, -38, -72, -17, 35, -2, -15, -44, 17, 15, 57, 26, 46, 5, -4,
    -00365                 -16, 16, 37, 65, 9, -25, -54, -21, -55, -33, -80, -116, -128, -128, -91, -128,
    -00366                 -128, -128, -87, -128, -109, -87, -45, -62, -46, 6, -6, -33, 6, 37, 93, 111, 99,
    -00367                 46, 3, -45, -38, -51, 5, 50, 88, 66, 7, -35, 17, 18, 67, 47, -1, 12, -32, 23,
    -00368                 26, -5, -55, -36, -11, 15, 72, 88, 109, 73, 23, 10, 35, -19, -64, -4, -55, -89,
    -00369                 -39, -68, -12, -42, 3, 25, 80, 60, 60, 77, 52, 16, 71, 79, 80, 19, -6, -54, 0,
    -00370                 -42, -44, -61, -114, -47, -98, -67, -8, -15, -34, -81, -24, 3, -37, -19, -49,
    -00371                 10, -49, -1, 21, 28, 6, -3, 54, -7, 36, 22, 76, 78, 18, -34, -47, -27, 1, -32,
    -00372                 -81, -97, -37, 1, 34, 54, 2, 59, 77, 66, 84, 97, 123, 69, 102, 68, 85, 47, 17,
    -00373                 -4, -40, -6, 31, 9, -28, 31, 55, 88, 92, 104, 90, 100, 72, 111, 45, 61, 36, -25,
    -00374                 -31, 14, 48, 35, 29, 5, 7, 47, 48, 14, -27, -78, -44, -56, -29, -19, 24, 74,
    -00375                 115, 115, 67, 41, 53, 72, 123, 122, 103, 89, 52, 65, 117, 127, 77, 127, 99, 105,
    -00376                 49, 2, 31, 50, 29, -7, 20, -2, 0, -51, -50, -20, -25, 30, -14, -23, -66, -114,
    -00377                 -128, -119, -128, -128, -128, -128, -128, -87, -101, -74, -91, -128, -128, -128,
    -00378                 -128, -128, -128, -128, -128, -128, -128, -94, -82, -18, 4, -48, -46, -94, -89,
    -00379                 -75, -23, -65, -36, -1, 53, 57, 47, 91, 69, 86, 99, 59, 24, -6, 25, 49, 55, 78,
    -00380                 43, 14, 40, 58, 57, 3, 30, 25, 46, -6, -36, 24, -29, -75, -115, -50, -74, -80,
    -00381                 -62, -64, -74, -50, -2, -3, 35, 12, -2, 36, 85, 91, 75, 43, 85, 54, 68, 80, 67,
    -00382                 27, 15, 63, 85, 62, 113, 95, 112, 52, 7, 56, 5, 10, -21, -22, -44, -49, -23,
    -00383                 -10, 4, -8, -26, -60, -50, 0, 28, 10, 38, 63, 108, 112, 116, 127, 126, 127, 127,
    -00384                 127, 100, 127, 127, 127, 127, 127, 127, 120, 127, 127, 127, 127, 127, 127, 127,
    -00385                 127, 127, 127, 127, 127, 127, 127, 127, 114, 101, 45, 72, 103, 44, 91, 82, 116,
    -00386                 110, 127, 127, 127, 106, 56, 11, 2, -35, -40, -32, -2, -54, -79, -128, -128,
    -00387                 -128, -128, -128, -128, -128, -128, -128, -109, -59, -2, -26, 7, -28, 31, 44,
    -00388                 13, -26, 22, 7, -25, 14, -18, -23, 36, 38, 6, -12, -46, -46, -73, -11, -10, -7,
    -00389                 -3, 24, 50, -2, 23, 19, 18, 4, 20, -35, 12, 34, 8, 60, 5, 20, 73, 31, -5, -52,
    -00390                 -97, -45, -7, 24, 63, 110, 127, 127, 127, 127, 122, 96, 117, 125, 63, 14, 49, 5,
    -00391                 38, 80, 49, 96, 97, 31, 17, -9, -41, -94, -128, -128, -128, -128, -128, -128,
    -00392                 -128, -123, -105, -42, -16, -59, -57, -78, -49, -8, -33, -7, -31, -32, -15, -57,
    -00393                 -17, 27, 36, 50, 35, -1, 45, 67, 119, 78, 67, 109, 127, 106, 118, 127, 127, 127,
    -00394                 127, 127, 90, 117, 127, 91, 40, 8, -36, -23, -37, -48, -28, 29, 56, 10, 18, 26,
    -00395                 -17, 34, 51, 28, -27, -5, -40, 5, 28, 39, 92, 127, 127, 127, 127, 94, 127, 127,
    -00396                 127, 127, 127, 127, 127, 127, 127, 116, 94, 71, 98, 127, 73, 116, 127, 127, 127,
    -00397                 77, 84, 106, 120, 127, 107, 111, 67, 59, 95, 127, 120, 123, 99, 77, 47, 92, 90,
    -00398                 90, 127, 127, 94, 109, 91, 41, 85, 22, -33, 7, 57, 53, 65, 90, 127, 127, 94,
    -00399                 122, 109, 92, 127, 127, 127, 127, 110, 127, 100, 50, 88, 127, 103, 126, 127,
    -00400                 127, 118, 127, 113, 92, 116, 51, 2, -22, 12, 41, -5, -58, -87, -80, -96, -90,
    -00401                 -115, -87, -69, -57, -44, 4, 53, 56, 105, 127, 127, 127, 127, 123, 76, 99, 118,
    -00402                 107, 69, 57, 35, -20, 25, 51, 3, 10, -30, -12, -2, -26, 17, 41, 37, -1, -30,
    -00403                 -39, -94, -52, -12, 31, 59, 35, 3, 35, 9, 53, 105, 122, 127, 127, 127, 114, 127,
    -00404                 73, 33, 42, 50, 44, 53, 58, 37, 10, 49, 78, 109, 62, 76, 31, 6, 35, 12, -22,
    -00405                 -49, 13, 21, 56, 9, -45, 3, 4, -1, 17, 10, 35, -26, -19, 28, 67, 16, 47, 31, 46,
    -00406                 4, -47, -43, -41, -9, -15, -56, -109, -128, -128, -104, -62, -34, 9, 50, 97,
    -00407                 127, 122, 58, 38, 1, -15, -64, -89, -102, -114, -128, -63, -14, -25, -34, -66,
    -00408                 -66, -43, -36, -23, 15, -19, 27, -32, -53, -90, -62, -89, -112, -83, -50, -7,
    -00409                 -52, -41, -93, -58, -109, -61, -27, -5, 20, 59, 50, 47, 70, 98, 92, 66, 83, 39,
    -00410                 75, 51, -3, -28, -71, -26, -48, -49, -67, -47, -48, -71, -108, -63, -81, -66,
    -00411                 -51, -33, -46, -87, -37, -30, -50, -45, -51, -103, -95, -69, -84, -37, -85, -80,
    -00412                 -80, -33, -88, -81, -111, -128, -97, -52, -39, -40, -6, -44, -94, -57, 4, -43,
    -00413                 2, 22, 69, 14, 42, 83, 106, 60, 114, 97, 100, 94, 69, 19, -21, 31, 35, 65, 60,
    -00414                 18, -3, -56, -12, 12, 32, 39, -19, -55, -92, -121, -128, -128, -128, -128, -128,
    -00415                 -128, -107, -123, -124, -68, -69, -62, -88, -66, -112, -65, -4, -21, -25, 7,
    -00416                 -11, -6, -61, -5, -25, -78, -61, -28, -45, -7, 8, 58, 94, 127, 85, 52, 37, 29,
    -00417                 64, 116, 117, 51, 91, 88, 112, 68, 77, 75, 47, 97, 127, 127, 125, 127, 127, 127,
    -00418                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 89, 62, 89, 93,
    -00419                 71, 59, 79, 97, 90, 125, 103, 59, 69, 52, 5, -36, -36, -58, -95, -111, -128,
    -00420                 -128, -126, -81, -123, -65, -44, -43, -95, -112, -121, -97, -70, -109, -80, -41,
    -00421                 6, -43, -12, -69, -73, -101, -128, -101, -69, -94, -128, -102, -128, -128, -128,
    -00422                 -128, -128, -128, -128, -100, -74, -122, -65, -80, -116, -52, -104, -51, -41,
    -00423                 -24, 22, 42, 74, 70, 41, 37, -12, 37, 64, 24, -3, 50, 11, 14, -12, 37, 79, 70,
    -00424                 38, 28, -7, -22, -54, -81, -55, -19, -25, -38, -74, -63, -92, -77, -25, -80,
    -00425                 -48, -54, -69, -93, -86, -94, -72, -14, 3, -9, 15, -5, 48, 28, 3, -17, 0, 28,
    -00426                 -3, -46, 15, 52, 69, 57, 89, 95, 100, 87, 107, 97, 72, 26, 22, 51, 46, 62, 12,
    -00427                 62, 31, -23, 14, -16, 10, -17, 0, -27, -74, -115, -128, -111, -77, -115, -104,
    -00428                 -94, -128, -110, -128, -128, -128, -118, -128, -104, -114, -64, -27, 2, -30,
    -00429                 -52, -29, 20, 54, 22, 47, 29, 27, -32, 13, -18, 36, 10, -11, -41, -83, -22, 14,
    -00430                 -13, 47, 45, 84, 127, 127, 127, 110, 127, 127, 94, 127, 85, 127, 127, 127, 76,
    -00431                 94, 127, 127, 121, 124, 127, 108, 115, 127, 89, 79, 114, 93, 79, 39, 72, 124,
    -00432                 127, 127, 127, 118, 127, 106, 88, 75, 62, 63, 20, 0, -47, -32, -58, -62, 0, -3,
    -00433                 25, 50, 63, 109, 98, 127, 127, 127, 127, 127, 122, 100, 46, 59, 54, -7, -39,
    -00434                 -66, -69, -25, -1, -57, -85, -45, -99, -38, -69, -34, -46, -23, -6, -26, -23,
    -00435                 -18, -23, -14, -48, 5, -36, -15, 15, -20, 10, 22, 46, 43, 30, 74, 86, 78, 91,
    -00436                 91, 127, 82, 52, 82, 31, 22, 52, 78, 23, -19, -63, -57, -28, -20, -32, -10, 38,
    -00437                 65, 2, 13, -17, -15, -29, -80, -87, -72, -122, -128, -128, -128, -128, -85,
    -00438                 -119, -128, -128, -128, -128, -128, -108, -91, -111, -128, -90, -128, -114, -64,
    -00439                 -72, -31, -67, -21, 1, -15, 39, 43, 3, -10, 11, 7, -21, -28, 13, 31, 82, 95, 99,
    -00440                 62, 103, 59, 1, 28, -11, 39, 82, 50, 8, 35, 62, 22, 55, 40, 35, 3, -54, -13,
    -00441                 -26, 11, -41, -26, -46, -34, -45, -15, -29, 26, 7, 26, 18, -28, -71, -17, -20,
    -00442                 17, -3, 34, -5, -5, -8, 8, -5, 53, 1, 45, 25, -23, 15, -23, -60, -17, -15, -1,
    -00443                 30, 52, 49, 16, -11, -51, -41, -53, -87, -30, -15, 28, 31, 72, 57, 63, 25, 31,
    -00444                 27, 29, -27, 29, 28, 72, 30, 11, -36, -51, -44, 14, 8, 23, 41, 85, 120, 87, 26,
    -00445                 23, -20, -1, 9, -47, 12, -44, 5, -30, 1, -21, 26, -21, -21, -20, 8, -7, -12,
    -00446                 -28, -76, -21, 17, -22, -18, -16, -18, 9, 13, 44, 38, 57, 86, 110, 81, 103, 71,
    -00447                 15, 6, 47, -5, 27, -3, 52, -1, -49, -69, -115, -128, -128, -118, -114, -102,
    -00448                 -128, -86, -58, 1, -31, -47, -75, -74, -83, -39, -3, -36, -86, -122, -127, -128,
    -00449                 -106, -92, -62, -18, -37, -47, -62, -83, -95, -104, -68, -109, -44, -93, -55, 2,
    -00450                 3, -4, 19, -30, 12, -24, 32, 38, 85, 94, 79, 75, 22, 65, 64, 3, 29, 27, 49, 72,
    -00451                 62, 56, 10, 39, 9, 59, 77, 112, 104, 127, 98, 127, 127, 111, 70, 68, 111, 112,
    -00452                 109, 77, 111, 122, 73, 117, 91, 81, 121, 111, 127, 66, 44, 43, 93, 39, 17, -9,
    -00453                 -15, -7, -25, 14, -19, -50, -13, 24, -23, -68, -8, -28, -40, -16, -46, -28, -41,
    -00454                 -11, -4, 22, -8, -50, -46, -37, -73, -33, -61, -113, -90, -83, -123, -102, -128,
    -00455                 -125, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -90, -40, -26,
    -00456                 -29, 31, 34, 30, 9, 35, -24, 31, 36, 51, 83, 94, 42, 51, 67, 106, 81, 124, 101,
    -00457                 54, 21, -27, 12, 43, 5, -33, -33, 27, 25, 49, 32, 21, 12, -40, -10, -46, -99,
    -00458                 -128, -120, -102, -55, -59, -71, -87, -87, -51, -42, -61, -93, -92, -114, -86,
    -00459                 -52, -38, -26, -14, 11, 39, 70, 40, 64, 44, 94, 91, 68, 21, 39, 32, -27, -42, 2,
    -00460                 -10, -61, -91, -123, -128, -124, -63, -49, -32, -13, -63, -92, -128, -128, -128,
    -00461                 -128, -128, -115, -122, -120, -122, -104, -78, -128, -121, -61, -24, 16, 55, -4,
    -00462                 5, 63, 76, 20, 74, 89, 68, 52, 97, 48, -13, 28, 80, 85, 39, 17, 46, 76, 40, 30,
    -00463                 72, 36, 19, -33, 2, -23, -73, -40, -88, -95, -127, -128, -128, -128, -128, -83,
    -00464                 -60, -102, -105, -128, -91, -47, -92, -99, -84, -76, -52, -97, -74, -57, -31,
    -00465                 -28, -6, 41, 25, 29, -28, -10, -18, -27, 22, 62, 54, 101, 127, 127, 127, 127,
    -00466                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 115, 122, 127, 93,
    -00467                 71, 75, 72, 108, 123, 127, 127, 127, 127, 80, 122, 78, 101, 71, 68, 66, 96, 122,
    -00468                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00469                 127, 127, 127, 127, 127, 127, 127, 127, 109, 127, 127, 90, 38, 47, 77, 56, 25,
    -00470                 -14, 37, 75, 38, 30, -6, 43, 52, 104, 127, 74, 96, 31, -4, -10, 30, -21, 25, 9,
    -00471                 49, 101, 127, 83, 31, 15, 8, 32, 61, 17, -42, -32, -8, 9, 10, -3, 4, 37, 2, -41,
    -00472                 -95, -111, -117, -89, -60, -45, -78, -90, -115, -88, -128, -128, -128, -91, -89,
    -00473                 -38, 22, -18, 23, 64, 69, 8, 3, 43, -18, -63, -17, -8, -38, -58, -42, -91, -96,
    -00474                 -128, -110, -128, -118, -127, -65, -44, -16, -4, 53, 35, 25, -2, -9, -26, -22,
    -00475                 -36, -63, -13, -16, 34, 61, 73, 87, 87, 74, 100, 106, 66, 13, -14, -39, -35,
    -00476                 -40, -86, -96, -59, -93, -35, 0, -1, 51, 37, 58, 105, 127, 80, 103, 120, 94, 74,
    -00477                 13, -34, -14, -41, -49, -66, -73, -39, 15, 50, 77, 107, 127, 65, 26, 59, 110,
    -00478                 127, 127, 127, 127, 84, 55, 69, 62, 57, 18, -21, -8, -22, -7, -26, -47, -47,
    -00479                 -60, -110, -128, -128, -100, -124, -128, -128, -128, -100, -67, -8, -26, -30,
    -00480                 -38, -14, -54, -2, -24, -46, -15, -7, 23, 55, 72, 22, -19, 17, 38, -22, 36, -1,
    -00481                 6, -50, -7, 5, -16, -65, -100, -70, -99, -128, -128, -90, -51, 3, 24, 21, 17, 8,
    -00482                 -7, 45, 97, 97, 52, 11, -17, -61, -114, -94, -31, -57, -10, -48, -37, -6, -51,
    -00483                 -50, -58, -12, -31, 0, -23, -6, -33, -57, -83, -19, -42, 4, 62, 37, 15, -14,
    -00484                 -32, 17, 29, -12, -8, 13, 6, -20, -32, 0, -54, -41, -90, -68, -111, -48, -85,
    -00485                 -57, -78, -36, -50, -60, -15, 2, 21, 5, 10, -8, -18, -30, 28, 1, 58, 100, 96,
    -00486                 52, 65, 98, 127, 90, 75, 61, 94, 113, 64, 66, 61, 106, 122, 127, 127, 127, 79,
    -00487                 32, 30, 80, 112, 127, 127, 127, 127, 72, 27, 52, 105, 53, 83, 47, -5, -34, -81,
    -00488                 -23, -10, -15, 39, 57, 7, -28, 17, 19, 45, 35, 24, 77, 40, 4, -47, 12, 30, 18,
    -00489                 64, 79, 24, -34, -7, 7, -37, -43, -52, -91, -44, -96, -105, -96, -40, -78, -62,
    -00490                 -96, -90, -37, -4, -27, -53, -6, 17, 11, -28, -75, -20, -55, -76, -115, -84,
    -00491                 -86, -59, -91, -66, -36, -27, -81, -120, -128, -128, -128, -128, -128, -85, -62,
    -00492                 -101, -128, -128, -128, -128, -128, -128, -96, -111, -71, -68, -13, 11, 41, 26,
    -00493                 -6, -3, -29, -39, 19, 76, 102, 67, 83, 59, 104, 112, 108, 57, 96, 112, 127, 127,
    -00494                 127, 87, 39, 77, 38, 83, 97, 86, 104, 96, 45, 36, -13, 5, 31, 37, -2, -44, -2,
    -00495                 -7, 34, 29, 80, 63, 115, 127, 127, 127, 127, 127, 111, 95, 49, 3, 34, 56, 40,
    -00496                 19, -35, -6, 29, 75, 71, 100, 41, 46, 92, 53, 90, 48, 42, 13, -1, 20, -8, -14,
    -00497                 -41, -25, 13, -39, -86, -67, -30, -38, -48, 3, 15, 33, 88, 89, 122, 69, 61, 27,
    -00498                 21, -20, -14, -34, 18, 29, 44, 2, 10, 58, 9, 3, -20, -4, 46, -6, 6, -39, -68,
    -00499                 -61, -54, -41, -45, -17, 3, -15, 0, 44, 84, 100, 41, 67, 28, 62, 89, 118, 127,
    -00500                 127, 127, 127, 127, 96, 66, 78, 97, 126, 89, 45, 40, 83, 127, 93, 96, 53, 22,
    -00501                 18, -24, -40, -48, -71, -87, -35, -29, 12, 69, 50, 91, 90, 127, 127, 127, 127,
    -00502                 127, 127, 127, 127, 114, 127, 127, 127, 127, 76, 42, 20, 57, 80, 102, 64, 24, 2,
    -00503                 -42, -95, -112, -101, -61, -51, -65, -114, -96, -110, -116, -91,
    -00504         };
    -00505 
    -00506 #endif /* BROWNNOISE8192_H_ */
    -
    - - - - +
    1 #ifndef BROWNNOISE8192_H_
    +
    2 #define BROWNNOISE8192_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 /* Brown noise generated in Audacity
    +
    12 */
    +
    13 
    +
    14 #define BROWNNOISE8192_NUM_CELLS 8192
    +
    15 #define BROWNNOISE8192_SAMPLERATE 8192
    +
    16 
    +
    17 const char __attribute__((progmem)) BROWNNOISE8192_DATA [] =
    +
    18  {
    +
    19  54, 75, 42, 8, 11, 63, 34, -6, 36,
    +
    20  79, 36, 72, 108, 99, 59, 106, 70, 102, 60, 100, 101, 97, 95, 127, 127, 127, 127,
    +
    21  127, 127, 85, 124, 73, 56, 54, 12, -34, 25, -11, -2, 43, 41, 18, -29, 19, 76,
    +
    22  40, 37, 79, 25, 72, 29, 8, 18, 45, 43, 31, 1, 8, -44, 4, 34, 25, 36, 46, 18, 18,
    +
    23  43, 86, 27, 10, 49, 8, 3, 1, -37, -84, -43, -3, -36, -49, -88, -37, -48, -48,
    +
    24  -34, -5, -57, -41, -17, 1, 7, 31, -1, 36, -12, 22, -17, -28, -1, -23, 2, -50,
    +
    25  -19, 8, -41, 0, 13, 34, 21, 76, 117, 127, 123, 73, 93, 54, 25, -20, -25, -28,
    +
    26  -62, -3, -17, -1, 21, -32, 11, 47, 9, 38, 33, 63, 33, 5, 27, 69, 26, 66, 35, 34,
    +
    27  0, 36, 54, 99, 127, 79, 115, 127, 111, 124, 127, 127, 127, 127, 127, 127, 127,
    +
    28  94, 32, 10, 10, 7, -6, 25, -17, 15, -38, -89, -74, -57, -76, -30, -33, -87, -98,
    +
    29  -111, -128, -123, -110, -96, -59, -55, -91, -50, -32, -81, -44, 17, 73, 81, 51,
    +
    30  89, 127, 108, 127, 90, 66, 13, -42, -49, 4, 33, -9, -45, -71, -98, -119, -105,
    +
    31  -59, -62, -13, -33, -51, 9, 65, 58, 49, 85, 112, 107, 102, 58, 69, 36, 77, 95,
    +
    32  36, 43, 70, 109, 127, 109, 127, 127, 126, 71, 119, 127, 127, 127, 116, 127, 91,
    +
    33  52, 49, 6, 57, 109, 44, 92, 118, 59, 66, 115, 105, 107, 76, 110, 114, 77, 87,
    +
    34  52, -8, -54, 1, 22, -8, -25, -4, -42, 11, 56, 82, 28, 35, 34, -18, -6, 33, 9,
    +
    35  23, 40, 50, 17, -20, -65, -34, 10, 45, 91, 29, -12, -4, 27, -29, -24, -67, -35,
    +
    36  -54, 3, -27, -6, 8, 14, 49, 80, 20, 31, 22, 12, -26, -13, 40, 11, -15, 44, -17,
    +
    37  35, 60, 88, 64, 11, 65, 42, -7, -33, 8, 18, 23, -37, -4, -27, -24, -34, 17, -28,
    +
    38  31, 22, 3, 0, 50, 0, -51, -23, -79, -41, -91, -111, -128, -128, -128, -128,
    +
    39  -128, -128, -128, -128, -128, -128, -128, -117, -109, -114, -125, -128, -128,
    +
    40  -121, -97, -128, -128, -128, -113, -61, -95, -77, -18, -64, -64, -83, -77, -88,
    +
    41  -31, -85, -115, -92, -128, -128, -88, -42, -6, 14, -18, -29, 9, 21, 77, 90, 84,
    +
    42  81, 63, 47, 30, 65, 4, 25, 23, 40, -3, 24, 39, 71, 55, 94, 127, 87, 112, 102,
    +
    43  127, 127, 87, 68, 48, 50, 8, -30, -51, -75, -89, -51, -23, 22, 28, 50, 56, 13,
    +
    44  -42, -97, -128, -128, -102, -128, -115, -59, -26, -20, -33, 26, -32, 0, -58,
    +
    45  -52, -33, -52, -34, -28, -25, -54, -100, -41, -12, 21, -13, -22, -37, -28, 13,
    +
    46  39, 19, 8, 45, 92, 74, 102, 39, 78, 43, 71, 107, 108, 61, 101, 127, 127, 127,
    +
    47  127, 121, 115, 121, 127, 97, 39, 19, -40, -37, 8, -7, -29, -40, -57, -74, -51,
    +
    48  -24, -28, 13, 13, 33, 87, 54, 86, 55, 1, 7, 42, 78, 104, 123, 127, 95, 127, 93,
    +
    49  72, 98, 127, 95, 78, 26, 11, -42, -59, -43, -83, -105, -128, -128, -88, -127,
    +
    50  -128, -128, -128, -128, -128, -128, -128, -98, -95, -96, -74, -78, -128, -107,
    +
    51  -128, -112, -85, -32, 11, 32, 14, -37, -40, -73, -51, -73, -16, -60, -46, -83,
    +
    52  -59, -85, -73, -19, -3, 54, 107, 52, 70, 116, 127, 68, 75, 14, 36, 55, 102, 127,
    +
    53  127, 127, 114, 118, 127, 127, 100, 127, 113, 127, 127, 127, 127, 71, 71, 72, 96,
    +
    54  97, 95, 126, 120, 96, 75, 106, 42, 15, 54, 38, 67, 37, 20, 49, 96, 103, 126,
    +
    55  127, 120, 110, 115, 93, 127, 127, 127, 127, 119, 66, 52, 18, -12, -37, -22, -19,
    +
    56  7, -11, 19, 72, 61, 64, 27, -30, -17, 11, 16, -38, -54, -36, -50, -37, -1, -13,
    +
    57  -3, 21, 12, 16, -23, -63, -92, -108, -78, -109, -106, -128, -91, -41, -65, -69,
    +
    58  -85, -102, -96, -56, -31, -52, -47, -50, -53, -95, -124, -128, -128, -128, -125,
    +
    59  -128, -110, -128, -128, -128, -128, -128, -128, -113, -128, -128, -101, -52,
    +
    60  -63, -37, -7, 16, 44, 76, 84, 52, 98, 39, 19, 21, 34, 81, 88, 52, 7, 1, -11, 44,
    +
    61  30, 22, -16, -37, -68, -37, 23, -1, -38, -82, -128, -96, -128, -124, -128, -128,
    +
    62  -104, -88, -101, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    63  -128, -128, -128, -91, -39, -25, -31, 1, 50, 42, -1, -6, -16, 26, -2, 15, 17,
    +
    64  30, 25, -7, 5, -16, 11, -15, -1, -56, -75, -78, -126, -128, -128, -81, -22, -41,
    +
    65  -64, -98, -103, -88, -60, -10, 41, 0, -55, -85, -110, -87, -94, -53, -55, -63,
    +
    66  -7, -49, -28, -8, -13, -35, 6, -16, -7, -58, -42, -15, 29, -9, 35, 61, 16, 16,
    +
    67  29, -11, -56, -4, 52, -2, -59, -26, 28, 8, 20, -34, -36, 10, 28, 22, -12, -15,
    +
    68  -14, 22, 55, 70, 64, 5, 39, 84, 61, 70, 121, 127, 127, 127, 127, 127, 127, 121,
    +
    69  127, 91, 43, -16, -39, -5, 31, 78, 31, 6, 13, 41, 21, 6, -26, -75, -55, -55,
    +
    70  -68, -92, -81, -126, -118, -128, -128, -109, -78, -79, -74, -64, -61, -3, -23,
    +
    71  11, 66, 95, 127, 71, 14, -7, 43, 87, 100, 127, 74, 26, 71, 51, 74, 13, -15, -13,
    +
    72  -34, -61, -25, 25, -11, -28, -28, -6, 16, 8, -51, -96, -126, -128, -128, -128,
    +
    73  -128, -128, -128, -104, -40, -52, -52, -22, 13, -6, 6, -13, -21, 0, -24, 30, 42,
    +
    74  28, 37, 19, 30, 80, 75, 102, 87, 109, 56, 80, 89, 113, 86, 55, 68, 101, 112,
    +
    75  127, 127, 107, 61, 99, 77, 90, 74, 107, 98, 116, 124, 89, 48, -13, -69, -26,
    +
    76  -34, -28, 3, -40, -16, 22, 40, 42, 10, 48, 1, -18, -61, -67, -74, -16, -19, 2,
    +
    77  -6, 14, 15, -34, 25, 16, 4, 57, 68, 102, 63, 39, 41, 15, 23, -17, 12, -34, -40,
    +
    78  -61, -101, -36, -88, -113, -118, -65, -91, -31, 29, -7, -24, -60, -82, -47, -48,
    +
    79  -8, -4, 53, 99, 78, 55, 44, -6, -59, -106, -128, -110, -128, -125, -78, -46,
    +
    80  -44, 0, -9, 29, -27, 24, 32, 24, -10, -47, -91, -50, -86, -115, -128, -100,
    +
    81  -128, -128, -128, -128, -128, -128, -128, -101, -59, -65, -114, -76, -73, -69,
    +
    82  -68, -16, 17, -36, -75, -37, -29, -34, -48, -91, -33, -75, -107, -128, -128,
    +
    83  -128, -128, -120, -94, -89, -25, -66, -33, -2, 7, -38, -10, -61, -64, -38, -1,
    +
    84  -41, -42, -5, -2, 47, 11, -45, -34, 13, -5, 15, -8, -47, -81, -103, -68, -99,
    +
    85  -90, -102, -124, -128, -118, -95, -45, -3, -51, -91, -34, -32, -9, -65, -68,
    +
    86  -78, -38, -21, -45, -57, -36, -75, -84, -57, -1, 2, -34, 24, -22, 29, 72, 80,
    +
    87  16, -12, -65, -57, -96, -76, -100, -109, -123, -56, -14, -33, -27, -6, 51, 4,
    +
    88  54, -2, 46, 19, -16, -36, -25, -3, -12, -12, 8, 3, -36, 14, 4, 37, 38, -8, 47,
    +
    89  85, 127, 103, 127, 127, 127, 101, 53, 83, 49, 73, 115, 103, 63, 100, 79, 35, 30,
    +
    90  39, 9, -49, -24, -73, -76, -78, -67, -4, -32, -11, -16, -44, -10, 32, -20, -15,
    +
    91  -34, -56, -24, 28, 0, -22, -77, -126, -96, -128, -95, -91, -31, -33, -11, 1, 47,
    +
    92  22, -29, 9, -14, 35, 64, 58, 50, 57, 14, -34, -66, -21, -14, -64, -50, -37, -79,
    +
    93  -101, -72, -70, -111, -74, -45, -79, -105, -86, -58, -75, -17, -47, -64, -57,
    +
    94  -16, -50, -58, -2, 48, 70, 51, 100, 114, 87, 38, 24, 15, -3, 11, 2, 30, 22, -18,
    +
    95  13, 42, -5, -20, -41, -81, -17, 30, 29, -19, 2, 30, 0, -44, -71, -85, -118,
    +
    96  -113, -55, -23, -65, -37, -86, -60, -96, -76, -41, -21, 32, 1, 30, -17, -16, 37,
    +
    97  18, 27, 13, 16, -23, -13, -35, -86, -68, -23, -10, 36, 9, -21, -22, -31, -62,
    +
    98  -73, -69, -63, -29, -29, -18, 16, -28, -16, 25, -22, -14, 7, -6, 2, -14, 0, -38,
    +
    99  -31, -60, -102, -113, -115, -89, -90, -70, -55, -73, -21, 11, -33, -19, -62,
    +
    100  -92, -71, -70, -68, -70, -20, 9, 62, 14, -34, -9, 11, 24, 55, 88, 127, 127, 127,
    +
    101  127, 127, 127, 127, 127, 79, 37, 22, -7, -30, -82, -44, -81, -100, -101, -53,
    +
    102  -4, 31, 53, 7, -40, 6, -7, 5, 25, 40, 63, 97, 98, 58, 83, 124, 127, 127, 127,
    +
    103  127, 127, 100, 127, 93, 112, 95, 52, 20, 9, 36, 48, 41, 54, 54, 47, -6, 16, -30,
    +
    104  -63, -90, -55, -20, -3, 10, 62, 12, 47, -6, 13, -27, -57, -110, -128, -104, -72,
    +
    105  -105, -99, -48, -33, -2, 44, 27, -18, -64, -4, 28, 59, 62, 0, -53, -17, -46,
    +
    106  -13, 17, 52, 57, 36, 83, 89, 91, 113, 127, 91, 82, 58, 79, 113, 76, 100, 82, 59,
    +
    107  108, 57, 82, 91, 68, 95, 127, 73, 43, -14, -26, -74, -107, -115, -97, -65, -106,
    +
    108  -109, -81, -89, -84, -128, -128, -115, -110, -52, -76, -64, -1, -35, -47, -15,
    +
    109  -57, -94, -119, -77, -38, 16, 4, 7, 12, 31, 26, -33, -69, -69, -54, -59, -61,
    +
    110  -54, -2, -40, -16, -40, -79, -128, -62, -112, -64, -73, -89, -128, -87, -64,
    +
    111  -83, -110, -92, -102, -76, -83, -125, -82, -82, -21, 6, 5, 10, 51, 37, 39, 45,
    +
    112  34, 17, 57, 96, 124, 127, 92, 123, 127, 127, 127, 127, 127, 127, 127, 123, 127,
    +
    113  127, 80, 92, 62, 67, 67, 108, 68, 15, 16, 21, 73, 41, 33, 43, -2, -37, 6, -25,
    +
    114  -69, -66, -60, -35, -63, -87, -48, -35, -8, -39, -73, -73, -124, -115, -128,
    +
    115  -128, -128, -128, -82, -44, -7, -54, -79, -128, -128, -128, -128, -128, -128,
    +
    116  -128, -128, -128, -128, -128, -128, -87, -35, -79, -55, -86, -41, -64, -85, -78,
    +
    117  -15, -57, -49, -60, -51, -40, -58, -79, -93, -106, -64, -52, -41, 2, 59, 101,
    +
    118  57, 33, 14, -6, 40, 73, 26, 75, 118, 127, 124, 118, 127, 127, 127, 127, 127,
    +
    119  127, 127, 109, 122, 59, 56, 56, 68, 118, 127, 93, 65, 34, 83, 107, 127, 127,
    +
    120  127, 127, 127, 120, 125, 86, 83, 69, 102, 55, 107, 127, 86, 78, 48, 4, -42, -76,
    +
    121  -91, -128, -128, -81, -128, -94, -72, -119, -128, -128, -128, -128, -128, -128,
    +
    122  -128, -102, -47, -76, -47, -49, 6, -20, 35, 32, 26, -11, -46, -86, -107, -128,
    +
    123  -128, -92, -123, -68, -111, -121, -67, -44, -39, -26, -82, -21, 27, -22, 38, 88,
    +
    124  103, 127, 115, 50, 46, 84, 73, 15, 10, 41, 3, 17, -37, -4, -28, -29, -14, -45,
    +
    125  -69, -116, -97, -61, -7, -44, -52, -4, -55, -66, -33, 14, -19, -52, 2, -30, -46,
    +
    126  -23, -54, -76, -33, -82, -71, -122, -128, -128, -90, -128, -128, -128, -110,
    +
    127  -128, -128, -125, -115, -126, -128, -128, -98, -70, -12, -45, -40, -24, 20, 70,
    +
    128  10, 19, 27, -21, -76, -104, -127, -128, -111, -77, -29, -54, -75, -98, -125,
    +
    129  -61, -104, -88, -66, -68, -90, -111, -46, -60, -2, -10, -55, -51, -82, -45, -10,
    +
    130  -46, -57, -103, -126, -128, -128, -128, -119, -83, -96, -109, -128, -86, -47,
    +
    131  -90, -128, -66, -38, -50, -33, -4, -26, 15, -3, 39, 26, 74, 119, 97, 89, 126,
    +
    132  127, 127, 127, 127, 127, 127, 127, 127, 82, 56, 92, 65, 4, -36, -74, -101, -94,
    +
    133  -84, -106, -107, -128, -89, -68, -117, -74, -125, -128, -128, -126, -128, -128,
    +
    134  -89, -72, -103, -115, -68, -30, -84, -39, -53, -12, 6, 48, 56, 5, -7, 44, 92,
    +
    135  79, 69, 100, 68, 82, 78, 40, 48, 12, 28, 61, 113, 118, 102, 98, 90, 37, -22,
    +
    136  -36, -4, -40, -42, -13, -43, -38, -25, -28, 1, -28, 28, -33, 4, -1, -18, -73,
    +
    137  -55, 6, 47, -11, -27, -42, -70, -86, -128, -128, -128, -102, -66, -96, -120,
    +
    138  -62, -76, -107, -65, -45, -29, 28, 31, 2, 11, -2, -16, -54, -83, -42, -85, -96,
    +
    139  -78, -35, -27, 33, 38, 56, 108, 127, 112, 120, 64, 3, -50, -67, -86, -53, -43,
    +
    140  -88, -40, -25, 29, 3, -23, -34, 13, -18, -8, 21, 63, 25, 27, 39, 5, 2, 18, -11,
    +
    141  -11, -1, 11, -12, -7, 18, -5, 28, 7, -42, -31, 30, -8, -8, 38, -20, -35, 21, 60,
    +
    142  35, 13, -1, -24, 3, 37, 58, 18, 21, 53, 23, -9, -45, -84, -21, 0, 36, 30, 69,
    +
    143  43, 51, 13, 35, 3, 58, 4, 49, 67, 57, 92, 87, 84, 53, 90, 67, 53, 106, 94, 30,
    +
    144  75, 92, 127, 97, 50, -11, -48, -81, -50, -73, -48, -82, -88, -128, -77, -107,
    +
    145  -122, -64, -87, -117, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    146  -128, -128, -128, -79, -30, 4, 57, 45, 78, 52, 72, 58, 14, 21, 37, 45, 19, 25,
    +
    147  22, -29, -18, -67, -75, -90, -107, -101, -70, -88, -117, -97, -47, -43, -21,
    +
    148  -67, -32, 6, 26, 36, -24, 35, -10, 37, 69, 5, -30, -35, 19, 53, 103, 127, 89,
    +
    149  40, -15, -49, -51, -33, -68, -61, 2, 4, -16, -25, -81, -123, -128, -128, -128,
    +
    150  -128, -128, -128, -128, -128, -121, -112, -58, -38, -84, -119, -128, -128, -128,
    +
    151  -128, -128, -128, -128, -128, -128, -106, -128, -75, -28, -42, -82, -92, -101,
    +
    152  -41, -88, -113, -64, -116, -128, -119, -128, -104, -42, -93, -128, -117, -128,
    +
    153  -126, -110, -109, -70, -59, -1, 41, 69, 103, 127, 127, 127, 121, 74, 123, 127,
    +
    154  101, 45, 18, 30, 77, 125, 127, 127, 102, 80, 69, 106, 45, 37, 15, 25, 64, 31,
    +
    155  -22, -57, -105, -61, -89, -106, -81, -51, -60, -84, -37, -23, 8, 48, 20, -30,
    +
    156  -38, -17, -53, -10, -27, -20, -28, -13, -62, -36, -27, 26, 78, 28, -29, -79,
    +
    157  -114, -95, -98, -93, -105, -52, -76, -70, -57, -50, -41, -75, -84, -120, -56,
    +
    158  -98, -108, -69, -68, -33, 7, -11, 28, 42, 55, 15, -25, -65, -97, -128, -75, -90,
    +
    159  -89, -37, -17, -43, 4, -14, 12, -12, 40, 95, 73, 90, 121, 112, 68, 117, 57, 92,
    +
    160  79, 86, 24, 71, 86, 109, 56, 108, 127, 92, 77, 47, 57, 25, -32, -24, -12, -28,
    +
    161  -47, -28, 9, 16, 68, 116, 57, 9, 26, 68, 16, 58, 39, -7, -32, -56, -51, -42, 2,
    +
    162  22, -3, -24, -48, -64, -54, -106, -117, -66, -52, -75, -43, -83, -70, -102, -81,
    +
    163  -61, -111, -128, -101, -38, -88, -75, -123, -81, -74, -64, -1, 47, 47, 90, 81,
    +
    164  72, 32, 72, 95, 114, 52, 38, -1, -15, -26, -74, -28, -15, 38, 34, 68, 88, 112,
    +
    165  58, -1, -51, -96, -50, -92, -85, -128, -128, -128, -128, -128, -114, -128, -128,
    +
    166  -128, -128, -128, -128, -128, -82, -100, -128, -128, -128, -70, -112, -64, -115,
    +
    167  -82, -70, -44, -90, -51, -9, 48, 95, 68, 32, -21, -59, -38, -55, -85, -34, -6,
    +
    168  36, -21, -8, 34, 59, 38, 40, 41, 22, 43, 17, 65, 17, -12, 26, 41, 53, -9, 18,
    +
    169  43, -19, 7, -2, 29, -14, -31, -62, -41, -41, -89, -128, -128, -128, -97, -125,
    +
    170  -113, -128, -128, -128, -97, -110, -80, -37, -82, -57, -41, -26, -20, 30, 26,
    +
    171  34, 27, -17, 23, -7, 49, 7, -10, 25, 12, 58, 33, 61, 29, -6, -56, -36, -39, -5,
    +
    172  29, 81, 48, 7, 46, 90, 78, 113, 90, 124, 127, 127, 127, 76, 87, 96, 88, 70, 49,
    +
    173  101, 83, 53, 27, 52, 89, 127, 110, 114, 91, 97, 59, 6, 32, 61, 23, -15, 0, 35,
    +
    174  -6, 16, 58, 63, 111, 127, 127, 127, 127, 127, 127, 127, 124, 125, 123, 127, 127,
    +
    175  127, 122, 117, 71, 106, 127, 127, 92, 81, 127, 127, 127, 127, 87, 87, 39, 50, 4,
    +
    176  -4, 4, 37, 52, 89, 41, 22, -35, -16, -64, -16, 32, -12, -4, 32, 53, 50, -5, 28,
    +
    177  23, 79, 78, 110, 116, 121, 76, 57, 82, 114, 57, 104, 120, 127, 116, 85, 32, 32,
    +
    178  65, 17, 59, 4, 46, 95, 88, 60, 90, 109, 95, 86, 110, 45, -3, 39, -11, 6, 7, 57,
    +
    179  3, 34, 19, 62, 76, 48, 66, 63, 13, -29, -30, 28, 11, -41, -68, -53, -85, -117,
    +
    180  -128, -128, -95, -120, -127, -105, -128, -95, -96, -68, -54, -71, -10, 6, 58,
    +
    181  63, 27, 76, 111, 123, 98, 95, 127, 88, 46, 82, 127, 67, 120, 127, 106, 127, 124,
    +
    182  82, 118, 103, 123, 102, 86, 114, 74, 38, -9, -23, -46, -48, -101, -106, -48,
    +
    183  -19, -20, -71, -56, -2, 44, 25, 61, 23, -12, -5, 53, 89, 36, 24, -32, 26, 35,
    +
    184  -12, -35, -19, -64, -93, -104, -122, -122, -128, -128, -113, -65, -22, -17, -8,
    +
    185  29, 58, -4, 5, -46, 4, 51, 54, 109, 44, 83, 55, 105, 127, 127, 127, 127, 127,
    +
    186  127, 104, 94, 110, 77, 100, 94, 127, 81, 127, 127, 127, 127, 127, 127, 82, 30,
    +
    187  -11, 37, 61, 10, -7, -20, 13, 53, 14, 69, 84, 37, 42, 59, 67, 108, 62, 45, -9,
    +
    188  -26, -54, -10, 7, 23, -32, -50, -53, -103, -82, -68, -67, -33, -16, -28, -48,
    +
    189  -32, -23, -41, -69, -120, -108, -85, -50, -42, -5, 28, 60, 43, 89, 59, 20, 7,
    +
    190  -37, -70, -103, -76, -94, -117, -88, -41, -49, -14, 23, 74, 34, 27, 80, 127,
    +
    191  127, 108, 126, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 97, 121,
    +
    192  102, 61, 72, 27, -31, 3, -55, -81, -51, -30, -3, 33, 18, -11, -43, -84, -57,
    +
    193  -53, -40, -53, -14, -53, -87, -96, -63, -47, -56, -23, -32, -87, -58, -80, -93,
    +
    194  -87, -71, -42, -65, -48, -66, -88, -56, -19, 16, 65, 113, 63, 18, 39, 80, 119,
    +
    195  70, 48, 30, -11, -58, -92, -61, -77, -76, -100, -109, -128, -128, -107, -53,
    +
    196  -34, 2, 33, 51, 39, 5, -41, -54, -24, 8, 40, -8, -63, -91, -61, -83, -128, -81,
    +
    197  -25, 20, 25, 59, 74, 122, 60, 103, 120, 70, 88, 127, 110, 78, 21, -28, 1, 59,
    +
    198  13, -37, -84, -59, -109, -50, -88, -107, -71, -93, -88, -25, 17, 25, 53, 69, 58,
    +
    199  39, 43, 23, 51, 29, 2, 41, 34, -19, -47, -38, -91, -59, -65, -103, -128, -72,
    +
    200  -85, -52, -70, -63, -108, -65, -116, -118, -125, -103, -88, -83, -128, -89, -51,
    +
    201  -16, 42, -4, -48, -90, -95, -99, -128, -128, -86, -62, -76, -69, -62, -9, -34,
    +
    202  23, 75, 27, 79, 22, 34, 13, -40, -63, -110, -64, -47, -95, -117, -128, -128,
    +
    203  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    204  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -87,
    +
    205  -128, -95, -98, -106, -61, -81, -83, -35, 14, -5, 41, 80, 58, 42, -5, -15, 39,
    +
    206  60, 114, 127, 118, 70, 14, 22, -16, -26, -50, -96, -50, -30, 27, 32, 75, 47, -2,
    +
    207  -18, 3, -5, 39, 8, -40, -23, -15, -44, 10, 46, 95, 83, 127, 99, 72, 112, 53, 86,
    +
    208  26, 26, 12, -31, 23, 79, 34, 58, 20, -24, 18, 72, 27, 10, -35, -62, -43, 3, 48,
    +
    209  90, 112, 62, 85, 84, 102, 127, 98, 40, 54, -5, -55, -50, -58, -13, -69, -68,
    +
    210  -96, -106, -128, -128, -111, -88, -128, -128, -128, -128, -128, -111, -88, -105,
    +
    211  -61, -44, -39, -65, -24, -22, 6, 0, -55, -84, -59, -1, 21, 8, 49, 66, 102, 70,
    +
    212  51, -6, -60, -74, -98, -43, -9, -31, 10, 44, 71, 66, 3, -22, -24, -1, 38, 92,
    +
    213  94, 93, 103, 77, 43, 83, 122, 91, 73, 106, 52, 57, 74, 88, 69, 101, 63, 115, 89,
    +
    214  63, 9, -36, -30, -31, -78, -77, -98, -55, -30, -77, -117, -128, -128, -128,
    +
    215  -128, -128, -106, -128, -64, -103, -128, -128, -128, -73, -98, -128, -128, -128,
    +
    216  -128, -85, -58, -4, -33, 9, -19, -13, 46, 10, 24, -14, -56, -74, -28, -13, -39,
    +
    217  -94, -94, -46, -13, 14, 68, 53, 53, 73, 22, 66, 104, 103, 100, 127, 89, 49, -12,
    +
    218  43, 90, 111, 85, 115, 127, 89, 48, 20, -12, -25, -80, -75, -75, -89, -128, -128,
    +
    219  -128, -128, -128, -128, -117, -128, -128, -128, -128, -117, -102, -114, -83,
    +
    220  -44, -89, -78, -45, 13, 70, 117, 127, 127, 127, 127, 127, 127, 127, 124, 127,
    +
    221  106, 126, 127, 127, 119, 127, 127, 127, 127, 76, 45, 75, 101, 127, 127, 127,
    +
    222  127, 127, 127, 127, 127, 95, 76, 51, -9, -63, -93, -58, -57, -54, -40, -89,
    +
    223  -100, -60, -91, -128, -128, -76, -96, -33, -62, -2, 27, 10, 10, -3, 55, 93, 127,
    +
    224  69, 85, 37, -3, -43, -61, -9, -58, 3, 30, 25, -21, -68, -71, -39, -43, -4, 30,
    +
    225  10, 12, 45, 98, 127, 127, 127, 77, 112, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    226  97, 115, 82, 29, 65, 5, -37, 20, 42, 32, 21, 33, 45, 61, 36, 59, 50, 100, 106,
    +
    227  117, 123, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    228  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 113,
    +
    229  118, 121, 127, 121, 80, 44, 75, 116, 127, 127, 127, 127, 119, 127, 91, 74, 62,
    +
    230  51, 54, 84, 125, 127, 122, 71, 122, 69, 40, 87, 36, 61, 96, 127, 98, 47, 84, 85,
    +
    231  122, 99, 71, 106, 108, 113, 114, 127, 115, 89, 120, 109, 127, 127, 104, 71, 108,
    +
    232  80, 99, 114, 77, 14, 3, -31, -32, -75, -67, -112, -119, -90, -44, -15, -35, -81,
    +
    233  -76, -17, -9, 26, 11, 49, 66, 43, 79, 16, 8, -36, -52, -29, -67, -113, -108,
    +
    234  -46, -100, -44, -56, -2, -11, -62, -21, -10, -34, -29, 18, 33, 41, 90, 92, 87,
    +
    235  104, 83, 28, -21, -10, 16, 62, 59, 18, 22, 1, -28, -40, -35, 25, 5, 52, 46, 41,
    +
    236  20, 3, -30, -14, -57, -84, -25, 35, 37, 33, 56, -4, 2, -3, -42, -25, -76, -68,
    +
    237  -50, -84, -64, -11, 34, -9, -39, -32, 6, 8, -14, 44, 6, -2, -46, -8, -40, -75,
    +
    238  -69, -88, -88, -101, -128, -128, -83, -106, -128, -116, -111, -75, -97, -56, 5,
    +
    239  -43, -79, -128, -99, -108, -105, -119, -122, -87, -89, -42, -67, -89, -119, -98,
    +
    240  -128, -128, -128, -124, -115, -57, -77, -66, -78, -57, -82, -62, -42, -65, -55,
    +
    241  -93, -95, -97, -96, -128, -87, -128, -128, -128, -108, -109, -46, -38, -65,
    +
    242  -110, -93, -78, -124, -128, -128, -128, -128, -128, -92, -114, -128, -82, -112,
    +
    243  -58, -19, -30, 10, -34, -10, -41, -2, -12, 47, 82, 24, 20, 37, -19, -49, -80,
    +
    244  -101, -122, -119, -128, -128, -128, -128, -128, -128, -113, -113, -59, -29, -73,
    +
    245  -42, -63, -106, -46, -68, -109, -128, -104, -48, -22, 22, -19, 29, 51, 91, 116,
    +
    246  127, 123, 60, 28, 27, 58, 31, 72, 82, 76, 37, 46, 0, -41, 18, 62, 73, 34, 10,
    +
    247  66, 87, 25, 33, 26, -23, -23, -31, -44, -73, -38, 7, 39, -6, -19, -50, 7, -27,
    +
    248  -40, -94, -118, -74, -90, -97, -128, -80, -51, -91, -87, -42, -11, -7, 21, -15,
    +
    249  29, -12, -47, -52, -98, -39, -85, -91, -91, -35, -79, -75, -113, -69, -50, -42,
    +
    250  -35, -33, -51, -4, 43, 33, 46, 40, 39, 75, 71, 33, -11, 21, -22, -52, -10, -61,
    +
    251  -107, -128, -113, -107, -128, -128, -124, -128, -122, -82, -81, -50, -33, -18,
    +
    252  -48, 3, -21, -21, -57, -43, -47, -77, -128, -78, -91, -75, -78, -53, -38, -32,
    +
    253  17, 46, 58, 6, -33, -12, 27, 13, 52, 40, 57, 49, 74, 48, 84, 90, 35, 72, 29, 53,
    +
    254  64, 3, 53, 73, 59, 1, 30, 57, 28, 12, -47, -16, 26, -31, -19, -28, -56, 5, 25,
    +
    255  66, 46, 51, -5, -47, -81, -75, -13, 45, -1, -25, -79, -33, -25, -50, -68, -26,
    +
    256  17, -6, -59, -49, 0, 37, 82, 127, 74, 39, 53, 101, 127, 127, 127, 127, 127, 127,
    +
    257  127, 127, 127, 82, 25, 76, 66, 3, 45, 71, 123, 127, 88, 63, 81, 33, -12, 15, 55,
    +
    258  12, 61, 55, 87, 127, 127, 127, 111, 127, 92, 93, 80, 96, 55, 44, 59, 71, 114,
    +
    259  111, 127, 127, 127, 127, 127, 110, 127, 127, 97, 39, -12, -64, -76, -55, -26,
    +
    260  -54, -45, -56, -2, 20, 38, 51, 7, -18, -63, -97, -49, -79, -96, -92, -128, -123,
    +
    261  -107, -89, -105, -65, -105, -55, -2, -6, -17, -74, -76, -89, -52, 3, 33, 57, 75,
    +
    262  78, 48, 102, 73, 30, 14, -32, -68, -70, -66, -97, -109, -68, -6, -6, -20, -23,
    +
    263  -6, -50, -9, -13, -19, -37, -89, -36, -6, 24, 15, 35, 79, 124, 75, 94, 127, 98,
    +
    264  58, 102, 112, 54, 35, 8, -43, 14, 64, 75, 105, 65, 95, 88, 98, 90, 124, 127,
    +
    265  101, 111, 114, 81, 79, 49, 69, 63, 94, 80, 69, 47, 73, 27, 6, -21, -77, -95,
    +
    266  -60, -91, -27, -73, -118, -61, -59, -13, 22, 29, -25, 30, 85, 114, 74, 13, -30,
    +
    267  -16, 16, -27, -79, -25, 13, -26, -82, -127, -82, -63, -10, 21, -2, 38, 86, 21,
    +
    268  61, 61, 111, 127, 102, 110, 53, 87, 43, 74, 66, 58, 9, 34, -3, -32, -21, -69,
    +
    269  -51, -20, 11, 6, 20, 61, 57, 102, 127, 127, 112, 127, 127, 85, 127, 116, 90, 37,
    +
    270  -3, 40, 23, 74, 21, 43, 97, 72, 67, 76, 108, 61, 68, 70, 68, 29, 64, 73, 121,
    +
    271  127, 107, 86, 35, 16, 14, 37, 1, -50, -19, 32, 13, 29, 39, 56, 74, 36, 75, 100,
    +
    272  83, 37, 64, 58, 29, 72, 79, 74, 125, 127, 97, 88, 61, 66, 113, 91, 28, 34, -20,
    +
    273  -65, -73, -30, -35, 19, 53, 8, 61, 1, 25, 66, 16, 15, 33, 61, 93, 80, 116, 109,
    +
    274  109, 123, 65, 15, -43, -89, -52, -21, -47, -97, -103, -128, -95, -94, -128,
    +
    275  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    276  -128, -128, -128, -128, -94, -61, -74, -70, -100, -111, -78, -120, -57, -51,
    +
    277  -36, -80, -98, -42, -5, -55, -100, -39, 6, 39, 52, 67, 70, 117, 91, 113, 127,
    +
    278  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    279  127, 127, 127, 127, 108, 111, 127, 127, 127, 127, 127, 127, 127, 127, 127, 115,
    +
    280  90, 96, 61, 77, 24, 28, 46, 39, 76, 127, 113, 120, 127, 103, 75, 61, 8, -10,
    +
    281  -54, -108, -113, -71, -80, -128, -110, -71, -17, -60, -72, -82, -92, -61, -77,
    +
    282  -65, -81, -21, -23, 25, 38, -12, 21, 40, 26, 71, 67, 78, 42, 95, 63, 107, 127,
    +
    283  127, 111, 47, 67, 19, 55, 77, 48, 2, 26, 65, 50, 13, -18, -73, -99, -46, -47,
    +
    284  -77, -97, -128, -124, -104, -57, -97, -49, -2, 15, -28, -82, -84, -84, -58, -24,
    +
    285  16, -30, -50, -58, -108, -102, -41, -71, -65, -29, -18, 37, 13, -5, -49, -71,
    +
    286  -54, -98, -124, -86, -63, -68, -96, -81, -72, -9, -42, -84, -84, -116, -128,
    +
    287  -121, -83, -45, -32, -64, -105, -114, -123, -128, -128, -128, -128, -128, -128,
    +
    288  -128, -128, -128, -128, -128, -128, -128, -128, -128, -113, -128, -128, -128,
    +
    289  -128, -128, -128, -102, -86, -125, -128, -128, -128, -128, -128, -99, -51, -57,
    +
    290  -89, -55, -94, -106, -124, -109, -123, -78, -66, -46, 10, 10, 9, 14, -21, -51,
    +
    291  -99, -70, -82, -92, -97, -128, -128, -128, -128, -128, -128, -123, -128, -114,
    +
    292  -87, -25, -47, -70, -85, -115, -128, -128, -115, -57, -67, -34, -17, 7, -17, 33,
    +
    293  -24, -56, -42, -95, -75, -90, -128, -109, -86, -58, -49, -41, -19, 10, 49, -8,
    +
    294  -61, -82, -47, -79, -117, -128, -128, -80, -32, 8, -50, -23, -55, -52, -9, -53,
    +
    295  -73, -87, -60, -29, -84, -101, -51, -40, -50, -61, -11, -43, -57, -100, -37, 10,
    +
    296  45, 55, 19, 44, 92, 72, 12, -23, -10, -36, -69, -44, -81, -21, 20, 19, -6, -36,
    +
    297  -27, -19, 36, 20, 62, 70, 33, -21, 2, 9, 9, 25, 77, 54, 32, 49, 22, 50, 79, 98,
    +
    298  95, 75, 103, 102, 120, 76, 121, 83, 41, 81, 67, 32, 74, 58, 70, 66, 61, 112,
    +
    299  127, 127, 127, 127, 127, 127, 127, 101, 123, 60, 105, 127, 127, 127, 127, 127,
    +
    300  127, 127, 127, 109, 127, 92, 55, 102, 127, 127, 107, 57, 76, 56, 14, 10, 51, 73,
    +
    301  94, 93, 45, 58, 7, 35, 44, 2, -12, -30, -42, -28, -23, -25, -28, -46, -77, -77,
    +
    302  -33, 23, 14, 5, -21, -32, 13, 60, 81, 37, 67, 63, 105, 115, 122, 127, 127, 127,
    +
    303  127, 127, 127, 127, 120, 127, 61, 92, 127, 88, 92, 38, 93, 102, 74, 33, 76, 38,
    +
    304  35, 82, 78, 79, 107, 65, 81, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    305  123, 127, 127, 121, 114, 127, 127, 127, 127, 127, 75, 105, 91, 29, 43, -2, -5,
    +
    306  27, 4, 13, 65, 66, 91, 120, 127, 123, 112, 127, 90, 127, 97, 100, 88, 115, 127,
    +
    307  127, 118, 84, 108, 98, 127, 127, 127, 123, 108, 95, 68, 50, 64, 12, 58, 52, 79,
    +
    308  29, 74, 82, 44, 9, 47, 64, 82, 73, 126, 127, 86, 92, 53, 34, 89, 115, 84, 67,
    +
    309  44, 13, 18, -31, -16, -71, -58, -63, -96, -49, -12, -30, 1, -15, 18, 35, -6,
    +
    310  -22, -39, -35, 3, -11, 32, 43, -17, 3, -50, -85, -115, -114, -75, -104, -107,
    +
    311  -128, -124, -117, -96, -126, -128, -113, -59, -41, -18, -49, -1, 47, 81, 26, 67,
    +
    312  25, 21, 35, 12, -9, -28, 15, -37, -32, 3, -44, -88, -63, -113, -58, -14, 23,
    +
    313  -13, -22, -40, -85, -110, -112, -128, -91, -119, -123, -128, -126, -70, -41, -3,
    +
    314  -26, 2, 49, 62, 88, 31, -10, -13, 19, 15, -11, 8, 32, 86, 57, 33, -5, 36, 64,
    +
    315  13, 24, 41, 33, 31, 40, -18, -74, -118, -128, -94, -109, -107, -63, -117, -77,
    +
    316  -107, -43, -77, -85, -126, -70, -25, -39, -29, -1, -32, -49, -94, -125, -89,
    +
    317  -42, 12, -26, 15, 70, 113, 93, 108, 86, 83, 44, 94, 113, 54, 35, 13, 3, -26, 25,
    +
    318  9, -36, -38, -57, -89, -109, -86, -42, -75, -29, -25, -30, -28, -34, -3, -6,
    +
    319  -48, 7, 22, -12, 7, -17, 9, -24, 2, 42, -15, -37, -51, -63, -20, 6, 56, 106, 59,
    +
    320  94, 127, 73, 104, 86, 127, 127, 127, 127, 127, 91, 67, 51, 36, 70, 69, 43, -17,
    +
    321  -21, -65, -15, -45, -52, -2, -10, 37, -1, -33, -5, -57, -74, -69, -70, -111,
    +
    322  -86, -112, -93, -72, -21, 38, 91, 55, 72, 25, -35, -77, -85, -45, -12, 27, 70,
    +
    323  10, 47, 94, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    324  127, 127, 127, 127, 127, 127, 127, 127, 117, 55, 8, 43, 91, 49, -7, -11, 3, 53,
    +
    325  65, 24, -4, 52, 32, 82, 115, 79, 110, 110, 53, 99, 51, 97, 104, 127, 69, 119,
    +
    326  89, 61, 35, 60, 10, -21, -69, -55, -40, 12, -40, 9, 65, 111, 56, 96, 114, 88,
    +
    327  63, 37, 29, -14, -34, -84, -78, -123, -87, -126, -128, -128, -128, -128, -110,
    +
    328  -121, -128, -128, -128, -123, -61, -75, -22, -78, -110, -128, -128, -119, -79,
    +
    329  -98, -79, -118, -118, -74, -83, -53, 4, -45, 8, -5, -42, 8, 26, 42, 43, 4, 49,
    +
    330  11, 11, 45, 67, 35, -8, -22, -43, 6, 46, 28, -16, -45, -34, -57, -58, -58, 2,
    +
    331  -30, -25, -19, -12, -41, -9, -46, -20, 7, 16, 36, 66, 69, 99, 127, 127, 127,
    +
    332  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    333  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    334  127, 127, 127, 127, 118, 52, 99, 40, 28, 12, 26, -30, 10, -42, -20, 1, -18, 13,
    +
    335  -6, 35, 60, 100, 83, 57, -5, 35, -16, 16, 23, 34, 8, -7, -52, 9, -12, -55, -65,
    +
    336  -116, -123, -128, -93, -85, -101, -122, -111, -65, -67, -73, -29, -74, -72, -66,
    +
    337  -84, -122, -117, -128, -128, -128, -128, -128, -122, -128, -67, -91, -128, -87,
    +
    338  -128, -78, -53, -93, -31, -17, 40, 1, 26, 16, 44, 58, 30, 2, -57, -45, -54, -94,
    +
    339  -125, -128, -128, -121, -93, -123, -75, -71, -101, -73, -122, -74, -21, -73,
    +
    340  -90, -39, -66, -28, 18, 52, 49, 67, 105, 115, 117, 127, 112, 127, 111, 121, 105,
    +
    341  40, 69, 47, 29, 37, 19, 46, 12, 69, 119, 97, 78, 46, 40, 29, 38, 58, 105, 127,
    +
    342  127, 127, 127, 60, 97, 127, 114, 127, 127, 127, 127, 127, 127, 127, 91, 78, 102,
    +
    343  127, 108, 68, 28, 55, 93, 108, 127, 76, 127, 127, 88, 36, 89, 37, 4, 60, 64, 98,
    +
    344  114, 91, 103, 72, 29, 62, 73, 102, 96, 89, 42, 40, 21, -36, 15, -19, -67, -88,
    +
    345  -80, -68, -65, -105, -46, -21, 2, -54, -106, -128, -128, -128, -94, -100, -45,
    +
    346  -10, 34, 65, 14, 25, -25, -66, -97, -62, -101, -111, -114, -104, -49, -4, 32,
    +
    347  38, 7, -15, 16, 54, -4, 8, -40, -46, -24, -60, -104, -41, -38, -8, 40, 20, -27,
    +
    348  -45, -87, -42, -16, 8, 19, 62, 106, 88, 93, 90, 76, 94, 41, 82, 27, 47, 91, 27,
    +
    349  -32, -62, -14, 35, 89, 122, 127, 127, 127, 127, 127, 127, 127, 96, 65, 5, 14,
    +
    350  -8, 27, 55, 14, -2, -26, -69, -8, -30, -44, 7, 17, -16, -21, -34, -35, -67,
    +
    351  -105, -117, -122, -128, -111, -59, -25, -12, 41, -14, -42, -90, -26, -15, -65,
    +
    352  -93, -108, -44, -86, -47, -90, -127, -128, -128, -128, -128, -110, -112, -64,
    +
    353  -109, -80, -31, -73, -67, -66, -85, -109, -47, -94, -81, -80, -113, -63, -3, 8,
    +
    354  11, 28, -21, 36, -6, -47, -90, -125, -109, -76, -98, -128, -109, -128, -128,
    +
    355  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    356  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    357  -128, -124, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    358  -128, -128, -124, -128, -128, -128, -128, -128, -114, -81, -122, -93, -115, -82,
    +
    359  -26, 29, 6, 6, 62, 33, -7, -38, -70, -67, -31, 7, 57, 28, 44, 1, -7, 44, -12, 6,
    +
    360  45, 58, 10, 5, 58, 90, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    361  121, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    362  127, 127, 127, 127, 127, 127, 127, 127, 123, 127, 105, 66, 42, 26, 28, 33, -10,
    +
    363  11, -19, -55, -104, -63, -23, -18, -42, -63, -34, -58, -29, 18, 35, 4, 54, 77,
    +
    364  28, 9, -42, -60, -38, -72, -17, 35, -2, -15, -44, 17, 15, 57, 26, 46, 5, -4,
    +
    365  -16, 16, 37, 65, 9, -25, -54, -21, -55, -33, -80, -116, -128, -128, -91, -128,
    +
    366  -128, -128, -87, -128, -109, -87, -45, -62, -46, 6, -6, -33, 6, 37, 93, 111, 99,
    +
    367  46, 3, -45, -38, -51, 5, 50, 88, 66, 7, -35, 17, 18, 67, 47, -1, 12, -32, 23,
    +
    368  26, -5, -55, -36, -11, 15, 72, 88, 109, 73, 23, 10, 35, -19, -64, -4, -55, -89,
    +
    369  -39, -68, -12, -42, 3, 25, 80, 60, 60, 77, 52, 16, 71, 79, 80, 19, -6, -54, 0,
    +
    370  -42, -44, -61, -114, -47, -98, -67, -8, -15, -34, -81, -24, 3, -37, -19, -49,
    +
    371  10, -49, -1, 21, 28, 6, -3, 54, -7, 36, 22, 76, 78, 18, -34, -47, -27, 1, -32,
    +
    372  -81, -97, -37, 1, 34, 54, 2, 59, 77, 66, 84, 97, 123, 69, 102, 68, 85, 47, 17,
    +
    373  -4, -40, -6, 31, 9, -28, 31, 55, 88, 92, 104, 90, 100, 72, 111, 45, 61, 36, -25,
    +
    374  -31, 14, 48, 35, 29, 5, 7, 47, 48, 14, -27, -78, -44, -56, -29, -19, 24, 74,
    +
    375  115, 115, 67, 41, 53, 72, 123, 122, 103, 89, 52, 65, 117, 127, 77, 127, 99, 105,
    +
    376  49, 2, 31, 50, 29, -7, 20, -2, 0, -51, -50, -20, -25, 30, -14, -23, -66, -114,
    +
    377  -128, -119, -128, -128, -128, -128, -128, -87, -101, -74, -91, -128, -128, -128,
    +
    378  -128, -128, -128, -128, -128, -128, -128, -94, -82, -18, 4, -48, -46, -94, -89,
    +
    379  -75, -23, -65, -36, -1, 53, 57, 47, 91, 69, 86, 99, 59, 24, -6, 25, 49, 55, 78,
    +
    380  43, 14, 40, 58, 57, 3, 30, 25, 46, -6, -36, 24, -29, -75, -115, -50, -74, -80,
    +
    381  -62, -64, -74, -50, -2, -3, 35, 12, -2, 36, 85, 91, 75, 43, 85, 54, 68, 80, 67,
    +
    382  27, 15, 63, 85, 62, 113, 95, 112, 52, 7, 56, 5, 10, -21, -22, -44, -49, -23,
    +
    383  -10, 4, -8, -26, -60, -50, 0, 28, 10, 38, 63, 108, 112, 116, 127, 126, 127, 127,
    +
    384  127, 100, 127, 127, 127, 127, 127, 127, 120, 127, 127, 127, 127, 127, 127, 127,
    +
    385  127, 127, 127, 127, 127, 127, 127, 127, 114, 101, 45, 72, 103, 44, 91, 82, 116,
    +
    386  110, 127, 127, 127, 106, 56, 11, 2, -35, -40, -32, -2, -54, -79, -128, -128,
    +
    387  -128, -128, -128, -128, -128, -128, -128, -109, -59, -2, -26, 7, -28, 31, 44,
    +
    388  13, -26, 22, 7, -25, 14, -18, -23, 36, 38, 6, -12, -46, -46, -73, -11, -10, -7,
    +
    389  -3, 24, 50, -2, 23, 19, 18, 4, 20, -35, 12, 34, 8, 60, 5, 20, 73, 31, -5, -52,
    +
    390  -97, -45, -7, 24, 63, 110, 127, 127, 127, 127, 122, 96, 117, 125, 63, 14, 49, 5,
    +
    391  38, 80, 49, 96, 97, 31, 17, -9, -41, -94, -128, -128, -128, -128, -128, -128,
    +
    392  -128, -123, -105, -42, -16, -59, -57, -78, -49, -8, -33, -7, -31, -32, -15, -57,
    +
    393  -17, 27, 36, 50, 35, -1, 45, 67, 119, 78, 67, 109, 127, 106, 118, 127, 127, 127,
    +
    394  127, 127, 90, 117, 127, 91, 40, 8, -36, -23, -37, -48, -28, 29, 56, 10, 18, 26,
    +
    395  -17, 34, 51, 28, -27, -5, -40, 5, 28, 39, 92, 127, 127, 127, 127, 94, 127, 127,
    +
    396  127, 127, 127, 127, 127, 127, 127, 116, 94, 71, 98, 127, 73, 116, 127, 127, 127,
    +
    397  77, 84, 106, 120, 127, 107, 111, 67, 59, 95, 127, 120, 123, 99, 77, 47, 92, 90,
    +
    398  90, 127, 127, 94, 109, 91, 41, 85, 22, -33, 7, 57, 53, 65, 90, 127, 127, 94,
    +
    399  122, 109, 92, 127, 127, 127, 127, 110, 127, 100, 50, 88, 127, 103, 126, 127,
    +
    400  127, 118, 127, 113, 92, 116, 51, 2, -22, 12, 41, -5, -58, -87, -80, -96, -90,
    +
    401  -115, -87, -69, -57, -44, 4, 53, 56, 105, 127, 127, 127, 127, 123, 76, 99, 118,
    +
    402  107, 69, 57, 35, -20, 25, 51, 3, 10, -30, -12, -2, -26, 17, 41, 37, -1, -30,
    +
    403  -39, -94, -52, -12, 31, 59, 35, 3, 35, 9, 53, 105, 122, 127, 127, 127, 114, 127,
    +
    404  73, 33, 42, 50, 44, 53, 58, 37, 10, 49, 78, 109, 62, 76, 31, 6, 35, 12, -22,
    +
    405  -49, 13, 21, 56, 9, -45, 3, 4, -1, 17, 10, 35, -26, -19, 28, 67, 16, 47, 31, 46,
    +
    406  4, -47, -43, -41, -9, -15, -56, -109, -128, -128, -104, -62, -34, 9, 50, 97,
    +
    407  127, 122, 58, 38, 1, -15, -64, -89, -102, -114, -128, -63, -14, -25, -34, -66,
    +
    408  -66, -43, -36, -23, 15, -19, 27, -32, -53, -90, -62, -89, -112, -83, -50, -7,
    +
    409  -52, -41, -93, -58, -109, -61, -27, -5, 20, 59, 50, 47, 70, 98, 92, 66, 83, 39,
    +
    410  75, 51, -3, -28, -71, -26, -48, -49, -67, -47, -48, -71, -108, -63, -81, -66,
    +
    411  -51, -33, -46, -87, -37, -30, -50, -45, -51, -103, -95, -69, -84, -37, -85, -80,
    +
    412  -80, -33, -88, -81, -111, -128, -97, -52, -39, -40, -6, -44, -94, -57, 4, -43,
    +
    413  2, 22, 69, 14, 42, 83, 106, 60, 114, 97, 100, 94, 69, 19, -21, 31, 35, 65, 60,
    +
    414  18, -3, -56, -12, 12, 32, 39, -19, -55, -92, -121, -128, -128, -128, -128, -128,
    +
    415  -128, -107, -123, -124, -68, -69, -62, -88, -66, -112, -65, -4, -21, -25, 7,
    +
    416  -11, -6, -61, -5, -25, -78, -61, -28, -45, -7, 8, 58, 94, 127, 85, 52, 37, 29,
    +
    417  64, 116, 117, 51, 91, 88, 112, 68, 77, 75, 47, 97, 127, 127, 125, 127, 127, 127,
    +
    418  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 89, 62, 89, 93,
    +
    419  71, 59, 79, 97, 90, 125, 103, 59, 69, 52, 5, -36, -36, -58, -95, -111, -128,
    +
    420  -128, -126, -81, -123, -65, -44, -43, -95, -112, -121, -97, -70, -109, -80, -41,
    +
    421  6, -43, -12, -69, -73, -101, -128, -101, -69, -94, -128, -102, -128, -128, -128,
    +
    422  -128, -128, -128, -128, -100, -74, -122, -65, -80, -116, -52, -104, -51, -41,
    +
    423  -24, 22, 42, 74, 70, 41, 37, -12, 37, 64, 24, -3, 50, 11, 14, -12, 37, 79, 70,
    +
    424  38, 28, -7, -22, -54, -81, -55, -19, -25, -38, -74, -63, -92, -77, -25, -80,
    +
    425  -48, -54, -69, -93, -86, -94, -72, -14, 3, -9, 15, -5, 48, 28, 3, -17, 0, 28,
    +
    426  -3, -46, 15, 52, 69, 57, 89, 95, 100, 87, 107, 97, 72, 26, 22, 51, 46, 62, 12,
    +
    427  62, 31, -23, 14, -16, 10, -17, 0, -27, -74, -115, -128, -111, -77, -115, -104,
    +
    428  -94, -128, -110, -128, -128, -128, -118, -128, -104, -114, -64, -27, 2, -30,
    +
    429  -52, -29, 20, 54, 22, 47, 29, 27, -32, 13, -18, 36, 10, -11, -41, -83, -22, 14,
    +
    430  -13, 47, 45, 84, 127, 127, 127, 110, 127, 127, 94, 127, 85, 127, 127, 127, 76,
    +
    431  94, 127, 127, 121, 124, 127, 108, 115, 127, 89, 79, 114, 93, 79, 39, 72, 124,
    +
    432  127, 127, 127, 118, 127, 106, 88, 75, 62, 63, 20, 0, -47, -32, -58, -62, 0, -3,
    +
    433  25, 50, 63, 109, 98, 127, 127, 127, 127, 127, 122, 100, 46, 59, 54, -7, -39,
    +
    434  -66, -69, -25, -1, -57, -85, -45, -99, -38, -69, -34, -46, -23, -6, -26, -23,
    +
    435  -18, -23, -14, -48, 5, -36, -15, 15, -20, 10, 22, 46, 43, 30, 74, 86, 78, 91,
    +
    436  91, 127, 82, 52, 82, 31, 22, 52, 78, 23, -19, -63, -57, -28, -20, -32, -10, 38,
    +
    437  65, 2, 13, -17, -15, -29, -80, -87, -72, -122, -128, -128, -128, -128, -85,
    +
    438  -119, -128, -128, -128, -128, -128, -108, -91, -111, -128, -90, -128, -114, -64,
    +
    439  -72, -31, -67, -21, 1, -15, 39, 43, 3, -10, 11, 7, -21, -28, 13, 31, 82, 95, 99,
    +
    440  62, 103, 59, 1, 28, -11, 39, 82, 50, 8, 35, 62, 22, 55, 40, 35, 3, -54, -13,
    +
    441  -26, 11, -41, -26, -46, -34, -45, -15, -29, 26, 7, 26, 18, -28, -71, -17, -20,
    +
    442  17, -3, 34, -5, -5, -8, 8, -5, 53, 1, 45, 25, -23, 15, -23, -60, -17, -15, -1,
    +
    443  30, 52, 49, 16, -11, -51, -41, -53, -87, -30, -15, 28, 31, 72, 57, 63, 25, 31,
    +
    444  27, 29, -27, 29, 28, 72, 30, 11, -36, -51, -44, 14, 8, 23, 41, 85, 120, 87, 26,
    +
    445  23, -20, -1, 9, -47, 12, -44, 5, -30, 1, -21, 26, -21, -21, -20, 8, -7, -12,
    +
    446  -28, -76, -21, 17, -22, -18, -16, -18, 9, 13, 44, 38, 57, 86, 110, 81, 103, 71,
    +
    447  15, 6, 47, -5, 27, -3, 52, -1, -49, -69, -115, -128, -128, -118, -114, -102,
    +
    448  -128, -86, -58, 1, -31, -47, -75, -74, -83, -39, -3, -36, -86, -122, -127, -128,
    +
    449  -106, -92, -62, -18, -37, -47, -62, -83, -95, -104, -68, -109, -44, -93, -55, 2,
    +
    450  3, -4, 19, -30, 12, -24, 32, 38, 85, 94, 79, 75, 22, 65, 64, 3, 29, 27, 49, 72,
    +
    451  62, 56, 10, 39, 9, 59, 77, 112, 104, 127, 98, 127, 127, 111, 70, 68, 111, 112,
    +
    452  109, 77, 111, 122, 73, 117, 91, 81, 121, 111, 127, 66, 44, 43, 93, 39, 17, -9,
    +
    453  -15, -7, -25, 14, -19, -50, -13, 24, -23, -68, -8, -28, -40, -16, -46, -28, -41,
    +
    454  -11, -4, 22, -8, -50, -46, -37, -73, -33, -61, -113, -90, -83, -123, -102, -128,
    +
    455  -125, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -90, -40, -26,
    +
    456  -29, 31, 34, 30, 9, 35, -24, 31, 36, 51, 83, 94, 42, 51, 67, 106, 81, 124, 101,
    +
    457  54, 21, -27, 12, 43, 5, -33, -33, 27, 25, 49, 32, 21, 12, -40, -10, -46, -99,
    +
    458  -128, -120, -102, -55, -59, -71, -87, -87, -51, -42, -61, -93, -92, -114, -86,
    +
    459  -52, -38, -26, -14, 11, 39, 70, 40, 64, 44, 94, 91, 68, 21, 39, 32, -27, -42, 2,
    +
    460  -10, -61, -91, -123, -128, -124, -63, -49, -32, -13, -63, -92, -128, -128, -128,
    +
    461  -128, -128, -115, -122, -120, -122, -104, -78, -128, -121, -61, -24, 16, 55, -4,
    +
    462  5, 63, 76, 20, 74, 89, 68, 52, 97, 48, -13, 28, 80, 85, 39, 17, 46, 76, 40, 30,
    +
    463  72, 36, 19, -33, 2, -23, -73, -40, -88, -95, -127, -128, -128, -128, -128, -83,
    +
    464  -60, -102, -105, -128, -91, -47, -92, -99, -84, -76, -52, -97, -74, -57, -31,
    +
    465  -28, -6, 41, 25, 29, -28, -10, -18, -27, 22, 62, 54, 101, 127, 127, 127, 127,
    +
    466  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 115, 122, 127, 93,
    +
    467  71, 75, 72, 108, 123, 127, 127, 127, 127, 80, 122, 78, 101, 71, 68, 66, 96, 122,
    +
    468  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    469  127, 127, 127, 127, 127, 127, 127, 127, 109, 127, 127, 90, 38, 47, 77, 56, 25,
    +
    470  -14, 37, 75, 38, 30, -6, 43, 52, 104, 127, 74, 96, 31, -4, -10, 30, -21, 25, 9,
    +
    471  49, 101, 127, 83, 31, 15, 8, 32, 61, 17, -42, -32, -8, 9, 10, -3, 4, 37, 2, -41,
    +
    472  -95, -111, -117, -89, -60, -45, -78, -90, -115, -88, -128, -128, -128, -91, -89,
    +
    473  -38, 22, -18, 23, 64, 69, 8, 3, 43, -18, -63, -17, -8, -38, -58, -42, -91, -96,
    +
    474  -128, -110, -128, -118, -127, -65, -44, -16, -4, 53, 35, 25, -2, -9, -26, -22,
    +
    475  -36, -63, -13, -16, 34, 61, 73, 87, 87, 74, 100, 106, 66, 13, -14, -39, -35,
    +
    476  -40, -86, -96, -59, -93, -35, 0, -1, 51, 37, 58, 105, 127, 80, 103, 120, 94, 74,
    +
    477  13, -34, -14, -41, -49, -66, -73, -39, 15, 50, 77, 107, 127, 65, 26, 59, 110,
    +
    478  127, 127, 127, 127, 84, 55, 69, 62, 57, 18, -21, -8, -22, -7, -26, -47, -47,
    +
    479  -60, -110, -128, -128, -100, -124, -128, -128, -128, -100, -67, -8, -26, -30,
    +
    480  -38, -14, -54, -2, -24, -46, -15, -7, 23, 55, 72, 22, -19, 17, 38, -22, 36, -1,
    +
    481  6, -50, -7, 5, -16, -65, -100, -70, -99, -128, -128, -90, -51, 3, 24, 21, 17, 8,
    +
    482  -7, 45, 97, 97, 52, 11, -17, -61, -114, -94, -31, -57, -10, -48, -37, -6, -51,
    +
    483  -50, -58, -12, -31, 0, -23, -6, -33, -57, -83, -19, -42, 4, 62, 37, 15, -14,
    +
    484  -32, 17, 29, -12, -8, 13, 6, -20, -32, 0, -54, -41, -90, -68, -111, -48, -85,
    +
    485  -57, -78, -36, -50, -60, -15, 2, 21, 5, 10, -8, -18, -30, 28, 1, 58, 100, 96,
    +
    486  52, 65, 98, 127, 90, 75, 61, 94, 113, 64, 66, 61, 106, 122, 127, 127, 127, 79,
    +
    487  32, 30, 80, 112, 127, 127, 127, 127, 72, 27, 52, 105, 53, 83, 47, -5, -34, -81,
    +
    488  -23, -10, -15, 39, 57, 7, -28, 17, 19, 45, 35, 24, 77, 40, 4, -47, 12, 30, 18,
    +
    489  64, 79, 24, -34, -7, 7, -37, -43, -52, -91, -44, -96, -105, -96, -40, -78, -62,
    +
    490  -96, -90, -37, -4, -27, -53, -6, 17, 11, -28, -75, -20, -55, -76, -115, -84,
    +
    491  -86, -59, -91, -66, -36, -27, -81, -120, -128, -128, -128, -128, -128, -85, -62,
    +
    492  -101, -128, -128, -128, -128, -128, -128, -96, -111, -71, -68, -13, 11, 41, 26,
    +
    493  -6, -3, -29, -39, 19, 76, 102, 67, 83, 59, 104, 112, 108, 57, 96, 112, 127, 127,
    +
    494  127, 87, 39, 77, 38, 83, 97, 86, 104, 96, 45, 36, -13, 5, 31, 37, -2, -44, -2,
    +
    495  -7, 34, 29, 80, 63, 115, 127, 127, 127, 127, 127, 111, 95, 49, 3, 34, 56, 40,
    +
    496  19, -35, -6, 29, 75, 71, 100, 41, 46, 92, 53, 90, 48, 42, 13, -1, 20, -8, -14,
    +
    497  -41, -25, 13, -39, -86, -67, -30, -38, -48, 3, 15, 33, 88, 89, 122, 69, 61, 27,
    +
    498  21, -20, -14, -34, 18, 29, 44, 2, 10, 58, 9, 3, -20, -4, 46, -6, 6, -39, -68,
    +
    499  -61, -54, -41, -45, -17, 3, -15, 0, 44, 84, 100, 41, 67, 28, 62, 89, 118, 127,
    +
    500  127, 127, 127, 127, 96, 66, 78, 97, 126, 89, 45, 40, 83, 127, 93, 96, 53, 22,
    +
    501  18, -24, -40, -48, -71, -87, -35, -29, 12, 69, 50, 91, 90, 127, 127, 127, 127,
    +
    502  127, 127, 127, 127, 114, 127, 127, 127, 127, 76, 42, 20, 57, 80, 102, 64, 24, 2,
    +
    503  -42, -95, -112, -101, -61, -51, -65, -114, -96, -110, -116, -91,
    +
    504  };
    +
    505 
    +
    506 #endif /* BROWNNOISE8192_H_ */
    +
    + + + diff --git a/doc/html/burroughs1__18649__int8_8h_source.html b/doc/html/burroughs1__18649__int8_8h_source.html index 86a616424..1bd62d1d5 100644 --- a/doc/html/burroughs1__18649__int8_8h_source.html +++ b/doc/html/burroughs1__18649__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: samples/burroughs1_18649_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,1018 +99,1020 @@
    -
    samples/burroughs1_18649_int8.h
    +
    burroughs1_18649_int8.h
    -
    00001 #ifndef BURROUGHS1_18649_H_
    -00002 #define BURROUGHS1_18649_H_
    -00003  
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010  
    -00011 #define BURROUGHS1_18649_NUM_CELLS 18649
    -00012 #define BURROUGHS1_18649_SAMPLERATE 16384
    -00013  
    -00014 const char __attribute__((progmem)) BURROUGHS1_18649_DATA [] = {8, 16, 9, 9, 7,
    -00015 6, 9, 12, 18, 20, 24, 25, 23, 22, 20, 20, 18, 18, 19, 19, 21, 22, 26, 24, 19,
    -00016 14, 10, 12, 13, 16, 17, 20, 18, 15, 14, 12, 12, 8, 7, 4, 7, 8, 8, 8, 7, 6, -14,
    -00017 -32, -40, -28, -21, -23, -27, -25, -19, -28, -40, -48, -38, -32, -34, -36, -25,
    -00018 -9, -5, -12, -21, -19, -18, -18, -19, -9, 2, 4, -2, -7, -1, 5, 5, -4, -7, -3, 1,
    -00019 1, -1, 3, 5, 3, -4, -10, -9, -5, -1, -1, -1, 1, 4, 5, 1, -3, -5, -3, -1, 0, 2,
    -00020 4, 6, 7, 5, 2, -1, -1, 0, 2, 6, 9, 10, 11, 11, 9, 6, 3, 0, -1, -2, 2, 4, 2, -2,
    -00021 1, 5, 5, 0, -5, -5, -3, 1, 2, 3, 3, 4, 3, 3, 5, 6, 5, 2, 1, 3, 8, 10, 9, 9, 10,
    -00022 10, 8, 7, 8, 13, 13, 10, 10, 13, 16, 14, 12, 10, 6, 4, 6, 8, 8, 9, 10, 10, 11,
    -00023 10, 9, 5, 2, 1, 4, 8, 9, 7, 6, 6, 4, -3, -14, -20, -20, -14, -10, -10, -9, -11,
    -00024 -15, -21, -27, -28, -24, -23, -25, -24, -18, -12, -14, -18, -20, -18, -18, -19,
    -00025 -14, -8, -2, -2, -4, -5, -4, -4, -6, -8, -6, -2, 2, 4, 4, 5, 2, -2, -4, -3, -4,
    -00026 -3, -2, 0, 2, 1, -1, -3, -3, -3, -3, -2, -2, 0, 1, 3, 4, 4, 5, 6, 7, 7, 8, 10,
    -00027 9, 8, 8, 8, 7, 7, 6, 6, 7, 9, 10, 9, 9, 10, 12, 9, 6, 4, 7, 10, 5, 1, 4, 11, 10,
    -00028 4, -1, 0, 0, -3, -6, -4, -1, -4, -7, -10, -8, -9, -12, -15, -14, -8, -6, -8,
    -00029 -10, -8, -5, -4, -3, -3, -3, -3, -3, -3, -1, 1, 3, 3, 4, 5, 8, 9, 8, 6, 6, 7,
    -00030 10, 13, 15, 15, 13, 13, 12, 12, 11, 15, 17, 19, 16, 11, 6, -4, -9, -8, -1, 0,
    -00031 -2, -5, -8, -10, -19, -26, -24, -18, -17, -20, -21, -17, -14, -19, -24, -22,
    -00032 -19, -19, -19, -18, -15, -12, -16, -16, -12, -7, -6, -7, -5, -2, 2, 1, 0, 0, -1,
    -00033 -1, 1, 3, 2, 0, 1, 3, 5, 5, 5, 7, 7, 7, 5, 5, 5, 5, 3, 4, 6, 6, 5, 5, 8, 9, 10,
    -00034 10, 12, 12, 12, 11, 12, 13, 12, 11, 12, 17, 16, 11, 9, 11, 15, 14, 14, 14, 16,
    -00035 13, 9, 7, 6, 6, 5, 1, -8, -12, -9, -6, -11, -19, -21, -22, -23, -28, -28, -26,
    -00036 -23, -23, -27, -25, -21, -21, -24, -26, -22, -18, -17, -17, -14, -8, -8, -8, -7,
    -00037 -2, 2, 2, 2, 5, 12, 16, 13, 11, 15, 21, 23, 20, 20, 25, 32, 30, 26, 24, 24, 27,
    -00038 24, 20, 20, 24, 23, 14, 10, 11, 16, 13, 7, -6, -20, -23, -13, -5, -7, -14, -21,
    -00039 -26, -32, -37, -34, -27, -27, -31, -32, -31, -29, -28, -30, -32, -28, -23, -18,
    -00040 -12, -6, -4, -4, -3, 1, 5, 7, 8, 11, 14, 17, 19, 20, 19, 20, 22, 25, 29, 29, 30,
    -00041 31, 35, 35, 33, 32, 33, 35, 33, 29, 26, 25, 20, 15, 7, 3, 0, -5, -12, -21, -22,
    -00042 -24, -27, -34, -36, -36, -38, -39, -39, -35, -35, -36, -36, -33, -33, -35, -35,
    -00043 -32, -30, -29, -27, -23, -20, -17, -12, -7, -3, 0, 7, 14, 17, 19, 21, 25, 27,
    -00044 27, 29, 30, 29, 26, 25, 24, 21, 19, 16, 10, 11, 14, 13, 5, -4, -5, -6, -8, -12,
    -00045 -9, -5, -9, -17, -23, -22, -18, -17, -18, -14, -10, -11, -11, -7, 0, 3, 3, 4, 9,
    -00046 14, 14, 15, 17, 20, 22, 24, 27, 30, 34, 37, 41, 44, 48, 53, 57, 58, 56, 53, 50,
    -00047 51, 44, 35, 32, 33, 27, 8, 0, -2, -10, -39, -53, -35, -25, -34, -48, -46, -51,
    -00048 -60, -68, -63, -49, -47, -53, -59, -59, -61, -60, -59, -56, -52, -45, -40, -33,
    -00049 -29, -24, -17, -13, -7, 0, 12, 18, 22, 21, 21, 22, 22, 23, 25, 27, 23, 21, 19,
    -00050 17, 13, 11, 11, 7, 4, 5, 10, 5, -2, -5, -4, -5, -8, -5, -1, 1, -3, -3, 1, 6, 9,
    -00051 14, 17, 19, 20, 25, 31, 32, 31, 29, 30, 29, 33, 38, 43, 44, 40, 41, 43, 47, 45,
    -00052 46, 43, 31, 19, 14, 13, -7, -26, -33, -33, -42, -58, -56, -56, -56, -59, -56,
    -00053 -53, -56, -49, -48, -50, -52, -44, -38, -48, -59, -57, -39, -29, -35, -37, -28,
    -00054 -16, -11, -4, 13, 28, 32, 30, 36, 43, 44, 45, 44, 40, 33, 31, 28, 23, 15, 10, 9,
    -00055 6, 1, -6, -9, -8, -10, -14, -16, -14, -13, -16, -15, -14, -9, -8, -5, 1, 7, 13,
    -00056 17, 27, 32, 37, 41, 47, 53, 58, 65, 72, 78, 82, 77, 65, 62, 72, 86, 79, 65, 45,
    -00057 34, 26, 8, -10, -27, -27, -45, -63, -79, -82, -84, -91, -86, -89, -90, -99, -92,
    -00058 -87, -91, -90, -84, -79, -81, -82, -72, -58, -49, -44, -37, -19, -5, 7, 19, 31,
    -00059 39, 43, 49, 55, 55, 50, 51, 49, 44, 37, 38, 32, 20, 10, 3, 5, -2, -4, -12, -18,
    -00060 -24, -29, -25, -28, -28, -29, -23, -22, -20, -15, -8, -1, 2, 10, 17, 24, 29, 34,
    -00061 43, 48, 54, 61, 64, 70, 73, 82, 86, 87, 79, 70, 61, 49, 45, 31, 12, -16, -27,
    -00062 -34, -42, -52, -59, -61, -69, -67, -64, -61, -65, -65, -63, -66, -70, -67, -62,
    -00063 -61, -61, -51, -37, -27, -17, -7, 9, 23, 38, 48, 58, 61, 62, 63, 62, 59, 50, 47,
    -00064 40, 35, 27, 23, 18, 10, 3, -3, -10, -21, -28, -32, -39, -46, -51, -52, -49, -48,
    -00065 -42, -35, -25, -16, -8, -4, -1, 10, 25, 36, 37, 41, 45, 49, 50, 58, 75, 85, 88,
    -00066 86, 90, 86, 79, 67, 54, 47, 27, 1, -36, -49, -57, -64, -74, -85, -90, -95, -85,
    -00067 -79, -76, -79, -74, -75, -84, -86, -79, -71, -74, -73, -64, -46, -28, -12, 1,
    -00068 15, 31, 49, 63, 67, 66, 63, 65, 62, 54, 44, 39, 34, 25, 16, 16, 14, 9, -1, -12,
    -00069 -21, -32, -37, -42, -48, -62, -67, -63, -57, -53, -46, -29, -21, -12, -2, 15,
    -00070 25, 27, 33, 39, 46, 50, 62, 67, 75, 86, 96, 111, 116, 124, 119, 107, 88, 68, 62,
    -00071 44, 17, -26, -47, -52, -56, -61, -67, -65, -67, -56, -48, -53, -60, -62, -63,
    -00072 -73, -83, -76, -70, -68, -67, -58, -36, -14, 13, 23, 34, 45, 61, 67, 56, 47, 39,
    -00073 39, 30, 21, 13, 9, 4, -2, -6, 2, 4, -4, -20, -37, -46, -57, -57, -67, -74, -79,
    -00074 -76, -60, -50, -28, -16, -1, 6, 19, 35, 35, 35, 30, 38, 43, 47, 54, 63, 77, 87,
    -00075 100, 116, 124, 126, 113, 100, 76, 50, 35, 13, -19, -67, -82, -78, -73, -72, -71,
    -00076 -64, -67, -53, -40, -45, -64, -75, -75, -87, -95, -85, -69, -63, -59, -40, -11,
    -00077 18, 41, 51, 51, 52, 58, 58, 43, 21, 6, 2, -2, -6, -7, 0, 4, 4, 5, 8, 8, 1, -13,
    -00078 -35, -54, -60, -59, -62, -65, -55, -36, -15, 10, 33, 48, 54, 61, 65, 62, 57, 51,
    -00079 45, 38, 38, 45, 58, 76, 94, 107, 117, 125, 126, 115, 92, 57, 23, 4, -20, -58,
    -00080 -101, -116, -106, -93, -77, -65, -55, -52, -41, -34, -45, -61, -70, -75, -89,
    -00081 -97, -83, -65, -46, -32, -9, 21, 48, 71, 74, 68, 53, 45, 38, 18, -5, -30, -32,
    -00082 -30, -28, -21, -10, 3, 2, 2, 0, -6, -17, -36, -56, -78, -82, -71, -60, -54, -45,
    -00083 -17, 16, 44, 59, 62, 58, 54, 55, 46, 31, 21, 26, 35, 42, 57, 83, 103, 111, 120,
    -00084 127, 122, 106, 82, 42, -11, -35, -44, -66, -107, -119, -94, -71, -53, -36, -22,
    -00085 -25, -19, -7, -25, -53, -66, -62, -71, -81, -58, -28, -4, 6, 30, 56, 74, 87, 81,
    -00086 65, 37, 21, 8, -10, -29, -43, -37, -32, -27, -17, -5, 1, -4, -9, -17, -34, -50,
    -00087 -66, -80, -89, -83, -61, -41, -25, -11, 11, 40, 60, 67, 59, 48, 39, 31, 25, 18,
    -00088 22, 33, 42, 56, 75, 102, 112, 115, 118, 116, 107, 81, 45, -7, -41, -50, -65,
    -00089 -96, -118, -100, -75, -52, -33, -27, -30, -31, -19, -30, -53, -66, -69, -72,
    -00090 -75, -52, -24, 4, 23, 37, 49, 58, 70, 64, 41, 11, -9, -13, -18, -30, -42, -38,
    -00091 -26, -18, -8, 1, 2, -6, -11, -23, -43, -53, -53, -57, -65, -55, -30, -6, 12, 29,
    -00092 44, 53, 61, 61, 50, 33, 24, 23, 23, 19, 23, 34, 50, 67, 88, 106, 109, 109, 110,
    -00093 104, 85, 59, 26, -21, -53, -63, -71, -93, -106, -87, -64, -42, -28, -26, -38,
    -00094 -40, -28, -38, -60, -73, -67, -61, -54, -29, -6, 14, 27, 37, 46, 53, 61, 44, 15,
    -00095 -12, -23, -23, -26, -32, -42, -33, -14, -2, -5, -10, -9, -12, -17, -28, -41,
    -00096 -52, -49, -38, -32, -26, -7, 17, 29, 35, 40, 47, 47, 43, 34, 19, 13, 17, 26, 25,
    -00097 32, 51, 62, 65, 71, 87, 92, 91, 95, 90, 75, 50, 22, -17, -45, -48, -58, -85,
    -00098 -108, -93, -68, -48, -36, -36, -41, -41, -27, -30, -44, -51, -47, -43, -38, -16,
    -00099 7, 22, 32, 39, 40, 36, 39, 34, 16, -11, -28, -33, -31, -27, -30, -32, -26, -8,
    -00100 2, -1, -9, -17, -19, -27, -35, -45, -43, -32, -29, -27, -17, 8, 21, 27, 30, 30,
    -00101 26, 24, 29, 22, 14, 14, 17, 14, 16, 34, 44, 47, 48, 56, 65, 76, 86, 88, 89, 90,
    -00102 94, 86, 60, 17, -24, -38, -47, -70, -100, -109, -96, -72, -45, -35, -36, -32,
    -00103 -15, -16, -36, -48, -45, -41, -44, -38, -23, 1, 24, 32, 29, 28, 38, 35, 17, -8,
    -00104 -30, -42, -43, -38, -44, -46, -37, -22, -12, -5, 3, -1, -11, -20, -21, -26, -32,
    -00105 -29, -20, -11, -5, 11, 24, 23, 21, 28, 33, 19, 9, 7, 3, -3, 4, 18, 20, 24, 34,
    -00106 44, 46, 54, 64, 65, 70, 79, 87, 89, 96, 102, 100, 88, 47, -9, -45, -47, -57,
    -00107 -88, -110, -112, -96, -63, -23, -17, -32, -26, -8, -15, -40, -43, -38, -44, -47,
    -00108 -29, -5, 14, 38, 47, 37, 25, 29, 30, 4, -32, -52, -50, -48, -52, -52, -41, -26,
    -00109 -16, -1, 7, 3, -1, 1, -9, -32, -31, -16, -11, -15, 1, 23, 28, 30, 29, 20, 7, 8,
    -00110 3, -17, -32, -29, -19, -11, 2, 12, 16, 25, 34, 36, 31, 34, 40, 43, 46, 59, 79,
    -00111 89, 99, 107, 112, 109, 99, 63, -6, -61, -72, -71, -100, -127, -124, -103, -68,
    -00112 -23, 1, -12, -14, 4, -9, -44, -48, -29, -33, -38, -19, 4, 24, 54, 70, 48, 27,
    -00113 24, 16, -12, -36, -49, -56, -55, -50, -39, -23, -8, -2, 2, 5, -2, -3, 2, -6,
    -00114 -23, -20, -7, -8, -1, 18, 30, 27, 26, 22, 3, -13, -22, -36, -51, -49, -37, -26,
    -00115 -16, -3, 17, 32, 36, 29, 22, 20, 15, 13, 15, 28, 44, 61, 78, 95, 109, 118, 124,
    -00116 119, 106, 92, 62, -3, -68, -84, -79, -95, -114, -109, -99, -76, -25, 3, -14,
    -00117 -25, -11, -21, -50, -45, -25, -26, -25, -2, 14, 24, 48, 60, 40, 14, 8, -1, -25,
    -00118 -46, -54, -55, -54, -41, -21, -5, 3, 12, 17, 8, 4, 11, 16, 2, -7, -5, -2, 1, 9,
    -00119 12, 4, 6, 11, 3, -14, -24, -32, -43, -48, -50, -53, -41, -18, -4, -3, 6, 18, 21,
    -00120 23, 27, 22, 11, 16, 26, 26, 25, 45, 68, 75, 76, 89, 101, 97, 96, 104, 99, 79,
    -00121 62, 29, -40, -89, -84, -79, -110, -128, -106, -89, -70, -30, -5, -15, -10, 13,
    -00122 -1, -32, -24, 0, -5, -13, 1, 17, 28, 44, 48, 29, 10, 4, -8, -30, -48, -51, -53,
    -00123 -57, -53, -38, -14, 4, 14, 18, 23, 25, 23, 19, 12, 7, 6, 8, 5, 2, 7, 10, -1,
    -00124 -16, -22, -30, -39, -40, -39, -42, -40, -32, -30, -26, -11, 0, 2, 5, 12, 13, 19,
    -00125 27, 27, 22, 24, 27, 29, 34, 39, 38, 37, 47, 58, 62, 63, 76, 91, 93, 84, 82, 81,
    -00126 70, 53, 14, -55, -106, -103, -97, -121, -128, -108, -96, -72, -20, 4, -9, 3, 21,
    -00127 -6, -28, -3, 12, -2, 7, 27, 25, 35, 64, 58, 24, 8, -2, -29, -51, -60, -71, -75,
    -00128 -64, -47, -33, -18, -8, 1, 8, 12, 14, 20, 20, 14, 14, 16, 18, 25, 33, 25, 12, 4,
    -00129 -3, -15, -27, -41, -52, -55, -56, -59, -46, -20, -1, 5, 5, 3, 11, 30, 34, 22,
    -00130 17, 19, 16, 11, 9, 9, 14, 22, 19, 13, 22, 34, 36, 37, 48, 56, 61, 67, 70, 70,
    -00131 78, 93, 97, 81, 63, 38, -16, -79, -105, -106, -117, -126, -115, -105, -89, -37,
    -00132 10, 9, 6, 30, 24, -11, -12, 7, -1, -5, 14, 18, 15, 42, 61, 35, 8, 2, -20, -59,
    -00133 -78, -81, -88, -88, -73, -55, -37, -10, 18, 31, 31, 33, 40, 35, 20, 12, 14, 11,
    -00134 10, 24, 33, 24, 19, 21, 11, -11, -25, -34, -49, -56, -50, -47, -48, -38, -17,
    -00135 -2, 6, 11, 11, 11, 17, 21, 18, 14, 15, 19, 22, 18, 10, 7, 7, 3, 0, 1, 4, 10, 17,
    -00136 22, 31, 45, 49, 44, 45, 50, 48, 52, 63, 63, 61, 71, 78, 72, 56, 14, -50, -88,
    -00137 -89, -96, -117, -120, -108, -86, -44, -4, 6, 14, 36, 33, 1, -11, -2, -3, -5, 5,
    -00138 6, 7, 28, 42, 24, 1, -10, -29, -55, -68, -76, -84, -76, -56, -41, -26, -1, 22,
    -00139 29, 27, 26, 28, 29, 23, 13, 11, 20, 30, 32, 26, 22, 21, 17, 5, -12, -25, -31,
    -00140 -36, -46, -51, -45, -35, -26, -13, -2, 0, 0, 5, 10, 12, 10, 5, 2, 5, 10, 12, 11,
    -00141 9, 8, 7, 0, -5, -2, -3, -11, -3, 16, 19, 18, 31, 38, 33, 37, 46, 42, 41, 50, 51,
    -00142 47, 60, 82, 87, 74, 62, 51, 19, -43, -93, -102, -103, -116, -117, -102, -88,
    -00143 -53, -1, 17, 7, 22, 39, 15, -12, -5, 3, -1, 8, 20, 18, 33, 61, 56, 22, 1, -13,
    -00144 -44, -73, -83, -91, -92, -72, -50, -44, -26, 14, 38, 33, 28, 30, 26, 19, 16, 14,
    -00145 15, 22, 31, 36, 38, 37, 31, 17, -6, -27, -42, -52, -61, -62, -54, -42, -26, -11,
    -00146 3, 18, 25, 19, 13, 10, 1, -10, -7, -3, -7, -3, 11, 16, 17, 23, 23, 11, -2, -12,
    -00147 -22, -25, -21, -17, -10, 5, 16, 25, 38, 51, 57, 54, 46, 40, 46, 54, 54, 54, 63,
    -00148 67, 64, 64, 57, 42, 32, -2, -75, -122, -107, -99, -125, -121, -89, -72, -32, 35,
    -00149 48, 28, 57, 74, 21, -6, 18, 3, -26, 2, 18, -7, 8, 40, 13, -21, -16, -35, -77,
    -00150 -84, -85, -107, -100, -65, -50, -35, 0, 27, 48, 68, 68, 53, 48, 40, 19, 7, 12,
    -00151 13, 15, 17, 10, 6, 9, 2, -15, -28, -40, -54, -59, -56, -51, -34, -13, 2, 15, 30,
    -00152 42, 48, 50, 44, 23, -5, -24, -28, -25, -24, -22, -14, -2, 17, 32, 28, 16, 12, 7,
    -00153 -5, -8, -4, -5, -1, 15, 23, 21, 29, 39, 39, 33, 28, 26, 25, 20, 13, 18, 31, 39,
    -00154 40, 40, 39, 39, 46, 48, 31, 10, 7, -9, -64, -103, -90, -78, -92, -82, -59, -57,
    -00155 -29, 30, 35, 5, 25, 42, 3, -17, 1, -14, -30, 0, 9, -16, 2, 29, -4, -33, -16,
    -00156 -22, -53, -54, -55, -81, -74, -31, -16, -18, 5, 30, 32, 35, 45, 43, 33, 35, 32,
    -00157 14, 9, 16, 10, 3, 6, 4, 1, 0, -9, -21, -22, -25, -32, -34, -31, -24, -5, 11, 14,
    -00158 25, 43, 46, 42, 44, 38, 22, 15, 3, -28, -46, -36, -31, -31, -23, -22, -26, -9,
    -00159 13, 12, 5, 13, 14, 4, 4, 9, 6, 7, 17, 19, 13, 26, 44, 36, 20, 19, 24, 26, 24,
    -00160 16, 12, 25, 36, 27, 20, 29, 37, 36, 35, 22, 5, 7, 4, -47, -88, -65, -52, -79,
    -00161 -77, -54, -62, -38, 22, 19, -20, 11, 44, 0, -15, 22, 3, -38, -9, 7, -25, -5, 37,
    -00162 4, -34, -10, -7, -38, -42, -43, -65, -64, -38, -32, -32, -7, 18, 22, 30, 43, 42,
    -00163 42, 45, 34, 17, 18, 26, 17, 4, 5, 10, 14, 16, 6, -5, -9, -13, -17, -19, -21,
    -00164 -26, -21, -8, -2, 9, 26, 29, 25, 31, 28, 16, 16, 14, 1, -9, -30, -64, -56, -20,
    -00165 -20, -34, -22, -11, -2, 22, 31, 10, -3, 9, 12, -4, -8, 7, 14, 10, 8, 14, 23, 27,
    -00166 18, 7, 7, 17, 24, 23, 13, 15, 35, 44, 41, 41, 49, 46, 42, 36, 27, 17, 18, -11,
    -00167 -70, -84, -63, -72, -94, -79, -74, -74, -30, 10, -15, -24, 20, 27, 0, 10, 24, 0,
    -00168 -7, 14, 6, -5, 28, 43, 6, -11, 8, -1, -28, -29, -36, -67, -61, -30, -38, -46,
    -00169 -10, 13, 9, 28, 49, 39, 33, 40, 23, 9, 20, 20, 7, 10, 15, 9, 14, 21, 5, -13, -8,
    -00170 -9, -25, -29, -27, -35, -33, -22, -14, -5, 13, 24, 21, 25, 37, 36, 25, 21, 12,
    -00171 0, -3, -16, -54, -61, -28, -20, -32, -25, -19, -11, 20, 32, 6, -4, 12, 12, 1, 4,
    -00172 1, -3, 14, 20, 5, 15, 38, 28, 11, 20, 29, 23, 22, 23, 14, 22, 45, 51, 39, 45,
    -00173 57, 49, 43, 40, 25, 12, -4, -57, -86, -67, -62, -89, -86, -67, -66, -41, 6, 1,
    -00174 -23, 14, 36, -3, -11, 16, -5, -27, -4, -1, -17, 10, 35, 8, -7, 19, 19, -11, -19,
    -00175 -21, -46, -50, -27, -32, -45, -18, 9, 1, 10, 42, 41, 24, 30, 26, 8, 16, 24, 3,
    -00176 -7, 8, 12, 6, 10, 10, -3, -12, -10, -16, -29, -33, -32, -35, -34, -22, -7, 3,
    -00177 11, 16, 18, 21, 30, 31, 18, 7, 5, 3, -3, -20, -47, -43, -21, -15, -16, -16, -16,
    -00178 0, 24, 26, 13, 4, 4, 2, 3, 2, -5, 3, 15, 9, 2, 20, 29, 20, 18, 21, 24, 32, 41,
    -00179 34, 33, 42, 52, 55, 46, 40, 33, 29, 27, 26, 13, 6, -29, -74, -66, -46, -69, -89,
    -00180 -74, -76, -69, -28, 6, -17, -17, 22, 21, -3, 14, 29, -3, -8, 13, 10, 3, 29, 24,
    -00181 -11, -17, -1, -7, -31, -41, -49, -60, -52, -33, -39, -37, -6, 10, 4, 19, 47, 46,
    -00182 35, 39, 34, 23, 37, 35, 9, 0, 12, 12, 6, 6, 2, -13, -22, -14, -20, -34, -36,
    -00183 -32, -37, -31, -11, -2, 2, 12, 17, 20, 28, 28, 20, 10, 7, 3, -9, -23, -37, -40,
    -00184 -21, -14, -25, -16, 0, 2, 13, 22, 11, 3, 10, 6, -7, -2, 3, -2, 6, 13, 2, 1, 16,
    -00185 18, 13, 17, 29, 27, 28, 36, 37, 40, 46, 53, 48, 46, 44, 44, 39, 38, 35, 23, -1,
    -00186 -55, -73, -61, -69, -100, -95, -86, -83, -52, -6, 0, -16, 13, 29, 7, 1, 26, 7,
    -00187 -18, 4, 21, 9, 22, 48, 25, 1, 7, 10, -16, -36, -42, -58, -72, -56, -42, -54,
    -00188 -36, -1, 3, 3, 27, 40, 29, 29, 35, 22, 13, 23, 19, 3, 14, 30, 19, 11, 22, 12,
    -00189 -12, -15, -17, -38, -47, -38, -39, -42, -23, -6, -6, 1, 13, 15, 16, 24, 13, -5,
    -00190 1, 13, -1, -18, -29, -38, -16, 11, 4, -18, -9, 12, 21, 19, 12, -4, -15, -8, -7,
    -00191 -12, -10, -3, -1, -1, 9, 18, 24, 22, 20, 23, 36, 45, 47, 39, 28, 46, 62, 58, 56,
    -00192 61, 52, 46, 53, 48, 30, 22, 10, -60, -104, -78, -65, -103, -107, -80, -78, -54,
    -00193 8, 19, -24, 0, 39, 8, -22, 11, 15, -21, -7, 29, 15, 13, 57, 49, 2, 1, 14, -17,
    -00194 -48, -46, -55, -79, -65, -46, -55, -42, 1, 13, 3, 19, 35, 26, 19, 29, 15, 3, 16,
    -00195 23, 12, 18, 41, 32, 15, 20, 23, -8, -24, -24, -39, -48, -39, -34, -40, -21, 1,
    -00196 5, 7, 19, 19, 14, 15, 11, 0, -6, 0, -7, -16, -14, -21, -21, 0, 6, -7, -6, 1, 4,
    -00197 8, 10, 5, -4, -1, 2, 2, 2, 3, 4, 7, 9, 9, 11, 17, 17, 16, 24, 24, 21, 34, 37,
    -00198 27, 40, 50, 47, 52, 64, 57, 43, 44, 44, 31, 21, -4, -70, -96, -70, -64, -94,
    -00199 -88, -69, -67, -40, 8, 7, -20, 7, 22, -10, -20, 15, 12, -15, 0, 26, 22, 32, 60,
    -00200 34, -7, -5, 4, -24, -49, -50, -66, -80, -58, -39, -48, -35, -2, 0, -7, 9, 27,
    -00201 15, 12, 21, 17, 19, 40, 42, 21, 29, 47, 38, 22, 24, 9, -18, -20, -16, -34, -39,
    -00202 -22, -22, -28, -16, 1, 3, 5, 8, 2, -1, 7, 8, -1, -1, -2, 1, 4, -6, -23, -10, 14,
    -00203 11, -4, -4, 3, 8, 17, 9, -5, -9, -4, -8, -9, -7, -6, -3, 4, 4, 0, 16, 24, 13,
    -00204 15, 28, 23, 23, 35, 29, 25, 45, 57, 46, 51, 61, 41, 32, 52, 48, 17, 9, -18, -81,
    -00205 -95, -57, -63, -99, -80, -60, -62, -28, 23, 1, -26, 12, 22, -26, -28, 14, -4,
    -00206 -24, 16, 41, 15, 33, 73, 35, -16, 3, 15, -40, -68, -51, -64, -81, -46, -15, -30,
    -00207 -23, 8, 4, -14, 7, 25, 2, -6, 16, 20, 17, 42, 54, 35, 34, 48, 38, 14, 11, 3,
    -00208 -23, -29, -13, -18, -34, -25, -12, -15, -14, 1, 2, -9, -9, -7, -8, -3, 2, -14,
    -00209 -29, -16, 5, 4, 3, 14, 13, 8, 16, 18, 4, 0, 8, 0, -14, -8, -1, -10, -12, -4,
    -00210 -12, -17, -8, -5, -11, 1, 20, 20, 19, 28, 31, 26, 38, 45, 41, 43, 50, 53, 57,
    -00211 66, 61, 53, 46, 37, 25, 16, -24, -90, -104, -75, -72, -96, -78, -55, -56, -37,
    -00212 9, 5, -25, -9, 0, -35, -46, 1, 12, -7, 17, 58, 46, 33, 56, 45, -3, -19, -7, -39,
    -00213 -66, -44, -34, -58, -42, -1, -8, -27, -5, 11, -20, -27, -1, -3, -15, 11, 34, 26,
    -00214 38, 63, 50, 26, 31, 26, 4, 6, 9, -17, -26, 0, 2, -18, -8, 7, -11, -20, -4, -8,
    -00215 -23, -7, 5, -14, -20, -3, -2, -15, -10, 0, -3, -3, 4, 7, 13, 21, 17, 7, 10, 14,
    -00216 7, -1, -7, -11, -13, -13, -15, -12, -4, -1, 2, 9, 13, 13, 21, 22, 13, 12, 20,
    -00217 23, 28, 45, 51, 49, 57, 69, 62, 57, 57, 41, 24, 15, -17, -79, -93, -68, -66,
    -00218 -89, -75, -58, -65, -50, -12, -16, -42, -22, -4, -32, -42, 4, 22, 6, 24, 63, 55,
    -00219 35, 47, 42, 2, -14, -10, -36, -54, -27, -10, -33, -34, -5, -9, -35, -30, -18,
    -00220 -34, -40, -17, -6, -7, 16, 44, 44, 40, 50, 51, 37, 24, 19, 13, 13, 14, 13, 13,
    -00221 17, 13, 1, -1, -6, -19, -31, -34, -39, -41, -29, -16, -10, -9, -7, -11, -27,
    -00222 -41, -31, -8, -1, -6, 4, 21, 24, 20, 24, 23, 7, -6, -14, -24, -22, -4, 1, -10,
    -00223 -3, 15, 14, 9, 19, 28, 17, 8, 13, 21, 24, 28, 43, 54, 56, 54, 64, 70, 65, 61,
    -00224 56, 44, 39, 44, 5, -68, -88, -54, -53, -88, -77, -53, -65, -62, -24, -24, -45,
    -00225 -23, -12, -53, -62, -8, 15, 0, 21, 52, 38, 34, 56, 40, 3, 11, 11, -29, -35, -3,
    -00226 -8, -35, -18, -6, -33, -50, -37, -40, -54, -39, -30, -33, -15, 17, 21, 20, 37,
    -00227 33, 15, 16, 26, 14, 13, 31, 33, 17, 22, 40, 26, 3, -1, -4, -28, -34, -22, -23,
    -00228 -32, -24, -14, -27, -35, -25, -15, -22, -20, -11, -8, 3, 20, 23, 18, 27, 30, 17,
    -00229 8, 10, 9, 9, 19, 17, 2, 6, 21, 15, 7, 18, 21, 10, 8, 15, 13, 10, 8, 8, 20, 36,
    -00230 43, 44, 51, 54, 51, 56, 57, 45, 37, 28, -28, -76, -60, -38, -62, -65, -31, -44,
    -00231 -69, -53, -34, -62, -57, -28, -52, -84, -41, 15, 3, 15, 55, 41, 7, 34, 49, 4, 0,
    -00232 34, 17, -25, -4, 27, 6, -9, -2, -21, -52, -47, -42, -61, -51, -20, -17, -19, 7,
    -00233 20, 4, 7, 17, 9, 3, 20, 30, 24, 32, 48, 49, 38, 34, 22, 7, 3, 0, -12, -16, -8,
    -00234 -14, -26, -20, -18, -42, -65, -60, -41, -35, -32, -19, -3, 6, 13, 19, 12, 14,
    -00235 21, 13, -1, 4, 22, 28, 30, 33, 33, 22, 15, 24, 27, 21, 21, 26, 22, 18, 23, 23,
    -00236 19, 15, 8, 9, 15, 27, 40, 52, 50, 41, 45, 53, 32, -39, -73, -55, -42, -58, -46,
    -00237 -24, -37, -41, -25, -31, -67, -57, -33, -61, -89, -48, -1, -6, 9, 45, 30, 5, 22,
    -00238 26, -10, -7, 22, 10, -7, 23, 43, 14, 7, 15, -18, -51, -32, -26, -54, -42, -7,
    -00239 -9, -22, -5, 1, -13, -13, -7, -20, -17, 16, 30, 27, 40, 51, 35, 24, 27, 17, 4,
    -00240 6, 12, 8, 5, 10, 10, 3, -13, -37, -62, -66, -55, -43, -30, -19, -9, 1, 5, 5, 9,
    -00241 7, -10, -15, -2, 6, 12, 29, 41, 35, 27, 23, 18, 14, 21, 29, 35, 43, 44, 38, 38,
    -00242 38, 25, 18, 20, 13, 6, 18, 30, 35, 42, 39, 29, 28, 11, -53, -86, -60, -45, -66,
    -00243 -44, 0, -17, -40, -18, -18, -71, -72, -37, -51, -67, -30, -2, -6, 23, 46, 11,
    -00244 -14, 5, 4, -22, -3, 24, 9, 0, 25, 30, 1, 3, 8, -24, -49, -30, -19, -28, -4, 18,
    -00245 3, -12, -1, -3, -18, -15, -3, 0, -3, 6, 19, 27, 36, 35, 23, 14, 14, 6, 6, 13,
    -00246 12, 12, 22, 21, -2, -23, -34, -39, -48, -37, -13, -8, -13, -2, 6, -4, -4, -7,
    -00247 -16, -20, -10, -1, 10, 27, 33, 26, 14, 17, 18, 7, 2, 13, 23, 21, 35, 51, 48, 41,
    -00248 40, 39, 32, 33, 26, 21, 27, 34, 27, 30, 43, 31, 16, 13, -27, -87, -75, -33, -52,
    -00249 -62, -10, -8, -56, -50, -15, -51, -75, -41, -45, -73, -31, 16, -12, -1, 46, 23,
    -00250 -22, 4, 18, -23, -17, 27, 16, -12, 19, 33, -7, -14, 9, -13, -48, -30, -16, -31,
    -00251 -20, 6, -3, -18, -3, -6, -27, -14, 5, -10, -8, 27, 36, 24, 33, 38, 20, 12, 20,
    -00252 10, 3, 16, 26, 19, 18, 19, 1, -31, -53, -39, -26, -26, -17, 3, 1, -8, 1, 2, -6,
    -00253 -14, -16, -17, -6, 5, 9, 16, 27, 24, 15, 14, 15, 13, 21, 27, 29, 40, 50, 46, 41,
    -00254 46, 44, 36, 34, 36, 35, 44, 45, 38, 36, 42, 36, 25, -14, -75, -80, -45, -45,
    -00255 -65, -26, -12, -54, -65, -30, -49, -91, -61, -43, -72, -52, 9, -2, -15, 30, 28,
    -00256 -21, -13, 21, -1, -13, 23, 27, 7, 26, 45, 3, -24, -4, -17, -49, -32, -8, -30,
    -00257 -34, -1, 1, -19, -11, -7, -28, -27, -9, -11, -1, 24, 32, 22, 27, 36, 29, 27, 30,
    -00258 25, 21, 30, 33, 22, 18, 14, -3, -29, -38, -23, -15, -17, -7, 3, -7, -7, 1, -10,
    -00259 -18, -16, -20, -21, 0, 13, 7, 5, 10, 10, 4, 4, 9, 15, 20, 21, 28, 40, 41, 37,
    -00260 40, 33, 24, 34, 44, 39, 44, 60, 54, 41, 39, 46, 41, 30, -19, -72, -64, -36, -47,
    -00261 -59, -22, -30, -66, -61, -31, -58, -85, -60, -63, -77, -43, -3, -21, -13, 22, 3,
    -00262 -23, 3, 24, 4, 7, 28, 15, 7, 34, 42, 5, -6, 0, -25, -38, -10, -3, -28, -22, -3,
    -00263 -16, -23, -11, -21, -39, -28, -14, -16, 8, 32, 25, 16, 23, 24, 21, 28, 31, 29,
    -00264 27, 29, 33, 31, 19, 7, -3, -31, -50, -25, -3, -13, -12, 5, -12, -30, -17, -12,
    -00265 -22, -28, -25, -21, -8, 5, 8, 10, 8, 8, 7, 14, 17, 16, 22, 28, 35, 38, 42, 40,
    -00266 41, 35, 31, 35, 35, 30, 38, 57, 52, 44, 42, 44, 32, 24, -23, -75, -59, -21, -37,
    -00267 -53, -5, -16, -63, -54, -13, -52, -83, -51, -54, -73, -29, 14, -16, -12, 24, -3,
    -00268 -33, 3, 21, -5, 4, 33, 11, 3, 36, 37, -5, -9, 3, -26, -31, 0, 1, -28, -17, -2,
    -00269 -20, -21, -6, -18, -36, -24, -16, -19, 0, 19, 16, 9, 8, 8, 11, 18, 19, 26, 25,
    -00270 23, 26, 26, 18, 10, 2, -18, -27, -9, 5, -1, -3, -1, -13, -18, -12, -14, -18,
    -00271 -20, -23, -17, 0, 6, 2, -4, -7, -6, 1, 9, 18, 23, 22, 28, 36, 42, 41, 41, 38,
    -00272 31, 33, 40, 45, 43, 50, 53, 46, 44, 38, 36, 32, 28, -35, -78, -50, -20, -48,
    -00273 -51, -7, -44, -83, -57, -23, -66, -71, -42, -63, -71, -13, 17, -22, -5, 28, -5,
    -00274 -27, 18, 30, 2, 17, 37, 11, 11, 45, 34, -9, -4, -1, -35, -30, 5, -4, -28, -13,
    -00275 -16, -35, -20, -6, -29, -37, -21, -24, -20, 9, 21, 13, 13, 11, 11, 20, 24, 21,
    -00276 27, 30, 21, 28, 35, 27, 14, 6, -11, -29, -11, 8, 5, -7, -7, -15, -21, -11, -7,
    -00277 -12, -22, -23, -19, -12, -1, 7, 4, -5, -2, 3, 0, 6, 16, 23, 23, 30, 37, 36, 37,
    -00278 39, 37, 33, 36, 39, 35, 47, 52, 48, 45, 46, 38, 31, 25, -42, -79, -46, -18, -52,
    -00279 -39, -5, -47, -78, -48, -34, -76, -66, -56, -77, -63, -8, -4, -24, 4, 12, -21,
    -00280 -13, 23, 14, 6, 29, 29, 11, 31, 47, 24, 5, 7, -9, -28, -11, 0, -12, -13, -9,
    -00281 -27, -33, -17, -25, -39, -33, -29, -29, -10, 7, 3, 9, 16, 7, 10, 25, 26, 23, 32,
    -00282 31, 29, 36, 34, 21, 17, 12, -12, -19, 3, 13, 0, -6, -5, -14, -16, -7, -12, -22,
    -00283 -24, -23, -17, -1, 7, 2, -4, -5, -3, 4, 11, 14, 15, 25, 32, 33, 39, 41, 38, 31,
    -00284 33, 32, 32, 34, 36, 47, 44, 45, 41, 38, 30, 34, 2, -63, -63, -30, -34, -55, -14,
    -00285 -20, -64, -59, -31, -55, -75, -49, -64, -79, -39, -2, -20, -14, 13, -6, -24, 1,
    -00286 16, 7, 19, 31, 18, 25, 42, 33, 20, 18, 2, -19, -11, -3, -9, -11, -9, -20, -26,
    -00287 -16, -20, -33, -33, -34, -38, -20, -3, -5, 0, 12, 6, 4, 18, 20, 21, 33, 35, 25,
    -00288 34, 42, 29, 20, 24, 12, -12, -14, 3, 8, 0, -3, -3, -7, -9, -8, -9, -12, -19,
    -00289 -20, -16, -7, 1, 4, -3, -6, 3, 9, 8, 10, 21, 26, 24, 27, 33, 37, 33, 31, 33, 34,
    -00290 37, 32, 37, 40, 43, 45, 42, 36, 35, 32, -31, -71, -43, -16, -50, -48, -14, -41,
    -00291 -68, -49, -34, -68, -67, -59, -72, -65, -21, -5, -17, -3, 2, -11, -8, 10, 10,
    -00292 10, 18, 16, 21, 38, 36, 24, 19, 5, -16, -13, -6, -9, -9, -5, -15, -26, -19, -14,
    -00293 -24, -36, -36, -34, -28, -13, -2, 3, 6, 4, 2, 9, 13, 17, 21, 23, 24, 34, 38, 31,
    -00294 29, 21, 10, 3, 1, -2, 3, 3, -6, -7, -1, 1, -5, -8, -14, -18, -21, -15, -7, -5,
    -00295 -6, -3, 0, -2, 4, 13, 10, 6, 17, 28, 24, 27, 37, 36, 33, 37, 35, 31, 44, 45, 38,
    -00296 40, 44, 43, 38, 39, 36, 33, -20, -67, -47, -11, -33, -52, -21, -37, -69, -59,
    -00297 -28, -54, -70, -60, -70, -74, -38, -5, -19, -18, -3, -7, -12, 4, 14, 7, 7, 11,
    -00298 20, 34, 33, 26, 20, 11, -8, -8, 1, -6, -7, -5, -12, -24, -13, -5, -23, -33, -30,
    -00299 -29, -30, -10, 0, -6, -1, 7, 6, 5, 17, 18, 12, 15, 21, 29, 32, 31, 25, 18, 10,
    -00300 3, 5, 4, 5, -1, -8, -10, -5, -2, -5, -4, -10, -16, -21, -14, -5, -5, -9, -7, -1,
    -00301 -2, 5, 16, 13, 4, 13, 23, 24, 25, 31, 26, 25, 31, 33, 33, 34, 37, 29, 37, 37,
    -00302 37, 36, 40, 33, 24, 8, -41, -53, -29, -19, -49, -36, -25, -53, -61, -34, -35,
    -00303 -71, -69, -62, -67, -51, -19, -17, -25, -9, -4, -12, -4, 10, 10, 6, 13, 19, 32,
    -00304 35, 24, 20, 18, 2, -7, 9, 3, -8, -2, -4, -21, -21, -6, -19, -29, -29, -27, -26,
    -00305 -15, -3, -2, -1, -5, 1, 9, 13, 10, 12, 14, 14, 24, 34, 32, 27, 24, 14, 7, 13,
    -00306 11, 4, 6, 3, -7, -12, -3, -1, -4, -15, -22, -15, -14, -15, -11, -8, -17, -12,
    -00307 -2, -2, 3, 11, 11, 11, 21, 29, 29, 29, 28, 25, 30, 37, 42, 40, 36, 30, 32, 39,
    -00308 36, 36, 32, 30, 24, 31, -3, -53, -51, -21, -30, -55, -30, -28, -52, -55, -29,
    -00309 -44, -65, -56, -54, -57, -40, -8, -11, -15, -6, -3, -7, -1, 5, 3, 6, 9, 17, 30,
    -00310 28, 20, 19, 12, -4, -1, 9, -3, -6, 1, -2, -14, -10, -8, -18, -22, -24, -22, -22,
    -00311 -16, -7, 1, -2, -6, 1, 4, 0, -1, 9, 10, 8, 20, 32, 27, 22, 25, 15, 4, 6, 9, 3,
    -00312 2, 7, 5, -3, -6, -3, -5, -15, -21, -17, -17, -17, -12, -6, -12, -14, -5, 1, -2,
    -00313 1, 9, 9, 13, 24, 30, 28, 31, 34, 36, 37, 38, 38, 37, 33, 35, 47, 46, 38, 34, 31,
    -00314 29, 33, -2, -52, -47, -12, -25, -50, -30, -26, -51, -55, -34, -48, -60, -54,
    -00315 -57, -61, -34, -9, -15, -20, -17, -10, -8, -7, -4, 7, 8, 4, 17, 35, 29, 17, 20,
    -00316 12, -6, -1, 12, 5, -3, 1, 1, -7, -7, -7, -16, -23, -24, -25, -22, -11, -8, -9,
    -00317 -3, 0, -4, 0, 4, 1, 2, 7, 6, 17, 34, 33, 20, 18, 19, 8, 4, 5, 3, -1, 6, 10, 6,
    -00318 5, 2, -4, -12, -17, -17, -12, -11, -11, -8, -8, -8, -6, -3, -3, -3, 0, 5, 11,
    -00319 17, 19, 25, 31, 30, 29, 35, 37, 38, 39, 36, 42, 51, 47, 39, 42, 42, 31, 31, 23,
    -00320 -21, -46, -22, -6, -34, -38, -25, -36, -54, -45, -41, -61, -67, -64, -63, -55,
    -00321 -28, -16, -23, -25, -22, -12, -5, -9, -9, 8, 14, 9, 23, 35, 28, 19, 16, 8, 3,
    -00322 12, 15, 6, -1, 3, 4, 2, -5, -13, -14, -19, -27, -25, -14, -11, -14, -13, -8, 0,
    -00323 1, -3, -1, 3, 3, 1, 7, 17, 25, 27, 23, 17, 18, 18, 0, -6, 6, 11, 3, 3, 6, 4, 1,
    -00324 -8, -15, -19, -18, -19, -16, -9, -7, -8, -11, -9, -8, -8, -7, -3, 5, 12, 17, 19,
    -00325 28, 33, 25, 18, 23, 29, 33, 40, 45, 43, 42, 41, 41, 41, 33, 28, 33, 33, -7, -40,
    -00326 -24, 3, -20, -49, -31, -25, -39, -46, -36, -50, -60, -56, -54, -57, -46, -21,
    -00327 -19, -26, -23, -13, -4, -2, -6, -5, 8, 11, 12, 24, 28, 22, 16, 16, 10, 9, 14,
    -00328 11, 4, 2, 9, 6, 1, -3, -8, -13, -18, -20, -17, -10, -11, -17, -16, -8, -1, 1,
    -00329 -2, -6, -3, 4, 6, 9, 15, 23, 24, 17, 12, 16, 15, 6, 1, -2, 0, 9, 16, 3, -8, -5,
    -00330 -5, -14, -19, -13, -15, -19, -17, -12, -10, -3, -2, -9, -12, -7, -1, 2, 9, 16,
    -00331 19, 21, 22, 23, 31, 32, 23, 25, 40, 43, 32, 34, 44, 47, 39, 31, 32, 36, 32, -7,
    -00332 -40, -28, 1, -18, -45, -32, -21, -32, -43, -36, -47, -54, -54, -54, -56, -45,
    -00333 -23, -19, -20, -24, -19, -8, -5, -11, -10, 5, 8, 11, 21, 29, 29, 25, 21, 11, 12,
    -00334 20, 14, 5, 8, 16, 11, 7, -1, -11, -13, -13, -20, -27, -21, -14, -14, -18, -16,
    -00335 -8, -9, -15, -16, -8, -2, 0, 6, 14, 21, 22, 21, 20, 19, 19, 9, -4, -1, 10, 12,
    -00336 7, 6, 4, 1, -4, -10, -10, -13, -20, -22, -15, -12, -9, -2, -2, -5, -9, -7, -4,
    -00337 -4, 1, 11, 18, 21, 28, 29, 27, 31, 28, 23, 27, 35, 35, 32, 41, 48, 48, 39, 31,
    -00338 30, 34, 21, -25, -40, -14, 1, -31, -39, -18, -21, -40, -43, -39, -59, -63, -56,
    -00339 -56, -59, -43, -24, -24, -29, -29, -18, -10, -16, -21, -8, 9, 9, 12, 25, 31, 32,
    -00340 32, 24, 13, 19, 27, 19, 7, 9, 17, 12, 4, 0, -4, -12, -19, -23, -24, -23, -22,
    -00341 -19, -15, -13, -10, -13, -13, -9, -5, -5, -1, 9, 16, 20, 22, 23, 24, 22, 17, 14,
    -00342 12, -1, -8, 3, 15, 10, 0, -1, -1, 0, -7, -16, -20, -17, -15, -18, -16, -8, -2,
    -00343 -3, -5, -6, -5, -1, -2, 0, 9, 19, 22, 25, 29, 32, 33, 28, 23, 27, 31, 31, 35,
    -00344 43, 41, 38, 40, 37, 30, 30, 19, -22, -42, -16, 5, -21, -40, -23, -16, -32, -43,
    -00345 -43, -53, -58, -56, -57, -59, -45, -30, -29, -31, -30, -26, -17, -13, -21, -17,
    -00346 5, 11, 5, 17, 35, 34, 25, 24, 17, 12, 20, 21, 8, 6, 16, 15, 9, 7, 0, -8, -12,
    -00347 -20, -28, -21, -15, -19, -18, -8, -7, -13, -13, -10, -9, -6, -2, 1, 8, 16, 20,
    -00348 22, 22, 19, 18, 17, 12, 8, 7, 1, -6, 1, 12, 9, -5, -6, -3, -7, -15, -16, -14,
    -00349 -16, -19, -15, -9, -8, -7, -4, -3, -4, -1, 4, 8, 10, 15, 22, 28, 30, 30, 33, 34,
    -00350 29, 25, 32, 40, 39, 36, 39, 43, 40, 36, 35, 36, 22, -13, -32, -11, 7, -19, -37,
    -00351 -22, -11, -29, -38, -36, -50, -60, -54, -50, -59, -50, -31, -29, -33, -27, -22,
    -00352 -21, -18, -20, -20, -7, 4, 3, 7, 21, 24, 16, 13, 14, 15, 14, 11, 6, 8, 17, 16,
    -00353 8, 5, 4, -1, -8, -14, -16, -10, -7, -10, -13, -8, -7, -10, -9, -10, -13, -11,
    -00354 -3, 3, 6, 12, 15, 14, 13, 16, 18, 11, 5, 7, 13, 6, -7, -6, 6, 9, 0, -5, -4, -3,
    -00355 -6, -10, -13, -15, -14, -13, -8, -6, -5, -3, -1, -2, -2, 3, 5, 7, 12, 19, 24,
    -00356 27, 28, 27, 26, 26, 28, 32, 33, 33, 35, 43, 42, 37, 36, 37, 31, 29, 20, -11,
    -00357 -28, -7, 11, -13, -31, -20, -12, -29, -39, -39, -49, -56, -53, -53, -60, -47,
    -00358 -29, -28, -36, -36, -29, -24, -25, -32, -28, -11, 0, 0, 2, 13, 17, 12, 13, 16,
    -00359 16, 15, 17, 16, 17, 21, 20, 17, 13, 6, 0, 0, 3, -2, -6, -2, -1, -8, -13, -6, -4,
    -00360 -12, -19, -16, -8, -5, -4, -1, 5, 5, 4, 6, 6, 4, 4, 5, 1, 2, 8, 8, -1, -6, 4,
    -00361 10, 3, -7, -7, -1, -2, -8, -7, 1, 0, -7, -7, -3, -1, 0, 3, 3, 3, 7, 12, 16, 18,
    -00362 22, 21, 22, 26, 25, 23, 27, 33, 30, 32, 37, 36, 36, 37, 37, 33, 34, 19, -13,
    -00363 -24, -1, 16, -8, -26, -18, -8, -18, -32, -37, -44, -52, -57, -55, -52, -46, -38,
    -00364 -36, -38, -38, -33, -31, -34, -37, -34, -21, -10, -6, -3, 7, 16, 11, 7, 11, 17,
    -00365 18, 19, 19, 19, 23, 28, 26, 15, 9, 10, 10, 6, 5, 5, 6, 4, -1, -4, -4, -6, -13,
    -00366 -14, -12, -10, -9, -6, -3, 0, 0, -2, -3, 0, 1, -1, -2, -2, -4, -4, 3, 4, -3, -2,
    -00367 8, 9, -2, -6, -2, 0, -3, -5, 0, 3, 3, 1, 2, 6, 6, 5, 7, 12, 14, 13, 15, 19, 21,
    -00368 23, 23, 23, 24, 26, 28, 28, 30, 30, 31, 33, 32, 29, 28, 30, 7, -19, -20, 3, 5,
    -00369 -17, -22, -12, -10, -28, -36, -37, -41, -49, -54, -53, -46, -37, -36, -43, -43,
    -00370 -38, -37, -36, -32, -29, -27, -15, -3, -4, -6, 5, 13, 6, 5, 14, 19, 19, 22, 25,
    -00371 25, 26, 26, 20, 16, 17, 17, 11, 10, 12, 11, 11, 9, 2, -2, 0, -2, -12, -14, -9,
    -00372 -6, -7, -7, -5, -5, -3, -2, -1, -2, -2, -4, -8, -6, -2, 3, 3, -2, -4, 3, 10, 6,
    -00373 -1, -2, 2, 3, 4, 5, 5, 2, 0, 1, 5, 8, 8, 5, 5, 9, 14, 17, 15, 11, 14, 17, 16,
    -00374 19, 23, 26, 22, 25, 30, 31, 31, 30, 31, 29, 29, 11, -15, -19, 5, 16, -10, -26,
    -00375 -16, -4, -17, -33, -38, -39, -41, -46, -50, -48, -38, -35, -41, -42, -37, -35,
    -00376 -35, -36, -35, -33, -20, -10, -8, -6, 1, 3, -2, 4, 13, 14, 11, 16, 22, 24, 25,
    -00377 26, 21, 16, 15, 14, 11, 11, 15, 13, 11, 9, 6, -1, -3, -3, -8, -12, -9, -5, -7,
    -00378 -7, -4, -3, -6, -8, -8, -7, -2, 4, 2, -1, 1, 3, 0, -1, 5, 6, 0, -1, 8, 13, 8, 0,
    -00379 0, 4, 5, 0, -4, 0, 4, 2, 3, 7, 6, 3, 1, 3, 6, 10, 13, 13, 12, 14, 17, 21, 24,
    -00380 21, 18, 24, 32, 32, 30, 31, 33, 31, 27, 8, -13, -11, 10, 11, -12, -21, -8, -3,
    -00381 -18, -33, -40, -43, -44, -44, -46, -45, -40, -39, -43, -44, -39, -33, -31, -33,
    -00382 -32, -26, -15, -9, -8, -6, 1, 6, 7, 8, 11, 16, 23, 25, 22, 24, 31, 32, 22, 15,
    -00383 16, 19, 17, 15, 15, 14, 10, 6, 1, -3, -5, -8, -10, -13, -15, -13, -8, -9, -15,
    -00384 -15, -8, -6, -10, -12, -8, 0, 2, 0, -1, 4, 7, 0, -5, 4, 12, 6, -5, -2, 9, 12, 5,
    -00385 2, 4, 1, -1, -2, -2, -3, -3, -2, -4, -3, 0, 4, 3, 2, 6, 8, 8, 9, 11, 12, 15, 21,
    -00386 26, 27, 26, 28, 31, 29, 28, 29, 30, 32, 33, 22, -2, -6, 10, 19, -1, -19, -14,
    -00387 -5, -12, -26, -32, -35, -40, -44, -48, -45, -39, -36, -43, -46, -39, -34, -37,
    -00388 -39, -35, -29, -22, -10, -2, -3, -4, 1, 5, 8, 14, 18, 19, 22, 26, 30, 32, 30,
    -00389 22, 16, 18, 20, 18, 16, 15, 10, 6, 6, 3, -4, -9, -10, -11, -12, -14, -16, -14,
    -00390 -13, -13, -13, -9, -8, -11, -12, -8, -2, 1, 3, 4, 7, 8, 8, 8, 6, 2, 1, 7, 12, 7,
    -00391 -1, 3, 9, 4, -7, -10, -5, -5, -11, -11, -5, -3, -7, -9, -7, -6, -4, -2, -3, -2,
    -00392 3, 10, 13, 14, 13, 15, 23, 29, 28, 24, 29, 36, 38, 34, 33, 38, 39, 36, 33, 35,
    -00393 19, -7, -12, 10, 15, -10, -21, -11, -7, -25, -38, -40, -44, -48, -47, -43, -42,
    -00394 -41, -42, -40, -35, -34, -36, -33, -25, -22, -21, -9, 3, 4, 2, 10, 15, 12, 12,
    -00395 19, 22, 22, 21, 22, 25, 27, 25, 17, 13, 10, 7, 2, -1, -1, -2, -1, -5, -11, -13,
    -00396 -12, -16, -22, -22, -20, -16, -12, -9, -9, -6, -1, -2, -6, -5, 1, 8, 10, 12, 13,
    -00397 15, 17, 16, 15, 16, 19, 16, 11, 5, 4, 7, 5, -3, -9, -5, -4, -10, -20, -21, -13,
    -00398 -10, -17, -22, -18, -13, -13, -15, -13, -10, -6, -3, 0, 4, 11, 16, 18, 19, 23,
    -00399 27, 29, 30, 32, 36, 39, 40, 41, 42, 39, 41, 45, 43, 32, 28, 19, -4, -16, -3, 6,
    -00400 -13, -29, -22, -12, -21, -35, -46, -54, -54, -49, -46, -47, -45, -41, -37, -32,
    -00401 -30, -32, -29, -21, -17, -17, -8, 5, 9, 9, 12, 19, 18, 15, 17, 19, 18, 18, 19,
    -00402 21, 19, 14, 9, 6, 5, 2, -3, -5, -6, -10, -12, -11, -13, -17, -20, -17, -14, -17,
    -00403 -18, -12, -5, -3, -2, -1, 1, 2, 5, 9, 12, 14, 17, 21, 21, 20, 22, 24, 21, 20,
    -00404 19, 17, 14, 14, 12, 4, -2, -9, -15, -16, -10, -12, -21, -25, -22, -20, -27, -34,
    -00405 -32, -26, -26, -26, -19, -12, -10, -10, -6, -2, 1, 5, 9, 13, 20, 25, 30, 31, 31,
    -00406 34, 39, 39, 34, 38, 46, 51, 49, 41, 38, 41, 42, 36, 27, 14, -9, -18, -6, 3, -15,
    -00407 -31, -24, -18, -32, -48, -50, -53, -57, -56, -52, -49, -43, -39, -40, -40, -31,
    -00408 -24, -22, -22, -19, -14, -1, 13, 13, 11, 14, 18, 16, 15, 21, 24, 22, 18, 20, 20,
    -00409 18, 12, 5, -2, -5, -5, -7, -9, -11, -15, -15, -13, -16, -21, -20, -15, -14, -15,
    -00410 -11, -4, -2, -3, -1, 3, 9, 14, 14, 15, 21, 27, 26, 23, 24, 25, 23, 22, 20, 18,
    -00411 18, 18, 12, 5, 4, 3, -1, -7, -11, -13, -21, -36, -40, -23, -17, -35, -46, -32,
    -00412 -21, -30, -39, -32, -19, -15, -18, -15, -6, 1, 0, 3, 9, 13, 19, 27, 30, 32, 37,
    -00413 44, 47, 43, 39, 41, 44, 42, 41, 45, 48, 41, 34, 37, 39, 31, 21, 20, 11, -17,
    -00414 -33, -18, -5, -27, -44, -32, -23, -40, -56, -54, -55, -59, -54, -47, -48, -45,
    -00415 -33, -27, -31, -30, -22, -14, -12, -10, -2, 11, 20, 17, 15, 20, 25, 19, 15, 21,
    -00416 23, 18, 17, 19, 16, 11, 8, 4, -5, -12, -13, -14, -16, -16, -14, -12, -13, -18,
    -00417 -20, -19, -18, -18, -13, -4, 0, 3, 8, 10, 9, 12, 13, 10, 12, 21, 25, 24, 23, 23,
    -00418 20, 16, 15, 13, 8, 5, 8, 6, 1, 0, 0, -8, -17, -18, -17, -18, -24, -38, -42, -25,
    -00419 -9, -20, -33, -22, -7, -9, -21, -23, -12, 2, 4, 2, 6, 13, 17, 21, 20, 18, 21,
    -00420 26, 26, 28, 37, 41, 37, 32, 30, 34, 40, 36, 25, 27, 38, 38, 27, 19, 21, 25, 25,
    -00421 19, 8, -12, -30, -24, -10, -19, -40, -34, -17, -26, -47, -48, -43, -49, -52,
    -00422 -46, -42, -40, -32, -25, -25, -24, -18, -13, -12, -11, -7, 4, 16, 18, 14, 17,
    -00423 23, 20, 14, 15, 17, 14, 11, 16, 17, 13, 7, 3, -4, -10, -11, -14, -19, -21, -17,
    -00424 -14, -12, -13, -17, -19, -13, -9, -12, -12, -4, 4, 6, 7, 11, 14, 14, 16, 18, 18,
    -00425 19, 22, 23, 21, 19, 20, 19, 15, 9, 6, 6, 6, 1, -4, -5, -8, -10, -13, -19, -21,
    -00426 -20, -26, -39, -31, -14, -10, -19, -16, -9, -8, -12, -16, -14, -5, 7, 9, 9, 11,
    -00427 16, 19, 19, 14, 13, 20, 25, 24, 25, 30, 32, 30, 27, 28, 29, 25, 23, 24, 22, 18,
    -00428 20, 27, 25, 21, 17, 13, 9, 6, -9, -36, -39, -18, -10, -29, -33, -24, -28, -42,
    -00429 -43, -43, -55, -53, -37, -32, -36, -26, -13, -19, -25, -15, -8, -12, -10, 4, 14,
    -00430 17, 22, 23, 20, 17, 18, 16, 14, 14, 11, 9, 13, 14, 5, -2, -5, -12, -20, -19,
    -00431 -16, -18, -21, -18, -15, -14, -14, -16, -16, -13, -9, -7, -4, 3, 9, 12, 15, 18,
    -00432 16, 17, 23, 21, 17, 23, 31, 26, 18, 20, 22, 15, 8, 5, 2, 1, 0, -2, -8, -13, -16,
    -00433 -19, -27, -38, -36, -21, -13, -22, -25, -17, -10, -12, -16, -18, -16, -9, 0, 8,
    -00434 13, 16, 19, 21, 19, 15, 15, 18, 20, 23, 30, 33, 30, 27, 27, 27, 24, 18, 17, 22,
    -00435 28, 26, 21, 22, 22, 18, 12, 9, 7, 9, 11, -7, -34, -36, -15, -13, -34, -39, -25,
    -00436 -27, -42, -42, -36, -42, -44, -33, -31, -40, -29, -8, -10, -22, -12, 3, -1, -7,
    -00437 1, 12, 15, 17, 18, 17, 18, 21, 19, 12, 6, 6, 6, 1, -2, -5, -5, -7, -13, -20,
    -00438 -20, -17, -21, -25, -22, -16, -16, -15, -14, -15, -13, -7, -4, -2, 5, 12, 15,
    -00439 17, 20, 20, 20, 22, 23, 23, 22, 21, 21, 20, 18, 15, 10, 5, 1, -4, -8, -9, -12,
    -00440 -19, -22, -24, -31, -39, -33, -25, -25, -27, -21, -14, -13, -15, -17, -15, -8,
    -00441 2, 6, 9, 15, 21, 25, 24, 21, 20, 25, 27, 26, 28, 35, 37, 34, 32, 32, 30, 26, 23,
    -00442 22, 24, 25, 27, 29, 27, 20, 16, 16, 11, 5, 8, 11, -9, -35, -33, -13, -14, -36,
    -00443 -38, -27, -31, -44, -42, -41, -48, -45, -31, -33, -43, -31, -13, -15, -22, -11,
    -00444 -2, -7, -7, 7, 13, 9, 13, 19, 15, 12, 20, 20, 7, 3, 8, 7, 1, 2, 2, -5, -10, -13,
    -00445 -19, -20, -15, -17, -21, -16, -12, -12, -12, -7, -7, -6, -2, 1, 1, 5, 13, 15,
    -00446 14, 16, 20, 23, 23, 23, 22, 21, 19, 17, 15, 14, 11, 7, 2, -3, -6, -7, -10, -17,
    -00447 -25, -26, -29, -33, -26, -16, -19, -28, -24, -15, -15, -18, -13, -7, -5, 0, 7,
    -00448 10, 11, 15, 19, 19, 17, 20, 26, 30, 28, 29, 32, 33, 32, 31, 30, 30, 31, 29, 25,
    -00449 28, 31, 25, 21, 28, 31, 22, 15, 16, 15, 11, 8, -8, -32, -34, -16, -17, -39, -41,
    -00450 -26, -28, -44, -45, -41, -51, -53, -39, -38, -47, -35, -11, -11, -23, -14, -2,
    -00451 -7, -10, 4, 12, 9, 13, 22, 20, 15, 19, 20, 8, 1, 9, 11, 5, 2, 4, -1, -7, -10,
    -00452 -15, -20, -20, -19, -23, -23, -16, -11, -10, -9, -8, -8, -6, -3, -2, 1, 7, 13,
    -00453 15, 15, 16, 18, 22, 22, 19, 16, 16, 17, 16, 14, 10, 4, -1, -2, -5, -14, -22,
    -00454 -22, -22, -24, -24, -22, -23, -26, -23, -19, -19, -21, -18, -13, -8, -4, 0, 3,
    -00455 6, 10, 12, 12, 13, 17, 23, 25, 27, 30, 31, 30, 31, 32, 30, 30, 31, 32, 31, 32,
    -00456 32, 30, 28, 27, 26, 22, 24, 26, 26, 23, 21, 10, -13, -31, -30, -22, -29, -37,
    -00457 -32, -25, -33, -40, -41, -47, -57, -54, -45, -44, -42, -28, -16, -18, -18, -9,
    -00458 -5, -11, -9, 2, 7, 7, 14, 21, 19, 19, 21, 16, 5, 2, 5, 5, 3, 3, 1, -4, -6, -8,
    -00459 -14, -21, -21, -20, -21, -21, -14, -8, -7, -9, -8, -6, -4, -2, 1, 7, 13, 16, 16,
    -00460 18, 22, 22, 18, 16, 16, 16, 15, 14, 15, 14, 10, 3, -4, -9, -13, -18, -23, -31,
    -00461 -32, -21, -12, -19, -30, -24, -14, -17, -25, -20, -11, -7, -3, 2, 5, 7, 14, 19,
    -00462 17, 14, 17, 20, 21, 24, 30, 35, 34, 33, 32, 33, 32, 30, 28, 29, 32, 31, 31, 33,
    -00463 34, 30, 25, 22, 25, 26, 19, 16, 17, 7, -25, -43, -29, -13, -30, -48, -37, -26,
    -00464 -38, -50, -45, -49, -59, -55, -41, -46, -49, -27, -6, -16, -25, -10, 0, -10,
    -00465 -11, 6, 14, 10, 14, 21, 19, 19, 25, 19, 1, -3, 7, 8, 0, -1, 2, -1, -7, -10, -17,
    -00466 -21, -17, -13, -17, -19, -11, -6, -8, -8, -6, -5, -4, 2, 8, 10, 15, 20, 19, 15,
    -00467 17, 19, 15, 12, 13, 15, 15, 16, 14, 9, 3, 3, -3, -18, -28, -25, -20, -21, -22,
    -00468 -19, -15, -15, -17, -19, -20, -19, -14, -10, -6, -1, 3, 6, 9, 12, 13, 12, 10,
    -00469 15, 20, 25, 25, 25, 27, 32, 34, 33, 30, 30, 34, 35, 33, 29, 31, 31, 30, 31, 33,
    -00470 29, 22, 23, 27, 22, 11, 7, -8, -36, -48, -30, -21, -40, -50, -36, -31, -48, -55,
    -00471 -50, -55, -62, -50, -40, -47, -41, -16, -6, -19, -18, -2, -1, -9, 1, 16, 14, 13,
    -00472 25, 29, 21, 21, 26, 16, 3, 5, 13, 7, 1, 3, 3, -3, -8, -12, -20, -23, -19, -18,
    -00473 -20, -16, -7, -4, -6, -7, -6, -5, -2, 3, 7, 11, 16, 18, 17, 19, 21, 22, 19, 17,
    -00474 15, 16, 17, 16, 13, 8, 4, -3, -11, -17, -20, -22, -25, -27, -28, -25, -20, -18,
    -00475 -21, -22, -19, -16, -16, -15, -10, -3, 2, 5, 7, 9, 14, 18, 18, 16, 17, 23, 27,
    -00476 27, 31, 36, 37, 32, 31, 34, 35, 31, 28, 32, 34, 30, 25, 29, 33, 31, 26, 24, 15,
    -00477 7, 10, 10, -20, -52, -44, -16, -24, -52, -48, -27, -36, -58, -54, -47, -58, -59,
    -00478 -38, -37, -49, -31, -2, -10, -29, -13, 8, -3, -14, 7, 24, 18, 16, 25, 21, 15,
    -00479 23, 24, 5, -4, 10, 14, 2, -3, 2, -2, -10, -13, -17, -23, -19, -15, -21, -23,
    -00480 -10, 0, -4, -7, -2, -1, -3, -1, 3, 3, 10, 20, 21, 15, 15, 20, 20, 15, 15, 15,
    -00481 11, 10, 11, 8, 4, -1, -9, -20, -22, -19, -21, -26, -23, -17, -21, -26, -24, -18,
    -00482 -20, -21, -16, -12, -13, -9, 1, 3, 1, 5, 12, 13, 11, 14, 20, 24, 24, 25, 28, 31,
    -00483 34, 34, 32, 32, 32, 33, 32, 33, 33, 34, 32, 32, 36, 39, 33, 25, 25, 24, 18, 11,
    -00484 3, -21, -45, -39, -18, -28, -53, -48, -29, -39, -62, -57, -47, -57, -64, -48,
    -00485 -45, -51, -35, -9, -13, -25, -10, 6, -6, -14, 9, 24, 17, 15, 28, 31, 24, 27, 25,
    -00486 10, 4, 15, 14, 1, -1, 8, 2, -10, -11, -10, -17, -20, -15, -16, -18, -10, -2, -6,
    -00487 -10, -3, 1, -5, -5, 3, 11, 13, 16, 19, 19, 20, 21, 18, 15, 15, 16, 13, 10, 7, 6,
    -00488 3, -2, -13, -26, -29, -23, -20, -25, -27, -26, -23, -20, -20, -23, -23, -18,
    -00489 -13, -13, -12, -5, 3, 4, 2, 6, 11, 12, 10, 15, 25, 31, 28, 26, 31, 36, 35, 34,
    -00490 34, 34, 36, 39, 37, 32, 33, 38, 35, 31, 34, 36, 30, 24, 22, 20, 17, 14, -11,
    -00491 -49, -54, -25, -20, -52, -61, -37, -32, -56, -60, -49, -57, -69, -55, -45, -53,
    -00492 -44, -11, -5, -24, -16, 8, 2, -17, -1, 24, 22, 16, 27, 32, 24, 27, 33, 17, -2,
    -00493 7, 19, 8, -5, 1, 7, -4, -14, -15, -16, -21, -19, -17, -17, -13, -5, -7, -12, -6,
    -00494 2, 0, -5, 1, 8, 11, 14, 19, 20, 20, 23, 25, 19, 14, 17, 18, 12, 8, 10, 8, 0, -8,
    -00495 -12, -17, -22, -24, -23, -24, -27, -27, -23, -19, -18, -19, -20, -19, -16, -12,
    -00496 -6, -3, -2, 0, 5, 12, 14, 12, 13, 17, 20, 22, 25, 29, 31, 34, 36, 36, 35, 36,
    -00497 36, 33, 30, 34, 37, 33, 30, 36, 38, 29, 22, 23, 19, 12, 13, 4, -34, -57, -33,
    -00498 -11, -39, -65, -43, -23, -49, -67, -51, -49, -68, -60, -39, -48, -55, -20, 4,
    -00499 -19, -28, 5, 16, -12, -15, 17, 26, 14, 22, 36, 28, 23, 34, 30, 6, 0, 13, 12, -1,
    -00500 1, 8, 0, -10, -12, -16, -23, -20, -16, -21, -23, -10, -2, -7, -8, -2, -2, -4, 1,
    -00501 5, 6, 12, 22, 21, 16, 19, 25, 21, 14, 15, 17, 14, 10, 9, 8, 4, -4, -11, -14,
    -00502 -15, -20, -28, -35, -34, -28, -21, -21, -25, -24, -19, -16, -18, -20, -14, -5,
    -00503 -2, -4, -1, 8, 13, 12, 12, 15, 16, 17, 21, 24, 27, 34, 37, 32, 29, 36, 40, 33,
    -00504 28, 31, 34, 33, 33, 35, 37, 37, 34, 29, 24, 18, 14, 16, 11, -21, -49, -38, -15,
    -00505 -29, -56, -47, -27, -40, -62, -55, -50, -64, -63, -43, -43, -54, -34, -4, -13,
    -00506 -28, -8, 11, -5, -15, 8, 21, 13, 15, 30, 27, 18, 28, 30, 9, 0, 14, 14, -2, -2,
    -00507 11, 6, -10, -14, -13, -18, -20, -17, -19, -22, -14, -3, -5, -8, -4, 2, -1, -2,
    -00508 2, 7, 12, 19, 23, 20, 21, 26, 24, 15, 16, 21, 19, 12, 12, 9, 3, 1, 0, -9, -18,
    -00509 -16, -21, -34, -35, -19, -15, -27, -30, -20, -17, -20, -19, -18, -17, -10, -2,
    -00510 -2, -1, 8, 14, 11, 8, 10, 13, 16, 20, 23, 24, 27, 31, 32, 32, 34, 36, 33, 31,
    -00511 32, 35, 35, 34, 35, 34, 33, 33, 31, 25, 22, 21, 18, 12, 7, -11, -39, -47, -29,
    -00512 -26, -50, -55, -36, -34, -55, -58, -50, -60, -67, -51, -43, -53, -41, -10, -5,
    -00513 -20, -10, 9, 1, -13, 2, 18, 14, 15, 29, 30, 20, 26, 31, 14, -2, 7, 12, -4, -10,
    -00514 2, 3, -12, -14, -10, -18, -27, -21, -18, -24, -22, -7, -2, -8, -4, 6, 6, 2, 6,
    -00515 13, 15, 16, 20, 24, 27, 30, 27, 20, 17, 18, 15, 10, 9, 10, 7, 3, 0, -6, -15,
    -00516 -20, -21, -30, -38, -33, -22, -22, -28, -24, -14, -14, -20, -19, -13, -9, -7,
    -00517 -3, 2, 8, 13, 15, 14, 14, 17, 20, 21, 20, 25, 33, 35, 30, 30, 35, 38, 36, 31,
    -00518 29, 29, 33, 34, 31, 29, 31, 30, 27, 26, 26, 22, 15, 12, 8, -4, -26, -39, -36,
    -00519 -28, -35, -47, -46, -38, -43, -50, -49, -52, -61, -57, -44, -45, -48, -28, -6,
    -00520 -10, -17, -6, 2, -5, -3, 9, 12, 11, 21, 28, 20, 16, 22, 19, 4, 0, 7, 4, -5, -4,
    -00521 0, -7, -15, -15, -15, -21, -23, -20, -21, -23, -16, -6, -5, -6, 2, 9, 8, 6, 11,
    -00522 16, 19, 21, 25, 26, 27, 30, 30, 26, 24, 22, 17, 12, 11, 9, 5, 2, 0, -6, -10,
    -00523 -12, -22, -35, -29, -17, -26, -47, -40, -16, -10, -23, -24, -14, -10, -9, -8,
    -00524 -9, -8, 4, 15, 11, 4, 14, 28, 26, 17, 18, 26, 27, 24, 25, 32, 37, 36, 35, 36,
    -00525 36, 34, 31, 27, 23, 27, 32, 28, 23, 26, 29, 24, 16, 8, 4, 3, -7, -37, -57, -40,
    -00526 -19, -38, -61, -48, -31, -45, -58, -50, -52, -63, -52, -35, -47, -52, -20, 5,
    -00527 -10, -20, 1, 12, 0, 1, 19, 19, 13, 23, 31, 20, 17, 28, 23, 1, -1, 12, 5, -12,
    -00528 -7, 3, -6, -17, -13, -14, -24, -24, -17, -23, -28, -16, -4, -9, -9, 4, 10, 4, 5,
    -00529 12, 12, 14, 25, 29, 22, 22, 31, 31, 24, 22, 23, 18, 11, 9, 8, 3, -3, -6, -10,
    -00530 -13, -15, -20, -25, -25, -24, -31, -39, -36, -24, -18, -19, -19, -15, -9, -6,
    -00531 -5, -6, -3, 3, 9, 11, 12, 19, 28, 31, 24, 20, 22, 26, 24, 23, 27, 32, 33, 31,
    -00532 33, 35, 34, 29, 25, 24, 24, 25, 24, 25, 26, 25, 21, 23, 19, 8, 2, 4, -13, -46,
    -00533 -52, -28, -25, -51, -52, -31, -34, -57, -53, -42, -57, -65, -42, -35, -54, -43,
    -00534 -1, 5, -19, -13, 13, 8, -7, 9, 25, 14, 11, 29, 31, 17, 21, 31, 15, -3, 3, 9, -5,
    -00535 -14, -5, -3, -14, -18, -15, -23, -29, -23, -21, -28, -24, -9, -5, -10, -3, 9, 7,
    -00536 3, 11, 17, 13, 14, 24, 27, 23, 27, 33, 29, 20, 19, 18, 11, 3, 1, -2, -6, -8,
    -00537 -12, -16, -16, -15, -24, -33, -36, -33, -32, -29, -26, -23, -21, -16, -11, -8,
    -00538 -6, -3, 2, 5, 8, 12, 17, 20, 21, 24, 25, 24, 22, 24, 24, 23, 23, 26, 28, 28, 29,
    -00539 29, 26, 25, 26, 25, 25, 24, 23, 21, 20, 23, 26, 25, 21, 19, 16, 11, 8, 8, -5,
    -00540 -33, -47, -33, -22, -38, -51, -37, -30, -46, -54, -44, -47, -58, -48, -36, -47,
    -00541 -50, -20, 2, -10, -15, 4, 11, -2, 1, 17, 18, 11, 19, 28, 24, 25, 35, 28, 7, 0,
    -00542 9, 3, -12, -15, -9, -12, -16, -14, -15, -23, -24, -19, -23, -29, -22, -13, -13,
    -00543 -11, 1, 9, 7, 9, 16, 17, 14, 20, 26, 21, 19, 28, 32, 25, 19, 19, 17, 8, 3, 0,
    -00544 -5, -10, -11, -12, -16, -19, -23, -27, -29, -26, -29, -33, -29, -19, -14, -15,
    -00545 -11, -5, 0, 4, 8, 8, 7, 12, 19, 18, 16, 23, 31, 30, 24, 24, 26, 24, 21, 22, 25,
    -00546 25, 24, 23, 22, 22, 21, 20, 16, 13, 13, 17, 19, 21, 23, 22, 20, 19, 17, 9, 4, 5,
    -00547 -6, -34, -46, -31, -21, -36, -45, -34, -31, -43, -46, -42, -51, -58, -46, -40,
    -00548 -51, -45, -16, -4, -13, -10, 6, 6, 0, 7, 16, 13, 12, 21, 26, 24, 28, 34, 25, 10,
    -00549 6, 8, 2, -9, -12, -11, -12, -13, -12, -15, -19, -19, -17, -19, -22, -16, -9, -9,
    -00550 -8, 0, 7, 9, 11, 15, 16, 16, 18, 20, 19, 21, 25, 26, 21, 17, 16, 14, 12, 7, 0,
    -00551 -6, -9, -10, -12, -14, -18, -21, -22, -26, -34, -34, -25, -19, -21, -21, -12,
    -00552 -2, 1, 3, 5, 5, 7, 11, 12, 12, 17, 22, 24, 24, 25, 26, 24, 23, 22, 20, 18, 19,
    -00553 21, 20, 19, 20, 21, 18, 16, 15, 13, 10, 11, 15, 19, 22, 24, 24, 19, 16, 14, 12,
    -00554 9, 3, -18, -40, -37, -19, -24, -45, -44, -28, -31, -46, -45, -40, -49, -53, -43,
    -00555 -43, -48, -34, -10, -7, -15, -5, 9, 7, 2, 11, 16, 13, 14, 21, 19, 17, 26, 31,
    -00556 18, 4, 6, 9, -3, -14, -13, -10, -15, -17, -15, -15, -18, -16, -15, -20, -21,
    -00557 -14, -11, -13, -10, 1, 7, 9, 14, 17, 17, 18, 21, 20, 18, 21, 23, 19, 16, 19, 20,
    -00558 15, 9, 4, -1, -6, -9, -14, -18, -18, -16, -17, -22, -26, -24, -23, -28, -31,
    -00559 -26, -17, -12, -9, -5, 2, 8, 13, 13, 11, 12, 16, 17, 14, 17, 24, 26, 23, 22, 23,
    -00560 23, 22, 21, 19, 19, 20, 21, 20, 21, 22, 20, 18, 16, 15, 15, 17, 18, 18, 23, 29,
    -00561 27, 22, 20, 19, 16, 10, -7, -30, -38, -28, -26, -40, -44, -35, -32, -41, -41,
    -00562 -40, -48, -54, -50, -50, -54, -40, -18, -14, -18, -6, 8, 7, 2, 10, 12, 8, 11,
    -00563 20, 21, 19, 27, 32, 22, 11, 12, 10, -2, -11, -12, -14, -19, -17, -14, -16, -18,
    -00564 -14, -15, -22, -22, -16, -15, -19, -14, -2, 3, 6, 14, 21, 21, 20, 25, 25, 23,
    -00565 24, 27, 25, 21, 22, 23, 19, 13, 10, 4, -3, -6, -8, -14, -18, -16, -18, -23, -24,
    -00566 -20, -23, -31, -33, -29, -28, -26, -19, -13, -9, -2, 7, 11, 11, 10, 11, 12, 12,
    -00567 11, 11, 13, 17, 18, 18, 17, 17, 17, 16, 14, 13, 14, 14, 16, 17, 17, 15, 16, 18,
    -00568 19, 19, 19, 19, 19, 24, 30, 31, 27, 26, 23, 20, 18, 10, -13, -33, -29, -19, -29,
    -00569 -43, -36, -27, -34, -40, -35, -40, -51, -48, -41, -49, -52, -30, -11, -13, -12,
    -00570 7, 16, 9, 7, 16, 16, 11, 16, 22, 19, 20, 29, 29, 17, 12, 12, 4, -10, -16, -17,
    -00571 -23, -26, -23, -21, -23, -22, -20, -22, -25, -22, -18, -19, -18, -9, 1, 6, 10,
    -00572 17, 22, 22, 25, 27, 25, 22, 25, 28, 24, 22, 26, 27, 20, 12, 8, 3, -4, -10, -14,
    -00573 -17, -18, -17, -18, -21, -23, -20, -21, -29, -35, -34, -26, -21, -18, -15, -7,
    -00574 2, 10, 11, 10, 11, 13, 13, 9, 9, 14, 14, 11, 10, 14, 15, 13, 13, 10, 7, 8, 13,
    -00575 12, 10, 11, 16, 19, 17, 15, 16, 20, 23, 22, 22, 27, 34, 35, 31, 31, 31, 26, 22,
    -00576 20, 5, -22, -30, -19, -20, -38, -42, -30, -32, -43, -41, -37, -48, -54, -45,
    -00577 -45, -54, -44, -19, -13, -18, -6, 12, 14, 9, 15, 17, 11, 12, 21, 21, 16, 23, 30,
    -00578 22, 11, 14, 14, 1, -12, -14, -16, -23, -25, -21, -23, -26, -23, -21, -23, -22,
    -00579 -17, -16, -19, -14, -3, 2, 4, 11, 20, 23, 24, 28, 30, 27, 26, 28, 26, 22, 24,
    -00580 26, 21, 16, 15, 13, 3, -4, -8, -10, -14, -17, -21, -25, -23, -20, -23, -30, -27,
    -00581 -24, -28, -28, -21, -15, -14, -7, 0, 2, 3, 9, 13, 10, 8, 9, 13, 12, 10, 9, 11,
    -00582 12, 10, 10, 10, 9, 9, 10, 10, 11, 13, 17, 18, 19, 20, 21, 20, 21, 23, 24, 26,
    -00583 28, 33, 34, 33, 34, 34, 30, 22, 18, 9, -12, -28, -27, -23, -35, -44, -39, -35,
    -00584 -41, -43, -39, -45, -54, -49, -44, -51, -50, -28, -14, -16, -11, 6, 13, 9, 11,
    -00585 16, 12, 9, 14, 16, 12, 16, 26, 23, 12, 9, 11, 5, -8, -16, -17, -19, -22, -23,
    -00586 -23, -22, -18, -17, -20, -21, -18, -17, -17, -13, -5, 0, 4, 12, 20, 23, 25, 28,
    -00587 28, 24, 25, 28, 25, 20, 21, 25, 22, 15, 14, 13, 6, 0, -3, -8, -15, -16, -17,
    -00588 -20, -23, -22, -22, -25, -24, -23, -25, -29, -25, -17, -13, -14, -10, -2, 1, 1,
    -00589 5, 7, 5, 4, 8, 11, 7, 6, 10, 13, 11, 10, 13, 14, 12, 12, 14, 16, 15, 16, 20, 23,
    -00590 22, 22, 24, 26, 26, 25, 26, 29, 31, 30, 30, 31, 31, 31, 28, 23, 16, 7, -8, -21,
    -00591 -25, -23, -31, -40, -41, -38, -41, -43, -40, -43, -48, -47, -43, -48, -49, -37,
    -00592 -25, -23, -19, -6, 3, 3, 7, 14, 12, 7, 9, 14, 12, 11, 17, 21, 16, 12, 16, 14, 4,
    -00593 -5, -7, -9, -16, -19, -18, -18, -19, -16, -14, -15, -14, -10, -7, -9, -10, -5,
    -00594 1, 5, 7, 12, 17, 22, 25, 26, 26, 26, 25, 22, 20, 19, 18, 16, 15, 13, 9, 6, 3,
    -00595 -2, -7, -11, -14, -18, -21, -22, -23, -24, -23, -22, -23, -22, -22, -25, -26,
    -00596 -19, -13, -11, -12, -8, -2, 4, 6, 6, 7, 8, 10, 11, 10, 11, 13, 16, 16, 15, 16,
    -00597 20, 20, 17, 17, 19, 21, 20, 19, 20, 21, 23, 25, 23, 22, 24, 27, 26, 24, 26, 27,
    -00598 26, 23, 20, 16, 10, 2, -10, -20, -22, -22, -30, -37, -36, -34, -36, -38, -37,
    -00599 -39, -45, -45, -44, -47, -47, -38, -29, -26, -20, -10, -2, 0, 3, 6, 6, 6, 8, 10,
    -00600 9, 10, 15, 18, 17, 16, 17, 15, 10, 4, 0, -4, -7, -9, -10, -10, -9, -8, -8, -7,
    -00601 -7, -7, -8, -8, -7, -6, -5, -1, 2, 5, 8, 11, 14, 16, 17, 16, 16, 16, 15, 14, 13,
    -00602 13, 13, 11, 10, 9, 7, 3, 0, -3, -7, -11, -12, -14, -16, -16, -15, -17, -20, -20,
    -00603 -22, -24, -22, -16, -15, -16, -13, -8, -5, -4, -1, 2, 3, 3, 6, 8, 10, 13, 16,
    -00604 16, 15, 15, 16, 16, 14, 15, 15, 15, 15, 18, 21, 20, 19, 19, 19, 19, 19, 20, 20,
    -00605 19, 19, 21, 23, 24, 23, 23, 20, 17, 13, 5, -6, -14, -16, -16, -22, -28, -26,
    -00606 -24, -27, -30, -29, -31, -36, -39, -40, -41, -43, -38, -30, -27, -25, -18, -10,
    -00607 -7, -6, -2, 2, 2, 1, 4, 7, 9, 12, 15, 16, 15, 17, 18, 15, 11, 7, 4, 1, -2, -4,
    -00608 -6, -6, -5, -5, -6, -7, -7, -7, -8, -10, -10, -9, -8, -7, -6, -3, 1, 5, 8, 9,
    -00609 10, 11, 12, 12, 12, 12, 12, 12, 12, 11, 11, 11, 10, 7, 5, 3, 0, -3, -6, -8, -11,
    -00610 -12, -11, -13, -16, -16, -15, -17, -21, -19, -14, -12, -15, -15, -12, -9, -7,
    -00611 -6, -4, -3, 0, 3, 4, 4, 7, 11, 11, 9, 9, 11, 13, 13, 13, 14, 15, 17, 19, 19, 20,
    -00612 20, 22, 21, 19, 19, 20, 21, 21, 21, 22, 23, 23, 22, 21, 20, 18, 15, 7, -3, -9,
    -00613 -10, -10, -17, -23, -23, -22, -24, -26, -27, -30, -32, -33, -36, -41, -42, -37,
    -00614 -32, -32, -29, -21, -14, -10, -7, -4, -2, 1, 4, 4, 3, 5, 10, 11, 11, 14, 17, 18,
    -00615 16, 15, 13, 10, 8, 5, 1, -1, -3, -4, -6, -6, -6, -6, -5, -5, -7, -9, -9, -8, -9,
    -00616 -9, -8, -4, -2, 0, 2, 4, 6, 7, 8, 8, 8, 8, 9, 9, 8, 9, 10, 10, 8, 7, 7, 5, 3, 1,
    -00617 -1, -3, -4, -6, -7, -9, -10, -11, -13, -17, -17, -14, -12, -13, -14, -12, -11,
    -00618 -10, -10, -9, -8, -8, -6, -5, -3, 0, 3, 6, 7, 9, 10, 12, 12, 12, 13, 13, 13, 14,
    -00619 17, 19, 19, 20, 21, 22, 22, 22, 21, 20, 20, 20, 19, 19, 18, 18, 18, 18, 16, 13,
    -00620 11, 8, 2, -6, -10, -11, -15, -20, -22, -22, -22, -23, -23, -23, -26, -29, -30,
    -00621 -32, -34, -34, -31, -28, -26, -23, -19, -15, -11, -8, -7, -6, -4, -3, -2, -1, 1,
    -00622 3, 5, 7, 8, 11, 13, 14, 13, 11, 10, 8, 7, 5, 4, 3, 2, 2, 2, 2, 3, 3, 3, 2, 1, 0,
    -00623 -1, -2, -2, -2, -1, -1, 0, 2, 3, 4, 5, 5, 5, 5, 4, 4, 3, 3, 3, 2, 2, 2, 2, 2, 2,
    -00624 1, 0, -1, -2, -3, -3, -5, -6, -6, -5, -7, -9, -8, -7, -11, -12, -9, -6, -8, -9,
    -00625 -6, -5, -6, -7, -6, -5, -4, -2, -1, 0, 1, 4, 6, 5, 5, 7, 7, 7, 7, 8, 10, 11, 12,
    -00626 13, 13, 15, 16, 16, 16, 16, 16, 16, 16, 15, 15, 15, 15, 15, 14, 14, 13, 13, 12,
    -00627 10, 8, 4, -1, -4, -5, -7, -10, -12, -13, -13, -14, -14, -15, -17, -20, -20, -23,
    -00628 -26, -27, -25, -25, -26, -26, -23, -21, -19, -17, -16, -14, -12, -11, -10, -9,
    -00629 -7, -5, -4, -2, 0, 3, 4, 6, 7, 9, 10, 10, 10, 9, 8, 9, 8, 7, 7, 7, 7, 7, 8, 7,
    -00630 6, 6, 5, 3, 1, 0, 0, 0, -1, -1, -1, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 1,
    -00631 1, 0, 0, 0, 1, 1, 0, 0, -1, -2, -3, -3, -4, -4, -5, -7, -8, -6, -5, -6, -7, -6,
    -00632 -5, -5, -5, -5, -5, -4, -4, -3, -3, -2, 0, 0, 1, 1, 2, 4, 5, 5, 6, 6, 6, 7, 7,
    -00633 7, 7, 8, 8, 8, 8, 8, 9, 10, 10, 10, 10, 10, 11, 11, 12, 12, 13, 13, 14, 14, 15,
    -00634 14, 14, 15, 13, 9, 7, 6, 4, 1, -2, -3, -4, -7, -8, -9, -11, -13, -15, -18, -20,
    -00635 -22, -24, -25, -25, -25, -26, -26, -24, -23, -21, -20, -19, -17, -16, -14, -12,
    -00636 -11, -10, -9, -7, -4, -3, -2, 0, 2, 3, 4, 4, 5, 5, 4, 4, 5, 5, 4, 4, 5, 5, 5, 5,
    -00637 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 6, 6, 6, 7, 6, 5, 5, 4, 3, 3, 2, 1, 0, -1, -1, -2,
    -00638 -3, -4, -4, -5, -5, -6, -5, -5, -5, -5, -5, -5, -4, -3, -4, -4, -3, -2, -2, -3,
    -00639 -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -2, -2, -2, -2, -2, -2, -1,
    -00640 0, 0, 1, 2, 2, 3, 5, 6, 6, 7, 9, 9, 10, 11, 12, 12, 14, 15, 15, 15, 15, 16, 16,
    -00641 15, 16, 16, 15, 14, 13, 14, 12, 9, 6, 4, 2, -1, -3, -4, -6, -8, -10, -11, -12,
    -00642 -14, -16, -17, -18, -20, -22, -22, -22, -23, -23, -22, -23, -22, -20, -19, -19,
    -00643 -18, -16, -15, -15, -14, -13, -13, -12, -10, -8, -7, -6, -5, -3, -2, -1, 0, 1,
    -00644 3, 3, 3, 5, 7, 7, 8, 10, 10, 11, 12, 12, 13, 14, 13, 13, 12, 12, 11, 11, 11, 10,
    -00645 9, 9, 9, 8, 7, 6, 5, 5, 4, 3, 1, 1, 1, 1, 0, 0, -1, -1, -1, -2, -2, -3, -3, -3,
    -00646 -4, -4, -5, -5, -5, -6, -7, -7, -6, -6, -7, -8, -8, -8, -8, -8, -8, -8, -8, -8,
    -00647 -7, -6, -6, -5, -4, -3, -3, -1, 0, 0, 2, 3, 4, 5, 6, 7, 8, 8, 9, 10, 11, 11, 11,
    -00648 11, 12, 13, 12, 12, 13, 13, 12, 12, 13, 12, 12, 13, 12, 11, 11, 11, 10, 9, 8, 7,
    -00649 5, 4, 2, 0, -1, -2, -4, -6, -7, -8, -9, -11, -13, -14, -15, -17, -19, -21, -22,
    -00650 -23, -23, -24, -24, -24, -24, -24, -24, -24, -23, -23, -21, -20, -19, -18, -16,
    -00651 -14, -13, -11, -10, -7, -4, -3, 0, 2, 4, 6, 8, 9, 10, 12, 14, 15, 16, 17, 18,
    -00652 18, 18, 19, 18, 18, 19, 19, 18, 18, 17, 16, 15, 14, 14, 12, 9, 9, 8, 7, 5, 4, 3,
    -00653 1, 0, -1, -3, -5, -6, -8, -8, -10, -11, -11, -12, -13, -14, -14, -13, -14, -15,
    -00654 -15, -14, -13, -13, -13, -12, -11, -10, -10, -9, -8, -7, -6, -6, -6, -5, -3, -2,
    -00655 -2, -1, 0, 1, 2, 4, 5, 6, 7, 8, 8, 9, 10, 12, 13, 14, 14, 14, 16, 18, 18, 19,
    -00656 19, 20, 20, 20, 20, 21, 21, 21, 21, 20, 19, 18, 17, 15, 12, 9, 7, 5, 3, 0, -3,
    -00657 -5, -8, -11, -14, -16, -19, -21, -23, -27, -30, -32, -33, -35, -37, -37, -38,
    -00658 -37, -37, -35, -34, -33, -31, -29, -29, -27, -24, -21, -19, -16, -13, -10, -6,
    -00659 -3, 0, 3, 7, 10, 12, 14, 17, 19, 21, 22, 23, 24, 25, 26, 27, 28, 28, 27, 27, 26,
    -00660 26, 24, 23, 22, 20, 18, 15, 14, 12, 10, 8, 6, 3, 1, 0, -2, -4, -6, -8, -9, -10,
    -00661 -11, -12, -13, -13, -14, -15, -15, -15, -16, -17, -17, -16, -16, -18, -19, -17,
    -00662 -15, -16, -16, -14, -14, -14, -13, -12, -11, -10, -8, -8, -7, -6, -4, -2, 1, 3,
    -00663 3, 6, 9, 10, 11, 14, 16, 18, 20, 21, 22, 24, 26, 28, 29, 30, 30, 30, 31, 32, 33,
    -00664 32, 31, 31, 30, 28, 26, 26, 24, 18, 11, 9, 7, 3, -1, -4, -7, -12, -16, -18, -22,
    -00665 -26, -30, -33, -38, -43, -44, -44, -46, -48, -48, -49, -49, -46, -44, -43, -41,
    -00666 -37, -35, -33, -28, -24, -22, -18, -14, -11, -8, -4, 0, 5, 9, 13, 16, 18, 22,
    -00667 24, 25, 27, 30, 30, 30, 31, 32, 31, 31, 31, 30, 29, 29, 28, 26, 24, 23, 21, 19,
    -00668 17, 14, 11, 9, 7, 5, 2, 0, -3, -5, -6, -8, -10, -12, -14, -15, -16, -17, -18,
    -00669 -19, -20, -21, -22, -23, -23, -22, -22, -24, -23, -21, -21, -19, -18, -18, -17,
    -00670 -16, -15, -14, -12, -10, -9, -8, -6, -5, -2, 1, 3, 5, 7, 10, 13, 16, 19, 21, 23,
    -00671 25, 26, 28, 30, 32, 34, 35, 35, 35, 36, 37, 38, 38, 37, 36, 36, 34, 31, 27, 23,
    -00672 17, 14, 11, 5, 0, -3, -6, -11, -15, -18, -23, -27, -31, -36, -42, -45, -47, -48,
    -00673 -51, -53, -53, -52, -51, -49, -47, -45, -43, -40, -37, -34, -30, -26, -23, -21,
    -00674 -17, -13, -10, -6, -1, 3, 7, 11, 15, 18, 22, 25, 27, 29, 31, 31, 31, 33, 33, 32,
    -00675 32, 33, 32, 32, 33, 31, 30, 29, 27, 25, 21, 19, 17, 13, 11, 8, 5, 2, 0, -3, -5,
    -00676 -8, -10, -11, -14, -16, -17, -18, -20, -21, -21, -23, -24, -24, -26, -26, -24,
    -00677 -24, -25, -25, -24, -21, -19, -19, -18, -16, -17, -16, -12, -10, -9, -7, -5, -4,
    -00678 -2, 2, 4, 6, 8, 10, 13, 16, 18, 21, 24, 26, 27, 29, 31, 33, 35, 36, 36, 36, 37,
    -00679 39, 40, 39, 39, 40, 39, 36, 34, 30, 22, 16, 16, 13, 5, 0, -2, -9, -15, -16, -18,
    -00680 -25, -30, -33, -39, -44, -46, -47, -50, -53, -53, -55, -56, -52, -49, -47, -45,
    -00681 -41, -39, -37, -31, -25, -24, -23, -18, -15, -13, -9, -5, -2, 2, 7, 11, 13, 17,
    -00682 21, 23, 25, 28, 29, 28, 29, 31, 30, 30, 32, 32, 29, 30, 32, 30, 29, 29, 28, 24,
    -00683 23, 21, 18, 16, 15, 11, 6, 4, 2, -1, -4, -5, -7, -10, -12, -14, -16, -17, -17,
    -00684 -19, -21, -22, -23, -24, -26, -24, -22, -24, -25, -24, -23, -22, -19, -18, -18,
    -00685 -16, -15, -16, -13, -10, -10, -8, -5, -5, -3, 1, 3, 4, 8, 10, 11, 14, 17, 20,
    -00686 23, 25, 27, 28, 30, 32, 35, 36, 35, 37, 39, 38, 40, 40, 39, 39, 40, 37, 34, 31,
    -00687 23, 16, 16, 14, 6, -1, -3, -9, -15, -16, -18, -24, -30, -34, -38, -43, -45, -46,
    -00688 -49, -51, -52, -54, -55, -52, -48, -47, -47, -43, -39, -37, -33, -27, -25, -23,
    -00689 -19, -16, -14, -10, -6, -4, -1, 5, 8, 10, 15, 19, 21, 24, 27, 28, 28, 28, 30,
    -00690 30, 30, 31, 31, 30, 30, 31, 30, 28, 29, 28, 24, 22, 22, 19, 14, 13, 11, 6, 2, 1,
    -00691 -2, -5, -6, -7, -11, -13, -13, -15, -17, -18, -18, -20, -22, -23, -22, -23, -23,
    -00692 -23, -23, -23, -23, -23, -22, -17, -16, -18, -18, -15, -15, -14, -11, -10, -10,
    -00693 -8, -6, -5, -1, 2, 2, 4, 7, 8, 11, 16, 17, 20, 24, 25, 25, 28, 30, 32, 35, 35,
    -00694 35, 37, 39, 39, 40, 41, 40, 40, 40, 38, 33, 26, 20, 21, 18, 10, 5, 3, -4, -10,
    -00695 -10, -12, -18, -24, -29, -35, -38, -39, -41, -45, -47, -48, -50, -51, -49, -48,
    -00696 -47, -46, -44, -42, -41, -35, -31, -30, -28, -23, -21, -20, -16, -12, -11, -7,
    -00697 -2, 1, 3, 8, 13, 15, 19, 23, 24, 23, 26, 28, 29, 30, 32, 32, 30, 31, 33, 32, 31,
    -00698 32, 29, 26, 26, 26, 22, 19, 19, 16, 10, 8, 7, 3, 0, -1, -3, -7, -9, -9, -12,
    -00699 -14, -12, -14, -17, -18, -18, -20, -21, -21, -22, -21, -21, -23, -23, -20, -19,
    -00700 -18, -16, -18, -18, -16, -16, -15, -12, -11, -11, -10, -9, -7, -2, -1, -1, 2, 5,
    -00701 5, 8, 14, 15, 16, 20, 22, 23, 25, 27, 28, 30, 32, 33, 34, 36, 38, 38, 37, 40,
    -00702 40, 36, 35, 32, 22, 18, 22, 19, 8, 6, 5, -5, -11, -7, -10, -19, -23, -27, -35,
    -00703 -38, -36, -38, -44, -46, -46, -48, -49, -46, -46, -48, -44, -40, -41, -40, -34,
    -00704 -30, -30, -27, -22, -21, -21, -16, -13, -12, -6, 0, 0, 3, 9, 12, 14, 19, 23, 22,
    -00705 23, 26, 26, 26, 28, 31, 30, 29, 30, 31, 29, 30, 31, 29, 26, 25, 23, 21, 19, 18,
    -00706 15, 11, 9, 6, 2, 0, -1, -1, -5, -7, -9, -11, -12, -11, -13, -15, -15, -17, -20,
    -00707 -19, -19, -20, -19, -18, -20, -20, -18, -15, -14, -14, -15, -15, -14, -14, -13,
    -00708 -11, -9, -8, -8, -7, -5, -2, -1, 0, 4, 5, 6, 9, 12, 13, 14, 17, 20, 22, 21, 22,
    -00709 25, 25, 26, 29, 30, 30, 33, 34, 33, 35, 37, 35, 32, 28, 17, 14, 20, 17, 6, 4, 4,
    -00710 -5, -10, -6, -8, -16, -22, -27, -34, -36, -33, -36, -42, -45, -44, -45, -47,
    -00711 -42, -41, -45, -43, -37, -37, -38, -31, -27, -28, -23, -18, -18, -18, -12, -11,
    -00712 -10, -3, 2, 2, 5, 10, 14, 17, 21, 24, 23, 23, 26, 26, 25, 28, 30, 28, 27, 29,
    -00713 28, 27, 30, 29, 24, 23, 25, 22, 18, 18, 16, 10, 9, 8, 3, 0, 0, -4, -8, -8, -8,
    -00714 -11, -12, -13, -15, -16, -16, -16, -19, -21, -19, -20, -22, -21, -19, -20, -17,
    -00715 -15, -17, -16, -12, -12, -14, -11, -10, -12, -11, -8, -7, -5, -3, -2, -1, -1, 1,
    -00716 3, 5, 6, 8, 10, 11, 13, 15, 17, 19, 21, 21, 22, 23, 23, 25, 28, 29, 28, 30, 32,
    -00717 32, 31, 33, 32, 30, 27, 20, 12, 13, 17, 10, 2, 3, 1, -8, -10, -6, -13, -20, -22,
    -00718 -27, -35, -34, -30, -36, -41, -40, -40, -43, -40, -37, -40, -39, -34, -34, -36,
    -00719 -32, -27, -25, -22, -17, -17, -18, -13, -9, -8, -5, 1, 3, 3, 6, 12, 14, 16, 20,
    -00720 21, 20, 22, 26, 25, 25, 28, 28, 25, 26, 29, 25, 25, 27, 24, 20, 21, 22, 18, 15,
    -00721 15, 12, 8, 6, 5, 1, -2, -2, -5, -8, -8, -8, -11, -13, -13, -15, -16, -16, -17,
    -00722 -19, -18, -17, -19, -19, -19, -19, -18, -16, -15, -15, -16, -14, -11, -11, -12,
    -00723 -8, -7, -10, -8, -6, -9, -6, 0, -3, -3, 3, 2, 0, 5, 7, 4, 8, 10, 7, 10, 14, 13,
    -00724 15, 19, 18, 18, 22, 24, 24, 25, 25, 27, 28, 26, 26, 28, 29, 29, 27, 25, 23, 16,
    -00725 10, 14, 17, 8, 2, 3, -3, -9, -7, -8, -16, -18, -22, -29, -31, -29, -31, -36,
    -00726 -37, -38, -39, -38, -36, -35, -37, -35, -31, -30, -31, -28, -24, -23, -20, -15,
    -00727 -15, -14, -9, -6, -6, -1, 4, 4, 5, 9, 12, 13, 17, 20, 19, 19, 23, 24, 23, 26,
    -00728 27, 23, 24, 27, 25, 23, 26, 25, 20, 20, 20, 17, 15, 14, 11, 9, 8, 5, 2, 0, -2,
    -00729 -5, -6, -8, -11, -13, -14, -15, -16, -17, -17, -18, -20, -19, -18, -19, -19,
    -00730 -19, -19, -19, -17, -17, -17, -15, -14, -13, -11, -10, -9, -7, -7, -7, -5, -4,
    -00731 -3, 0, -1, -2, -1, 2, 2, 4, 5, 4, 6, 7, 7, 8, 11, 12, 12, 13, 14, 15, 17, 18,
    -00732 19, 19, 19, 21, 22, 24, 24, 24, 23, 25, 25, 23, 24, 25, 22, 21, 18, 9, 5, 12,
    -00733 11, 0, -1, 1, -7, -13, -9, -11, -18, -19, -22, -29, -32, -28, -29, -35, -34,
    -00734 -34, -37, -36, -31, -34, -36, -30, -28, -30, -29, -24, -22, -21, -16, -16, -16,
    -00735 -11, -7, -8, -5, 2, 4, 3, 6, 10, 11, 14, 19, 19, 18, 20, 22, 21, 23, 27, 27, 24,
    -00736 25, 26, 24, 24, 26, 23, 18, 19, 18, 15, 13, 13, 9, 6, 6, 3, -2, -3, -4, -8, -9,
    -00737 -9, -12, -14, -14, -15, -16, -15, -16, -18, -19, -19, -19, -18, -17, -17, -16,
    -00738 -16, -14, -13, -13, -12, -11, -13, -11, -5, -6, -9, -5, -4, -5, -3, -1, -2, 1,
    -00739 3, 0, 3, 7, 8, 8, 8, 8, 9, 11, 10, 11, 12, 11, 12, 15, 15, 15, 17, 17, 17, 19,
    -00740 18, 17, 19, 20, 18, 19, 20, 18, 18, 19, 17, 17, 19, 18, 16, 10, 2, 4, 9, 1, -6,
    -00741 -4, -6, -13, -11, -10, -18, -18, -18, -25, -31, -30, -29, -32, -32, -34, -36,
    -00742 -35, -31, -31, -34, -30, -26, -28, -29, -25, -22, -22, -16, -13, -16, -12, -5,
    -00743 -5, -5, 2, 5, 4, 8, 11, 11, 14, 20, 20, 18, 20, 22, 22, 23, 24, 25, 25, 26, 24,
    -00744 22, 22, 23, 22, 19, 16, 15, 13, 11, 8, 7, 5, 3, 1, -2, -4, -6, -7, -9, -11, -13,
    -00745 -14, -14, -15, -16, -16, -15, -16, -17, -16, -16, -16, -16, -16, -15, -15, -14,
    -00746 -13, -11, -10, -8, -7, -6, -4, -4, -4, -2, 0, -1, -1, 1, 2, 3, 6, 7, 6, 5, 8, 9,
    -00747 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 13, 14, 14, 14, 14, 16, 17, 16, 16, 17,
    -00748 16, 14, 17, 18, 16, 15, 16, 17, 17, 17, 14, 7, 0, -1, 3, -1, -8, -10, -8, -10,
    -00749 -13, -12, -16, -17, -16, -22, -29, -28, -25, -28, -29, -27, -29, -30, -26, -25,
    -00750 -28, -26, -22, -22, -21, -20, -20, -18, -13, -10, -13, -10, -4, -3, -5, 0, 5, 3,
    -00751 6, 9, 8, 9, 15, 18, 18, 20, 21, 20, 22, 24, 25, 24, 23, 21, 20, 21, 20, 20, 17,
    -00752 13, 12, 11, 9, 5, 5, 5, 1, -1, -6, -8, -8, -9, -13, -15, -12, -15, -17, -16,
    -00753 -16, -15, -15, -15, -18, -18, -14, -13, -15, -16, -14, -13, -14, -11, -8, -9,
    -00754 -11, -7, -2, -2, -2, -2, -1, 1, 2, 1, 1, 7, 8, 8, 8, 10, 12, 11, 10, 9, 12, 12,
    -00755 10, 10, 9, 11, 13, 14, 14, 13, 14, 17, 19, 16, 14, 16, 17, 16, 14, 15, 19, 21,
    -00756 19, 16, 20, 22, 21, 20, 10, -4, -7, 2, -3, -17, -18, -12, -11, -15, -15, -16,
    -00757 -17, -13, -18, -31, -34, -27, -28, -33, -29, -28, -29, -25, -22, -24, -24, -18,
    -00758 -19, -22, -21, -21, -20, -17, -11, -10, -11, -8, -3, 0, 1, 3, 6, 7, 8, 8, 11,
    -00759 15, 18, 20, 22, 23, 25, 29, 30, 27, 27, 25, 23, 21, 19, 15, 12, 13, 11, 9, 7, 6,
    -00760 3, 0, -1, -3, -5, -6, -9, -13, -14, -14, -14, -13, -13, -15, -15, -15, -14, -13,
    -00761 -14, -14, -15, -16, -18, -18, -19, -19, -15, -14, -13, -10, -8, -6, -4, -5, -6,
    -00762 -2, -1, -3, 3, 7, 7, 10, 12, 12, 14, 16, 11, 11, 13, 11, 12, 16, 16, 15, 18, 18,
    -00763 17, 19, 16, 17, 22, 23, 20, 16, 17, 19, 21, 18, 18, 24, 23, 21, 19, 17, 17, 20,
    -00764 16, -3, -15, -16, -10, -14, -27, -27, -16, -14, -21, -20, -19, -23, -22, -26,
    -00765 -36, -36, -31, -30, -31, -26, -26, -23, -19, -20, -22, -22, -21, -23, -24, -23,
    -00766 -22, -18, -15, -9, -8, -6, -3, -1, -2, 0, 5, 6, 8, 10, 12, 17, 22, 26, 29, 30,
    -00767 28, 28, 28, 24, 20, 21, 17, 15, 15, 14, 10, 11, 10, 6, 3, 2, 1, -2, -5, -6, -7,
    -00768 -8, -8, -7, -7, -6, -7, -10, -10, -9, -13, -14, -11, -14, -15, -14, -16, -23,
    -00769 -23, -19, -15, -17, -23, -18, -10, -9, -11, -8, -5, -3, 1, 1, 0, 7, 11, 13, 14,
    -00770 12, 11, 15, 15, 9, 11, 12, 12, 14, 14, 15, 19, 20, 18, 19, 18, 18, 24, 23, 18,
    -00771 19, 21, 21, 22, 22, 18, 23, 26, 20, 23, 21, 18, 19, 20, 6, -13, -21, -22, -14,
    -00772 -21, -30, -25, -17, -20, -22, -18, -25, -28, -22, -28, -37, -34, -24, -21, -21,
    -00773 -17, -16, -13, -15, -21, -25, -27, -22, -23, -26, -26, -20, -14, -11, -6, -8,
    -00774 -7, -5, -4, -3, 0, 5, 8, 14, 15, 16, 24, 30, 30, 27, 24, 21, 20, 19, 15, 14, 14,
    -00775 12, 10, 10, 10, 7, 3, 2, 0, -1, -4, -4, -3, -2, -3, -4, -4, -4, -4, -5, -7, -8,
    -00776 -7, -7, -8, -10, -10, -10, -13, -18, -25, -25, -21, -15, -20, -21, -12, -9, -9,
    -00777 -10, -8, -11, -5, 2, 0, 1, 8, 15, 17, 15, 12, 13, 14, 7, 6, 10, 8, 10, 12, 14,
    -00778 13, 17, 18, 16, 16, 14, 19, 22, 21, 22, 25, 25, 24, 25, 20, 18, 22, 23, 25, 22,
    -00779 19, 23, 26, 21, 12, 6, -19, -33, -23, -15, -25, -33, -20, -16, -17, -20, -18,
    -00780 -27, -31, -23, -26, -35, -30, -16, -14, -16, -11, -11, -15, -19, -28, -30, -27,
    -00781 -23, -23, -23, -21, -18, -11, -10, -10, -11, -10, -7, -7, -3, 3, 11, 16, 18, 21,
    -00782 22, 27, 27, 25, 22, 18, 18, 18, 19, 15, 15, 17, 11, 5, 4, 4, 0, -2, -3, -6, -3,
    -00783 1, -1, -1, 1, 1, -1, -1, -4, -5, 0, -6, -7, -4, -4, -9, -10, -12, -29, -33, -22,
    -00784 -13, -19, -25, -17, -13, -13, -12, -10, -14, -11, 0, 1, 1, 7, 13, 13, 13, 11,
    -00785 12, 13, 7, 2, 5, 8, 11, 16, 15, 15, 17, 17, 13, 10, 14, 17, 19, 14, 16, 22, 26,
    -00786 25, 22, 21, 19, 22, 18, 18, 20, 24, 21, 20, 25, 26, 24, 11, -6, -32, -36, -27,
    -00787 -17, -28, -32, -18, -15, -18, -19, -19, -36, -34, -20, -22, -30, -19, -6, -8,
    -00788 -7, -3, -9, -17, -22, -29, -31, -29, -22, -20, -17, -20, -17, -12, -14, -16,
    -00789 -16, -10, -10, -6, 3, 10, 10, 13, 24, 22, 16, 20, 25, 25, 22, 24, 22, 22, 23,
    -00790 20, 15, 4, 2, 4, 5, -1, -3, 4, 2, 0, 0, 0, -4, -1, 4, 1, -1, 3, 3, -1, -2, 0,
    -00791 -2, -6, -14, -28, -29, -24, -15, -17, -14, -15, -19, -14, -14, -15, -18, -8, -8,
    -00792 -8, -1, 4, 4, 3, 10, 10, 10, 11, 8, 7, 7, 14, 15, 15, 14, 12, 13, 13, 17, 17,
    -00793 18, 19, 16, 19, 21, 23, 18, 17, 22, 25, 25, 20, 22, 23, 22, 19, 18, 11, 9, 18,
    -00794 23, 15, 12, 9, -13, -38, -38, -26, -28, -32, -31, -28, -26, -19, -20, -33, -34,
    -00795 -24, -18, -26, -26, -17, -11, -11, -16, -17, -19, -23, -29, -31, -29, -25, -15,
    -00796 -12, -16, -18, -14, -15, -19, -13, -5, 0, 2, 8, 12, 15, 19, 18, 17, 13, 15, 19,
    -00797 22, 23, 23, 24, 20, 15, 11, 12, 9, 3, 2, 3, 8, 12, 13, 5, 3, 5, 3, 0, 0, -1, -4,
    -00798 5, 8, 1, -7, -10, -23, -27, -18, -13, -19, -17, -7, -7, -9, -10, -13, -17, -9,
    -00799 -3, -7, -10, -2, 4, 0, -2, -1, 0, -2, -4, -1, 6, 14, 16, 15, 15, 17, 22, 26, 21,
    -00800 17, 22, 25, 22, 20, 26, 24, 24, 23, 21, 16, 16, 19, 19, 22, 25, 26, 19, 19, 21,
    -00801 25, 22, 16, -1, -21, -32, -33, -29, -30, -27, -25, -21, -21, -24, -33, -38, -31,
    -00802 -25, -21, -24, -16, -12, -13, -15, -17, -18, -24, -25, -28, -28, -21, -14, -11,
    -00803 -17, -16, -17, -17, -16, -14, -6, -2, 5, 5, 9, 12, 18, 20, 15, 14, 13, 18, 18,
    -00804 22, 25, 25, 22, 16, 11, 6, 9, 8, 1, -1, 10, 13, 6, 0, 4, 4, 4, 6, -3, -9, -8,
    -00805 -4, -25, -35, -18, -2, -5, -14, -10, -12, -8, -8, -13, -19, -9, 9, 2, -8, -8, 3,
    -00806 2, -9, -13, -10, -3, 2, 7, 12, 15, 21, 23, 20, 17, 24, 31, 21, 19, 25, 32, 23,
    -00807 22, 25, 21, 22, 19, 16, 6, 18, 25, 20, 15, 17, 15, 7, 11, 14, 13, 10, 2, -18,
    -00808 -31, -27, -18, -22, -21, -20, -18, -21, -24, -27, -34, -29, -24, -22, -28, -26,
    -00809 -19, -19, -21, -21, -19, -26, -30, -27, -24, -16, -9, -4, -11, -14, -9, -7, -5,
    -00810 -6, 1, 3, 9, 14, 15, 15, 14, 15, 11, 6, 3, 6, 14, 17, 19, 18, 14, 11, 7, 2, -7,
    -00811 -4, 3, 3, 0, 5, 8, 0, -2, -1, -4, -7, -6, -13, -30, -28, -16, -12, -15, -8, 0,
    -00812 -1, -2, -2, -7, -10, -6, -1, -2, -2, 0, 0, 0, 3, 6, 5, 3, 5, 12, 18, 22, 26, 27,
    -00813 29, 30, 27, 21, 18, 20, 22, 24, 29, 30, 30, 31, 31, 23, 16, 22, 27, 30, 29, 37,
    -00814 38, 37, 25, -4, -37, -50, -36, -33, -32, -32, -22, -23, -25, -33, -47, -52, -40,
    -00815 -25, -27, -23, -14, -7, -14, -21, -28, -36, -39, -38, -33, -28, -19, -17, -20,
    -00816 -23, -24, -22, -22, -20, -16, -5, 7, 13, 17, 17, 20, 18, 15, 11, 13, 18, 23, 31,
    -00817 34, 34, 28, 25, 17, 12, 12, 14, 13, 14, 16, 13, 10, 8, 6, 1, 0, -2, -9, -18,
    -00818 -21, -20, -14, -5, -4, -11, -19, -20, -19, -17, -18, -17, -11, -5, -7, -12, -13,
    -00819 -12, -12, -12, -12, -11, -6, -2, 1, 5, 13, 14, 14, 13, 15, 22, 28, 28, 21, 28,
    -00820 39, 38, 28, 25, 27, 22, 22, 26, 29, 29, 30, 33, 30, 27, 27, 29, 31, 32, 34, 19,
    -00821 -15, -43, -41, -27, -30, -31, -25, -21, -25, -26, -34, -46, -38, -24, -25, -34,
    -00822 -25, -18, -21, -25, -27, -32, -35, -36, -40, -39, -27, -17, -19, -24, -24, -18,
    -00823 -16, -19, -21, -13, -3, 4, 12, 18, 21, 27, 31, 25, 19, 21, 23, 23, 26, 30, 27,
    -00824 25, 23, 17, 12, 10, 8, 9, 13, 14, 11, 6, 1, -1, -1, -7, -14, -16, -17, -19, -12,
    -00825 -3, -7, -15, -17, -20, -24, -18, -15, -17, -12, -4, -7, -13, -13, -14, -15, -7,
    -00826 -2, -3, 1, 8, 9, 10, 18, 24, 23, 20, 22, 27, 28, 28, 32, 37, 34, 32, 35, 35, 30,
    -00827 31, 37, 42, 39, 35, 34, 35, 37, 39, 32, -5, -43, -46, -29, -29, -30, -17, -13,
    -00828 -22, -24, -27, -44, -44, -27, -24, -35, -27, -11, -8, -14, -22, -32, -42, -44,
    -00829 -45, -43, -37, -28, -27, -29, -27, -20, -21, -31, -33, -26, -14, -2, 11, 14, 15,
    -00830 22, 23, 15, 14, 23, 25, 25, 30, 34, 35, 33, 27, 17, 11, 9, 6, 8, 11, 13, 16, 14,
    -00831 7, 3, 4, -2, -10, -11, -16, -22, -15, -2, 1, -4, -6, -14, -22, -22, -18, -18,
    -00832 -13, -4, -1, -5, -7, -9, -9, -7, -7, -5, 1, 6, 4, 7, 13, 18, 18, 19, 22, 24, 24,
    -00833 26, 25, 26, 29, 30, 32, 33, 33, 31, 35, 42, 41, 35, 37, 41, 44, 48, 36, -19,
    -00834 -64, -60, -38, -37, -35, -19, -24, -26, -21, -29, -54, -44, -19, -26, -35, -18,
    -00835 -2, -5, -8, -17, -37, -42, -35, -41, -49, -39, -26, -29, -27, -18, -16, -24,
    -00836 -32, -30, -23, -6, 11, 19, 19, 24, 35, 33, 24, 20, 24, 25, 26, 34, 36, 37, 33,
    -00837 22, 9, 4, 6, 5, 11, 13, 12, 11, 9, 8, 7, 8, -3, -15, -22, -22, -17, -4, 4, -2,
    -00838 -8, -16, -24, -27, -22, -22, -19, -15, -13, -12, -7, -5, -8, -9, -14, -15, -9,
    -00839 -1, 1, 8, 17, 18, 18, 19, 19, 19, 24, 22, 19, 28, 38, 37, 30, 33, 36, 34, 39,
    -00840 42, 45, 38, 38, 45, 50, 56, 51, 21, -43, -71, -52, -35, -42, -31, -11, -20, -25,
    -00841 -23, -42, -61, -35, -15, -34, -40, -10, 4, -3, -9, -21, -39, -39, -35, -48, -50,
    -00842 -42, -32, -29, -23, -21, -18, -17, -34, -38, -23, -1, 7, 18, 31, 29, 34, 35, 27,
    -00843 19, 25, 33, 25, 26, 30, 36, 35, 24, 11, 3, 5, 4, 5, 8, 7, 9, 13, 14, 15, 14, 5,
    -00844 -16, -31, -30, -18, -3, 0, -3, -6, -8, -16, -26, -25, -21, -15, -10, -11, -13,
    -00845 -11, -9, -15, -21, -15, -11, -6, -1, 2, 9, 18, 26, 22, 23, 29, 21, 15, 19, 29,
    -00846 33, 34, 37, 37, 41, 37, 27, 31, 37, 39, 41, 48, 55, 55, 57, 4, -59, -68, -41,
    -00847 -36, -42, -13, -16, -24, -18, -24, -60, -58, -17, -24, -46, -19, 11, 3, -4, -4,
    -00848 -26, -44, -34, -43, -60, -50, -27, -26, -33, -24, -18, -21, -35, -43, -35, -14,
    -00849 5, 20, 30, 33, 38, 34, 20, 10, 20, 29, 25, 26, 28, 30, 28, 26, 12, -3, -8, -15,
    -00850 -14, -6, 4, 3, 2, 2, 1, 6, 9, 0, -10, -15, -20, -21, -14, -3, 0, 4, 0, -4, -10,
    -00851 -16, -16, -15, -11, -10, -5, -1, -2, -1, 0, -1, 0, 0, 5, 9, 15, 21, 26, 33, 33,
    -00852 37, 35, 25, 16, 20, 28, 30, 33, 39, 40, 39, 36, 30, 35, 39, 32, 25, 32, 39, 31,
    -00853 17, -28, -70, -68, -44, -43, -52, -27, -22, -30, -31, -33, -49, -47, -19, -26,
    -00854 -41, -20, 9, 7, -5, -7, -18, -34, -34, -43, -50, -42, -25, -20, -26, -20, -19,
    -00855 -20, -23, -24, -18, -7, 12, 22, 30, 39, 45, 45, 37, 29, 21, 23, 31, 34, 32, 32,
    -00856 26, 15, 4, -3, -10, -12, -4, -1, 2, 2, 2, 2, 3, 4, -1, -2, -12, -26, -34, -32,
    -00857 -24, -16, -6, -2, -6, -8, -14, -22, -29, -27, -21, -13, -7, -8, -10, -5, 4, 5,
    -00858 -1, -3, 8, 12, 16, 23, 29, 28, 29, 40, 37, 27, 23, 30, 31, 31, 38, 46, 53, 49,
    -00859 44, 43, 43, 32, 29, 37, 34, 27, 26, 3, -53, -71, -47, -41, -55, -39, -22, -35,
    -00860 -32, -15, -31, -53, -28, -14, -40, -44, -3, 7, -9, -9, -8, -27, -35, -26, -42,
    -00861 -51, -34, -19, -28, -29, -16, -21, -28, -28, -29, -25, 1, 22, 21, 23, 35, 38,
    -00862 30, 26, 25, 26, 27, 29, 31, 33, 28, 20, 15, 2, -10, -9, -4, -8, -7, 8, 12, 11,
    -00863 15, 15, 5, 1, 8, 0, -10, -13, -17, -24, -22, -11, -8, -10, -14, -20, -21, -21,
    -00864 -22, -21, -12, -7, -9, -4, 3, 2, -2, -1, 0, -1, 6, 16, 18, 15, 17, 27, 30, 27,
    -00865 21, 23, 26, 25, 30, 41, 43, 36, 38, 43, 40, 39, 46, 37, 22, 24, 33, 29, 19, 3,
    -00866 -43, -75, -61, -34, -40, -40, -18, -18, -34, -35, -29, -43, -40, -18, -15, -28,
    -00867 -12, 9, -1, -18, -17, -20, -40, -42, -34, -31, -25, -9, -8, -22, -18, -14, -29,
    -00868 -41, -25, -6, 2, 17, 34, 35, 37, 42, 36, 23, 21, 23, 18, 25, 36, 37, 32, 26, 13,
    -00869 -4, -5, -9, -19, -17, 0, 6, 4, 9, 10, 3, -1, -3, -7, -6, -3, -12, -26, -28, -27,
    -00870 -28, -26, -21, -19, -16, -13, -16, -17, -10, -8, -9, -2, 4, -1, -7, -2, 1, -2,
    -00871 4, 13, 16, 13, 15, 21, 22, 23, 25, 33, 36, 32, 30, 36, 38, 32, 35, 39, 37, 34,
    -00872 44, 49, 43, 32, 30, 29, 23, 15, 11, 3, -36, -74, -70, -39, -35, -38, -23, -20,
    -00873 -44, -51, -38, -40, -42, -22, -16, -35, -28, -2, -3, -21, -18, -14, -29, -31,
    -00874 -21, -22, -26, -11, -2, -15, -20, -12, -17, -31, -25, -6, 3, 9, 28, 37, 32, 27,
    -00875 32, 28, 17, 24, 36, 36, 29, 34, 36, 26, 15, 8, 0, -6, -3, 0, 0, 1, 4, 1, -2, -5,
    -00876 -7, -10, -14, -16, -15, -10, -19, -25, -24, -21, -26, -25, -11, -9, -12, -11,
    -00877 -6, -10, -12, -6, -4, -5, -2, 2, 1, 1, 4, 5, 4, 6, 10, 11, 15, 18, 21, 20, 24,
    -00878 33, 36, 32, 26, 32, 35, 38, 41, 45, 45, 41, 46, 50, 47, 34, 27, 24, 15, 5, 5, 6,
    -00879 -25, -66, -71, -42, -34, -43, -31, -18, -35, -53, -37, -33, -43, -38, -18, -23,
    -00880 -32, -7, 9, -9, -27, -17, -17, -33, -33, -23, -22, -25, -17, -14, -19, -18, -12,
    -00881 -16, -20, -12, 0, 10, 15, 22, 24, 29, 30, 25, 22, 25, 29, 26, 26, 26, 27, 27,
    -00882 19, 10, 5, 9, 6, 1, 3, 5, 0, -4, 0, -5, -15, -15, -9, -9, -10, -6, -11, -23,
    -00883 -28, -22, -22, -21, -10, 0, -3, -10, -6, -3, -4, -8, -5, 0, 0, 1, 1, 2, -2, -7,
    -00884 -6, -2, 2, 1, 5, 10, 15, 19, 25, 33, 34, 31, 27, 28, 34, 43, 46, 46, 41, 37, 37,
    -00885 44, 50, 41, 27, 18, 11, 4, 6, 5, -32, -67, -64, -35, -34, -43, -28, -18, -36,
    -00886 -56, -45, -37, -37, -34, -21, -19, -13, 1, 5, -9, -21, -16, -19, -25, -29, -20,
    -00887 -13, -9, -11, -14, -14, -20, -27, -31, -22, -12, -4, 0, 6, 11, 16, 19, 16, 16,
    -00888 21, 26, 24, 27, 34, 39, 34, 28, 23, 17, 15, 14, 11, 5, 2, 2, 1, -1, -5, -12,
    -00889 -15, -14, -12, -9, -5, -8, -20, -27, -24, -19, -15, -10, -3, -2, -3, -4, -5, -5,
    -00890 -2, -2, -4, -1, 6, 6, 1, -2, -2, -5, -5, 0, 1, 3, 8, 15, 15, 18, 26, 27, 23, 22,
    -00891 26, 27, 33, 41, 43, 41, 39, 39, 38, 43, 43, 39, 30, 25, 21, 22, 15, -28, -71,
    -00892 -72, -30, -25, -42, -39, -20, -36, -70, -68, -47, -30, -36, -34, -32, -13, 2, 4,
    -00893 -10, -19, -14, -14, -15, -21, -13, -6, 2, -7, -14, -12, -12, -24, -38, -33, -22,
    -00894 -9, -3, 2, 4, 7, 8, 3, 4, 14, 27, 28, 29, 37, 46, 47, 42, 36, 29, 25, 22, 19,
    -00895 18, 19, 16, 9, 5, 3, -3, -15, -23, -23, -20, -18, -21, -27, -34, -37, -36, -30,
    -00896 -22, -14, -9, -9, -13, -14, -6, 1, 0, -6, -2, 7, 9, 2, -1, -1, -1, -2, -3, -1,
    -00897 3, 9, 11, 15, 23, 30, 27, 23, 26, 30, 32, 36, 43, 47, 52, 52, 49, 46, 52, 52,
    -00898 43, 32, 28, 27, 25, 18, -15, -53, -61, -32, -27, -38, -39, -27, -44, -70, -67,
    -00899 -45, -34, -43, -46, -43, -24, -12, -11, -22, -22, -18, -22, -21, -17, -8, -10,
    -00900 -5, -5, -5, -7, -11, -22, -31, -20, -9, -3, -6, 0, 4, 4, 2, 0, 4, 10, 19, 19,
    -00901 24, 34, 43, 42, 38, 37, 32, 27, 24, 27, 25, 23, 21, 16, 11, 5, 2, -5, -10, -13,
    -00902 -16, -19, -20, -20, -31, -42, -47, -40, -33, -27, -19, -14, -14, -20, -21, -16,
    -00903 -8, -5, -4, 0, 6, 10, 9, 5, -1, -6, -6, -2, 3, 7, 16, 19, 16, 14, 19, 23, 20,
    -00904 20, 26, 34, 39, 43, 47, 48, 45, 41, 44, 51, 52, 46, 41, 42, 40, 33, 12, -24,
    -00905 -52, -43, -21, -22, -32, -27, -27, -56, -75, -63, -44, -48, -58, -56, -43, -25,
    -00906 -14, -16, -28, -28, -27, -27, -23, -11, 0, 3, 5, 3, 1, -1, -6, -19, -23, -12,
    -00907 -1, 3, 6, 9, 6, -1, -7, -8, -4, 6, 13, 19, 27, 35, 37, 34, 31, 26, 24, 25, 27,
    -00908 27, 31, 35, 29, 16, 9, 8, 1, -8, -12, -10, -9, -11, -14, -20, -30, -46, -57,
    -00909 -55, -43, -31, -22, -16, -16, -18, -21, -20, -17, -14, -7, 0, 7, 9, 9, 7, 6, 2,
    -00910 -2, -2, 2, 7, 10, 14, 18, 23, 29, 31, 29, 25, 24, 27, 36, 43, 47, 48, 50, 48,
    -00911 44, 44, 43, 42, 43, 46, 45, 44, 35, -1, -48, -60, -30, -13, -22, -28, -28, -48,
    -00912 -78, -80, -62, -50, -51, -52, -50, -39, -25, -21, -31, -34, -29, -27, -23, -15,
    -00913 -5, 1, 7, 7, 0, -6, -4, -6, -13, -13, -4, 6, 10, 9, 3, -3, -7, -8, -5, 6, 16,
    -00914 18, 21, 27, 31, 29, 27, 25, 24, 27, 30, 29, 29, 33, 32, 23, 12, 9, 4, -3, -8,
    -00915 -7, -2, -4, -13, -22, -24, -28, -38, -47, -46, -41, -35, -26, -18, -16, -22,
    -00916 -26, -25, -20, -14, -6, 2, 7, 11, 11, 9, 5, 0, -3, 2, 9, 13, 16, 17, 18, 16, 17,
    -00917 23, 27, 27, 26, 29, 33, 40, 45, 49, 50, 49, 46, 43, 44, 44, 45, 41, 39, 36, 35,
    -00918 24, -2, -36, -51, -41, -26, -23, -30, -34, -47, -66, -78, -68, -55, -52, -56,
    -00919 -55, -42, -28, -22, -29, -35, -35, -29, -23, -14, -5, 2, 5, 5, 1, -2, 1, 1, -4,
    -00920 -7, 1, 10, 12, 9, 7, 5, 2, -1, -3, 1, 12, 21, 21, 18, 21, 26, 27, 25, 24, 25,
    -00921 27, 29, 29, 31, 30, 24, 15, 8, 5, 5, 4, 1, -1, -5, -10, -18, -23, -24, -31, -45,
    -00922 -51, -41, -26, -20, -21, -23, -26, -31, -33, -26, -11, -2, -3, -6, -1, 7, 8, 3,
    -00923 1, 3, 6, 10, 12, 15, 19, 20, 16, 15, 20, 26, 29, 30, 34, 37, 36, 33, 33, 36, 40,
    -00924 42, 42, 40, 39, 40, 38, 34, 30, 24, 20, 18, 16, 2, -23, -46, -50, -42, -34, -33,
    -00925 -35, -43, -58, -70, -71, -62, -55, -51, -47, -41, -36, -31, -29, -29, -28, -28,
    -00926 -22, -14, -4, 2, 8, 8, 4, 2, 3, 7, 4, 2, 4, 9, 10, 10, 9, 7, 4, 1, 1, 3, 10, 15,
    -00927 17, 16, 16, 17, 19, 20, 19, 18, 21, 28, 30, 29, 25, 23, 18, 11, 7, 5, 4, 0, -3,
    -00928 -7, -8, -11, -16, -23, -28, -33, -41, -45, -43, -34, -24, -18, -20, -21, -19,
    -00929 -17, -17, -15, -9, -4, 0, 1, 4, 6, 8, 8, 8, 10, 13, 18, 20, 20, 19, 24, 26, 28,
    -00930 31, 31, 29, 32, 39, 39, 37, 33, 33, 34, 38, 43, 43, 41, 36, 34, 30, 33, 37, 36,
    -00931 25, 12, 4, -11, -31, -45, -42, -37, -33, -34, -39, -50, -61, -67, -70, -64, -56,
    -00932 -48, -47, -45, -39, -30, -27, -30, -30, -26, -17, -9, -1, 4, 10, 10, 7, 4, 6, 6,
    -00933 3, 1, 3, 8, 11, 9, 3, -1, -5, -7, -9, -3, 5, 11, 11, 10, 14, 15, 14, 10, 13, 16,
    -00934 21, 23, 25, 23, 17, 13, 11, 11, 10, 14, 13, 9, 2, -1, -3, -8, -10, -13, -14,
    -00935 -20, -29, -38, -41, -38, -32, -26, -19, -17, -17, -16, -16, -14, -8, 0, 3, 5, 6,
    -00936 6, 4, 3, 0, 1, 9, 17, 18, 16, 19, 21, 22, 21, 26, 32, 33, 31, 32, 33, 29, 25,
    -00937 25, 30, 40, 48, 50, 42, 34, 30, 28, 31, 36, 45, 41, 25, 8, 1, -6, -24, -42, -52,
    -00938 -48, -42, -35, -40, -45, -54, -65, -77, -80, -67, -53, -43, -42, -38, -36, -30,
    -00939 -28, -26, -24, -19, -9, 1, 8, 10, 16, 17, 13, 5, 4, 6, 9, 6, 6, 11, 13, 8, 1,
    -00940 -2, -3, -2, 1, 8, 13, 16, 17, 16, 15, 12, 13, 16, 21, 21, 21, 23, 24, 22, 18,
    -00941 16, 10, 7, 4, 4, 2, -4, -8, -11, -14, -18, -20, -22, -23, -26, -33, -39, -39,
    -00942 -29, -21, -17, -16, -16, -14, -18, -18, -16, -4, 3, 4, 3, 5, 9, 7, 4, 0, 6, 9,
    -00943 14, 15, 17, 20, 21, 23, 23, 25, 30, 36, 37, 33, 30, 33, 36, 36, 35, 40, 46, 46,
    -00944 40, 33, 30, 30, 36, 36, 34, 25, 17, 2, -8, -13, -17, -31, -54, -58, -50, -37,
    -00945 -45, -51, -56, -61, -71, -72, -59, -51, -44, -41, -35, -35, -28, -20, -16, -19,
    -00946 -19, -11, -1, 10, 11, 12, 8, 7, 4, 6, 11, 12, 9, 4, 10, 13, 14, 9, 5, -1, -6,
    -00947 -4, 3, 12, 16, 16, 11, 8, 7, 13, 17, 18, 15, 12, 13, 13, 16, 16, 12, 5, -2, -5,
    -00948 -7, -1, 2, -1, -7, -9, -10, -12, -16, -17, -16, -16, -20, -32, -38, -37, -27,
    -00949 -14, -2, 2, -4, -8, -14, -15, -12, -1, 7, 9, 7, 5, 8, 9, 7, 3, 5, 11, 18, 19,
    -00950 18, 17, 21, 25, 24, 25, 29, 30, 29, 28, 32, 34, 31, 33, 29, 32, 28, 30, 28, 26,
    -00951 28, 26, 32, 25, 25, 19, 14, 1, -9, -3, -4, -19, -58, -69, -57, -31, -34, -41,
    -00952 -37, -41, -57, -79, -66, -52, -36, -37, -32, -25, -19, -10, -16, -17, -20, -10,
    -00953 -1, 7, 13, 17, 21, 19, 14, 10, 13, 14, 14, 10, 12, 14, 13, 8, 1, 0, -4, -3, -2,
    -00954 4, 5, 2, 1, 4, 6, 5, 5, 9, 10, 8, 10, 13, 16, 15, 16, 12, 5, -1, -3, -2, -3, -2,
    -00955 -2, -5, -10, -13, -16, -16, -19, -19, -21, -20, -21, -27, -25, -25, -18, -11,
    -00956 -2, -3, -14, -16, -17, -14, -10, 0, 9, 12, 10, 7, 9, 13, 12, 8, 5, 6, 10, 14,
    -00957 18, 20, 23, 20, 16, 16, 19, 21, 25, 28, 29, 26, 24, 28, 29, 32, 29, 28, 26, 20,
    -00958 18, 16, 28, 36, 37, 27, 12, 11, -1, -5, -11, 0, 3, -14, -41, -66, -61, -48, -32,
    -00959 -38, -39, -41, -43, -56, -63, -54, -46, -34, -32, -22, -18, -8, -3, -1, -2, -2,
    -00960 5, 8, 9, 8, 15, 24, 25, 18, 11, 4, -1, -8, -9, -4, 1, 8, 3, -1, -8, -8, -10,
    -00961 -10, -3, 0, 3, 3, 5, 6, 8, 11, 12, 10, 8, 8, 13, 17, 18, 20, 19, 17, 9, 4, 4, 4,
    -00962 6, 2, -3, -5, -5, -8, -11, -14, -15, -19, -23, -30, -35, -34, -32, -22, -14, -1,
    -00963 -4, -6, -12, -14, -9, -7, 4, 7, 13, 11, 11, 11, 13, 13, 16, 17, 14, 13, 14, 18,
    -00964 14, 15, 15, 19, 17, 13, 14, 17, 20, 18, 19, 17, 14, 9, 13, 21, 30, 29, 26, 21,
    -00965 17, 16, 18, 30, 33, 32, 24, 21, 21, 16, 13, 7, 9, -2, -33, -67, -71, -46, -31,
    -00966 -39, -43, -37, -38, -58, -73, -65, -52, -43, -43, -34, -17, -1, 4, -3, -8, -10,
    -00967 -5, 2, 11, 16, 20, 24, 24, 16, 5, 3, 2, -3, -11, -7, 2, 10, 6, -4, -7, -11, -14,
    -00968 -22, -20, -11, -2, 4, 1, 5, 10, 15, 11, 4, 5, 12, 18, 18, 19, 22, 24, 17, 7, 0,
    -00969 0, 1, -2, -1, 0, 0, -6, -10, -13, -18, -23, -25, -20, -15, -14, -16, -17, -21,
    -00970 -24, -21, -10, -4, -7, -11, -9, -2, 5, 11, 15, 16, 16, 12, 10, 13, 16, 17, 11,
    -00971 8, 7, 12, 17, 14, 13, 10, 10, 8, 8, 12, 11, 14, 12, 16, 20, 18, 18, 17, 20, 20,
    -00972 23, 27, 32, 33, 29, 22, 25, 29, 30, 26, 16, 19, 22, 32, 28, 21, 17, 13, 8, -38,
    -00973 -74, -83, -48, -26, -36, -37, -34, -24, -52, -73, -76, -57, -40, -43, -40, -25,
    -00974 0, 7, 4, -2, -7, -13, -9, -3, 3, 6, 15, 24, 17, 7, -1, -2, -12, -21, -24, -15,
    -00975 2, 6, 1, -9, -11, -13, -19, -26, -22, -7, 3, 6, 7, 13, 18, 18, 10, 8, 13, 19,
    -00976 20, 17, 16, 18, 22, 18, 11, 2, 0, 0, -3, -8, -11, -5, -3, -2, -5, -10, -9, -13,
    -00977 -16, -20, -15, -8, -12, -14, -14, -1, 4, 1, -2, -7, -1, 0, 2, 4, 10, 21, 20, 16,
    -00978 6, 3, 5, 5, 6, 0, 4, 10, 11, 8, 0, 1, 1, 5, 4, 3, 6, 13, 17, 17, 15, 20, 21, 14,
    -00979 9, 10, 23, 28, 32, 27, 25, 28, 31, 28, 23, 21, 24, 18, 11, 14, 16, 27, 22, 27,
    -00980 18, 21, -7, -58, -72, -64, -22, -29, -25, -33, -22, -31, -64, -73, -71, -43,
    -00981 -46, -41, -38, -10, 4, 2, -8, -13, -15, -20, -12, -12, 4, 9, 22, 16, 8, 7, 1,
    -00982 -3, -23, -31, -30, -11, 5, 7, 8, 8, 2, -10, -23, -25, -18, -5, 4, 8, 19, 22, 22,
    -00983 9, -3, -3, 4, 12, 13, 17, 23, 24, 23, 19, 14, 9, 1, -2, -5, 2, 11, 17, 20, 14,
    -00984 7, -2, -7, -14, -19, -13, -7, -3, -4, -11, -14, -13, -7, -7, -13, -12, -11, -3,
    -00985 0, 3, 8, 10, 10, -2, -3, 1, 8, 12, 8, 10, 7, 5, 1, 1, 6, 4, 5, 5, 9, 14, 15, 15,
    -00986 10, 6, 2, 1, 6, 11, 16, 16, 15, 16, 12, 10, 6, 9, 16, 20, 22, 19, 22, 25, 27,
    -00987 29, 22, 22, 14, 13, 10, 8, 14, 17, 26, -11, -45, -70, -51, -31, -28, -27, -28,
    -00988 -11, -28, -43, -63, -52, -39, -39, -42, -35, -14, -7, -3, -11, -16, -22, -16,
    -00989 -14, -13, -12, -9, -3, -3, -4, -6, 0, -4, -13, -19, -14, -1, 10, 12, 10, 10, 12,
    -00990 7, -1, -2, 2, 14, 18, 19, 19, 24, 27, 17, 11, 9, 13, 13, 10, 13, 19, 23, 20, 12,
    -00991 9, 6, 4, 0, -5, -4, -1, 6, 2, -6, -15, -19, -21, -28, -28, -26, -19, -18, -17,
    -00992 -14, -10, -9, -12, -9, -5, -1, -3, 0, 5, 9, 10, 7, 5, -1, 1, 6, 12, 12, 6, 5, 6,
    -00993 12, 13, 12, 12, 12, 14, 14, 14, 15, 17, 19, 18, 18, 18, 17, 15, 10, 12, 16, 20,
    -00994 19, 21, 25, 24, 20, 15, 18, 22, 26, 15, 11, 14, 19, 18, 8, 12, 11, 15, -13, -46,
    -00995 -60, -47, -21, -30, -32, -34, -16, -23, -47, -63, -59, -39, -40, -43, -37, -18,
    -00996 -7, -13, -26, -28, -23, -18, -24, -18, -6, 3, 4, -3, 0, 2, 5, -5, -13, -11, -1,
    -00997 7, 10, 11, 14, 14, 9, 2, -1, 3, 6, 11, 12, 18, 20, 21, 15, 11, 9, 9, 10, 7, 9,
    -00998 13, 19, 15, 13, 13, 12, 5, -5, -8, -5, 2, 3, -1, -3, -7, -12, -21, -28, -32,
    -00999 -32, -25, -19, -9, -5, -4, -9, -13, -15, -14, -11, -8, 0, 7, 16, 3, };
    -01000  
    -01001  #endif /* BURROUGHS1_18649_H_ */
    -
    - - - - +
    1 #ifndef BURROUGHS1_18649_H_
    +
    2 #define BURROUGHS1_18649_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 #define BURROUGHS1_18649_NUM_CELLS 18649
    +
    12 #define BURROUGHS1_18649_SAMPLERATE 16384
    +
    13 
    +
    14 const char __attribute__((progmem)) BURROUGHS1_18649_DATA [] = {8, 16, 9, 9, 7,
    +
    15 6, 9, 12, 18, 20, 24, 25, 23, 22, 20, 20, 18, 18, 19, 19, 21, 22, 26, 24, 19,
    +
    16 14, 10, 12, 13, 16, 17, 20, 18, 15, 14, 12, 12, 8, 7, 4, 7, 8, 8, 8, 7, 6, -14,
    +
    17 -32, -40, -28, -21, -23, -27, -25, -19, -28, -40, -48, -38, -32, -34, -36, -25,
    +
    18 -9, -5, -12, -21, -19, -18, -18, -19, -9, 2, 4, -2, -7, -1, 5, 5, -4, -7, -3, 1,
    +
    19 1, -1, 3, 5, 3, -4, -10, -9, -5, -1, -1, -1, 1, 4, 5, 1, -3, -5, -3, -1, 0, 2,
    +
    20 4, 6, 7, 5, 2, -1, -1, 0, 2, 6, 9, 10, 11, 11, 9, 6, 3, 0, -1, -2, 2, 4, 2, -2,
    +
    21 1, 5, 5, 0, -5, -5, -3, 1, 2, 3, 3, 4, 3, 3, 5, 6, 5, 2, 1, 3, 8, 10, 9, 9, 10,
    +
    22 10, 8, 7, 8, 13, 13, 10, 10, 13, 16, 14, 12, 10, 6, 4, 6, 8, 8, 9, 10, 10, 11,
    +
    23 10, 9, 5, 2, 1, 4, 8, 9, 7, 6, 6, 4, -3, -14, -20, -20, -14, -10, -10, -9, -11,
    +
    24 -15, -21, -27, -28, -24, -23, -25, -24, -18, -12, -14, -18, -20, -18, -18, -19,
    +
    25 -14, -8, -2, -2, -4, -5, -4, -4, -6, -8, -6, -2, 2, 4, 4, 5, 2, -2, -4, -3, -4,
    +
    26 -3, -2, 0, 2, 1, -1, -3, -3, -3, -3, -2, -2, 0, 1, 3, 4, 4, 5, 6, 7, 7, 8, 10,
    +
    27 9, 8, 8, 8, 7, 7, 6, 6, 7, 9, 10, 9, 9, 10, 12, 9, 6, 4, 7, 10, 5, 1, 4, 11, 10,
    +
    28 4, -1, 0, 0, -3, -6, -4, -1, -4, -7, -10, -8, -9, -12, -15, -14, -8, -6, -8,
    +
    29 -10, -8, -5, -4, -3, -3, -3, -3, -3, -3, -1, 1, 3, 3, 4, 5, 8, 9, 8, 6, 6, 7,
    +
    30 10, 13, 15, 15, 13, 13, 12, 12, 11, 15, 17, 19, 16, 11, 6, -4, -9, -8, -1, 0,
    +
    31 -2, -5, -8, -10, -19, -26, -24, -18, -17, -20, -21, -17, -14, -19, -24, -22,
    +
    32 -19, -19, -19, -18, -15, -12, -16, -16, -12, -7, -6, -7, -5, -2, 2, 1, 0, 0, -1,
    +
    33 -1, 1, 3, 2, 0, 1, 3, 5, 5, 5, 7, 7, 7, 5, 5, 5, 5, 3, 4, 6, 6, 5, 5, 8, 9, 10,
    +
    34 10, 12, 12, 12, 11, 12, 13, 12, 11, 12, 17, 16, 11, 9, 11, 15, 14, 14, 14, 16,
    +
    35 13, 9, 7, 6, 6, 5, 1, -8, -12, -9, -6, -11, -19, -21, -22, -23, -28, -28, -26,
    +
    36 -23, -23, -27, -25, -21, -21, -24, -26, -22, -18, -17, -17, -14, -8, -8, -8, -7,
    +
    37 -2, 2, 2, 2, 5, 12, 16, 13, 11, 15, 21, 23, 20, 20, 25, 32, 30, 26, 24, 24, 27,
    +
    38 24, 20, 20, 24, 23, 14, 10, 11, 16, 13, 7, -6, -20, -23, -13, -5, -7, -14, -21,
    +
    39 -26, -32, -37, -34, -27, -27, -31, -32, -31, -29, -28, -30, -32, -28, -23, -18,
    +
    40 -12, -6, -4, -4, -3, 1, 5, 7, 8, 11, 14, 17, 19, 20, 19, 20, 22, 25, 29, 29, 30,
    +
    41 31, 35, 35, 33, 32, 33, 35, 33, 29, 26, 25, 20, 15, 7, 3, 0, -5, -12, -21, -22,
    +
    42 -24, -27, -34, -36, -36, -38, -39, -39, -35, -35, -36, -36, -33, -33, -35, -35,
    +
    43 -32, -30, -29, -27, -23, -20, -17, -12, -7, -3, 0, 7, 14, 17, 19, 21, 25, 27,
    +
    44 27, 29, 30, 29, 26, 25, 24, 21, 19, 16, 10, 11, 14, 13, 5, -4, -5, -6, -8, -12,
    +
    45 -9, -5, -9, -17, -23, -22, -18, -17, -18, -14, -10, -11, -11, -7, 0, 3, 3, 4, 9,
    +
    46 14, 14, 15, 17, 20, 22, 24, 27, 30, 34, 37, 41, 44, 48, 53, 57, 58, 56, 53, 50,
    +
    47 51, 44, 35, 32, 33, 27, 8, 0, -2, -10, -39, -53, -35, -25, -34, -48, -46, -51,
    +
    48 -60, -68, -63, -49, -47, -53, -59, -59, -61, -60, -59, -56, -52, -45, -40, -33,
    +
    49 -29, -24, -17, -13, -7, 0, 12, 18, 22, 21, 21, 22, 22, 23, 25, 27, 23, 21, 19,
    +
    50 17, 13, 11, 11, 7, 4, 5, 10, 5, -2, -5, -4, -5, -8, -5, -1, 1, -3, -3, 1, 6, 9,
    +
    51 14, 17, 19, 20, 25, 31, 32, 31, 29, 30, 29, 33, 38, 43, 44, 40, 41, 43, 47, 45,
    +
    52 46, 43, 31, 19, 14, 13, -7, -26, -33, -33, -42, -58, -56, -56, -56, -59, -56,
    +
    53 -53, -56, -49, -48, -50, -52, -44, -38, -48, -59, -57, -39, -29, -35, -37, -28,
    +
    54 -16, -11, -4, 13, 28, 32, 30, 36, 43, 44, 45, 44, 40, 33, 31, 28, 23, 15, 10, 9,
    +
    55 6, 1, -6, -9, -8, -10, -14, -16, -14, -13, -16, -15, -14, -9, -8, -5, 1, 7, 13,
    +
    56 17, 27, 32, 37, 41, 47, 53, 58, 65, 72, 78, 82, 77, 65, 62, 72, 86, 79, 65, 45,
    +
    57 34, 26, 8, -10, -27, -27, -45, -63, -79, -82, -84, -91, -86, -89, -90, -99, -92,
    +
    58 -87, -91, -90, -84, -79, -81, -82, -72, -58, -49, -44, -37, -19, -5, 7, 19, 31,
    +
    59 39, 43, 49, 55, 55, 50, 51, 49, 44, 37, 38, 32, 20, 10, 3, 5, -2, -4, -12, -18,
    +
    60 -24, -29, -25, -28, -28, -29, -23, -22, -20, -15, -8, -1, 2, 10, 17, 24, 29, 34,
    +
    61 43, 48, 54, 61, 64, 70, 73, 82, 86, 87, 79, 70, 61, 49, 45, 31, 12, -16, -27,
    +
    62 -34, -42, -52, -59, -61, -69, -67, -64, -61, -65, -65, -63, -66, -70, -67, -62,
    +
    63 -61, -61, -51, -37, -27, -17, -7, 9, 23, 38, 48, 58, 61, 62, 63, 62, 59, 50, 47,
    +
    64 40, 35, 27, 23, 18, 10, 3, -3, -10, -21, -28, -32, -39, -46, -51, -52, -49, -48,
    +
    65 -42, -35, -25, -16, -8, -4, -1, 10, 25, 36, 37, 41, 45, 49, 50, 58, 75, 85, 88,
    +
    66 86, 90, 86, 79, 67, 54, 47, 27, 1, -36, -49, -57, -64, -74, -85, -90, -95, -85,
    +
    67 -79, -76, -79, -74, -75, -84, -86, -79, -71, -74, -73, -64, -46, -28, -12, 1,
    +
    68 15, 31, 49, 63, 67, 66, 63, 65, 62, 54, 44, 39, 34, 25, 16, 16, 14, 9, -1, -12,
    +
    69 -21, -32, -37, -42, -48, -62, -67, -63, -57, -53, -46, -29, -21, -12, -2, 15,
    +
    70 25, 27, 33, 39, 46, 50, 62, 67, 75, 86, 96, 111, 116, 124, 119, 107, 88, 68, 62,
    +
    71 44, 17, -26, -47, -52, -56, -61, -67, -65, -67, -56, -48, -53, -60, -62, -63,
    +
    72 -73, -83, -76, -70, -68, -67, -58, -36, -14, 13, 23, 34, 45, 61, 67, 56, 47, 39,
    +
    73 39, 30, 21, 13, 9, 4, -2, -6, 2, 4, -4, -20, -37, -46, -57, -57, -67, -74, -79,
    +
    74 -76, -60, -50, -28, -16, -1, 6, 19, 35, 35, 35, 30, 38, 43, 47, 54, 63, 77, 87,
    +
    75 100, 116, 124, 126, 113, 100, 76, 50, 35, 13, -19, -67, -82, -78, -73, -72, -71,
    +
    76 -64, -67, -53, -40, -45, -64, -75, -75, -87, -95, -85, -69, -63, -59, -40, -11,
    +
    77 18, 41, 51, 51, 52, 58, 58, 43, 21, 6, 2, -2, -6, -7, 0, 4, 4, 5, 8, 8, 1, -13,
    +
    78 -35, -54, -60, -59, -62, -65, -55, -36, -15, 10, 33, 48, 54, 61, 65, 62, 57, 51,
    +
    79 45, 38, 38, 45, 58, 76, 94, 107, 117, 125, 126, 115, 92, 57, 23, 4, -20, -58,
    +
    80 -101, -116, -106, -93, -77, -65, -55, -52, -41, -34, -45, -61, -70, -75, -89,
    +
    81 -97, -83, -65, -46, -32, -9, 21, 48, 71, 74, 68, 53, 45, 38, 18, -5, -30, -32,
    +
    82 -30, -28, -21, -10, 3, 2, 2, 0, -6, -17, -36, -56, -78, -82, -71, -60, -54, -45,
    +
    83 -17, 16, 44, 59, 62, 58, 54, 55, 46, 31, 21, 26, 35, 42, 57, 83, 103, 111, 120,
    +
    84 127, 122, 106, 82, 42, -11, -35, -44, -66, -107, -119, -94, -71, -53, -36, -22,
    +
    85 -25, -19, -7, -25, -53, -66, -62, -71, -81, -58, -28, -4, 6, 30, 56, 74, 87, 81,
    +
    86 65, 37, 21, 8, -10, -29, -43, -37, -32, -27, -17, -5, 1, -4, -9, -17, -34, -50,
    +
    87 -66, -80, -89, -83, -61, -41, -25, -11, 11, 40, 60, 67, 59, 48, 39, 31, 25, 18,
    +
    88 22, 33, 42, 56, 75, 102, 112, 115, 118, 116, 107, 81, 45, -7, -41, -50, -65,
    +
    89 -96, -118, -100, -75, -52, -33, -27, -30, -31, -19, -30, -53, -66, -69, -72,
    +
    90 -75, -52, -24, 4, 23, 37, 49, 58, 70, 64, 41, 11, -9, -13, -18, -30, -42, -38,
    +
    91 -26, -18, -8, 1, 2, -6, -11, -23, -43, -53, -53, -57, -65, -55, -30, -6, 12, 29,
    +
    92 44, 53, 61, 61, 50, 33, 24, 23, 23, 19, 23, 34, 50, 67, 88, 106, 109, 109, 110,
    +
    93 104, 85, 59, 26, -21, -53, -63, -71, -93, -106, -87, -64, -42, -28, -26, -38,
    +
    94 -40, -28, -38, -60, -73, -67, -61, -54, -29, -6, 14, 27, 37, 46, 53, 61, 44, 15,
    +
    95 -12, -23, -23, -26, -32, -42, -33, -14, -2, -5, -10, -9, -12, -17, -28, -41,
    +
    96 -52, -49, -38, -32, -26, -7, 17, 29, 35, 40, 47, 47, 43, 34, 19, 13, 17, 26, 25,
    +
    97 32, 51, 62, 65, 71, 87, 92, 91, 95, 90, 75, 50, 22, -17, -45, -48, -58, -85,
    +
    98 -108, -93, -68, -48, -36, -36, -41, -41, -27, -30, -44, -51, -47, -43, -38, -16,
    +
    99 7, 22, 32, 39, 40, 36, 39, 34, 16, -11, -28, -33, -31, -27, -30, -32, -26, -8,
    +
    100 2, -1, -9, -17, -19, -27, -35, -45, -43, -32, -29, -27, -17, 8, 21, 27, 30, 30,
    +
    101 26, 24, 29, 22, 14, 14, 17, 14, 16, 34, 44, 47, 48, 56, 65, 76, 86, 88, 89, 90,
    +
    102 94, 86, 60, 17, -24, -38, -47, -70, -100, -109, -96, -72, -45, -35, -36, -32,
    +
    103 -15, -16, -36, -48, -45, -41, -44, -38, -23, 1, 24, 32, 29, 28, 38, 35, 17, -8,
    +
    104 -30, -42, -43, -38, -44, -46, -37, -22, -12, -5, 3, -1, -11, -20, -21, -26, -32,
    +
    105 -29, -20, -11, -5, 11, 24, 23, 21, 28, 33, 19, 9, 7, 3, -3, 4, 18, 20, 24, 34,
    +
    106 44, 46, 54, 64, 65, 70, 79, 87, 89, 96, 102, 100, 88, 47, -9, -45, -47, -57,
    +
    107 -88, -110, -112, -96, -63, -23, -17, -32, -26, -8, -15, -40, -43, -38, -44, -47,
    +
    108 -29, -5, 14, 38, 47, 37, 25, 29, 30, 4, -32, -52, -50, -48, -52, -52, -41, -26,
    +
    109 -16, -1, 7, 3, -1, 1, -9, -32, -31, -16, -11, -15, 1, 23, 28, 30, 29, 20, 7, 8,
    +
    110 3, -17, -32, -29, -19, -11, 2, 12, 16, 25, 34, 36, 31, 34, 40, 43, 46, 59, 79,
    +
    111 89, 99, 107, 112, 109, 99, 63, -6, -61, -72, -71, -100, -127, -124, -103, -68,
    +
    112 -23, 1, -12, -14, 4, -9, -44, -48, -29, -33, -38, -19, 4, 24, 54, 70, 48, 27,
    +
    113 24, 16, -12, -36, -49, -56, -55, -50, -39, -23, -8, -2, 2, 5, -2, -3, 2, -6,
    +
    114 -23, -20, -7, -8, -1, 18, 30, 27, 26, 22, 3, -13, -22, -36, -51, -49, -37, -26,
    +
    115 -16, -3, 17, 32, 36, 29, 22, 20, 15, 13, 15, 28, 44, 61, 78, 95, 109, 118, 124,
    +
    116 119, 106, 92, 62, -3, -68, -84, -79, -95, -114, -109, -99, -76, -25, 3, -14,
    +
    117 -25, -11, -21, -50, -45, -25, -26, -25, -2, 14, 24, 48, 60, 40, 14, 8, -1, -25,
    +
    118 -46, -54, -55, -54, -41, -21, -5, 3, 12, 17, 8, 4, 11, 16, 2, -7, -5, -2, 1, 9,
    +
    119 12, 4, 6, 11, 3, -14, -24, -32, -43, -48, -50, -53, -41, -18, -4, -3, 6, 18, 21,
    +
    120 23, 27, 22, 11, 16, 26, 26, 25, 45, 68, 75, 76, 89, 101, 97, 96, 104, 99, 79,
    +
    121 62, 29, -40, -89, -84, -79, -110, -128, -106, -89, -70, -30, -5, -15, -10, 13,
    +
    122 -1, -32, -24, 0, -5, -13, 1, 17, 28, 44, 48, 29, 10, 4, -8, -30, -48, -51, -53,
    +
    123 -57, -53, -38, -14, 4, 14, 18, 23, 25, 23, 19, 12, 7, 6, 8, 5, 2, 7, 10, -1,
    +
    124 -16, -22, -30, -39, -40, -39, -42, -40, -32, -30, -26, -11, 0, 2, 5, 12, 13, 19,
    +
    125 27, 27, 22, 24, 27, 29, 34, 39, 38, 37, 47, 58, 62, 63, 76, 91, 93, 84, 82, 81,
    +
    126 70, 53, 14, -55, -106, -103, -97, -121, -128, -108, -96, -72, -20, 4, -9, 3, 21,
    +
    127 -6, -28, -3, 12, -2, 7, 27, 25, 35, 64, 58, 24, 8, -2, -29, -51, -60, -71, -75,
    +
    128 -64, -47, -33, -18, -8, 1, 8, 12, 14, 20, 20, 14, 14, 16, 18, 25, 33, 25, 12, 4,
    +
    129 -3, -15, -27, -41, -52, -55, -56, -59, -46, -20, -1, 5, 5, 3, 11, 30, 34, 22,
    +
    130 17, 19, 16, 11, 9, 9, 14, 22, 19, 13, 22, 34, 36, 37, 48, 56, 61, 67, 70, 70,
    +
    131 78, 93, 97, 81, 63, 38, -16, -79, -105, -106, -117, -126, -115, -105, -89, -37,
    +
    132 10, 9, 6, 30, 24, -11, -12, 7, -1, -5, 14, 18, 15, 42, 61, 35, 8, 2, -20, -59,
    +
    133 -78, -81, -88, -88, -73, -55, -37, -10, 18, 31, 31, 33, 40, 35, 20, 12, 14, 11,
    +
    134 10, 24, 33, 24, 19, 21, 11, -11, -25, -34, -49, -56, -50, -47, -48, -38, -17,
    +
    135 -2, 6, 11, 11, 11, 17, 21, 18, 14, 15, 19, 22, 18, 10, 7, 7, 3, 0, 1, 4, 10, 17,
    +
    136 22, 31, 45, 49, 44, 45, 50, 48, 52, 63, 63, 61, 71, 78, 72, 56, 14, -50, -88,
    +
    137 -89, -96, -117, -120, -108, -86, -44, -4, 6, 14, 36, 33, 1, -11, -2, -3, -5, 5,
    +
    138 6, 7, 28, 42, 24, 1, -10, -29, -55, -68, -76, -84, -76, -56, -41, -26, -1, 22,
    +
    139 29, 27, 26, 28, 29, 23, 13, 11, 20, 30, 32, 26, 22, 21, 17, 5, -12, -25, -31,
    +
    140 -36, -46, -51, -45, -35, -26, -13, -2, 0, 0, 5, 10, 12, 10, 5, 2, 5, 10, 12, 11,
    +
    141 9, 8, 7, 0, -5, -2, -3, -11, -3, 16, 19, 18, 31, 38, 33, 37, 46, 42, 41, 50, 51,
    +
    142 47, 60, 82, 87, 74, 62, 51, 19, -43, -93, -102, -103, -116, -117, -102, -88,
    +
    143 -53, -1, 17, 7, 22, 39, 15, -12, -5, 3, -1, 8, 20, 18, 33, 61, 56, 22, 1, -13,
    +
    144 -44, -73, -83, -91, -92, -72, -50, -44, -26, 14, 38, 33, 28, 30, 26, 19, 16, 14,
    +
    145 15, 22, 31, 36, 38, 37, 31, 17, -6, -27, -42, -52, -61, -62, -54, -42, -26, -11,
    +
    146 3, 18, 25, 19, 13, 10, 1, -10, -7, -3, -7, -3, 11, 16, 17, 23, 23, 11, -2, -12,
    +
    147 -22, -25, -21, -17, -10, 5, 16, 25, 38, 51, 57, 54, 46, 40, 46, 54, 54, 54, 63,
    +
    148 67, 64, 64, 57, 42, 32, -2, -75, -122, -107, -99, -125, -121, -89, -72, -32, 35,
    +
    149 48, 28, 57, 74, 21, -6, 18, 3, -26, 2, 18, -7, 8, 40, 13, -21, -16, -35, -77,
    +
    150 -84, -85, -107, -100, -65, -50, -35, 0, 27, 48, 68, 68, 53, 48, 40, 19, 7, 12,
    +
    151 13, 15, 17, 10, 6, 9, 2, -15, -28, -40, -54, -59, -56, -51, -34, -13, 2, 15, 30,
    +
    152 42, 48, 50, 44, 23, -5, -24, -28, -25, -24, -22, -14, -2, 17, 32, 28, 16, 12, 7,
    +
    153 -5, -8, -4, -5, -1, 15, 23, 21, 29, 39, 39, 33, 28, 26, 25, 20, 13, 18, 31, 39,
    +
    154 40, 40, 39, 39, 46, 48, 31, 10, 7, -9, -64, -103, -90, -78, -92, -82, -59, -57,
    +
    155 -29, 30, 35, 5, 25, 42, 3, -17, 1, -14, -30, 0, 9, -16, 2, 29, -4, -33, -16,
    +
    156 -22, -53, -54, -55, -81, -74, -31, -16, -18, 5, 30, 32, 35, 45, 43, 33, 35, 32,
    +
    157 14, 9, 16, 10, 3, 6, 4, 1, 0, -9, -21, -22, -25, -32, -34, -31, -24, -5, 11, 14,
    +
    158 25, 43, 46, 42, 44, 38, 22, 15, 3, -28, -46, -36, -31, -31, -23, -22, -26, -9,
    +
    159 13, 12, 5, 13, 14, 4, 4, 9, 6, 7, 17, 19, 13, 26, 44, 36, 20, 19, 24, 26, 24,
    +
    160 16, 12, 25, 36, 27, 20, 29, 37, 36, 35, 22, 5, 7, 4, -47, -88, -65, -52, -79,
    +
    161 -77, -54, -62, -38, 22, 19, -20, 11, 44, 0, -15, 22, 3, -38, -9, 7, -25, -5, 37,
    +
    162 4, -34, -10, -7, -38, -42, -43, -65, -64, -38, -32, -32, -7, 18, 22, 30, 43, 42,
    +
    163 42, 45, 34, 17, 18, 26, 17, 4, 5, 10, 14, 16, 6, -5, -9, -13, -17, -19, -21,
    +
    164 -26, -21, -8, -2, 9, 26, 29, 25, 31, 28, 16, 16, 14, 1, -9, -30, -64, -56, -20,
    +
    165 -20, -34, -22, -11, -2, 22, 31, 10, -3, 9, 12, -4, -8, 7, 14, 10, 8, 14, 23, 27,
    +
    166 18, 7, 7, 17, 24, 23, 13, 15, 35, 44, 41, 41, 49, 46, 42, 36, 27, 17, 18, -11,
    +
    167 -70, -84, -63, -72, -94, -79, -74, -74, -30, 10, -15, -24, 20, 27, 0, 10, 24, 0,
    +
    168 -7, 14, 6, -5, 28, 43, 6, -11, 8, -1, -28, -29, -36, -67, -61, -30, -38, -46,
    +
    169 -10, 13, 9, 28, 49, 39, 33, 40, 23, 9, 20, 20, 7, 10, 15, 9, 14, 21, 5, -13, -8,
    +
    170 -9, -25, -29, -27, -35, -33, -22, -14, -5, 13, 24, 21, 25, 37, 36, 25, 21, 12,
    +
    171 0, -3, -16, -54, -61, -28, -20, -32, -25, -19, -11, 20, 32, 6, -4, 12, 12, 1, 4,
    +
    172 1, -3, 14, 20, 5, 15, 38, 28, 11, 20, 29, 23, 22, 23, 14, 22, 45, 51, 39, 45,
    +
    173 57, 49, 43, 40, 25, 12, -4, -57, -86, -67, -62, -89, -86, -67, -66, -41, 6, 1,
    +
    174 -23, 14, 36, -3, -11, 16, -5, -27, -4, -1, -17, 10, 35, 8, -7, 19, 19, -11, -19,
    +
    175 -21, -46, -50, -27, -32, -45, -18, 9, 1, 10, 42, 41, 24, 30, 26, 8, 16, 24, 3,
    +
    176 -7, 8, 12, 6, 10, 10, -3, -12, -10, -16, -29, -33, -32, -35, -34, -22, -7, 3,
    +
    177 11, 16, 18, 21, 30, 31, 18, 7, 5, 3, -3, -20, -47, -43, -21, -15, -16, -16, -16,
    +
    178 0, 24, 26, 13, 4, 4, 2, 3, 2, -5, 3, 15, 9, 2, 20, 29, 20, 18, 21, 24, 32, 41,
    +
    179 34, 33, 42, 52, 55, 46, 40, 33, 29, 27, 26, 13, 6, -29, -74, -66, -46, -69, -89,
    +
    180 -74, -76, -69, -28, 6, -17, -17, 22, 21, -3, 14, 29, -3, -8, 13, 10, 3, 29, 24,
    +
    181 -11, -17, -1, -7, -31, -41, -49, -60, -52, -33, -39, -37, -6, 10, 4, 19, 47, 46,
    +
    182 35, 39, 34, 23, 37, 35, 9, 0, 12, 12, 6, 6, 2, -13, -22, -14, -20, -34, -36,
    +
    183 -32, -37, -31, -11, -2, 2, 12, 17, 20, 28, 28, 20, 10, 7, 3, -9, -23, -37, -40,
    +
    184 -21, -14, -25, -16, 0, 2, 13, 22, 11, 3, 10, 6, -7, -2, 3, -2, 6, 13, 2, 1, 16,
    +
    185 18, 13, 17, 29, 27, 28, 36, 37, 40, 46, 53, 48, 46, 44, 44, 39, 38, 35, 23, -1,
    +
    186 -55, -73, -61, -69, -100, -95, -86, -83, -52, -6, 0, -16, 13, 29, 7, 1, 26, 7,
    +
    187 -18, 4, 21, 9, 22, 48, 25, 1, 7, 10, -16, -36, -42, -58, -72, -56, -42, -54,
    +
    188 -36, -1, 3, 3, 27, 40, 29, 29, 35, 22, 13, 23, 19, 3, 14, 30, 19, 11, 22, 12,
    +
    189 -12, -15, -17, -38, -47, -38, -39, -42, -23, -6, -6, 1, 13, 15, 16, 24, 13, -5,
    +
    190 1, 13, -1, -18, -29, -38, -16, 11, 4, -18, -9, 12, 21, 19, 12, -4, -15, -8, -7,
    +
    191 -12, -10, -3, -1, -1, 9, 18, 24, 22, 20, 23, 36, 45, 47, 39, 28, 46, 62, 58, 56,
    +
    192 61, 52, 46, 53, 48, 30, 22, 10, -60, -104, -78, -65, -103, -107, -80, -78, -54,
    +
    193 8, 19, -24, 0, 39, 8, -22, 11, 15, -21, -7, 29, 15, 13, 57, 49, 2, 1, 14, -17,
    +
    194 -48, -46, -55, -79, -65, -46, -55, -42, 1, 13, 3, 19, 35, 26, 19, 29, 15, 3, 16,
    +
    195 23, 12, 18, 41, 32, 15, 20, 23, -8, -24, -24, -39, -48, -39, -34, -40, -21, 1,
    +
    196 5, 7, 19, 19, 14, 15, 11, 0, -6, 0, -7, -16, -14, -21, -21, 0, 6, -7, -6, 1, 4,
    +
    197 8, 10, 5, -4, -1, 2, 2, 2, 3, 4, 7, 9, 9, 11, 17, 17, 16, 24, 24, 21, 34, 37,
    +
    198 27, 40, 50, 47, 52, 64, 57, 43, 44, 44, 31, 21, -4, -70, -96, -70, -64, -94,
    +
    199 -88, -69, -67, -40, 8, 7, -20, 7, 22, -10, -20, 15, 12, -15, 0, 26, 22, 32, 60,
    +
    200 34, -7, -5, 4, -24, -49, -50, -66, -80, -58, -39, -48, -35, -2, 0, -7, 9, 27,
    +
    201 15, 12, 21, 17, 19, 40, 42, 21, 29, 47, 38, 22, 24, 9, -18, -20, -16, -34, -39,
    +
    202 -22, -22, -28, -16, 1, 3, 5, 8, 2, -1, 7, 8, -1, -1, -2, 1, 4, -6, -23, -10, 14,
    +
    203 11, -4, -4, 3, 8, 17, 9, -5, -9, -4, -8, -9, -7, -6, -3, 4, 4, 0, 16, 24, 13,
    +
    204 15, 28, 23, 23, 35, 29, 25, 45, 57, 46, 51, 61, 41, 32, 52, 48, 17, 9, -18, -81,
    +
    205 -95, -57, -63, -99, -80, -60, -62, -28, 23, 1, -26, 12, 22, -26, -28, 14, -4,
    +
    206 -24, 16, 41, 15, 33, 73, 35, -16, 3, 15, -40, -68, -51, -64, -81, -46, -15, -30,
    +
    207 -23, 8, 4, -14, 7, 25, 2, -6, 16, 20, 17, 42, 54, 35, 34, 48, 38, 14, 11, 3,
    +
    208 -23, -29, -13, -18, -34, -25, -12, -15, -14, 1, 2, -9, -9, -7, -8, -3, 2, -14,
    +
    209 -29, -16, 5, 4, 3, 14, 13, 8, 16, 18, 4, 0, 8, 0, -14, -8, -1, -10, -12, -4,
    +
    210 -12, -17, -8, -5, -11, 1, 20, 20, 19, 28, 31, 26, 38, 45, 41, 43, 50, 53, 57,
    +
    211 66, 61, 53, 46, 37, 25, 16, -24, -90, -104, -75, -72, -96, -78, -55, -56, -37,
    +
    212 9, 5, -25, -9, 0, -35, -46, 1, 12, -7, 17, 58, 46, 33, 56, 45, -3, -19, -7, -39,
    +
    213 -66, -44, -34, -58, -42, -1, -8, -27, -5, 11, -20, -27, -1, -3, -15, 11, 34, 26,
    +
    214 38, 63, 50, 26, 31, 26, 4, 6, 9, -17, -26, 0, 2, -18, -8, 7, -11, -20, -4, -8,
    +
    215 -23, -7, 5, -14, -20, -3, -2, -15, -10, 0, -3, -3, 4, 7, 13, 21, 17, 7, 10, 14,
    +
    216 7, -1, -7, -11, -13, -13, -15, -12, -4, -1, 2, 9, 13, 13, 21, 22, 13, 12, 20,
    +
    217 23, 28, 45, 51, 49, 57, 69, 62, 57, 57, 41, 24, 15, -17, -79, -93, -68, -66,
    +
    218 -89, -75, -58, -65, -50, -12, -16, -42, -22, -4, -32, -42, 4, 22, 6, 24, 63, 55,
    +
    219 35, 47, 42, 2, -14, -10, -36, -54, -27, -10, -33, -34, -5, -9, -35, -30, -18,
    +
    220 -34, -40, -17, -6, -7, 16, 44, 44, 40, 50, 51, 37, 24, 19, 13, 13, 14, 13, 13,
    +
    221 17, 13, 1, -1, -6, -19, -31, -34, -39, -41, -29, -16, -10, -9, -7, -11, -27,
    +
    222 -41, -31, -8, -1, -6, 4, 21, 24, 20, 24, 23, 7, -6, -14, -24, -22, -4, 1, -10,
    +
    223 -3, 15, 14, 9, 19, 28, 17, 8, 13, 21, 24, 28, 43, 54, 56, 54, 64, 70, 65, 61,
    +
    224 56, 44, 39, 44, 5, -68, -88, -54, -53, -88, -77, -53, -65, -62, -24, -24, -45,
    +
    225 -23, -12, -53, -62, -8, 15, 0, 21, 52, 38, 34, 56, 40, 3, 11, 11, -29, -35, -3,
    +
    226 -8, -35, -18, -6, -33, -50, -37, -40, -54, -39, -30, -33, -15, 17, 21, 20, 37,
    +
    227 33, 15, 16, 26, 14, 13, 31, 33, 17, 22, 40, 26, 3, -1, -4, -28, -34, -22, -23,
    +
    228 -32, -24, -14, -27, -35, -25, -15, -22, -20, -11, -8, 3, 20, 23, 18, 27, 30, 17,
    +
    229 8, 10, 9, 9, 19, 17, 2, 6, 21, 15, 7, 18, 21, 10, 8, 15, 13, 10, 8, 8, 20, 36,
    +
    230 43, 44, 51, 54, 51, 56, 57, 45, 37, 28, -28, -76, -60, -38, -62, -65, -31, -44,
    +
    231 -69, -53, -34, -62, -57, -28, -52, -84, -41, 15, 3, 15, 55, 41, 7, 34, 49, 4, 0,
    +
    232 34, 17, -25, -4, 27, 6, -9, -2, -21, -52, -47, -42, -61, -51, -20, -17, -19, 7,
    +
    233 20, 4, 7, 17, 9, 3, 20, 30, 24, 32, 48, 49, 38, 34, 22, 7, 3, 0, -12, -16, -8,
    +
    234 -14, -26, -20, -18, -42, -65, -60, -41, -35, -32, -19, -3, 6, 13, 19, 12, 14,
    +
    235 21, 13, -1, 4, 22, 28, 30, 33, 33, 22, 15, 24, 27, 21, 21, 26, 22, 18, 23, 23,
    +
    236 19, 15, 8, 9, 15, 27, 40, 52, 50, 41, 45, 53, 32, -39, -73, -55, -42, -58, -46,
    +
    237 -24, -37, -41, -25, -31, -67, -57, -33, -61, -89, -48, -1, -6, 9, 45, 30, 5, 22,
    +
    238 26, -10, -7, 22, 10, -7, 23, 43, 14, 7, 15, -18, -51, -32, -26, -54, -42, -7,
    +
    239 -9, -22, -5, 1, -13, -13, -7, -20, -17, 16, 30, 27, 40, 51, 35, 24, 27, 17, 4,
    +
    240 6, 12, 8, 5, 10, 10, 3, -13, -37, -62, -66, -55, -43, -30, -19, -9, 1, 5, 5, 9,
    +
    241 7, -10, -15, -2, 6, 12, 29, 41, 35, 27, 23, 18, 14, 21, 29, 35, 43, 44, 38, 38,
    +
    242 38, 25, 18, 20, 13, 6, 18, 30, 35, 42, 39, 29, 28, 11, -53, -86, -60, -45, -66,
    +
    243 -44, 0, -17, -40, -18, -18, -71, -72, -37, -51, -67, -30, -2, -6, 23, 46, 11,
    +
    244 -14, 5, 4, -22, -3, 24, 9, 0, 25, 30, 1, 3, 8, -24, -49, -30, -19, -28, -4, 18,
    +
    245 3, -12, -1, -3, -18, -15, -3, 0, -3, 6, 19, 27, 36, 35, 23, 14, 14, 6, 6, 13,
    +
    246 12, 12, 22, 21, -2, -23, -34, -39, -48, -37, -13, -8, -13, -2, 6, -4, -4, -7,
    +
    247 -16, -20, -10, -1, 10, 27, 33, 26, 14, 17, 18, 7, 2, 13, 23, 21, 35, 51, 48, 41,
    +
    248 40, 39, 32, 33, 26, 21, 27, 34, 27, 30, 43, 31, 16, 13, -27, -87, -75, -33, -52,
    +
    249 -62, -10, -8, -56, -50, -15, -51, -75, -41, -45, -73, -31, 16, -12, -1, 46, 23,
    +
    250 -22, 4, 18, -23, -17, 27, 16, -12, 19, 33, -7, -14, 9, -13, -48, -30, -16, -31,
    +
    251 -20, 6, -3, -18, -3, -6, -27, -14, 5, -10, -8, 27, 36, 24, 33, 38, 20, 12, 20,
    +
    252 10, 3, 16, 26, 19, 18, 19, 1, -31, -53, -39, -26, -26, -17, 3, 1, -8, 1, 2, -6,
    +
    253 -14, -16, -17, -6, 5, 9, 16, 27, 24, 15, 14, 15, 13, 21, 27, 29, 40, 50, 46, 41,
    +
    254 46, 44, 36, 34, 36, 35, 44, 45, 38, 36, 42, 36, 25, -14, -75, -80, -45, -45,
    +
    255 -65, -26, -12, -54, -65, -30, -49, -91, -61, -43, -72, -52, 9, -2, -15, 30, 28,
    +
    256 -21, -13, 21, -1, -13, 23, 27, 7, 26, 45, 3, -24, -4, -17, -49, -32, -8, -30,
    +
    257 -34, -1, 1, -19, -11, -7, -28, -27, -9, -11, -1, 24, 32, 22, 27, 36, 29, 27, 30,
    +
    258 25, 21, 30, 33, 22, 18, 14, -3, -29, -38, -23, -15, -17, -7, 3, -7, -7, 1, -10,
    +
    259 -18, -16, -20, -21, 0, 13, 7, 5, 10, 10, 4, 4, 9, 15, 20, 21, 28, 40, 41, 37,
    +
    260 40, 33, 24, 34, 44, 39, 44, 60, 54, 41, 39, 46, 41, 30, -19, -72, -64, -36, -47,
    +
    261 -59, -22, -30, -66, -61, -31, -58, -85, -60, -63, -77, -43, -3, -21, -13, 22, 3,
    +
    262 -23, 3, 24, 4, 7, 28, 15, 7, 34, 42, 5, -6, 0, -25, -38, -10, -3, -28, -22, -3,
    +
    263 -16, -23, -11, -21, -39, -28, -14, -16, 8, 32, 25, 16, 23, 24, 21, 28, 31, 29,
    +
    264 27, 29, 33, 31, 19, 7, -3, -31, -50, -25, -3, -13, -12, 5, -12, -30, -17, -12,
    +
    265 -22, -28, -25, -21, -8, 5, 8, 10, 8, 8, 7, 14, 17, 16, 22, 28, 35, 38, 42, 40,
    +
    266 41, 35, 31, 35, 35, 30, 38, 57, 52, 44, 42, 44, 32, 24, -23, -75, -59, -21, -37,
    +
    267 -53, -5, -16, -63, -54, -13, -52, -83, -51, -54, -73, -29, 14, -16, -12, 24, -3,
    +
    268 -33, 3, 21, -5, 4, 33, 11, 3, 36, 37, -5, -9, 3, -26, -31, 0, 1, -28, -17, -2,
    +
    269 -20, -21, -6, -18, -36, -24, -16, -19, 0, 19, 16, 9, 8, 8, 11, 18, 19, 26, 25,
    +
    270 23, 26, 26, 18, 10, 2, -18, -27, -9, 5, -1, -3, -1, -13, -18, -12, -14, -18,
    +
    271 -20, -23, -17, 0, 6, 2, -4, -7, -6, 1, 9, 18, 23, 22, 28, 36, 42, 41, 41, 38,
    +
    272 31, 33, 40, 45, 43, 50, 53, 46, 44, 38, 36, 32, 28, -35, -78, -50, -20, -48,
    +
    273 -51, -7, -44, -83, -57, -23, -66, -71, -42, -63, -71, -13, 17, -22, -5, 28, -5,
    +
    274 -27, 18, 30, 2, 17, 37, 11, 11, 45, 34, -9, -4, -1, -35, -30, 5, -4, -28, -13,
    +
    275 -16, -35, -20, -6, -29, -37, -21, -24, -20, 9, 21, 13, 13, 11, 11, 20, 24, 21,
    +
    276 27, 30, 21, 28, 35, 27, 14, 6, -11, -29, -11, 8, 5, -7, -7, -15, -21, -11, -7,
    +
    277 -12, -22, -23, -19, -12, -1, 7, 4, -5, -2, 3, 0, 6, 16, 23, 23, 30, 37, 36, 37,
    +
    278 39, 37, 33, 36, 39, 35, 47, 52, 48, 45, 46, 38, 31, 25, -42, -79, -46, -18, -52,
    +
    279 -39, -5, -47, -78, -48, -34, -76, -66, -56, -77, -63, -8, -4, -24, 4, 12, -21,
    +
    280 -13, 23, 14, 6, 29, 29, 11, 31, 47, 24, 5, 7, -9, -28, -11, 0, -12, -13, -9,
    +
    281 -27, -33, -17, -25, -39, -33, -29, -29, -10, 7, 3, 9, 16, 7, 10, 25, 26, 23, 32,
    +
    282 31, 29, 36, 34, 21, 17, 12, -12, -19, 3, 13, 0, -6, -5, -14, -16, -7, -12, -22,
    +
    283 -24, -23, -17, -1, 7, 2, -4, -5, -3, 4, 11, 14, 15, 25, 32, 33, 39, 41, 38, 31,
    +
    284 33, 32, 32, 34, 36, 47, 44, 45, 41, 38, 30, 34, 2, -63, -63, -30, -34, -55, -14,
    +
    285 -20, -64, -59, -31, -55, -75, -49, -64, -79, -39, -2, -20, -14, 13, -6, -24, 1,
    +
    286 16, 7, 19, 31, 18, 25, 42, 33, 20, 18, 2, -19, -11, -3, -9, -11, -9, -20, -26,
    +
    287 -16, -20, -33, -33, -34, -38, -20, -3, -5, 0, 12, 6, 4, 18, 20, 21, 33, 35, 25,
    +
    288 34, 42, 29, 20, 24, 12, -12, -14, 3, 8, 0, -3, -3, -7, -9, -8, -9, -12, -19,
    +
    289 -20, -16, -7, 1, 4, -3, -6, 3, 9, 8, 10, 21, 26, 24, 27, 33, 37, 33, 31, 33, 34,
    +
    290 37, 32, 37, 40, 43, 45, 42, 36, 35, 32, -31, -71, -43, -16, -50, -48, -14, -41,
    +
    291 -68, -49, -34, -68, -67, -59, -72, -65, -21, -5, -17, -3, 2, -11, -8, 10, 10,
    +
    292 10, 18, 16, 21, 38, 36, 24, 19, 5, -16, -13, -6, -9, -9, -5, -15, -26, -19, -14,
    +
    293 -24, -36, -36, -34, -28, -13, -2, 3, 6, 4, 2, 9, 13, 17, 21, 23, 24, 34, 38, 31,
    +
    294 29, 21, 10, 3, 1, -2, 3, 3, -6, -7, -1, 1, -5, -8, -14, -18, -21, -15, -7, -5,
    +
    295 -6, -3, 0, -2, 4, 13, 10, 6, 17, 28, 24, 27, 37, 36, 33, 37, 35, 31, 44, 45, 38,
    +
    296 40, 44, 43, 38, 39, 36, 33, -20, -67, -47, -11, -33, -52, -21, -37, -69, -59,
    +
    297 -28, -54, -70, -60, -70, -74, -38, -5, -19, -18, -3, -7, -12, 4, 14, 7, 7, 11,
    +
    298 20, 34, 33, 26, 20, 11, -8, -8, 1, -6, -7, -5, -12, -24, -13, -5, -23, -33, -30,
    +
    299 -29, -30, -10, 0, -6, -1, 7, 6, 5, 17, 18, 12, 15, 21, 29, 32, 31, 25, 18, 10,
    +
    300 3, 5, 4, 5, -1, -8, -10, -5, -2, -5, -4, -10, -16, -21, -14, -5, -5, -9, -7, -1,
    +
    301 -2, 5, 16, 13, 4, 13, 23, 24, 25, 31, 26, 25, 31, 33, 33, 34, 37, 29, 37, 37,
    +
    302 37, 36, 40, 33, 24, 8, -41, -53, -29, -19, -49, -36, -25, -53, -61, -34, -35,
    +
    303 -71, -69, -62, -67, -51, -19, -17, -25, -9, -4, -12, -4, 10, 10, 6, 13, 19, 32,
    +
    304 35, 24, 20, 18, 2, -7, 9, 3, -8, -2, -4, -21, -21, -6, -19, -29, -29, -27, -26,
    +
    305 -15, -3, -2, -1, -5, 1, 9, 13, 10, 12, 14, 14, 24, 34, 32, 27, 24, 14, 7, 13,
    +
    306 11, 4, 6, 3, -7, -12, -3, -1, -4, -15, -22, -15, -14, -15, -11, -8, -17, -12,
    +
    307 -2, -2, 3, 11, 11, 11, 21, 29, 29, 29, 28, 25, 30, 37, 42, 40, 36, 30, 32, 39,
    +
    308 36, 36, 32, 30, 24, 31, -3, -53, -51, -21, -30, -55, -30, -28, -52, -55, -29,
    +
    309 -44, -65, -56, -54, -57, -40, -8, -11, -15, -6, -3, -7, -1, 5, 3, 6, 9, 17, 30,
    +
    310 28, 20, 19, 12, -4, -1, 9, -3, -6, 1, -2, -14, -10, -8, -18, -22, -24, -22, -22,
    +
    311 -16, -7, 1, -2, -6, 1, 4, 0, -1, 9, 10, 8, 20, 32, 27, 22, 25, 15, 4, 6, 9, 3,
    +
    312 2, 7, 5, -3, -6, -3, -5, -15, -21, -17, -17, -17, -12, -6, -12, -14, -5, 1, -2,
    +
    313 1, 9, 9, 13, 24, 30, 28, 31, 34, 36, 37, 38, 38, 37, 33, 35, 47, 46, 38, 34, 31,
    +
    314 29, 33, -2, -52, -47, -12, -25, -50, -30, -26, -51, -55, -34, -48, -60, -54,
    +
    315 -57, -61, -34, -9, -15, -20, -17, -10, -8, -7, -4, 7, 8, 4, 17, 35, 29, 17, 20,
    +
    316 12, -6, -1, 12, 5, -3, 1, 1, -7, -7, -7, -16, -23, -24, -25, -22, -11, -8, -9,
    +
    317 -3, 0, -4, 0, 4, 1, 2, 7, 6, 17, 34, 33, 20, 18, 19, 8, 4, 5, 3, -1, 6, 10, 6,
    +
    318 5, 2, -4, -12, -17, -17, -12, -11, -11, -8, -8, -8, -6, -3, -3, -3, 0, 5, 11,
    +
    319 17, 19, 25, 31, 30, 29, 35, 37, 38, 39, 36, 42, 51, 47, 39, 42, 42, 31, 31, 23,
    +
    320 -21, -46, -22, -6, -34, -38, -25, -36, -54, -45, -41, -61, -67, -64, -63, -55,
    +
    321 -28, -16, -23, -25, -22, -12, -5, -9, -9, 8, 14, 9, 23, 35, 28, 19, 16, 8, 3,
    +
    322 12, 15, 6, -1, 3, 4, 2, -5, -13, -14, -19, -27, -25, -14, -11, -14, -13, -8, 0,
    +
    323 1, -3, -1, 3, 3, 1, 7, 17, 25, 27, 23, 17, 18, 18, 0, -6, 6, 11, 3, 3, 6, 4, 1,
    +
    324 -8, -15, -19, -18, -19, -16, -9, -7, -8, -11, -9, -8, -8, -7, -3, 5, 12, 17, 19,
    +
    325 28, 33, 25, 18, 23, 29, 33, 40, 45, 43, 42, 41, 41, 41, 33, 28, 33, 33, -7, -40,
    +
    326 -24, 3, -20, -49, -31, -25, -39, -46, -36, -50, -60, -56, -54, -57, -46, -21,
    +
    327 -19, -26, -23, -13, -4, -2, -6, -5, 8, 11, 12, 24, 28, 22, 16, 16, 10, 9, 14,
    +
    328 11, 4, 2, 9, 6, 1, -3, -8, -13, -18, -20, -17, -10, -11, -17, -16, -8, -1, 1,
    +
    329 -2, -6, -3, 4, 6, 9, 15, 23, 24, 17, 12, 16, 15, 6, 1, -2, 0, 9, 16, 3, -8, -5,
    +
    330 -5, -14, -19, -13, -15, -19, -17, -12, -10, -3, -2, -9, -12, -7, -1, 2, 9, 16,
    +
    331 19, 21, 22, 23, 31, 32, 23, 25, 40, 43, 32, 34, 44, 47, 39, 31, 32, 36, 32, -7,
    +
    332 -40, -28, 1, -18, -45, -32, -21, -32, -43, -36, -47, -54, -54, -54, -56, -45,
    +
    333 -23, -19, -20, -24, -19, -8, -5, -11, -10, 5, 8, 11, 21, 29, 29, 25, 21, 11, 12,
    +
    334 20, 14, 5, 8, 16, 11, 7, -1, -11, -13, -13, -20, -27, -21, -14, -14, -18, -16,
    +
    335 -8, -9, -15, -16, -8, -2, 0, 6, 14, 21, 22, 21, 20, 19, 19, 9, -4, -1, 10, 12,
    +
    336 7, 6, 4, 1, -4, -10, -10, -13, -20, -22, -15, -12, -9, -2, -2, -5, -9, -7, -4,
    +
    337 -4, 1, 11, 18, 21, 28, 29, 27, 31, 28, 23, 27, 35, 35, 32, 41, 48, 48, 39, 31,
    +
    338 30, 34, 21, -25, -40, -14, 1, -31, -39, -18, -21, -40, -43, -39, -59, -63, -56,
    +
    339 -56, -59, -43, -24, -24, -29, -29, -18, -10, -16, -21, -8, 9, 9, 12, 25, 31, 32,
    +
    340 32, 24, 13, 19, 27, 19, 7, 9, 17, 12, 4, 0, -4, -12, -19, -23, -24, -23, -22,
    +
    341 -19, -15, -13, -10, -13, -13, -9, -5, -5, -1, 9, 16, 20, 22, 23, 24, 22, 17, 14,
    +
    342 12, -1, -8, 3, 15, 10, 0, -1, -1, 0, -7, -16, -20, -17, -15, -18, -16, -8, -2,
    +
    343 -3, -5, -6, -5, -1, -2, 0, 9, 19, 22, 25, 29, 32, 33, 28, 23, 27, 31, 31, 35,
    +
    344 43, 41, 38, 40, 37, 30, 30, 19, -22, -42, -16, 5, -21, -40, -23, -16, -32, -43,
    +
    345 -43, -53, -58, -56, -57, -59, -45, -30, -29, -31, -30, -26, -17, -13, -21, -17,
    +
    346 5, 11, 5, 17, 35, 34, 25, 24, 17, 12, 20, 21, 8, 6, 16, 15, 9, 7, 0, -8, -12,
    +
    347 -20, -28, -21, -15, -19, -18, -8, -7, -13, -13, -10, -9, -6, -2, 1, 8, 16, 20,
    +
    348 22, 22, 19, 18, 17, 12, 8, 7, 1, -6, 1, 12, 9, -5, -6, -3, -7, -15, -16, -14,
    +
    349 -16, -19, -15, -9, -8, -7, -4, -3, -4, -1, 4, 8, 10, 15, 22, 28, 30, 30, 33, 34,
    +
    350 29, 25, 32, 40, 39, 36, 39, 43, 40, 36, 35, 36, 22, -13, -32, -11, 7, -19, -37,
    +
    351 -22, -11, -29, -38, -36, -50, -60, -54, -50, -59, -50, -31, -29, -33, -27, -22,
    +
    352 -21, -18, -20, -20, -7, 4, 3, 7, 21, 24, 16, 13, 14, 15, 14, 11, 6, 8, 17, 16,
    +
    353 8, 5, 4, -1, -8, -14, -16, -10, -7, -10, -13, -8, -7, -10, -9, -10, -13, -11,
    +
    354 -3, 3, 6, 12, 15, 14, 13, 16, 18, 11, 5, 7, 13, 6, -7, -6, 6, 9, 0, -5, -4, -3,
    +
    355 -6, -10, -13, -15, -14, -13, -8, -6, -5, -3, -1, -2, -2, 3, 5, 7, 12, 19, 24,
    +
    356 27, 28, 27, 26, 26, 28, 32, 33, 33, 35, 43, 42, 37, 36, 37, 31, 29, 20, -11,
    +
    357 -28, -7, 11, -13, -31, -20, -12, -29, -39, -39, -49, -56, -53, -53, -60, -47,
    +
    358 -29, -28, -36, -36, -29, -24, -25, -32, -28, -11, 0, 0, 2, 13, 17, 12, 13, 16,
    +
    359 16, 15, 17, 16, 17, 21, 20, 17, 13, 6, 0, 0, 3, -2, -6, -2, -1, -8, -13, -6, -4,
    +
    360 -12, -19, -16, -8, -5, -4, -1, 5, 5, 4, 6, 6, 4, 4, 5, 1, 2, 8, 8, -1, -6, 4,
    +
    361 10, 3, -7, -7, -1, -2, -8, -7, 1, 0, -7, -7, -3, -1, 0, 3, 3, 3, 7, 12, 16, 18,
    +
    362 22, 21, 22, 26, 25, 23, 27, 33, 30, 32, 37, 36, 36, 37, 37, 33, 34, 19, -13,
    +
    363 -24, -1, 16, -8, -26, -18, -8, -18, -32, -37, -44, -52, -57, -55, -52, -46, -38,
    +
    364 -36, -38, -38, -33, -31, -34, -37, -34, -21, -10, -6, -3, 7, 16, 11, 7, 11, 17,
    +
    365 18, 19, 19, 19, 23, 28, 26, 15, 9, 10, 10, 6, 5, 5, 6, 4, -1, -4, -4, -6, -13,
    +
    366 -14, -12, -10, -9, -6, -3, 0, 0, -2, -3, 0, 1, -1, -2, -2, -4, -4, 3, 4, -3, -2,
    +
    367 8, 9, -2, -6, -2, 0, -3, -5, 0, 3, 3, 1, 2, 6, 6, 5, 7, 12, 14, 13, 15, 19, 21,
    +
    368 23, 23, 23, 24, 26, 28, 28, 30, 30, 31, 33, 32, 29, 28, 30, 7, -19, -20, 3, 5,
    +
    369 -17, -22, -12, -10, -28, -36, -37, -41, -49, -54, -53, -46, -37, -36, -43, -43,
    +
    370 -38, -37, -36, -32, -29, -27, -15, -3, -4, -6, 5, 13, 6, 5, 14, 19, 19, 22, 25,
    +
    371 25, 26, 26, 20, 16, 17, 17, 11, 10, 12, 11, 11, 9, 2, -2, 0, -2, -12, -14, -9,
    +
    372 -6, -7, -7, -5, -5, -3, -2, -1, -2, -2, -4, -8, -6, -2, 3, 3, -2, -4, 3, 10, 6,
    +
    373 -1, -2, 2, 3, 4, 5, 5, 2, 0, 1, 5, 8, 8, 5, 5, 9, 14, 17, 15, 11, 14, 17, 16,
    +
    374 19, 23, 26, 22, 25, 30, 31, 31, 30, 31, 29, 29, 11, -15, -19, 5, 16, -10, -26,
    +
    375 -16, -4, -17, -33, -38, -39, -41, -46, -50, -48, -38, -35, -41, -42, -37, -35,
    +
    376 -35, -36, -35, -33, -20, -10, -8, -6, 1, 3, -2, 4, 13, 14, 11, 16, 22, 24, 25,
    +
    377 26, 21, 16, 15, 14, 11, 11, 15, 13, 11, 9, 6, -1, -3, -3, -8, -12, -9, -5, -7,
    +
    378 -7, -4, -3, -6, -8, -8, -7, -2, 4, 2, -1, 1, 3, 0, -1, 5, 6, 0, -1, 8, 13, 8, 0,
    +
    379 0, 4, 5, 0, -4, 0, 4, 2, 3, 7, 6, 3, 1, 3, 6, 10, 13, 13, 12, 14, 17, 21, 24,
    +
    380 21, 18, 24, 32, 32, 30, 31, 33, 31, 27, 8, -13, -11, 10, 11, -12, -21, -8, -3,
    +
    381 -18, -33, -40, -43, -44, -44, -46, -45, -40, -39, -43, -44, -39, -33, -31, -33,
    +
    382 -32, -26, -15, -9, -8, -6, 1, 6, 7, 8, 11, 16, 23, 25, 22, 24, 31, 32, 22, 15,
    +
    383 16, 19, 17, 15, 15, 14, 10, 6, 1, -3, -5, -8, -10, -13, -15, -13, -8, -9, -15,
    +
    384 -15, -8, -6, -10, -12, -8, 0, 2, 0, -1, 4, 7, 0, -5, 4, 12, 6, -5, -2, 9, 12, 5,
    +
    385 2, 4, 1, -1, -2, -2, -3, -3, -2, -4, -3, 0, 4, 3, 2, 6, 8, 8, 9, 11, 12, 15, 21,
    +
    386 26, 27, 26, 28, 31, 29, 28, 29, 30, 32, 33, 22, -2, -6, 10, 19, -1, -19, -14,
    +
    387 -5, -12, -26, -32, -35, -40, -44, -48, -45, -39, -36, -43, -46, -39, -34, -37,
    +
    388 -39, -35, -29, -22, -10, -2, -3, -4, 1, 5, 8, 14, 18, 19, 22, 26, 30, 32, 30,
    +
    389 22, 16, 18, 20, 18, 16, 15, 10, 6, 6, 3, -4, -9, -10, -11, -12, -14, -16, -14,
    +
    390 -13, -13, -13, -9, -8, -11, -12, -8, -2, 1, 3, 4, 7, 8, 8, 8, 6, 2, 1, 7, 12, 7,
    +
    391 -1, 3, 9, 4, -7, -10, -5, -5, -11, -11, -5, -3, -7, -9, -7, -6, -4, -2, -3, -2,
    +
    392 3, 10, 13, 14, 13, 15, 23, 29, 28, 24, 29, 36, 38, 34, 33, 38, 39, 36, 33, 35,
    +
    393 19, -7, -12, 10, 15, -10, -21, -11, -7, -25, -38, -40, -44, -48, -47, -43, -42,
    +
    394 -41, -42, -40, -35, -34, -36, -33, -25, -22, -21, -9, 3, 4, 2, 10, 15, 12, 12,
    +
    395 19, 22, 22, 21, 22, 25, 27, 25, 17, 13, 10, 7, 2, -1, -1, -2, -1, -5, -11, -13,
    +
    396 -12, -16, -22, -22, -20, -16, -12, -9, -9, -6, -1, -2, -6, -5, 1, 8, 10, 12, 13,
    +
    397 15, 17, 16, 15, 16, 19, 16, 11, 5, 4, 7, 5, -3, -9, -5, -4, -10, -20, -21, -13,
    +
    398 -10, -17, -22, -18, -13, -13, -15, -13, -10, -6, -3, 0, 4, 11, 16, 18, 19, 23,
    +
    399 27, 29, 30, 32, 36, 39, 40, 41, 42, 39, 41, 45, 43, 32, 28, 19, -4, -16, -3, 6,
    +
    400 -13, -29, -22, -12, -21, -35, -46, -54, -54, -49, -46, -47, -45, -41, -37, -32,
    +
    401 -30, -32, -29, -21, -17, -17, -8, 5, 9, 9, 12, 19, 18, 15, 17, 19, 18, 18, 19,
    +
    402 21, 19, 14, 9, 6, 5, 2, -3, -5, -6, -10, -12, -11, -13, -17, -20, -17, -14, -17,
    +
    403 -18, -12, -5, -3, -2, -1, 1, 2, 5, 9, 12, 14, 17, 21, 21, 20, 22, 24, 21, 20,
    +
    404 19, 17, 14, 14, 12, 4, -2, -9, -15, -16, -10, -12, -21, -25, -22, -20, -27, -34,
    +
    405 -32, -26, -26, -26, -19, -12, -10, -10, -6, -2, 1, 5, 9, 13, 20, 25, 30, 31, 31,
    +
    406 34, 39, 39, 34, 38, 46, 51, 49, 41, 38, 41, 42, 36, 27, 14, -9, -18, -6, 3, -15,
    +
    407 -31, -24, -18, -32, -48, -50, -53, -57, -56, -52, -49, -43, -39, -40, -40, -31,
    +
    408 -24, -22, -22, -19, -14, -1, 13, 13, 11, 14, 18, 16, 15, 21, 24, 22, 18, 20, 20,
    +
    409 18, 12, 5, -2, -5, -5, -7, -9, -11, -15, -15, -13, -16, -21, -20, -15, -14, -15,
    +
    410 -11, -4, -2, -3, -1, 3, 9, 14, 14, 15, 21, 27, 26, 23, 24, 25, 23, 22, 20, 18,
    +
    411 18, 18, 12, 5, 4, 3, -1, -7, -11, -13, -21, -36, -40, -23, -17, -35, -46, -32,
    +
    412 -21, -30, -39, -32, -19, -15, -18, -15, -6, 1, 0, 3, 9, 13, 19, 27, 30, 32, 37,
    +
    413 44, 47, 43, 39, 41, 44, 42, 41, 45, 48, 41, 34, 37, 39, 31, 21, 20, 11, -17,
    +
    414 -33, -18, -5, -27, -44, -32, -23, -40, -56, -54, -55, -59, -54, -47, -48, -45,
    +
    415 -33, -27, -31, -30, -22, -14, -12, -10, -2, 11, 20, 17, 15, 20, 25, 19, 15, 21,
    +
    416 23, 18, 17, 19, 16, 11, 8, 4, -5, -12, -13, -14, -16, -16, -14, -12, -13, -18,
    +
    417 -20, -19, -18, -18, -13, -4, 0, 3, 8, 10, 9, 12, 13, 10, 12, 21, 25, 24, 23, 23,
    +
    418 20, 16, 15, 13, 8, 5, 8, 6, 1, 0, 0, -8, -17, -18, -17, -18, -24, -38, -42, -25,
    +
    419 -9, -20, -33, -22, -7, -9, -21, -23, -12, 2, 4, 2, 6, 13, 17, 21, 20, 18, 21,
    +
    420 26, 26, 28, 37, 41, 37, 32, 30, 34, 40, 36, 25, 27, 38, 38, 27, 19, 21, 25, 25,
    +
    421 19, 8, -12, -30, -24, -10, -19, -40, -34, -17, -26, -47, -48, -43, -49, -52,
    +
    422 -46, -42, -40, -32, -25, -25, -24, -18, -13, -12, -11, -7, 4, 16, 18, 14, 17,
    +
    423 23, 20, 14, 15, 17, 14, 11, 16, 17, 13, 7, 3, -4, -10, -11, -14, -19, -21, -17,
    +
    424 -14, -12, -13, -17, -19, -13, -9, -12, -12, -4, 4, 6, 7, 11, 14, 14, 16, 18, 18,
    +
    425 19, 22, 23, 21, 19, 20, 19, 15, 9, 6, 6, 6, 1, -4, -5, -8, -10, -13, -19, -21,
    +
    426 -20, -26, -39, -31, -14, -10, -19, -16, -9, -8, -12, -16, -14, -5, 7, 9, 9, 11,
    +
    427 16, 19, 19, 14, 13, 20, 25, 24, 25, 30, 32, 30, 27, 28, 29, 25, 23, 24, 22, 18,
    +
    428 20, 27, 25, 21, 17, 13, 9, 6, -9, -36, -39, -18, -10, -29, -33, -24, -28, -42,
    +
    429 -43, -43, -55, -53, -37, -32, -36, -26, -13, -19, -25, -15, -8, -12, -10, 4, 14,
    +
    430 17, 22, 23, 20, 17, 18, 16, 14, 14, 11, 9, 13, 14, 5, -2, -5, -12, -20, -19,
    +
    431 -16, -18, -21, -18, -15, -14, -14, -16, -16, -13, -9, -7, -4, 3, 9, 12, 15, 18,
    +
    432 16, 17, 23, 21, 17, 23, 31, 26, 18, 20, 22, 15, 8, 5, 2, 1, 0, -2, -8, -13, -16,
    +
    433 -19, -27, -38, -36, -21, -13, -22, -25, -17, -10, -12, -16, -18, -16, -9, 0, 8,
    +
    434 13, 16, 19, 21, 19, 15, 15, 18, 20, 23, 30, 33, 30, 27, 27, 27, 24, 18, 17, 22,
    +
    435 28, 26, 21, 22, 22, 18, 12, 9, 7, 9, 11, -7, -34, -36, -15, -13, -34, -39, -25,
    +
    436 -27, -42, -42, -36, -42, -44, -33, -31, -40, -29, -8, -10, -22, -12, 3, -1, -7,
    +
    437 1, 12, 15, 17, 18, 17, 18, 21, 19, 12, 6, 6, 6, 1, -2, -5, -5, -7, -13, -20,
    +
    438 -20, -17, -21, -25, -22, -16, -16, -15, -14, -15, -13, -7, -4, -2, 5, 12, 15,
    +
    439 17, 20, 20, 20, 22, 23, 23, 22, 21, 21, 20, 18, 15, 10, 5, 1, -4, -8, -9, -12,
    +
    440 -19, -22, -24, -31, -39, -33, -25, -25, -27, -21, -14, -13, -15, -17, -15, -8,
    +
    441 2, 6, 9, 15, 21, 25, 24, 21, 20, 25, 27, 26, 28, 35, 37, 34, 32, 32, 30, 26, 23,
    +
    442 22, 24, 25, 27, 29, 27, 20, 16, 16, 11, 5, 8, 11, -9, -35, -33, -13, -14, -36,
    +
    443 -38, -27, -31, -44, -42, -41, -48, -45, -31, -33, -43, -31, -13, -15, -22, -11,
    +
    444 -2, -7, -7, 7, 13, 9, 13, 19, 15, 12, 20, 20, 7, 3, 8, 7, 1, 2, 2, -5, -10, -13,
    +
    445 -19, -20, -15, -17, -21, -16, -12, -12, -12, -7, -7, -6, -2, 1, 1, 5, 13, 15,
    +
    446 14, 16, 20, 23, 23, 23, 22, 21, 19, 17, 15, 14, 11, 7, 2, -3, -6, -7, -10, -17,
    +
    447 -25, -26, -29, -33, -26, -16, -19, -28, -24, -15, -15, -18, -13, -7, -5, 0, 7,
    +
    448 10, 11, 15, 19, 19, 17, 20, 26, 30, 28, 29, 32, 33, 32, 31, 30, 30, 31, 29, 25,
    +
    449 28, 31, 25, 21, 28, 31, 22, 15, 16, 15, 11, 8, -8, -32, -34, -16, -17, -39, -41,
    +
    450 -26, -28, -44, -45, -41, -51, -53, -39, -38, -47, -35, -11, -11, -23, -14, -2,
    +
    451 -7, -10, 4, 12, 9, 13, 22, 20, 15, 19, 20, 8, 1, 9, 11, 5, 2, 4, -1, -7, -10,
    +
    452 -15, -20, -20, -19, -23, -23, -16, -11, -10, -9, -8, -8, -6, -3, -2, 1, 7, 13,
    +
    453 15, 15, 16, 18, 22, 22, 19, 16, 16, 17, 16, 14, 10, 4, -1, -2, -5, -14, -22,
    +
    454 -22, -22, -24, -24, -22, -23, -26, -23, -19, -19, -21, -18, -13, -8, -4, 0, 3,
    +
    455 6, 10, 12, 12, 13, 17, 23, 25, 27, 30, 31, 30, 31, 32, 30, 30, 31, 32, 31, 32,
    +
    456 32, 30, 28, 27, 26, 22, 24, 26, 26, 23, 21, 10, -13, -31, -30, -22, -29, -37,
    +
    457 -32, -25, -33, -40, -41, -47, -57, -54, -45, -44, -42, -28, -16, -18, -18, -9,
    +
    458 -5, -11, -9, 2, 7, 7, 14, 21, 19, 19, 21, 16, 5, 2, 5, 5, 3, 3, 1, -4, -6, -8,
    +
    459 -14, -21, -21, -20, -21, -21, -14, -8, -7, -9, -8, -6, -4, -2, 1, 7, 13, 16, 16,
    +
    460 18, 22, 22, 18, 16, 16, 16, 15, 14, 15, 14, 10, 3, -4, -9, -13, -18, -23, -31,
    +
    461 -32, -21, -12, -19, -30, -24, -14, -17, -25, -20, -11, -7, -3, 2, 5, 7, 14, 19,
    +
    462 17, 14, 17, 20, 21, 24, 30, 35, 34, 33, 32, 33, 32, 30, 28, 29, 32, 31, 31, 33,
    +
    463 34, 30, 25, 22, 25, 26, 19, 16, 17, 7, -25, -43, -29, -13, -30, -48, -37, -26,
    +
    464 -38, -50, -45, -49, -59, -55, -41, -46, -49, -27, -6, -16, -25, -10, 0, -10,
    +
    465 -11, 6, 14, 10, 14, 21, 19, 19, 25, 19, 1, -3, 7, 8, 0, -1, 2, -1, -7, -10, -17,
    +
    466 -21, -17, -13, -17, -19, -11, -6, -8, -8, -6, -5, -4, 2, 8, 10, 15, 20, 19, 15,
    +
    467 17, 19, 15, 12, 13, 15, 15, 16, 14, 9, 3, 3, -3, -18, -28, -25, -20, -21, -22,
    +
    468 -19, -15, -15, -17, -19, -20, -19, -14, -10, -6, -1, 3, 6, 9, 12, 13, 12, 10,
    +
    469 15, 20, 25, 25, 25, 27, 32, 34, 33, 30, 30, 34, 35, 33, 29, 31, 31, 30, 31, 33,
    +
    470 29, 22, 23, 27, 22, 11, 7, -8, -36, -48, -30, -21, -40, -50, -36, -31, -48, -55,
    +
    471 -50, -55, -62, -50, -40, -47, -41, -16, -6, -19, -18, -2, -1, -9, 1, 16, 14, 13,
    +
    472 25, 29, 21, 21, 26, 16, 3, 5, 13, 7, 1, 3, 3, -3, -8, -12, -20, -23, -19, -18,
    +
    473 -20, -16, -7, -4, -6, -7, -6, -5, -2, 3, 7, 11, 16, 18, 17, 19, 21, 22, 19, 17,
    +
    474 15, 16, 17, 16, 13, 8, 4, -3, -11, -17, -20, -22, -25, -27, -28, -25, -20, -18,
    +
    475 -21, -22, -19, -16, -16, -15, -10, -3, 2, 5, 7, 9, 14, 18, 18, 16, 17, 23, 27,
    +
    476 27, 31, 36, 37, 32, 31, 34, 35, 31, 28, 32, 34, 30, 25, 29, 33, 31, 26, 24, 15,
    +
    477 7, 10, 10, -20, -52, -44, -16, -24, -52, -48, -27, -36, -58, -54, -47, -58, -59,
    +
    478 -38, -37, -49, -31, -2, -10, -29, -13, 8, -3, -14, 7, 24, 18, 16, 25, 21, 15,
    +
    479 23, 24, 5, -4, 10, 14, 2, -3, 2, -2, -10, -13, -17, -23, -19, -15, -21, -23,
    +
    480 -10, 0, -4, -7, -2, -1, -3, -1, 3, 3, 10, 20, 21, 15, 15, 20, 20, 15, 15, 15,
    +
    481 11, 10, 11, 8, 4, -1, -9, -20, -22, -19, -21, -26, -23, -17, -21, -26, -24, -18,
    +
    482 -20, -21, -16, -12, -13, -9, 1, 3, 1, 5, 12, 13, 11, 14, 20, 24, 24, 25, 28, 31,
    +
    483 34, 34, 32, 32, 32, 33, 32, 33, 33, 34, 32, 32, 36, 39, 33, 25, 25, 24, 18, 11,
    +
    484 3, -21, -45, -39, -18, -28, -53, -48, -29, -39, -62, -57, -47, -57, -64, -48,
    +
    485 -45, -51, -35, -9, -13, -25, -10, 6, -6, -14, 9, 24, 17, 15, 28, 31, 24, 27, 25,
    +
    486 10, 4, 15, 14, 1, -1, 8, 2, -10, -11, -10, -17, -20, -15, -16, -18, -10, -2, -6,
    +
    487 -10, -3, 1, -5, -5, 3, 11, 13, 16, 19, 19, 20, 21, 18, 15, 15, 16, 13, 10, 7, 6,
    +
    488 3, -2, -13, -26, -29, -23, -20, -25, -27, -26, -23, -20, -20, -23, -23, -18,
    +
    489 -13, -13, -12, -5, 3, 4, 2, 6, 11, 12, 10, 15, 25, 31, 28, 26, 31, 36, 35, 34,
    +
    490 34, 34, 36, 39, 37, 32, 33, 38, 35, 31, 34, 36, 30, 24, 22, 20, 17, 14, -11,
    +
    491 -49, -54, -25, -20, -52, -61, -37, -32, -56, -60, -49, -57, -69, -55, -45, -53,
    +
    492 -44, -11, -5, -24, -16, 8, 2, -17, -1, 24, 22, 16, 27, 32, 24, 27, 33, 17, -2,
    +
    493 7, 19, 8, -5, 1, 7, -4, -14, -15, -16, -21, -19, -17, -17, -13, -5, -7, -12, -6,
    +
    494 2, 0, -5, 1, 8, 11, 14, 19, 20, 20, 23, 25, 19, 14, 17, 18, 12, 8, 10, 8, 0, -8,
    +
    495 -12, -17, -22, -24, -23, -24, -27, -27, -23, -19, -18, -19, -20, -19, -16, -12,
    +
    496 -6, -3, -2, 0, 5, 12, 14, 12, 13, 17, 20, 22, 25, 29, 31, 34, 36, 36, 35, 36,
    +
    497 36, 33, 30, 34, 37, 33, 30, 36, 38, 29, 22, 23, 19, 12, 13, 4, -34, -57, -33,
    +
    498 -11, -39, -65, -43, -23, -49, -67, -51, -49, -68, -60, -39, -48, -55, -20, 4,
    +
    499 -19, -28, 5, 16, -12, -15, 17, 26, 14, 22, 36, 28, 23, 34, 30, 6, 0, 13, 12, -1,
    +
    500 1, 8, 0, -10, -12, -16, -23, -20, -16, -21, -23, -10, -2, -7, -8, -2, -2, -4, 1,
    +
    501 5, 6, 12, 22, 21, 16, 19, 25, 21, 14, 15, 17, 14, 10, 9, 8, 4, -4, -11, -14,
    +
    502 -15, -20, -28, -35, -34, -28, -21, -21, -25, -24, -19, -16, -18, -20, -14, -5,
    +
    503 -2, -4, -1, 8, 13, 12, 12, 15, 16, 17, 21, 24, 27, 34, 37, 32, 29, 36, 40, 33,
    +
    504 28, 31, 34, 33, 33, 35, 37, 37, 34, 29, 24, 18, 14, 16, 11, -21, -49, -38, -15,
    +
    505 -29, -56, -47, -27, -40, -62, -55, -50, -64, -63, -43, -43, -54, -34, -4, -13,
    +
    506 -28, -8, 11, -5, -15, 8, 21, 13, 15, 30, 27, 18, 28, 30, 9, 0, 14, 14, -2, -2,
    +
    507 11, 6, -10, -14, -13, -18, -20, -17, -19, -22, -14, -3, -5, -8, -4, 2, -1, -2,
    +
    508 2, 7, 12, 19, 23, 20, 21, 26, 24, 15, 16, 21, 19, 12, 12, 9, 3, 1, 0, -9, -18,
    +
    509 -16, -21, -34, -35, -19, -15, -27, -30, -20, -17, -20, -19, -18, -17, -10, -2,
    +
    510 -2, -1, 8, 14, 11, 8, 10, 13, 16, 20, 23, 24, 27, 31, 32, 32, 34, 36, 33, 31,
    +
    511 32, 35, 35, 34, 35, 34, 33, 33, 31, 25, 22, 21, 18, 12, 7, -11, -39, -47, -29,
    +
    512 -26, -50, -55, -36, -34, -55, -58, -50, -60, -67, -51, -43, -53, -41, -10, -5,
    +
    513 -20, -10, 9, 1, -13, 2, 18, 14, 15, 29, 30, 20, 26, 31, 14, -2, 7, 12, -4, -10,
    +
    514 2, 3, -12, -14, -10, -18, -27, -21, -18, -24, -22, -7, -2, -8, -4, 6, 6, 2, 6,
    +
    515 13, 15, 16, 20, 24, 27, 30, 27, 20, 17, 18, 15, 10, 9, 10, 7, 3, 0, -6, -15,
    +
    516 -20, -21, -30, -38, -33, -22, -22, -28, -24, -14, -14, -20, -19, -13, -9, -7,
    +
    517 -3, 2, 8, 13, 15, 14, 14, 17, 20, 21, 20, 25, 33, 35, 30, 30, 35, 38, 36, 31,
    +
    518 29, 29, 33, 34, 31, 29, 31, 30, 27, 26, 26, 22, 15, 12, 8, -4, -26, -39, -36,
    +
    519 -28, -35, -47, -46, -38, -43, -50, -49, -52, -61, -57, -44, -45, -48, -28, -6,
    +
    520 -10, -17, -6, 2, -5, -3, 9, 12, 11, 21, 28, 20, 16, 22, 19, 4, 0, 7, 4, -5, -4,
    +
    521 0, -7, -15, -15, -15, -21, -23, -20, -21, -23, -16, -6, -5, -6, 2, 9, 8, 6, 11,
    +
    522 16, 19, 21, 25, 26, 27, 30, 30, 26, 24, 22, 17, 12, 11, 9, 5, 2, 0, -6, -10,
    +
    523 -12, -22, -35, -29, -17, -26, -47, -40, -16, -10, -23, -24, -14, -10, -9, -8,
    +
    524 -9, -8, 4, 15, 11, 4, 14, 28, 26, 17, 18, 26, 27, 24, 25, 32, 37, 36, 35, 36,
    +
    525 36, 34, 31, 27, 23, 27, 32, 28, 23, 26, 29, 24, 16, 8, 4, 3, -7, -37, -57, -40,
    +
    526 -19, -38, -61, -48, -31, -45, -58, -50, -52, -63, -52, -35, -47, -52, -20, 5,
    +
    527 -10, -20, 1, 12, 0, 1, 19, 19, 13, 23, 31, 20, 17, 28, 23, 1, -1, 12, 5, -12,
    +
    528 -7, 3, -6, -17, -13, -14, -24, -24, -17, -23, -28, -16, -4, -9, -9, 4, 10, 4, 5,
    +
    529 12, 12, 14, 25, 29, 22, 22, 31, 31, 24, 22, 23, 18, 11, 9, 8, 3, -3, -6, -10,
    +
    530 -13, -15, -20, -25, -25, -24, -31, -39, -36, -24, -18, -19, -19, -15, -9, -6,
    +
    531 -5, -6, -3, 3, 9, 11, 12, 19, 28, 31, 24, 20, 22, 26, 24, 23, 27, 32, 33, 31,
    +
    532 33, 35, 34, 29, 25, 24, 24, 25, 24, 25, 26, 25, 21, 23, 19, 8, 2, 4, -13, -46,
    +
    533 -52, -28, -25, -51, -52, -31, -34, -57, -53, -42, -57, -65, -42, -35, -54, -43,
    +
    534 -1, 5, -19, -13, 13, 8, -7, 9, 25, 14, 11, 29, 31, 17, 21, 31, 15, -3, 3, 9, -5,
    +
    535 -14, -5, -3, -14, -18, -15, -23, -29, -23, -21, -28, -24, -9, -5, -10, -3, 9, 7,
    +
    536 3, 11, 17, 13, 14, 24, 27, 23, 27, 33, 29, 20, 19, 18, 11, 3, 1, -2, -6, -8,
    +
    537 -12, -16, -16, -15, -24, -33, -36, -33, -32, -29, -26, -23, -21, -16, -11, -8,
    +
    538 -6, -3, 2, 5, 8, 12, 17, 20, 21, 24, 25, 24, 22, 24, 24, 23, 23, 26, 28, 28, 29,
    +
    539 29, 26, 25, 26, 25, 25, 24, 23, 21, 20, 23, 26, 25, 21, 19, 16, 11, 8, 8, -5,
    +
    540 -33, -47, -33, -22, -38, -51, -37, -30, -46, -54, -44, -47, -58, -48, -36, -47,
    +
    541 -50, -20, 2, -10, -15, 4, 11, -2, 1, 17, 18, 11, 19, 28, 24, 25, 35, 28, 7, 0,
    +
    542 9, 3, -12, -15, -9, -12, -16, -14, -15, -23, -24, -19, -23, -29, -22, -13, -13,
    +
    543 -11, 1, 9, 7, 9, 16, 17, 14, 20, 26, 21, 19, 28, 32, 25, 19, 19, 17, 8, 3, 0,
    +
    544 -5, -10, -11, -12, -16, -19, -23, -27, -29, -26, -29, -33, -29, -19, -14, -15,
    +
    545 -11, -5, 0, 4, 8, 8, 7, 12, 19, 18, 16, 23, 31, 30, 24, 24, 26, 24, 21, 22, 25,
    +
    546 25, 24, 23, 22, 22, 21, 20, 16, 13, 13, 17, 19, 21, 23, 22, 20, 19, 17, 9, 4, 5,
    +
    547 -6, -34, -46, -31, -21, -36, -45, -34, -31, -43, -46, -42, -51, -58, -46, -40,
    +
    548 -51, -45, -16, -4, -13, -10, 6, 6, 0, 7, 16, 13, 12, 21, 26, 24, 28, 34, 25, 10,
    +
    549 6, 8, 2, -9, -12, -11, -12, -13, -12, -15, -19, -19, -17, -19, -22, -16, -9, -9,
    +
    550 -8, 0, 7, 9, 11, 15, 16, 16, 18, 20, 19, 21, 25, 26, 21, 17, 16, 14, 12, 7, 0,
    +
    551 -6, -9, -10, -12, -14, -18, -21, -22, -26, -34, -34, -25, -19, -21, -21, -12,
    +
    552 -2, 1, 3, 5, 5, 7, 11, 12, 12, 17, 22, 24, 24, 25, 26, 24, 23, 22, 20, 18, 19,
    +
    553 21, 20, 19, 20, 21, 18, 16, 15, 13, 10, 11, 15, 19, 22, 24, 24, 19, 16, 14, 12,
    +
    554 9, 3, -18, -40, -37, -19, -24, -45, -44, -28, -31, -46, -45, -40, -49, -53, -43,
    +
    555 -43, -48, -34, -10, -7, -15, -5, 9, 7, 2, 11, 16, 13, 14, 21, 19, 17, 26, 31,
    +
    556 18, 4, 6, 9, -3, -14, -13, -10, -15, -17, -15, -15, -18, -16, -15, -20, -21,
    +
    557 -14, -11, -13, -10, 1, 7, 9, 14, 17, 17, 18, 21, 20, 18, 21, 23, 19, 16, 19, 20,
    +
    558 15, 9, 4, -1, -6, -9, -14, -18, -18, -16, -17, -22, -26, -24, -23, -28, -31,
    +
    559 -26, -17, -12, -9, -5, 2, 8, 13, 13, 11, 12, 16, 17, 14, 17, 24, 26, 23, 22, 23,
    +
    560 23, 22, 21, 19, 19, 20, 21, 20, 21, 22, 20, 18, 16, 15, 15, 17, 18, 18, 23, 29,
    +
    561 27, 22, 20, 19, 16, 10, -7, -30, -38, -28, -26, -40, -44, -35, -32, -41, -41,
    +
    562 -40, -48, -54, -50, -50, -54, -40, -18, -14, -18, -6, 8, 7, 2, 10, 12, 8, 11,
    +
    563 20, 21, 19, 27, 32, 22, 11, 12, 10, -2, -11, -12, -14, -19, -17, -14, -16, -18,
    +
    564 -14, -15, -22, -22, -16, -15, -19, -14, -2, 3, 6, 14, 21, 21, 20, 25, 25, 23,
    +
    565 24, 27, 25, 21, 22, 23, 19, 13, 10, 4, -3, -6, -8, -14, -18, -16, -18, -23, -24,
    +
    566 -20, -23, -31, -33, -29, -28, -26, -19, -13, -9, -2, 7, 11, 11, 10, 11, 12, 12,
    +
    567 11, 11, 13, 17, 18, 18, 17, 17, 17, 16, 14, 13, 14, 14, 16, 17, 17, 15, 16, 18,
    +
    568 19, 19, 19, 19, 19, 24, 30, 31, 27, 26, 23, 20, 18, 10, -13, -33, -29, -19, -29,
    +
    569 -43, -36, -27, -34, -40, -35, -40, -51, -48, -41, -49, -52, -30, -11, -13, -12,
    +
    570 7, 16, 9, 7, 16, 16, 11, 16, 22, 19, 20, 29, 29, 17, 12, 12, 4, -10, -16, -17,
    +
    571 -23, -26, -23, -21, -23, -22, -20, -22, -25, -22, -18, -19, -18, -9, 1, 6, 10,
    +
    572 17, 22, 22, 25, 27, 25, 22, 25, 28, 24, 22, 26, 27, 20, 12, 8, 3, -4, -10, -14,
    +
    573 -17, -18, -17, -18, -21, -23, -20, -21, -29, -35, -34, -26, -21, -18, -15, -7,
    +
    574 2, 10, 11, 10, 11, 13, 13, 9, 9, 14, 14, 11, 10, 14, 15, 13, 13, 10, 7, 8, 13,
    +
    575 12, 10, 11, 16, 19, 17, 15, 16, 20, 23, 22, 22, 27, 34, 35, 31, 31, 31, 26, 22,
    +
    576 20, 5, -22, -30, -19, -20, -38, -42, -30, -32, -43, -41, -37, -48, -54, -45,
    +
    577 -45, -54, -44, -19, -13, -18, -6, 12, 14, 9, 15, 17, 11, 12, 21, 21, 16, 23, 30,
    +
    578 22, 11, 14, 14, 1, -12, -14, -16, -23, -25, -21, -23, -26, -23, -21, -23, -22,
    +
    579 -17, -16, -19, -14, -3, 2, 4, 11, 20, 23, 24, 28, 30, 27, 26, 28, 26, 22, 24,
    +
    580 26, 21, 16, 15, 13, 3, -4, -8, -10, -14, -17, -21, -25, -23, -20, -23, -30, -27,
    +
    581 -24, -28, -28, -21, -15, -14, -7, 0, 2, 3, 9, 13, 10, 8, 9, 13, 12, 10, 9, 11,
    +
    582 12, 10, 10, 10, 9, 9, 10, 10, 11, 13, 17, 18, 19, 20, 21, 20, 21, 23, 24, 26,
    +
    583 28, 33, 34, 33, 34, 34, 30, 22, 18, 9, -12, -28, -27, -23, -35, -44, -39, -35,
    +
    584 -41, -43, -39, -45, -54, -49, -44, -51, -50, -28, -14, -16, -11, 6, 13, 9, 11,
    +
    585 16, 12, 9, 14, 16, 12, 16, 26, 23, 12, 9, 11, 5, -8, -16, -17, -19, -22, -23,
    +
    586 -23, -22, -18, -17, -20, -21, -18, -17, -17, -13, -5, 0, 4, 12, 20, 23, 25, 28,
    +
    587 28, 24, 25, 28, 25, 20, 21, 25, 22, 15, 14, 13, 6, 0, -3, -8, -15, -16, -17,
    +
    588 -20, -23, -22, -22, -25, -24, -23, -25, -29, -25, -17, -13, -14, -10, -2, 1, 1,
    +
    589 5, 7, 5, 4, 8, 11, 7, 6, 10, 13, 11, 10, 13, 14, 12, 12, 14, 16, 15, 16, 20, 23,
    +
    590 22, 22, 24, 26, 26, 25, 26, 29, 31, 30, 30, 31, 31, 31, 28, 23, 16, 7, -8, -21,
    +
    591 -25, -23, -31, -40, -41, -38, -41, -43, -40, -43, -48, -47, -43, -48, -49, -37,
    +
    592 -25, -23, -19, -6, 3, 3, 7, 14, 12, 7, 9, 14, 12, 11, 17, 21, 16, 12, 16, 14, 4,
    +
    593 -5, -7, -9, -16, -19, -18, -18, -19, -16, -14, -15, -14, -10, -7, -9, -10, -5,
    +
    594 1, 5, 7, 12, 17, 22, 25, 26, 26, 26, 25, 22, 20, 19, 18, 16, 15, 13, 9, 6, 3,
    +
    595 -2, -7, -11, -14, -18, -21, -22, -23, -24, -23, -22, -23, -22, -22, -25, -26,
    +
    596 -19, -13, -11, -12, -8, -2, 4, 6, 6, 7, 8, 10, 11, 10, 11, 13, 16, 16, 15, 16,
    +
    597 20, 20, 17, 17, 19, 21, 20, 19, 20, 21, 23, 25, 23, 22, 24, 27, 26, 24, 26, 27,
    +
    598 26, 23, 20, 16, 10, 2, -10, -20, -22, -22, -30, -37, -36, -34, -36, -38, -37,
    +
    599 -39, -45, -45, -44, -47, -47, -38, -29, -26, -20, -10, -2, 0, 3, 6, 6, 6, 8, 10,
    +
    600 9, 10, 15, 18, 17, 16, 17, 15, 10, 4, 0, -4, -7, -9, -10, -10, -9, -8, -8, -7,
    +
    601 -7, -7, -8, -8, -7, -6, -5, -1, 2, 5, 8, 11, 14, 16, 17, 16, 16, 16, 15, 14, 13,
    +
    602 13, 13, 11, 10, 9, 7, 3, 0, -3, -7, -11, -12, -14, -16, -16, -15, -17, -20, -20,
    +
    603 -22, -24, -22, -16, -15, -16, -13, -8, -5, -4, -1, 2, 3, 3, 6, 8, 10, 13, 16,
    +
    604 16, 15, 15, 16, 16, 14, 15, 15, 15, 15, 18, 21, 20, 19, 19, 19, 19, 19, 20, 20,
    +
    605 19, 19, 21, 23, 24, 23, 23, 20, 17, 13, 5, -6, -14, -16, -16, -22, -28, -26,
    +
    606 -24, -27, -30, -29, -31, -36, -39, -40, -41, -43, -38, -30, -27, -25, -18, -10,
    +
    607 -7, -6, -2, 2, 2, 1, 4, 7, 9, 12, 15, 16, 15, 17, 18, 15, 11, 7, 4, 1, -2, -4,
    +
    608 -6, -6, -5, -5, -6, -7, -7, -7, -8, -10, -10, -9, -8, -7, -6, -3, 1, 5, 8, 9,
    +
    609 10, 11, 12, 12, 12, 12, 12, 12, 12, 11, 11, 11, 10, 7, 5, 3, 0, -3, -6, -8, -11,
    +
    610 -12, -11, -13, -16, -16, -15, -17, -21, -19, -14, -12, -15, -15, -12, -9, -7,
    +
    611 -6, -4, -3, 0, 3, 4, 4, 7, 11, 11, 9, 9, 11, 13, 13, 13, 14, 15, 17, 19, 19, 20,
    +
    612 20, 22, 21, 19, 19, 20, 21, 21, 21, 22, 23, 23, 22, 21, 20, 18, 15, 7, -3, -9,
    +
    613 -10, -10, -17, -23, -23, -22, -24, -26, -27, -30, -32, -33, -36, -41, -42, -37,
    +
    614 -32, -32, -29, -21, -14, -10, -7, -4, -2, 1, 4, 4, 3, 5, 10, 11, 11, 14, 17, 18,
    +
    615 16, 15, 13, 10, 8, 5, 1, -1, -3, -4, -6, -6, -6, -6, -5, -5, -7, -9, -9, -8, -9,
    +
    616 -9, -8, -4, -2, 0, 2, 4, 6, 7, 8, 8, 8, 8, 9, 9, 8, 9, 10, 10, 8, 7, 7, 5, 3, 1,
    +
    617 -1, -3, -4, -6, -7, -9, -10, -11, -13, -17, -17, -14, -12, -13, -14, -12, -11,
    +
    618 -10, -10, -9, -8, -8, -6, -5, -3, 0, 3, 6, 7, 9, 10, 12, 12, 12, 13, 13, 13, 14,
    +
    619 17, 19, 19, 20, 21, 22, 22, 22, 21, 20, 20, 20, 19, 19, 18, 18, 18, 18, 16, 13,
    +
    620 11, 8, 2, -6, -10, -11, -15, -20, -22, -22, -22, -23, -23, -23, -26, -29, -30,
    +
    621 -32, -34, -34, -31, -28, -26, -23, -19, -15, -11, -8, -7, -6, -4, -3, -2, -1, 1,
    +
    622 3, 5, 7, 8, 11, 13, 14, 13, 11, 10, 8, 7, 5, 4, 3, 2, 2, 2, 2, 3, 3, 3, 2, 1, 0,
    +
    623 -1, -2, -2, -2, -1, -1, 0, 2, 3, 4, 5, 5, 5, 5, 4, 4, 3, 3, 3, 2, 2, 2, 2, 2, 2,
    +
    624 1, 0, -1, -2, -3, -3, -5, -6, -6, -5, -7, -9, -8, -7, -11, -12, -9, -6, -8, -9,
    +
    625 -6, -5, -6, -7, -6, -5, -4, -2, -1, 0, 1, 4, 6, 5, 5, 7, 7, 7, 7, 8, 10, 11, 12,
    +
    626 13, 13, 15, 16, 16, 16, 16, 16, 16, 16, 15, 15, 15, 15, 15, 14, 14, 13, 13, 12,
    +
    627 10, 8, 4, -1, -4, -5, -7, -10, -12, -13, -13, -14, -14, -15, -17, -20, -20, -23,
    +
    628 -26, -27, -25, -25, -26, -26, -23, -21, -19, -17, -16, -14, -12, -11, -10, -9,
    +
    629 -7, -5, -4, -2, 0, 3, 4, 6, 7, 9, 10, 10, 10, 9, 8, 9, 8, 7, 7, 7, 7, 7, 8, 7,
    +
    630 6, 6, 5, 3, 1, 0, 0, 0, -1, -1, -1, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 1,
    +
    631 1, 0, 0, 0, 1, 1, 0, 0, -1, -2, -3, -3, -4, -4, -5, -7, -8, -6, -5, -6, -7, -6,
    +
    632 -5, -5, -5, -5, -5, -4, -4, -3, -3, -2, 0, 0, 1, 1, 2, 4, 5, 5, 6, 6, 6, 7, 7,
    +
    633 7, 7, 8, 8, 8, 8, 8, 9, 10, 10, 10, 10, 10, 11, 11, 12, 12, 13, 13, 14, 14, 15,
    +
    634 14, 14, 15, 13, 9, 7, 6, 4, 1, -2, -3, -4, -7, -8, -9, -11, -13, -15, -18, -20,
    +
    635 -22, -24, -25, -25, -25, -26, -26, -24, -23, -21, -20, -19, -17, -16, -14, -12,
    +
    636 -11, -10, -9, -7, -4, -3, -2, 0, 2, 3, 4, 4, 5, 5, 4, 4, 5, 5, 4, 4, 5, 5, 5, 5,
    +
    637 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 6, 6, 6, 7, 6, 5, 5, 4, 3, 3, 2, 1, 0, -1, -1, -2,
    +
    638 -3, -4, -4, -5, -5, -6, -5, -5, -5, -5, -5, -5, -4, -3, -4, -4, -3, -2, -2, -3,
    +
    639 -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -2, -2, -2, -2, -2, -2, -1,
    +
    640 0, 0, 1, 2, 2, 3, 5, 6, 6, 7, 9, 9, 10, 11, 12, 12, 14, 15, 15, 15, 15, 16, 16,
    +
    641 15, 16, 16, 15, 14, 13, 14, 12, 9, 6, 4, 2, -1, -3, -4, -6, -8, -10, -11, -12,
    +
    642 -14, -16, -17, -18, -20, -22, -22, -22, -23, -23, -22, -23, -22, -20, -19, -19,
    +
    643 -18, -16, -15, -15, -14, -13, -13, -12, -10, -8, -7, -6, -5, -3, -2, -1, 0, 1,
    +
    644 3, 3, 3, 5, 7, 7, 8, 10, 10, 11, 12, 12, 13, 14, 13, 13, 12, 12, 11, 11, 11, 10,
    +
    645 9, 9, 9, 8, 7, 6, 5, 5, 4, 3, 1, 1, 1, 1, 0, 0, -1, -1, -1, -2, -2, -3, -3, -3,
    +
    646 -4, -4, -5, -5, -5, -6, -7, -7, -6, -6, -7, -8, -8, -8, -8, -8, -8, -8, -8, -8,
    +
    647 -7, -6, -6, -5, -4, -3, -3, -1, 0, 0, 2, 3, 4, 5, 6, 7, 8, 8, 9, 10, 11, 11, 11,
    +
    648 11, 12, 13, 12, 12, 13, 13, 12, 12, 13, 12, 12, 13, 12, 11, 11, 11, 10, 9, 8, 7,
    +
    649 5, 4, 2, 0, -1, -2, -4, -6, -7, -8, -9, -11, -13, -14, -15, -17, -19, -21, -22,
    +
    650 -23, -23, -24, -24, -24, -24, -24, -24, -24, -23, -23, -21, -20, -19, -18, -16,
    +
    651 -14, -13, -11, -10, -7, -4, -3, 0, 2, 4, 6, 8, 9, 10, 12, 14, 15, 16, 17, 18,
    +
    652 18, 18, 19, 18, 18, 19, 19, 18, 18, 17, 16, 15, 14, 14, 12, 9, 9, 8, 7, 5, 4, 3,
    +
    653 1, 0, -1, -3, -5, -6, -8, -8, -10, -11, -11, -12, -13, -14, -14, -13, -14, -15,
    +
    654 -15, -14, -13, -13, -13, -12, -11, -10, -10, -9, -8, -7, -6, -6, -6, -5, -3, -2,
    +
    655 -2, -1, 0, 1, 2, 4, 5, 6, 7, 8, 8, 9, 10, 12, 13, 14, 14, 14, 16, 18, 18, 19,
    +
    656 19, 20, 20, 20, 20, 21, 21, 21, 21, 20, 19, 18, 17, 15, 12, 9, 7, 5, 3, 0, -3,
    +
    657 -5, -8, -11, -14, -16, -19, -21, -23, -27, -30, -32, -33, -35, -37, -37, -38,
    +
    658 -37, -37, -35, -34, -33, -31, -29, -29, -27, -24, -21, -19, -16, -13, -10, -6,
    +
    659 -3, 0, 3, 7, 10, 12, 14, 17, 19, 21, 22, 23, 24, 25, 26, 27, 28, 28, 27, 27, 26,
    +
    660 26, 24, 23, 22, 20, 18, 15, 14, 12, 10, 8, 6, 3, 1, 0, -2, -4, -6, -8, -9, -10,
    +
    661 -11, -12, -13, -13, -14, -15, -15, -15, -16, -17, -17, -16, -16, -18, -19, -17,
    +
    662 -15, -16, -16, -14, -14, -14, -13, -12, -11, -10, -8, -8, -7, -6, -4, -2, 1, 3,
    +
    663 3, 6, 9, 10, 11, 14, 16, 18, 20, 21, 22, 24, 26, 28, 29, 30, 30, 30, 31, 32, 33,
    +
    664 32, 31, 31, 30, 28, 26, 26, 24, 18, 11, 9, 7, 3, -1, -4, -7, -12, -16, -18, -22,
    +
    665 -26, -30, -33, -38, -43, -44, -44, -46, -48, -48, -49, -49, -46, -44, -43, -41,
    +
    666 -37, -35, -33, -28, -24, -22, -18, -14, -11, -8, -4, 0, 5, 9, 13, 16, 18, 22,
    +
    667 24, 25, 27, 30, 30, 30, 31, 32, 31, 31, 31, 30, 29, 29, 28, 26, 24, 23, 21, 19,
    +
    668 17, 14, 11, 9, 7, 5, 2, 0, -3, -5, -6, -8, -10, -12, -14, -15, -16, -17, -18,
    +
    669 -19, -20, -21, -22, -23, -23, -22, -22, -24, -23, -21, -21, -19, -18, -18, -17,
    +
    670 -16, -15, -14, -12, -10, -9, -8, -6, -5, -2, 1, 3, 5, 7, 10, 13, 16, 19, 21, 23,
    +
    671 25, 26, 28, 30, 32, 34, 35, 35, 35, 36, 37, 38, 38, 37, 36, 36, 34, 31, 27, 23,
    +
    672 17, 14, 11, 5, 0, -3, -6, -11, -15, -18, -23, -27, -31, -36, -42, -45, -47, -48,
    +
    673 -51, -53, -53, -52, -51, -49, -47, -45, -43, -40, -37, -34, -30, -26, -23, -21,
    +
    674 -17, -13, -10, -6, -1, 3, 7, 11, 15, 18, 22, 25, 27, 29, 31, 31, 31, 33, 33, 32,
    +
    675 32, 33, 32, 32, 33, 31, 30, 29, 27, 25, 21, 19, 17, 13, 11, 8, 5, 2, 0, -3, -5,
    +
    676 -8, -10, -11, -14, -16, -17, -18, -20, -21, -21, -23, -24, -24, -26, -26, -24,
    +
    677 -24, -25, -25, -24, -21, -19, -19, -18, -16, -17, -16, -12, -10, -9, -7, -5, -4,
    +
    678 -2, 2, 4, 6, 8, 10, 13, 16, 18, 21, 24, 26, 27, 29, 31, 33, 35, 36, 36, 36, 37,
    +
    679 39, 40, 39, 39, 40, 39, 36, 34, 30, 22, 16, 16, 13, 5, 0, -2, -9, -15, -16, -18,
    +
    680 -25, -30, -33, -39, -44, -46, -47, -50, -53, -53, -55, -56, -52, -49, -47, -45,
    +
    681 -41, -39, -37, -31, -25, -24, -23, -18, -15, -13, -9, -5, -2, 2, 7, 11, 13, 17,
    +
    682 21, 23, 25, 28, 29, 28, 29, 31, 30, 30, 32, 32, 29, 30, 32, 30, 29, 29, 28, 24,
    +
    683 23, 21, 18, 16, 15, 11, 6, 4, 2, -1, -4, -5, -7, -10, -12, -14, -16, -17, -17,
    +
    684 -19, -21, -22, -23, -24, -26, -24, -22, -24, -25, -24, -23, -22, -19, -18, -18,
    +
    685 -16, -15, -16, -13, -10, -10, -8, -5, -5, -3, 1, 3, 4, 8, 10, 11, 14, 17, 20,
    +
    686 23, 25, 27, 28, 30, 32, 35, 36, 35, 37, 39, 38, 40, 40, 39, 39, 40, 37, 34, 31,
    +
    687 23, 16, 16, 14, 6, -1, -3, -9, -15, -16, -18, -24, -30, -34, -38, -43, -45, -46,
    +
    688 -49, -51, -52, -54, -55, -52, -48, -47, -47, -43, -39, -37, -33, -27, -25, -23,
    +
    689 -19, -16, -14, -10, -6, -4, -1, 5, 8, 10, 15, 19, 21, 24, 27, 28, 28, 28, 30,
    +
    690 30, 30, 31, 31, 30, 30, 31, 30, 28, 29, 28, 24, 22, 22, 19, 14, 13, 11, 6, 2, 1,
    +
    691 -2, -5, -6, -7, -11, -13, -13, -15, -17, -18, -18, -20, -22, -23, -22, -23, -23,
    +
    692 -23, -23, -23, -23, -23, -22, -17, -16, -18, -18, -15, -15, -14, -11, -10, -10,
    +
    693 -8, -6, -5, -1, 2, 2, 4, 7, 8, 11, 16, 17, 20, 24, 25, 25, 28, 30, 32, 35, 35,
    +
    694 35, 37, 39, 39, 40, 41, 40, 40, 40, 38, 33, 26, 20, 21, 18, 10, 5, 3, -4, -10,
    +
    695 -10, -12, -18, -24, -29, -35, -38, -39, -41, -45, -47, -48, -50, -51, -49, -48,
    +
    696 -47, -46, -44, -42, -41, -35, -31, -30, -28, -23, -21, -20, -16, -12, -11, -7,
    +
    697 -2, 1, 3, 8, 13, 15, 19, 23, 24, 23, 26, 28, 29, 30, 32, 32, 30, 31, 33, 32, 31,
    +
    698 32, 29, 26, 26, 26, 22, 19, 19, 16, 10, 8, 7, 3, 0, -1, -3, -7, -9, -9, -12,
    +
    699 -14, -12, -14, -17, -18, -18, -20, -21, -21, -22, -21, -21, -23, -23, -20, -19,
    +
    700 -18, -16, -18, -18, -16, -16, -15, -12, -11, -11, -10, -9, -7, -2, -1, -1, 2, 5,
    +
    701 5, 8, 14, 15, 16, 20, 22, 23, 25, 27, 28, 30, 32, 33, 34, 36, 38, 38, 37, 40,
    +
    702 40, 36, 35, 32, 22, 18, 22, 19, 8, 6, 5, -5, -11, -7, -10, -19, -23, -27, -35,
    +
    703 -38, -36, -38, -44, -46, -46, -48, -49, -46, -46, -48, -44, -40, -41, -40, -34,
    +
    704 -30, -30, -27, -22, -21, -21, -16, -13, -12, -6, 0, 0, 3, 9, 12, 14, 19, 23, 22,
    +
    705 23, 26, 26, 26, 28, 31, 30, 29, 30, 31, 29, 30, 31, 29, 26, 25, 23, 21, 19, 18,
    +
    706 15, 11, 9, 6, 2, 0, -1, -1, -5, -7, -9, -11, -12, -11, -13, -15, -15, -17, -20,
    +
    707 -19, -19, -20, -19, -18, -20, -20, -18, -15, -14, -14, -15, -15, -14, -14, -13,
    +
    708 -11, -9, -8, -8, -7, -5, -2, -1, 0, 4, 5, 6, 9, 12, 13, 14, 17, 20, 22, 21, 22,
    +
    709 25, 25, 26, 29, 30, 30, 33, 34, 33, 35, 37, 35, 32, 28, 17, 14, 20, 17, 6, 4, 4,
    +
    710 -5, -10, -6, -8, -16, -22, -27, -34, -36, -33, -36, -42, -45, -44, -45, -47,
    +
    711 -42, -41, -45, -43, -37, -37, -38, -31, -27, -28, -23, -18, -18, -18, -12, -11,
    +
    712 -10, -3, 2, 2, 5, 10, 14, 17, 21, 24, 23, 23, 26, 26, 25, 28, 30, 28, 27, 29,
    +
    713 28, 27, 30, 29, 24, 23, 25, 22, 18, 18, 16, 10, 9, 8, 3, 0, 0, -4, -8, -8, -8,
    +
    714 -11, -12, -13, -15, -16, -16, -16, -19, -21, -19, -20, -22, -21, -19, -20, -17,
    +
    715 -15, -17, -16, -12, -12, -14, -11, -10, -12, -11, -8, -7, -5, -3, -2, -1, -1, 1,
    +
    716 3, 5, 6, 8, 10, 11, 13, 15, 17, 19, 21, 21, 22, 23, 23, 25, 28, 29, 28, 30, 32,
    +
    717 32, 31, 33, 32, 30, 27, 20, 12, 13, 17, 10, 2, 3, 1, -8, -10, -6, -13, -20, -22,
    +
    718 -27, -35, -34, -30, -36, -41, -40, -40, -43, -40, -37, -40, -39, -34, -34, -36,
    +
    719 -32, -27, -25, -22, -17, -17, -18, -13, -9, -8, -5, 1, 3, 3, 6, 12, 14, 16, 20,
    +
    720 21, 20, 22, 26, 25, 25, 28, 28, 25, 26, 29, 25, 25, 27, 24, 20, 21, 22, 18, 15,
    +
    721 15, 12, 8, 6, 5, 1, -2, -2, -5, -8, -8, -8, -11, -13, -13, -15, -16, -16, -17,
    +
    722 -19, -18, -17, -19, -19, -19, -19, -18, -16, -15, -15, -16, -14, -11, -11, -12,
    +
    723 -8, -7, -10, -8, -6, -9, -6, 0, -3, -3, 3, 2, 0, 5, 7, 4, 8, 10, 7, 10, 14, 13,
    +
    724 15, 19, 18, 18, 22, 24, 24, 25, 25, 27, 28, 26, 26, 28, 29, 29, 27, 25, 23, 16,
    +
    725 10, 14, 17, 8, 2, 3, -3, -9, -7, -8, -16, -18, -22, -29, -31, -29, -31, -36,
    +
    726 -37, -38, -39, -38, -36, -35, -37, -35, -31, -30, -31, -28, -24, -23, -20, -15,
    +
    727 -15, -14, -9, -6, -6, -1, 4, 4, 5, 9, 12, 13, 17, 20, 19, 19, 23, 24, 23, 26,
    +
    728 27, 23, 24, 27, 25, 23, 26, 25, 20, 20, 20, 17, 15, 14, 11, 9, 8, 5, 2, 0, -2,
    +
    729 -5, -6, -8, -11, -13, -14, -15, -16, -17, -17, -18, -20, -19, -18, -19, -19,
    +
    730 -19, -19, -19, -17, -17, -17, -15, -14, -13, -11, -10, -9, -7, -7, -7, -5, -4,
    +
    731 -3, 0, -1, -2, -1, 2, 2, 4, 5, 4, 6, 7, 7, 8, 11, 12, 12, 13, 14, 15, 17, 18,
    +
    732 19, 19, 19, 21, 22, 24, 24, 24, 23, 25, 25, 23, 24, 25, 22, 21, 18, 9, 5, 12,
    +
    733 11, 0, -1, 1, -7, -13, -9, -11, -18, -19, -22, -29, -32, -28, -29, -35, -34,
    +
    734 -34, -37, -36, -31, -34, -36, -30, -28, -30, -29, -24, -22, -21, -16, -16, -16,
    +
    735 -11, -7, -8, -5, 2, 4, 3, 6, 10, 11, 14, 19, 19, 18, 20, 22, 21, 23, 27, 27, 24,
    +
    736 25, 26, 24, 24, 26, 23, 18, 19, 18, 15, 13, 13, 9, 6, 6, 3, -2, -3, -4, -8, -9,
    +
    737 -9, -12, -14, -14, -15, -16, -15, -16, -18, -19, -19, -19, -18, -17, -17, -16,
    +
    738 -16, -14, -13, -13, -12, -11, -13, -11, -5, -6, -9, -5, -4, -5, -3, -1, -2, 1,
    +
    739 3, 0, 3, 7, 8, 8, 8, 8, 9, 11, 10, 11, 12, 11, 12, 15, 15, 15, 17, 17, 17, 19,
    +
    740 18, 17, 19, 20, 18, 19, 20, 18, 18, 19, 17, 17, 19, 18, 16, 10, 2, 4, 9, 1, -6,
    +
    741 -4, -6, -13, -11, -10, -18, -18, -18, -25, -31, -30, -29, -32, -32, -34, -36,
    +
    742 -35, -31, -31, -34, -30, -26, -28, -29, -25, -22, -22, -16, -13, -16, -12, -5,
    +
    743 -5, -5, 2, 5, 4, 8, 11, 11, 14, 20, 20, 18, 20, 22, 22, 23, 24, 25, 25, 26, 24,
    +
    744 22, 22, 23, 22, 19, 16, 15, 13, 11, 8, 7, 5, 3, 1, -2, -4, -6, -7, -9, -11, -13,
    +
    745 -14, -14, -15, -16, -16, -15, -16, -17, -16, -16, -16, -16, -16, -15, -15, -14,
    +
    746 -13, -11, -10, -8, -7, -6, -4, -4, -4, -2, 0, -1, -1, 1, 2, 3, 6, 7, 6, 5, 8, 9,
    +
    747 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 13, 14, 14, 14, 14, 16, 17, 16, 16, 17,
    +
    748 16, 14, 17, 18, 16, 15, 16, 17, 17, 17, 14, 7, 0, -1, 3, -1, -8, -10, -8, -10,
    +
    749 -13, -12, -16, -17, -16, -22, -29, -28, -25, -28, -29, -27, -29, -30, -26, -25,
    +
    750 -28, -26, -22, -22, -21, -20, -20, -18, -13, -10, -13, -10, -4, -3, -5, 0, 5, 3,
    +
    751 6, 9, 8, 9, 15, 18, 18, 20, 21, 20, 22, 24, 25, 24, 23, 21, 20, 21, 20, 20, 17,
    +
    752 13, 12, 11, 9, 5, 5, 5, 1, -1, -6, -8, -8, -9, -13, -15, -12, -15, -17, -16,
    +
    753 -16, -15, -15, -15, -18, -18, -14, -13, -15, -16, -14, -13, -14, -11, -8, -9,
    +
    754 -11, -7, -2, -2, -2, -2, -1, 1, 2, 1, 1, 7, 8, 8, 8, 10, 12, 11, 10, 9, 12, 12,
    +
    755 10, 10, 9, 11, 13, 14, 14, 13, 14, 17, 19, 16, 14, 16, 17, 16, 14, 15, 19, 21,
    +
    756 19, 16, 20, 22, 21, 20, 10, -4, -7, 2, -3, -17, -18, -12, -11, -15, -15, -16,
    +
    757 -17, -13, -18, -31, -34, -27, -28, -33, -29, -28, -29, -25, -22, -24, -24, -18,
    +
    758 -19, -22, -21, -21, -20, -17, -11, -10, -11, -8, -3, 0, 1, 3, 6, 7, 8, 8, 11,
    +
    759 15, 18, 20, 22, 23, 25, 29, 30, 27, 27, 25, 23, 21, 19, 15, 12, 13, 11, 9, 7, 6,
    +
    760 3, 0, -1, -3, -5, -6, -9, -13, -14, -14, -14, -13, -13, -15, -15, -15, -14, -13,
    +
    761 -14, -14, -15, -16, -18, -18, -19, -19, -15, -14, -13, -10, -8, -6, -4, -5, -6,
    +
    762 -2, -1, -3, 3, 7, 7, 10, 12, 12, 14, 16, 11, 11, 13, 11, 12, 16, 16, 15, 18, 18,
    +
    763 17, 19, 16, 17, 22, 23, 20, 16, 17, 19, 21, 18, 18, 24, 23, 21, 19, 17, 17, 20,
    +
    764 16, -3, -15, -16, -10, -14, -27, -27, -16, -14, -21, -20, -19, -23, -22, -26,
    +
    765 -36, -36, -31, -30, -31, -26, -26, -23, -19, -20, -22, -22, -21, -23, -24, -23,
    +
    766 -22, -18, -15, -9, -8, -6, -3, -1, -2, 0, 5, 6, 8, 10, 12, 17, 22, 26, 29, 30,
    +
    767 28, 28, 28, 24, 20, 21, 17, 15, 15, 14, 10, 11, 10, 6, 3, 2, 1, -2, -5, -6, -7,
    +
    768 -8, -8, -7, -7, -6, -7, -10, -10, -9, -13, -14, -11, -14, -15, -14, -16, -23,
    +
    769 -23, -19, -15, -17, -23, -18, -10, -9, -11, -8, -5, -3, 1, 1, 0, 7, 11, 13, 14,
    +
    770 12, 11, 15, 15, 9, 11, 12, 12, 14, 14, 15, 19, 20, 18, 19, 18, 18, 24, 23, 18,
    +
    771 19, 21, 21, 22, 22, 18, 23, 26, 20, 23, 21, 18, 19, 20, 6, -13, -21, -22, -14,
    +
    772 -21, -30, -25, -17, -20, -22, -18, -25, -28, -22, -28, -37, -34, -24, -21, -21,
    +
    773 -17, -16, -13, -15, -21, -25, -27, -22, -23, -26, -26, -20, -14, -11, -6, -8,
    +
    774 -7, -5, -4, -3, 0, 5, 8, 14, 15, 16, 24, 30, 30, 27, 24, 21, 20, 19, 15, 14, 14,
    +
    775 12, 10, 10, 10, 7, 3, 2, 0, -1, -4, -4, -3, -2, -3, -4, -4, -4, -4, -5, -7, -8,
    +
    776 -7, -7, -8, -10, -10, -10, -13, -18, -25, -25, -21, -15, -20, -21, -12, -9, -9,
    +
    777 -10, -8, -11, -5, 2, 0, 1, 8, 15, 17, 15, 12, 13, 14, 7, 6, 10, 8, 10, 12, 14,
    +
    778 13, 17, 18, 16, 16, 14, 19, 22, 21, 22, 25, 25, 24, 25, 20, 18, 22, 23, 25, 22,
    +
    779 19, 23, 26, 21, 12, 6, -19, -33, -23, -15, -25, -33, -20, -16, -17, -20, -18,
    +
    780 -27, -31, -23, -26, -35, -30, -16, -14, -16, -11, -11, -15, -19, -28, -30, -27,
    +
    781 -23, -23, -23, -21, -18, -11, -10, -10, -11, -10, -7, -7, -3, 3, 11, 16, 18, 21,
    +
    782 22, 27, 27, 25, 22, 18, 18, 18, 19, 15, 15, 17, 11, 5, 4, 4, 0, -2, -3, -6, -3,
    +
    783 1, -1, -1, 1, 1, -1, -1, -4, -5, 0, -6, -7, -4, -4, -9, -10, -12, -29, -33, -22,
    +
    784 -13, -19, -25, -17, -13, -13, -12, -10, -14, -11, 0, 1, 1, 7, 13, 13, 13, 11,
    +
    785 12, 13, 7, 2, 5, 8, 11, 16, 15, 15, 17, 17, 13, 10, 14, 17, 19, 14, 16, 22, 26,
    +
    786 25, 22, 21, 19, 22, 18, 18, 20, 24, 21, 20, 25, 26, 24, 11, -6, -32, -36, -27,
    +
    787 -17, -28, -32, -18, -15, -18, -19, -19, -36, -34, -20, -22, -30, -19, -6, -8,
    +
    788 -7, -3, -9, -17, -22, -29, -31, -29, -22, -20, -17, -20, -17, -12, -14, -16,
    +
    789 -16, -10, -10, -6, 3, 10, 10, 13, 24, 22, 16, 20, 25, 25, 22, 24, 22, 22, 23,
    +
    790 20, 15, 4, 2, 4, 5, -1, -3, 4, 2, 0, 0, 0, -4, -1, 4, 1, -1, 3, 3, -1, -2, 0,
    +
    791 -2, -6, -14, -28, -29, -24, -15, -17, -14, -15, -19, -14, -14, -15, -18, -8, -8,
    +
    792 -8, -1, 4, 4, 3, 10, 10, 10, 11, 8, 7, 7, 14, 15, 15, 14, 12, 13, 13, 17, 17,
    +
    793 18, 19, 16, 19, 21, 23, 18, 17, 22, 25, 25, 20, 22, 23, 22, 19, 18, 11, 9, 18,
    +
    794 23, 15, 12, 9, -13, -38, -38, -26, -28, -32, -31, -28, -26, -19, -20, -33, -34,
    +
    795 -24, -18, -26, -26, -17, -11, -11, -16, -17, -19, -23, -29, -31, -29, -25, -15,
    +
    796 -12, -16, -18, -14, -15, -19, -13, -5, 0, 2, 8, 12, 15, 19, 18, 17, 13, 15, 19,
    +
    797 22, 23, 23, 24, 20, 15, 11, 12, 9, 3, 2, 3, 8, 12, 13, 5, 3, 5, 3, 0, 0, -1, -4,
    +
    798 5, 8, 1, -7, -10, -23, -27, -18, -13, -19, -17, -7, -7, -9, -10, -13, -17, -9,
    +
    799 -3, -7, -10, -2, 4, 0, -2, -1, 0, -2, -4, -1, 6, 14, 16, 15, 15, 17, 22, 26, 21,
    +
    800 17, 22, 25, 22, 20, 26, 24, 24, 23, 21, 16, 16, 19, 19, 22, 25, 26, 19, 19, 21,
    +
    801 25, 22, 16, -1, -21, -32, -33, -29, -30, -27, -25, -21, -21, -24, -33, -38, -31,
    +
    802 -25, -21, -24, -16, -12, -13, -15, -17, -18, -24, -25, -28, -28, -21, -14, -11,
    +
    803 -17, -16, -17, -17, -16, -14, -6, -2, 5, 5, 9, 12, 18, 20, 15, 14, 13, 18, 18,
    +
    804 22, 25, 25, 22, 16, 11, 6, 9, 8, 1, -1, 10, 13, 6, 0, 4, 4, 4, 6, -3, -9, -8,
    +
    805 -4, -25, -35, -18, -2, -5, -14, -10, -12, -8, -8, -13, -19, -9, 9, 2, -8, -8, 3,
    +
    806 2, -9, -13, -10, -3, 2, 7, 12, 15, 21, 23, 20, 17, 24, 31, 21, 19, 25, 32, 23,
    +
    807 22, 25, 21, 22, 19, 16, 6, 18, 25, 20, 15, 17, 15, 7, 11, 14, 13, 10, 2, -18,
    +
    808 -31, -27, -18, -22, -21, -20, -18, -21, -24, -27, -34, -29, -24, -22, -28, -26,
    +
    809 -19, -19, -21, -21, -19, -26, -30, -27, -24, -16, -9, -4, -11, -14, -9, -7, -5,
    +
    810 -6, 1, 3, 9, 14, 15, 15, 14, 15, 11, 6, 3, 6, 14, 17, 19, 18, 14, 11, 7, 2, -7,
    +
    811 -4, 3, 3, 0, 5, 8, 0, -2, -1, -4, -7, -6, -13, -30, -28, -16, -12, -15, -8, 0,
    +
    812 -1, -2, -2, -7, -10, -6, -1, -2, -2, 0, 0, 0, 3, 6, 5, 3, 5, 12, 18, 22, 26, 27,
    +
    813 29, 30, 27, 21, 18, 20, 22, 24, 29, 30, 30, 31, 31, 23, 16, 22, 27, 30, 29, 37,
    +
    814 38, 37, 25, -4, -37, -50, -36, -33, -32, -32, -22, -23, -25, -33, -47, -52, -40,
    +
    815 -25, -27, -23, -14, -7, -14, -21, -28, -36, -39, -38, -33, -28, -19, -17, -20,
    +
    816 -23, -24, -22, -22, -20, -16, -5, 7, 13, 17, 17, 20, 18, 15, 11, 13, 18, 23, 31,
    +
    817 34, 34, 28, 25, 17, 12, 12, 14, 13, 14, 16, 13, 10, 8, 6, 1, 0, -2, -9, -18,
    +
    818 -21, -20, -14, -5, -4, -11, -19, -20, -19, -17, -18, -17, -11, -5, -7, -12, -13,
    +
    819 -12, -12, -12, -12, -11, -6, -2, 1, 5, 13, 14, 14, 13, 15, 22, 28, 28, 21, 28,
    +
    820 39, 38, 28, 25, 27, 22, 22, 26, 29, 29, 30, 33, 30, 27, 27, 29, 31, 32, 34, 19,
    +
    821 -15, -43, -41, -27, -30, -31, -25, -21, -25, -26, -34, -46, -38, -24, -25, -34,
    +
    822 -25, -18, -21, -25, -27, -32, -35, -36, -40, -39, -27, -17, -19, -24, -24, -18,
    +
    823 -16, -19, -21, -13, -3, 4, 12, 18, 21, 27, 31, 25, 19, 21, 23, 23, 26, 30, 27,
    +
    824 25, 23, 17, 12, 10, 8, 9, 13, 14, 11, 6, 1, -1, -1, -7, -14, -16, -17, -19, -12,
    +
    825 -3, -7, -15, -17, -20, -24, -18, -15, -17, -12, -4, -7, -13, -13, -14, -15, -7,
    +
    826 -2, -3, 1, 8, 9, 10, 18, 24, 23, 20, 22, 27, 28, 28, 32, 37, 34, 32, 35, 35, 30,
    +
    827 31, 37, 42, 39, 35, 34, 35, 37, 39, 32, -5, -43, -46, -29, -29, -30, -17, -13,
    +
    828 -22, -24, -27, -44, -44, -27, -24, -35, -27, -11, -8, -14, -22, -32, -42, -44,
    +
    829 -45, -43, -37, -28, -27, -29, -27, -20, -21, -31, -33, -26, -14, -2, 11, 14, 15,
    +
    830 22, 23, 15, 14, 23, 25, 25, 30, 34, 35, 33, 27, 17, 11, 9, 6, 8, 11, 13, 16, 14,
    +
    831 7, 3, 4, -2, -10, -11, -16, -22, -15, -2, 1, -4, -6, -14, -22, -22, -18, -18,
    +
    832 -13, -4, -1, -5, -7, -9, -9, -7, -7, -5, 1, 6, 4, 7, 13, 18, 18, 19, 22, 24, 24,
    +
    833 26, 25, 26, 29, 30, 32, 33, 33, 31, 35, 42, 41, 35, 37, 41, 44, 48, 36, -19,
    +
    834 -64, -60, -38, -37, -35, -19, -24, -26, -21, -29, -54, -44, -19, -26, -35, -18,
    +
    835 -2, -5, -8, -17, -37, -42, -35, -41, -49, -39, -26, -29, -27, -18, -16, -24,
    +
    836 -32, -30, -23, -6, 11, 19, 19, 24, 35, 33, 24, 20, 24, 25, 26, 34, 36, 37, 33,
    +
    837 22, 9, 4, 6, 5, 11, 13, 12, 11, 9, 8, 7, 8, -3, -15, -22, -22, -17, -4, 4, -2,
    +
    838 -8, -16, -24, -27, -22, -22, -19, -15, -13, -12, -7, -5, -8, -9, -14, -15, -9,
    +
    839 -1, 1, 8, 17, 18, 18, 19, 19, 19, 24, 22, 19, 28, 38, 37, 30, 33, 36, 34, 39,
    +
    840 42, 45, 38, 38, 45, 50, 56, 51, 21, -43, -71, -52, -35, -42, -31, -11, -20, -25,
    +
    841 -23, -42, -61, -35, -15, -34, -40, -10, 4, -3, -9, -21, -39, -39, -35, -48, -50,
    +
    842 -42, -32, -29, -23, -21, -18, -17, -34, -38, -23, -1, 7, 18, 31, 29, 34, 35, 27,
    +
    843 19, 25, 33, 25, 26, 30, 36, 35, 24, 11, 3, 5, 4, 5, 8, 7, 9, 13, 14, 15, 14, 5,
    +
    844 -16, -31, -30, -18, -3, 0, -3, -6, -8, -16, -26, -25, -21, -15, -10, -11, -13,
    +
    845 -11, -9, -15, -21, -15, -11, -6, -1, 2, 9, 18, 26, 22, 23, 29, 21, 15, 19, 29,
    +
    846 33, 34, 37, 37, 41, 37, 27, 31, 37, 39, 41, 48, 55, 55, 57, 4, -59, -68, -41,
    +
    847 -36, -42, -13, -16, -24, -18, -24, -60, -58, -17, -24, -46, -19, 11, 3, -4, -4,
    +
    848 -26, -44, -34, -43, -60, -50, -27, -26, -33, -24, -18, -21, -35, -43, -35, -14,
    +
    849 5, 20, 30, 33, 38, 34, 20, 10, 20, 29, 25, 26, 28, 30, 28, 26, 12, -3, -8, -15,
    +
    850 -14, -6, 4, 3, 2, 2, 1, 6, 9, 0, -10, -15, -20, -21, -14, -3, 0, 4, 0, -4, -10,
    +
    851 -16, -16, -15, -11, -10, -5, -1, -2, -1, 0, -1, 0, 0, 5, 9, 15, 21, 26, 33, 33,
    +
    852 37, 35, 25, 16, 20, 28, 30, 33, 39, 40, 39, 36, 30, 35, 39, 32, 25, 32, 39, 31,
    +
    853 17, -28, -70, -68, -44, -43, -52, -27, -22, -30, -31, -33, -49, -47, -19, -26,
    +
    854 -41, -20, 9, 7, -5, -7, -18, -34, -34, -43, -50, -42, -25, -20, -26, -20, -19,
    +
    855 -20, -23, -24, -18, -7, 12, 22, 30, 39, 45, 45, 37, 29, 21, 23, 31, 34, 32, 32,
    +
    856 26, 15, 4, -3, -10, -12, -4, -1, 2, 2, 2, 2, 3, 4, -1, -2, -12, -26, -34, -32,
    +
    857 -24, -16, -6, -2, -6, -8, -14, -22, -29, -27, -21, -13, -7, -8, -10, -5, 4, 5,
    +
    858 -1, -3, 8, 12, 16, 23, 29, 28, 29, 40, 37, 27, 23, 30, 31, 31, 38, 46, 53, 49,
    +
    859 44, 43, 43, 32, 29, 37, 34, 27, 26, 3, -53, -71, -47, -41, -55, -39, -22, -35,
    +
    860 -32, -15, -31, -53, -28, -14, -40, -44, -3, 7, -9, -9, -8, -27, -35, -26, -42,
    +
    861 -51, -34, -19, -28, -29, -16, -21, -28, -28, -29, -25, 1, 22, 21, 23, 35, 38,
    +
    862 30, 26, 25, 26, 27, 29, 31, 33, 28, 20, 15, 2, -10, -9, -4, -8, -7, 8, 12, 11,
    +
    863 15, 15, 5, 1, 8, 0, -10, -13, -17, -24, -22, -11, -8, -10, -14, -20, -21, -21,
    +
    864 -22, -21, -12, -7, -9, -4, 3, 2, -2, -1, 0, -1, 6, 16, 18, 15, 17, 27, 30, 27,
    +
    865 21, 23, 26, 25, 30, 41, 43, 36, 38, 43, 40, 39, 46, 37, 22, 24, 33, 29, 19, 3,
    +
    866 -43, -75, -61, -34, -40, -40, -18, -18, -34, -35, -29, -43, -40, -18, -15, -28,
    +
    867 -12, 9, -1, -18, -17, -20, -40, -42, -34, -31, -25, -9, -8, -22, -18, -14, -29,
    +
    868 -41, -25, -6, 2, 17, 34, 35, 37, 42, 36, 23, 21, 23, 18, 25, 36, 37, 32, 26, 13,
    +
    869 -4, -5, -9, -19, -17, 0, 6, 4, 9, 10, 3, -1, -3, -7, -6, -3, -12, -26, -28, -27,
    +
    870 -28, -26, -21, -19, -16, -13, -16, -17, -10, -8, -9, -2, 4, -1, -7, -2, 1, -2,
    +
    871 4, 13, 16, 13, 15, 21, 22, 23, 25, 33, 36, 32, 30, 36, 38, 32, 35, 39, 37, 34,
    +
    872 44, 49, 43, 32, 30, 29, 23, 15, 11, 3, -36, -74, -70, -39, -35, -38, -23, -20,
    +
    873 -44, -51, -38, -40, -42, -22, -16, -35, -28, -2, -3, -21, -18, -14, -29, -31,
    +
    874 -21, -22, -26, -11, -2, -15, -20, -12, -17, -31, -25, -6, 3, 9, 28, 37, 32, 27,
    +
    875 32, 28, 17, 24, 36, 36, 29, 34, 36, 26, 15, 8, 0, -6, -3, 0, 0, 1, 4, 1, -2, -5,
    +
    876 -7, -10, -14, -16, -15, -10, -19, -25, -24, -21, -26, -25, -11, -9, -12, -11,
    +
    877 -6, -10, -12, -6, -4, -5, -2, 2, 1, 1, 4, 5, 4, 6, 10, 11, 15, 18, 21, 20, 24,
    +
    878 33, 36, 32, 26, 32, 35, 38, 41, 45, 45, 41, 46, 50, 47, 34, 27, 24, 15, 5, 5, 6,
    +
    879 -25, -66, -71, -42, -34, -43, -31, -18, -35, -53, -37, -33, -43, -38, -18, -23,
    +
    880 -32, -7, 9, -9, -27, -17, -17, -33, -33, -23, -22, -25, -17, -14, -19, -18, -12,
    +
    881 -16, -20, -12, 0, 10, 15, 22, 24, 29, 30, 25, 22, 25, 29, 26, 26, 26, 27, 27,
    +
    882 19, 10, 5, 9, 6, 1, 3, 5, 0, -4, 0, -5, -15, -15, -9, -9, -10, -6, -11, -23,
    +
    883 -28, -22, -22, -21, -10, 0, -3, -10, -6, -3, -4, -8, -5, 0, 0, 1, 1, 2, -2, -7,
    +
    884 -6, -2, 2, 1, 5, 10, 15, 19, 25, 33, 34, 31, 27, 28, 34, 43, 46, 46, 41, 37, 37,
    +
    885 44, 50, 41, 27, 18, 11, 4, 6, 5, -32, -67, -64, -35, -34, -43, -28, -18, -36,
    +
    886 -56, -45, -37, -37, -34, -21, -19, -13, 1, 5, -9, -21, -16, -19, -25, -29, -20,
    +
    887 -13, -9, -11, -14, -14, -20, -27, -31, -22, -12, -4, 0, 6, 11, 16, 19, 16, 16,
    +
    888 21, 26, 24, 27, 34, 39, 34, 28, 23, 17, 15, 14, 11, 5, 2, 2, 1, -1, -5, -12,
    +
    889 -15, -14, -12, -9, -5, -8, -20, -27, -24, -19, -15, -10, -3, -2, -3, -4, -5, -5,
    +
    890 -2, -2, -4, -1, 6, 6, 1, -2, -2, -5, -5, 0, 1, 3, 8, 15, 15, 18, 26, 27, 23, 22,
    +
    891 26, 27, 33, 41, 43, 41, 39, 39, 38, 43, 43, 39, 30, 25, 21, 22, 15, -28, -71,
    +
    892 -72, -30, -25, -42, -39, -20, -36, -70, -68, -47, -30, -36, -34, -32, -13, 2, 4,
    +
    893 -10, -19, -14, -14, -15, -21, -13, -6, 2, -7, -14, -12, -12, -24, -38, -33, -22,
    +
    894 -9, -3, 2, 4, 7, 8, 3, 4, 14, 27, 28, 29, 37, 46, 47, 42, 36, 29, 25, 22, 19,
    +
    895 18, 19, 16, 9, 5, 3, -3, -15, -23, -23, -20, -18, -21, -27, -34, -37, -36, -30,
    +
    896 -22, -14, -9, -9, -13, -14, -6, 1, 0, -6, -2, 7, 9, 2, -1, -1, -1, -2, -3, -1,
    +
    897 3, 9, 11, 15, 23, 30, 27, 23, 26, 30, 32, 36, 43, 47, 52, 52, 49, 46, 52, 52,
    +
    898 43, 32, 28, 27, 25, 18, -15, -53, -61, -32, -27, -38, -39, -27, -44, -70, -67,
    +
    899 -45, -34, -43, -46, -43, -24, -12, -11, -22, -22, -18, -22, -21, -17, -8, -10,
    +
    900 -5, -5, -5, -7, -11, -22, -31, -20, -9, -3, -6, 0, 4, 4, 2, 0, 4, 10, 19, 19,
    +
    901 24, 34, 43, 42, 38, 37, 32, 27, 24, 27, 25, 23, 21, 16, 11, 5, 2, -5, -10, -13,
    +
    902 -16, -19, -20, -20, -31, -42, -47, -40, -33, -27, -19, -14, -14, -20, -21, -16,
    +
    903 -8, -5, -4, 0, 6, 10, 9, 5, -1, -6, -6, -2, 3, 7, 16, 19, 16, 14, 19, 23, 20,
    +
    904 20, 26, 34, 39, 43, 47, 48, 45, 41, 44, 51, 52, 46, 41, 42, 40, 33, 12, -24,
    +
    905 -52, -43, -21, -22, -32, -27, -27, -56, -75, -63, -44, -48, -58, -56, -43, -25,
    +
    906 -14, -16, -28, -28, -27, -27, -23, -11, 0, 3, 5, 3, 1, -1, -6, -19, -23, -12,
    +
    907 -1, 3, 6, 9, 6, -1, -7, -8, -4, 6, 13, 19, 27, 35, 37, 34, 31, 26, 24, 25, 27,
    +
    908 27, 31, 35, 29, 16, 9, 8, 1, -8, -12, -10, -9, -11, -14, -20, -30, -46, -57,
    +
    909 -55, -43, -31, -22, -16, -16, -18, -21, -20, -17, -14, -7, 0, 7, 9, 9, 7, 6, 2,
    +
    910 -2, -2, 2, 7, 10, 14, 18, 23, 29, 31, 29, 25, 24, 27, 36, 43, 47, 48, 50, 48,
    +
    911 44, 44, 43, 42, 43, 46, 45, 44, 35, -1, -48, -60, -30, -13, -22, -28, -28, -48,
    +
    912 -78, -80, -62, -50, -51, -52, -50, -39, -25, -21, -31, -34, -29, -27, -23, -15,
    +
    913 -5, 1, 7, 7, 0, -6, -4, -6, -13, -13, -4, 6, 10, 9, 3, -3, -7, -8, -5, 6, 16,
    +
    914 18, 21, 27, 31, 29, 27, 25, 24, 27, 30, 29, 29, 33, 32, 23, 12, 9, 4, -3, -8,
    +
    915 -7, -2, -4, -13, -22, -24, -28, -38, -47, -46, -41, -35, -26, -18, -16, -22,
    +
    916 -26, -25, -20, -14, -6, 2, 7, 11, 11, 9, 5, 0, -3, 2, 9, 13, 16, 17, 18, 16, 17,
    +
    917 23, 27, 27, 26, 29, 33, 40, 45, 49, 50, 49, 46, 43, 44, 44, 45, 41, 39, 36, 35,
    +
    918 24, -2, -36, -51, -41, -26, -23, -30, -34, -47, -66, -78, -68, -55, -52, -56,
    +
    919 -55, -42, -28, -22, -29, -35, -35, -29, -23, -14, -5, 2, 5, 5, 1, -2, 1, 1, -4,
    +
    920 -7, 1, 10, 12, 9, 7, 5, 2, -1, -3, 1, 12, 21, 21, 18, 21, 26, 27, 25, 24, 25,
    +
    921 27, 29, 29, 31, 30, 24, 15, 8, 5, 5, 4, 1, -1, -5, -10, -18, -23, -24, -31, -45,
    +
    922 -51, -41, -26, -20, -21, -23, -26, -31, -33, -26, -11, -2, -3, -6, -1, 7, 8, 3,
    +
    923 1, 3, 6, 10, 12, 15, 19, 20, 16, 15, 20, 26, 29, 30, 34, 37, 36, 33, 33, 36, 40,
    +
    924 42, 42, 40, 39, 40, 38, 34, 30, 24, 20, 18, 16, 2, -23, -46, -50, -42, -34, -33,
    +
    925 -35, -43, -58, -70, -71, -62, -55, -51, -47, -41, -36, -31, -29, -29, -28, -28,
    +
    926 -22, -14, -4, 2, 8, 8, 4, 2, 3, 7, 4, 2, 4, 9, 10, 10, 9, 7, 4, 1, 1, 3, 10, 15,
    +
    927 17, 16, 16, 17, 19, 20, 19, 18, 21, 28, 30, 29, 25, 23, 18, 11, 7, 5, 4, 0, -3,
    +
    928 -7, -8, -11, -16, -23, -28, -33, -41, -45, -43, -34, -24, -18, -20, -21, -19,
    +
    929 -17, -17, -15, -9, -4, 0, 1, 4, 6, 8, 8, 8, 10, 13, 18, 20, 20, 19, 24, 26, 28,
    +
    930 31, 31, 29, 32, 39, 39, 37, 33, 33, 34, 38, 43, 43, 41, 36, 34, 30, 33, 37, 36,
    +
    931 25, 12, 4, -11, -31, -45, -42, -37, -33, -34, -39, -50, -61, -67, -70, -64, -56,
    +
    932 -48, -47, -45, -39, -30, -27, -30, -30, -26, -17, -9, -1, 4, 10, 10, 7, 4, 6, 6,
    +
    933 3, 1, 3, 8, 11, 9, 3, -1, -5, -7, -9, -3, 5, 11, 11, 10, 14, 15, 14, 10, 13, 16,
    +
    934 21, 23, 25, 23, 17, 13, 11, 11, 10, 14, 13, 9, 2, -1, -3, -8, -10, -13, -14,
    +
    935 -20, -29, -38, -41, -38, -32, -26, -19, -17, -17, -16, -16, -14, -8, 0, 3, 5, 6,
    +
    936 6, 4, 3, 0, 1, 9, 17, 18, 16, 19, 21, 22, 21, 26, 32, 33, 31, 32, 33, 29, 25,
    +
    937 25, 30, 40, 48, 50, 42, 34, 30, 28, 31, 36, 45, 41, 25, 8, 1, -6, -24, -42, -52,
    +
    938 -48, -42, -35, -40, -45, -54, -65, -77, -80, -67, -53, -43, -42, -38, -36, -30,
    +
    939 -28, -26, -24, -19, -9, 1, 8, 10, 16, 17, 13, 5, 4, 6, 9, 6, 6, 11, 13, 8, 1,
    +
    940 -2, -3, -2, 1, 8, 13, 16, 17, 16, 15, 12, 13, 16, 21, 21, 21, 23, 24, 22, 18,
    +
    941 16, 10, 7, 4, 4, 2, -4, -8, -11, -14, -18, -20, -22, -23, -26, -33, -39, -39,
    +
    942 -29, -21, -17, -16, -16, -14, -18, -18, -16, -4, 3, 4, 3, 5, 9, 7, 4, 0, 6, 9,
    +
    943 14, 15, 17, 20, 21, 23, 23, 25, 30, 36, 37, 33, 30, 33, 36, 36, 35, 40, 46, 46,
    +
    944 40, 33, 30, 30, 36, 36, 34, 25, 17, 2, -8, -13, -17, -31, -54, -58, -50, -37,
    +
    945 -45, -51, -56, -61, -71, -72, -59, -51, -44, -41, -35, -35, -28, -20, -16, -19,
    +
    946 -19, -11, -1, 10, 11, 12, 8, 7, 4, 6, 11, 12, 9, 4, 10, 13, 14, 9, 5, -1, -6,
    +
    947 -4, 3, 12, 16, 16, 11, 8, 7, 13, 17, 18, 15, 12, 13, 13, 16, 16, 12, 5, -2, -5,
    +
    948 -7, -1, 2, -1, -7, -9, -10, -12, -16, -17, -16, -16, -20, -32, -38, -37, -27,
    +
    949 -14, -2, 2, -4, -8, -14, -15, -12, -1, 7, 9, 7, 5, 8, 9, 7, 3, 5, 11, 18, 19,
    +
    950 18, 17, 21, 25, 24, 25, 29, 30, 29, 28, 32, 34, 31, 33, 29, 32, 28, 30, 28, 26,
    +
    951 28, 26, 32, 25, 25, 19, 14, 1, -9, -3, -4, -19, -58, -69, -57, -31, -34, -41,
    +
    952 -37, -41, -57, -79, -66, -52, -36, -37, -32, -25, -19, -10, -16, -17, -20, -10,
    +
    953 -1, 7, 13, 17, 21, 19, 14, 10, 13, 14, 14, 10, 12, 14, 13, 8, 1, 0, -4, -3, -2,
    +
    954 4, 5, 2, 1, 4, 6, 5, 5, 9, 10, 8, 10, 13, 16, 15, 16, 12, 5, -1, -3, -2, -3, -2,
    +
    955 -2, -5, -10, -13, -16, -16, -19, -19, -21, -20, -21, -27, -25, -25, -18, -11,
    +
    956 -2, -3, -14, -16, -17, -14, -10, 0, 9, 12, 10, 7, 9, 13, 12, 8, 5, 6, 10, 14,
    +
    957 18, 20, 23, 20, 16, 16, 19, 21, 25, 28, 29, 26, 24, 28, 29, 32, 29, 28, 26, 20,
    +
    958 18, 16, 28, 36, 37, 27, 12, 11, -1, -5, -11, 0, 3, -14, -41, -66, -61, -48, -32,
    +
    959 -38, -39, -41, -43, -56, -63, -54, -46, -34, -32, -22, -18, -8, -3, -1, -2, -2,
    +
    960 5, 8, 9, 8, 15, 24, 25, 18, 11, 4, -1, -8, -9, -4, 1, 8, 3, -1, -8, -8, -10,
    +
    961 -10, -3, 0, 3, 3, 5, 6, 8, 11, 12, 10, 8, 8, 13, 17, 18, 20, 19, 17, 9, 4, 4, 4,
    +
    962 6, 2, -3, -5, -5, -8, -11, -14, -15, -19, -23, -30, -35, -34, -32, -22, -14, -1,
    +
    963 -4, -6, -12, -14, -9, -7, 4, 7, 13, 11, 11, 11, 13, 13, 16, 17, 14, 13, 14, 18,
    +
    964 14, 15, 15, 19, 17, 13, 14, 17, 20, 18, 19, 17, 14, 9, 13, 21, 30, 29, 26, 21,
    +
    965 17, 16, 18, 30, 33, 32, 24, 21, 21, 16, 13, 7, 9, -2, -33, -67, -71, -46, -31,
    +
    966 -39, -43, -37, -38, -58, -73, -65, -52, -43, -43, -34, -17, -1, 4, -3, -8, -10,
    +
    967 -5, 2, 11, 16, 20, 24, 24, 16, 5, 3, 2, -3, -11, -7, 2, 10, 6, -4, -7, -11, -14,
    +
    968 -22, -20, -11, -2, 4, 1, 5, 10, 15, 11, 4, 5, 12, 18, 18, 19, 22, 24, 17, 7, 0,
    +
    969 0, 1, -2, -1, 0, 0, -6, -10, -13, -18, -23, -25, -20, -15, -14, -16, -17, -21,
    +
    970 -24, -21, -10, -4, -7, -11, -9, -2, 5, 11, 15, 16, 16, 12, 10, 13, 16, 17, 11,
    +
    971 8, 7, 12, 17, 14, 13, 10, 10, 8, 8, 12, 11, 14, 12, 16, 20, 18, 18, 17, 20, 20,
    +
    972 23, 27, 32, 33, 29, 22, 25, 29, 30, 26, 16, 19, 22, 32, 28, 21, 17, 13, 8, -38,
    +
    973 -74, -83, -48, -26, -36, -37, -34, -24, -52, -73, -76, -57, -40, -43, -40, -25,
    +
    974 0, 7, 4, -2, -7, -13, -9, -3, 3, 6, 15, 24, 17, 7, -1, -2, -12, -21, -24, -15,
    +
    975 2, 6, 1, -9, -11, -13, -19, -26, -22, -7, 3, 6, 7, 13, 18, 18, 10, 8, 13, 19,
    +
    976 20, 17, 16, 18, 22, 18, 11, 2, 0, 0, -3, -8, -11, -5, -3, -2, -5, -10, -9, -13,
    +
    977 -16, -20, -15, -8, -12, -14, -14, -1, 4, 1, -2, -7, -1, 0, 2, 4, 10, 21, 20, 16,
    +
    978 6, 3, 5, 5, 6, 0, 4, 10, 11, 8, 0, 1, 1, 5, 4, 3, 6, 13, 17, 17, 15, 20, 21, 14,
    +
    979 9, 10, 23, 28, 32, 27, 25, 28, 31, 28, 23, 21, 24, 18, 11, 14, 16, 27, 22, 27,
    +
    980 18, 21, -7, -58, -72, -64, -22, -29, -25, -33, -22, -31, -64, -73, -71, -43,
    +
    981 -46, -41, -38, -10, 4, 2, -8, -13, -15, -20, -12, -12, 4, 9, 22, 16, 8, 7, 1,
    +
    982 -3, -23, -31, -30, -11, 5, 7, 8, 8, 2, -10, -23, -25, -18, -5, 4, 8, 19, 22, 22,
    +
    983 9, -3, -3, 4, 12, 13, 17, 23, 24, 23, 19, 14, 9, 1, -2, -5, 2, 11, 17, 20, 14,
    +
    984 7, -2, -7, -14, -19, -13, -7, -3, -4, -11, -14, -13, -7, -7, -13, -12, -11, -3,
    +
    985 0, 3, 8, 10, 10, -2, -3, 1, 8, 12, 8, 10, 7, 5, 1, 1, 6, 4, 5, 5, 9, 14, 15, 15,
    +
    986 10, 6, 2, 1, 6, 11, 16, 16, 15, 16, 12, 10, 6, 9, 16, 20, 22, 19, 22, 25, 27,
    +
    987 29, 22, 22, 14, 13, 10, 8, 14, 17, 26, -11, -45, -70, -51, -31, -28, -27, -28,
    +
    988 -11, -28, -43, -63, -52, -39, -39, -42, -35, -14, -7, -3, -11, -16, -22, -16,
    +
    989 -14, -13, -12, -9, -3, -3, -4, -6, 0, -4, -13, -19, -14, -1, 10, 12, 10, 10, 12,
    +
    990 7, -1, -2, 2, 14, 18, 19, 19, 24, 27, 17, 11, 9, 13, 13, 10, 13, 19, 23, 20, 12,
    +
    991 9, 6, 4, 0, -5, -4, -1, 6, 2, -6, -15, -19, -21, -28, -28, -26, -19, -18, -17,
    +
    992 -14, -10, -9, -12, -9, -5, -1, -3, 0, 5, 9, 10, 7, 5, -1, 1, 6, 12, 12, 6, 5, 6,
    +
    993 12, 13, 12, 12, 12, 14, 14, 14, 15, 17, 19, 18, 18, 18, 17, 15, 10, 12, 16, 20,
    +
    994 19, 21, 25, 24, 20, 15, 18, 22, 26, 15, 11, 14, 19, 18, 8, 12, 11, 15, -13, -46,
    +
    995 -60, -47, -21, -30, -32, -34, -16, -23, -47, -63, -59, -39, -40, -43, -37, -18,
    +
    996 -7, -13, -26, -28, -23, -18, -24, -18, -6, 3, 4, -3, 0, 2, 5, -5, -13, -11, -1,
    +
    997 7, 10, 11, 14, 14, 9, 2, -1, 3, 6, 11, 12, 18, 20, 21, 15, 11, 9, 9, 10, 7, 9,
    +
    998 13, 19, 15, 13, 13, 12, 5, -5, -8, -5, 2, 3, -1, -3, -7, -12, -21, -28, -32,
    +
    999 -32, -25, -19, -9, -5, -4, -9, -13, -15, -14, -11, -8, 0, 7, 16, 3, };
    +
    1000 
    +
    1001  #endif /* BURROUGHS1_18649_H_ */
    +
    + + + diff --git a/doc/html/char2mozzi-old_8py_source.html b/doc/html/char2mozzi-old_8py_source.html index 41274626e..96851c75a 100644 --- a/doc/html/char2mozzi-old_8py_source.html +++ b/doc/html/char2mozzi-old_8py_source.html @@ -3,46 +3,44 @@ + Mozzi: python/char2mozzi-old.py Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,90 +99,92 @@
    -
    python/char2mozzi-old.py
    +
    char2mozzi-old.py
    -
    00001 ##    char2mozzi.py
    -00002 ##    Created 2010-12 by Tim Barrass
    -00003 ##
    -00004 ##    char2mozzi.py converts raw 8 bit sound data to wavetables for Mozzi.
    -00005 ##
    -00006 ##    Usage: python char2mozzi.py <infilename outfilename "tablename" "samplerate">
    -00007 ##
    -00008 ##    Using Audacity to prepare raw sound files for converting:
    -00009 ##
    -00010 ##    Set your Audacity project sample rate:
    -00011 ##
    -00012 ##                              For generated waveforms like sine or sawtooth, set the project
    -00013 ##                              rate to the size of the wavetable you wish to create, which must
    -00014 ##                              be a power of two (eg. 8192), and set the selection format
    -00015 ##                              (beneath the editing window) to samples. Then you can generate
    -00016 ##                              and save 1 second of a waveform and it will fit your table
    -00017 ##                              length.
    -00018 ##
    -00019 ##                              For a recorded audio sample, set the project rate to the
    -00020 ##                              Mozzi AUDIO_RATE (16384 in the current version). Then edit
    -00021 ##                              your sounds to a power-of-two number of samples.
    -00022 ##
    -00023 ##    Save by exporting with the format set to "Other uncompressed formats",
    -00024 ##    options set to "RAW(headerless)" and "Encoding 8 bit signed PCM".
    -00025 
    -00026 
    -00027 import sys, array, os, textwrap
    -00028 
    -00029 if len(sys.argv) != 5:
    -00030         print 'Usage: char2mozzi.py <infilename outfilename "tablename" "samplerate">'
    -00031         sys.exit(1)
    -00032 
    -00033 [infilename, outfilename, tablename, samplerate] = sys.argv[1:]
    -00034 
    -00035 def char2mozzi(infilename, outfilename, tablename, samplerate):
    -00036     fin = open(os.path.expanduser(infilename), "rb")
    -00037     print "opened " + infilename
    -00038     bytestoread = os.path.getsize(os.path.expanduser(infilename))
    -00039     ##print bytestoread
    -00040     valuesfromfile = array.array('b') # array of signed char ints
    -00041     try:
    -00042         valuesfromfile.fromfile(fin, bytestoread)
    -00043     finally:
    -00044         fin.close()
    -00045 
    -00046     values=valuesfromfile.tolist()
    -00047 ##    print values[0]
    -00048 ##    print values[len(values)-1]
    -00049 ##    print len(values)
    -00050     fout = open(os.path.expanduser(outfilename), "w")
    -00051     fout.write('#ifndef ' + tablename + '_H_' + '\n')
    -00052     fout.write('#define ' + tablename + '_H_' + '\n \n')
    -00053     fout.write('#if ARDUINO >= 100'+'\n')
    -00054     fout.write('#include "Arduino.h"'+'\n')
    -00055     fout.write('#else'+'\n')
    -00056     fout.write('#include "WProgram.h"'+'\n')
    -00057     fout.write('#endif'+'\n')   
    -00058     fout.write('#include <avr/pgmspace.h>'+'\n \n')
    -00059     fout.write('#define ' + tablename + '_NUM_CELLS '+ str(len(values))+'\n')
    -00060     fout.write('#define ' + tablename + '_SAMPLERATE '+ str(samplerate)+'\n \n')
    -00061     outstring = 'const char __attribute__((progmem)) ' + tablename + '_DATA [] = {'
    -00062     try:
    -00063         for num in values:
    -00064             outstring += str(num) + ", "
    -00065     finally:
    -00066         outstring +=  "};"
    -00067         outstring = textwrap.fill(outstring, 80)
    -00068         fout.write(outstring)
    -00069         fout.write('\n \n #endif /* ' + tablename + '_H_ */\n')
    -00070         fout.close()
    -00071         print "wrote " + outfilename
    -00072 
    -00073 char2mozzi(infilename, outfilename, tablename, samplerate)
    -
    - - - - +
    1 ## char2mozzi.py
    +
    2 ## Created 2010-12 by Tim Barrass
    +
    3 ##
    +
    4 ## char2mozzi.py converts raw 8 bit sound data to wavetables for Mozzi.
    +
    5 ##
    +
    6 ## Usage: python char2mozzi.py <infilename outfilename "tablename" "samplerate">
    +
    7 ##
    +
    8 ## Using Audacity to prepare raw sound files for converting:
    +
    9 ##
    +
    10 ## Set your Audacity project sample rate:
    +
    11 ##
    +
    12 ## For generated waveforms like sine or sawtooth, set the project
    +
    13 ## rate to the size of the wavetable you wish to create, which must
    +
    14 ## be a power of two (eg. 8192), and set the selection format
    +
    15 ## (beneath the editing window) to samples. Then you can generate
    +
    16 ## and save 1 second of a waveform and it will fit your table
    +
    17 ## length.
    +
    18 ##
    +
    19 ## For a recorded audio sample, set the project rate to the
    +
    20 ## Mozzi AUDIO_RATE (16384 in the current version). Then edit
    +
    21 ## your sounds to a power-of-two number of samples.
    +
    22 ##
    +
    23 ## Save by exporting with the format set to "Other uncompressed formats",
    +
    24 ## options set to "RAW(headerless)" and "Encoding 8 bit signed PCM".
    +
    25 
    +
    26 
    +
    27 import sys, array, os, textwrap
    +
    28 
    +
    29 if len(sys.argv) != 5:
    +
    30  print 'Usage: char2mozzi.py <infilename outfilename "tablename" "samplerate">'
    +
    31  sys.exit(1)
    +
    32 
    +
    33 [infilename, outfilename, tablename, samplerate] = sys.argv[1:]
    +
    34 
    +
    35 def char2mozzi(infilename, outfilename, tablename, samplerate):
    +
    36  fin = open(os.path.expanduser(infilename), "rb")
    +
    37  print "opened " + infilename
    +
    38  bytestoread = os.path.getsize(os.path.expanduser(infilename))
    +
    39  ##print bytestoread
    +
    40  valuesfromfile = array.array('b') # array of signed char ints
    +
    41  try:
    +
    42  valuesfromfile.fromfile(fin, bytestoread)
    +
    43  finally:
    +
    44  fin.close()
    +
    45 
    +
    46  values=valuesfromfile.tolist()
    +
    47 ## print values[0]
    +
    48 ## print values[len(values)-1]
    +
    49 ## print len(values)
    +
    50  fout = open(os.path.expanduser(outfilename), "w")
    +
    51  fout.write('#ifndef ' + tablename + '_H_' + '\n')
    +
    52  fout.write('#define ' + tablename + '_H_' + '\n \n')
    +
    53  fout.write('#if ARDUINO >= 100'+'\n')
    +
    54  fout.write('#include "Arduino.h"'+'\n')
    +
    55  fout.write('#else'+'\n')
    +
    56  fout.write('#include "WProgram.h"'+'\n')
    +
    57  fout.write('#endif'+'\n')
    +
    58  fout.write('#include <avr/pgmspace.h>'+'\n \n')
    +
    59  fout.write('#define ' + tablename + '_NUM_CELLS '+ str(len(values))+'\n')
    +
    60  fout.write('#define ' + tablename + '_SAMPLERATE '+ str(samplerate)+'\n \n')
    +
    61  outstring = 'const char __attribute__((progmem)) ' + tablename + '_DATA [] = {'
    +
    62  try:
    +
    63  for num in values:
    +
    64  outstring += str(num) + ", "
    +
    65  finally:
    +
    66  outstring += "};"
    +
    67  outstring = textwrap.fill(outstring, 80)
    +
    68  fout.write(outstring)
    +
    69  fout.write('\n \n #endif /* ' + tablename + '_H_ */\n')
    +
    70  fout.close()
    +
    71  print "wrote " + outfilename
    +
    72 
    +
    73 char2mozzi(infilename, outfilename, tablename, samplerate)
    +
    + + + diff --git a/doc/html/char2mozzi_8py_source.html b/doc/html/char2mozzi_8py_source.html index 49b728b69..9aad540bf 100644 --- a/doc/html/char2mozzi_8py_source.html +++ b/doc/html/char2mozzi_8py_source.html @@ -3,46 +3,44 @@ + Mozzi: python/char2mozzi.py Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,93 +99,97 @@
    -
    python/char2mozzi.py
    +
    char2mozzi.py
    -
    00001 ##    char2mozzi.py
    -00002 ##    Created 2010-12 by Tim Barrass
    -00003 ##
    -00004 ##    char2mozzi.py converts raw 8 bit sound data to wavetables for Mozzi.
    -00005 ##
    -00006 ##    Usage: python char2mozzi.py <infilename outfilename "tablename" "samplerate">
    -00007 ##
    -00008 ##    Using Audacity to prepare raw sound files for converting:
    -00009 ##
    -00010 ##    Set your Audacity project sample rate:
    -00011 ##
    -00012 ##                              For generated waveforms like sine or sawtooth, set the project
    -00013 ##                              rate to the size of the wavetable you wish to create, which must
    -00014 ##                              be a power of two (eg. 8192), and set the selection format
    -00015 ##                              (beneath the editing window) to samples. Then you can generate
    -00016 ##                              and save 1 second of a waveform and it will fit your table
    -00017 ##                              length.
    -00018 ##
    -00019 ##                              For a recorded audio sample, set the project rate to the
    -00020 ##                              Mozzi AUDIO_RATE (16384 in the current version). Then edit
    -00021 ##                              your sounds to a power-of-two number of samples.
    -00022 ##
    -00023 ##    Save by exporting with the format set to "Other uncompressed formats",
    -00024 ##    options set to "RAW(headerless)" and "Encoding 8 bit signed PCM".
    -00025 
    -00026 
    -00027 import sys, array, os, textwrap, random
    -00028 
    -00029 if len(sys.argv) != 5:
    -00030         print 'Usage: char2mozzi.py <infilename outfilename "tablename" "samplerate">'
    -00031         sys.exit(1)
    -00032 
    -00033 [infilename, outfilename, tablename, samplerate] = sys.argv[1:]
    -00034 
    -00035 def char2mozzi(infilename, outfilename, tablename, samplerate):
    -00036     fin = open(os.path.expanduser(infilename), "rb")
    -00037     print "opened " + infilename
    -00038     bytestoread = os.path.getsize(os.path.expanduser(infilename))
    -00039     ##print bytestoread
    -00040     valuesfromfile = array.array('b') # array of signed char ints
    -00041     try:
    -00042         valuesfromfile.fromfile(fin, bytestoread)
    -00043     finally:
    -00044         fin.close()
    -00045 
    -00046     values=valuesfromfile.tolist()
    -00047 ##    print values[0]
    -00048 ##    print values[len(values)-1]
    -00049 ##    print len(values)
    -00050     fout = open(os.path.expanduser(outfilename), "w")
    -00051     fout.write('#ifndef ' + tablename + '_H_' + '\n')
    -00052     fout.write('#define ' + tablename + '_H_' + '\n \n')
    -00053     fout.write('#if ARDUINO >= 100'+'\n')
    -00054     fout.write('#include "Arduino.h"'+'\n')
    -00055     fout.write('#else'+'\n')
    -00056     fout.write('#include "WProgram.h"'+'\n')
    -00057     fout.write('#endif'+'\n')   
    -00058     fout.write('#include <avr/pgmspace.h>'+'\n \n')
    -00059     fout.write('#define ' + tablename + '_NUM_CELLS '+ str(len(values))+'\n')
    -00060     fout.write('#define ' + tablename + '_SAMPLERATE '+ str(samplerate)+'\n \n')
    -00061     outstring = 'const char __attribute__((progmem)) ' + tablename + '_DATA [] = {'
    -00062     try:
    -00063         for i in range(len(values)):
    -00064                 ## mega2560 boards won't upload if there is 33, 33, 33 in the array, so dither the 3rd 33 if there is one
    -00065                 if (values[i] == 33) and (values[i+1] == 33) and (values[i+2] == 33):
    -00066                         values[i+2] = random.choice([32, 34])
    -00067                 outstring += str(values[i]) + ", "
    -00068     finally:
    -00069         outstring +=  "};"
    -00070         outstring = textwrap.fill(outstring, 80)
    -00071         fout.write(outstring)
    -00072         fout.write('\n \n #endif /* ' + tablename + '_H_ */\n')
    -00073         fout.close()
    -00074         print "wrote " + outfilename
    -00075 
    -00076 char2mozzi(infilename, outfilename, tablename, samplerate)
    -
    - - - - +
    1 ## char2mozzi.py
    +
    2 ## Created 2010-12 by Tim Barrass
    +
    3 
    +
    4 ##@ingroup Soundtables
    +
    5 # @brief char2mozzi.py converts raw 8 bit sound data to wavetables for Mozzi.
    +
    6 #
    +
    7 # Usage: python char2mozzi.py <infilename outfilename "tablename" "samplerate">
    +
    8 #
    +
    9 # Using Audacity to prepare raw sound files for converting:
    +
    10 #
    +
    11 # Set your Audacity project sample rate:
    +
    12 #
    +
    13 # For generated waveforms like sine or sawtooth, set the project
    +
    14 # rate to the size of the wavetable you wish to create, which must
    +
    15 # be a power of two (eg. 8192), and set the selection format
    +
    16 # (beneath the editing window) to samples. Then you can generate
    +
    17 # and save 1 second of a waveform and it will fit your table
    +
    18 # length.
    +
    19 #
    +
    20 # For a recorded audio sample, set the project rate to the
    +
    21 # Mozzi AUDIO_RATE (16384 in the current version). Then edit
    +
    22 # your sounds to a power-of-two number of samples.
    +
    23 #
    +
    24 # Save by exporting with the format set to "Other uncompressed formats",
    +
    25 # options set to "RAW(headerless)" and "Encoding 8 bit signed PCM".
    +
    26 
    +
    27 
    +
    28 
    +
    29 import sys, array, os, textwrap, random
    +
    30 
    +
    31 if len(sys.argv) != 5:
    +
    32  print 'Usage: char2mozzi.py <infilename outfilename "tablename" "samplerate">'
    +
    33  sys.exit(1)
    +
    34 
    +
    35 [infilename, outfilename, tablename, samplerate] = sys.argv[1:]
    +
    36 
    +
    37 def char2mozzi(infilename, outfilename, tablename, samplerate):
    +
    38  fin = open(os.path.expanduser(infilename), "rb")
    +
    39  print "opened " + infilename
    +
    40  bytestoread = os.path.getsize(os.path.expanduser(infilename))
    +
    41  ##print bytestoread
    +
    42  valuesfromfile = array.array('b') # array of signed char ints
    +
    43  try:
    +
    44  valuesfromfile.fromfile(fin, bytestoread)
    +
    45  finally:
    +
    46  fin.close()
    +
    47 
    +
    48  values=valuesfromfile.tolist()
    +
    49 ## print values[0]
    +
    50 ## print values[len(values)-1]
    +
    51 ## print len(values)
    +
    52  fout = open(os.path.expanduser(outfilename), "w")
    +
    53  fout.write('#ifndef ' + tablename + '_H_' + '\n')
    +
    54  fout.write('#define ' + tablename + '_H_' + '\n \n')
    +
    55  fout.write('#if ARDUINO >= 100'+'\n')
    +
    56  fout.write('#include "Arduino.h"'+'\n')
    +
    57  fout.write('#else'+'\n')
    +
    58  fout.write('#include "WProgram.h"'+'\n')
    +
    59  fout.write('#endif'+'\n')
    +
    60  fout.write('#include <avr/pgmspace.h>'+'\n \n')
    +
    61  fout.write('#define ' + tablename + '_NUM_CELLS '+ str(len(values))+'\n')
    +
    62  fout.write('#define ' + tablename + '_SAMPLERATE '+ str(samplerate)+'\n \n')
    +
    63  outstring = 'const char __attribute__((progmem)) ' + tablename + '_DATA [] = {'
    +
    64  try:
    +
    65  for i in range(len(values)):
    +
    66  ## mega2560 boards won't upload if there is 33, 33, 33 in the array, so dither the 3rd 33 if there is one
    +
    67  if (values[i] == 33) and (values[i+1] == 33) and (values[i+2] == 33):
    +
    68  values[i+2] = random.choice([32, 34])
    +
    69  outstring += str(values[i]) + ", "
    +
    70  finally:
    +
    71  outstring += "};"
    +
    72  outstring = textwrap.fill(outstring, 80)
    +
    73  fout.write(outstring)
    +
    74  fout.write('\n \n #endif /* ' + tablename + '_H_ */\n')
    +
    75  fout.close()
    +
    76  print "wrote " + outfilename
    +
    77 
    +
    78 char2mozzi(infilename, outfilename, tablename, samplerate)
    +
    + + + diff --git a/doc/html/chebyshev__int8_8py_source.html b/doc/html/chebyshev__int8_8py_source.html index c0d594e05..663dad61a 100644 --- a/doc/html/chebyshev__int8_8py_source.html +++ b/doc/html/chebyshev__int8_8py_source.html @@ -3,46 +3,44 @@ + Mozzi: python/chebyshev_int8.py Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,76 +99,78 @@
    -
    python/chebyshev_int8.py
    +
    chebyshev_int8.py
    -
    00001 ## generates chebyshev polynomial curve tables for WaveShaper
    -00002 
    -00003 import array,os,textwrap,math
    -00004 
    -00005 ##resources:
    -00006 ##http://www.obiwannabe.co.uk/html/music/6SS/six-waveshaper.html
    -00007 ##http://mathworld.wolfram.com/ChebyshevPolynomialoftheFirstKind.html
    -00008 ##The first few Chebyshev polynomials of the first kind are
    -00009 ##T_0(x)        =               1
    -00010 ##T_1(x)        =               x
    -00011 ##T_2(x)        =               2x^2-1
    -00012 ##T_3(x)        =               4x^3-3x
    -00013 ##T_4(x)        =               8x^4-8x^2+1
    -00014 ##T_5(x)        =               16x^5-20x^3+5x
    -00015 ##T_6(x)        =               32x^6-48x^4+18x^2-1
    -00016 
    -00017 
    -00018 def generate(outfilename, tablename, tablelength, curvenum):
    -00019     fout = open(os.path.expanduser(outfilename), "w")
    -00020     fout.write('#ifndef ' + tablename + '_H_' + '\n')
    -00021     fout.write('#define ' + tablename + '_H_' + '\n \n')
    -00022     fout.write('#if ARDUINO >= 100'+'\n')
    -00023     fout.write('#include "Arduino.h"'+'\n')
    -00024     fout.write('#else'+'\n')
    -00025     fout.write('#include "WProgram.h"'+'\n')
    -00026     fout.write('#endif'+'\n')   
    -00027     fout.write('#include <avr/pgmspace.h>'+'\n \n')
    -00028     fout.write('#define ' + tablename + '_NUM_CELLS '+ str(tablelength) +'\n')
    -00029     outstring = 'const char __attribute__((progmem)) ' + tablename + '_DATA [] = {'
    -00030     try:
    -00031         for num in range(tablelength):
    -00032             ## range between -1 and 1 first
    -00033             x = 2*(float(num-(tablelength/2)))/tablelength
    -00034 
    -00035             if curvenum == 3:
    -00036                 t_x = 4*pow(x,3)-3*x
    -00037             elif curvenum == 4:
    -00038                 t_x = 8*pow(x,4)-8*pow(x,2)+1
    -00039             elif curvenum == 5:
    -00040                 t_x = 16*pow(x,5)-20*pow(x,3)+5*x
    -00041             elif curvenum == 6:
    -00042                 t_x = 32*pow(x,6)-48*pow(x,4)+18*pow(x,2)-1
    -00043 
    -00044             scaled = int(math.floor(t_x*127.999))
    -00045 
    -00046             outstring += str(scaled) + ", "
    -00047     finally:
    -00048         outstring +=  "};"
    -00049         outstring = textwrap.fill(outstring, 80)
    -00050         fout.write(outstring)
    -00051         fout.write('\n \n #endif /* ' + tablename + '_H_ */\n')
    -00052         fout.close()
    -00053         print "wrote " + outfilename
    -00054 
    -00055 
    -00056 generate("~/Desktop/waveshaper_chebyshev_3rd_256_int8.h", "CHEBYSHEV_3RD_256", 256, 3)
    -00057 generate("~/Desktop/waveshaper_chebyshev_4th_256_int8.h", "CHEBYSHEV_4TH_256", 256, 4)
    -00058 generate("~/Desktop/waveshaper_chebyshev_5th_256_int8.h", "CHEBYSHEV_5TH_256", 256, 5)
    -00059 generate("~/Desktop/waveshaper_chebyshev_6th_256_int8.h", "CHEBYSHEV_6TH_256", 256, 6)
    -
    - - - - +
    1 ## generates chebyshev polynomial curve tables for WaveShaper
    +
    2 
    +
    3 import array,os,textwrap,math
    +
    4 
    +
    5 ##resources:
    +
    6 ##http://www.obiwannabe.co.uk/html/music/6SS/six-waveshaper.html
    +
    7 ##http://mathworld.wolfram.com/ChebyshevPolynomialoftheFirstKind.html
    +
    8 ##The first few Chebyshev polynomials of the first kind are
    +
    9 ##T_0(x) = 1
    +
    10 ##T_1(x) = x
    +
    11 ##T_2(x) = 2x^2-1
    +
    12 ##T_3(x) = 4x^3-3x
    +
    13 ##T_4(x) = 8x^4-8x^2+1
    +
    14 ##T_5(x) = 16x^5-20x^3+5x
    +
    15 ##T_6(x) = 32x^6-48x^4+18x^2-1
    +
    16 
    +
    17 
    +
    18 def generate(outfilename, tablename, tablelength, curvenum):
    +
    19  fout = open(os.path.expanduser(outfilename), "w")
    +
    20  fout.write('#ifndef ' + tablename + '_H_' + '\n')
    +
    21  fout.write('#define ' + tablename + '_H_' + '\n \n')
    +
    22  fout.write('#if ARDUINO >= 100'+'\n')
    +
    23  fout.write('#include "Arduino.h"'+'\n')
    +
    24  fout.write('#else'+'\n')
    +
    25  fout.write('#include "WProgram.h"'+'\n')
    +
    26  fout.write('#endif'+'\n')
    +
    27  fout.write('#include <avr/pgmspace.h>'+'\n \n')
    +
    28  fout.write('#define ' + tablename + '_NUM_CELLS '+ str(tablelength) +'\n')
    +
    29  outstring = 'const char __attribute__((progmem)) ' + tablename + '_DATA [] = {'
    +
    30  try:
    +
    31  for num in range(tablelength):
    +
    32  ## range between -1 and 1 first
    +
    33  x = 2*(float(num-(tablelength/2)))/tablelength
    +
    34 
    +
    35  if curvenum == 3:
    +
    36  t_x = 4*pow(x,3)-3*x
    +
    37  elif curvenum == 4:
    +
    38  t_x = 8*pow(x,4)-8*pow(x,2)+1
    +
    39  elif curvenum == 5:
    +
    40  t_x = 16*pow(x,5)-20*pow(x,3)+5*x
    +
    41  elif curvenum == 6:
    +
    42  t_x = 32*pow(x,6)-48*pow(x,4)+18*pow(x,2)-1
    +
    43 
    +
    44  scaled = int(math.floor(t_x*127.999))
    +
    45 
    +
    46  outstring += str(scaled) + ", "
    +
    47  finally:
    +
    48  outstring += "};"
    +
    49  outstring = textwrap.fill(outstring, 80)
    +
    50  fout.write(outstring)
    +
    51  fout.write('\n \n #endif /* ' + tablename + '_H_ */\n')
    +
    52  fout.close()
    +
    53  print "wrote " + outfilename
    +
    54 
    +
    55 
    +
    56 generate("~/Desktop/waveshaper_chebyshev_3rd_256_int8.h", "CHEBYSHEV_3RD_256", 256, 3)
    +
    57 generate("~/Desktop/waveshaper_chebyshev_4th_256_int8.h", "CHEBYSHEV_4TH_256", 256, 4)
    +
    58 generate("~/Desktop/waveshaper_chebyshev_5th_256_int8.h", "CHEBYSHEV_5TH_256", 256, 5)
    +
    59 generate("~/Desktop/waveshaper_chebyshev_6th_256_int8.h", "CHEBYSHEV_6TH_256", 256, 6)
    +
    + + + diff --git a/doc/html/chum78__int8_8h_source.html b/doc/html/chum78__int8_8h_source.html index b7fd37d6e..2513b3f68 100644 --- a/doc/html/chum78__int8_8h_source.html +++ b/doc/html/chum78__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: tables/chum78_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,503 +99,505 @@
    -
    tables/chum78_int8.h
    +
    chum78_int8.h
    -
    00001 #ifndef CHUM78_H_
    -00002 #define CHUM78_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 /* A sampled guitar sound
    -00012 */
    -00013 
    -00014 #define CHUM78_NUM_CELLS 8193
    -00015 #define CHUM78_SAMPLERATE 16384
    -00016 
    -00017 const char __attribute__((progmem)) CHUM78_DATA []  =
    -00018         {
    -00019                 -12, -28, -24, -14, -15, -14, -15, -23, -21,
    -00020                 -13, -10, -25, -47, -49, -37, -37, -47, -46, -35, -28, -30, -27, -27, -48, -57,
    -00021                 -52, -34, -30, -56, -59, -44, -38, -38, -37, -35, -39, -59, -65, -56, -61, -57,
    -00022                 -41, -36, -37, -41, -32, -16, -10, -21, -25, 2, 7, -13, -17, -11, -24, -30, -14,
    -00023                 -2, -8, -25, -16, 1, -7, -12, 2, 13, -2, -18, 1, 11, 12, 12, 12, 25, 9, -14,
    -00024                 -12, -5, -6, -1, 12, 1, -15, -2, 20, 28, 25, 7, 9, 30, 15, 2, -1, 1, 21, 30, 27,
    -00025                 33, 26, 14, 14, 20, 32, 35, 23, 21, 25, 32, 43, 42, 49, 42, 23, 23, 21, 23, 16,
    -00026                 9, 12, 12, 21, 33, 29, 12, 11, 10, 10, 14, 18, 29, 23, 6, -9, 8, 22, 16, 6, -19,
    -00027                 -25, -20, 4, 4, -15, -14, -19, -3, 5, 2, -4, -21, -22, 1, 13, -7, -24, -21, -20,
    -00028                 0, 8, -10, -15, -16, -17, -21, -15, -12, -19, -22, -19, -20, -19, -10, -14, -10,
    -00029                 -11, -30, -40, -41, -41, -40, -45, -34, -17, -27, -31, -26, -24, -22, -22, -32,
    -00030                 -45, -44, -42, -43, -43, -52, -48, -29, -25, -41, -61, -62, -61, -58, -40, -40,
    -00031                 -54, -61, -49, -29, -23, -24, -16, -14, -27, -16, -12, -8, -8, -22, -21, -21,
    -00032                 -19, -31, -26, -9, -20, -12, 6, 1, -12, -22, -10, 12, 8, 10, 17, 14, 18, 19, 22,
    -00033                 13, 0, 22, 25, 11, 5, 2, 29, 47, 48, 49, 41, 34, 19, 24, 41, 41, 37, 41, 53, 43,
    -00034                 34, 46, 42, 31, 28, 24, 30, 39, 41, 50, 57, 59, 61, 62, 54, 36, 33, 32, 24, 20,
    -00035                 17, 15, 30, 47, 38, 23, 22, 20, 9, 8, 5, 10, 15, 11, 23, 33, 22, 10, 14, 4, -7,
    -00036                 -8, -18, -21, -23, -31, -27, -22, -11, 1, -11, -22, -21, -26, -37, -38, -44,
    -00037                 -43, -30, -27, -29, -39, -37, -37, -50, -41, -32, -38, -42, -52, -63, -55, -59,
    -00038                 -57, -42, -43, -49, -53, -51, -54, -57, -58, -68, -69, -61, -50, -38, -44, -45,
    -00039                 -28, -25, -28, -34, -54, -51, -36, -32, -37, -47, -35, -25, -19, -20, -43, -47,
    -00040                 -39, -35, -35, -31, -37, -43, -29, -18, -9, -3, -2, 1, -7, 11, 19, 12, 18, 3, 1,
    -00041                 -2, 9, 23, 6, 7, 10, 3, -1, -1, 0, 13, 33, 35, 37, 38, 37, 38, 40, 46, 47, 44,
    -00042                 46, 35, 20, 23, 23, 35, 52, 60, 66, 55, 48, 48, 45, 47, 45, 45, 48, 46, 53, 55,
    -00043                 51, 48, 51, 54, 38, 36, 35, 36, 44, 48, 59, 67, 66, 71, 59, 40, 43, 40, 36, 32,
    -00044                 23, 32, 44, 40, 46, 45, 25, 23, 22, 20, 15, 25, 33, 24, 25, 22, 21, 21, 15, -2,
    -00045                 -8, -3, -3, -8, -11, -14, -19, -8, 4, 2, -11, -19, -18, -20, -23, -27, -30, -27,
    -00046                 -24, -29, -33, -31, -31, -30, -31, -32, -32, -34, -35, -39, -39, -41, -42, -41,
    -00047                 -47, -56, -58, -56, -56, -52, -53, -57, -62, -63, -62, -62, -62, -55, -51, -51,
    -00048                 -46, -50, -65, -69, -62, -58, -56, -65, -68, -53, -46, -44, -48, -59, -70, -69,
    -00049                 -66, -69, -72, -72, -69, -64, -48, -40, -44, -39, -34, -32, -27, -19, -15, -19,
    -00050                 -32, -27, -8, -1, -2, -19, -28, -23, -21, -16, -16, -16, -3, 17, 23, 23, 25, 23,
    -00051                 24, 29, 36, 37, 29, 25, 31, 32, 30, 41, 49, 52, 51, 48, 50, 53, 53, 50, 56, 64,
    -00052                 71, 72, 72, 69, 72, 81, 83, 85, 66, 53, 58, 56, 55, 51, 61, 78, 80, 81, 84, 80,
    -00053                 62, 53, 57, 52, 54, 58, 55, 54, 55, 54, 56, 49, 40, 36, 31, 24, 17, 14, 21, 30,
    -00054                 28, 29, 27, 27, 15, 1, -1, -11, -13, -5, -9, -10, 4, 5, -1, -19, -24, -17, -29,
    -00055                 -31, -35, -39, -26, -28, -35, -34, -38, -41, -36, -36, -38, -39, -40, -40, -41,
    -00056                 -42, -43, -54, -61, -56, -54, -57, -53, -47, -58, -61, -54, -56, -56, -57, -63,
    -00057                 -65, -52, -45, -46, -46, -45, -41, -41, -43, -50, -54, -56, -54, -38, -22, -21,
    -00058                 -22, -32, -40, -35, -42, -47, -41, -41, -43, -44, -36, -22, -20, -14, -10, -10,
    -00059                 -4, -1, 9, 13, 8, 8, 12, 22, 17, 3, 2, -2, -2, 0, 8, 14, 6, 15, 29, 31, 33, 37,
    -00060                 42, 34, 32, 42, 45, 42, 41, 50, 52, 51, 54, 54, 51, 54, 61, 69, 73, 71, 69, 68,
    -00061                 66, 68, 72, 74, 76, 82, 88, 88, 72, 56, 55, 56, 62, 59, 60, 69, 68, 78, 83, 77,
    -00062                 65, 54, 50, 37, 46, 68, 63, 50, 49, 49, 55, 49, 34, 27, 17, 17, 21, 24, 15, 13,
    -00063                 26, 32, 34, 33, 9, -11, -8, -13, -7, -10, -25, -30, -25, -17, -33, -41, -40,
    -00064                 -47, -47, -46, -41, -43, -58, -63, -54, -51, -46, -60, -75, -70, -73, -75, -73,
    -00065                 -69, -68, -70, -68, -72, -84, -88, -85, -77, -73, -78, -87, -85, -77, -80, -77,
    -00066                 -75, -80, -92, -90, -74, -70, -62, -53, -58, -68, -68, -62, -64, -58, -65, -73,
    -00067                 -48, -33, -36, -46, -56, -62, -63, -51, -46, -53, -61, -60, -50, -37, -32, -20,
    -00068                 -11, -18, -18, -6, 1, 5, 6, 7, 16, 17, 5, -8, -7, -5, -3, 9, 7, -3, 3, 17, 29,
    -00069                 36, 30, 32, 43, 35, 29, 33, 33, 45, 51, 48, 53, 53, 45, 43, 50, 61, 63, 58, 54,
    -00070                 55, 63, 71, 73, 78, 70, 62, 68, 74, 75, 71, 67, 57, 63, 80, 82, 78, 65, 67, 72,
    -00071                 72, 71, 72, 84, 71, 51, 48, 69, 76, 72, 65, 53, 59, 56, 68, 55, 31, 31, 28, 35,
    -00072                 34, 30, 30, 36, 37, 42, 42, 16, 0, -4, -6, 3, 0, -18, -21, -22, -26, -27, -27,
    -00073                 -36, -42, -45, -51, -52, -51, -45, -48, -53, -56, -68, -73, -74, -77, -77, -82,
    -00074                 -80, -72, -74, -74, -76, -79, -80, -80, -86, -96, -94, -93, -96, -95, -96, -93,
    -00075                 -85, -87, -96, -103, -100, -90, -80, -70, -71, -82, -90, -80, -77, -77, -75,
    -00076                 -74, -71, -78, -59, -44, -45, -56, -73, -70, -70, -66, -70, -73, -69, -68, -49,
    -00077                 -30, -36, -42, -37, -26, -14, -10, -6, -2, 1, 6, 9, 15, 8, -2, 4, 5, 1, 2, 1,
    -00078                 12, 21, 27, 40, 45, 45, 39, 34, 44, 54, 52, 54, 58, 54, 52, 59, 60, 56, 57, 59,
    -00079                 63, 70, 74, 78, 81, 82, 81, 86, 82, 74, 79, 81, 84, 83, 74, 74, 86, 96, 87, 77,
    -00080                 73, 70, 76, 81, 79, 87, 89, 87, 89, 88, 88, 86, 85, 76, 71, 74, 74, 71, 52, 45,
    -00081                 47, 44, 48, 51, 41, 41, 48, 46, 42, 39, 32, 29, 26, 17, 10, -3, -10, -10, -16,
    -00082                 -20, -20, -22, -28, -32, -36, -39, -47, -46, -41, -45, -52, -64, -68, -72, -75,
    -00083                 -77, -79, -79, -84, -82, -75, -78, -81, -80, -83, -84, -91, -97, -96, -98, -99,
    -00084                 -102, -100, -92, -92, -92, -97, -107, -106, -106, -102, -99, -99, -98, -99, -92,
    -00085                 -91, -91, -91, -89, -90, -98, -79, -65, -70, -76, -91, -90, -90, -86, -78, -89,
    -00086                 -89, -84, -81, -76, -71, -62, -55, -44, -39, -35, -29, -24, -19, -15, -10, -5,
    -00087                 -1, 3, -7, -20, -15, -12, 0, 8, 7, 13, 20, 34, 40, 41, 45, 46, 49, 51, 54, 58,
    -00088                 61, 66, 68, 71, 68, 62, 66, 67, 75, 86, 84, 90, 93, 93, 98, 92, 87, 91, 92, 92,
    -00089                 92, 92, 100, 105, 104, 105, 100, 91, 89, 86, 89, 92, 99, 105, 102, 103, 102,
    -00090                 101, 101, 100, 89, 87, 88, 87, 84, 66, 60, 59, 64, 71, 63, 50, 46, 53, 54, 52,
    -00091                 49, 43, 37, 27, 15, 9, 4, -2, -7, -11, -16, -18, -24, -31, -34, -38, -42, -47,
    -00092                 -52, -56, -60, -64, -70, -73, -77, -80, -83, -86, -89, -91, -94, -96, -92, -89,
    -00093                 -92, -93, -95, -104, -108, -109, -109, -110, -112, -111, -104, -101, -103, -105,
    -00094                 -111, -115, -115, -115, -115, -114, -113, -113, -111, -105, -100, -100, -99,
    -00095                 -98, -94, -84, -76, -74, -80, -94, -91, -81, -79, -79, -88, -89, -85, -83, -78,
    -00096                 -74, -64, -47, -39, -37, -32, -28, -23, -18, -12, -7, -2, 4, 8, 11, 1, -7, 4,
    -00097                 12, 14, 18, 21, 25, 36, 49, 52, 55, 58, 60, 64, 66, 69, 73, 75, 78, 81, 73, 71,
    -00098                 74, 75, 78, 78, 86, 95, 97, 97, 101, 101, 93, 91, 95, 92, 99, 107, 106, 106,
    -00099                 107, 107, 109, 104, 94, 88, 85, 88, 92, 93, 98, 104, 103, 102, 101, 101, 91, 84,
    -00100                 86, 86, 79, 65, 59, 64, 76, 78, 68, 55, 53, 54, 52, 50, 46, 43, 37, 29, 21, 14,
    -00101                 8, 3, -3, -7, -12, -17, -22, -26, -31, -36, -41, -45, -50, -55, -59, -63, -61,
    -00102                 -58, -68, -78, -80, -82, -85, -88, -91, -91, -84, -82, -87, -87, -89, -94, -95,
    -00103                 -99, -104, -104, -104, -106, -98, -92, -95, -94, -101, -108, -106, -107, -107,
    -00104                 -104, -106, -107, -107, -101, -93, -94, -92, -91, -89, -84, -79, -77, -77, -76,
    -00105                 -74, -76, -75, -77, -86, -84, -82, -80, -76, -72, -66, -59, -45, -36, -34, -30,
    -00106                 -25, -20, -15, -10, -5, 0, 5, 9, 10, 5, 3, 8, 12, 14, 20, 22, 26, 37, 49, 54,
    -00107                 56, 60, 61, 64, 67, 70, 73, 76, 80, 74, 70, 73, 75, 77, 78, 87, 95, 95, 98, 100,
    -00108                 101, 95, 91, 94, 94, 102, 108, 107, 108, 109, 109, 111, 107, 99, 100, 98, 93,
    -00109                 89, 90, 94, 102, 109, 105, 105, 105, 93, 89, 89, 87, 87, 80, 74, 72, 77, 80, 76,
    -00110                 73, 71, 69, 67, 65, 62, 55, 49, 46, 43, 39, 39, 25, 14, 12, 6, 3, -2, -7, -12,
    -00111                 -16, -21, -26, -31, -36, -40, -46, -48, -50, -59, -64, -66, -71, -74, -77, -80,
    -00112                 -84, -83, -77, -79, -82, -83, -88, -96, -101, -101, -102, -104, -105, -104, -99,
    -00113                 -95, -99, -105, -111, -111, -112, -112, -111, -113, -112, -113, -109, -101,
    -00114                 -101, -100, -99, -99, -97, -94, -91, -88, -87, -85, -84, -84, -87, -94, -93,
    -00115                 -91, -91, -89, -87, -83, -79, -72, -57, -48, -46, -41, -37, -31, -25, -21, -16,
    -00116                 -10, -5, 0, 1, -3, -4, -1, 4, 8, 12, 17, 23, 34, 46, 49, 51, 55, 57, 61, 63, 67,
    -00117                 70, 74, 74, 72, 78, 84, 87, 89, 91, 95, 97, 102, 104, 106, 109, 104, 100, 105,
    -00118                 114, 117, 117, 118, 119, 120, 121, 123, 116, 110, 112, 110, 103, 103, 107, 114,
    -00119                 120, 118, 118, 113, 102, 100, 100, 99, 97, 90, 81, 75, 72, 73, 77, 78, 74, 71,
    -00120                 68, 64, 58, 51, 46, 43, 39, 34, 24, 15, 11, 6, 1, -3, -8, -14, -18, -23, -30,
    -00121                 -34, -39, -45, -49, -54, -59, -63, -68, -72, -76, -79, -82, -86, -88, -91, -94,
    -00122                 -90, -87, -90, -94, -100, -106, -108, -109, -110, -111, -112, -113, -113, -107,
    -00123                 -104, -106, -111, -116, -118, -118, -117, -118, -118, -119, -116, -108, -105,
    -00124                 -105, -103, -101, -99, -95, -92, -89, -87, -87, -87, -87, -84, -85, -91, -92,
    -00125                 -90, -88, -86, -84, -81, -76, -68, -56, -49, -44, -39, -34, -29, -25, -20, -15,
    -00126                 -9, -5, 0, 0, -4, -4, 1, 5, 9, 12, 16, 23, 35, 45, 48, 50, 53, 57, 59, 62, 65,
    -00127                 68, 71, 72, 76, 79, 81, 83, 83, 85, 91, 97, 100, 102, 104, 107, 109, 111, 113,
    -00128                 114, 115, 116, 118, 119, 121, 121, 113, 111, 113, 112, 109, 108, 111, 118, 122,
    -00129                 121, 120, 120, 118, 115, 108, 103, 102, 101, 94, 86, 82, 81, 85, 87, 83, 80, 78,
    -00130                 76, 73, 70, 67, 64, 59, 53, 44, 34, 27, 23, 19, 14, 9, 4, -2, -7, -11, -16, -21,
    -00131                 -26, -32, -37, -42, -48, -53, -57, -62, -65, -69, -74, -77, -81, -84, -87, -88,
    -00132                 -89, -94, -97, -99, -101, -104, -106, -108, -110, -112, -113, -110, -107, -109,
    -00133                 -115, -120, -121, -121, -122, -123, -123, -124, -122, -119, -118, -115, -111,
    -00134                 -106, -102, -97, -93, -90, -87, -86, -88, -88, -87, -84, -83, -88, -90, -88,
    -00135                 -87, -85, -83, -80, -75, -66, -55, -48, -43, -36, -32, -27, -23, -18, -12, -7,
    -00136                 -3, 3, 4, 1, 1, 4, 7, 11, 15, 21, 30, 42, 48, 50, 54, 57, 59, 62, 66, 69, 72,
    -00137                 74, 77, 79, 82, 84, 87, 88, 88, 93, 99, 101, 104, 107, 109, 112, 113, 115, 117,
    -00138                 118, 119, 120, 122, 121, 113, 111, 111, 108, 101, 96, 98, 107, 114, 116, 114,
    -00139                 113, 110, 108, 102, 96, 94, 94, 92, 87, 79, 74, 73, 71, 72, 73, 71, 68, 66, 63,
    -00140                 60, 56, 51, 45, 37, 29, 22, 17, 13, 9, 4, -2, -6, -11, -16, -21, -26, -31, -35,
    -00141                 -41, -46, -51, -55, -60, -64, -68, -72, -76, -79, -82, -86, -89, -92, -96, -98,
    -00142                 -100, -103, -105, -107, -109, -110, -112, -114, -115, -112, -109, -111, -115,
    -00143                 -119, -120, -121, -122, -123, -124, -124, -123, -122, -121, -119, -114, -109,
    -00144                 -105, -101, -97, -92, -89, -87, -88, -89, -89, -87, -83, -83, -88, -89, -87,
    -00145                 -85, -83, -81, -77, -72, -64, -54, -48, -42, -36, -31, -27, -23, -18, -13, -8,
    -00146                 -2, 0, -2, -4, -2, 1, 5, 9, 12, 17, 26, 37, 44, 47, 50, 52, 55, 58, 61, 64, 67,
    -00147                 70, 72, 74, 77, 80, 82, 81, 82, 87, 92, 96, 100, 102, 104, 106, 108, 110, 111,
    -00148                 113, 114, 116, 114, 108, 107, 109, 109, 106, 100, 99, 104, 111, 114, 112, 111,
    -00149                 109, 105, 102, 99, 96, 94, 93, 91, 86, 78, 72, 70, 72, 75, 74, 70, 69, 66, 64,
    -00150                 62, 59, 56, 53, 44, 34, 28, 23, 19, 15, 10, 6, 1, -4, -8, -14, -19, -24, -28,
    -00151                 -34, -38, -41, -44, -48, -54, -60, -64, -67, -71, -74, -78, -81, -83, -86, -88,
    -00152                 -91, -94, -97, -99, -101, -103, -105, -106, -106, -106, -107, -110, -111, -113,
    -00153                 -115, -117, -118, -119, -119, -120, -120, -119, -116, -113, -108, -104, -101,
    -00154                 -97, -92, -87, -85, -84, -84, -84, -83, -81, -79, -79, -83, -85, -84, -83, -81,
    -00155                 -80, -77, -73, -64, -53, -46, -40, -34, -30, -26, -22, -17, -13, -8, -3, 1, 0,
    -00156                 -4, -3, 1, 5, 8, 11, 14, 20, 31, 42, 46, 48, 51, 53, 56, 59, 62, 64, 67, 70, 72,
    -00157                 75, 78, 81, 82, 82, 83, 87, 94, 98, 100, 103, 105, 106, 107, 109, 111, 112, 113,
    -00158                 112, 110, 112, 112, 109, 106, 105, 107, 111, 116, 119, 117, 114, 112, 111, 111,
    -00159                 108, 104, 100, 99, 97, 90, 81, 75, 73, 75, 79, 79, 77, 73, 71, 68, 65, 62, 60,
    -00160                 55, 47, 40, 34, 29, 25, 20, 15, 10, 4, -1, -5, -9, -15, -20, -25, -30, -35, -37,
    -00161                 -42, -48, -53, -58, -62, -66, -69, -73, -76, -80, -83, -86, -88, -91, -94, -96,
    -00162                 -98, -100, -102, -104, -106, -107, -109, -110, -112, -113, -115, -118, -118,
    -00163                 -119, -121, -122, -122, -122, -122, -120, -117, -114, -109, -104, -99, -92, -87,
    -00164                 -85, -83, -83, -83, -83, -81, -80, -81, -83, -84, -83, -80, -78, -77, -73, -67,
    -00165                 -58, -48, -42, -36, -30, -26, -22, -18, -14, -8, -4, 2, 5, 4, 1, 2, 5, 9, 12,
    -00166                 15, 19, 26, 37, 46, 50, 52, 55, 58, 60, 63, 66, 68, 70, 73, 75, 77, 80, 83, 84,
    -00167                 84, 87, 93, 97, 99, 102, 104, 106, 107, 109, 111, 112, 113, 111, 108, 108, 108,
    -00168                 106, 102, 101, 101, 102, 105, 111, 112, 107, 105, 104, 104, 102, 97, 94, 92, 91,
    -00169                 85, 76, 69, 65, 64, 66, 68, 69, 66, 64, 61, 59, 56, 53, 49, 43, 37, 32, 29, 26,
    -00170                 23, 20, 15, 8, 1, -5, -9, -13, -17, -22, -26, -28, -29, -31, -34, -41, -49, -55,
    -00171                 -58, -60, -64, -67, -70, -73, -76, -79, -82, -85, -88, -90, -92, -94, -95, -96,
    -00172                 -98, -99, -101, -102, -105, -107, -109, -111, -112, -113, -114, -115, -115,
    -00173                 -115, -115, -115, -113, -111, -107, -103, -96, -89, -84, -80, -79, -79, -79,
    -00174                 -78, -77, -76, -78, -81, -81, -79, -77, -76, -74, -71, -66, -58, -52, -47, -41,
    -00175                 -33, -27, -24, -20, -16, -12, -7, -2, 0, -3, -6, -4, -1, 2, 5, 8, 11, 15, 24,
    -00176                 34, 40, 43, 45, 48, 51, 53, 55, 58, 60, 63, 65, 67, 70, 73, 74, 77, 82, 85, 88,
    -00177                 91, 94, 96, 98, 100, 102, 103, 105, 106, 105, 103, 103, 104, 101, 99, 98, 98,
    -00178                 101, 106, 111, 112, 110, 110, 108, 106, 102, 98, 97, 96, 95, 90, 81, 76, 75, 77,
    -00179                 78, 78, 77, 74, 72, 70, 67, 64, 62, 59, 55, 49, 44, 41, 38, 36, 33, 28, 21, 14,
    -00180                 8, 3, -1, -5, -7, -8, -9, -11, -15, -20, -29, -37, -43, -45, -49, -52, -55, -58,
    -00181                 -62, -65, -68, -71, -74, -77, -80, -81, -83, -83, -84, -85, -86, -89, -92, -96,
    -00182                 -99, -101, -103, -104, -105, -106, -107, -108, -109, -109, -108, -106, -104,
    -00183                 -101, -96, -89, -83, -78, -76, -75, -76, -76, -75, -74, -73, -74, -76, -76, -74,
    -00184                 -73, -71, -69, -66, -59, -51, -46, -41, -35, -28, -23, -20, -15, -11, -7, -2, 3,
    -00185                 6, 4, 1, 1, 3, 7, 10, 12, 16, 22, 30, 39, 44, 47, 50, 52, 54, 56, 59, 61, 63,
    -00186                 65, 67, 69, 68, 67, 68, 72, 79, 84, 86, 89, 91, 92, 94, 95, 97, 99, 100, 101,
    -00187                 101, 99, 98, 95, 89, 88, 88, 89, 91, 96, 102, 103, 101, 99, 97, 93, 89, 87, 86,
    -00188                 85, 83, 78, 71, 68, 67, 69, 70, 69, 67, 65, 63, 61, 59, 57, 54, 52, 49, 45, 41,
    -00189                 38, 35, 32, 28, 23, 16, 10, 4, 0, -4, -7, -10, -12, -13, -16, -19, -26, -34,
    -00190                 -40, -44, -47, -51, -54, -58, -61, -63, -67, -70, -73, -76, -79, -81, -83, -84,
    -00191                 -85, -85, -86, -88, -90, -94, -97, -100, -102, -104, -105, -105, -106, -107,
    -00192                 -108, -108, -108, -106, -104, -102, -100, -96, -89, -81, -78, -78, -76, -75,
    -00193                 -76, -77, -75, -75, -77, -79, -79, -78, -76, -73, -69, -69, -68, -59, -53, -53,
    -00194                 -50, -45, -35, -27, -25, -27, -21, -11, -6, -11, -23, -18, -10, -11, -9, -2, -1,
    -00195                 -3, 2, 20, 31, 17, 5, 18, 37, 36, 36, 41, 45, 40, 44, 49, 50, 43, 27, 48, 59,
    -00196                 59, 66, 67, 70, 69, 73, 74, 82, 70, 66, 83, 84, 75, 60, 73, 85, 75, 66, 72, 80,
    -00197                 66, 72, 87, 87, 85, 87, 86, 81, 72, 57, 71, 76, 71, 73, 56, 41, 48, 63, 64, 51,
    -00198                 34, 49, 56, 47, 47, 49, 40, 18, 29, 40, 33, 14, 4, 21, 28, 19, 11, 17, 4, -13,
    -00199                 -1, 11, -3, -23, -19, -2, -7, -28, -37, -23, -15, -37, -45, -39, -43, -47, -49,
    -00200                 -35, -36, -58, -60, -50, -50, -63, -65, -63, -62, -61, -62, -66, -72, -73, -74,
    -00201                 -76, -80, -82, -83, -84, -85, -84, -70, -66, -85, -90, -79, -64, -59, -73, -76,
    -00202                 -72, -59, -46, -45, -52, -64, -57, -39, -35, -54, -66, -61, -48, -37, -35, -44,
    -00203                 -52, -45, -34, -15, -11, -27, -32, -16, -2, -2, -1, 1, 7, 12, 16, 24, 11, 4, 11,
    -00204                 18, 39, 29, 17, 25, 25, 39, 49, 51, 50, 49, 57, 57, 60, 54, 52, 64, 59, 57, 60,
    -00205                 63, 69, 72, 77, 79, 79, 80, 84, 85, 86, 88, 90, 92, 91, 89, 86, 87, 79, 68, 78,
    -00206                 91, 82, 72, 80, 95, 95, 92, 92, 90, 87, 83, 81, 79, 77, 73, 75, 78, 72, 64, 63,
    -00207                 67, 68, 66, 64, 64, 56, 55, 59, 54, 44, 35, 42, 45, 30, 20, 19, 16, 9, 11, 22,
    -00208                 22, 13, 5, 6, 9, 3, -3, -10, -19, -25, -27, -32, -37, -39, -42, -44, -48, -52,
    -00209                 -54, -56, -59, -63, -65, -68, -71, -73, -74, -75, -75, -76, -77, -79, -82, -85,
    -00210                 -89, -91, -93, -95, -96, -96, -97, -99, -100, -97, -90, -87, -96, -98, -94, -84,
    -00211                 -70, -70, -81, -86, -81, -68, -58, -57, -58, -64, -70, -68, -68, -70, -70, -70,
    -00212                 -69, -62, -55, -53, -54, -54, -46, -30, -24, -28, -27, -20, -16, -20, -18, -20,
    -00213                 -23, -19, -11, -3, -11, -11, -6, -4, -4, 2, 11, 10, 9, 20, 28, 26, 28, 32, 33,
    -00214                 32, 30, 31, 31, 30, 34, 38, 45, 50, 51, 54, 56, 58, 59, 63, 65, 70, 71, 72, 65,
    -00215                 49, 48, 55, 62, 59, 54, 53, 54, 54, 56, 69, 72, 71, 66, 63, 61, 44, 36, 48, 62,
    -00216                 56, 52, 47, 45, 49, 47, 49, 45, 45, 32, 29, 50, 49, 42, 40, 38, 40, 35, 32, 33,
    -00217                 26, 12, 5, 11, 9, -2, -9, -5, 7, 5, 3, -11, -19, -2, 0, -4, -17, -21, -11, -14,
    -00218                 -14, -25, -36, -33, -35, -36, -41, -45, -44, -47, -51, -51, -48, -47, -48, -48,
    -00219                 -39, -31, -31, -46, -58, -58, -61, -57, -59, -58, -52, -60, -50, -43, -57, -66,
    -00220                 -54, -41, -55, -59, -37, -26, -28, -47, -47, -21, -20, -20, -30, -45, -44, -40,
    -00221                 -21, -16, -29, -39, -41, -20, 1, 0, 0, 3, 3, -8, 2, 18, 3, -7, 5, 23, 29, 17,
    -00222                 16, 34, 38, 28, 25, 39, 41, 28, 35, 55, 56, 54, 59, 56, 49, 48, 57, 60, 61, 49,
    -00223                 43, 56, 57, 58, 64, 66, 72, 68, 55, 68, 77, 76, 78, 75, 77, 72, 55, 50, 52, 49,
    -00224                 52, 54, 53, 53, 47, 51, 67, 65, 47, 41, 55, 61, 42, 35, 47, 50, 49, 29, 20, 18,
    -00225                 13, 26, 32, 24, 7, 16, 31, 29, 25, 9, 0, 6, 15, 14, -1, -15, -14, -16, -15, -13,
    -00226                 -22, -26, -27, -29, -24, -27, -30, -21, -21, -24, -24, -27, -29, -27, -40, -51,
    -00227                 -52, -47, -34, -37, -46, -48, -53, -44, -34, -34, -35, -37, -34, -29, -29, -25,
    -00228                 -23, -33, -38, -38, -33, -31, -43, -46, -44, -32, -19, -29, -41, -42, -39, -31,
    -00229                 -24, -22, -26, -33, -32, -19, -15, -22, -20, -10, -6, -18, -23, -21, -28, -20,
    -00230                 -13, -16, -19, -23, -26, -27, -18, -6, 0, 2, 4, 1, 2, 7, 10, 13, 13, 17, 16, 10,
    -00231                 7, 4, 7, 8, 9, 11, 12, 14, 16, 23, 30, 31, 24, 16, 15, 15, 13, 14, 24, 31, 22,
    -00232                 10, 11, 20, 18, 10, 8, 11, 11, 20, 32, 29, 30, 30, 31, 33, 32, 35, 25, 10, 12,
    -00233                 13, 11, 13, 14, 27, 38, 36, 35, 37, 38, 41, 41, 42, 34, 19, 19, 21, 21, 19, 15,
    -00234                 13, 22, 27, 28, 20, 3, 5, 4, 8, 18, 18, 16, 13, 12, 10, 9, 6, -9, -16, -14, -13,
    -00235                 -18, -22, -24, -19, -7, -11, -13, -14, -15, -16, -17, -17, -17, -25, -36, -34,
    -00236                 -33, -35, -38, -41, -36, -37, -40, -42, -42, -41, -45, -45, -48, -51, -49, -44,
    -00237                 -40, -46, -51, -52, -49, -46, -47, -54, -58, -57, -53, -43, -40, -50, -60, -61,
    -00238                 -62, -59, -56, -58, -59, -57, -46, -36, -34, -35, -32, -27, -25, -25, -31, -30,
    -00239                 -27, -25, -28, -27, -20, -18, -14, -8, -17, -23, -11, -2, 8, 5, -5, 4, 14, 14,
    -00240                 17, 6, 4, 16, 18, 21, 12, 10, 14, 13, 15, 16, 19, 14, 21, 28, 24, 21, 13, 15,
    -00241                 19, 24, 17, 4, -3, 6, 23, 17, 18, 25, 19, 22, 28, 29, 32, 27, 16, 31, 37, 37,
    -00242                 33, 11, 3, 10, 35, 42, 23, 7, 23, 41, 41, 41, 26, 13, 8, 32, 48, 40, 30, 10, 20,
    -00243                 40, 42, 36, 24, 12, 12, 33, 44, 34, 15, 11, 34, 36, 24, 16, 11, 24, 24, 19, 24,
    -00244                 25, 22, 21, 30, 31, 21, 21, 24, 24, 21, 20, 20, 17, 14, 9, 1, -3, -3, -5, -1, 8,
    -00245                 9, 7, 7, 4, 6, 8, -3, -16, -13, 4, 1, -12, -19, -25, -27, -16, 2, -5, -21, -21,
    -00246                 -13, -4, 4, -2, -11, -11, -9, -2, -2, -15, -25, -23, -17, -3, -8, -26, -29, -23,
    -00247                 -16, -1, 8, 4, 5, 8, 10, 13, 4, -1, -11, -21, -7, -15, -14, 5, 0, 2, -1, -7, -4,
    -00248                 -3, -3, -8, -9, -4, 8, 17, 8, 6, 15, 20, 5, -3, -1, -10, -3, 8, 19, 15, -6, -8,
    -00249                 1, 11, 16, 3, -6, -3, -9, 0, 8, -5, -19, -9, 15, 15, 12, 0, -10, -9, -8, 16, 8,
    -00250                 -3, -5, -3, 13, -11, -16, -10, -9, -5, -10, 3, 8, -13, -18, 1, 16, 5, -17, -22,
    -00251                 -20, -13, -21, -23, -5, -7, -10, -4, 6, 0, -17, -13, 7, 11, -5, -15, -8, 0, -9,
    -00252                 -7, 1, -4, -22, -29, -27, -26, -8, -7, -7, -6, -11, 3, 15, 17, 24, 31, 24, 13,
    -00253                 12, 9, -6, -9, -6, 0, 10, -2, -11, 2, 3, -7, 3, 14, 15, 1, -10, -6, -7, -1, 5,
    -00254                 15, 18, -1, -19, -15, -4, -2, 12, 20, 0, -13, 2, 14, 13, 15, 13, 12, 9, -10,
    -00255                 -14, -8, -16, -3, 18, 17, 18, 14, 0, 0, 8, 12, 10, 5, -8, -7, 6, 9, 5, 13, 13,
    -00256                 -13, -21, -16, -16, -14, -13, -12, -18, -5, 12, 14, 6, 4, 1, -11, -8, -5, 11, 5,
    -00257                 -14, -8, -5, 9, 12, -6, -14, -13, -14, 7, 4, -16, -26, -33, -9, 3, -6, -21, -28,
    -00258                 -22, -11, -1, -15, -26, -22, -27, -7, -3, -28, -34, -31, -19, -18, -21, -28,
    -00259                 -33, -30, -29, -31, -25, -11, -19, -19, -6, -9, -26, -33, -32, -30, -31, -24,
    -00260                 -10, -14, -14, -11, -2, 1, -3, -11, -23, -10, -6, -8, -16, -25, -18, 3, 14, -13,
    -00261                 -30, -24, -21, -14, -5, -13, -27, -24, -7, 3, 9, 13, 12, 11, 16, 19, 13, 15, 7,
    -00262                 -2, 5, -2, -11, -10, -8, -7, -1, 12, 14, 9, -7, -9, 17, 15, 4, 13, 16, 7, 5, 18,
    -00263                 24, 7, -12, 5, 11, 5, 10, 1, 17, 23, 26, 38, 35, 19, -3, -3, 10, 33, 30, 32, 27,
    -00264                 8, 12, 25, 38, 17, -5, 1, 19, 37, 30, 30, 40, 43, 36, 37, 39, 20, 8, 13, 22, 17,
    -00265                 14, 14, 27, 30, 13, 13, 13, 8, 2, 6, 7, 15, 26, 25, 26, 26, 24, 18, 25, 13, -5,
    -00266                 -1, -3, 0, 1, -16, -17, -20, -20, -1, -13, -27, -27, -33, -29, -23, -30, -31,
    -00267                 -22, -17, -14, -39, -46, -30, -34, -36, -42, -48, -52, -54, -47, -42, -55, -59,
    -00268                 -35, -25, -34, -51, -61, -61, -59, -54, -53, -59, -68, -63, -53, -51, -45, -41,
    -00269                 -41, -36, -53, -59, -51, -52, -45, -46, -46, -28, -24, -24, -26, -52, -59, -56,
    -00270                 -55, -43, -37, -36, -36, -27, -13, -2, 1, 1, 5, 4, 13, 18, 21, 20, -6, -11, -8,
    -00271                 5, 21, 3, 1, 5, 7, 17, 13, 1, 11, 24, 23, 29, 32, 27, 23, 25, 32, 35, 32, 31,
    -00272                 20, 16, 13, 11, 28, 33, 41, 50, 46, 43, 41, 36, 28, 37, 47, 50, 53, 56, 55, 56,
    -00273                 59, 59, 56, 40, 41, 41, 48, 57, 52, 55, 57, 60, 62, 51, 33, 34, 37, 36, 35, 30,
    -00274                 39, 41, 36, 41, 29, 16, 19, 13, 7, 7, 14, 25, 15, 10, 14, 9, 18, 21, -2, -8, -8,
    -00275                 -11, -10, -15, -15, -24, -27, -10, -15, -33, -36, -38, -33, -29, -31, -30, -25,
    -00276                 -15, -28, -41, -37, -44, -53, -52, -51, -51, -52, -56, -57, -53, -51, -51, -59,
    -00277                 -70, -71, -72, -71, -65, -63, -65, -67, -67, -68, -70, -73, -81, -79, -61, -56,
    -00278                 -57, -57, -71, -70, -61, -58, -56, -60, -54, -41, -36, -33, -28, -36, -57, -62,
    -00279                 -55, -55, -54, -45, -44, -46, -36, -24, -17, -12, -6, -5, -5, -1, -1, -3, -15,
    -00280                 -19, -3, 5, 8, -4, -9, -5, -7, -5, -3, 11, 23, 19, 15, 14, 15, 16, 19, 24, 23,
    -00281                 23, 27, 30, 34, 26, 29, 42, 42, 47, 53, 58, 59, 59, 59, 56, 60, 68, 73, 71, 67,
    -00282                 69, 82, 86, 84, 84, 61, 55, 66, 63, 61, 53, 60, 80, 86, 80, 73, 72, 54, 40, 43,
    -00283                 37, 40, 50, 54, 62, 62, 50, 47, 43, 32, 27, 20, 13, 15, 13, 17, 29, 33, 31, 26,
    -00284                 29, 18, 3, 1, -6, -7, -7, -13, -5, 6, 0, -12, -26, -19, -16, -27, -32, -32, -25,
    -00285                 -25, -27, -38, -44, -43, -39, -35, -38, -43, -56, -59, -51, -48, -51, -61, -67,
    -00286                 -64, -59, -56, -57, -60, -56, -56, -62, -63, -68, -76, -70, -63, -64, -50, -43,
    -00287                 -44, -38, -42, -45, -47, -48, -47, -46, -45, -36, -21, -16, -14, -13, -28, -44,
    -00288                 -46, -44, -37, -21, -23, -29, -28, -19, 0, -1, -4, 1, 11, 20, 15, 10, 11, 15,
    -00289                 17, 21, 34, 21, 1, 11, 15, 16, 21, 21, 20, 27, 36, 38, 38, 37, 36, 39, 45, 48,
    -00290                 43, 39, 42, 43, 44, 52, 58, 57, 61, 70, 70, 67, 70, 72, 66, 58, 62, 66, 70, 80,
    -00291                 84, 82, 74, 72, 77, 67, 52, 52, 50, 53, 68, 78, 75, 72, 79, 80, 71, 56, 42, 39,
    -00292                 33, 40, 64, 64, 50, 46, 49, 56, 54, 31, 16, 17, 19, 28, 26, 11, 9, 28, 35, 35,
    -00293                 33, 5, -10, -8, -7, 0, -15, -25, -26, -20, -18, -36, -42, -41, -44, -50, -48,
    -00294                 -41, -47, -61, -63, -55, -53, -45, -55, -73, -76, -75, -77, -73, -63, -67, -71,
    -00295                 -75, -74, -79, -87, -80, -71, -72, -85, -90, -81, -77, -82, -82, -79, -79, -90,
    -00296                 -90, -74, -68, -59, -57, -66, -71, -70, -68, -63, -61, -61, -54, -44, -35, -33,
    -00297                 -38, -56, -64, -59, -53, -44, -51, -58, -58, -48, -31, -19, -11, -9, -12, -10,
    -00298                 2, 5, 8, 11, 14, 20, 15, 3, -6, -2, 0, 10, 19, 7, 3, 12, 26, 38, 41, 39, 41, 44,
    -00299                 36, 34, 38, 37, 46, 55, 52, 56, 55, 46, 48, 61, 67, 68, 67, 59, 59, 68, 75, 78,
    -00300                 80, 77, 69, 71, 75, 75, 75, 70, 57, 54, 63, 67, 69, 72, 80, 75, 65, 68, 67, 78,
    -00301                 66, 41, 41, 46, 63, 70, 59, 52, 52, 51, 62, 50, 22, 21, 20, 27, 32, 20, 15, 26,
    -00302                 32, 36, 33, 5, -5, -3, -4, 2, -7, -23, -27, -26, -26, -26, -29, -40, -45, -47,
    -00303                 -50, -55, -52, -48, -52, -53, -56, -60, -69, -74, -74, -76, -78, -73, -65, -71,
    -00304                 -74, -74, -75, -77, -77, -80, -92, -90, -91, -91, -88, -93, -92, -84, -81, -90,
    -00305                 -98, -97, -90, -77, -67, -70, -85, -85, -77, -75, -75, -75, -72, -70, -62, -46,
    -00306                 -44, -45, -51, -66, -66, -67, -66, -65, -67, -65, -56, -33, -25, -28, -35, -30,
    -00307                 -15, -10, -6, -1, 1, 5, 11, 14, 14, 0, -8, 4, 2, -2, 2, 3, 14, 18, 28, 40, 41,
    -00308                 36, 29, 32, 34, 43, 46, 47, 46, 39, 46, 55, 59, 55, 50, 50, 58, 71, 69, 71, 75,
    -00309                 76, 78, 81, 78, 71, 74, 76, 80, 82, 77, 74, 80, 83, 71, 69, 71, 73, 75, 75, 74,
    -00310                 80, 86, 83, 85, 84, 83, 84, 81, 73, 70, 73, 71, 70, 65, 48, 46, 46, 47, 53, 42,
    -00311                 40, 49, 49, 45, 39, 34, 35, 34, 21, 14, 4, -3, -7, -10, -9, -13, -21, -27, -30,
    -00312                 -35, -38, -43, -40, -35, -41, -47, -59, -62, -64, -68, -70, -75, -75, -79, -78,
    -00313                 -75, -79, -79, -79, -79, -82, -92, -98, -98, -100, -100, -99, -96, -91, -91,
    -00314                 -92, -96, -104, -105, -108, -107, -102, -102, -99, -99, -97, -93, -92, -91, -91,
    -00315                 -91, -91, -75, -63, -64, -69, -87, -88, -87, -82, -73, -82, -84, -80, -74, -72,
    -00316                 -67, -60, -46, -35, -34, -28, -25, -22, -15, -11, -4, -1, 5, 4, -17, -19, -13,
    -00317                 -11, 1, 6, 11, 20, 31, 36, 38, 40, 40, 45, 50, 51, 53, 56, 58, 64, 65, 69, 70,
    -00318                 61, 65, 70, 78, 87, 87, 89, 92, 95, 97, 93, 87, 89, 91, 93, 93, 96, 103, 105,
    -00319                 104, 106, 101, 92, 92, 91, 93, 92, 95, 104, 100, 100, 103, 102, 103, 100, 90,
    -00320                 88, 90, 89, 89, 84, 75, 69, 72, 78, 71, 54, 49, 53, 55, 55, 54, 51, 51, 50, 31,
    -00321                 17, 13, 7, 5, 3, 0, -4, -14, -20, -24, -28, -33, -36, -41, -46, -51, -56, -60,
    -00322                 -63, -65, -71, -75, -77, -81, -84, -86, -90, -90, -84, -84, -87, -92, -102,
    -00323                 -105, -105, -106, -106, -108, -104, -98, -98, -99, -99, -103, -111, -113, -111,
    -00324                 -112, -112, -108, -110, -111, -105, -99, -97, -97, -95, -91, -81, -72, -71, -75,
    -00325                 -89, -90, -80, -79, -79, -86, -88, -84, -81, -76, -71, -60, -45, -37, -35, -31,
    -00326                 -25, -21, -15, -10, -7, -1, 3, 8, 6, -6, -3, 6, 8, 12, 17, 22, 30, 42, 48, 50,
    -00327                 53, 54, 57, 61, 64, 67, 70, 71, 74, 75, 69, 68, 73, 74, 75, 77, 88, 96, 95, 97,
    -00328                 98, 98, 91, 89, 92, 90, 97, 105, 106, 105, 106, 106, 107, 104, 92, 91, 96, 96,
    -00329                 94, 93, 95, 102, 104, 103, 104, 103, 94, 88, 90, 87, 85, 84, 79, 84, 91, 89, 77,
    -00330                 64, 63, 61, 60, 58, 56, 56, 53, 48, 41, 34, 28, 20, 14, 9, 4, 0, -7, -11, -16,
    -00331                 -21, -26, -31, -36, -40, -44, -49, -51, -49, -57, -67, -69, -74, -76, -79, -82,
    -00332                 -84, -81, -79, -84, -84, -87, -95, -98, -100, -102, -104, -105, -102, -96, -95,
    -00333                 -97, -97, -102, -110, -109, -109, -110, -103, -107, -112, -111, -107, -97, -96,
    -00334                 -97, -96, -95, -89, -82, -78, -78, -76, -75, -79, -76, -81, -89, -85, -83, -82,
    -00335                 -80, -77, -72, -61, -46, -39, -37, -35, -30, -24, -20, -15, -11, -6, -1, 5, -2,
    -00336                 -7, -2, 3, 6, 9, 11, 16, 24, 36, 43, 44, 49, 53, 54, 58, 61, 63, 66, 68, 71, 68,
    -00337                 63, 66, 69, 72, 80, 88, 90, 91, 94, 95, 98, 94, 86, 91, 91, 95, 104, 106, 105,
    -00338                 106, 108, 109, 106, 97, 96, 97, 97, 98, 97, 97, 100, 109, 108, 106, 107, 98, 93,
    -00339                 93, 91, 89, 88, 86, 85, 91, 87, 80, 79, 77, 75, 69, 64, 60, 56, 52, 52, 51, 51,
    -00340                 55, 47, 31, 27, 23, 18, 9, 1, -3, -8, -11, -15, -21, -25, -29, -34, -39, -43,
    -00341                 -49, -52, -56, -61, -65, -69, -73, -77, -78, -73, -73, -77, -81, -88, -96, -97,
    -00342                 -99, -100, -101, -103, -102, -97, -96, -97, -102, -110, -112, -112, -114, -114,
    -00343                 -115, -115, -117, -111, -103, -104, -104, -102, -102, -99, -96, -92, -88, -86,
    -00344                 -83, -85, -86, -91, -98, -96, -94, -93, -92, -91, -88, -85, -74, -60, -54, -49,
    -00345                 -44, -40, -35, -31, -26, -20, -15, -10, -8, -11, -15, -12, -7, -3, 1, 5, 11, 19,
    -00346                 30, 37, 40, 43, 45, 48, 52, 54, 58, 61, 65, 65, 60, 62, 67, 70, 75, 81, 86, 88,
    -00347                 90, 93, 95, 98, 94, 87, 89, 94, 102, 106, 106, 107, 108, 109, 111, 107, 99, 100,
    -00348                 99, 98, 99, 98, 100, 110, 110, 109, 107, 97, 94, 94, 93, 92, 90, 87, 84, 84, 87,
    -00349                 87, 84, 78, 74, 71, 67, 62, 57, 54, 53, 54, 51, 47, 40, 33, 29, 27, 21, 12, 4,
    -00350                 -1, -5, -10, -15, -20, -25, -30, -35, -40, -44, -49, -53, -58, -62, -66, -70,
    -00351                 -74, -77, -81, -79, -76, -79, -84, -92, -97, -99, -101, -103, -104, -107, -108,
    -00352                 -106, -100, -100, -101, -104, -111, -115, -117, -117, -117, -118, -118, -114,
    -00353                 -106, -105, -106, -105, -104, -101, -99, -95, -92, -89, -87, -87, -88, -88, -91,
    -00354                 -96, -96, -94, -93, -92, -91, -89, -84, -74, -63, -57, -51, -45, -42, -37, -33,
    -00355                 -28, -23, -18, -14, -15, -19, -18, -15, -11, -6, -2, 2, 8, 16, 26, 33, 36, 39,
    -00356                 42, 44, 48, 51, 54, 57, 60, 61, 62, 65, 67, 70, 75, 80, 84, 86, 90, 93, 95, 98,
    -00357                 100, 103, 105, 107, 108, 110, 111, 113, 115, 117, 114, 106, 107, 108, 109, 109,
    -00358                 108, 113, 118, 118, 117, 117, 116, 115, 111, 105, 102, 102, 100, 98, 96, 96, 94,
    -00359                 91, 88, 85, 83, 81, 79, 76, 71, 69, 66, 62, 57, 51, 46, 41, 38, 33, 26, 18, 11,
    -00360                 6, 1, -4, -9, -14, -20, -25, -30, -35, -40, -45, -50, -54, -59, -63, -67, -72,
    -00361                 -76, -80, -83, -86, -89, -93, -97, -99, -102, -104, -107, -109, -112, -113,
    -00362                 -109, -106, -108, -114, -119, -122, -123, -124, -125, -125, -126, -125, -123,
    -00363                 -122, -120, -115, -113, -111, -108, -104, -99, -94, -91, -91, -90, -91, -90,
    -00364                 -93, -98, -97, -95, -95, -93, -91, -87, -79, -68, -60, -54, -47, -42, -38, -33,
    -00365                 -29, -24, -19, -14, -9, -5, -7, -8, -5, -2, 2, 7, 14, 21, 29, 38, 43, 46, 49,
    -00366                 52, 55, 57, 60, 64, 67, 70, 73, 76, 79, 82, 85, 87, 91, 95, 97, 100, 103, 105,
    -00367                 107, 109, 111, 113, 114, 116, 118, 119, 120, 122, 122, 118, 117, 117, 113, 111,
    -00368                 112, 114, 116, 119, 120, 120, 119, 117, 113, 108, 105, 103, 102, 100, 98, 97,
    -00369                 96, 92, 89, 87, 85, 83, 80, 77, 73, 70, 67, 64, 59, 54, 49, 45, 41, 38, 34, 28,
    -00370                 21, 13, 6, 1, -4, -8, -14, -19, -25, -30, -35, -40, -45, -49, -54, -58, -62,
    -00371                 -67, -71, -75, -79, -82, -86, -90, -93, -96, -99, -101, -104, -106, -109, -111,
    -00372                 -107, -104, -107, -111, -116, -118, -120, -122, -123, -124, -124, -125, -124,
    -00373                 -123, -122, -119, -114, -112, -110, -107, -102, -98, -93, -91, -90, -90, -91,
    -00374                 -90, -94, -99, -98, -97, -95, -94, -92, -88, -79, -69, -62, -55, -49, -44, -40,
    -00375                 -36, -32, -27, -22, -17, -14, -16, -18, -17, -14, -9, -5, -2, 1, 6, 13, 23, 32,
    -00376                 35, 37, 39, 42, 45, 48, 51, 54, 57, 60, 63, 66, 68, 70, 72, 78, 82, 84, 88, 90,
    -00377                 93, 96, 98, 100, 102, 104, 106, 108, 109, 111, 112, 113, 115, 115, 113, 111,
    -00378                 111, 112, 114, 114, 115, 117, 117, 116, 114, 112, 110, 108, 105, 103, 101, 100,
    -00379                 98, 95, 93, 91, 89, 87, 84, 82, 80, 78, 75, 73, 70, 65, 60, 55, 51, 47, 44, 39,
    -00380                 34, 26, 17, 11, 6, 2, -4, -9, -14, -19, -22, -26, -31, -37, -44, -48, -53, -57,
    -00381                 -61, -65, -69, -73, -77, -80, -84, -88, -91, -94, -97, -99, -102, -105, -105,
    -00382                 -104, -105, -107, -109, -111, -115, -118, -120, -121, -122, -123, -124, -124,
    -00383                 -123, -121, -119, -115, -113, -111, -107, -103, -98, -95, -92, -90, -90, -90,
    -00384                 -90, -96, -100, -99, -97, -96, -94, -92, -89, -82, -71, -62, -55, -49, -44, -41,
    -00385                 -37, -32, -28, -23, -18, -14, -13, -14, -13, -12, -9, -5, -1, 2, 8, 15, 26, 34,
    -00386                 37, 39, 42, 45, 48, 51, 54, 57, 59, 62, 65, 68, 71, 73, 76, 80, 83, 86, 90, 93,
    -00387                 95, 98, 100, 102, 104, 106, 107, 109, 110, 112, 113, 115, 114, 111, 110, 110,
    -00388                 114, 118, 118, 117, 115, 113, 113, 114, 115, 115, 114, 111, 109, 107, 106, 103,
    -00389                 97, 93, 92, 92, 90, 88, 86, 84, 81, 78, 76, 73, 70, 64, 59, 55, 50, 46, 41, 36,
    -00390                 30, 22, 14, 9, 4, -1, -6, -11, -17, -22, -28, -33, -38, -43, -48, -53, -57, -62,
    -00391                 -66, -71, -74, -78, -82, -86, -90, -93, -96, -99, -102, -105, -107, -109, -110,
    -00392                 -111, -111, -112, -114, -117, -121, -123, -124, -126, -127, -128, -128, -128,
    -00393                 -128, -126, -124, -121, -117, -113, -108, -103, -98, -94, -91, -88, -86, -86,
    -00394                 -88, -93, -97, -97, -95, -93, -91, -89, -84, -76, -65, -56, -50, -44, -40, -37,
    -00395                 -32, -28, -23, -18, -14, -8, -6, -6, -7, -6, -4, -1, 3, 7, 11, 18, 28, 36, 40,
    -00396                 42, 45, 48, 50, 53, 56, 58, 61, 64, 66, 69, 72, 75, 77, 80, 83, 86, 89, 92, 94,
    -00397                 97, 99, 101, 103, 104, 106, 107, 109, 110, 111, 111, 110, 107, 105, 106, 109,
    -00398                 112, 114, 112, 111, 110, 111, 112, 113, 112, 109, 106, 106, 105, 103, 97, 93,
    -00399                 91, 90, 89, 87, 85, 83, 81, 79, 77, 74, 72, 69, 66, 62, 59, 56, 52, 48, 43, 36,
    -00400                 27, 19, 14, 9, 4, -1, -5, -10, -13, -16, -21, -27, -33, -40, -44, -49, -53, -57,
    -00401                 -61, -66, -70, -74, -78, -81, -85, -88, -91, -94, -97, -99, -101, -103, -104,
    -00402                 -105, -107, -110, -114, -116, -118, -120, -122, -123, -124, -125, -126, -126,
    -00403                 -125, -123, -121, -117, -113, -109, -104, -100, -96, -94, -92, -91, -91, -95,
    -00404                 -99, -101, -101, -100, -98, -96, -94, -90, -83, -74, -67, -62, -56, -50, -45,
    -00405                 -41, -37, -33, -28, -23, -21, -21, -21, -21, -19, -16, -12, -9, -6, -2, 3, 11,
    -00406                 19, 26, 30, 32, 35, 37, 40, 43, 46, 48, 51, 54, 57, 60, 63, 66, 69, 73, 76, 79,
    -00407                 82, 85, 88, 90, 92, 94, 96, 98, 100, 102, 104, 105, 106, 103, 100, 99, 100, 104,
    -00408                 109, 112, 111, 110, 110, 111, 111, 109, 108, 106, 106, 106, 104, 101, 96, 93,
    -00409                 92, 91, 89, 87, 86, 84, 82, 79, 77, 74, 72, 69, 66, 63, 60, 58, 55, 52, 48, 42,
    -00410                 33, 25, 18, 13, 9, 4, 0, -3, -6, -11, -16, -24, -30, -34, -39, -43, -48, -52,
    -00411                 -57, -61, -65, -69, -73, -76, -80, -84, -87, -90, -92, -94, -95, -96, -96, -98,
    -00412                 -101, -104, -107, -110, -112, -114, -115, -117, -118, -119, -120, -120, -118,
    -00413                 -116, -112, -108, -102, -96, -92, -87, -84, -81, -78, -76, -75, -76, -80, -83,
    -00414                 -83, -83, -80, -77, -73, -67, -59, -52, -45, -40, -34, -29, -25, -21, -17, -12,
    -00415                 -8, -3, 1, 3, 2, 1, 1, 3, 6, 9, 12, 15, 20, 28, 37, 42, 44, 46, 48, 50, 52, 54,
    -00416                 57, 59, 61, 63, 65, 66, 67, 70, 74, 78, 80, 82, 85, 87, 89, 91, 93, 95, 96, 98,
    -00417                 99, 100, 101, 100, 96, 92, 89, 89, 89, 92, 96, 100, 101, 100, 100, 99, 98, 97,
    -00418                 95, 94, 94, 93, 92, 88, 84, 81, 80, 79, 78, 76, 75, 73, 71, 69, 67, 65, 62, 60,
    -00419                 58, 56, 54, 51, 49, 46, 42, 36, 29, 22, 15, 10, 6, 3, 1, -1, -3, -7, -11, -18,
    -00420                 -26, -32, -37, -40, -44, -48, -52, -56, -59, -63, -67, -71, -74, -77, -80, -83,
    -00421                 -86, -87, -88, -89, -90, -92, -96, -99, -103, -105, -108, -110, -111, -113,
    -00422                 -114, -116, -116, -116, -115, -113, -109, -104, -99, -95, -91, -88, -86, -85,
    -00423                 -84, -83, -85, -89, -93, -93, -93, -92, -91, -89, -88, -85, -81, -75, -68, -65,
    -00424                 -60, -55, -49, -45, -40, -37, -34, -32, -31, -31, -32, -31, -29, -25, -23, -20,
    -00425                 -17, -15, -12, -6, 1, 8, 14, 18, 20, 23, 25, 27, 30, 33, 36, 39, 41, 43, 46, 50,
    -00426                 54, 58, 61, 64, 67, 70, 73, 76, 79, 81, 83, 86, 88, 90, 92, 93, 91, 88, 86, 87,
    -00427                 89, 93, 98, 101, 102, 102, 103, 103, 102, 101, 101, 100, 100, 100, 100, 98, 94,
    -00428                 91, 89, 88, 87, 85, 84, 82, 81, 80, 79, 77, 73, 70, 68, 66, 64, 61, 59, 57, 54,
    -00429                 50, 44, 38, 32, 27, 23, 19, 16, 13, 9, 4, -2, -9, -15, -20, -24, -28, -33, -37,
    -00430                 -42, -46, -50, -54, -58, -62, -66, -70, -73, -76, -79, -80, -82, -83, -85, -87,
    -00431                 -90, -93, -97, -100, -102, -105, -107, -109, -110, -112, -113, -113, -111, -108,
    -00432                 -104, -99, -93, -89, -85, -82, -79, -77, -76, -74, -73, -76, -79, -80, -80, -80,
    -00433                 -79, -77, -73, -69, -66, -60, -52, -46, -42, -38, -32, -27, -24, -20, -16, -12,
    -00434                 -10, -9, -10, -10, -10, -8, -5, -3, -1, 3, 6, 7, 13, 24, 31, 33, 34, 36, 38, 40,
    -00435                 42, 45, 47, 46, 44, 47, 53, 57, 57, 59, 65, 70, 72, 74, 75, 75, 77, 82, 87, 85,
    -00436                 82, 85, 90, 93, 79, 83, 97, 80, 71, 81, 97, 98, 79, 70, 85, 97, 88, 87, 89, 71,
    -00437                 61, 77, 83, 72, 50, 47, 65, 68, 58, 39, 37, 44, 47, 46, 45, 36, 13, 22, 34, 27,
    -00438                 6, -1, 19, 20, 12, -6, -10, -10, -23, -12, -3, -7, -27, -32, -13, -21, -42, -49,
    -00439                 -39, -25, -42, -58, -55, -57, -59, -64, -51, -44, -65, -71, -49, -56, -77, -75,
    -00440                 -74, -72, -71, -72, -72, -74, -72, -75, -77, -79, -83, -85, -87, -67, -71, -94,
    -00441                 -91, -91, -79, -62, -58, -63, -77, -78, -68, -50, -45, -56, -66, -55, -36, -35,
    -00442                 -50, -60, -61, -54, -42, -38, -35, -49, -52, -40, -25, -16, -26, -23, -8, -15,
    -00443                 -26, -8, 3, -13, -14, 7, 18, 3, -6, 1, 11, 17, 6, 7, 13, 12, 14, 18, 33, 21, 11,
    -00444                 34, 40, 33, 18, 19, 37, 38, 34, 32, 34, 41, 46, 47, 47, 53, 57, 58, 59, 59, 64,
    -00445                 67, 68, 62, 63, 72, 72, 70, 57, 60, 73, 62, 58, 60, 64, 80, 80, 79, 69, 55, 71,
    -00446                 77, 76, 76, 73, 79, 75, 70, 58, 52, 54, 58, 60, 59, 57, 42, 50, 57, 52, 52, 48,
    -00447                 46, 43, 41, 40, 38, 22, 26, 36, 32, 29, 11, 3, 3, -6, -1, 7, -2, -16, -10, -2,
    -00448                 -13, -27, -34, -25, -19, -26, -35, -46, -49, -52, -57, -61, -60, -61, -66, -68,
    -00449                 -71, -71, -72, -77, -75, -73, -78, -80, -83, -86, -87, -90, -93, -95, -95, -95,
    -00450                 -98, -97, -98, -102, -102, -100, -94, -82, -85, -96, -94, -93, -84, -71, -72,
    -00451                 -74, -74, -84, -91, -88, -87, -87, -86, -83, -70, -67, -72, -69, -65, -59, -53,
    -00452                 -43, -35, -41, -55, -53, -32, -17, -28, -38, -30, -18, -7, 5, 0, -11, -13, -13,
    -00453                 10, 19, 1, -5, 4, 19, 18, 22, 31, 32, 28, 10, 23, 36, 26, 29, 34, 42, 46, 42,
    -00454                 49, 50, 36, 37, 48, 61, 58, 40, 39, 41, 55, 67, 65, 66, 67, 67, 70, 65, 48, 47,
    -00455                 46, 56, 69, 64, 59, 63, 71, 68, 69, 57, 51, 51, 45, 54, 59, 55, 54, 53, 51, 53,
    -00456                 43, 27, 26, 18, 11, 10, 5, 2, -5, 7, 16, 16, 7, -13, -16, -13, -8, -12, -13,
    -00457                 -10, -17, -16, -22, -38, -42, -40, -40, -42, -46, -47, -49, -55, -50, -37, -37,
    -00458                 -39, -39, -40, -41, -40, -50, -61, -58, -57, -58, -56, -59, -52, -36, -31, -32,
    -00459                 -31, -32, -30, -26, -29, -29, -26, -26, -25, -33, -32, -18, -21, -29, -24, -13,
    -00460                 5, 1, -17, -15, -15, 2, 14, 6, 11, 8, 4, 6, 9, 0, -12, -14, 1, 20, 21, 25, 15,
    -00461                 9, 24, 27, 29, 32, 28, 33, 41, 39, 43, 48, 46, 45, 43, 43, 40, 35, 36, 35, 33,
    -00462                 38, 53, 56, 44, 35, 44, 56, 51, 55, 43, 25, 40, 45, 44, 38, 24, 31, 40, 39, 31,
    -00463                 30, 27, 30, 38, 30, 19, 30, 42, 42, 35, 19, 16, 18, 28, 38, 36, 32, 22, 29, 40,
    -00464                 40, 39, 39, 41, 41, 41, 45, 44, 32, 30, 35, 44, 49, 44, 46, 45, 39, 44, 48, 47,
    -00465                 33, 21, 22, 20, 15, 13, 13, 7, 11, 25, 21, 16, 15, 13, 13, 10, 7, 6, 5, 4, 5,
    -00466                 -1, -5, -7, -11, -15, -19, -22, -23, -16, -14, -18, -25, -25, -18, -20, -19,
    -00467                 -26, -42, -42, -42, -42, -40, -42, -31, -28, -37, -45, -44, -30, -26, -29, -43,
    -00468                 -55, -51, -53, -54, -55, -58, -59, -59, -55, -56, -60, -59, -57, -56, -49, -41,
    -00469                 -50, -60, -54, -44, -45, -48, -45, -45, -47, -48, -48, -49, -51, -54, -51, -46,
    -00470                 -43, -44, -40, -25, -21, -25, -19, -15, -11, -17, -29, -26, -25, -23, -19, -19,
    -00471                 -17, -17, -9, 4, 5, 4, 10, 13, 11, 5, 5, 13, 21, 25, 26, 20, 10, 15, 26, 29, 26,
    -00472                 17, 17, 35, 45, 44, 45, 37, 27, 24, 37, 49, 47, 50, 50, 52, 54, 56, 58, 43, 37,
    -00473                 43, 38, 45, 57, 53, 57, 61, 57, 62, 57, 42, 42, 44, 42, 47, 44, 34, 39, 49, 46,
    -00474                 44, 45, 42, 38, 33, 22, 13, 11, 19, 27, 22, 9, 1, 12, 17, 12, 11, 8, -2, 0, 5,
    -00475                 3, -4, -23, -27, -20, -8, -10, -29, -32, -32, -33, -19, -21, -42, -46, -48, -44,
    -00476                 -31, -31, -40, -55, -55, -54, -54, -55, -57, -55, -57, -43, -33, -36, -35, -33,
    -00477                 -36, -35, -41, -56, -57, -56, -48, -42, -52, -52, -40, -31, -28, -22, -35, -44,
    -00478                 -25, -14, -18, -30, -26, -11, -11, -14, -14, -16, -32, -31, -12, -13, -25, -27,
    -00479                 -27, -19, 1, 6, -3, -15, -15, 0, 12, 13, 3, -13, -11, -6, 6, 15, 0, -4, -1, -1,
    -00480                 13, 20, 18, 22, 24, 26, 26, 26, 27, 27, 34, 38, 37, 32, 31, 27, 16, 17, 24, 24,
    -00481                 27, 35, 32, 39, 43, 25, 22, 32, 31, 27, 25, 16, 20, 27, 27, 40, 40, 19, 4, 12,
    -00482                 25, 14, 10, 15, 15, 17, 22, 31, 17, -8, 1, 30, 23, -1, -17, -7, 12, 11, 13, 17,
    -00483                 14, 7, 10, 25, 9, -17, -21, 0, 22, 6,
    -00484         };
    -00485 
    -00486 #endif /* CHUM78_H_ */
    -
    - - - - +
    1 #ifndef CHUM78_H_
    +
    2 #define CHUM78_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 /* A sampled guitar sound
    +
    12 */
    +
    13 
    +
    14 #define CHUM78_NUM_CELLS 8193
    +
    15 #define CHUM78_SAMPLERATE 16384
    +
    16 
    +
    17 const char __attribute__((progmem)) CHUM78_DATA [] =
    +
    18  {
    +
    19  -12, -28, -24, -14, -15, -14, -15, -23, -21,
    +
    20  -13, -10, -25, -47, -49, -37, -37, -47, -46, -35, -28, -30, -27, -27, -48, -57,
    +
    21  -52, -34, -30, -56, -59, -44, -38, -38, -37, -35, -39, -59, -65, -56, -61, -57,
    +
    22  -41, -36, -37, -41, -32, -16, -10, -21, -25, 2, 7, -13, -17, -11, -24, -30, -14,
    +
    23  -2, -8, -25, -16, 1, -7, -12, 2, 13, -2, -18, 1, 11, 12, 12, 12, 25, 9, -14,
    +
    24  -12, -5, -6, -1, 12, 1, -15, -2, 20, 28, 25, 7, 9, 30, 15, 2, -1, 1, 21, 30, 27,
    +
    25  33, 26, 14, 14, 20, 32, 35, 23, 21, 25, 32, 43, 42, 49, 42, 23, 23, 21, 23, 16,
    +
    26  9, 12, 12, 21, 33, 29, 12, 11, 10, 10, 14, 18, 29, 23, 6, -9, 8, 22, 16, 6, -19,
    +
    27  -25, -20, 4, 4, -15, -14, -19, -3, 5, 2, -4, -21, -22, 1, 13, -7, -24, -21, -20,
    +
    28  0, 8, -10, -15, -16, -17, -21, -15, -12, -19, -22, -19, -20, -19, -10, -14, -10,
    +
    29  -11, -30, -40, -41, -41, -40, -45, -34, -17, -27, -31, -26, -24, -22, -22, -32,
    +
    30  -45, -44, -42, -43, -43, -52, -48, -29, -25, -41, -61, -62, -61, -58, -40, -40,
    +
    31  -54, -61, -49, -29, -23, -24, -16, -14, -27, -16, -12, -8, -8, -22, -21, -21,
    +
    32  -19, -31, -26, -9, -20, -12, 6, 1, -12, -22, -10, 12, 8, 10, 17, 14, 18, 19, 22,
    +
    33  13, 0, 22, 25, 11, 5, 2, 29, 47, 48, 49, 41, 34, 19, 24, 41, 41, 37, 41, 53, 43,
    +
    34  34, 46, 42, 31, 28, 24, 30, 39, 41, 50, 57, 59, 61, 62, 54, 36, 33, 32, 24, 20,
    +
    35  17, 15, 30, 47, 38, 23, 22, 20, 9, 8, 5, 10, 15, 11, 23, 33, 22, 10, 14, 4, -7,
    +
    36  -8, -18, -21, -23, -31, -27, -22, -11, 1, -11, -22, -21, -26, -37, -38, -44,
    +
    37  -43, -30, -27, -29, -39, -37, -37, -50, -41, -32, -38, -42, -52, -63, -55, -59,
    +
    38  -57, -42, -43, -49, -53, -51, -54, -57, -58, -68, -69, -61, -50, -38, -44, -45,
    +
    39  -28, -25, -28, -34, -54, -51, -36, -32, -37, -47, -35, -25, -19, -20, -43, -47,
    +
    40  -39, -35, -35, -31, -37, -43, -29, -18, -9, -3, -2, 1, -7, 11, 19, 12, 18, 3, 1,
    +
    41  -2, 9, 23, 6, 7, 10, 3, -1, -1, 0, 13, 33, 35, 37, 38, 37, 38, 40, 46, 47, 44,
    +
    42  46, 35, 20, 23, 23, 35, 52, 60, 66, 55, 48, 48, 45, 47, 45, 45, 48, 46, 53, 55,
    +
    43  51, 48, 51, 54, 38, 36, 35, 36, 44, 48, 59, 67, 66, 71, 59, 40, 43, 40, 36, 32,
    +
    44  23, 32, 44, 40, 46, 45, 25, 23, 22, 20, 15, 25, 33, 24, 25, 22, 21, 21, 15, -2,
    +
    45  -8, -3, -3, -8, -11, -14, -19, -8, 4, 2, -11, -19, -18, -20, -23, -27, -30, -27,
    +
    46  -24, -29, -33, -31, -31, -30, -31, -32, -32, -34, -35, -39, -39, -41, -42, -41,
    +
    47  -47, -56, -58, -56, -56, -52, -53, -57, -62, -63, -62, -62, -62, -55, -51, -51,
    +
    48  -46, -50, -65, -69, -62, -58, -56, -65, -68, -53, -46, -44, -48, -59, -70, -69,
    +
    49  -66, -69, -72, -72, -69, -64, -48, -40, -44, -39, -34, -32, -27, -19, -15, -19,
    +
    50  -32, -27, -8, -1, -2, -19, -28, -23, -21, -16, -16, -16, -3, 17, 23, 23, 25, 23,
    +
    51  24, 29, 36, 37, 29, 25, 31, 32, 30, 41, 49, 52, 51, 48, 50, 53, 53, 50, 56, 64,
    +
    52  71, 72, 72, 69, 72, 81, 83, 85, 66, 53, 58, 56, 55, 51, 61, 78, 80, 81, 84, 80,
    +
    53  62, 53, 57, 52, 54, 58, 55, 54, 55, 54, 56, 49, 40, 36, 31, 24, 17, 14, 21, 30,
    +
    54  28, 29, 27, 27, 15, 1, -1, -11, -13, -5, -9, -10, 4, 5, -1, -19, -24, -17, -29,
    +
    55  -31, -35, -39, -26, -28, -35, -34, -38, -41, -36, -36, -38, -39, -40, -40, -41,
    +
    56  -42, -43, -54, -61, -56, -54, -57, -53, -47, -58, -61, -54, -56, -56, -57, -63,
    +
    57  -65, -52, -45, -46, -46, -45, -41, -41, -43, -50, -54, -56, -54, -38, -22, -21,
    +
    58  -22, -32, -40, -35, -42, -47, -41, -41, -43, -44, -36, -22, -20, -14, -10, -10,
    +
    59  -4, -1, 9, 13, 8, 8, 12, 22, 17, 3, 2, -2, -2, 0, 8, 14, 6, 15, 29, 31, 33, 37,
    +
    60  42, 34, 32, 42, 45, 42, 41, 50, 52, 51, 54, 54, 51, 54, 61, 69, 73, 71, 69, 68,
    +
    61  66, 68, 72, 74, 76, 82, 88, 88, 72, 56, 55, 56, 62, 59, 60, 69, 68, 78, 83, 77,
    +
    62  65, 54, 50, 37, 46, 68, 63, 50, 49, 49, 55, 49, 34, 27, 17, 17, 21, 24, 15, 13,
    +
    63  26, 32, 34, 33, 9, -11, -8, -13, -7, -10, -25, -30, -25, -17, -33, -41, -40,
    +
    64  -47, -47, -46, -41, -43, -58, -63, -54, -51, -46, -60, -75, -70, -73, -75, -73,
    +
    65  -69, -68, -70, -68, -72, -84, -88, -85, -77, -73, -78, -87, -85, -77, -80, -77,
    +
    66  -75, -80, -92, -90, -74, -70, -62, -53, -58, -68, -68, -62, -64, -58, -65, -73,
    +
    67  -48, -33, -36, -46, -56, -62, -63, -51, -46, -53, -61, -60, -50, -37, -32, -20,
    +
    68  -11, -18, -18, -6, 1, 5, 6, 7, 16, 17, 5, -8, -7, -5, -3, 9, 7, -3, 3, 17, 29,
    +
    69  36, 30, 32, 43, 35, 29, 33, 33, 45, 51, 48, 53, 53, 45, 43, 50, 61, 63, 58, 54,
    +
    70  55, 63, 71, 73, 78, 70, 62, 68, 74, 75, 71, 67, 57, 63, 80, 82, 78, 65, 67, 72,
    +
    71  72, 71, 72, 84, 71, 51, 48, 69, 76, 72, 65, 53, 59, 56, 68, 55, 31, 31, 28, 35,
    +
    72  34, 30, 30, 36, 37, 42, 42, 16, 0, -4, -6, 3, 0, -18, -21, -22, -26, -27, -27,
    +
    73  -36, -42, -45, -51, -52, -51, -45, -48, -53, -56, -68, -73, -74, -77, -77, -82,
    +
    74  -80, -72, -74, -74, -76, -79, -80, -80, -86, -96, -94, -93, -96, -95, -96, -93,
    +
    75  -85, -87, -96, -103, -100, -90, -80, -70, -71, -82, -90, -80, -77, -77, -75,
    +
    76  -74, -71, -78, -59, -44, -45, -56, -73, -70, -70, -66, -70, -73, -69, -68, -49,
    +
    77  -30, -36, -42, -37, -26, -14, -10, -6, -2, 1, 6, 9, 15, 8, -2, 4, 5, 1, 2, 1,
    +
    78  12, 21, 27, 40, 45, 45, 39, 34, 44, 54, 52, 54, 58, 54, 52, 59, 60, 56, 57, 59,
    +
    79  63, 70, 74, 78, 81, 82, 81, 86, 82, 74, 79, 81, 84, 83, 74, 74, 86, 96, 87, 77,
    +
    80  73, 70, 76, 81, 79, 87, 89, 87, 89, 88, 88, 86, 85, 76, 71, 74, 74, 71, 52, 45,
    +
    81  47, 44, 48, 51, 41, 41, 48, 46, 42, 39, 32, 29, 26, 17, 10, -3, -10, -10, -16,
    +
    82  -20, -20, -22, -28, -32, -36, -39, -47, -46, -41, -45, -52, -64, -68, -72, -75,
    +
    83  -77, -79, -79, -84, -82, -75, -78, -81, -80, -83, -84, -91, -97, -96, -98, -99,
    +
    84  -102, -100, -92, -92, -92, -97, -107, -106, -106, -102, -99, -99, -98, -99, -92,
    +
    85  -91, -91, -91, -89, -90, -98, -79, -65, -70, -76, -91, -90, -90, -86, -78, -89,
    +
    86  -89, -84, -81, -76, -71, -62, -55, -44, -39, -35, -29, -24, -19, -15, -10, -5,
    +
    87  -1, 3, -7, -20, -15, -12, 0, 8, 7, 13, 20, 34, 40, 41, 45, 46, 49, 51, 54, 58,
    +
    88  61, 66, 68, 71, 68, 62, 66, 67, 75, 86, 84, 90, 93, 93, 98, 92, 87, 91, 92, 92,
    +
    89  92, 92, 100, 105, 104, 105, 100, 91, 89, 86, 89, 92, 99, 105, 102, 103, 102,
    +
    90  101, 101, 100, 89, 87, 88, 87, 84, 66, 60, 59, 64, 71, 63, 50, 46, 53, 54, 52,
    +
    91  49, 43, 37, 27, 15, 9, 4, -2, -7, -11, -16, -18, -24, -31, -34, -38, -42, -47,
    +
    92  -52, -56, -60, -64, -70, -73, -77, -80, -83, -86, -89, -91, -94, -96, -92, -89,
    +
    93  -92, -93, -95, -104, -108, -109, -109, -110, -112, -111, -104, -101, -103, -105,
    +
    94  -111, -115, -115, -115, -115, -114, -113, -113, -111, -105, -100, -100, -99,
    +
    95  -98, -94, -84, -76, -74, -80, -94, -91, -81, -79, -79, -88, -89, -85, -83, -78,
    +
    96  -74, -64, -47, -39, -37, -32, -28, -23, -18, -12, -7, -2, 4, 8, 11, 1, -7, 4,
    +
    97  12, 14, 18, 21, 25, 36, 49, 52, 55, 58, 60, 64, 66, 69, 73, 75, 78, 81, 73, 71,
    +
    98  74, 75, 78, 78, 86, 95, 97, 97, 101, 101, 93, 91, 95, 92, 99, 107, 106, 106,
    +
    99  107, 107, 109, 104, 94, 88, 85, 88, 92, 93, 98, 104, 103, 102, 101, 101, 91, 84,
    +
    100  86, 86, 79, 65, 59, 64, 76, 78, 68, 55, 53, 54, 52, 50, 46, 43, 37, 29, 21, 14,
    +
    101  8, 3, -3, -7, -12, -17, -22, -26, -31, -36, -41, -45, -50, -55, -59, -63, -61,
    +
    102  -58, -68, -78, -80, -82, -85, -88, -91, -91, -84, -82, -87, -87, -89, -94, -95,
    +
    103  -99, -104, -104, -104, -106, -98, -92, -95, -94, -101, -108, -106, -107, -107,
    +
    104  -104, -106, -107, -107, -101, -93, -94, -92, -91, -89, -84, -79, -77, -77, -76,
    +
    105  -74, -76, -75, -77, -86, -84, -82, -80, -76, -72, -66, -59, -45, -36, -34, -30,
    +
    106  -25, -20, -15, -10, -5, 0, 5, 9, 10, 5, 3, 8, 12, 14, 20, 22, 26, 37, 49, 54,
    +
    107  56, 60, 61, 64, 67, 70, 73, 76, 80, 74, 70, 73, 75, 77, 78, 87, 95, 95, 98, 100,
    +
    108  101, 95, 91, 94, 94, 102, 108, 107, 108, 109, 109, 111, 107, 99, 100, 98, 93,
    +
    109  89, 90, 94, 102, 109, 105, 105, 105, 93, 89, 89, 87, 87, 80, 74, 72, 77, 80, 76,
    +
    110  73, 71, 69, 67, 65, 62, 55, 49, 46, 43, 39, 39, 25, 14, 12, 6, 3, -2, -7, -12,
    +
    111  -16, -21, -26, -31, -36, -40, -46, -48, -50, -59, -64, -66, -71, -74, -77, -80,
    +
    112  -84, -83, -77, -79, -82, -83, -88, -96, -101, -101, -102, -104, -105, -104, -99,
    +
    113  -95, -99, -105, -111, -111, -112, -112, -111, -113, -112, -113, -109, -101,
    +
    114  -101, -100, -99, -99, -97, -94, -91, -88, -87, -85, -84, -84, -87, -94, -93,
    +
    115  -91, -91, -89, -87, -83, -79, -72, -57, -48, -46, -41, -37, -31, -25, -21, -16,
    +
    116  -10, -5, 0, 1, -3, -4, -1, 4, 8, 12, 17, 23, 34, 46, 49, 51, 55, 57, 61, 63, 67,
    +
    117  70, 74, 74, 72, 78, 84, 87, 89, 91, 95, 97, 102, 104, 106, 109, 104, 100, 105,
    +
    118  114, 117, 117, 118, 119, 120, 121, 123, 116, 110, 112, 110, 103, 103, 107, 114,
    +
    119  120, 118, 118, 113, 102, 100, 100, 99, 97, 90, 81, 75, 72, 73, 77, 78, 74, 71,
    +
    120  68, 64, 58, 51, 46, 43, 39, 34, 24, 15, 11, 6, 1, -3, -8, -14, -18, -23, -30,
    +
    121  -34, -39, -45, -49, -54, -59, -63, -68, -72, -76, -79, -82, -86, -88, -91, -94,
    +
    122  -90, -87, -90, -94, -100, -106, -108, -109, -110, -111, -112, -113, -113, -107,
    +
    123  -104, -106, -111, -116, -118, -118, -117, -118, -118, -119, -116, -108, -105,
    +
    124  -105, -103, -101, -99, -95, -92, -89, -87, -87, -87, -87, -84, -85, -91, -92,
    +
    125  -90, -88, -86, -84, -81, -76, -68, -56, -49, -44, -39, -34, -29, -25, -20, -15,
    +
    126  -9, -5, 0, 0, -4, -4, 1, 5, 9, 12, 16, 23, 35, 45, 48, 50, 53, 57, 59, 62, 65,
    +
    127  68, 71, 72, 76, 79, 81, 83, 83, 85, 91, 97, 100, 102, 104, 107, 109, 111, 113,
    +
    128  114, 115, 116, 118, 119, 121, 121, 113, 111, 113, 112, 109, 108, 111, 118, 122,
    +
    129  121, 120, 120, 118, 115, 108, 103, 102, 101, 94, 86, 82, 81, 85, 87, 83, 80, 78,
    +
    130  76, 73, 70, 67, 64, 59, 53, 44, 34, 27, 23, 19, 14, 9, 4, -2, -7, -11, -16, -21,
    +
    131  -26, -32, -37, -42, -48, -53, -57, -62, -65, -69, -74, -77, -81, -84, -87, -88,
    +
    132  -89, -94, -97, -99, -101, -104, -106, -108, -110, -112, -113, -110, -107, -109,
    +
    133  -115, -120, -121, -121, -122, -123, -123, -124, -122, -119, -118, -115, -111,
    +
    134  -106, -102, -97, -93, -90, -87, -86, -88, -88, -87, -84, -83, -88, -90, -88,
    +
    135  -87, -85, -83, -80, -75, -66, -55, -48, -43, -36, -32, -27, -23, -18, -12, -7,
    +
    136  -3, 3, 4, 1, 1, 4, 7, 11, 15, 21, 30, 42, 48, 50, 54, 57, 59, 62, 66, 69, 72,
    +
    137  74, 77, 79, 82, 84, 87, 88, 88, 93, 99, 101, 104, 107, 109, 112, 113, 115, 117,
    +
    138  118, 119, 120, 122, 121, 113, 111, 111, 108, 101, 96, 98, 107, 114, 116, 114,
    +
    139  113, 110, 108, 102, 96, 94, 94, 92, 87, 79, 74, 73, 71, 72, 73, 71, 68, 66, 63,
    +
    140  60, 56, 51, 45, 37, 29, 22, 17, 13, 9, 4, -2, -6, -11, -16, -21, -26, -31, -35,
    +
    141  -41, -46, -51, -55, -60, -64, -68, -72, -76, -79, -82, -86, -89, -92, -96, -98,
    +
    142  -100, -103, -105, -107, -109, -110, -112, -114, -115, -112, -109, -111, -115,
    +
    143  -119, -120, -121, -122, -123, -124, -124, -123, -122, -121, -119, -114, -109,
    +
    144  -105, -101, -97, -92, -89, -87, -88, -89, -89, -87, -83, -83, -88, -89, -87,
    +
    145  -85, -83, -81, -77, -72, -64, -54, -48, -42, -36, -31, -27, -23, -18, -13, -8,
    +
    146  -2, 0, -2, -4, -2, 1, 5, 9, 12, 17, 26, 37, 44, 47, 50, 52, 55, 58, 61, 64, 67,
    +
    147  70, 72, 74, 77, 80, 82, 81, 82, 87, 92, 96, 100, 102, 104, 106, 108, 110, 111,
    +
    148  113, 114, 116, 114, 108, 107, 109, 109, 106, 100, 99, 104, 111, 114, 112, 111,
    +
    149  109, 105, 102, 99, 96, 94, 93, 91, 86, 78, 72, 70, 72, 75, 74, 70, 69, 66, 64,
    +
    150  62, 59, 56, 53, 44, 34, 28, 23, 19, 15, 10, 6, 1, -4, -8, -14, -19, -24, -28,
    +
    151  -34, -38, -41, -44, -48, -54, -60, -64, -67, -71, -74, -78, -81, -83, -86, -88,
    +
    152  -91, -94, -97, -99, -101, -103, -105, -106, -106, -106, -107, -110, -111, -113,
    +
    153  -115, -117, -118, -119, -119, -120, -120, -119, -116, -113, -108, -104, -101,
    +
    154  -97, -92, -87, -85, -84, -84, -84, -83, -81, -79, -79, -83, -85, -84, -83, -81,
    +
    155  -80, -77, -73, -64, -53, -46, -40, -34, -30, -26, -22, -17, -13, -8, -3, 1, 0,
    +
    156  -4, -3, 1, 5, 8, 11, 14, 20, 31, 42, 46, 48, 51, 53, 56, 59, 62, 64, 67, 70, 72,
    +
    157  75, 78, 81, 82, 82, 83, 87, 94, 98, 100, 103, 105, 106, 107, 109, 111, 112, 113,
    +
    158  112, 110, 112, 112, 109, 106, 105, 107, 111, 116, 119, 117, 114, 112, 111, 111,
    +
    159  108, 104, 100, 99, 97, 90, 81, 75, 73, 75, 79, 79, 77, 73, 71, 68, 65, 62, 60,
    +
    160  55, 47, 40, 34, 29, 25, 20, 15, 10, 4, -1, -5, -9, -15, -20, -25, -30, -35, -37,
    +
    161  -42, -48, -53, -58, -62, -66, -69, -73, -76, -80, -83, -86, -88, -91, -94, -96,
    +
    162  -98, -100, -102, -104, -106, -107, -109, -110, -112, -113, -115, -118, -118,
    +
    163  -119, -121, -122, -122, -122, -122, -120, -117, -114, -109, -104, -99, -92, -87,
    +
    164  -85, -83, -83, -83, -83, -81, -80, -81, -83, -84, -83, -80, -78, -77, -73, -67,
    +
    165  -58, -48, -42, -36, -30, -26, -22, -18, -14, -8, -4, 2, 5, 4, 1, 2, 5, 9, 12,
    +
    166  15, 19, 26, 37, 46, 50, 52, 55, 58, 60, 63, 66, 68, 70, 73, 75, 77, 80, 83, 84,
    +
    167  84, 87, 93, 97, 99, 102, 104, 106, 107, 109, 111, 112, 113, 111, 108, 108, 108,
    +
    168  106, 102, 101, 101, 102, 105, 111, 112, 107, 105, 104, 104, 102, 97, 94, 92, 91,
    +
    169  85, 76, 69, 65, 64, 66, 68, 69, 66, 64, 61, 59, 56, 53, 49, 43, 37, 32, 29, 26,
    +
    170  23, 20, 15, 8, 1, -5, -9, -13, -17, -22, -26, -28, -29, -31, -34, -41, -49, -55,
    +
    171  -58, -60, -64, -67, -70, -73, -76, -79, -82, -85, -88, -90, -92, -94, -95, -96,
    +
    172  -98, -99, -101, -102, -105, -107, -109, -111, -112, -113, -114, -115, -115,
    +
    173  -115, -115, -115, -113, -111, -107, -103, -96, -89, -84, -80, -79, -79, -79,
    +
    174  -78, -77, -76, -78, -81, -81, -79, -77, -76, -74, -71, -66, -58, -52, -47, -41,
    +
    175  -33, -27, -24, -20, -16, -12, -7, -2, 0, -3, -6, -4, -1, 2, 5, 8, 11, 15, 24,
    +
    176  34, 40, 43, 45, 48, 51, 53, 55, 58, 60, 63, 65, 67, 70, 73, 74, 77, 82, 85, 88,
    +
    177  91, 94, 96, 98, 100, 102, 103, 105, 106, 105, 103, 103, 104, 101, 99, 98, 98,
    +
    178  101, 106, 111, 112, 110, 110, 108, 106, 102, 98, 97, 96, 95, 90, 81, 76, 75, 77,
    +
    179  78, 78, 77, 74, 72, 70, 67, 64, 62, 59, 55, 49, 44, 41, 38, 36, 33, 28, 21, 14,
    +
    180  8, 3, -1, -5, -7, -8, -9, -11, -15, -20, -29, -37, -43, -45, -49, -52, -55, -58,
    +
    181  -62, -65, -68, -71, -74, -77, -80, -81, -83, -83, -84, -85, -86, -89, -92, -96,
    +
    182  -99, -101, -103, -104, -105, -106, -107, -108, -109, -109, -108, -106, -104,
    +
    183  -101, -96, -89, -83, -78, -76, -75, -76, -76, -75, -74, -73, -74, -76, -76, -74,
    +
    184  -73, -71, -69, -66, -59, -51, -46, -41, -35, -28, -23, -20, -15, -11, -7, -2, 3,
    +
    185  6, 4, 1, 1, 3, 7, 10, 12, 16, 22, 30, 39, 44, 47, 50, 52, 54, 56, 59, 61, 63,
    +
    186  65, 67, 69, 68, 67, 68, 72, 79, 84, 86, 89, 91, 92, 94, 95, 97, 99, 100, 101,
    +
    187  101, 99, 98, 95, 89, 88, 88, 89, 91, 96, 102, 103, 101, 99, 97, 93, 89, 87, 86,
    +
    188  85, 83, 78, 71, 68, 67, 69, 70, 69, 67, 65, 63, 61, 59, 57, 54, 52, 49, 45, 41,
    +
    189  38, 35, 32, 28, 23, 16, 10, 4, 0, -4, -7, -10, -12, -13, -16, -19, -26, -34,
    +
    190  -40, -44, -47, -51, -54, -58, -61, -63, -67, -70, -73, -76, -79, -81, -83, -84,
    +
    191  -85, -85, -86, -88, -90, -94, -97, -100, -102, -104, -105, -105, -106, -107,
    +
    192  -108, -108, -108, -106, -104, -102, -100, -96, -89, -81, -78, -78, -76, -75,
    +
    193  -76, -77, -75, -75, -77, -79, -79, -78, -76, -73, -69, -69, -68, -59, -53, -53,
    +
    194  -50, -45, -35, -27, -25, -27, -21, -11, -6, -11, -23, -18, -10, -11, -9, -2, -1,
    +
    195  -3, 2, 20, 31, 17, 5, 18, 37, 36, 36, 41, 45, 40, 44, 49, 50, 43, 27, 48, 59,
    +
    196  59, 66, 67, 70, 69, 73, 74, 82, 70, 66, 83, 84, 75, 60, 73, 85, 75, 66, 72, 80,
    +
    197  66, 72, 87, 87, 85, 87, 86, 81, 72, 57, 71, 76, 71, 73, 56, 41, 48, 63, 64, 51,
    +
    198  34, 49, 56, 47, 47, 49, 40, 18, 29, 40, 33, 14, 4, 21, 28, 19, 11, 17, 4, -13,
    +
    199  -1, 11, -3, -23, -19, -2, -7, -28, -37, -23, -15, -37, -45, -39, -43, -47, -49,
    +
    200  -35, -36, -58, -60, -50, -50, -63, -65, -63, -62, -61, -62, -66, -72, -73, -74,
    +
    201  -76, -80, -82, -83, -84, -85, -84, -70, -66, -85, -90, -79, -64, -59, -73, -76,
    +
    202  -72, -59, -46, -45, -52, -64, -57, -39, -35, -54, -66, -61, -48, -37, -35, -44,
    +
    203  -52, -45, -34, -15, -11, -27, -32, -16, -2, -2, -1, 1, 7, 12, 16, 24, 11, 4, 11,
    +
    204  18, 39, 29, 17, 25, 25, 39, 49, 51, 50, 49, 57, 57, 60, 54, 52, 64, 59, 57, 60,
    +
    205  63, 69, 72, 77, 79, 79, 80, 84, 85, 86, 88, 90, 92, 91, 89, 86, 87, 79, 68, 78,
    +
    206  91, 82, 72, 80, 95, 95, 92, 92, 90, 87, 83, 81, 79, 77, 73, 75, 78, 72, 64, 63,
    +
    207  67, 68, 66, 64, 64, 56, 55, 59, 54, 44, 35, 42, 45, 30, 20, 19, 16, 9, 11, 22,
    +
    208  22, 13, 5, 6, 9, 3, -3, -10, -19, -25, -27, -32, -37, -39, -42, -44, -48, -52,
    +
    209  -54, -56, -59, -63, -65, -68, -71, -73, -74, -75, -75, -76, -77, -79, -82, -85,
    +
    210  -89, -91, -93, -95, -96, -96, -97, -99, -100, -97, -90, -87, -96, -98, -94, -84,
    +
    211  -70, -70, -81, -86, -81, -68, -58, -57, -58, -64, -70, -68, -68, -70, -70, -70,
    +
    212  -69, -62, -55, -53, -54, -54, -46, -30, -24, -28, -27, -20, -16, -20, -18, -20,
    +
    213  -23, -19, -11, -3, -11, -11, -6, -4, -4, 2, 11, 10, 9, 20, 28, 26, 28, 32, 33,
    +
    214  32, 30, 31, 31, 30, 34, 38, 45, 50, 51, 54, 56, 58, 59, 63, 65, 70, 71, 72, 65,
    +
    215  49, 48, 55, 62, 59, 54, 53, 54, 54, 56, 69, 72, 71, 66, 63, 61, 44, 36, 48, 62,
    +
    216  56, 52, 47, 45, 49, 47, 49, 45, 45, 32, 29, 50, 49, 42, 40, 38, 40, 35, 32, 33,
    +
    217  26, 12, 5, 11, 9, -2, -9, -5, 7, 5, 3, -11, -19, -2, 0, -4, -17, -21, -11, -14,
    +
    218  -14, -25, -36, -33, -35, -36, -41, -45, -44, -47, -51, -51, -48, -47, -48, -48,
    +
    219  -39, -31, -31, -46, -58, -58, -61, -57, -59, -58, -52, -60, -50, -43, -57, -66,
    +
    220  -54, -41, -55, -59, -37, -26, -28, -47, -47, -21, -20, -20, -30, -45, -44, -40,
    +
    221  -21, -16, -29, -39, -41, -20, 1, 0, 0, 3, 3, -8, 2, 18, 3, -7, 5, 23, 29, 17,
    +
    222  16, 34, 38, 28, 25, 39, 41, 28, 35, 55, 56, 54, 59, 56, 49, 48, 57, 60, 61, 49,
    +
    223  43, 56, 57, 58, 64, 66, 72, 68, 55, 68, 77, 76, 78, 75, 77, 72, 55, 50, 52, 49,
    +
    224  52, 54, 53, 53, 47, 51, 67, 65, 47, 41, 55, 61, 42, 35, 47, 50, 49, 29, 20, 18,
    +
    225  13, 26, 32, 24, 7, 16, 31, 29, 25, 9, 0, 6, 15, 14, -1, -15, -14, -16, -15, -13,
    +
    226  -22, -26, -27, -29, -24, -27, -30, -21, -21, -24, -24, -27, -29, -27, -40, -51,
    +
    227  -52, -47, -34, -37, -46, -48, -53, -44, -34, -34, -35, -37, -34, -29, -29, -25,
    +
    228  -23, -33, -38, -38, -33, -31, -43, -46, -44, -32, -19, -29, -41, -42, -39, -31,
    +
    229  -24, -22, -26, -33, -32, -19, -15, -22, -20, -10, -6, -18, -23, -21, -28, -20,
    +
    230  -13, -16, -19, -23, -26, -27, -18, -6, 0, 2, 4, 1, 2, 7, 10, 13, 13, 17, 16, 10,
    +
    231  7, 4, 7, 8, 9, 11, 12, 14, 16, 23, 30, 31, 24, 16, 15, 15, 13, 14, 24, 31, 22,
    +
    232  10, 11, 20, 18, 10, 8, 11, 11, 20, 32, 29, 30, 30, 31, 33, 32, 35, 25, 10, 12,
    +
    233  13, 11, 13, 14, 27, 38, 36, 35, 37, 38, 41, 41, 42, 34, 19, 19, 21, 21, 19, 15,
    +
    234  13, 22, 27, 28, 20, 3, 5, 4, 8, 18, 18, 16, 13, 12, 10, 9, 6, -9, -16, -14, -13,
    +
    235  -18, -22, -24, -19, -7, -11, -13, -14, -15, -16, -17, -17, -17, -25, -36, -34,
    +
    236  -33, -35, -38, -41, -36, -37, -40, -42, -42, -41, -45, -45, -48, -51, -49, -44,
    +
    237  -40, -46, -51, -52, -49, -46, -47, -54, -58, -57, -53, -43, -40, -50, -60, -61,
    +
    238  -62, -59, -56, -58, -59, -57, -46, -36, -34, -35, -32, -27, -25, -25, -31, -30,
    +
    239  -27, -25, -28, -27, -20, -18, -14, -8, -17, -23, -11, -2, 8, 5, -5, 4, 14, 14,
    +
    240  17, 6, 4, 16, 18, 21, 12, 10, 14, 13, 15, 16, 19, 14, 21, 28, 24, 21, 13, 15,
    +
    241  19, 24, 17, 4, -3, 6, 23, 17, 18, 25, 19, 22, 28, 29, 32, 27, 16, 31, 37, 37,
    +
    242  33, 11, 3, 10, 35, 42, 23, 7, 23, 41, 41, 41, 26, 13, 8, 32, 48, 40, 30, 10, 20,
    +
    243  40, 42, 36, 24, 12, 12, 33, 44, 34, 15, 11, 34, 36, 24, 16, 11, 24, 24, 19, 24,
    +
    244  25, 22, 21, 30, 31, 21, 21, 24, 24, 21, 20, 20, 17, 14, 9, 1, -3, -3, -5, -1, 8,
    +
    245  9, 7, 7, 4, 6, 8, -3, -16, -13, 4, 1, -12, -19, -25, -27, -16, 2, -5, -21, -21,
    +
    246  -13, -4, 4, -2, -11, -11, -9, -2, -2, -15, -25, -23, -17, -3, -8, -26, -29, -23,
    +
    247  -16, -1, 8, 4, 5, 8, 10, 13, 4, -1, -11, -21, -7, -15, -14, 5, 0, 2, -1, -7, -4,
    +
    248  -3, -3, -8, -9, -4, 8, 17, 8, 6, 15, 20, 5, -3, -1, -10, -3, 8, 19, 15, -6, -8,
    +
    249  1, 11, 16, 3, -6, -3, -9, 0, 8, -5, -19, -9, 15, 15, 12, 0, -10, -9, -8, 16, 8,
    +
    250  -3, -5, -3, 13, -11, -16, -10, -9, -5, -10, 3, 8, -13, -18, 1, 16, 5, -17, -22,
    +
    251  -20, -13, -21, -23, -5, -7, -10, -4, 6, 0, -17, -13, 7, 11, -5, -15, -8, 0, -9,
    +
    252  -7, 1, -4, -22, -29, -27, -26, -8, -7, -7, -6, -11, 3, 15, 17, 24, 31, 24, 13,
    +
    253  12, 9, -6, -9, -6, 0, 10, -2, -11, 2, 3, -7, 3, 14, 15, 1, -10, -6, -7, -1, 5,
    +
    254  15, 18, -1, -19, -15, -4, -2, 12, 20, 0, -13, 2, 14, 13, 15, 13, 12, 9, -10,
    +
    255  -14, -8, -16, -3, 18, 17, 18, 14, 0, 0, 8, 12, 10, 5, -8, -7, 6, 9, 5, 13, 13,
    +
    256  -13, -21, -16, -16, -14, -13, -12, -18, -5, 12, 14, 6, 4, 1, -11, -8, -5, 11, 5,
    +
    257  -14, -8, -5, 9, 12, -6, -14, -13, -14, 7, 4, -16, -26, -33, -9, 3, -6, -21, -28,
    +
    258  -22, -11, -1, -15, -26, -22, -27, -7, -3, -28, -34, -31, -19, -18, -21, -28,
    +
    259  -33, -30, -29, -31, -25, -11, -19, -19, -6, -9, -26, -33, -32, -30, -31, -24,
    +
    260  -10, -14, -14, -11, -2, 1, -3, -11, -23, -10, -6, -8, -16, -25, -18, 3, 14, -13,
    +
    261  -30, -24, -21, -14, -5, -13, -27, -24, -7, 3, 9, 13, 12, 11, 16, 19, 13, 15, 7,
    +
    262  -2, 5, -2, -11, -10, -8, -7, -1, 12, 14, 9, -7, -9, 17, 15, 4, 13, 16, 7, 5, 18,
    +
    263  24, 7, -12, 5, 11, 5, 10, 1, 17, 23, 26, 38, 35, 19, -3, -3, 10, 33, 30, 32, 27,
    +
    264  8, 12, 25, 38, 17, -5, 1, 19, 37, 30, 30, 40, 43, 36, 37, 39, 20, 8, 13, 22, 17,
    +
    265  14, 14, 27, 30, 13, 13, 13, 8, 2, 6, 7, 15, 26, 25, 26, 26, 24, 18, 25, 13, -5,
    +
    266  -1, -3, 0, 1, -16, -17, -20, -20, -1, -13, -27, -27, -33, -29, -23, -30, -31,
    +
    267  -22, -17, -14, -39, -46, -30, -34, -36, -42, -48, -52, -54, -47, -42, -55, -59,
    +
    268  -35, -25, -34, -51, -61, -61, -59, -54, -53, -59, -68, -63, -53, -51, -45, -41,
    +
    269  -41, -36, -53, -59, -51, -52, -45, -46, -46, -28, -24, -24, -26, -52, -59, -56,
    +
    270  -55, -43, -37, -36, -36, -27, -13, -2, 1, 1, 5, 4, 13, 18, 21, 20, -6, -11, -8,
    +
    271  5, 21, 3, 1, 5, 7, 17, 13, 1, 11, 24, 23, 29, 32, 27, 23, 25, 32, 35, 32, 31,
    +
    272  20, 16, 13, 11, 28, 33, 41, 50, 46, 43, 41, 36, 28, 37, 47, 50, 53, 56, 55, 56,
    +
    273  59, 59, 56, 40, 41, 41, 48, 57, 52, 55, 57, 60, 62, 51, 33, 34, 37, 36, 35, 30,
    +
    274  39, 41, 36, 41, 29, 16, 19, 13, 7, 7, 14, 25, 15, 10, 14, 9, 18, 21, -2, -8, -8,
    +
    275  -11, -10, -15, -15, -24, -27, -10, -15, -33, -36, -38, -33, -29, -31, -30, -25,
    +
    276  -15, -28, -41, -37, -44, -53, -52, -51, -51, -52, -56, -57, -53, -51, -51, -59,
    +
    277  -70, -71, -72, -71, -65, -63, -65, -67, -67, -68, -70, -73, -81, -79, -61, -56,
    +
    278  -57, -57, -71, -70, -61, -58, -56, -60, -54, -41, -36, -33, -28, -36, -57, -62,
    +
    279  -55, -55, -54, -45, -44, -46, -36, -24, -17, -12, -6, -5, -5, -1, -1, -3, -15,
    +
    280  -19, -3, 5, 8, -4, -9, -5, -7, -5, -3, 11, 23, 19, 15, 14, 15, 16, 19, 24, 23,
    +
    281  23, 27, 30, 34, 26, 29, 42, 42, 47, 53, 58, 59, 59, 59, 56, 60, 68, 73, 71, 67,
    +
    282  69, 82, 86, 84, 84, 61, 55, 66, 63, 61, 53, 60, 80, 86, 80, 73, 72, 54, 40, 43,
    +
    283  37, 40, 50, 54, 62, 62, 50, 47, 43, 32, 27, 20, 13, 15, 13, 17, 29, 33, 31, 26,
    +
    284  29, 18, 3, 1, -6, -7, -7, -13, -5, 6, 0, -12, -26, -19, -16, -27, -32, -32, -25,
    +
    285  -25, -27, -38, -44, -43, -39, -35, -38, -43, -56, -59, -51, -48, -51, -61, -67,
    +
    286  -64, -59, -56, -57, -60, -56, -56, -62, -63, -68, -76, -70, -63, -64, -50, -43,
    +
    287  -44, -38, -42, -45, -47, -48, -47, -46, -45, -36, -21, -16, -14, -13, -28, -44,
    +
    288  -46, -44, -37, -21, -23, -29, -28, -19, 0, -1, -4, 1, 11, 20, 15, 10, 11, 15,
    +
    289  17, 21, 34, 21, 1, 11, 15, 16, 21, 21, 20, 27, 36, 38, 38, 37, 36, 39, 45, 48,
    +
    290  43, 39, 42, 43, 44, 52, 58, 57, 61, 70, 70, 67, 70, 72, 66, 58, 62, 66, 70, 80,
    +
    291  84, 82, 74, 72, 77, 67, 52, 52, 50, 53, 68, 78, 75, 72, 79, 80, 71, 56, 42, 39,
    +
    292  33, 40, 64, 64, 50, 46, 49, 56, 54, 31, 16, 17, 19, 28, 26, 11, 9, 28, 35, 35,
    +
    293  33, 5, -10, -8, -7, 0, -15, -25, -26, -20, -18, -36, -42, -41, -44, -50, -48,
    +
    294  -41, -47, -61, -63, -55, -53, -45, -55, -73, -76, -75, -77, -73, -63, -67, -71,
    +
    295  -75, -74, -79, -87, -80, -71, -72, -85, -90, -81, -77, -82, -82, -79, -79, -90,
    +
    296  -90, -74, -68, -59, -57, -66, -71, -70, -68, -63, -61, -61, -54, -44, -35, -33,
    +
    297  -38, -56, -64, -59, -53, -44, -51, -58, -58, -48, -31, -19, -11, -9, -12, -10,
    +
    298  2, 5, 8, 11, 14, 20, 15, 3, -6, -2, 0, 10, 19, 7, 3, 12, 26, 38, 41, 39, 41, 44,
    +
    299  36, 34, 38, 37, 46, 55, 52, 56, 55, 46, 48, 61, 67, 68, 67, 59, 59, 68, 75, 78,
    +
    300  80, 77, 69, 71, 75, 75, 75, 70, 57, 54, 63, 67, 69, 72, 80, 75, 65, 68, 67, 78,
    +
    301  66, 41, 41, 46, 63, 70, 59, 52, 52, 51, 62, 50, 22, 21, 20, 27, 32, 20, 15, 26,
    +
    302  32, 36, 33, 5, -5, -3, -4, 2, -7, -23, -27, -26, -26, -26, -29, -40, -45, -47,
    +
    303  -50, -55, -52, -48, -52, -53, -56, -60, -69, -74, -74, -76, -78, -73, -65, -71,
    +
    304  -74, -74, -75, -77, -77, -80, -92, -90, -91, -91, -88, -93, -92, -84, -81, -90,
    +
    305  -98, -97, -90, -77, -67, -70, -85, -85, -77, -75, -75, -75, -72, -70, -62, -46,
    +
    306  -44, -45, -51, -66, -66, -67, -66, -65, -67, -65, -56, -33, -25, -28, -35, -30,
    +
    307  -15, -10, -6, -1, 1, 5, 11, 14, 14, 0, -8, 4, 2, -2, 2, 3, 14, 18, 28, 40, 41,
    +
    308  36, 29, 32, 34, 43, 46, 47, 46, 39, 46, 55, 59, 55, 50, 50, 58, 71, 69, 71, 75,
    +
    309  76, 78, 81, 78, 71, 74, 76, 80, 82, 77, 74, 80, 83, 71, 69, 71, 73, 75, 75, 74,
    +
    310  80, 86, 83, 85, 84, 83, 84, 81, 73, 70, 73, 71, 70, 65, 48, 46, 46, 47, 53, 42,
    +
    311  40, 49, 49, 45, 39, 34, 35, 34, 21, 14, 4, -3, -7, -10, -9, -13, -21, -27, -30,
    +
    312  -35, -38, -43, -40, -35, -41, -47, -59, -62, -64, -68, -70, -75, -75, -79, -78,
    +
    313  -75, -79, -79, -79, -79, -82, -92, -98, -98, -100, -100, -99, -96, -91, -91,
    +
    314  -92, -96, -104, -105, -108, -107, -102, -102, -99, -99, -97, -93, -92, -91, -91,
    +
    315  -91, -91, -75, -63, -64, -69, -87, -88, -87, -82, -73, -82, -84, -80, -74, -72,
    +
    316  -67, -60, -46, -35, -34, -28, -25, -22, -15, -11, -4, -1, 5, 4, -17, -19, -13,
    +
    317  -11, 1, 6, 11, 20, 31, 36, 38, 40, 40, 45, 50, 51, 53, 56, 58, 64, 65, 69, 70,
    +
    318  61, 65, 70, 78, 87, 87, 89, 92, 95, 97, 93, 87, 89, 91, 93, 93, 96, 103, 105,
    +
    319  104, 106, 101, 92, 92, 91, 93, 92, 95, 104, 100, 100, 103, 102, 103, 100, 90,
    +
    320  88, 90, 89, 89, 84, 75, 69, 72, 78, 71, 54, 49, 53, 55, 55, 54, 51, 51, 50, 31,
    +
    321  17, 13, 7, 5, 3, 0, -4, -14, -20, -24, -28, -33, -36, -41, -46, -51, -56, -60,
    +
    322  -63, -65, -71, -75, -77, -81, -84, -86, -90, -90, -84, -84, -87, -92, -102,
    +
    323  -105, -105, -106, -106, -108, -104, -98, -98, -99, -99, -103, -111, -113, -111,
    +
    324  -112, -112, -108, -110, -111, -105, -99, -97, -97, -95, -91, -81, -72, -71, -75,
    +
    325  -89, -90, -80, -79, -79, -86, -88, -84, -81, -76, -71, -60, -45, -37, -35, -31,
    +
    326  -25, -21, -15, -10, -7, -1, 3, 8, 6, -6, -3, 6, 8, 12, 17, 22, 30, 42, 48, 50,
    +
    327  53, 54, 57, 61, 64, 67, 70, 71, 74, 75, 69, 68, 73, 74, 75, 77, 88, 96, 95, 97,
    +
    328  98, 98, 91, 89, 92, 90, 97, 105, 106, 105, 106, 106, 107, 104, 92, 91, 96, 96,
    +
    329  94, 93, 95, 102, 104, 103, 104, 103, 94, 88, 90, 87, 85, 84, 79, 84, 91, 89, 77,
    +
    330  64, 63, 61, 60, 58, 56, 56, 53, 48, 41, 34, 28, 20, 14, 9, 4, 0, -7, -11, -16,
    +
    331  -21, -26, -31, -36, -40, -44, -49, -51, -49, -57, -67, -69, -74, -76, -79, -82,
    +
    332  -84, -81, -79, -84, -84, -87, -95, -98, -100, -102, -104, -105, -102, -96, -95,
    +
    333  -97, -97, -102, -110, -109, -109, -110, -103, -107, -112, -111, -107, -97, -96,
    +
    334  -97, -96, -95, -89, -82, -78, -78, -76, -75, -79, -76, -81, -89, -85, -83, -82,
    +
    335  -80, -77, -72, -61, -46, -39, -37, -35, -30, -24, -20, -15, -11, -6, -1, 5, -2,
    +
    336  -7, -2, 3, 6, 9, 11, 16, 24, 36, 43, 44, 49, 53, 54, 58, 61, 63, 66, 68, 71, 68,
    +
    337  63, 66, 69, 72, 80, 88, 90, 91, 94, 95, 98, 94, 86, 91, 91, 95, 104, 106, 105,
    +
    338  106, 108, 109, 106, 97, 96, 97, 97, 98, 97, 97, 100, 109, 108, 106, 107, 98, 93,
    +
    339  93, 91, 89, 88, 86, 85, 91, 87, 80, 79, 77, 75, 69, 64, 60, 56, 52, 52, 51, 51,
    +
    340  55, 47, 31, 27, 23, 18, 9, 1, -3, -8, -11, -15, -21, -25, -29, -34, -39, -43,
    +
    341  -49, -52, -56, -61, -65, -69, -73, -77, -78, -73, -73, -77, -81, -88, -96, -97,
    +
    342  -99, -100, -101, -103, -102, -97, -96, -97, -102, -110, -112, -112, -114, -114,
    +
    343  -115, -115, -117, -111, -103, -104, -104, -102, -102, -99, -96, -92, -88, -86,
    +
    344  -83, -85, -86, -91, -98, -96, -94, -93, -92, -91, -88, -85, -74, -60, -54, -49,
    +
    345  -44, -40, -35, -31, -26, -20, -15, -10, -8, -11, -15, -12, -7, -3, 1, 5, 11, 19,
    +
    346  30, 37, 40, 43, 45, 48, 52, 54, 58, 61, 65, 65, 60, 62, 67, 70, 75, 81, 86, 88,
    +
    347  90, 93, 95, 98, 94, 87, 89, 94, 102, 106, 106, 107, 108, 109, 111, 107, 99, 100,
    +
    348  99, 98, 99, 98, 100, 110, 110, 109, 107, 97, 94, 94, 93, 92, 90, 87, 84, 84, 87,
    +
    349  87, 84, 78, 74, 71, 67, 62, 57, 54, 53, 54, 51, 47, 40, 33, 29, 27, 21, 12, 4,
    +
    350  -1, -5, -10, -15, -20, -25, -30, -35, -40, -44, -49, -53, -58, -62, -66, -70,
    +
    351  -74, -77, -81, -79, -76, -79, -84, -92, -97, -99, -101, -103, -104, -107, -108,
    +
    352  -106, -100, -100, -101, -104, -111, -115, -117, -117, -117, -118, -118, -114,
    +
    353  -106, -105, -106, -105, -104, -101, -99, -95, -92, -89, -87, -87, -88, -88, -91,
    +
    354  -96, -96, -94, -93, -92, -91, -89, -84, -74, -63, -57, -51, -45, -42, -37, -33,
    +
    355  -28, -23, -18, -14, -15, -19, -18, -15, -11, -6, -2, 2, 8, 16, 26, 33, 36, 39,
    +
    356  42, 44, 48, 51, 54, 57, 60, 61, 62, 65, 67, 70, 75, 80, 84, 86, 90, 93, 95, 98,
    +
    357  100, 103, 105, 107, 108, 110, 111, 113, 115, 117, 114, 106, 107, 108, 109, 109,
    +
    358  108, 113, 118, 118, 117, 117, 116, 115, 111, 105, 102, 102, 100, 98, 96, 96, 94,
    +
    359  91, 88, 85, 83, 81, 79, 76, 71, 69, 66, 62, 57, 51, 46, 41, 38, 33, 26, 18, 11,
    +
    360  6, 1, -4, -9, -14, -20, -25, -30, -35, -40, -45, -50, -54, -59, -63, -67, -72,
    +
    361  -76, -80, -83, -86, -89, -93, -97, -99, -102, -104, -107, -109, -112, -113,
    +
    362  -109, -106, -108, -114, -119, -122, -123, -124, -125, -125, -126, -125, -123,
    +
    363  -122, -120, -115, -113, -111, -108, -104, -99, -94, -91, -91, -90, -91, -90,
    +
    364  -93, -98, -97, -95, -95, -93, -91, -87, -79, -68, -60, -54, -47, -42, -38, -33,
    +
    365  -29, -24, -19, -14, -9, -5, -7, -8, -5, -2, 2, 7, 14, 21, 29, 38, 43, 46, 49,
    +
    366  52, 55, 57, 60, 64, 67, 70, 73, 76, 79, 82, 85, 87, 91, 95, 97, 100, 103, 105,
    +
    367  107, 109, 111, 113, 114, 116, 118, 119, 120, 122, 122, 118, 117, 117, 113, 111,
    +
    368  112, 114, 116, 119, 120, 120, 119, 117, 113, 108, 105, 103, 102, 100, 98, 97,
    +
    369  96, 92, 89, 87, 85, 83, 80, 77, 73, 70, 67, 64, 59, 54, 49, 45, 41, 38, 34, 28,
    +
    370  21, 13, 6, 1, -4, -8, -14, -19, -25, -30, -35, -40, -45, -49, -54, -58, -62,
    +
    371  -67, -71, -75, -79, -82, -86, -90, -93, -96, -99, -101, -104, -106, -109, -111,
    +
    372  -107, -104, -107, -111, -116, -118, -120, -122, -123, -124, -124, -125, -124,
    +
    373  -123, -122, -119, -114, -112, -110, -107, -102, -98, -93, -91, -90, -90, -91,
    +
    374  -90, -94, -99, -98, -97, -95, -94, -92, -88, -79, -69, -62, -55, -49, -44, -40,
    +
    375  -36, -32, -27, -22, -17, -14, -16, -18, -17, -14, -9, -5, -2, 1, 6, 13, 23, 32,
    +
    376  35, 37, 39, 42, 45, 48, 51, 54, 57, 60, 63, 66, 68, 70, 72, 78, 82, 84, 88, 90,
    +
    377  93, 96, 98, 100, 102, 104, 106, 108, 109, 111, 112, 113, 115, 115, 113, 111,
    +
    378  111, 112, 114, 114, 115, 117, 117, 116, 114, 112, 110, 108, 105, 103, 101, 100,
    +
    379  98, 95, 93, 91, 89, 87, 84, 82, 80, 78, 75, 73, 70, 65, 60, 55, 51, 47, 44, 39,
    +
    380  34, 26, 17, 11, 6, 2, -4, -9, -14, -19, -22, -26, -31, -37, -44, -48, -53, -57,
    +
    381  -61, -65, -69, -73, -77, -80, -84, -88, -91, -94, -97, -99, -102, -105, -105,
    +
    382  -104, -105, -107, -109, -111, -115, -118, -120, -121, -122, -123, -124, -124,
    +
    383  -123, -121, -119, -115, -113, -111, -107, -103, -98, -95, -92, -90, -90, -90,
    +
    384  -90, -96, -100, -99, -97, -96, -94, -92, -89, -82, -71, -62, -55, -49, -44, -41,
    +
    385  -37, -32, -28, -23, -18, -14, -13, -14, -13, -12, -9, -5, -1, 2, 8, 15, 26, 34,
    +
    386  37, 39, 42, 45, 48, 51, 54, 57, 59, 62, 65, 68, 71, 73, 76, 80, 83, 86, 90, 93,
    +
    387  95, 98, 100, 102, 104, 106, 107, 109, 110, 112, 113, 115, 114, 111, 110, 110,
    +
    388  114, 118, 118, 117, 115, 113, 113, 114, 115, 115, 114, 111, 109, 107, 106, 103,
    +
    389  97, 93, 92, 92, 90, 88, 86, 84, 81, 78, 76, 73, 70, 64, 59, 55, 50, 46, 41, 36,
    +
    390  30, 22, 14, 9, 4, -1, -6, -11, -17, -22, -28, -33, -38, -43, -48, -53, -57, -62,
    +
    391  -66, -71, -74, -78, -82, -86, -90, -93, -96, -99, -102, -105, -107, -109, -110,
    +
    392  -111, -111, -112, -114, -117, -121, -123, -124, -126, -127, -128, -128, -128,
    +
    393  -128, -126, -124, -121, -117, -113, -108, -103, -98, -94, -91, -88, -86, -86,
    +
    394  -88, -93, -97, -97, -95, -93, -91, -89, -84, -76, -65, -56, -50, -44, -40, -37,
    +
    395  -32, -28, -23, -18, -14, -8, -6, -6, -7, -6, -4, -1, 3, 7, 11, 18, 28, 36, 40,
    +
    396  42, 45, 48, 50, 53, 56, 58, 61, 64, 66, 69, 72, 75, 77, 80, 83, 86, 89, 92, 94,
    +
    397  97, 99, 101, 103, 104, 106, 107, 109, 110, 111, 111, 110, 107, 105, 106, 109,
    +
    398  112, 114, 112, 111, 110, 111, 112, 113, 112, 109, 106, 106, 105, 103, 97, 93,
    +
    399  91, 90, 89, 87, 85, 83, 81, 79, 77, 74, 72, 69, 66, 62, 59, 56, 52, 48, 43, 36,
    +
    400  27, 19, 14, 9, 4, -1, -5, -10, -13, -16, -21, -27, -33, -40, -44, -49, -53, -57,
    +
    401  -61, -66, -70, -74, -78, -81, -85, -88, -91, -94, -97, -99, -101, -103, -104,
    +
    402  -105, -107, -110, -114, -116, -118, -120, -122, -123, -124, -125, -126, -126,
    +
    403  -125, -123, -121, -117, -113, -109, -104, -100, -96, -94, -92, -91, -91, -95,
    +
    404  -99, -101, -101, -100, -98, -96, -94, -90, -83, -74, -67, -62, -56, -50, -45,
    +
    405  -41, -37, -33, -28, -23, -21, -21, -21, -21, -19, -16, -12, -9, -6, -2, 3, 11,
    +
    406  19, 26, 30, 32, 35, 37, 40, 43, 46, 48, 51, 54, 57, 60, 63, 66, 69, 73, 76, 79,
    +
    407  82, 85, 88, 90, 92, 94, 96, 98, 100, 102, 104, 105, 106, 103, 100, 99, 100, 104,
    +
    408  109, 112, 111, 110, 110, 111, 111, 109, 108, 106, 106, 106, 104, 101, 96, 93,
    +
    409  92, 91, 89, 87, 86, 84, 82, 79, 77, 74, 72, 69, 66, 63, 60, 58, 55, 52, 48, 42,
    +
    410  33, 25, 18, 13, 9, 4, 0, -3, -6, -11, -16, -24, -30, -34, -39, -43, -48, -52,
    +
    411  -57, -61, -65, -69, -73, -76, -80, -84, -87, -90, -92, -94, -95, -96, -96, -98,
    +
    412  -101, -104, -107, -110, -112, -114, -115, -117, -118, -119, -120, -120, -118,
    +
    413  -116, -112, -108, -102, -96, -92, -87, -84, -81, -78, -76, -75, -76, -80, -83,
    +
    414  -83, -83, -80, -77, -73, -67, -59, -52, -45, -40, -34, -29, -25, -21, -17, -12,
    +
    415  -8, -3, 1, 3, 2, 1, 1, 3, 6, 9, 12, 15, 20, 28, 37, 42, 44, 46, 48, 50, 52, 54,
    +
    416  57, 59, 61, 63, 65, 66, 67, 70, 74, 78, 80, 82, 85, 87, 89, 91, 93, 95, 96, 98,
    +
    417  99, 100, 101, 100, 96, 92, 89, 89, 89, 92, 96, 100, 101, 100, 100, 99, 98, 97,
    +
    418  95, 94, 94, 93, 92, 88, 84, 81, 80, 79, 78, 76, 75, 73, 71, 69, 67, 65, 62, 60,
    +
    419  58, 56, 54, 51, 49, 46, 42, 36, 29, 22, 15, 10, 6, 3, 1, -1, -3, -7, -11, -18,
    +
    420  -26, -32, -37, -40, -44, -48, -52, -56, -59, -63, -67, -71, -74, -77, -80, -83,
    +
    421  -86, -87, -88, -89, -90, -92, -96, -99, -103, -105, -108, -110, -111, -113,
    +
    422  -114, -116, -116, -116, -115, -113, -109, -104, -99, -95, -91, -88, -86, -85,
    +
    423  -84, -83, -85, -89, -93, -93, -93, -92, -91, -89, -88, -85, -81, -75, -68, -65,
    +
    424  -60, -55, -49, -45, -40, -37, -34, -32, -31, -31, -32, -31, -29, -25, -23, -20,
    +
    425  -17, -15, -12, -6, 1, 8, 14, 18, 20, 23, 25, 27, 30, 33, 36, 39, 41, 43, 46, 50,
    +
    426  54, 58, 61, 64, 67, 70, 73, 76, 79, 81, 83, 86, 88, 90, 92, 93, 91, 88, 86, 87,
    +
    427  89, 93, 98, 101, 102, 102, 103, 103, 102, 101, 101, 100, 100, 100, 100, 98, 94,
    +
    428  91, 89, 88, 87, 85, 84, 82, 81, 80, 79, 77, 73, 70, 68, 66, 64, 61, 59, 57, 54,
    +
    429  50, 44, 38, 32, 27, 23, 19, 16, 13, 9, 4, -2, -9, -15, -20, -24, -28, -33, -37,
    +
    430  -42, -46, -50, -54, -58, -62, -66, -70, -73, -76, -79, -80, -82, -83, -85, -87,
    +
    431  -90, -93, -97, -100, -102, -105, -107, -109, -110, -112, -113, -113, -111, -108,
    +
    432  -104, -99, -93, -89, -85, -82, -79, -77, -76, -74, -73, -76, -79, -80, -80, -80,
    +
    433  -79, -77, -73, -69, -66, -60, -52, -46, -42, -38, -32, -27, -24, -20, -16, -12,
    +
    434  -10, -9, -10, -10, -10, -8, -5, -3, -1, 3, 6, 7, 13, 24, 31, 33, 34, 36, 38, 40,
    +
    435  42, 45, 47, 46, 44, 47, 53, 57, 57, 59, 65, 70, 72, 74, 75, 75, 77, 82, 87, 85,
    +
    436  82, 85, 90, 93, 79, 83, 97, 80, 71, 81, 97, 98, 79, 70, 85, 97, 88, 87, 89, 71,
    +
    437  61, 77, 83, 72, 50, 47, 65, 68, 58, 39, 37, 44, 47, 46, 45, 36, 13, 22, 34, 27,
    +
    438  6, -1, 19, 20, 12, -6, -10, -10, -23, -12, -3, -7, -27, -32, -13, -21, -42, -49,
    +
    439  -39, -25, -42, -58, -55, -57, -59, -64, -51, -44, -65, -71, -49, -56, -77, -75,
    +
    440  -74, -72, -71, -72, -72, -74, -72, -75, -77, -79, -83, -85, -87, -67, -71, -94,
    +
    441  -91, -91, -79, -62, -58, -63, -77, -78, -68, -50, -45, -56, -66, -55, -36, -35,
    +
    442  -50, -60, -61, -54, -42, -38, -35, -49, -52, -40, -25, -16, -26, -23, -8, -15,
    +
    443  -26, -8, 3, -13, -14, 7, 18, 3, -6, 1, 11, 17, 6, 7, 13, 12, 14, 18, 33, 21, 11,
    +
    444  34, 40, 33, 18, 19, 37, 38, 34, 32, 34, 41, 46, 47, 47, 53, 57, 58, 59, 59, 64,
    +
    445  67, 68, 62, 63, 72, 72, 70, 57, 60, 73, 62, 58, 60, 64, 80, 80, 79, 69, 55, 71,
    +
    446  77, 76, 76, 73, 79, 75, 70, 58, 52, 54, 58, 60, 59, 57, 42, 50, 57, 52, 52, 48,
    +
    447  46, 43, 41, 40, 38, 22, 26, 36, 32, 29, 11, 3, 3, -6, -1, 7, -2, -16, -10, -2,
    +
    448  -13, -27, -34, -25, -19, -26, -35, -46, -49, -52, -57, -61, -60, -61, -66, -68,
    +
    449  -71, -71, -72, -77, -75, -73, -78, -80, -83, -86, -87, -90, -93, -95, -95, -95,
    +
    450  -98, -97, -98, -102, -102, -100, -94, -82, -85, -96, -94, -93, -84, -71, -72,
    +
    451  -74, -74, -84, -91, -88, -87, -87, -86, -83, -70, -67, -72, -69, -65, -59, -53,
    +
    452  -43, -35, -41, -55, -53, -32, -17, -28, -38, -30, -18, -7, 5, 0, -11, -13, -13,
    +
    453  10, 19, 1, -5, 4, 19, 18, 22, 31, 32, 28, 10, 23, 36, 26, 29, 34, 42, 46, 42,
    +
    454  49, 50, 36, 37, 48, 61, 58, 40, 39, 41, 55, 67, 65, 66, 67, 67, 70, 65, 48, 47,
    +
    455  46, 56, 69, 64, 59, 63, 71, 68, 69, 57, 51, 51, 45, 54, 59, 55, 54, 53, 51, 53,
    +
    456  43, 27, 26, 18, 11, 10, 5, 2, -5, 7, 16, 16, 7, -13, -16, -13, -8, -12, -13,
    +
    457  -10, -17, -16, -22, -38, -42, -40, -40, -42, -46, -47, -49, -55, -50, -37, -37,
    +
    458  -39, -39, -40, -41, -40, -50, -61, -58, -57, -58, -56, -59, -52, -36, -31, -32,
    +
    459  -31, -32, -30, -26, -29, -29, -26, -26, -25, -33, -32, -18, -21, -29, -24, -13,
    +
    460  5, 1, -17, -15, -15, 2, 14, 6, 11, 8, 4, 6, 9, 0, -12, -14, 1, 20, 21, 25, 15,
    +
    461  9, 24, 27, 29, 32, 28, 33, 41, 39, 43, 48, 46, 45, 43, 43, 40, 35, 36, 35, 33,
    +
    462  38, 53, 56, 44, 35, 44, 56, 51, 55, 43, 25, 40, 45, 44, 38, 24, 31, 40, 39, 31,
    +
    463  30, 27, 30, 38, 30, 19, 30, 42, 42, 35, 19, 16, 18, 28, 38, 36, 32, 22, 29, 40,
    +
    464  40, 39, 39, 41, 41, 41, 45, 44, 32, 30, 35, 44, 49, 44, 46, 45, 39, 44, 48, 47,
    +
    465  33, 21, 22, 20, 15, 13, 13, 7, 11, 25, 21, 16, 15, 13, 13, 10, 7, 6, 5, 4, 5,
    +
    466  -1, -5, -7, -11, -15, -19, -22, -23, -16, -14, -18, -25, -25, -18, -20, -19,
    +
    467  -26, -42, -42, -42, -42, -40, -42, -31, -28, -37, -45, -44, -30, -26, -29, -43,
    +
    468  -55, -51, -53, -54, -55, -58, -59, -59, -55, -56, -60, -59, -57, -56, -49, -41,
    +
    469  -50, -60, -54, -44, -45, -48, -45, -45, -47, -48, -48, -49, -51, -54, -51, -46,
    +
    470  -43, -44, -40, -25, -21, -25, -19, -15, -11, -17, -29, -26, -25, -23, -19, -19,
    +
    471  -17, -17, -9, 4, 5, 4, 10, 13, 11, 5, 5, 13, 21, 25, 26, 20, 10, 15, 26, 29, 26,
    +
    472  17, 17, 35, 45, 44, 45, 37, 27, 24, 37, 49, 47, 50, 50, 52, 54, 56, 58, 43, 37,
    +
    473  43, 38, 45, 57, 53, 57, 61, 57, 62, 57, 42, 42, 44, 42, 47, 44, 34, 39, 49, 46,
    +
    474  44, 45, 42, 38, 33, 22, 13, 11, 19, 27, 22, 9, 1, 12, 17, 12, 11, 8, -2, 0, 5,
    +
    475  3, -4, -23, -27, -20, -8, -10, -29, -32, -32, -33, -19, -21, -42, -46, -48, -44,
    +
    476  -31, -31, -40, -55, -55, -54, -54, -55, -57, -55, -57, -43, -33, -36, -35, -33,
    +
    477  -36, -35, -41, -56, -57, -56, -48, -42, -52, -52, -40, -31, -28, -22, -35, -44,
    +
    478  -25, -14, -18, -30, -26, -11, -11, -14, -14, -16, -32, -31, -12, -13, -25, -27,
    +
    479  -27, -19, 1, 6, -3, -15, -15, 0, 12, 13, 3, -13, -11, -6, 6, 15, 0, -4, -1, -1,
    +
    480  13, 20, 18, 22, 24, 26, 26, 26, 27, 27, 34, 38, 37, 32, 31, 27, 16, 17, 24, 24,
    +
    481  27, 35, 32, 39, 43, 25, 22, 32, 31, 27, 25, 16, 20, 27, 27, 40, 40, 19, 4, 12,
    +
    482  25, 14, 10, 15, 15, 17, 22, 31, 17, -8, 1, 30, 23, -1, -17, -7, 12, 11, 13, 17,
    +
    483  14, 7, 10, 25, 9, -17, -21, 0, 22, 6,
    +
    484  };
    +
    485 
    +
    486 #endif /* CHUM78_H_ */
    +
    + + + diff --git a/doc/html/chum9__int8_8h_source.html b/doc/html/chum9__int8_8h_source.html index 725fcb177..992171968 100644 --- a/doc/html/chum9__int8_8h_source.html +++ b/doc/html/chum9__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: tables/chum9_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,486 +99,488 @@
    -
    tables/chum9_int8.h
    +
    chum9_int8.h
    -
    00001 #ifndef CHUM9_H_
    -00002 #define CHUM9_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 /* A sampled guitar sound
    -00012 */
    -00013 
    -00014 #define CHUM9_NUM_CELLS 8192
    -00015 #define CHUM9_SAMPLERATE 16384
    -00016 
    -00017 const char __attribute__((progmem)) CHUM9_DATA []  =
    -00018         {
    -00019                 29, 42, 43, 38, 44, 37, 44, 35, 42, 51, -108,
    -00020                 -82, -34, -72, -50, -65, -57, -61, -53, -59, -60, -53, -56, -58, -55, -55, -57,
    -00021                 -56, -56, -56, -54, -53, -54, -54, -52, -51, -58, -52, -53, -55, -51, -54, -48,
    -00022                 -52, -52, -49, -49, -49, -50, -54, -43, -50, -41, -61, -1, 107, 45, 48, 57, 44,
    -00023                 59, 47, 55, 49, 54, 53, 50, 57, 54, 49, 50, 54, 51, 53, 54, 47, 49, 47, 54, 50,
    -00024                 47, 47, 43, 52, 50, 45, 49, 47, 42, 44, 46, 46, 46, 46, 50, 51, 47, 45, 46, 46,
    -00025                 46, 46, 45, 46, 47, 46, 44, 50, 42, 43, 43, 35, 56, -77, -91, -19, -71, -43,
    -00026                 -51, -56, -46, -50, -46, -47, -50, -48, -45, -53, -50, -48, -49, -47, -45, -45,
    -00027                 -46, -49, -49, -45, -46, -46, -48, -46, -42, -46, -43, -43, -43, -44, -44, -38,
    -00028                 -45, -43, -43, -44, -38, -42, -40, -39, -39, -37, -35, -42, -40, -37, -40, -35,
    -00029                 -41, -33, -49, -21, -53, 2, 127, 39, 52, 67, 48, 64, 53, 61, 56, 58, 56, 56, 55,
    -00030                 58, 56, 58, 56, 54, 58, 52, 52, 54, 55, 53, 51, 53, 51, 49, 52, 54, 48, 48, 54,
    -00031                 49, 48, 47, 43, 47, 50, 41, 54, 33, 50, 32, -95, -62, -42, -65, -48, -56, -48,
    -00032                 -52, -51, -50, -52, -55, -53, -53, -52, -47, -48, -49, -51, -49, -49, -52, -50,
    -00033                 -51, -47, -49, -52, -49, -47, -49, -48, -44, -50, -47, -48, -50, -49, -48, -47,
    -00034                 -48, -48, -47, -44, -45, -49, -48, -46, -45, -49, -46, -45, -44, -46, -44, -44,
    -00035                 -47, -38, -45, -30, -68, 45, 112, 10, 57, 52, 45, 50, 41, 45, 42, 52, 46, 51,
    -00036                 48, 50, 48, 43, 48, 49, 50, 46, 44, 45, 45, 46, 47, 48, 45, 45, 46, 42, 43, 41,
    -00037                 38, 40, 42, 41, 41, 40, 39, 42, 36, 38, 37, 38, 39, 32, 39, 34, 46, 29, 46, 31,
    -00038                 40, 51, -115, -64, -30, -72, -45, -67, -47, -54, -55, -52, -49, -52, -54, -50,
    -00039                 -54, -51, -50, -50, -52, -52, -49, -51, -51, -49, -51, -50, -48, -49, -48, -50,
    -00040                 -48, -49, -48, -45, -50, -46, -45, -47, -42, -47, -41, -52, -37, -60, -23, 116,
    -00041                 43, 31, 70, 35, 52, 45, 51, 52, 50, 51, 52, 49, 48, 52, 49, 49, 47, 46, 45, 45,
    -00042                 47, 47, 43, 42, 43, 43, 45, 43, 41, 46, 47, 45, 46, 45, 47, 46, 42, 45, 43, 46,
    -00043                 46, 42, 45, 46, 45, 45, 44, 41, 47, 43, 42, 49, 44, 46, 34, 48, 27, 60, 7, -116,
    -00044                 -42, -53, -54, -38, -51, -38, -50, -43, -50, -42, -45, -47, -47, -46, -43, -46,
    -00045                 -39, -45, -43, -42, -43, -42, -46, -41, -41, -41, -38, -41, -38, -41, -39, -33,
    -00046                 -40, -38, -35, -40, -40, -36, -36, -36, -37, -36, -36, -37, -32, -37, -35, -37,
    -00047                 -38, -32, -36, -34, -56, -27, -55, 5, 113, 34, 58, 55, 44, 59, 45, 56, 49, 52,
    -00048                 48, 54, 51, 48, 48, 48, 48, 44, 48, 47, 46, 49, 50, 47, 47, 48, 44, 46, 43, 45,
    -00049                 45, 41, 43, 45, 43, 43, 42, 44, 46, 48, 45, 51, 36, 44, 39, -86, -75, -31, -65,
    -00050                 -46, -50, -55, -55, -54, -46, -51, -53, -55, -44, -41, -47, -41, -46, -45, -49,
    -00051                 -44, -41, -42, -38, -43, -41, -39, -41, -47, -38, -40, -46, -38, -39, -42, -45,
    -00052                 -41, -42, -41, -40, -40, -43, -43, -38, -41, -42, -40, -44, -44, -40, -41, -36,
    -00053                 -40, -38, -42, -38, -48, -40, -29, -67, 59, 82, 20, 56, 36, 52, 48, 45, 45, 40,
    -00054                 48, 41, 44, 44, 39, 40, 39, 35, 38, 35, 39, 40, 38, 43, 36, 36, 35, 34, 37, 34,
    -00055                 35, 39, 41, 36, 39, 38, 35, 40, 36, 33, 36, 36, 34, 35, 28, 30, 34, 35, 39, 29,
    -00056                 32, 26, 37, 37, -60, -71, -34, -59, -49, -48, -50, -49, -49, -46, -47, -47, -49,
    -00057                 -47, -46, -43, -44, -45, -47, -45, -42, -48, -46, -44, -45, -42, -45, -42, -41,
    -00058                 -42, -39, -43, -41, -41, -47, -44, -38, -46, -36, -49, -35, -48, -36, -45, -34,
    -00059                 117, 52, 31, 64, 38, 58, 45, 53, 46, 49, 54, 54, 50, 52, 51, 50, 38, 32, 42, 41,
    -00060                 40, 41, 41, 43, 40, 40, 44, 38, 41, 42, 36, 41, 39, 35, 41, 42, 41, 40, 35, 39,
    -00061                 40, 38, 38, 35, 41, 41, 37, 38, 39, 41, 36, 38, 37, 40, 41, 31, 42, 30, 48, 24,
    -00062                 52, 28, -105, -35, -33, -54, -36, -50, -39, -48, -39, -42, -39, -44, -45, -41,
    -00063                 -42, -36, -37, -39, -38, -37, -37, -39, -41, -37, -36, -41, -39, -37, -40, -41,
    -00064                 -38, -36, -36, -35, -39, -37, -35, -37, -36, -33, -34, -32, -34, -35, -35, -34,
    -00065                 -30, -32, -33, -34, -29, -55, -20, -62, 7, 120, 20, 51, 56, 42, 54, 40, 52, 43,
    -00066                 50, 52, 45, 48, 47, 48, 47, 47, 49, 45, 52, 50, 50, 50, 44, 46, 43, 41, 43, 41,
    -00067                 42, 41, 43, 40, 39, 41, 36, 38, 40, 38, 41, 41, 35, 46, 31, 56, -26, -104, -36,
    -00068                 -54, -47, -48, -51, -48, -53, -42, -54, -48, -48, -35, -38, -44, -36, -43, -40,
    -00069                 -38, -38, -38, -38, -36, -38, -41, -41, -36, -42, -41, -37, -35, -38, -38, -32,
    -00070                 -36, -39, -39, -35, -40, -37, -30, -36, -35, -35, -35, -35, -29, -33, -35, -32,
    -00071                 -35, -35, -39, -34, -36, -32, -44, -51, -39, -54, 50, 88, 17, 43, 40, 35, 37,
    -00072                 41, 44, 40, 43, 40, 42, 40, 43, 42, 38, 42, 35, 38, 39, 33, 37, 37, 38, 32, 31,
    -00073                 34, 38, 34, 33, 36, 29, 34, 36, 30, 32, 34, 37, 34, 30, 31, 31, 34, 31, 33, 30,
    -00074                 37, 27, 37, 26, 40, 1, -104, -29, -38, -56, -34, -49, -47, -49, -40, -46, -37,
    -00075                 -44, -44, -46, -46, -42, -44, -44, -47, -43, -43, -43, -39, -40, -47, -44, -41,
    -00076                 -45, -42, -42, -40, -39, -41, -38, -38, -36, -36, -37, -38, -35, -35, -36, -35,
    -00077                 -31, -41, 22, 92, 42, 40, 51, 49, 49, 47, 53, 47, 53, 48, 52, 49, 53, 48, 27,
    -00078                 40, 39, 31, 41, 39, 36, 40, 38, 38, 39, 38, 36, 34, 33, 32, 37, 38, 36, 34, 33,
    -00079                 33, 36, 35, 31, 28, 28, 33, 33, 31, 30, 30, 31, 31, 30, 37, 36, 35, 33, 35, 30,
    -00080                 36, 34, 43, 53, 21, 72, -38, -87, -9, -55, -33, -40, -41, -38, -42, -42, -45,
    -00081                 -37, -44, -38, -38, -39, -36, -35, -38, -33, -35, -40, -37, -36, -37, -37, -33,
    -00082                 -34, -35, -36, -37, -34, -34, -34, -30, -26, -30, -30, -28, -31, -32, -30, -28,
    -00083                 -31, -31, -30, -26, -28, -28, -27, -52, -39, -31, -55, 28, 74, 37, 51, 44, 43,
    -00084                 47, 42, 43, 43, 46, 43, 47, 42, 42, 45, 39, 41, 45, 43, 42, 39, 41, 41, 41, 39,
    -00085                 35, 37, 37, 42, 42, 37, 39, 39, 39, 35, 40, 35, 41, 36, 28, 45, 16, 61, -41,
    -00086                 -114, -14, -57, -46, -47, -54, -46, -55, -46, -51, -47, -55, -38, -28, -37, -34,
    -00087                 -32, -33, -33, -36, -36, -33, -33, -32, -31, -33, -34, -30, -31, -32, -32, -31,
    -00088                 -29, -30, -31, -30, -31, -32, -30, -30, -32, -32, -30, -29, -29, -27, -32, -31,
    -00089                 -33, -34, -29, -35, -33, -31, -34, -34, -57, -45, -41, -54, -33, -73, 57, 84, 3,
    -00090                 55, 31, 37, 33, 39, 34, 29, 41, 33, 33, 31, 36, 33, 30, 33, 33, 32, 30, 34, 31,
    -00091                 30, 36, 31, 35, 33, 29, 30, 31, 31, 33, 33, 25, 29, 29, 27, 28, 25, 29, 27, 24,
    -00092                 29, 22, 31, 24, 24, 29, 12, 51, -72, -84, -8, -62, -34, -47, -45, -38, -46, -39,
    -00093                 -41, -42, -45, -42, -42, -41, -43, -39, -44, -44, -37, -38, -38, -36, -38, -36,
    -00094                 -36, -38, -34, -35, -34, -36, -39, -36, -33, -37, -35, -33, -42, -33, -37, -32,
    -00095                 -36, -33, -31, -36, 65, 69, 36, 53, 46, 54, 44, 50, 53, 46, 53, 52, 49, 50, 55,
    -00096                 35, 22, 38, 30, 31, 34, 31, 33, 32, 31, 30, 29, 29, 29, 29, 30, 31, 30, 29, 33,
    -00097                 31, 25, 31, 32, 30, 32, 29, 31, 32, 33, 30, 27, 30, 33, 35, 35, 31, 28, 30, 28,
    -00098                 30, 32, 34, 34, 39, 59, 42, 42, 70, -58, -74, -11, -44, -30, -37, -33, -35, -38,
    -00099                 -39, -37, -35, -36, -38, -40, -32, -35, -35, -34, -34, -31, -31, -30, -30, -30,
    -00100                 -31, -31, -29, -24, -29, -30, -26, -29, -27, -28, -31, -27, -27, -26, -26, -27,
    -00101                 -28, -27, -22, -27, -26, -26, -26, -21, -32, -59, -30, -43, -43, 83, 52, 28, 51,
    -00102                 29, 48, 40, 42, 41, 42, 42, 42, 41, 40, 41, 41, 42, 39, 43, 42, 36, 39, 44, 39,
    -00103                 39, 34, 35, 38, 31, 35, 35, 33, 37, 33, 35, 34, 36, 34, 36, 34, 24, 55, -44,
    -00104                 -81, -31, -56, -40, -50, -49, -48, -49, -44, -48, -46, -51, -40, -22, -32, -35,
    -00105                 -29, -31, -29, -29, -29, -34, -29, -29, -29, -30, -31, -27, -28, -33, -28, -25,
    -00106                 -30, -29, -31, -29, -27, -31, -27, -26, -28, -28, -28, -27, -30, -31, -30, -30,
    -00107                 -33, -32, -32, -26, -28, -32, -25, -29, -23, -45, -53, -41, -42, -53, -33, -56,
    -00108                 -28, 84, 30, 27, 44, 27, 42, 28, 37, 33, 32, 35, 34, 33, 31, 32, 32, 30, 28, 31,
    -00109                 32, 32, 31, 28, 26, 26, 29, 30, 28, 27, 29, 25, 23, 26, 26, 24, 27, 29, 24, 25,
    -00110                 23, 24, 22, 24, 21, 26, 11, 35, -13, -108, -54, -48, -32, -34, -45, -34, -44,
    -00111                 -33, -41, -40, -38, -39, -39, -38, -36, -34, -35, -37, -36, -36, -36, -38, -34,
    -00112                 -33, -37, -32, -36, -35, -31, -34, -30, -33, -34, -32, -33, -32, -32, -34, -34,
    -00113                 -33, -28, -35, -29, -39, -22, -46, 0, 104, 32, 46, 59, 37, 53, 46, 51, 46, 49,
    -00114                 45, 47, 44, 52, 39, 15, 31, 29, 25, 28, 27, 29, 24, 27, 28, 24, 26, 28, 28, 26,
    -00115                 23, 25, 23, 26, 27, 26, 26, 26, 26, 25, 26, 23, 24, 27, 27, 25, 25, 25, 25, 27,
    -00116                 26, 21, 25, 26, 22, 26, 20, 42, 57, 45, 36, 62, -10, -91, -21, -30, -42, -28,
    -00117                 -36, -28, -32, -31, -31, -33, -30, -29, -28, -32, -29, -27, -34, -30, -30, -25,
    -00118                 -28, -30, -27, -30, -27, -28, -26, -25, -28, -26, -25, -26, -27, -23, -22, -22,
    -00119                 -19, -24, -21, -22, -25, -23, -21, -18, -26, -22, -19, -25, -16, -31, -55, -46,
    -00120                 38, 64, 22, 40, 37, 32, 34, 34, 40, 36, 36, 38, 33, 36, 37, 31, 35, 35, 34, 34,
    -00121                 33, 32, 32, 32, 29, 33, 32, 31, 36, 33, 36, 33, 32, 28, 31, 34, 29, 31, 29, 38,
    -00122                 19, 57, -21, -95, -23, -52, -49, -42, -49, -49, -46, -47, -50, -49, -47, -46,
    -00123                 -52, -15, -20, -32, -19, -26, -23, -26, -23, -21, -22, -22, -26, -26, -25, -23,
    -00124                 -23, -27, -25, -25, -23, -24, -23, -21, -25, -26, -23, -22, -24, -25, -25, -26,
    -00125                 -25, -25, -26, -24, -24, -25, -25, -25, -21, -27, -25, -21, -29, -20, -43, -59,
    -00126                 -43, -45, -52, -33, -60, 7, 79, 12, 35, 30, 26, 35, 21, 35, 27, 29, 27, 28, 29,
    -00127                 24, 25, 29, 26, 28, 27, 25, 29, 26, 24, 22, 22, 23, 20, 20, 21, 21, 21, 24, 21,
    -00128                 23, 21, 21, 19, 20, 18, 21, 21, 24, 21, 13, 40, -68, -95, -25, -73, -52, -19,
    -00129                 -35, -36, -33, -33, -30, -32, -31, -30, -33, -31, -32, -34, -34, -33, -28, -30,
    -00130                 -33, -32, -31, -30, -32, -34, -34, -31, -31, -31, -30, -28, -26, -30, -28, -30,
    -00131                 -31, -30, -33, -31, -28, -26, -32, -23, -36, -25, -37, 10, 90, 38, 44, 52, 46,
    -00132                 55, 41, 50, 45, 47, 48, 45, 49, 42, 52, 17, 9, 30, 16, 26, 23, 23, 21, 19, 25,
    -00133                 23, 23, 20, 19, 21, 21, 22, 19, 21, 22, 20, 20, 21, 22, 20, 24, 24, 19, 22, 21,
    -00134                 24, 22, 19, 25, 21, 19, 24, 18, 18, 19, 22, 17, 33, 65, 40, 51, 38, 59, 26, -82,
    -00135                 -25, -24, -29, -23, -39, -22, -31, -25, -29, -28, -25, -29, -27, -25, -24, -23,
    -00136                 -25, -24, -23, -26, -25, -25, -22, -22, -23, -22, -22, -23, -23, -26, -23, -20,
    -00137                 -23, -19, -21, -22, -17, -19, -18, -21, -18, -19, -17, -20, -20, -12, -23, -11,
    -00138                 -26, 42, 60, 7, 47, 24, 27, 32, 23, 32, 28, 32, 28, 29, 27, 30, 29, 32, 33, 30,
    -00139                 31, 28, 29, 31, 30, 30, 29, 30, 30, 27, 28, 27, 28, 29, 26, 31, 30, 26, 30, 26,
    -00140                 32, 27, 23, 29, 20, 35, -42, -76, -37, -47, -46, -50, -41, -48, -47, -47, -48,
    -00141                 -47, -43, -48, -31, -3, -24, -20, -18, -21, -16, -22, -21, -20, -20, -19, -18,
    -00142                 -18, -22, -22, -18, -15, -17, -22, -19, -18, -20, -20, -19, -17, -15, -17, -23,
    -00143                 -18, -20, -21, -18, -22, -22, -19, -19, -24, -21, -18, -20, -17, -19, -16, -17,
    -00144                 -15, -33, -65, -31, -53, -28, 66, 31, 21, 29, 23, 30, 23, 27, 27, 24, 22, 22,
    -00145                 21, 18, 20, 23, 21, 22, 21, 18, 21, 20, 20, 22, 19, 20, 17, 15, 22, 21, 19, 17,
    -00146                 15, 17, 17, 16, 20, 18, 17, 20, 14, 14, 15, 19, 9, 30, -3, -93, -56, -46, -64,
    -00147                 -43, -64, -33, -7, -31, -30, -25, -27, -32, -26, -27, -30, -25, -28, -26, -29,
    -00148                 -26, -27, -27, -22, -25, -29, -29, -27, -22, -24, -26, -27, -25, -24, -26, -24,
    -00149                 -25, -25, -26, -23, -26, -25, -23, -27, -19, -30, -9, -41, 18, 94, 31, 50, 49,
    -00150                 44, 48, 43, 52, 44, 51, 50, 44, 48, 40, 53, 42, -5, 22, 20, 15, 24, 13, 21, 15,
    -00151                 15, 17, 17, 16, 16, 19, 15, 14, 17, 13, 15, 15, 12, 14, 15, 14, 17, 17, 16, 17,
    -00152                 16, 17, 18, 17, 16, 17, 20, 15, 16, 18, 16, 22, 13, 20, 11, 32, 65, 34, 49, 38,
    -00153                 48, 24, -57, -23, -22, -26, -18, -28, -20, -31, -24, -24, -23, -21, -25, -23,
    -00154                 -25, -21, -23, -23, -19, -23, -21, -20, -21, -20, -20, -16, -21, -19, -18, -19,
    -00155                 -15, -17, -18, -17, -18, -20, -17, -17, -16, -16, -19, -17, -19, -17, -22, 9,
    -00156                 84, 54, 47, 60, 9, 25, 29, 21, 28, 21, 27, 25, 26, 27, 25, 25, 26, 24, 25, 27,
    -00157                 24, 24, 25, 25, 25, 23, 24, 24, 23, 25, 25, 24, 26, 26, 24, 25, 26, 26, 24, 21,
    -00158                 23, 23, 20, 27, 16, 29, 16, 32, 10, -99, -41, -33, -61, -35, -50, -41, -47, -43,
    -00159                 -44, -45, -45, -45, -45, -45, -3, -11, -21, -12, -18, -14, -16, -15, -15, -15,
    -00160                 -17, -13, -13, -14, -14, -15, -12, -15, -15, -13, -14, -16, -15, -13, -14, -13,
    -00161                 -15, -14, -13, -14, -16, -16, -14, -15, -14, -15, -14, -15, -14, -15, -18, -14,
    -00162                 -19, -10, -31, -75, -17, 57, 27, 16, 23, 16, 25, 22, 24, 21, 23, 20, 20, 25, 18,
    -00163                 20, 20, 19, 19, 19, 19, 18, 21, 18, 19, 19, 15, 19, 16, 17, 17, 17, 18, 15, 16,
    -00164                 18, 16, 15, 19, 17, 17, 16, 11, 18, 9, 18, 7, 24, 1, -105, -51, -42, -69, -42,
    -00165                 -59, -48, -50, -57, -6, -18, -34, -14, -28, -18, -23, -22, -23, -23, -22, -22,
    -00166                 -21, -21, -15, -20, -20, -21, -21, -21, -23, -22, -23, -19, -22, -23, -23, -23,
    -00167                 -24, -20, -17, -20, -18, -19, -16, -20, -13, -25, -9, -28, -9, 90, 46, 44, 52,
    -00168                 37, 54, 46, 51, 50, 47, 46, 48, 46, 50, 26, 6, 16, 17, 16, 13, 12, 12, 12, 12,
    -00169                 17, 11, 11, 16, 10, 9, 7, 9, 10, 8, 11, 9, 11, 9, 9, 8, 12, 14, 9, 16, 14, 10,
    -00170                 12, 15, 12, 14, 12, 13, 11, 12, 6, 6, 14, 8, 21, 2, 36, 57, 43, 29, 55, 12, -83,
    -00171                 -2, -23, -34, -13, -24, -14, -29, -20, -16, -17, -21, -24, -21, -15, -23, -16,
    -00172                 -17, -22, -13, -13, -17, -19, -13, -16, -17, -18, -20, -12, -16, -16, -18, -18,
    -00173                 -16, -14, -10, -18, -12, -11, -9, -11, -8, -12, -22, 43, 63, 51, 54, 41, 62, 36,
    -00174                 0, 22, 18, 21, 20, 17, 23, 15, 18, 15, 14, 19, 19, 21, 19, 19, 20, 16, 21, 15,
    -00175                 20, 25, 15, 23, 23, 17, 23, 24, 21, 24, 20, 14, 16, 20, 20, 19, 13, 22, 11, 21,
    -00176                 13, 26, -1, -83, -38, -41, -50, -39, -46, -40, -50, -43, -49, -48, -46, -43,
    -00177                 -47, -42, -39, -47, 0, -2, -19, -11, -15, -6, -11, -11, -11, -10, -10, -10, -9,
    -00178                 -9, -7, -9, -9, -8, -12, -10, -8, -12, -9, -13, -10, -8, -10, -7, -12, -9, -8,
    -00179                 -16, -12, -9, -10, -11, -10, -5, -8, -12, -9, -12, -6, -43, -56, 32, 42, 8, 24,
    -00180                 21, 17, 18, 16, 19, 16, 17, 18, 19, 18, 17, 20, 17, 15, 15, 15, 17, 15, 12, 14,
    -00181                 13, 12, 12, 14, 11, 12, 13, 12, 12, 10, 13, 12, 12, 10, 15, 9, 13, 12, 10, 13,
    -00182                 3, 23, -49, -81, -42, -52, -54, -54, -50, -52, -51, -50, -54, -49, -61, -26, 6,
    -00183                 -30, -17, -16, -19, -15, -21, -17, -18, -17, -20, -15, -18, -18, -16, -17, -16,
    -00184                 -14, -12, -15, -17, -16, -17, -19, -16, -16, -17, -14, -12, -15, -13, -17, -14,
    -00185                 -14, -18, -11, -22, -6, -30, 19, 89, 38, 48, 50, 45, 49, 46, 53, 43, 49, 43, 49,
    -00186                 48, -2, 5, 16, 3, 11, 10, 13, 13, 11, 8, 11, 6, 8, 9, 7, 8, 9, 10, 7, 10, 9, 8,
    -00187                 10, 10, 6, 5, 9, 10, 10, 8, 10, 10, 10, 7, 7, 9, 7, 9, 8, 8, 9, 9, 9, 3, 14, 1,
    -00188                 24, 57, 48, 39, -39, -27, -3, -30, -7, -18, -20, -13, -17, -16, -17, -17, -16,
    -00189                 -16, -15, -16, -16, -16, -15, -11, -13, -14, -14, -13, -15, -13, -10, -11, -8,
    -00190                 -11, -11, -13, -11, -9, -11, -11, -13, -8, -12, -12, -12, -3, -17, 7, 77, 57,
    -00191                 43, 53, 53, 49, 55, 57, 45, 60, 14, -5, 20, 11, 16, 15, 13, 14, 19, 16, 12, 15,
    -00192                 15, 16, 18, 14, 15, 19, 15, 13, 14, 16, 15, 15, 13, 12, 16, 17, 17, 14, 13, 16,
    -00193                 14, 13, 11, 15, 8, 16, 10, 18, 6, -73, -50, -36, -51, -45, -50, -45, -46, -46,
    -00194                 -50, -46, -47, -45, -46, -50, -39, -56, -17, 15, -16, -6, -7, -6, -3, -6, -4,
    -00195                 -8, -4, -4, -4, -9, -8, -6, -6, -4, -7, -6, -6, -7, -5, -7, -8, -2, -6, -7, 1,
    -00196                 -4, -7, -7, -6, -5, -5, -3, -7, -6, -8, -5, -8, -10, -8, -14, 6, -68, -7, 66,
    -00197                 -11, 15, 13, 10, 12, 10, 14, 11, 16, 8, 10, 14, 10, 10, 15, 13, 10, 13, 9, 9,
    -00198                 15, 14, 11, 12, 12, 13, 14, 8, 8, 10, 7, 8, 7, 8, 10, 4, 10, 3, 15, 3, 9, 11,
    -00199                 -80, -52, -39, -60, -45, -53, -48, -51, -52, -54, -52, -49, -55, -48, -55, -49,
    -00200                 16, -11, -22, -5, -21, -8, -15, -12, -9, -11, -15, -13, -8, -14, -11, -10, -12,
    -00201                 -11, -11, -12, -11, -8, -8, -14, -13, -12, -13, -11, -13, -9, -10, -13, -11, -8,
    -00202                 -15, -7, -15, -4, -19, -7, 87, 45, 38, 54, 37, 53, 38, 46, 46, 45, 48, 36, 57,
    -00203                 -2, -20, 26, 1, 8, 6, 2, 4, 1, 2, 3, 6, 3, 5, 5, 3, 5, 5, 3, 4, 5, 5, 4, 3, 3,
    -00204                 4, 8, 6, 4, 5, 4, 3, 0, 7, 5, 4, 6, 3, 5, 4, 5, 5, 8, 5, 8, -7, 42, 62, 43, 39,
    -00205                 -36, -17, -3, -18, -13, -16, -11, -16, -12, -16, -12, -10, -16, -13, -13, -13,
    -00206                 -14, -14, -9, -12, -13, -12, -9, -11, -13, -9, -12, -12, -9, -9, -10, -12, -8,
    -00207                 -9, -6, -13, -2, -14, -3, -9, -5, 91, 42, 42, 63, 43, 62, 45, 57, 50, 52, 51,
    -00208                 49, 54, 50, 55, 5, -6, 21, 3, 9, 10, 8, 9, 9, 8, 9, 10, 8, 10, 12, 8, 6, 10, 10,
    -00209                 12, 8, 12, 13, 9, 12, 9, 10, 10, 10, 10, 8, 13, 7, 18, 7, 13, 8, 8, 12, -78,
    -00210                 -51, -36, -57, -40, -51, -42, -48, -43, -44, -45, -41, -43, -43, -48, -35, -53,
    -00211                 -23, 24, -6, 1, -2, -9, -2, -6, -4, -4, -2, -2, -1, -2, -2, -2, -1, -4, -1, -1,
    -00212                 -3, 0, -2, 0, -1, 0, 2, -1, -1, -1, -4, -3, -2, -2, -4, -2, 0, -5, -2, 0, 2, -5,
    -00213                 -3, -1, -6, 4, -1, 24, 12, 5, 22, 7, 15, 10, 9, 14, 7, 13, 9, 7, 11, 12, 13, 13,
    -00214                 11, 10, 11, 11, 11, 10, 6, 5, 12, 10, 7, 10, 6, 7, 9, 6, 11, 6, 8, 5, 10, 3, 1,
    -00215                 20, -79, -67, -28, -62, -41, -53, -48, -49, -52, -49, -52, -49, -51, -50, -49,
    -00216                 -53, -44, -59, -22, 20, -17, -7, -5, -8, -7, -10, -6, -8, -3, -5, -4, -2, -5,
    -00217                 -9, -7, -7, -8, -9, -5, -6, -9, -6, -8, -8, -8, -8, -7, -7, -7, -9, -11, -6, -6,
    -00218                 -7, -10, -10, -1, -22, 47, 73, 30, 51, 43, 50, 45, 41, 47, 42, 48, 42, 54, 17,
    -00219                 -27, 2, 0, -3, 4, 1, 1, -1, 2, 4, 4, 0, 2, 4, 1, -2, -1, 1, 2, -1, 1, 2, -1, 2,
    -00220                 1, -1, 1, 0, 2, 1, -1, -1, -4, 0, 1, 2, -1, -3, 1, 1, -2, 1, 1, 3, -4, 25, 71,
    -00221                 44, -28, -17, -2, -19, -5, -14, -7, -5, -12, -5, -11, -14, -6, -9, -11, -7, -7,
    -00222                 -8, -7, -8, -7, -7, -6, -4, -8, -9, -5, -7, -8, -6, -8, -7, -4, -6, -5, -4, -1,
    -00223                 -9, -3, -8, -9, 1, -5, 68, 69, 35, 62, 45, 50, 53, 47, 51, 50, 52, 49, 55, 45,
    -00224                 58, 34, -24, 12, 9, 1, 10, 1, 9, 1, 3, 6, 5, 5, 2, 5, 8, 7, 8, 5, 2, 3, 7, 10,
    -00225                 8, 8, 4, 2, 3, 4, 3, 5, 4, 5, 4, 6, 8, -2, 18, -47, -77, -28, -54, -45, -45,
    -00226                 -47, -40, -47, -43, -48, -41, -45, -42, -45, -42, -43, -49, 33, 13, -15, 16, -7,
    -00227                 3, 0, 3, 5, 1, 4, 2, 0, 1, 3, 3, 3, 1, 3, 4, 1, 1, -2, 1, 2, 2, 3, 3, 3, 0, 3,
    -00228                 2, 0, 5, 2, 4, 0, 4, 3, -3, 7, -7, 13, -18, 37, 47, -36, 27, 6, 4, 17, 4, 12, 5,
    -00229                 11, 4, 8, 6, 5, 7, 4, 9, 8, 6, 9, 8, 7, 3, 5, 6, 5, 6, 3, 2, 6, 5, 2, 4, 1, 2,
    -00230                 -1, 6, 4, 1, -2, 8, -23, -80, -51, -50, -52, -46, -56, -49, -53, -50, -51, -50,
    -00231                 -51, -49, -49, -48, -43, -53, -46, -62, -8, 21, -18, 3, -8, -3, -3, -4, 3, -4,
    -00232                 -3, -4, -3, -3, -4, -4, 0, -4, -4, -2, -5, 0, -3, -3, 0, -1, -4, -3, 0, -4, -6,
    -00233                 -2, -3, -1, -6, -2, -3, -6, -3, -9, 59, 68, 34, 56, 44, 46, 47, 42, 51, 37, 52,
    -00234                 26, -38, 2, 5, -11, 3, -6, -2, -5, -3, -2, -3, -2, -6, -5, -5, -7, -4, -4, -4,
    -00235                 -3, -6, -2, -5, -7, -2, -4, -1, 0, -1, 0, -6, -3, 1, -4, -6, -7, -4, -3, -6, -4,
    -00236                 -3, -11, -3, -5, -6, 9, -22, 60, 39, -54, 5, -10, -9, -1, -9, -3, -4, -6, -8,
    -00237                 -1, -9, -4, -4, -3, -3, -5, -3, -4, -4, -3, 0, -2, -2, -2, -3, -2, -2, -3, -7,
    -00238                 -5, -1, 0, 0, -3, 2, -3, 0, -3, 1, 3, -4, 68, 66, 39, 54, 48, 53, 45, 46, 48,
    -00239                 47, 49, 46, 51, 50, 49, 51, 47, 49, -11, -14, 13, -8, 7, 0, 0, 2, -4, 2, 1, 0,
    -00240                 -3, -3, 4, 2, 1, 3, 2, 4, 4, 0, -1, -3, -3, 3, 1, -4, 2, 2, 0, 4, -1, 5, 5, -3,
    -00241                 13, -54, -72, -32, -52, -40, -45, -44, -41, -45, -42, -48, -40, -46, -42, -43,
    -00242                 -37, -43, -37, 35, 11, -4, 16, 1, 9, 5, 7, 6, 7, 5, 7, 11, 11, 8, 5, 6, 4, 10,
    -00243                 6, 4, 6, 2, 6, 8, 8, 6, 3, 7, 7, 4, 3, 8, 9, 4, 6, 6, 7, 2, 10, -1, 18, -8, -43,
    -00244                 27, 8, -1, 8, 2, 8, -3, 7, 0, 3, 5, 2, 3, 2, 1, 0, 1, 2, -1, 2, 3, -1, 0, 0, 0,
    -00245                 1, 2, 3, 2, 2, 2, 2, -1, 1, 1, 1, 1, 3, -1, 6, -5, 6, -9, -80, -49, -41, -54,
    -00246                 -41, -51, -46, -48, -48, -49, -49, -48, -50, -46, -51, -45, -51, -45, -45, -53,
    -00247                 35, 16, -12, 14, -4, 6, 0, 3, 2, 2, 3, 1, 3, 0, 2, 3, 0, 0, 1, -1, -1, 1, -2,
    -00248                 -1, 0, -2, 3, -1, 0, 0, -1, 1, 1, -1, 3, -4, -1, -3, 2, 67, 53, 35, 51, 42, 44,
    -00249                 49, 42, 50, 37, -21, -18, -6, -6, -7, -11, -6, -6, -8, -8, -7, -5, -5, -11, -10,
    -00250                 -8, -7, -6, -8, -9, -8, -8, -8, -7, -8, -9, -7, -8, -10, -8, -8, -7, -7, -7, -5,
    -00251                 -9, -8, -7, -7, -5, -10, -7, -11, -9, -3, -11, -4, -18, 44, 69, -32, -12, 11,
    -00252                 -11, 6, -6, -4, 3, -3, -1, 0, -2, -1, 0, -4, -2, 1, 1, -2, -2, -2, -1, 1, -1, 1,
    -00253                 1, -1, -3, -1, 1, 0, 0, 3, 2, 2, 4, -3, 3, 1, 7, 2, -6, 68, 61, 36, 59, 41, 52,
    -00254                 51, 49, 54, 46, 44, 49, 46, 51, 45, 49, 48, 49, 46, -39, -7, 14, -15, 2, -14,
    -00255                 -5, -5, -5, -3, -1, -3, -4, -3, -8, -4, -7, -4, -3, -5, -4, -6, 0, -2, -4, -2,
    -00256                 -4, -1, -4, -3, -2, -4, 1, -4, 1, -4, 9, -33, -76, -35, -50, -48, -41, -49, -46,
    -00257                 -47, -42, -44, -45, -44, -48, -38, -49, -7, 42, 3, 12, 12, 6, 13, 6, 11, 9, 13,
    -00258                 12, 12, 9, 10, 11, 8, 14, 7, 6, 8, 8, 14, 9, 12, 9, 5, 11, 11, 12, 9, 11, 12,
    -00259                 13, 12, 8, 13, 8, 14, 3, 18, 3, 20, 3, -67, 20, 13, -9, 10, -5, 3, -4, 2, 1, -2,
    -00260                 2, -1, -3, -2, -2, 1, 1, 0, -1, -2, -1, 2, 0, -4, 0, -3, -3, 1, -2, -1, -5, -5,
    -00261                 -1, -2, 1, -6, -2, 0, -2, -5, -3, -3, -7, 3, -60, -67, -31, -53, -44, -49, -48,
    -00262                 -50, -51, -48, -49, -47, -53, -45, -49, -45, -56, -49, -51, -42, 42, 7, -3, 17,
    -00263                 0, 14, 4, 6, 5, 8, 9, 4, 9, 7, 4, 4, 3, 8, 5, 3, 5, 6, 7, 5, 4, 3, 7, 6, 2, 4,
    -00264                 3, 7, 4, 3, 4, 2, 12, -11, 46, 71, 32, 52, 37, 43, 45, 46, 44, -27, -25, 2, -17,
    -00265                 -8, -13, -14, -13, -13, -11, -10, -9, -13, -7, -13, -13, -12, -12, -9, -12, -10,
    -00266                 -12, -14, -13, -12, -9, -10, -10, -11, -10, -11, -11, -8, -10, -10, -11, -9, -8,
    -00267                 -11, -10, -12, -11, -9, -15, -5, -18, -5, -20, 2, 79, 43, 23, -16, -2, 14, -5,
    -00268                 13, -1, 4, 3, 4, 4, 3, 5, 3, 5, 4, 1, 3, 2, 2, 3, 3, 8, 2, 1, 4, 5, 4, 4, 5, 4,
    -00269                 5, 6, 8, 2, 4, 2, 5, 5, 6, 5, 9, 68, 57, 42, 52, 42, 50, 45, 45, 45, 47, 47, 45,
    -00270                 48, 47, 47, 47, 48, 47, 0, -25, -11, -11, -8, -10, -10, -9, -8, -9, -10, -8,
    -00271                 -12, -10, -10, -8, -9, -10, -7, -10, -5, -10, -8, -5, -8, -6, -8, -5, -9, -6,
    -00272                 -7, -6, -4, -5, -2, -8, -1, -12, 6, -26, -73, -37, -44, -47, -43, -46, -40, -50,
    -00273                 -41, -41, -48, -36, -60, 8, 39, -3, 25, 9, 17, 15, 10, 18, 9, 16, 14, 17, 18,
    -00274                 14, 16, 15, 14, 12, 9, 13, 11, 10, 13, 12, 15, 15, 13, 14, 15, 14, 11, 11, 13,
    -00275                 11, 13, 13, 11, 13, 15, 9, 18, 3, 25, -15, -97, -8, 14, -9, 2, -8, 1, -7, -4,
    -00276                 -4, -7, -2, -4, -3, -5, -5, -5, -7, -2, -6, -8, -3, -3, -5, -5, -6, -7, -7, -4,
    -00277                 -6, -7, -7, -7, -9, -11, -8, -9, -10, -6, -10, -5, -8, -5, -11, -9, -16, -75,
    -00278                 -53, -42, -56, -44, -53, -47, -47, -48, -46, -46, -45, -48, -46, -49, -45, -46,
    -00279                 -53, 2, 36, 9, 9, 16, 8, 10, 12, 11, 11, 11, 10, 7, 7, 10, 11, 11, 9, 8, 10, 11,
    -00280                 10, 8, 7, 9, 9, 7, 8, 8, 7, 6, 8, 5, 7, 7, 6, 4, 1, 12, -3, 45, 71, 29, 52, 46,
    -00281                 44, 48, -36, -28, 6, -24, -10, -18, -17, -11, -21, -13, -16, -15, -17, -19, -12,
    -00282                 -14, -15, -17, -16, -17, -18, -15, -16, -14, -18, -13, -13, -19, -15, -17, -15,
    -00283                 -15, -13, -12, -14, -13, -14, -13, -11, -12, -15, -13, -12, -14, -18, -13, -14,
    -00284                 -11, -18, -3, 65, 59, -2, -12, 6, 6, 6, 9, 5, 6, 7, 5, 7, 6, 4, 6, 7, 8, 5, 6,
    -00285                 7, 7, 8, 7, 8, 6, 7, 7, 7, 7, 5, 5, 9, 10, 9, 13, 7, 9, 9, 11, 10, 2, 13, -2,
    -00286                 38, 69, 39, 49, 45, 44, 50, 46, 45, 48, 48, 47, 46, 46, 47, 43, 53, 35, 62, -5,
    -00287                 -54, 9, -21, -15, -12, -18, -11, -13, -14, -16, -15, -12, -11, -16, -14, -12,
    -00288                 -13, -15, -11, -13, -14, -10, -12, -12, -12, -11, -10, -9, -10, -13, -9, -9,
    -00289                 -13, -9, -14, -9, -15, -4, -23, -77, -42, -43, -48, -40, -53, -40, -51, -37,
    -00290                 -55, -6, 58, -3, 20, 23, 12, 27, 14, 19, 19, 20, 18, 20, 19, 18, 19, 20, 19, 17,
    -00291                 16, 18, 21, 17, 16, 21, 19, 18, 19, 15, 18, 19, 20, 20, 16, 20, 17, 18, 20, 16,
    -00292                 18, 14, 21, 13, 18, 15, 13, 10, -86, -55, 23, -10, -13, -8, -9, -9, -8, -6, -9,
    -00293                 -5, -10, -12, -7, -8, -9, -7, -6, -8, -11, -10, -11, -10, -10, -12, -9, -7, -10,
    -00294                 -6, -8, -11, -9, -10, -10, -10, -10, -12, -10, -9, -8, -12, -10, -6, -16, 0,
    -00295                 -46, -70, -38, -53, -45, -48, -46, -44, -45, -46, -47, -45, -51, -43, -51, -36,
    -00296                 -66, -3, 59, -2, 20, 16, 13, 18, 14, 18, 11, 16, 14, 15, 14, 15, 15, 13, 14, 12,
    -00297                 10, 14, 10, 14, 14, 9, 16, 13, 12, 11, 10, 15, 12, 11, 10, 11, 10, 15, 12, 11,
    -00298                 9, 11, 12, 5, 55, 62, 34, 60, 5, -59, -10, -13, -25, -11, -19, -17, -20, -20,
    -00299                 -17, -23, -22, -19, -20, -19, -21, -19, -19, -19, -18, -19, -21, -19, -18, -21,
    -00300                 -18, -16, -17, -17, -15, -17, -17, -19, -20, -15, -15, -19, -17, -18, -21, -18,
    -00301                 -22, -18, -21, -16, -16, -17, -16, -23, 41, 75, 30, -15, 11, 17, 1, 18, 9, 8,
    -00302                 12, 13, 9, 10, 11, 11, 12, 12, 12, 13, 15, 13, 8, 11, 9, 12, 14, 13, 16, 10, 11,
    -00303                 12, 10, 13, 10, 10, 13, 10, 10, 13, 7, 12, 11, 10, 16, 13, 63, 54, 34, 51, 39,
    -00304                 50, 47, 48, 48, 44, 42, 45, 47, 44, 43, 46, 40, 47, 40, -51, -26, -5, -34, -7,
    -00305                 -22, -22, -20, -17, -21, -22, -14, -18, -18, -19, -17, -17, -19, -16, -19, -17,
    -00306                 -16, -16, -16, -19, -13, -17, -16, -17, -16, -14, -17, -10, -13, -14, -16, -12,
    -00307                 -16, -7, -25, -64, -45, -41, -48, -42, -43, -58, 29, 50, 5, 29, 15, 22, 21, 20,
    -00308                 23, 21, 25, 22, 22, 24, 26, 24, 20, 20, 21, 21, 21, 22, 20, 18, 22, 21, 18, 20,
    -00309                 20, 21, 20, 18, 21, 20, 19, 23, 21, 21, 22, 22, 21, 18, 20, 22, 16, 23, 10, 29,
    -00310                 5, -73, -53, -36, 4, -6, -23, -9, -18, -8, -17, -11, -9, -16, -14, -12, -13,
    -00311                 -16, -12, -10, -14, -14, -13, -11, -11, -14, -13, -9, -12, -11, -11, -15, -9,
    -00312                 -13, -14, -12, -15, -11, -14, -12, -11, -13, -11, -16, -7, -18, -8, -25, -74,
    -00313                 -39, -44, -50, -40, -50, -44, -46, -46, -45, -49, -44, -43, -59, 27, 48, 2, 30,
    -00314                 17, 21, 28, 18, 19, 19, 19, 21, 21, 20, 22, 20, 18, 18, 20, 15, 19, 19, 15, 21,
    -00315                 18, 19, 20, 15, 17, 17, 17, 16, 17, 19, 16, 16, 18, 12, 15, 15, 13, 16, 12, 17,
    -00316                 16, 15, 59, 52, -62, -31, 0, -36, -13, -30, -20, -25, -24, -20, -22, -17, -24,
    -00317                 -21, -23, -22, -21, -25, -24, -23, -22, -23, -22, -22, -22, -17, -20, -21, -19,
    -00318                 -21, -22, -24, -21, -23, -23, -21, -23, -22, -24, -22, -20, -25, -20, -25, -23,
    -00319                 -21, -24, -21, -26, -12, -41, 49, 98, -4, 13, 18, 15, 20, 13, 19, 16, 13, 16,
    -00320                 20, 16, 19, 19, 16, 14, 11, 16, 14, 15, 18, 15, 19, 15, 13, 17, 15, 13, 13, 17,
    -00321                 15, 17, 17, 13, 15, 15, 15, 11, 12, 19, 12, 21, 12, 20, 63, 47, 43, 52, 43, 45,
    -00322                 44, 44, 45, 43, 46, 45, 42, 48, 41, 50, 37, 54, 23, -60, -23, -19, -26, -15,
    -00323                 -25, -21, -27, -28, -25, -28, -26, -27, -28, -22, -22, -23, -23, -21, -21, -21,
    -00324                 -21, -23, -18, -20, -19, -19, -21, -15, -16, -19, -17, -16, -16, -21, -18, -18,
    -00325                 -18, -18, -21, -6, -34, -47, -79, 18, 70, -11, 39, 16, 20, 23, 15, 25, 18, 28,
    -00326                 23, 28, 22, 24, 24, 25, 24, 22, 25, 22, 21, 22, 23, 22, 26, 25, 22, 25, 22, 20,
    -00327                 22, 23, 24, 27, 24, 18, 22, 21, 22, 23, 20, 18, 23, 23, 24, 21, 22, 27, 18, 30,
    -00328                 -23, -83, -43, -11, -8, -19, -18, -14, -19, -14, -20, -17, -17, -18, -18, -20,
    -00329                 -18, -18, -15, -15, -17, -20, -18, -15, -17, -16, -15, -16, -16, -17, -16, -18,
    -00330                 -17, -16, -18, -16, -15, -13, -13, -17, -13, -14, -18, -15, -14, -15, -19, -9,
    -00331                 -49, -61, -34, -51, -43, -47, -48, -38, -53, -45, -54, -36, -59, -17, 70, 7, 25,
    -00332                 38, 18, 30, 24, 26, 23, 25, 23, 26, 25, 22, 26, 26, 25, 22, 21, 26, 22, 21, 23,
    -00333                 18, 22, 22, 21, 24, 22, 22, 21, 18, 20, 23, 20, 16, 23, 14, 23, 18, 24, 20, 24,
    -00334                 20, 5, 48, -91, -38, 21, -54, -5, -35, -17, -27, -32, -20, -28, -23, -25, -22,
    -00335                 -24, -23, -25, -27, -28, -24, -24, -21, -23, -29, -26, -25, -22, -25, -24, -21,
    -00336                 -24, -25, -23, -24, -26, -24, -26, -26, -22, -23, -26, -25, -22, -25, -29, -23,
    -00337                 -26, -19, -31, -19, -27, -24, -19, -39, 84, 25, -12, 43, 1, 23, 16, 18, 19, 20,
    -00338                 23, 14, 18, 23, 16, 20, 18, 18, 19, 17, 19, 19, 20, 16, 21, 22, 17, 17, 19, 18,
    -00339                 19, 19, 17, 16, 16, 17, 16, 17, 20, 16, 21, 16, 18, 19, 14, 56, 52, 41, 53, 40,
    -00340                 45, 44, 41, 44, 43, 46, 44, 41, 44, 41, 49, 32, 53, -7, -80, -6, -28, -29, -17,
    -00341                 -31, -19, -28, -25, -29, -27, -26, -28, -27, -24, -27, -30, -25, -23, -25, -24,
    -00342                 -27, -26, -23, -24, -24, -22, -24, -26, -21, -24, -23, -22, -19, -23, -18, -20,
    -00343                 -15, -24, -21, -15, -27, 92, 43, -9, 41, 12, 29, 19, 26, 27, 23, 27, 24, 24, 23,
    -00344                 24, 23, 24, 29, 28, 26, 32, 28, 24, 28, 27, 25, 25, 26, 24, 24, 28, 23, 25, 29,
    -00345                 26, 28, 28, 26, 28, 24, 27, 27, 25, 27, 21, 28, 24, 27, 23, 24, 23, 19, 30, -74,
    -00346                 -75, -27, -52, -5, -16, -29, -18, -22, -22, -21, -21, -24, -19, -19, -21, -20,
    -00347                 -20, -21, -24, -22, -22, -21, -20, -21, -19, -21, -22, -18, -21, -23, -22, -20,
    -00348                 -17, -17, -21, -26, -19, -18, -20, -17, -20, -18, -18, -20, -16, -21, -14, -24,
    -00349                 -57, -42, -38, -44, -40, -46, -38, -43, -39, -45, -39, -41, -42, 67, 44, 7, 44,
    -00350                 16, 29, 26, 26, 32, 28, 30, 30, 31, 25, 26, 31, 28, 29, 28, 27, 26, 27, 29, 23,
    -00351                 23, 24, 24, 26, 25, 26, 26, 25, 27, 26, 24, 27, 21, 26, 21, 23, 24, 29, 17, 19,
    -00352                 25, -75, -66, -38, -36, -11, -36, -25, -28, -27, -26, -29, -27, -27, -24, -26,
    -00353                 -24, -27, -27, -31, -28, -29, -32, -25, -28, -27, -30, -28, -24, -30, -28, -29,
    -00354                 -23, -27, -31, -26, -32, -28, -28, -29, -30, -26, -24, -29, -25, -29, -32, -27,
    -00355                 -30, -27, -26, -29, -26, -37, -28, -39, 28, 63, -3, 34, 22, 21, 29, 22, 30, 21,
    -00356                 28, 27, 29, 27, 26, 26, 24, 24, 21, 21, 22, 19, 22, 19, 17, 22, 25, 22, 21, 24,
    -00357                 21, 20, 19, 20, 18, 21, 21, 18, 19, 20, 21, 23, 20, 26, 20, 27, 63, 43, 42, 47,
    -00358                 38, 48, 44, 43, 48, 45, 51, 40, 47, 41, 38, 47, -66, -45, -11, -42, -23, -39,
    -00359                 -30, -34, -30, -34, -31, -31, -35, -28, -32, -30, -30, -34, -31, -31, -34, -32,
    -00360                 -31, -31, -27, -27, -27, -26, -28, -29, -27, -25, -28, -29, -30, -24, -28, -27,
    -00361                 -28, -25, -23, -25, 59, 70, 44, 56, 51, 28, 12, 41, 23, 32, 33, 23, 32, 25, 29,
    -00362                 28, 30, 27, 30, 29, 26, 32, 30, 27, 28, 31, 30, 26, 26, 30, 27, 26, 32, 29, 28,
    -00363                 28, 28, 29, 29, 32, 29, 29, 30, 29, 27, 28, 32, 29, 35, 28, 23, 34, 18, 51, -39,
    -00364                 -84, -27, -55, -45, -35, -12, -30, -29, -22, -30, -22, -30, -22, -23, -21, -24,
    -00365                 -30, -22, -25, -27, -23, -27, -25, -26, -25, -26, -24, -23, -26, -23, -24, -25,
    -00366                 -24, -23, -26, -25, -21, -23, -22, -22, -24, -22, -24, -22, -20, -21, -24, -19,
    -00367                 -33, -56, -42, -43, -47, -41, -38, -47, -35, -49, -33, -49, -37, 87, 29, 31, 45,
    -00368                 23, 46, 29, 34, 31, 37, 29, 35, 34, 31, 31, 28, 35, 33, 32, 32, 30, 32, 36, 35,
    -00369                 30, 33, 31, 31, 32, 31, 31, 29, 30, 31, 27, 27, 27, 28, 31, 18, 36, 11, 45, -10,
    -00370                 -101, -28, -63, -51, -45, -66, -22, -27, -35, -29, -34, -30, -30, -30, -33, -32,
    -00371                 -28, -32, -32, -35, -28, -29, -30, -30, -33, -30, -31, -32, -32, -32, -32, -33,
    -00372                 -32, -30, -30, -32, -30, -32, -32, -33, -32, -29, -32, -31, -30, -30, -29, -31,
    -00373                 -31, -28, -29, -31, -31, -27, -34, -21, -44, 19, 63, 9, 37, 23, 30, 30, 21, 34,
    -00374                 26, 31, 29, 29, 26, 28, 28, 24, 28, 23, 27, 28, 25, 29, 25, 26, 25, 24, 28, 31,
    -00375                 30, 25, 27, 28, 27, 25, 25, 26, 25, 27, 29, 25, 24, 26, 24, 16, 32, 51, 41, 41,
    -00376                 43, 41, 38, 45, 39, 37, 41, 39, 38, 36, 34, 42, 37, -71, -61, -19, -51, -33,
    -00377                 -39, -39, -40, -39, -40, -37, -37, -39, -37, -38, -37, -36, -32, -33, -35, -37,
    -00378                 -37, -38, -35, -32, -35, -32, -35, -36, -28, -35, -35, -32, -32, -30, -29, -27,
    -00379                 -31, -27, -34, -21, -34, -18, 81, 63, 42, 51, 50, 55, 23, 32, 31, 32, 37, 30,
    -00380                 37, 33, 29, 37, 33, 31, 40, 36, 38, 37, 32, 35, 33, 32, 35, 38, 36, 34, 34, 33,
    -00381                 32, 34, 35, 31, 29, 33, 32, 35, 36, 31, 34, 29, 32, 35, 33, 30, 34, 32, 32, 22,
    -00382                 40, 31, -94, -58, -21, -66, -28, -21, -30, -33, -29, -32, -32, -27, -29, -31,
    -00383                 -26, -30, -30, -29, -32, -30, -30, -28, -27, -27, -28, -27, -25, -28, -29, -26,
    -00384                 -25, -27, -28, -28, -28, -29, -26, -23, -28, -28, -26, -26, -27, -24, -20, -31,
    -00385                 -18, -34, -58, -36, -45, -39, -35, -45, -37, -45, -32, -48, -32, -43, -46, 80,
    -00386                 58, 29, 45, 33, 52, 36, 39, 43, 40, 39, 43, 37, 36, 44, 36, 38, 39, 35, 39, 35,
    -00387                 36, 38, 34, 37, 33, 33, 37, 36, 34, 33, 34, 34, 32, 33, 34, 33, 30, 41, 24, 41,
    -00388                 25, 34, 28, -110, -52, -34, -68, -40, -63, -43, -30, -37, -38, -35, -37, -38,
    -00389                 -37, -33, -34, -34, -35, -36, -35, -37, -34, -33, -33, -33, -35, -32, -35, -32,
    -00390                 -30, -36, -37, -35, -35, -36, -33, -31, -32, -36, -33, -30, -34, -30, -34, -37,
    -00391                 -33, -38, -36, -33, -36, -32, -34, -33, -33, -35, -34, -33, -71, -11, 84, 27,
    -00392                 28, 37, 25, 35, 27, 37, 30, 29, 30, 30, 32, 34, 34, 28, 36, 32, 27, 32, 28, 26,
    -00393                 25, 28, 29, 27, 25, 29, 27, 26, 29, 27, 26, 29, 29, 26, 26, 27, 29, 27, 26, 28,
    -00394                 28, 49, 47, 38, 43, 40, 41, 38, 38, 38, 38, 39, 44, 41, 45, 38, 48, 10, -82,
    -00395                 -44, -34, -50, -31, -44, -43, -38, -41, -43, -39, -42, -36, -39, -46, -34, -39,
    -00396                 -39, -34, -38, -35, -40, -37, -37, -38, -38, -39, -37, -36, -33, -39, -40, -34,
    -00397                 -33, -36, -32, -34, -36, -28, -43, -21, -56, 20, 102, 24, 55, 51, 48, 42, 26,
    -00398                 47, 30, 38, 36, 34, 42, 39, 38, 37, 41, 37, 36, 40, 34, 38, 40, 35, 37, 36, 34,
    -00399                 36, 39, 36, 36, 38, 31, 32, 40, 39, 34, 35, 33, 35, 38, 36, 41, 33, 35, 38, 35,
    -00400                 38, 35, 36, 28, 43, 29, 49, -15, -91, -27, -47, -32, -29, -41, -22, -38, -31,
    -00401                 -31, -34, -30, -30, -34, -32, -32, -32, -31, -34, -33, -31, -30, -28, -32, -32,
    -00402                 -26, -28, -30, -34, -37, -32, -33, -30, -33, -31, -32, -36, -32, -34, -29, -34,
    -00403                 -33, -29, -33, -27, -42, -47, -44, -47, -40, -42, -35, -43, -40, -38, -41, -30,
    -00404                 -51, -26, -59, 14, 99, 21, 44, 51, 40, 46, 39, 43, 45, 42, 44, 48, 42, 45, 44,
    -00405                 40, 44, 40, 40, 41, 43, 43, 38, 42, 39, 40, 38, 34, 36, 39, 36, 39, 37, 30, 35,
    -00406                 40, 36, 38, 36, 34, 39, 26, 47, -56, -95, -23, -61, -56, -53, -56, -53, -53,
    -00407                 -32, -39, -43, -39, -38, -38, -39, -36, -43, -38, -38, -41, -41, -40, -36, -38,
    -00408                 -42, -44, -38, -38, -42, -39, -40, -40, -37, -36, -36, -40, -40, -38, -38, -36,
    -00409                 -37, -38, -40, -37, -38, -38, -38, -36, -34, -39, -36, -43, -41, -48, -65, -34,
    -00410                 -70, 7, 93, 13, 38, 44, 31, 38, 36, 42, 33, 38, 35, 40, 35, 36, 39, 33, 35, 37,
    -00411                 35, 33, 35, 37, 36, 34, 32, 35, 34, 33, 34, 34, 31, 31, 34, 33, 34, 31, 30, 31,
    -00412                 30, 31, 27, 30, 32, 28, 45, 46, 39, 42, 39, 40, 41, 41, 44, 40, 45, 35, 43, 36,
    -00413                 35, 57, -85, -73, -19, -66, -38, -53, -46, -46, -46, -44, -48, -45, -47, -46,
    -00414                 -47, -46, -45, -42, -39, -45, -45, -43, -46, -43, -42, -46, -43, -43, -42, -38,
    -00415                 -42, -42, -38, -42, -38, -35, -39, -35, -45, -22, -59, 36, 112, 17, 63, 51, 49,
    -00416                 49, 30, 48, 34, 44, 41, 43, 43, 41, 43, 45, 43, 41, 42, 41, 43, 43, 41, 41, 44,
    -00417                 42, 41, 41, 39, 37, 39, 38, 37, 41, 40, 39, 41, 38, 41, 41, 39, 40, 39, 39, 41,
    -00418                 42, 40, 44, 40, 40, 38, 38, 42, 32, 46, 24, 59, -16, -119, -10, -35, -52, -26,
    -00419                 -50, -37, -44, -40, -41, -45, -39, -37, -40, -41, -38, -37, -34, -39, -39, -39,
    -00420                 -40, -37, -38, -37, -35, -37, -36, -38, -36, -30, -34, -36, -35, -33, -34, -33,
    -00421                 -31, -36, -28, -30, -30, -38, -49, -39, -45, -39, -41, -45, -39, -47, -35, -45,
    -00422                 -33, -49, -32, -45, -43, 105, 51, 40, 62, 36, 62, 41, 52, 48, 51, 51, 47, 51,
    -00423                 47, 45, 48, 45, 43, 44, 41, 46, 50, 46, 45, 47, 46, 44, 40, 43, 45, 45, 48, 43,
    -00424                 44, 41, 43, 38, 33, 42, 27, 42, 32, 38, 33, 30, 44, -107, -77, -30, -68, -39,
    -00425                 -59, -51, -44, -38, -49, -42, -44, -50, -43, -48, -49, -47, -45, -43, -41, -46,
    -00426                 -44, -44, -39, -41, -44, -38, -47, -44, -40, -44, -39, -36, -39, -45, -44, -43,
    -00427                 -41, -41, -37, -40, -47, -42, -45, -41, -42, -40, -38, -40, -39, -48, -49, -46,
    -00428                 -43, -54, -30, -68, 11, 102, 17, 47, 39, 33, 50, 36, 46, 38, 42, 44, 42, 42, 42,
    -00429                 41, 38, 37, 44, 38, 38, 41, 36, 40, 41, 41, 39, 33, 38, 43, 40, 41, 41, 38, 32,
    -00430                 39, 41, 36, 38, 36, 37, 35, 32, 31, 39, 50, 41, 39, 45, 44, 41, 40, 39, 42, 33,
    -00431                 44, 38, 43, 36, 49, 32, -105, -59, -34, -60, -36, -56, -44, -54, -47, -45, -55,
    -00432                 -50, -47, -53, -46, -51, -52, -45, -55, -51, -47, -46, -47, -46, -45, -46, -47,
    -00433                 -48, -46, -45, -46, -43, -44, -43, -40, -51, -37, -42, -27, -45, -19, 100, 59,
    -00434                 36, 59, 50, 57, 41, 43, 45, 42, 47, 43, 46, 51, 44, 48, 45, 40, 44, 44, 49, 44,
    -00435                 37, 46, 44, 43, 47, 45, 42, 43, 44, 46, 41, 39, 50, 44, 41, 44, 42, 43, 40, 43,
    -00436                 45, 44, 43, 43, 43, 44, 45, 43, 45, 41, 39, 41, 46, 43, 52, 52, -58, -72, -25,
    -00437                 -55, -39, -42, -44, -42, -45, -40, -41, -43, -44, -43, -43, -39, -41, -37, -39,
    -00438                 -39, -39, -39, -38, -41, -39, -45, -40, -38, -42, -38, -41, -39, -39, -40, -39,
    -00439                 -37, -36, -39, -35, -34, -36, -34, -38, -40, -39, -39, -41, -43, -41, -43, -39,
    -00440                 -47, -35, -46, -34, -44, -35, -36, -56, 110, 66, 24, 74, 35, 60, 46, 52, 54, 49,
    -00441                 58, 50, 53, 52, 49, 53, 49, 49, 54, 48, 46, 50, 48, 49, 46, 45, 50, 49, 47, 49,
    -00442                 48, 47, 47, 48, 48, 45, 46, 47, 40, 38, 46, 34, 55, 34, 60, -2, -115, -31, -49,
    -00443                 -60, -37, -52, -44, -53, -41, -45, -50, -41, -45, -48, -47, -47, -45, -51, -46,
    -00444                 -42, -47, -45, -44, -46, -47, -51, -47, -46, -50, -46, -46, -49, -48, -46, -44,
    -00445                 -43, -45, -45, -45, -41, -42, -45, -46, -48, -46, -48, -44, -43, -53, -50, -50,
    -00446                 -51, -53, -38, -51, -49, -44, -53, 88, 69, 25, 65, 32, 52, 46, 47, 44, 42, 46,
    -00447                 42, 43, 41, 42, 46, 46, 40, 45, 43, 40, 40, 40, 40, 39, 41, 43, 42, 42, 43, 41,
    -00448                 44, 40, 39, 38, 39, 44, 42, 42, 42, 38, 39, 45, 47, 42, 39, 47, 43, 44, 42, 41,
    -00449                 43, 43, 41, 42, 43, 34, 50, -27, -109, -44, -47, -67, -48, -62, -59, -54, -51,
    -00450                 -59, -59, -53, -58, -54, -53, -53, -50, -54, -53, -54, -48, -49, -56, -50, -47,
    -00451                 -50, -51, -52, -53, -49, -47, -52, -48, -43, -50, -44, -47, -45, -48, -47, -44,
    -00452                 -44, 79, 74, 30, 62, 40, 58, 43, 45, 52, 45, 49, 51, 49, 46, 54, 53, 50, 52, 47,
    -00453                 49, 51, 51, 53, 47, 45, 46, 45, 49, 51, 51, 48, 46, 48, 46, 48, 46, 48, 49, 46,
    -00454                 51, 49, 49, 51, 49, 46, 50, 41, 43, 50, 44, 45, 37, 48, 39, 53, 40, 52, 28, -97,
    -00455                 -54, -39, -61, -40, -53, -45, -47, -42, -50, -52, -49, -49, -43, -48, -46, -42,
    -00456                 -48, -44, -47, -48, -46, -47, -41, -45, -42, -39, -45, -43, -41, -44, -43, -42,
    -00457                 -43, -41, -39, -45, -43, -40, -43, -43, -40, -43, -43, -39, -40, -41, -41, -42,
    -00458                 -45, -38, -46, -36, -40, -41, -40, -42, -32, -64, 90, 90, 23, 83, 39, 63, 54,
    -00459                 53, 58, 53, 61, 55, 60, 52, 57, 56, 49, 58, 54, 53, 55, 52, 56, 50, 52, 54, 49,
    -00460                 53, 51, 50, 50, 51, 51, 49, 50, 47, 47, 46, 45, 51, 37, 57, 32, 60, 12, -120,
    -00461                 -42, -41, -61, -44, -55, -49, -55, -51, -53, -51, -53, -49, -53, -51, -51, -51,
    -00462                 -50, -51, -50, -53, -51, -52, -52, -51, -53, -50, -50, -49, -52, -51, -49, -50,
    -00463                 -47, -49, -50, -49, -47, -48, -50, -48, -49, -48, -47, -48, -48, -47, -49, -47,
    -00464                 -47, -47, -49, -44, -49, -42, -47, -50, -35, -71, 60, 90, 28, 69, 40, 56, 50,
    -00465                 48, 54, 50, 51, 49, 51, 47, 52, 49, 47, 52, 51, 47, 49, 49, 48, 47, 44, 45, 47,
    -00466                 45, 44, 44, 43, 44, 44, 46, 44, 43, 44, 42, 45, 43, 44, 44, 42, 41, 40, 40,
    -00467         };
    -00468 
    -00469 #endif /* CHUM9_H_ */
    -
    - - - - +
    1 #ifndef CHUM9_H_
    +
    2 #define CHUM9_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 /* A sampled guitar sound
    +
    12 */
    +
    13 
    +
    14 #define CHUM9_NUM_CELLS 8192
    +
    15 #define CHUM9_SAMPLERATE 16384
    +
    16 
    +
    17 const char __attribute__((progmem)) CHUM9_DATA [] =
    +
    18  {
    +
    19  29, 42, 43, 38, 44, 37, 44, 35, 42, 51, -108,
    +
    20  -82, -34, -72, -50, -65, -57, -61, -53, -59, -60, -53, -56, -58, -55, -55, -57,
    +
    21  -56, -56, -56, -54, -53, -54, -54, -52, -51, -58, -52, -53, -55, -51, -54, -48,
    +
    22  -52, -52, -49, -49, -49, -50, -54, -43, -50, -41, -61, -1, 107, 45, 48, 57, 44,
    +
    23  59, 47, 55, 49, 54, 53, 50, 57, 54, 49, 50, 54, 51, 53, 54, 47, 49, 47, 54, 50,
    +
    24  47, 47, 43, 52, 50, 45, 49, 47, 42, 44, 46, 46, 46, 46, 50, 51, 47, 45, 46, 46,
    +
    25  46, 46, 45, 46, 47, 46, 44, 50, 42, 43, 43, 35, 56, -77, -91, -19, -71, -43,
    +
    26  -51, -56, -46, -50, -46, -47, -50, -48, -45, -53, -50, -48, -49, -47, -45, -45,
    +
    27  -46, -49, -49, -45, -46, -46, -48, -46, -42, -46, -43, -43, -43, -44, -44, -38,
    +
    28  -45, -43, -43, -44, -38, -42, -40, -39, -39, -37, -35, -42, -40, -37, -40, -35,
    +
    29  -41, -33, -49, -21, -53, 2, 127, 39, 52, 67, 48, 64, 53, 61, 56, 58, 56, 56, 55,
    +
    30  58, 56, 58, 56, 54, 58, 52, 52, 54, 55, 53, 51, 53, 51, 49, 52, 54, 48, 48, 54,
    +
    31  49, 48, 47, 43, 47, 50, 41, 54, 33, 50, 32, -95, -62, -42, -65, -48, -56, -48,
    +
    32  -52, -51, -50, -52, -55, -53, -53, -52, -47, -48, -49, -51, -49, -49, -52, -50,
    +
    33  -51, -47, -49, -52, -49, -47, -49, -48, -44, -50, -47, -48, -50, -49, -48, -47,
    +
    34  -48, -48, -47, -44, -45, -49, -48, -46, -45, -49, -46, -45, -44, -46, -44, -44,
    +
    35  -47, -38, -45, -30, -68, 45, 112, 10, 57, 52, 45, 50, 41, 45, 42, 52, 46, 51,
    +
    36  48, 50, 48, 43, 48, 49, 50, 46, 44, 45, 45, 46, 47, 48, 45, 45, 46, 42, 43, 41,
    +
    37  38, 40, 42, 41, 41, 40, 39, 42, 36, 38, 37, 38, 39, 32, 39, 34, 46, 29, 46, 31,
    +
    38  40, 51, -115, -64, -30, -72, -45, -67, -47, -54, -55, -52, -49, -52, -54, -50,
    +
    39  -54, -51, -50, -50, -52, -52, -49, -51, -51, -49, -51, -50, -48, -49, -48, -50,
    +
    40  -48, -49, -48, -45, -50, -46, -45, -47, -42, -47, -41, -52, -37, -60, -23, 116,
    +
    41  43, 31, 70, 35, 52, 45, 51, 52, 50, 51, 52, 49, 48, 52, 49, 49, 47, 46, 45, 45,
    +
    42  47, 47, 43, 42, 43, 43, 45, 43, 41, 46, 47, 45, 46, 45, 47, 46, 42, 45, 43, 46,
    +
    43  46, 42, 45, 46, 45, 45, 44, 41, 47, 43, 42, 49, 44, 46, 34, 48, 27, 60, 7, -116,
    +
    44  -42, -53, -54, -38, -51, -38, -50, -43, -50, -42, -45, -47, -47, -46, -43, -46,
    +
    45  -39, -45, -43, -42, -43, -42, -46, -41, -41, -41, -38, -41, -38, -41, -39, -33,
    +
    46  -40, -38, -35, -40, -40, -36, -36, -36, -37, -36, -36, -37, -32, -37, -35, -37,
    +
    47  -38, -32, -36, -34, -56, -27, -55, 5, 113, 34, 58, 55, 44, 59, 45, 56, 49, 52,
    +
    48  48, 54, 51, 48, 48, 48, 48, 44, 48, 47, 46, 49, 50, 47, 47, 48, 44, 46, 43, 45,
    +
    49  45, 41, 43, 45, 43, 43, 42, 44, 46, 48, 45, 51, 36, 44, 39, -86, -75, -31, -65,
    +
    50  -46, -50, -55, -55, -54, -46, -51, -53, -55, -44, -41, -47, -41, -46, -45, -49,
    +
    51  -44, -41, -42, -38, -43, -41, -39, -41, -47, -38, -40, -46, -38, -39, -42, -45,
    +
    52  -41, -42, -41, -40, -40, -43, -43, -38, -41, -42, -40, -44, -44, -40, -41, -36,
    +
    53  -40, -38, -42, -38, -48, -40, -29, -67, 59, 82, 20, 56, 36, 52, 48, 45, 45, 40,
    +
    54  48, 41, 44, 44, 39, 40, 39, 35, 38, 35, 39, 40, 38, 43, 36, 36, 35, 34, 37, 34,
    +
    55  35, 39, 41, 36, 39, 38, 35, 40, 36, 33, 36, 36, 34, 35, 28, 30, 34, 35, 39, 29,
    +
    56  32, 26, 37, 37, -60, -71, -34, -59, -49, -48, -50, -49, -49, -46, -47, -47, -49,
    +
    57  -47, -46, -43, -44, -45, -47, -45, -42, -48, -46, -44, -45, -42, -45, -42, -41,
    +
    58  -42, -39, -43, -41, -41, -47, -44, -38, -46, -36, -49, -35, -48, -36, -45, -34,
    +
    59  117, 52, 31, 64, 38, 58, 45, 53, 46, 49, 54, 54, 50, 52, 51, 50, 38, 32, 42, 41,
    +
    60  40, 41, 41, 43, 40, 40, 44, 38, 41, 42, 36, 41, 39, 35, 41, 42, 41, 40, 35, 39,
    +
    61  40, 38, 38, 35, 41, 41, 37, 38, 39, 41, 36, 38, 37, 40, 41, 31, 42, 30, 48, 24,
    +
    62  52, 28, -105, -35, -33, -54, -36, -50, -39, -48, -39, -42, -39, -44, -45, -41,
    +
    63  -42, -36, -37, -39, -38, -37, -37, -39, -41, -37, -36, -41, -39, -37, -40, -41,
    +
    64  -38, -36, -36, -35, -39, -37, -35, -37, -36, -33, -34, -32, -34, -35, -35, -34,
    +
    65  -30, -32, -33, -34, -29, -55, -20, -62, 7, 120, 20, 51, 56, 42, 54, 40, 52, 43,
    +
    66  50, 52, 45, 48, 47, 48, 47, 47, 49, 45, 52, 50, 50, 50, 44, 46, 43, 41, 43, 41,
    +
    67  42, 41, 43, 40, 39, 41, 36, 38, 40, 38, 41, 41, 35, 46, 31, 56, -26, -104, -36,
    +
    68  -54, -47, -48, -51, -48, -53, -42, -54, -48, -48, -35, -38, -44, -36, -43, -40,
    +
    69  -38, -38, -38, -38, -36, -38, -41, -41, -36, -42, -41, -37, -35, -38, -38, -32,
    +
    70  -36, -39, -39, -35, -40, -37, -30, -36, -35, -35, -35, -35, -29, -33, -35, -32,
    +
    71  -35, -35, -39, -34, -36, -32, -44, -51, -39, -54, 50, 88, 17, 43, 40, 35, 37,
    +
    72  41, 44, 40, 43, 40, 42, 40, 43, 42, 38, 42, 35, 38, 39, 33, 37, 37, 38, 32, 31,
    +
    73  34, 38, 34, 33, 36, 29, 34, 36, 30, 32, 34, 37, 34, 30, 31, 31, 34, 31, 33, 30,
    +
    74  37, 27, 37, 26, 40, 1, -104, -29, -38, -56, -34, -49, -47, -49, -40, -46, -37,
    +
    75  -44, -44, -46, -46, -42, -44, -44, -47, -43, -43, -43, -39, -40, -47, -44, -41,
    +
    76  -45, -42, -42, -40, -39, -41, -38, -38, -36, -36, -37, -38, -35, -35, -36, -35,
    +
    77  -31, -41, 22, 92, 42, 40, 51, 49, 49, 47, 53, 47, 53, 48, 52, 49, 53, 48, 27,
    +
    78  40, 39, 31, 41, 39, 36, 40, 38, 38, 39, 38, 36, 34, 33, 32, 37, 38, 36, 34, 33,
    +
    79  33, 36, 35, 31, 28, 28, 33, 33, 31, 30, 30, 31, 31, 30, 37, 36, 35, 33, 35, 30,
    +
    80  36, 34, 43, 53, 21, 72, -38, -87, -9, -55, -33, -40, -41, -38, -42, -42, -45,
    +
    81  -37, -44, -38, -38, -39, -36, -35, -38, -33, -35, -40, -37, -36, -37, -37, -33,
    +
    82  -34, -35, -36, -37, -34, -34, -34, -30, -26, -30, -30, -28, -31, -32, -30, -28,
    +
    83  -31, -31, -30, -26, -28, -28, -27, -52, -39, -31, -55, 28, 74, 37, 51, 44, 43,
    +
    84  47, 42, 43, 43, 46, 43, 47, 42, 42, 45, 39, 41, 45, 43, 42, 39, 41, 41, 41, 39,
    +
    85  35, 37, 37, 42, 42, 37, 39, 39, 39, 35, 40, 35, 41, 36, 28, 45, 16, 61, -41,
    +
    86  -114, -14, -57, -46, -47, -54, -46, -55, -46, -51, -47, -55, -38, -28, -37, -34,
    +
    87  -32, -33, -33, -36, -36, -33, -33, -32, -31, -33, -34, -30, -31, -32, -32, -31,
    +
    88  -29, -30, -31, -30, -31, -32, -30, -30, -32, -32, -30, -29, -29, -27, -32, -31,
    +
    89  -33, -34, -29, -35, -33, -31, -34, -34, -57, -45, -41, -54, -33, -73, 57, 84, 3,
    +
    90  55, 31, 37, 33, 39, 34, 29, 41, 33, 33, 31, 36, 33, 30, 33, 33, 32, 30, 34, 31,
    +
    91  30, 36, 31, 35, 33, 29, 30, 31, 31, 33, 33, 25, 29, 29, 27, 28, 25, 29, 27, 24,
    +
    92  29, 22, 31, 24, 24, 29, 12, 51, -72, -84, -8, -62, -34, -47, -45, -38, -46, -39,
    +
    93  -41, -42, -45, -42, -42, -41, -43, -39, -44, -44, -37, -38, -38, -36, -38, -36,
    +
    94  -36, -38, -34, -35, -34, -36, -39, -36, -33, -37, -35, -33, -42, -33, -37, -32,
    +
    95  -36, -33, -31, -36, 65, 69, 36, 53, 46, 54, 44, 50, 53, 46, 53, 52, 49, 50, 55,
    +
    96  35, 22, 38, 30, 31, 34, 31, 33, 32, 31, 30, 29, 29, 29, 29, 30, 31, 30, 29, 33,
    +
    97  31, 25, 31, 32, 30, 32, 29, 31, 32, 33, 30, 27, 30, 33, 35, 35, 31, 28, 30, 28,
    +
    98  30, 32, 34, 34, 39, 59, 42, 42, 70, -58, -74, -11, -44, -30, -37, -33, -35, -38,
    +
    99  -39, -37, -35, -36, -38, -40, -32, -35, -35, -34, -34, -31, -31, -30, -30, -30,
    +
    100  -31, -31, -29, -24, -29, -30, -26, -29, -27, -28, -31, -27, -27, -26, -26, -27,
    +
    101  -28, -27, -22, -27, -26, -26, -26, -21, -32, -59, -30, -43, -43, 83, 52, 28, 51,
    +
    102  29, 48, 40, 42, 41, 42, 42, 42, 41, 40, 41, 41, 42, 39, 43, 42, 36, 39, 44, 39,
    +
    103  39, 34, 35, 38, 31, 35, 35, 33, 37, 33, 35, 34, 36, 34, 36, 34, 24, 55, -44,
    +
    104  -81, -31, -56, -40, -50, -49, -48, -49, -44, -48, -46, -51, -40, -22, -32, -35,
    +
    105  -29, -31, -29, -29, -29, -34, -29, -29, -29, -30, -31, -27, -28, -33, -28, -25,
    +
    106  -30, -29, -31, -29, -27, -31, -27, -26, -28, -28, -28, -27, -30, -31, -30, -30,
    +
    107  -33, -32, -32, -26, -28, -32, -25, -29, -23, -45, -53, -41, -42, -53, -33, -56,
    +
    108  -28, 84, 30, 27, 44, 27, 42, 28, 37, 33, 32, 35, 34, 33, 31, 32, 32, 30, 28, 31,
    +
    109  32, 32, 31, 28, 26, 26, 29, 30, 28, 27, 29, 25, 23, 26, 26, 24, 27, 29, 24, 25,
    +
    110  23, 24, 22, 24, 21, 26, 11, 35, -13, -108, -54, -48, -32, -34, -45, -34, -44,
    +
    111  -33, -41, -40, -38, -39, -39, -38, -36, -34, -35, -37, -36, -36, -36, -38, -34,
    +
    112  -33, -37, -32, -36, -35, -31, -34, -30, -33, -34, -32, -33, -32, -32, -34, -34,
    +
    113  -33, -28, -35, -29, -39, -22, -46, 0, 104, 32, 46, 59, 37, 53, 46, 51, 46, 49,
    +
    114  45, 47, 44, 52, 39, 15, 31, 29, 25, 28, 27, 29, 24, 27, 28, 24, 26, 28, 28, 26,
    +
    115  23, 25, 23, 26, 27, 26, 26, 26, 26, 25, 26, 23, 24, 27, 27, 25, 25, 25, 25, 27,
    +
    116  26, 21, 25, 26, 22, 26, 20, 42, 57, 45, 36, 62, -10, -91, -21, -30, -42, -28,
    +
    117  -36, -28, -32, -31, -31, -33, -30, -29, -28, -32, -29, -27, -34, -30, -30, -25,
    +
    118  -28, -30, -27, -30, -27, -28, -26, -25, -28, -26, -25, -26, -27, -23, -22, -22,
    +
    119  -19, -24, -21, -22, -25, -23, -21, -18, -26, -22, -19, -25, -16, -31, -55, -46,
    +
    120  38, 64, 22, 40, 37, 32, 34, 34, 40, 36, 36, 38, 33, 36, 37, 31, 35, 35, 34, 34,
    +
    121  33, 32, 32, 32, 29, 33, 32, 31, 36, 33, 36, 33, 32, 28, 31, 34, 29, 31, 29, 38,
    +
    122  19, 57, -21, -95, -23, -52, -49, -42, -49, -49, -46, -47, -50, -49, -47, -46,
    +
    123  -52, -15, -20, -32, -19, -26, -23, -26, -23, -21, -22, -22, -26, -26, -25, -23,
    +
    124  -23, -27, -25, -25, -23, -24, -23, -21, -25, -26, -23, -22, -24, -25, -25, -26,
    +
    125  -25, -25, -26, -24, -24, -25, -25, -25, -21, -27, -25, -21, -29, -20, -43, -59,
    +
    126  -43, -45, -52, -33, -60, 7, 79, 12, 35, 30, 26, 35, 21, 35, 27, 29, 27, 28, 29,
    +
    127  24, 25, 29, 26, 28, 27, 25, 29, 26, 24, 22, 22, 23, 20, 20, 21, 21, 21, 24, 21,
    +
    128  23, 21, 21, 19, 20, 18, 21, 21, 24, 21, 13, 40, -68, -95, -25, -73, -52, -19,
    +
    129  -35, -36, -33, -33, -30, -32, -31, -30, -33, -31, -32, -34, -34, -33, -28, -30,
    +
    130  -33, -32, -31, -30, -32, -34, -34, -31, -31, -31, -30, -28, -26, -30, -28, -30,
    +
    131  -31, -30, -33, -31, -28, -26, -32, -23, -36, -25, -37, 10, 90, 38, 44, 52, 46,
    +
    132  55, 41, 50, 45, 47, 48, 45, 49, 42, 52, 17, 9, 30, 16, 26, 23, 23, 21, 19, 25,
    +
    133  23, 23, 20, 19, 21, 21, 22, 19, 21, 22, 20, 20, 21, 22, 20, 24, 24, 19, 22, 21,
    +
    134  24, 22, 19, 25, 21, 19, 24, 18, 18, 19, 22, 17, 33, 65, 40, 51, 38, 59, 26, -82,
    +
    135  -25, -24, -29, -23, -39, -22, -31, -25, -29, -28, -25, -29, -27, -25, -24, -23,
    +
    136  -25, -24, -23, -26, -25, -25, -22, -22, -23, -22, -22, -23, -23, -26, -23, -20,
    +
    137  -23, -19, -21, -22, -17, -19, -18, -21, -18, -19, -17, -20, -20, -12, -23, -11,
    +
    138  -26, 42, 60, 7, 47, 24, 27, 32, 23, 32, 28, 32, 28, 29, 27, 30, 29, 32, 33, 30,
    +
    139  31, 28, 29, 31, 30, 30, 29, 30, 30, 27, 28, 27, 28, 29, 26, 31, 30, 26, 30, 26,
    +
    140  32, 27, 23, 29, 20, 35, -42, -76, -37, -47, -46, -50, -41, -48, -47, -47, -48,
    +
    141  -47, -43, -48, -31, -3, -24, -20, -18, -21, -16, -22, -21, -20, -20, -19, -18,
    +
    142  -18, -22, -22, -18, -15, -17, -22, -19, -18, -20, -20, -19, -17, -15, -17, -23,
    +
    143  -18, -20, -21, -18, -22, -22, -19, -19, -24, -21, -18, -20, -17, -19, -16, -17,
    +
    144  -15, -33, -65, -31, -53, -28, 66, 31, 21, 29, 23, 30, 23, 27, 27, 24, 22, 22,
    +
    145  21, 18, 20, 23, 21, 22, 21, 18, 21, 20, 20, 22, 19, 20, 17, 15, 22, 21, 19, 17,
    +
    146  15, 17, 17, 16, 20, 18, 17, 20, 14, 14, 15, 19, 9, 30, -3, -93, -56, -46, -64,
    +
    147  -43, -64, -33, -7, -31, -30, -25, -27, -32, -26, -27, -30, -25, -28, -26, -29,
    +
    148  -26, -27, -27, -22, -25, -29, -29, -27, -22, -24, -26, -27, -25, -24, -26, -24,
    +
    149  -25, -25, -26, -23, -26, -25, -23, -27, -19, -30, -9, -41, 18, 94, 31, 50, 49,
    +
    150  44, 48, 43, 52, 44, 51, 50, 44, 48, 40, 53, 42, -5, 22, 20, 15, 24, 13, 21, 15,
    +
    151  15, 17, 17, 16, 16, 19, 15, 14, 17, 13, 15, 15, 12, 14, 15, 14, 17, 17, 16, 17,
    +
    152  16, 17, 18, 17, 16, 17, 20, 15, 16, 18, 16, 22, 13, 20, 11, 32, 65, 34, 49, 38,
    +
    153  48, 24, -57, -23, -22, -26, -18, -28, -20, -31, -24, -24, -23, -21, -25, -23,
    +
    154  -25, -21, -23, -23, -19, -23, -21, -20, -21, -20, -20, -16, -21, -19, -18, -19,
    +
    155  -15, -17, -18, -17, -18, -20, -17, -17, -16, -16, -19, -17, -19, -17, -22, 9,
    +
    156  84, 54, 47, 60, 9, 25, 29, 21, 28, 21, 27, 25, 26, 27, 25, 25, 26, 24, 25, 27,
    +
    157  24, 24, 25, 25, 25, 23, 24, 24, 23, 25, 25, 24, 26, 26, 24, 25, 26, 26, 24, 21,
    +
    158  23, 23, 20, 27, 16, 29, 16, 32, 10, -99, -41, -33, -61, -35, -50, -41, -47, -43,
    +
    159  -44, -45, -45, -45, -45, -45, -3, -11, -21, -12, -18, -14, -16, -15, -15, -15,
    +
    160  -17, -13, -13, -14, -14, -15, -12, -15, -15, -13, -14, -16, -15, -13, -14, -13,
    +
    161  -15, -14, -13, -14, -16, -16, -14, -15, -14, -15, -14, -15, -14, -15, -18, -14,
    +
    162  -19, -10, -31, -75, -17, 57, 27, 16, 23, 16, 25, 22, 24, 21, 23, 20, 20, 25, 18,
    +
    163  20, 20, 19, 19, 19, 19, 18, 21, 18, 19, 19, 15, 19, 16, 17, 17, 17, 18, 15, 16,
    +
    164  18, 16, 15, 19, 17, 17, 16, 11, 18, 9, 18, 7, 24, 1, -105, -51, -42, -69, -42,
    +
    165  -59, -48, -50, -57, -6, -18, -34, -14, -28, -18, -23, -22, -23, -23, -22, -22,
    +
    166  -21, -21, -15, -20, -20, -21, -21, -21, -23, -22, -23, -19, -22, -23, -23, -23,
    +
    167  -24, -20, -17, -20, -18, -19, -16, -20, -13, -25, -9, -28, -9, 90, 46, 44, 52,
    +
    168  37, 54, 46, 51, 50, 47, 46, 48, 46, 50, 26, 6, 16, 17, 16, 13, 12, 12, 12, 12,
    +
    169  17, 11, 11, 16, 10, 9, 7, 9, 10, 8, 11, 9, 11, 9, 9, 8, 12, 14, 9, 16, 14, 10,
    +
    170  12, 15, 12, 14, 12, 13, 11, 12, 6, 6, 14, 8, 21, 2, 36, 57, 43, 29, 55, 12, -83,
    +
    171  -2, -23, -34, -13, -24, -14, -29, -20, -16, -17, -21, -24, -21, -15, -23, -16,
    +
    172  -17, -22, -13, -13, -17, -19, -13, -16, -17, -18, -20, -12, -16, -16, -18, -18,
    +
    173  -16, -14, -10, -18, -12, -11, -9, -11, -8, -12, -22, 43, 63, 51, 54, 41, 62, 36,
    +
    174  0, 22, 18, 21, 20, 17, 23, 15, 18, 15, 14, 19, 19, 21, 19, 19, 20, 16, 21, 15,
    +
    175  20, 25, 15, 23, 23, 17, 23, 24, 21, 24, 20, 14, 16, 20, 20, 19, 13, 22, 11, 21,
    +
    176  13, 26, -1, -83, -38, -41, -50, -39, -46, -40, -50, -43, -49, -48, -46, -43,
    +
    177  -47, -42, -39, -47, 0, -2, -19, -11, -15, -6, -11, -11, -11, -10, -10, -10, -9,
    +
    178  -9, -7, -9, -9, -8, -12, -10, -8, -12, -9, -13, -10, -8, -10, -7, -12, -9, -8,
    +
    179  -16, -12, -9, -10, -11, -10, -5, -8, -12, -9, -12, -6, -43, -56, 32, 42, 8, 24,
    +
    180  21, 17, 18, 16, 19, 16, 17, 18, 19, 18, 17, 20, 17, 15, 15, 15, 17, 15, 12, 14,
    +
    181  13, 12, 12, 14, 11, 12, 13, 12, 12, 10, 13, 12, 12, 10, 15, 9, 13, 12, 10, 13,
    +
    182  3, 23, -49, -81, -42, -52, -54, -54, -50, -52, -51, -50, -54, -49, -61, -26, 6,
    +
    183  -30, -17, -16, -19, -15, -21, -17, -18, -17, -20, -15, -18, -18, -16, -17, -16,
    +
    184  -14, -12, -15, -17, -16, -17, -19, -16, -16, -17, -14, -12, -15, -13, -17, -14,
    +
    185  -14, -18, -11, -22, -6, -30, 19, 89, 38, 48, 50, 45, 49, 46, 53, 43, 49, 43, 49,
    +
    186  48, -2, 5, 16, 3, 11, 10, 13, 13, 11, 8, 11, 6, 8, 9, 7, 8, 9, 10, 7, 10, 9, 8,
    +
    187  10, 10, 6, 5, 9, 10, 10, 8, 10, 10, 10, 7, 7, 9, 7, 9, 8, 8, 9, 9, 9, 3, 14, 1,
    +
    188  24, 57, 48, 39, -39, -27, -3, -30, -7, -18, -20, -13, -17, -16, -17, -17, -16,
    +
    189  -16, -15, -16, -16, -16, -15, -11, -13, -14, -14, -13, -15, -13, -10, -11, -8,
    +
    190  -11, -11, -13, -11, -9, -11, -11, -13, -8, -12, -12, -12, -3, -17, 7, 77, 57,
    +
    191  43, 53, 53, 49, 55, 57, 45, 60, 14, -5, 20, 11, 16, 15, 13, 14, 19, 16, 12, 15,
    +
    192  15, 16, 18, 14, 15, 19, 15, 13, 14, 16, 15, 15, 13, 12, 16, 17, 17, 14, 13, 16,
    +
    193  14, 13, 11, 15, 8, 16, 10, 18, 6, -73, -50, -36, -51, -45, -50, -45, -46, -46,
    +
    194  -50, -46, -47, -45, -46, -50, -39, -56, -17, 15, -16, -6, -7, -6, -3, -6, -4,
    +
    195  -8, -4, -4, -4, -9, -8, -6, -6, -4, -7, -6, -6, -7, -5, -7, -8, -2, -6, -7, 1,
    +
    196  -4, -7, -7, -6, -5, -5, -3, -7, -6, -8, -5, -8, -10, -8, -14, 6, -68, -7, 66,
    +
    197  -11, 15, 13, 10, 12, 10, 14, 11, 16, 8, 10, 14, 10, 10, 15, 13, 10, 13, 9, 9,
    +
    198  15, 14, 11, 12, 12, 13, 14, 8, 8, 10, 7, 8, 7, 8, 10, 4, 10, 3, 15, 3, 9, 11,
    +
    199  -80, -52, -39, -60, -45, -53, -48, -51, -52, -54, -52, -49, -55, -48, -55, -49,
    +
    200  16, -11, -22, -5, -21, -8, -15, -12, -9, -11, -15, -13, -8, -14, -11, -10, -12,
    +
    201  -11, -11, -12, -11, -8, -8, -14, -13, -12, -13, -11, -13, -9, -10, -13, -11, -8,
    +
    202  -15, -7, -15, -4, -19, -7, 87, 45, 38, 54, 37, 53, 38, 46, 46, 45, 48, 36, 57,
    +
    203  -2, -20, 26, 1, 8, 6, 2, 4, 1, 2, 3, 6, 3, 5, 5, 3, 5, 5, 3, 4, 5, 5, 4, 3, 3,
    +
    204  4, 8, 6, 4, 5, 4, 3, 0, 7, 5, 4, 6, 3, 5, 4, 5, 5, 8, 5, 8, -7, 42, 62, 43, 39,
    +
    205  -36, -17, -3, -18, -13, -16, -11, -16, -12, -16, -12, -10, -16, -13, -13, -13,
    +
    206  -14, -14, -9, -12, -13, -12, -9, -11, -13, -9, -12, -12, -9, -9, -10, -12, -8,
    +
    207  -9, -6, -13, -2, -14, -3, -9, -5, 91, 42, 42, 63, 43, 62, 45, 57, 50, 52, 51,
    +
    208  49, 54, 50, 55, 5, -6, 21, 3, 9, 10, 8, 9, 9, 8, 9, 10, 8, 10, 12, 8, 6, 10, 10,
    +
    209  12, 8, 12, 13, 9, 12, 9, 10, 10, 10, 10, 8, 13, 7, 18, 7, 13, 8, 8, 12, -78,
    +
    210  -51, -36, -57, -40, -51, -42, -48, -43, -44, -45, -41, -43, -43, -48, -35, -53,
    +
    211  -23, 24, -6, 1, -2, -9, -2, -6, -4, -4, -2, -2, -1, -2, -2, -2, -1, -4, -1, -1,
    +
    212  -3, 0, -2, 0, -1, 0, 2, -1, -1, -1, -4, -3, -2, -2, -4, -2, 0, -5, -2, 0, 2, -5,
    +
    213  -3, -1, -6, 4, -1, 24, 12, 5, 22, 7, 15, 10, 9, 14, 7, 13, 9, 7, 11, 12, 13, 13,
    +
    214  11, 10, 11, 11, 11, 10, 6, 5, 12, 10, 7, 10, 6, 7, 9, 6, 11, 6, 8, 5, 10, 3, 1,
    +
    215  20, -79, -67, -28, -62, -41, -53, -48, -49, -52, -49, -52, -49, -51, -50, -49,
    +
    216  -53, -44, -59, -22, 20, -17, -7, -5, -8, -7, -10, -6, -8, -3, -5, -4, -2, -5,
    +
    217  -9, -7, -7, -8, -9, -5, -6, -9, -6, -8, -8, -8, -8, -7, -7, -7, -9, -11, -6, -6,
    +
    218  -7, -10, -10, -1, -22, 47, 73, 30, 51, 43, 50, 45, 41, 47, 42, 48, 42, 54, 17,
    +
    219  -27, 2, 0, -3, 4, 1, 1, -1, 2, 4, 4, 0, 2, 4, 1, -2, -1, 1, 2, -1, 1, 2, -1, 2,
    +
    220  1, -1, 1, 0, 2, 1, -1, -1, -4, 0, 1, 2, -1, -3, 1, 1, -2, 1, 1, 3, -4, 25, 71,
    +
    221  44, -28, -17, -2, -19, -5, -14, -7, -5, -12, -5, -11, -14, -6, -9, -11, -7, -7,
    +
    222  -8, -7, -8, -7, -7, -6, -4, -8, -9, -5, -7, -8, -6, -8, -7, -4, -6, -5, -4, -1,
    +
    223  -9, -3, -8, -9, 1, -5, 68, 69, 35, 62, 45, 50, 53, 47, 51, 50, 52, 49, 55, 45,
    +
    224  58, 34, -24, 12, 9, 1, 10, 1, 9, 1, 3, 6, 5, 5, 2, 5, 8, 7, 8, 5, 2, 3, 7, 10,
    +
    225  8, 8, 4, 2, 3, 4, 3, 5, 4, 5, 4, 6, 8, -2, 18, -47, -77, -28, -54, -45, -45,
    +
    226  -47, -40, -47, -43, -48, -41, -45, -42, -45, -42, -43, -49, 33, 13, -15, 16, -7,
    +
    227  3, 0, 3, 5, 1, 4, 2, 0, 1, 3, 3, 3, 1, 3, 4, 1, 1, -2, 1, 2, 2, 3, 3, 3, 0, 3,
    +
    228  2, 0, 5, 2, 4, 0, 4, 3, -3, 7, -7, 13, -18, 37, 47, -36, 27, 6, 4, 17, 4, 12, 5,
    +
    229  11, 4, 8, 6, 5, 7, 4, 9, 8, 6, 9, 8, 7, 3, 5, 6, 5, 6, 3, 2, 6, 5, 2, 4, 1, 2,
    +
    230  -1, 6, 4, 1, -2, 8, -23, -80, -51, -50, -52, -46, -56, -49, -53, -50, -51, -50,
    +
    231  -51, -49, -49, -48, -43, -53, -46, -62, -8, 21, -18, 3, -8, -3, -3, -4, 3, -4,
    +
    232  -3, -4, -3, -3, -4, -4, 0, -4, -4, -2, -5, 0, -3, -3, 0, -1, -4, -3, 0, -4, -6,
    +
    233  -2, -3, -1, -6, -2, -3, -6, -3, -9, 59, 68, 34, 56, 44, 46, 47, 42, 51, 37, 52,
    +
    234  26, -38, 2, 5, -11, 3, -6, -2, -5, -3, -2, -3, -2, -6, -5, -5, -7, -4, -4, -4,
    +
    235  -3, -6, -2, -5, -7, -2, -4, -1, 0, -1, 0, -6, -3, 1, -4, -6, -7, -4, -3, -6, -4,
    +
    236  -3, -11, -3, -5, -6, 9, -22, 60, 39, -54, 5, -10, -9, -1, -9, -3, -4, -6, -8,
    +
    237  -1, -9, -4, -4, -3, -3, -5, -3, -4, -4, -3, 0, -2, -2, -2, -3, -2, -2, -3, -7,
    +
    238  -5, -1, 0, 0, -3, 2, -3, 0, -3, 1, 3, -4, 68, 66, 39, 54, 48, 53, 45, 46, 48,
    +
    239  47, 49, 46, 51, 50, 49, 51, 47, 49, -11, -14, 13, -8, 7, 0, 0, 2, -4, 2, 1, 0,
    +
    240  -3, -3, 4, 2, 1, 3, 2, 4, 4, 0, -1, -3, -3, 3, 1, -4, 2, 2, 0, 4, -1, 5, 5, -3,
    +
    241  13, -54, -72, -32, -52, -40, -45, -44, -41, -45, -42, -48, -40, -46, -42, -43,
    +
    242  -37, -43, -37, 35, 11, -4, 16, 1, 9, 5, 7, 6, 7, 5, 7, 11, 11, 8, 5, 6, 4, 10,
    +
    243  6, 4, 6, 2, 6, 8, 8, 6, 3, 7, 7, 4, 3, 8, 9, 4, 6, 6, 7, 2, 10, -1, 18, -8, -43,
    +
    244  27, 8, -1, 8, 2, 8, -3, 7, 0, 3, 5, 2, 3, 2, 1, 0, 1, 2, -1, 2, 3, -1, 0, 0, 0,
    +
    245  1, 2, 3, 2, 2, 2, 2, -1, 1, 1, 1, 1, 3, -1, 6, -5, 6, -9, -80, -49, -41, -54,
    +
    246  -41, -51, -46, -48, -48, -49, -49, -48, -50, -46, -51, -45, -51, -45, -45, -53,
    +
    247  35, 16, -12, 14, -4, 6, 0, 3, 2, 2, 3, 1, 3, 0, 2, 3, 0, 0, 1, -1, -1, 1, -2,
    +
    248  -1, 0, -2, 3, -1, 0, 0, -1, 1, 1, -1, 3, -4, -1, -3, 2, 67, 53, 35, 51, 42, 44,
    +
    249  49, 42, 50, 37, -21, -18, -6, -6, -7, -11, -6, -6, -8, -8, -7, -5, -5, -11, -10,
    +
    250  -8, -7, -6, -8, -9, -8, -8, -8, -7, -8, -9, -7, -8, -10, -8, -8, -7, -7, -7, -5,
    +
    251  -9, -8, -7, -7, -5, -10, -7, -11, -9, -3, -11, -4, -18, 44, 69, -32, -12, 11,
    +
    252  -11, 6, -6, -4, 3, -3, -1, 0, -2, -1, 0, -4, -2, 1, 1, -2, -2, -2, -1, 1, -1, 1,
    +
    253  1, -1, -3, -1, 1, 0, 0, 3, 2, 2, 4, -3, 3, 1, 7, 2, -6, 68, 61, 36, 59, 41, 52,
    +
    254  51, 49, 54, 46, 44, 49, 46, 51, 45, 49, 48, 49, 46, -39, -7, 14, -15, 2, -14,
    +
    255  -5, -5, -5, -3, -1, -3, -4, -3, -8, -4, -7, -4, -3, -5, -4, -6, 0, -2, -4, -2,
    +
    256  -4, -1, -4, -3, -2, -4, 1, -4, 1, -4, 9, -33, -76, -35, -50, -48, -41, -49, -46,
    +
    257  -47, -42, -44, -45, -44, -48, -38, -49, -7, 42, 3, 12, 12, 6, 13, 6, 11, 9, 13,
    +
    258  12, 12, 9, 10, 11, 8, 14, 7, 6, 8, 8, 14, 9, 12, 9, 5, 11, 11, 12, 9, 11, 12,
    +
    259  13, 12, 8, 13, 8, 14, 3, 18, 3, 20, 3, -67, 20, 13, -9, 10, -5, 3, -4, 2, 1, -2,
    +
    260  2, -1, -3, -2, -2, 1, 1, 0, -1, -2, -1, 2, 0, -4, 0, -3, -3, 1, -2, -1, -5, -5,
    +
    261  -1, -2, 1, -6, -2, 0, -2, -5, -3, -3, -7, 3, -60, -67, -31, -53, -44, -49, -48,
    +
    262  -50, -51, -48, -49, -47, -53, -45, -49, -45, -56, -49, -51, -42, 42, 7, -3, 17,
    +
    263  0, 14, 4, 6, 5, 8, 9, 4, 9, 7, 4, 4, 3, 8, 5, 3, 5, 6, 7, 5, 4, 3, 7, 6, 2, 4,
    +
    264  3, 7, 4, 3, 4, 2, 12, -11, 46, 71, 32, 52, 37, 43, 45, 46, 44, -27, -25, 2, -17,
    +
    265  -8, -13, -14, -13, -13, -11, -10, -9, -13, -7, -13, -13, -12, -12, -9, -12, -10,
    +
    266  -12, -14, -13, -12, -9, -10, -10, -11, -10, -11, -11, -8, -10, -10, -11, -9, -8,
    +
    267  -11, -10, -12, -11, -9, -15, -5, -18, -5, -20, 2, 79, 43, 23, -16, -2, 14, -5,
    +
    268  13, -1, 4, 3, 4, 4, 3, 5, 3, 5, 4, 1, 3, 2, 2, 3, 3, 8, 2, 1, 4, 5, 4, 4, 5, 4,
    +
    269  5, 6, 8, 2, 4, 2, 5, 5, 6, 5, 9, 68, 57, 42, 52, 42, 50, 45, 45, 45, 47, 47, 45,
    +
    270  48, 47, 47, 47, 48, 47, 0, -25, -11, -11, -8, -10, -10, -9, -8, -9, -10, -8,
    +
    271  -12, -10, -10, -8, -9, -10, -7, -10, -5, -10, -8, -5, -8, -6, -8, -5, -9, -6,
    +
    272  -7, -6, -4, -5, -2, -8, -1, -12, 6, -26, -73, -37, -44, -47, -43, -46, -40, -50,
    +
    273  -41, -41, -48, -36, -60, 8, 39, -3, 25, 9, 17, 15, 10, 18, 9, 16, 14, 17, 18,
    +
    274  14, 16, 15, 14, 12, 9, 13, 11, 10, 13, 12, 15, 15, 13, 14, 15, 14, 11, 11, 13,
    +
    275  11, 13, 13, 11, 13, 15, 9, 18, 3, 25, -15, -97, -8, 14, -9, 2, -8, 1, -7, -4,
    +
    276  -4, -7, -2, -4, -3, -5, -5, -5, -7, -2, -6, -8, -3, -3, -5, -5, -6, -7, -7, -4,
    +
    277  -6, -7, -7, -7, -9, -11, -8, -9, -10, -6, -10, -5, -8, -5, -11, -9, -16, -75,
    +
    278  -53, -42, -56, -44, -53, -47, -47, -48, -46, -46, -45, -48, -46, -49, -45, -46,
    +
    279  -53, 2, 36, 9, 9, 16, 8, 10, 12, 11, 11, 11, 10, 7, 7, 10, 11, 11, 9, 8, 10, 11,
    +
    280  10, 8, 7, 9, 9, 7, 8, 8, 7, 6, 8, 5, 7, 7, 6, 4, 1, 12, -3, 45, 71, 29, 52, 46,
    +
    281  44, 48, -36, -28, 6, -24, -10, -18, -17, -11, -21, -13, -16, -15, -17, -19, -12,
    +
    282  -14, -15, -17, -16, -17, -18, -15, -16, -14, -18, -13, -13, -19, -15, -17, -15,
    +
    283  -15, -13, -12, -14, -13, -14, -13, -11, -12, -15, -13, -12, -14, -18, -13, -14,
    +
    284  -11, -18, -3, 65, 59, -2, -12, 6, 6, 6, 9, 5, 6, 7, 5, 7, 6, 4, 6, 7, 8, 5, 6,
    +
    285  7, 7, 8, 7, 8, 6, 7, 7, 7, 7, 5, 5, 9, 10, 9, 13, 7, 9, 9, 11, 10, 2, 13, -2,
    +
    286  38, 69, 39, 49, 45, 44, 50, 46, 45, 48, 48, 47, 46, 46, 47, 43, 53, 35, 62, -5,
    +
    287  -54, 9, -21, -15, -12, -18, -11, -13, -14, -16, -15, -12, -11, -16, -14, -12,
    +
    288  -13, -15, -11, -13, -14, -10, -12, -12, -12, -11, -10, -9, -10, -13, -9, -9,
    +
    289  -13, -9, -14, -9, -15, -4, -23, -77, -42, -43, -48, -40, -53, -40, -51, -37,
    +
    290  -55, -6, 58, -3, 20, 23, 12, 27, 14, 19, 19, 20, 18, 20, 19, 18, 19, 20, 19, 17,
    +
    291  16, 18, 21, 17, 16, 21, 19, 18, 19, 15, 18, 19, 20, 20, 16, 20, 17, 18, 20, 16,
    +
    292  18, 14, 21, 13, 18, 15, 13, 10, -86, -55, 23, -10, -13, -8, -9, -9, -8, -6, -9,
    +
    293  -5, -10, -12, -7, -8, -9, -7, -6, -8, -11, -10, -11, -10, -10, -12, -9, -7, -10,
    +
    294  -6, -8, -11, -9, -10, -10, -10, -10, -12, -10, -9, -8, -12, -10, -6, -16, 0,
    +
    295  -46, -70, -38, -53, -45, -48, -46, -44, -45, -46, -47, -45, -51, -43, -51, -36,
    +
    296  -66, -3, 59, -2, 20, 16, 13, 18, 14, 18, 11, 16, 14, 15, 14, 15, 15, 13, 14, 12,
    +
    297  10, 14, 10, 14, 14, 9, 16, 13, 12, 11, 10, 15, 12, 11, 10, 11, 10, 15, 12, 11,
    +
    298  9, 11, 12, 5, 55, 62, 34, 60, 5, -59, -10, -13, -25, -11, -19, -17, -20, -20,
    +
    299  -17, -23, -22, -19, -20, -19, -21, -19, -19, -19, -18, -19, -21, -19, -18, -21,
    +
    300  -18, -16, -17, -17, -15, -17, -17, -19, -20, -15, -15, -19, -17, -18, -21, -18,
    +
    301  -22, -18, -21, -16, -16, -17, -16, -23, 41, 75, 30, -15, 11, 17, 1, 18, 9, 8,
    +
    302  12, 13, 9, 10, 11, 11, 12, 12, 12, 13, 15, 13, 8, 11, 9, 12, 14, 13, 16, 10, 11,
    +
    303  12, 10, 13, 10, 10, 13, 10, 10, 13, 7, 12, 11, 10, 16, 13, 63, 54, 34, 51, 39,
    +
    304  50, 47, 48, 48, 44, 42, 45, 47, 44, 43, 46, 40, 47, 40, -51, -26, -5, -34, -7,
    +
    305  -22, -22, -20, -17, -21, -22, -14, -18, -18, -19, -17, -17, -19, -16, -19, -17,
    +
    306  -16, -16, -16, -19, -13, -17, -16, -17, -16, -14, -17, -10, -13, -14, -16, -12,
    +
    307  -16, -7, -25, -64, -45, -41, -48, -42, -43, -58, 29, 50, 5, 29, 15, 22, 21, 20,
    +
    308  23, 21, 25, 22, 22, 24, 26, 24, 20, 20, 21, 21, 21, 22, 20, 18, 22, 21, 18, 20,
    +
    309  20, 21, 20, 18, 21, 20, 19, 23, 21, 21, 22, 22, 21, 18, 20, 22, 16, 23, 10, 29,
    +
    310  5, -73, -53, -36, 4, -6, -23, -9, -18, -8, -17, -11, -9, -16, -14, -12, -13,
    +
    311  -16, -12, -10, -14, -14, -13, -11, -11, -14, -13, -9, -12, -11, -11, -15, -9,
    +
    312  -13, -14, -12, -15, -11, -14, -12, -11, -13, -11, -16, -7, -18, -8, -25, -74,
    +
    313  -39, -44, -50, -40, -50, -44, -46, -46, -45, -49, -44, -43, -59, 27, 48, 2, 30,
    +
    314  17, 21, 28, 18, 19, 19, 19, 21, 21, 20, 22, 20, 18, 18, 20, 15, 19, 19, 15, 21,
    +
    315  18, 19, 20, 15, 17, 17, 17, 16, 17, 19, 16, 16, 18, 12, 15, 15, 13, 16, 12, 17,
    +
    316  16, 15, 59, 52, -62, -31, 0, -36, -13, -30, -20, -25, -24, -20, -22, -17, -24,
    +
    317  -21, -23, -22, -21, -25, -24, -23, -22, -23, -22, -22, -22, -17, -20, -21, -19,
    +
    318  -21, -22, -24, -21, -23, -23, -21, -23, -22, -24, -22, -20, -25, -20, -25, -23,
    +
    319  -21, -24, -21, -26, -12, -41, 49, 98, -4, 13, 18, 15, 20, 13, 19, 16, 13, 16,
    +
    320  20, 16, 19, 19, 16, 14, 11, 16, 14, 15, 18, 15, 19, 15, 13, 17, 15, 13, 13, 17,
    +
    321  15, 17, 17, 13, 15, 15, 15, 11, 12, 19, 12, 21, 12, 20, 63, 47, 43, 52, 43, 45,
    +
    322  44, 44, 45, 43, 46, 45, 42, 48, 41, 50, 37, 54, 23, -60, -23, -19, -26, -15,
    +
    323  -25, -21, -27, -28, -25, -28, -26, -27, -28, -22, -22, -23, -23, -21, -21, -21,
    +
    324  -21, -23, -18, -20, -19, -19, -21, -15, -16, -19, -17, -16, -16, -21, -18, -18,
    +
    325  -18, -18, -21, -6, -34, -47, -79, 18, 70, -11, 39, 16, 20, 23, 15, 25, 18, 28,
    +
    326  23, 28, 22, 24, 24, 25, 24, 22, 25, 22, 21, 22, 23, 22, 26, 25, 22, 25, 22, 20,
    +
    327  22, 23, 24, 27, 24, 18, 22, 21, 22, 23, 20, 18, 23, 23, 24, 21, 22, 27, 18, 30,
    +
    328  -23, -83, -43, -11, -8, -19, -18, -14, -19, -14, -20, -17, -17, -18, -18, -20,
    +
    329  -18, -18, -15, -15, -17, -20, -18, -15, -17, -16, -15, -16, -16, -17, -16, -18,
    +
    330  -17, -16, -18, -16, -15, -13, -13, -17, -13, -14, -18, -15, -14, -15, -19, -9,
    +
    331  -49, -61, -34, -51, -43, -47, -48, -38, -53, -45, -54, -36, -59, -17, 70, 7, 25,
    +
    332  38, 18, 30, 24, 26, 23, 25, 23, 26, 25, 22, 26, 26, 25, 22, 21, 26, 22, 21, 23,
    +
    333  18, 22, 22, 21, 24, 22, 22, 21, 18, 20, 23, 20, 16, 23, 14, 23, 18, 24, 20, 24,
    +
    334  20, 5, 48, -91, -38, 21, -54, -5, -35, -17, -27, -32, -20, -28, -23, -25, -22,
    +
    335  -24, -23, -25, -27, -28, -24, -24, -21, -23, -29, -26, -25, -22, -25, -24, -21,
    +
    336  -24, -25, -23, -24, -26, -24, -26, -26, -22, -23, -26, -25, -22, -25, -29, -23,
    +
    337  -26, -19, -31, -19, -27, -24, -19, -39, 84, 25, -12, 43, 1, 23, 16, 18, 19, 20,
    +
    338  23, 14, 18, 23, 16, 20, 18, 18, 19, 17, 19, 19, 20, 16, 21, 22, 17, 17, 19, 18,
    +
    339  19, 19, 17, 16, 16, 17, 16, 17, 20, 16, 21, 16, 18, 19, 14, 56, 52, 41, 53, 40,
    +
    340  45, 44, 41, 44, 43, 46, 44, 41, 44, 41, 49, 32, 53, -7, -80, -6, -28, -29, -17,
    +
    341  -31, -19, -28, -25, -29, -27, -26, -28, -27, -24, -27, -30, -25, -23, -25, -24,
    +
    342  -27, -26, -23, -24, -24, -22, -24, -26, -21, -24, -23, -22, -19, -23, -18, -20,
    +
    343  -15, -24, -21, -15, -27, 92, 43, -9, 41, 12, 29, 19, 26, 27, 23, 27, 24, 24, 23,
    +
    344  24, 23, 24, 29, 28, 26, 32, 28, 24, 28, 27, 25, 25, 26, 24, 24, 28, 23, 25, 29,
    +
    345  26, 28, 28, 26, 28, 24, 27, 27, 25, 27, 21, 28, 24, 27, 23, 24, 23, 19, 30, -74,
    +
    346  -75, -27, -52, -5, -16, -29, -18, -22, -22, -21, -21, -24, -19, -19, -21, -20,
    +
    347  -20, -21, -24, -22, -22, -21, -20, -21, -19, -21, -22, -18, -21, -23, -22, -20,
    +
    348  -17, -17, -21, -26, -19, -18, -20, -17, -20, -18, -18, -20, -16, -21, -14, -24,
    +
    349  -57, -42, -38, -44, -40, -46, -38, -43, -39, -45, -39, -41, -42, 67, 44, 7, 44,
    +
    350  16, 29, 26, 26, 32, 28, 30, 30, 31, 25, 26, 31, 28, 29, 28, 27, 26, 27, 29, 23,
    +
    351  23, 24, 24, 26, 25, 26, 26, 25, 27, 26, 24, 27, 21, 26, 21, 23, 24, 29, 17, 19,
    +
    352  25, -75, -66, -38, -36, -11, -36, -25, -28, -27, -26, -29, -27, -27, -24, -26,
    +
    353  -24, -27, -27, -31, -28, -29, -32, -25, -28, -27, -30, -28, -24, -30, -28, -29,
    +
    354  -23, -27, -31, -26, -32, -28, -28, -29, -30, -26, -24, -29, -25, -29, -32, -27,
    +
    355  -30, -27, -26, -29, -26, -37, -28, -39, 28, 63, -3, 34, 22, 21, 29, 22, 30, 21,
    +
    356  28, 27, 29, 27, 26, 26, 24, 24, 21, 21, 22, 19, 22, 19, 17, 22, 25, 22, 21, 24,
    +
    357  21, 20, 19, 20, 18, 21, 21, 18, 19, 20, 21, 23, 20, 26, 20, 27, 63, 43, 42, 47,
    +
    358  38, 48, 44, 43, 48, 45, 51, 40, 47, 41, 38, 47, -66, -45, -11, -42, -23, -39,
    +
    359  -30, -34, -30, -34, -31, -31, -35, -28, -32, -30, -30, -34, -31, -31, -34, -32,
    +
    360  -31, -31, -27, -27, -27, -26, -28, -29, -27, -25, -28, -29, -30, -24, -28, -27,
    +
    361  -28, -25, -23, -25, 59, 70, 44, 56, 51, 28, 12, 41, 23, 32, 33, 23, 32, 25, 29,
    +
    362  28, 30, 27, 30, 29, 26, 32, 30, 27, 28, 31, 30, 26, 26, 30, 27, 26, 32, 29, 28,
    +
    363  28, 28, 29, 29, 32, 29, 29, 30, 29, 27, 28, 32, 29, 35, 28, 23, 34, 18, 51, -39,
    +
    364  -84, -27, -55, -45, -35, -12, -30, -29, -22, -30, -22, -30, -22, -23, -21, -24,
    +
    365  -30, -22, -25, -27, -23, -27, -25, -26, -25, -26, -24, -23, -26, -23, -24, -25,
    +
    366  -24, -23, -26, -25, -21, -23, -22, -22, -24, -22, -24, -22, -20, -21, -24, -19,
    +
    367  -33, -56, -42, -43, -47, -41, -38, -47, -35, -49, -33, -49, -37, 87, 29, 31, 45,
    +
    368  23, 46, 29, 34, 31, 37, 29, 35, 34, 31, 31, 28, 35, 33, 32, 32, 30, 32, 36, 35,
    +
    369  30, 33, 31, 31, 32, 31, 31, 29, 30, 31, 27, 27, 27, 28, 31, 18, 36, 11, 45, -10,
    +
    370  -101, -28, -63, -51, -45, -66, -22, -27, -35, -29, -34, -30, -30, -30, -33, -32,
    +
    371  -28, -32, -32, -35, -28, -29, -30, -30, -33, -30, -31, -32, -32, -32, -32, -33,
    +
    372  -32, -30, -30, -32, -30, -32, -32, -33, -32, -29, -32, -31, -30, -30, -29, -31,
    +
    373  -31, -28, -29, -31, -31, -27, -34, -21, -44, 19, 63, 9, 37, 23, 30, 30, 21, 34,
    +
    374  26, 31, 29, 29, 26, 28, 28, 24, 28, 23, 27, 28, 25, 29, 25, 26, 25, 24, 28, 31,
    +
    375  30, 25, 27, 28, 27, 25, 25, 26, 25, 27, 29, 25, 24, 26, 24, 16, 32, 51, 41, 41,
    +
    376  43, 41, 38, 45, 39, 37, 41, 39, 38, 36, 34, 42, 37, -71, -61, -19, -51, -33,
    +
    377  -39, -39, -40, -39, -40, -37, -37, -39, -37, -38, -37, -36, -32, -33, -35, -37,
    +
    378  -37, -38, -35, -32, -35, -32, -35, -36, -28, -35, -35, -32, -32, -30, -29, -27,
    +
    379  -31, -27, -34, -21, -34, -18, 81, 63, 42, 51, 50, 55, 23, 32, 31, 32, 37, 30,
    +
    380  37, 33, 29, 37, 33, 31, 40, 36, 38, 37, 32, 35, 33, 32, 35, 38, 36, 34, 34, 33,
    +
    381  32, 34, 35, 31, 29, 33, 32, 35, 36, 31, 34, 29, 32, 35, 33, 30, 34, 32, 32, 22,
    +
    382  40, 31, -94, -58, -21, -66, -28, -21, -30, -33, -29, -32, -32, -27, -29, -31,
    +
    383  -26, -30, -30, -29, -32, -30, -30, -28, -27, -27, -28, -27, -25, -28, -29, -26,
    +
    384  -25, -27, -28, -28, -28, -29, -26, -23, -28, -28, -26, -26, -27, -24, -20, -31,
    +
    385  -18, -34, -58, -36, -45, -39, -35, -45, -37, -45, -32, -48, -32, -43, -46, 80,
    +
    386  58, 29, 45, 33, 52, 36, 39, 43, 40, 39, 43, 37, 36, 44, 36, 38, 39, 35, 39, 35,
    +
    387  36, 38, 34, 37, 33, 33, 37, 36, 34, 33, 34, 34, 32, 33, 34, 33, 30, 41, 24, 41,
    +
    388  25, 34, 28, -110, -52, -34, -68, -40, -63, -43, -30, -37, -38, -35, -37, -38,
    +
    389  -37, -33, -34, -34, -35, -36, -35, -37, -34, -33, -33, -33, -35, -32, -35, -32,
    +
    390  -30, -36, -37, -35, -35, -36, -33, -31, -32, -36, -33, -30, -34, -30, -34, -37,
    +
    391  -33, -38, -36, -33, -36, -32, -34, -33, -33, -35, -34, -33, -71, -11, 84, 27,
    +
    392  28, 37, 25, 35, 27, 37, 30, 29, 30, 30, 32, 34, 34, 28, 36, 32, 27, 32, 28, 26,
    +
    393  25, 28, 29, 27, 25, 29, 27, 26, 29, 27, 26, 29, 29, 26, 26, 27, 29, 27, 26, 28,
    +
    394  28, 49, 47, 38, 43, 40, 41, 38, 38, 38, 38, 39, 44, 41, 45, 38, 48, 10, -82,
    +
    395  -44, -34, -50, -31, -44, -43, -38, -41, -43, -39, -42, -36, -39, -46, -34, -39,
    +
    396  -39, -34, -38, -35, -40, -37, -37, -38, -38, -39, -37, -36, -33, -39, -40, -34,
    +
    397  -33, -36, -32, -34, -36, -28, -43, -21, -56, 20, 102, 24, 55, 51, 48, 42, 26,
    +
    398  47, 30, 38, 36, 34, 42, 39, 38, 37, 41, 37, 36, 40, 34, 38, 40, 35, 37, 36, 34,
    +
    399  36, 39, 36, 36, 38, 31, 32, 40, 39, 34, 35, 33, 35, 38, 36, 41, 33, 35, 38, 35,
    +
    400  38, 35, 36, 28, 43, 29, 49, -15, -91, -27, -47, -32, -29, -41, -22, -38, -31,
    +
    401  -31, -34, -30, -30, -34, -32, -32, -32, -31, -34, -33, -31, -30, -28, -32, -32,
    +
    402  -26, -28, -30, -34, -37, -32, -33, -30, -33, -31, -32, -36, -32, -34, -29, -34,
    +
    403  -33, -29, -33, -27, -42, -47, -44, -47, -40, -42, -35, -43, -40, -38, -41, -30,
    +
    404  -51, -26, -59, 14, 99, 21, 44, 51, 40, 46, 39, 43, 45, 42, 44, 48, 42, 45, 44,
    +
    405  40, 44, 40, 40, 41, 43, 43, 38, 42, 39, 40, 38, 34, 36, 39, 36, 39, 37, 30, 35,
    +
    406  40, 36, 38, 36, 34, 39, 26, 47, -56, -95, -23, -61, -56, -53, -56, -53, -53,
    +
    407  -32, -39, -43, -39, -38, -38, -39, -36, -43, -38, -38, -41, -41, -40, -36, -38,
    +
    408  -42, -44, -38, -38, -42, -39, -40, -40, -37, -36, -36, -40, -40, -38, -38, -36,
    +
    409  -37, -38, -40, -37, -38, -38, -38, -36, -34, -39, -36, -43, -41, -48, -65, -34,
    +
    410  -70, 7, 93, 13, 38, 44, 31, 38, 36, 42, 33, 38, 35, 40, 35, 36, 39, 33, 35, 37,
    +
    411  35, 33, 35, 37, 36, 34, 32, 35, 34, 33, 34, 34, 31, 31, 34, 33, 34, 31, 30, 31,
    +
    412  30, 31, 27, 30, 32, 28, 45, 46, 39, 42, 39, 40, 41, 41, 44, 40, 45, 35, 43, 36,
    +
    413  35, 57, -85, -73, -19, -66, -38, -53, -46, -46, -46, -44, -48, -45, -47, -46,
    +
    414  -47, -46, -45, -42, -39, -45, -45, -43, -46, -43, -42, -46, -43, -43, -42, -38,
    +
    415  -42, -42, -38, -42, -38, -35, -39, -35, -45, -22, -59, 36, 112, 17, 63, 51, 49,
    +
    416  49, 30, 48, 34, 44, 41, 43, 43, 41, 43, 45, 43, 41, 42, 41, 43, 43, 41, 41, 44,
    +
    417  42, 41, 41, 39, 37, 39, 38, 37, 41, 40, 39, 41, 38, 41, 41, 39, 40, 39, 39, 41,
    +
    418  42, 40, 44, 40, 40, 38, 38, 42, 32, 46, 24, 59, -16, -119, -10, -35, -52, -26,
    +
    419  -50, -37, -44, -40, -41, -45, -39, -37, -40, -41, -38, -37, -34, -39, -39, -39,
    +
    420  -40, -37, -38, -37, -35, -37, -36, -38, -36, -30, -34, -36, -35, -33, -34, -33,
    +
    421  -31, -36, -28, -30, -30, -38, -49, -39, -45, -39, -41, -45, -39, -47, -35, -45,
    +
    422  -33, -49, -32, -45, -43, 105, 51, 40, 62, 36, 62, 41, 52, 48, 51, 51, 47, 51,
    +
    423  47, 45, 48, 45, 43, 44, 41, 46, 50, 46, 45, 47, 46, 44, 40, 43, 45, 45, 48, 43,
    +
    424  44, 41, 43, 38, 33, 42, 27, 42, 32, 38, 33, 30, 44, -107, -77, -30, -68, -39,
    +
    425  -59, -51, -44, -38, -49, -42, -44, -50, -43, -48, -49, -47, -45, -43, -41, -46,
    +
    426  -44, -44, -39, -41, -44, -38, -47, -44, -40, -44, -39, -36, -39, -45, -44, -43,
    +
    427  -41, -41, -37, -40, -47, -42, -45, -41, -42, -40, -38, -40, -39, -48, -49, -46,
    +
    428  -43, -54, -30, -68, 11, 102, 17, 47, 39, 33, 50, 36, 46, 38, 42, 44, 42, 42, 42,
    +
    429  41, 38, 37, 44, 38, 38, 41, 36, 40, 41, 41, 39, 33, 38, 43, 40, 41, 41, 38, 32,
    +
    430  39, 41, 36, 38, 36, 37, 35, 32, 31, 39, 50, 41, 39, 45, 44, 41, 40, 39, 42, 33,
    +
    431  44, 38, 43, 36, 49, 32, -105, -59, -34, -60, -36, -56, -44, -54, -47, -45, -55,
    +
    432  -50, -47, -53, -46, -51, -52, -45, -55, -51, -47, -46, -47, -46, -45, -46, -47,
    +
    433  -48, -46, -45, -46, -43, -44, -43, -40, -51, -37, -42, -27, -45, -19, 100, 59,
    +
    434  36, 59, 50, 57, 41, 43, 45, 42, 47, 43, 46, 51, 44, 48, 45, 40, 44, 44, 49, 44,
    +
    435  37, 46, 44, 43, 47, 45, 42, 43, 44, 46, 41, 39, 50, 44, 41, 44, 42, 43, 40, 43,
    +
    436  45, 44, 43, 43, 43, 44, 45, 43, 45, 41, 39, 41, 46, 43, 52, 52, -58, -72, -25,
    +
    437  -55, -39, -42, -44, -42, -45, -40, -41, -43, -44, -43, -43, -39, -41, -37, -39,
    +
    438  -39, -39, -39, -38, -41, -39, -45, -40, -38, -42, -38, -41, -39, -39, -40, -39,
    +
    439  -37, -36, -39, -35, -34, -36, -34, -38, -40, -39, -39, -41, -43, -41, -43, -39,
    +
    440  -47, -35, -46, -34, -44, -35, -36, -56, 110, 66, 24, 74, 35, 60, 46, 52, 54, 49,
    +
    441  58, 50, 53, 52, 49, 53, 49, 49, 54, 48, 46, 50, 48, 49, 46, 45, 50, 49, 47, 49,
    +
    442  48, 47, 47, 48, 48, 45, 46, 47, 40, 38, 46, 34, 55, 34, 60, -2, -115, -31, -49,
    +
    443  -60, -37, -52, -44, -53, -41, -45, -50, -41, -45, -48, -47, -47, -45, -51, -46,
    +
    444  -42, -47, -45, -44, -46, -47, -51, -47, -46, -50, -46, -46, -49, -48, -46, -44,
    +
    445  -43, -45, -45, -45, -41, -42, -45, -46, -48, -46, -48, -44, -43, -53, -50, -50,
    +
    446  -51, -53, -38, -51, -49, -44, -53, 88, 69, 25, 65, 32, 52, 46, 47, 44, 42, 46,
    +
    447  42, 43, 41, 42, 46, 46, 40, 45, 43, 40, 40, 40, 40, 39, 41, 43, 42, 42, 43, 41,
    +
    448  44, 40, 39, 38, 39, 44, 42, 42, 42, 38, 39, 45, 47, 42, 39, 47, 43, 44, 42, 41,
    +
    449  43, 43, 41, 42, 43, 34, 50, -27, -109, -44, -47, -67, -48, -62, -59, -54, -51,
    +
    450  -59, -59, -53, -58, -54, -53, -53, -50, -54, -53, -54, -48, -49, -56, -50, -47,
    +
    451  -50, -51, -52, -53, -49, -47, -52, -48, -43, -50, -44, -47, -45, -48, -47, -44,
    +
    452  -44, 79, 74, 30, 62, 40, 58, 43, 45, 52, 45, 49, 51, 49, 46, 54, 53, 50, 52, 47,
    +
    453  49, 51, 51, 53, 47, 45, 46, 45, 49, 51, 51, 48, 46, 48, 46, 48, 46, 48, 49, 46,
    +
    454  51, 49, 49, 51, 49, 46, 50, 41, 43, 50, 44, 45, 37, 48, 39, 53, 40, 52, 28, -97,
    +
    455  -54, -39, -61, -40, -53, -45, -47, -42, -50, -52, -49, -49, -43, -48, -46, -42,
    +
    456  -48, -44, -47, -48, -46, -47, -41, -45, -42, -39, -45, -43, -41, -44, -43, -42,
    +
    457  -43, -41, -39, -45, -43, -40, -43, -43, -40, -43, -43, -39, -40, -41, -41, -42,
    +
    458  -45, -38, -46, -36, -40, -41, -40, -42, -32, -64, 90, 90, 23, 83, 39, 63, 54,
    +
    459  53, 58, 53, 61, 55, 60, 52, 57, 56, 49, 58, 54, 53, 55, 52, 56, 50, 52, 54, 49,
    +
    460  53, 51, 50, 50, 51, 51, 49, 50, 47, 47, 46, 45, 51, 37, 57, 32, 60, 12, -120,
    +
    461  -42, -41, -61, -44, -55, -49, -55, -51, -53, -51, -53, -49, -53, -51, -51, -51,
    +
    462  -50, -51, -50, -53, -51, -52, -52, -51, -53, -50, -50, -49, -52, -51, -49, -50,
    +
    463  -47, -49, -50, -49, -47, -48, -50, -48, -49, -48, -47, -48, -48, -47, -49, -47,
    +
    464  -47, -47, -49, -44, -49, -42, -47, -50, -35, -71, 60, 90, 28, 69, 40, 56, 50,
    +
    465  48, 54, 50, 51, 49, 51, 47, 52, 49, 47, 52, 51, 47, 49, 49, 48, 47, 44, 45, 47,
    +
    466  45, 44, 44, 43, 44, 44, 46, 44, 43, 44, 42, 45, 43, 44, 44, 42, 41, 40, 40,
    +
    467  };
    +
    468 
    +
    469 #endif /* CHUM9_H_ */
    +
    + + + diff --git a/doc/html/class_a_d_s_r-members.html b/doc/html/class_a_d_s_r-members.html index 716d06d61..52b8e0478 100644 --- a/doc/html/class_a_d_s_r-members.html +++ b/doc/html/class_a_d_s_r-members.html @@ -3,46 +3,44 @@ + Mozzi: Member List - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • +
    + +
    +
    +
    + +
    @@ -90,36 +104,38 @@
    -
  • ADSR< CONTROL_UPDATE_RATE > Member List
    -This is the complete list of members for ADSR< CONTROL_UPDATE_RATE >, including all inherited members. - - - - - - - - - - - - - - - -
    ADSR()ADSR< CONTROL_UPDATE_RATE > [inline]
    next()ADSR< CONTROL_UPDATE_RATE > [inline]
    noteOff()ADSR< CONTROL_UPDATE_RATE > [inline]
    noteOn()ADSR< CONTROL_UPDATE_RATE > [inline]
    setADLevels(byte attack, byte decay)ADSR< CONTROL_UPDATE_RATE > [inline]
    setAttackLevel(byte value)ADSR< CONTROL_UPDATE_RATE > [inline]
    setAttackTime(unsigned int msec)ADSR< CONTROL_UPDATE_RATE > [inline]
    setDecayLevel(byte value)ADSR< CONTROL_UPDATE_RATE > [inline]
    setDecayTime(unsigned int msec)ADSR< CONTROL_UPDATE_RATE > [inline]
    setReleaseLevel(byte value)ADSR< CONTROL_UPDATE_RATE > [inline]
    setReleaseTime(unsigned int msec)ADSR< CONTROL_UPDATE_RATE > [inline]
    setSustainLevel(byte value)ADSR< CONTROL_UPDATE_RATE > [inline]
    setSustainTime(unsigned int msec)ADSR< CONTROL_UPDATE_RATE > [inline]
    setTimes(unsigned int attack_ms, unsigned int decay_ms, unsigned int sustain_ms, unsigned int release_ms)ADSR< CONTROL_UPDATE_RATE > [inline]
    update()ADSR< CONTROL_UPDATE_RATE > [inline]
    - - - +

    This is the complete list of members for ADSR< CONTROL_UPDATE_RATE >, including all inherited members.

    + + + + + + + + + + + + + + + + +
    ADSR()ADSR< CONTROL_UPDATE_RATE >inline
    next()ADSR< CONTROL_UPDATE_RATE >inline
    noteOff()ADSR< CONTROL_UPDATE_RATE >inline
    noteOn()ADSR< CONTROL_UPDATE_RATE >inline
    setADLevels(byte attack, byte decay)ADSR< CONTROL_UPDATE_RATE >inline
    setAttackLevel(byte value)ADSR< CONTROL_UPDATE_RATE >inline
    setAttackTime(unsigned int msec)ADSR< CONTROL_UPDATE_RATE >inline
    setDecayLevel(byte value)ADSR< CONTROL_UPDATE_RATE >inline
    setDecayTime(unsigned int msec)ADSR< CONTROL_UPDATE_RATE >inline
    setReleaseLevel(byte value)ADSR< CONTROL_UPDATE_RATE >inline
    setReleaseTime(unsigned int msec)ADSR< CONTROL_UPDATE_RATE >inline
    setSustainLevel(byte value)ADSR< CONTROL_UPDATE_RATE >inline
    setSustainTime(unsigned int msec)ADSR< CONTROL_UPDATE_RATE >inline
    setTimes(unsigned int attack_ms, unsigned int decay_ms, unsigned int sustain_ms, unsigned int release_ms)ADSR< CONTROL_UPDATE_RATE >inline
    update()ADSR< CONTROL_UPDATE_RATE >inline
    + + + diff --git a/doc/html/class_a_d_s_r.html b/doc/html/class_a_d_s_r.html index 25575e024..69ce2ea31 100644 --- a/doc/html/class_a_d_s_r.html +++ b/doc/html/class_a_d_s_r.html @@ -3,46 +3,44 @@ + Mozzi: ADSR< CONTROL_UPDATE_RATE > Class Template Reference - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • +
    + +
    +
    +
    + +
    @@ -90,87 +104,104 @@
    -
  • ADSR< CONTROL_UPDATE_RATE > Class Template Reference
    -

    A simple ADSR envelope generator. +

    A simple ADSR envelope generator. More...

    - -

    List of all members.

    - - - + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + +

    -Classes

    struct  phase

    +

    Public Member Functions

     ADSR ()
     Constructor.
     
    void update ()
     Updates the internal controls of the ADSR.
     Updates the internal controls of the ADSR. More...
     
    unsigned int next ()
     Advances one audio step along the ADSR and returns the level.
     Advances one audio step along the ADSR and returns the level. More...
     
    void noteOn ()
     Start the attack phase of the ADSR.
     Start the attack phase of the ADSR. More...
     
    void noteOff ()
     Start the release phase of the ADSR.
     Start the release phase of the ADSR. More...
     
    void setAttackLevel (byte value)
     Set the attack level of the ADSR.
     Set the attack level of the ADSR. More...
     
    void setDecayLevel (byte value)
     Set the decay level of the ADSR.
     Set the decay level of the ADSR. More...
     
    void setSustainLevel (byte value)
     Set the sustain level of the ADSR.
     Set the sustain level of the ADSR. More...
     
    void setReleaseLevel (byte value)
     Set the release level of the ADSR.
     Set the release level of the ADSR. More...
     
    void setADLevels (byte attack, byte decay)
     Set the attack and decay levels of the ADSR.
     Set the attack and decay levels of the ADSR. More...
     
    void setAttackTime (unsigned int msec)
     Set the attack time of the ADSR in milliseconds.
     Set the attack time of the ADSR in milliseconds. More...
     
    void setDecayTime (unsigned int msec)
     Set the decay time of the ADSR in milliseconds.
     Set the decay time of the ADSR in milliseconds. More...
     
    void setSustainTime (unsigned int msec)
     Set the sustain time of the ADSR in milliseconds.
     Set the sustain time of the ADSR in milliseconds. More...
     
    void setReleaseTime (unsigned int msec)
     Set the release time of the ADSR in milliseconds.
     Set the release time of the ADSR in milliseconds. More...
     
    void setTimes (unsigned int attack_ms, unsigned int decay_ms, unsigned int sustain_ms, unsigned int release_ms)
     Set the attack, decay and release times of the ADSR in milliseconds.
     Set the attack, decay and release times of the ADSR in milliseconds. More...
     
    -

    Detailed Description

    +

    Detailed Description

    template<unsigned int CONTROL_UPDATE_RATE>
    class ADSR< CONTROL_UPDATE_RATE >

    -

    A simple ADSR envelope generator.

    +

    A simple ADSR envelope generator.

    -

    Definition at line 42 of file ADSR.h.

    -

    Member Function Documentation

    +

    Definition at line 43 of file ADSR.h.

    +

    Member Function Documentation

    template<unsigned int CONTROL_UPDATE_RATE>
    + + + + + +
    - + - - + +
    unsigned int ADSR< CONTROL_UPDATE_RATE >::next unsigned int ADSR< CONTROL_UPDATE_RATE >::next () [inline])
    - -
    +
    +inline
    +
    -

    Advances one audio step along the ADSR and returns the level.

    -

    Call this in updateAudio().

    -
    Returns:
    the next value, as an unsigned int.
    +

    Advances one audio step along the ADSR and returns the level.

    +

    Call this in updateAudio().

    +
    Returns
    the next value, as an unsigned int.
    -

    Definition at line 153 of file ADSR.h.

    +

    Definition at line 154 of file ADSR.h.

    @@ -179,20 +210,27 @@
    template<unsigned int CONTROL_UPDATE_RATE>
    + + + + + +
    - + - - + +
    void ADSR< CONTROL_UPDATE_RATE >::noteOff void ADSR< CONTROL_UPDATE_RATE >::noteOff () [inline])
    - -
    +
    +inline
    +
    -

    Start the release phase of the ADSR.

    +

    Start the release phase of the ADSR.

    -

    Definition at line 173 of file ADSR.h.

    +

    Definition at line 174 of file ADSR.h.

    @@ -201,21 +239,28 @@
    template<unsigned int CONTROL_UPDATE_RATE>
    + + + + + +
    - + - - + +
    void ADSR< CONTROL_UPDATE_RATE >::noteOn void ADSR< CONTROL_UPDATE_RATE >::noteOn () [inline])
    - -
    +
    +inline
    +
    -

    Start the attack phase of the ADSR.

    -

    THis will restart the ADSR no matter what phase it is up to.

    +

    Start the attack phase of the ADSR.

    +

    THis will restart the ADSR no matter what phase it is up to.

    -

    Definition at line 163 of file ADSR.h.

    +

    Definition at line 164 of file ADSR.h.

    @@ -224,9 +269,12 @@
    template<unsigned int CONTROL_UPDATE_RATE>
    + + + + + +
    - + @@ -240,15 +288,19 @@ - +
    void ADSR< CONTROL_UPDATE_RATE >::setADLevels void ADSR< CONTROL_UPDATE_RATE >::setADLevels ( byte  attack,
    ) [inline]
    - -
    +
    +inline
    +
    -

    Set the attack and decay levels of the ADSR.

    -

    This assumes a conventional ADSR where the sustain continues at the same level as the decay, till the release ramps to 0.

    -
    Parameters:
    +

    Set the attack and decay levels of the ADSR.

    +

    This assumes a conventional ADSR where the sustain continues at the same level as the decay, till the release ramps to 0.

    +
    Parameters
    @@ -256,7 +308,7 @@ -

    Definition at line 230 of file ADSR.h.

    +

    Definition at line 231 of file ADSR.h.

    @@ -265,27 +317,34 @@
    template<unsigned int CONTROL_UPDATE_RATE>
    +
    attackthe new attack level.
    valuethe new sustain level.
    + + + + +
    - + - - + +
    void ADSR< CONTROL_UPDATE_RATE >::setAttackLevel void ADSR< CONTROL_UPDATE_RATE >::setAttackLevel ( byte value) [inline]value)
    - -
    +
    +inline
    +
    -

    Set the attack level of the ADSR.

    -
    Parameters:
    +

    Set the attack level of the ADSR.

    +
    Parameters
    valuethe attack level.
    -

    Definition at line 185 of file ADSR.h.

    +

    Definition at line 186 of file ADSR.h.

    @@ -294,28 +353,35 @@
    template<unsigned int CONTROL_UPDATE_RATE>
    + + + + + +
    - + - - + +
    void ADSR< CONTROL_UPDATE_RATE >::setAttackTime void ADSR< CONTROL_UPDATE_RATE >::setAttackTime ( unsigned int msec) [inline]msec)
    - -
    +
    +inline
    +
    -

    Set the attack time of the ADSR in milliseconds.

    +

    Set the attack time of the ADSR in milliseconds.

    The actual time taken will be resolved within the resolution of CONTROL_RATE.

    -
    Parameters:
    +
    Parameters
    valuethe unsigned int attack time in milliseconds.
    -

    Definition at line 249 of file ADSR.h.

    +

    Definition at line 250 of file ADSR.h.

    @@ -324,27 +390,34 @@
    template<unsigned int CONTROL_UPDATE_RATE>
    + + + + + +
    - + - - + +
    void ADSR< CONTROL_UPDATE_RATE >::setDecayLevel void ADSR< CONTROL_UPDATE_RATE >::setDecayLevel ( byte value) [inline]value)
    - -
    +
    +inline
    +
    -

    Set the decay level of the ADSR.

    -
    Parameters:
    +

    Set the decay level of the ADSR.

    +
    Parameters
    valuethe decay level.
    -

    Definition at line 196 of file ADSR.h.

    +

    Definition at line 197 of file ADSR.h.

    @@ -353,28 +426,35 @@
    template<unsigned int CONTROL_UPDATE_RATE>
    + + + + + +
    - + - - + +
    void ADSR< CONTROL_UPDATE_RATE >::setDecayTime void ADSR< CONTROL_UPDATE_RATE >::setDecayTime ( unsigned int msec) [inline]msec)
    - -
    +
    +inline
    +
    -

    Set the decay time of the ADSR in milliseconds.

    +

    Set the decay time of the ADSR in milliseconds.

    The actual time taken will be resolved within the resolution of CONTROL_RATE.

    -
    Parameters:
    +
    Parameters
    valuethe unsigned int decay time in milliseconds.
    -

    Definition at line 260 of file ADSR.h.

    +

    Definition at line 261 of file ADSR.h.

    @@ -383,28 +463,35 @@
    template<unsigned int CONTROL_UPDATE_RATE>
    + + + + + +
    - + - - + +
    void ADSR< CONTROL_UPDATE_RATE >::setReleaseLevel void ADSR< CONTROL_UPDATE_RATE >::setReleaseLevel ( byte value) [inline]value)
    - -
    +
    +inline
    +
    -

    Set the release level of the ADSR.

    +

    Set the release level of the ADSR.

    Normally you'd make this 0, but you have the option of some other value.

    -
    Parameters:
    +
    Parameters
    valuethe release level (normally 0).
    -

    Definition at line 217 of file ADSR.h.

    +

    Definition at line 218 of file ADSR.h.

    @@ -413,28 +500,35 @@
    template<unsigned int CONTROL_UPDATE_RATE>
    + + + + + +
    - + - - + +
    void ADSR< CONTROL_UPDATE_RATE >::setReleaseTime void ADSR< CONTROL_UPDATE_RATE >::setReleaseTime ( unsigned int msec) [inline]msec)
    - -
    +
    +inline
    +
    -

    Set the release time of the ADSR in milliseconds.

    +

    Set the release time of the ADSR in milliseconds.

    The actual time taken will be resolved within the resolution of CONTROL_RATE.

    -
    Parameters:
    +
    Parameters
    valuethe unsigned int release time in milliseconds.
    -

    Definition at line 284 of file ADSR.h.

    +

    Definition at line 285 of file ADSR.h.

    @@ -443,27 +537,34 @@
    template<unsigned int CONTROL_UPDATE_RATE>
    + + + + + +
    - + - - + +
    void ADSR< CONTROL_UPDATE_RATE >::setSustainLevel void ADSR< CONTROL_UPDATE_RATE >::setSustainLevel ( byte value) [inline]value)
    - -
    +
    +inline
    +
    -

    Set the sustain level of the ADSR.

    -
    Parameters:
    +

    Set the sustain level of the ADSR.

    +
    Parameters
    valuethe sustain level. Usually the same as the decay level, for a steady sustained note.
    -

    Definition at line 207 of file ADSR.h.

    +

    Definition at line 208 of file ADSR.h.

    @@ -472,28 +573,35 @@
    template<unsigned int CONTROL_UPDATE_RATE>
    + + + + + +
    - + - - + +
    void ADSR< CONTROL_UPDATE_RATE >::setSustainTime void ADSR< CONTROL_UPDATE_RATE >::setSustainTime ( unsigned int msec) [inline]msec)
    - -
    +
    +inline
    +
    -

    Set the sustain time of the ADSR in milliseconds.

    -

    The actual time taken will be resolved within the resolution of CONTROL_RATE. The sustain phase will finish if the ADSR recieves a noteOff().

    -
    Parameters:
    +

    Set the sustain time of the ADSR in milliseconds.

    +

    The actual time taken will be resolved within the resolution of CONTROL_RATE. The sustain phase will finish if the ADSR recieves a noteOff().

    +
    Parameters
    valuethe unsigned int sustain time in milliseconds.
    -

    Definition at line 272 of file ADSR.h.

    +

    Definition at line 273 of file ADSR.h.

    @@ -502,9 +610,12 @@
    template<unsigned int CONTROL_UPDATE_RATE>
    + + + + + +
    - + @@ -530,15 +641,19 @@ - +
    void ADSR< CONTROL_UPDATE_RATE >::setTimes void ADSR< CONTROL_UPDATE_RATE >::setTimes ( unsigned int  attack_ms,
    ) [inline]
    - -
    +
    +inline
    +
    -

    Set the attack, decay and release times of the ADSR in milliseconds.

    +

    Set the attack, decay and release times of the ADSR in milliseconds.

    The actual times will be resolved within the resolution of CONTROL_RATE.

    -
    Parameters:
    +
    Parameters
    @@ -548,7 +663,7 @@ -

    Definition at line 299 of file ADSR.h.

    +

    Definition at line 300 of file ADSR.h.

    @@ -557,21 +672,28 @@
    template<unsigned int CONTROL_UPDATE_RATE>
    +
    attack_msthe new attack time in milliseconds.
    decay_msthe new decay time in milliseconds.
    + + + + +
    - + - - + +
    void ADSR< CONTROL_UPDATE_RATE >::update void ADSR< CONTROL_UPDATE_RATE >::update () [inline])
    - -
    +
    +inline
    +
    -

    Updates the internal controls of the ADSR.

    -

    Call this in updateControl().

    +

    Updates the internal controls of the ADSR.

    +

    Call this in updateControl().

    -

    Definition at line 125 of file ADSR.h.

    +

    Definition at line 126 of file ADSR.h.

    @@ -579,13 +701,15 @@
  • ADSR.h
  • - - - - + + + diff --git a/doc/html/class_a_d_s_r.js b/doc/html/class_a_d_s_r.js new file mode 100644 index 000000000..5f3626e00 --- /dev/null +++ b/doc/html/class_a_d_s_r.js @@ -0,0 +1,18 @@ +var class_a_d_s_r = +[ + [ "ADSR", "class_a_d_s_r.html#ab22c9416a8073d7674ea890a75f97b15", null ], + [ "next", "class_a_d_s_r.html#aef63b6554045bd61f77d028ad76f1730", null ], + [ "noteOff", "class_a_d_s_r.html#af6cac55fb97760fffc885507f5d969d2", null ], + [ "noteOn", "class_a_d_s_r.html#a52091df7bf95f9e34fb51d9707547092", null ], + [ "setADLevels", "class_a_d_s_r.html#abfb4aaa169920beadb67570e0360f23f", null ], + [ "setAttackLevel", "class_a_d_s_r.html#aa7fe43c0a91006b5f72013bb5b25fcbb", null ], + [ "setAttackTime", "class_a_d_s_r.html#ac8e63a0de672b4a91e2123bead6a465b", null ], + [ "setDecayLevel", "class_a_d_s_r.html#a152312b577df53f02cf92cf4d3b3a4e2", null ], + [ "setDecayTime", "class_a_d_s_r.html#a1ef68b47f7cdafeab75f0142834e3473", null ], + [ "setReleaseLevel", "class_a_d_s_r.html#aa577c32f8758e1ecda44b4410c1c103d", null ], + [ "setReleaseTime", "class_a_d_s_r.html#ab76efe021a258b65da9bc5ec85da2f34", null ], + [ "setSustainLevel", "class_a_d_s_r.html#a9f81971a62aa3abb66245b7ef25ae3c2", null ], + [ "setSustainTime", "class_a_d_s_r.html#a5c79838b081aba5a396aa9ea26394051", null ], + [ "setTimes", "class_a_d_s_r.html#af656b88fdfddd521c3a30fe9b06b524b", null ], + [ "update", "class_a_d_s_r.html#a5ffeb0baf5e308515ca36cb7af802c31", null ] +]; \ No newline at end of file diff --git a/doc/html/class_audio_delay-members.html b/doc/html/class_audio_delay-members.html index 9aaf908ec..c85d3c1d0 100644 --- a/doc/html/class_audio_delay-members.html +++ b/doc/html/class_audio_delay-members.html @@ -3,46 +3,44 @@ + Mozzi: Member List - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • +
    + +
    +
    +
    + +
    @@ -90,27 +104,29 @@
    -
  • AudioDelay< NUM_BUFFER_SAMPLES, T > Member List
    -This is the complete list of members for AudioDelay< NUM_BUFFER_SAMPLES, T >, including all inherited members. - - - - - - -
    AudioDelay()AudioDelay< NUM_BUFFER_SAMPLES, T > [inline]
    AudioDelay(unsigned int delaytime_cells)AudioDelay< NUM_BUFFER_SAMPLES, T > [inline]
    next(T in_value, unsigned int delaytime_cells)AudioDelay< NUM_BUFFER_SAMPLES, T > [inline]
    next(T in_value)AudioDelay< NUM_BUFFER_SAMPLES, T > [inline]
    read(unsigned int delaytime_cells)AudioDelay< NUM_BUFFER_SAMPLES, T > [inline]
    set(unsigned int delaytime_cells) (defined in AudioDelay< NUM_BUFFER_SAMPLES, T >)AudioDelay< NUM_BUFFER_SAMPLES, T > [inline]
    - - - +

    This is the complete list of members for AudioDelay< NUM_BUFFER_SAMPLES, T >, including all inherited members.

    + + + + + + + +
    AudioDelay()AudioDelay< NUM_BUFFER_SAMPLES, T >inline
    AudioDelay(unsigned int delaytime_cells)AudioDelay< NUM_BUFFER_SAMPLES, T >inline
    next(T in_value, unsigned int delaytime_cells)AudioDelay< NUM_BUFFER_SAMPLES, T >inline
    next(T in_value)AudioDelay< NUM_BUFFER_SAMPLES, T >inline
    read(unsigned int delaytime_cells)AudioDelay< NUM_BUFFER_SAMPLES, T >inline
    set(unsigned int delaytime_cells)AudioDelay< NUM_BUFFER_SAMPLES, T >inline
    + + + diff --git a/doc/html/class_audio_delay.html b/doc/html/class_audio_delay.html index 33e5416c3..b478f8e55 100644 --- a/doc/html/class_audio_delay.html +++ b/doc/html/class_audio_delay.html @@ -3,46 +3,44 @@ + Mozzi: AudioDelay< NUM_BUFFER_SAMPLES, T > Class Template Reference - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • +
    + +
    +
    +
    + +
    @@ -90,10 +104,10 @@
    -
  • AudioDelay< NUM_BUFFER_SAMPLES, T > Class Template Reference
    @@ -102,58 +116,72 @@

    Audio delay line for comb filter, flange, chorus and short echo effects. More...

    -

    List of all members.

    +

    Inherited by ControlDelay< NUM_BUFFER_SAMPLES, T >.

    - + - + + - + + - - + + + + + - + +

    +

    Public Member Functions

     AudioDelay ()
     Constructor.
     
     AudioDelay (unsigned int delaytime_cells)
     Constructor.
     Constructor. More...
     
    next (T in_value, unsigned int delaytime_cells)
     Input a value to the delay and retrieve the signal in the delay line at the position delaytime_cells.
     Input a value to the delay and retrieve the signal in the delay line at the position delaytime_cells. More...
     
    next (T in_value)
     Input a value to the delay and retrieve the signal in the delay line at the position delaytime_cells.
    -void set (unsigned int delaytime_cells)
     Input a value to the delay and retrieve the signal in the delay line at the position delaytime_cells. More...
     
    void set (unsigned int delaytime_cells)
     Set the delay time, measured in cells. More...
     
    read (unsigned int delaytime_cells)
     Retrieve the signal in the delay line at the position delaytime_cells.
     Retrieve the signal in the delay line at the position delaytime_cells. More...
     
    -

    Detailed Description

    +

    Detailed Description

    template<unsigned int NUM_BUFFER_SAMPLES, class T = char>
    class AudioDelay< NUM_BUFFER_SAMPLES, T >

    Audio delay line for comb filter, flange, chorus and short echo effects.

    -
    Template Parameters:
    - - +
    Template Parameters
    +
    NUM_BUFFER_SAMPLESis the length of the delay buffer in samples. This should be a power of two. The largest delay you'll fit in an atmega328 will be 512 cells, which at 16384 Hz sample rate is 31 milliseconds. More of a flanger or a doubler than an echo. THe amount of memory available for delays on other chips will vary. AudioDelay() doesn't have feedback. If you want feedback, use AudioDelayFeedback().
    +
    NUM_BUFFER_SAMPLESis the length of the delay buffer in samples. This should be a power of two. The largest delay you'll fit in an atmega328 will be 512 cells, which at 16384 Hz sample rate is 31 milliseconds. More of a flanger or a doubler than an echo. THe amount of memory available for delays on other chips will vary. AudioDelay() doesn't have feedback. If you want feedback, use AudioDelayFeedback().
    thetype of numbers to use for the signal in the delay. The default is char, but int could be useful when adding manual feedback. When using int, the input should be limited to 15 bits width, ie. -16384 to 16383.
    - +
    Examples:
    _09_delays/AudioDelay/AudioDelay.ino.
    +

    Definition at line 38 of file AudioDelay.h.

    -

    Constructor & Destructor Documentation

    +

    Constructor & Destructor Documentation

    template<unsigned int NUM_BUFFER_SAMPLES, class T = char>
    + + + + + +
    - - + +
    AudioDelay< NUM_BUFFER_SAMPLES, T >::AudioDelay ( unsigned int delaytime_cells) [inline]delaytime_cells)
    - -
    +
    +inline
    +

    Constructor.

    -
    Parameters:
    +
    Parameters
    delaytime expressed in cells. For example, 128 cells delay at AUDIO_RATE would produce a time delay of 128/16384 = 0.0078125 s = 7.8 ms Put another way, num_cells = delay_seconds * AUDIO_RATE.
    @@ -164,15 +192,18 @@
    -

    Member Function Documentation

    +

    Member Function Documentation

    template<unsigned int NUM_BUFFER_SAMPLES, class T = char>
    + + + + + +
    - + @@ -186,14 +217,18 @@ - +
    T AudioDelay< NUM_BUFFER_SAMPLES, T >::next T AudioDelay< NUM_BUFFER_SAMPLES, T >::next ( in_value,
    ) [inline]
    - -
    +
    +inline
    +

    Input a value to the delay and retrieve the signal in the delay line at the position delaytime_cells.

    -
    Parameters:
    +
    Parameters
    @@ -210,20 +245,27 @@
    template<unsigned int NUM_BUFFER_SAMPLES, class T = char>
    +
    in_valuethe signal input.
    delaytime_cellssets the delay time in terms of cells in the delay buffer.
    + + + + +
    - + - - + +
    T AudioDelay< NUM_BUFFER_SAMPLES, T >::next T AudioDelay< NUM_BUFFER_SAMPLES, T >::next ( in_value) [inline]in_value)
    - -
    +
    +inline
    +

    Input a value to the delay and retrieve the signal in the delay line at the position delaytime_cells.

    -
    Parameters:
    +
    Parameters
    in_valuethe signal input.
    @@ -239,28 +281,71 @@
    template<unsigned int NUM_BUFFER_SAMPLES, class T = char>
    + + + + + +
    - + - - + +
    T AudioDelay< NUM_BUFFER_SAMPLES, T >::read T AudioDelay< NUM_BUFFER_SAMPLES, T >::read ( unsigned int delaytime_cells) [inline]delaytime_cells)
    - -
    +
    +inline
    +

    Retrieve the signal in the delay line at the position delaytime_cells.

    It doesn't change the stored internal value of _delaytime_cells.

    -
    Parameters:
    +
    Parameters
    delaytime_cellsindicates the delay time in terms of cells in the delay buffer.
    -

    Definition at line 112 of file AudioDelay.h.

    +

    Definition at line 115 of file AudioDelay.h.

    + +
    +
    + +
    +
    +
    +template<unsigned int NUM_BUFFER_SAMPLES, class T = char>
    + + + + + +
    + + + + + + + + +
    void AudioDelay< NUM_BUFFER_SAMPLES, T >::set (unsigned int delaytime_cells)
    +
    +inline
    +
    + +

    Set the delay time, measured in cells.

    +
    Parameters
    + + +
    delaytime_cellshow many cells to delay the input signal by.
    +
    +
    + +

    Definition at line 105 of file AudioDelay.h.

    @@ -268,13 +353,15 @@
  • AudioDelay.h
  • - - - - + + + diff --git a/doc/html/class_audio_delay.js b/doc/html/class_audio_delay.js new file mode 100644 index 000000000..2b6961974 --- /dev/null +++ b/doc/html/class_audio_delay.js @@ -0,0 +1,9 @@ +var class_audio_delay = +[ + [ "AudioDelay", "class_audio_delay.html#a688f69088f96bf3976a8555d3026365f", null ], + [ "AudioDelay", "class_audio_delay.html#a79be253fcb5709624c8fb708e54f069f", null ], + [ "next", "class_audio_delay.html#a19258636609d83a2bab11849e17b5294", null ], + [ "next", "class_audio_delay.html#a41c09b5cc9e817d8eaf111b0f74c9a0b", null ], + [ "read", "class_audio_delay.html#a26b409fbfc322ae527ba23680c56e3a9", null ], + [ "set", "class_audio_delay.html#a7bd0a07f7803afda1a71b50e3f66827b", null ] +]; \ No newline at end of file diff --git a/doc/html/class_audio_delay.png b/doc/html/class_audio_delay.png new file mode 100644 index 0000000000000000000000000000000000000000..686c93b0b4f5d845c6d832d6e72939ff496cb7e3 GIT binary patch literal 1042 zcmeAS@N?(olHy`uVBq!ia0y~yU=#+j12~vLB4-l+04a$8pAgso|NjG-FP?s_NVc zWzjHZ>Z#kRFt z@_X*?-qp`vS5^PC_pU*W+x4Zr(boJ5PI|YhqT(?jhX+-P8$j*e-zH!FnhnG zY4x|mUV9D}KhApe(BOyRWa}4iSKTwbz3xig57w4#KdYpLyT4niIb`@7b*{es=iTKa zS1axRT-Mo{zDYVRE$G>bjnm$9PTnEhEW(ymePl^|<^6u2KLS?{3ac%y5_&tiN=RsP zve8O)TTy-eVzq-04JX@P3)=H)WfsHlYghlhEH=_AQM|YNd0Iw1U;17>MRxO}hl?-C z2%LUnZZMNK+s1!}&5Dhmi<63dUV8=?%;~&3+41IQ+5HndC!bqBL+0w_inTrO=T4aO z@t)+|-2F>td0l;yRdYB@sOU=en)qgAwS_{h5^dYX1)__^ng0ZZ|75IKJdfkEk=pV* zIlIfNp2hQ7OFs+s`FBE-v0}yRBK8OW1B@68RD~JBA=LHWlbdwBwdxq`oZ}fZ7i>#m zO8E85OQT^ckg-eAQ^O(WB+G(OA!IF3om8M|1tyoqUhltfeb>6z?j50%f*wxxQ8_sk z35(9q+1{@*Q|k2E-+!aFd`sSCzu*1n^4?v)we#P!Jv82>ch|^M`qAJ2m)_g{tp?9zyR;;ox)l&O*Nk6SVr1I{F zLhJm5N3U&C9<@CaXbDWlOakHtHGa3iakq&#mheC#%i%H6V5wFNm%O PW?%+SS3j3^P6
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    @@ -73,6 +73,7 @@ @@ -116,7 +117,7 @@ diff --git a/doc/html/class_audio_delay_feedback.html b/doc/html/class_audio_delay_feedback.html index 0db070ee2..10729fbb3 100644 --- a/doc/html/class_audio_delay_feedback.html +++ b/doc/html/class_audio_delay_feedback.html @@ -30,7 +30,7 @@
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    @@ -73,6 +73,7 @@ @@ -610,7 +611,7 @@ diff --git a/doc/html/class_auto_range-members.html b/doc/html/class_auto_range-members.html new file mode 100644 index 000000000..08229bfbf --- /dev/null +++ b/doc/html/class_auto_range-members.html @@ -0,0 +1,129 @@ + + + + + + +Mozzi: Member List + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    Mozzi +  alpha 0.01.2c +
    +
    sound synthesis library for Arduino
    +
    +
    + + + + + +
    +
    + +
    +
    +
    + +
    + + + + +
    + +
    + +
    +
    +
    AutoRange< T > Member List
    +
    +
    + +

    This is the complete list of members for AutoRange< T >, including all inherited members.

    + + + + +
    AutoRange(T min_expected, T max_expected)AutoRange< T >inline
    else (defined in AutoRange< T >)AutoRange< T >
    next(T n)AutoRange< T >inline
    +
    + + + + diff --git a/doc/html/class_auto_range.html b/doc/html/class_auto_range.html new file mode 100644 index 000000000..2cb22103d --- /dev/null +++ b/doc/html/class_auto_range.html @@ -0,0 +1,264 @@ + + + + + + +Mozzi: AutoRange< T > Class Template Reference + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    Mozzi +  alpha 0.01.2c +
    +
    sound synthesis library for Arduino
    +
    +
    + + + + + +
    +
    + +
    +
    +
    + +
    + + + + +
    + +
    + +
    + +
    +
    AutoRange< T > Class Template Reference
    +
    +
    + +

    Keeps a running calculation of the range of the input values it receives. + More...

    + + + + + + + + +

    +Public Member Functions

     AutoRange (T min_expected, T max_expected)
     Constructor. More...
     
    next (T n)
     Updates and returns the current range. More...
     
    + + + +

    +Public Attributes

     else
     
    +

    Detailed Description

    +

    template<class T>
    +class AutoRange< T >

    + +

    Keeps a running calculation of the range of the input values it receives.

    + +

    Definition at line 31 of file AutoRange.h.

    +

    Constructor & Destructor Documentation

    + +
    +
    +
    +template<class T >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    AutoRange< T >::AutoRange (min_expected,
    max_expected 
    )
    +
    +inline
    +
    + +

    Constructor.

    +
    Template Parameters
    + + +
    Tthe type of numbers to to use, eg. int, unsigned int, float etc.
    +
    +
    + +

    Definition at line 38 of file AutoRange.h.

    + +
    +
    +

    Member Function Documentation

    + +
    +
    +
    +template<class T >
    + + + + + +
    + + + + + + + + +
    T AutoRange< T >::next (n)
    +
    +inline
    +
    + +

    Updates and returns the current range.

    +
    Parameters
    + + +
    nthe next value to include in the range.
    +
    +
    + +

    Definition at line 45 of file AutoRange.h.

    + +
    +
    +

    Member Data Documentation

    + +
    +
    +
    +template<class T >
    + + + + +
    AutoRange< T >::else
    +
    +Initial value:
    {
    +
    if (n< range_min) {
    +
    range_min = n;
    +
    range = range_max - range_min;
    +
    }
    +
    }
    +
    return range
    +
    +

    Definition at line 50 of file AutoRange.h.

    + +
    +
    +
    The documentation for this class was generated from the following file: +
    +
    + + + + diff --git a/doc/html/class_auto_range.js b/doc/html/class_auto_range.js new file mode 100644 index 000000000..7d4f6e740 --- /dev/null +++ b/doc/html/class_auto_range.js @@ -0,0 +1,6 @@ +var class_auto_range = +[ + [ "AutoRange", "class_auto_range.html#a2f0638f4d8e2937080b67fc0614c8d6d", null ], + [ "next", "class_auto_range.html#aaa997faf0bedd3d7464b8ca547340f6e", null ], + [ "else", "class_auto_range.html#a36c0d43eee212d99c0b8aa25d9d534d4", null ] +]; \ No newline at end of file diff --git a/doc/html/class_control_delay-members.html b/doc/html/class_control_delay-members.html new file mode 100644 index 000000000..9a7bdae27 --- /dev/null +++ b/doc/html/class_control_delay-members.html @@ -0,0 +1,132 @@ + + + + + + +Mozzi: Member List + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    Mozzi +  alpha 0.01.2c +
    +
    sound synthesis library for Arduino
    +
    +
    + + + + + +
    +
    + +
    +
    +
    + +
    + + + + +
    + +
    + +
    +
    +
    ControlDelay< NUM_BUFFER_SAMPLES, T > Member List
    +
    +
    + +

    This is the complete list of members for ControlDelay< NUM_BUFFER_SAMPLES, T >, including all inherited members.

    + + + + + + + +
    AudioDelay()AudioDelay< NUM_BUFFER_SAMPLES, T >inline
    AudioDelay(unsigned int delaytime_cells)AudioDelay< NUM_BUFFER_SAMPLES, T >inline
    next(T in_value, unsigned int delaytime_cells)AudioDelay< NUM_BUFFER_SAMPLES, T >inline
    next(T in_value)AudioDelay< NUM_BUFFER_SAMPLES, T >inline
    read(unsigned int delaytime_cells)AudioDelay< NUM_BUFFER_SAMPLES, T >inline
    set(unsigned int delaytime_cells)AudioDelay< NUM_BUFFER_SAMPLES, T >inline
    +
    + + + + diff --git a/doc/html/class_control_delay.html b/doc/html/class_control_delay.html new file mode 100644 index 000000000..b8349258d --- /dev/null +++ b/doc/html/class_control_delay.html @@ -0,0 +1,174 @@ + + + + + + +Mozzi: ControlDelay< NUM_BUFFER_SAMPLES, T > Class Template Reference + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    Mozzi +  alpha 0.01.2c +
    +
    sound synthesis library for Arduino
    +
    +
    + + + + + +
    +
    + +
    +
    +
    + +
    + + + + +
    + +
    + +
    + +
    +
    ControlDelay< NUM_BUFFER_SAMPLES, T > Class Template Reference
    +
    +
    + +

    Control-rate delay line for delaying control signals. + More...

    + +

    Inherits AudioDelay< NUM_BUFFER_SAMPLES, T >.

    + + + + + + + + + + + + + + + + + + + + + +

    +Additional Inherited Members

    - Public Member Functions inherited from AudioDelay< NUM_BUFFER_SAMPLES, T >
    AudioDelay ()
     Constructor.
     
     AudioDelay (unsigned int delaytime_cells)
     Constructor. More...
     
    next (T in_value, unsigned int delaytime_cells)
     Input a value to the delay and retrieve the signal in the delay line at the position delaytime_cells. More...
     
    next (T in_value)
     Input a value to the delay and retrieve the signal in the delay line at the position delaytime_cells. More...
     
    void set (unsigned int delaytime_cells)
     Set the delay time, measured in cells. More...
     
    read (unsigned int delaytime_cells)
     Retrieve the signal in the delay line at the position delaytime_cells. More...
     
    +

    Detailed Description

    +

    template<unsigned int NUM_BUFFER_SAMPLES, class T = char>
    +class ControlDelay< NUM_BUFFER_SAMPLES, T >

    + +

    Control-rate delay line for delaying control signals.

    +

    For example, this could be used to produce echo-like effects using multiple instances of the same voice, when AudioDelay would be too short for an actual audio echo. See AudioDelay for documentation, as this is just a wrapper of the same code.

    +
    Template Parameters
    + + + +
    NUM_BUFFER_SAMPLESis the length of the delay buffer in samples. This should be a power of two.
    thetype of numbers to use for the signal in the delay. The default is char, but int could be useful when adding manual feedback. When using int, the input should be limited to 15 bits width, ie. -16384 to 16383.
    +
    +
    +
    Examples:
    _02_control/Control_Echo_Theremin/Control_Echo_Theremin.ino.
    +
    +

    Definition at line 39 of file ControlDelay.h.

    +

    The documentation for this class was generated from the following file: +
    +
    + + + + diff --git a/doc/html/class_control_delay.png b/doc/html/class_control_delay.png new file mode 100644 index 0000000000000000000000000000000000000000..a1e9e48cac96c3c24d83603880516cce5ad9bd1f GIT binary patch literal 1038 zcmeAS@N?(olHy`uVBq!ia0y~yU=#+j12~vLB4-l+04a$8pAgso|NjG-FP?s_NWkuYdhD zpRSr^6c;`^HZ$|Q#^F3JMn$nnKThvjmz@=R{Z@pkrl{RXmq{_mSa-7Pq^-vtWTXGp zo=f|_tnceVzx?%QZm_rAzgY5en(wK!iz!FCMC+svd-B|GI&y16dzc!xCvpe*??uUO+#_YBIhKBX=$x51A#AhD4oLlxi z_tDEe@^zVgcZ_ec-%AVnwqoD3{laP=)z~z3R&Go8`8E0b-xEig7wFA1ki0tC!fvIy zqM^0gy#&}&DA%wT&?~wQgXkw zqUGb=#$CDfOJ;dpeUddNQJvHBmFczl2L&ewbT;uHzV02Ab2eJX)BZ{cx92b0s)J{5 z&xmo_boX9rmwimx)w8>2{F$gRamn&s`sFGw|1V5Y@?3|E*(aCAUJv=h@Q1IKaY@6i zNt_KYUu!R9xCUZ0sw`yKs4CnL=E-tkst-fVNh(ucyJzT}-n3*|>dIbL1<}PSGZ|(8 zt<|2%umeOH{9L!AVQboxi+8m?m#_)k`u2E#=*Qb(vfobi)F%A6yJz}YwYA;H-!Hu% zEiwP*o;PYdGfWOY_vtyheRtxWZ*v1@{|MjxTd?Wru`4Gz+s}!sl@;FRm;PAmrx>5V zG|ue@KS!?de?zs89QsC#PSq1n7IvI{R`$s1))MC#A~UBbfA{&;xP9gn+gG_$pz;5Q zN!b3mrm%cQlfoJ)V~p4@VxD~WdeEM4*Tf!tdzJOSXwH`JId4`yOI&FqtQTI#g0ntxV~y!y72!D@deEOjxk*Ql<0Y;Kf!>8H@-K--n;x7#XxwNZ6& zE;?48E^_;yhiT31Dxvfno=$yLy}XyzeVkOe?0DkWU);_7VcWYctREC@3qOacP4~&& zUS9cKUT^oKXLEi2c}!uL^XlFm#vi}E)EL&KFg<`$RR)pMQaz8JuNRQA^hvVJIR?zU N44$rjF6*2UngCZc>qGzm literal 0 HcmV?d00001 diff --git a/doc/html/class_d_cfilter-members.html b/doc/html/class_d_cfilter-members.html index 3008163e8..b3da23b81 100644 --- a/doc/html/class_d_cfilter-members.html +++ b/doc/html/class_d_cfilter-members.html @@ -3,46 +3,44 @@ + Mozzi: Member List - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • +
    + +
    +
    +
    + +
    @@ -90,23 +104,25 @@
    -
  • DCfilter Member List
    -This is the complete list of members for DCfilter, including all inherited members. - - -
    DCfilter(float pole)DCfilter [inline]
    next(int x)DCfilter [inline]
    - - - +

    This is the complete list of members for DCfilter, including all inherited members.

    + + + +
    DCfilter(float pole)DCfilterinline
    next(int x)DCfilterinline
    + + + diff --git a/doc/html/class_d_cfilter.html b/doc/html/class_d_cfilter.html index 1b9a7cf0c..a4abf14bf 100644 --- a/doc/html/class_d_cfilter.html +++ b/doc/html/class_d_cfilter.html @@ -3,46 +3,44 @@ + Mozzi: DCfilter Class Reference - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • +
    + +
    +
    +
    + +
    @@ -90,10 +104,10 @@
    -
  • DCfilter Class Reference
    @@ -101,39 +115,46 @@

    A DC-blocking filter useful for highlighting changes in control signals. More...

    - -

    List of all members.

    - - + + - + +

    +

    Public Member Functions

     DCfilter (float pole)
     Instantiate a DC-blocking filter.
     Instantiate a DC-blocking filter. More...
     
    int next (int x)
     Filter the incoming value and return the result.
     Filter the incoming value and return the result. More...
     
    -

    Detailed Description

    +

    Detailed Description

    A DC-blocking filter useful for highlighting changes in control signals.

    The output of the filter settles to 0 if the incoming signal stays constant. If the input changes, the filter output swings to track the change and eventually settles back to 0.

    Definition at line 41 of file DCfilter.h.

    -

    Constructor & Destructor Documentation

    +

    Constructor & Destructor Documentation

    + + + + + +
    - + - - + +
    DCfilter::DCfilter DCfilter::DCfilter ( float pole) [inline]pole)
    - -
    +
    +inline
    +

    Instantiate a DC-blocking filter.

    -
    Parameters:
    +
    Parameters
    polesets the responsiveness of the filter, how long it takes to settle to 0 if the input signal levels out at a constant value.
    @@ -144,30 +165,37 @@
    -

    Member Function Documentation

    +

    Member Function Documentation

    + + + + + +
    - + - - + +
    int DCfilter::next int DCfilter::next ( int x) [inline]x)
    - -
    +
    +inline
    +

    Filter the incoming value and return the result.

    -
    Parameters:
    +
    Parameters
    xthe value to filter
    -
    Returns:
    filtered signal
    +
    Returns
    filtered signal

    Definition at line 77 of file DCfilter.h.

    @@ -177,13 +205,15 @@
  • DCfilter.h
  • - - - - +
    + + diff --git a/doc/html/class_d_cfilter.js b/doc/html/class_d_cfilter.js new file mode 100644 index 000000000..ad30a46ee --- /dev/null +++ b/doc/html/class_d_cfilter.js @@ -0,0 +1,5 @@ +var class_d_cfilter = +[ + [ "DCfilter", "class_d_cfilter.html#ab55e871fc9d11dfb9231e44627181c2c", null ], + [ "next", "class_d_cfilter.html#ae900f943d9520fbf3a522508231d82b0", null ] +]; \ No newline at end of file diff --git a/doc/html/class_ead-members.html b/doc/html/class_ead-members.html index e7d1da176..a82226ae3 100644 --- a/doc/html/class_ead-members.html +++ b/doc/html/class_ead-members.html @@ -3,46 +3,44 @@ + Mozzi: Member List - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • +
    + +
    +
    +
    + +
    @@ -90,28 +104,30 @@
    -
  • Ead Member List
    -This is the complete list of members for Ead, including all inherited members. - - - - - - - -
    Ead(unsigned int update_rate)Ead
    next()Ead [inline]
    set(unsigned int attack_ms, unsigned int decay_ms)Ead [inline]
    setAttack(unsigned int attack_ms)Ead [inline]
    setDecay(unsigned int decay_ms)Ead [inline]
    start()Ead [inline]
    start(unsigned int attack_ms, unsigned int decay_ms)Ead [inline]
    - - - +

    This is the complete list of members for Ead, including all inherited members.

    + + + + + + + + +
    Ead(unsigned int update_rate)Eadinline
    next()Eadinline
    set(unsigned int attack_ms, unsigned int decay_ms)Eadinline
    setAttack(unsigned int attack_ms)Eadinline
    setDecay(unsigned int decay_ms)Eadinline
    start()Eadinline
    start(unsigned int attack_ms, unsigned int decay_ms)Eadinline
    + + + diff --git a/doc/html/class_ead.html b/doc/html/class_ead.html index a13975baa..bc334e76c 100644 --- a/doc/html/class_ead.html +++ b/doc/html/class_ead.html @@ -3,46 +3,44 @@ + Mozzi: Ead Class Reference - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • +
    + +
    +
    +
    + +
    @@ -90,10 +104,10 @@
    -
  • Ead Class Reference
    @@ -101,88 +115,111 @@

    Exponential attack decay envelope. More...

    - -

    List of all members.

    - - + + - + + - + + - + + - + + - + + - + +

    +

    Public Member Functions

     Ead (unsigned int update_rate)
     Constructor.
     Constructor. More...
     
    void setAttack (unsigned int attack_ms)
     Set the attack time in milliseconds.
     Set the attack time in milliseconds. More...
     
    void setDecay (unsigned int decay_ms)
     Set the decay time in milliseconds.
     Set the decay time in milliseconds. More...
     
    void set (unsigned int attack_ms, unsigned int decay_ms)
     Set attack and decay times in milliseconds.
     Set attack and decay times in milliseconds. More...
     
    void start ()
     Start the envelope from the beginning.
     Start the envelope from the beginning. More...
     
    void start (unsigned int attack_ms, unsigned int decay_ms)
     Set attack and decay times in milliseconds, and start the envelope from the beginning.
     
    Set attack and decay times in milliseconds, and start the envelope from
    +

    the beginning. More...

     
    unsigned char next ()
     Calculate and return the next envelope value, in the range -128 to 127.
     Calculate and return the next envelope value, in the range -128 to 127. More...
     
    -

    Detailed Description

    +

    Detailed Description

    Exponential attack decay envelope.

    -

    This produces a natural sounding envelope. It calculates a new value each time next() is called, which can be mapped to other parameters to change the amplitude or timbre of a sound.

    -
    Note:
    Currently doesn't work at audio rate... may need larger number types for Q8n8attack and Q8n8decay ?
    +

    This produces a natural sounding envelope. It calculates a new value each time next() is called, which can be mapped to other parameters to change the amplitude or timbre of a sound.

    +
    Note
    Currently doesn't work at audio rate... may need larger number types for Q8n8attack and Q8n8decay ?

    Definition at line 40 of file Ead.h.

    -

    Constructor & Destructor Documentation

    +

    Constructor & Destructor Documentation

    + + + + + +
    - + - +
    Ead::Ead Ead::Ead ( unsigned int update_rate)update_rate)
    - -
    +
    +inline
    +

    Constructor.

    -
    Parameters:
    +
    Parameters
    - +
    update_rateUsually this will be CONTROL_RATE or AUDIO_RATE, unless you design another scheme for updating. One such alternative scheme could take turns for various control changes in a rotating schedule to spread out calculations made in successive updateControl() routines.
    update_rateUsually this will be CONTROL_RATE or AUDIO_RATE, unless you design another scheme for updating. One such alternative scheme could take turns for various control changes in a rotating schedule to spread out calculations made in successive updateControl() routines.
    -

    Definition at line 29 of file Ead.cpp.

    +

    Definition at line 52 of file Ead.h.

    -

    Member Function Documentation

    +

    Member Function Documentation

    + + + + + +
    - + - - + +
    unsigned char Ead::next unsigned char Ead::next () [inline])
    - -
    +
    +inline
    +

    Calculate and return the next envelope value, in the range -128 to 127.

    -
    Note:
    Timing: 5us
    +
    Note
    Timing: 5us
    -

    Definition at line 121 of file Ead.h.

    +

    Definition at line 126 of file Ead.h.

    + + + + + +
    - + @@ -196,106 +233,134 @@ - +
    void Ead::set void Ead::set ( unsigned int  attack_ms,
    ) [inline]
    - -
    +
    +inline
    +

    Set attack and decay times in milliseconds.

    -
    Parameters:
    +
    Parameters
    - - + +
    attack_msThe time taken for values returned by successive calls of the next() method to change from 0 to 255.
    decay_msThe time taken for values returned by successive calls of the next() method to change from 255 to 0.
    attack_msThe time taken for values returned by successive calls of the next() method to change from 0 to 255.
    decay_msThe time taken for values returned by successive calls of the next() method to change from 255 to 0.
    -

    Definition at line 82 of file Ead.h.

    +

    Definition at line 86 of file Ead.h.

    + + + + + +
    - + - - + +
    void Ead::setAttack void Ead::setAttack ( unsigned int attack_ms) [inline]attack_ms)
    - -
    +
    +inline
    +

    Set the attack time in milliseconds.

    -
    Parameters:
    +
    Parameters
    - +
    attack_msThe time taken for values returned by successive calls of the next() method to change from 0 to 255.
    attack_msThe time taken for values returned by successive calls of the next() method to change from 0 to 255.
    -

    Definition at line 59 of file Ead.h.

    +

    Definition at line 62 of file Ead.h.

    + + + + + +
    - + - - + +
    void Ead::setDecay void Ead::setDecay ( unsigned int decay_ms) [inline]decay_ms)
    - -
    +
    +inline
    +

    Set the decay time in milliseconds.

    -
    Parameters:
    +
    Parameters
    - +
    decay_msThe time taken for values returned by successive calls of the next() method to change from 255 to 0.
    decay_msThe time taken for values returned by successive calls of the next() method to change from 255 to 0.
    -

    Definition at line 69 of file Ead.h.

    +

    Definition at line 73 of file Ead.h.

    + + + + + +
    - + - - + +
    void Ead::start void Ead::start () [inline])
    - -
    +
    +inline
    +

    Start the envelope from the beginning.

    This can be used at any time, even if the previous envelope is not finished.

    -

    Definition at line 92 of file Ead.h.

    +

    Definition at line 97 of file Ead.h.

    + + + + + +
    - + @@ -309,38 +374,44 @@ - +
    void Ead::start void Ead::start ( unsigned int  attack_ms,
    ) [inline]
    - -
    +
    +inline
    +
    -

    Set attack and decay times in milliseconds, and start the envelope from the beginning.

    +

    Set attack and decay times in milliseconds, and start the envelope from
    +

    the beginning.

    This can be used at any time, even if the previous envelope is not finished.

    -
    Parameters:
    +
    Parameters
    - - + +
    attack_msThe time taken for values returned by successive calls of the next() method to change from 0 to 255.
    decay_msThe time taken for values returned by successive calls of the next() method to change from 255 to 0.
    attack_msThe time taken for values returned by successive calls of the next() method to change from 0 to 255.
    decay_msThe time taken for values returned by successive calls of the next() method to change from 255 to 0.
    -

    Definition at line 108 of file Ead.h.

    +

    Definition at line 113 of file Ead.h.

    -
    The documentation for this class was generated from the following files:
      +
      The documentation for this class was generated from the following file: - - - - + + + diff --git a/doc/html/class_ead.js b/doc/html/class_ead.js new file mode 100644 index 000000000..2bb35a9fa --- /dev/null +++ b/doc/html/class_ead.js @@ -0,0 +1,10 @@ +var class_ead = +[ + [ "Ead", "class_ead.html#a4862282805c2ac3255a34a99a31564d5", null ], + [ "next", "class_ead.html#a32d3e3cf3848e4dbab6a3b2030d7e4ba", null ], + [ "set", "class_ead.html#af203c82721ab832c653a23ff219c040e", null ], + [ "setAttack", "class_ead.html#a6bae0e92e6709c3fcd31fccd41212bac", null ], + [ "setDecay", "class_ead.html#aa99e6dc2d5448b4de0764c6208e5c2fc", null ], + [ "start", "class_ead.html#ac385679b58e2f9755029b7da7405b233", null ], + [ "start", "class_ead.html#a146b205e70f4b2293e643ea063f2b38f", null ] +]; \ No newline at end of file diff --git a/doc/html/class_event_delay-members.html b/doc/html/class_event_delay-members.html index 2a3c9b0e8..f92975775 100644 --- a/doc/html/class_event_delay-members.html +++ b/doc/html/class_event_delay-members.html @@ -3,46 +3,44 @@ + Mozzi: Member List - - - - + + + + + + - + -
      - - +
      - - - - - -
      Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
      sound synthesis library for Arduino
      - - + + @@ -51,7 +49,7 @@
    • Main Page
    • Modules
    • Classes
    • -
    • Files
    • +
    • Examples
    • +
      + +
      +
      +
      + +
      @@ -90,26 +104,28 @@
      -
    • EventDelay< UPDATE_RATE > Member List
      -This is the complete list of members for EventDelay< UPDATE_RATE >, including all inherited members. - - - - - -
      EventDelay()EventDelay< UPDATE_RATE > [inline]
      ready()EventDelay< UPDATE_RATE > [inline]
      set(unsigned int delay_milliseconds)EventDelay< UPDATE_RATE > [inline]
      start()EventDelay< UPDATE_RATE > [inline]
      start(unsigned int delay_milliseconds)EventDelay< UPDATE_RATE > [inline]
      - - - +

      This is the complete list of members for EventDelay< UPDATE_RATE >, including all inherited members.

      + + + + + + +
      EventDelay()EventDelay< UPDATE_RATE >inline
      ready()EventDelay< UPDATE_RATE >inline
      set(unsigned int delay_milliseconds)EventDelay< UPDATE_RATE >inline
      start()EventDelay< UPDATE_RATE >inline
      start(unsigned int delay_milliseconds)EventDelay< UPDATE_RATE >inline
      + + + diff --git a/doc/html/class_event_delay.html b/doc/html/class_event_delay.html index 53fcfaba6..da5be2a02 100644 --- a/doc/html/class_event_delay.html +++ b/doc/html/class_event_delay.html @@ -3,46 +3,44 @@ + Mozzi: EventDelay< UPDATE_RATE > Class Template Reference - - - - + + + + + + - + -
      - - +
      - - - - - -
      Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
      sound synthesis library for Arduino
      - - + + @@ -51,7 +49,7 @@
    • Main Page
    • Modules
    • Classes
    • -
    • Files
    • +
    • Examples
    • +
      + +
      +
      +
      + +
      @@ -90,10 +104,10 @@
      -
    • EventDelay< UPDATE_RATE > Class Template Reference
      @@ -101,79 +115,96 @@

      A non-blocking replacement for Arduino's delay() function (which is disabled by Mozzi). More...

      - -

      List of all members.

      - - + + - + + - + + - + + - + +

      +

      Public Member Functions

       EventDelay ()
       Constructor.
       Constructor. More...
       
      void set (unsigned int delay_milliseconds)
       Set the delay time.
       Set the delay time. More...
       
      void start ()
       Start the delay.
       Start the delay. More...
       
      void start (unsigned int delay_milliseconds)
       Set the delay time and start the delay.
       Set the delay time and start the delay. More...
       
      bool ready ()
       Call this in updateControl() or updateAudio() to check if the delay time is up.
       Call this in updateControl() or updateAudio() to check if the delay time is up. More...
       
      -

      Detailed Description

      +

      Detailed Description

      template<unsigned int UPDATE_RATE>
      class EventDelay< UPDATE_RATE >

      A non-blocking replacement for Arduino's delay() function (which is disabled by Mozzi).

      -

      EventDelay can be set() to wait for a number of milliseconds, then after calling start(), calling ready() will return true when the time is up.

      -
      Template Parameters:
      - - +

      EventDelay can be set() to wait for a number of milliseconds, then after calling start(), calling ready() will return true when the time is up.

      +
      Template Parameters
      +
      update_rateis how frequently you'll check if the EventDelay is ready(). This would be CONTROL_RATE if ready() is used simply in updateControl().
      +
      update_rateis how frequently you'll check if the EventDelay is ready(). This would be CONTROL_RATE if ready() is used simply in updateControl().

      Definition at line 33 of file EventDelay.h.

      -

      Constructor & Destructor Documentation

      +

      Constructor & Destructor Documentation

      template<unsigned int UPDATE_RATE>
      + + + + + +
      - - + +
      EventDelay< UPDATE_RATE >::EventDelay () [inline])
      - -
      +
      +inline
      +

      Constructor.

      -

      Declare an EventDelay object with UPDATE_RATE template parameter. UPDATE_RATE is how frequently you'll check if the EventDelay is ready(). This would be CONTROL_RATE if ready() is used simply in updateControl().

      +

      Declare an EventDelay object with UPDATE_RATE template parameter. UPDATE_RATE is how frequently you'll check if the EventDelay is ready(). This would be CONTROL_RATE if ready() is used simply in updateControl().

      Definition at line 42 of file EventDelay.h.

      -

      Member Function Documentation

      +

      Member Function Documentation

      template<unsigned int UPDATE_RATE>
      + + + + + +
      - + - - + +
      bool EventDelay< UPDATE_RATE >::ready bool EventDelay< UPDATE_RATE >::ready () [inline])
      - -
      +
      +inline
      +
      -

      Call this in updateControl() or updateAudio() to check if the delay time is up.

      -
      Returns:
      true if the time is up.
      +

      Call this in updateControl() or updateAudio() to check if the delay time is up.

      +
      Returns
      true if the time is up.

      Definition at line 84 of file EventDelay.h.

      @@ -184,21 +215,28 @@
      template<unsigned int UPDATE_RATE>
      + + + + + +
      - + - - + +
      void EventDelay< UPDATE_RATE >::set void EventDelay< UPDATE_RATE >::set ( unsigned int delay_milliseconds) [inline]delay_milliseconds)
      - -
      +
      +inline
      +

      Set the delay time.

      -

      This setting is persistent, until you change it by using set() again.

      -
      Parameters:
      +

      This setting is persistent, until you change it by using set() again.

      +
      Parameters
      delay_millisecondsdelay time in milliseconds.
      @@ -214,16 +252,23 @@
      template<unsigned int UPDATE_RATE>
      + + + + + +
      - + - - + +
      void EventDelay< UPDATE_RATE >::start void EventDelay< UPDATE_RATE >::start () [inline])
      - -
      +
      +inline
      +

      Start the delay.

      @@ -236,20 +281,27 @@
      template<unsigned int UPDATE_RATE>
      + + + + + +
      - + - - + +
      void EventDelay< UPDATE_RATE >::start void EventDelay< UPDATE_RATE >::start ( unsigned int delay_milliseconds) [inline]delay_milliseconds)
      - -
      +
      +inline
      +

      Set the delay time and start the delay.

      -
      Parameters:
      +
      Parameters
      delay_millisecondsdelay time in milliseconds.
      @@ -264,13 +316,15 @@
    • EventDelay.h
    - - - - + + + diff --git a/doc/html/class_event_delay.js b/doc/html/class_event_delay.js new file mode 100644 index 000000000..f7b9141a1 --- /dev/null +++ b/doc/html/class_event_delay.js @@ -0,0 +1,8 @@ +var class_event_delay = +[ + [ "EventDelay", "class_event_delay.html#a2bbfe6ab34ffb17c2600ef1b14d84c9f", null ], + [ "ready", "class_event_delay.html#a723a61a4670ffed732b1d8eb9e5bfd56", null ], + [ "set", "class_event_delay.html#adb1ea3351d63b51c6c5270eff1de4cb8", null ], + [ "start", "class_event_delay.html#aa2a731ceb05f95cac1798089448c6aed", null ], + [ "start", "class_event_delay.html#a85de9021676dadaba68edd6c5d5afa0e", null ] +]; \ No newline at end of file diff --git a/doc/html/class_line-members.html b/doc/html/class_line-members.html index b0dd28fc8..e2ac25396 100644 --- a/doc/html/class_line-members.html +++ b/doc/html/class_line-members.html @@ -3,46 +3,44 @@ + Mozzi: Member List - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • +
    + +
    +
    +
    + +
    @@ -90,26 +104,28 @@
    -
  • Line< T > Member List
    -This is the complete list of members for Line< T >, including all inherited members. - - - - - -
    Line()Line< T > [inline]
    next()Line< T > [inline]
    set(T value)Line< T > [inline]
    set(T targetvalue, T num_steps)Line< T > [inline]
    set(T startvalue, T targetvalue, T num_steps)Line< T > [inline]
    - - - +

    This is the complete list of members for Line< T >, including all inherited members.

    + + + + + + +
    Line()Line< T >inline
    next()Line< T >inline
    set(T value)Line< T >inline
    set(T targetvalue, T num_steps)Line< T >inline
    set(T startvalue, T targetvalue, T num_steps)Line< T >inline
    + + + diff --git a/doc/html/class_line.html b/doc/html/class_line.html index 34cd62b06..78b80c9af 100644 --- a/doc/html/class_line.html +++ b/doc/html/class_line.html @@ -3,46 +3,44 @@ + Mozzi: Line< T > Class Template Reference - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • +
    + +
    +
    +
    + +
    @@ -90,10 +104,10 @@
    -
  • Line< T > Class Template Reference
    @@ -101,80 +115,99 @@

    For linear changes with a minimum of calculation at each step. More...

    - -

    List of all members.

    - - + + - + + - + + - + + - + +

    +

    Public Member Functions

     Line ()
     Constructor.
     Constructor. More...
     
    next ()
     Increments one step along the line.
     Increments one step along the line. More...
     
    void set (T value)
     Set the current value of the line.
     Set the current value of the line. More...
     
    void set (T targetvalue, T num_steps)
     Given a target value and the number of steps to take on the way, this calculates the step size needed to get there from the current value.
     
    Given a target value and the number of steps to take on the way, this calculates
    +

    the step size needed to get there from the current value. More...

     
    void set (T startvalue, T targetvalue, T num_steps)
     Given a new starting value, target value and the number of steps to take on the way, this sets the step size needed to get there.
     
    Given a new starting value, target value and the number of steps to take on the way,
    +

    this sets the step size needed to get there. More...

     
    -

    Detailed Description

    +

    Detailed Description

    template<class T>
    class Line< T >

    For linear changes with a minimum of calculation at each step.

    -

    For instance, you can use Line to make an oscillator glide from one frequency to another, pre-calculating the required phase increments for each end and then letting your Line change the phase increment with only a simple addition at each step.

    -
    Template Parameters:
    - - +

    For instance, you can use Line to make an oscillator glide from one frequency to another, pre-calculating the required phase increments for each end and then letting your Line change the phase increment with only a simple addition at each step.

    +
    Template Parameters
    +
    Tthe type of numbers to use. For example, Line <int> myline; makes a Line which uses ints.
    +
    Tthe type of numbers to use. For example, Line <int> myline; makes a Line which uses ints.
    -
    Note:
    Watch out for underflows in the internal calcualtion of Line() if you're not using floats (but on the other hand try to avoid lots of floats, they're too slow!). If it seems like the Line() is not working, there's a good chance you need to scale up the numbers you're using, so internal calculations don't get truncated away. Use Mozzi's fixed-point number types in mozzi_fixmath.h, which enable you to represent fractional numbers. Google "fixed point arithmetic" if this is new to you.
    +
    Note
    Watch out for underflows in the internal calcualtion of Line() if you're not using floats (but on the other hand try to avoid lots of floats, they're too slow!). If it seems like the Line() is not working, there's a good chance you need to scale up the numbers you're using, so internal calculations don't get truncated away. Use Mozzi's fixed-point number types in mozzi_fixmath.h, which enable you to represent fractional numbers. Google "fixed point arithmetic" if this is new to you.

    Definition at line 49 of file Line.h.

    -

    Constructor & Destructor Documentation

    +

    Constructor & Destructor Documentation

    template<class T>
    + + + + + +
    - - + +
    Line< T >::Line () [inline])
    - -
    +
    +inline
    +

    Constructor.

    -

    Use the template parameter to set the type of numbers you want to use. For example, Line <int> myline; makes a Line which uses ints.

    +

    Use the template parameter to set the type of numbers you want to use. For example, Line <int> myline; makes a Line which uses ints.

    Definition at line 59 of file Line.h.

    -

    Member Function Documentation

    +

    Member Function Documentation

    template<class T>
    + + + + + +
    - + - - + +
    T Line< T >::next T Line< T >::next () [inline])
    - -
    +
    +inline
    +

    Increments one step along the line.

    -
    Returns:
    the next value.
    +
    Returns
    the next value.

    Definition at line 68 of file Line.h.

    @@ -185,23 +218,30 @@
    template<class T>
    + + + + + +
    - + - - + +
    void Line< T >::set void Line< T >::set ( value) [inline]value)
    - -
    +
    +inline
    +

    Set the current value of the line.

    -

    The Line will continue incrementing from this value using any previously calculated step size.

    -
    Parameters:
    +

    The Line will continue incrementing from this value using any previously calculated step size.

    +
    Parameters
    - +
    valuethe number to set the Line's current_value to.
    valuethe number to set the Line's current_value to.
    @@ -215,9 +255,12 @@
    template<class T>
    + + + + + +
    - + @@ -231,14 +274,19 @@ - +
    void Line< T >::set void Line< T >::set ( targetvalue,
    ) [inline]
    - -
    +
    +inline
    +
    -

    Given a target value and the number of steps to take on the way, this calculates the step size needed to get there from the current value.

    -
    Parameters:
    +

    Given a target value and the number of steps to take on the way, this calculates
    +

    the step size needed to get there from the current value.

    +
    Parameters
    @@ -255,9 +303,12 @@
    template<class T>
    +
    targetvaluethe value to move towards.
    num_stepshow many steps to take to reach the target.
    + + + + +
    - + @@ -277,16 +328,21 @@ - +
    void Line< T >::set void Line< T >::set ( startvalue,
    ) [inline]
    - -
    +
    +inline
    +
    -

    Given a new starting value, target value and the number of steps to take on the way, this sets the step size needed to get there.

    -
    Parameters:
    +

    Given a new starting value, target value and the number of steps to take on the way,
    +

    this sets the step size needed to get there.

    +
    Parameters
    - +
    valuethe number to set the Line's current_value to.
    startvaluethe number to set the Line's current_value to.
    targetvaluethe value to move towards.
    num_stepshow many steps to take to reach the target.
    @@ -301,13 +357,15 @@
  • Line.h
  • - - - - +
    + + diff --git a/doc/html/class_line.js b/doc/html/class_line.js new file mode 100644 index 000000000..abc36c496 --- /dev/null +++ b/doc/html/class_line.js @@ -0,0 +1,8 @@ +var class_line = +[ + [ "Line", "class_line.html#aa6a80df90da15782ca88889ef9c8dd51", null ], + [ "next", "class_line.html#a413f620b2824c6996b3346ee54351849", null ], + [ "set", "class_line.html#a6bad32d527e0d931c99e9b72c2a75c80", null ], + [ "set", "class_line.html#a7378d526cf07c42c0792868c749dee6e", null ], + [ "set", "class_line.html#a24ad85c17562e97b6823a010a5ba04c6", null ] +]; \ No newline at end of file diff --git a/doc/html/class_low_pass_filter-members.html b/doc/html/class_low_pass_filter-members.html index c394559bf..d007ed4dd 100644 --- a/doc/html/class_low_pass_filter-members.html +++ b/doc/html/class_low_pass_filter-members.html @@ -3,46 +3,44 @@ + Mozzi: Member List - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • +
    + +
    +
    +
    + +
    @@ -90,25 +104,27 @@
    -
  • LowPassFilter Member List
    -This is the complete list of members for LowPassFilter, including all inherited members. - - - - -
    LowPassFilter()LowPassFilter [inline]
    next(int in)LowPassFilter [inline]
    setCutoffFreq(unsigned char cutoff)LowPassFilter [inline]
    setResonance(unsigned char resonance)LowPassFilter [inline]
    - - - +

    This is the complete list of members for LowPassFilter, including all inherited members.

    + + + + + +
    LowPassFilter()LowPassFilterinline
    next(int in)LowPassFilterinline
    setCutoffFreq(unsigned char cutoff)LowPassFilterinline
    setResonance(unsigned char resonance)LowPassFilterinline
    +
    + + diff --git a/doc/html/class_low_pass_filter.html b/doc/html/class_low_pass_filter.html index b2ecff694..fa5774a6f 100644 --- a/doc/html/class_low_pass_filter.html +++ b/doc/html/class_low_pass_filter.html @@ -3,46 +3,44 @@ + Mozzi: LowPassFilter Class Reference - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • +
    + +
    +
    +
    + +
    @@ -90,10 +104,10 @@
    -
  • LowPassFilter Class Reference
    @@ -101,50 +115,59 @@

    A resonant low pass filter for audio signals. More...

    - -

    List of all members.

    - + - + + - + + - + +

    +

    Public Member Functions

     LowPassFilter ()
     Constructor.
     
    void setCutoffFreq (unsigned char cutoff)
     Set the cut off frequency,.
     Set the cut off frequency,. More...
     
    void setResonance (unsigned char resonance)
     Set the resonance.
     Set the resonance. More...
     
    int next (int in)
     Calculate the next sample, given an input signal.
     Calculate the next sample, given an input signal. More...
     
    -

    Detailed Description

    +

    Detailed Description

    A resonant low pass filter for audio signals.

    Definition at line 48 of file LowPassFilter.h.

    -

    Member Function Documentation

    +

    Member Function Documentation

    + + + + + +
    - + - - + +
    int LowPassFilter::next int LowPassFilter::next ( int in) [inline]in)
    - -
    +
    +inline
    +

    Calculate the next sample, given an input signal.

    -
    Parameters:
    +
    Parameters
    inthe signal input.
    -
    Returns:
    the signal output.
    -
    Note:
    Timing: about 11us.
    +
    Returns
    the signal output.
    +
    Note
    Timing: about 11us.

    Definition at line 86 of file LowPassFilter.h.

    @@ -153,20 +176,27 @@
    + + + + + +
    - + - - + +
    void LowPassFilter::setCutoffFreq void LowPassFilter::setCutoffFreq ( unsigned char cutoff) [inline]cutoff)
    - -
    +
    +inline
    +

    Set the cut off frequency,.

    -
    Parameters:
    +
    Parameters
    cutoffuse the range 0-255 to represent 0-8192 Hz (AUDIO_RATE/2). Be careful of distortion at the lower end, especially with high resonance.
    @@ -180,21 +210,28 @@
    + + + + + +
    - + - - + +
    void LowPassFilter::setResonance void LowPassFilter::setResonance ( unsigned char resonance) [inline]resonance)
    - -
    +
    +inline
    +

    Set the resonance.

    If you hear unwanted distortion, back off the resonance.

    -
    Parameters:
    +
    Parameters
    resonancein the range 0-255.
    @@ -209,13 +246,15 @@
  • LowPassFilter.h
  • - - - - +
    + + diff --git a/doc/html/class_low_pass_filter.js b/doc/html/class_low_pass_filter.js new file mode 100644 index 000000000..37af77dc9 --- /dev/null +++ b/doc/html/class_low_pass_filter.js @@ -0,0 +1,7 @@ +var class_low_pass_filter = +[ + [ "LowPassFilter", "class_low_pass_filter.html#a6d6538d3dfe603cce18711c990b85a03", null ], + [ "next", "class_low_pass_filter.html#a393f154ec729419747c5dd630327b852", null ], + [ "setCutoffFreq", "class_low_pass_filter.html#ad7958bf53ac1c24b5653861ed521ed14", null ], + [ "setResonance", "class_low_pass_filter.html#aa804e9162a1b855380c6f48d00de2c32", null ] +]; \ No newline at end of file diff --git a/doc/html/class_oscil-members.html b/doc/html/class_oscil-members.html index e8a126d1c..69be1626c 100644 --- a/doc/html/class_oscil-members.html +++ b/doc/html/class_oscil-members.html @@ -3,46 +3,44 @@ + Mozzi: Member List - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • +
    + +
    +
    +
    + +
    @@ -90,36 +104,38 @@
    -
  • Oscil< NUM_TABLE_CELLS, UPDATE_RATE > Member List
    -This is the complete list of members for Oscil< NUM_TABLE_CELLS, UPDATE_RATE >, including all inherited members. - - - - - - - - - - - - - - - -
    atIndex(unsigned int index)Oscil< NUM_TABLE_CELLS, UPDATE_RATE > [inline]
    getPhaseFractional()Oscil< NUM_TABLE_CELLS, UPDATE_RATE > [inline]
    next()Oscil< NUM_TABLE_CELLS, UPDATE_RATE > [inline]
    Oscil(const char *TABLE_NAME)Oscil< NUM_TABLE_CELLS, UPDATE_RATE > [inline]
    Oscil()Oscil< NUM_TABLE_CELLS, UPDATE_RATE > [inline]
    phaseIncFromFreq(int frequency)Oscil< NUM_TABLE_CELLS, UPDATE_RATE > [inline]
    phMod(Q15n16 phmod_proportion)Oscil< NUM_TABLE_CELLS, UPDATE_RATE > [inline]
    setFreq(int frequency)Oscil< NUM_TABLE_CELLS, UPDATE_RATE > [inline]
    setFreq(float frequency)Oscil< NUM_TABLE_CELLS, UPDATE_RATE > [inline]
    setFreq_Q16n16(Q16n16 frequency)Oscil< NUM_TABLE_CELLS, UPDATE_RATE > [inline]
    setFreq_Q24n8(Q24n8 frequency)Oscil< NUM_TABLE_CELLS, UPDATE_RATE > [inline]
    setPhase(unsigned int phase)Oscil< NUM_TABLE_CELLS, UPDATE_RATE > [inline]
    setPhaseFractional(unsigned long phase)Oscil< NUM_TABLE_CELLS, UPDATE_RATE > [inline]
    setPhaseInc(unsigned long phaseinc_fractional)Oscil< NUM_TABLE_CELLS, UPDATE_RATE > [inline]
    setTable(const char *TABLE_NAME)Oscil< NUM_TABLE_CELLS, UPDATE_RATE > [inline]
    - - - +

    This is the complete list of members for Oscil< NUM_TABLE_CELLS, UPDATE_RATE >, including all inherited members.

    + + + + + + + + + + + + + + + + +
    atIndex(unsigned int index)Oscil< NUM_TABLE_CELLS, UPDATE_RATE >inline
    getPhaseFractional()Oscil< NUM_TABLE_CELLS, UPDATE_RATE >inline
    next()Oscil< NUM_TABLE_CELLS, UPDATE_RATE >inline
    Oscil(const char *TABLE_NAME)Oscil< NUM_TABLE_CELLS, UPDATE_RATE >inline
    Oscil()Oscil< NUM_TABLE_CELLS, UPDATE_RATE >inline
    phaseIncFromFreq(int frequency)Oscil< NUM_TABLE_CELLS, UPDATE_RATE >inline
    phMod(Q15n16 phmod_proportion)Oscil< NUM_TABLE_CELLS, UPDATE_RATE >inline
    setFreq(int frequency)Oscil< NUM_TABLE_CELLS, UPDATE_RATE >inline
    setFreq(float frequency)Oscil< NUM_TABLE_CELLS, UPDATE_RATE >inline
    setFreq_Q16n16(Q16n16 frequency)Oscil< NUM_TABLE_CELLS, UPDATE_RATE >inline
    setFreq_Q24n8(Q24n8 frequency)Oscil< NUM_TABLE_CELLS, UPDATE_RATE >inline
    setPhase(unsigned int phase)Oscil< NUM_TABLE_CELLS, UPDATE_RATE >inline
    setPhaseFractional(unsigned long phase)Oscil< NUM_TABLE_CELLS, UPDATE_RATE >inline
    setPhaseInc(unsigned long phaseinc_fractional)Oscil< NUM_TABLE_CELLS, UPDATE_RATE >inline
    setTable(const char *TABLE_NAME)Oscil< NUM_TABLE_CELLS, UPDATE_RATE >inline
    +
    + + diff --git a/doc/html/class_oscil.html b/doc/html/class_oscil.html index 1ef9f40aa..844aa724b 100644 --- a/doc/html/class_oscil.html +++ b/doc/html/class_oscil.html @@ -3,46 +3,44 @@ + Mozzi: Oscil< NUM_TABLE_CELLS, UPDATE_RATE > Class Template Reference - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • +
    + +
    +
    +
    + +
    @@ -90,10 +104,10 @@
    -
  • Oscil< NUM_TABLE_CELLS, UPDATE_RATE > Class Template Reference
    @@ -101,88 +115,111 @@

    Oscil plays a wavetable, cycling through the table to generate an audio or control signal. More...

    - -

    List of all members.

    - - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + +

    +

    Public Member Functions

     Oscil (const char *TABLE_NAME)
     Constructor.
     Constructor. More...
     
     Oscil ()
     Constructor.
     Constructor. More...
     
    char next ()
     Updates the phase according to the current frequency and returns the sample at the new phase position.
     
    Updates the phase according to the current frequency
    +

    and returns the sample at the new phase position. More...

     
    void setTable (const char *TABLE_NAME)
     Change the sound table which will be played by the Oscil.
     Change the sound table which will be played by the Oscil. More...
     
    void setPhase (unsigned int phase)
     Set the phase of the Oscil.
     Set the phase of the Oscil. More...
     
    void setPhaseFractional (unsigned long phase)
     Set the phase of the Oscil.
     Set the phase of the Oscil. More...
     
    unsigned long getPhaseFractional ()
     Get the phase of the Oscil in fractional format.
     Get the phase of the Oscil in fractional format. More...
     
    char phMod (Q15n16 phmod_proportion)
     Returns the next sample given a phase modulation value.
     Returns the next sample given a phase modulation value. More...
     
    void setFreq (int frequency)
     Set the oscillator frequency with an unsigned int.
     Set the oscillator frequency with an unsigned int. More...
     
    void setFreq (float frequency)
     Set the oscillator frequency with a float.
     Set the oscillator frequency with a float. More...
     
    void setFreq_Q24n8 (Q24n8 frequency)
     Set the frequency using Q24n8 fixed-point number format.
     Set the frequency using Q24n8 fixed-point number format. More...
     
    void setFreq_Q16n16 (Q16n16 frequency)
     Set the frequency using Q16n16 fixed-point number format.
     Set the frequency using Q16n16 fixed-point number format. More...
     
    char atIndex (unsigned int index)
     Returns the sample at the given table index.
     Returns the sample at the given table index. More...
     
    unsigned long phaseIncFromFreq (int frequency)
     phaseIncFromFreq() and setPhaseInc() are for saving processor time when sliding between frequencies.
     
    phaseIncFromFreq() and setPhaseInc() are for saving processor time when sliding
    +

    between frequencies. More...

     
    void setPhaseInc (unsigned long phaseinc_fractional)
     Set a specific phase increment.
     Set a specific phase increment. More...
     
    -

    Detailed Description

    +

    Detailed Description

    template<unsigned int NUM_TABLE_CELLS, unsigned int UPDATE_RATE>
    class Oscil< NUM_TABLE_CELLS, UPDATE_RATE >

    Oscil plays a wavetable, cycling through the table to generate an audio or control signal.

    -

    The frequency of the signal can be set or changed with setFreq(), and the output of an Oscil can be produced with next() for a simple cycling oscillator, or atIndex() for a particular sample in the table.

    -
    Template Parameters:
    - +

    The frequency of the signal can be set or changed with setFreq(), and the output of an Oscil can be produced with next() for a simple cycling oscillator, or atIndex() for a particular sample in the table.

    +
    Template Parameters
    +
    - +
    NUM_TABLE_CELLSThis is defined in the table ".h" file the Oscil will be using. It's important that it's a power of 2, and either a literal number (eg. "8192") or a defined macro, rather than a const or int, for the Oscil to run fast enough.
    UPDATE_RATEThis will be AUDIO_RATE if the Oscil is updated in updateAudio(), or CONTROL_RATE if it's updated each time updateControl() is called. It could also be a fraction of CONTROL_RATE if you are doing some kind of cyclic updating in updateControl(), for example, to spread out the processor load.
    UPDATE_RATEThis will be AUDIO_RATE if the Oscil is updated in updateAudio(), or CONTROL_RATE if it's updated each time updateControl() is called. It could also be a fraction of CONTROL_RATE if you are doing some kind of cyclic updating in updateControl(), for example, to spread out the processor load.
    -
    Note:
    If you #define OSCIL_DITHER_PHASE before you #include <Oscil.h>, the phase increments will be dithered, which reduces spurious frequency spurs in the audio output, at the cost of some extra processing and memory.
    -

    -char2mozzi

    +
    Note
    If you #define OSCIL_DITHER_PHASE before you #include <Oscil.h>, the phase increments will be dithered, which reduces spurious frequency spurs in the audio output, at the cost of some extra processing and memory.
    +

    +char2mozzi

    Converting soundfiles for Mozzi There is a python script called char2mozzi.py in the Mozzi/python folder. The usage is: python char2mozzi.py infilename outfilename tablename samplerate

    - -

    Definition at line 76 of file Oscil.h.

    -

    Constructor & Destructor Documentation

    +
    Examples:
    _02_control/Control_Echo_Theremin/Control_Echo_Theremin.ino, and _09_delays/AudioDelay/AudioDelay.ino.
    +
    +

    Definition at line 77 of file Oscil.h.

    +

    Constructor & Destructor Documentation

    template<unsigned int NUM_TABLE_CELLS, unsigned int UPDATE_RATE>
    + + + + + +
    - - + +
    Oscil< NUM_TABLE_CELLS, UPDATE_RATE >::Oscil ( const char * TABLE_NAME) [inline]TABLE_NAME)
    - -
    +
    +inline
    +

    Constructor.

    -
    Parameters:
    +
    Parameters
    TABLE_NAMEthe name of the array the Oscil will be using. This can be found in the table ".h" file if you are using a table made for Mozzi by the char2mozzi.py python script in Mozzi's python folder.
    -

    Definition at line 86 of file Oscil.h.

    +

    Definition at line 87 of file Oscil.h.

    @@ -191,52 +228,66 @@

    template<unsigned int NUM_TABLE_CELLS, unsigned int UPDATE_RATE>
    + + + + + +
    - - + +
    Oscil< NUM_TABLE_CELLS, UPDATE_RATE >::Oscil () [inline])
    - -
    +
    +inline
    +

    Constructor.

    -

    Declare an Oscil with template TABLE_NUM_CELLS and UPDATE_RATE parameters, without specifying a particular wave table for it to play. The table can be set or changed on the fly with setTable(). Any tables used by the Oscil must be the same size.

    +

    Declare an Oscil with template TABLE_NUM_CELLS and UPDATE_RATE parameters, without specifying a particular wave table for it to play. The table can be set or changed on the fly with setTable(). Any tables used by the Oscil must be the same size.

    -

    Definition at line 96 of file Oscil.h.

    +

    Definition at line 97 of file Oscil.h.

    -

    Member Function Documentation

    +

    Member Function Documentation

    template<unsigned int NUM_TABLE_CELLS, unsigned int UPDATE_RATE>
    + + + + + +
    - + - - + +
    char Oscil< NUM_TABLE_CELLS, UPDATE_RATE >::atIndex char Oscil< NUM_TABLE_CELLS, UPDATE_RATE >::atIndex ( unsigned int index) [inline]index)
    - -
    +
    +inline
    +

    Returns the sample at the given table index.

    -
    Parameters:
    +
    Parameters
    - +
    atIndextable index between 0 and the table size.The index rolls back around to 0 if it's larger than the table size.
    indexbetween 0 and the table size.The index rolls back around to 0 if it's larger than the table size.
    -
    Returns:
    the sample at the given table index.
    +
    Returns
    the sample at the given table index.
    -

    Definition at line 264 of file Oscil.h.

    +

    Definition at line 265 of file Oscil.h.

    @@ -245,26 +296,28 @@

    template<unsigned int NUM_TABLE_CELLS, unsigned int UPDATE_RATE>
    + + + + + +
    - + - - + +
    unsigned long Oscil< NUM_TABLE_CELLS, UPDATE_RATE >::getPhaseFractional unsigned long Oscil< NUM_TABLE_CELLS, UPDATE_RATE >::getPhaseFractional () [inline])
    - -
    +
    +inline
    +

    Get the phase of the Oscil in fractional format.

    -
    Parameters:
    - - -
    phasea position in the wavetable.
    -
    -
    +
    Returns
    position in the wavetable, shifted left by OSCIL_F_BITS (which is 16 when this was written).
    -

    Definition at line 155 of file Oscil.h.

    +

    Definition at line 156 of file Oscil.h.

    @@ -273,21 +326,29 @@

    template<unsigned int NUM_TABLE_CELLS, unsigned int UPDATE_RATE>
    + + + + + +
    - + - - + +
    char Oscil< NUM_TABLE_CELLS, UPDATE_RATE >::next char Oscil< NUM_TABLE_CELLS, UPDATE_RATE >::next () [inline])
    - -
    +
    +inline
    +
    -

    Updates the phase according to the current frequency and returns the sample at the new phase position.

    -
    Returns:
    the next sample.
    +

    Updates the phase according to the current frequency
    +

    and returns the sample at the new phase position.

    +
    Returns
    the next sample.
    -

    Definition at line 105 of file Oscil.h.

    +

    Definition at line 106 of file Oscil.h.

    @@ -296,29 +357,37 @@

    template<unsigned int NUM_TABLE_CELLS, unsigned int UPDATE_RATE>
    + + + + + +
    - + - - + +
    unsigned long Oscil< NUM_TABLE_CELLS, UPDATE_RATE >::phaseIncFromFreq unsigned long Oscil< NUM_TABLE_CELLS, UPDATE_RATE >::phaseIncFromFreq ( int frequency) [inline]frequency)
    - -
    +
    +inline
    +
    -

    phaseIncFromFreq() and setPhaseInc() are for saving processor time when sliding between frequencies.

    -

    Instead of recalculating the phase increment for each frequency in between, you can just calculate the phase increment for each end frequency with phaseIncFromFreq(), then use a Line to interpolate on the fly and use setPhaseInc() to set the phase increment at each step. (Note: I should really profile this with the oscilloscope to see if it's worth the extra confusion!)

    -
    Parameters:
    +

    phaseIncFromFreq() and setPhaseInc() are for saving processor time when sliding
    +

    between frequencies.

    +

    Instead of recalculating the phase increment for each frequency in between, you can just calculate the phase increment for each end frequency with phaseIncFromFreq(), then use a Line to interpolate on the fly and use setPhaseInc() to set the phase increment at each step. (Note: I should really profile this with the oscilloscope to see if it's worth the extra confusion!)

    +
    Parameters
    frequencyfor which you want to calculate a phase increment value.
    -
    Returns:
    the phase increment value which will produce a given frequency.
    +
    Returns
    the phase increment value which will produce a given frequency.
    -

    Definition at line 282 of file Oscil.h.

    +

    Definition at line 283 of file Oscil.h.

    @@ -327,26 +396,35 @@

    template<unsigned int NUM_TABLE_CELLS, unsigned int UPDATE_RATE>
    + + + + + +
    - + - - + +
    char Oscil< NUM_TABLE_CELLS, UPDATE_RATE >::phMod char Oscil< NUM_TABLE_CELLS, UPDATE_RATE >::phMod ( Q15n16 phmod_proportion) [inline]phmod_proportion)
    - -
    +
    +inline
    +

    Returns the next sample given a phase modulation value.

    -
                @param a phase modulation value given as a proportion of the wave. The
    -            phmod_proportion parameter is a Q15n16 fixed-point number where the fractional
    -            n16 part represents -1 to 1, modulating the phase by one whole table length in
    -            each direction.
    -            @return a sample from the table.
    -
    -

    Definition at line 177 of file Oscil.h.

    +
    Parameters
    + + +
    phmod_proportiona phase modulation value given as a proportion of the wave. The phmod_proportion parameter is a Q15n16 fixed-point number where the fractional n16 part represents -1 to 1, modulating the phase by one whole table length in each direction.
    +
    +
    +
    Returns
    a sample from the table.
    + +

    Definition at line 178 of file Oscil.h.

    @@ -355,28 +433,35 @@

    template<unsigned int NUM_TABLE_CELLS, unsigned int UPDATE_RATE>
    + + + + + +
    - + - - + +
    void Oscil< NUM_TABLE_CELLS, UPDATE_RATE >::setFreq void Oscil< NUM_TABLE_CELLS, UPDATE_RATE >::setFreq ( int frequency) [inline]frequency)
    - -
    +
    +inline
    +

    Set the oscillator frequency with an unsigned int.

    -

    This is faster than using a float, so it's useful when processor time is tight, but it can be tricky with low and high frequencies, depending on the size of the wavetable being used. If you're not getting the results you expect, try explicitly using a float, or try setFreq_Q24n8() or or setFreq_Q16n16().

    -
    Parameters:
    +

    This is faster than using a float, so it's useful when processor time is tight, but it can be tricky with low and high frequencies, depending on the size of the wavetable being used. If you're not getting the results you expect, try explicitly using a float, or try setFreq_Q24n8() or or setFreq_Q16n16().

    +
    Parameters
    frequencyto play the wave table.
    -

    Definition at line 192 of file Oscil.h.

    +

    Definition at line 193 of file Oscil.h.

    @@ -385,28 +470,35 @@

    template<unsigned int NUM_TABLE_CELLS, unsigned int UPDATE_RATE>
    + + + + + +
    - + - - + +
    void Oscil< NUM_TABLE_CELLS, UPDATE_RATE >::setFreq void Oscil< NUM_TABLE_CELLS, UPDATE_RATE >::setFreq ( float frequency) [inline]frequency)
    - -
    +
    +inline
    +

    Set the oscillator frequency with a float.

    -

    Using a float is the most reliable way to set frequencies, -Might- be slower than using an int but you need either this, setFreq_Q24n8() or setFreq_Q16n16() for fractional frequencies.

    -
    Parameters:
    +

    Using a float is the most reliable way to set frequencies, -Might- be slower than using an int but you need either this, setFreq_Q24n8() or setFreq_Q16n16() for fractional frequencies.

    +
    Parameters
    frequencyto play the wave table.
    -

    Definition at line 206 of file Oscil.h.

    +

    Definition at line 207 of file Oscil.h.

    @@ -415,29 +507,36 @@

    template<unsigned int NUM_TABLE_CELLS, unsigned int UPDATE_RATE>
    + + + + + +
    - + - - + +
    void Oscil< NUM_TABLE_CELLS, UPDATE_RATE >::setFreq_Q16n16 void Oscil< NUM_TABLE_CELLS, UPDATE_RATE >::setFreq_Q16n16 ( Q16n16 frequency) [inline]frequency)
    - -
    +
    +inline
    +

    Set the frequency using Q16n16 fixed-point number format.

    -

    This is useful in combination with Q16n16_mtof(), a fast alternative to mtof(), using Q16n16 fixed-point format instead of floats.

    -
    Note:
    This should work OK with tables 2048 cells or smaller and frequencies up to 4096 Hz. Can't be used with UPDATE_RATE less than 64 Hz.
    -
    Parameters:
    +

    This is useful in combination with Q16n16_mtof(), a fast alternative to mtof(), using Q16n16 fixed-point format instead of floats.

    +
    Note
    This should work OK with tables 2048 cells or smaller and frequencies up to 4096 Hz. Can't be used with UPDATE_RATE less than 64 Hz.
    +
    Parameters
    frequencyin Q16n16 fixed-point number format.
    -

    Definition at line 242 of file Oscil.h.

    +

    Definition at line 243 of file Oscil.h.

    @@ -446,28 +545,35 @@

    template<unsigned int NUM_TABLE_CELLS, unsigned int UPDATE_RATE>
    + + + + + +
    - + - - + +
    void Oscil< NUM_TABLE_CELLS, UPDATE_RATE >::setFreq_Q24n8 void Oscil< NUM_TABLE_CELLS, UPDATE_RATE >::setFreq_Q24n8 ( Q24n8 frequency) [inline]frequency)
    - -
    +
    +inline
    +

    Set the frequency using Q24n8 fixed-point number format.

    This might be faster than the float version for setting low frequencies such as 1.5 Hz, or other values which may not work well with your table size. A Q24n8 representation of 1.5 is 384 (ie. 1.5 * 256). Can't be used with UPDATE_RATE less than 64 Hz.

    -
    Parameters:
    +
    Parameters
    frequencyin Q24n8 fixed-point number format.
    -

    Definition at line 223 of file Oscil.h.

    +

    Definition at line 224 of file Oscil.h.

    @@ -476,28 +582,35 @@

    template<unsigned int NUM_TABLE_CELLS, unsigned int UPDATE_RATE>
    + + + + + +
    - + - - + +
    void Oscil< NUM_TABLE_CELLS, UPDATE_RATE >::setPhase void Oscil< NUM_TABLE_CELLS, UPDATE_RATE >::setPhase ( unsigned int phase) [inline]phase)
    - -
    +
    +inline
    +

    Set the phase of the Oscil.

    This does the same thing as Sample::start(offset). Just different ways of thinking about oscillators and samples.

    -
    Parameters:
    +
    Parameters
    phasea position in the wavetable.
    -

    Definition at line 128 of file Oscil.h.

    +

    Definition at line 129 of file Oscil.h.

    @@ -506,28 +619,35 @@

    template<unsigned int NUM_TABLE_CELLS, unsigned int UPDATE_RATE>
    + + + + + +
    - + - - + +
    void Oscil< NUM_TABLE_CELLS, UPDATE_RATE >::setPhaseFractional void Oscil< NUM_TABLE_CELLS, UPDATE_RATE >::setPhaseFractional ( unsigned long phase) [inline]phase)
    - -
    +
    +inline
    +

    Set the phase of the Oscil.

    -

    Might be useful with getPhaseFractional().

    -
    Parameters:
    +

    Might be useful with getPhaseFractional().

    +
    Parameters
    phasea position in the wavetable.
    -

    Definition at line 143 of file Oscil.h.

    +

    Definition at line 144 of file Oscil.h.

    @@ -536,28 +656,35 @@

    template<unsigned int NUM_TABLE_CELLS, unsigned int UPDATE_RATE>
    + + + + + +
    - + - - + +
    void Oscil< NUM_TABLE_CELLS, UPDATE_RATE >::setPhaseInc void Oscil< NUM_TABLE_CELLS, UPDATE_RATE >::setPhaseInc ( unsigned long phaseinc_fractional) [inline]phaseinc_fractional)
    - -
    +
    +inline
    +

    Set a specific phase increment.

    -

    See phaseIncFromFreq().

    -
    Parameters:
    +

    See phaseIncFromFreq().

    +
    Parameters
    - +
    phaseinc_fractionala phase increment value as calculated by phaseIncFromFreq().
    phaseinc_fractionala phase increment value as calculated by phaseIncFromFreq().
    -

    Definition at line 292 of file Oscil.h.

    +

    Definition at line 293 of file Oscil.h.

    @@ -566,27 +693,34 @@

    template<unsigned int NUM_TABLE_CELLS, unsigned int UPDATE_RATE>
    + + + + + +
    - + - - + +
    void Oscil< NUM_TABLE_CELLS, UPDATE_RATE >::setTable void Oscil< NUM_TABLE_CELLS, UPDATE_RATE >::setTable ( const char * TABLE_NAME) [inline]TABLE_NAME)
    - -
    +
    +inline
    +

    Change the sound table which will be played by the Oscil.

    -
    Parameters:
    +
    Parameters
    TABLE_NAMEis the name of the array in the table ".h" file you're using.
    -

    Definition at line 115 of file Oscil.h.

    +

    Definition at line 116 of file Oscil.h.

    @@ -594,13 +728,15 @@

  • Oscil.h
  • - - - - + + + diff --git a/doc/html/class_oscil.js b/doc/html/class_oscil.js new file mode 100644 index 000000000..dd158d743 --- /dev/null +++ b/doc/html/class_oscil.js @@ -0,0 +1,18 @@ +var class_oscil = +[ + [ "Oscil", "class_oscil.html#ac43b3d870a5c6da90cafa9d678829593", null ], + [ "Oscil", "class_oscil.html#ab7dc5f97742d841fff6a4dca6d7242f3", null ], + [ "atIndex", "class_oscil.html#a3b2ea7727b2ec911957b3862dbb6a8ec", null ], + [ "getPhaseFractional", "class_oscil.html#aa774ef68b06f9652e6ac23d4e9332554", null ], + [ "next", "class_oscil.html#a2a76960954a19c7b24dfb7524b740c8f", null ], + [ "phaseIncFromFreq", "class_oscil.html#a184110cb1901d2742a6016b46cbea027", null ], + [ "phMod", "class_oscil.html#abe39f0740f318c0ecfb405cfac641a13", null ], + [ "setFreq", "class_oscil.html#a23121f22ea447918088a79c7f9748b3d", null ], + [ "setFreq", "class_oscil.html#aa342e74f8e73edda0b0f042770e3fba4", null ], + [ "setFreq_Q16n16", "class_oscil.html#a73b52741178ed490463d9ff471cebef3", null ], + [ "setFreq_Q24n8", "class_oscil.html#abc8a4ee236f7fd45dda9dece7292b6e7", null ], + [ "setPhase", "class_oscil.html#ab7b740eec56740426a47508562ed4dd5", null ], + [ "setPhaseFractional", "class_oscil.html#afc77bfc5a1ad5926ad8df37725d480d7", null ], + [ "setPhaseInc", "class_oscil.html#a2ff9bfcc57e07bf0df2ed7db186ecff7", null ], + [ "setTable", "class_oscil.html#a59e9b132ad0770030d7339c6aa260925", null ] +]; \ No newline at end of file diff --git a/doc/html/class_phasor-members.html b/doc/html/class_phasor-members.html index d39100cb7..ae97bb725 100644 --- a/doc/html/class_phasor-members.html +++ b/doc/html/class_phasor-members.html @@ -3,46 +3,44 @@ + Mozzi: Member List - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • +
    + +
    +
    +
    + +
    @@ -90,28 +104,30 @@
    -
  • Phasor< UPDATE_RATE > Member List
    -This is the complete list of members for Phasor< UPDATE_RATE >, including all inherited members. - - - - - - - -
    next()Phasor< UPDATE_RATE > [inline]
    phaseIncFromFreq(int frequency)Phasor< UPDATE_RATE > [inline]
    Phasor()Phasor< UPDATE_RATE > [inline]
    set(unsigned long value)Phasor< UPDATE_RATE > [inline]
    setFreq(int frequency)Phasor< UPDATE_RATE > [inline]
    setFreq(float frequency)Phasor< UPDATE_RATE > [inline]
    setPhaseInc(unsigned long stepsize)Phasor< UPDATE_RATE > [inline]
    - - - +

    This is the complete list of members for Phasor< UPDATE_RATE >, including all inherited members.

    + + + + + + + + +
    next()Phasor< UPDATE_RATE >inline
    phaseIncFromFreq(int frequency)Phasor< UPDATE_RATE >inline
    Phasor()Phasor< UPDATE_RATE >inline
    set(unsigned long value)Phasor< UPDATE_RATE >inline
    setFreq(int frequency)Phasor< UPDATE_RATE >inline
    setFreq(float frequency)Phasor< UPDATE_RATE >inline
    setPhaseInc(unsigned long stepsize)Phasor< UPDATE_RATE >inline
    + + + diff --git a/doc/html/class_phasor.html b/doc/html/class_phasor.html index d81c2908a..41f416df3 100644 --- a/doc/html/class_phasor.html +++ b/doc/html/class_phasor.html @@ -3,46 +3,44 @@ + Mozzi: Phasor< UPDATE_RATE > Class Template Reference - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • +
    + +
    +
    +
    + +
    @@ -90,94 +104,114 @@
    -
  • Phasor< UPDATE_RATE > Class Template Reference
    -

    Phasor repeatedly generates a high resolution ramp at a variable frequency. +

    Phasor repeatedly generates a high resolution ramp at a variable frequency. More...

    - -

    List of all members.

    - - + + - + + - + + - + + - + + - + + - + +

    +

    Public Member Functions

     Phasor ()
     Constructor.
     Constructor. More...
     
    unsigned long next ()
     Increments one step along the phase.
     Increments one step along the phase. More...
     
    void set (unsigned long value)
     Set the current value of the phasor.
     Set the current value of the phasor. More...
     
    void setFreq (int frequency)
     Set the Phasor frequency with an unsigned int.
     Set the Phasor frequency with an unsigned int. More...
     
    void setFreq (float frequency)
     Set the Phasor frequency with a float.
     Set the Phasor frequency with a float. More...
     
    unsigned long phaseIncFromFreq (int frequency)
     phaseIncFromFreq() and setPhaseInc() are for saving processor time when sliding between frequencies.
     
                    phaseIncFromFreq() and setPhaseInc() are for saving processor time when sliding
    +

    between frequencies. More...

     
    void setPhaseInc (unsigned long stepsize)
     Set a specific phase increment.
     Set a specific phase increment. More...
     
    -

    Detailed Description

    +

    Detailed Description

    template<unsigned int UPDATE_RATE>
    class Phasor< UPDATE_RATE >

    -

    Phasor repeatedly generates a high resolution ramp at a variable frequency.

    -

    The output of Phasor.next() is an unsigned number between 0 and 4294967295, the maximum that can be expressed by an unsigned long.

    -
    Template Parameters:
    - - +

    Phasor repeatedly generates a high resolution ramp at a variable frequency.

    +

    The output of Phasor.next() is an unsigned number between 0 and 4294967295, the maximum that can be expressed by an unsigned long.

    +
    Template Parameters
    +
    UPDATE_RATEthe rate at which the Phasor will be updated, usually CONTROL_RATE or AUDIO_RATE.
    +
    UPDATE_RATEthe rate at which the Phasor will be updated, usually CONTROL_RATE or AUDIO_RATE.

    Definition at line 44 of file Phasor.h.

    -

    Constructor & Destructor Documentation

    +

    Constructor & Destructor Documentation

    template<unsigned int UPDATE_RATE>
    + + + + + +
    - - + +
    Phasor< UPDATE_RATE >::Phasor () [inline])
    - -
    +
    +inline
    +

    Constructor.

    -

    "Phasor <AUDIO_RATE> myphasor;" makes a Phasor which updates at AUDIO_RATE.

    +

    "Phasor <AUDIO_RATE> myphasor;" makes a Phasor which updates at AUDIO_RATE.

    Definition at line 54 of file Phasor.h.

    -

    Member Function Documentation

    +

    Member Function Documentation

    template<unsigned int UPDATE_RATE>
    + + + + + +
    - + - - + +
    unsigned long Phasor< UPDATE_RATE >::next unsigned long Phasor< UPDATE_RATE >::next () [inline])
    - -
    +
    +inline
    +

    Increments one step along the phase.

    -
    Returns:
    the next value.
    +
    Returns
    the next value.

    Definition at line 62 of file Phasor.h.

    @@ -188,27 +222,35 @@
    template<unsigned int UPDATE_RATE>
    + + + + + +
    - + - - + +
    unsigned long Phasor< UPDATE_RATE >::phaseIncFromFreq unsigned long Phasor< UPDATE_RATE >::phaseIncFromFreq ( int frequency) [inline]frequency)
    - -
    +
    +inline
    +
    -

    phaseIncFromFreq() and setPhaseInc() are for saving processor time when sliding between frequencies.

    -

    Instead of recalculating the phase increment for each frequency in between, you can just calculate the phase increment for each end frequency with phaseIncFromFreq(), then use a Line to interpolate on the fly and use setPhaseInc() to set the phase increment at each step. (Note: I should really profile this with the oscilloscope to see if it's worth the extra confusion!)

    -
    Parameters:
    +

                    phaseIncFromFreq() and setPhaseInc() are for saving processor time when sliding
    +

    between frequencies.

    +

    Instead of recalculating the phase increment for each frequency in between, you can just calculate the phase increment for each end frequency with phaseIncFromFreq(), then use a Line to interpolate on the fly and use setPhaseInc() to set the phase increment at each step. (Note: I should really profile this with the oscilloscope to see if it's worth the extra confusion!)

    +
    Parameters
    frequencyfor which you want to calculate a phase increment value.
    -
    Returns:
    the phase increment value which will produce a given frequency.
    +
    Returns
    the phase increment value which will produce a given frequency.

    Definition at line 118 of file Phasor.h.

    @@ -219,20 +261,27 @@
    template<unsigned int UPDATE_RATE>
    + + + + + +
    - + - - + +
    void Phasor< UPDATE_RATE >::set void Phasor< UPDATE_RATE >::set ( unsigned long value) [inline]value)
    - -
    +
    +inline
    +

    Set the current value of the phasor.

    -

    The Phasor will continue incrementing from this value using any previously calculated step size.

    +

    The Phasor will continue incrementing from this value using any previously calculated step size.

    Definition at line 75 of file Phasor.h.

    @@ -243,26 +292,33 @@
    template<unsigned int UPDATE_RATE>
    + + + + + +
    - + - - + +
    void Phasor< UPDATE_RATE >::setFreq void Phasor< UPDATE_RATE >::setFreq ( int frequency) [inline]frequency)
    - -
    +
    +inline
    +
    -

    Set the Phasor frequency with an unsigned int.

    -
    Parameters:
    +

    Set the Phasor frequency with an unsigned int.

    +
    Parameters
    frequencyis how many times per second to count from 0 to the maximum unsigned long value 4294967295.
    -
    Note:
    Timing 8us
    +
    Note
    Timing 8us

    Definition at line 87 of file Phasor.h.

    @@ -273,20 +329,27 @@
    template<unsigned int UPDATE_RATE>
    + + + + + +
    - + - - + +
    void Phasor< UPDATE_RATE >::setFreq void Phasor< UPDATE_RATE >::setFreq ( float frequency) [inline]frequency)
    - -
    +
    +inline
    +
    -

    Set the Phasor frequency with a float.

    -
    Parameters:
    +

    Set the Phasor frequency with a float.

    +
    Parameters
    frequencyis how many times per second to count from 0 to the maximum unsigned long value 4294967295.
    @@ -302,23 +365,30 @@
    template<unsigned int UPDATE_RATE>
    + + + + + +
    - + - - + +
    void Phasor< UPDATE_RATE >::setPhaseInc void Phasor< UPDATE_RATE >::setPhaseInc ( unsigned long stepsize) [inline]stepsize)
    - -
    +
    +inline
    +

    Set a specific phase increment.

    -

    See phaseIncFromFreq().

    -
    Parameters:
    +

    See phaseIncFromFreq().

    +
    Parameters
    - +
    stepsizea phase increment value as calculated by phaseIncFromFreq().
    stepsizea phase increment value as calculated by phaseIncFromFreq().
    @@ -331,13 +401,15 @@
  • Phasor.h
  • - - - - +
    + + diff --git a/doc/html/class_phasor.js b/doc/html/class_phasor.js new file mode 100644 index 000000000..65f719c57 --- /dev/null +++ b/doc/html/class_phasor.js @@ -0,0 +1,10 @@ +var class_phasor = +[ + [ "Phasor", "class_phasor.html#a147c4c3aa7506c3da800e6cc77deb4ac", null ], + [ "next", "class_phasor.html#a08ab94aeb466450173bd486fbf8eb823", null ], + [ "phaseIncFromFreq", "class_phasor.html#a9b5992b53fa7e449fec950df00c46230", null ], + [ "set", "class_phasor.html#a509e4a782a36cb9e913da170d6707421", null ], + [ "setFreq", "class_phasor.html#afc6106c648bddb5f2f084b8f34216b0f", null ], + [ "setFreq", "class_phasor.html#a81f1976ebb4a91f66f26674efca52072", null ], + [ "setPhaseInc", "class_phasor.html#aa3d62bdf762247b2523c0a625caeedd7", null ] +]; \ No newline at end of file diff --git a/doc/html/class_portamento-members.html b/doc/html/class_portamento-members.html index 95168b429..fc6e62f70 100644 --- a/doc/html/class_portamento-members.html +++ b/doc/html/class_portamento-members.html @@ -3,46 +3,44 @@ + Mozzi: Member List - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • +
    + +
    +
    +
    + +
    @@ -90,26 +104,28 @@
    -
  • Portamento< CONTROL_UPDATE_RATE > Member List
    -This is the complete list of members for Portamento< CONTROL_UPDATE_RATE >, including all inherited members. - - - - - -
    next()Portamento< CONTROL_UPDATE_RATE > [inline]
    Portamento()Portamento< CONTROL_UPDATE_RATE > [inline]
    setTime(unsigned int milliseconds)Portamento< CONTROL_UPDATE_RATE > [inline]
    start(unsigned char note)Portamento< CONTROL_UPDATE_RATE > [inline]
    start(Q16n16 note)Portamento< CONTROL_UPDATE_RATE > [inline]
    - - - +

    This is the complete list of members for Portamento< CONTROL_UPDATE_RATE >, including all inherited members.

    + + + + + + +
    next()Portamento< CONTROL_UPDATE_RATE >inline
    Portamento()Portamento< CONTROL_UPDATE_RATE >inline
    setTime(unsigned int milliseconds)Portamento< CONTROL_UPDATE_RATE >inline
    start(unsigned char note)Portamento< CONTROL_UPDATE_RATE >inline
    start(Q16n16 note)Portamento< CONTROL_UPDATE_RATE >inline
    +
    + + diff --git a/doc/html/class_portamento.html b/doc/html/class_portamento.html index 6e1a55246..25e9fe8e5 100644 --- a/doc/html/class_portamento.html +++ b/doc/html/class_portamento.html @@ -3,46 +3,44 @@ + Mozzi: Portamento< CONTROL_UPDATE_RATE > Class Template Reference - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • +
    + +
    +
    +
    + +
    @@ -90,10 +104,10 @@
    -
  • Portamento< CONTROL_UPDATE_RATE > Class Template Reference
    @@ -101,49 +115,61 @@

    A simple portamento (pitch slide from one note to the next) effect, useful for note-based applications. More...

    - -

    List of all members.

    - + - + + - + + - + + - + +

    +

    Public Member Functions

     Portamento ()
     Constructor.
     
    void setTime (unsigned int milliseconds)
     Set how long it will take to slide from note to note, in milliseconds.
     Set how long it will take to slide from note to note, in milliseconds. More...
     
    void start (unsigned char note)
     Call this at note-on, it initialises the portamento.
     Call this at note-on, it initialises the portamento. More...
     
    void start (Q16n16 note)
     Call this at note-on, it initialises the portamento.
     Call this at note-on, it initialises the portamento. More...
     
    Q16n16 next ()
     Use this in updateControl() to provide a frequency to the oscillator it's controlling, for example: myOscil.setFreq_Q16n16(myPortamento.next());.
     
    Use this in updateControl() to provide a frequency to the oscillator it's controlling, for example: 
    +

    myOscil.setFreq_Q16n16(myPortamento.next()); More...

     
    -

    Detailed Description

    +

    Detailed Description

    template<unsigned int CONTROL_UPDATE_RATE>
    class Portamento< CONTROL_UPDATE_RATE >

    A simple portamento (pitch slide from one note to the next) effect, useful for note-based applications.

    Definition at line 33 of file Portamento.h.

    -

    Member Function Documentation

    +

    Member Function Documentation

    template<unsigned int CONTROL_UPDATE_RATE>
    + + + + + +
    - + - - + +
    Q16n16 Portamento< CONTROL_UPDATE_RATE >::next Q16n16 Portamento< CONTROL_UPDATE_RATE >::next () [inline])
    - -
    +
    +inline
    +
    -

    Use this in updateControl() to provide a frequency to the oscillator it's controlling, for example: myOscil.setFreq_Q16n16(myPortamento.next());.

    -
    Returns:
    a Q16n16 fractional frequency value, progressing smoothly between successive notes.
    +

    Use this in updateControl() to provide a frequency to the oscillator it's controlling, for example: 
    +

    myOscil.setFreq_Q16n16(myPortamento.next());

    +
    Returns
    a Q16n16 fractional frequency value, progressing smoothly between successive notes.

    Definition at line 82 of file Portamento.h.

    @@ -154,20 +180,27 @@
    template<unsigned int CONTROL_UPDATE_RATE>
    + + + + + +
    - + - - + +
    void Portamento< CONTROL_UPDATE_RATE >::setTime void Portamento< CONTROL_UPDATE_RATE >::setTime ( unsigned int milliseconds) [inline]milliseconds)
    - -
    +
    +inline
    +

    Set how long it will take to slide from note to note, in milliseconds.

    -
    Parameters:
    +
    Parameters
    milliseconds
    @@ -183,20 +216,27 @@
    template<unsigned int CONTROL_UPDATE_RATE>
    + + + + + +
    - + - - + +
    void Portamento< CONTROL_UPDATE_RATE >::start void Portamento< CONTROL_UPDATE_RATE >::start ( unsigned char note) [inline]note)
    - -
    +
    +inline
    +

    Call this at note-on, it initialises the portamento.

    -
    Parameters:
    +
    Parameters
    notea midi note number, a whole number.
    @@ -212,20 +252,27 @@
    template<unsigned int CONTROL_UPDATE_RATE>
    + + + + + +
    - + - - + +
    void Portamento< CONTROL_UPDATE_RATE >::start void Portamento< CONTROL_UPDATE_RATE >::start ( Q16n16 note) [inline]note)
    - -
    +
    +inline
    +

    Call this at note-on, it initialises the portamento.

    -
    Parameters:
    +
    Parameters
    notea midi note number in Q16n16 fractional format. This is useful for non-whole note or detuned values.
    @@ -240,13 +287,15 @@
  • Portamento.h
  • - - - - +
    + + diff --git a/doc/html/class_portamento.js b/doc/html/class_portamento.js new file mode 100644 index 000000000..7ef748d88 --- /dev/null +++ b/doc/html/class_portamento.js @@ -0,0 +1,8 @@ +var class_portamento = +[ + [ "Portamento", "class_portamento.html#adc910a47d3fe8eff848d6de42d7280df", null ], + [ "next", "class_portamento.html#ad39101f5275c433713df7699214638bc", null ], + [ "setTime", "class_portamento.html#af19c3b3c189e111079f54211ff5a4ebe", null ], + [ "start", "class_portamento.html#af93c2b0ab1efa88d4e15f919401c2337", null ], + [ "start", "class_portamento.html#af70701abfdd9f3d788f3b313e38017d0", null ] +]; \ No newline at end of file diff --git a/doc/html/class_r_cpoll-members.html b/doc/html/class_r_cpoll-members.html index 2fbe84d39..98399433e 100644 --- a/doc/html/class_r_cpoll-members.html +++ b/doc/html/class_r_cpoll-members.html @@ -3,46 +3,44 @@ + Mozzi: Member List - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • +
    + +
    +
    +
    + +
    @@ -90,23 +104,25 @@
    -
  • RCpoll< SENSOR_PIN > Member List
    -This is the complete list of members for RCpoll< SENSOR_PIN >, including all inherited members. - - -
    next()RCpoll< SENSOR_PIN > [inline]
    RCpoll()RCpoll< SENSOR_PIN > [inline]
    - - - +

    This is the complete list of members for RCpoll< SENSOR_PIN >, including all inherited members.

    + + + +
    next()RCpoll< SENSOR_PIN >inline
    RCpoll()RCpoll< SENSOR_PIN >inline
    +
    + + diff --git a/doc/html/class_r_cpoll.html b/doc/html/class_r_cpoll.html index 80fc4af0d..62781d37d 100644 --- a/doc/html/class_r_cpoll.html +++ b/doc/html/class_r_cpoll.html @@ -3,46 +3,44 @@ + Mozzi: RCpoll< SENSOR_PIN > Class Template Reference - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • +
    + +
    +
    +
    + +
    @@ -90,10 +104,10 @@
    -
  • RCpoll< SENSOR_PIN > Class Template Reference
    @@ -101,45 +115,52 @@

    A class for reading voltage on a digital pin, derived from http://arduino.cc/en/Tutorial/RCtime. More...

    - -

    List of all members.

    - + - + +

    +

    Public Member Functions

     RCpoll ()
     Constructor.
     
    unsigned int next ()
     Checks whether the capacitor has charged, and returns how long it took for the most recent charge.
     Checks whether the capacitor has charged, and returns how long it took for the most recent charge. More...
     
    -

    Detailed Description

    +

    Detailed Description

    template<unsigned char SENSOR_PIN>
    class RCpoll< SENSOR_PIN >

    A class for reading voltage on a digital pin, derived from http://arduino.cc/en/Tutorial/RCtime.

    -

    This is designed to be used in updateControl(). Each time it is called, it checks if a capacitor has charged, and returns an output reflecting how long it took for the most recent charge.

    +

    This is designed to be used in updateControl(). Each time it is called, it checks if a capacitor has charged, and returns an output reflecting how long it took for the most recent charge.

    Definition at line 12 of file RCpoll.h.

    -

    Member Function Documentation

    +

    Member Function Documentation

    template<unsigned char SENSOR_PIN>
    + + + + + +
    - + - - + +
    unsigned int RCpoll< SENSOR_PIN >::next unsigned int RCpoll< SENSOR_PIN >::next () [inline])
    - -
    +
    +inline
    +

    Checks whether the capacitor has charged, and returns how long it took for the most recent charge.

    -

    This would preferably be called in updateControl(), but if the resolution isn't fine enough or the pin charges too fast for updateControl() to catch, try it in updateAudio().

    -
    Returns:
    the sensor value, reflected in how many checking cycles it took to charge the capacitor.
    +

    This would preferably be called in updateControl(), but if the resolution isn't fine enough or the pin charges too fast for updateControl() to catch, try it in updateAudio().

    +
    Returns
    the sensor value, reflected in how many checking cycles it took to charge the capacitor.

    Definition at line 29 of file RCpoll.h.

    @@ -149,13 +170,15 @@
  • RCpoll.h
  • - - - - +
    + + diff --git a/doc/html/class_r_cpoll.js b/doc/html/class_r_cpoll.js new file mode 100644 index 000000000..49676e94b --- /dev/null +++ b/doc/html/class_r_cpoll.js @@ -0,0 +1,5 @@ +var class_r_cpoll = +[ + [ "RCpoll", "class_r_cpoll.html#a44673505bbfbac288ec994dd48017e83", null ], + [ "next", "class_r_cpoll.html#ab61697b3922ed289c8d501ccd11cbd6f", null ] +]; \ No newline at end of file diff --git a/doc/html/class_recent_average-members.html b/doc/html/class_recent_average-members.html index c23263898..e06acfa14 100644 --- a/doc/html/class_recent_average-members.html +++ b/doc/html/class_recent_average-members.html @@ -3,46 +3,44 @@ + Mozzi: Member List - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • +
    + +
    +
    +
    + +
    @@ -90,23 +104,25 @@
    -
  • RecentAverage< T, NUM_READINGS > Member List
    -This is the complete list of members for RecentAverage< T, NUM_READINGS >, including all inherited members. - - -
    next(T input)RecentAverage< T, NUM_READINGS > [inline]
    RecentAverage()RecentAverage< T, NUM_READINGS > [inline]
    - - - +

    This is the complete list of members for RecentAverage< T, NUM_READINGS >, including all inherited members.

    + + + +
    next(T input)RecentAverage< T, NUM_READINGS >inline
    RecentAverage()RecentAverage< T, NUM_READINGS >inline
    +
    + + diff --git a/doc/html/class_recent_average.html b/doc/html/class_recent_average.html index fc283672b..518116237 100644 --- a/doc/html/class_recent_average.html +++ b/doc/html/class_recent_average.html @@ -3,46 +3,44 @@ + Mozzi: RecentAverage< T, NUM_READINGS > Class Template Reference - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • +
    + +
    +
    +
    + +
    @@ -90,10 +104,10 @@
    -
  • RecentAverage< T, NUM_READINGS > Class Template Reference
    @@ -101,81 +115,96 @@

    Calculates a running average over a specified number of the most recent readings. More...

    - -

    List of all members.

    - - + + - + +

    +

    Public Member Functions

     RecentAverage ()
     Constructor.
     Constructor. More...
     
    next (T input)
     Give the average of the last NUM_READINGS.
     Give the average of the last NUM_READINGS. More...
     
    -

    Detailed Description

    +

    Detailed Description

    template<class T, int NUM_READINGS>
    class RecentAverage< T, NUM_READINGS >

    Calculates a running average over a specified number of the most recent readings.

    -

    Like Smooth(), this is good for smoothing analog inputs in updateControl().

    - +

    Like Smooth(), this is good for smoothing analog inputs in updateControl().

    +
    Examples:
    _02_control/Control_Echo_Theremin/Control_Echo_Theremin.ino.
    +

    Definition at line 42 of file RecentAverage.h.

    -

    Constructor & Destructor Documentation

    +

    Constructor & Destructor Documentation

    -template<class T , int NUM_READINGS>
    +template<class T, int NUM_READINGS>
    + + + + + +
    - - + +
    RecentAverage< T, NUM_READINGS >::RecentAverage () [inline])
    - -
    +
    +inline
    +

    Constructor.

    -
    Template Parameters:
    - +
    Template Parameters
    +
    Tthe type of numbers to average, eg. int, unsigned int, float etc. It will be relatively slow with floating point numbers, as it will use a divide operation for the averaging. Nevertheless, there might be a time when it's useful.
    NUM_READINGSthe number of readings to keep track of. It must be a power of two (unless you're averaging floats). The higher the number, the more the readings will be smoothed, but the slower the output will respond to the input.
    -
    Note:
    Watch out for overflows if you are averaging a long number types!
    +
    Note
    Watch out for overflows if you are averaging a long number types!

    Definition at line 55 of file RecentAverage.h.

    -

    Member Function Documentation

    +

    Member Function Documentation

    -template<class T , int NUM_READINGS>
    +template<class T, int NUM_READINGS>
    + + + + + +
    - + - - + +
    T RecentAverage< T, NUM_READINGS >::next T RecentAverage< T, NUM_READINGS >::next ( input) [inline]input)
    - -
    +
    +inline
    +

    Give the average of the last NUM_READINGS.

    -
    Parameters:
    +
    Parameters
    - +
    acontrol signal such as an analog input which needs smoothing.
    inputa control signal such as an analog input which needs smoothing.
    -
    Returns:
    the smoothed result.
    +
    Returns
    the smoothed result.

    Definition at line 98 of file RecentAverage.h.

    @@ -185,13 +214,15 @@
  • RecentAverage.h
  • - - - - +
    + + diff --git a/doc/html/class_recent_average.js b/doc/html/class_recent_average.js new file mode 100644 index 000000000..2a264ab52 --- /dev/null +++ b/doc/html/class_recent_average.js @@ -0,0 +1,5 @@ +var class_recent_average = +[ + [ "RecentAverage", "class_recent_average.html#a75bd636f24d01b516c063bfd69c97810", null ], + [ "next", "class_recent_average.html#a92de648c74ea40c061e3081b5f9637ce", null ] +]; \ No newline at end of file diff --git a/doc/html/class_reverb_tank-members.html b/doc/html/class_reverb_tank-members.html index f39d968f1..8fc05ecff 100644 --- a/doc/html/class_reverb_tank-members.html +++ b/doc/html/class_reverb_tank-members.html @@ -3,46 +3,44 @@ + Mozzi: Member List - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • +
    + +
    +
    +
    + +
    @@ -90,26 +104,28 @@
    -
  • ReverbTank Member List
    -This is the complete list of members for ReverbTank, including all inherited members. - - - - - -
    next(int input)ReverbTank [inline]
    ReverbTank(char early_reflection1=37, char early_reflection2=77, char early_reflection3=127, char loop1_delay=117, unsigned char loop2_delay=255, char feedback_level=85)ReverbTank [inline]
    setEarlyReflections(char early_reflection1, char early_reflection2, char early_reflection3)ReverbTank [inline]
    setFeebackLevel(char feedback_level)ReverbTank [inline]
    setLoopDelays(char loop1_delay, unsigned char loop2_delay)ReverbTank [inline]
    - - - +

    This is the complete list of members for ReverbTank, including all inherited members.

    + + + + + + +
    next(int input)ReverbTankinline
    ReverbTank(char early_reflection1=37, char early_reflection2=77, char early_reflection3=127, char loop1_delay=117, unsigned char loop2_delay=255, char feedback_level=85)ReverbTankinline
    setEarlyReflections(char early_reflection1, char early_reflection2, char early_reflection3)ReverbTankinline
    setFeebackLevel(char feedback_level)ReverbTankinline
    setLoopDelays(char loop1_delay, unsigned char loop2_delay)ReverbTankinline
    + + + diff --git a/doc/html/class_reverb_tank.html b/doc/html/class_reverb_tank.html index ac543ae95..cf280bab4 100644 --- a/doc/html/class_reverb_tank.html +++ b/doc/html/class_reverb_tank.html @@ -3,46 +3,44 @@ + Mozzi: ReverbTank Class Reference - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • +
    + +
    +
    +
    + +
    @@ -90,10 +104,10 @@
    -
  • ReverbTank Class Reference
    @@ -101,36 +115,42 @@

    A reverb which sounds like the inside of a tin can. More...

    - -

    List of all members.

    - - + + - + + - + + - + + - + +

    +

    Public Member Functions

     ReverbTank (char early_reflection1=37, char early_reflection2=77, char early_reflection3=127, char loop1_delay=117, unsigned char loop2_delay=255, char feedback_level=85)
     Constructor.
     Constructor. More...
     
    int next (int input)
     Process the next audio sample and return the reverbed signal.
     Process the next audio sample and return the reverbed signal. More...
     
    void setEarlyReflections (char early_reflection1, char early_reflection2, char early_reflection3)
     Set the early reflection times in terms of delay cells.
     Set the early reflection times in terms of delay cells. More...
     
    void setLoopDelays (char loop1_delay, unsigned char loop2_delay)
     Set the loop delay times in terms of delay cells.
     Set the loop delay times in terms of delay cells. More...
     
    void setFeebackLevel (char feedback_level)
     Set the feedback level for the recirculating delays.
     Set the feedback level for the recirculating delays. More...
     
    -

    Detailed Description

    +

    Detailed Description

    A reverb which sounds like the inside of a tin can.

    -

    ReverbTank is small enough to fit on the Arduino Nano, which for some reason wasn't able to fit a larger version which did fit on other 328 based boards. For simplicity, ReverbTank has hardcoded maximum delay sizes but also has default delay times which can be changed in the constructor or by setting during run time to allow live tweaking. This is a highly simplified design drawing on and probably misinterpreting Miller Puckette's G08.reverb recirculating reverb example for Pure Data.

    +

    ReverbTank is small enough to fit on the Arduino Nano, which for some reason wasn't able to fit a larger version which did fit on other 328 based boards. For simplicity, ReverbTank has hardcoded maximum delay sizes but also has default delay times which can be changed in the constructor or by setting during run time to allow live tweaking. This is a highly simplified design drawing on and probably misinterpreting Miller Puckette's G08.reverb recirculating reverb example for Pure Data.

    The room size according to the maximum delay lengths corresponds to:

    early reflections and recirculating delay 1: 128/16384 seconds * 340.29 m/s speed of sound = 3.5 metres recirculating delay 2: 7 metres It looks bigger on paper than it sounds.

    Definition at line 43 of file ReverbTank.h.

    -

    Constructor & Destructor Documentation

    +

    Constructor & Destructor Documentation

    + + + + + +
    - + @@ -168,15 +188,19 @@ - +
    ReverbTank::ReverbTank ReverbTank::ReverbTank ( char  early_reflection1 = 37,
    ) [inline]
    - -
    +
    +inline
    +

    Constructor.

    This has default values for the early reflection times, recirculating delay lengths and feedback level, which can be changed here in the constructor or set with other functions during run time.

    -
    Parameters:
    +
    Parameters
    @@ -192,31 +216,38 @@ -

    Member Function Documentation

    +

    Member Function Documentation

    +
    early_reflection1how long in delay cells till the first early reflection, from 0 to 127
    early_reflection2how long in delay cells till the second early reflection, from early_reflection1 to 127
    + + + + +
    - + - - + +
    int ReverbTank::next int ReverbTank::next ( int input) [inline]input)
    - -
    +
    +inline
    +

    Process the next audio sample and return the reverbed signal.

    This returns only the "wet" signal, which can be combined with the dry input signal in the sketch.

    -
    Parameters:
    +
    Parameters
    inputthe audio signal to process
    -
    Returns:
    the processed signal
    +
    Returns
    the processed signal

    Definition at line 76 of file ReverbTank.h.

    @@ -225,9 +256,12 @@
    + + + + + +
    - + @@ -247,14 +281,18 @@ - +
    void ReverbTank::setEarlyReflections void ReverbTank::setEarlyReflections ( char  early_reflection1,
    ) [inline]
    - -
    +
    +inline
    +

    Set the early reflection times in terms of delay cells.

    -
    Parameters:
    +
    Parameters
    @@ -270,20 +308,27 @@
    +
    early_reflection1how long in delay cells till the first early reflection, from 0 to 127
    early_reflection2how long in delay cells till the second early reflection, from early_reflection1 to 127
    + + + + +
    - + - - + +
    void ReverbTank::setFeebackLevel void ReverbTank::setFeebackLevel ( char feedback_level) [inline]feedback_level)
    - -
    +
    +inline
    +

    Set the feedback level for the recirculating delays.

    -
    Parameters:
    +
    Parameters
    feedback_levelhow much recirculation, from -128 to 127
    @@ -297,9 +342,12 @@
    + + + + + +
    - + @@ -313,14 +361,18 @@ - +
    void ReverbTank::setLoopDelays void ReverbTank::setLoopDelays ( char  loop1_delay,
    ) [inline]
    - -
    +
    +inline
    +

    Set the loop delay times in terms of delay cells.

    -
    Parameters:
    +
    Parameters
    @@ -336,13 +388,15 @@
  • ReverbTank.h
  • - - - - + + + diff --git a/doc/html/class_reverb_tank.js b/doc/html/class_reverb_tank.js new file mode 100644 index 000000000..de80b1f67 --- /dev/null +++ b/doc/html/class_reverb_tank.js @@ -0,0 +1,8 @@ +var class_reverb_tank = +[ + [ "ReverbTank", "class_reverb_tank.html#a2b413e10d5d3688f2066624e5a8ae324", null ], + [ "next", "class_reverb_tank.html#a4930ae7a871dba610fb141d7ab83d827", null ], + [ "setEarlyReflections", "class_reverb_tank.html#aeaa523c4fae743ef7ded87d4902af3d7", null ], + [ "setFeebackLevel", "class_reverb_tank.html#a25ce51abfcaccb316007edc77446520b", null ], + [ "setLoopDelays", "class_reverb_tank.html#a6c19a84c7bc1f068871551891011a89c", null ] +]; \ No newline at end of file diff --git a/doc/html/class_sample-members.html b/doc/html/class_sample-members.html index 019a9d34f..3b2ff2cd9 100644 --- a/doc/html/class_sample-members.html +++ b/doc/html/class_sample-members.html @@ -3,46 +3,44 @@ +Mozzi: Member List - - - - + + + + + + - + -
    - - +
    loop1_delayhow long in delay cells for the first recirculating delay, form 0 to 127
    loop2_delayhow long in delay cells for the first recirculating delay, form 0 to 255
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • +
    + +
    +
    +
    + +
    @@ -90,39 +104,41 @@
    -
  • Sample< NUM_TABLE_CELLS, UPDATE_RATE > Member List
    - - - +

    This is the complete list of members for Sample< NUM_TABLE_CELLS, UPDATE_RATE >, including all inherited members.

    + + + + + + + + + + + + + + + + + + + +
    atIndex(unsigned int index)Sample< NUM_TABLE_CELLS, UPDATE_RATE >inline
    isPlaying()Sample< NUM_TABLE_CELLS, UPDATE_RATE >inline
    next()Sample< NUM_TABLE_CELLS, UPDATE_RATE >inline
    phaseIncFromFreq(unsigned int frequency)Sample< NUM_TABLE_CELLS, UPDATE_RATE >inline
    rangeWholeSample()Sample< NUM_TABLE_CELLS, UPDATE_RATE >inline
    Sample(const char *TABLE_NAME)Sample< NUM_TABLE_CELLS, UPDATE_RATE >inline
    Sample()Sample< NUM_TABLE_CELLS, UPDATE_RATE >inline
    setEnd(unsigned int end)Sample< NUM_TABLE_CELLS, UPDATE_RATE >inline
    setFreq(int frequency)Sample< NUM_TABLE_CELLS, UPDATE_RATE >inline
    setFreq(float frequency)Sample< NUM_TABLE_CELLS, UPDATE_RATE >inline
    setFreq_Q24n8(Q24n8 frequency)Sample< NUM_TABLE_CELLS, UPDATE_RATE >inline
    setLoopingOff()Sample< NUM_TABLE_CELLS, UPDATE_RATE >inline
    setLoopingOn()Sample< NUM_TABLE_CELLS, UPDATE_RATE >inline
    setPhaseInc(unsigned long phaseinc_fractional)Sample< NUM_TABLE_CELLS, UPDATE_RATE >inline
    setStart(unsigned int startpos)Sample< NUM_TABLE_CELLS, UPDATE_RATE >inline
    setTable(const char *TABLE_NAME)Sample< NUM_TABLE_CELLS, UPDATE_RATE >inline
    start()Sample< NUM_TABLE_CELLS, UPDATE_RATE >inline
    start(unsigned int startpos)Sample< NUM_TABLE_CELLS, UPDATE_RATE >inline
    +
    + + diff --git a/doc/html/class_sample.html b/doc/html/class_sample.html index 990c111d0..8eca31a7e 100644 --- a/doc/html/class_sample.html +++ b/doc/html/class_sample.html @@ -3,46 +3,44 @@ + Mozzi: Sample< NUM_TABLE_CELLS, UPDATE_RATE > Class Template Reference - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • +
    + +
    +
    +
    + +
    @@ -90,103 +104,127 @@
    -
  • Sample< NUM_TABLE_CELLS, UPDATE_RATE > Class Template Reference
    -

    Sample is like Oscil, it plays a wavetable. +

    Sample is like Oscil, it plays a wavetable. More...

    - -

    List of all members.

    - - + + - + + - - - + + + + + - + + - + + - + + + + + - + + - + + - + + - + + - + + - + + - + + - + +

    +

    Public Member Functions

     Sample (const char *TABLE_NAME)
     Constructor.
     Constructor. More...
     
     Sample ()
     Constructor.
     Constructor. More...
     
    void setTable (const char *TABLE_NAME)
     Change the sound table which will be played by the Sample.
    void setStart (unsigned int start)
     Sets the starting position in samples.
     Change the sound table which will be played by the Sample. More...
     
    void setStart (unsigned int startpos)
     Sets the starting position in samples. More...
     
    void start ()
     Resets the phase (the playhead) to the start position, which will be 0 unless set to another value with setStart();.
     Resets the phase (the playhead) to the start position, which will be 0 unless set to another value with setStart();.
     
    void start (unsigned int startpos)
     Sets the a new start position and sets the phase (the playhead) to that position.
     Sets the a new start position and sets the phase (the playhead) to that position. More...
     
    void setEnd (unsigned int end)
     Sets the end position in samples from the beginning of the sound.
     Sets the end position in samples from the beginning of the sound. More...
     
    void rangeWholeSample ()
     Sets the start and end points to include the range of the whole sound table.
     
    void setLoopingOn ()
     Turns looping on, with the whole sample length as the loop range.
     
    void setLoopingOff ()
     Turns looping off.
     
    char next ()
     Returns the sample at the current phase position, or 0 if looping is off and the phase overshoots the end of the sample.
     Returns the sample at the current phase position, or 0 if looping is off and the phase overshoots the end of the sample. More...
     
    boolean isPlaying ()
     Checks if the sample is playing by seeing if the phase is within the limits of its end position.
     Checks if the sample is playing by seeing if the phase is within the limits of its end position. More...
     
    void setFreq (int frequency)
     Returns the next sample given a phase modulation value.
     Set the oscillator frequency with an unsigned int. More...
     
    void setFreq (float frequency)
     Set the sample frequency with a float.
     Set the sample frequency with a float. More...
     
    void setFreq_Q24n8 (Q24n8 frequency)
     Set the frequency using Q24n8 fixed-point number format.
     Set the frequency using Q24n8 fixed-point number format. More...
     
    char atIndex (unsigned int index)
     Returns the sample at the given table index.
     Returns the sample at the given table index. More...
     
    unsigned long phaseIncFromFreq (unsigned int frequency)
     phaseIncFromFreq() and setPhaseInc() are for saving processor time when sliding between frequencies.
     
    phaseIncFromFreq() and setPhaseInc() are for saving processor time when sliding
    +

    between frequencies. More...

     
    void setPhaseInc (unsigned long phaseinc_fractional)
     Set a specific phase increment.
     Set a specific phase increment. More...
     
    -

    Detailed Description

    +

    Detailed Description

    template<unsigned int NUM_TABLE_CELLS, unsigned int UPDATE_RATE>
    class Sample< NUM_TABLE_CELLS, UPDATE_RATE >

    -

    Sample is like Oscil, it plays a wavetable.

    -

    However, Sample can be set to play once through only, with variable start and end points, or can loop, also with variable start and end points. It defaults to playing once through the whole sound table, from start to finish.

    -
    Template Parameters:
    - - - +

    Sample is like Oscil, it plays a wavetable.

    +

    However, Sample can be set to play once through only, with variable start and end points, or can loop, also with variable start and end points. It defaults to playing once through the whole sound table, from start to finish.

    +
    Template Parameters
    +
    NUM_TABLE_CELLSThis is defined in the table ".h" file the Sample will be using. The sound table can be arbitrary length for Sample. It's important that NUM_TABLE_CELLS is either a literal number (eg. "8192") or a defined macro, rather than a const or int, for the Sample to run fast enough.
    UPDATE_RATEThis will be AUDIO_RATE if the Sample is updated in updateAudio(), or CONTROL_RATE if it's updated each time updateControl() is called. It could also be a fraction of CONTROL_RATE if you are doing some kind of cyclic updating in updateControl(), for example, to spread out the processor load.
    + +
    NUM_TABLE_CELLSThis is defined in the table ".h" file the Sample will be using. The sound table can be arbitrary length for Sample. It's important that NUM_TABLE_CELLS is either a literal number (eg. "8192") or a defined macro, rather than a const or int, for the Sample to run fast enough.
    UPDATE_RATEThis will be AUDIO_RATE if the Sample is updated in updateAudio(), or CONTROL_RATE if it's updated each time updateControl() is called. It could also be a fraction of CONTROL_RATE if you are doing some kind of cyclic updating in updateControl(), for example, to spread out the processor load.
    -

    -char2mozzi

    +

    +char2mozzi

    Converting soundfiles for Mozzi. There is a python script called char2mozzi.py in the Mozzi/python folder. The script converts raw sound data saved from a program like Audacity. Instructions are in the char2mozzi.py file.

    Definition at line 62 of file Sample.h.

    -

    Constructor & Destructor Documentation

    +

    Constructor & Destructor Documentation

    template<unsigned int NUM_TABLE_CELLS, unsigned int UPDATE_RATE>
    + + + + + +
    - - + +
    Sample< NUM_TABLE_CELLS, UPDATE_RATE >::Sample ( const char * TABLE_NAME) [inline]TABLE_NAME)
    - -
    +
    +inline
    +

    Constructor.

    -
    Parameters:
    +
    Parameters
    - +
    TABLE_NAMEthe name of the array the Sample will be using. This can be found in the table ".h" file if you are using a table made for Mozzi by the char2mozzi.py python script in Mozzi's python folder. Sound tables can be of arbitrary lengths for Sample().
    TABLE_NAMEthe name of the array the Sample will be using. This can be found in the table ".h" file if you are using a table made for Mozzi by the char2mozzi.py python script in Mozzi's python folder. Sound tables can be of arbitrary lengths for Sample().
    @@ -200,50 +238,64 @@

    template<unsigned int NUM_TABLE_CELLS, unsigned int UPDATE_RATE>
    + + + + + +
    - - + +
    Sample< NUM_TABLE_CELLS, UPDATE_RATE >::Sample () [inline])
    - -
    +
    +inline
    +

    Constructor.

    -

    Declare a Sample with template TABLE_NUM_CELLS and UPDATE_RATE parameters, without specifying a particular wave table for it to play. The table can be set or changed on the fly with setTable().

    +

    Declare a Sample with template TABLE_NUM_CELLS and UPDATE_RATE parameters, without specifying a particular wave table for it to play. The table can be set or changed on the fly with setTable().

    Definition at line 85 of file Sample.h.

    -

    Member Function Documentation

    +

    Member Function Documentation

    template<unsigned int NUM_TABLE_CELLS, unsigned int UPDATE_RATE>
    + + + + + +
    - + - - + +
    char Sample< NUM_TABLE_CELLS, UPDATE_RATE >::atIndex char Sample< NUM_TABLE_CELLS, UPDATE_RATE >::atIndex ( unsigned int index) [inline]index)
    - -
    +
    +inline
    +

    Returns the sample at the given table index.

    -
    Parameters:
    +
    Parameters
    - +
    atIndextable index between 0 and the table size.The index rolls back around to 0 if it's larger than the table size.
    indexbetween 0 and the table size.The index rolls back around to 0 if it's larger than the table size.
    -
    Returns:
    the sample at the given table index.
    +
    Returns
    the sample at the given table index.

    Definition at line 287 of file Sample.h.

    @@ -254,19 +306,26 @@

    template<unsigned int NUM_TABLE_CELLS, unsigned int UPDATE_RATE>
    + + + + + +
    - + - - + +
    boolean Sample< NUM_TABLE_CELLS, UPDATE_RATE >::isPlaying boolean Sample< NUM_TABLE_CELLS, UPDATE_RATE >::isPlaying () [inline])
    - -
    +
    +inline
    +

    Checks if the sample is playing by seeing if the phase is within the limits of its end position.

    -
    Returns:
    true if the sample is playing
    +
    Returns
    true if the sample is playing

    Definition at line 207 of file Sample.h.

    @@ -277,20 +336,27 @@

    template<unsigned int NUM_TABLE_CELLS, unsigned int UPDATE_RATE>
    + + + + + +
    - + - - + +
    char Sample< NUM_TABLE_CELLS, UPDATE_RATE >::next char Sample< NUM_TABLE_CELLS, UPDATE_RATE >::next () [inline])
    - -
    +
    +inline
    +

    Returns the sample at the current phase position, or 0 if looping is off and the phase overshoots the end of the sample.

    Updates the phase according to the current frequency.

    -
    Returns:
    the next sample value from the table, or 0 if it's finished playing.
    +
    Returns
    the next sample value from the table, or 0 if it's finished playing.

    Definition at line 181 of file Sample.h.

    @@ -301,27 +367,35 @@

    template<unsigned int NUM_TABLE_CELLS, unsigned int UPDATE_RATE>
    + + + + + +
    - + - - + +
    unsigned long Sample< NUM_TABLE_CELLS, UPDATE_RATE >::phaseIncFromFreq unsigned long Sample< NUM_TABLE_CELLS, UPDATE_RATE >::phaseIncFromFreq ( unsigned int frequency) [inline]frequency)
    - -
    +
    +inline
    +
    -

    phaseIncFromFreq() and setPhaseInc() are for saving processor time when sliding between frequencies.

    -

    Instead of recalculating the phase increment for each frequency in between, you can just calculate the phase increment for each end frequency with phaseIncFromFreq(), then use a Line to interpolate on the fly and use setPhaseInc() to set the phase increment at each step. (Note: I should really profile this with the oscilloscope to see if it's worth the extra confusion!)

    -
    Parameters:
    +

    phaseIncFromFreq() and setPhaseInc() are for saving processor time when sliding
    +

    between frequencies.

    +

    Instead of recalculating the phase increment for each frequency in between, you can just calculate the phase increment for each end frequency with phaseIncFromFreq(), then use a Line to interpolate on the fly and use setPhaseInc() to set the phase increment at each step. (Note: I should really profile this with the oscilloscope to see if it's worth the extra confusion!)

    +
    Parameters
    frequencyfor which you want to calculate a phase increment value.
    -
    Returns:
    the phase increment value which will produce a given frequency.
    +
    Returns
    the phase increment value which will produce a given frequency.

    Definition at line 304 of file Sample.h.

    @@ -332,20 +406,27 @@

    template<unsigned int NUM_TABLE_CELLS, unsigned int UPDATE_RATE>
    + + + + + +
    - + - - + +
    void Sample< NUM_TABLE_CELLS, UPDATE_RATE >::setEnd void Sample< NUM_TABLE_CELLS, UPDATE_RATE >::setEnd ( unsigned int end) [inline]end)
    - -
    +
    +inline
    +

    Sets the end position in samples from the beginning of the sound.

    -
    Parameters:
    +
    Parameters
    endposition in samples.
    @@ -361,27 +442,28 @@

    template<unsigned int NUM_TABLE_CELLS, unsigned int UPDATE_RATE>
    + + + + + +
    - + - - + +
    void Sample< NUM_TABLE_CELLS, UPDATE_RATE >::setFreq void Sample< NUM_TABLE_CELLS, UPDATE_RATE >::setFreq ( int frequency) [inline]frequency)
    - -
    +
    +inline
    +
    -

    Returns the next sample given a phase modulation value.

    -
    Parameters:
    - - -
    aphase modulation value given as a proportion of the wave. The phmod_proportion parameter is a Q15n16 fixed-point number where to fractional n16 part represents -1 to 1, modulating the phase by one whole table length in each direction.
    -
    -
    -
    Returns:
    a sample from the table. Set the oscillator frequency with an unsigned int. This is faster than using a float, so it's useful when processor time is tight, but it can be tricky with low and high frequencies, depending on the size of the wavetable being used. If you're not getting the results you expect, try explicitly using a float, or try setFreq_Q24n8.
    -
    Parameters:
    +

    Set the oscillator frequency with an unsigned int.

    +

    This is faster than using a float, so it's useful when processor time is tight, but it can be tricky with low and high frequencies, depending on the size of the wavetable being used. If you're not getting the results you expect, try explicitly using a float, or try setFreq_Q24n8.

    +
    Parameters
    frequencyto play the wave table.
    @@ -397,21 +479,28 @@

    template<unsigned int NUM_TABLE_CELLS, unsigned int UPDATE_RATE>
    + + + + + +
    - + - - + +
    void Sample< NUM_TABLE_CELLS, UPDATE_RATE >::setFreq void Sample< NUM_TABLE_CELLS, UPDATE_RATE >::setFreq ( float frequency) [inline]frequency)
    - -
    +
    +inline
    +

    Set the sample frequency with a float.

    Using a float is the most reliable way to set frequencies, -Might- be slower than using an int but you need either this or setFreq_Q24n8 for fractional frequencies.

    -
    Parameters:
    +
    Parameters
    frequencyto play the wave table.
    @@ -427,21 +516,28 @@

    template<unsigned int NUM_TABLE_CELLS, unsigned int UPDATE_RATE>
    + + + + + +
    - + - - + +
    void Sample< NUM_TABLE_CELLS, UPDATE_RATE >::setFreq_Q24n8 void Sample< NUM_TABLE_CELLS, UPDATE_RATE >::setFreq_Q24n8 ( Q24n8 frequency) [inline]frequency)
    - -
    +
    +inline
    +

    Set the frequency using Q24n8 fixed-point number format.

    This might be faster than the float version for setting low frequencies such as 1.5 Hz, or other values which may not work well with your table size. Note: use with caution because it's prone to overflow with higher frequencies and larger table sizes. An Q24n8 representation of 1.5 is 384 (ie. 1.5 * 256).

    -
    Parameters:
    +
    Parameters
    frequencyin Q24n8 fixed-point number format.
    @@ -457,23 +553,30 @@

    template<unsigned int NUM_TABLE_CELLS, unsigned int UPDATE_RATE>
    + + + + + +
    - + - - + +
    void Sample< NUM_TABLE_CELLS, UPDATE_RATE >::setPhaseInc void Sample< NUM_TABLE_CELLS, UPDATE_RATE >::setPhaseInc ( unsigned long phaseinc_fractional) [inline]phaseinc_fractional)
    - -
    +
    +inline
    +

    Set a specific phase increment.

    -

    See phaseIncFromFreq().

    -
    Parameters:
    +

    See phaseIncFromFreq().

    +
    Parameters
    - +
    phaseinc_fractionala phase increment value as calculated by phaseIncFromFreq().
    phaseinc_fractionala phase increment value as calculated by phaseIncFromFreq().
    @@ -482,27 +585,34 @@

    - +
    template<unsigned int NUM_TABLE_CELLS, unsigned int UPDATE_RATE>
    + + + + + +
    - + - - + +
    void Sample< NUM_TABLE_CELLS, UPDATE_RATE >::setStart void Sample< NUM_TABLE_CELLS, UPDATE_RATE >::setStart ( unsigned int start) [inline]startpos)
    - -
    +
    +inline
    +

    Sets the starting position in samples.

    -
    Parameters:
    +
    Parameters
    - +
    offsetposition in samples.
    startposoffset position in samples.
    @@ -516,20 +626,27 @@

    template<unsigned int NUM_TABLE_CELLS, unsigned int UPDATE_RATE>
    + + + + + +
    - + - - + +
    void Sample< NUM_TABLE_CELLS, UPDATE_RATE >::setTable void Sample< NUM_TABLE_CELLS, UPDATE_RATE >::setTable ( const char * TABLE_NAME) [inline]TABLE_NAME)
    - -
    +
    +inline
    +
    -

    Change the sound table which will be played by the Sample.

    -
    Parameters:
    +

    Change the sound table which will be played by the Sample.

    +
    Parameters
    TABLE_NAMEis the name of the array in the table ".h" file you're using.
    @@ -545,22 +662,29 @@

    template<unsigned int NUM_TABLE_CELLS, unsigned int UPDATE_RATE>
    + + + + + +
    - + - - + +
    void Sample< NUM_TABLE_CELLS, UPDATE_RATE >::start void Sample< NUM_TABLE_CELLS, UPDATE_RATE >::start ( unsigned int startpos) [inline]startpos)
    - -
    +
    +inline
    +

    Sets the a new start position and sets the phase (the playhead) to that position.

    -
    Parameters:
    +
    Parameters
    - +
    startposition in samples from the beginning of the sound.
    startposposition in samples from the beginning of the sound.
    @@ -573,13 +697,15 @@

  • Sample.h
  • - - - - +

    + + diff --git a/doc/html/class_sample.js b/doc/html/class_sample.js new file mode 100644 index 000000000..b375ca1e3 --- /dev/null +++ b/doc/html/class_sample.js @@ -0,0 +1,21 @@ +var class_sample = +[ + [ "Sample", "class_sample.html#a9b95b8797648288b1c3698beda1dd34a", null ], + [ "Sample", "class_sample.html#af2ce86342a595a3571ce2e9a38e96a96", null ], + [ "atIndex", "class_sample.html#ad5c4e048c4aa7a36710e58466caabc94", null ], + [ "isPlaying", "class_sample.html#abf9901db9aaee9240d6342a2204a6ce2", null ], + [ "next", "class_sample.html#a6b94fc8a8042f498fbd8693d9bce9719", null ], + [ "phaseIncFromFreq", "class_sample.html#a7dfbdfca35b7bbf074e24e62a1d53309", null ], + [ "rangeWholeSample", "class_sample.html#a79cb13998692fdff715c7b6b1beb991a", null ], + [ "setEnd", "class_sample.html#a2e82144fde95ab74fb7525f33f3fe4d6", null ], + [ "setFreq", "class_sample.html#a3fe56b93df218ff887eb25b7f694fb8a", null ], + [ "setFreq", "class_sample.html#a11a7948a655bea79ddd67059c2186816", null ], + [ "setFreq_Q24n8", "class_sample.html#aa2086deef68e43620d7502dd8bb78678", null ], + [ "setLoopingOff", "class_sample.html#ab1b29e0ccaee2c13e55ed9aa2202812e", null ], + [ "setLoopingOn", "class_sample.html#aaa2257099a1269445651145e46de5bed", null ], + [ "setPhaseInc", "class_sample.html#a95735f0b10eb0fa50402c47d0cd5d871", null ], + [ "setStart", "class_sample.html#a9fb19ee79276c6663c521ea2b17ea079", null ], + [ "setTable", "class_sample.html#a9911f53f66a5413a923b73f3d890abd4", null ], + [ "start", "class_sample.html#a57307ee93ef0fcff36d543596eb79b72", null ], + [ "start", "class_sample.html#ad2dbae6c05040fd0381653f1a102e6ee", null ] +]; \ No newline at end of file diff --git a/doc/html/class_smooth-members.html b/doc/html/class_smooth-members.html index f99a8ac09..f53f96e16 100644 --- a/doc/html/class_smooth-members.html +++ b/doc/html/class_smooth-members.html @@ -3,46 +3,44 @@ + Mozzi: Member List - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • +
    + +
    +
    +
    + +
    @@ -90,24 +104,26 @@
    -
  • Smooth< T > Member List
    -This is the complete list of members for Smooth< T >, including all inherited members. - - - -
    next(T in)Smooth< T > [inline]
    setSmoothness(float smoothness)Smooth< T > [inline]
    Smooth(float smoothness)Smooth< T > [inline]
    - - - +

    This is the complete list of members for Smooth< T >, including all inherited members.

    + + + + +
    next(T in)Smooth< T >inline
    setSmoothness(float smoothness)Smooth< T >inline
    Smooth(float smoothness)Smooth< T >inline
    +

    + + diff --git a/doc/html/class_smooth.html b/doc/html/class_smooth.html index 8192ebd00..30ad2eb91 100644 --- a/doc/html/class_smooth.html +++ b/doc/html/class_smooth.html @@ -3,46 +3,44 @@ + Mozzi: Smooth< T > Class Template Reference - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • +
    + +
    +
    +
    + +
    @@ -90,10 +104,10 @@
    -
  • Smooth< T > Class Template Reference
    @@ -101,53 +115,61 @@

    A simple infinite impulse response low pass filter for smoothing control signals. More...

    - -

    List of all members.

    - - + + - + + - + +

    +

    Public Member Functions

     Smooth (float smoothness)
     Constructor.
     Constructor. More...
     
    next (T in)
     Filters the input and returns the filtered value.
     Filters the input and returns the filtered value. More...
     
    void setSmoothness (float smoothness)
     Sets how much smoothing the filter will apply to its input.
     Sets how much smoothing the filter will apply to its input. More...
     
    -

    Detailed Description

    +

    Detailed Description

    template<class T>
    class Smooth< T >

    A simple infinite impulse response low pass filter for smoothing control signals.

    This algorithm comes from http://en.wikipedia.org/wiki/Low-pass_filter: y[i] := y[i-1] + α * (x[i] - y[i-1]), translated as out = last_out + a * (in - last_out). It's not calibrated to any real-world update rate, so if you use it at CONTROL_RATE and you change CONTROL_RATE, you'll need to adjust the smoothness value to suit.

    -
    Template Parameters:
    - +
    Template Parameters
    +
    Tthe type of numbers being smoothed. Watch out for numbers overflowing the internal calculations. Some experimentation is recommended.
    -
    Note:
    Timing: ~5us for 16 bit types, ~1us for 8 bit types.
    +
    Note
    Timing: ~5us for 16 bit types, ~1us for 8 bit types.

    Definition at line 46 of file Smooth.h.

    -

    Constructor & Destructor Documentation

    +

    Constructor & Destructor Documentation

    template<class T >
    + + + + + +
    - - + +
    Smooth< T >::Smooth ( float smoothness) [inline]smoothness)
    - -
    +
    +inline
    +

    Constructor.

    -
    Parameters:
    +
    Parameters
    smoothnesssets how much smoothing the filter will apply to its input. Use a float in the range 0~1, where 0 is not very smooth and 0.99 is very smooth.
    @@ -158,32 +180,39 @@
    -

    Member Function Documentation

    +

    Member Function Documentation

    template<class T >
    + + + + + +
    - + - - + +
    T Smooth< T >::next T Smooth< T >::next ( in) [inline]in)
    - -
    +
    +inline
    +

    Filters the input and returns the filtered value.

    -
    Parameters:
    +
    Parameters
    inthe signal to be smoothed.
    -
    Returns:
    the filtered signal.
    +
    Returns
    the filtered signal.

    Definition at line 68 of file Smooth.h.

    @@ -194,20 +223,27 @@
    template<class T >
    + + + + + +
    - + - - + +
    void Smooth< T >::setSmoothness void Smooth< T >::setSmoothness ( float smoothness) [inline]smoothness)
    - -
    +
    +inline
    +

    Sets how much smoothing the filter will apply to its input.

    -
    Parameters:
    +
    Parameters
    smoothnesssets how much smoothing the filter will apply to its input. Use a float in the range 0~1, where 0 is not very smooth and 0.99 is very smooth.
    @@ -222,13 +258,15 @@
  • Smooth.h
  • - - - - +
    + + diff --git a/doc/html/class_smooth.js b/doc/html/class_smooth.js new file mode 100644 index 000000000..054269787 --- /dev/null +++ b/doc/html/class_smooth.js @@ -0,0 +1,6 @@ +var class_smooth = +[ + [ "Smooth", "class_smooth.html#ac6626aae94eb7a22024e2054c1bbbb26", null ], + [ "next", "class_smooth.html#ab7c809b6b5217771832a3e829695f8d5", null ], + [ "setSmoothness", "class_smooth.html#aac44bbf7a9bc6b9bae80eecc1be6e188", null ] +]; \ No newline at end of file diff --git a/doc/html/class_state_variable-members.html b/doc/html/class_state_variable-members.html index 62f363f31..e96364972 100644 --- a/doc/html/class_state_variable-members.html +++ b/doc/html/class_state_variable-members.html @@ -3,46 +3,44 @@ + Mozzi: Member List - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • +
    + +
    +
    +
    + +
    @@ -90,25 +104,27 @@
    -
  • StateVariable< FILTER_TYPE > Member List
    -This is the complete list of members for StateVariable< FILTER_TYPE >, including all inherited members. - - - - -
    next(int input)StateVariable< FILTER_TYPE > [inline]
    setCentreFreq(unsigned int centre_freq)StateVariable< FILTER_TYPE > [inline]
    setResonance(Q0n8 resonance)StateVariable< FILTER_TYPE > [inline]
    StateVariable()StateVariable< FILTER_TYPE > [inline]
    - - - +

    This is the complete list of members for StateVariable< FILTER_TYPE >, including all inherited members.

    + + + + + +
    next(int input)StateVariable< FILTER_TYPE >inline
    setCentreFreq(unsigned int centre_freq)StateVariable< FILTER_TYPE >inline
    setResonance(Q0n8 resonance)StateVariable< FILTER_TYPE >inline
    StateVariable()StateVariable< FILTER_TYPE >inline
    +
    + + diff --git a/doc/html/class_state_variable.html b/doc/html/class_state_variable.html index a15329cac..b1fb5aced 100644 --- a/doc/html/class_state_variable.html +++ b/doc/html/class_state_variable.html @@ -3,46 +3,44 @@ + Mozzi: StateVariable< FILTER_TYPE > Class Template Reference - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • +
    + +
    +
    +
    + +
    @@ -90,10 +104,10 @@
    -
  • StateVariable< FILTER_TYPE > Class Template Reference
    @@ -101,62 +115,71 @@

    A State Variable filter which offers 12db resonant low, high, bandpass and notch modes. More...

    - -

    List of all members.

    - + - + + - + + - + +

    +

    Public Member Functions

     StateVariable ()
     Constructor.
     
    void setResonance (Q0n8 resonance)
     Set how resonant the filter will be.
     Set how resonant the filter will be. More...
     
    void setCentreFreq (unsigned int centre_freq)
     Set the centre or corner frequency of the filter.
     Set the centre or corner frequency of the filter. More...
     
    int next (int input)
     Calculate the next sample, given an input signal.
     Calculate the next sample, given an input signal. More...
     
    -

    Detailed Description

    +

    Detailed Description

    template<char FILTER_TYPE>
    class StateVariable< FILTER_TYPE >

    A State Variable filter which offers 12db resonant low, high, bandpass and notch modes.

    -
    Template Parameters:
    - +
    Template Parameters
    +
    FILTER_TYPEchoose between LOWPASS, BANDPASS, HIGHPASS and NOTCH.
    -
    Note:
    To save processing time, this version of the filter does not saturate internally, so any resonant peaks are unceremoniously truncated. It may be worth adding code to constrain the internal variables to enable resonant saturating effects.
    +
    Note
    To save processing time, this version of the filter does not saturate internally, so any resonant peaks are unceremoniously truncated. It may be worth adding code to constrain the internal variables to enable resonant saturating effects.

    Definition at line 54 of file StateVariable.h.

    -

    Member Function Documentation

    +

    Member Function Documentation

    template<char FILTER_TYPE>
    + + + + + +
    - + - - + +
    int StateVariable< FILTER_TYPE >::next int StateVariable< FILTER_TYPE >::next ( int input) [inline]input)
    - -
    +
    +inline
    +

    Calculate the next sample, given an input signal.

    -
    Parameters:
    +
    Parameters
    inputthe signal input.
    -
    Returns:
    the signal output.
    -
    Note:
    Timing: 16 - 20 us
    +
    Returns
    the signal output.
    +
    Note
    Timing: 16 - 20 us

    Definition at line 120 of file StateVariable.h.

    @@ -167,26 +190,33 @@
    template<char FILTER_TYPE>
    + + + + + +
    - + - - + +
    void StateVariable< FILTER_TYPE >::setCentreFreq void StateVariable< FILTER_TYPE >::setCentreFreq ( unsigned int centre_freq) [inline]centre_freq)
    - -
    +
    +inline
    +

    Set the centre or corner frequency of the filter.

    -
    Parameters:
    +
    Parameters
    centre_freq20 - 4096 Hz (AUDIO_RATE/4). This will be the cut-off frequency for LOWPASS and HIGHPASS, and the centre frequency to pass or reduce for BANDPASS and NOTCH.
    -
    Note:
    Timing 25-30us
    +
    Note
    Timing 25-30us

    Definition at line 103 of file StateVariable.h.

    @@ -197,26 +227,33 @@
    template<char FILTER_TYPE>
    + + + + + +
    - + - - + +
    void StateVariable< FILTER_TYPE >::setResonance void StateVariable< FILTER_TYPE >::setResonance ( Q0n8 resonance) [inline]resonance)
    - -
    +
    +inline
    +

    Set how resonant the filter will be.

    -
    Parameters:
    +
    Parameters
    resonancea byte value between 1 and 255. The lower this value is, the more resonant the filter. At very low values, the filter can output loud peaks which can exceed Mozzi's output range, so you may need to attenuate the output in your sketch.
    -
    Note:
    Timing < 500 ns
    +
    Note
    Timing < 500 ns

    Definition at line 75 of file StateVariable.h.

    @@ -226,13 +263,15 @@
  • StateVariable.h
  • - - - - +
    + + diff --git a/doc/html/class_state_variable.js b/doc/html/class_state_variable.js new file mode 100644 index 000000000..0972d694d --- /dev/null +++ b/doc/html/class_state_variable.js @@ -0,0 +1,7 @@ +var class_state_variable = +[ + [ "StateVariable", "class_state_variable.html#a9950b71a16f63654552d3e15774d6638", null ], + [ "next", "class_state_variable.html#a14cb100c22e4a33025665ef3620ca2b8", null ], + [ "setCentreFreq", "class_state_variable.html#a47e7ddad76db7009e370fa91ea5d4d3d", null ], + [ "setResonance", "class_state_variable.html#a992e23a80b611b72e3e764c14d5ee188", null ] +]; \ No newline at end of file diff --git a/doc/html/class_wave_packet-members.html b/doc/html/class_wave_packet-members.html index ebbfebfb3..df5dcd889 100644 --- a/doc/html/class_wave_packet-members.html +++ b/doc/html/class_wave_packet-members.html @@ -3,46 +3,44 @@ + Mozzi: Member List - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • +
    + +
    +
    +
    + +
    @@ -90,27 +104,29 @@
    -
  • WavePacket< ALGORITHM > Member List
    -This is the complete list of members for WavePacket< ALGORITHM >, including all inherited members. - - - - - - -
    next()WavePacket< ALGORITHM > [inline]
    set(int fundamental, int bandwidth, int centrefreq)WavePacket< ALGORITHM > [inline]
    setBandwidth(int bandwidth)WavePacket< ALGORITHM > [inline]
    setCentreFreq(int centrefreq)WavePacket< ALGORITHM > [inline]
    setFundamental(int fundamental)WavePacket< ALGORITHM > [inline]
    WavePacket()WavePacket< ALGORITHM > [inline]
    - - - +

    This is the complete list of members for WavePacket< ALGORITHM >, including all inherited members.

    + + + + + + + +
    next()WavePacket< ALGORITHM >inline
    set(int fundamental, int bandwidth, int centrefreq)WavePacket< ALGORITHM >inline
    setBandwidth(int bandwidth)WavePacket< ALGORITHM >inline
    setCentreFreq(int centrefreq)WavePacket< ALGORITHM >inline
    setFundamental(int fundamental)WavePacket< ALGORITHM >inline
    WavePacket()WavePacket< ALGORITHM >inline
    +
    + + diff --git a/doc/html/class_wave_packet.html b/doc/html/class_wave_packet.html index b87b80cf0..c2e015c60 100644 --- a/doc/html/class_wave_packet.html +++ b/doc/html/class_wave_packet.html @@ -3,46 +3,44 @@ + Mozzi: WavePacket< ALGORITHM > Class Template Reference - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • +
    + +
    +
    +
    + +
    @@ -90,11 +104,11 @@
    -
  • WavePacket< ALGORITHM > Class Template Reference
    @@ -102,29 +116,30 @@

    Wavepacket synthesis, with two overlapping streams of wave packets. More...

    - -

    List of all members.

    - - - + - + + - + + - + + - + + - + +

    -Classes

    struct  parameters

    +

    Public Member Functions

     WavePacket ()
     Constructor.
     
    void set (int fundamental, int bandwidth, int centrefreq)
     Set all the parameters for the synthesis.
     Set all the parameters for the synthesis. More...
     
    void setFundamental (int fundamental)
     Set the fundamental frequency.
     Set the fundamental frequency. More...
     
    void setBandwidth (int bandwidth)
     Set the bandwidth.
     Set the bandwidth. More...
     
    void setCentreFreq (int centrefreq)
     Set the centre frequency.
     Set the centre frequency. More...
     
    int next ()
     Calculate the next synthesised sample.
     Calculate the next synthesised sample. More...
     
    -

    Detailed Description

    +

    Detailed Description

    template<char ALGORITHM>
    class WavePacket< ALGORITHM >

    @@ -132,25 +147,32 @@

    Draws on Miller Puckette's Pure Data example, F14.wave.packet.pd. Each packet is an enveloped grain of a sin (or cos) wave. The frequency of the wave, the width of the envelopes and the rate of release of envelopes are the parameters which can be changed.

    Definition at line 47 of file WavePacket.h.

    -

    Member Function Documentation

    +

    Member Function Documentation

    template<char ALGORITHM>
    + + + + + +
    - + - - + +
    int WavePacket< ALGORITHM >::next int WavePacket< ALGORITHM >::next () [inline])
    - -
    +
    +inline
    +

    Calculate the next synthesised sample.

    -
    Returns:
    a full-scale 16 bit value, which needs to be scaled to suit your sketch. If you're using it straight as the sketch output, then that will be yourThing.next()>>2 for HIFI 14 bit output, or >>8 for STANDARD 8+ bit output.
    +
    Returns
    a full-scale 16 bit value, which needs to be scaled to suit your sketch. If you're using it straight as the sketch output, then that will be yourThing.next()>>2 for HIFI 14 bit output, or >>8 for STANDARD 8+ bit output.

    Definition at line 124 of file WavePacket.h.

    @@ -161,9 +183,12 @@
    template<char ALGORITHM>
    + + + + + +
    - + @@ -183,15 +208,19 @@ - +
    void WavePacket< ALGORITHM >::set void WavePacket< ALGORITHM >::set ( int  fundamental,
    ) [inline]
    - -
    +
    +inline
    +

    Set all the parameters for the synthesis.

    The function is designed so that usable ranges for parameters can come from analog inputs, ie. 0-1023.

    -
    Parameters:
    +
    Parameters
    @@ -209,21 +238,28 @@
    template<char ALGORITHM>
    +
    fundamentalthe rate at which packets are produced.
    bandwidththe width of each packet. A lower value allows more of the centre frequency to be audible, a rounder sound. A higher value produces narrower packets, a more buzzing sound.
    + + + + +
    - + - - + +
    void WavePacket< ALGORITHM >::setBandwidth void WavePacket< ALGORITHM >::setBandwidth ( int bandwidth) [inline]bandwidth)
    - -
    +
    +inline
    +

    Set the bandwidth.

    The function is designed so that usable ranges for parameters can come from analog inputs, ie. 0-1023.

    -
    Parameters:
    +
    Parameters
    bandwidththe width of each packet. A lower value allows more of the centre frequency to be audible, a rounder sound. A higher value produces narrower packets, a more buzzing sound.
    @@ -239,21 +275,28 @@
    template<char ALGORITHM>
    + + + + + +
    - + - - + +
    void WavePacket< ALGORITHM >::setCentreFreq void WavePacket< ALGORITHM >::setCentreFreq ( int centrefreq) [inline]centrefreq)
    - -
    +
    +inline
    +

    Set the centre frequency.

    The function is designed so that usable ranges for parameters can come from analog inputs, ie. 0-1023.

    -
    Parameters:
    +
    Parameters
    centrefreqthe oscillation frequency within each packet.
    @@ -269,21 +312,28 @@
    template<char ALGORITHM>
    + + + + + +
    - + - - + +
    void WavePacket< ALGORITHM >::setFundamental void WavePacket< ALGORITHM >::setFundamental ( int fundamental) [inline]fundamental)
    - -
    +
    +inline
    +

    Set the fundamental frequency.

    The function is designed so that usable ranges for parameters can come from analog inputs, ie. 0-1023.

    -
    Parameters:
    +
    Parameters
    fundamentalthe rate at which packets are produced.
    @@ -298,13 +348,15 @@
  • WavePacket.h
  • - - - - +
    + + diff --git a/doc/html/class_wave_packet.js b/doc/html/class_wave_packet.js new file mode 100644 index 000000000..14e6d2c2c --- /dev/null +++ b/doc/html/class_wave_packet.js @@ -0,0 +1,9 @@ +var class_wave_packet = +[ + [ "WavePacket", "class_wave_packet.html#a09afa3b26d61c97e24ccbae9cba2fd57", null ], + [ "next", "class_wave_packet.html#ab4e35082b60d3ccc29c86d09078329bd", null ], + [ "set", "class_wave_packet.html#ac693b3d676b583584a8cfc6b9cc0f37f", null ], + [ "setBandwidth", "class_wave_packet.html#abce5b3ca4c559473c199744753fb75aa", null ], + [ "setCentreFreq", "class_wave_packet.html#adbbbf8b6b9eaae18ef381ff04be3eb5b", null ], + [ "setFundamental", "class_wave_packet.html#af87c37ffd274eee91aa93c0f7d560be2", null ] +]; \ No newline at end of file diff --git a/doc/html/class_wave_shaper.html b/doc/html/class_wave_shaper.html index 54eb19598..435b6dfe8 100644 --- a/doc/html/class_wave_shaper.html +++ b/doc/html/class_wave_shaper.html @@ -3,46 +3,44 @@ + Mozzi: WaveShaper< T > Class Template Reference - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • +
    + +
    +
    +
    + +
    @@ -90,7 +104,6 @@
    -
  • WaveShaper< T > Class Template Reference
    @@ -99,13 +112,13 @@

    WaveShaper maps values from its input to values in a table, which are returned as output. More...

    -

    Detailed Description

    +

    Detailed Description

    template<class T>
    class WaveShaper< T >

    WaveShaper maps values from its input to values in a table, which are returned as output.

    -
    Template Parameters:
    - +
    Template Parameters
    +
    Tthe type of numbers being input to be shaped, chosen to match the table.
    @@ -116,13 +129,15 @@
  • WaveShaper.h
  • - - - - +
    + + diff --git a/doc/html/classes.html b/doc/html/classes.html index 433ea55fa..82384e521 100644 --- a/doc/html/classes.html +++ b/doc/html/classes.html @@ -3,46 +3,44 @@ + Mozzi: Class Index - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • +
    + +
    +
    + +
    @@ -96,38 +109,40 @@
    Class Index
  • -
    A | D | E | L | O | P | R | S | W
    +
    A | C | D | E | L | O | P | R | S | W
    - - - - - - - - - + + + + + + + + + +
      A  
    -
      E  
    -
      O  
    -
    RecentAverage   WaveShaper   
    ReverbTank   
    ADSR   Ead   Oscil   
      S  
    -
    AudioDelay   EventDelay   
      P  
    -
    AudioDelayFeedback   
      L  
    -
    Sample   
      D  
    -
    Phasor   Smooth   
    Line   Portamento   StateVariable   
    DCfilter   LowPassFilter   
      R  
    -
      W  
    -
    RCpoll   WavePacket   
      D  
    +
    LowPassFilter   
      R  
    +
    Smooth   
      O  
    +
    StateVariable   
    ADSR   DCfilter   RCpoll   
      W  
    +
    AudioDelay   
      E  
    +
    Oscil   RecentAverage   
    AutoRange   
      P  
    +
    ReverbTank   WavePacket   
      C  
    +
    Ead   
      S  
    +
    WaveShaper   
    EventDelay   Phasor   
    ControlDelay   
      L  
    +
    Portamento   Sample   
    Line   
    -
    A | D | E | L | O | P | R | S | W
    +
    A | C | D | E | L | O | P | R | S | W
    - - - - +
    + + diff --git a/doc/html/closed.png b/doc/html/closed.png index 4fada5b4617644b7f7b29a251dc13af8fb507f59..9bbe73b1af1e4afe75ea315d73e1b5c625f44a40 100644 GIT binary patch delta 102 zcmV-s0Ga=OgaMEwU`t6vK~#7F?cGZa03i%T(F?Aygos&;2rMBB0trdmK&ycCtvLNi z08sgAAAqV1U}IqdR7vo+vj4A>Y=esq4AENYqVT2zo=AfACd + Mozzi: tables/cos1024_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,99 +99,101 @@
    -
    tables/cos1024_int8.h
    +
    cos1024_int8.h
    -
    00001 #ifndef COS1024_H_
    -00002 #define COS1024_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 #define COS1024_NUM_CELLS 1024
    -00012 #define COS1024_SAMPLERATE 1024
    -00013 
    -00014 const char __attribute__((progmem)) COS1024_DATA []  =
    -00015         {
    -00016                 -128, -128, -128, -128, -128, -128, -128,
    -00017                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00018                 -128, -127, -127, -127, -127, -127, -127, -127, -127, -126, -126, -126, -126,
    -00019                 -126, -126, -126, -125, -125, -125, -125, -125, -124, -124, -124, -124, -124,
    -00020                 -123, -123, -123, -123, -123, -122, -122, -122, -122, -121, -121, -121, -120,
    -00021                 -120, -120, -120, -119, -119, -119, -118, -118, -118, -118, -117, -117, -117,
    -00022                 -116, -116, -116, -115, -115, -114, -114, -114, -113, -113, -113, -112, -112,
    -00023                 -111, -111, -111, -110, -110, -109, -109, -109, -108, -108, -107, -107, -106,
    -00024                 -106, -106, -105, -105, -104, -104, -103, -103, -102, -102, -101, -101, -100,
    -00025                 -100, -99, -99, -98, -98, -97, -97, -96, -96, -95, -95, -94, -94, -93, -93, -92,
    -00026                 -92, -91, -90, -90, -89, -89, -88, -88, -87, -86, -86, -85, -85, -84, -84, -83,
    -00027                 -82, -82, -81, -80, -80, -79, -79, -78, -77, -77, -76, -75, -75, -74, -74, -73,
    -00028                 -72, -72, -71, -70, -70, -69, -68, -68, -67, -66, -66, -65, -64, -64, -63, -62,
    -00029                 -62, -61, -60, -59, -59, -58, -57, -57, -56, -55, -55, -54, -53, -52, -52, -51,
    -00030                 -50, -49, -49, -48, -47, -47, -46, -45, -44, -44, -43, -42, -41, -41, -40, -39,
    -00031                 -38, -38, -37, -36, -35, -35, -34, -33, -32, -32, -31, -30, -29, -29, -28, -27,
    -00032                 -26, -25, -25, -24, -23, -22, -22, -21, -20, -19, -19, -18, -17, -16, -15, -15,
    -00033                 -14, -13, -12, -11, -11, -10, -9, -8, -8, -7, -6, -5, -4, -4, -3, -2, -1, -1, 0,
    -00034                 1, 2, 3, 3, 4, 5, 6, 7, 7, 8, 9, 10, 10, 11, 12, 13, 14, 14, 15, 16, 17, 17, 18,
    -00035                 19, 20, 21, 21, 22, 23, 24, 24, 25, 26, 27, 28, 28, 29, 30, 31, 31, 32, 33, 34,
    -00036                 34, 35, 36, 37, 37, 38, 39, 40, 40, 41, 42, 43, 43, 44, 45, 46, 46, 47, 48, 48,
    -00037                 49, 50, 51, 51, 52, 53, 54, 54, 55, 56, 56, 57, 58, 58, 59, 60, 61, 61, 62, 63,
    -00038                 63, 64, 65, 65, 66, 67, 67, 68, 69, 69, 70, 71, 71, 72, 73, 73, 74, 74, 75, 76,
    -00039                 76, 77, 78, 78, 79, 79, 80, 81, 81, 82, 83, 83, 84, 84, 85, 85, 86, 87, 87, 88,
    -00040                 88, 89, 89, 90, 91, 91, 92, 92, 93, 93, 94, 94, 95, 95, 96, 96, 97, 97, 98, 98,
    -00041                 99, 99, 100, 100, 101, 101, 102, 102, 103, 103, 104, 104, 105, 105, 105, 106,
    -00042                 106, 107, 107, 108, 108, 108, 109, 109, 110, 110, 110, 111, 111, 112, 112, 112,
    -00043                 113, 113, 113, 114, 114, 115, 115, 115, 116, 116, 116, 117, 117, 117, 117, 118,
    -00044                 118, 118, 119, 119, 119, 119, 120, 120, 120, 121, 121, 121, 121, 122, 122, 122,
    -00045                 122, 122, 123, 123, 123, 123, 123, 124, 124, 124, 124, 124, 125, 125, 125, 125,
    -00046                 125, 125, 125, 126, 126, 126, 126, 126, 126, 126, 126, 127, 127, 127, 127, 127,
    -00047                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00048                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00049                 127, 127, 127, 127, 126, 126, 126, 126, 126, 126, 126, 126, 125, 125, 125, 125,
    -00050                 125, 125, 125, 124, 124, 124, 124, 124, 123, 123, 123, 123, 123, 122, 122, 122,
    -00051                 122, 122, 121, 121, 121, 121, 120, 120, 120, 119, 119, 119, 119, 118, 118, 118,
    -00052                 117, 117, 117, 117, 116, 116, 116, 115, 115, 115, 114, 114, 113, 113, 113, 112,
    -00053                 112, 112, 111, 111, 110, 110, 110, 109, 109, 108, 108, 108, 107, 107, 106, 106,
    -00054                 106, 105, 105, 104, 104, 103, 103, 102, 102, 101, 101, 100, 100, 99, 99, 98, 98,
    -00055                 97, 97, 96, 96, 95, 95, 94, 94, 93, 93, 92, 92, 91, 91, 90, 89, 89, 88, 88, 87,
    -00056                 87, 86, 85, 85, 84, 84, 83, 83, 82, 81, 81, 80, 79, 79, 78, 78, 77, 76, 76, 75,
    -00057                 74, 74, 73, 73, 72, 71, 71, 70, 69, 69, 68, 67, 67, 66, 65, 65, 64, 63, 63, 62,
    -00058                 61, 61, 60, 59, 58, 58, 57, 56, 56, 55, 54, 54, 53, 52, 51, 51, 50, 49, 48, 48,
    -00059                 47, 46, 46, 45, 44, 43, 43, 42, 41, 40, 40, 39, 38, 37, 37, 36, 35, 34, 34, 33,
    -00060                 32, 31, 31, 30, 29, 28, 28, 27, 26, 25, 24, 24, 23, 22, 21, 21, 20, 19, 18, 18,
    -00061                 17, 16, 15, 14, 14, 13, 12, 11, 10, 10, 9, 8, 7, 7, 6, 5, 4, 3, 3, 2, 1, 0, 0,
    -00062                 -1, -2, -3, -4, -4, -5, -6, -7, -8, -8, -9, -10, -11, -11, -12, -13, -14, -15,
    -00063                 -15, -16, -17, -18, -19, -19, -20, -21, -22, -22, -23, -24, -25, -25, -26, -27,
    -00064                 -28, -29, -29, -30, -31, -32, -32, -33, -34, -35, -35, -36, -37, -38, -38, -39,
    -00065                 -40, -41, -41, -42, -43, -44, -44, -45, -46, -47, -47, -48, -49, -49, -50, -51,
    -00066                 -52, -52, -53, -54, -55, -55, -56, -57, -57, -58, -59, -59, -60, -61, -62, -62,
    -00067                 -63, -64, -64, -65, -66, -66, -67, -68, -68, -69, -70, -70, -71, -72, -72, -73,
    -00068                 -74, -74, -75, -75, -76, -77, -77, -78, -79, -79, -80, -80, -81, -82, -82, -83,
    -00069                 -84, -84, -85, -85, -86, -86, -87, -88, -88, -89, -89, -90, -90, -91, -92, -92,
    -00070                 -93, -93, -94, -94, -95, -95, -96, -96, -97, -97, -98, -98, -99, -99, -100,
    -00071                 -100, -101, -101, -102, -102, -103, -103, -104, -104, -105, -105, -106, -106,
    -00072                 -106, -107, -107, -108, -108, -109, -109, -109, -110, -110, -111, -111, -111,
    -00073                 -112, -112, -113, -113, -113, -114, -114, -114, -115, -115, -116, -116, -116,
    -00074                 -117, -117, -117, -118, -118, -118, -118, -119, -119, -119, -120, -120, -120,
    -00075                 -120, -121, -121, -121, -122, -122, -122, -122, -123, -123, -123, -123, -123,
    -00076                 -124, -124, -124, -124, -124, -125, -125, -125, -125, -125, -126, -126, -126,
    -00077                 -126, -126, -126, -126, -127, -127, -127, -127, -127, -127, -127, -127, -128,
    -00078                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00079                 -128, -128, -128, -128, -128, -128,
    -00080         };
    -00081 
    -00082 #endif /* COS1024_H_ */
    -
    - - - - +
    1 #ifndef COS1024_H_
    +
    2 #define COS1024_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 #define COS1024_NUM_CELLS 1024
    +
    12 #define COS1024_SAMPLERATE 1024
    +
    13 
    +
    14 const char __attribute__((progmem)) COS1024_DATA [] =
    +
    15  {
    +
    16  -128, -128, -128, -128, -128, -128, -128,
    +
    17  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    18  -128, -127, -127, -127, -127, -127, -127, -127, -127, -126, -126, -126, -126,
    +
    19  -126, -126, -126, -125, -125, -125, -125, -125, -124, -124, -124, -124, -124,
    +
    20  -123, -123, -123, -123, -123, -122, -122, -122, -122, -121, -121, -121, -120,
    +
    21  -120, -120, -120, -119, -119, -119, -118, -118, -118, -118, -117, -117, -117,
    +
    22  -116, -116, -116, -115, -115, -114, -114, -114, -113, -113, -113, -112, -112,
    +
    23  -111, -111, -111, -110, -110, -109, -109, -109, -108, -108, -107, -107, -106,
    +
    24  -106, -106, -105, -105, -104, -104, -103, -103, -102, -102, -101, -101, -100,
    +
    25  -100, -99, -99, -98, -98, -97, -97, -96, -96, -95, -95, -94, -94, -93, -93, -92,
    +
    26  -92, -91, -90, -90, -89, -89, -88, -88, -87, -86, -86, -85, -85, -84, -84, -83,
    +
    27  -82, -82, -81, -80, -80, -79, -79, -78, -77, -77, -76, -75, -75, -74, -74, -73,
    +
    28  -72, -72, -71, -70, -70, -69, -68, -68, -67, -66, -66, -65, -64, -64, -63, -62,
    +
    29  -62, -61, -60, -59, -59, -58, -57, -57, -56, -55, -55, -54, -53, -52, -52, -51,
    +
    30  -50, -49, -49, -48, -47, -47, -46, -45, -44, -44, -43, -42, -41, -41, -40, -39,
    +
    31  -38, -38, -37, -36, -35, -35, -34, -33, -32, -32, -31, -30, -29, -29, -28, -27,
    +
    32  -26, -25, -25, -24, -23, -22, -22, -21, -20, -19, -19, -18, -17, -16, -15, -15,
    +
    33  -14, -13, -12, -11, -11, -10, -9, -8, -8, -7, -6, -5, -4, -4, -3, -2, -1, -1, 0,
    +
    34  1, 2, 3, 3, 4, 5, 6, 7, 7, 8, 9, 10, 10, 11, 12, 13, 14, 14, 15, 16, 17, 17, 18,
    +
    35  19, 20, 21, 21, 22, 23, 24, 24, 25, 26, 27, 28, 28, 29, 30, 31, 31, 32, 33, 34,
    +
    36  34, 35, 36, 37, 37, 38, 39, 40, 40, 41, 42, 43, 43, 44, 45, 46, 46, 47, 48, 48,
    +
    37  49, 50, 51, 51, 52, 53, 54, 54, 55, 56, 56, 57, 58, 58, 59, 60, 61, 61, 62, 63,
    +
    38  63, 64, 65, 65, 66, 67, 67, 68, 69, 69, 70, 71, 71, 72, 73, 73, 74, 74, 75, 76,
    +
    39  76, 77, 78, 78, 79, 79, 80, 81, 81, 82, 83, 83, 84, 84, 85, 85, 86, 87, 87, 88,
    +
    40  88, 89, 89, 90, 91, 91, 92, 92, 93, 93, 94, 94, 95, 95, 96, 96, 97, 97, 98, 98,
    +
    41  99, 99, 100, 100, 101, 101, 102, 102, 103, 103, 104, 104, 105, 105, 105, 106,
    +
    42  106, 107, 107, 108, 108, 108, 109, 109, 110, 110, 110, 111, 111, 112, 112, 112,
    +
    43  113, 113, 113, 114, 114, 115, 115, 115, 116, 116, 116, 117, 117, 117, 117, 118,
    +
    44  118, 118, 119, 119, 119, 119, 120, 120, 120, 121, 121, 121, 121, 122, 122, 122,
    +
    45  122, 122, 123, 123, 123, 123, 123, 124, 124, 124, 124, 124, 125, 125, 125, 125,
    +
    46  125, 125, 125, 126, 126, 126, 126, 126, 126, 126, 126, 127, 127, 127, 127, 127,
    +
    47  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    48  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    49  127, 127, 127, 127, 126, 126, 126, 126, 126, 126, 126, 126, 125, 125, 125, 125,
    +
    50  125, 125, 125, 124, 124, 124, 124, 124, 123, 123, 123, 123, 123, 122, 122, 122,
    +
    51  122, 122, 121, 121, 121, 121, 120, 120, 120, 119, 119, 119, 119, 118, 118, 118,
    +
    52  117, 117, 117, 117, 116, 116, 116, 115, 115, 115, 114, 114, 113, 113, 113, 112,
    +
    53  112, 112, 111, 111, 110, 110, 110, 109, 109, 108, 108, 108, 107, 107, 106, 106,
    +
    54  106, 105, 105, 104, 104, 103, 103, 102, 102, 101, 101, 100, 100, 99, 99, 98, 98,
    +
    55  97, 97, 96, 96, 95, 95, 94, 94, 93, 93, 92, 92, 91, 91, 90, 89, 89, 88, 88, 87,
    +
    56  87, 86, 85, 85, 84, 84, 83, 83, 82, 81, 81, 80, 79, 79, 78, 78, 77, 76, 76, 75,
    +
    57  74, 74, 73, 73, 72, 71, 71, 70, 69, 69, 68, 67, 67, 66, 65, 65, 64, 63, 63, 62,
    +
    58  61, 61, 60, 59, 58, 58, 57, 56, 56, 55, 54, 54, 53, 52, 51, 51, 50, 49, 48, 48,
    +
    59  47, 46, 46, 45, 44, 43, 43, 42, 41, 40, 40, 39, 38, 37, 37, 36, 35, 34, 34, 33,
    +
    60  32, 31, 31, 30, 29, 28, 28, 27, 26, 25, 24, 24, 23, 22, 21, 21, 20, 19, 18, 18,
    +
    61  17, 16, 15, 14, 14, 13, 12, 11, 10, 10, 9, 8, 7, 7, 6, 5, 4, 3, 3, 2, 1, 0, 0,
    +
    62  -1, -2, -3, -4, -4, -5, -6, -7, -8, -8, -9, -10, -11, -11, -12, -13, -14, -15,
    +
    63  -15, -16, -17, -18, -19, -19, -20, -21, -22, -22, -23, -24, -25, -25, -26, -27,
    +
    64  -28, -29, -29, -30, -31, -32, -32, -33, -34, -35, -35, -36, -37, -38, -38, -39,
    +
    65  -40, -41, -41, -42, -43, -44, -44, -45, -46, -47, -47, -48, -49, -49, -50, -51,
    +
    66  -52, -52, -53, -54, -55, -55, -56, -57, -57, -58, -59, -59, -60, -61, -62, -62,
    +
    67  -63, -64, -64, -65, -66, -66, -67, -68, -68, -69, -70, -70, -71, -72, -72, -73,
    +
    68  -74, -74, -75, -75, -76, -77, -77, -78, -79, -79, -80, -80, -81, -82, -82, -83,
    +
    69  -84, -84, -85, -85, -86, -86, -87, -88, -88, -89, -89, -90, -90, -91, -92, -92,
    +
    70  -93, -93, -94, -94, -95, -95, -96, -96, -97, -97, -98, -98, -99, -99, -100,
    +
    71  -100, -101, -101, -102, -102, -103, -103, -104, -104, -105, -105, -106, -106,
    +
    72  -106, -107, -107, -108, -108, -109, -109, -109, -110, -110, -111, -111, -111,
    +
    73  -112, -112, -113, -113, -113, -114, -114, -114, -115, -115, -116, -116, -116,
    +
    74  -117, -117, -117, -118, -118, -118, -118, -119, -119, -119, -120, -120, -120,
    +
    75  -120, -121, -121, -121, -122, -122, -122, -122, -123, -123, -123, -123, -123,
    +
    76  -124, -124, -124, -124, -124, -125, -125, -125, -125, -125, -126, -126, -126,
    +
    77  -126, -126, -126, -126, -127, -127, -127, -127, -127, -127, -127, -127, -128,
    +
    78  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    79  -128, -128, -128, -128, -128, -128,
    +
    80  };
    +
    81 
    +
    82 #endif /* COS1024_H_ */
    +
    +
    + + diff --git a/doc/html/cos2048__int8_8h_source.html b/doc/html/cos2048__int8_8h_source.html index a3ce1c7eb..fac55e0ac 100644 --- a/doc/html/cos2048__int8_8h_source.html +++ b/doc/html/cos2048__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: tables/cos2048_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,162 +99,164 @@
    -
    tables/cos2048_int8.h
    +
    cos2048_int8.h
    -
    00001 #ifndef COS2048_H_
    -00002 #define COS2048_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 #define COS2048_NUM_CELLS 2048
    -00012 #define COS2048_SAMPLERATE 2048
    -00013 
    -00014 const char __attribute__((progmem)) COS2048_DATA []  =
    -00015         {
    -00016                 -128, -128, -128, -128, -128, -128, -128,
    -00017                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00018                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00019                 -128, -128, -128, -128, -128, -128, -128, -128, -127, -127, -127, -127, -127,
    -00020                 -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -126,
    -00021                 -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -125,
    -00022                 -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -124, -124, -124,
    -00023                 -124, -124, -124, -124, -124, -124, -124, -123, -123, -123, -123, -123, -123,
    -00024                 -123, -123, -123, -122, -122, -122, -122, -122, -122, -122, -122, -121, -121,
    -00025                 -121, -121, -121, -121, -121, -120, -120, -120, -120, -120, -120, -120, -120,
    -00026                 -119, -119, -119, -119, -119, -119, -118, -118, -118, -118, -118, -118, -118,
    -00027                 -117, -117, -117, -117, -117, -117, -116, -116, -116, -116, -116, -116, -115,
    -00028                 -115, -115, -115, -115, -114, -114, -114, -114, -114, -114, -113, -113, -113,
    -00029                 -113, -113, -112, -112, -112, -112, -112, -111, -111, -111, -111, -111, -110,
    -00030                 -110, -110, -110, -110, -109, -109, -109, -109, -109, -108, -108, -108, -108,
    -00031                 -108, -107, -107, -107, -107, -106, -106, -106, -106, -106, -105, -105, -105,
    -00032                 -105, -104, -104, -104, -104, -104, -103, -103, -103, -103, -102, -102, -102,
    -00033                 -102, -101, -101, -101, -101, -100, -100, -100, -100, -99, -99, -99, -99, -98,
    -00034                 -98, -98, -98, -97, -97, -97, -97, -96, -96, -96, -96, -95, -95, -95, -95, -94,
    -00035                 -94, -94, -93, -93, -93, -93, -92, -92, -92, -92, -91, -91, -91, -90, -90, -90,
    -00036                 -90, -89, -89, -89, -88, -88, -88, -88, -87, -87, -87, -86, -86, -86, -86, -85,
    -00037                 -85, -85, -84, -84, -84, -84, -83, -83, -83, -82, -82, -82, -81, -81, -81, -80,
    -00038                 -80, -80, -80, -79, -79, -79, -78, -78, -78, -77, -77, -77, -76, -76, -76, -75,
    -00039                 -75, -75, -75, -74, -74, -74, -73, -73, -73, -72, -72, -72, -71, -71, -71, -70,
    -00040                 -70, -70, -69, -69, -69, -68, -68, -68, -67, -67, -67, -66, -66, -66, -65, -65,
    -00041                 -65, -64, -64, -64, -63, -63, -63, -62, -62, -62, -61, -61, -60, -60, -60, -59,
    -00042                 -59, -59, -58, -58, -58, -57, -57, -57, -56, -56, -56, -55, -55, -55, -54, -54,
    -00043                 -53, -53, -53, -52, -52, -52, -51, -51, -51, -50, -50, -49, -49, -49, -48, -48,
    -00044                 -48, -47, -47, -47, -46, -46, -45, -45, -45, -44, -44, -44, -43, -43, -43, -42,
    -00045                 -42, -41, -41, -41, -40, -40, -40, -39, -39, -38, -38, -38, -37, -37, -37, -36,
    -00046                 -36, -35, -35, -35, -34, -34, -34, -33, -33, -32, -32, -32, -31, -31, -30, -30,
    -00047                 -30, -29, -29, -29, -28, -28, -27, -27, -27, -26, -26, -25, -25, -25, -24, -24,
    -00048                 -24, -23, -23, -22, -22, -22, -21, -21, -20, -20, -20, -19, -19, -19, -18, -18,
    -00049                 -17, -17, -17, -16, -16, -15, -15, -15, -14, -14, -13, -13, -13, -12, -12, -11,
    -00050                 -11, -11, -10, -10, -10, -9, -9, -8, -8, -8, -7, -7, -6, -6, -6, -5, -5, -4, -4,
    -00051                 -4, -3, -3, -2, -2, -2, -1, -1, 0, 0, 0, 1, 1, 1, 2, 2, 3, 3, 3, 4, 4, 5, 5, 5,
    -00052                 6, 6, 7, 7, 7, 8, 8, 9, 9, 9, 10, 10, 10, 11, 11, 12, 12, 12, 13, 13, 14, 14,
    -00053                 14, 15, 15, 16, 16, 16, 17, 17, 18, 18, 18, 19, 19, 19, 20, 20, 21, 21, 21, 22,
    -00054                 22, 23, 23, 23, 24, 24, 24, 25, 25, 26, 26, 26, 27, 27, 28, 28, 28, 29, 29, 29,
    -00055                 30, 30, 31, 31, 31, 32, 32, 32, 33, 33, 34, 34, 34, 35, 35, 36, 36, 36, 37, 37,
    -00056                 37, 38, 38, 39, 39, 39, 40, 40, 40, 41, 41, 42, 42, 42, 43, 43, 43, 44, 44, 44,
    -00057                 45, 45, 46, 46, 46, 47, 47, 47, 48, 48, 48, 49, 49, 50, 50, 50, 51, 51, 51, 52,
    -00058                 52, 52, 53, 53, 54, 54, 54, 55, 55, 55, 56, 56, 56, 57, 57, 57, 58, 58, 58, 59,
    -00059                 59, 59, 60, 60, 61, 61, 61, 62, 62, 62, 63, 63, 63, 64, 64, 64, 65, 65, 65, 66,
    -00060                 66, 66, 67, 67, 67, 68, 68, 68, 69, 69, 69, 70, 70, 70, 71, 71, 71, 72, 72, 72,
    -00061                 73, 73, 73, 74, 74, 74, 74, 75, 75, 75, 76, 76, 76, 77, 77, 77, 78, 78, 78, 79,
    -00062                 79, 79, 79, 80, 80, 80, 81, 81, 81, 82, 82, 82, 83, 83, 83, 83, 84, 84, 84, 85,
    -00063                 85, 85, 85, 86, 86, 86, 87, 87, 87, 87, 88, 88, 88, 89, 89, 89, 89, 90, 90, 90,
    -00064                 91, 91, 91, 91, 92, 92, 92, 92, 93, 93, 93, 94, 94, 94, 94, 95, 95, 95, 95, 96,
    -00065                 96, 96, 96, 97, 97, 97, 97, 98, 98, 98, 98, 99, 99, 99, 99, 100, 100, 100, 100,
    -00066                 101, 101, 101, 101, 102, 102, 102, 102, 103, 103, 103, 103, 103, 104, 104, 104,
    -00067                 104, 105, 105, 105, 105, 106, 106, 106, 106, 106, 107, 107, 107, 107, 107, 108,
    -00068                 108, 108, 108, 108, 109, 109, 109, 109, 110, 110, 110, 110, 110, 110, 111, 111,
    -00069                 111, 111, 111, 112, 112, 112, 112, 112, 113, 113, 113, 113, 113, 113, 114, 114,
    -00070                 114, 114, 114, 115, 115, 115, 115, 115, 115, 116, 116, 116, 116, 116, 116, 117,
    -00071                 117, 117, 117, 117, 117, 117, 118, 118, 118, 118, 118, 118, 118, 119, 119, 119,
    -00072                 119, 119, 119, 119, 120, 120, 120, 120, 120, 120, 120, 121, 121, 121, 121, 121,
    -00073                 121, 121, 121, 122, 122, 122, 122, 122, 122, 122, 122, 122, 123, 123, 123, 123,
    -00074                 123, 123, 123, 123, 123, 123, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
    -00075                 124, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 126, 126,
    -00076                 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 127,
    -00077                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00078                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00079                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00080                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00081                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00082                 127, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    -00083                 126, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 124, 124,
    -00084                 124, 124, 124, 124, 124, 124, 124, 124, 124, 123, 123, 123, 123, 123, 123, 123,
    -00085                 123, 123, 123, 122, 122, 122, 122, 122, 122, 122, 122, 122, 121, 121, 121, 121,
    -00086                 121, 121, 121, 121, 120, 120, 120, 120, 120, 120, 120, 119, 119, 119, 119, 119,
    -00087                 119, 119, 119, 118, 118, 118, 118, 118, 118, 117, 117, 117, 117, 117, 117, 117,
    -00088                 116, 116, 116, 116, 116, 116, 115, 115, 115, 115, 115, 115, 114, 114, 114, 114,
    -00089                 114, 113, 113, 113, 113, 113, 113, 112, 112, 112, 112, 112, 111, 111, 111, 111,
    -00090                 111, 110, 110, 110, 110, 110, 109, 109, 109, 109, 109, 108, 108, 108, 108, 108,
    -00091                 107, 107, 107, 107, 107, 106, 106, 106, 106, 106, 105, 105, 105, 105, 104, 104,
    -00092                 104, 104, 103, 103, 103, 103, 103, 102, 102, 102, 102, 101, 101, 101, 101, 100,
    -00093                 100, 100, 100, 99, 99, 99, 99, 98, 98, 98, 98, 97, 97, 97, 97, 96, 96, 96, 96,
    -00094                 95, 95, 95, 95, 94, 94, 94, 94, 93, 93, 93, 92, 92, 92, 92, 91, 91, 91, 91, 90,
    -00095                 90, 90, 89, 89, 89, 89, 88, 88, 88, 87, 87, 87, 87, 86, 86, 86, 85, 85, 85, 85,
    -00096                 84, 84, 84, 83, 83, 83, 83, 82, 82, 82, 81, 81, 81, 80, 80, 80, 79, 79, 79, 79,
    -00097                 78, 78, 78, 77, 77, 77, 76, 76, 76, 75, 75, 75, 74, 74, 74, 74, 73, 73, 73, 72,
    -00098                 72, 72, 71, 71, 71, 70, 70, 70, 69, 69, 69, 68, 68, 68, 67, 67, 67, 66, 66, 66,
    -00099                 65, 65, 65, 64, 64, 64, 63, 63, 63, 62, 62, 62, 61, 61, 61, 60, 60, 60, 59, 59,
    -00100                 58, 58, 58, 57, 57, 57, 56, 56, 56, 55, 55, 55, 54, 54, 54, 53, 53, 52, 52, 52,
    -00101                 51, 51, 51, 50, 50, 50, 49, 49, 48, 48, 48, 47, 47, 47, 46, 46, 46, 45, 45, 44,
    -00102                 44, 44, 43, 43, 43, 42, 42, 42, 41, 41, 40, 40, 40, 39, 39, 39, 38, 38, 37, 37,
    -00103                 37, 36, 36, 36, 35, 35, 34, 34, 34, 34, 33, 33, 32, 32, 31, 31, 31, 30, 30, 29,
    -00104                 29, 29, 28, 28, 28, 27, 27, 26, 26, 26, 25, 25, 24, 24, 24, 23, 23, 23, 22, 22,
    -00105                 21, 21, 21, 20, 20, 19, 19, 19, 18, 18, 18, 17, 17, 16, 16, 16, 15, 15, 14, 14,
    -00106                 14, 13, 13, 12, 12, 12, 11, 11, 10, 10, 10, 9, 9, 9, 8, 8, 7, 7, 7, 6, 6, 5, 5,
    -00107                 5, 4, 4, 3, 3, 3, 2, 2, 1, 1, 1, 0, 0, 0, -1, -1, -2, -2, -2, -3, -3, -4, -4,
    -00108                 -4, -5, -5, -6, -6, -6, -7, -7, -8, -8, -8, -9, -9, -10, -10, -10, -11, -11,
    -00109                 -11, -12, -12, -13, -13, -13, -14, -14, -15, -15, -15, -16, -16, -17, -17, -17,
    -00110                 -18, -18, -18, -19, -19, -20, -20, -20, -21, -21, -22, -22, -22, -23, -23, -24,
    -00111                 -24, -24, -25, -25, -25, -26, -26, -27, -27, -27, -28, -28, -29, -29, -29, -30,
    -00112                 -30, -30, -31, -31, -32, -32, -32, -33, -33, -34, -34, -34, -35, -35, -35, -36,
    -00113                 -36, -37, -37, -37, -38, -38, -38, -39, -39, -40, -40, -40, -41, -41, -41, -42,
    -00114                 -42, -43, -43, -43, -44, -44, -44, -45, -45, -45, -46, -46, -47, -47, -47, -48,
    -00115                 -48, -48, -49, -49, -49, -50, -50, -51, -51, -51, -52, -52, -52, -53, -53, -53,
    -00116                 -54, -54, -55, -55, -55, -56, -56, -56, -57, -57, -57, -58, -58, -58, -59, -59,
    -00117                 -59, -60, -60, -60, -61, -61, -62, -62, -62, -63, -63, -63, -64, -64, -64, -65,
    -00118                 -65, -65, -66, -66, -66, -67, -67, -67, -68, -68, -68, -69, -69, -69, -70, -70,
    -00119                 -70, -71, -71, -71, -72, -72, -72, -73, -73, -73, -74, -74, -74, -75, -75, -75,
    -00120                 -75, -76, -76, -76, -77, -77, -77, -78, -78, -78, -79, -79, -79, -80, -80, -80,
    -00121                 -80, -81, -81, -81, -82, -82, -82, -83, -83, -83, -84, -84, -84, -84, -85, -85,
    -00122                 -85, -86, -86, -86, -86, -87, -87, -87, -88, -88, -88, -88, -89, -89, -89, -90,
    -00123                 -90, -90, -90, -91, -91, -91, -92, -92, -92, -92, -93, -93, -93, -93, -94, -94,
    -00124                 -94, -95, -95, -95, -95, -96, -96, -96, -96, -97, -97, -97, -97, -98, -98, -98,
    -00125                 -98, -99, -99, -99, -99, -100, -100, -100, -100, -101, -101, -101, -101, -102,
    -00126                 -102, -102, -102, -103, -103, -103, -103, -104, -104, -104, -104, -104, -105,
    -00127                 -105, -105, -105, -106, -106, -106, -106, -106, -107, -107, -107, -107, -108,
    -00128                 -108, -108, -108, -108, -109, -109, -109, -109, -109, -110, -110, -110, -110,
    -00129                 -110, -111, -111, -111, -111, -111, -112, -112, -112, -112, -112, -113, -113,
    -00130                 -113, -113, -113, -114, -114, -114, -114, -114, -114, -115, -115, -115, -115,
    -00131                 -115, -116, -116, -116, -116, -116, -116, -117, -117, -117, -117, -117, -117,
    -00132                 -118, -118, -118, -118, -118, -118, -118, -119, -119, -119, -119, -119, -119,
    -00133                 -119, -120, -120, -120, -120, -120, -120, -120, -121, -121, -121, -121, -121,
    -00134                 -121, -121, -122, -122, -122, -122, -122, -122, -122, -122, -123, -123, -123,
    -00135                 -123, -123, -123, -123, -123, -123, -124, -124, -124, -124, -124, -124, -124,
    -00136                 -124, -124, -124, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    -00137                 -125, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    -00138                 -126, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    -00139                 -127, -127, -127, -127, -127, -128, -128, -128, -128, -128, -128, -128, -128,
    -00140                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00141                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00142                 -128, -128, -128, -128, -128, -128,
    -00143         };
    -00144 
    -00145 #endif /* COS2048_H_ */
    -
    - - - - +
    1 #ifndef COS2048_H_
    +
    2 #define COS2048_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 #define COS2048_NUM_CELLS 2048
    +
    12 #define COS2048_SAMPLERATE 2048
    +
    13 
    +
    14 const char __attribute__((progmem)) COS2048_DATA [] =
    +
    15  {
    +
    16  -128, -128, -128, -128, -128, -128, -128,
    +
    17  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    18  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    19  -128, -128, -128, -128, -128, -128, -128, -128, -127, -127, -127, -127, -127,
    +
    20  -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -126,
    +
    21  -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -125,
    +
    22  -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -124, -124, -124,
    +
    23  -124, -124, -124, -124, -124, -124, -124, -123, -123, -123, -123, -123, -123,
    +
    24  -123, -123, -123, -122, -122, -122, -122, -122, -122, -122, -122, -121, -121,
    +
    25  -121, -121, -121, -121, -121, -120, -120, -120, -120, -120, -120, -120, -120,
    +
    26  -119, -119, -119, -119, -119, -119, -118, -118, -118, -118, -118, -118, -118,
    +
    27  -117, -117, -117, -117, -117, -117, -116, -116, -116, -116, -116, -116, -115,
    +
    28  -115, -115, -115, -115, -114, -114, -114, -114, -114, -114, -113, -113, -113,
    +
    29  -113, -113, -112, -112, -112, -112, -112, -111, -111, -111, -111, -111, -110,
    +
    30  -110, -110, -110, -110, -109, -109, -109, -109, -109, -108, -108, -108, -108,
    +
    31  -108, -107, -107, -107, -107, -106, -106, -106, -106, -106, -105, -105, -105,
    +
    32  -105, -104, -104, -104, -104, -104, -103, -103, -103, -103, -102, -102, -102,
    +
    33  -102, -101, -101, -101, -101, -100, -100, -100, -100, -99, -99, -99, -99, -98,
    +
    34  -98, -98, -98, -97, -97, -97, -97, -96, -96, -96, -96, -95, -95, -95, -95, -94,
    +
    35  -94, -94, -93, -93, -93, -93, -92, -92, -92, -92, -91, -91, -91, -90, -90, -90,
    +
    36  -90, -89, -89, -89, -88, -88, -88, -88, -87, -87, -87, -86, -86, -86, -86, -85,
    +
    37  -85, -85, -84, -84, -84, -84, -83, -83, -83, -82, -82, -82, -81, -81, -81, -80,
    +
    38  -80, -80, -80, -79, -79, -79, -78, -78, -78, -77, -77, -77, -76, -76, -76, -75,
    +
    39  -75, -75, -75, -74, -74, -74, -73, -73, -73, -72, -72, -72, -71, -71, -71, -70,
    +
    40  -70, -70, -69, -69, -69, -68, -68, -68, -67, -67, -67, -66, -66, -66, -65, -65,
    +
    41  -65, -64, -64, -64, -63, -63, -63, -62, -62, -62, -61, -61, -60, -60, -60, -59,
    +
    42  -59, -59, -58, -58, -58, -57, -57, -57, -56, -56, -56, -55, -55, -55, -54, -54,
    +
    43  -53, -53, -53, -52, -52, -52, -51, -51, -51, -50, -50, -49, -49, -49, -48, -48,
    +
    44  -48, -47, -47, -47, -46, -46, -45, -45, -45, -44, -44, -44, -43, -43, -43, -42,
    +
    45  -42, -41, -41, -41, -40, -40, -40, -39, -39, -38, -38, -38, -37, -37, -37, -36,
    +
    46  -36, -35, -35, -35, -34, -34, -34, -33, -33, -32, -32, -32, -31, -31, -30, -30,
    +
    47  -30, -29, -29, -29, -28, -28, -27, -27, -27, -26, -26, -25, -25, -25, -24, -24,
    +
    48  -24, -23, -23, -22, -22, -22, -21, -21, -20, -20, -20, -19, -19, -19, -18, -18,
    +
    49  -17, -17, -17, -16, -16, -15, -15, -15, -14, -14, -13, -13, -13, -12, -12, -11,
    +
    50  -11, -11, -10, -10, -10, -9, -9, -8, -8, -8, -7, -7, -6, -6, -6, -5, -5, -4, -4,
    +
    51  -4, -3, -3, -2, -2, -2, -1, -1, 0, 0, 0, 1, 1, 1, 2, 2, 3, 3, 3, 4, 4, 5, 5, 5,
    +
    52  6, 6, 7, 7, 7, 8, 8, 9, 9, 9, 10, 10, 10, 11, 11, 12, 12, 12, 13, 13, 14, 14,
    +
    53  14, 15, 15, 16, 16, 16, 17, 17, 18, 18, 18, 19, 19, 19, 20, 20, 21, 21, 21, 22,
    +
    54  22, 23, 23, 23, 24, 24, 24, 25, 25, 26, 26, 26, 27, 27, 28, 28, 28, 29, 29, 29,
    +
    55  30, 30, 31, 31, 31, 32, 32, 32, 33, 33, 34, 34, 34, 35, 35, 36, 36, 36, 37, 37,
    +
    56  37, 38, 38, 39, 39, 39, 40, 40, 40, 41, 41, 42, 42, 42, 43, 43, 43, 44, 44, 44,
    +
    57  45, 45, 46, 46, 46, 47, 47, 47, 48, 48, 48, 49, 49, 50, 50, 50, 51, 51, 51, 52,
    +
    58  52, 52, 53, 53, 54, 54, 54, 55, 55, 55, 56, 56, 56, 57, 57, 57, 58, 58, 58, 59,
    +
    59  59, 59, 60, 60, 61, 61, 61, 62, 62, 62, 63, 63, 63, 64, 64, 64, 65, 65, 65, 66,
    +
    60  66, 66, 67, 67, 67, 68, 68, 68, 69, 69, 69, 70, 70, 70, 71, 71, 71, 72, 72, 72,
    +
    61  73, 73, 73, 74, 74, 74, 74, 75, 75, 75, 76, 76, 76, 77, 77, 77, 78, 78, 78, 79,
    +
    62  79, 79, 79, 80, 80, 80, 81, 81, 81, 82, 82, 82, 83, 83, 83, 83, 84, 84, 84, 85,
    +
    63  85, 85, 85, 86, 86, 86, 87, 87, 87, 87, 88, 88, 88, 89, 89, 89, 89, 90, 90, 90,
    +
    64  91, 91, 91, 91, 92, 92, 92, 92, 93, 93, 93, 94, 94, 94, 94, 95, 95, 95, 95, 96,
    +
    65  96, 96, 96, 97, 97, 97, 97, 98, 98, 98, 98, 99, 99, 99, 99, 100, 100, 100, 100,
    +
    66  101, 101, 101, 101, 102, 102, 102, 102, 103, 103, 103, 103, 103, 104, 104, 104,
    +
    67  104, 105, 105, 105, 105, 106, 106, 106, 106, 106, 107, 107, 107, 107, 107, 108,
    +
    68  108, 108, 108, 108, 109, 109, 109, 109, 110, 110, 110, 110, 110, 110, 111, 111,
    +
    69  111, 111, 111, 112, 112, 112, 112, 112, 113, 113, 113, 113, 113, 113, 114, 114,
    +
    70  114, 114, 114, 115, 115, 115, 115, 115, 115, 116, 116, 116, 116, 116, 116, 117,
    +
    71  117, 117, 117, 117, 117, 117, 118, 118, 118, 118, 118, 118, 118, 119, 119, 119,
    +
    72  119, 119, 119, 119, 120, 120, 120, 120, 120, 120, 120, 121, 121, 121, 121, 121,
    +
    73  121, 121, 121, 122, 122, 122, 122, 122, 122, 122, 122, 122, 123, 123, 123, 123,
    +
    74  123, 123, 123, 123, 123, 123, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
    +
    75  124, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 126, 126,
    +
    76  126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 127,
    +
    77  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    78  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    79  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    80  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    81  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    82  127, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    +
    83  126, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 124, 124,
    +
    84  124, 124, 124, 124, 124, 124, 124, 124, 124, 123, 123, 123, 123, 123, 123, 123,
    +
    85  123, 123, 123, 122, 122, 122, 122, 122, 122, 122, 122, 122, 121, 121, 121, 121,
    +
    86  121, 121, 121, 121, 120, 120, 120, 120, 120, 120, 120, 119, 119, 119, 119, 119,
    +
    87  119, 119, 119, 118, 118, 118, 118, 118, 118, 117, 117, 117, 117, 117, 117, 117,
    +
    88  116, 116, 116, 116, 116, 116, 115, 115, 115, 115, 115, 115, 114, 114, 114, 114,
    +
    89  114, 113, 113, 113, 113, 113, 113, 112, 112, 112, 112, 112, 111, 111, 111, 111,
    +
    90  111, 110, 110, 110, 110, 110, 109, 109, 109, 109, 109, 108, 108, 108, 108, 108,
    +
    91  107, 107, 107, 107, 107, 106, 106, 106, 106, 106, 105, 105, 105, 105, 104, 104,
    +
    92  104, 104, 103, 103, 103, 103, 103, 102, 102, 102, 102, 101, 101, 101, 101, 100,
    +
    93  100, 100, 100, 99, 99, 99, 99, 98, 98, 98, 98, 97, 97, 97, 97, 96, 96, 96, 96,
    +
    94  95, 95, 95, 95, 94, 94, 94, 94, 93, 93, 93, 92, 92, 92, 92, 91, 91, 91, 91, 90,
    +
    95  90, 90, 89, 89, 89, 89, 88, 88, 88, 87, 87, 87, 87, 86, 86, 86, 85, 85, 85, 85,
    +
    96  84, 84, 84, 83, 83, 83, 83, 82, 82, 82, 81, 81, 81, 80, 80, 80, 79, 79, 79, 79,
    +
    97  78, 78, 78, 77, 77, 77, 76, 76, 76, 75, 75, 75, 74, 74, 74, 74, 73, 73, 73, 72,
    +
    98  72, 72, 71, 71, 71, 70, 70, 70, 69, 69, 69, 68, 68, 68, 67, 67, 67, 66, 66, 66,
    +
    99  65, 65, 65, 64, 64, 64, 63, 63, 63, 62, 62, 62, 61, 61, 61, 60, 60, 60, 59, 59,
    +
    100  58, 58, 58, 57, 57, 57, 56, 56, 56, 55, 55, 55, 54, 54, 54, 53, 53, 52, 52, 52,
    +
    101  51, 51, 51, 50, 50, 50, 49, 49, 48, 48, 48, 47, 47, 47, 46, 46, 46, 45, 45, 44,
    +
    102  44, 44, 43, 43, 43, 42, 42, 42, 41, 41, 40, 40, 40, 39, 39, 39, 38, 38, 37, 37,
    +
    103  37, 36, 36, 36, 35, 35, 34, 34, 34, 34, 33, 33, 32, 32, 31, 31, 31, 30, 30, 29,
    +
    104  29, 29, 28, 28, 28, 27, 27, 26, 26, 26, 25, 25, 24, 24, 24, 23, 23, 23, 22, 22,
    +
    105  21, 21, 21, 20, 20, 19, 19, 19, 18, 18, 18, 17, 17, 16, 16, 16, 15, 15, 14, 14,
    +
    106  14, 13, 13, 12, 12, 12, 11, 11, 10, 10, 10, 9, 9, 9, 8, 8, 7, 7, 7, 6, 6, 5, 5,
    +
    107  5, 4, 4, 3, 3, 3, 2, 2, 1, 1, 1, 0, 0, 0, -1, -1, -2, -2, -2, -3, -3, -4, -4,
    +
    108  -4, -5, -5, -6, -6, -6, -7, -7, -8, -8, -8, -9, -9, -10, -10, -10, -11, -11,
    +
    109  -11, -12, -12, -13, -13, -13, -14, -14, -15, -15, -15, -16, -16, -17, -17, -17,
    +
    110  -18, -18, -18, -19, -19, -20, -20, -20, -21, -21, -22, -22, -22, -23, -23, -24,
    +
    111  -24, -24, -25, -25, -25, -26, -26, -27, -27, -27, -28, -28, -29, -29, -29, -30,
    +
    112  -30, -30, -31, -31, -32, -32, -32, -33, -33, -34, -34, -34, -35, -35, -35, -36,
    +
    113  -36, -37, -37, -37, -38, -38, -38, -39, -39, -40, -40, -40, -41, -41, -41, -42,
    +
    114  -42, -43, -43, -43, -44, -44, -44, -45, -45, -45, -46, -46, -47, -47, -47, -48,
    +
    115  -48, -48, -49, -49, -49, -50, -50, -51, -51, -51, -52, -52, -52, -53, -53, -53,
    +
    116  -54, -54, -55, -55, -55, -56, -56, -56, -57, -57, -57, -58, -58, -58, -59, -59,
    +
    117  -59, -60, -60, -60, -61, -61, -62, -62, -62, -63, -63, -63, -64, -64, -64, -65,
    +
    118  -65, -65, -66, -66, -66, -67, -67, -67, -68, -68, -68, -69, -69, -69, -70, -70,
    +
    119  -70, -71, -71, -71, -72, -72, -72, -73, -73, -73, -74, -74, -74, -75, -75, -75,
    +
    120  -75, -76, -76, -76, -77, -77, -77, -78, -78, -78, -79, -79, -79, -80, -80, -80,
    +
    121  -80, -81, -81, -81, -82, -82, -82, -83, -83, -83, -84, -84, -84, -84, -85, -85,
    +
    122  -85, -86, -86, -86, -86, -87, -87, -87, -88, -88, -88, -88, -89, -89, -89, -90,
    +
    123  -90, -90, -90, -91, -91, -91, -92, -92, -92, -92, -93, -93, -93, -93, -94, -94,
    +
    124  -94, -95, -95, -95, -95, -96, -96, -96, -96, -97, -97, -97, -97, -98, -98, -98,
    +
    125  -98, -99, -99, -99, -99, -100, -100, -100, -100, -101, -101, -101, -101, -102,
    +
    126  -102, -102, -102, -103, -103, -103, -103, -104, -104, -104, -104, -104, -105,
    +
    127  -105, -105, -105, -106, -106, -106, -106, -106, -107, -107, -107, -107, -108,
    +
    128  -108, -108, -108, -108, -109, -109, -109, -109, -109, -110, -110, -110, -110,
    +
    129  -110, -111, -111, -111, -111, -111, -112, -112, -112, -112, -112, -113, -113,
    +
    130  -113, -113, -113, -114, -114, -114, -114, -114, -114, -115, -115, -115, -115,
    +
    131  -115, -116, -116, -116, -116, -116, -116, -117, -117, -117, -117, -117, -117,
    +
    132  -118, -118, -118, -118, -118, -118, -118, -119, -119, -119, -119, -119, -119,
    +
    133  -119, -120, -120, -120, -120, -120, -120, -120, -121, -121, -121, -121, -121,
    +
    134  -121, -121, -122, -122, -122, -122, -122, -122, -122, -122, -123, -123, -123,
    +
    135  -123, -123, -123, -123, -123, -123, -124, -124, -124, -124, -124, -124, -124,
    +
    136  -124, -124, -124, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +
    137  -125, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +
    138  -126, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +
    139  -127, -127, -127, -127, -127, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    140  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    141  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    142  -128, -128, -128, -128, -128, -128,
    +
    143  };
    +
    144 
    +
    145 #endif /* COS2048_H_ */
    +
    +
    + + diff --git a/doc/html/cos256__int8_8h_source.html b/doc/html/cos256__int8_8h_source.html index 605b1ef7a..be8d129b0 100644 --- a/doc/html/cos256__int8_8h_source.html +++ b/doc/html/cos256__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: tables/cos256_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,52 +99,54 @@
    -
    tables/cos256_int8.h
    +
    cos256_int8.h
    -
    00001 #ifndef COS256_H_
    -00002 #define COS256_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 #define COS256_NUM_CELLS 256
    -00012 #define COS256_SAMPLERATE 256
    -00013 
    -00014 const char __attribute__((progmem)) COS256_DATA []  =
    -00015         {
    -00016                 -128, -128, -128, -128, -128, -128, -127,
    -00017                 -127, -126, -125, -125, -124, -123, -122, -121, -120, -119, -118, -116, -115,
    -00018                 -113, -112, -110, -109, -107, -105, -103, -101, -99, -97, -95, -93, -91, -89,
    -00019                 -86, -84, -82, -79, -77, -74, -72, -69, -66, -64, -61, -58, -55, -52, -49, -47,
    -00020                 -44, -41, -38, -35, -32, -29, -25, -22, -19, -16, -13, -10, -7, -4, -1, 3, 6, 9,
    -00021                 12, 15, 18, 21, 24, 28, 31, 34, 37, 40, 43, 46, 48, 51, 54, 57, 60, 63, 65, 68,
    -00022                 71, 73, 76, 78, 81, 83, 85, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108,
    -00023                 109, 111, 112, 114, 115, 117, 118, 119, 120, 121, 122, 123, 124, 124, 125, 126,
    -00024                 126, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 126, 126, 125, 124,
    -00025                 124, 123, 122, 121, 120, 119, 118, 117, 115, 114, 112, 111, 109, 108, 106, 104,
    -00026                 102, 100, 98, 96, 94, 92, 90, 88, 85, 83, 81, 78, 76, 73, 71, 68, 65, 63, 60,
    -00027                 57, 54, 51, 48, 46, 43, 40, 37, 34, 31, 28, 24, 21, 18, 15, 12, 9, 6, 3, -1, -4,
    -00028                 -7, -10, -13, -16, -19, -22, -25, -29, -32, -35, -38, -41, -44, -47, -49, -52,
    -00029                 -55, -58, -61, -64, -66, -69, -72, -74, -77, -79, -82, -84, -86, -89, -91, -93,
    -00030                 -95, -97, -99, -101, -103, -105, -107, -109, -110, -112, -113, -115, -116, -118,
    -00031                 -119, -120, -121, -122, -123, -124, -125, -125, -126, -127, -127, -128, -128,
    -00032                 -128, -128, -128,
    -00033         };
    -00034 
    -00035 #endif /* COS256_H_ */
    -
    - - - - +
    1 #ifndef COS256_H_
    +
    2 #define COS256_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 #define COS256_NUM_CELLS 256
    +
    12 #define COS256_SAMPLERATE 256
    +
    13 
    +
    14 const char __attribute__((progmem)) COS256_DATA [] =
    +
    15  {
    +
    16  -128, -128, -128, -128, -128, -128, -127,
    +
    17  -127, -126, -125, -125, -124, -123, -122, -121, -120, -119, -118, -116, -115,
    +
    18  -113, -112, -110, -109, -107, -105, -103, -101, -99, -97, -95, -93, -91, -89,
    +
    19  -86, -84, -82, -79, -77, -74, -72, -69, -66, -64, -61, -58, -55, -52, -49, -47,
    +
    20  -44, -41, -38, -35, -32, -29, -25, -22, -19, -16, -13, -10, -7, -4, -1, 3, 6, 9,
    +
    21  12, 15, 18, 21, 24, 28, 31, 34, 37, 40, 43, 46, 48, 51, 54, 57, 60, 63, 65, 68,
    +
    22  71, 73, 76, 78, 81, 83, 85, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108,
    +
    23  109, 111, 112, 114, 115, 117, 118, 119, 120, 121, 122, 123, 124, 124, 125, 126,
    +
    24  126, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 126, 126, 125, 124,
    +
    25  124, 123, 122, 121, 120, 119, 118, 117, 115, 114, 112, 111, 109, 108, 106, 104,
    +
    26  102, 100, 98, 96, 94, 92, 90, 88, 85, 83, 81, 78, 76, 73, 71, 68, 65, 63, 60,
    +
    27  57, 54, 51, 48, 46, 43, 40, 37, 34, 31, 28, 24, 21, 18, 15, 12, 9, 6, 3, -1, -4,
    +
    28  -7, -10, -13, -16, -19, -22, -25, -29, -32, -35, -38, -41, -44, -47, -49, -52,
    +
    29  -55, -58, -61, -64, -66, -69, -72, -74, -77, -79, -82, -84, -86, -89, -91, -93,
    +
    30  -95, -97, -99, -101, -103, -105, -107, -109, -110, -112, -113, -115, -116, -118,
    +
    31  -119, -120, -121, -122, -123, -124, -125, -125, -126, -127, -127, -128, -128,
    +
    32  -128, -128, -128,
    +
    33  };
    +
    34 
    +
    35 #endif /* COS256_H_ */
    +
    +
    + + diff --git a/doc/html/cos4096__int8_8h_source.html b/doc/html/cos4096__int8_8h_source.html index 9773451f0..7c3d20d20 100644 --- a/doc/html/cos4096__int8_8h_source.html +++ b/doc/html/cos4096__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: tables/cos4096_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,288 +99,290 @@
    -
    tables/cos4096_int8.h
    +
    cos4096_int8.h
    -
    00001 #ifndef COS4096_H_
    -00002 #define COS4096_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 #define COS4096_NUM_CELLS 4096
    -00012 #define COS4096_SAMPLERATE 4096
    -00013 
    -00014 const char __attribute__((progmem)) COS4096_DATA []  =
    -00015         {
    -00016                 -128, -128, -128, -128, -128, -128, -128,
    -00017                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00018                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00019                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00020                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00021                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00022                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -127, -127, -127,
    -00023                 -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    -00024                 -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    -00025                 -127, -127, -127, -127, -127, -126, -126, -126, -126, -126, -126, -126, -126,
    -00026                 -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    -00027                 -126, -126, -126, -126, -126, -125, -125, -125, -125, -125, -125, -125, -125,
    -00028                 -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    -00029                 -125, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    -00030                 -124, -124, -124, -124, -124, -124, -124, -123, -123, -123, -123, -123, -123,
    -00031                 -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -122,
    -00032                 -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    -00033                 -122, -122, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
    -00034                 -121, -121, -121, -121, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    -00035                 -120, -120, -120, -120, -120, -119, -119, -119, -119, -119, -119, -119, -119,
    -00036                 -119, -119, -119, -119, -119, -119, -118, -118, -118, -118, -118, -118, -118,
    -00037                 -118, -118, -118, -118, -118, -118, -117, -117, -117, -117, -117, -117, -117,
    -00038                 -117, -117, -117, -117, -117, -116, -116, -116, -116, -116, -116, -116, -116,
    -00039                 -116, -116, -116, -116, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    -00040                 -115, -115, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
    -00041                 -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -112, -112,
    -00042                 -112, -112, -112, -112, -112, -112, -112, -112, -111, -111, -111, -111, -111,
    -00043                 -111, -111, -111, -111, -111, -110, -110, -110, -110, -110, -110, -110, -110,
    -00044                 -110, -110, -109, -109, -109, -109, -109, -109, -109, -109, -109, -109, -108,
    -00045                 -108, -108, -108, -108, -108, -108, -108, -108, -107, -107, -107, -107, -107,
    -00046                 -107, -107, -107, -107, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    -00047                 -105, -105, -105, -105, -105, -105, -105, -105, -105, -104, -104, -104, -104,
    -00048                 -104, -104, -104, -104, -104, -103, -103, -103, -103, -103, -103, -103, -103,
    -00049                 -102, -102, -102, -102, -102, -102, -102, -102, -102, -101, -101, -101, -101,
    -00050                 -101, -101, -101, -101, -100, -100, -100, -100, -100, -100, -100, -100, -99,
    -00051                 -99, -99, -99, -99, -99, -99, -99, -98, -98, -98, -98, -98, -98, -98, -98, -97,
    -00052                 -97, -97, -97, -97, -97, -97, -97, -96, -96, -96, -96, -96, -96, -96, -95, -95,
    -00053                 -95, -95, -95, -95, -95, -95, -94, -94, -94, -94, -94, -94, -94, -93, -93, -93,
    -00054                 -93, -93, -93, -93, -93, -92, -92, -92, -92, -92, -92, -92, -91, -91, -91, -91,
    -00055                 -91, -91, -91, -90, -90, -90, -90, -90, -90, -90, -89, -89, -89, -89, -89, -89,
    -00056                 -89, -88, -88, -88, -88, -88, -88, -88, -87, -87, -87, -87, -87, -87, -87, -86,
    -00057                 -86, -86, -86, -86, -86, -86, -85, -85, -85, -85, -85, -85, -85, -84, -84, -84,
    -00058                 -84, -84, -84, -84, -83, -83, -83, -83, -83, -83, -82, -82, -82, -82, -82, -82,
    -00059                 -82, -81, -81, -81, -81, -81, -81, -80, -80, -80, -80, -80, -80, -80, -79, -79,
    -00060                 -79, -79, -79, -79, -78, -78, -78, -78, -78, -78, -78, -77, -77, -77, -77, -77,
    -00061                 -77, -76, -76, -76, -76, -76, -76, -75, -75, -75, -75, -75, -75, -75, -74, -74,
    -00062                 -74, -74, -74, -74, -73, -73, -73, -73, -73, -73, -72, -72, -72, -72, -72, -72,
    -00063                 -71, -71, -71, -71, -71, -71, -70, -70, -70, -70, -70, -70, -69, -69, -69, -69,
    -00064                 -69, -69, -68, -68, -68, -68, -68, -68, -67, -67, -67, -67, -67, -67, -66, -66,
    -00065                 -66, -66, -66, -66, -65, -65, -65, -65, -65, -65, -64, -64, -64, -64, -64, -64,
    -00066                 -63, -63, -63, -63, -63, -63, -62, -62, -62, -62, -62, -62, -61, -61, -61, -61,
    -00067                 -61, -60, -60, -60, -60, -60, -60, -59, -59, -59, -59, -59, -59, -58, -58, -58,
    -00068                 -58, -58, -58, -57, -57, -57, -57, -57, -56, -56, -56, -56, -56, -56, -55, -55,
    -00069                 -55, -55, -55, -55, -54, -54, -54, -54, -54, -53, -53, -53, -53, -53, -53, -52,
    -00070                 -52, -52, -52, -52, -51, -51, -51, -51, -51, -51, -50, -50, -50, -50, -50, -49,
    -00071                 -49, -49, -49, -49, -49, -48, -48, -48, -48, -48, -47, -47, -47, -47, -47, -47,
    -00072                 -46, -46, -46, -46, -46, -45, -45, -45, -45, -45, -45, -44, -44, -44, -44, -44,
    -00073                 -43, -43, -43, -43, -43, -43, -42, -42, -42, -42, -42, -41, -41, -41, -41, -41,
    -00074                 -40, -40, -40, -40, -40, -40, -39, -39, -39, -39, -39, -38, -38, -38, -38, -38,
    -00075                 -37, -37, -37, -37, -37, -37, -36, -36, -36, -36, -36, -35, -35, -35, -35, -35,
    -00076                 -34, -34, -34, -34, -34, -34, -33, -33, -33, -33, -33, -32, -32, -32, -32, -32,
    -00077                 -31, -31, -31, -31, -31, -30, -30, -30, -30, -30, -29, -29, -29, -29, -29, -29,
    -00078                 -28, -28, -28, -28, -28, -27, -27, -27, -27, -27, -26, -26, -26, -26, -26, -25,
    -00079                 -25, -25, -25, -25, -25, -24, -24, -24, -24, -24, -23, -23, -23, -23, -23, -22,
    -00080                 -22, -22, -22, -22, -21, -21, -21, -21, -21, -20, -20, -20, -20, -20, -19, -19,
    -00081                 -19, -19, -19, -18, -18, -18, -18, -18, -18, -17, -17, -17, -17, -17, -16, -16,
    -00082                 -16, -16, -16, -15, -15, -15, -15, -15, -14, -14, -14, -14, -14, -13, -13, -13,
    -00083                 -13, -13, -12, -12, -12, -12, -12, -11, -11, -11, -11, -11, -11, -10, -10, -10,
    -00084                 -10, -10, -9, -9, -9, -9, -9, -8, -8, -8, -8, -8, -7, -7, -7, -7, -7, -6, -6,
    -00085                 -6, -6, -6, -5, -5, -5, -5, -5, -4, -4, -4, -4, -4, -3, -3, -3, -3, -3, -2, -2,
    -00086                 -2, -2, -2, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2,
    -00087                 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8,
    -00088                 8, 8, 8, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 12, 12, 12,
    -00089                 12, 12, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 16, 16, 16,
    -00090                 16, 16, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 20, 20,
    -00091                 20, 20, 20, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 24, 24,
    -00092                 24, 24, 24, 24, 25, 25, 25, 25, 25, 26, 26, 26, 26, 26, 27, 27, 27, 27, 27, 28,
    -00093                 28, 28, 28, 28, 28, 29, 29, 29, 29, 29, 30, 30, 30, 30, 30, 31, 31, 31, 31, 31,
    -00094                 32, 32, 32, 32, 32, 32, 33, 33, 32, 33, 33, 34, 34, 34, 34, 34, 35, 35, 35, 35,
    -00095                 35, 36, 36, 36, 36, 36, 36, 37, 37, 37, 37, 37, 38, 38, 38, 38, 38, 39, 39, 39,
    -00096                 39, 39, 39, 40, 40, 40, 40, 40, 41, 41, 41, 41, 41, 42, 42, 42, 42, 42, 42, 43,
    -00097                 43, 43, 43, 43, 44, 44, 44, 44, 44, 44, 45, 45, 45, 45, 45, 46, 46, 46, 46, 46,
    -00098                 46, 47, 47, 47, 47, 47, 48, 48, 48, 48, 48, 48, 49, 49, 49, 49, 49, 50, 50, 50,
    -00099                 50, 50, 50, 51, 51, 51, 51, 51, 52, 52, 52, 52, 52, 52, 53, 53, 53, 53, 53, 54,
    -00100                 54, 54, 54, 54, 54, 55, 55, 55, 55, 55, 55, 56, 56, 56, 56, 56, 57, 57, 57, 57,
    -00101                 57, 57, 58, 58, 58, 58, 58, 58, 59, 59, 59, 59, 59, 59, 60, 60, 60, 60, 60, 61,
    -00102                 61, 61, 61, 61, 61, 62, 62, 62, 62, 62, 62, 63, 63, 63, 63, 63, 63, 64, 64, 64,
    -00103                 64, 64, 64, 65, 65, 65, 65, 65, 65, 66, 66, 66, 66, 66, 66, 67, 67, 67, 67, 67,
    -00104                 67, 68, 68, 68, 68, 68, 68, 69, 69, 69, 69, 69, 69, 70, 70, 70, 70, 70, 70, 71,
    -00105                 71, 71, 71, 71, 71, 72, 72, 72, 72, 72, 72, 73, 73, 73, 73, 73, 73, 74, 74, 74,
    -00106                 74, 74, 74, 74, 75, 75, 75, 75, 75, 75, 76, 76, 76, 76, 76, 76, 77, 77, 77, 77,
    -00107                 77, 77, 77, 78, 78, 78, 78, 78, 78, 79, 79, 79, 79, 79, 79, 79, 80, 80, 80, 80,
    -00108                 80, 80, 81, 81, 81, 81, 81, 81, 81, 82, 82, 82, 82, 82, 82, 83, 83, 83, 83, 83,
    -00109                 83, 83, 84, 84, 84, 84, 84, 84, 84, 85, 85, 85, 85, 85, 85, 85, 86, 86, 86, 86,
    -00110                 86, 86, 86, 87, 87, 87, 87, 87, 87, 87, 88, 88, 88, 88, 88, 88, 88, 89, 89, 89,
    -00111                 89, 89, 89, 89, 90, 90, 90, 90, 90, 90, 90, 91, 91, 91, 91, 91, 91, 91, 92, 92,
    -00112                 92, 92, 92, 92, 92, 92, 93, 93, 93, 93, 93, 93, 93, 94, 94, 94, 94, 94, 94, 94,
    -00113                 94, 95, 95, 95, 95, 95, 95, 95, 96, 96, 96, 96, 96, 96, 96, 96, 97, 97, 97, 97,
    -00114                 97, 97, 97, 97, 98, 98, 98, 98, 98, 98, 98, 98, 99, 99, 99, 99, 99, 99, 99, 99,
    -00115                 100, 100, 100, 100, 100, 100, 100, 100, 101, 101, 101, 101, 101, 101, 101, 101,
    -00116                 101, 102, 102, 102, 102, 102, 102, 102, 102, 103, 103, 103, 103, 103, 103, 103,
    -00117                 103, 103, 104, 104, 104, 104, 104, 104, 104, 104, 104, 105, 105, 105, 105, 105,
    -00118                 105, 105, 105, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 107, 107, 107,
    -00119                 107, 107, 107, 107, 107, 107, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
    -00120                 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 110, 110, 110, 110, 110, 110,
    -00121                 110, 110, 110, 110, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 112, 112,
    -00122                 112, 112, 112, 112, 112, 112, 112, 112, 112, 113, 113, 113, 113, 113, 113, 113,
    -00123                 113, 113, 113, 113, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 115,
    -00124                 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 116, 116, 116, 116, 116,
    -00125                 116, 116, 116, 116, 116, 116, 116, 117, 117, 117, 117, 117, 117, 117, 117, 117,
    -00126                 117, 117, 117, 117, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
    -00127                 118, 118, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
    -00128                 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 121,
    -00129                 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 122,
    -00130                 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
    -00131                 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
    -00132                 123, 123, 123, 123, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
    -00133                 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 125, 125, 125, 125, 125, 125,
    -00134                 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    -00135                 125, 125, 125, 125, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    -00136                 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    -00137                 126, 126, 126, 126, 126, 126, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00138                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00139                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00140                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00141                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00142                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00143                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00144                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00145                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00146                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00147                 127, 127, 127, 127, 127, 127, 127, 127, 127, 126, 126, 126, 126, 126, 126, 126,
    -00148                 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    -00149                 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 125, 125, 125, 125, 125,
    -00150                 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    -00151                 125, 125, 125, 125, 125, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
    -00152                 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 123, 123, 123, 123, 123,
    -00153                 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 122, 122,
    -00154                 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
    -00155                 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
    -00156                 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 119,
    -00157                 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 118, 118,
    -00158                 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 117, 117, 117, 117, 117,
    -00159                 117, 117, 117, 117, 117, 117, 117, 117, 116, 116, 116, 116, 116, 116, 116, 116,
    -00160                 116, 116, 116, 116, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
    -00161                 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 113, 113, 113, 113, 113,
    -00162                 113, 113, 113, 113, 113, 113, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112,
    -00163                 112, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 110, 110, 110, 110, 110,
    -00164                 110, 110, 110, 110, 110, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 108,
    -00165                 108, 108, 108, 108, 108, 108, 108, 108, 108, 107, 107, 107, 107, 107, 107, 107,
    -00166                 107, 107, 106, 106, 106, 106, 106, 106, 106, 106, 106, 105, 105, 105, 105, 105,
    -00167                 105, 105, 105, 105, 104, 104, 104, 104, 104, 104, 104, 104, 104, 103, 103, 103,
    -00168                 103, 103, 103, 103, 103, 103, 102, 102, 102, 102, 102, 102, 102, 102, 101, 101,
    -00169                 101, 101, 101, 101, 101, 101, 101, 100, 100, 100, 100, 100, 100, 100, 100, 99,
    -00170                 99, 99, 99, 99, 99, 99, 99, 98, 98, 98, 98, 98, 98, 98, 98, 97, 97, 97, 97, 97,
    -00171                 97, 97, 97, 96, 96, 96, 96, 96, 96, 96, 96, 95, 95, 95, 95, 95, 95, 95, 94, 94,
    -00172                 94, 94, 94, 94, 94, 94, 93, 93, 93, 93, 93, 93, 93, 92, 92, 92, 92, 92, 92, 92,
    -00173                 92, 91, 91, 91, 91, 91, 91, 91, 90, 90, 90, 90, 90, 90, 90, 89, 89, 89, 89, 89,
    -00174                 89, 89, 88, 88, 88, 88, 88, 88, 88, 87, 87, 87, 87, 87, 87, 87, 86, 86, 86, 86,
    -00175                 86, 86, 86, 85, 85, 85, 85, 85, 85, 85, 84, 84, 84, 84, 84, 84, 84, 83, 83, 83,
    -00176                 83, 83, 83, 83, 82, 82, 82, 82, 82, 82, 81, 81, 81, 81, 81, 81, 81, 80, 80, 80,
    -00177                 80, 80, 80, 79, 79, 79, 79, 79, 79, 79, 78, 78, 78, 78, 78, 78, 77, 77, 77, 77,
    -00178                 77, 77, 77, 76, 76, 76, 76, 76, 76, 75, 75, 75, 75, 75, 75, 74, 74, 74, 74, 74,
    -00179                 74, 74, 73, 73, 73, 73, 73, 73, 72, 72, 72, 72, 72, 72, 71, 71, 71, 71, 71, 71,
    -00180                 70, 70, 70, 70, 70, 70, 69, 69, 69, 69, 69, 69, 68, 68, 68, 68, 68, 68, 67, 67,
    -00181                 67, 67, 67, 67, 66, 66, 66, 66, 66, 66, 65, 65, 65, 65, 65, 65, 64, 64, 64, 64,
    -00182                 64, 64, 63, 63, 63, 63, 63, 63, 62, 62, 62, 62, 62, 62, 61, 61, 61, 61, 61, 61,
    -00183                 60, 60, 60, 60, 60, 59, 59, 59, 59, 59, 59, 58, 58, 58, 58, 58, 58, 57, 57, 57,
    -00184                 57, 57, 57, 56, 56, 56, 56, 56, 55, 55, 55, 55, 55, 55, 54, 54, 54, 54, 54, 54,
    -00185                 53, 53, 53, 53, 53, 52, 52, 52, 52, 52, 52, 51, 51, 51, 51, 51, 50, 50, 50, 50,
    -00186                 50, 50, 49, 49, 49, 49, 49, 48, 48, 48, 48, 48, 48, 47, 47, 47, 47, 47, 46, 46,
    -00187                 46, 46, 46, 46, 45, 45, 45, 45, 45, 44, 44, 44, 44, 44, 44, 43, 43, 43, 43, 43,
    -00188                 42, 42, 42, 42, 42, 42, 41, 41, 41, 41, 41, 40, 40, 40, 40, 40, 39, 39, 39, 39,
    -00189                 39, 39, 38, 38, 38, 38, 38, 37, 37, 37, 37, 37, 36, 36, 36, 36, 36, 36, 35, 35,
    -00190                 35, 35, 35, 34, 34, 34, 34, 34, 33, 33, 32, 33, 33, 32, 32, 32, 32, 32, 32, 31,
    -00191                 31, 31, 31, 31, 30, 30, 30, 30, 30, 29, 29, 29, 29, 29, 28, 28, 28, 28, 28, 28,
    -00192                 27, 27, 27, 27, 27, 26, 26, 26, 26, 26, 25, 25, 25, 25, 25, 24, 24, 24, 24, 24,
    -00193                 24, 23, 23, 23, 23, 23, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 20, 20, 20, 20,
    -00194                 20, 19, 19, 19, 19, 19, 18, 18, 18, 18, 18, 18, 17, 17, 17, 17, 17, 16, 16, 16,
    -00195                 16, 16, 15, 15, 15, 15, 15, 14, 14, 14, 14, 14, 13, 13, 13, 13, 13, 12, 12, 12,
    -00196                 12, 12, 11, 11, 11, 11, 11, 10, 10, 10, 10, 10, 10, 9, 9, 9, 9, 9, 8, 8, 8, 8,
    -00197                 8, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 2,
    -00198                 2, 2, 2, 2, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -2, -2, -2,
    -00199                 -2, -2, -3, -3, -3, -3, -3, -4, -4, -4, -4, -4, -5, -5, -5, -5, -5, -6, -6, -6,
    -00200                 -6, -6, -7, -7, -7, -7, -7, -8, -8, -8, -8, -8, -9, -9, -9, -9, -9, -10, -10,
    -00201                 -10, -10, -10, -10, -11, -11, -11, -11, -11, -12, -12, -12, -12, -12, -13, -13,
    -00202                 -13, -13, -13, -14, -14, -14, -14, -14, -15, -15, -15, -15, -15, -16, -16, -16,
    -00203                 -16, -16, -17, -17, -17, -17, -17, -18, -18, -18, -18, -18, -18, -19, -19, -19,
    -00204                 -19, -19, -20, -20, -20, -20, -20, -21, -21, -21, -21, -21, -22, -22, -22, -22,
    -00205                 -22, -23, -23, -23, -23, -23, -24, -24, -24, -24, -24, -25, -25, -25, -25, -25,
    -00206                 -25, -26, -26, -26, -26, -26, -27, -27, -27, -27, -27, -28, -28, -28, -28, -28,
    -00207                 -29, -29, -29, -29, -29, -29, -30, -30, -30, -30, -30, -31, -31, -31, -31, -31,
    -00208                 -32, -32, -32, -32, -32, -33, -33, -33, -33, -33, -34, -34, -34, -34, -34, -34,
    -00209                 -35, -35, -35, -35, -35, -36, -36, -36, -36, -36, -37, -37, -37, -37, -37, -37,
    -00210                 -38, -38, -38, -38, -38, -39, -39, -39, -39, -39, -40, -40, -40, -40, -40, -40,
    -00211                 -41, -41, -41, -41, -41, -42, -42, -42, -42, -42, -43, -43, -43, -43, -43, -43,
    -00212                 -44, -44, -44, -44, -44, -45, -45, -45, -45, -45, -45, -46, -46, -46, -46, -46,
    -00213                 -47, -47, -47, -47, -47, -47, -48, -48, -48, -48, -48, -49, -49, -49, -49, -49,
    -00214                 -49, -50, -50, -50, -50, -50, -51, -51, -51, -51, -51, -51, -52, -52, -52, -52,
    -00215                 -52, -53, -53, -53, -53, -53, -53, -54, -54, -54, -54, -54, -55, -55, -55, -55,
    -00216                 -55, -55, -56, -56, -56, -56, -56, -56, -57, -57, -57, -57, -57, -58, -58, -58,
    -00217                 -58, -58, -58, -59, -59, -59, -59, -59, -59, -60, -60, -60, -60, -60, -60, -61,
    -00218                 -61, -61, -61, -61, -62, -62, -62, -62, -62, -62, -63, -63, -63, -63, -63, -63,
    -00219                 -64, -64, -64, -64, -64, -64, -65, -65, -65, -65, -65, -65, -66, -66, -66, -66,
    -00220                 -66, -66, -67, -67, -67, -67, -67, -67, -68, -68, -68, -68, -68, -68, -69, -69,
    -00221                 -69, -69, -69, -69, -70, -70, -70, -70, -70, -70, -71, -71, -71, -71, -71, -71,
    -00222                 -72, -72, -72, -72, -72, -72, -73, -73, -73, -73, -73, -73, -74, -74, -74, -74,
    -00223                 -74, -74, -75, -75, -75, -75, -75, -75, -75, -76, -76, -76, -76, -76, -76, -77,
    -00224                 -77, -77, -77, -77, -77, -78, -78, -78, -78, -78, -78, -78, -79, -79, -79, -79,
    -00225                 -79, -79, -80, -80, -80, -80, -80, -80, -80, -81, -81, -81, -81, -81, -81, -82,
    -00226                 -82, -82, -82, -82, -82, -82, -83, -83, -83, -83, -83, -83, -84, -84, -84, -84,
    -00227                 -84, -84, -84, -85, -85, -85, -85, -85, -85, -85, -86, -86, -86, -86, -86, -86,
    -00228                 -86, -87, -87, -87, -87, -87, -87, -87, -88, -88, -88, -88, -88, -88, -88, -89,
    -00229                 -89, -89, -89, -89, -89, -89, -90, -90, -90, -90, -90, -90, -90, -91, -91, -91,
    -00230                 -91, -91, -91, -91, -92, -92, -92, -92, -92, -92, -92, -93, -93, -93, -93, -93,
    -00231                 -93, -93, -93, -94, -94, -94, -94, -94, -94, -94, -95, -95, -95, -95, -95, -95,
    -00232                 -95, -95, -96, -96, -96, -96, -96, -96, -96, -97, -97, -97, -97, -97, -97, -97,
    -00233                 -97, -98, -98, -98, -98, -98, -98, -98, -98, -99, -99, -99, -99, -99, -99, -99,
    -00234                 -99, -100, -100, -100, -100, -100, -100, -100, -100, -101, -101, -101, -101,
    -00235                 -101, -101, -101, -101, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    -00236                 -103, -103, -103, -103, -103, -103, -103, -103, -104, -104, -104, -104, -104,
    -00237                 -104, -104, -104, -104, -105, -105, -105, -105, -105, -105, -105, -105, -105,
    -00238                 -106, -106, -106, -106, -106, -106, -106, -106, -106, -107, -107, -107, -107,
    -00239                 -107, -107, -107, -107, -107, -108, -108, -108, -108, -108, -108, -108, -108,
    -00240                 -108, -109, -109, -109, -109, -109, -109, -109, -109, -109, -109, -110, -110,
    -00241                 -110, -110, -110, -110, -110, -110, -110, -110, -111, -111, -111, -111, -111,
    -00242                 -111, -111, -111, -111, -111, -112, -112, -112, -112, -112, -112, -112, -112,
    -00243                 -112, -112, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    -00244                 -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -115, -115,
    -00245                 -115, -115, -115, -115, -115, -115, -115, -115, -115, -116, -116, -116, -116,
    -00246                 -116, -116, -116, -116, -116, -116, -116, -116, -117, -117, -117, -117, -117,
    -00247                 -117, -117, -117, -117, -117, -117, -117, -118, -118, -118, -118, -118, -118,
    -00248                 -118, -118, -118, -118, -118, -118, -118, -119, -119, -119, -119, -119, -119,
    -00249                 -119, -119, -119, -119, -119, -119, -119, -119, -120, -120, -120, -120, -120,
    -00250                 -120, -120, -120, -120, -120, -120, -120, -120, -120, -121, -121, -121, -121,
    -00251                 -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -122, -122,
    -00252                 -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    -00253                 -122, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    -00254                 -123, -123, -123, -123, -123, -123, -124, -124, -124, -124, -124, -124, -124,
    -00255                 -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -125,
    -00256                 -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    -00257                 -125, -125, -125, -125, -125, -125, -125, -125, -126, -126, -126, -126, -126,
    -00258                 -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    -00259                 -126, -126, -126, -126, -126, -126, -126, -126, -127, -127, -127, -127, -127,
    -00260                 -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    -00261                 -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    -00262                 -127, -127, -127, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00263                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00264                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00265                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00266                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00267                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00268                 -128, -128, -128, -128, -128, -128,
    -00269         };
    -00270 
    -00271 #endif /* COS4096_H_ */
    -
    - - - - +
    1 #ifndef COS4096_H_
    +
    2 #define COS4096_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 #define COS4096_NUM_CELLS 4096
    +
    12 #define COS4096_SAMPLERATE 4096
    +
    13 
    +
    14 const char __attribute__((progmem)) COS4096_DATA [] =
    +
    15  {
    +
    16  -128, -128, -128, -128, -128, -128, -128,
    +
    17  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    18  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    19  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    20  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    21  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    22  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -127, -127, -127,
    +
    23  -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +
    24  -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +
    25  -127, -127, -127, -127, -127, -126, -126, -126, -126, -126, -126, -126, -126,
    +
    26  -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +
    27  -126, -126, -126, -126, -126, -125, -125, -125, -125, -125, -125, -125, -125,
    +
    28  -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +
    29  -125, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +
    30  -124, -124, -124, -124, -124, -124, -124, -123, -123, -123, -123, -123, -123,
    +
    31  -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -122,
    +
    32  -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    +
    33  -122, -122, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
    +
    34  -121, -121, -121, -121, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +
    35  -120, -120, -120, -120, -120, -119, -119, -119, -119, -119, -119, -119, -119,
    +
    36  -119, -119, -119, -119, -119, -119, -118, -118, -118, -118, -118, -118, -118,
    +
    37  -118, -118, -118, -118, -118, -118, -117, -117, -117, -117, -117, -117, -117,
    +
    38  -117, -117, -117, -117, -117, -116, -116, -116, -116, -116, -116, -116, -116,
    +
    39  -116, -116, -116, -116, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    +
    40  -115, -115, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
    +
    41  -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -112, -112,
    +
    42  -112, -112, -112, -112, -112, -112, -112, -112, -111, -111, -111, -111, -111,
    +
    43  -111, -111, -111, -111, -111, -110, -110, -110, -110, -110, -110, -110, -110,
    +
    44  -110, -110, -109, -109, -109, -109, -109, -109, -109, -109, -109, -109, -108,
    +
    45  -108, -108, -108, -108, -108, -108, -108, -108, -107, -107, -107, -107, -107,
    +
    46  -107, -107, -107, -107, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    +
    47  -105, -105, -105, -105, -105, -105, -105, -105, -105, -104, -104, -104, -104,
    +
    48  -104, -104, -104, -104, -104, -103, -103, -103, -103, -103, -103, -103, -103,
    +
    49  -102, -102, -102, -102, -102, -102, -102, -102, -102, -101, -101, -101, -101,
    +
    50  -101, -101, -101, -101, -100, -100, -100, -100, -100, -100, -100, -100, -99,
    +
    51  -99, -99, -99, -99, -99, -99, -99, -98, -98, -98, -98, -98, -98, -98, -98, -97,
    +
    52  -97, -97, -97, -97, -97, -97, -97, -96, -96, -96, -96, -96, -96, -96, -95, -95,
    +
    53  -95, -95, -95, -95, -95, -95, -94, -94, -94, -94, -94, -94, -94, -93, -93, -93,
    +
    54  -93, -93, -93, -93, -93, -92, -92, -92, -92, -92, -92, -92, -91, -91, -91, -91,
    +
    55  -91, -91, -91, -90, -90, -90, -90, -90, -90, -90, -89, -89, -89, -89, -89, -89,
    +
    56  -89, -88, -88, -88, -88, -88, -88, -88, -87, -87, -87, -87, -87, -87, -87, -86,
    +
    57  -86, -86, -86, -86, -86, -86, -85, -85, -85, -85, -85, -85, -85, -84, -84, -84,
    +
    58  -84, -84, -84, -84, -83, -83, -83, -83, -83, -83, -82, -82, -82, -82, -82, -82,
    +
    59  -82, -81, -81, -81, -81, -81, -81, -80, -80, -80, -80, -80, -80, -80, -79, -79,
    +
    60  -79, -79, -79, -79, -78, -78, -78, -78, -78, -78, -78, -77, -77, -77, -77, -77,
    +
    61  -77, -76, -76, -76, -76, -76, -76, -75, -75, -75, -75, -75, -75, -75, -74, -74,
    +
    62  -74, -74, -74, -74, -73, -73, -73, -73, -73, -73, -72, -72, -72, -72, -72, -72,
    +
    63  -71, -71, -71, -71, -71, -71, -70, -70, -70, -70, -70, -70, -69, -69, -69, -69,
    +
    64  -69, -69, -68, -68, -68, -68, -68, -68, -67, -67, -67, -67, -67, -67, -66, -66,
    +
    65  -66, -66, -66, -66, -65, -65, -65, -65, -65, -65, -64, -64, -64, -64, -64, -64,
    +
    66  -63, -63, -63, -63, -63, -63, -62, -62, -62, -62, -62, -62, -61, -61, -61, -61,
    +
    67  -61, -60, -60, -60, -60, -60, -60, -59, -59, -59, -59, -59, -59, -58, -58, -58,
    +
    68  -58, -58, -58, -57, -57, -57, -57, -57, -56, -56, -56, -56, -56, -56, -55, -55,
    +
    69  -55, -55, -55, -55, -54, -54, -54, -54, -54, -53, -53, -53, -53, -53, -53, -52,
    +
    70  -52, -52, -52, -52, -51, -51, -51, -51, -51, -51, -50, -50, -50, -50, -50, -49,
    +
    71  -49, -49, -49, -49, -49, -48, -48, -48, -48, -48, -47, -47, -47, -47, -47, -47,
    +
    72  -46, -46, -46, -46, -46, -45, -45, -45, -45, -45, -45, -44, -44, -44, -44, -44,
    +
    73  -43, -43, -43, -43, -43, -43, -42, -42, -42, -42, -42, -41, -41, -41, -41, -41,
    +
    74  -40, -40, -40, -40, -40, -40, -39, -39, -39, -39, -39, -38, -38, -38, -38, -38,
    +
    75  -37, -37, -37, -37, -37, -37, -36, -36, -36, -36, -36, -35, -35, -35, -35, -35,
    +
    76  -34, -34, -34, -34, -34, -34, -33, -33, -33, -33, -33, -32, -32, -32, -32, -32,
    +
    77  -31, -31, -31, -31, -31, -30, -30, -30, -30, -30, -29, -29, -29, -29, -29, -29,
    +
    78  -28, -28, -28, -28, -28, -27, -27, -27, -27, -27, -26, -26, -26, -26, -26, -25,
    +
    79  -25, -25, -25, -25, -25, -24, -24, -24, -24, -24, -23, -23, -23, -23, -23, -22,
    +
    80  -22, -22, -22, -22, -21, -21, -21, -21, -21, -20, -20, -20, -20, -20, -19, -19,
    +
    81  -19, -19, -19, -18, -18, -18, -18, -18, -18, -17, -17, -17, -17, -17, -16, -16,
    +
    82  -16, -16, -16, -15, -15, -15, -15, -15, -14, -14, -14, -14, -14, -13, -13, -13,
    +
    83  -13, -13, -12, -12, -12, -12, -12, -11, -11, -11, -11, -11, -11, -10, -10, -10,
    +
    84  -10, -10, -9, -9, -9, -9, -9, -8, -8, -8, -8, -8, -7, -7, -7, -7, -7, -6, -6,
    +
    85  -6, -6, -6, -5, -5, -5, -5, -5, -4, -4, -4, -4, -4, -3, -3, -3, -3, -3, -2, -2,
    +
    86  -2, -2, -2, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2,
    +
    87  3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8,
    +
    88  8, 8, 8, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 12, 12, 12,
    +
    89  12, 12, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 16, 16, 16,
    +
    90  16, 16, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 20, 20,
    +
    91  20, 20, 20, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 24, 24,
    +
    92  24, 24, 24, 24, 25, 25, 25, 25, 25, 26, 26, 26, 26, 26, 27, 27, 27, 27, 27, 28,
    +
    93  28, 28, 28, 28, 28, 29, 29, 29, 29, 29, 30, 30, 30, 30, 30, 31, 31, 31, 31, 31,
    +
    94  32, 32, 32, 32, 32, 32, 33, 33, 32, 33, 33, 34, 34, 34, 34, 34, 35, 35, 35, 35,
    +
    95  35, 36, 36, 36, 36, 36, 36, 37, 37, 37, 37, 37, 38, 38, 38, 38, 38, 39, 39, 39,
    +
    96  39, 39, 39, 40, 40, 40, 40, 40, 41, 41, 41, 41, 41, 42, 42, 42, 42, 42, 42, 43,
    +
    97  43, 43, 43, 43, 44, 44, 44, 44, 44, 44, 45, 45, 45, 45, 45, 46, 46, 46, 46, 46,
    +
    98  46, 47, 47, 47, 47, 47, 48, 48, 48, 48, 48, 48, 49, 49, 49, 49, 49, 50, 50, 50,
    +
    99  50, 50, 50, 51, 51, 51, 51, 51, 52, 52, 52, 52, 52, 52, 53, 53, 53, 53, 53, 54,
    +
    100  54, 54, 54, 54, 54, 55, 55, 55, 55, 55, 55, 56, 56, 56, 56, 56, 57, 57, 57, 57,
    +
    101  57, 57, 58, 58, 58, 58, 58, 58, 59, 59, 59, 59, 59, 59, 60, 60, 60, 60, 60, 61,
    +
    102  61, 61, 61, 61, 61, 62, 62, 62, 62, 62, 62, 63, 63, 63, 63, 63, 63, 64, 64, 64,
    +
    103  64, 64, 64, 65, 65, 65, 65, 65, 65, 66, 66, 66, 66, 66, 66, 67, 67, 67, 67, 67,
    +
    104  67, 68, 68, 68, 68, 68, 68, 69, 69, 69, 69, 69, 69, 70, 70, 70, 70, 70, 70, 71,
    +
    105  71, 71, 71, 71, 71, 72, 72, 72, 72, 72, 72, 73, 73, 73, 73, 73, 73, 74, 74, 74,
    +
    106  74, 74, 74, 74, 75, 75, 75, 75, 75, 75, 76, 76, 76, 76, 76, 76, 77, 77, 77, 77,
    +
    107  77, 77, 77, 78, 78, 78, 78, 78, 78, 79, 79, 79, 79, 79, 79, 79, 80, 80, 80, 80,
    +
    108  80, 80, 81, 81, 81, 81, 81, 81, 81, 82, 82, 82, 82, 82, 82, 83, 83, 83, 83, 83,
    +
    109  83, 83, 84, 84, 84, 84, 84, 84, 84, 85, 85, 85, 85, 85, 85, 85, 86, 86, 86, 86,
    +
    110  86, 86, 86, 87, 87, 87, 87, 87, 87, 87, 88, 88, 88, 88, 88, 88, 88, 89, 89, 89,
    +
    111  89, 89, 89, 89, 90, 90, 90, 90, 90, 90, 90, 91, 91, 91, 91, 91, 91, 91, 92, 92,
    +
    112  92, 92, 92, 92, 92, 92, 93, 93, 93, 93, 93, 93, 93, 94, 94, 94, 94, 94, 94, 94,
    +
    113  94, 95, 95, 95, 95, 95, 95, 95, 96, 96, 96, 96, 96, 96, 96, 96, 97, 97, 97, 97,
    +
    114  97, 97, 97, 97, 98, 98, 98, 98, 98, 98, 98, 98, 99, 99, 99, 99, 99, 99, 99, 99,
    +
    115  100, 100, 100, 100, 100, 100, 100, 100, 101, 101, 101, 101, 101, 101, 101, 101,
    +
    116  101, 102, 102, 102, 102, 102, 102, 102, 102, 103, 103, 103, 103, 103, 103, 103,
    +
    117  103, 103, 104, 104, 104, 104, 104, 104, 104, 104, 104, 105, 105, 105, 105, 105,
    +
    118  105, 105, 105, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 107, 107, 107,
    +
    119  107, 107, 107, 107, 107, 107, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
    +
    120  109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 110, 110, 110, 110, 110, 110,
    +
    121  110, 110, 110, 110, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 112, 112,
    +
    122  112, 112, 112, 112, 112, 112, 112, 112, 112, 113, 113, 113, 113, 113, 113, 113,
    +
    123  113, 113, 113, 113, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 115,
    +
    124  115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 116, 116, 116, 116, 116,
    +
    125  116, 116, 116, 116, 116, 116, 116, 117, 117, 117, 117, 117, 117, 117, 117, 117,
    +
    126  117, 117, 117, 117, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
    +
    127  118, 118, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
    +
    128  120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 121,
    +
    129  121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 122,
    +
    130  122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
    +
    131  123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
    +
    132  123, 123, 123, 123, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
    +
    133  124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 125, 125, 125, 125, 125, 125,
    +
    134  125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    +
    135  125, 125, 125, 125, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    +
    136  126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    +
    137  126, 126, 126, 126, 126, 126, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    138  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    139  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    140  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    141  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    142  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    143  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    144  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    145  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    146  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    147  127, 127, 127, 127, 127, 127, 127, 127, 127, 126, 126, 126, 126, 126, 126, 126,
    +
    148  126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    +
    149  126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 125, 125, 125, 125, 125,
    +
    150  125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    +
    151  125, 125, 125, 125, 125, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
    +
    152  124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 123, 123, 123, 123, 123,
    +
    153  123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 122, 122,
    +
    154  122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
    +
    155  121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
    +
    156  120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 119,
    +
    157  119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 118, 118,
    +
    158  118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 117, 117, 117, 117, 117,
    +
    159  117, 117, 117, 117, 117, 117, 117, 117, 116, 116, 116, 116, 116, 116, 116, 116,
    +
    160  116, 116, 116, 116, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
    +
    161  114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 113, 113, 113, 113, 113,
    +
    162  113, 113, 113, 113, 113, 113, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112,
    +
    163  112, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 110, 110, 110, 110, 110,
    +
    164  110, 110, 110, 110, 110, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 108,
    +
    165  108, 108, 108, 108, 108, 108, 108, 108, 108, 107, 107, 107, 107, 107, 107, 107,
    +
    166  107, 107, 106, 106, 106, 106, 106, 106, 106, 106, 106, 105, 105, 105, 105, 105,
    +
    167  105, 105, 105, 105, 104, 104, 104, 104, 104, 104, 104, 104, 104, 103, 103, 103,
    +
    168  103, 103, 103, 103, 103, 103, 102, 102, 102, 102, 102, 102, 102, 102, 101, 101,
    +
    169  101, 101, 101, 101, 101, 101, 101, 100, 100, 100, 100, 100, 100, 100, 100, 99,
    +
    170  99, 99, 99, 99, 99, 99, 99, 98, 98, 98, 98, 98, 98, 98, 98, 97, 97, 97, 97, 97,
    +
    171  97, 97, 97, 96, 96, 96, 96, 96, 96, 96, 96, 95, 95, 95, 95, 95, 95, 95, 94, 94,
    +
    172  94, 94, 94, 94, 94, 94, 93, 93, 93, 93, 93, 93, 93, 92, 92, 92, 92, 92, 92, 92,
    +
    173  92, 91, 91, 91, 91, 91, 91, 91, 90, 90, 90, 90, 90, 90, 90, 89, 89, 89, 89, 89,
    +
    174  89, 89, 88, 88, 88, 88, 88, 88, 88, 87, 87, 87, 87, 87, 87, 87, 86, 86, 86, 86,
    +
    175  86, 86, 86, 85, 85, 85, 85, 85, 85, 85, 84, 84, 84, 84, 84, 84, 84, 83, 83, 83,
    +
    176  83, 83, 83, 83, 82, 82, 82, 82, 82, 82, 81, 81, 81, 81, 81, 81, 81, 80, 80, 80,
    +
    177  80, 80, 80, 79, 79, 79, 79, 79, 79, 79, 78, 78, 78, 78, 78, 78, 77, 77, 77, 77,
    +
    178  77, 77, 77, 76, 76, 76, 76, 76, 76, 75, 75, 75, 75, 75, 75, 74, 74, 74, 74, 74,
    +
    179  74, 74, 73, 73, 73, 73, 73, 73, 72, 72, 72, 72, 72, 72, 71, 71, 71, 71, 71, 71,
    +
    180  70, 70, 70, 70, 70, 70, 69, 69, 69, 69, 69, 69, 68, 68, 68, 68, 68, 68, 67, 67,
    +
    181  67, 67, 67, 67, 66, 66, 66, 66, 66, 66, 65, 65, 65, 65, 65, 65, 64, 64, 64, 64,
    +
    182  64, 64, 63, 63, 63, 63, 63, 63, 62, 62, 62, 62, 62, 62, 61, 61, 61, 61, 61, 61,
    +
    183  60, 60, 60, 60, 60, 59, 59, 59, 59, 59, 59, 58, 58, 58, 58, 58, 58, 57, 57, 57,
    +
    184  57, 57, 57, 56, 56, 56, 56, 56, 55, 55, 55, 55, 55, 55, 54, 54, 54, 54, 54, 54,
    +
    185  53, 53, 53, 53, 53, 52, 52, 52, 52, 52, 52, 51, 51, 51, 51, 51, 50, 50, 50, 50,
    +
    186  50, 50, 49, 49, 49, 49, 49, 48, 48, 48, 48, 48, 48, 47, 47, 47, 47, 47, 46, 46,
    +
    187  46, 46, 46, 46, 45, 45, 45, 45, 45, 44, 44, 44, 44, 44, 44, 43, 43, 43, 43, 43,
    +
    188  42, 42, 42, 42, 42, 42, 41, 41, 41, 41, 41, 40, 40, 40, 40, 40, 39, 39, 39, 39,
    +
    189  39, 39, 38, 38, 38, 38, 38, 37, 37, 37, 37, 37, 36, 36, 36, 36, 36, 36, 35, 35,
    +
    190  35, 35, 35, 34, 34, 34, 34, 34, 33, 33, 32, 33, 33, 32, 32, 32, 32, 32, 32, 31,
    +
    191  31, 31, 31, 31, 30, 30, 30, 30, 30, 29, 29, 29, 29, 29, 28, 28, 28, 28, 28, 28,
    +
    192  27, 27, 27, 27, 27, 26, 26, 26, 26, 26, 25, 25, 25, 25, 25, 24, 24, 24, 24, 24,
    +
    193  24, 23, 23, 23, 23, 23, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 20, 20, 20, 20,
    +
    194  20, 19, 19, 19, 19, 19, 18, 18, 18, 18, 18, 18, 17, 17, 17, 17, 17, 16, 16, 16,
    +
    195  16, 16, 15, 15, 15, 15, 15, 14, 14, 14, 14, 14, 13, 13, 13, 13, 13, 12, 12, 12,
    +
    196  12, 12, 11, 11, 11, 11, 11, 10, 10, 10, 10, 10, 10, 9, 9, 9, 9, 9, 8, 8, 8, 8,
    +
    197  8, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 2,
    +
    198  2, 2, 2, 2, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -2, -2, -2,
    +
    199  -2, -2, -3, -3, -3, -3, -3, -4, -4, -4, -4, -4, -5, -5, -5, -5, -5, -6, -6, -6,
    +
    200  -6, -6, -7, -7, -7, -7, -7, -8, -8, -8, -8, -8, -9, -9, -9, -9, -9, -10, -10,
    +
    201  -10, -10, -10, -10, -11, -11, -11, -11, -11, -12, -12, -12, -12, -12, -13, -13,
    +
    202  -13, -13, -13, -14, -14, -14, -14, -14, -15, -15, -15, -15, -15, -16, -16, -16,
    +
    203  -16, -16, -17, -17, -17, -17, -17, -18, -18, -18, -18, -18, -18, -19, -19, -19,
    +
    204  -19, -19, -20, -20, -20, -20, -20, -21, -21, -21, -21, -21, -22, -22, -22, -22,
    +
    205  -22, -23, -23, -23, -23, -23, -24, -24, -24, -24, -24, -25, -25, -25, -25, -25,
    +
    206  -25, -26, -26, -26, -26, -26, -27, -27, -27, -27, -27, -28, -28, -28, -28, -28,
    +
    207  -29, -29, -29, -29, -29, -29, -30, -30, -30, -30, -30, -31, -31, -31, -31, -31,
    +
    208  -32, -32, -32, -32, -32, -33, -33, -33, -33, -33, -34, -34, -34, -34, -34, -34,
    +
    209  -35, -35, -35, -35, -35, -36, -36, -36, -36, -36, -37, -37, -37, -37, -37, -37,
    +
    210  -38, -38, -38, -38, -38, -39, -39, -39, -39, -39, -40, -40, -40, -40, -40, -40,
    +
    211  -41, -41, -41, -41, -41, -42, -42, -42, -42, -42, -43, -43, -43, -43, -43, -43,
    +
    212  -44, -44, -44, -44, -44, -45, -45, -45, -45, -45, -45, -46, -46, -46, -46, -46,
    +
    213  -47, -47, -47, -47, -47, -47, -48, -48, -48, -48, -48, -49, -49, -49, -49, -49,
    +
    214  -49, -50, -50, -50, -50, -50, -51, -51, -51, -51, -51, -51, -52, -52, -52, -52,
    +
    215  -52, -53, -53, -53, -53, -53, -53, -54, -54, -54, -54, -54, -55, -55, -55, -55,
    +
    216  -55, -55, -56, -56, -56, -56, -56, -56, -57, -57, -57, -57, -57, -58, -58, -58,
    +
    217  -58, -58, -58, -59, -59, -59, -59, -59, -59, -60, -60, -60, -60, -60, -60, -61,
    +
    218  -61, -61, -61, -61, -62, -62, -62, -62, -62, -62, -63, -63, -63, -63, -63, -63,
    +
    219  -64, -64, -64, -64, -64, -64, -65, -65, -65, -65, -65, -65, -66, -66, -66, -66,
    +
    220  -66, -66, -67, -67, -67, -67, -67, -67, -68, -68, -68, -68, -68, -68, -69, -69,
    +
    221  -69, -69, -69, -69, -70, -70, -70, -70, -70, -70, -71, -71, -71, -71, -71, -71,
    +
    222  -72, -72, -72, -72, -72, -72, -73, -73, -73, -73, -73, -73, -74, -74, -74, -74,
    +
    223  -74, -74, -75, -75, -75, -75, -75, -75, -75, -76, -76, -76, -76, -76, -76, -77,
    +
    224  -77, -77, -77, -77, -77, -78, -78, -78, -78, -78, -78, -78, -79, -79, -79, -79,
    +
    225  -79, -79, -80, -80, -80, -80, -80, -80, -80, -81, -81, -81, -81, -81, -81, -82,
    +
    226  -82, -82, -82, -82, -82, -82, -83, -83, -83, -83, -83, -83, -84, -84, -84, -84,
    +
    227  -84, -84, -84, -85, -85, -85, -85, -85, -85, -85, -86, -86, -86, -86, -86, -86,
    +
    228  -86, -87, -87, -87, -87, -87, -87, -87, -88, -88, -88, -88, -88, -88, -88, -89,
    +
    229  -89, -89, -89, -89, -89, -89, -90, -90, -90, -90, -90, -90, -90, -91, -91, -91,
    +
    230  -91, -91, -91, -91, -92, -92, -92, -92, -92, -92, -92, -93, -93, -93, -93, -93,
    +
    231  -93, -93, -93, -94, -94, -94, -94, -94, -94, -94, -95, -95, -95, -95, -95, -95,
    +
    232  -95, -95, -96, -96, -96, -96, -96, -96, -96, -97, -97, -97, -97, -97, -97, -97,
    +
    233  -97, -98, -98, -98, -98, -98, -98, -98, -98, -99, -99, -99, -99, -99, -99, -99,
    +
    234  -99, -100, -100, -100, -100, -100, -100, -100, -100, -101, -101, -101, -101,
    +
    235  -101, -101, -101, -101, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    +
    236  -103, -103, -103, -103, -103, -103, -103, -103, -104, -104, -104, -104, -104,
    +
    237  -104, -104, -104, -104, -105, -105, -105, -105, -105, -105, -105, -105, -105,
    +
    238  -106, -106, -106, -106, -106, -106, -106, -106, -106, -107, -107, -107, -107,
    +
    239  -107, -107, -107, -107, -107, -108, -108, -108, -108, -108, -108, -108, -108,
    +
    240  -108, -109, -109, -109, -109, -109, -109, -109, -109, -109, -109, -110, -110,
    +
    241  -110, -110, -110, -110, -110, -110, -110, -110, -111, -111, -111, -111, -111,
    +
    242  -111, -111, -111, -111, -111, -112, -112, -112, -112, -112, -112, -112, -112,
    +
    243  -112, -112, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +
    244  -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -115, -115,
    +
    245  -115, -115, -115, -115, -115, -115, -115, -115, -115, -116, -116, -116, -116,
    +
    246  -116, -116, -116, -116, -116, -116, -116, -116, -117, -117, -117, -117, -117,
    +
    247  -117, -117, -117, -117, -117, -117, -117, -118, -118, -118, -118, -118, -118,
    +
    248  -118, -118, -118, -118, -118, -118, -118, -119, -119, -119, -119, -119, -119,
    +
    249  -119, -119, -119, -119, -119, -119, -119, -119, -120, -120, -120, -120, -120,
    +
    250  -120, -120, -120, -120, -120, -120, -120, -120, -120, -121, -121, -121, -121,
    +
    251  -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -122, -122,
    +
    252  -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    +
    253  -122, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +
    254  -123, -123, -123, -123, -123, -123, -124, -124, -124, -124, -124, -124, -124,
    +
    255  -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -125,
    +
    256  -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +
    257  -125, -125, -125, -125, -125, -125, -125, -125, -126, -126, -126, -126, -126,
    +
    258  -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +
    259  -126, -126, -126, -126, -126, -126, -126, -126, -127, -127, -127, -127, -127,
    +
    260  -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +
    261  -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +
    262  -127, -127, -127, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    263  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    264  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    265  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    266  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    267  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    268  -128, -128, -128, -128, -128, -128,
    +
    269  };
    +
    270 
    +
    271 #endif /* COS4096_H_ */
    +
    +
    + + diff --git a/doc/html/cos512__int8_8h_source.html b/doc/html/cos512__int8_8h_source.html index a486fcafe..1aa8a2e07 100644 --- a/doc/html/cos512__int8_8h_source.html +++ b/doc/html/cos512__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: tables/cos512_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,67 +99,69 @@
    -
    tables/cos512_int8.h
    +
    cos512_int8.h
    -
    00001 #ifndef COS512_H_
    -00002 #define COS512_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 #define COS512_NUM_CELLS 512
    -00012 #define COS512_SAMPLERATE 512
    -00013 
    -00014 const char __attribute__((progmem)) COS512_DATA []  =
    -00015         {
    -00016                 -128, -128, -128, -128, -128, -128, -128,
    -00017                 -128, -128, -128, -128, -127, -127, -127, -127, -126, -126, -126, -125, -125,
    -00018                 -125, -124, -124, -123, -123, -123, -122, -122, -121, -120, -120, -119, -119,
    -00019                 -118, -118, -117, -116, -116, -115, -114, -113, -113, -112, -111, -110, -109,
    -00020                 -109, -108, -107, -106, -105, -104, -103, -102, -101, -100, -99, -98, -97, -96,
    -00021                 -95, -94, -93, -92, -91, -90, -89, -88, -86, -85, -84, -83, -82, -80, -79, -78,
    -00022                 -77, -75, -74, -73, -72, -70, -69, -68, -66, -65, -64, -62, -61, -59, -58, -57,
    -00023                 -55, -54, -52, -51, -49, -48, -47, -45, -44, -42, -41, -39, -38, -36, -35, -33,
    -00024                 -32, -30, -29, -27, -25, -24, -22, -21, -19, -18, -16, -15, -13, -11, -10, -8,
    -00025                 -7, -5, -4, -2, 0, 1, 3, 4, 6, 7, 9, 10, 12, 14, 15, 17, 18, 20, 21, 23, 24, 26,
    -00026                 28, 29, 31, 32, 34, 35, 37, 38, 40, 41, 43, 44, 46, 47, 48, 50, 51, 53, 54, 56,
    -00027                 57, 58, 60, 61, 63, 64, 65, 67, 68, 69, 71, 72, 73, 74, 76, 77, 78, 79, 81, 82,
    -00028                 83, 84, 85, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
    -00029                 103, 104, 105, 106, 107, 108, 108, 109, 110, 111, 112, 112, 113, 114, 115, 115,
    -00030                 116, 117, 117, 118, 118, 119, 119, 120, 121, 121, 122, 122, 122, 123, 123, 124,
    -00031                 124, 124, 125, 125, 125, 126, 126, 126, 126, 127, 127, 127, 127, 127, 127, 127,
    -00032                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 126, 126,
    -00033                 126, 126, 125, 125, 125, 124, 124, 124, 123, 123, 122, 122, 122, 121, 121, 120,
    -00034                 119, 119, 118, 118, 117, 117, 116, 115, 115, 114, 113, 112, 112, 111, 110, 109,
    -00035                 108, 108, 107, 106, 105, 104, 103, 102, 101, 100, 99, 98, 97, 96, 95, 94, 93,
    -00036                 92, 91, 90, 89, 88, 87, 85, 84, 83, 82, 81, 79, 78, 77, 76, 75, 73, 72, 71, 69,
    -00037                 68, 67, 65, 64, 63, 61, 60, 58, 57, 56, 54, 53, 51, 50, 48, 47, 46, 44, 43, 41,
    -00038                 40, 38, 37, 35, 34, 32, 31, 29, 28, 26, 24, 23, 21, 20, 18, 17, 15, 14, 12, 10,
    -00039                 9, 7, 6, 4, 3, 1, -1, -2, -4, -5, -7, -8, -10, -11, -13, -15, -16, -18, -19,
    -00040                 -21, -22, -24, -25, -27, -29, -30, -32, -33, -35, -36, -38, -39, -41, -42, -44,
    -00041                 -45, -47, -48, -49, -51, -52, -54, -55, -57, -58, -59, -61, -62, -64, -65, -66,
    -00042                 -68, -69, -70, -72, -73, -74, -75, -77, -78, -79, -80, -82, -83, -84, -85, -86,
    -00043                 -88, -89, -90, -91, -92, -93, -94, -95, -96, -97, -98, -99, -100, -101, -102,
    -00044                 -103, -104, -105, -106, -107, -108, -109, -109, -110, -111, -112, -113, -113,
    -00045                 -114, -115, -116, -116, -117, -118, -118, -119, -119, -120, -120, -121, -122,
    -00046                 -122, -123, -123, -123, -124, -124, -125, -125, -125, -126, -126, -126, -127,
    -00047                 -127, -127, -127, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00048         };
    -00049 
    -00050 #endif /* COS512_H_ */
    -
    - - - - +
    1 #ifndef COS512_H_
    +
    2 #define COS512_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 #define COS512_NUM_CELLS 512
    +
    12 #define COS512_SAMPLERATE 512
    +
    13 
    +
    14 const char __attribute__((progmem)) COS512_DATA [] =
    +
    15  {
    +
    16  -128, -128, -128, -128, -128, -128, -128,
    +
    17  -128, -128, -128, -128, -127, -127, -127, -127, -126, -126, -126, -125, -125,
    +
    18  -125, -124, -124, -123, -123, -123, -122, -122, -121, -120, -120, -119, -119,
    +
    19  -118, -118, -117, -116, -116, -115, -114, -113, -113, -112, -111, -110, -109,
    +
    20  -109, -108, -107, -106, -105, -104, -103, -102, -101, -100, -99, -98, -97, -96,
    +
    21  -95, -94, -93, -92, -91, -90, -89, -88, -86, -85, -84, -83, -82, -80, -79, -78,
    +
    22  -77, -75, -74, -73, -72, -70, -69, -68, -66, -65, -64, -62, -61, -59, -58, -57,
    +
    23  -55, -54, -52, -51, -49, -48, -47, -45, -44, -42, -41, -39, -38, -36, -35, -33,
    +
    24  -32, -30, -29, -27, -25, -24, -22, -21, -19, -18, -16, -15, -13, -11, -10, -8,
    +
    25  -7, -5, -4, -2, 0, 1, 3, 4, 6, 7, 9, 10, 12, 14, 15, 17, 18, 20, 21, 23, 24, 26,
    +
    26  28, 29, 31, 32, 34, 35, 37, 38, 40, 41, 43, 44, 46, 47, 48, 50, 51, 53, 54, 56,
    +
    27  57, 58, 60, 61, 63, 64, 65, 67, 68, 69, 71, 72, 73, 74, 76, 77, 78, 79, 81, 82,
    +
    28  83, 84, 85, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102,
    +
    29  103, 104, 105, 106, 107, 108, 108, 109, 110, 111, 112, 112, 113, 114, 115, 115,
    +
    30  116, 117, 117, 118, 118, 119, 119, 120, 121, 121, 122, 122, 122, 123, 123, 124,
    +
    31  124, 124, 125, 125, 125, 126, 126, 126, 126, 127, 127, 127, 127, 127, 127, 127,
    +
    32  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 126, 126,
    +
    33  126, 126, 125, 125, 125, 124, 124, 124, 123, 123, 122, 122, 122, 121, 121, 120,
    +
    34  119, 119, 118, 118, 117, 117, 116, 115, 115, 114, 113, 112, 112, 111, 110, 109,
    +
    35  108, 108, 107, 106, 105, 104, 103, 102, 101, 100, 99, 98, 97, 96, 95, 94, 93,
    +
    36  92, 91, 90, 89, 88, 87, 85, 84, 83, 82, 81, 79, 78, 77, 76, 75, 73, 72, 71, 69,
    +
    37  68, 67, 65, 64, 63, 61, 60, 58, 57, 56, 54, 53, 51, 50, 48, 47, 46, 44, 43, 41,
    +
    38  40, 38, 37, 35, 34, 32, 31, 29, 28, 26, 24, 23, 21, 20, 18, 17, 15, 14, 12, 10,
    +
    39  9, 7, 6, 4, 3, 1, -1, -2, -4, -5, -7, -8, -10, -11, -13, -15, -16, -18, -19,
    +
    40  -21, -22, -24, -25, -27, -29, -30, -32, -33, -35, -36, -38, -39, -41, -42, -44,
    +
    41  -45, -47, -48, -49, -51, -52, -54, -55, -57, -58, -59, -61, -62, -64, -65, -66,
    +
    42  -68, -69, -70, -72, -73, -74, -75, -77, -78, -79, -80, -82, -83, -84, -85, -86,
    +
    43  -88, -89, -90, -91, -92, -93, -94, -95, -96, -97, -98, -99, -100, -101, -102,
    +
    44  -103, -104, -105, -106, -107, -108, -109, -109, -110, -111, -112, -113, -113,
    +
    45  -114, -115, -116, -116, -117, -118, -118, -119, -119, -120, -120, -121, -122,
    +
    46  -122, -123, -123, -123, -124, -124, -125, -125, -125, -126, -126, -126, -127,
    +
    47  -127, -127, -127, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    48  };
    +
    49 
    +
    50 #endif /* COS512_H_ */
    +
    +
    + + diff --git a/doc/html/cos8192__int8_8h_source.html b/doc/html/cos8192__int8_8h_source.html index 2763eb00a..43e6360e7 100644 --- a/doc/html/cos8192__int8_8h_source.html +++ b/doc/html/cos8192__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: tables/cos8192_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,540 +99,542 @@
    -
    tables/cos8192_int8.h
    +
    cos8192_int8.h
    -
    00001 #ifndef COS8192_INT8_H_
    -00002 #define COS8192_INT8_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 #define COS8192_NUM_CELLS 8192
    -00012 #define COS8192_SAMPLERATE 8192
    -00013 
    -00014 const char __attribute__((progmem)) COS8192_DATA []  =
    -00015         {
    -00016                 -128, -128, -128, -128, -128, -128, -128,
    -00017                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00018                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00019                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00020                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00021                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00022                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00023                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00024                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00025                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00026                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00027                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00028                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00029                 -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    -00030                 -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    -00031                 -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    -00032                 -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    -00033                 -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    -00034                 -127, -127, -127, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    -00035                 -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    -00036                 -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    -00037                 -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    -00038                 -126, -126, -126, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    -00039                 -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    -00040                 -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    -00041                 -125, -125, -125, -125, -125, -125, -125, -125, -124, -124, -124, -124, -124,
    -00042                 -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    -00043                 -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    -00044                 -124, -124, -124, -124, -124, -124, -124, -124, -123, -123, -123, -123, -123,
    -00045                 -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    -00046                 -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    -00047                 -123, -123, -123, -123, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    -00048                 -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    -00049                 -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -121, -121,
    -00050                 -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
    -00051                 -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
    -00052                 -121, -121, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    -00053                 -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    -00054                 -120, -120, -120, -120, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    -00055                 -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    -00056                 -119, -119, -119, -119, -119, -118, -118, -118, -118, -118, -118, -118, -118,
    -00057                 -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    -00058                 -118, -118, -118, -118, -118, -117, -117, -117, -117, -117, -117, -117, -117,
    -00059                 -117, -117, -117, -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    -00060                 -117, -117, -117, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    -00061                 -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    -00062                 -116, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    -00063                 -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -114, -114,
    -00064                 -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
    -00065                 -114, -114, -114, -114, -114, -114, -114, -113, -113, -113, -113, -113, -113,
    -00066                 -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    -00067                 -113, -113, -113, -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    -00068                 -112, -112, -112, -112, -112, -112, -112, -112, -112, -112, -111, -111, -111,
    -00069                 -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    -00070                 -111, -111, -111, -111, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    -00071                 -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -109, -109,
    -00072                 -109, -109, -109, -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    -00073                 -109, -109, -109, -109, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    -00074                 -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -107, -107, -107,
    -00075                 -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    -00076                 -107, -107, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    -00077                 -106, -106, -106, -106, -106, -106, -106, -105, -105, -105, -105, -105, -105,
    -00078                 -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -104,
    -00079                 -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    -00080                 -104, -104, -104, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    -00081                 -103, -103, -103, -103, -103, -103, -103, -102, -102, -102, -102, -102, -102,
    -00082                 -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -101, -101,
    -00083                 -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
    -00084                 -101, -101, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    -00085                 -100, -100, -100, -100, -100, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99,
    -00086                 -99, -99, -99, -99, -99, -99, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98,
    -00087                 -98, -98, -98, -98, -98, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97,
    -00088                 -97, -97, -97, -97, -97, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96,
    -00089                 -96, -96, -96, -96, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95,
    -00090                 -95, -95, -95, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94,
    -00091                 -94, -94, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93,
    -00092                 -93, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92,
    -00093                 -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -90, -90,
    -00094                 -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -89, -89, -89, -89,
    -00095                 -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -88, -88, -88, -88, -88, -88,
    -00096                 -88, -88, -88, -88, -88, -88, -88, -88, -87, -87, -87, -87, -87, -87, -87, -87,
    -00097                 -87, -87, -87, -87, -87, -87, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86,
    -00098                 -86, -86, -86, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85,
    -00099                 -85, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -83,
    -00100                 -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, -82, -82, -82, -82,
    -00101                 -82, -82, -82, -82, -82, -82, -82, -82, -82, -81, -81, -81, -81, -81, -81, -81,
    -00102                 -81, -81, -81, -81, -81, -81, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
    -00103                 -80, -80, -80, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79,
    -00104                 -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -77, -77, -77,
    -00105                 -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -76, -76, -76, -76, -76, -76,
    -00106                 -76, -76, -76, -76, -76, -76, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75,
    -00107                 -75, -75, -75, -74, -74, -74, -74, -74, -74, -74, -74, -74, -74, -74, -74, -73,
    -00108                 -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -72, -72, -72, -72,
    -00109                 -72, -72, -72, -72, -72, -72, -72, -72, -71, -71, -71, -71, -71, -71, -71, -71,
    -00110                 -71, -71, -71, -71, -70, -70, -70, -70, -70, -70, -70, -70, -70, -70, -70, -70,
    -00111                 -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -68, -68, -68, -68,
    -00112                 -68, -68, -68, -68, -68, -68, -68, -68, -67, -67, -67, -67, -67, -67, -67, -67,
    -00113                 -67, -67, -67, -67, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66,
    -00114                 -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -64, -64, -64, -64,
    -00115                 -64, -64, -64, -64, -64, -64, -64, -63, -63, -63, -63, -63, -63, -63, -63, -63,
    -00116                 -63, -63, -63, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -61,
    -00117                 -61, -61, -61, -61, -61, -61, -61, -61, -61, -61, -60, -60, -60, -60, -60, -60,
    -00118                 -60, -60, -60, -60, -60, -60, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59,
    -00119                 -59, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -57, -57, -57,
    -00120                 -57, -57, -57, -57, -57, -57, -57, -57, -56, -56, -56, -56, -56, -56, -56, -56,
    -00121                 -56, -56, -56, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -54,
    -00122                 -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -53, -53, -53, -53, -53, -53,
    -00123                 -53, -53, -53, -53, -53, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52,
    -00124                 -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -50, -50, -50, -50, -50,
    -00125                 -50, -50, -50, -50, -50, -50, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
    -00126                 -49, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -47, -47, -47, -47,
    -00127                 -47, -47, -47, -47, -47, -47, -47, -46, -46, -46, -46, -46, -46, -46, -46, -46,
    -00128                 -46, -46, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -44, -44, -44,
    -00129                 -44, -44, -44, -44, -44, -44, -44, -44, -43, -43, -43, -43, -43, -43, -43, -43,
    -00130                 -43, -43, -43, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -41, -41, -41,
    -00131                 -41, -41, -41, -41, -41, -41, -41, -41, -40, -40, -40, -40, -40, -40, -40, -40,
    -00132                 -40, -40, -40, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -38, -38, -38,
    -00133                 -38, -38, -38, -38, -38, -38, -38, -38, -37, -37, -37, -37, -37, -37, -37, -37,
    -00134                 -37, -37, -37, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -35, -35, -35,
    -00135                 -35, -35, -35, -35, -35, -35, -35, -35, -34, -34, -34, -34, -34, -34, -34, -34,
    -00136                 -34, -34, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -32, -32, -32,
    -00137                 -32, -32, -32, -32, -32, -32, -32, -32, -31, -31, -31, -31, -31, -31, -31, -31,
    -00138                 -31, -31, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -29, -29, -29, -29,
    -00139                 -29, -29, -29, -29, -29, -29, -29, -28, -28, -28, -28, -28, -28, -28, -28, -28,
    -00140                 -28, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -26, -26, -26, -26,
    -00141                 -26, -26, -26, -26, -26, -26, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
    -00142                 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -23, -23, -23, -23, -23,
    -00143                 -23, -23, -23, -23, -23, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22,
    -00144                 -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -20, -20, -20, -20, -20, -20,
    -00145                 -20, -20, -20, -20, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -18, -18,
    -00146                 -18, -18, -18, -18, -18, -18, -18, -18, -18, -17, -17, -17, -17, -17, -17, -17,
    -00147                 -17, -17, -17, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -15, -15, -15,
    -00148                 -15, -15, -15, -15, -15, -15, -15, -15, -14, -14, -14, -14, -14, -14, -14, -14,
    -00149                 -14, -14, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -12, -12, -12, -12,
    -00150                 -12, -12, -12, -12, -12, -12, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
    -00151                 -11, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -9, -9, -9, -9, -9, -9,
    -00152                 -9, -9, -9, -9, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -7, -7, -7, -7, -7, -7,
    -00153                 -7, -7, -7, -7, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -5, -5, -5, -5, -5,
    -00154                 -5, -5, -5, -5, -5, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -3, -3, -3, -3, -3,
    -00155                 -3, -3, -3, -3, -3, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -1, -1, -1, -1,
    -00156                 -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1,
    -00157                 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4,
    -00158                 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7,
    -00159                 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9,
    -00160                 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11,
    -00161                 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13,
    -00162                 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15,
    -00163                 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17,
    -00164                 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19,
    -00165                 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21,
    -00166                 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23,
    -00167                 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 25, 25, 25, 25,
    -00168                 25, 25, 25, 25, 25, 25, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 27, 27, 27,
    -00169                 27, 27, 27, 27, 27, 27, 27, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 29, 29,
    -00170                 29, 29, 29, 29, 29, 29, 29, 29, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 31, 31,
    -00171                 31, 31, 31, 31, 31, 31, 31, 31, 31, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 33,
    -00172                 32, 33, 32, 33, 33, 34, 33, 33, 32, 33, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
    -00173                 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 36, 36, 36, 36, 36, 36, 36, 36, 36,
    -00174                 36, 36, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 38, 38, 38, 38, 38, 38, 38, 38,
    -00175                 38, 38, 38, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 40, 40, 40, 40, 40, 40,
    -00176                 40, 40, 40, 40, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 42, 42, 42, 42, 42,
    -00177                 42, 42, 42, 42, 42, 42, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 44, 44, 44,
    -00178                 44, 44, 44, 44, 44, 44, 44, 44, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 46,
    -00179                 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
    -00180                 47, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 49, 49, 49, 49, 49, 49, 49, 49,
    -00181                 49, 49, 49, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 51, 51, 51, 51, 51, 51,
    -00182                 51, 51, 51, 51, 51, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 53, 53, 53, 53,
    -00183                 53, 53, 53, 53, 53, 53, 53, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 55,
    -00184                 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
    -00185                 56, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 58, 58, 58, 58, 58, 58, 58, 58,
    -00186                 58, 58, 58, 58, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 60, 60, 60, 60,
    -00187                 60, 60, 60, 60, 60, 60, 60, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 62,
    -00188                 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
    -00189                 63, 63, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 65, 65, 65, 65, 65, 65,
    -00190                 65, 65, 65, 65, 65, 65, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 67, 67,
    -00191                 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
    -00192                 68, 68, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 70, 70, 70, 70, 70, 70,
    -00193                 70, 70, 70, 70, 70, 70, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 72, 72,
    -00194                 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 73, 73, 73, 73, 73, 73, 73, 73, 73,
    -00195                 73, 73, 73, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 75, 75, 75, 75,
    -00196                 75, 75, 75, 75, 75, 75, 75, 75, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
    -00197                 76, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 78, 78, 78, 78, 78, 78,
    -00198                 78, 78, 78, 78, 78, 78, 78, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79,
    -00199                 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 81, 81, 81, 81, 81, 81, 81,
    -00200                 81, 81, 81, 81, 81, 81, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 83,
    -00201                 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 84, 84, 84, 84, 84, 84, 84,
    -00202                 84, 84, 84, 84, 84, 84, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
    -00203                 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 87, 87, 87, 87, 87, 87,
    -00204                 87, 87, 87, 87, 87, 87, 87, 87, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
    -00205                 88, 88, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 90, 90, 90, 90,
    -00206                 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 91, 91, 91, 91, 91, 91, 91, 91, 91,
    -00207                 91, 91, 91, 91, 91, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
    -00208                 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 94, 94, 94, 94, 94,
    -00209                 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
    -00210                 95, 95, 95, 95, 95, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
    -00211                 96, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 98, 98, 98,
    -00212                 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 99, 99, 99, 99, 99, 99, 99, 99,
    -00213                 99, 99, 99, 99, 99, 99, 99, 99, 99, 100, 100, 100, 100, 100, 100, 100, 100, 100,
    -00214                 100, 100, 100, 100, 100, 100, 100, 101, 101, 101, 101, 101, 101, 101, 101, 101,
    -00215                 101, 101, 101, 101, 101, 101, 101, 101, 102, 102, 102, 102, 102, 102, 102, 102,
    -00216                 102, 102, 102, 102, 102, 102, 102, 102, 102, 103, 103, 103, 103, 103, 103, 103,
    -00217                 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 104, 104, 104, 104, 104, 104,
    -00218                 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 105, 105, 105, 105,
    -00219                 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 106, 106,
    -00220                 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
    -00221                 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
    -00222                 107, 107, 107, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
    -00223                 108, 108, 108, 108, 108, 108, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
    -00224                 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 110, 110, 110, 110, 110, 110,
    -00225                 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 111, 111,
    -00226                 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
    -00227                 111, 111, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112,
    -00228                 112, 112, 112, 112, 112, 112, 112, 112, 113, 113, 113, 113, 113, 113, 113, 113,
    -00229                 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 114, 114,
    -00230                 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
    -00231                 114, 114, 114, 114, 114, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
    -00232                 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 116, 116, 116, 116,
    -00233                 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
    -00234                 116, 116, 116, 116, 116, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
    -00235                 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 118, 118,
    -00236                 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
    -00237                 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 119, 119, 119, 119, 119, 119,
    -00238                 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
    -00239                 119, 119, 119, 119, 119, 119, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
    -00240                 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
    -00241                 120, 120, 120, 120, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
    -00242                 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
    -00243                 121, 121, 121, 121, 121, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
    -00244                 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
    -00245                 122, 122, 122, 122, 122, 122, 122, 122, 123, 123, 123, 123, 123, 123, 123, 123,
    -00246                 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
    -00247                 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 124,
    -00248                 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
    -00249                 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
    -00250                 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 125, 125, 125, 125, 125,
    -00251                 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    -00252                 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    -00253                 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 126, 125, 126,
    -00254                 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    -00255                 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    -00256                 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    -00257                 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    -00258                 126, 126, 126, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00259                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00260                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00261                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00262                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00263                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00264                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00265                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00266                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00267                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00268                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00269                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00270                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00271                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00272                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00273                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00274                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00275                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00276                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00277                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00278                 127, 127, 127, 127, 127, 127, 127, 127, 126, 126, 126, 126, 126, 126, 126, 126,
    -00279                 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    -00280                 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    -00281                 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    -00282                 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 125, 125, 125,
    -00283                 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    -00284                 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    -00285                 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    -00286                 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
    -00287                 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
    -00288                 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 123, 123, 123, 123,
    -00289                 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
    -00290                 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
    -00291                 123, 123, 123, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
    -00292                 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
    -00293                 122, 122, 122, 122, 122, 122, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
    -00294                 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
    -00295                 121, 121, 121, 121, 121, 121, 121, 120, 120, 120, 120, 120, 120, 120, 120, 120,
    -00296                 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
    -00297                 120, 120, 120, 120, 120, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
    -00298                 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
    -00299                 119, 119, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
    -00300                 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 117, 117, 117,
    -00301                 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
    -00302                 117, 117, 117, 117, 117, 117, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
    -00303                 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 115,
    -00304                 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
    -00305                 115, 115, 115, 115, 115, 115, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
    -00306                 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 113, 113, 113,
    -00307                 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
    -00308                 113, 113, 113, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112,
    -00309                 112, 112, 112, 112, 112, 112, 112, 112, 111, 111, 111, 111, 111, 111, 111, 111,
    -00310                 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 110, 110, 110,
    -00311                 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
    -00312                 110, 110, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
    -00313                 109, 109, 109, 109, 109, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
    -00314                 108, 108, 108, 108, 108, 108, 108, 108, 107, 107, 107, 107, 107, 107, 107, 107,
    -00315                 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 106, 106, 106, 106, 106,
    -00316                 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 105, 105, 105,
    -00317                 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 104,
    -00318                 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
    -00319                 104, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
    -00320                 103, 103, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
    -00321                 102, 102, 102, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
    -00322                 101, 101, 101, 101, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
    -00323                 100, 100, 100, 100, 100, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
    -00324                 99, 99, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 97, 97, 97,
    -00325                 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 96, 96, 96, 96, 96, 96, 96,
    -00326                 96, 96, 96, 96, 96, 96, 96, 96, 96, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
    -00327                 95, 95, 95, 95, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 93,
    -00328                 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 92, 92, 92, 92, 92, 92,
    -00329                 92, 92, 92, 92, 92, 92, 92, 92, 92, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
    -00330                 91, 91, 91, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 89, 89,
    -00331                 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 88, 88, 88, 88, 88, 88, 88, 88,
    -00332                 88, 88, 88, 88, 88, 88, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
    -00333                 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 85, 85, 85, 85, 85, 85,
    -00334                 85, 85, 85, 85, 85, 85, 85, 85, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
    -00335                 84, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 82, 82, 82, 82, 82,
    -00336                 82, 82, 82, 82, 82, 82, 82, 82, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
    -00337                 81, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 79, 79, 79, 79, 79, 79,
    -00338                 79, 79, 79, 79, 79, 79, 79, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
    -00339                 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 76, 76, 76, 76, 76, 76, 76,
    -00340                 76, 76, 76, 76, 76, 76, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 74, 74,
    -00341                 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 73, 73, 73, 73, 73, 73, 73, 73, 73,
    -00342                 73, 73, 73, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 71, 71, 71, 71,
    -00343                 71, 71, 71, 71, 71, 71, 71, 71, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
    -00344                 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 68, 68, 68, 68, 68, 68, 68, 68,
    -00345                 68, 68, 68, 68, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 66, 66, 66, 66,
    -00346                 66, 66, 66, 66, 66, 66, 66, 66, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
    -00347                 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 63, 63, 63, 63, 63, 63, 63, 63,
    -00348                 63, 63, 63, 63, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 61, 61, 61, 61, 61,
    -00349                 61, 61, 61, 61, 61, 61, 61, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 59, 59,
    -00350                 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
    -00351                 58, 58, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 56, 56, 56, 56, 56, 56, 56,
    -00352                 56, 56, 56, 56, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 54, 54, 54, 54,
    -00353                 54, 54, 54, 54, 54, 54, 54, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 52, 52,
    -00354                 52, 52, 52, 52, 52, 52, 52, 52, 52, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
    -00355                 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 49, 49, 49, 49, 49, 49, 49, 49, 49,
    -00356                 49, 49, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 47, 47, 47, 47, 47, 47, 47,
    -00357                 47, 47, 47, 47, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 45, 45, 45, 45, 45,
    -00358                 45, 45, 45, 45, 45, 45, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 43, 43, 43,
    -00359                 43, 43, 43, 43, 43, 43, 43, 43, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 41,
    -00360                 41, 41, 41, 41, 41, 41, 41, 41, 41, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
    -00361                 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 38, 38, 38, 38, 38, 38, 38, 38, 38,
    -00362                 38, 38, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 36, 36, 36, 36, 36, 36, 36, 36,
    -00363                 36, 36, 36, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 34, 34, 34, 34, 34, 34, 34,
    -00364                 34, 34, 34, 34, 33, 33, 32, 33, 33, 34, 33, 33, 32, 33, 33, 32, 32, 32, 32, 32,
    -00365                 32, 32, 32, 32, 32, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 30, 30, 30, 30, 30,
    -00366                 30, 30, 30, 30, 30, 30, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 28, 28, 28, 28,
    -00367                 28, 28, 28, 28, 28, 28, 28, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 26, 26, 26,
    -00368                 26, 26, 26, 26, 26, 26, 26, 26, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 24, 24,
    -00369                 24, 24, 24, 24, 24, 24, 24, 24, 24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 22,
    -00370                 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
    -00371                 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
    -00372                 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
    -00373                 17, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 15, 15, 15, 15, 15, 15, 15, 15, 15,
    -00374                 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 13, 13, 13, 13, 13, 13, 13, 13,
    -00375                 13, 13, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 11, 11, 11, 11, 11, 11, 11, 11,
    -00376                 11, 11, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
    -00377                 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6,
    -00378                 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3,
    -00379                 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
    -00380                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -2, -2,
    -00381                 -2, -2, -2, -2, -2, -2, -2, -2, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -4, -4,
    -00382                 -4, -4, -4, -4, -4, -4, -4, -4, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -6,
    -00383                 -6, -6, -6, -6, -6, -6, -6, -6, -6, -7, -7, -7, -7, -7, -7, -7, -7, -7, -7, -8,
    -00384                 -8, -8, -8, -8, -8, -8, -8, -8, -8, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -10,
    -00385                 -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -11, -11, -11, -11, -11, -11,
    -00386                 -11, -11, -11, -11, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -13, -13,
    -00387                 -13, -13, -13, -13, -13, -13, -13, -13, -14, -14, -14, -14, -14, -14, -14, -14,
    -00388                 -14, -14, -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, -16, -16, -16,
    -00389                 -16, -16, -16, -16, -16, -16, -16, -17, -17, -17, -17, -17, -17, -17, -17, -17,
    -00390                 -17, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -19, -19, -19, -19, -19,
    -00391                 -19, -19, -19, -19, -19, -19, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
    -00392                 -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -22, -22, -22, -22, -22, -22,
    -00393                 -22, -22, -22, -22, -22, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -24,
    -00394                 -24, -24, -24, -24, -24, -24, -24, -24, -24, -25, -25, -25, -25, -25, -25, -25,
    -00395                 -25, -25, -25, -25, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -27, -27,
    -00396                 -27, -27, -27, -27, -27, -27, -27, -27, -27, -28, -28, -28, -28, -28, -28, -28,
    -00397                 -28, -28, -28, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -30, -30,
    -00398                 -30, -30, -30, -30, -30, -30, -30, -30, -31, -31, -31, -31, -31, -31, -31, -31,
    -00399                 -31, -31, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -33, -33, -33,
    -00400                 -33, -33, -33, -33, -33, -33, -33, -33, -34, -34, -34, -34, -34, -34, -34, -34,
    -00401                 -34, -34, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -36, -36, -36,
    -00402                 -36, -36, -36, -36, -36, -36, -36, -37, -37, -37, -37, -37, -37, -37, -37, -37,
    -00403                 -37, -37, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -39, -39, -39,
    -00404                 -39, -39, -39, -39, -39, -39, -39, -40, -40, -40, -40, -40, -40, -40, -40, -40,
    -00405                 -40, -40, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -42, -42, -42,
    -00406                 -42, -42, -42, -42, -42, -42, -42, -43, -43, -43, -43, -43, -43, -43, -43, -43,
    -00407                 -43, -43, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -45, -45, -45,
    -00408                 -45, -45, -45, -45, -45, -45, -45, -45, -46, -46, -46, -46, -46, -46, -46, -46,
    -00409                 -46, -46, -46, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -48, -48,
    -00410                 -48, -48, -48, -48, -48, -48, -48, -48, -48, -49, -49, -49, -49, -49, -49, -49,
    -00411                 -49, -49, -49, -49, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -51,
    -00412                 -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -52, -52, -52, -52, -52, -52,
    -00413                 -52, -52, -52, -52, -52, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53,
    -00414                 -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -55, -55, -55, -55, -55,
    -00415                 -55, -55, -55, -55, -55, -55, -55, -56, -56, -56, -56, -56, -56, -56, -56, -56,
    -00416                 -56, -56, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -58, -58, -58,
    -00417                 -58, -58, -58, -58, -58, -58, -58, -58, -58, -59, -59, -59, -59, -59, -59, -59,
    -00418                 -59, -59, -59, -59, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60,
    -00419                 -61, -61, -61, -61, -61, -61, -61, -61, -61, -61, -61, -62, -62, -62, -62, -62,
    -00420                 -62, -62, -62, -62, -62, -62, -62, -63, -63, -63, -63, -63, -63, -63, -63, -63,
    -00421                 -63, -63, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -65, -65,
    -00422                 -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -66, -66, -66, -66, -66, -66,
    -00423                 -66, -66, -66, -66, -66, -66, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67,
    -00424                 -67, -67, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -69, -69,
    -00425                 -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -70, -70, -70, -70, -70, -70,
    -00426                 -70, -70, -70, -70, -70, -70, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71,
    -00427                 -71, -71, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -73,
    -00428                 -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -74, -74, -74, -74, -74,
    -00429                 -74, -74, -74, -74, -74, -74, -74, -75, -75, -75, -75, -75, -75, -75, -75, -75,
    -00430                 -75, -75, -75, -75, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76,
    -00431                 -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -78, -78, -78,
    -00432                 -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -79, -79, -79, -79, -79, -79,
    -00433                 -79, -79, -79, -79, -79, -79, -79, -80, -80, -80, -80, -80, -80, -80, -80, -80,
    -00434                 -80, -80, -80, -80, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
    -00435                 -81, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -83, -83,
    -00436                 -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, -84, -84, -84, -84, -84,
    -00437                 -84, -84, -84, -84, -84, -84, -84, -84, -84, -85, -85, -85, -85, -85, -85, -85,
    -00438                 -85, -85, -85, -85, -85, -85, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86,
    -00439                 -86, -86, -86, -86, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87,
    -00440                 -87, -87, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88,
    -00441                 -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -90, -90,
    -00442                 -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -91, -91, -91, -91,
    -00443                 -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -92, -92, -92, -92, -92, -92,
    -00444                 -92, -92, -92, -92, -92, -92, -92, -92, -92, -93, -93, -93, -93, -93, -93, -93,
    -00445                 -93, -93, -93, -93, -93, -93, -93, -93, -94, -94, -94, -94, -94, -94, -94, -94,
    -00446                 -94, -94, -94, -94, -94, -94, -94, -95, -95, -95, -95, -95, -95, -95, -95, -95,
    -00447                 -95, -95, -95, -95, -95, -95, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96,
    -00448                 -96, -96, -96, -96, -96, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97,
    -00449                 -97, -97, -97, -97, -97, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98,
    -00450                 -98, -98, -98, -98, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99,
    -00451                 -99, -99, -99, -99, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    -00452                 -100, -100, -100, -100, -100, -100, -100, -101, -101, -101, -101, -101, -101,
    -00453                 -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -102, -102, -102,
    -00454                 -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    -00455                 -102, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    -00456                 -103, -103, -103, -103, -103, -104, -104, -104, -104, -104, -104, -104, -104,
    -00457                 -104, -104, -104, -104, -104, -104, -104, -104, -104, -105, -105, -105, -105,
    -00458                 -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
    -00459                 -105, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    -00460                 -106, -106, -106, -106, -106, -106, -107, -107, -107, -107, -107, -107, -107,
    -00461                 -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -108, -108,
    -00462                 -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    -00463                 -108, -108, -108, -108, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    -00464                 -109, -109, -109, -109, -109, -109, -109, -109, -109, -109, -110, -110, -110,
    -00465                 -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    -00466                 -110, -110, -110, -110, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    -00467                 -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -112, -112,
    -00468                 -112, -112, -112, -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    -00469                 -112, -112, -112, -112, -112, -112, -113, -113, -113, -113, -113, -113, -113,
    -00470                 -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    -00471                 -113, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
    -00472                 -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -115, -115, -115,
    -00473                 -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    -00474                 -115, -115, -115, -115, -115, -115, -115, -116, -116, -116, -116, -116, -116,
    -00475                 -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    -00476                 -116, -116, -116, -116, -116, -117, -117, -117, -117, -117, -117, -117, -117,
    -00477                 -117, -117, -117, -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    -00478                 -117, -117, -117, -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    -00479                 -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    -00480                 -118, -118, -118, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    -00481                 -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    -00482                 -119, -119, -119, -119, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    -00483                 -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    -00484                 -120, -120, -120, -120, -120, -120, -121, -121, -121, -121, -121, -121, -121,
    -00485                 -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
    -00486                 -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -122, -122, -122,
    -00487                 -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    -00488                 -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    -00489                 -122, -122, -122, -122, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    -00490                 -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    -00491                 -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    -00492                 -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    -00493                 -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    -00494                 -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -125,
    -00495                 -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    -00496                 -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    -00497                 -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    -00498                 -125, -125, -125, -125, -125, -126, -126, -126, -126, -126, -126, -126, -126,
    -00499                 -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    -00500                 -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    -00501                 -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    -00502                 -126, -126, -126, -126, -126, -127, -127, -127, -127, -127, -127, -127, -127,
    -00503                 -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    -00504                 -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    -00505                 -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    -00506                 -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    -00507                 -127, -127, -127, -127, -127, -127, -127, -128, -128, -128, -128, -128, -128,
    -00508                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00509                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00510                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00511                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00512                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00513                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00514                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00515                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00516                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00517                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00518                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00519                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00520                 -128,
    -00521         };
    -00522 
    -00523 #endif /* COS8192_INT8_H_ */
    -
    - - - - +
    1 #ifndef COS8192_INT8_H_
    +
    2 #define COS8192_INT8_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 #define COS8192_NUM_CELLS 8192
    +
    12 #define COS8192_SAMPLERATE 8192
    +
    13 
    +
    14 const char __attribute__((progmem)) COS8192_DATA [] =
    +
    15  {
    +
    16  -128, -128, -128, -128, -128, -128, -128,
    +
    17  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    18  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    19  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    20  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    21  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    22  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    23  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    24  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    25  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    26  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    27  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    28  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    29  -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +
    30  -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +
    31  -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +
    32  -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +
    33  -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +
    34  -127, -127, -127, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +
    35  -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +
    36  -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +
    37  -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +
    38  -126, -126, -126, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +
    39  -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +
    40  -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +
    41  -125, -125, -125, -125, -125, -125, -125, -125, -124, -124, -124, -124, -124,
    +
    42  -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +
    43  -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +
    44  -124, -124, -124, -124, -124, -124, -124, -124, -123, -123, -123, -123, -123,
    +
    45  -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +
    46  -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +
    47  -123, -123, -123, -123, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    +
    48  -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    +
    49  -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -121, -121,
    +
    50  -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
    +
    51  -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
    +
    52  -121, -121, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +
    53  -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +
    54  -120, -120, -120, -120, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +
    55  -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +
    56  -119, -119, -119, -119, -119, -118, -118, -118, -118, -118, -118, -118, -118,
    +
    57  -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +
    58  -118, -118, -118, -118, -118, -117, -117, -117, -117, -117, -117, -117, -117,
    +
    59  -117, -117, -117, -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +
    60  -117, -117, -117, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +
    61  -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +
    62  -116, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    +
    63  -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -114, -114,
    +
    64  -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
    +
    65  -114, -114, -114, -114, -114, -114, -114, -113, -113, -113, -113, -113, -113,
    +
    66  -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +
    67  -113, -113, -113, -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    +
    68  -112, -112, -112, -112, -112, -112, -112, -112, -112, -112, -111, -111, -111,
    +
    69  -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +
    70  -111, -111, -111, -111, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    +
    71  -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -109, -109,
    +
    72  -109, -109, -109, -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +
    73  -109, -109, -109, -109, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    +
    74  -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -107, -107, -107,
    +
    75  -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    +
    76  -107, -107, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    +
    77  -106, -106, -106, -106, -106, -106, -106, -105, -105, -105, -105, -105, -105,
    +
    78  -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -104,
    +
    79  -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    +
    80  -104, -104, -104, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    +
    81  -103, -103, -103, -103, -103, -103, -103, -102, -102, -102, -102, -102, -102,
    +
    82  -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -101, -101,
    +
    83  -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
    +
    84  -101, -101, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    +
    85  -100, -100, -100, -100, -100, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99,
    +
    86  -99, -99, -99, -99, -99, -99, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98,
    +
    87  -98, -98, -98, -98, -98, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97,
    +
    88  -97, -97, -97, -97, -97, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96,
    +
    89  -96, -96, -96, -96, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95,
    +
    90  -95, -95, -95, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94,
    +
    91  -94, -94, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93,
    +
    92  -93, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92,
    +
    93  -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -90, -90,
    +
    94  -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -89, -89, -89, -89,
    +
    95  -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -88, -88, -88, -88, -88, -88,
    +
    96  -88, -88, -88, -88, -88, -88, -88, -88, -87, -87, -87, -87, -87, -87, -87, -87,
    +
    97  -87, -87, -87, -87, -87, -87, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86,
    +
    98  -86, -86, -86, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85,
    +
    99  -85, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -83,
    +
    100  -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, -82, -82, -82, -82,
    +
    101  -82, -82, -82, -82, -82, -82, -82, -82, -82, -81, -81, -81, -81, -81, -81, -81,
    +
    102  -81, -81, -81, -81, -81, -81, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
    +
    103  -80, -80, -80, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79,
    +
    104  -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -77, -77, -77,
    +
    105  -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -76, -76, -76, -76, -76, -76,
    +
    106  -76, -76, -76, -76, -76, -76, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75,
    +
    107  -75, -75, -75, -74, -74, -74, -74, -74, -74, -74, -74, -74, -74, -74, -74, -73,
    +
    108  -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -72, -72, -72, -72,
    +
    109  -72, -72, -72, -72, -72, -72, -72, -72, -71, -71, -71, -71, -71, -71, -71, -71,
    +
    110  -71, -71, -71, -71, -70, -70, -70, -70, -70, -70, -70, -70, -70, -70, -70, -70,
    +
    111  -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -68, -68, -68, -68,
    +
    112  -68, -68, -68, -68, -68, -68, -68, -68, -67, -67, -67, -67, -67, -67, -67, -67,
    +
    113  -67, -67, -67, -67, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66,
    +
    114  -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -64, -64, -64, -64,
    +
    115  -64, -64, -64, -64, -64, -64, -64, -63, -63, -63, -63, -63, -63, -63, -63, -63,
    +
    116  -63, -63, -63, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -61,
    +
    117  -61, -61, -61, -61, -61, -61, -61, -61, -61, -61, -60, -60, -60, -60, -60, -60,
    +
    118  -60, -60, -60, -60, -60, -60, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59,
    +
    119  -59, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -57, -57, -57,
    +
    120  -57, -57, -57, -57, -57, -57, -57, -57, -56, -56, -56, -56, -56, -56, -56, -56,
    +
    121  -56, -56, -56, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -54,
    +
    122  -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -53, -53, -53, -53, -53, -53,
    +
    123  -53, -53, -53, -53, -53, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52,
    +
    124  -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -50, -50, -50, -50, -50,
    +
    125  -50, -50, -50, -50, -50, -50, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
    +
    126  -49, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -47, -47, -47, -47,
    +
    127  -47, -47, -47, -47, -47, -47, -47, -46, -46, -46, -46, -46, -46, -46, -46, -46,
    +
    128  -46, -46, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -44, -44, -44,
    +
    129  -44, -44, -44, -44, -44, -44, -44, -44, -43, -43, -43, -43, -43, -43, -43, -43,
    +
    130  -43, -43, -43, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -41, -41, -41,
    +
    131  -41, -41, -41, -41, -41, -41, -41, -41, -40, -40, -40, -40, -40, -40, -40, -40,
    +
    132  -40, -40, -40, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -38, -38, -38,
    +
    133  -38, -38, -38, -38, -38, -38, -38, -38, -37, -37, -37, -37, -37, -37, -37, -37,
    +
    134  -37, -37, -37, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -35, -35, -35,
    +
    135  -35, -35, -35, -35, -35, -35, -35, -35, -34, -34, -34, -34, -34, -34, -34, -34,
    +
    136  -34, -34, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -32, -32, -32,
    +
    137  -32, -32, -32, -32, -32, -32, -32, -32, -31, -31, -31, -31, -31, -31, -31, -31,
    +
    138  -31, -31, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -29, -29, -29, -29,
    +
    139  -29, -29, -29, -29, -29, -29, -29, -28, -28, -28, -28, -28, -28, -28, -28, -28,
    +
    140  -28, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -26, -26, -26, -26,
    +
    141  -26, -26, -26, -26, -26, -26, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
    +
    142  -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -23, -23, -23, -23, -23,
    +
    143  -23, -23, -23, -23, -23, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22,
    +
    144  -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -20, -20, -20, -20, -20, -20,
    +
    145  -20, -20, -20, -20, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -18, -18,
    +
    146  -18, -18, -18, -18, -18, -18, -18, -18, -18, -17, -17, -17, -17, -17, -17, -17,
    +
    147  -17, -17, -17, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -15, -15, -15,
    +
    148  -15, -15, -15, -15, -15, -15, -15, -15, -14, -14, -14, -14, -14, -14, -14, -14,
    +
    149  -14, -14, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -12, -12, -12, -12,
    +
    150  -12, -12, -12, -12, -12, -12, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
    +
    151  -11, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -9, -9, -9, -9, -9, -9,
    +
    152  -9, -9, -9, -9, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -7, -7, -7, -7, -7, -7,
    +
    153  -7, -7, -7, -7, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -5, -5, -5, -5, -5,
    +
    154  -5, -5, -5, -5, -5, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -3, -3, -3, -3, -3,
    +
    155  -3, -3, -3, -3, -3, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -1, -1, -1, -1,
    +
    156  -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1,
    +
    157  1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4,
    +
    158  4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7,
    +
    159  7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9,
    +
    160  9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11,
    +
    161  11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13,
    +
    162  13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15,
    +
    163  15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17,
    +
    164  17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19,
    +
    165  19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21,
    +
    166  21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23,
    +
    167  23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 25, 25, 25, 25,
    +
    168  25, 25, 25, 25, 25, 25, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 27, 27, 27,
    +
    169  27, 27, 27, 27, 27, 27, 27, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 29, 29,
    +
    170  29, 29, 29, 29, 29, 29, 29, 29, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 31, 31,
    +
    171  31, 31, 31, 31, 31, 31, 31, 31, 31, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 33,
    +
    172  32, 33, 32, 33, 33, 34, 33, 33, 32, 33, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
    +
    173  35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 36, 36, 36, 36, 36, 36, 36, 36, 36,
    +
    174  36, 36, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 38, 38, 38, 38, 38, 38, 38, 38,
    +
    175  38, 38, 38, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 40, 40, 40, 40, 40, 40,
    +
    176  40, 40, 40, 40, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 42, 42, 42, 42, 42,
    +
    177  42, 42, 42, 42, 42, 42, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 44, 44, 44,
    +
    178  44, 44, 44, 44, 44, 44, 44, 44, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 46,
    +
    179  46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
    +
    180  47, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 49, 49, 49, 49, 49, 49, 49, 49,
    +
    181  49, 49, 49, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 51, 51, 51, 51, 51, 51,
    +
    182  51, 51, 51, 51, 51, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 53, 53, 53, 53,
    +
    183  53, 53, 53, 53, 53, 53, 53, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 55,
    +
    184  55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
    +
    185  56, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 58, 58, 58, 58, 58, 58, 58, 58,
    +
    186  58, 58, 58, 58, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 60, 60, 60, 60,
    +
    187  60, 60, 60, 60, 60, 60, 60, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 62,
    +
    188  62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
    +
    189  63, 63, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 65, 65, 65, 65, 65, 65,
    +
    190  65, 65, 65, 65, 65, 65, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 67, 67,
    +
    191  67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
    +
    192  68, 68, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 70, 70, 70, 70, 70, 70,
    +
    193  70, 70, 70, 70, 70, 70, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 72, 72,
    +
    194  72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 73, 73, 73, 73, 73, 73, 73, 73, 73,
    +
    195  73, 73, 73, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 75, 75, 75, 75,
    +
    196  75, 75, 75, 75, 75, 75, 75, 75, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
    +
    197  76, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 78, 78, 78, 78, 78, 78,
    +
    198  78, 78, 78, 78, 78, 78, 78, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79,
    +
    199  80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 81, 81, 81, 81, 81, 81, 81,
    +
    200  81, 81, 81, 81, 81, 81, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 83,
    +
    201  83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 84, 84, 84, 84, 84, 84, 84,
    +
    202  84, 84, 84, 84, 84, 84, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
    +
    203  86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 87, 87, 87, 87, 87, 87,
    +
    204  87, 87, 87, 87, 87, 87, 87, 87, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
    +
    205  88, 88, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 90, 90, 90, 90,
    +
    206  90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 91, 91, 91, 91, 91, 91, 91, 91, 91,
    +
    207  91, 91, 91, 91, 91, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
    +
    208  93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 94, 94, 94, 94, 94,
    +
    209  94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
    +
    210  95, 95, 95, 95, 95, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
    +
    211  96, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 98, 98, 98,
    +
    212  98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 99, 99, 99, 99, 99, 99, 99, 99,
    +
    213  99, 99, 99, 99, 99, 99, 99, 99, 99, 100, 100, 100, 100, 100, 100, 100, 100, 100,
    +
    214  100, 100, 100, 100, 100, 100, 100, 101, 101, 101, 101, 101, 101, 101, 101, 101,
    +
    215  101, 101, 101, 101, 101, 101, 101, 101, 102, 102, 102, 102, 102, 102, 102, 102,
    +
    216  102, 102, 102, 102, 102, 102, 102, 102, 102, 103, 103, 103, 103, 103, 103, 103,
    +
    217  103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 104, 104, 104, 104, 104, 104,
    +
    218  104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 105, 105, 105, 105,
    +
    219  105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 106, 106,
    +
    220  106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
    +
    221  107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
    +
    222  107, 107, 107, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
    +
    223  108, 108, 108, 108, 108, 108, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
    +
    224  109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 110, 110, 110, 110, 110, 110,
    +
    225  110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 111, 111,
    +
    226  111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
    +
    227  111, 111, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112,
    +
    228  112, 112, 112, 112, 112, 112, 112, 112, 113, 113, 113, 113, 113, 113, 113, 113,
    +
    229  113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 114, 114,
    +
    230  114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
    +
    231  114, 114, 114, 114, 114, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
    +
    232  115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 116, 116, 116, 116,
    +
    233  116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
    +
    234  116, 116, 116, 116, 116, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
    +
    235  117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 118, 118,
    +
    236  118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
    +
    237  118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 119, 119, 119, 119, 119, 119,
    +
    238  119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
    +
    239  119, 119, 119, 119, 119, 119, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
    +
    240  120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
    +
    241  120, 120, 120, 120, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
    +
    242  121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
    +
    243  121, 121, 121, 121, 121, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
    +
    244  122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
    +
    245  122, 122, 122, 122, 122, 122, 122, 122, 123, 123, 123, 123, 123, 123, 123, 123,
    +
    246  123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
    +
    247  123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 124,
    +
    248  124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
    +
    249  124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
    +
    250  124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 125, 125, 125, 125, 125,
    +
    251  125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    +
    252  125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    +
    253  125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 126, 125, 126,
    +
    254  126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    +
    255  126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    +
    256  126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    +
    257  126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    +
    258  126, 126, 126, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    259  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    260  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    261  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    262  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    263  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    264  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    265  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    266  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    267  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    268  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    269  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    270  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    271  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    272  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    273  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    274  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    275  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    276  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    277  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    278  127, 127, 127, 127, 127, 127, 127, 127, 126, 126, 126, 126, 126, 126, 126, 126,
    +
    279  126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    +
    280  126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    +
    281  126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    +
    282  126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 125, 125, 125,
    +
    283  125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    +
    284  125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    +
    285  125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    +
    286  124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
    +
    287  124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
    +
    288  124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 123, 123, 123, 123,
    +
    289  123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
    +
    290  123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
    +
    291  123, 123, 123, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
    +
    292  122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
    +
    293  122, 122, 122, 122, 122, 122, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
    +
    294  121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
    +
    295  121, 121, 121, 121, 121, 121, 121, 120, 120, 120, 120, 120, 120, 120, 120, 120,
    +
    296  120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
    +
    297  120, 120, 120, 120, 120, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
    +
    298  119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
    +
    299  119, 119, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
    +
    300  118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 117, 117, 117,
    +
    301  117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
    +
    302  117, 117, 117, 117, 117, 117, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
    +
    303  116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 115,
    +
    304  115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
    +
    305  115, 115, 115, 115, 115, 115, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
    +
    306  114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 113, 113, 113,
    +
    307  113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
    +
    308  113, 113, 113, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112,
    +
    309  112, 112, 112, 112, 112, 112, 112, 112, 111, 111, 111, 111, 111, 111, 111, 111,
    +
    310  111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 110, 110, 110,
    +
    311  110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
    +
    312  110, 110, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
    +
    313  109, 109, 109, 109, 109, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
    +
    314  108, 108, 108, 108, 108, 108, 108, 108, 107, 107, 107, 107, 107, 107, 107, 107,
    +
    315  107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 106, 106, 106, 106, 106,
    +
    316  106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 105, 105, 105,
    +
    317  105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 104,
    +
    318  104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
    +
    319  104, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
    +
    320  103, 103, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
    +
    321  102, 102, 102, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
    +
    322  101, 101, 101, 101, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
    +
    323  100, 100, 100, 100, 100, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
    +
    324  99, 99, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 97, 97, 97,
    +
    325  97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 96, 96, 96, 96, 96, 96, 96,
    +
    326  96, 96, 96, 96, 96, 96, 96, 96, 96, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
    +
    327  95, 95, 95, 95, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 93,
    +
    328  93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 92, 92, 92, 92, 92, 92,
    +
    329  92, 92, 92, 92, 92, 92, 92, 92, 92, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
    +
    330  91, 91, 91, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 89, 89,
    +
    331  89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 88, 88, 88, 88, 88, 88, 88, 88,
    +
    332  88, 88, 88, 88, 88, 88, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
    +
    333  86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 85, 85, 85, 85, 85, 85,
    +
    334  85, 85, 85, 85, 85, 85, 85, 85, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
    +
    335  84, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 82, 82, 82, 82, 82,
    +
    336  82, 82, 82, 82, 82, 82, 82, 82, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
    +
    337  81, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 79, 79, 79, 79, 79, 79,
    +
    338  79, 79, 79, 79, 79, 79, 79, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
    +
    339  77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 76, 76, 76, 76, 76, 76, 76,
    +
    340  76, 76, 76, 76, 76, 76, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 74, 74,
    +
    341  74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 73, 73, 73, 73, 73, 73, 73, 73, 73,
    +
    342  73, 73, 73, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 71, 71, 71, 71,
    +
    343  71, 71, 71, 71, 71, 71, 71, 71, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
    +
    344  69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 68, 68, 68, 68, 68, 68, 68, 68,
    +
    345  68, 68, 68, 68, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 66, 66, 66, 66,
    +
    346  66, 66, 66, 66, 66, 66, 66, 66, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
    +
    347  64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 63, 63, 63, 63, 63, 63, 63, 63,
    +
    348  63, 63, 63, 63, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 61, 61, 61, 61, 61,
    +
    349  61, 61, 61, 61, 61, 61, 61, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 59, 59,
    +
    350  59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
    +
    351  58, 58, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 56, 56, 56, 56, 56, 56, 56,
    +
    352  56, 56, 56, 56, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 54, 54, 54, 54,
    +
    353  54, 54, 54, 54, 54, 54, 54, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 52, 52,
    +
    354  52, 52, 52, 52, 52, 52, 52, 52, 52, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
    +
    355  50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 49, 49, 49, 49, 49, 49, 49, 49, 49,
    +
    356  49, 49, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 47, 47, 47, 47, 47, 47, 47,
    +
    357  47, 47, 47, 47, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 45, 45, 45, 45, 45,
    +
    358  45, 45, 45, 45, 45, 45, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 43, 43, 43,
    +
    359  43, 43, 43, 43, 43, 43, 43, 43, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 41,
    +
    360  41, 41, 41, 41, 41, 41, 41, 41, 41, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
    +
    361  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 38, 38, 38, 38, 38, 38, 38, 38, 38,
    +
    362  38, 38, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 36, 36, 36, 36, 36, 36, 36, 36,
    +
    363  36, 36, 36, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 34, 34, 34, 34, 34, 34, 34,
    +
    364  34, 34, 34, 34, 33, 33, 32, 33, 33, 34, 33, 33, 32, 33, 33, 32, 32, 32, 32, 32,
    +
    365  32, 32, 32, 32, 32, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 30, 30, 30, 30, 30,
    +
    366  30, 30, 30, 30, 30, 30, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 28, 28, 28, 28,
    +
    367  28, 28, 28, 28, 28, 28, 28, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 26, 26, 26,
    +
    368  26, 26, 26, 26, 26, 26, 26, 26, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 24, 24,
    +
    369  24, 24, 24, 24, 24, 24, 24, 24, 24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 22,
    +
    370  22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
    +
    371  20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
    +
    372  18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
    +
    373  17, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 15, 15, 15, 15, 15, 15, 15, 15, 15,
    +
    374  15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 13, 13, 13, 13, 13, 13, 13, 13,
    +
    375  13, 13, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 11, 11, 11, 11, 11, 11, 11, 11,
    +
    376  11, 11, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
    +
    377  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6,
    +
    378  6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3,
    +
    379  3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
    +
    380  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -2, -2,
    +
    381  -2, -2, -2, -2, -2, -2, -2, -2, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -4, -4,
    +
    382  -4, -4, -4, -4, -4, -4, -4, -4, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -6,
    +
    383  -6, -6, -6, -6, -6, -6, -6, -6, -6, -7, -7, -7, -7, -7, -7, -7, -7, -7, -7, -8,
    +
    384  -8, -8, -8, -8, -8, -8, -8, -8, -8, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -10,
    +
    385  -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -11, -11, -11, -11, -11, -11,
    +
    386  -11, -11, -11, -11, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -13, -13,
    +
    387  -13, -13, -13, -13, -13, -13, -13, -13, -14, -14, -14, -14, -14, -14, -14, -14,
    +
    388  -14, -14, -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, -16, -16, -16,
    +
    389  -16, -16, -16, -16, -16, -16, -16, -17, -17, -17, -17, -17, -17, -17, -17, -17,
    +
    390  -17, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -19, -19, -19, -19, -19,
    +
    391  -19, -19, -19, -19, -19, -19, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
    +
    392  -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -22, -22, -22, -22, -22, -22,
    +
    393  -22, -22, -22, -22, -22, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -24,
    +
    394  -24, -24, -24, -24, -24, -24, -24, -24, -24, -25, -25, -25, -25, -25, -25, -25,
    +
    395  -25, -25, -25, -25, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -27, -27,
    +
    396  -27, -27, -27, -27, -27, -27, -27, -27, -27, -28, -28, -28, -28, -28, -28, -28,
    +
    397  -28, -28, -28, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -30, -30,
    +
    398  -30, -30, -30, -30, -30, -30, -30, -30, -31, -31, -31, -31, -31, -31, -31, -31,
    +
    399  -31, -31, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -33, -33, -33,
    +
    400  -33, -33, -33, -33, -33, -33, -33, -33, -34, -34, -34, -34, -34, -34, -34, -34,
    +
    401  -34, -34, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -36, -36, -36,
    +
    402  -36, -36, -36, -36, -36, -36, -36, -37, -37, -37, -37, -37, -37, -37, -37, -37,
    +
    403  -37, -37, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -39, -39, -39,
    +
    404  -39, -39, -39, -39, -39, -39, -39, -40, -40, -40, -40, -40, -40, -40, -40, -40,
    +
    405  -40, -40, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -42, -42, -42,
    +
    406  -42, -42, -42, -42, -42, -42, -42, -43, -43, -43, -43, -43, -43, -43, -43, -43,
    +
    407  -43, -43, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -45, -45, -45,
    +
    408  -45, -45, -45, -45, -45, -45, -45, -45, -46, -46, -46, -46, -46, -46, -46, -46,
    +
    409  -46, -46, -46, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -48, -48,
    +
    410  -48, -48, -48, -48, -48, -48, -48, -48, -48, -49, -49, -49, -49, -49, -49, -49,
    +
    411  -49, -49, -49, -49, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -51,
    +
    412  -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -52, -52, -52, -52, -52, -52,
    +
    413  -52, -52, -52, -52, -52, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53,
    +
    414  -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -55, -55, -55, -55, -55,
    +
    415  -55, -55, -55, -55, -55, -55, -55, -56, -56, -56, -56, -56, -56, -56, -56, -56,
    +
    416  -56, -56, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -58, -58, -58,
    +
    417  -58, -58, -58, -58, -58, -58, -58, -58, -58, -59, -59, -59, -59, -59, -59, -59,
    +
    418  -59, -59, -59, -59, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60,
    +
    419  -61, -61, -61, -61, -61, -61, -61, -61, -61, -61, -61, -62, -62, -62, -62, -62,
    +
    420  -62, -62, -62, -62, -62, -62, -62, -63, -63, -63, -63, -63, -63, -63, -63, -63,
    +
    421  -63, -63, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -65, -65,
    +
    422  -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -66, -66, -66, -66, -66, -66,
    +
    423  -66, -66, -66, -66, -66, -66, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67,
    +
    424  -67, -67, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -69, -69,
    +
    425  -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -70, -70, -70, -70, -70, -70,
    +
    426  -70, -70, -70, -70, -70, -70, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71,
    +
    427  -71, -71, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -73,
    +
    428  -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -74, -74, -74, -74, -74,
    +
    429  -74, -74, -74, -74, -74, -74, -74, -75, -75, -75, -75, -75, -75, -75, -75, -75,
    +
    430  -75, -75, -75, -75, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76,
    +
    431  -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -78, -78, -78,
    +
    432  -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -79, -79, -79, -79, -79, -79,
    +
    433  -79, -79, -79, -79, -79, -79, -79, -80, -80, -80, -80, -80, -80, -80, -80, -80,
    +
    434  -80, -80, -80, -80, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
    +
    435  -81, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -83, -83,
    +
    436  -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, -84, -84, -84, -84, -84,
    +
    437  -84, -84, -84, -84, -84, -84, -84, -84, -84, -85, -85, -85, -85, -85, -85, -85,
    +
    438  -85, -85, -85, -85, -85, -85, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86,
    +
    439  -86, -86, -86, -86, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87,
    +
    440  -87, -87, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88,
    +
    441  -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -90, -90,
    +
    442  -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -91, -91, -91, -91,
    +
    443  -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -92, -92, -92, -92, -92, -92,
    +
    444  -92, -92, -92, -92, -92, -92, -92, -92, -92, -93, -93, -93, -93, -93, -93, -93,
    +
    445  -93, -93, -93, -93, -93, -93, -93, -93, -94, -94, -94, -94, -94, -94, -94, -94,
    +
    446  -94, -94, -94, -94, -94, -94, -94, -95, -95, -95, -95, -95, -95, -95, -95, -95,
    +
    447  -95, -95, -95, -95, -95, -95, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96,
    +
    448  -96, -96, -96, -96, -96, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97,
    +
    449  -97, -97, -97, -97, -97, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98,
    +
    450  -98, -98, -98, -98, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99,
    +
    451  -99, -99, -99, -99, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    +
    452  -100, -100, -100, -100, -100, -100, -100, -101, -101, -101, -101, -101, -101,
    +
    453  -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -102, -102, -102,
    +
    454  -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    +
    455  -102, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    +
    456  -103, -103, -103, -103, -103, -104, -104, -104, -104, -104, -104, -104, -104,
    +
    457  -104, -104, -104, -104, -104, -104, -104, -104, -104, -105, -105, -105, -105,
    +
    458  -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
    +
    459  -105, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    +
    460  -106, -106, -106, -106, -106, -106, -107, -107, -107, -107, -107, -107, -107,
    +
    461  -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -108, -108,
    +
    462  -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    +
    463  -108, -108, -108, -108, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +
    464  -109, -109, -109, -109, -109, -109, -109, -109, -109, -109, -110, -110, -110,
    +
    465  -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    +
    466  -110, -110, -110, -110, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +
    467  -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -112, -112,
    +
    468  -112, -112, -112, -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    +
    469  -112, -112, -112, -112, -112, -112, -113, -113, -113, -113, -113, -113, -113,
    +
    470  -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +
    471  -113, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
    +
    472  -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -115, -115, -115,
    +
    473  -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    +
    474  -115, -115, -115, -115, -115, -115, -115, -116, -116, -116, -116, -116, -116,
    +
    475  -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +
    476  -116, -116, -116, -116, -116, -117, -117, -117, -117, -117, -117, -117, -117,
    +
    477  -117, -117, -117, -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +
    478  -117, -117, -117, -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +
    479  -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +
    480  -118, -118, -118, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +
    481  -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +
    482  -119, -119, -119, -119, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +
    483  -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +
    484  -120, -120, -120, -120, -120, -120, -121, -121, -121, -121, -121, -121, -121,
    +
    485  -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
    +
    486  -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -122, -122, -122,
    +
    487  -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    +
    488  -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    +
    489  -122, -122, -122, -122, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +
    490  -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +
    491  -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +
    492  -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +
    493  -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +
    494  -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -125,
    +
    495  -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +
    496  -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +
    497  -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +
    498  -125, -125, -125, -125, -125, -126, -126, -126, -126, -126, -126, -126, -126,
    +
    499  -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +
    500  -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +
    501  -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +
    502  -126, -126, -126, -126, -126, -127, -127, -127, -127, -127, -127, -127, -127,
    +
    503  -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +
    504  -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +
    505  -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +
    506  -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +
    507  -127, -127, -127, -127, -127, -127, -127, -128, -128, -128, -128, -128, -128,
    +
    508  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    509  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    510  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    511  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    512  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    513  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    514  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    515  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    516  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    517  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    518  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    519  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    520  -128,
    +
    521  };
    +
    522 
    +
    523 #endif /* COS8192_INT8_H_ */
    +
    +

    + + diff --git a/doc/html/cosphase2048__int8_8h_source.html b/doc/html/cosphase2048__int8_8h_source.html index 00606d675..28e34d34e 100644 --- a/doc/html/cosphase2048__int8_8h_source.html +++ b/doc/html/cosphase2048__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: tables/cosphase2048_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,163 +99,165 @@
    -
    tables/cosphase2048_int8.h
    +
    cosphase2048_int8.h
    -
    00001 #ifndef COSPHASE2048_H_
    -00002 #define COSPHASE2048_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00016 #define COSPHASE2048_NUM_CELLS 2048
    -00017 
    -00020 #define COSPHASE2048_SAMPLERATE 2048
    -00021 
    -00024 const char __attribute__((progmem)) COSPHASE2048_DATA []  =
    -00025         {
    -00026                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00027                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00028                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00029                 127, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    -00030                 126, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 124, 124,
    -00031                 124, 124, 124, 124, 124, 124, 124, 124, 124, 123, 123, 123, 123, 123, 123, 123,
    -00032                 123, 123, 123, 122, 122, 122, 122, 122, 122, 122, 122, 122, 121, 121, 121, 121,
    -00033                 121, 121, 121, 121, 120, 120, 120, 120, 120, 120, 120, 119, 119, 119, 119, 119,
    -00034                 119, 119, 119, 118, 118, 118, 118, 118, 118, 117, 117, 117, 117, 117, 117, 117,
    -00035                 116, 116, 116, 116, 116, 116, 115, 115, 115, 115, 115, 115, 114, 114, 114, 114,
    -00036                 114, 113, 113, 113, 113, 113, 113, 112, 112, 112, 112, 112, 111, 111, 111, 111,
    -00037                 111, 110, 110, 110, 110, 110, 109, 109, 109, 109, 109, 108, 108, 108, 108, 108,
    -00038                 107, 107, 107, 107, 107, 106, 106, 106, 106, 106, 105, 105, 105, 105, 104, 104,
    -00039                 104, 104, 103, 103, 103, 103, 103, 102, 102, 102, 102, 101, 101, 101, 101, 100,
    -00040                 100, 100, 100, 99, 99, 99, 99, 98, 98, 98, 98, 97, 97, 97, 97, 96, 96, 96, 96,
    -00041                 95, 95, 95, 95, 94, 94, 94, 94, 93, 93, 93, 92, 92, 92, 92, 91, 91, 91, 91, 90,
    -00042                 90, 90, 89, 89, 89, 89, 88, 88, 88, 87, 87, 87, 87, 86, 86, 86, 85, 85, 85, 85,
    -00043                 84, 84, 84, 83, 83, 83, 83, 82, 82, 82, 81, 81, 81, 80, 80, 80, 79, 79, 79, 79,
    -00044                 78, 78, 78, 77, 77, 77, 76, 76, 76, 75, 75, 75, 74, 74, 74, 74, 73, 73, 73, 72,
    -00045                 72, 72, 71, 71, 71, 70, 70, 70, 69, 69, 69, 68, 68, 68, 67, 67, 67, 66, 66, 66,
    -00046                 65, 65, 65, 64, 64, 64, 63, 63, 63, 62, 62, 62, 61, 61, 61, 60, 60, 60, 59, 59,
    -00047                 58, 58, 58, 57, 57, 57, 56, 56, 56, 55, 55, 55, 54, 54, 54, 53, 53, 52, 52, 52,
    -00048                 51, 51, 51, 50, 50, 50, 49, 49, 48, 48, 48, 47, 47, 47, 46, 46, 46, 45, 45, 44,
    -00049                 44, 44, 43, 43, 43, 42, 42, 42, 41, 41, 40, 40, 40, 39, 39, 39, 38, 38, 37, 37,
    -00050                 37, 36, 36, 36, 35, 35, 34, 34, 34, 34, 33, 33, 32, 32, 31, 31, 31, 30, 30, 29,
    -00051                 29, 29, 28, 28, 28, 27, 27, 26, 26, 26, 25, 25, 24, 24, 24, 23, 23, 23, 22, 22,
    -00052                 21, 21, 21, 20, 20, 19, 19, 19, 18, 18, 18, 17, 17, 16, 16, 16, 15, 15, 14, 14,
    -00053                 14, 13, 13, 12, 12, 12, 11, 11, 10, 10, 10, 9, 9, 9, 8, 8, 7, 7, 7, 6, 6, 5, 5,
    -00054                 5, 4, 4, 3, 3, 3, 2, 2, 1, 1, 1, 0, 0, 0, -1, -1, -2, -2, -2, -3, -3, -4, -4,
    -00055                 -4, -5, -5, -6, -6, -6, -7, -7, -8, -8, -8, -9, -9, -10, -10, -10, -11, -11,
    -00056                 -11, -12, -12, -13, -13, -13, -14, -14, -15, -15, -15, -16, -16, -17, -17, -17,
    -00057                 -18, -18, -18, -19, -19, -20, -20, -20, -21, -21, -22, -22, -22, -23, -23, -24,
    -00058                 -24, -24, -25, -25, -25, -26, -26, -27, -27, -27, -28, -28, -29, -29, -29, -30,
    -00059                 -30, -30, -31, -31, -32, -32, -32, -33, -33, -34, -34, -34, -35, -35, -35, -36,
    -00060                 -36, -37, -37, -37, -38, -38, -38, -39, -39, -40, -40, -40, -41, -41, -41, -42,
    -00061                 -42, -43, -43, -43, -44, -44, -44, -45, -45, -45, -46, -46, -47, -47, -47, -48,
    -00062                 -48, -48, -49, -49, -49, -50, -50, -51, -51, -51, -52, -52, -52, -53, -53, -53,
    -00063                 -54, -54, -55, -55, -55, -56, -56, -56, -57, -57, -57, -58, -58, -58, -59, -59,
    -00064                 -59, -60, -60, -60, -61, -61, -62, -62, -62, -63, -63, -63, -64, -64, -64, -65,
    -00065                 -65, -65, -66, -66, -66, -67, -67, -67, -68, -68, -68, -69, -69, -69, -70, -70,
    -00066                 -70, -71, -71, -71, -72, -72, -72, -73, -73, -73, -74, -74, -74, -75, -75, -75,
    -00067                 -75, -76, -76, -76, -77, -77, -77, -78, -78, -78, -79, -79, -79, -80, -80, -80,
    -00068                 -80, -81, -81, -81, -82, -82, -82, -83, -83, -83, -84, -84, -84, -84, -85, -85,
    -00069                 -85, -86, -86, -86, -86, -87, -87, -87, -88, -88, -88, -88, -89, -89, -89, -90,
    -00070                 -90, -90, -90, -91, -91, -91, -92, -92, -92, -92, -93, -93, -93, -93, -94, -94,
    -00071                 -94, -95, -95, -95, -95, -96, -96, -96, -96, -97, -97, -97, -97, -98, -98, -98,
    -00072                 -98, -99, -99, -99, -99, -100, -100, -100, -100, -101, -101, -101, -101, -102,
    -00073                 -102, -102, -102, -103, -103, -103, -103, -104, -104, -104, -104, -104, -105,
    -00074                 -105, -105, -105, -106, -106, -106, -106, -106, -107, -107, -107, -107, -108,
    -00075                 -108, -108, -108, -108, -109, -109, -109, -109, -109, -110, -110, -110, -110,
    -00076                 -110, -111, -111, -111, -111, -111, -112, -112, -112, -112, -112, -113, -113,
    -00077                 -113, -113, -113, -114, -114, -114, -114, -114, -114, -115, -115, -115, -115,
    -00078                 -115, -116, -116, -116, -116, -116, -116, -117, -117, -117, -117, -117, -117,
    -00079                 -118, -118, -118, -118, -118, -118, -118, -119, -119, -119, -119, -119, -119,
    -00080                 -119, -120, -120, -120, -120, -120, -120, -120, -121, -121, -121, -121, -121,
    -00081                 -121, -121, -122, -122, -122, -122, -122, -122, -122, -122, -123, -123, -123,
    -00082                 -123, -123, -123, -123, -123, -123, -124, -124, -124, -124, -124, -124, -124,
    -00083                 -124, -124, -124, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    -00084                 -125, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    -00085                 -126, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    -00086                 -127, -127, -127, -127, -127, -128, -128, -128, -128, -128, -128, -128, -128,
    -00087                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00088                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00089                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00090                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00091                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00092                 -128, -128, -128, -128, -128, -128, -128, -128, -127, -127, -127, -127, -127,
    -00093                 -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -126,
    -00094                 -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -125,
    -00095                 -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -124, -124, -124,
    -00096                 -124, -124, -124, -124, -124, -124, -124, -123, -123, -123, -123, -123, -123,
    -00097                 -123, -123, -123, -122, -122, -122, -122, -122, -122, -122, -122, -121, -121,
    -00098                 -121, -121, -121, -121, -121, -120, -120, -120, -120, -120, -120, -120, -120,
    -00099                 -119, -119, -119, -119, -119, -119, -118, -118, -118, -118, -118, -118, -118,
    -00100                 -117, -117, -117, -117, -117, -117, -116, -116, -116, -116, -116, -116, -115,
    -00101                 -115, -115, -115, -115, -114, -114, -114, -114, -114, -114, -113, -113, -113,
    -00102                 -113, -113, -112, -112, -112, -112, -112, -111, -111, -111, -111, -111, -110,
    -00103                 -110, -110, -110, -110, -109, -109, -109, -109, -109, -108, -108, -108, -108,
    -00104                 -108, -107, -107, -107, -107, -106, -106, -106, -106, -106, -105, -105, -105,
    -00105                 -105, -104, -104, -104, -104, -104, -103, -103, -103, -103, -102, -102, -102,
    -00106                 -102, -101, -101, -101, -101, -100, -100, -100, -100, -99, -99, -99, -99, -98,
    -00107                 -98, -98, -98, -97, -97, -97, -97, -96, -96, -96, -96, -95, -95, -95, -95, -94,
    -00108                 -94, -94, -93, -93, -93, -93, -92, -92, -92, -92, -91, -91, -91, -90, -90, -90,
    -00109                 -90, -89, -89, -89, -88, -88, -88, -88, -87, -87, -87, -86, -86, -86, -86, -85,
    -00110                 -85, -85, -84, -84, -84, -84, -83, -83, -83, -82, -82, -82, -81, -81, -81, -80,
    -00111                 -80, -80, -80, -79, -79, -79, -78, -78, -78, -77, -77, -77, -76, -76, -76, -75,
    -00112                 -75, -75, -75, -74, -74, -74, -73, -73, -73, -72, -72, -72, -71, -71, -71, -70,
    -00113                 -70, -70, -69, -69, -69, -68, -68, -68, -67, -67, -67, -66, -66, -66, -65, -65,
    -00114                 -65, -64, -64, -64, -63, -63, -63, -62, -62, -62, -61, -61, -60, -60, -60, -59,
    -00115                 -59, -59, -58, -58, -58, -57, -57, -57, -56, -56, -56, -55, -55, -55, -54, -54,
    -00116                 -53, -53, -53, -52, -52, -52, -51, -51, -51, -50, -50, -49, -49, -49, -48, -48,
    -00117                 -48, -47, -47, -47, -46, -46, -45, -45, -45, -44, -44, -44, -43, -43, -43, -42,
    -00118                 -42, -41, -41, -41, -40, -40, -40, -39, -39, -38, -38, -38, -37, -37, -37, -36,
    -00119                 -36, -35, -35, -35, -34, -34, -34, -33, -33, -32, -32, -32, -31, -31, -30, -30,
    -00120                 -30, -29, -29, -29, -28, -28, -27, -27, -27, -26, -26, -25, -25, -25, -24, -24,
    -00121                 -24, -23, -23, -22, -22, -22, -21, -21, -20, -20, -20, -19, -19, -19, -18, -18,
    -00122                 -17, -17, -17, -16, -16, -15, -15, -15, -14, -14, -13, -13, -13, -12, -12, -11,
    -00123                 -11, -11, -10, -10, -10, -9, -9, -8, -8, -8, -7, -7, -6, -6, -6, -5, -5, -4, -4,
    -00124                 -4, -3, -3, -2, -2, -2, -1, -1, 0, 0, 0, 1, 1, 1, 2, 2, 3, 3, 3, 4, 4, 5, 5, 5,
    -00125                 6, 6, 7, 7, 7, 8, 8, 9, 9, 9, 10, 10, 10, 11, 11, 12, 12, 12, 13, 13, 14, 14,
    -00126                 14, 15, 15, 16, 16, 16, 17, 17, 18, 18, 18, 19, 19, 19, 20, 20, 21, 21, 21, 22,
    -00127                 22, 23, 23, 23, 24, 24, 24, 25, 25, 26, 26, 26, 27, 27, 28, 28, 28, 29, 29, 29,
    -00128                 30, 30, 31, 31, 31, 32, 32, 32, 33, 33, 34, 34, 34, 35, 35, 36, 36, 36, 37, 37,
    -00129                 37, 38, 38, 39, 39, 39, 40, 40, 40, 41, 41, 42, 42, 42, 43, 43, 43, 44, 44, 44,
    -00130                 45, 45, 46, 46, 46, 47, 47, 47, 48, 48, 48, 49, 49, 50, 50, 50, 51, 51, 51, 52,
    -00131                 52, 52, 53, 53, 54, 54, 54, 55, 55, 55, 56, 56, 56, 57, 57, 57, 58, 58, 58, 59,
    -00132                 59, 59, 60, 60, 61, 61, 61, 62, 62, 62, 63, 63, 63, 64, 64, 64, 65, 65, 65, 66,
    -00133                 66, 66, 67, 67, 67, 68, 68, 68, 69, 69, 69, 70, 70, 70, 71, 71, 71, 72, 72, 72,
    -00134                 73, 73, 73, 74, 74, 74, 74, 75, 75, 75, 76, 76, 76, 77, 77, 77, 78, 78, 78, 79,
    -00135                 79, 79, 79, 80, 80, 80, 81, 81, 81, 82, 82, 82, 83, 83, 83, 83, 84, 84, 84, 85,
    -00136                 85, 85, 85, 86, 86, 86, 87, 87, 87, 87, 88, 88, 88, 89, 89, 89, 89, 90, 90, 90,
    -00137                 91, 91, 91, 91, 92, 92, 92, 92, 93, 93, 93, 94, 94, 94, 94, 95, 95, 95, 95, 96,
    -00138                 96, 96, 96, 97, 97, 97, 97, 98, 98, 98, 98, 99, 99, 99, 99, 100, 100, 100, 100,
    -00139                 101, 101, 101, 101, 102, 102, 102, 102, 103, 103, 103, 103, 103, 104, 104, 104,
    -00140                 104, 105, 105, 105, 105, 106, 106, 106, 106, 106, 107, 107, 107, 107, 107, 108,
    -00141                 108, 108, 108, 108, 109, 109, 109, 109, 110, 110, 110, 110, 110, 110, 111, 111,
    -00142                 111, 111, 111, 112, 112, 112, 112, 112, 113, 113, 113, 113, 113, 113, 114, 114,
    -00143                 114, 114, 114, 115, 115, 115, 115, 115, 115, 116, 116, 116, 116, 116, 116, 117,
    -00144                 117, 117, 117, 117, 117, 117, 118, 118, 118, 118, 118, 118, 118, 119, 119, 119,
    -00145                 119, 119, 119, 119, 120, 120, 120, 120, 120, 120, 120, 121, 121, 121, 121, 121,
    -00146                 121, 121, 121, 122, 122, 122, 122, 122, 122, 122, 122, 122, 123, 123, 123, 123,
    -00147                 123, 123, 123, 123, 123, 123, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
    -00148                 124, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 126, 126,
    -00149                 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 127,
    -00150                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00151                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00152                 127, 127, 127, 127, 127, 127,
    -00153         };
    -00154 
    -00155 #endif /* COSPHASE2048_H_ */
    -
    - - - - +
    1 #ifndef COSPHASE2048_H_
    +
    2 #define COSPHASE2048_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    16 #define COSPHASE2048_NUM_CELLS 2048
    +
    17 
    +
    20 #define COSPHASE2048_SAMPLERATE 2048
    +
    21 
    +
    24 const char __attribute__((progmem)) COSPHASE2048_DATA [] =
    +
    25  {
    +
    26  127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    27  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    28  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    29  127, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    +
    30  126, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 124, 124,
    +
    31  124, 124, 124, 124, 124, 124, 124, 124, 124, 123, 123, 123, 123, 123, 123, 123,
    +
    32  123, 123, 123, 122, 122, 122, 122, 122, 122, 122, 122, 122, 121, 121, 121, 121,
    +
    33  121, 121, 121, 121, 120, 120, 120, 120, 120, 120, 120, 119, 119, 119, 119, 119,
    +
    34  119, 119, 119, 118, 118, 118, 118, 118, 118, 117, 117, 117, 117, 117, 117, 117,
    +
    35  116, 116, 116, 116, 116, 116, 115, 115, 115, 115, 115, 115, 114, 114, 114, 114,
    +
    36  114, 113, 113, 113, 113, 113, 113, 112, 112, 112, 112, 112, 111, 111, 111, 111,
    +
    37  111, 110, 110, 110, 110, 110, 109, 109, 109, 109, 109, 108, 108, 108, 108, 108,
    +
    38  107, 107, 107, 107, 107, 106, 106, 106, 106, 106, 105, 105, 105, 105, 104, 104,
    +
    39  104, 104, 103, 103, 103, 103, 103, 102, 102, 102, 102, 101, 101, 101, 101, 100,
    +
    40  100, 100, 100, 99, 99, 99, 99, 98, 98, 98, 98, 97, 97, 97, 97, 96, 96, 96, 96,
    +
    41  95, 95, 95, 95, 94, 94, 94, 94, 93, 93, 93, 92, 92, 92, 92, 91, 91, 91, 91, 90,
    +
    42  90, 90, 89, 89, 89, 89, 88, 88, 88, 87, 87, 87, 87, 86, 86, 86, 85, 85, 85, 85,
    +
    43  84, 84, 84, 83, 83, 83, 83, 82, 82, 82, 81, 81, 81, 80, 80, 80, 79, 79, 79, 79,
    +
    44  78, 78, 78, 77, 77, 77, 76, 76, 76, 75, 75, 75, 74, 74, 74, 74, 73, 73, 73, 72,
    +
    45  72, 72, 71, 71, 71, 70, 70, 70, 69, 69, 69, 68, 68, 68, 67, 67, 67, 66, 66, 66,
    +
    46  65, 65, 65, 64, 64, 64, 63, 63, 63, 62, 62, 62, 61, 61, 61, 60, 60, 60, 59, 59,
    +
    47  58, 58, 58, 57, 57, 57, 56, 56, 56, 55, 55, 55, 54, 54, 54, 53, 53, 52, 52, 52,
    +
    48  51, 51, 51, 50, 50, 50, 49, 49, 48, 48, 48, 47, 47, 47, 46, 46, 46, 45, 45, 44,
    +
    49  44, 44, 43, 43, 43, 42, 42, 42, 41, 41, 40, 40, 40, 39, 39, 39, 38, 38, 37, 37,
    +
    50  37, 36, 36, 36, 35, 35, 34, 34, 34, 34, 33, 33, 32, 32, 31, 31, 31, 30, 30, 29,
    +
    51  29, 29, 28, 28, 28, 27, 27, 26, 26, 26, 25, 25, 24, 24, 24, 23, 23, 23, 22, 22,
    +
    52  21, 21, 21, 20, 20, 19, 19, 19, 18, 18, 18, 17, 17, 16, 16, 16, 15, 15, 14, 14,
    +
    53  14, 13, 13, 12, 12, 12, 11, 11, 10, 10, 10, 9, 9, 9, 8, 8, 7, 7, 7, 6, 6, 5, 5,
    +
    54  5, 4, 4, 3, 3, 3, 2, 2, 1, 1, 1, 0, 0, 0, -1, -1, -2, -2, -2, -3, -3, -4, -4,
    +
    55  -4, -5, -5, -6, -6, -6, -7, -7, -8, -8, -8, -9, -9, -10, -10, -10, -11, -11,
    +
    56  -11, -12, -12, -13, -13, -13, -14, -14, -15, -15, -15, -16, -16, -17, -17, -17,
    +
    57  -18, -18, -18, -19, -19, -20, -20, -20, -21, -21, -22, -22, -22, -23, -23, -24,
    +
    58  -24, -24, -25, -25, -25, -26, -26, -27, -27, -27, -28, -28, -29, -29, -29, -30,
    +
    59  -30, -30, -31, -31, -32, -32, -32, -33, -33, -34, -34, -34, -35, -35, -35, -36,
    +
    60  -36, -37, -37, -37, -38, -38, -38, -39, -39, -40, -40, -40, -41, -41, -41, -42,
    +
    61  -42, -43, -43, -43, -44, -44, -44, -45, -45, -45, -46, -46, -47, -47, -47, -48,
    +
    62  -48, -48, -49, -49, -49, -50, -50, -51, -51, -51, -52, -52, -52, -53, -53, -53,
    +
    63  -54, -54, -55, -55, -55, -56, -56, -56, -57, -57, -57, -58, -58, -58, -59, -59,
    +
    64  -59, -60, -60, -60, -61, -61, -62, -62, -62, -63, -63, -63, -64, -64, -64, -65,
    +
    65  -65, -65, -66, -66, -66, -67, -67, -67, -68, -68, -68, -69, -69, -69, -70, -70,
    +
    66  -70, -71, -71, -71, -72, -72, -72, -73, -73, -73, -74, -74, -74, -75, -75, -75,
    +
    67  -75, -76, -76, -76, -77, -77, -77, -78, -78, -78, -79, -79, -79, -80, -80, -80,
    +
    68  -80, -81, -81, -81, -82, -82, -82, -83, -83, -83, -84, -84, -84, -84, -85, -85,
    +
    69  -85, -86, -86, -86, -86, -87, -87, -87, -88, -88, -88, -88, -89, -89, -89, -90,
    +
    70  -90, -90, -90, -91, -91, -91, -92, -92, -92, -92, -93, -93, -93, -93, -94, -94,
    +
    71  -94, -95, -95, -95, -95, -96, -96, -96, -96, -97, -97, -97, -97, -98, -98, -98,
    +
    72  -98, -99, -99, -99, -99, -100, -100, -100, -100, -101, -101, -101, -101, -102,
    +
    73  -102, -102, -102, -103, -103, -103, -103, -104, -104, -104, -104, -104, -105,
    +
    74  -105, -105, -105, -106, -106, -106, -106, -106, -107, -107, -107, -107, -108,
    +
    75  -108, -108, -108, -108, -109, -109, -109, -109, -109, -110, -110, -110, -110,
    +
    76  -110, -111, -111, -111, -111, -111, -112, -112, -112, -112, -112, -113, -113,
    +
    77  -113, -113, -113, -114, -114, -114, -114, -114, -114, -115, -115, -115, -115,
    +
    78  -115, -116, -116, -116, -116, -116, -116, -117, -117, -117, -117, -117, -117,
    +
    79  -118, -118, -118, -118, -118, -118, -118, -119, -119, -119, -119, -119, -119,
    +
    80  -119, -120, -120, -120, -120, -120, -120, -120, -121, -121, -121, -121, -121,
    +
    81  -121, -121, -122, -122, -122, -122, -122, -122, -122, -122, -123, -123, -123,
    +
    82  -123, -123, -123, -123, -123, -123, -124, -124, -124, -124, -124, -124, -124,
    +
    83  -124, -124, -124, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +
    84  -125, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +
    85  -126, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +
    86  -127, -127, -127, -127, -127, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    87  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    88  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    89  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    90  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    91  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    92  -128, -128, -128, -128, -128, -128, -128, -128, -127, -127, -127, -127, -127,
    +
    93  -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -126,
    +
    94  -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -125,
    +
    95  -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -124, -124, -124,
    +
    96  -124, -124, -124, -124, -124, -124, -124, -123, -123, -123, -123, -123, -123,
    +
    97  -123, -123, -123, -122, -122, -122, -122, -122, -122, -122, -122, -121, -121,
    +
    98  -121, -121, -121, -121, -121, -120, -120, -120, -120, -120, -120, -120, -120,
    +
    99  -119, -119, -119, -119, -119, -119, -118, -118, -118, -118, -118, -118, -118,
    +
    100  -117, -117, -117, -117, -117, -117, -116, -116, -116, -116, -116, -116, -115,
    +
    101  -115, -115, -115, -115, -114, -114, -114, -114, -114, -114, -113, -113, -113,
    +
    102  -113, -113, -112, -112, -112, -112, -112, -111, -111, -111, -111, -111, -110,
    +
    103  -110, -110, -110, -110, -109, -109, -109, -109, -109, -108, -108, -108, -108,
    +
    104  -108, -107, -107, -107, -107, -106, -106, -106, -106, -106, -105, -105, -105,
    +
    105  -105, -104, -104, -104, -104, -104, -103, -103, -103, -103, -102, -102, -102,
    +
    106  -102, -101, -101, -101, -101, -100, -100, -100, -100, -99, -99, -99, -99, -98,
    +
    107  -98, -98, -98, -97, -97, -97, -97, -96, -96, -96, -96, -95, -95, -95, -95, -94,
    +
    108  -94, -94, -93, -93, -93, -93, -92, -92, -92, -92, -91, -91, -91, -90, -90, -90,
    +
    109  -90, -89, -89, -89, -88, -88, -88, -88, -87, -87, -87, -86, -86, -86, -86, -85,
    +
    110  -85, -85, -84, -84, -84, -84, -83, -83, -83, -82, -82, -82, -81, -81, -81, -80,
    +
    111  -80, -80, -80, -79, -79, -79, -78, -78, -78, -77, -77, -77, -76, -76, -76, -75,
    +
    112  -75, -75, -75, -74, -74, -74, -73, -73, -73, -72, -72, -72, -71, -71, -71, -70,
    +
    113  -70, -70, -69, -69, -69, -68, -68, -68, -67, -67, -67, -66, -66, -66, -65, -65,
    +
    114  -65, -64, -64, -64, -63, -63, -63, -62, -62, -62, -61, -61, -60, -60, -60, -59,
    +
    115  -59, -59, -58, -58, -58, -57, -57, -57, -56, -56, -56, -55, -55, -55, -54, -54,
    +
    116  -53, -53, -53, -52, -52, -52, -51, -51, -51, -50, -50, -49, -49, -49, -48, -48,
    +
    117  -48, -47, -47, -47, -46, -46, -45, -45, -45, -44, -44, -44, -43, -43, -43, -42,
    +
    118  -42, -41, -41, -41, -40, -40, -40, -39, -39, -38, -38, -38, -37, -37, -37, -36,
    +
    119  -36, -35, -35, -35, -34, -34, -34, -33, -33, -32, -32, -32, -31, -31, -30, -30,
    +
    120  -30, -29, -29, -29, -28, -28, -27, -27, -27, -26, -26, -25, -25, -25, -24, -24,
    +
    121  -24, -23, -23, -22, -22, -22, -21, -21, -20, -20, -20, -19, -19, -19, -18, -18,
    +
    122  -17, -17, -17, -16, -16, -15, -15, -15, -14, -14, -13, -13, -13, -12, -12, -11,
    +
    123  -11, -11, -10, -10, -10, -9, -9, -8, -8, -8, -7, -7, -6, -6, -6, -5, -5, -4, -4,
    +
    124  -4, -3, -3, -2, -2, -2, -1, -1, 0, 0, 0, 1, 1, 1, 2, 2, 3, 3, 3, 4, 4, 5, 5, 5,
    +
    125  6, 6, 7, 7, 7, 8, 8, 9, 9, 9, 10, 10, 10, 11, 11, 12, 12, 12, 13, 13, 14, 14,
    +
    126  14, 15, 15, 16, 16, 16, 17, 17, 18, 18, 18, 19, 19, 19, 20, 20, 21, 21, 21, 22,
    +
    127  22, 23, 23, 23, 24, 24, 24, 25, 25, 26, 26, 26, 27, 27, 28, 28, 28, 29, 29, 29,
    +
    128  30, 30, 31, 31, 31, 32, 32, 32, 33, 33, 34, 34, 34, 35, 35, 36, 36, 36, 37, 37,
    +
    129  37, 38, 38, 39, 39, 39, 40, 40, 40, 41, 41, 42, 42, 42, 43, 43, 43, 44, 44, 44,
    +
    130  45, 45, 46, 46, 46, 47, 47, 47, 48, 48, 48, 49, 49, 50, 50, 50, 51, 51, 51, 52,
    +
    131  52, 52, 53, 53, 54, 54, 54, 55, 55, 55, 56, 56, 56, 57, 57, 57, 58, 58, 58, 59,
    +
    132  59, 59, 60, 60, 61, 61, 61, 62, 62, 62, 63, 63, 63, 64, 64, 64, 65, 65, 65, 66,
    +
    133  66, 66, 67, 67, 67, 68, 68, 68, 69, 69, 69, 70, 70, 70, 71, 71, 71, 72, 72, 72,
    +
    134  73, 73, 73, 74, 74, 74, 74, 75, 75, 75, 76, 76, 76, 77, 77, 77, 78, 78, 78, 79,
    +
    135  79, 79, 79, 80, 80, 80, 81, 81, 81, 82, 82, 82, 83, 83, 83, 83, 84, 84, 84, 85,
    +
    136  85, 85, 85, 86, 86, 86, 87, 87, 87, 87, 88, 88, 88, 89, 89, 89, 89, 90, 90, 90,
    +
    137  91, 91, 91, 91, 92, 92, 92, 92, 93, 93, 93, 94, 94, 94, 94, 95, 95, 95, 95, 96,
    +
    138  96, 96, 96, 97, 97, 97, 97, 98, 98, 98, 98, 99, 99, 99, 99, 100, 100, 100, 100,
    +
    139  101, 101, 101, 101, 102, 102, 102, 102, 103, 103, 103, 103, 103, 104, 104, 104,
    +
    140  104, 105, 105, 105, 105, 106, 106, 106, 106, 106, 107, 107, 107, 107, 107, 108,
    +
    141  108, 108, 108, 108, 109, 109, 109, 109, 110, 110, 110, 110, 110, 110, 111, 111,
    +
    142  111, 111, 111, 112, 112, 112, 112, 112, 113, 113, 113, 113, 113, 113, 114, 114,
    +
    143  114, 114, 114, 115, 115, 115, 115, 115, 115, 116, 116, 116, 116, 116, 116, 117,
    +
    144  117, 117, 117, 117, 117, 117, 118, 118, 118, 118, 118, 118, 118, 119, 119, 119,
    +
    145  119, 119, 119, 119, 120, 120, 120, 120, 120, 120, 120, 121, 121, 121, 121, 121,
    +
    146  121, 121, 121, 122, 122, 122, 122, 122, 122, 122, 122, 122, 123, 123, 123, 123,
    +
    147  123, 123, 123, 123, 123, 123, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
    +
    148  124, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 126, 126,
    +
    149  126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 127,
    +
    150  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    151  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    152  127, 127, 127, 127, 127, 127,
    +
    153  };
    +
    154 
    +
    155 #endif /* COSPHASE2048_H_ */
    +
    +

    + + diff --git a/doc/html/cosphase256__int8_8h_source.html b/doc/html/cosphase256__int8_8h_source.html index ac1a887de..30f61d1c5 100644 --- a/doc/html/cosphase256__int8_8h_source.html +++ b/doc/html/cosphase256__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: tables/cosphase256_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,55 +99,57 @@
    -
    tables/cosphase256_int8.h
    +
    cosphase256_int8.h
    -
    00001 #ifndef COSPHASE256_H_
    -00002 #define COSPHASE256_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 /* cos out-of-phase
    -00012 */
    -00013 
    -00014 #define COSPHASE256_NUM_CELLS 256
    -00015 #define COSPHASE256_SAMPLERATE 256
    -00016 
    -00017 const char __attribute__((progmem)) COSPHASE256_DATA []  =
    -00018         {
    -00019                 127, 127, 127, 127, 127, 127, 127,
    -00020                 126, 126, 125, 124, 124, 123, 122, 121, 120, 119, 118, 117, 115, 114, 112, 111,
    -00021                 109, 108, 106, 104, 102, 100, 98, 96, 94, 92, 90, 88, 85, 83, 81, 78, 76, 73,
    -00022                 71, 68, 65, 63, 60, 57, 54, 51, 48, 46, 43, 40, 37, 34, 31, 28, 24, 21, 18, 15,
    -00023                 12, 9, 6, 3, -1, -4, -7, -10, -13, -16, -19, -22, -25, -29, -32, -35, -38, -41,
    -00024                 -44, -47, -49, -52, -55, -58, -61, -64, -66, -69, -72, -74, -77, -79, -82, -84,
    -00025                 -86, -89, -91, -93, -95, -97, -99, -101, -103, -105, -107, -109, -110, -112,
    -00026                 -113, -115, -116, -118, -119, -120, -121, -122, -123, -124, -125, -125, -126,
    -00027                 -127, -127, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00028                 -127, -127, -126, -125, -125, -124, -123, -122, -121, -120, -119, -118, -116,
    -00029                 -115, -113, -112, -110, -109, -107, -105, -103, -101, -99, -97, -95, -93, -91,
    -00030                 -89, -86, -84, -82, -79, -77, -74, -72, -69, -66, -64, -61, -58, -55, -52, -49,
    -00031                 -47, -44, -41, -38, -35, -32, -29, -25, -22, -19, -16, -13, -10, -7, -4, -1, 3,
    -00032                 6, 9, 12, 15, 18, 21, 24, 28, 31, 34, 37, 40, 43, 46, 48, 51, 54, 57, 60, 63,
    -00033                 65, 68, 71, 73, 76, 78, 81, 83, 85, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106,
    -00034                 108, 109, 111, 112, 114, 115, 117, 118, 119, 120, 121, 122, 123, 124, 124, 125,
    -00035                 126, 126, 127, 127, 127, 127,
    -00036         };
    -00037 
    -00038 #endif /* COSPHASE256_H_ */
    -
    - - - - +
    1 #ifndef COSPHASE256_H_
    +
    2 #define COSPHASE256_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 /* cos out-of-phase
    +
    12 */
    +
    13 
    +
    14 #define COSPHASE256_NUM_CELLS 256
    +
    15 #define COSPHASE256_SAMPLERATE 256
    +
    16 
    +
    17 const char __attribute__((progmem)) COSPHASE256_DATA [] =
    +
    18  {
    +
    19  127, 127, 127, 127, 127, 127, 127,
    +
    20  126, 126, 125, 124, 124, 123, 122, 121, 120, 119, 118, 117, 115, 114, 112, 111,
    +
    21  109, 108, 106, 104, 102, 100, 98, 96, 94, 92, 90, 88, 85, 83, 81, 78, 76, 73,
    +
    22  71, 68, 65, 63, 60, 57, 54, 51, 48, 46, 43, 40, 37, 34, 31, 28, 24, 21, 18, 15,
    +
    23  12, 9, 6, 3, -1, -4, -7, -10, -13, -16, -19, -22, -25, -29, -32, -35, -38, -41,
    +
    24  -44, -47, -49, -52, -55, -58, -61, -64, -66, -69, -72, -74, -77, -79, -82, -84,
    +
    25  -86, -89, -91, -93, -95, -97, -99, -101, -103, -105, -107, -109, -110, -112,
    +
    26  -113, -115, -116, -118, -119, -120, -121, -122, -123, -124, -125, -125, -126,
    +
    27  -127, -127, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    28  -127, -127, -126, -125, -125, -124, -123, -122, -121, -120, -119, -118, -116,
    +
    29  -115, -113, -112, -110, -109, -107, -105, -103, -101, -99, -97, -95, -93, -91,
    +
    30  -89, -86, -84, -82, -79, -77, -74, -72, -69, -66, -64, -61, -58, -55, -52, -49,
    +
    31  -47, -44, -41, -38, -35, -32, -29, -25, -22, -19, -16, -13, -10, -7, -4, -1, 3,
    +
    32  6, 9, 12, 15, 18, 21, 24, 28, 31, 34, 37, 40, 43, 46, 48, 51, 54, 57, 60, 63,
    +
    33  65, 68, 71, 73, 76, 78, 81, 83, 85, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106,
    +
    34  108, 109, 111, 112, 114, 115, 117, 118, 119, 120, 121, 122, 123, 124, 124, 125,
    +
    35  126, 126, 127, 127, 127, 127,
    +
    36  };
    +
    37 
    +
    38 #endif /* COSPHASE256_H_ */
    +
    +

    + + diff --git a/doc/html/cosphase8192__int8_8h_source.html b/doc/html/cosphase8192__int8_8h_source.html index 6b295ebe6..eae91f008 100644 --- a/doc/html/cosphase8192__int8_8h_source.html +++ b/doc/html/cosphase8192__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: tables/cosphase8192_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,542 +99,544 @@
    -
    tables/cosphase8192_int8.h
    +
    cosphase8192_int8.h
    -
    00001 #ifndef COSPHASE8192_H_
    -00002 #define COSPHASE8192_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 /* cos out-of-phase
    -00012 */
    -00013 
    -00014 #define COSPHASE8192_NUM_CELLS 8192
    -00015 #define COSPHASE8192_SAMPLERATE 8192
    -00016 
    -00017 const char __attribute__((progmem)) COSPHASE8192_DATA []  =
    -00018         {
    -00019                                                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00020 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00021 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00022 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00023 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00024 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00025 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00026 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00027 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00028 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00029 127, 127, 127, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    -00030 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    -00031 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    -00032 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    -00033 126, 126, 126, 126, 126, 126, 126, 126, 125, 125, 125, 125, 125, 125, 125, 125,
    -00034 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    -00035 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    -00036 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 124, 124, 124, 124, 124,
    -00037 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
    -00038 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
    -00039 124, 124, 124, 124, 124, 124, 124, 123, 123, 123, 123, 123, 123, 123, 123, 123,
    -00040 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
    -00041 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 122, 122,
    -00042 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
    -00043 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
    -00044 122, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
    -00045 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
    -00046 121, 121, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
    -00047 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
    -00048 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
    -00049 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 118, 118, 118,
    -00050 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
    -00051 118, 118, 118, 118, 118, 118, 118, 118, 117, 117, 117, 117, 117, 117, 117, 117,
    -00052 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
    -00053 117, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
    -00054 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 115, 115, 115, 115, 115, 115,
    -00055 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
    -00056 115, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
    -00057 114, 114, 114, 114, 114, 114, 114, 114, 113, 113, 113, 113, 113, 113, 113, 113,
    -00058 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 112, 112,
    -00059 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112,
    -00060 112, 112, 112, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
    -00061 111, 111, 111, 111, 111, 111, 111, 111, 110, 110, 110, 110, 110, 110, 110, 110,
    -00062 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 109, 109, 109,
    -00063 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
    -00064 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
    -00065 108, 108, 108, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
    -00066 107, 107, 107, 107, 107, 107, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
    -00067 106, 106, 106, 106, 106, 106, 106, 106, 105, 105, 105, 105, 105, 105, 105, 105,
    -00068 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 104, 104, 104, 104, 104, 104,
    -00069 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 103, 103, 103, 103,
    -00070 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 102, 102, 102,
    -00071 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 101, 101,
    -00072 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 100,
    -00073 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
    -00074 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 98, 98, 98, 98,
    -00075 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 97, 97, 97, 97, 97, 97, 97, 97, 97,
    -00076 97, 97, 97, 97, 97, 97, 97, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
    -00077 96, 96, 96, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 94, 94,
    -00078 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 93, 93, 93, 93, 93, 93, 93,
    -00079 93, 93, 93, 93, 93, 93, 93, 93, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
    -00080 92, 92, 92, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 90, 90, 90,
    -00081 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 89, 89, 89, 89, 89, 89, 89, 89,
    -00082 89, 89, 89, 89, 89, 89, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
    -00083 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 86, 86, 86, 86, 86, 86,
    -00084 86, 86, 86, 86, 86, 86, 86, 86, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
    -00085 85, 85, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 83, 83, 83, 83, 83,
    -00086 83, 83, 83, 83, 83, 83, 83, 83, 83, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
    -00087 82, 82, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 80, 80, 80, 80, 80,
    -00088 80, 80, 80, 80, 80, 80, 80, 80, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79,
    -00089 79, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 77, 77, 77, 77, 77, 77,
    -00090 77, 77, 77, 77, 77, 77, 77, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
    -00091 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 74, 74, 74, 74, 74, 74, 74, 74,
    -00092 74, 74, 74, 74, 74, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 72, 72, 72,
    -00093 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
    -00094 71, 71, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 69, 69, 69, 69, 69, 69,
    -00095 69, 69, 69, 69, 69, 69, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 67, 67,
    -00096 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
    -00097 66, 66, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 64, 64, 64, 64, 64, 64,
    -00098 64, 64, 64, 64, 64, 64, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 62, 62,
    -00099 62, 62, 62, 62, 62, 62, 62, 62, 62, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
    -00100 61, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 59, 59, 59, 59, 59, 59, 59, 59,
    -00101 59, 59, 59, 59, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 57, 57, 57, 57,
    -00102 57, 57, 57, 57, 57, 57, 57, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 55, 55,
    -00103 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
    -00104 54, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 52, 52, 52, 52, 52, 52, 52, 52,
    -00105 52, 52, 52, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 50, 50, 50, 50, 50, 50,
    -00106 50, 50, 50, 50, 50, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 48, 48, 48, 48,
    -00107 48, 48, 48, 48, 48, 48, 48, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 46, 46,
    -00108 46, 46, 46, 46, 46, 46, 46, 46, 46, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
    -00109 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 43, 43, 43, 43, 43, 43, 43, 43, 43,
    -00110 43, 43, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 41, 41, 41, 41, 41, 41, 41,
    -00111 41, 41, 41, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 39, 39, 39, 39, 39, 39,
    -00112 39, 39, 39, 39, 39, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 37, 37, 37, 37,
    -00113 37, 37, 37, 37, 37, 37, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 35, 35, 35,
    -00114 35, 35, 35, 35, 35, 35, 35, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 33, 33,
    -00115 32, 33, 33, 34, 33, 33, 32, 33, 33, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 31,
    -00116 31, 31, 31, 31, 31, 31, 31, 31, 31, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
    -00117 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
    -00118 28, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 26, 26, 26, 26, 26, 26, 26, 26, 26,
    -00119 26, 26, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 24, 24, 24, 24, 24, 24, 24, 24,
    -00120 24, 24, 24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 22, 22, 22, 22, 22, 22, 22,
    -00121 22, 22, 22, 22, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 20, 20, 20, 20, 20, 20,
    -00122 20, 20, 20, 20, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 18, 18, 18, 18, 18, 18,
    -00123 18, 18, 18, 18, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 16, 16, 16, 16, 16,
    -00124 16, 16, 16, 16, 16, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 14, 14, 14, 14, 14,
    -00125 14, 14, 14, 14, 14, 14, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 12, 12, 12, 12,
    -00126 12, 12, 12, 12, 12, 12, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 10, 10, 10, 10,
    -00127 10, 10, 10, 10, 10, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 8, 8, 8, 8, 8, 8, 8,
    -00128 8, 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5,
    -00129 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2,
    -00130 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
    -00131 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -2, -2, -2, -2, -2, -2, -2, -2,
    -00132 -2, -2, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -4, -4, -4, -4, -4, -4, -4, -4,
    -00133 -4, -4, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -6, -6, -6, -6, -6, -6, -6,
    -00134 -6, -6, -6, -7, -7, -7, -7, -7, -7, -7, -7, -7, -7, -8, -8, -8, -8, -8, -8, -8,
    -00135 -8, -8, -8, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -10, -10, -10, -10, -10,
    -00136 -10, -10, -10, -10, -10, -10, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
    -00137 -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -13, -13, -13, -13, -13, -13,
    -00138 -13, -13, -13, -13, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -15, -15,
    -00139 -15, -15, -15, -15, -15, -15, -15, -15, -15, -16, -16, -16, -16, -16, -16, -16,
    -00140 -16, -16, -16, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -18, -18, -18,
    -00141 -18, -18, -18, -18, -18, -18, -18, -19, -19, -19, -19, -19, -19, -19, -19, -19,
    -00142 -19, -19, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -21, -21, -21, -21,
    -00143 -21, -21, -21, -21, -21, -21, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22,
    -00144 -22, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -24, -24, -24, -24, -24,
    -00145 -24, -24, -24, -24, -24, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
    -00146 -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -27, -27, -27, -27, -27, -27,
    -00147 -27, -27, -27, -27, -27, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -29,
    -00148 -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -30, -30, -30, -30, -30, -30,
    -00149 -30, -30, -30, -30, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -32, -32,
    -00150 -32, -32, -32, -32, -32, -32, -32, -32, -32, -33, -33, -33, -33, -33, -33, -33,
    -00151 -33, -33, -33, -33, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -35, -35,
    -00152 -35, -35, -35, -35, -35, -35, -35, -35, -35, -36, -36, -36, -36, -36, -36, -36,
    -00153 -36, -36, -36, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -38, -38,
    -00154 -38, -38, -38, -38, -38, -38, -38, -38, -38, -39, -39, -39, -39, -39, -39, -39,
    -00155 -39, -39, -39, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -41, -41,
    -00156 -41, -41, -41, -41, -41, -41, -41, -41, -41, -42, -42, -42, -42, -42, -42, -42,
    -00157 -42, -42, -42, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -44, -44,
    -00158 -44, -44, -44, -44, -44, -44, -44, -44, -44, -45, -45, -45, -45, -45, -45, -45,
    -00159 -45, -45, -45, -45, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -47,
    -00160 -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -48, -48, -48, -48, -48, -48,
    -00161 -48, -48, -48, -48, -48, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
    -00162 -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -51, -51, -51, -51, -51,
    -00163 -51, -51, -51, -51, -51, -51, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52,
    -00164 -52, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -54, -54, -54, -54,
    -00165 -54, -54, -54, -54, -54, -54, -54, -55, -55, -55, -55, -55, -55, -55, -55, -55,
    -00166 -55, -55, -55, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -57, -57,
    -00167 -57, -57, -57, -57, -57, -57, -57, -57, -57, -58, -58, -58, -58, -58, -58, -58,
    -00168 -58, -58, -58, -58, -58, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59,
    -00169 -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -61, -61, -61, -61,
    -00170 -61, -61, -61, -61, -61, -61, -61, -62, -62, -62, -62, -62, -62, -62, -62, -62,
    -00171 -62, -62, -62, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -64, -64,
    -00172 -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -65, -65, -65, -65, -65, -65,
    -00173 -65, -65, -65, -65, -65, -65, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66,
    -00174 -66, -66, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -68, -68,
    -00175 -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -69, -69, -69, -69, -69, -69,
    -00176 -69, -69, -69, -69, -69, -69, -70, -70, -70, -70, -70, -70, -70, -70, -70, -70,
    -00177 -70, -70, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -72, -72,
    -00178 -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -73, -73, -73, -73, -73,
    -00179 -73, -73, -73, -73, -73, -73, -73, -74, -74, -74, -74, -74, -74, -74, -74, -74,
    -00180 -74, -74, -74, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75,
    -00181 -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -77, -77, -77, -77,
    -00182 -77, -77, -77, -77, -77, -77, -77, -77, -77, -78, -78, -78, -78, -78, -78, -78,
    -00183 -78, -78, -78, -78, -78, -78, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79,
    -00184 -79, -79, -79, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
    -00185 -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -82, -82, -82,
    -00186 -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -83, -83, -83, -83, -83, -83,
    -00187 -83, -83, -83, -83, -83, -83, -83, -84, -84, -84, -84, -84, -84, -84, -84, -84,
    -00188 -84, -84, -84, -84, -84, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85,
    -00189 -85, -85, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86,
    -00190 -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -88, -88,
    -00191 -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -89, -89, -89, -89,
    -00192 -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -90, -90, -90, -90, -90, -90,
    -00193 -90, -90, -90, -90, -90, -90, -90, -90, -91, -91, -91, -91, -91, -91, -91, -91,
    -00194 -91, -91, -91, -91, -91, -91, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92,
    -00195 -92, -92, -92, -92, -92, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93,
    -00196 -93, -93, -93, -93, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94,
    -00197 -94, -94, -94, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95,
    -00198 -95, -95, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96,
    -00199 -96, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97,
    -00200 -97, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98,
    -00201 -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99,
    -00202 -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    -00203 -100, -100, -100, -100, -101, -101, -101, -101, -101, -101, -101, -101, -101,
    -00204 -101, -101, -101, -101, -101, -101, -101, -102, -102, -102, -102, -102, -102,
    -00205 -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -103, -103,
    -00206 -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    -00207 -103, -103, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    -00208 -104, -104, -104, -104, -104, -104, -105, -105, -105, -105, -105, -105, -105,
    -00209 -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -106, -106,
    -00210 -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    -00211 -106, -106, -106, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    -00212 -107, -107, -107, -107, -107, -107, -107, -107, -108, -108, -108, -108, -108,
    -00213 -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    -00214 -108, -109, -109, -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    -00215 -109, -109, -109, -109, -109, -109, -109, -110, -110, -110, -110, -110, -110,
    -00216 -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    -00217 -110, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    -00218 -111, -111, -111, -111, -111, -111, -111, -111, -112, -112, -112, -112, -112,
    -00219 -112, -112, -112, -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    -00220 -112, -112, -112, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    -00221 -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -114, -114,
    -00222 -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
    -00223 -114, -114, -114, -114, -114, -114, -114, -115, -115, -115, -115, -115, -115,
    -00224 -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    -00225 -115, -115, -115, -115, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    -00226 -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    -00227 -116, -116, -117, -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    -00228 -117, -117, -117, -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    -00229 -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    -00230 -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    -00231 -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    -00232 -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    -00233 -119, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    -00234 -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    -00235 -120, -120, -120, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
    -00236 -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
    -00237 -121, -121, -121, -121, -121, -121, -121, -122, -122, -122, -122, -122, -122,
    -00238 -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    -00239 -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    -00240 -122, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    -00241 -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    -00242 -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -124, -124, -124,
    -00243 -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    -00244 -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    -00245 -124, -124, -124, -124, -124, -124, -124, -124, -124, -125, -125, -125, -125,
    -00246 -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    -00247 -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    -00248 -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    -00249 -125, -125, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    -00250 -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    -00251 -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    -00252 -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    -00253 -126, -126, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    -00254 -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    -00255 -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    -00256 -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    -00257 -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    -00258 -127, -127, -127, -127, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00259 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00260 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00261 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00262 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00263 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00264 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00265 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00266 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00267 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00268 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00269 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00270 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00271 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00272 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00273 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00274 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00275 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00276 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00277 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00278 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00279 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00280 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00281 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00282 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00283 -128, -128, -128, -128, -128, -127, -127, -127, -127, -127, -127, -127, -127,
    -00284 -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    -00285 -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    -00286 -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    -00287 -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    -00288 -127, -127, -127, -127, -127, -127, -127, -127, -126, -126, -126, -126, -126,
    -00289 -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    -00290 -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    -00291 -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    -00292 -126, -126, -126, -126, -126, -126, -126, -126, -125, -125, -125, -125, -125,
    -00293 -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    -00294 -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    -00295 -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    -00296 -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    -00297 -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    -00298 -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    -00299 -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    -00300 -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    -00301 -123, -123, -123, -123, -123, -123, -123, -123, -123, -122, -122, -122, -122,
    -00302 -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    -00303 -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    -00304 -122, -122, -122, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
    -00305 -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
    -00306 -121, -121, -121, -121, -121, -121, -121, -120, -120, -120, -120, -120, -120,
    -00307 -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    -00308 -120, -120, -120, -120, -120, -120, -120, -120, -120, -119, -119, -119, -119,
    -00309 -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    -00310 -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -118, -118, -118,
    -00311 -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    -00312 -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, -117, -117, -117,
    -00313 -117, -117, -117, -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    -00314 -117, -117, -117, -117, -117, -117, -117, -117, -116, -116, -116, -116, -116,
    -00315 -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    -00316 -116, -116, -116, -116, -116, -116, -115, -115, -115, -115, -115, -115, -115,
    -00317 -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    -00318 -115, -115, -115, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
    -00319 -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -113,
    -00320 -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    -00321 -113, -113, -113, -113, -113, -113, -113, -113, -112, -112, -112, -112, -112,
    -00322 -112, -112, -112, -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    -00323 -112, -112, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    -00324 -111, -111, -111, -111, -111, -111, -111, -111, -111, -110, -110, -110, -110,
    -00325 -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    -00326 -110, -110, -110, -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    -00327 -109, -109, -109, -109, -109, -109, -109, -109, -109, -108, -108, -108, -108,
    -00328 -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    -00329 -108, -108, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    -00330 -107, -107, -107, -107, -107, -107, -107, -106, -106, -106, -106, -106, -106,
    -00331 -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -105,
    -00332 -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
    -00333 -105, -105, -105, -105, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    -00334 -104, -104, -104, -104, -104, -104, -104, -104, -103, -103, -103, -103, -103,
    -00335 -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -102,
    -00336 -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    -00337 -102, -102, -102, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
    -00338 -101, -101, -101, -101, -101, -101, -101, -100, -100, -100, -100, -100, -100,
    -00339 -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -99, -99, -99, -99,
    -00340 -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -98, -98, -98, -98,
    -00341 -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -97, -97, -97, -97, -97,
    -00342 -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -96, -96, -96, -96, -96,
    -00343 -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -95, -95, -95, -95, -95, -95,
    -00344 -95, -95, -95, -95, -95, -95, -95, -95, -95, -94, -94, -94, -94, -94, -94, -94,
    -00345 -94, -94, -94, -94, -94, -94, -94, -94, -93, -93, -93, -93, -93, -93, -93, -93,
    -00346 -93, -93, -93, -93, -93, -93, -93, -92, -92, -92, -92, -92, -92, -92, -92, -92,
    -00347 -92, -92, -92, -92, -92, -92, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91,
    -00348 -91, -91, -91, -91, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90,
    -00349 -90, -90, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
    -00350 -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -87, -87,
    -00351 -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -86, -86, -86, -86,
    -00352 -86, -86, -86, -86, -86, -86, -86, -86, -86, -85, -85, -85, -85, -85, -85, -85,
    -00353 -85, -85, -85, -85, -85, -85, -85, -84, -84, -84, -84, -84, -84, -84, -84, -84,
    -00354 -84, -84, -84, -84, -84, -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, -83,
    -00355 -83, -83, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -81,
    -00356 -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -80, -80, -80, -80,
    -00357 -80, -80, -80, -80, -80, -80, -80, -80, -80, -79, -79, -79, -79, -79, -79, -79,
    -00358 -79, -79, -79, -79, -79, -79, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78,
    -00359 -78, -78, -78, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77,
    -00360 -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -75, -75, -75, -75,
    -00361 -75, -75, -75, -75, -75, -75, -75, -75, -75, -74, -74, -74, -74, -74, -74, -74,
    -00362 -74, -74, -74, -74, -74, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73,
    -00363 -73, -73, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -71, -71,
    -00364 -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -70, -70, -70, -70, -70, -70,
    -00365 -70, -70, -70, -70, -70, -70, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69,
    -00366 -69, -69, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -67, -67,
    -00367 -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -66, -66, -66, -66, -66, -66,
    -00368 -66, -66, -66, -66, -66, -66, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65,
    -00369 -65, -65, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -63, -63, -63,
    -00370 -63, -63, -63, -63, -63, -63, -63, -63, -63, -62, -62, -62, -62, -62, -62, -62,
    -00371 -62, -62, -62, -62, -62, -61, -61, -61, -61, -61, -61, -61, -61, -61, -61, -61,
    -00372 -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -59, -59, -59, -59,
    -00373 -59, -59, -59, -59, -59, -59, -59, -58, -58, -58, -58, -58, -58, -58, -58, -58,
    -00374 -58, -58, -58, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -56, -56,
    -00375 -56, -56, -56, -56, -56, -56, -56, -56, -56, -55, -55, -55, -55, -55, -55, -55,
    -00376 -55, -55, -55, -55, -55, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54,
    -00377 -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -52, -52, -52, -52, -52,
    -00378 -52, -52, -52, -52, -52, -52, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51,
    -00379 -51, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -49, -49, -49, -49,
    -00380 -49, -49, -49, -49, -49, -49, -49, -48, -48, -48, -48, -48, -48, -48, -48, -48,
    -00381 -48, -48, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -46, -46, -46,
    -00382 -46, -46, -46, -46, -46, -46, -46, -46, -45, -45, -45, -45, -45, -45, -45, -45,
    -00383 -45, -45, -45, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -43, -43,
    -00384 -43, -43, -43, -43, -43, -43, -43, -43, -43, -42, -42, -42, -42, -42, -42, -42,
    -00385 -42, -42, -42, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -40, -40,
    -00386 -40, -40, -40, -40, -40, -40, -40, -40, -40, -39, -39, -39, -39, -39, -39, -39,
    -00387 -39, -39, -39, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -37, -37,
    -00388 -37, -37, -37, -37, -37, -37, -37, -37, -37, -36, -36, -36, -36, -36, -36, -36,
    -00389 -36, -36, -36, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -34, -34,
    -00390 -34, -34, -34, -34, -34, -34, -34, -34, -33, -33, -33, -33, -33, -33, -33, -33,
    -00391 -33, -33, -33, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -31, -31,
    -00392 -31, -31, -31, -31, -31, -31, -31, -31, -30, -30, -30, -30, -30, -30, -30, -30,
    -00393 -30, -30, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -28, -28, -28,
    -00394 -28, -28, -28, -28, -28, -28, -28, -27, -27, -27, -27, -27, -27, -27, -27, -27,
    -00395 -27, -27, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -25, -25, -25, -25,
    -00396 -25, -25, -25, -25, -25, -25, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24,
    -00397 -24, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -22, -22, -22, -22, -22,
    -00398 -22, -22, -22, -22, -22, -22, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21,
    -00399 -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -19, -19, -19, -19, -19, -19,
    -00400 -19, -19, -19, -19, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -17,
    -00401 -17, -17, -17, -17, -17, -17, -17, -17, -17, -16, -16, -16, -16, -16, -16, -16,
    -00402 -16, -16, -16, -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, -14, -14,
    -00403 -14, -14, -14, -14, -14, -14, -14, -14, -13, -13, -13, -13, -13, -13, -13, -13,
    -00404 -13, -13, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -11, -11, -11, -11,
    -00405 -11, -11, -11, -11, -11, -11, -11, -10, -10, -10, -10, -10, -10, -10, -10, -10,
    -00406 -10, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -8, -8, -8, -8, -8, -8, -8, -8, -8,
    -00407 -8, -7, -7, -7, -7, -7, -7, -7, -7, -7, -7, -6, -6, -6, -6, -6, -6, -6, -6, -6,
    -00408 -6, -6, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -4, -4, -4, -4, -4, -4, -4, -4,
    -00409 -4, -4, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -2, -2, -2, -2, -2, -2, -2, -2,
    -00410 -2, -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00411 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3,
    -00412 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6,
    -00413 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8,
    -00414 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11,
    -00415 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13,
    -00416 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
    -00417 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
    -00418 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18,
    -00419 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20,
    -00420 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22,
    -00421 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24,
    -00422 24, 24, 24, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 26, 26, 26, 26, 26, 26, 26,
    -00423 26, 26, 26, 26, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 28, 28, 28, 28, 28, 28,
    -00424 28, 28, 28, 28, 28, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 30, 30, 30, 30, 30,
    -00425 30, 30, 30, 30, 30, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 32, 32, 32, 32,
    -00426 32, 32, 32, 32, 32, 32, 33, 32, 33, 32, 33, 33, 34, 33, 33, 32, 33, 34, 34, 34,
    -00427 34, 34, 34, 34, 34, 34, 34, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 36, 36,
    -00428 36, 36, 36, 36, 36, 36, 36, 36, 36, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 38,
    -00429 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
    -00430 39, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 41, 41, 41, 41, 41, 41, 41, 41, 41,
    -00431 41, 41, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 43, 43, 43, 43, 43, 43, 43,
    -00432 43, 43, 43, 43, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 45, 45, 45, 45, 45,
    -00433 45, 45, 45, 45, 45, 45, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 47, 47, 47,
    -00434 47, 47, 47, 47, 47, 47, 47, 47, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 49,
    -00435 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
    -00436 50, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 52, 52, 52, 52, 52, 52, 52, 52,
    -00437 52, 52, 52, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 54, 54, 54, 54, 54, 54,
    -00438 54, 54, 54, 54, 54, 54, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 56, 56, 56,
    -00439 56, 56, 56, 56, 56, 56, 56, 56, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 58,
    -00440 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 59, 59, 59, 59, 59, 59, 59, 59, 59,
    -00441 59, 59, 59, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 61, 61, 61, 61, 61, 61,
    -00442 61, 61, 61, 61, 61, 61, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 63, 63, 63,
    -00443 63, 63, 63, 63, 63, 63, 63, 63, 63, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
    -00444 64, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 66, 66, 66, 66, 66, 66, 66,
    -00445 66, 66, 66, 66, 66, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 68, 68, 68,
    -00446 68, 68, 68, 68, 68, 68, 68, 68, 68, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
    -00447 69, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 71, 71, 71, 71, 71, 71, 71,
    -00448 71, 71, 71, 71, 71, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 73, 73,
    -00449 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
    -00450 74, 74, 74, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 76, 76, 76, 76, 76,
    -00451 76, 76, 76, 76, 76, 76, 76, 76, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77,
    -00452 77, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 79, 79, 79, 79, 79, 79,
    -00453 79, 79, 79, 79, 79, 79, 79, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
    -00454 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 82, 82, 82, 82, 82, 82, 82,
    -00455 82, 82, 82, 82, 82, 82, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
    -00456 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 85, 85, 85, 85, 85, 85, 85,
    -00457 85, 85, 85, 85, 85, 85, 85, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
    -00458 86, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 88, 88, 88, 88, 88,
    -00459 88, 88, 88, 88, 88, 88, 88, 88, 88, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
    -00460 89, 89, 89, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 91, 91,
    -00461 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 92, 92, 92, 92, 92, 92, 92, 92,
    -00462 92, 92, 92, 92, 92, 92, 92, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
    -00463 93, 93, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 95, 95, 95,
    -00464 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 96, 96, 96, 96, 96, 96, 96, 96,
    -00465 96, 96, 96, 96, 96, 96, 96, 96, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97,
    -00466 97, 97, 97, 97, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 99,
    -00467 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 100, 100, 100,
    -00468 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 101, 101, 101,
    -00469 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 102, 102,
    -00470 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 103,
    -00471 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
    -00472 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
    -00473 104, 104, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
    -00474 105, 105, 105, 105, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
    -00475 106, 106, 106, 106, 106, 106, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
    -00476 107, 107, 107, 107, 107, 107, 107, 107, 107, 108, 108, 108, 108, 108, 108, 108,
    -00477 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 109, 109, 109, 109,
    -00478 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
    -00479 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
    -00480 110, 110, 110, 110, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
    -00481 111, 111, 111, 111, 111, 111, 111, 111, 112, 112, 112, 112, 112, 112, 112, 112,
    -00482 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 113, 113,
    -00483 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
    -00484 113, 113, 113, 113, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
    -00485 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 115, 115, 115, 115, 115,
    -00486 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
    -00487 115, 115, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
    -00488 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 117, 117, 117, 117, 117,
    -00489 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
    -00490 117, 117, 117, 117, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
    -00491 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
    -00492 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
    -00493 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 120, 120, 120, 120,
    -00494 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
    -00495 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 121, 121, 121, 121, 121, 121,
    -00496 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
    -00497 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 122, 122, 122, 122, 122,
    -00498 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
    -00499 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 123, 123,
    -00500 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
    -00501 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
    -00502 123, 123, 123, 123, 123, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
    -00503 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
    -00504 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
    -00505 124, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    -00506 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    -00507 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    -00508 125, 125, 125, 126, 125, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    -00509 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    -00510 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    -00511 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    -00512 126, 126, 126, 126, 126, 126, 126, 126, 126, 127, 127, 127, 127, 127, 127, 127,
    -00513 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00514 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00515 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00516 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00517 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00518 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00519 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00520 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00521 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00522 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00523         };
    -00524 
    -00525 #endif /* COSPHASE8192_H_ */
    -
    - - - - +
    1 #ifndef COSPHASE8192_H_
    +
    2 #define COSPHASE8192_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 /* cos out-of-phase
    +
    12 */
    +
    13 
    +
    14 #define COSPHASE8192_NUM_CELLS 8192
    +
    15 #define COSPHASE8192_SAMPLERATE 8192
    +
    16 
    +
    17 const char __attribute__((progmem)) COSPHASE8192_DATA [] =
    +
    18  {
    +
    19  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    20 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    21 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    22 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    23 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    24 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    25 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    26 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    27 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    28 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    29 127, 127, 127, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    +
    30 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    +
    31 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    +
    32 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    +
    33 126, 126, 126, 126, 126, 126, 126, 126, 125, 125, 125, 125, 125, 125, 125, 125,
    +
    34 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    +
    35 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    +
    36 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 124, 124, 124, 124, 124,
    +
    37 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
    +
    38 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
    +
    39 124, 124, 124, 124, 124, 124, 124, 123, 123, 123, 123, 123, 123, 123, 123, 123,
    +
    40 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
    +
    41 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 122, 122,
    +
    42 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
    +
    43 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
    +
    44 122, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
    +
    45 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
    +
    46 121, 121, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
    +
    47 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
    +
    48 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
    +
    49 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 118, 118, 118,
    +
    50 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
    +
    51 118, 118, 118, 118, 118, 118, 118, 118, 117, 117, 117, 117, 117, 117, 117, 117,
    +
    52 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
    +
    53 117, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
    +
    54 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 115, 115, 115, 115, 115, 115,
    +
    55 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
    +
    56 115, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
    +
    57 114, 114, 114, 114, 114, 114, 114, 114, 113, 113, 113, 113, 113, 113, 113, 113,
    +
    58 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 112, 112,
    +
    59 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112,
    +
    60 112, 112, 112, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
    +
    61 111, 111, 111, 111, 111, 111, 111, 111, 110, 110, 110, 110, 110, 110, 110, 110,
    +
    62 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 109, 109, 109,
    +
    63 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
    +
    64 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
    +
    65 108, 108, 108, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
    +
    66 107, 107, 107, 107, 107, 107, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
    +
    67 106, 106, 106, 106, 106, 106, 106, 106, 105, 105, 105, 105, 105, 105, 105, 105,
    +
    68 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 104, 104, 104, 104, 104, 104,
    +
    69 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 103, 103, 103, 103,
    +
    70 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 102, 102, 102,
    +
    71 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 101, 101,
    +
    72 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 100,
    +
    73 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
    +
    74 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 98, 98, 98, 98,
    +
    75 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 97, 97, 97, 97, 97, 97, 97, 97, 97,
    +
    76 97, 97, 97, 97, 97, 97, 97, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
    +
    77 96, 96, 96, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 94, 94,
    +
    78 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 93, 93, 93, 93, 93, 93, 93,
    +
    79 93, 93, 93, 93, 93, 93, 93, 93, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
    +
    80 92, 92, 92, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 90, 90, 90,
    +
    81 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 89, 89, 89, 89, 89, 89, 89, 89,
    +
    82 89, 89, 89, 89, 89, 89, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
    +
    83 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 86, 86, 86, 86, 86, 86,
    +
    84 86, 86, 86, 86, 86, 86, 86, 86, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
    +
    85 85, 85, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 83, 83, 83, 83, 83,
    +
    86 83, 83, 83, 83, 83, 83, 83, 83, 83, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
    +
    87 82, 82, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 80, 80, 80, 80, 80,
    +
    88 80, 80, 80, 80, 80, 80, 80, 80, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79,
    +
    89 79, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 77, 77, 77, 77, 77, 77,
    +
    90 77, 77, 77, 77, 77, 77, 77, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
    +
    91 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 74, 74, 74, 74, 74, 74, 74, 74,
    +
    92 74, 74, 74, 74, 74, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 72, 72, 72,
    +
    93 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
    +
    94 71, 71, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 69, 69, 69, 69, 69, 69,
    +
    95 69, 69, 69, 69, 69, 69, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 67, 67,
    +
    96 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
    +
    97 66, 66, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 64, 64, 64, 64, 64, 64,
    +
    98 64, 64, 64, 64, 64, 64, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 62, 62,
    +
    99 62, 62, 62, 62, 62, 62, 62, 62, 62, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
    +
    100 61, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 59, 59, 59, 59, 59, 59, 59, 59,
    +
    101 59, 59, 59, 59, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 57, 57, 57, 57,
    +
    102 57, 57, 57, 57, 57, 57, 57, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 55, 55,
    +
    103 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
    +
    104 54, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 52, 52, 52, 52, 52, 52, 52, 52,
    +
    105 52, 52, 52, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 50, 50, 50, 50, 50, 50,
    +
    106 50, 50, 50, 50, 50, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 48, 48, 48, 48,
    +
    107 48, 48, 48, 48, 48, 48, 48, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 46, 46,
    +
    108 46, 46, 46, 46, 46, 46, 46, 46, 46, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
    +
    109 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 43, 43, 43, 43, 43, 43, 43, 43, 43,
    +
    110 43, 43, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 41, 41, 41, 41, 41, 41, 41,
    +
    111 41, 41, 41, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 39, 39, 39, 39, 39, 39,
    +
    112 39, 39, 39, 39, 39, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 37, 37, 37, 37,
    +
    113 37, 37, 37, 37, 37, 37, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 35, 35, 35,
    +
    114 35, 35, 35, 35, 35, 35, 35, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 33, 33,
    +
    115 32, 33, 33, 34, 33, 33, 32, 33, 33, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 31,
    +
    116 31, 31, 31, 31, 31, 31, 31, 31, 31, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
    +
    117 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
    +
    118 28, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 26, 26, 26, 26, 26, 26, 26, 26, 26,
    +
    119 26, 26, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 24, 24, 24, 24, 24, 24, 24, 24,
    +
    120 24, 24, 24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 22, 22, 22, 22, 22, 22, 22,
    +
    121 22, 22, 22, 22, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 20, 20, 20, 20, 20, 20,
    +
    122 20, 20, 20, 20, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 18, 18, 18, 18, 18, 18,
    +
    123 18, 18, 18, 18, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 16, 16, 16, 16, 16,
    +
    124 16, 16, 16, 16, 16, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 14, 14, 14, 14, 14,
    +
    125 14, 14, 14, 14, 14, 14, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 12, 12, 12, 12,
    +
    126 12, 12, 12, 12, 12, 12, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 10, 10, 10, 10,
    +
    127 10, 10, 10, 10, 10, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 8, 8, 8, 8, 8, 8, 8,
    +
    128 8, 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5,
    +
    129 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2,
    +
    130 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    131 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -2, -2, -2, -2, -2, -2, -2, -2,
    +
    132 -2, -2, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -4, -4, -4, -4, -4, -4, -4, -4,
    +
    133 -4, -4, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -6, -6, -6, -6, -6, -6, -6,
    +
    134 -6, -6, -6, -7, -7, -7, -7, -7, -7, -7, -7, -7, -7, -8, -8, -8, -8, -8, -8, -8,
    +
    135 -8, -8, -8, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -10, -10, -10, -10, -10,
    +
    136 -10, -10, -10, -10, -10, -10, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
    +
    137 -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -13, -13, -13, -13, -13, -13,
    +
    138 -13, -13, -13, -13, -14, -14, -14, -14, -14, -14, -14, -14, -14, -14, -15, -15,
    +
    139 -15, -15, -15, -15, -15, -15, -15, -15, -15, -16, -16, -16, -16, -16, -16, -16,
    +
    140 -16, -16, -16, -17, -17, -17, -17, -17, -17, -17, -17, -17, -17, -18, -18, -18,
    +
    141 -18, -18, -18, -18, -18, -18, -18, -19, -19, -19, -19, -19, -19, -19, -19, -19,
    +
    142 -19, -19, -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -21, -21, -21, -21,
    +
    143 -21, -21, -21, -21, -21, -21, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22,
    +
    144 -22, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -24, -24, -24, -24, -24,
    +
    145 -24, -24, -24, -24, -24, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
    +
    146 -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -27, -27, -27, -27, -27, -27,
    +
    147 -27, -27, -27, -27, -27, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28, -29,
    +
    148 -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -30, -30, -30, -30, -30, -30,
    +
    149 -30, -30, -30, -30, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31, -32, -32,
    +
    150 -32, -32, -32, -32, -32, -32, -32, -32, -32, -33, -33, -33, -33, -33, -33, -33,
    +
    151 -33, -33, -33, -33, -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -35, -35,
    +
    152 -35, -35, -35, -35, -35, -35, -35, -35, -35, -36, -36, -36, -36, -36, -36, -36,
    +
    153 -36, -36, -36, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -38, -38,
    +
    154 -38, -38, -38, -38, -38, -38, -38, -38, -38, -39, -39, -39, -39, -39, -39, -39,
    +
    155 -39, -39, -39, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -41, -41,
    +
    156 -41, -41, -41, -41, -41, -41, -41, -41, -41, -42, -42, -42, -42, -42, -42, -42,
    +
    157 -42, -42, -42, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -44, -44,
    +
    158 -44, -44, -44, -44, -44, -44, -44, -44, -44, -45, -45, -45, -45, -45, -45, -45,
    +
    159 -45, -45, -45, -45, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -47,
    +
    160 -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -48, -48, -48, -48, -48, -48,
    +
    161 -48, -48, -48, -48, -48, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
    +
    162 -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -51, -51, -51, -51, -51,
    +
    163 -51, -51, -51, -51, -51, -51, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52,
    +
    164 -52, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -54, -54, -54, -54,
    +
    165 -54, -54, -54, -54, -54, -54, -54, -55, -55, -55, -55, -55, -55, -55, -55, -55,
    +
    166 -55, -55, -55, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -57, -57,
    +
    167 -57, -57, -57, -57, -57, -57, -57, -57, -57, -58, -58, -58, -58, -58, -58, -58,
    +
    168 -58, -58, -58, -58, -58, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59,
    +
    169 -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -61, -61, -61, -61,
    +
    170 -61, -61, -61, -61, -61, -61, -61, -62, -62, -62, -62, -62, -62, -62, -62, -62,
    +
    171 -62, -62, -62, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -64, -64,
    +
    172 -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -65, -65, -65, -65, -65, -65,
    +
    173 -65, -65, -65, -65, -65, -65, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66,
    +
    174 -66, -66, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -68, -68,
    +
    175 -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -69, -69, -69, -69, -69, -69,
    +
    176 -69, -69, -69, -69, -69, -69, -70, -70, -70, -70, -70, -70, -70, -70, -70, -70,
    +
    177 -70, -70, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -72, -72,
    +
    178 -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -73, -73, -73, -73, -73,
    +
    179 -73, -73, -73, -73, -73, -73, -73, -74, -74, -74, -74, -74, -74, -74, -74, -74,
    +
    180 -74, -74, -74, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75,
    +
    181 -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -77, -77, -77, -77,
    +
    182 -77, -77, -77, -77, -77, -77, -77, -77, -77, -78, -78, -78, -78, -78, -78, -78,
    +
    183 -78, -78, -78, -78, -78, -78, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79,
    +
    184 -79, -79, -79, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
    +
    185 -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -82, -82, -82,
    +
    186 -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -83, -83, -83, -83, -83, -83,
    +
    187 -83, -83, -83, -83, -83, -83, -83, -84, -84, -84, -84, -84, -84, -84, -84, -84,
    +
    188 -84, -84, -84, -84, -84, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85,
    +
    189 -85, -85, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86,
    +
    190 -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -88, -88,
    +
    191 -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -89, -89, -89, -89,
    +
    192 -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -90, -90, -90, -90, -90, -90,
    +
    193 -90, -90, -90, -90, -90, -90, -90, -90, -91, -91, -91, -91, -91, -91, -91, -91,
    +
    194 -91, -91, -91, -91, -91, -91, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92,
    +
    195 -92, -92, -92, -92, -92, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93,
    +
    196 -93, -93, -93, -93, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94,
    +
    197 -94, -94, -94, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95,
    +
    198 -95, -95, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96,
    +
    199 -96, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97,
    +
    200 -97, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98,
    +
    201 -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99,
    +
    202 -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    +
    203 -100, -100, -100, -100, -101, -101, -101, -101, -101, -101, -101, -101, -101,
    +
    204 -101, -101, -101, -101, -101, -101, -101, -102, -102, -102, -102, -102, -102,
    +
    205 -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -103, -103,
    +
    206 -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    +
    207 -103, -103, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    +
    208 -104, -104, -104, -104, -104, -104, -105, -105, -105, -105, -105, -105, -105,
    +
    209 -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -106, -106,
    +
    210 -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    +
    211 -106, -106, -106, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    +
    212 -107, -107, -107, -107, -107, -107, -107, -107, -108, -108, -108, -108, -108,
    +
    213 -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    +
    214 -108, -109, -109, -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +
    215 -109, -109, -109, -109, -109, -109, -109, -110, -110, -110, -110, -110, -110,
    +
    216 -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    +
    217 -110, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +
    218 -111, -111, -111, -111, -111, -111, -111, -111, -112, -112, -112, -112, -112,
    +
    219 -112, -112, -112, -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    +
    220 -112, -112, -112, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +
    221 -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -114, -114,
    +
    222 -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
    +
    223 -114, -114, -114, -114, -114, -114, -114, -115, -115, -115, -115, -115, -115,
    +
    224 -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    +
    225 -115, -115, -115, -115, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +
    226 -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +
    227 -116, -116, -117, -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +
    228 -117, -117, -117, -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +
    229 -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +
    230 -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +
    231 -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +
    232 -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +
    233 -119, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +
    234 -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +
    235 -120, -120, -120, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
    +
    236 -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
    +
    237 -121, -121, -121, -121, -121, -121, -121, -122, -122, -122, -122, -122, -122,
    +
    238 -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    +
    239 -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    +
    240 -122, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +
    241 -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +
    242 -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -124, -124, -124,
    +
    243 -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +
    244 -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +
    245 -124, -124, -124, -124, -124, -124, -124, -124, -124, -125, -125, -125, -125,
    +
    246 -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +
    247 -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +
    248 -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +
    249 -125, -125, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +
    250 -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +
    251 -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +
    252 -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +
    253 -126, -126, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +
    254 -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +
    255 -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +
    256 -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +
    257 -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +
    258 -127, -127, -127, -127, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    259 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    260 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    261 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    262 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    263 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    264 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    265 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    266 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    267 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    268 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    269 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    270 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    271 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    272 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    273 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    274 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    275 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    276 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    277 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    278 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    279 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    280 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    281 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    282 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    283 -128, -128, -128, -128, -128, -127, -127, -127, -127, -127, -127, -127, -127,
    +
    284 -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +
    285 -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +
    286 -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +
    287 -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +
    288 -127, -127, -127, -127, -127, -127, -127, -127, -126, -126, -126, -126, -126,
    +
    289 -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +
    290 -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +
    291 -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +
    292 -126, -126, -126, -126, -126, -126, -126, -126, -125, -125, -125, -125, -125,
    +
    293 -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +
    294 -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +
    295 -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +
    296 -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +
    297 -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +
    298 -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +
    299 -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +
    300 -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +
    301 -123, -123, -123, -123, -123, -123, -123, -123, -123, -122, -122, -122, -122,
    +
    302 -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    +
    303 -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    +
    304 -122, -122, -122, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
    +
    305 -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
    +
    306 -121, -121, -121, -121, -121, -121, -121, -120, -120, -120, -120, -120, -120,
    +
    307 -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +
    308 -120, -120, -120, -120, -120, -120, -120, -120, -120, -119, -119, -119, -119,
    +
    309 -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +
    310 -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -118, -118, -118,
    +
    311 -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +
    312 -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, -117, -117, -117,
    +
    313 -117, -117, -117, -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +
    314 -117, -117, -117, -117, -117, -117, -117, -117, -116, -116, -116, -116, -116,
    +
    315 -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +
    316 -116, -116, -116, -116, -116, -116, -115, -115, -115, -115, -115, -115, -115,
    +
    317 -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    +
    318 -115, -115, -115, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
    +
    319 -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -113,
    +
    320 -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +
    321 -113, -113, -113, -113, -113, -113, -113, -113, -112, -112, -112, -112, -112,
    +
    322 -112, -112, -112, -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    +
    323 -112, -112, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +
    324 -111, -111, -111, -111, -111, -111, -111, -111, -111, -110, -110, -110, -110,
    +
    325 -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    +
    326 -110, -110, -110, -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +
    327 -109, -109, -109, -109, -109, -109, -109, -109, -109, -108, -108, -108, -108,
    +
    328 -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    +
    329 -108, -108, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    +
    330 -107, -107, -107, -107, -107, -107, -107, -106, -106, -106, -106, -106, -106,
    +
    331 -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -105,
    +
    332 -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
    +
    333 -105, -105, -105, -105, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    +
    334 -104, -104, -104, -104, -104, -104, -104, -104, -103, -103, -103, -103, -103,
    +
    335 -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -102,
    +
    336 -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    +
    337 -102, -102, -102, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
    +
    338 -101, -101, -101, -101, -101, -101, -101, -100, -100, -100, -100, -100, -100,
    +
    339 -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -99, -99, -99, -99,
    +
    340 -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -98, -98, -98, -98,
    +
    341 -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -97, -97, -97, -97, -97,
    +
    342 -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -96, -96, -96, -96, -96,
    +
    343 -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -95, -95, -95, -95, -95, -95,
    +
    344 -95, -95, -95, -95, -95, -95, -95, -95, -95, -94, -94, -94, -94, -94, -94, -94,
    +
    345 -94, -94, -94, -94, -94, -94, -94, -94, -93, -93, -93, -93, -93, -93, -93, -93,
    +
    346 -93, -93, -93, -93, -93, -93, -93, -92, -92, -92, -92, -92, -92, -92, -92, -92,
    +
    347 -92, -92, -92, -92, -92, -92, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91,
    +
    348 -91, -91, -91, -91, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90,
    +
    349 -90, -90, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
    +
    350 -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -88, -87, -87,
    +
    351 -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87, -86, -86, -86, -86,
    +
    352 -86, -86, -86, -86, -86, -86, -86, -86, -86, -85, -85, -85, -85, -85, -85, -85,
    +
    353 -85, -85, -85, -85, -85, -85, -85, -84, -84, -84, -84, -84, -84, -84, -84, -84,
    +
    354 -84, -84, -84, -84, -84, -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, -83,
    +
    355 -83, -83, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82, -81,
    +
    356 -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -80, -80, -80, -80,
    +
    357 -80, -80, -80, -80, -80, -80, -80, -80, -80, -79, -79, -79, -79, -79, -79, -79,
    +
    358 -79, -79, -79, -79, -79, -79, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78,
    +
    359 -78, -78, -78, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77,
    +
    360 -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -75, -75, -75, -75,
    +
    361 -75, -75, -75, -75, -75, -75, -75, -75, -75, -74, -74, -74, -74, -74, -74, -74,
    +
    362 -74, -74, -74, -74, -74, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73,
    +
    363 -73, -73, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -71, -71,
    +
    364 -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -70, -70, -70, -70, -70, -70,
    +
    365 -70, -70, -70, -70, -70, -70, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69,
    +
    366 -69, -69, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -67, -67,
    +
    367 -67, -67, -67, -67, -67, -67, -67, -67, -67, -67, -66, -66, -66, -66, -66, -66,
    +
    368 -66, -66, -66, -66, -66, -66, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65,
    +
    369 -65, -65, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -63, -63, -63,
    +
    370 -63, -63, -63, -63, -63, -63, -63, -63, -63, -62, -62, -62, -62, -62, -62, -62,
    +
    371 -62, -62, -62, -62, -62, -61, -61, -61, -61, -61, -61, -61, -61, -61, -61, -61,
    +
    372 -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -59, -59, -59, -59,
    +
    373 -59, -59, -59, -59, -59, -59, -59, -58, -58, -58, -58, -58, -58, -58, -58, -58,
    +
    374 -58, -58, -58, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -56, -56,
    +
    375 -56, -56, -56, -56, -56, -56, -56, -56, -56, -55, -55, -55, -55, -55, -55, -55,
    +
    376 -55, -55, -55, -55, -55, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54,
    +
    377 -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -52, -52, -52, -52, -52,
    +
    378 -52, -52, -52, -52, -52, -52, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51,
    +
    379 -51, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -49, -49, -49, -49,
    +
    380 -49, -49, -49, -49, -49, -49, -49, -48, -48, -48, -48, -48, -48, -48, -48, -48,
    +
    381 -48, -48, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -46, -46, -46,
    +
    382 -46, -46, -46, -46, -46, -46, -46, -46, -45, -45, -45, -45, -45, -45, -45, -45,
    +
    383 -45, -45, -45, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -43, -43,
    +
    384 -43, -43, -43, -43, -43, -43, -43, -43, -43, -42, -42, -42, -42, -42, -42, -42,
    +
    385 -42, -42, -42, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -40, -40,
    +
    386 -40, -40, -40, -40, -40, -40, -40, -40, -40, -39, -39, -39, -39, -39, -39, -39,
    +
    387 -39, -39, -39, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -37, -37,
    +
    388 -37, -37, -37, -37, -37, -37, -37, -37, -37, -36, -36, -36, -36, -36, -36, -36,
    +
    389 -36, -36, -36, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -34, -34,
    +
    390 -34, -34, -34, -34, -34, -34, -34, -34, -33, -33, -33, -33, -33, -33, -33, -33,
    +
    391 -33, -33, -33, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -32, -31, -31,
    +
    392 -31, -31, -31, -31, -31, -31, -31, -31, -30, -30, -30, -30, -30, -30, -30, -30,
    +
    393 -30, -30, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -29, -28, -28, -28,
    +
    394 -28, -28, -28, -28, -28, -28, -28, -27, -27, -27, -27, -27, -27, -27, -27, -27,
    +
    395 -27, -27, -26, -26, -26, -26, -26, -26, -26, -26, -26, -26, -25, -25, -25, -25,
    +
    396 -25, -25, -25, -25, -25, -25, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24,
    +
    397 -24, -23, -23, -23, -23, -23, -23, -23, -23, -23, -23, -22, -22, -22, -22, -22,
    +
    398 -22, -22, -22, -22, -22, -22, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21,
    +
    399 -20, -20, -20, -20, -20, -20, -20, -20, -20, -20, -19, -19, -19, -19, -19, -19,
    +
    400 -19, -19, -19, -19, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18, -17,
    +
    401 -17, -17, -17, -17, -17, -17, -17, -17, -17, -16, -16, -16, -16, -16, -16, -16,
    +
    402 -16, -16, -16, -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, -14, -14,
    +
    403 -14, -14, -14, -14, -14, -14, -14, -14, -13, -13, -13, -13, -13, -13, -13, -13,
    +
    404 -13, -13, -12, -12, -12, -12, -12, -12, -12, -12, -12, -12, -11, -11, -11, -11,
    +
    405 -11, -11, -11, -11, -11, -11, -11, -10, -10, -10, -10, -10, -10, -10, -10, -10,
    +
    406 -10, -9, -9, -9, -9, -9, -9, -9, -9, -9, -9, -8, -8, -8, -8, -8, -8, -8, -8, -8,
    +
    407 -8, -7, -7, -7, -7, -7, -7, -7, -7, -7, -7, -6, -6, -6, -6, -6, -6, -6, -6, -6,
    +
    408 -6, -6, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -4, -4, -4, -4, -4, -4, -4, -4,
    +
    409 -4, -4, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -2, -2, -2, -2, -2, -2, -2, -2,
    +
    410 -2, -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    411 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3,
    +
    412 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6,
    +
    413 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8,
    +
    414 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11,
    +
    415 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13,
    +
    416 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
    +
    417 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
    +
    418 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18,
    +
    419 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20,
    +
    420 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22,
    +
    421 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24,
    +
    422 24, 24, 24, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 26, 26, 26, 26, 26, 26, 26,
    +
    423 26, 26, 26, 26, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 28, 28, 28, 28, 28, 28,
    +
    424 28, 28, 28, 28, 28, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 30, 30, 30, 30, 30,
    +
    425 30, 30, 30, 30, 30, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 32, 32, 32, 32,
    +
    426 32, 32, 32, 32, 32, 32, 33, 32, 33, 32, 33, 33, 34, 33, 33, 32, 33, 34, 34, 34,
    +
    427 34, 34, 34, 34, 34, 34, 34, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 36, 36,
    +
    428 36, 36, 36, 36, 36, 36, 36, 36, 36, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 38,
    +
    429 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
    +
    430 39, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 41, 41, 41, 41, 41, 41, 41, 41, 41,
    +
    431 41, 41, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 43, 43, 43, 43, 43, 43, 43,
    +
    432 43, 43, 43, 43, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 45, 45, 45, 45, 45,
    +
    433 45, 45, 45, 45, 45, 45, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 47, 47, 47,
    +
    434 47, 47, 47, 47, 47, 47, 47, 47, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 49,
    +
    435 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
    +
    436 50, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 52, 52, 52, 52, 52, 52, 52, 52,
    +
    437 52, 52, 52, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 54, 54, 54, 54, 54, 54,
    +
    438 54, 54, 54, 54, 54, 54, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 56, 56, 56,
    +
    439 56, 56, 56, 56, 56, 56, 56, 56, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 58,
    +
    440 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 59, 59, 59, 59, 59, 59, 59, 59, 59,
    +
    441 59, 59, 59, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 61, 61, 61, 61, 61, 61,
    +
    442 61, 61, 61, 61, 61, 61, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 63, 63, 63,
    +
    443 63, 63, 63, 63, 63, 63, 63, 63, 63, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
    +
    444 64, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 66, 66, 66, 66, 66, 66, 66,
    +
    445 66, 66, 66, 66, 66, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 68, 68, 68,
    +
    446 68, 68, 68, 68, 68, 68, 68, 68, 68, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
    +
    447 69, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 71, 71, 71, 71, 71, 71, 71,
    +
    448 71, 71, 71, 71, 71, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 73, 73,
    +
    449 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
    +
    450 74, 74, 74, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 76, 76, 76, 76, 76,
    +
    451 76, 76, 76, 76, 76, 76, 76, 76, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77,
    +
    452 77, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 79, 79, 79, 79, 79, 79,
    +
    453 79, 79, 79, 79, 79, 79, 79, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
    +
    454 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 82, 82, 82, 82, 82, 82, 82,
    +
    455 82, 82, 82, 82, 82, 82, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
    +
    456 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 85, 85, 85, 85, 85, 85, 85,
    +
    457 85, 85, 85, 85, 85, 85, 85, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
    +
    458 86, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 88, 88, 88, 88, 88,
    +
    459 88, 88, 88, 88, 88, 88, 88, 88, 88, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
    +
    460 89, 89, 89, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 91, 91,
    +
    461 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 92, 92, 92, 92, 92, 92, 92, 92,
    +
    462 92, 92, 92, 92, 92, 92, 92, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
    +
    463 93, 93, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 95, 95, 95,
    +
    464 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 96, 96, 96, 96, 96, 96, 96, 96,
    +
    465 96, 96, 96, 96, 96, 96, 96, 96, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97,
    +
    466 97, 97, 97, 97, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 99,
    +
    467 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 100, 100, 100,
    +
    468 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 101, 101, 101,
    +
    469 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 102, 102,
    +
    470 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 103,
    +
    471 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
    +
    472 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
    +
    473 104, 104, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
    +
    474 105, 105, 105, 105, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
    +
    475 106, 106, 106, 106, 106, 106, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
    +
    476 107, 107, 107, 107, 107, 107, 107, 107, 107, 108, 108, 108, 108, 108, 108, 108,
    +
    477 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 109, 109, 109, 109,
    +
    478 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
    +
    479 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
    +
    480 110, 110, 110, 110, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
    +
    481 111, 111, 111, 111, 111, 111, 111, 111, 112, 112, 112, 112, 112, 112, 112, 112,
    +
    482 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 113, 113,
    +
    483 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
    +
    484 113, 113, 113, 113, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
    +
    485 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 115, 115, 115, 115, 115,
    +
    486 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
    +
    487 115, 115, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
    +
    488 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 117, 117, 117, 117, 117,
    +
    489 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
    +
    490 117, 117, 117, 117, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
    +
    491 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
    +
    492 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
    +
    493 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 120, 120, 120, 120,
    +
    494 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
    +
    495 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 121, 121, 121, 121, 121, 121,
    +
    496 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
    +
    497 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 122, 122, 122, 122, 122,
    +
    498 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
    +
    499 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 123, 123,
    +
    500 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
    +
    501 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
    +
    502 123, 123, 123, 123, 123, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
    +
    503 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
    +
    504 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
    +
    505 124, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    +
    506 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    +
    507 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    +
    508 125, 125, 125, 126, 125, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    +
    509 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    +
    510 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    +
    511 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    +
    512 126, 126, 126, 126, 126, 126, 126, 126, 126, 127, 127, 127, 127, 127, 127, 127,
    +
    513 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    514 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    515 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    516 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    517 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    518 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    519 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    520 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    521 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    522 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    523  };
    +
    524 
    +
    525 #endif /* COSPHASE8192_H_ */
    +
    +

    + + diff --git a/doc/html/dir_112f3ba1b16e25834edeb1f9f1ac63ae.html b/doc/html/dir_112f3ba1b16e25834edeb1f9f1ac63ae.html new file mode 100644 index 000000000..362c7749c --- /dev/null +++ b/doc/html/dir_112f3ba1b16e25834edeb1f9f1ac63ae.html @@ -0,0 +1,155 @@ + + + + + + +Mozzi: samples/bamboo Directory Reference + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    Mozzi +  alpha 0.01.2c +
    +
    sound synthesis library for Arduino
    +
    +
    + + + + +
    +
    + +
    +
    +
    + +
    + + + + +
    + +
    + +
    +
    +
    bamboo Directory Reference
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Files

    file  bamboo_00_2048_int8.h [code]
     
    file  bamboo_00_4096_int8.h [code]
     
    file  bamboo_01_2048_int8.h [code]
     
    file  bamboo_01_4096_int8.h [code]
     
    file  bamboo_02_2048_int8.h [code]
     
    file  bamboo_02_4096_int8.h [code]
     
    file  bamboo_03_2048_int8.h [code]
     
    file  bamboo_03_4096_int8.h [code]
     
    file  bamboo_04_2048_int8.h [code]
     
    file  bamboo_04_4096_int8.h [code]
     
    file  bamboo_05_2048_int8.h [code]
     
    file  bamboo_05_4096_int8.h [code]
     
    file  bamboo_06_2048_int8.h [code]
     
    file  bamboo_07_2048_int8.h [code]
     
    file  bamboo_08_2048_int8.h [code]
     
    file  bamboo_09_2048_int8.h [code]
     
    file  bamboo_10_2048_int8.h [code]
     
    +
    +
    + + + + diff --git a/doc/html/dir_6f9635d4fbfa321d4c00f29df5cd540c.html b/doc/html/dir_6f9635d4fbfa321d4c00f29df5cd540c.html new file mode 100644 index 000000000..0c3953bf5 --- /dev/null +++ b/doc/html/dir_6f9635d4fbfa321d4c00f29df5cd540c.html @@ -0,0 +1,130 @@ + + + + + + +Mozzi: samples Directory Reference + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    Mozzi +  alpha 0.01.2c +
    +
    sound synthesis library for Arduino
    +
    +
    + + + + +
    +
    + +
    +
    +
    + +
    + + + + +
    + +
    + +
    +
    +
    samples Directory Reference
    +
    +
    + + + + +

    +Directories

    directory  bamboo
     
    + + + + + +

    +Files

    file  abomb16384_int8.h [code]
     
    file  burroughs1_18649_int8.h [code]
     
    +
    +
    + + + + diff --git a/doc/html/dir_7837fde3ab9c1fb2fc5be7b717af8d79.html b/doc/html/dir_7837fde3ab9c1fb2fc5be7b717af8d79.html new file mode 100644 index 000000000..c6a5d0588 --- /dev/null +++ b/doc/html/dir_7837fde3ab9c1fb2fc5be7b717af8d79.html @@ -0,0 +1,141 @@ + + + + + + +Mozzi: python Directory Reference + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    Mozzi +  alpha 0.01.2c +
    +
    sound synthesis library for Arduino
    +
    +
    + + + + +
    +
    + +
    +
    +
    + +
    + + + + +
    + +
    + +
    +
    +
    python Directory Reference
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + +

    +Files

    file  char2mozzi-old.py [code]
     
    file  char2mozzi.py [code]
     
    file  chebyshev_int8.py [code]
     
    file  float2mozzi.py [code]
     
    file  float2mozzi_uint8.py [code]
     
    file  sin1024_int8.py [code]
     
    file  sin8192_uint8.py [code]
     
    file  sin_levels_int8.py [code]
     
    file  sin_multi_levels_int8.py [code]
     
    file  table_generator_template.py [code]
     
    +
    +
    + + + + diff --git a/doc/html/dir_9f351d46ce3cc29445a41dc3a31e6919.html b/doc/html/dir_9f351d46ce3cc29445a41dc3a31e6919.html new file mode 100644 index 000000000..bc5063921 --- /dev/null +++ b/doc/html/dir_9f351d46ce3cc29445a41dc3a31e6919.html @@ -0,0 +1,123 @@ + + + + + + +Mozzi: config Directory Reference + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    Mozzi +  alpha 0.01.2c +
    +
    sound synthesis library for Arduino
    +
    +
    + + + + +
    +
    + +
    +
    +
    + +
    + + + + +
    + +
    + +
    +
    +
    config Directory Reference
    +
    +
    + + + + +

    +Files

    file  known_16bit_timers.h [code]
     
    +
    +
    + + + + diff --git a/doc/html/dir_c14d9bf81a1758ecfa63ad49c7d2ec2e.html b/doc/html/dir_c14d9bf81a1758ecfa63ad49c7d2ec2e.html new file mode 100644 index 000000000..21a53b0f4 --- /dev/null +++ b/doc/html/dir_c14d9bf81a1758ecfa63ad49c7d2ec2e.html @@ -0,0 +1,237 @@ + + + + + + +Mozzi: tables Directory Reference + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    Mozzi +  alpha 0.01.2c +
    +
    sound synthesis library for Arduino
    +
    +
    + + + + +
    +
    + +
    +
    +
    + +
    + + + + +
    + +
    + +
    +
    +
    tables Directory Reference
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Files

    file  brownnoise8192_int8.h [code]
     
    file  chum78_int8.h [code]
     
    file  chum9_int8.h [code]
     
    file  cos1024_int8.h [code]
     
    file  cos2048_int8.h [code]
     
    file  cos256_int8.h [code]
     
    file  cos4096_int8.h [code]
     
    file  cos512_int8.h [code]
     
    file  cos8192_int8.h [code]
     
    file  cosphase2048_int8.h [code]
     
    file  cosphase256_int8.h [code]
     
    file  cosphase8192_int8.h [code]
     
    file  envelop2048_uint8.h [code]
     
    file  halfsin256_uint8.h [code]
     
    file  halfsinwindow512_uint8.h [code]
     
    file  horse_lips_8192_int8.h [code]
     
    file  noise_static_1_16384_int8.h [code]
     
    file  phasor256_int8.h [code]
     
    file  pinknoise8192_int8.h [code]
     
    file  saw1024_int8.h [code]
     
    file  saw2048_int8.h [code]
     
    file  saw256_int8.h [code]
     
    file  saw4096_int8.h [code]
     
    file  saw512_int8.h [code]
     
    file  saw8192_int8.h [code]
     
    file  saw_analogue512_int8.h [code]
     
    file  sin1024_int8.h [code]
     
    file  sin1024_uint8.h [code]
     
    file  sin2048_int8.h [code]
     
    file  sin256_int8.h [code]
     
    file  sin4096_int8.h [code]
     
    file  sin512_int8.h [code]
     
    file  sin8192_int8.h [code]
     
    file  sin8192_uint8.h [code]
     
    file  smoothsquare8192_int8.h [code]
     
    file  square_analogue512_int8.h [code]
     
    file  square_no_alias512_int8.h [code]
     
    file  triangle1024_int8.h [code]
     
    file  triangle2048_int8.h [code]
     
    file  triangle512_int8.h [code]
     
    file  triangle_analogue512_int8.h [code]
     
    file  triangle_dist_cubed_2048_int8.h [code]
     
    file  triangle_dist_squared_2048_int8.h [code]
     
    file  triangle_hermes_2048_int8.h [code]
     
    file  triangle_valve_2048_int8.h [code]
     
    file  triangle_valve_2_2048_int8.h [code]
     
    file  triangle_warm8192_int8.h [code]
     
    file  uphasor256_uint8.h [code]
     
    file  waveshape1_softclip_int8.h [code]
     
    file  waveshape2_softerclip_int8.h [code]
     
    file  waveshape_chebyshev_3rd_256_int8.h [code]
     
    file  waveshape_chebyshev_4th_256_int8.h [code]
     
    file  waveshape_chebyshev_5th_256_int8.h [code]
     
    file  waveshape_chebyshev_6th_256_int8.h [code]
     
    file  waveshape_compress_512_to_488_int16.h [code]
     
    file  waveshape_sigmoid_int8.h [code]
     
    file  waveshape_tanh_int8.h [code]
     
    file  whitenoise8192_int8.h [code]
     
    +
    +
    + + + + diff --git a/doc/html/doxygen.css b/doc/html/doxygen.css index c1c186d2c..c84e702c3 100644 --- a/doc/html/doxygen.css +++ b/doc/html/doxygen.css @@ -1,31 +1,50 @@ -/* The standard CSS for doxygen */ +/* The standard CSS for doxygen 1.8.4 */ body, table, div, p, dl { - font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif; - font-size: 13px; - line-height: 1.3; + font: 400 14px/22px Roboto,sans-serif; } /* @group Heading Levels */ -h1 { +h1.groupheader { font-size: 150%; } .title { + font: 400 14px/28px Roboto,sans-serif; font-size: 150%; font-weight: bold; margin: 10px 2px; } -h2 { - font-size: 120%; +h2.groupheader { + border-bottom: 1px solid #8B79CD; + color: #3B2C75; + font-size: 150%; + font-weight: normal; + margin-top: 1.75em; + padding-top: 8px; + padding-bottom: 4px; + width: 100%; } -h3 { +h3.groupheader { font-size: 100%; } +h1, h2, h3, h4, h5, h6 { + -webkit-transition: text-shadow 0.5s linear; + -moz-transition: text-shadow 0.5s linear; + -ms-transition: text-shadow 0.5s linear; + -o-transition: text-shadow 0.5s linear; + transition: text-shadow 0.5s linear; + margin-right: 15px; +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px cyan; +} + dt { font-weight: bold; } @@ -136,20 +155,72 @@ dl.el { margin-left: -1cm; } -.fragment { +pre.fragment { + border: 1px solid #C4CFE5; + background-color: #FBFCFD; + padding: 4px 6px; + margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; + font-family: monospace, fixed; + font-size: 105%; +} + +div.fragment { + padding: 0px; + margin: 0px; + background-color: #FBFBFD; + border: 1px solid #C6BDE6; +} + +div.line { font-family: monospace, fixed; - font-size: 105%; + font-size: 13px; + min-height: 13px; + line-height: 1.0; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + text-indent: -53px; + padding-left: 53px; + padding-bottom: 0px; + margin: 0px; + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; } -pre.fragment { - border: 1px solid #C6BDE6; - background-color: #FBFBFD; - padding: 4px 6px; - margin: 4px 8px 4px 2px; - overflow: auto; - word-wrap: break-word; - font-size: 9pt; - line-height: 125%; +div.line.glow { + background-color: cyan; + box-shadow: 0 0 10px cyan; +} + + +span.lineno { + padding-right: 4px; + text-align: right; + border-right: 2px solid #0F0; + background-color: #E8E8E8; + white-space: pre; +} +span.lineno a { + background-color: #D8D8D8; +} + +span.lineno a:hover { + background-color: #C8C8C8; } div.ah { @@ -189,7 +260,7 @@ body { div.contents { margin-top: 10px; - margin-left: 8px; + margin-left: 12px; margin-right: 8px; } @@ -353,6 +424,24 @@ table.memberdecls { padding: 0px; } +.memberdecls td, .fieldtable tr { + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: cyan; + box-shadow: 0 0 15px cyan; +} + .mdescLeft, .mdescRight, .memItemLeft, .memItemRight, .memTemplItemLeft, .memTemplItemRight, .memTemplParams { @@ -367,8 +456,11 @@ table.memberdecls { color: #555; } -.memItemLeft, .memItemRight, .memTemplParams { - border-top: 1px solid #C6BDE6; +.memSeparator { + border-bottom: 1px solid #DEE4F0; + line-height: 1px; + margin: 0px; + padding: 0px; } .memItemLeft, .memTemplItemLeft { @@ -382,6 +474,7 @@ table.memberdecls { .memTemplParams { color: #503B9E; white-space: nowrap; + font-size: 80%; } /* @end */ @@ -414,14 +507,28 @@ table.memberdecls { padding: 0; margin-bottom: 10px; margin-right: 5px; + -webkit-transition: box-shadow 0.5s linear; + -moz-transition: box-shadow 0.5s linear; + -ms-transition: box-shadow 0.5s linear; + -o-transition: box-shadow 0.5s linear; + transition: box-shadow 0.5s linear; + display: table !important; + width: 100%; +} + +.memitem.glow { + box-shadow: 0 0 15px cyan; } .memname { - white-space: nowrap; font-weight: bold; margin-left: 6px; } +.memname td { + vertical-align: bottom; +} + .memproto, dl.reflist dt { border-top: 1px solid #AB9EDA; border-left: 1px solid #AB9EDA; @@ -430,21 +537,21 @@ table.memberdecls { color: #281D4E; font-weight: bold; text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E3DFF3; /* opera specific markup */ box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - border-top-right-radius: 8px; - border-top-left-radius: 8px; + border-top-right-radius: 4px; + border-top-left-radius: 4px; /* firefox specific markup */ -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; - -moz-border-radius-topright: 8px; - -moz-border-radius-topleft: 8px; + -moz-border-radius-topright: 4px; + -moz-border-radius-topleft: 4px; /* webkit specific markup */ -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - -webkit-border-top-right-radius: 8px; - -webkit-border-top-left-radius: 8px; - background-image:url('nav_f.png'); - background-repeat:repeat-x; - background-color: #E3DFF3; + -webkit-border-top-right-radius: 4px; + -webkit-border-top-left-radius: 4px; } @@ -452,23 +559,24 @@ table.memberdecls { border-bottom: 1px solid #AB9EDA; border-left: 1px solid #AB9EDA; border-right: 1px solid #AB9EDA; - padding: 2px 5px; + padding: 6px 10px 2px 10px; background-color: #FBFBFD; border-top-width: 0; + background-image:url('nav_g.png'); + background-repeat:repeat-x; + background-color: #FFFFFF; /* opera specific markup */ - border-bottom-left-radius: 8px; - border-bottom-right-radius: 8px; + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); /* firefox specific markup */ - -moz-border-radius-bottomleft: 8px; - -moz-border-radius-bottomright: 8px; + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-bottomright: 4px; -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; - background-image: -moz-linear-gradient(center top, #FFFFFF 0%, #FFFFFF 60%, #F7F6FB 95%, #EEEBF7); /* webkit specific markup */ - -webkit-border-bottom-left-radius: 8px; - -webkit-border-bottom-right-radius: 8px; + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - background-image: -webkit-gradient(linear,center top,center bottom,from(#FFFFFF), color-stop(0.6,#FFFFFF), color-stop(0.60,#FFFFFF), color-stop(0.95,#F7F6FB), to(#EEEBF7)); } dl.reflist dt { @@ -495,9 +603,13 @@ dl.reflist dd { .paramname em { font-style: normal; } +.paramname code { + line-height: 14px; +} .params, .retval, .exception, .tparams { - border-spacing: 6px 2px; + margin-left: 0px; + padding-left: 0px; } .params .paramname, .retval .paramname { @@ -515,105 +627,117 @@ dl.reflist dd { vertical-align: top; } +table.mlabels { + border-spacing: 0px; +} +td.mlabels-left { + width: 100%; + padding: 0px; +} +td.mlabels-right { + vertical-align: bottom; + padding: 0px; + white-space: nowrap; +} -/* @end */ - -/* @group Directory (tree) */ - -/* for the tree view */ +span.mlabels { + margin-left: 8px; +} -.ftvtree { - font-family: sans-serif; - margin: 0px; +span.mlabel { + background-color: #7762C4; + border-top:1px solid #5C43B5; + border-left:1px solid #5C43B5; + border-right:1px solid #C6BDE6; + border-bottom:1px solid #C6BDE6; + text-shadow: none; + color: white; + margin-right: 4px; + padding: 2px 3px; + border-radius: 3px; + font-size: 7pt; + white-space: nowrap; + vertical-align: middle; } -/* these are for tree view when used as main index */ -.directory { - font-size: 9pt; - font-weight: bold; - margin: 5px; -} -.directory h3 { - margin: 0px; - margin-top: 1em; - font-size: 11pt; -} +/* @end */ -/* -The following two styles can be used to replace the root node title -with an image of your choice. Simply uncomment the next two styles, -specify the name of your image and be sure to set 'height' to the -proper pixel height of your image. -*/ +/* these are for tree view when not used as main index */ -/* -.directory h3.swap { - height: 61px; - background-repeat: no-repeat; - background-image: url("yourimage.gif"); -} -.directory h3.swap span { - display: none; +div.directory { + margin: 10px 0px; + border-top: 1px solid #A8B8D9; + border-bottom: 1px solid #A8B8D9; + width: 100%; } -*/ -.directory > h3 { - margin-top: 0; +.directory table { + border-collapse:collapse; } -.directory p { - margin: 0px; - white-space: nowrap; +.directory td { + margin: 0px; + padding: 0px; + vertical-align: top; } -.directory div { - display: none; - margin: 0px; +.directory td.entry { + white-space: nowrap; + padding-right: 6px; + padding-top: 3px; } -.directory img { - vertical-align: -30%; +.directory td.entry a { + outline:none; } -/* these are for tree view when not used as main index */ - -.directory-alt { - font-size: 100%; - font-weight: bold; +.directory td.entry a img { + border: none; } -.directory-alt h3 { - margin: 0px; - margin-top: 1em; - font-size: 11pt; +.directory td.desc { + width: 100%; + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + border-left: 1px solid rgba(0,0,0,0.05); } -.directory-alt > h3 { - margin-top: 0; +.directory tr.even { + padding-left: 6px; + background-color: #F7F6FB; } -.directory-alt p { - margin: 0px; - white-space: nowrap; +.directory img { + vertical-align: -30%; } -.directory-alt div { - display: none; - margin: 0px; +.directory .levels { + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; } -.directory-alt img { - vertical-align: -30%; +.directory .levels span { + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: #453287; } -/* @end */ - div.dynheader { margin-top: 8px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; } address { @@ -641,7 +765,7 @@ table.doxtable th { } table.fieldtable { - width: 100%; + /*width: 100%;*/ margin-bottom: 10px; border: 1px solid #AB9EDA; border-spacing: 0px; @@ -664,9 +788,21 @@ table.fieldtable { vertical-align: top; } +.fieldtable td.fieldname { + padding-top: 3px; +} + .fieldtable td.fielddoc { border-bottom: 1px solid #AB9EDA; - width: 100%; + /*width: 100%;*/ +} + +.fieldtable td.fielddoc p:first-child { + margin-top: 0px; +} + +.fieldtable td.fielddoc p:last-child { + margin-bottom: 2px; } .fieldtable tr:last-child td { @@ -707,6 +843,7 @@ table.fieldtable { font-size: 11px; background-image:url('tab_b.png'); background-repeat:repeat-x; + background-position: 0 -5px; height:30px; line-height:30px; color:#8E7CCE; @@ -734,6 +871,10 @@ table.fieldtable { display:block; text-decoration: none; outline: none; + color: #2C2056; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; } .navpath li.navelem a:hover @@ -771,9 +912,7 @@ div.summary a div.ingroups { - margin-left: 5px; font-size: 8pt; - padding-left: 5px; width: 50%; text-align: left; } @@ -794,7 +933,7 @@ div.header div.headertitle { - padding: 5px 5px 5px 7px; + padding: 5px 5px 5px 10px; } dl @@ -805,42 +944,63 @@ dl /* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ dl.section { - border-left:4px solid; - padding: 0 0 0 6px; + margin-left: 0px; + padding-left: 0px; } dl.note { + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; border-color: #D0C000; } dl.warning, dl.attention { + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; border-color: #FF0000; } dl.pre, dl.post, dl.invariant { + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; border-color: #00D000; } dl.deprecated { + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; border-color: #505050; } dl.todo { + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; border-color: #00C0E0; } dl.test { + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; border-color: #3030E0; } dl.bug { + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; border-color: #C08050; } @@ -980,6 +1140,30 @@ div.toc li.level4 { margin-left: 45px; } +.inherit_header { + font-weight: bold; + color: gray; + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0px 2px 5px; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 4px; +} @media print { @@ -998,15 +1182,5 @@ div.toc li.level4 { overflow:inherit; display:inline; } - pre.fragment - { - overflow: visible; - text-wrap: unrestricted; - white-space: -moz-pre-wrap; /* Moz */ - white-space: -pre-wrap; /* Opera 4-6 */ - white-space: -o-pre-wrap; /* Opera 7 */ - white-space: pre-wrap; /* CSS3 */ - word-wrap: break-word; /* IE 5.5+ */ - } } diff --git a/doc/html/doxygen.png b/doc/html/doxygen.png index 345da0b29ebaccd040430b66cf377a516f78e489..447a7e543a56b85b44dc15b91fa74ba45baf8887 100644 GIT binary patch literal 3837 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 literal 4002 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 IM6N<$f}aJrm;e9( diff --git a/doc/html/dynsections.js b/doc/html/dynsections.js new file mode 100644 index 000000000..ed092c7f6 --- /dev/null +++ b/doc/html/dynsections.js @@ -0,0 +1,97 @@ +function toggleVisibility(linkObj) +{ + var base = $(linkObj).attr('id'); + var summary = $('#'+base+'-summary'); + var content = $('#'+base+'-content'); + var trigger = $('#'+base+'-trigger'); + var src=$(trigger).attr('src'); + if (content.is(':visible')===true) { + content.hide(); + summary.show(); + $(linkObj).addClass('closed').removeClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + content.show(); + summary.hide(); + $(linkObj).removeClass('closed').addClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); + } + return false; +} + +function updateStripes() +{ + $('table.directory tr'). + removeClass('even').filter(':visible:even').addClass('even'); +} +function toggleLevel(level) +{ + $('table.directory tr').each(function(){ + var l = this.id.split('_').length-1; + var i = $('#img'+this.id.substring(3)); + var a = $('#arr'+this.id.substring(3)); + if (l + Mozzi: tables/envelop2048_uint8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,139 +99,141 @@
    -
    tables/envelop2048_uint8.h
    +
    envelop2048_uint8.h
    -
    00001 #ifndef ENVELOP2048_INT8_H_
    -00002 #define ENVELOP2048_INT8_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 /* a hand-drawn envelope with fast attack and slow decay
    -00012 */
    -00013 
    -00014 #define ENVELOP2048_NUM_CELLS 2048
    -00015 #define ENVELOP2048_SAMPLERATE 2048
    -00016 
    -00017 const char __attribute__((progmem)) ENVELOP2048_DATA []  =
    -00018         {
    -00019                 0, 1, 5, 8, 13, 22, 36, 53, 69, 82, 91,
    -00020                 97, 103, 107, 113, 119, 128, 139, 151, 162, 171, 177, 181, 184, 186, 189, 192,
    -00021                 195, 199, 203, 208, 212, 217, 221, 225, 228, 232, 236, 240, 242, 241, 238, 232,
    -00022                 227, 223, 221, 221, 221, 221, 220, 219, 217, 216, 215, 214, 213, 212, 210, 209,
    -00023                 206, 204, 203, 201, 200, 200, 199, 199, 199, 199, 198, 198, 198, 197, 197, 196,
    -00024                 195, 194, 194, 194, 194, 194, 195, 194, 194, 194, 194, 193, 193, 193, 193, 192,
    -00025                 192, 191, 191, 190, 188, 187, 185, 183, 181, 180, 178, 176, 174, 172, 171, 170,
    -00026                 169, 169, 169, 169, 169, 169, 168, 167, 166, 165, 163, 161, 160, 159, 159, 159,
    -00027                 159, 159, 159, 158, 158, 158, 158, 158, 158, 158, 157, 157, 156, 156, 155, 154,
    -00028                 153, 153, 152, 152, 152, 151, 148, 145, 143, 142, 141, 140, 140, 140, 141, 142,
    -00029                 144, 144, 145, 145, 144, 144, 144, 144, 145, 145, 145, 145, 145, 145, 145, 145,
    -00030                 145, 145, 144, 144, 144, 144, 143, 143, 142, 142, 140, 139, 138, 137, 136, 136,
    -00031                 136, 136, 136, 136, 135, 135, 135, 134, 134, 134, 134, 133, 133, 133, 133, 132,
    -00032                 132, 132, 132, 132, 132, 132, 131, 131, 131, 131, 131, 131, 131, 130, 130, 130,
    -00033                 130, 129, 128, 127, 126, 125, 124, 124, 124, 124, 124, 124, 124, 123, 123, 122,
    -00034                 122, 121, 121, 121, 121, 121, 120, 120, 120, 120, 120, 121, 121, 121, 121, 120,
    -00035                 120, 120, 120, 119, 119, 119, 118, 118, 117, 116, 115, 113, 112, 112, 111, 111,
    -00036                 111, 111, 111, 111, 112, 112, 112, 112, 112, 111, 111, 111, 111, 110, 109, 108,
    -00037                 108, 107, 106, 106, 105, 105, 104, 104, 103, 103, 103, 103, 103, 103, 104, 105,
    -00038                 105, 105, 105, 105, 104, 104, 104, 103, 102, 101, 99, 98, 97, 97, 97, 97, 96,
    -00039                 96, 96, 96, 96, 97, 97, 97, 96, 96, 96, 95, 95, 95, 95, 94, 94, 94, 94, 94, 93,
    -00040                 93, 93, 93, 93, 92, 92, 92, 92, 92, 91, 91, 91, 91, 90, 90, 90, 90, 90, 89, 89,
    -00041                 89, 89, 89, 88, 88, 88, 88, 88, 87, 87, 87, 87, 87, 86, 86, 86, 86, 86, 85, 85,
    -00042                 85, 85, 85, 84, 84, 84, 84, 84, 83, 83, 83, 83, 83, 82, 82, 82, 82, 82, 81, 81,
    -00043                 81, 81, 81, 81, 80, 80, 80, 80, 80, 79, 79, 79, 79, 79, 78, 78, 78, 78, 78, 78,
    -00044                 77, 77, 77, 77, 77, 76, 76, 76, 76, 76, 76, 75, 75, 75, 75, 75, 74, 74, 74, 74,
    -00045                 74, 74, 73, 73, 73, 73, 73, 73, 72, 72, 72, 72, 72, 72, 71, 71, 71, 71, 71, 71,
    -00046                 70, 70, 70, 70, 70, 70, 69, 69, 69, 69, 69, 69, 69, 68, 68, 68, 68, 68, 68, 67,
    -00047                 67, 67, 67, 67, 67, 66, 66, 66, 66, 66, 66, 65, 65, 65, 65, 65, 65, 65, 64, 64,
    -00048                 64, 64, 64, 64, 63, 63, 63, 63, 63, 63, 62, 62, 62, 62, 62, 62, 61, 61, 61, 61,
    -00049                 61, 61, 60, 60, 60, 60, 60, 60, 60, 59, 59, 59, 59, 59, 59, 59, 58, 58, 58, 58,
    -00050                 58, 58, 58, 57, 57, 57, 57, 57, 57, 56, 56, 56, 56, 56, 56, 55, 55, 55, 55, 55,
    -00051                 55, 55, 54, 54, 54, 54, 54, 54, 53, 53, 53, 53, 53, 53, 52, 52, 52, 52, 52, 52,
    -00052                 51, 51, 51, 51, 51, 51, 50, 50, 50, 50, 50, 50, 50, 49, 49, 49, 49, 49, 49, 49,
    -00053                 48, 48, 48, 48, 48, 48, 48, 47, 47, 47, 47, 47, 47, 47, 47, 47, 46, 46, 46, 46,
    -00054                 46, 46, 46, 46, 46, 46, 46, 46, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 44,
    -00055                 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 43, 43, 43, 43, 43, 43, 43, 43, 43,
    -00056                 43, 43, 43, 43, 43, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 41, 41, 41, 41,
    -00057                 41, 41, 41, 41, 41, 41, 41, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 39, 39,
    -00058                 39, 39, 39, 39, 39, 39, 39, 39, 39, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
    -00059                 38, 38, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 36, 36, 36, 36, 36,
    -00060                 36, 36, 36, 36, 36, 36, 36, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
    -00061                 35, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 33, 33, 32, 33, 33, 34,
    -00062                 33, 33, 32, 33, 33, 34, 33, 33, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
    -00063                 32, 32, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 30, 30, 30,
    -00064                 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 29, 29, 29, 29, 29, 29, 29, 29,
    -00065                 29, 29, 29, 29, 29, 29, 29, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
    -00066                 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
    -00067                 28, 28, 28, 28, 28, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
    -00068                 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
    -00069                 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
    -00070                 29, 29, 29, 29, 29, 29, 29, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
    -00071                 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
    -00072                 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
    -00073                 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
    -00074                 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
    -00075                 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
    -00076                 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
    -00077                 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
    -00078                 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
    -00079                 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 30, 30, 30, 30, 30, 30, 30,
    -00080                 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
    -00081                 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
    -00082                 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 29, 29, 29, 29, 29, 29, 29, 29, 29,
    -00083                 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
    -00084                 29, 29, 29, 29, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
    -00085                 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 27, 27, 27, 27, 27, 27, 27, 27, 27,
    -00086                 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 26, 26, 26, 26,
    -00087                 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 25, 25,
    -00088                 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 24, 24,
    -00089                 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 23, 23,
    -00090                 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 22, 22, 22,
    -00091                 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21,
    -00092                 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 20, 20, 20, 20, 20, 20, 20,
    -00093                 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
    -00094                 19, 19, 19, 19, 19, 19, 19, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
    -00095                 18, 18, 18, 18, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
    -00096                 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 15, 15, 15,
    -00097                 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 14, 14, 14, 14, 14, 14, 14,
    -00098                 14, 14, 14, 14, 14, 14, 14, 14, 14, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
    -00099                 13, 13, 13, 13, 13, 13, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
    -00100                 12, 12, 12, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 10,
    -00101                 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 9, 9, 9, 9, 9,
    -00102                 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
    -00103                 8, 8, 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6,
    -00104                 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
    -00105                 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3,
    -00106                 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    -00107                 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
    -00108                 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00109                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00110                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00111                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00112                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00113                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00114                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00115                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00116                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00117                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00118                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00119                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00120         };
    -00121 
    -00122 #endif /* ENVELOP2048_INT8_H_ */
    -
    - - - - +
    1 #ifndef ENVELOP2048_INT8_H_
    +
    2 #define ENVELOP2048_INT8_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 /* a hand-drawn envelope with fast attack and slow decay
    +
    12 */
    +
    13 
    +
    14 #define ENVELOP2048_NUM_CELLS 2048
    +
    15 #define ENVELOP2048_SAMPLERATE 2048
    +
    16 
    +
    17 const char __attribute__((progmem)) ENVELOP2048_DATA [] =
    +
    18  {
    +
    19  0, 1, 5, 8, 13, 22, 36, 53, 69, 82, 91,
    +
    20  97, 103, 107, 113, 119, 128, 139, 151, 162, 171, 177, 181, 184, 186, 189, 192,
    +
    21  195, 199, 203, 208, 212, 217, 221, 225, 228, 232, 236, 240, 242, 241, 238, 232,
    +
    22  227, 223, 221, 221, 221, 221, 220, 219, 217, 216, 215, 214, 213, 212, 210, 209,
    +
    23  206, 204, 203, 201, 200, 200, 199, 199, 199, 199, 198, 198, 198, 197, 197, 196,
    +
    24  195, 194, 194, 194, 194, 194, 195, 194, 194, 194, 194, 193, 193, 193, 193, 192,
    +
    25  192, 191, 191, 190, 188, 187, 185, 183, 181, 180, 178, 176, 174, 172, 171, 170,
    +
    26  169, 169, 169, 169, 169, 169, 168, 167, 166, 165, 163, 161, 160, 159, 159, 159,
    +
    27  159, 159, 159, 158, 158, 158, 158, 158, 158, 158, 157, 157, 156, 156, 155, 154,
    +
    28  153, 153, 152, 152, 152, 151, 148, 145, 143, 142, 141, 140, 140, 140, 141, 142,
    +
    29  144, 144, 145, 145, 144, 144, 144, 144, 145, 145, 145, 145, 145, 145, 145, 145,
    +
    30  145, 145, 144, 144, 144, 144, 143, 143, 142, 142, 140, 139, 138, 137, 136, 136,
    +
    31  136, 136, 136, 136, 135, 135, 135, 134, 134, 134, 134, 133, 133, 133, 133, 132,
    +
    32  132, 132, 132, 132, 132, 132, 131, 131, 131, 131, 131, 131, 131, 130, 130, 130,
    +
    33  130, 129, 128, 127, 126, 125, 124, 124, 124, 124, 124, 124, 124, 123, 123, 122,
    +
    34  122, 121, 121, 121, 121, 121, 120, 120, 120, 120, 120, 121, 121, 121, 121, 120,
    +
    35  120, 120, 120, 119, 119, 119, 118, 118, 117, 116, 115, 113, 112, 112, 111, 111,
    +
    36  111, 111, 111, 111, 112, 112, 112, 112, 112, 111, 111, 111, 111, 110, 109, 108,
    +
    37  108, 107, 106, 106, 105, 105, 104, 104, 103, 103, 103, 103, 103, 103, 104, 105,
    +
    38  105, 105, 105, 105, 104, 104, 104, 103, 102, 101, 99, 98, 97, 97, 97, 97, 96,
    +
    39  96, 96, 96, 96, 97, 97, 97, 96, 96, 96, 95, 95, 95, 95, 94, 94, 94, 94, 94, 93,
    +
    40  93, 93, 93, 93, 92, 92, 92, 92, 92, 91, 91, 91, 91, 90, 90, 90, 90, 90, 89, 89,
    +
    41  89, 89, 89, 88, 88, 88, 88, 88, 87, 87, 87, 87, 87, 86, 86, 86, 86, 86, 85, 85,
    +
    42  85, 85, 85, 84, 84, 84, 84, 84, 83, 83, 83, 83, 83, 82, 82, 82, 82, 82, 81, 81,
    +
    43  81, 81, 81, 81, 80, 80, 80, 80, 80, 79, 79, 79, 79, 79, 78, 78, 78, 78, 78, 78,
    +
    44  77, 77, 77, 77, 77, 76, 76, 76, 76, 76, 76, 75, 75, 75, 75, 75, 74, 74, 74, 74,
    +
    45  74, 74, 73, 73, 73, 73, 73, 73, 72, 72, 72, 72, 72, 72, 71, 71, 71, 71, 71, 71,
    +
    46  70, 70, 70, 70, 70, 70, 69, 69, 69, 69, 69, 69, 69, 68, 68, 68, 68, 68, 68, 67,
    +
    47  67, 67, 67, 67, 67, 66, 66, 66, 66, 66, 66, 65, 65, 65, 65, 65, 65, 65, 64, 64,
    +
    48  64, 64, 64, 64, 63, 63, 63, 63, 63, 63, 62, 62, 62, 62, 62, 62, 61, 61, 61, 61,
    +
    49  61, 61, 60, 60, 60, 60, 60, 60, 60, 59, 59, 59, 59, 59, 59, 59, 58, 58, 58, 58,
    +
    50  58, 58, 58, 57, 57, 57, 57, 57, 57, 56, 56, 56, 56, 56, 56, 55, 55, 55, 55, 55,
    +
    51  55, 55, 54, 54, 54, 54, 54, 54, 53, 53, 53, 53, 53, 53, 52, 52, 52, 52, 52, 52,
    +
    52  51, 51, 51, 51, 51, 51, 50, 50, 50, 50, 50, 50, 50, 49, 49, 49, 49, 49, 49, 49,
    +
    53  48, 48, 48, 48, 48, 48, 48, 47, 47, 47, 47, 47, 47, 47, 47, 47, 46, 46, 46, 46,
    +
    54  46, 46, 46, 46, 46, 46, 46, 46, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 44,
    +
    55  44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 43, 43, 43, 43, 43, 43, 43, 43, 43,
    +
    56  43, 43, 43, 43, 43, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 41, 41, 41, 41,
    +
    57  41, 41, 41, 41, 41, 41, 41, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 39, 39,
    +
    58  39, 39, 39, 39, 39, 39, 39, 39, 39, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
    +
    59  38, 38, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 36, 36, 36, 36, 36,
    +
    60  36, 36, 36, 36, 36, 36, 36, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
    +
    61  35, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 33, 33, 32, 33, 33, 34,
    +
    62  33, 33, 32, 33, 33, 34, 33, 33, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
    +
    63  32, 32, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 30, 30, 30,
    +
    64  30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 29, 29, 29, 29, 29, 29, 29, 29,
    +
    65  29, 29, 29, 29, 29, 29, 29, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
    +
    66  28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
    +
    67  28, 28, 28, 28, 28, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
    +
    68  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
    +
    69  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
    +
    70  29, 29, 29, 29, 29, 29, 29, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
    +
    71  30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
    +
    72  30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
    +
    73  30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
    +
    74  30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
    +
    75  30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
    +
    76  30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
    +
    77  30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
    +
    78  31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
    +
    79  31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 30, 30, 30, 30, 30, 30, 30,
    +
    80  30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
    +
    81  30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
    +
    82  30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 29, 29, 29, 29, 29, 29, 29, 29, 29,
    +
    83  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
    +
    84  29, 29, 29, 29, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
    +
    85  28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 27, 27, 27, 27, 27, 27, 27, 27, 27,
    +
    86  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 26, 26, 26, 26,
    +
    87  26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 25, 25,
    +
    88  25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 24, 24,
    +
    89  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 23, 23,
    +
    90  23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 22, 22, 22,
    +
    91  22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21,
    +
    92  21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 20, 20, 20, 20, 20, 20, 20,
    +
    93  20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
    +
    94  19, 19, 19, 19, 19, 19, 19, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
    +
    95  18, 18, 18, 18, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
    +
    96  16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 15, 15, 15,
    +
    97  15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 14, 14, 14, 14, 14, 14, 14,
    +
    98  14, 14, 14, 14, 14, 14, 14, 14, 14, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
    +
    99  13, 13, 13, 13, 13, 13, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
    +
    100  12, 12, 12, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 10,
    +
    101  10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 9, 9, 9, 9, 9,
    +
    102  9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
    +
    103  8, 8, 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6,
    +
    104  6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
    +
    105  5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3,
    +
    106  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    +
    107  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
    +
    108  1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    109  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    110  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    111  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    112  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    113  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    114  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    115  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    116  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    117  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    118  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    119  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    120  };
    +
    121 
    +
    122 #endif /* ENVELOP2048_INT8_H_ */
    +
    +

    + + diff --git a/doc/html/examples.html b/doc/html/examples.html new file mode 100644 index 000000000..645409e75 --- /dev/null +++ b/doc/html/examples.html @@ -0,0 +1,122 @@ + + + + + + +Mozzi: Examples + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    Mozzi +  alpha 0.01.2c +
    +
    sound synthesis library for Arduino
    +
    +
    + + + + +
    +
    + +
    +
    +
    + + + + + + diff --git a/doc/html/examples.js b/doc/html/examples.js new file mode 100644 index 000000000..8b5b6b3db --- /dev/null +++ b/doc/html/examples.js @@ -0,0 +1,5 @@ +var examples = +[ + [ "_02_control/Control_Echo_Theremin/Control_Echo_Theremin.ino", "_02_control_2_control__echo__theremin_2_control__echo__theremin_8ino-example.html", null ], + [ "_09_delays/AudioDelay/AudioDelay.ino", "_09_delays_2_audio_delay_2_audio_delay_8ino-example.html", null ] +]; \ No newline at end of file diff --git a/doc/html/files.html b/doc/html/files.html index fa5015078..fdf4be59d 100644 --- a/doc/html/files.html +++ b/doc/html/files.html @@ -30,7 +30,7 @@
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    @@ -101,8 +101,9 @@ AudioConfigStandard9bitPwm.h [code] AudioDelay.h [code] AudioDelayFeedback.h [code] + AutoRange.h [code] + ControlDelay.h [code] DCfilter.h [code] - Ead.cpp [code] Ead.h [code] EventDelay.h [code] Line.h [code] @@ -143,7 +144,7 @@ python/chebyshev_int8.py [code] python/float2mozzi.py [code] python/float2mozzi_uint8.py [code] - python/sin1024_uint8.py [code] + python/sin1024_int8.py [code] python/sin8192_uint8.py [code] python/sin_levels_int8.py [code] python/sin_multi_levels_int8.py [code] @@ -167,36 +168,6 @@ samples/bamboo/bamboo_08_2048_int8.h [code] samples/bamboo/bamboo_09_2048_int8.h [code] samples/bamboo/bamboo_10_2048_int8.h [code] - samples/bamboo1/bamboo1_1024_int8.h [code] - samples/bamboo1/bamboo2_1024_int8.h [code] - samples/bamboo1/bamboo3_2048_int8.h [code] - samples/thumbpiano/thumbpiano1_int8.h [code] - samples/thumbpiano/thumbpiano2_int8.h [code] - samples/thumbpiano/thumbpiano3_int8.h [code] - samples/thumbpiano/thumbpiano4_int8.h [code] - samples/thumbpiano/thumbpiano5_int8.h [code] - samples/TJBAnalogDisk/Acid_mozzi/FMAcidBass1_int8.h [code] - samples/TJBAnalogDisk/Acid_mozzi/FMAcidBass2_int8.h [code] - samples/TJBAnalogDisk/Acid_mozzi/FMAcidBass3_int8.h [code] - samples/TJBAnalogDisk/Acid_mozzi/FMAcidBass4_int8.h [code] - samples/TJBAnalogDisk/Juno2_mozzi/JunoBass10T_int8.h [code] - samples/TJBAnalogDisk/Juno2_mozzi/JunoBass11T_int8.h [code] - samples/TJBAnalogDisk/Juno2_mozzi/JunoBass13T_int8.h [code] - samples/TJBAnalogDisk/Juno2_mozzi/JunoBass15T_int8.h [code] - samples/TJBAnalogDisk/Juno2_mozzi/JunoBass16T_int8.h [code] - samples/TJBAnalogDisk/Juno2_mozzi/JunoBass17T_int8.h [code] - samples/TJBAnalogDisk/Juno2_mozzi/JunoBass18T_int8.h [code] - samples/TJBAnalogDisk/Juno2_mozzi/JunoBass19T_int8.h [code] - samples/TJBAnalogDisk/Juno2_mozzi/JunoBass20T_int8.h [code] - samples/TJBAnalogDisk/Juno2_mozzi/JunoBass21AT_int8.h [code] - samples/TJBAnalogDisk/Juno2_mozzi/JunoBass21BT_int8.h [code] - samples/TJBAnalogDisk/Juno2_mozzi/JunoBass2T_int8.h [code] - samples/TJBAnalogDisk/Juno2_mozzi/JunoBass3T_int8.h [code] - samples/TJBAnalogDisk/Juno2_mozzi/JunoBass5T_int8.h [code] - samples/TJBAnalogDisk/Juno2_mozzi/JunoBass6T_int8.h [code] - samples/TJBAnalogDisk/Juno2_mozzi/JunoBass7T_int8.h [code] - samples/TJBAnalogDisk/Juno2_mozzi/JunoBass8T_int8.h [code] - samples/TJBAnalogDisk/Juno2_mozzi/JunoBass9T_int8.h [code] tables/brownnoise8192_int8.h [code] tables/chum78_int8.h [code] tables/chum9_int8.h [code] @@ -260,7 +231,7 @@ diff --git a/doc/html/float2mozzi_8py_source.html b/doc/html/float2mozzi_8py_source.html index 545d60116..a1b381ff1 100644 --- a/doc/html/float2mozzi_8py_source.html +++ b/doc/html/float2mozzi_8py_source.html @@ -3,46 +3,44 @@ + Mozzi: python/float2mozzi.py Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,69 +99,71 @@
    -
    python/float2mozzi.py
    +
    float2mozzi.py
    -
    00001 ## for converting 32 bit float raw files from Audacity, with values  -128 to 127 int8 Mozzi table
    -00002 
    -00003 import sys, array, os, textwrap, math
    -00004 
    -00005     if len(sys.argv) != 5:
    -00006         print 'Usage: float2mozzi.py <infilename outfilename tablename samplerate>'
    -00007         sys.exit(1)
    -00008 
    -00009 [infilename, outfilename, tablename, samplerate] = sys.argv[1:]
    -00010 
    -00011 def float2mozzi(infilename, outfilename, tablename,samplerate):
    -00012     fin = open(os.path.expanduser(infilename), "rb")
    -00013     print "opened " + infilename
    -00014     valuesetad = os.path.getsize(os.path.expanduser(infilename))/4 ## adjust for number format
    -00015 
    -00016     ##print valuesetad
    -00017     valuesfromfile = array.array('f')## array of floats
    -00018     try:
    -00019         valuesfromfile.fromfile(fin,valuesetad)
    -00020     finally:
    -00021         fin.close()
    -00022 
    -00023     values=valuesfromfile.tolist()
    -00024 ##    print values[0]
    -00025 ##    print values[len(values)-1]
    -00026 ##    print len(values)
    -00027     fout = open(os.path.expanduser(outfilename), "w")
    -00028     fout.write('#ifndef ' + tablename + '_H_' + '\n')
    -00029     fout.write('#define ' + tablename + '_H_' + '\n \n')
    -00030     fout.write('#if ARDUINO >= 100'+'\n')
    -00031     fout.write('#include "Arduino.h"'+'\n')
    -00032     fout.write('#else'+'\n')
    -00033     fout.write('#include "WProgram.h"'+'\n')
    -00034     fout.write('#endif'+'\n')   
    -00035     fout.write('#include <avr/pgmspace.h>'+'\n \n')
    -00036     fout.write('#define ' + tablename + '_NUM_CELLS '+ str(len(values))+'\n')
    -00037     fout.write('#define ' + tablename + '_SAMPLERATE '+ str(samplerate)+'\n \n')
    -00038     outstring = 'const char __attribute__((progmem)) ' + tablename + '_DATA [] = {'
    -00039     try:
    -00040         for num in values:
    -00041             outstring += str(math.trunc((num*256)+0.5)) + ", "
    -00042  ##           outstring += str(num) + ", "
    -00043         ##values.fromfile(fin, bytesetad)
    -00044     finally:
    -00045         outstring +=  "};"
    -00046         outstring = textwrap.fill(outstring, 80)
    -00047         fout.write(outstring)
    -00048         fout.write('\n \n #endif /* ' + tablename + '_H_ */\n')
    -00049         fout.close()
    -00050         print "wrote " + outfilename
    -00051 
    -00052 float2mozzi(infilename, outfilename, tablename, samplerate)
    -
    - - - - +
    1 ## for converting 32 bit float raw files from Audacity, with values -128 to 127 int8 Mozzi table
    +
    2 
    +
    3 import sys, array, os, textwrap, math
    +
    4 
    +
    5  if len(sys.argv) != 5:
    +
    6  print 'Usage: float2mozzi.py <infilename outfilename tablename samplerate>'
    +
    7  sys.exit(1)
    +
    8 
    +
    9 [infilename, outfilename, tablename, samplerate] = sys.argv[1:]
    +
    10 
    +
    11 def float2mozzi(infilename, outfilename, tablename,samplerate):
    +
    12  fin = open(os.path.expanduser(infilename), "rb")
    +
    13  print "opened " + infilename
    +
    14  valuesetad = os.path.getsize(os.path.expanduser(infilename))/4 ## adjust for number format
    +
    15 
    +
    16  ##print valuesetad
    +
    17  valuesfromfile = array.array('f')## array of floats
    +
    18  try:
    +
    19  valuesfromfile.fromfile(fin,valuesetad)
    +
    20  finally:
    +
    21  fin.close()
    +
    22 
    +
    23  values=valuesfromfile.tolist()
    +
    24 ## print values[0]
    +
    25 ## print values[len(values)-1]
    +
    26 ## print len(values)
    +
    27  fout = open(os.path.expanduser(outfilename), "w")
    +
    28  fout.write('#ifndef ' + tablename + '_H_' + '\n')
    +
    29  fout.write('#define ' + tablename + '_H_' + '\n \n')
    +
    30  fout.write('#if ARDUINO >= 100'+'\n')
    +
    31  fout.write('#include "Arduino.h"'+'\n')
    +
    32  fout.write('#else'+'\n')
    +
    33  fout.write('#include "WProgram.h"'+'\n')
    +
    34  fout.write('#endif'+'\n')
    +
    35  fout.write('#include <avr/pgmspace.h>'+'\n \n')
    +
    36  fout.write('#define ' + tablename + '_NUM_CELLS '+ str(len(values))+'\n')
    +
    37  fout.write('#define ' + tablename + '_SAMPLERATE '+ str(samplerate)+'\n \n')
    +
    38  outstring = 'const char __attribute__((progmem)) ' + tablename + '_DATA [] = {'
    +
    39  try:
    +
    40  for num in values:
    +
    41  outstring += str(math.trunc((num*256)+0.5)) + ", "
    +
    42  ## outstring += str(num) + ", "
    +
    43  ##values.fromfile(fin, bytesetad)
    +
    44  finally:
    +
    45  outstring += "};"
    +
    46  outstring = textwrap.fill(outstring, 80)
    +
    47  fout.write(outstring)
    +
    48  fout.write('\n \n #endif /* ' + tablename + '_H_ */\n')
    +
    49  fout.close()
    +
    50  print "wrote " + outfilename
    +
    51 
    +
    52 float2mozzi(infilename, outfilename, tablename, samplerate)
    +
    +
    + + diff --git a/doc/html/float2mozzi__uint8_8py_source.html b/doc/html/float2mozzi__uint8_8py_source.html index 8cedc7f9c..05c6a4fa1 100644 --- a/doc/html/float2mozzi__uint8_8py_source.html +++ b/doc/html/float2mozzi__uint8_8py_source.html @@ -3,46 +3,44 @@ + Mozzi: python/float2mozzi_uint8.py Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,63 +99,65 @@
    -
    python/float2mozzi_uint8.py
    +
    float2mozzi_uint8.py
    -
    00001 ## for converting 32 bit float raw files from Audacity, with values > 0, to 0-255 uint8 Mozzi table
    -00002 
    -00003 import sys, array, os, textwrap, math
    -00004 
    -00005 def float2mozzi_uint8(infilename, outfilename, tablename,samplerate):
    -00006     fin = open(os.path.expanduser(infilename), "rb")
    -00007     print "opened " + infilename
    -00008     valuesetad = os.path.getsize(os.path.expanduser(infilename))/4 ## adjust for number format
    -00009 
    -00010     ##print valuesetad
    -00011     valuesfromfile = array.array('f')## array of floats
    -00012     try:
    -00013         valuesfromfile.fromfile(fin,valuesetad)
    -00014     finally:
    -00015         fin.close()
    -00016 
    -00017     values=valuesfromfile.tolist()
    -00018 ##    print values[0]
    -00019 ##    print values[len(values)-1]
    -00020 ##    print len(values)
    -00021     fout = open(os.path.expanduser(outfilename), "w")
    -00022     fout.write('#ifndef ' + tablename + '_H_' + '\n')
    -00023     fout.write('#define ' + tablename + '_H_' + '\n \n')
    -00024     fout.write('#if ARDUINO >= 100'+'\n')
    -00025     fout.write('#include "Arduino.h"'+'\n')
    -00026     fout.write('#else'+'\n')
    -00027     fout.write('#include "WProgram.h"'+'\n')
    -00028     fout.write('#endif'+'\n')   
    -00029     fout.write('#include <avr/pgmspace.h>'+'\n \n')
    -00030     fout.write('#define ' + tablename + '_NUM_CELLS '+ str(len(values))+'\n')
    -00031     fout.write('#define ' + tablename + '_SAMPLERATE '+ str(samplerate)+'\n \n')
    -00032     outstring = 'const char __attribute__((progmem)) ' + tablename + '_DATA [] = {'
    -00033     try:
    -00034         for num in values:
    -00035             outstring += str(math.trunc((num*256)+0.5)) + ", "
    -00036  ##           outstring += str(num) + ", "
    -00037         ##values.fromfile(fin, bytesetad)
    -00038     finally:
    -00039         outstring +=  "};"
    -00040         outstring = textwrap.fill(outstring, 80)
    -00041         fout.write(outstring)
    -00042         fout.write('\n \n #endif /* ' + tablename + '_H_ */\n')
    -00043         fout.close()
    -00044         print "wrote " + outfilename
    -00045 
    -00046 float2mozzi_uint8(infilename, outfilename, tablename, samplerate)
    -
    - - - - +
    1 ## for converting 32 bit float raw files from Audacity, with values > 0, to 0-255 uint8 Mozzi table
    +
    2 
    +
    3 import sys, array, os, textwrap, math
    +
    4 
    +
    5 def float2mozzi_uint8(infilename, outfilename, tablename,samplerate):
    +
    6  fin = open(os.path.expanduser(infilename), "rb")
    +
    7  print "opened " + infilename
    +
    8  valuesetad = os.path.getsize(os.path.expanduser(infilename))/4 ## adjust for number format
    +
    9 
    +
    10  ##print valuesetad
    +
    11  valuesfromfile = array.array('f')## array of floats
    +
    12  try:
    +
    13  valuesfromfile.fromfile(fin,valuesetad)
    +
    14  finally:
    +
    15  fin.close()
    +
    16 
    +
    17  values=valuesfromfile.tolist()
    +
    18 ## print values[0]
    +
    19 ## print values[len(values)-1]
    +
    20 ## print len(values)
    +
    21  fout = open(os.path.expanduser(outfilename), "w")
    +
    22  fout.write('#ifndef ' + tablename + '_H_' + '\n')
    +
    23  fout.write('#define ' + tablename + '_H_' + '\n \n')
    +
    24  fout.write('#if ARDUINO >= 100'+'\n')
    +
    25  fout.write('#include "Arduino.h"'+'\n')
    +
    26  fout.write('#else'+'\n')
    +
    27  fout.write('#include "WProgram.h"'+'\n')
    +
    28  fout.write('#endif'+'\n')
    +
    29  fout.write('#include <avr/pgmspace.h>'+'\n \n')
    +
    30  fout.write('#define ' + tablename + '_NUM_CELLS '+ str(len(values))+'\n')
    +
    31  fout.write('#define ' + tablename + '_SAMPLERATE '+ str(samplerate)+'\n \n')
    +
    32  outstring = 'const char __attribute__((progmem)) ' + tablename + '_DATA [] = {'
    +
    33  try:
    +
    34  for num in values:
    +
    35  outstring += str(math.trunc((num*256)+0.5)) + ", "
    +
    36  ## outstring += str(num) + ", "
    +
    37  ##values.fromfile(fin, bytesetad)
    +
    38  finally:
    +
    39  outstring += "};"
    +
    40  outstring = textwrap.fill(outstring, 80)
    +
    41  fout.write(outstring)
    +
    42  fout.write('\n \n #endif /* ' + tablename + '_H_ */\n')
    +
    43  fout.close()
    +
    44  print "wrote " + outfilename
    +
    45 
    +
    46 float2mozzi_uint8(infilename, outfilename, tablename, samplerate)
    +
    +
    + + diff --git a/doc/html/ftv2blank.png b/doc/html/ftv2blank.png new file mode 100644 index 0000000000000000000000000000000000000000..63c605bb4c3d941c921a4b6cfa74951e946bcb48 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRr!3HExu9B$%QnH>djv*C{Z|`mdau^P8_z}#X h?B8GEpdi4(BFDx$je&7RrDQEg&ePS;Wt~$(69Dh@6T1Ka literal 0 HcmV?d00001 diff --git a/doc/html/ftv2cl.png b/doc/html/ftv2cl.png new file mode 100644 index 0000000000000000000000000000000000000000..5e4ccd7d04f677e21e6caaee4bd466827b0d2290 GIT binary patch literal 451 zcmV;!0X+VRP)XiH#cP0EHOK7j_nNjFn^Zp{4(?3Oj=i^QUP#G3xJax4`|bi zWc+tn3<+Thz`~`lpFW15@JCn&LJI#rb0O|o1W?hpXcxeSR^cariXITC zy%=2$kUE${Y=g9w3Nbz715EEAfJ$AHSJsA!#e=v#Mtc|>@{&l7eG~#<>3tUQ>g{v0 z5cA9W{~A9l#b-!07iLqdv{#<*2=uWe`9!8vYKnQW@aCH4Jcf znHC4o6jQ+U)r(QjM*59P2uPOfGwu4S$Nbq`*kN9Ju==SCpE3A=E(y1jJi8A zhc}dpWg<&{W5Sohn`rtS=h+7UTl9cupDTrO(h6hr_3002ovPDHLkV1hp^!7Ts) literal 0 HcmV?d00001 diff --git a/doc/html/ftv2doc.png b/doc/html/ftv2doc.png new file mode 100644 index 0000000000000000000000000000000000000000..b37d8946f4646206d5c55ddaaf6a327f13a6df94 GIT binary patch literal 771 zcmV+e1N{7nP)bt2sT;SN`9Egu z%B?1l5M;*qL5!jaBbJY18MH05bIxfcq1-zg!@@<=Uvh8m$$8HEJnwt&Rx6jw0Q-gx zu%GO^fD@pWm$R$oVzEU2+qSyj64&c%1#;N}fuIYo&xsjw(cEg#(iYGF>~N&hX@FhK zO)aMzqkaOW3nNh3(C4qPn#mKYcN2{Tcs{j^)1{}w4c_|zR#;l(aB4Ul8oI8biSxNV zI!2vK2}WXm7C-z;ByP~#-@x4TGH+k4+jfd=21=kRB5}EN{GytG>E^@RoLVDA`c5=T zOIcdnv=p%yaOz4#SWvkZRe8J)A>tHO82pi*<-x6K9{;((My^Qa(^r5!SZ45k{!6;K z#jj4DS^B1g46$)`Ij<^cZuQe7o`>o^m_auypTCM~bq*d0?#aTki@sMN{eLmDf}F+F zNR*jp8P!?g29L5#Y)I})QLQgjI}X_Ox3x(5FE}?I=cowN>vJ$N7GwNMlH+G03<|-P zM1Ww}&4GxILf%@ywgPF7{5^fL$m_q>NE{CG@m&tT;bcLCd@R+ZHgE3^QQ9t3D3k#9 z@V}ERy+1n|V`8$Mp^L3tz0t|=Se&~L2N)cV2vJkbh8gw%SYlg&CZuHs^7L|`HaE7& zuH;o~%8lp$&Z^G2cBe<#2VjM51#Y)PWe`u+(J$s8%q4Mu{a&wH zBU>223fl@Q7U?2`e|RHKo9HmrfYoL&aHtt8Il8M?6kD(B!F711;pZ1&rOoi6i4Fccj)}3LRaE~ zqC0tk_V`JL`fe+`0BW(!K-i!Sk39nTVSfHk=6{u$!=S;u%dr3e002ovPDHLkV1fXV Bbus_| literal 0 HcmV?d00001 diff --git a/doc/html/ftv2folderclosed.png b/doc/html/ftv2folderclosed.png new file mode 100644 index 0000000000000000000000000000000000000000..52c1fbf6dbb5bca1ff333d15927109ac64e9a0f1 GIT binary patch literal 578 zcmV-I0=@l-P)mUrg;AiKW66Iq%2E-rD+PVOkFxb51^?pp6!+I zUw;J_GQN6>>o+$OfTL(9fr4MSIGE29f!%%cO$h*wq)D^MPab_J_dfk#c*zqag06c$ z?(WaY^b@u9pZeA}PjLJGC|b!TlL@ep=TARRZr#~tCiXID9W=C~X0Tsg^5vKn0$ zJ07q#>a)GG#@4X!#^=XtynXqFYd1C?{;@>g_j4C@h%7{%|FR^hWK@)xnP0auwx(cZ zB?D+_i$H;=KaI1YJkDQuFb8S^dFlLW^V|Zov@?UkN>lp?>=)LL6O3q)d#&jN^~MWCfQkPKX;6^=&iGpTw}k<|}IDtq)a0g-ez+2jQ?AyN#@ zNI$M$E*+;?oJCKNx?bi^g2So7)Q%!RQv>OOp!=EXya(@IEgrgX$?EfvMf2(C4~_vu z+9J67VEi~-CL=Xft7QszBlJc~lt~uO_EML@Uo~0YoqGWPO8@_Vw51dL2El?RSB@Er Qm;e9(07*qoM6N<$g22WI>;M1& literal 0 HcmV?d00001 diff --git a/doc/html/ftv2folderopen.png b/doc/html/ftv2folderopen.png new file mode 100644 index 0000000000000000000000000000000000000000..2023a29e432b66575d03c404d514c0b713be8c58 GIT binary patch literal 615 zcmV-t0+{`YP)YwylC-|o!%YG|ziVBcT@z<%Q2Cny0x z5jNJp>-Vc$2qTSf6cIFzcO9G>cm@FcDW(#z^G36Z%AAFgod{JgH}Uq(r#LG(Hw>aO zEdv(e`i*uWu@wXX0OYXt?rUI|O_(OFBWHHmf`7OQ&!0oRQHA4`;nXUaKWJm?%MSV% z>h}R43nQDRPamynUJymeSiZA~LLEmft0(&9B7PB_$s9H$MEp)oVvmN(#?lxIId?W-n519DPKC*wVpkQpgD) zs*-p4qRkQTg5l2)Rw*Gch=||Gc8w^T*bzIF`P`E20)RAf1UzwfH-tGdV&@VSFJ=O9 z$gia@3WRhf0Xy0mhOj9$nJlY9Yhfl7g2&Pu@q=RYBrBwjT=MS#z~93EKN9> literal 0 HcmV?d00001 diff --git a/doc/html/ftv2lastnode.png b/doc/html/ftv2lastnode.png new file mode 100644 index 0000000000000000000000000000000000000000..63c605bb4c3d941c921a4b6cfa74951e946bcb48 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRr!3HExu9B$%QnH>djv*C{Z|`mdau^P8_z}#X h?B8GEpdi4(BFDx$je&7RrDQEg&ePS;Wt~$(69Dh@6T1Ka literal 0 HcmV?d00001 diff --git a/doc/html/ftv2link.png b/doc/html/ftv2link.png new file mode 100644 index 0000000000000000000000000000000000000000..b37d8946f4646206d5c55ddaaf6a327f13a6df94 GIT binary patch literal 771 zcmV+e1N{7nP)bt2sT;SN`9Egu z%B?1l5M;*qL5!jaBbJY18MH05bIxfcq1-zg!@@<=Uvh8m$$8HEJnwt&Rx6jw0Q-gx zu%GO^fD@pWm$R$oVzEU2+qSyj64&c%1#;N}fuIYo&xsjw(cEg#(iYGF>~N&hX@FhK zO)aMzqkaOW3nNh3(C4qPn#mKYcN2{Tcs{j^)1{}w4c_|zR#;l(aB4Ul8oI8biSxNV zI!2vK2}WXm7C-z;ByP~#-@x4TGH+k4+jfd=21=kRB5}EN{GytG>E^@RoLVDA`c5=T zOIcdnv=p%yaOz4#SWvkZRe8J)A>tHO82pi*<-x6K9{;((My^Qa(^r5!SZ45k{!6;K z#jj4DS^B1g46$)`Ij<^cZuQe7o`>o^m_auypTCM~bq*d0?#aTki@sMN{eLmDf}F+F zNR*jp8P!?g29L5#Y)I})QLQgjI}X_Ox3x(5FE}?I=cowN>vJ$N7GwNMlH+G03<|-P zM1Ww}&4GxILf%@ywgPF7{5^fL$m_q>NE{CG@m&tT;bcLCd@R+ZHgE3^QQ9t3D3k#9 z@V}ERy+1n|V`8$Mp^L3tz0t|=Se&~L2N)cV2vJkbh8gw%SYlg&CZuHs^7L|`HaE7& zuH;o~%8lp$&Z^G2cBe<#2VjM51#Y)PWe`u+(J$s8%q4Mu{a&wH zBU>223fl@Q7U?2`e|RHKo9HmrfYoL&aHtt8Il8M?6kD(B!F711;pZ1&rOoi6i4Fccj)}3LRaE~ zqC0tk_V`JL`fe+`0BW(!K-i!Sk39nTVSfHk=6{u$!=S;u%dr3e002ovPDHLkV1fXV Bbus_| literal 0 HcmV?d00001 diff --git a/doc/html/ftv2mlastnode.png b/doc/html/ftv2mlastnode.png new file mode 100644 index 0000000000000000000000000000000000000000..f2e37def0a7beebb671068e8aad1a8a30db7405a GIT binary patch literal 244 zcmV4o&ar~M7gWwZIlp`7esgg?o00004o&ar~M7gWwZIlp`7esgg?o0000XGL2z~S3kbSq@*9X>L!2B05d{$~qV5ij zb`j!x7cW#u?o2R)L*SPS*SkFL^IY$;dT|^BRK^fMl~gWJGY@;6vlVH!g(UzBSHf|4 zx_SxVLOYO`Z%K15>;TIS)R+sIvku_GM05a90ADx+aA5=jbrahu8=YzWLw%(7qknh5 zZRREe04(G#^7uquxATi*0Hw(k=)Zr`T1Z|T%r??KfTCmy+~2^w@e%!@gS+db+O^GQQvFT2>Mag>I&&41x}G0<0Hw(N7Y$}^903$1 zSHP@;%HQ`rfKqtsxR!0-{q4pXxE^HV%>mdj4nlx}909n{t0y{8TU literal 0 HcmV?d00001 diff --git a/doc/html/ftv2node.png b/doc/html/ftv2node.png new file mode 100644 index 0000000000000000000000000000000000000000..63c605bb4c3d941c921a4b6cfa74951e946bcb48 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRr!3HExu9B$%QnH>djv*C{Z|`mdau^P8_z}#X h?B8GEpdi4(BFDx$je&7RrDQEg&ePS;Wt~$(69Dh@6T1Ka literal 0 HcmV?d00001 diff --git a/doc/html/ftv2ns.png b/doc/html/ftv2ns.png new file mode 100644 index 0000000000000000000000000000000000000000..60f82b4cda12654fb96bd8c5c6fd76887c7557a7 GIT binary patch literal 382 zcmV-^0fGLBP)wl7ppzho;N(=?byCo+Wa=&`ZvF)hA_xwm;9?QQ z%|U3X2;vmq9l1b-+>w-Q9{Kc+aOumtJ6_g87={43=>f=7?g9GDpt^pwAl;Uj0kC)w z_27Kz4!}icAb-9h-L=>T<{Z?VTY07e;9{2O5FmwKaRlIE0t~C4@hKlkUE4jFjVG;c zPQ>@soT!ZfxFl}!=wylIwGn`>SWnSnWe9(;2#}dIK!3?&W2X#|S$s@^j_d9DQ!i6_ zdH^7^#0*q`#$!v5y9tt*foiAq279%6yrMdl0O?uxpxyl8=JFjNGiwH_U7Wn=y-)zs zG69;xe|>7JvH{Scwto-s*9U-$S)u?SrDFgWoq?2qK;HZ-Dr6pj#dlOq&j4Hs|6eo! co7@BZ0^SZrr|xL&Qvd(}07*qoM6N<$f;-f!m;e9( literal 0 HcmV?d00001 diff --git a/doc/html/ftv2plastnode.png b/doc/html/ftv2plastnode.png new file mode 100644 index 0000000000000000000000000000000000000000..7bc0623867f370b5d8ec3bbc2ac1638b08e20ba0 GIT binary patch literal 230 zcmVu`M g1mGL`-}n!L2S$x33&1)S9smFU07*qoM6N<$fu`M g1mGL`-}n!L2S$x33&1)S9smFU07*qoM6N<$f-{AmhX=Jf(#6d44y8IAr*{o?=JLmPLyf; z_&mel)vE4IMR|@ahmW)#+#r$aDA2O;QR#_2O)C%XvgvuGn&aBD&TsL{H#}kYHf{TM z;Pc*x$FKi0-(W9yHtwEW{%`*4dmXpe-nZO;oB4#gr-KTq=Haql5jlD@ z_4AiUKQtEH0BsN0-E+ Z7?1q2)86$d-WM1o44$rjF6*2UngG@rd!+yX literal 0 HcmV?d00001 diff --git a/doc/html/ftv2vertline.png b/doc/html/ftv2vertline.png new file mode 100644 index 0000000000000000000000000000000000000000..63c605bb4c3d941c921a4b6cfa74951e946bcb48 GIT binary patch literal 86 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRr!3HExu9B$%QnH>djv*C{Z|`mdau^P8_z}#X h?B8GEpdi4(BFDx$je&7RrDQEg&ePS;Wt~$(69Dh@6T1Ka literal 0 HcmV?d00001 diff --git a/doc/html/functions.html b/doc/html/functions.html index b3662ccd9..b1db07911 100644 --- a/doc/html/functions.html +++ b/doc/html/functions.html @@ -3,46 +3,44 @@ + Mozzi: Class Members - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -73,6 +71,7 @@ @@ -99,13 +98,27 @@
  • w
  • +
    +
    + +
    +
    + +
    @@ -128,8 +141,8 @@

    - a -

    @@ -179,22 +192,21 @@

    - n -

    - - - - +
    + + diff --git a/doc/html/functions_func.html b/doc/html/functions_func.html index cc028174c..0e7054e3c 100644 --- a/doc/html/functions_func.html +++ b/doc/html/functions_func.html @@ -3,46 +3,44 @@ + Mozzi: Class Members - Functions - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -73,6 +71,7 @@ @@ -99,13 +98,27 @@
  • w
  • +
    +
    + +
    +
    + +
    @@ -128,8 +141,8 @@

    - a -

    @@ -179,22 +192,21 @@

    - n -

    - - - - +
    + + diff --git a/doc/html/group___soundtables.html b/doc/html/group___soundtables.html new file mode 100644 index 000000000..d0599e2fa --- /dev/null +++ b/doc/html/group___soundtables.html @@ -0,0 +1,121 @@ + + + + + + +Mozzi: Soundtables + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    Mozzi +  alpha 0.01.2c +
    +
    sound synthesis library for Arduino
    +
    +
    + + + + +
    +
    + +
    +
    +
    + +
    + + + + +
    + +
    + +
    +
    +
    Soundtables
    +
    +
    + +

    Look-up-tables for audio waveforms, waveshaping, and control functions, and python scripts to generate or convert them. +More...

    +

    Look-up-tables for audio waveforms, waveshaping, and control functions, and python scripts to generate or convert them.

    +

    Includes ready-to-use wave tables and a few example samples which are in the Mozzi/tables and Mozzi/samples folders. You can convert your own sounds from a program like Audacity to tables for Mozzi with a script called char2mozzi.py, in Mozzi/python. Read the char2mozzi.py file for instructions. Also check out the other scripts in the python folder for templates to use if you want to do your own thing.

    +
    +
    + + + + diff --git a/doc/html/group__analog.html b/doc/html/group__analog.html index 32427cdff..b23070200 100644 --- a/doc/html/group__analog.html +++ b/doc/html/group__analog.html @@ -3,46 +3,44 @@ -Mozzi: Mozzi analog input functions for sensors and audio - + +Mozzi: Mozzi fast analog input functions for sensors and audio - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,13 +68,27 @@
  • +
    +
    + +
    +
    + +
    @@ -89,60 +101,77 @@
    -
    Mozzi analog input functions for sensors and audio
    +
    Mozzi fast analog input functions for sensors and audio
    + +

    Glitch-free audio by speeding up analog input functions which normally block processing. +More...

    - - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + +

    +

    Functions

    void adcEnableInterrupt ()
     Call this in setup() to enable reading analog inputs in the background while audio generating continues.
     Call this in setup() to enable reading analog inputs in the background while audio generating continues. More...
     
    void setupFastAnalogRead ()
     Make analogRead() faster than the standard Arduino version, changing the duration from about 105 in unmodified Arduino to 15 microseconds for a dependable analogRead().
     Make analogRead() faster than the standard Arduino version, changing the duration from about 105 in unmodified Arduino to 15 microseconds for a dependable analogRead(). More...
     
    void disconnectDigitalIn (byte channel_num)
     Prepare an analog input channel by turning off its digital input buffer.
     Prepare an analog input channel by turning off its digital input buffer. More...
     
    void reconnectDigitalIn (byte channel_num)
     Reconnect the digital input buffer for an analog input channel which has been set for analog input with disconnectDigitalIn().
     Reconnect the digital input buffer for an analog input channel which has been set for analog input with disconnectDigitalIn(). More...
     
    void adcDisconnectAllDigitalIns ()
     Prepare all analog input channels by turning off their digital input buffers.
     Prepare all analog input channels by turning off their digital input buffers. More...
     
    void adcReconnectAllDigitalIns ()
     Reconnect the digital input buffers for analog input channels which have been set for analog input with disconnectDigitalIn().
     Reconnect the digital input buffers for analog input channels which have been set for analog input with disconnectDigitalIn().
     
    void adcSetChannel (unsigned char pin)
     Set the channel or pin for the next analog input to be read from.
     Set the channel or pin for the next analog input to be read from. More...
     
    void adcStartConversion (unsigned char pin)
     Starts an analog to digital conversion of the voltage at a specified pin.
     Starts an analog to digital conversion of the voltage at a specified pin. More...
     
    void adcStartConversion ()
     Starts the analog conversion on the pin or channel most recently set with adcSetChannel();.
     Starts the analog conversion on the pin or channel most recently set with adcSetChannel();.
     
    int adcGetResult ()
     Waits for the result of the most recent adcStartConversion().
     Waits for the result of the most recent adcStartConversion(). More...
     
    int adcGetResult (unsigned char channel_num)
     This returns the most recent analog reading for the specified channel.
     This returns the most recent analog reading for the specified channel. More...
     
    void adcReadAllChannels ()
     Call adcReadAllChannels() in updateControl() and the results for each channel will be available by calling adcGetResult(channel_num) next time updateControl() runs.
     Call adcReadAllChannels() in updateControl() and the results for each channel will be available by calling adcGetResult(channel_num) next time updateControl() runs. More...
     
    int getAudioInput ()
     This returns audio input from the input buffer, if #define USE_AUDIO_INPUT true is in the Mozzi/mozzi_config.h file.
     This returns audio input from the input buffer, if #define USE_AUDIO_INPUT true is in the Mozzi/mozzi_config.h file. More...
     
    -

    Function Documentation

    +

    Detailed Description

    +

    Glitch-free audio by speeding up analog input functions which normally block processing.

    +

    Function Documentation

    - + - +
    void adcDisconnectAllDigitalIns void adcDisconnectAllDigitalIns ())
    -
    -
    +

    Prepare all analog input channels by turning off their digital input buffers.

    This helps to reduce noise, increase analog reading speed, and save power.

    -

    Definition at line 186 of file mozzi_analog.cpp.

    +

    Definition at line 196 of file mozzi_analog.cpp.

    @@ -151,24 +180,23 @@
    - + - +
    void adcEnableInterrupt void adcEnableInterrupt ())
    -
    -
    +

    Call this in setup() to enable reading analog inputs in the background while audio generating continues.

    -

    Then call adcReadAllChannels() at the end of each updateControl() and the results for each analog channel will be available by calling adcGetResult(channel_num) next time updateControl() runs.

    -
    Note:
    This method using adcEnableInterrupt(), adcReadAllChannels() and adcGetResult() is an easy and efficient way to read analog inputs while generating sound with Mozzi. For many sketches, however, simply putting setupFastAnalogRead() in setup() and calling Arduino's usual analogRead() will work fast enough.
    +

    Then call adcReadAllChannels() at the end of each updateControl() and the results for each analog channel will be available by calling adcGetResult(channel_num) next time updateControl() runs.

    +
    Note
    This method using adcEnableInterrupt(), adcReadAllChannels() and adcGetResult() is an easy and efficient way to read analog inputs while generating sound with Mozzi. For many sketches, however, simply putting setupFastAnalogRead() in setup() and calling Arduino's usual analogRead() will work fast enough.
    Don't use setupFastAnalogRead() with adcEnableInterrupt(). It may cause the ADC process to hog the processor, causing audio glitches.
    -In some cases this method can cause glitches which may have to do with the ADC interrupt interfering with the audio or control interrupts. If this occurs, use the adcStartConversion(), adcGetResult() methods instead.
    +In some cases this method can cause glitches which may have to do with the ADC interrupt interfering with the audio or control interrupts. If this occurs, use the adcStartConversion(), adcGetResult() methods instead.
    -

    Definition at line 36 of file mozzi_analog.cpp.

    +

    Definition at line 44 of file mozzi_analog.cpp.

    @@ -177,23 +205,22 @@
    - + - +
    int adcGetResult int adcGetResult ())
    -
    -
    +
    -

    Waits for the result of the most recent adcStartConversion().

    -

    If used as the first function of updateControl(), to receive the result of adcStartConversion() from the end of the last updateControl(), there will probably be no waiting time, as the ADC conversion will have happened in between interrupts. This is a big time-saver, since you don't have to waste time waiting for analogRead() to return (1us here vs 105 us for standard Arduino).

    -
    Returns:
    The resut of the most recent adcStartConversion().
    -
    Note:
    This is the most audio-friendly way to read analog inputs, but can be messier in your program than the the adcEnableInterrupt(), adcReadAllChannels(), adcGetResult(byte) way.
    +

    Waits for the result of the most recent adcStartConversion().

    +

    If used as the first function of updateControl(), to receive the result of adcStartConversion() from the end of the last updateControl(), there will probably be no waiting time, as the ADC conversion will have happened in between interrupts. This is a big time-saver, since you don't have to waste time waiting for analogRead() to return (1us here vs 105 us for standard Arduino).

    +
    Returns
    The resut of the most recent adcStartConversion().
    +
    Note
    This is the most audio-friendly way to read analog inputs, but can be messier in your program than the the adcEnableInterrupt(), adcReadAllChannels(), adcGetResult(byte) way.
    -Timing: about 1us when used in updateControl() with CONTROL_RATE 64.
    +Timing: about 1us when used in updateControl() with CONTROL_RATE 64.
    -

    Definition at line 145 of file mozzi_analog.cpp.

    +

    Definition at line 155 of file mozzi_analog.cpp.

    @@ -202,28 +229,27 @@
    - + - +
    int adcGetResult int adcGetResult ( unsigned char channel_num)channel_num)
    -
    -
    +

    This returns the most recent analog reading for the specified channel.

    -
    Parameters:
    +
    Parameters
    channel_numThe channels are plain numbers 0 to whatever your board goes up to, not the pin labels A0 to A... which Arduino maps to different numbers depending on the board being used.
    -
    Note:
    The adcEnableInterrupt(), adcReadAllChannels(), adcGetResult() approach is currently set to work with all channels on each kind of board. You can change the number of channels to use in mozzi_analog.cpp by editing NUM_ANALOG_INPUTS if desired.
    +
    Note
    The adcEnableInterrupt(), adcReadAllChannels(), adcGetResult() approach is currently set to work with all channels on each kind of board. You can change the number of channels to use in mozzi_analog.cpp by editing NUM_ANALOG_INPUTS if desired.
    In some cases this method can cause glitches which may have to do with the ADC interrupt interfering with the audio or control interrupts.
    -

    Definition at line 241 of file mozzi_analog.cpp.

    +

    Definition at line 251 of file mozzi_analog.cpp.

    @@ -232,21 +258,20 @@
    - + - +
    void adcReadAllChannels void adcReadAllChannels ())
    -
    -
    +
    -

    Call adcReadAllChannels() in updateControl() and the results for each channel will be available by calling adcGetResult(channel_num) next time updateControl() runs.

    +

    Call adcReadAllChannels() in updateControl() and the results for each channel will be available by calling adcGetResult(channel_num) next time updateControl() runs.

    Reading will happen in the background, using a minimum of processor time and without blocking other code.

    More detail: adcReadAllChannels() starts an initial conversion which triggers an interrupt when it's complete. The interrupt code stores the result in an array, changes to the next channel and starts another conversion. When all the channels have been sampled, the ISR doesn't start a new conversion, so it doesn't re-trigger itself or use processor time until adcReadAllChannels() is called again. At any time the latest conversion result for each channel is available by calling adcGetResult(channel_num).

    -
    Note:
    In some cases this method can cause glitches which may have to do with the ADC interrupt interfering with the audio or control interrupts.
    +
    Note
    In some cases this method can cause glitches which may have to do with the ADC interrupt interfering with the audio or control interrupts.
    -

    Definition at line 229 of file mozzi_analog.cpp.

    +

    Definition at line 239 of file mozzi_analog.cpp.

    @@ -255,25 +280,24 @@
    - + - +
    void adcSetChannel void adcSetChannel ( unsigned char pin)pin)
    -
    -
    +

    Set the channel or pin for the next analog input to be read from.

    -
    Parameters:
    +
    Parameters
    - +
    channelor pin number. If pin number is provided, adcSetChannel() will convert it to the channel number.
    channelor pin number. If pin number is provided, adcSetChannel() will convert it to the channel number.
    -

    Definition at line 46 of file mozzi_analog.cpp.

    +

    Definition at line 54 of file mozzi_analog.cpp.

    @@ -282,29 +306,28 @@
    - + - +
    void adcStartConversion void adcStartConversion ( unsigned char pin)pin)
    -
    -
    +

    Starts an analog to digital conversion of the voltage at a specified pin.

    -

    Unlike Arduino's analogRead() function which waits until a conversion is complete before returning, adcStartConversion() only sets the conversion to begin, so you can use the cpu for other things and call for the result later with adcGetResult(). This works well in updateControl(), where you can call adcStartConversion() and get the result with adcGetResult() the next time the updateControl() interrupt runs.

    -
    Parameters:
    +

    Unlike Arduino's analogRead() function which waits until a conversion is complete before returning, adcStartConversion() only sets the conversion to begin, so you can use the cpu for other things and call for the result later with adcGetResult(). This works well in updateControl(), where you can call adcStartConversion() and get the result with adcGetResult() the next time the updateControl() interrupt runs.

    +
    Parameters
    pinis the analog pin number (A0 to A...) or the channel number (0 to ....) to read.
    -
    Note:
    This is the most audio-friendly way to read analog inputs, but can be messier in your program than the the adcEnableInterrupt(), adcReadAllChannels(), adcGetResult() way.
    +
    Note
    This is the most audio-friendly way to read analog inputs, but can be messier in your program than the the adcEnableInterrupt(), adcReadAllChannels(), adcGetResult() way.
    -Timing: about 1us when used in updateControl() with CONTROL_RATE 64.
    +Timing: about 1us when used in updateControl() with CONTROL_RATE 64.
    -

    Definition at line 89 of file mozzi_analog.cpp.

    +

    Definition at line 97 of file mozzi_analog.cpp.

    @@ -313,15 +336,14 @@
    - + - +
    void disconnectDigitalIn void disconnectDigitalIn ( byte channel_num)channel_num)
    -
    -
    +

    Prepare an analog input channel by turning off its digital input buffer.

    This helps to reduce noise, increase analog reading speed, and save power.

    @@ -329,14 +351,14 @@

    The DIDR (Data Input Disable Register) disconnects the digital inputs from whichever ADC channels you are using. This is important for 2 reasons. First off, an analog input will be floating all over the place, and causing the digital input to constantly toggle high and low. This creates excessive noise near the ADC, and burns extra power. Secondly, the digital input and associated DIDR switch have a capacitance associated with them which will slow down your input signal if you are sampling a highly resistive load.

    And from the ATmega328p datasheet, p266:

    When an analog signal is applied to the ADC pin and the digital input from this pin is not needed, this bit should be written logic one to reduce power consumption in the digital input buffer. Note that ADC named_pins ADC7 and ADC6 do not have digital input buffers, and therefore do not require Digital Input Disable bits.

    -
    Parameters:
    +
    Parameters
    channel_numthe analog input channel you wish to use.
    -

    Definition at line 176 of file mozzi_analog.cpp.

    +

    Definition at line 186 of file mozzi_analog.cpp.

    @@ -345,18 +367,17 @@
    - + - +
    int getAudioInput int getAudioInput ())
    -
    -
    +

    This returns audio input from the input buffer, if #define USE_AUDIO_INPUT true is in the Mozzi/mozzi_config.h file.

    Audio input is currently restricted to analog pin 0 (this may change in future). The audio signal needs to be in the range 0 to 5 volts. Circuits and discussions about biasing a signal in the middle of this range can be found at http://electronics.stackexchange.com/questions/14404/dc-biasing-audio-signal and http://interface.khm.de/index.php/lab/experiments/arduino-realtime-audio-processing/ . A circuit and instructions for amplifying and biasing a microphone signal can be found at http://www.instructables.com/id/Arduino-Audio-Input/?ALLSTEPS

    -
    Returns:
    audio data from the input buffer
    +
    Returns
    audio data from the input buffer
    @@ -365,25 +386,24 @@
    - + - +
    void reconnectDigitalIn void reconnectDigitalIn ( byte channel_num)channel_num)
    -
    -
    +
    -

    Reconnect the digital input buffer for an analog input channel which has been set for analog input with disconnectDigitalIn().

    -
    Parameters:
    +

    Reconnect the digital input buffer for an analog input channel which has been set for analog input with disconnectDigitalIn().

    +
    Parameters
    channel_numthe analog input channel you wish to reconnect.
    -

    Definition at line 181 of file mozzi_analog.cpp.

    +

    Definition at line 191 of file mozzi_analog.cpp.

    @@ -392,30 +412,30 @@
    - + - +
    void setupFastAnalogRead void setupFastAnalogRead ())
    -
    -
    +

    Make analogRead() faster than the standard Arduino version, changing the duration from about 105 in unmodified Arduino to 15 microseconds for a dependable analogRead().

    -

    Put this in setup() if you intend to use analogRead() with Mozzi, to avoid glitches. Don't use it with the adcEnableInterrupt(), adcReadAllChannels(), adcGetResult() approach, it may contribute to glitches. See: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1208715493/11, and http://www.marulaberry.co.za/index.php/tutorials/code/arduino-adc/

    +

    Put this in setup() if you intend to use analogRead() with Mozzi, to avoid glitches. Don't use it with the adcEnableInterrupt(), adcReadAllChannels(), adcGetResult() approach, it may contribute to glitches. See: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1208715493/11, and http://www.marulaberry.co.za/index.php/tutorials/code/arduino-adc/

    -

    Definition at line 27 of file mozzi_analog.cpp.

    +

    Definition at line 29 of file mozzi_analog.cpp.

    - - - - + + + diff --git a/doc/html/group__analog.js b/doc/html/group__analog.js new file mode 100644 index 000000000..5bf3a2907 --- /dev/null +++ b/doc/html/group__analog.js @@ -0,0 +1,16 @@ +var group__analog = +[ + [ "adcDisconnectAllDigitalIns", "group__analog.html#ga5042e7c576dd0307be38eb70efdb69fe", null ], + [ "adcEnableInterrupt", "group__analog.html#gac9b066c792d2b822dcf518eef19a7c3e", null ], + [ "adcGetResult", "group__analog.html#gaaf4320d2621e15ea704900ea26a8aa07", null ], + [ "adcGetResult", "group__analog.html#ga1d1ee9fa143c3a0505e76b41fc2af09f", null ], + [ "adcReadAllChannels", "group__analog.html#ga829091330473b48a8b9236d0be4b8755", null ], + [ "adcReconnectAllDigitalIns", "group__analog.html#gabad497d1f8c8026e81849be0b65bf38f", null ], + [ "adcSetChannel", "group__analog.html#gae0d3533acb5fd56db8f7317e24bea6b5", null ], + [ "adcStartConversion", "group__analog.html#ga8e081d7e359e219b7dce35538fcf3e39", null ], + [ "adcStartConversion", "group__analog.html#gac3d2277d3d3823c6d5c727067571aab3", null ], + [ "disconnectDigitalIn", "group__analog.html#gad4433797b75fedd473250e9aa414dcae", null ], + [ "getAudioInput", "group__analog.html#ga3f15eb8d6694020d170ebcbedb645de7", null ], + [ "reconnectDigitalIn", "group__analog.html#gacd83735876cf223916ea4925ec4efd4a", null ], + [ "setupFastAnalogRead", "group__analog.html#gaf46803d06aa1d839192cc6125e39ff01", null ] +]; \ No newline at end of file diff --git a/doc/html/group__core.html b/doc/html/group__core.html index e40a284ee..9bf634244 100644 --- a/doc/html/group__core.html +++ b/doc/html/group__core.html @@ -3,46 +3,44 @@ + Mozzi: Mozzi core definitions and functions - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,13 +68,27 @@
  • +
    +
    + +
    +
    + +
    @@ -87,62 +99,81 @@
    Mozzi core definitions and functions
    + +

    The bones of every Mozzi sketch. +More...

    - + - + + - + + - + + - + + - + + - + + - - + +

    -Defines

    +Macros

    #define STANDARD_PWM_RESOLUTION   488
     This is the dynamic range of Mozzi's audio output in STANDARD mode.
     This is the dynamic range of Mozzi's audio output in STANDARD mode. More...
     
    #define AUDIO_MODE   STANDARD
     Select STANDARD or HIFI audio output mode in the Mozzi/mozzi_config.h file with #define AUDIO_MODE STANDARD or #define AUDIO_MODE HIFI.
     Select STANDARD or HIFI audio output mode in the Mozzi/mozzi_config.h file with #define AUDIO_MODE STANDARD or #define AUDIO_MODE HIFI. More...
     
    #define AUDIO_RATE   16384
     AUDIO_RATE can be #defined as 16384 or 32768 Hertz in Mozzi/mozzi_config.h.
     AUDIO_RATE can be #defined as 16384 or 32768 Hertz in Mozzi/mozzi_config.h. More...
     
    #define USE_AUDIO_INPUT   false
     Put #define USE_AUDIO_INPUT true in Mozzi/mozzi_config.h to enable audio input on analog pin 0, otherwise make it false, to save resources.
     Put #define USE_AUDIO_INPUT true in Mozzi/mozzi_config.h to enable audio input on analog pin 0, otherwise make it false, to save resources. More...
     
    #define CONTROL_RATE   64
     CONTROL_RATE is #defined as 64 by default.
     Mozzi's CONTROL_RATE sets how many times per second updateControl() is called. More...
     
    #define STANDARD   0
     Use #define AUDIO_MODE STANDARD in Mozzi/config.h to select Mozzi's original audio output configuration, which is nearly 9 bit sound (-244 to 243) at 16384 Hz and 16384 Hz pwm rate.
     Use #define AUDIO_MODE STANDARD in Mozzi/config.h to select Mozzi's original audio output configuration, which is nearly 9 bit sound (-244 to 243) at 16384 Hz and 16384 Hz pwm rate. More...
     
    #define HIFI   1
     Use #define AUDIO_MODE HIFI in Mozzi/config.h to set the audio mode to HIFI for output 14 bit sound at 16384 Hz sample rate and 125kHz PWM rate.

    +

     Use #define AUDIO_MODE HIFI in Mozzi/config.h to set the audio mode to HIFI for output 14 bit sound at 16384 Hz sample rate and 125kHz PWM rate. More...
     
    + - + + - + + - + + - + + - + + - + + - + +

    Functions

    void startMozzi (int control_rate_hz=CONTROL_RATE)
     Sets up the timers for audio and control rate processes, storing the timer registers so they can be restored when Mozzi stops.
     Sets up the timers for audio and control rate processes, storing the timer registers so they can be restored when Mozzi stops. More...
     
    void pauseMozzi ()
     Stops audio and control interrupts and restores the timers to the values they had before Mozzi was started.
     Stops audio and control interrupts and restores the timers to the values they had before Mozzi was started. More...
     
    void unPauseMozzi ()
     Restores Mozzi audio and control interrupts, if they have been temporarily disabled with pauseMozzi().
     Restores Mozzi audio and control interrupts, if they have been temporarily disabled with pauseMozzi(). More...
     
    int updateAudio ()
     This is where you put your audio code.
     This is where you put your audio code. More...
     
    void updateControl ()
     This is where you put your control code.
     This is where you put your control code. More...
     
    void audioHook ()
     This is required in Arduino's loop().
     This is required in Arduino's loop(). More...
     
    unsigned long mozziMicros ()
     A replacement for Arduino micros() which is disabled by Mozzi which takes over Timer 0 for control interrupts.
     A replacement for Arduino micros() which is disabled by Mozzi which takes over Timer 0 for control interrupts. More...
     
    -

    Define Documentation

    +

    Detailed Description

    +

    The bones of every Mozzi sketch.

    +

    Macro Definition Documentation

    - +
    #define AUDIO_MODE   STANDARD#define AUDIO_MODE   STANDARD
    -
    -
    +

    Select STANDARD or HIFI audio output mode in the Mozzi/mozzi_config.h file with #define AUDIO_MODE STANDARD or #define AUDIO_MODE HIFI.

    In Mozzi/config.h, comment one of these options in and the other out to set the audio mode.

    -

    Definition at line 14 of file mozzi_config.h.

    +

    Definition at line 18 of file mozzi_config.h.

    @@ -151,11 +182,10 @@
    - +
    #define AUDIO_RATE   16384#define AUDIO_RATE   16384
    -
    -
    +

    AUDIO_RATE can be #defined as 16384 or 32768 Hertz in Mozzi/mozzi_config.h.

    Mozzi's original audio mode, now called STANDARD, uses 16384 Hz, chosen as a compromise between the sample rate (interrupt rate) and sample bitdepth (pwm width), which are interdependent due to the way pulse wave modulation is used to generate the sound output. An AUDIO_RATE of 32768 Hz only works in HIFI mode, not in STANDARD mode because it doesn't give enough time for the full pwm resolution to be reached in each cycle.

    @@ -165,7 +195,7 @@

    HIFI mode also enables the choice of using a 32768 Hz audio rate. Of course, doubling the sample rate (more than) halves the amount of time available to calculate the audio synthesis, so it may only be useful for relatively simple sketches. The increased frequency response can also make unwanted artefacts of low resolution synthesis calculations more apparent, so it's not always a bonus.

    AUDIO_RATE is set in Mozzi/mozzi_config.h, where you can comment in or out the relevant lines, choosing either #define AUDIO_RATE 16384 or #define AUDIO_RATE 32768.

    -

    Definition at line 53 of file mozzi_config.h.

    +

    Definition at line 57 of file mozzi_config.h.

    @@ -174,16 +204,16 @@
    - +
    #define CONTROL_RATE   64#define CONTROL_RATE   64
    -
    -
    - -

    CONTROL_RATE is #defined as 64 by default.

    -

    You can change it in Mozzi/mozzi_config.h or in your sketch.

    +
    -

    Definition at line 68 of file mozzi_config.h.

    +

    Mozzi's CONTROL_RATE sets how many times per second updateControl() is called.

    +

    It can be any power of 2 greater than 64, and the largest value where it starts to become impractical is around 1024. 64, 128, 256 and sometimes 512 are all usable values. Try to keep it as low as you can, for efficiency, though higher rates can sometimes give smoother results, avoiding the need to interpolate sensitive variables at audio rate in updateAudio(). CONTROL_RATE has a default of 64 Hz, but it can be changed at the top of your sketch, after the #includes, for example: #define CONTROL_RATE 256

    +
    Examples:
    _09_delays/AudioDelay/AudioDelay.ino.
    +
    +

    Definition at line 88 of file MozziGuts.h.

    @@ -192,11 +222,10 @@
    - +
    #define HIFI   1#define HIFI   1
    -
    -
    +

    Use #define AUDIO_MODE HIFI in Mozzi/config.h to set the audio mode to HIFI for output 14 bit sound at 16384 Hz sample rate and 125kHz PWM rate.

    The high PWM rate of HIFI mode places the carrier frequency beyond audible range, overcoming one of the disadvantages of STANDARD mode.

    @@ -224,7 +253,7 @@ .................13.........12...............Sanguino

    -

    Definition at line 148 of file MozziGuts.h.

    +

    Definition at line 175 of file MozziGuts.h.

    @@ -233,11 +262,10 @@
    - +
    #define STANDARD   0#define STANDARD   0
    -
    -
    +

    Use #define AUDIO_MODE STANDARD in Mozzi/config.h to select Mozzi's original audio output configuration, which is nearly 9 bit sound (-244 to 243) at 16384 Hz and 16384 Hz pwm rate.

    It uses Timer 1 to output samples at AUDIO_RATE 16384 Hz, with an interrupt being called once every PWM cycle to set the timer's own pwm level.

    @@ -257,7 +285,7 @@ ....13 .......Sanguino

    -

    Definition at line 92 of file MozziGuts.h.

    +

    Definition at line 119 of file MozziGuts.h.

    @@ -266,11 +294,10 @@
    - +
    #define STANDARD_PWM_RESOLUTION   488#define STANDARD_PWM_RESOLUTION   488
    -
    -
    +

    This is the dynamic range of Mozzi's audio output in STANDARD mode.

    It is equal to Timer1.pwmPeriod calculated for interrupt rate 16384. It's included in the documentation because it's a slightly unusual number and useful to know about when you're writing sketches.

    @@ -284,36 +311,34 @@
    - +
    #define USE_AUDIO_INPUT   false#define USE_AUDIO_INPUT   false
    -
    -
    +

    Put #define USE_AUDIO_INPUT true in Mozzi/mozzi_config.h to enable audio input on analog pin 0, otherwise make it false, to save resources.

    When audio input is used, don't read other analog channels as they'll interfere with the audio sampling.

    -

    Definition at line 62 of file mozzi_config.h.

    +

    Definition at line 66 of file mozzi_config.h.

    -

    Function Documentation

    +

    Function Documentation

    - + - +
    void audioHook void audioHook ())
    -
    -
    +

    This is required in Arduino's loop().

    -

    If there is room in Mozzi's output buffer, audioHook() calls updateAudio() once and puts the result into the output buffer. Also, if #define USE_AUDIO_INPUT true is in Mozzi/mozzi_config.h, audioHook() takes care of moving audio input from the input buffer so it can be accessed with getAudioInput() in your updateAudio() routine. If other functions are called in loop() along with audioHook(), see if they can be called less often by moving them into updateControl(), to save processing power. Otherwise it may be most efficient to calculate a block of samples at a time by putting audioHook() in a loop of its own, rather than calculating only 1 sample for each time your other functions are called.

    +

    If there is room in Mozzi's output buffer, audioHook() calls updateAudio() once and puts the result into the output buffer. Also, if #define USE_AUDIO_INPUT true is in Mozzi/mozzi_config.h, audioHook() takes care of moving audio input from the input buffer so it can be accessed with getAudioInput() in your updateAudio() routine. If other functions are called in loop() along with audioHook(), see if they can be called less often by moving them into updateControl(), to save processing power. Otherwise it may be most efficient to calculate a block of samples at a time by putting audioHook() in a loop of its own, rather than calculating only 1 sample for each time your other functions are called.

    Definition at line 149 of file MozziGuts.cpp.

    @@ -324,18 +349,17 @@
    - + - +
    unsigned long mozziMicros unsigned long mozziMicros ())
    -
    -
    +

    A replacement for Arduino micros() which is disabled by Mozzi which takes over Timer 0 for control interrupts.

    mozziMicros has a resolution of 61 microseconds. May be a useful hack for replacing micros() in time-related sensor libraries.

    -
    Returns:
    the approximate number of microseconds since the program began.
    +
    Returns
    the approximate number of microseconds since the program began.

    Definition at line 421 of file MozziGuts.cpp.

    @@ -346,14 +370,13 @@
    - + - +
    void pauseMozzi void pauseMozzi ())
    -
    -
    +

    Stops audio and control interrupts and restores the timers to the values they had before Mozzi was started.

    This will enable the standard Arduino time functions millis(), micros(), delay(), and delayMicroseconds(). This could be useful when using sensor libraries which depend on the same timers as Mozzi.

    @@ -369,24 +392,23 @@
    - + - +
    void startMozzi void startMozzi ( int control_rate_hz = CONTROL_RATE)control_rate_hz = CONTROL_RATE)
    -
    -
    +

    Sets up the timers for audio and control rate processes, storing the timer registers so they can be restored when Mozzi stops.

    startMozzi() goes in your sketch's setup() routine.

    In STANDARD and HIFI modes, Mozzi uses Timer 0 for control interrupts 0, disabling Arduino delay(), millis(), micros() and delayMicroseconds. For delaying events, you can use Mozzi's EventDelay() unit instead (not to be confused with AudioDelay()).

    In STANDARD mode, startMozzi() starts Timer 1 for PWM output and audio output interrupts, and in HIFI mode, Mozzi uses Timer 1 for PWM and Timer2 for audio interrupts.

    The audio rate is currently fixed at 16384 Hz.

    -
    Parameters:
    +
    Parameters
    - +
    control_rate_hzSets how often updateControl() is called. It can be any power of 2 above and including 64. The practical upper limit for control rate depends on how busy the processor is, and you might need to do some tests to find the best setting.
    control_rate_hzSets how often updateControl() is called. It can be any power of 2 above and including 64. The practical upper limit for control rate depends on how busy the processor is, and you might need to do some tests to find the best setting.
    @@ -401,14 +423,13 @@
    - + - +
    void unPauseMozzi void unPauseMozzi ())
    -
    -
    +

    Restores Mozzi audio and control interrupts, if they have been temporarily disabled with pauseMozzi().

    This once more takes over Timer 0, and stops the Arduino time functions millis(), micros(), delay(), and delayMicroseconds() from working.

    @@ -422,19 +443,19 @@
    - + - +
    int updateAudio int updateAudio ())
    -
    -
    +

    This is where you put your audio code.

    -

    updateAudio() has to keep up with the AUDIO_RATE of 16384 Hz, so to keep things running smoothly, avoid doing any calculations here which could be done in setup() or updateControl().

    -
    Returns:
    an audio sample. In STANDARD mode this is between -244 and 243 inclusive. In HIFI mode, it's a 14 bit number between -16384 and 16383 inclusive.
    - +

    updateAudio() has to keep up with the AUDIO_RATE of 16384 Hz, so to keep things running smoothly, avoid doing any calculations here which could be done in setup() or updateControl().

    +
    Returns
    an audio sample. In STANDARD mode this is between -244 and 243 inclusive. In HIFI mode, it's a 14 bit number between -16384 and 16383 inclusive.
    +
    Examples:
    _02_control/Control_Echo_Theremin/Control_Echo_Theremin.ino, and _09_delays/AudioDelay/AudioDelay.ino.
    +
    @@ -442,28 +463,29 @@
    - + - +
    void updateControl void updateControl ())
    -
    -
    +

    This is where you put your control code.

    -

    You need updateControl() somewhere in your sketch, even if it's empty. updateControl() is called at the control rate you set in startMozzi(). To save processor load, avoid any calculations here which could be done in setup().

    - +

    You need updateControl() somewhere in your sketch, even if it's empty. updateControl() is called at the control rate you set in startMozzi(). To save processor load, avoid any calculations here which could be done in setup().

    +
    Examples:
    _02_control/Control_Echo_Theremin/Control_Echo_Theremin.ino, and _09_delays/AudioDelay/AudioDelay.ino.
    +
    - - - - +
    + + diff --git a/doc/html/group__core.js b/doc/html/group__core.js new file mode 100644 index 000000000..b8617d179 --- /dev/null +++ b/doc/html/group__core.js @@ -0,0 +1,17 @@ +var group__core = +[ + [ "AUDIO_MODE", "group__core.html#ga9c4a39187db1d0a1ad0fa6981920f383", null ], + [ "AUDIO_RATE", "group__core.html#ga5b972bafb3267e820993812beca1b298", null ], + [ "CONTROL_RATE", "group__core.html#gae5d737db8bc97ecf08d2ea3121782d26", null ], + [ "HIFI", "group__core.html#gae99eb43cb29bb03d862ae829999916c4", null ], + [ "STANDARD", "group__core.html#ga0b8ca8ad62b88c01b639bad62eafcbf1", null ], + [ "STANDARD_PWM_RESOLUTION", "group__core.html#ga800c094e0a14fc31d87a360b3807a1b8", null ], + [ "USE_AUDIO_INPUT", "group__core.html#ga3417fc0b453af798a70340c912a4b657", null ], + [ "audioHook", "group__core.html#ga2fca37b988ab369e2f3c3108c683e59d", null ], + [ "mozziMicros", "group__core.html#gaaa6a42d80c5297407a45ca8bf3c1c7fe", null ], + [ "pauseMozzi", "group__core.html#ga0dc2dc3b2c20b081df4d55ad039f64e5", null ], + [ "startMozzi", "group__core.html#ga75aa9f4a501f4b167343b8caac8c6837", null ], + [ "unPauseMozzi", "group__core.html#ga1718c5f0bbb56cc4b2db55702750f43f", null ], + [ "updateAudio", "group__core.html#gaab0d2c840c1aac4bb5f9b8ef5df30f6a", null ], + [ "updateControl", "group__core.html#ga59d187b915b2e366c88489e52801951a", null ] +]; \ No newline at end of file diff --git a/doc/html/group__midi.html b/doc/html/group__midi.html index 13b3fecee..177ba643e 100644 --- a/doc/html/group__midi.html +++ b/doc/html/group__midi.html @@ -3,46 +3,44 @@ -Mozzi: midi note number to frequency conversions - + +Mozzi: Midi note number to frequency conversions - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,13 +68,27 @@
  • +
    +
    + +
    +
    + +
    @@ -89,50 +101,59 @@
    -
    midi note number to frequency conversions
    +
    Midi note number to frequency conversions
    + +

    Useful if you like playing notes in tune. +More...

    - - + + - + + - + + - + +

    +

    Functions

    float mtof (float midival)
     Converts midi note number to frequency.
     Converts midi note number to frequency. More...
     
    Q16n16 Q16n16_mtof (Q16n16 midival_fractional)
     Converts midi note number to frequency with speed and accuracy.
     Converts midi note number to frequency with speed and accuracy. More...
     
    unsigned int mtof (unsigned char midi_note)
     A good choice if you're using whole note values, want speed and simplicity, and accuracy isn't important.
     A good choice if you're using whole note values, want speed and simplicity, and accuracy isn't important. More...
     
    unsigned int mtof (int midi_note)
     A good choice if you're using whole note values, want speed and simplicity, and accuracy isn't important.
     A good choice if you're using whole note values, want speed and simplicity, and accuracy isn't important. More...
     
    -

    Function Documentation

    +

    Detailed Description

    +

    Useful if you like playing notes in tune.

    +

    Function Documentation

    - + - +
    float mtof float mtof ( float midival)midival)
    -
    -
    +

    Converts midi note number to frequency.

    -

    Caution: this can take up to 400 microseconds to run. It can seriously mess up the audio output if you use it in updateControl() or updateAudio(). This is a good choice in setup(), or where you need precise midi-pitch conversion and aren't doing much other audio calculation.

    -
    Note:
    Beware this returns an invalid result for midi note 0.
    +

    Caution: this can take up to 400 microseconds to run. It can seriously mess up the audio output if you use it in updateControl() or updateAudio(). This is a good choice in setup(), or where you need precise midi-pitch conversion and aren't doing much other audio calculation.

    +
    Note
    Beware this returns an invalid result for midi note 0.
    Timing: ~350 us
    -
    Parameters:
    +
    Parameters
    midivala midi note number, 1.0 or greater. Like the mtof object in Pd, midi values can have fractions.
    -
    Returns:
    the frequency represented by the input midi note number..
    - +
    Returns
    the frequency represented by the input midi note number..
    +
    Examples:
    _09_delays/AudioDelay/AudioDelay.ino.
    +

    Definition at line 17 of file mozzi_midi.cpp.

    @@ -142,24 +163,23 @@
    - + - +
    unsigned int mtof unsigned int mtof ( unsigned char midi_note)midi_note)
    -
    -
    +

    A good choice if you're using whole note values, want speed and simplicity, and accuracy isn't important.

    -
    Parameters:
    +
    Parameters
    midi_notea midi note number.
    -
    Returns:
    an integer approximation of the midi note's frequency.
    +
    Returns
    an integer approximation of the midi note's frequency.

    Definition at line 155 of file mozzi_midi.cpp.

    @@ -170,24 +190,23 @@
    - + - +
    unsigned int mtof unsigned int mtof ( int midi_note)midi_note)
    -
    -
    +

    A good choice if you're using whole note values, want speed and simplicity, and accuracy isn't important.

    -
    Parameters:
    +
    Parameters
    midi_notea midi note number.
    -
    Returns:
    an integer approximation of the midi note's frequency.
    +
    Returns
    an integer approximation of the midi note's frequency.

    Definition at line 165 of file mozzi_midi.cpp.

    @@ -198,39 +217,39 @@
    - + - +
    Q16n16 Q16n16_mtof Q16n16 Q16n16_mtof ( Q16n16 midival_fractional)midival_fractional)
    -
    -
    +

    Converts midi note number to frequency with speed and accuracy.

    -

    Q16n16_mtofLookup() is a fast alternative to (float) mtof(), and more accurate than (unsigned char) mtof(), using Q16n16 fixed-point format instead of floats or byte values. Q16n16_mtof() uses cheap linear interpolation between whole midi-note frequency equivalents stored in a lookup table, so is less accurate than the float version, mtof(), for non-whole midi values.

    -
    Note:
    Timing: ~8 us.
    -
    Parameters:
    +

    Q16n16_mtofLookup() is a fast alternative to (float) mtof(), and more accurate than (unsigned char) mtof(), using Q16n16 fixed-point format instead of floats or byte values. Q16n16_mtof() uses cheap linear interpolation between whole midi-note frequency equivalents stored in a lookup table, so is less accurate than the float version, mtof(), for non-whole midi values.

    +
    Note
    Timing: ~8 us.
    +
    Parameters
    midivala midi note number in Q16n16 format, for fractional values.
    -
    Returns:
    the frequency represented by the input midi note number, in Q16n16 fixed point fractional integer format, where the lower word is a fractional value.
    +
    Returns
    the frequency represented by the input midi note number, in Q16n16 fixed point fractional integer format, where the lower word is a fractional value.

    Definition at line 131 of file mozzi_midi.cpp.

    - - - - +
    + + diff --git a/doc/html/group__midi.js b/doc/html/group__midi.js new file mode 100644 index 000000000..595825785 --- /dev/null +++ b/doc/html/group__midi.js @@ -0,0 +1,7 @@ +var group__midi = +[ + [ "mtof", "group__midi.html#gafacb8849f96270644ea79184fde7db37", null ], + [ "mtof", "group__midi.html#ga1acfdfdb13a82ffd95281a78ceea9c66", null ], + [ "mtof", "group__midi.html#ga3d63d1bf049f14ba73a21475d3aa339c", null ], + [ "Q16n16_mtof", "group__midi.html#ga45bd3f3abd7ae5fa509eac3d3931a5b2", null ] +]; \ No newline at end of file diff --git a/doc/html/group__mozzi__fixmath.html b/doc/html/group__mozzi__fixmath.html index 3bdab46e7..02d35cfb6 100644 --- a/doc/html/group__mozzi__fixmath.html +++ b/doc/html/group__mozzi__fixmath.html @@ -3,46 +3,44 @@ -Mozzi: Mozzi fixed point fractional number types and conversion routines - + +Mozzi: Mozzi fixed point fractional number types and conversion routines. - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,13 +68,27 @@
  • +
    +
    + +
    +
    + +
    @@ -87,285 +99,397 @@
    -
    Mozzi fixed point fractional number types and conversion routines
    +
    Mozzi fixed point fractional number types and conversion routines.
    -

    Take care when converting that the important bits of your numbers will fit in the types you choose! +

    Fixed point is often best for fast audio code for Arduino, and these can ease some of the pain. More...

    - + + + + + + + + + + + + + + + + + - - + +

    -Defines

    +Macros

    #define Q0n7_FIX1   ((Q0n7) 127)
     0.992 in Q0n7 format
     
    #define Q7n8_FIX1   ((Q7n8) 256)
     1 in Q7n8 format
     
    #define Q8n8_FIX1   ((Q8n8) 256)
     1 in Q8n8 format
     
    #define Q23n8_FIX1   ((Q23n8) 256)
     1 in Q23n8 format
     
    #define Q1n14_FIX1   ((Q1n14) 16384)
     1 in Q1n14 format
     
    #define Q1n15_FIX1   ((Q1n15) 32768)
     1 in Q1n15 format
     
    #define Q16n16_FIX1   ((Q16n16) 65536)
     1 in Q16n16 format
     
    #define Q0n15_FIX1   ((Q0n15) 32767)
     0.999 in Q0n15 format
     
    #define Q0n16_FIX1   ((Q0n16) 65535)
     0.999 in Q0n16 format
     
    #define Q15n0_FIX1   ((Q15n0) 16384)
     1 in Q15n0 format
     
    #define Q15n16_FIX1   ((Q15n16) 65536)
     1 in Q15n16 format
     
    #define Q8n24_FIX1   ((Q8n24) 16777216)
     1 in Q8n24 format
     
    #define Q0n32_FIX1   ((Q0n32) 4294967295)
     0.999999999767169 in Q0n32 format
     
    #define Q3n13_2PI   ((Q3n13) 411775)
     2*PI in Q3n13 format
     
    #define Q16n16_2PI   ((Q16n16) 411775)
     2*PI in Q16n16 format
     
    #define low15bits   ((Q1n15) 32767)
     Useful for keeping the lower 15 bits of a Q1n15 number, using &.
     
    #define Q7n8_multfix(a, b)
     Fast (?) fixed point multiply for Q7n8 fractional numbers.

    +

     Fast (?) fixed point multiply for Q7n8 fractional numbers. More...
     
    + + + + + + + + + + + + + + + + + + + + + - +

    Typedefs

    typedef char Q0n7
     signed fractional number using 7 fractional bits, represents -0.5 to 0.496
     
    typedef char Q7n0
     ordinary old signed Q7n0 char with 0 fractional bits, represents -128 to 127
     
    typedef unsigned char Q0n8
     unsigned fractional number using 8 fractional bits, represents 0.0 to 0.996
     
    typedef unsigned char Q8n0
     normal unsigned char with 0 fractional bits, represents 0.0 to 255.0
     
    typedef unsigned int Q0n16
     unsigned fractional number using 16 fractional bits, represents 0.0 to 0.999
     
    typedef unsigned long Q0n31
     signed number using 0 integer bits and 31 fractional bits, represents -32768 to 32767
     
    typedef int Q7n8
     signed fractional number using 7 integer bits and 8 fractional bits, represents -127.996 to 127.996
     
    typedef unsigned int Q3n13
     unsigned fractional number using 3 integer bits and 13 fractional bits, represents 0 to 7.999
     
    typedef int Q1n14
     signed fractional number using 1 integer bit and 14 fractional bits, represents -1.999 to 1.999
     
    typedef int Q15n0
     signed number using 15 integer bits and 0 fractional bits, represents -2147483648 to 2147483647
     
    typedef unsigned int Q8n8
     unsigned fractional number using 8 integer bits and 8 fractional bits, represents 0 to 255.996
     
    typedef unsigned int Q1n15
     unsigned fractional number using 1 integer bit and 15 fractional bits, represents 0 to 1.999
     
    typedef unsigned int Q16n0
     unsigned number using 16 integer bits and 0 fractional bits, represents 0 to 65536.0
     
    typedef long Q23n8
     signed fractional number using 23 integer bits and 8 fractional bits, represents -8388607.996 to 8388607.996
     
    typedef long Q15n16
     signed fractional number using 15 integer bits and 16 fractional bits, represents -32767.999 to 32767.999
     
    typedef long Q31n0
     signed (normal long int) number using 31 integer bits and 0 fractional bits, represents -2147483648 to 2147483647
     
    typedef unsigned long Q32n0
     unsigned (normal unsigned long int) number using 32 integer bits and 0 fractional bits, represents 0 to 4294967295
     
    typedef unsigned long Q0n32
     unsigned (normal unsigned long int) number using 0 integer bits and 32 fractional bits, represents 0 to 0.999999999767169
     
    typedef unsigned long Q8n24
     signed fractional number using 8 integer bits and 24 fractional bits, represents 0 to 255.999
     
    typedef unsigned long Q24n8
     unsigned fractional number using 24 integer bits and 8 fractional bits, represents 0 to 16777215
     
    typedef unsigned long Q16n16
     unsigned fractional number using 16 integer bits and 16 fractional bits, represents 0 to 65535.999

    +

     
    + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + + - + + + + +

    Functions

    Q0n7 float_to_Q0n7 (float a)
     Convert float to Q0n7 fix.
     Convert float to Q0n7 fix. More...
     
    Q0n8 float_to_Q0n8 (float a)
     Convert float to Q0n8 fix.
     Convert float to Q0n8 fix. More...
     
    Q7n8 float_to_Q7n8 (float a)
     Convert float to Q7n8 fix.
     Convert float to Q7n8 fix. More...
     
    Q8n8 float_to_Q8n8 (float a)
     Convert float to Q8n8 fix.
     Convert float to Q8n8 fix. More...
     
    Q1n14 float_to_Q1n14 (float a)
     Convert float to Q1n14 fix.
     Convert float to Q1n14 fix. More...
     
    Q1n15 float_to_Q1n15 (float a)
     Convert float to Q1n15 fix.
     Convert float to Q1n15 fix. More...
     
    Q8n24 float_to_Q8n24 (float a)
     Convert float to Q8n24 fix.
     Convert float to Q8n24 fix. More...
     
    Q23n8 float_to_Q23n8 (float a)
     Convert float to Q23n8 fix.
     Convert float to Q23n8 fix. More...
     
    Q24n8 float_to_Q24n8 (float a)
     Convert float to Q24n8 fix.
     Convert float to Q24n8 fix. More...
     
    Q16n16 float_to_Q16n16 (float a)
     Convert float to Q16n16 fix.
     Convert float to Q16n16 fix. More...
     
    Q0n16 float_to_Q0n16 (float a)
     Convert float to Q0n16 fix.
     Convert float to Q0n16 fix. More...
     
    Q15n16 float_to_Q15n16 (float a)
     Convert float to Q15n16 fix.
     Convert float to Q15n16 fix. More...
     
    Q1n14 Q0n7_to_Q1n14 (Q0n7 a)
     Convert Q0n7 char to Q1n14 fix.
     Convert Q0n7 char to Q1n14 fix. More...
     
    Q15n16 Q0n7_to_Q15n16 (Q0n7 a)
     Convert Q0n7 signed char to Q15n16 fix.
     Convert Q0n7 signed char to Q15n16 fix. More...
     
    float Q0n7_to_float (Q0n7 a)
     Convert Q0n7 fix to float.
     Convert Q0n7 fix to float. More...
     
    Q1n15 Q0n8_to_Q1n15 (Q0n8 a)
     Convert Q0n8 unsigned char to Q1n15 fix.
     Convert Q0n8 unsigned char to Q1n15 fix. More...
     
    Q8n8 Q0n8_to_Q8n8 (Q0n8 a)
     Convert Q0n8 unsigned char to Q8n8 fix.
     Convert Q0n8 unsigned char to Q8n8 fix. More...
     
    Q8n24 Q0n8_to_Q8n24 (Q0n8 a)
     Convert Q0n8 unsigned char to Q8n24 fix.
     Convert Q0n8 unsigned char to Q8n24 fix. More...
     
    Q24n8 Q0n8_to_Q24n8 (Q0n8 a)
     Convert Q0n8 unsigned char to Q24n8 fix.
     Convert Q0n8 unsigned char to Q24n8 fix. More...
     
    Q15n16 Q0n8_to_Q15n16 (Q0n8 a)
     Convert Q0n8 unsigned char to Q15n16 fix.
     Convert Q0n8 unsigned char to Q15n16 fix. More...
     
    Q16n16 Q0n8_to_Q16n16 (Q0n8 a)
     Convert Q0n8 unsigned char to Q16n16 fix.
     Convert Q0n8 unsigned char to Q16n16 fix. More...
     
    float Q0n8_to_float (Q0n8 a)
     Convert Q0n8 fix to float.
     Convert Q0n8 fix to float. More...
     
    Q7n8 Q7n0_to_Q7n8 (Q7n0 a)
     Convert Q7n0 char to Q7n8 fix.
     Convert Q7n0 char to Q7n8 fix. More...
     
    Q7n8 Q8n0_to_Q7n8 (Q8n0 a)
     Convert Q8n0 unsigned char to Q7n8 fix.
     Convert Q8n0 unsigned char to Q7n8 fix. More...
     
    Q8n8 Q8n0_to_Q8n8 (Q8n0 a)
     Convert unsigned char to Q8n8 fix.
     Convert unsigned char to Q8n8 fix. More...
     
    Q15n16 Q8n0_to_Q15n16 (Q8n0 a)
     Convert Q8n0 unsigned char to Q15n16 fix.
     Convert Q8n0 unsigned char to Q15n16 fix. More...
     
    Q16n16 Q8n0_to_Q16n16 (Q8n0 a)
     Convert Q8n0 unsigned char to Q16n16 fix.
     Convert Q8n0 unsigned char to Q16n16 fix. More...
     
    Q7n0 Q7n8_to_Q7n0 (Q7n8 a)
     Convert Q7n8 fix to Q7n0.
     Convert Q7n8 fix to Q7n0. More...
     
    float Q7n8_to_float (Q7n8 a)
     Convert Q7n8 fix to float.
     Convert Q7n8 fix to float. More...
     
    Q8n0 Q8n8_to_Q8n0 (Q8n8 a)
     Convert Q8n8 fix to Q8n0 unsigned char.
     Convert Q8n8 fix to Q8n0 unsigned char. More...
     
    Q16n16 Q8n8_to_Q16n16 (Q8n8 a)
     Convert Q8n8 fix to Q16n16 unsigned long.
     Convert Q8n8 fix to Q16n16 unsigned long. More...
     
    float Q8n8_to_float (Q8n8 a)
     Convert Q8n8 fix to float.
     Convert Q8n8 fix to float. More...
     
    Q0n7 Q1n14_to_Q0n7 (Q1n14 a)
     Convert Q1n14 fixed to Q0n7 char.
     Convert Q1n14 fixed to Q0n7 char. More...
     
    float Q1n14_to_float (Q1n14 a)
     Convert fix to float.
     Convert fix to float. More...
     
    Q0n8 Q1n15_to_Q0n8 (Q1n15 a)
     Convert Q1n15 fixed to Q0n8 unsigned char.
     Convert Q1n15 fixed to Q0n8 unsigned char. More...
     
    float Q1n15_to_float (Q1n15 a)
     Convert fix to float.
     Convert fix to float. More...
     
    float Q0n16_to_float (Q0n16 a)
     Convert fix to float.
     Convert fix to float. More...
     
    Q15n16 Q15n0_to_Q15n16 (Q15n0 a)
     Convert Q15n0 int to Q15n16 fix.
     Convert Q15n0 int to Q15n16 fix. More...
     
    Q15n16 Q16n0_to_Q15n16 (Q16n0 a)
     Convert Q16n0 unsigned int to Q15n16 fix.
     Convert Q16n0 unsigned int to Q15n16 fix. More...
     
    Q23n8 Q16n0_to_Q23n8 (Q16n0 a)
     Convert Q16n0 unsigned int to Q23n8 fixed point signed long.
     Convert Q16n0 unsigned int to Q23n8 fixed point signed long. More...
     
    Q24n8 Q16n0_to_Q24n8 (Q16n0 a)
     Convert Q16n0 unsigned int to Q24n8 fixed point unsigned long.
     Convert Q16n0 unsigned int to Q24n8 fixed point unsigned long. More...
     
    Q16n16 Q16n0_to_Q16n16 (Q16n0 a)
     Convert Q16n0 unsigned int to Q16n16 fixed point unsigned long.
     Convert Q16n0 unsigned int to Q16n16 fixed point unsigned long. More...
     
    float Q16n0_to_float (Q16n0 a)
     Convert Q16n0 unsigned int to float.
     Convert Q16n0 unsigned int to float. More...
     
    Q0n8 Q8n24_to_Q0n8 (Q8n24 a)
     Convert Q8n24 fixed to Q0n8 unsigned char.
     Convert Q8n24 fixed to Q0n8 unsigned char. More...
     
    float Q8n24_to_float (Q8n24 a)
     Convert fix to float.
     Convert fix to float. More...
     
    Q31n0 Q23n8_to_Q31n0 (Q23n8 a)
     Convert Q23n8 fixed to Q31n0 long.
     Convert Q23n8 fixed to Q31n0 long. More...
     
    Q16n0 Q23n8_to_Q16n0 (Q23n8 a)
     Convert Q23n8 fixed to Q16n0 unsigned int.
     Convert Q23n8 fixed to Q16n0 unsigned int. More...
     
    Q15n0 Q23n8_to_Q15n0 (Q23n8 a)
     Convert Q23n8 fixed to Q15n0 signed int.
     Convert Q23n8 fixed to Q15n0 signed int. More...
     
    Q7n8 Q23n8_to_Q7n8 (Q23n8 a)
     Convert Q23n8 fixed to Q7n8 signed int, losing most significant bits.
     Convert Q23n8 fixed to Q7n8 signed int, losing most significant bits. More...
     
    float Q23n8_to_float (Q23n8 a)
     Convert fix to float.
     Convert fix to float. More...
     
    Q0n8 Q24n8_to_Q0n8 (Q24n8 a)
     Convert Q24n8 fixed to Q0n8 unsigned char.
     Convert Q24n8 fixed to Q0n8 unsigned char. More...
     
    Q16n16 Q24n8_to_Q16n0 (Q24n8 a)
     Convert Q24n8 fixed to Q16n0 unsigned int.
     Convert Q24n8 fixed to Q16n0 unsigned int. More...
     
    Q32n0 Q24n8_to_Q32n0 (Q24n8 a)
     Convert Q24n8 fixed to Q32n0 unsigned long.
     Convert Q24n8 fixed to Q32n0 unsigned long. More...
     
    Q16n16 Q24n8_to_Q16n16 (Q24n8 a)
     Convert Q24n8 fixed to Q16n16 unsigned long.
     Convert Q24n8 fixed to Q16n16 unsigned long. More...
     
    float Q24n8_to_float (Q24n8 a)
     Convert fix to float.
     Convert fix to float. More...
     
    Q0n8 Q15n16_to_Q0n8 (Q15n16 a)
     Convert Q15n16 fixed to Q0n8 unsigned char.
     Convert Q15n16 fixed to Q0n8 unsigned char. More...
     
    Q15n0 Q15n16_to_Q15n0 (Q15n16 a)
     Convert Q15n16 fixed to Q15n0 signed int.
     Convert Q15n16 fixed to Q15n0 signed int. More...
     
    Q7n8 Q15n16_to_Q7n8 (Q15n16 a)
     Convert Q15n16 fixed to Q7n8 signed int, keeping middle bits only.
     Convert Q15n16 fixed to Q7n8 signed int, keeping middle bits only. More...
     
    Q23n8 Q15n16_to_Q23n8 (Q15n16 a)
     Convert Q15n16 fixed to Q23n8 signed long.
     Convert Q15n16 fixed to Q23n8 signed long. More...
     
    float Q15n16_to_float (Q15n16 a)
     Convert fix to float.
     Convert fix to float. More...
     
    Q0n8 Q16n16_to_Q0n8 (Q16n16 a)
     Convert Q16n16 fixed to Q0n8 unsigned char.
     Convert Q16n16 fixed to Q0n8 unsigned char. More...
     
    Q16n0 Q16n16_to_Q16n0 (Q16n16 a)
     Convert Q16n16 fixed to Q16n0 unsigned int.
     Convert Q16n16 fixed to Q16n0 unsigned int. More...
     
    Q24n8 Q16n16_to_Q24n8 (Q16n16 a)
     Convert Q16n16 fixed to Q24n8 unsigned long.
     Convert Q16n16 fixed to Q24n8 unsigned long. More...
     
    float Q16n16_to_float (Q16n16 a)
     Convert fix to float.
     Convert fix to float. More...
     
    int ipow (int base, int exp)
     
    Q16n16 Q16n16_pow2 (Q8n8 exponent)
     This is a fast replacement for pow(2,x), where x is a fractional number in Q8n8 fixed-point exponent.
     
    This is a fast replacement for pow(2,x), where x is a fractional number in Q8n8
    +

    fixed-point exponent. More...

     
    unsigned char byteMod (unsigned char n, unsigned char d)
     
    unsigned char byteDiv (unsigned char n, unsigned char d)
     
    unsigned char byteRnd (unsigned char min, unsigned char max)
     
    -

    Detailed Description

    -

    Take care when converting that the important bits of your numbers will fit in the types you choose!

    -
    Note:
    Timing: converting between fixed and float 10-12us, converting between fixed types about 1us.
    -

    Define Documentation

    +

    Detailed Description

    +

    Fixed point is often best for fast audio code for Arduino, and these can ease some of the pain.

    +
    Note
    Take care when converting that the important bits of your numbers will fit in the types you choose!
    +
    +Timing: converting between fixed and float 10-12us, converting between fixed types about 1us.
    +

    Macro Definition Documentation

    - + @@ -382,960 +506,1197 @@
    #define Q7n8_multfix#define Q7n8_multfix (   a,
    -
    -
    -Value:
    ({            \
    -int prod, val1=a, val2=b ;    \
    -__asm__ __volatile__ (    \
    -                "muls %B1, %B2  \n\t"   \
    -                "mov %B0, r0 \n\t"                 \
    -                "mul %A1, %A2\n\t"                 \
    -                "mov %A0, r1 \n\t"   \
    -                "mulsu %B1, %A2 \n\t"   \
    -                "add %A0, r0  \n\t"     \
    -                "adc %B0, r1 \n\t"     \
    -                "mulsu %B2, %A1 \n\t"   \
    -                "add %A0, r0 \n\t"     \
    -                "adc %B0, r1  \n\t"    \
    -                "clr r1  \n\t"                     \
    -                : "=&d" (prod)     \
    -                : "a" (val1), "a" (val2)  \
    -                  );        \
    -  prod;        \
    -})
    -
    +
    +Value:
    ({ \
    +
    int prod, val1=a, val2=b ; \
    +
    __asm__ __volatile__ ( \
    +
    "muls %B1, %B2 \n\t" \
    +
    "mov %B0, r0 \n\t" \
    +
    "mul %A1, %A2\n\t" \
    +
    "mov %A0, r1 \n\t" \
    +
    "mulsu %B1, %A2 \n\t" \
    +
    "add %A0, r0 \n\t" \
    +
    "adc %B0, r1 \n\t" \
    +
    "mulsu %B2, %A1 \n\t" \
    +
    "add %A0, r0 \n\t" \
    +
    "adc %B0, r1 \n\t" \
    +
    "clr r1 \n\t" \
    +
    : "=&d" (prod) \
    +
    : "a" (val1), "a" (val2) \
    +
    ); \
    +
    prod; \
    +
    })
    +

    Fast (?) fixed point multiply for Q7n8 fractional numbers.

    -

    Interesting: this is slower than doing ((long)a*b)>>16. Timing with an oscilloscope shows: p = Q7n8_multfix(a,b); // 1.52ms p = ((long)a*b)>>16; // 560 to 640 us

    -
    Parameters:
    +

    Interesting: this is slower than doing ((long)a*b)>>16. Timing with an oscilloscope shows: p = Q7n8_multfix(a,b); // 1.52ms p = ((long)a*b)>>16; // 560 to 640 us

    +
    Parameters
    aQ7n8 format multiplicand
    bQ7n8 format multiplier
    -
    Returns:
    a Q7n8 format product
    +
    Returns
    a Q7n8 format product
    -

    Definition at line 313 of file mozzi_fixmath.h.

    +

    Definition at line 314 of file mozzi_fixmath.h.

    -

    Function Documentation

    +

    Function Documentation

    + + + + + +
    - + - - + +
    Q0n16 float_to_Q0n16 Q0n16 float_to_Q0n16 ( float a) [inline]a)
    - -
    +
    +inline
    +

    Convert float to Q0n16 fix.

    -
    Parameters:
    +
    Parameters
    ais a float
    -

    Definition at line 128 of file mozzi_fixmath.h.

    +

    Definition at line 129 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    Q0n7 float_to_Q0n7 Q0n7 float_to_Q0n7 ( float a) [inline]a)
    - -
    +
    +inline
    +

    Convert float to Q0n7 fix.

    -
    Parameters:
    +
    Parameters
    ais a float
    -

    Definition at line 98 of file mozzi_fixmath.h.

    +

    Definition at line 99 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    Q0n8 float_to_Q0n8 Q0n8 float_to_Q0n8 ( float a) [inline]a)
    - -
    +
    +inline
    +

    Convert float to Q0n8 fix.

    -
    Parameters:
    +
    Parameters
    ais a float
    -

    Definition at line 101 of file mozzi_fixmath.h.

    +

    Definition at line 102 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    Q15n16 float_to_Q15n16 Q15n16 float_to_Q15n16 ( float a) [inline]a)
    - -
    +
    +inline
    +

    Convert float to Q15n16 fix.

    -
    Parameters:
    +
    Parameters
    ais a float
    -

    Definition at line 131 of file mozzi_fixmath.h.

    +

    Definition at line 132 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    Q16n16 float_to_Q16n16 Q16n16 float_to_Q16n16 ( float a) [inline]a)
    - -
    +
    +inline
    +

    Convert float to Q16n16 fix.

    -
    Parameters:
    +
    Parameters
    ais a float
    -

    Definition at line 125 of file mozzi_fixmath.h.

    +

    Definition at line 126 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    Q1n14 float_to_Q1n14 Q1n14 float_to_Q1n14 ( float a) [inline]a)
    - -
    +
    +inline
    +

    Convert float to Q1n14 fix.

    -
    Parameters:
    +
    Parameters
    ais a float
    -

    Definition at line 110 of file mozzi_fixmath.h.

    +

    Definition at line 111 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    Q1n15 float_to_Q1n15 Q1n15 float_to_Q1n15 ( float a) [inline]a)
    - -
    +
    +inline
    +

    Convert float to Q1n15 fix.

    -
    Parameters:
    +
    Parameters
    ais a float
    -

    Definition at line 113 of file mozzi_fixmath.h.

    +

    Definition at line 114 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    Q23n8 float_to_Q23n8 Q23n8 float_to_Q23n8 ( float a) [inline]a)
    - -
    +
    +inline
    +

    Convert float to Q23n8 fix.

    -
    Parameters:
    +
    Parameters
    ais a float
    -

    Definition at line 119 of file mozzi_fixmath.h.

    +

    Definition at line 120 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    Q24n8 float_to_Q24n8 Q24n8 float_to_Q24n8 ( float a) [inline]a)
    - -
    +
    +inline
    +

    Convert float to Q24n8 fix.

    -
    Parameters:
    +
    Parameters
    ais a float
    -

    Definition at line 122 of file mozzi_fixmath.h.

    +

    Definition at line 123 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    Q7n8 float_to_Q7n8 Q7n8 float_to_Q7n8 ( float a) [inline]a)
    - -
    +
    +inline
    +

    Convert float to Q7n8 fix.

    -
    Parameters:
    +
    Parameters
    ais a float
    -

    Definition at line 104 of file mozzi_fixmath.h.

    +

    Definition at line 105 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    Q8n24 float_to_Q8n24 Q8n24 float_to_Q8n24 ( float a) [inline]a)
    - -
    +
    +inline
    +

    Convert float to Q8n24 fix.

    -
    Parameters:
    +
    Parameters
    ais a float
    -

    Definition at line 116 of file mozzi_fixmath.h.

    +

    Definition at line 117 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    Q8n8 float_to_Q8n8 Q8n8 float_to_Q8n8 ( float a) [inline]a)
    - -
    +
    +inline
    +

    Convert float to Q8n8 fix.

    -
    Parameters:
    +
    Parameters
    ais a float
    -

    Definition at line 107 of file mozzi_fixmath.h.

    +

    Definition at line 108 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    float Q0n16_to_float float Q0n16_to_float ( Q0n16 a) [inline]a)
    - -
    +
    +inline
    +

    Convert fix to float.

    -
    Parameters:
    +
    Parameters
    ais a Q0n16 unsigned int
    -

    Definition at line 211 of file mozzi_fixmath.h.

    +

    Definition at line 212 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    float Q0n7_to_float float Q0n7_to_float ( Q0n7 a) [inline]a)
    - -
    +
    +inline
    +

    Convert Q0n7 fix to float.

    -
    Parameters:
    +
    Parameters
    ais a Q0n7 char
    -

    Definition at line 141 of file mozzi_fixmath.h.

    +

    Definition at line 142 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    Q15n16 Q0n7_to_Q15n16 Q15n16 Q0n7_to_Q15n16 ( Q0n7 a) [inline]a)
    - -
    +
    +inline
    +

    Convert Q0n7 signed char to Q15n16 fix.

    -
    Parameters:
    +
    Parameters
    ais a Q0n7 signed char
    -

    Definition at line 138 of file mozzi_fixmath.h.

    +

    Definition at line 139 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    Q1n14 Q0n7_to_Q1n14 Q1n14 Q0n7_to_Q1n14 ( Q0n7 a) [inline]a)
    - -
    +
    +inline
    +

    Convert Q0n7 char to Q1n14 fix.

    -
    Parameters:
    +
    Parameters
    ais a Q0n7 char
    -

    Definition at line 135 of file mozzi_fixmath.h.

    +

    Definition at line 136 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    float Q0n8_to_float float Q0n8_to_float ( Q0n8 a) [inline]a)
    - -
    +
    +inline
    +

    Convert Q0n8 fix to float.

    -
    Parameters:
    +
    Parameters
    ais a Q0n8 unsigned char
    -

    Definition at line 163 of file mozzi_fixmath.h.

    +

    Definition at line 164 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    Q15n16 Q0n8_to_Q15n16 Q15n16 Q0n8_to_Q15n16 ( Q0n8 a) [inline]a)
    - -
    +
    +inline
    +

    Convert Q0n8 unsigned char to Q15n16 fix.

    -
    Parameters:
    +
    Parameters
    ais a Q0n8 unsigned char
    -

    Definition at line 157 of file mozzi_fixmath.h.

    +

    Definition at line 158 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    Q16n16 Q0n8_to_Q16n16 Q16n16 Q0n8_to_Q16n16 ( Q0n8 a) [inline]a)
    - -
    +
    +inline
    +

    Convert Q0n8 unsigned char to Q16n16 fix.

    -
    Parameters:
    +
    Parameters
    ais a Q0n8 unsigned char
    -

    Definition at line 160 of file mozzi_fixmath.h.

    +

    Definition at line 161 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    Q1n15 Q0n8_to_Q1n15 Q1n15 Q0n8_to_Q1n15 ( Q0n8 a) [inline]a)
    - -
    +
    +inline
    +

    Convert Q0n8 unsigned char to Q1n15 fix.

    -
    Parameters:
    +
    Parameters
    ais a Q0n8 unsigned char
    -

    Definition at line 145 of file mozzi_fixmath.h.

    +

    Definition at line 146 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    Q24n8 Q0n8_to_Q24n8 Q24n8 Q0n8_to_Q24n8 ( Q0n8 a) [inline]a)
    - -
    +
    +inline
    +

    Convert Q0n8 unsigned char to Q24n8 fix.

    -
    Parameters:
    +
    Parameters
    ais a Q0n8 unsigned char
    -

    Definition at line 154 of file mozzi_fixmath.h.

    +

    Definition at line 155 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    Q8n24 Q0n8_to_Q8n24 Q8n24 Q0n8_to_Q8n24 ( Q0n8 a) [inline]a)
    - -
    +
    +inline
    +

    Convert Q0n8 unsigned char to Q8n24 fix.

    -
    Parameters:
    +
    Parameters
    ais a Q0n8 unsigned char
    -

    Definition at line 151 of file mozzi_fixmath.h.

    +

    Definition at line 152 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    Q8n8 Q0n8_to_Q8n8 Q8n8 Q0n8_to_Q8n8 ( Q0n8 a) [inline]a)
    - -
    +
    +inline
    +

    Convert Q0n8 unsigned char to Q8n8 fix.

    -
    Parameters:
    +
    Parameters
    ais a Q0n8 unsigned char
    -

    Definition at line 148 of file mozzi_fixmath.h.

    +

    Definition at line 149 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    Q15n16 Q15n0_to_Q15n16 Q15n16 Q15n0_to_Q15n16 ( Q15n0 a) [inline]a)
    - -
    +
    +inline
    +

    Convert Q15n0 int to Q15n16 fix.

    -
    Parameters:
    +
    Parameters
    ais a Q15n0 int
    -

    Definition at line 214 of file mozzi_fixmath.h.

    +

    Definition at line 215 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    float Q15n16_to_float float Q15n16_to_float ( Q15n16 a) [inline]a)
    - -
    +
    +inline
    +

    Convert fix to float.

    -
    Parameters:
    +
    Parameters
    ais a Q15n16 signed long
    -

    Definition at line 288 of file mozzi_fixmath.h.

    +

    Definition at line 289 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    Q0n8 Q15n16_to_Q0n8 Q0n8 Q15n16_to_Q0n8 ( Q15n16 a) [inline]a)
    - -
    +
    +inline
    +

    Convert Q15n16 fixed to Q0n8 unsigned char.

    -

    Only for positive values!

    -
    Parameters:
    +

    Only for positive values!

    +
    Parameters
    ais a Q15n16 signed long
    -

    Definition at line 276 of file mozzi_fixmath.h.

    +

    Definition at line 277 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    Q15n0 Q15n16_to_Q15n0 Q15n0 Q15n16_to_Q15n0 ( Q15n16 a) [inline]a)
    - -
    +
    +inline
    +

    Convert Q15n16 fixed to Q15n0 signed int.

    -
    Parameters:
    +
    Parameters
    ais a Q15n16 signed long
    -

    Definition at line 279 of file mozzi_fixmath.h.

    +

    Definition at line 280 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    Q23n8 Q15n16_to_Q23n8 Q23n8 Q15n16_to_Q23n8 ( Q15n16 a) [inline]a)
    - -
    +
    +inline
    +

    Convert Q15n16 fixed to Q23n8 signed long.

    -
    Parameters:
    +
    Parameters
    ais a Q15n16 signed long.
    -

    Definition at line 285 of file mozzi_fixmath.h.

    +

    Definition at line 286 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    Q7n8 Q15n16_to_Q7n8 Q7n8 Q15n16_to_Q7n8 ( Q15n16 a) [inline]a)
    - -
    +
    +inline
    +

    Convert Q15n16 fixed to Q7n8 signed int, keeping middle bits only.

    -
    Parameters:
    +
    Parameters
    ais a Q15n16 signed long.
    -

    Definition at line 282 of file mozzi_fixmath.h.

    +

    Definition at line 283 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    float Q16n0_to_float float Q16n0_to_float ( Q16n0 a) [inline]a)
    - -
    +
    +inline
    +

    Convert Q16n0 unsigned int to float.

    -
    Parameters:
    +
    Parameters
    ais a Q16n0 unsigned int
    -

    Definition at line 229 of file mozzi_fixmath.h.

    +

    Definition at line 230 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    Q15n16 Q16n0_to_Q15n16 Q15n16 Q16n0_to_Q15n16 ( Q16n0 a) [inline]a)
    - -
    +
    +inline
    +

    Convert Q16n0 unsigned int to Q15n16 fix.

    -
    Parameters:
    +
    Parameters
    ais a Q16n0 unsigned int
    -

    Definition at line 217 of file mozzi_fixmath.h.

    +

    Definition at line 218 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    Q16n16 Q16n0_to_Q16n16 Q16n16 Q16n0_to_Q16n16 ( Q16n0 a) [inline]a)
    - -
    +
    +inline
    +

    Convert Q16n0 unsigned int to Q16n16 fixed point unsigned long.

    -
    Parameters:
    +
    Parameters
    ais a Q16n0 unsigned int
    -

    Definition at line 226 of file mozzi_fixmath.h.

    +

    Definition at line 227 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    Q23n8 Q16n0_to_Q23n8 Q23n8 Q16n0_to_Q23n8 ( Q16n0 a) [inline]a)
    - -
    +
    +inline
    +

    Convert Q16n0 unsigned int to Q23n8 fixed point signed long.

    -
    Parameters:
    +
    Parameters
    ais a Q16n0 unsigned int
    -

    Definition at line 220 of file mozzi_fixmath.h.

    +

    Definition at line 221 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    Q24n8 Q16n0_to_Q24n8 Q24n8 Q16n0_to_Q24n8 ( Q16n0 a) [inline]a)
    - -
    +
    +inline
    +

    Convert Q16n0 unsigned int to Q24n8 fixed point unsigned long.

    -
    Parameters:
    +
    Parameters
    ais a Q16n0 unsigned int
    -

    Definition at line 223 of file mozzi_fixmath.h.

    +

    Definition at line 224 of file mozzi_fixmath.h.

    @@ -1344,25 +1705,25 @@
    - + - +
    Q16n16 Q16n16_pow2 Q16n16 Q16n16_pow2 ( Q8n8 exponent)exponent)
    -
    -
    +
    -

    This is a fast replacement for pow(2,x), where x is a fractional number in Q8n8 fixed-point exponent.

    +

    This is a fast replacement for pow(2,x), where x is a fractional number in Q8n8
    +

    fixed-point exponent.

    It's less accurate than pow(2,x), but useful where a tradeoff between accuracy and speed is required to keep audio from glitching.

    -
    Parameters:
    +
    Parameters
    exponentin Q8n8 format.
    -
    Returns:
    pow(2,x) in Q16n16 format.
    +
    Returns
    pow(2,x) in Q16n16 format.

    Definition at line 89 of file mozzi_fixmath.cpp.

    @@ -1371,823 +1732,1034 @@
    + + + + + +
    - + - - + +
    float Q16n16_to_float float Q16n16_to_float ( Q16n16 a) [inline]a)
    - -
    +
    +inline
    +

    Convert fix to float.

    -
    Parameters:
    +
    Parameters
    ais a Q16n16 unsigned long
    -

    Definition at line 301 of file mozzi_fixmath.h.

    +

    Definition at line 302 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    Q0n8 Q16n16_to_Q0n8 Q0n8 Q16n16_to_Q0n8 ( Q16n16 a) [inline]a)
    - -
    +
    +inline
    +

    Convert Q16n16 fixed to Q0n8 unsigned char.

    -
    Parameters:
    +
    Parameters
    ais a Q16n16 unsigned long
    -

    Definition at line 292 of file mozzi_fixmath.h.

    +

    Definition at line 293 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    Q16n0 Q16n16_to_Q16n0 Q16n0 Q16n16_to_Q16n0 ( Q16n16 a) [inline]a)
    - -
    +
    +inline
    +

    Convert Q16n16 fixed to Q16n0 unsigned int.

    -
    Parameters:
    +
    Parameters
    ais a Q16n16 unsigned long
    -

    Definition at line 295 of file mozzi_fixmath.h.

    +

    Definition at line 296 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    Q24n8 Q16n16_to_Q24n8 Q24n8 Q16n16_to_Q24n8 ( Q16n16 a) [inline]a)
    - -
    +
    +inline
    +

    Convert Q16n16 fixed to Q24n8 unsigned long.

    -
    Parameters:
    +
    Parameters
    ais a Q16n16 unsigned long
    -

    Definition at line 298 of file mozzi_fixmath.h.

    +

    Definition at line 299 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    float Q1n14_to_float float Q1n14_to_float ( Q1n14 a) [inline]a)
    - -
    +
    +inline
    +

    Convert fix to float.

    -
    Parameters:
    +
    Parameters
    ais an int
    -

    Definition at line 202 of file mozzi_fixmath.h.

    +

    Definition at line 203 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    Q0n7 Q1n14_to_Q0n7 Q0n7 Q1n14_to_Q0n7 ( Q1n14 a) [inline]a)
    - -
    +
    +inline
    +

    Convert Q1n14 fixed to Q0n7 char.

    -
    Parameters:
    +
    Parameters
    ais a Q1n14 int
    -

    Definition at line 199 of file mozzi_fixmath.h.

    +

    Definition at line 200 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    float Q1n15_to_float float Q1n15_to_float ( Q1n15 a) [inline]a)
    - -
    +
    +inline
    +

    Convert fix to float.

    -
    Parameters:
    +
    Parameters
    ais a Q1n15 unsigned int
    -

    Definition at line 208 of file mozzi_fixmath.h.

    +

    Definition at line 209 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    Q0n8 Q1n15_to_Q0n8 Q0n8 Q1n15_to_Q0n8 ( Q1n15 a) [inline]a)
    - -
    +
    +inline
    +

    Convert Q1n15 fixed to Q0n8 unsigned char.

    -

    Only for positive values!

    -
    Parameters:
    +

    Only for positive values!

    +
    Parameters
    ais a Q1n15 unsigned int
    -

    Definition at line 205 of file mozzi_fixmath.h.

    +

    Definition at line 206 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    float Q23n8_to_float float Q23n8_to_float ( Q23n8 a) [inline]a)
    - -
    +
    +inline
    +

    Convert fix to float.

    -
    Parameters:
    +
    Parameters
    ais a Q23n8 signed long
    -

    Definition at line 254 of file mozzi_fixmath.h.

    +

    Definition at line 255 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    Q15n0 Q23n8_to_Q15n0 Q15n0 Q23n8_to_Q15n0 ( Q23n8 a) [inline]a)
    - -
    +
    +inline
    +

    Convert Q23n8 fixed to Q15n0 signed int.

    -
    Parameters:
    +
    Parameters
    ais a Q23n8 long
    -

    Definition at line 247 of file mozzi_fixmath.h.

    +

    Definition at line 248 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    Q16n0 Q23n8_to_Q16n0 Q16n0 Q23n8_to_Q16n0 ( Q23n8 a) [inline]a)
    - -
    +
    +inline
    +

    Convert Q23n8 fixed to Q16n0 unsigned int.

    -

    Positive values only.

    -
    Parameters:
    +

    Positive values only.

    +
    Parameters
    ais a Q23n8 long
    -

    Definition at line 244 of file mozzi_fixmath.h.

    +

    Definition at line 245 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    Q31n0 Q23n8_to_Q31n0 Q31n0 Q23n8_to_Q31n0 ( Q23n8 a) [inline]a)
    - -
    +
    +inline
    +

    Convert Q23n8 fixed to Q31n0 long.

    -
    Parameters:
    +
    Parameters
    ais a Q23n8 long
    -

    Definition at line 241 of file mozzi_fixmath.h.

    +

    Definition at line 242 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    Q7n8 Q23n8_to_Q7n8 Q7n8 Q23n8_to_Q7n8 ( Q23n8 a) [inline]a)
    - -
    +
    +inline
    +

    Convert Q23n8 fixed to Q7n8 signed int, losing most significant bits.

    -
    Parameters:
    +
    Parameters
    ais a Q23n8 signed long.
    -

    Definition at line 250 of file mozzi_fixmath.h.

    +

    Definition at line 251 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    float Q24n8_to_float float Q24n8_to_float ( Q24n8 a) [inline]a)
    - -
    +
    +inline
    +

    Convert fix to float.

    -
    Parameters:
    +
    Parameters
    ais a Q24n8 unsigned long
    -

    Definition at line 272 of file mozzi_fixmath.h.

    +

    Definition at line 273 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    Q0n8 Q24n8_to_Q0n8 Q0n8 Q24n8_to_Q0n8 ( Q24n8 a) [inline]a)
    - -
    +
    +inline
    +

    Convert Q24n8 fixed to Q0n8 unsigned char.

    -
    Parameters:
    +
    Parameters
    ais a Q24n8 unsigned long
    -

    Definition at line 258 of file mozzi_fixmath.h.

    +

    Definition at line 259 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    Q16n16 Q24n8_to_Q16n0 Q16n16 Q24n8_to_Q16n0 ( Q24n8 a) [inline]a)
    - -
    +
    +inline
    +

    Convert Q24n8 fixed to Q16n0 unsigned int.

    -
    Parameters:
    +
    Parameters
    ais a Q24n8 unsigned long
    -

    Definition at line 262 of file mozzi_fixmath.h.

    +

    Definition at line 263 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    Q16n16 Q24n8_to_Q16n16 Q16n16 Q24n8_to_Q16n16 ( Q24n8 a) [inline]a)
    - -
    +
    +inline
    +

    Convert Q24n8 fixed to Q16n16 unsigned long.

    -
    Parameters:
    +
    Parameters
    ais a Q24n8 unsigned long
    -

    Definition at line 269 of file mozzi_fixmath.h.

    +

    Definition at line 270 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    Q32n0 Q24n8_to_Q32n0 Q32n0 Q24n8_to_Q32n0 ( Q24n8 a) [inline]a)
    - -
    +
    +inline
    +

    Convert Q24n8 fixed to Q32n0 unsigned long.

    -
    Parameters:
    +
    Parameters
    ais a Q24n8 unsigned long
    -

    Definition at line 266 of file mozzi_fixmath.h.

    +

    Definition at line 267 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    Q7n8 Q7n0_to_Q7n8 Q7n8 Q7n0_to_Q7n8 ( Q7n0 a) [inline]a)
    - -
    +
    +inline
    +

    Convert Q7n0 char to Q7n8 fix.

    -
    Parameters:
    +
    Parameters
    ais a char
    -

    Definition at line 167 of file mozzi_fixmath.h.

    +

    Definition at line 168 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    float Q7n8_to_float float Q7n8_to_float ( Q7n8 a) [inline]a)
    - -
    +
    +inline
    +

    Convert Q7n8 fix to float.

    -
    Parameters:
    +
    Parameters
    ais a Q7n8 int
    -

    Definition at line 186 of file mozzi_fixmath.h.

    +

    Definition at line 187 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    Q7n0 Q7n8_to_Q7n0 Q7n0 Q7n8_to_Q7n0 ( Q7n8 a) [inline]a)
    - -
    +
    +inline
    +

    Convert Q7n8 fix to Q7n0.

    -
    Parameters:
    +
    Parameters
    ais a Q7n8 int
    -

    Definition at line 183 of file mozzi_fixmath.h.

    +

    Definition at line 184 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    Q15n16 Q8n0_to_Q15n16 Q15n16 Q8n0_to_Q15n16 ( Q8n0 a) [inline]a)
    - -
    +
    +inline
    +

    Convert Q8n0 unsigned char to Q15n16 fix.

    -
    Parameters:
    +
    Parameters
    ais a Q8n0 unsigned char
    -

    Definition at line 176 of file mozzi_fixmath.h.

    +

    Definition at line 177 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    Q16n16 Q8n0_to_Q16n16 Q16n16 Q8n0_to_Q16n16 ( Q8n0 a) [inline]a)
    - -
    +
    +inline
    +

    Convert Q8n0 unsigned char to Q16n16 fix.

    -
    Parameters:
    +
    Parameters
    ais a Q8n0 unsigned char
    -

    Definition at line 179 of file mozzi_fixmath.h.

    +

    Definition at line 180 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    Q7n8 Q8n0_to_Q7n8 Q7n8 Q8n0_to_Q7n8 ( Q8n0 a) [inline]a)
    - -
    +
    +inline
    +

    Convert Q8n0 unsigned char to Q7n8 fix.

    -
    Parameters:
    +
    Parameters
    ais a Q8n0 unsigned char*. Beware of overflow.
    -

    Definition at line 170 of file mozzi_fixmath.h.

    +

    Definition at line 171 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    Q8n8 Q8n0_to_Q8n8 Q8n8 Q8n0_to_Q8n8 ( Q8n0 a) [inline]a)
    - -
    +
    +inline
    +

    Convert unsigned char to Q8n8 fix.

    -
    Parameters:
    +
    Parameters
    ais a Q8n0 unsigned char
    -

    Definition at line 173 of file mozzi_fixmath.h.

    +

    Definition at line 174 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    float Q8n24_to_float float Q8n24_to_float ( Q8n24 a) [inline]a)
    - -
    +
    +inline
    +

    Convert fix to float.

    -
    Parameters:
    +
    Parameters
    ais a Q8n24 unsigned long
    -

    Definition at line 237 of file mozzi_fixmath.h.

    +

    Definition at line 238 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    Q0n8 Q8n24_to_Q0n8 Q0n8 Q8n24_to_Q0n8 ( Q8n24 a) [inline]a)
    - -
    +
    +inline
    +

    Convert Q8n24 fixed to Q0n8 unsigned char.

    -
    Parameters:
    +
    Parameters
    ais a Q8n24 unsigned long
    -

    Definition at line 234 of file mozzi_fixmath.h.

    +

    Definition at line 235 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    float Q8n8_to_float float Q8n8_to_float ( Q8n8 a) [inline]a)
    - -
    +
    +inline
    +

    Convert Q8n8 fix to float.

    -
    Parameters:
    +
    Parameters
    ais a Q8n8 unsigned int
    -

    Definition at line 196 of file mozzi_fixmath.h.

    +

    Definition at line 197 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    Q16n16 Q8n8_to_Q16n16 Q16n16 Q8n8_to_Q16n16 ( Q8n8 a) [inline]a)
    - -
    +
    +inline
    +

    Convert Q8n8 fix to Q16n16 unsigned long.

    -
    Parameters:
    +
    Parameters
    ais a Q8n8 unsigned int
    -

    Definition at line 193 of file mozzi_fixmath.h.

    +

    Definition at line 194 of file mozzi_fixmath.h.

    + + + + + +
    - + - - + +
    Q8n0 Q8n8_to_Q8n0 Q8n0 Q8n8_to_Q8n0 ( Q8n8 a) [inline]a)
    - -
    +
    +inline
    +

    Convert Q8n8 fix to Q8n0 unsigned char.

    -
    Parameters:
    +
    Parameters
    ais a Q8n8 unsigned int
    -

    Definition at line 190 of file mozzi_fixmath.h.

    +

    Definition at line 191 of file mozzi_fixmath.h.

    - - - - +
    + + diff --git a/doc/html/group__mozzi__fixmath.js b/doc/html/group__mozzi__fixmath.js new file mode 100644 index 000000000..168080d12 --- /dev/null +++ b/doc/html/group__mozzi__fixmath.js @@ -0,0 +1,106 @@ +var group__mozzi__fixmath = +[ + [ "low15bits", "group__mozzi__fixmath.html#gac357561cf7360f82a264d90096d0126b", null ], + [ "Q0n15_FIX1", "group__mozzi__fixmath.html#ga38ec011e7e3e08f5df091b608ce621e2", null ], + [ "Q0n16_FIX1", "group__mozzi__fixmath.html#gaa1e02cbcdc65171103653df03fec3b76", null ], + [ "Q0n32_FIX1", "group__mozzi__fixmath.html#gacb7fad10f1c2b67504271149f8f1215f", null ], + [ "Q0n7_FIX1", "group__mozzi__fixmath.html#ga42c55269acbc41ca1fbcbb7aea5e8767", null ], + [ "Q15n0_FIX1", "group__mozzi__fixmath.html#gafa16db677f958c243a826695b2c14c3c", null ], + [ "Q15n16_FIX1", "group__mozzi__fixmath.html#ga7933033ba3cd84a4d09c0bd652378a38", null ], + [ "Q16n16_2PI", "group__mozzi__fixmath.html#ga4bf1124c7bdac767263b2037211933e3", null ], + [ "Q16n16_FIX1", "group__mozzi__fixmath.html#gaa4538a17e7e75b14a5826405ad06acef", null ], + [ "Q1n14_FIX1", "group__mozzi__fixmath.html#ga6f99802ebadd6b1b3ee707892e36cab9", null ], + [ "Q1n15_FIX1", "group__mozzi__fixmath.html#ga8124fb8d1bcb111532f22726dbf3e5cc", null ], + [ "Q23n8_FIX1", "group__mozzi__fixmath.html#gaad55b32c6590a3e4bb07972a7acec4a9", null ], + [ "Q3n13_2PI", "group__mozzi__fixmath.html#gac065d8a968cb7c4dd713458682ee1308", null ], + [ "Q7n8_FIX1", "group__mozzi__fixmath.html#ga1a04e29b3420231fc54039caf460a88c", null ], + [ "Q7n8_multfix", "group__mozzi__fixmath.html#ga4628b6ab7962076cb9e176a3d9739ac6", null ], + [ "Q8n24_FIX1", "group__mozzi__fixmath.html#ga5083b2bbeeb968258e2da31d3af26a25", null ], + [ "Q8n8_FIX1", "group__mozzi__fixmath.html#ga00d3299412f5460cae3af8f0c58b2db1", null ], + [ "Q0n16", "group__mozzi__fixmath.html#ga6c7bab361e1738f385e3af1c8157eefb", null ], + [ "Q0n31", "group__mozzi__fixmath.html#gaa56966cb3ddcbb6d8e3b50e8497df9fc", null ], + [ "Q0n32", "group__mozzi__fixmath.html#gaa5d047aa73132f256dbf654b77044849", null ], + [ "Q0n7", "group__mozzi__fixmath.html#ga63ce3e8c0ab9757dd79f53811f6fed9c", null ], + [ "Q0n8", "group__mozzi__fixmath.html#ga8a02d4dea10140847682e78ba4bd6367", null ], + [ "Q15n0", "group__mozzi__fixmath.html#ga5b744a37ff9e070a302fa8f28950250e", null ], + [ "Q15n16", "group__mozzi__fixmath.html#ga27c6ece00a166ba3285bf7302c325e2e", null ], + [ "Q16n0", "group__mozzi__fixmath.html#ga5bbf61206b9d7c04c8816f8412f2522f", null ], + [ "Q16n16", "group__mozzi__fixmath.html#ga20ef71528ee7583bbf60586448b12caf", null ], + [ "Q1n14", "group__mozzi__fixmath.html#ga065de9fcedeb97d94b2eaf0ae86f8b6a", null ], + [ "Q1n15", "group__mozzi__fixmath.html#ga3e68ac7668fca01f7281a00cdecbc7ba", null ], + [ "Q23n8", "group__mozzi__fixmath.html#ga0ac052d4a789286894814bb69638d04b", null ], + [ "Q24n8", "group__mozzi__fixmath.html#gaa8e579259244eb60e7f70576c8e61cbd", null ], + [ "Q31n0", "group__mozzi__fixmath.html#gab57cc32156b75445f006f5f1ef3ca58a", null ], + [ "Q32n0", "group__mozzi__fixmath.html#ga8b7a6c03378536458f1b55774a8d38c2", null ], + [ "Q3n13", "group__mozzi__fixmath.html#ga755c5617a3e7b057740ad5c3e24be00e", null ], + [ "Q7n0", "group__mozzi__fixmath.html#ga54e54f703dd3d1f7aa38d930885ac549", null ], + [ "Q7n8", "group__mozzi__fixmath.html#gac16a505e3f62bbfd9160e1d6bf83fa98", null ], + [ "Q8n0", "group__mozzi__fixmath.html#gaac3e4cab960e285ec7e2d8afd54a9dd9", null ], + [ "Q8n24", "group__mozzi__fixmath.html#ga7cef68582c1933cc8249364720f848f1", null ], + [ "Q8n8", "group__mozzi__fixmath.html#ga5ae84c3845de6126c16295e05599c163", null ], + [ "float_to_Q0n16", "group__mozzi__fixmath.html#ga4d20591828f0189963f1190f7197ba68", null ], + [ "float_to_Q0n7", "group__mozzi__fixmath.html#ga1e0eab490ffe9a47fd78bcc449e3b995", null ], + [ "float_to_Q0n8", "group__mozzi__fixmath.html#ga00e21c6b9d75ed26cd3bf1b9f4f9482e", null ], + [ "float_to_Q15n16", "group__mozzi__fixmath.html#ga0e76f24ef8dfe0fa7510c4eea2608d5c", null ], + [ "float_to_Q16n16", "group__mozzi__fixmath.html#ga041d3ba65c131b9aa01b9f34ec439b71", null ], + [ "float_to_Q1n14", "group__mozzi__fixmath.html#ga1aab8b66d6d6f370cc66d82968884d18", null ], + [ "float_to_Q1n15", "group__mozzi__fixmath.html#ga447e25c2d6c9bf14d8e324df0cc02753", null ], + [ "float_to_Q23n8", "group__mozzi__fixmath.html#ga2ca980a6d71eb894b07534b30d9b7a06", null ], + [ "float_to_Q24n8", "group__mozzi__fixmath.html#gaf91bc6123ecaff1441660d3abb20bf2e", null ], + [ "float_to_Q7n8", "group__mozzi__fixmath.html#ga2a28dc262b3e79e0f67e4089cccaab45", null ], + [ "float_to_Q8n24", "group__mozzi__fixmath.html#ga33ecb8a512f7d4eff5047d4ad65f5423", null ], + [ "float_to_Q8n8", "group__mozzi__fixmath.html#ga36132b5f8f95223749b410ca235eef16", null ], + [ "Q0n16_to_float", "group__mozzi__fixmath.html#ga0440dbc7692a88dca7b1173f020c9b0d", null ], + [ "Q0n7_to_float", "group__mozzi__fixmath.html#ga8b01eb695e8d8c197e4e83a76d391a6a", null ], + [ "Q0n7_to_Q15n16", "group__mozzi__fixmath.html#gac8b6733abac81f36cf8075a4d3c04e49", null ], + [ "Q0n7_to_Q1n14", "group__mozzi__fixmath.html#ga468ddaa38e178b45a77e0c103da22b7c", null ], + [ "Q0n8_to_float", "group__mozzi__fixmath.html#gade631f0534cf54fadbff65911809d927", null ], + [ "Q0n8_to_Q15n16", "group__mozzi__fixmath.html#gad224b917b591bfa3554a958e84f8fadf", null ], + [ "Q0n8_to_Q16n16", "group__mozzi__fixmath.html#gab13c5f790423d9a0cf10445b366933fe", null ], + [ "Q0n8_to_Q1n15", "group__mozzi__fixmath.html#gaa9c85bc32475856ed07c3780a237ba31", null ], + [ "Q0n8_to_Q24n8", "group__mozzi__fixmath.html#ga77edd2a4cd49df42e7145da9bdb799ae", null ], + [ "Q0n8_to_Q8n24", "group__mozzi__fixmath.html#gac864675855d95314dd015ea52dc80135", null ], + [ "Q0n8_to_Q8n8", "group__mozzi__fixmath.html#ga07cdd6c75045759d9d11116f5caea4bf", null ], + [ "Q15n0_to_Q15n16", "group__mozzi__fixmath.html#ga8ef5b17eaddb22228824829204ee71bb", null ], + [ "Q15n16_to_float", "group__mozzi__fixmath.html#ga4096449c3f0598a1534255de789d2ee5", null ], + [ "Q15n16_to_Q0n8", "group__mozzi__fixmath.html#gaf8dd8621335948f9048742f0a59dc795", null ], + [ "Q15n16_to_Q15n0", "group__mozzi__fixmath.html#gaa2ec03187910e9c6418298ef55655c36", null ], + [ "Q15n16_to_Q23n8", "group__mozzi__fixmath.html#ga67b0f3ae70755ed8891e510b02813c08", null ], + [ "Q15n16_to_Q7n8", "group__mozzi__fixmath.html#ga21d72d50bd41022755514c96c2d11901", null ], + [ "Q16n0_to_float", "group__mozzi__fixmath.html#ga990f68566b105bc35ed718ad5ef93d72", null ], + [ "Q16n0_to_Q15n16", "group__mozzi__fixmath.html#ga720cdc234e4d0979753e5aef22a93e11", null ], + [ "Q16n0_to_Q16n16", "group__mozzi__fixmath.html#gac193b97057ac01de898db661cb6d1c5d", null ], + [ "Q16n0_to_Q23n8", "group__mozzi__fixmath.html#gaab7cd08af1c66dd48873f9a5645cc95e", null ], + [ "Q16n0_to_Q24n8", "group__mozzi__fixmath.html#ga779f365fbc3378a0e8cc167d44fd7aad", null ], + [ "Q16n16_pow2", "group__mozzi__fixmath.html#ga2e1d9d0fe4ba7edb9830efb7887c36bd", null ], + [ "Q16n16_to_float", "group__mozzi__fixmath.html#gafcb57f2d0fdcce65b60401f47b871d14", null ], + [ "Q16n16_to_Q0n8", "group__mozzi__fixmath.html#ga1315b4f68a57d26fbedc88d5b30a44d8", null ], + [ "Q16n16_to_Q16n0", "group__mozzi__fixmath.html#ga89bdabdfd59a8ec3f06aedbbab087527", null ], + [ "Q16n16_to_Q24n8", "group__mozzi__fixmath.html#ga17dd8cb80ef87b6573926e411618105a", null ], + [ "Q1n14_to_float", "group__mozzi__fixmath.html#gad3fe2bc17bed17cd159a9c030145b6ca", null ], + [ "Q1n14_to_Q0n7", "group__mozzi__fixmath.html#ga5f3733fb89e77693e54328375226f5e9", null ], + [ "Q1n15_to_float", "group__mozzi__fixmath.html#ga9ed5a6a2041f490ffa52b5a5fa95d3e5", null ], + [ "Q1n15_to_Q0n8", "group__mozzi__fixmath.html#ga67c11990c9288aa762c708d3a48ba7fc", null ], + [ "Q23n8_to_float", "group__mozzi__fixmath.html#ga47738704056a272968e80b399e06e82b", null ], + [ "Q23n8_to_Q15n0", "group__mozzi__fixmath.html#ga1b21d30a04f07940dc4ea206533b9dd8", null ], + [ "Q23n8_to_Q16n0", "group__mozzi__fixmath.html#gaa6a3087e0119ed233a3256f8fa25e146", null ], + [ "Q23n8_to_Q31n0", "group__mozzi__fixmath.html#ga8f3d1181dc6802782b9ff9aa59ca96a2", null ], + [ "Q23n8_to_Q7n8", "group__mozzi__fixmath.html#gac243a1fd2154b115e4ba39a70125675e", null ], + [ "Q24n8_to_float", "group__mozzi__fixmath.html#gab495892ee3db6cbce186fbb7c7246088", null ], + [ "Q24n8_to_Q0n8", "group__mozzi__fixmath.html#ga94dd6fe8594b171881ade98431dfda28", null ], + [ "Q24n8_to_Q16n0", "group__mozzi__fixmath.html#gaefdfa391a9fef0f17d1f9df16fd9a9f0", null ], + [ "Q24n8_to_Q16n16", "group__mozzi__fixmath.html#ga2b445681d56f8693c3d98d5ff19b51d4", null ], + [ "Q24n8_to_Q32n0", "group__mozzi__fixmath.html#ga9f28b2310c92ecac72960d9bd0aff80f", null ], + [ "Q7n0_to_Q7n8", "group__mozzi__fixmath.html#ga81b0b1f295a6a724c100e600d6b4ce28", null ], + [ "Q7n8_to_float", "group__mozzi__fixmath.html#gaad3cbbc6a772d246d26fd98b5a079382", null ], + [ "Q7n8_to_Q7n0", "group__mozzi__fixmath.html#gaa8be90cc674fc9ac72a2faafb11d6a5e", null ], + [ "Q8n0_to_Q15n16", "group__mozzi__fixmath.html#gac0b4678c510db93302efb15497911907", null ], + [ "Q8n0_to_Q16n16", "group__mozzi__fixmath.html#ga589b5c022b59a72fc3fb39061048d193", null ], + [ "Q8n0_to_Q7n8", "group__mozzi__fixmath.html#ga4baa8569c241630ddd25d798d0a89b3d", null ], + [ "Q8n0_to_Q8n8", "group__mozzi__fixmath.html#ga90a5d59d5a529f4caaf408730230a156", null ], + [ "Q8n24_to_float", "group__mozzi__fixmath.html#ga6f0e36938a7dfae4ab399f17642c2bcd", null ], + [ "Q8n24_to_Q0n8", "group__mozzi__fixmath.html#ga0c5065bc7c71ac750acde1c7ce216d87", null ], + [ "Q8n8_to_float", "group__mozzi__fixmath.html#gabc9c251c25fa7a239d704ea3998e7e39", null ], + [ "Q8n8_to_Q16n16", "group__mozzi__fixmath.html#gab88fd86b4f226f0e2614b0ac813e4cad", null ], + [ "Q8n8_to_Q8n0", "group__mozzi__fixmath.html#gad68e3b4d1bf65e997d5e709eb4153572", null ] +]; \ No newline at end of file diff --git a/doc/html/group__random.html b/doc/html/group__random.html index cc52f6a53..ec0ae104d 100644 --- a/doc/html/group__random.html +++ b/doc/html/group__random.html @@ -3,46 +3,44 @@ -Mozzi: fast random number generator functions - + +Mozzi: Fast random number generator functions - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,13 +68,27 @@
  • +
    +
    + +
    +
    + +
    @@ -89,50 +101,71 @@
    -
    fast random number generator functions
    +
    Fast random number generator functions
    + +

    These replace Arduino random() which is so slow it will stop your audio. +More...

    - - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + + - + +

    +

    Functions

    unsigned long xorshift96 ()
     Random number generator.
     Random number generator. More...
     
    void randSeed (long seed)
     Initialises Mozzi's (pseudo)random number generator xorshift96(), which is used in Mozzi's rand() function.
     Initialises Mozzi's (pseudo)random number generator xorshift96(), which is used in Mozzi's rand() function. More...
     
    void randSeed ()
     Initialises Mozzi's (pseudo)random number generator xorshift96(), which is used in Mozzi's rand() function.
     Initialises Mozzi's (pseudo)random number generator xorshift96(), which is used in Mozzi's rand() function. More...
     
    void xorshiftSeed (long seed)
     Initialises Mozzi's (pseudo)random number generator xorshift96().
     Initialises Mozzi's (pseudo)random number generator xorshift96(). More...
     
    char rand (char minval, char maxval)
     Ranged random number generator, faster than Arduino's built-in random function, which is too slow for Mozzi.
     Ranged random number generator, faster than Arduino's built-in random function, which is too slow for Mozzi. More...
     
    unsigned char rand (unsigned char minval, unsigned char maxval)
     Ranged random number generator, faster than Arduino's built-in random function, which is too slow for Mozzi.
     Ranged random number generator, faster than Arduino's built-in random function, which is too slow for Mozzi. More...
     
    int rand (int minval, int maxval)
     Ranged random number generator, faster than Arduino's built-in random function, which is too slow for Mozzi.
     Ranged random number generator, faster than Arduino's built-in random function, which is too slow for Mozzi. More...
     
    unsigned int rand (unsigned int minval, unsigned int maxval)
     Ranged random number generator, faster than Arduino's built-in random function, which is too slow for Mozzi.
     Ranged random number generator, faster than Arduino's built-in random function, which is too slow for Mozzi. More...
     
    char rand (char maxval)
     Ranged random number generator, faster than Arduino's built-in random function, which is too slow for Mozzi.
     Ranged random number generator, faster than Arduino's built-in random function, which is too slow for Mozzi. More...
     
    unsigned char rand (unsigned char maxval)
     Ranged random number generator, faster than Arduino's built-in random function, which is too slow for Mozzi.
     Ranged random number generator, faster than Arduino's built-in random function, which is too slow for Mozzi. More...
     
    int rand (int maxval)
     Ranged random number generator, faster than Arduino's built-in random function, which is too slow for Mozzi.
     Ranged random number generator, faster than Arduino's built-in random function, which is too slow for Mozzi. More...
     
    unsigned int rand (unsigned int maxval)
     Ranged random number generator, faster than Arduino's built-in random function, which is too slow for Mozzi.
     Ranged random number generator, faster than Arduino's built-in random function, which is too slow for Mozzi. More...
     
    unsigned char randMidiNote ()
     Generates a random number in the range for midi notes.
     Generates a random number in the range for midi notes. More...
     
    unsigned int randPrime (unsigned int n)
     Generates a random prime number between 0 and the n-1th prime number.
     Generates a random prime number between 0 and the n-1th prime number. More...
     
    unsigned int randPrimeUpTo (unsigned int n)
     Generates a random prime number between 0 and the given input number inclusive.
     Generates a random prime number between 0 and the given input number inclusive. More...
     
    -

    Function Documentation

    +

    Detailed Description

    +

    These replace Arduino random() which is so slow it will stop your audio.

    +

    They can even be used to generate audio noise.

    +

    Function Documentation

    - + @@ -149,18 +182,17 @@
    char rand char rand ( char  minval,
    -
    -
    +

    Ranged random number generator, faster than Arduino's built-in random function, which is too slow for Mozzi.

    -
    Parameters:
    +
    Parameters
    minvalthe minimum signed byte value of the range to be chosen from. Minval will be the minimum value possibly returned by the function.
    maxvalthe maximum signed byte value of the range to be chosen from. Maxval-1 will be the largest value possibly returned by the function.
    -
    Returns:
    a random char between minval and maxval-1 inclusive.
    +
    Returns
    a random char between minval and maxval-1 inclusive.

    Definition at line 137 of file mozzi_rand.cpp.

    @@ -171,7 +203,7 @@
    - + @@ -188,18 +220,17 @@
    unsigned char rand unsigned char rand ( unsigned char  minval,
    -
    -
    +

    Ranged random number generator, faster than Arduino's built-in random function, which is too slow for Mozzi.

    -
    Parameters:
    +
    Parameters
    minvalthe minimum unsigned byte value of the range to be chosen from. Minval will be the minimum value possibly returned by the function.
    maxvalthe maximum unsigned byte value of the range to be chosen from. Maxval-1 will be the largest value possibly returned by the function.
    -
    Returns:
    a random unsigned char between minval and maxval-1 inclusive.
    +
    Returns
    a random unsigned char between minval and maxval-1 inclusive.

    Definition at line 149 of file mozzi_rand.cpp.

    @@ -210,7 +241,7 @@
    - + @@ -227,18 +258,17 @@
    int rand int rand ( int  minval,
    -
    -
    +

    Ranged random number generator, faster than Arduino's built-in random function, which is too slow for Mozzi.

    -
    Parameters:
    +
    Parameters
    minvalthe minimum signed int value of the range to be chosen from. Minval will be the minimum value possibly returned by the function.
    maxvalthe maximum signed int value of the range to be chosen from. Maxval-1 will be the largest value possibly returned by the function.
    -
    Returns:
    a random int between minval and maxval-1 inclusive.
    +
    Returns
    a random int between minval and maxval-1 inclusive.

    Definition at line 161 of file mozzi_rand.cpp.

    @@ -249,7 +279,7 @@
    - + @@ -266,18 +296,17 @@
    unsigned int rand unsigned int rand ( unsigned int  minval,
    -
    -
    +

    Ranged random number generator, faster than Arduino's built-in random function, which is too slow for Mozzi.

    -
    Parameters:
    +
    Parameters
    minvalthe minimum unsigned int value of the range to be chosen from. Minval will be the minimum value possibly returned by the function.
    maxvalthe maximum unsigned int value of the range to be chosen from. Maxval-1 will be the largest value possibly returned by the function.
    -
    Returns:
    a random unsigned int between minval and maxval-1 inclusive.
    +
    Returns
    a random unsigned int between minval and maxval-1 inclusive.

    Definition at line 173 of file mozzi_rand.cpp.

    @@ -288,24 +317,23 @@
    - + - +
    char rand char rand ( char maxval)maxval)
    -
    -
    +

    Ranged random number generator, faster than Arduino's built-in random function, which is too slow for Mozzi.

    -
    Parameters:
    +
    Parameters
    maxvalthe maximum signed byte value of the range to be chosen from. Maxval-1 will be the largest value possibly returned by the function.
    -
    Returns:
    a random char between 0 and maxval-1 inclusive.
    +
    Returns
    a random char between 0 and maxval-1 inclusive.

    Definition at line 184 of file mozzi_rand.cpp.

    @@ -316,24 +344,23 @@
    - + - +
    unsigned char rand unsigned char rand ( unsigned char maxval)maxval)
    -
    -
    +

    Ranged random number generator, faster than Arduino's built-in random function, which is too slow for Mozzi.

    -
    Parameters:
    +
    Parameters
    maxvalthe maximum unsigned byte value of the range to be chosen from. Maxval-1 will be the largest value possibly returned by the function.
    -
    Returns:
    a random unsigned char between 0 and maxval-1 inclusive.
    +
    Returns
    a random unsigned char between 0 and maxval-1 inclusive.

    Definition at line 195 of file mozzi_rand.cpp.

    @@ -344,24 +371,23 @@
    - + - +
    int rand int rand ( int maxval)maxval)
    -
    -
    +

    Ranged random number generator, faster than Arduino's built-in random function, which is too slow for Mozzi.

    -
    Parameters:
    +
    Parameters
    maxvalthe maximum signed int value of the range to be chosen from. Maxval-1 will be the largest value possibly returned by the function.
    -
    Returns:
    a random int between 0 and maxval-1 inclusive.
    +
    Returns
    a random int between 0 and maxval-1 inclusive.

    Definition at line 206 of file mozzi_rand.cpp.

    @@ -372,24 +398,23 @@
    - + - +
    unsigned int rand unsigned int rand ( unsigned int maxval)maxval)
    -
    -
    +

    Ranged random number generator, faster than Arduino's built-in random function, which is too slow for Mozzi.

    -
    Parameters:
    +
    Parameters
    maxvalthe maximum unsigned int value of the range to be chosen from. Maxval-1 will be the largest value possibly returned by the function.
    -
    Returns:
    a random unsigned int between 0 and maxval-1 inclusive.
    +
    Returns
    a random unsigned int between 0 and maxval-1 inclusive.

    Definition at line 217 of file mozzi_rand.cpp.

    @@ -400,17 +425,16 @@
    - + - +
    unsigned char randMidiNote unsigned char randMidiNote ())
    -
    -
    +

    Generates a random number in the range for midi notes.

    -
    Returns:
    a random value between 0 and 127 inclusive
    +
    Returns
    a random value between 0 and 127 inclusive

    Definition at line 227 of file mozzi_rand.cpp.

    @@ -419,28 +443,35 @@
    + + + + + +
    - + - - + +
    unsigned int randPrime unsigned int randPrime ( unsigned int n) [inline]n)
    - -
    +
    +inline
    +

    Generates a random prime number between 0 and the n-1th prime number.

    This uses a stored array of primes, which takes about 2.5k of progmem.

    -
    Parameters:
    +
    Parameters
    nthe maximum index in the series of primes up to which numbers will be returned. The maximum is 1128.
    -
    Returns:
    random prime number between 0 and n-1th index in the series of primes.
    -
    Note:
    This isn't included automatically with mozzi_utils.h, because it takes up memory which might be needed for other things. You need to "#include <primes.h>" separately to mozzi_utils.h.
    +
    Returns
    random prime number between 0 and n-1th index in the series of primes.
    +
    Note
    This isn't included automatically with mozzi_utils.h, because it takes up memory which might be needed for other things. You need to "#include <primes.h>" separately to mozzi_utils.h.

    Definition at line 58 of file primes.h.

    @@ -449,28 +480,35 @@
    + + + + + +
    - + - - + +
    unsigned int randPrimeUpTo unsigned int randPrimeUpTo ( unsigned int n) [inline]n)
    - -
    +
    +inline
    +

    Generates a random prime number between 0 and the given input number inclusive.

    This uses a stored array of primes up to 10000, which takes about 2.5k of progmem.

    -
    Parameters:
    +
    Parameters
    nthe upper limit of the random prime number to be generated. The maximum is 10000.
    -
    Returns:
    random prime number between 0 and n.
    -
    Note:
    This isn't included automatically with mozzi_utils.h, because it takes up memory which might be needed for other things. You need to "#include <primes.h>" separately to mozzi_utils.h.
    +
    Returns
    random prime number between 0 and n.
    +
    Note
    This isn't included automatically with mozzi_utils.h, because it takes up memory which might be needed for other things. You need to "#include <primes.h>" separately to mozzi_utils.h.

    Definition at line 73 of file primes.h.

    @@ -481,19 +519,18 @@
    - + - +
    void randSeed void randSeed ( long seed)seed)
    -
    -
    +
    -

    Initialises Mozzi's (pseudo)random number generator xorshift96(), which is used in Mozzi's rand() function.

    +

    Initialises Mozzi's (pseudo)random number generator xorshift96(), which is used in Mozzi's rand() function.

    This can be useful if you want random sequences to be different on each run of a sketch, by seeding with fairly random input, such as analogRead() on an unconnected pin (as explained in the Arduino documentation for randomSeed(). randSeed is the same as xorshift96Seed(), but easier to remember.

    -
    Parameters:
    +
    Parameters
    seeda number to use as a seed.
    @@ -509,18 +546,17 @@
    - + - +
    void randSeed void randSeed ())
    -
    -
    +
    -

    Initialises Mozzi's (pseudo)random number generator xorshift96(), which is used in Mozzi's rand() function.

    +

    Initialises Mozzi's (pseudo)random number generator xorshift96(), which is used in Mozzi's rand() function.

    This can be useful if you want random sequences to be different on each run of a sketch, by seeding with a fairly random input. randSeed() called without a parameter uses noise from reading the Arduino's internal temperature as the seed, a technique discussed at http://arduino.cc/forum/index.php/topic,38091.0.html, borrowing code put there by Rob Tillaart.

    -
    Note:
    IMPORTANT!!! Make sure you set analogReference() to suit your sketch after calling randSeed(). randSeed() sets analogReference to DEFAULT. Sorry about that.
    +
    Note
    IMPORTANT!!! Make sure you set analogReference() to suit your sketch after calling randSeed(). randSeed() sets analogReference to DEFAULT. Sorry about that.
    This is quite slow, so best to call it only in setup().
    @@ -537,18 +573,17 @@
    - + - +
    unsigned long xorshift96 unsigned long xorshift96 ())
    -
    -
    +

    Random number generator.

    A faster replacement for Arduino's random function, which is too slow to use with Mozzi. Based on Marsaglia, George. (2003). Xorshift RNGs. http://www.jstatsoft.org/v08/i14/xorshift.pdf

    -
    Returns:
    a random 32 bit integer.
    +
    Returns
    a random 32 bit integer.

    Definition at line 17 of file mozzi_rand.cpp.

    @@ -559,19 +594,18 @@
    - + - +
    void xorshiftSeed void xorshiftSeed ( long seed)seed)
    -
    -
    +
    -

    Initialises Mozzi's (pseudo)random number generator xorshift96().

    +

    Initialises Mozzi's (pseudo)random number generator xorshift96().

    This can be useful if you want random sequences to be different on each run of a sketch, by seeding with fairly random input, such as analogRead() on an unconnected pin (as explained in the Arduino documentation for randomSeed().

    -
    Parameters:
    +
    Parameters
    seeda number to use as a seed.
    @@ -583,13 +617,14 @@
    - - - - +
    + + diff --git a/doc/html/group__random.js b/doc/html/group__random.js new file mode 100644 index 000000000..9c0906fbf --- /dev/null +++ b/doc/html/group__random.js @@ -0,0 +1,18 @@ +var group__random = +[ + [ "rand", "group__random.html#gacd4bfc9e040d0090b9321f43a6297e21", null ], + [ "rand", "group__random.html#ga91590455565d619314812a7f95fcd9e7", null ], + [ "rand", "group__random.html#ga4c69deb53afb886b26c76b343513b340", null ], + [ "rand", "group__random.html#ga95de742b529d5965461f1d3f6f576e18", null ], + [ "rand", "group__random.html#gaa0c23ec434d09717e1fe2e8363e689bc", null ], + [ "rand", "group__random.html#ga4bfcc7c200e26fff41a2af61c9ea1a9f", null ], + [ "rand", "group__random.html#ga1182cb74988d9c8510959149adc63762", null ], + [ "rand", "group__random.html#ga4ad4ab94c8b0e8a4d4be925490378733", null ], + [ "randMidiNote", "group__random.html#ga5c14e59f9bdf24917b6db63be89a2180", null ], + [ "randPrime", "group__random.html#gab6c2b444d462461b82997e04105d0398", null ], + [ "randPrimeUpTo", "group__random.html#gaead8db89e2403d5ef7842f894552c629", null ], + [ "randSeed", "group__random.html#ga84c58d758e238208eb82fc8ae2330b66", null ], + [ "randSeed", "group__random.html#ga83ff6b4e38c84713e0d67aa1ec06af66", null ], + [ "xorshift96", "group__random.html#gaf2deee83847f1fcee2c859d97bd072f6", null ], + [ "xorshiftSeed", "group__random.html#gaf7117eb5e1e0676c276be7094ce30ab7", null ] +]; \ No newline at end of file diff --git a/doc/html/group__util.html b/doc/html/group__util.html index 5797643f1..8bfbf829c 100644 --- a/doc/html/group__util.html +++ b/doc/html/group__util.html @@ -3,46 +3,44 @@ + Mozzi: Mozzi utility functions - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,13 +68,27 @@
  • +
    +
    + +
    +
    + +
    @@ -92,85 +104,115 @@
    Mozzi utility functions
    + +

    Useful for debugging and profiling high frequency code with an oscilloscope, when serial is too slow. +More...

    - - + + - + + - + +

    +

    Functions

    void setPin13Out ()
     Set digital pin 13 to output for testing timing with an oscilloscope.
     Set digital pin 13 to output for testing timing with an oscilloscope. More...
     
    void setPin13High ()
     Set pin 13 high for testing timing with an oscilloscope.
     Set pin 13 high for testing timing with an oscilloscope. More...
     
    void setPin13Low ()
     Set pin 13 low for testing timing with an oscilloscope.
     Set pin 13 low for testing timing with an oscilloscope. More...
     
    -

    Function Documentation

    +

    Detailed Description

    +

    Useful for debugging and profiling high frequency code with an oscilloscope, when serial is too slow.

    +

    Function Documentation

    + + + + + +
    - + - - + +
    void setPin13High void setPin13High () [inline])
    - -
    +
    +inline
    +

    Set pin 13 high for testing timing with an oscilloscope.

    -

    Definition at line 27 of file mozzi_utils.h.

    +

    Definition at line 28 of file mozzi_utils.h.

    + + + + + +
    - + - - + +
    void setPin13Low void setPin13Low () [inline])
    - -
    +
    +inline
    +

    Set pin 13 low for testing timing with an oscilloscope.

    -

    Definition at line 36 of file mozzi_utils.h.

    +

    Definition at line 37 of file mozzi_utils.h.

    + + + + + +
    - + - - + +
    void setPin13Out void setPin13Out () [inline])
    - -
    +
    +inline
    +

    Set digital pin 13 to output for testing timing with an oscilloscope.

    -

    Definition at line 18 of file mozzi_utils.h.

    +

    Definition at line 19 of file mozzi_utils.h.

    - - - - +
    + + diff --git a/doc/html/group__util.js b/doc/html/group__util.js new file mode 100644 index 000000000..6e21a5c7d --- /dev/null +++ b/doc/html/group__util.js @@ -0,0 +1,6 @@ +var group__util = +[ + [ "setPin13High", "group__util.html#gaea7ee11e335eb2d6b891b886c5f3f942", null ], + [ "setPin13Low", "group__util.html#ga4c87d0211135fd33a8697350235b50b4", null ], + [ "setPin13Out", "group__util.html#gad1725ef17b234c4df9cc64a9bf561435", null ] +]; \ No newline at end of file diff --git a/doc/html/halfsin256__uint8_8h_source.html b/doc/html/halfsin256__uint8_8h_source.html index fc79ab632..218527642 100644 --- a/doc/html/halfsin256__uint8_8h_source.html +++ b/doc/html/halfsin256__uint8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: tables/halfsin256_uint8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,51 +99,53 @@
    -
    tables/halfsin256_uint8.h
    +
    halfsin256_uint8.h
    -
    00001 #ifndef HALFSIN256_H_
    -00002 #define HALFSIN256_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 #define HALFSIN256_NUM_CELLS 256
    -00012 #define HALFSIN256_SAMPLERATE 256
    -00013 
    -00014 const char __attribute__((progmem)) HALFSIN256_DATA []  =
    -00015         {
    -00016                 0, 3, 6, 9, 13, 16, 19, 22, 25, 28, 31,
    -00017                 34, 38, 41, 44, 47, 50, 53, 56, 59, 62, 65, 68, 71, 74, 77, 80, 83, 86, 89, 92,
    -00018                 95, 98, 101, 104, 107, 109, 112, 115, 118, 121, 123, 126, 129, 132, 134, 137,
    -00019                 140, 142, 145, 147, 150, 152, 155, 157, 160, 162, 165, 167, 170, 172, 174, 177,
    -00020                 179, 181, 183, 185, 188, 190, 192, 194, 196, 198, 200, 202, 204, 206, 207, 209,
    -00021                 211, 213, 215, 216, 218, 220, 221, 223, 224, 226, 227, 229, 230, 231, 233, 234,
    -00022                 235, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 248, 249, 250,
    -00023                 250, 251, 252, 252, 253, 253, 254, 254, 254, 255, 255, 255, 256, 256, 256, 256,
    -00024                 256, 256, 256, 256, 256, 256, 256, 255, 255, 255, 254, 254, 254, 253, 253, 252,
    -00025                 252, 251, 250, 250, 249, 248, 248, 247, 246, 245, 244, 243, 242, 241, 240, 239,
    -00026                 238, 237, 235, 234, 233, 231, 230, 229, 227, 226, 224, 223, 221, 220, 218, 216,
    -00027                 215, 213, 211, 209, 207, 206, 204, 202, 200, 198, 196, 194, 192, 190, 188, 185,
    -00028                 183, 181, 179, 177, 174, 172, 170, 167, 165, 162, 160, 157, 155, 152, 150, 147,
    -00029                 145, 142, 140, 137, 134, 132, 129, 126, 123, 121, 118, 115, 112, 109, 107, 104,
    -00030                 101, 98, 95, 92, 89, 86, 83, 80, 77, 74, 71, 68, 65, 62, 59, 56, 53, 50, 47, 44,
    -00031                 41, 38, 34, 31, 28, 25, 22, 19, 16, 13, 9, 6, 3,
    -00032         };
    -00033 
    -00034 #endif /* HALFSIN256_H_ */
    -
    - - - - +
    1 #ifndef HALFSIN256_H_
    +
    2 #define HALFSIN256_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 #define HALFSIN256_NUM_CELLS 256
    +
    12 #define HALFSIN256_SAMPLERATE 256
    +
    13 
    +
    14 const char __attribute__((progmem)) HALFSIN256_DATA [] =
    +
    15  {
    +
    16  0, 3, 6, 9, 13, 16, 19, 22, 25, 28, 31,
    +
    17  34, 38, 41, 44, 47, 50, 53, 56, 59, 62, 65, 68, 71, 74, 77, 80, 83, 86, 89, 92,
    +
    18  95, 98, 101, 104, 107, 109, 112, 115, 118, 121, 123, 126, 129, 132, 134, 137,
    +
    19  140, 142, 145, 147, 150, 152, 155, 157, 160, 162, 165, 167, 170, 172, 174, 177,
    +
    20  179, 181, 183, 185, 188, 190, 192, 194, 196, 198, 200, 202, 204, 206, 207, 209,
    +
    21  211, 213, 215, 216, 218, 220, 221, 223, 224, 226, 227, 229, 230, 231, 233, 234,
    +
    22  235, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 248, 249, 250,
    +
    23  250, 251, 252, 252, 253, 253, 254, 254, 254, 255, 255, 255, 256, 256, 256, 256,
    +
    24  256, 256, 256, 256, 256, 256, 256, 255, 255, 255, 254, 254, 254, 253, 253, 252,
    +
    25  252, 251, 250, 250, 249, 248, 248, 247, 246, 245, 244, 243, 242, 241, 240, 239,
    +
    26  238, 237, 235, 234, 233, 231, 230, 229, 227, 226, 224, 223, 221, 220, 218, 216,
    +
    27  215, 213, 211, 209, 207, 206, 204, 202, 200, 198, 196, 194, 192, 190, 188, 185,
    +
    28  183, 181, 179, 177, 174, 172, 170, 167, 165, 162, 160, 157, 155, 152, 150, 147,
    +
    29  145, 142, 140, 137, 134, 132, 129, 126, 123, 121, 118, 115, 112, 109, 107, 104,
    +
    30  101, 98, 95, 92, 89, 86, 83, 80, 77, 74, 71, 68, 65, 62, 59, 56, 53, 50, 47, 44,
    +
    31  41, 38, 34, 31, 28, 25, 22, 19, 16, 13, 9, 6, 3,
    +
    32  };
    +
    33 
    +
    34 #endif /* HALFSIN256_H_ */
    +
    +
    + + diff --git a/doc/html/halfsinwindow512__uint8_8h_source.html b/doc/html/halfsinwindow512__uint8_8h_source.html index 96829abcf..2fa6df7ec 100644 --- a/doc/html/halfsinwindow512__uint8_8h_source.html +++ b/doc/html/halfsinwindow512__uint8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: tables/halfsinwindow512_uint8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,61 +99,63 @@
    -
    tables/halfsinwindow512_uint8.h
    +
    halfsinwindow512_uint8.h
    -
    00001 #ifndef HALFSINWINDOW512_H_
    -00002 #define HALFSINWINDOW512_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 // this is the top half of a sin, used as a rough envelope for a cycling fade-in, fade-out with empty space in between.
    -00012 
    -00013 #define HALFSINWINDOW512_NUM_CELLS 512
    -00014 #define HALFSINWINDOW512_SAMPLERATE 512
    -00015 
    -00016 const char __attribute__((progmem)) HALFSINWINDOW512_DATA []  =
    -00017         {
    -00018                 1, 3, 6, 9, 13, 16, 19, 22, 25, 28, 31,
    -00019                 34, 38, 41, 44, 47, 50, 53, 56, 59, 62, 65, 68, 71, 74, 77, 80, 83, 86, 89, 92,
    -00020                 95, 98, 101, 104, 107, 109, 112, 115, 118, 121, 123, 126, 129, 132, 134, 137,
    -00021                 140, 142, 145, 147, 150, 152, 155, 157, 160, 162, 165, 167, 170, 172, 174, 177,
    -00022                 179, 181, 183, 185, 188, 190, 192, 194, 196, 198, 200, 202, 204, 206, 207, 209,
    -00023                 211, 213, 215, 216, 218, 220, 221, 223, 224, 226, 227, 229, 230, 231, 233, 234,
    -00024                 235, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 248, 249, 250,
    -00025                 250, 251, 252, 252, 253, 253, 254, 254, 254, 255, 255, 255, 255, 255, 255, 255,
    -00026                 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 254, 254, 253, 253, 252,
    -00027                 252, 251, 250, 250, 249, 248, 248, 247, 246, 245, 244, 243, 242, 241, 240, 239,
    -00028                 238, 237, 235, 234, 233, 231, 230, 229, 227, 226, 224, 223, 221, 220, 218, 216,
    -00029                 215, 213, 211, 209, 207, 206, 204, 202, 200, 198, 196, 194, 192, 190, 188, 185,
    -00030                 183, 181, 179, 177, 174, 172, 170, 167, 165, 162, 160, 157, 155, 152, 150, 147,
    -00031                 145, 142, 140, 137, 134, 132, 129, 126, 123, 121, 118, 115, 112, 109, 107, 104,
    -00032                 101, 98, 95, 92, 89, 86, 83, 80, 77, 74, 71, 68, 65, 62, 59, 56, 53, 50, 47, 44,
    -00033                 41, 38, 34, 31, 28, 25, 22, 19, 16, 13, 9, 6, 3,
    -00034                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00035                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00036                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00037                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00038                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00039                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00040                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00041                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00042         };
    -00043 
    -00044 #endif /* HALFSINWINDOW512_H_ */
    -
    - - - - +
    1 #ifndef HALFSINWINDOW512_H_
    +
    2 #define HALFSINWINDOW512_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 // this is the top half of a sin, used as a rough envelope for a cycling fade-in, fade-out with empty space in between.
    +
    12 
    +
    13 #define HALFSINWINDOW512_NUM_CELLS 512
    +
    14 #define HALFSINWINDOW512_SAMPLERATE 512
    +
    15 
    +
    16 const char __attribute__((progmem)) HALFSINWINDOW512_DATA [] =
    +
    17  {
    +
    18  1, 3, 6, 9, 13, 16, 19, 22, 25, 28, 31,
    +
    19  34, 38, 41, 44, 47, 50, 53, 56, 59, 62, 65, 68, 71, 74, 77, 80, 83, 86, 89, 92,
    +
    20  95, 98, 101, 104, 107, 109, 112, 115, 118, 121, 123, 126, 129, 132, 134, 137,
    +
    21  140, 142, 145, 147, 150, 152, 155, 157, 160, 162, 165, 167, 170, 172, 174, 177,
    +
    22  179, 181, 183, 185, 188, 190, 192, 194, 196, 198, 200, 202, 204, 206, 207, 209,
    +
    23  211, 213, 215, 216, 218, 220, 221, 223, 224, 226, 227, 229, 230, 231, 233, 234,
    +
    24  235, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 248, 249, 250,
    +
    25  250, 251, 252, 252, 253, 253, 254, 254, 254, 255, 255, 255, 255, 255, 255, 255,
    +
    26  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 254, 254, 253, 253, 252,
    +
    27  252, 251, 250, 250, 249, 248, 248, 247, 246, 245, 244, 243, 242, 241, 240, 239,
    +
    28  238, 237, 235, 234, 233, 231, 230, 229, 227, 226, 224, 223, 221, 220, 218, 216,
    +
    29  215, 213, 211, 209, 207, 206, 204, 202, 200, 198, 196, 194, 192, 190, 188, 185,
    +
    30  183, 181, 179, 177, 174, 172, 170, 167, 165, 162, 160, 157, 155, 152, 150, 147,
    +
    31  145, 142, 140, 137, 134, 132, 129, 126, 123, 121, 118, 115, 112, 109, 107, 104,
    +
    32  101, 98, 95, 92, 89, 86, 83, 80, 77, 74, 71, 68, 65, 62, 59, 56, 53, 50, 47, 44,
    +
    33  41, 38, 34, 31, 28, 25, 22, 19, 16, 13, 9, 6, 3,
    +
    34  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    35  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    36  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    37  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    38  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    39  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    40  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    41  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    42  };
    +
    43 
    +
    44 #endif /* HALFSINWINDOW512_H_ */
    +
    +
    + + diff --git a/doc/html/hierarchy.html b/doc/html/hierarchy.html new file mode 100644 index 000000000..dd0d6b535 --- /dev/null +++ b/doc/html/hierarchy.html @@ -0,0 +1,155 @@ + + + + + + +Mozzi: Class Hierarchy + + + + + + + + + + + + + +
    +
    + + + + + + + +
    +
    Mozzi +  alpha 0.01.2c +
    +
    sound synthesis library for Arduino
    +
    +
    + + + + + +
    +
    + +
    +
    +
    + +
    + + + + +
    + +
    + +
    +
    +
    Class Hierarchy
    +
    +
    +
    This inheritance list is sorted roughly, but not completely, alphabetically:
    +
    [detail level 12]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    oCADSR< CONTROL_UPDATE_RATE >A simple ADSR envelope generator
    oCAudioDelay< NUM_BUFFER_SAMPLES, T >Audio delay line for comb filter, flange, chorus and short echo effects
    |\CControlDelay< NUM_BUFFER_SAMPLES, T >Control-rate delay line for delaying control signals
    oCAudioDelay< 128 >
    oCAudioDelay< 128, int >
    oCAudioDelay< 256, int >
    oCAutoRange< T >Keeps a running calculation of the range of the input values it receives
    oCDCfilterA DC-blocking filter useful for highlighting changes in control signals
    oCEadExponential attack decay envelope
    oCEventDelay< UPDATE_RATE >A non-blocking replacement for Arduino's delay() function (which is disabled by Mozzi)
    oCLine< T >For linear changes with a minimum of calculation at each step
    oCLine< Q15n16 >
    oCLine< Q16n16 >
    oCLine< unsigned long >
    oCLowPassFilterA resonant low pass filter for audio signals
    oCOscil< NUM_TABLE_CELLS, UPDATE_RATE >Oscil plays a wavetable, cycling through the table to generate an audio or control signal
    oCOscil< COS8192_NUM_CELLS, AUDIO_RATE >
    oCPhasor< UPDATE_RATE >Phasor repeatedly generates a high resolution ramp at a variable frequency
    oCPhasor< AUDIO_RATE >
    oCPortamento< CONTROL_UPDATE_RATE >A simple portamento (pitch slide from one note to the next) effect, useful for note-based applications
    oCRCpoll< SENSOR_PIN >A class for reading voltage on a digital pin, derived from http://arduino.cc/en/Tutorial/RCtime
    oCRecentAverage< T, NUM_READINGS >Calculates a running average over a specified number of the most recent readings
    oCReverbTankA reverb which sounds like the inside of a tin can
    oCSample< NUM_TABLE_CELLS, UPDATE_RATE >Sample is like Oscil, it plays a wavetable
    oCSmooth< T >A simple infinite impulse response low pass filter for smoothing control signals
    oCStateVariable< FILTER_TYPE >A State Variable filter which offers 12db resonant low, high, bandpass and notch modes
    oCWavePacket< ALGORITHM >Wavepacket synthesis, with two overlapping streams of wave packets
    \CWaveShaper< T >WaveShaper maps values from its input to values in a table, which are returned as output
    +
    +
    +
    + + + + diff --git a/doc/html/hierarchy.js b/doc/html/hierarchy.js new file mode 100644 index 000000000..0eec8ba3b --- /dev/null +++ b/doc/html/hierarchy.js @@ -0,0 +1,32 @@ +var hierarchy = +[ + [ "ADSR< CONTROL_UPDATE_RATE >", "class_a_d_s_r.html", null ], + [ "AudioDelay< NUM_BUFFER_SAMPLES, T >", "class_audio_delay.html", [ + [ "ControlDelay< NUM_BUFFER_SAMPLES, T >", "class_control_delay.html", null ] + ] ], + [ "AudioDelay< 128 >", "class_audio_delay.html", null ], + [ "AudioDelay< 128, int >", "class_audio_delay.html", null ], + [ "AudioDelay< 256, int >", "class_audio_delay.html", null ], + [ "AutoRange< T >", "class_auto_range.html", null ], + [ "DCfilter", "class_d_cfilter.html", null ], + [ "Ead", "class_ead.html", null ], + [ "EventDelay< UPDATE_RATE >", "class_event_delay.html", null ], + [ "Line< T >", "class_line.html", null ], + [ "Line< Q15n16 >", "class_line.html", null ], + [ "Line< Q16n16 >", "class_line.html", null ], + [ "Line< unsigned long >", "class_line.html", null ], + [ "LowPassFilter", "class_low_pass_filter.html", null ], + [ "Oscil< NUM_TABLE_CELLS, UPDATE_RATE >", "class_oscil.html", null ], + [ "Oscil< COS8192_NUM_CELLS, AUDIO_RATE >", "class_oscil.html", null ], + [ "Phasor< UPDATE_RATE >", "class_phasor.html", null ], + [ "Phasor< AUDIO_RATE >", "class_phasor.html", null ], + [ "Portamento< CONTROL_UPDATE_RATE >", "class_portamento.html", null ], + [ "RCpoll< SENSOR_PIN >", "class_r_cpoll.html", null ], + [ "RecentAverage< T, NUM_READINGS >", "class_recent_average.html", null ], + [ "ReverbTank", "class_reverb_tank.html", null ], + [ "Sample< NUM_TABLE_CELLS, UPDATE_RATE >", "class_sample.html", null ], + [ "Smooth< T >", "class_smooth.html", null ], + [ "StateVariable< FILTER_TYPE >", "class_state_variable.html", null ], + [ "WavePacket< ALGORITHM >", "class_wave_packet.html", null ], + [ "WaveShaper< T >", "class_wave_shaper.html", null ] +]; \ No newline at end of file diff --git a/doc/html/horse__lips__8192__int8_8h_source.html b/doc/html/horse__lips__8192__int8_8h_source.html index 6e406431a..d16a2b527 100644 --- a/doc/html/horse__lips__8192__int8_8h_source.html +++ b/doc/html/horse__lips__8192__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: tables/horse_lips_8192_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,420 +99,422 @@
    -
    tables/horse_lips_8192_int8.h
    +
    horse_lips_8192_int8.h
    -
    00001 #ifndef HORSE_LIPS_8192_H_
    -00002 #define HORSE_LIPS_8192_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 /* sound of a horse eating
    -00012 */
    -00013 
    -00014 #define HORSE_LIPS_8192_NUM_CELLS 8192
    -00015 #define HORSE_LIPS_8192_SAMPLERATE 16384
    -00016 
    -00017 const char __attribute__((progmem)) HORSE_LIPS_8192_DATA [] =
    -00018         {
    -00019                 -9, -14, -12,
    -00020                 -12, -11, -11, -12, -13, -13, -12, -11, -9, -7, -8, -12, -14, -14, -13, -13,
    -00021                 -16, -15, -11, -10, -11, -10, -8, -7, -8, -8, -8, -12, -15, -16, -14, -13, -12,
    -00022                 -11, -11, -9, -8, -8, -6, -6, -5, -5, -6, -5, -5, -6, -8, -10, -12, -14, -14,
    -00023                 -15, -14, -12, -11, -11, -13, -15, -14, -13, -11, -10, -9, -8, -8, -9, -9, -7,
    -00024                 -5, -4, -6, -8, -8, -8, -10, -10, -7, -4, -1, -3, -7, -5, -3, -4, -3, -4, -2,
    -00025                 -1, -2, -3, -2, 1, 2, 3, 4, 5, 4, 3, 3, 3, 3, 1, 1, 3, 5, 6, 8, 10, 11, 10, 7,
    -00026                 4, 3, 4, 5, 4, 2, 0, 0, 0, 1, 1, 0, 1, 3, 6, 7, 7, 8, 9, 9, 8, 6, 6, 5, 3, 3, 5,
    -00027                 6, 7, 8, 8, 9, 11, 13, 13, 11, 9, 8, 8, 6, 5, 3, 2, 3, 4, 4, 3, 4, 6, 6, 3, 2,
    -00028                 2, -1, -6, -7, -5, -4, -5, -7, -8, -8, -9, -9, -8, -9, -8, -6, -5, -5, -6, -6,
    -00029                 -6, -4, -3, -3, -3, -3, -1, 0, 0, 2, 3, 3, 2, 1, 2, 1, 2, 5, 6, 6, 4, 4, 3, 4,
    -00030                 4, 4, 4, 5, 6, 7, 4, 2, 6, 8, 5, 2, 2, 2, 1, 1, 2, 0, -2, -2, -1, 1, 0, -1, 2,
    -00031                 6, 5, 5, 6, 5, 2, 3, 4, 3, 1, 1, 2, 2, 1, 1, 2, 3, 4, 4, 3, 2, 2, 2, 3, 4, 3, 3,
    -00032                 3, 4, 4, 2, 0, -1, -1, 0, 1, 1, 1, 1, 1, 1, 2, 2, 0, -2, -4, -8, -9, -7, -6, -5,
    -00033                 -4, -2, -2, -4, -4, -2, -1, 0, -1, -3, -4, -2, -1, 1, 3, 3, 3, 2, 0, 0, 0, 0, 1,
    -00034                 4, 5, 5, 5, 5, 5, 4, 4, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 8, 7, 5, 6, 5, 4, 5, 6, 5,
    -00035                 6, 7, 7, 5, 5, 3, 4, 6, 8, 7, 6, 5, 4, 4, 5, 6, 7, 7, 7, 9, 11, 9, 6, 4, 1, -1,
    -00036                 0, 0, 1, 4, 6, 6, 6, 7, 8, 11, 11, 11, 10, 7, 5, 3, 2, 2, 3, 3, 4, 5, 6, 6, 7,
    -00037                 7, 7, 8, 7, 7, 8, 7, 7, 8, 9, 10, 9, 7, 5, 4, 3, 4, 4, 4, 5, 6, 8, 10, 12, 13,
    -00038                 13, 13, 12, 11, 11, 10, 9, 8, 7, 7, 8, 8, 8, 9, 9, 8, 7, 8, 10, 11, 11, 12, 11,
    -00039                 8, 8, 9, 8, 8, 10, 10, 6, 3, 1, 4, 8, 10, 8, 4, 3, 3, 3, 2, 1, 0, 1, 4, 3, 1, 1,
    -00040                 4, 5, 5, 4, 3, 1, 2, 2, 2, -1, -3, -5, -8, -6, -4, -1, 0, 1, 0, -2, 0, 1, 0, -1,
    -00041                 0, 1, -1, -2, -2, -1, 0, -2, -2, -1, -1, -3, -5, -4, -3, -3, -2, -2, -4, -5, -4,
    -00042                 -5, -7, -7, -5, -5, -6, -6, -5, -4, -2, -2, -2, -3, -3, -4, -5, -5, -6, -8, -8,
    -00043                 -8, -7, -5, -5, -5, -4, -5, -3, -3, -3, -4, -5, -5, -7, -7, -8, -8, -8, -7, -7,
    -00044                 -8, -8, -8, -7, -5, -4, -5, -8, -7, -6, -5, -5, -5, -5, -5, -5, -4, -2, 0, 1, 0,
    -00045                 -4, -6, -8, -8, -7, -6, -6, -7, -6, -4, -3, -3, -5, -7, -6, -6, -6, -9, -12,
    -00046                 -12, -11, -9, -7, -5, -4, -5, -7, -8, -10, -11, -9, -10, -11, -11, -11, -11,
    -00047                 -10, -9, -7, -6, -4, -4, -7, -9, -9, -7, -5, -5, -5, -4, -2, -3, -5, -6, -4, -3,
    -00048                 -3, -4, -4, -4, -5, -5, -5, -3, -1, 2, 2, 2, 2, 2, 0, 0, -1, -1, -1, -1, -1, -1,
    -00049                 -1, 0, 1, -1, -2, -3, -4, -4, -3, -3, -3, -2, -1, -1, -2, -3, -4, -4, -2, 1, 1,
    -00050                 -1, -6, -8, -7, -5, -2, 0, -1, -2, -4, -4, -5, -5, -5, -3, -2, -2, -3, -3, -3,
    -00051                 -2, -1, 1, 1, 0, -1, -2, -2, -2, -1, 0, 1, 1, 1, 1, 0, -1, -2, -2, -3, -3, -2,
    -00052                 -3, -3, -3, -2, -1, 0, 0, -1, -2, -2, -3, -6, -7, -7, -6, -3, 0, 0, 0, 0, -1, 0,
    -00053                 1, 0, -1, 0, 2, 4, 4, 1, -2, -3, -3, -3, -3, -3, -3, -3, -3, -2, -1, 1, 2, 2, 2,
    -00054                 -1, -4, -7, -9, -8, -4, -1, 0, 0, 0, 0, 1, 2, 2, 0, -3, -4, -6, -7, -8, -6, -3,
    -00055                 -1, 1, 0, 0, -1, -2, -2, -2, -1, -2, -3, -3, -3, -2, -2, -2, -3, -3, -4, -3, -2,
    -00056                 -3, -5, -6, -5, -3, -2, -2, -3, -2, -3, -4, -5, -7, -6, -2, 0, 0, -4, -8, -9,
    -00057                 -8, -6, -4, -3, -3, -4, -4, -5, -6, -6, -5, -5, -8, -9, -10, -11, -8, -7, -4,
    -00058                 -1, 2, 2, 0, -3, -6, -7, -6, -6, -6, -7, -6, -5, -5, -6, -6, -5, -3, 1, 2, 0,
    -00059                 -3, -7, -10, -10, -9, -6, -4, -3, -4, -5, -7, -8, -7, -3, 1, 2, 2, 1, 0, -2, -3,
    -00060                 -4, -2, -1, -1, -2, -3, -3, -2, 1, 2, 3, 5, 6, 6, 6, 6, 5, 3, 2, 2, 3, 4, 3, 4,
    -00061                 3, 4, 5, 6, 8, 10, 12, 11, 11, 9, 8, 7, 8, 9, 9, 9, 6, 4, 4, 4, 4, 5, 7, 7, 6,
    -00062                 5, 5, 6, 10, 12, 13, 12, 10, 6, 3, 2, 2, 3, 5, 6, 6, 5, 3, 4, 6, 9, 11, 10, 9,
    -00063                 7, 5, 2, 1, 3, 6, 9, 9, 9, 8, 7, 9, 9, 9, 8, 7, 6, 6, 6, 4, 4, 3, 4, 5, 6, 6, 6,
    -00064                 5, 6, 6, 6, 7, 8, 8, 8, 9, 8, 5, 4, 4, 6, 9, 12, 11, 9, 7, 6, 6, 8, 9, 8, 8, 7,
    -00065                 6, 5, 4, 3, 3, 5, 6, 5, 4, 2, 1, 2, 4, 4, 4, 4, 4, 3, 4, 3, 3, 2, 2, 1, 0, -1,
    -00066                 -1, -1, 0, 0, 0, 0, -1, 0, 0, -1, -2, -3, -3, -2, -1, -4, -6, -5, -5, -5, -5,
    -00067                 -5, -5, -3, -2, -2, -3, -4, -5, -3, -3, -3, -4, -6, -6, -4, -3, -4, -6, -7, -8,
    -00068                 -9, -10, -12, -11, -10, -10, -9, -9, -10, -10, -8, -8, -9, -9, -10, -10, -10,
    -00069                 -10, -10, -11, -11, -11, -10, -9, -9, -9, -9, -9, -9, -9, -8, -7, -5, -5, -4,
    -00070                 -3, -3, -3, -4, -5, -6, -6, -6, -6, -5, -5, -7, -6, -5, -3, -3, -2, -1, -1, -1,
    -00071                 -1, -1, -2, -2, -1, -1, -2, -2, -3, -3, -3, -4, -3, -3, -3, -4, -4, -4, -3, -3,
    -00072                 -3, -3, -3, -2, -1, -2, -2, -3, -4, -4, -3, -3, -2, -1, -1, 0, 1, 1, 1, 3, 3, 3,
    -00073                 4, 5, 5, 5, 4, 5, 5, 6, 6, 5, 5, 5, 6, 7, 5, 5, 6, 5, 6, 7, 7, 7, 7, 7, 6, 6, 6,
    -00074                 5, 6, 7, 8, 7, 6, 6, 5, 6, 6, 7, 7, 7, 8, 7, 7, 7, 7, 7, 7, 6, 5, 6, 6, 6, 6, 5,
    -00075                 5, 6, 6, 4, 5, 5, 6, 6, 5, 4, 4, 5, 4, 4, 4, 4, 4, 3, 2, 1, 1, 2, 2, 1, 1, 0, 1,
    -00076                 1, 2, 3, 1, 0, 1, 1, 0, -1, -1, -1, -3, -4, -5, -5, -6, -6, -5, -5, -5, -5, -5,
    -00077                 -6, -6, -5, -4, -3, -3, -5, -6, -6, -6, -7, -8, -9, -9, -8, -9, -10, -10, -10,
    -00078                 -10, -10, -8, -8, -8, -10, -11, -9, -8, -7, -8, -7, -7, -6, -5, -6, -6, -8, -12,
    -00079                 -12, -9, -8, -11, -12, -10, -10, -11, -10, -10, -12, -13, -11, -8, -8, -11, -10,
    -00080                 -7, -6, -5, -6, -10, -13, -12, -11, -10, -7, -5, -5, -4, 1, 3, 2, 2, 3, 5, 6, 9,
    -00081                 6, 3, 5, 8, 6, 3, 4, 1, -1, 1, 3, -1, -4, 1, 0, -3, -4, -5, -3, -2, -2, -4, -2,
    -00082                 0, -1, -1, -2, -2, -4, -2, 0, -3, -7, -3, 1, -2, -5, -4, -2, -1, 2, 4, 0, -2, 1,
    -00083                 1, -4, -3, 2, 1, -1, 2, 0, -6, -6, -1, 1, -4, -3, -2, -5, -7, -5, -3, -2, 0, -3,
    -00084                 -3, -1, -1, -2, -3, -1, 3, 1, 0, 1, 1, 2, -1, -3, 1, 4, 3, 2, 0, 0, 1, 0, 1, 2,
    -00085                 4, 5, 3, 2, 4, 5, 5, 7, 7, 6, 7, 8, 9, 8, 9, 9, 7, 7, 9, 9, 7, 5, 7, 8, 6, 8, 8,
    -00086                 6, 5, 6, 7, 5, 4, 7, 9, 9, 8, 7, 7, 9, 12, 11, 5, 6, 11, 8, 4, 5, 8, 7, 2, 3, 7,
    -00087                 6, 5, 4, 5, 5, 5, 7, 5, 4, 7, 9, 5, 3, 6, 9, 7, 3, 1, 6, 9, 7, 1, 2, 8, 8, 5, 6,
    -00088                 9, 9, 5, 6, 10, 8, 6, 10, 12, 9, 5, 6, 8, 6, 3, 1, 4, 2, -3, 1, 3, 1, 1, 3, 6,
    -00089                 6, 5, 5, 6, 9, 9, 8, 8, 7, 6, 7, 6, 4, 4, 3, 4, 5, 2, 0, 2, 5, 4, 3, 6, 8, 5, 0,
    -00090                 1, 5, 3, -1, 1, 5, 2, -1, -4, -5, -1, 1, -1, 0, 2, 0, -4, -4, -4, -3, -1, -2,
    -00091                 -2, -2, -4, -4, -3, -4, -3, -1, -2, -4, -5, -6, -4, -4, -5, -7, -7, -7, -7, -7,
    -00092                 -10, -12, -11, -13, -14, -15, -16, -18, -21, -21, -20, -20, -20, -24, -24, -22,
    -00093                 -23, -24, -23, -22, -22, -23, -22, -20, -20, -22, -20, -15, -17, -19, -17, -14,
    -00094                 -16, -18, -14, -11, -11, -11, -10, -7, -7, -7, -3, -1, -2, -4, -5, -4, -4, -4,
    -00095                 -5, -5, -6, -9, -9, -7, -6, -10, -10, -7, -7, -8, -3, 0, -1, -2, 1, 4, 3, 2, 4,
    -00096                 1, -3, -1, 1, 0, -1, 0, 1, 0, -1, -3, -4, -1, 2, 1, 0, 3, 4, 5, 9, 9, 7, 8, 13,
    -00097                 16, 12, 9, 13, 15, 11, 9, 10, 13, 14, 13, 10, 8, 10, 12, 11, 9, 11, 13, 16, 16,
    -00098                 13, 13, 14, 14, 16, 18, 17, 13, 12, 14, 14, 12, 13, 14, 15, 12, 9, 8, 9, 8, 7,
    -00099                 9, 7, 5, 5, 4, 2, 4, 5, 5, 3, 2, 5, 6, 3, 2, 3, 4, 3, 1, 0, 0, -3, -3, -3, -3,
    -00100                 -4, -6, -7, -8, -7, -6, -7, -8, -7, -6, -6, -6, -7, -6, -2, -1, -2, -2, -5, -6,
    -00101                 -5, -5, -6, -7, -7, -6, -7, -9, -10, -9, -8, -6, -7, -9, -6, -5, -6, -6, -4, 1,
    -00102                 2, -2, -2, 0, -1, -1, -1, -3, 1, 1, -2, -3, -2, 0, -1, -2, -5, -3, -1, -4, -7,
    -00103                 -7, -4, -3, -6, -7, -6, -5, -6, -8, -7, -4, -4, -4, -4, -8, -8, -7, -6, -6, -6,
    -00104                 -6, -7, -6, -7, -7, -7, -8, -8, -10, -10, -10, -9, -7, -5, -4, -3, -2, -1, 0, 2,
    -00105                 4, 7, 9, 8, 6, 4, 6, 8, 6, 5, 6, 4, 3, 3, 0, 0, -1, -1, 4, 3, 0, 3, 2, 0, 1, 3,
    -00106                 5, 5, 6, 3, 0, 1, 2, 2, 0, -2, -3, -6, -7, -8, -8, -8, -8, -7, -8, -10, -11,
    -00107                 -10, -8, -7, -8, -7, -7, -8, -9, -7, -4, -3, 2, 2, -1, -1, 0, 4, 7, 7, 8, 8, 6,
    -00108                 6, 9, 10, 10, 10, 13, 15, 14, 11, 9, 10, 11, 12, 13, 11, 8, 8, 7, 8, 9, 11, 11,
    -00109                 9, 7, 7, 8, 8, 7, 10, 11, 11, 11, 8, 10, 12, 12, 11, 10, 10, 12, 10, 8, 9, 7, 7,
    -00110                 9, 7, 5, 5, 6, 8, 7, 4, 3, 1, 3, 3, 2, 5, 7, 8, 7, 7, 7, 7, 8, 9, 9, 9, 7, 7, 8,
    -00111                 5, 4, 5, 5, 4, 1, 0, -1, -1, 0, 2, 3, 3, 2, 2, 2, 0, 0, 1, 1, 1, 1, 0, -1, -1,
    -00112                 -1, -1, 0, -1, 0, 0, 1, 5, 3, -2, -1, 1, 3, 3, 3, 1, -1, -1, -2, -1, -1, -1, -1,
    -00113                 -2, -2, -2, -3, -2, -2, -3, -3, -4, -3, 0, -1, -2, -2, -1, 1, 0, -3, -3, -2, 0,
    -00114                 -1, -4, -6, -6, -3, -3, -3, -3, -4, -6, -6, -5, -2, -4, -8, -6, -4, -5, -6, -7,
    -00115                 -6, -5, -4, -4, -6, -5, -3, -1, 0, 0, -3, -2, 0, -4, -3, -4, -7, -6, -7, -7, -8,
    -00116                 -10, -10, -11, -11, -8, -6, -8, -8, -5, -6, -7, -7, -6, -4, -4, -4, -6, -7, -6,
    -00117                 -6, -4, -5, -7, -5, -4, -5, -6, -8, -7, -5, -4, -4, -4, -4, -5, -6, -4, -3, -4,
    -00118                 -5, -7, -7, -8, -8, -7, -7, -8, -8, -10, -10, -9, -10, -11, -10, -11, -12, -13,
    -00119                 -12, -10, -9, -10, -10, -9, -8, -10, -11, -9, -8, -7, -7, -9, -10, -6, 1, 10,
    -00120                 13, 15, 14, 11, 11, 13, 16, 16, 14, 13, 11, 6, 1, 0, -1, -1, -2, -2, -3, -4, -7,
    -00121                 -9, -7, -5, -3, 0, 0, 0, 1, 0, 2, 1, 0, 4, 7, 7, 4, 3, 3, 3, 4, 4, 5, 7, 5, 3,
    -00122                 4, 5, 4, 6, 8, 8, 9, 9, 9, 7, 6, 8, 9, 10, 10, 7, 6, 6, 7, 5, 6, 6, 5, 6, 5, 4,
    -00123                 5, 4, 3, 4, 3, 4, 4, 3, 1, 1, 2, 2, 1, 0, 0, 0, -1, -3, -4, -7, -9, -11, -12,
    -00124                 -10, -8, -10, -11, -12, -14, -14, -13, -13, -11, -12, -11, -8, -7, -6, -5, -5,
    -00125                 -2, 0, 2, 3, 1, 0, -1, -2, 1, 1, 0, 1, 0, 1, 0, 1, 2, 3, 5, 6, 5, 3, 3, 3, 3, 3,
    -00126                 2, 1, 0, -2, -4, -4, -5, -5, -3, -3, -5, -4, -3, -1, -1, -2, -1, 1, 1, 1, 2, 3,
    -00127                 2, 1, 1, 1, 0, -2, -3, -3, -2, 0, 0, 0, -1, -3, -5, -6, -7, -9, -9, -9, -9, -9,
    -00128                 -11, -13, -14, -15, -13, -12, -14, -15, -15, -17, -18, -19, -18, -17, -18, -19,
    -00129                 -19, -20, -21, -22, -23, -23, -21, -21, -21, -22, -23, -22, -20, -16, -15, -16,
    -00130                 -15, -14, -14, -14, -14, -14, -16, -15, -13, -13, -12, -12, -12, -12, -12, -13,
    -00131                 -12, -11, -11, -11, -11, -10, -8, -7, -4, -4, -4, -2, -2, -3, -4, -6, -5, -4,
    -00132                 -3, -4, -5, -7, -9, -10, -11, -10, -7, -3, 2, 7, 12, 15, 21, 29, 30, 27, 27, 25,
    -00133                 23, 21, 19, 20, 19, 15, 11, 9, 6, 6, 8, 12, 13, 13, 15, 17, 20, 24, 27, 28, 28,
    -00134                 29, 28, 26, 21, 15, 11, 8, 6, 4, 2, 0, -2, -2, -4, -7, -7, -7, -6, -4, -4, -2,
    -00135                 0, 2, 4, 5, 7, 10, 15, 17, 17, 18, 16, 14, 14, 13, 11, 9, 7, 5, 4, 3, 1, 2, 2,
    -00136                 0, -1, -2, -4, -3, -1, 1, 2, 4, 6, 8, 10, 14, 16, 15, 14, 12, 10, 8, 8, 8, 4, 1,
    -00137                 -2, -5, -7, -9, -12, -14, -15, -13, -12, -9, -7, -5, -1, -1, 0, 0, 1, 3, 4, 6,
    -00138                 5, 3, 3, 3, 3, 3, 2, 1, 0, 0, -1, 0, -1, -4, -5, -5, -5, -5, -3, -2, -4, -3, -2,
    -00139                 -2, -4, -7, -8, -7, -7, -6, -6, -6, -6, -5, -5, -3, -2, -4, -6, -6, -13, -18,
    -00140                 -21, -21, -17, -11, -6, -2, 1, 5, 11, 16, 17, 15, 12, 9, 6, 6, 4, 2, -1, -2, -2,
    -00141                 -1, -2, -5, -7, -8, -10, -13, -15, -15, -12, -11, -9, -7, -8, -6, -4, -3, -1, 2,
    -00142                 2, 1, 4, 7, 7, 10, 8, 8, 15, 19, 22, 21, 20, 20, 20, 22, 23, 23, 19, 15, 16, 19,
    -00143                 18, 16, 16, 16, 15, 15, 17, 18, 21, 22, 23, 26, 25, 25, 26, 27, 27, 25, 22, 20,
    -00144                 18, 15, 11, 9, 5, 1, -1, -3, -5, -9, -13, -16, -19, -18, -18, -17, -18, -19,
    -00145                 -17, -14, -11, -8, -4, -2, -3, -3, -2, 2, 3, 1, 0, 0, 0, -2, -4, -5, -6, -6, -7,
    -00146                 -9, -11, -12, -14, -15, -17, -18, -16, -14, -12, -11, -11, -11, -12, -9, -6, -4,
    -00147                 -4, -6, -8, -8, -8, -8, -8, -10, -11, -12, -11, -9, -6, -4, -2, 0, 2, 4, 6, 8,
    -00148                 10, 11, 12, 16, 20, 25, 27, 27, 26, 24, 24, 21, 20, 20, 18, 15, 13, 13, 12, 12,
    -00149                 13, 14, 14, 16, 18, 18, 20, 22, 24, 25, 25, 25, 24, 24, 22, 20, 15, 10, 7, 3,
    -00150                 -1, -4, -9, -13, -15, -18, -23, -29, -29, -29, -32, -31, -32, -32, -38, -42,
    -00151                 -33, -25, -24, -20, -17, -20, -21, -19, -16, -14, -13, -11, -7, -2, 2, 5, 8, 8,
    -00152                 7, 6, 6, 6, 8, 8, 5, 4, 3, 0, -6, -15, -20, -29, -37, -39, -38, -39, -42, -44,
    -00153                 -50, -49, -32, -18, -7, 9, 18, 22, 34, 47, 55, 59, 64, 62, 59, 54, 45, 38, 29,
    -00154                 15, 5, -3, -13, -21, -27, -32, -37, -42, -40, -37, -34, -28, -20, -12, -4, 3, 6,
    -00155                 7, 9, 14, 20, 23, 24, 22, 17, 14, 11, 10, 7, 3, -1, -6, -10, -14, -20, -24, -27,
    -00156                 -29, -31, -32, -31, -30, -27, -24, -20, -16, -14, -11, -8, -8, -6, -5, -4, -4,
    -00157                 -7, -11, -12, -13, -13, -12, -12, -12, -14, -16, -16, -17, -15, -14, -15, -15,
    -00158                 -16, -16, -13, -13, -15, -15, -13, -13, -14, -15, -15, -15, -16, -17, -18, -18,
    -00159                 -18, -17, -15, -14, -13, -11, -11, -10, -11, -11, -10, -8, -9, -13, -14, -16,
    -00160                 -19, -22, -26, -32, -39, -46, -60, -73, -71, -68, -61, -50, -47, -52, -63, -49,
    -00161                 -2, 26, 36, 50, 56, 56, 63, 76, 86, 83, 72, 62, 58, 51, 38, 27, 17, 4, -5, -8,
    -00162                 -8, -8, -8, -5, -1, 2, 12, 26, 35, 48, 67, 73, 68, 68, 63, 50, 40, 35, 23, 4,
    -00163                 -16, -35, -47, -48, -49, -52, -48, -39, -28, -15, 0, 10, 16, 24, 33, 38, 39, 38,
    -00164                 33, 31, 31, 26, 22, 19, 13, 5, 1, -3, -7, -9, -13, -17, -20, -20, -22, -17, -13,
    -00165                 -10, 0, 17, 25, 25, 33, 40, 37, 36, 38, 34, 27, 20, 14, 5, -2, -5, -11, -18,
    -00166                 -21, -24, -26, -25, -22, -23, -24, -20, -22, -25, -18, -11, -10, -11, -9, -7,
    -00167                 -6, 0, 8, 11, 12, 13, 11, 17, 31, 42, 48, 47, 44, 46, 49, 49, 42, 35, 28, 19,
    -00168                 12, 1, -11, -17, -23, -24, -22, -18, -15, -11, 0, 1, -5, -1, 8, 11, 11, 5, -1,
    -00169                 -1, 3, 3, -1, -5, -10, -15, -17, -18, -23, -23, -20, -20, -17, -17, -21, -23,
    -00170                 -27, -38, -56, -71, -83, -88, -70, -54, -44, -26, -9, 5, 19, 34, 39, 33, 41, 50,
    -00171                 43, 31, 14, 1, 5, 17, 18, 12, 19, 30, 35, 44, 52, 53, 54, 56, 54, 48, 44, 42,
    -00172                 36, 28, 27, 28, 28, 28, 27, 28, 33, 36, 33, 27, 20, 13, 9, 3, -5, -11, -14, -16,
    -00173                 -17, -20, -25, -25, -20, -16, -13, -9, -10, -14, -9, -3, -2, -3, -4, -2, -1, 3,
    -00174                 7, 7, 4, 2, 5, 4, 0, -5, -6, -1, 0, 0, 0, -2, 2, 6, 6, 8, 5, 6, 7, -1, -9, -12,
    -00175                 -10, -12, -19, -27, -31, -26, -19, -19, -22, -22, -20, -12, -4, -1, -3, -2, 2,
    -00176                 0, 1, -3, -11, -17, -22, -29, -35, -43, -58, -67, -70, -70, -63, -49, -38, -28,
    -00177                 -12, 4, 21, 38, 45, 50, 55, 54, 56, 63, 68, 72, 77, 77, 67, 62, 62, 60, 59, 52,
    -00178                 38, 26, 21, 17, 9, 5, 4, 2, -2, -10, -13, -10, -13, -21, -30, -40, -42, -44,
    -00179                 -53, -56, -54, -52, -49, -34, -21, -17, -8, 0, 6, 13, 21, 31, 42, 50, 49, 50,
    -00180                 55, 51, 42, 32, 10, -22, -54, -80, -95, -104, -108, -102, -97, -95, -81, -46,
    -00181                 -18, 1, 24, 44, 73, 102, 116, 124, 127, 121, 110, 97, 73, 42, 15, -10, -39, -67,
    -00182                 -89, -106, -113, -112, -119, -116, -99, -92, -70, -43, -37, -44, -26, 8, 12, 2,
    -00183                 4, 12, 9, 15, 20, 15, 18, 19, 10, 3, -2, -13, -15, -9, -10, -1, 7, 12, 10, 5,
    -00184                 29, 50, 50, 41, 32, 35, 30, 26, 20, -3, -12, -14, -18, -16, -24, -32, -28, -15,
    -00185                 -3, 10, 18, 17, 21, 40, 49, 45, 45, 41, 43, 42, 34, 30, 19, 6, 2, 3, -7, -25,
    -00186                 -39, -47, -45, -44, -53, -60, -61, -56, -42, -29, -23, -28, -24, -14, -17, -12,
    -00187                 -13, -18, -17, -26, -25, -16, -15, -16, -27, -35, -37, -33, -29, -35, -36, -43,
    -00188                 -46, -34, -30, -35, -34, -30, -22, -18, -26, -17, -18, -23, -12, -11, -14, -17,
    -00189                 -19, -20, -18, -15, -16, -17, -19, -16, -9, -4, -2, -4, 2, 9, 10, 9, 8, 11, 14,
    -00190                 8, -1, 0, 4, 5, 8, 8, 10, 23, 33, 31, 28, 33, 40, 44, 43, 40, 44, 46, 46, 50,
    -00191                 51, 29, -9, -27, -12, 17, 34, 35, 32, 20, 12, 19, 30, 34, 37, 41, 54, 68, 67,
    -00192                 62, 60, 62, 49, 37, 31, 19, 5, -9, -14, -19, -36, -49, -45, -41, -44, -37, -26,
    -00193                 -28, -32, -26, -16, -15, -26, -35, -30, -30, -37, -38, -33, -39, -51, -47, -38,
    -00194                 -38, -39, -36, -25, -20, -29, -33, -27, -29, -27, -21, -19, -23, -25, -16, -6,
    -00195                 1, 4, 2, 0, 0, 4, 2, -1, 1, -2, -5, -3, -1, 5, 12, 9, 8, 14, 17, 26, 31, 31, 35,
    -00196                 34, 28, 29, 30, 19, 11, 9, 6, 5, -2, -3, 3, -2, -12, -17, -4, 26, 36, -7, -52,
    -00197                 -30, 16, 19, 4, -4, -6, -2, -4, -10, -14, -10, -8, -6, -7, -18, -21, 1, 19, 14,
    -00198                 6, 8, 11, 14, 20, 26, 21, 5, -6, -10, -12, -9, -20, -26, -18, -18, -22, -22,
    -00199                 -16, -8, 0, -1, -10, -14, -12, -4, -6, -18, -19, -14, -11, -13, -20, -23, -16,
    -00200                 -15, -25, -27, -24, -17, -11, -14, -8, 4, 10, 17, 20, 19, 18, 17, 18, 15, 3, -4,
    -00201                 0, -4, -13, -12, 3, 7, 3, 6, 11, 15, 15, 15, 20, 17, 16, 15, 11, 8, 6, 5, 9, 11,
    -00202                 12, 15, 20, 24, 23, 20, 24, 26, 23, 16, 9, 6, 1, 0, 4, -2, -7, -10, -12, -6, 1,
    -00203                 2, 4, 6, 2, -4, -5, -14, -13, -2, -6, -14, -18, -14, -7, -12, -13, -6, 0, -1,
    -00204                 -14, -14, -4, -4, -4, -4, -9, -7, -5, -4, 3, 0, -7, 0, -3, -23, -40, -38, -32,
    -00205                 -37, -37, -23, 0, 21, 36, 53, 63, 63, 60, 49, 30, 8, -14, -35, -50, -44, -31,
    -00206                 -28, -15, 12, 24, 27, 31, 30, 32, 31, 16, 5, 4, 2, 3, 10, 13, 19, 29, 32, 29,
    -00207                 26, 28, 29, 26, 22, 14, 15, 23, 26, 31, 36, 36, 36, 34, 30, 32, 29, 24, 21, 16,
    -00208                 7, -5, -14, -20, -23, -25, -36, -40, -34, -33, -34, -30, -23, -19, -21, -20,
    -00209                 -18, -21, -26, -26, -22, -24, -26, -23, -23, -16, -9, -5, -3, -4, 2, 6, 3, -4,
    -00210                 -5, 3, -4, -10, 2, 6, 2, 7, 9, 9, 14, 16, 16, 14, 12, 13, 15, 13, 12, 14, 20,
    -00211                 20, 13, 14, 21, 16, 10, 8, 2, -1, 3, 0, -4, -1, -1, 4, 8, -1, -2, 12, 13, 0, 3,
    -00212                 6, 0, -5, -8, -10, -14, -9, -5, -4, 2, 4, 8, 18, 20, 21, 23, 20, 11, 5, 5, 0,
    -00213                 -4, 0, -1, 0, 6, 5, 3, 6, 7, 9, 5, -1, 1, -1, -3, -2, -7, -6, -7, -9, -10, -12,
    -00214                 -4, 4, -2, -4, -3, -2, 0, -9, -14, -8, -2, 0, -1, 1, 11, 21, 22, 20, 17, 17, 18,
    -00215                 12, 1, -7, -9, -13, -14, -13, -10, -1, 4, 4, 9, 14, 8, 7, 9, 3, -2, -7, -9, -5,
    -00216                 -4, -11, -16, -9, -7, -16, -23, -20, -18, -21, -21, -16, -13, -14, -13, -10, -9,
    -00217                 -10, -14, -9, -3, -9, -9, -3, 0, 1, 2, 4, 1, -2, -2, -3, 0, 4, 2, 0, 0, 2, 4, 2,
    -00218                 7, 14, 14, 15, 10, 4, 10, 10, 1, 6, 11, 6, 6, 7, 6, 2, 2, 5, 4, 5, 4, 6, 6, 3,
    -00219                 5, 7, 9, 10, 5, 5, 10, 9, 1, 0, 11, 18, 9, 7, 12, 11, 7, 0, 4, 8, 5, 7, 9, 5, 3,
    -00220                 5, 2, -2, 1, -1, -3, 2, 4, 1, 1, 3, 5, 1, -3, -3, -2, -6, -15, -17, -17, -13,
    -00221                 -8, -11, -11, -4, -7, -9, -10, -8, -5, -5, -5, -6, -8, -10, -13, -17, -19, -19,
    -00222                 -11, -8, -9, -2, 6, 4, 1, 1, -2, -9, -16, -23, -25, -26, -24, -14, -2, 8, 24,
    -00223                 38, 42, 45, 41, 34, 29, 24, 16, 8, 4, 6, 4, -2, -1, 3, 4, 3, 5, 6, 2, 0, 2, 7,
    -00224                 5, 1, 7, 5, -7, -12, -11, -14, -19, -17, -8, -2, -1, 5, 16, 20, 20, 25, 27, 25,
    -00225                 23, 19, 10, 5, 1, -6, -11, -16, -18, -14, -12, -11, -8, 1, 8, 8, 7, 5, 3, 2, 1,
    -00226                 -3, -6, -5, -7, -8, -13, -13, -10, -11, -12, -13, -14, -14, -16, -18, -19, -17,
    -00227                 -18, -20, -17, -15, -17, -15, -11, -11, -12, -16, -16, -11, -10, -12, -13, -11,
    -00228                 -10, -9, -9, -7, -2, 0, -1, -1, -1, -1, -1, -1, -6, -10, -10, -10, -9, -11, -11,
    -00229                 -5, 0, -2, -3, -2, 3, 8, 8, 10, 17, 17, 15, 16, 17, 16, 12, 5, 3, 3, 0, 0, 1, 2,
    -00230                 6, 8, 8, 10, 12, 9, 6, 6, 7, 6, 4, 0, -2, 1, -1, -7, -7, -2, -4, -4, 1, 3, 5, 8,
    -00231                 9, 10, 9, 4, 3, 1, -5, -6, -4, -6, -3, 0, -2, 0, 2, 0, 0, 1, 2, 2, 1, 1, 0, 0,
    -00232                 0, -1, 0, 0, -1, 0, 0, 0, 2, 4, 3, 2, 2, 3, 3, 4, 3, 4, 3, -1, -3, -3, -4, -4,
    -00233                 -3, -4, -3, 1, 2, 1, 0, 2, 2, -1, 0, 3, 4, 2, 3, 4, 2, 1, 2, 5, 7, 8, 9, 8, 9,
    -00234                 9, 7, 5, 5, 4, 0, -1, 4, 7, 6, 8, 8, 8, 6, 0, -2, -2, -5, -7, -5, -4, -4, -4,
    -00235                 -3, -5, -5, -4, -2, -2, -2, -1, 0, -3, -2, -3, -7, -8, -9, -10, -12, -11, -11,
    -00236                 -13, -12, -10, -8, -9, -9, -5, -8, -11, -13, -13, -12, -12, -9, -5, -4, -5, -6,
    -00237                 -4, -4, -6, -7, -9, -7, -8, -9, -10, -13, -14, -14, -13, -12, -10, -9, -10, -11,
    -00238                 -11, -13, -15, -15, -13, -9, -11, -11, -9, -10, -11, -11, -13, -13, -11, -11,
    -00239                 -14, -15, -13, -12, -11, -11, -13, -14, -12, -7, -4, -4, -5, -8, -11, -13, -16,
    -00240                 -18, -16, -15, -14, -10, -7, -8, -11, -10, -8, -8, -7, -7, -10, -12, -14, -13,
    -00241                 -12, -13, -15, -15, -14, -13, -10, -4, 0, 1, 1, 1, 1, 0, -2, -4, -4, -5, -5, -4,
    -00242                 -3, -5, -7, -8, -6, -1, 0, -2, -2, 0, 0, 1, 2, 1, -1, -2, -4, -4, -5, -4, -3,
    -00243                 -2, -3, -5, -5, -5, -6, -7, -7, -7, -7, -8, -7, -8, -9, -8, -6, -3, -4, -4, -4,
    -00244                 -5, -6, -8, -8, -9, -8, -7, -6, -5, -5, -7, -5, -1, -2, -2, 0, 1, 1, 1, 0, -2,
    -00245                 -3, -2, -1, 0, -1, -3, -3, -2, -3, -3, -2, -2, -2, -3, -1, 1, 2, 3, 3, 5, 6, 5,
    -00246                 4, 3, 2, 0, 0, -2, -4, -5, -5, -4, -3, -1, 2, 4, 5, 5, 6, 8, 8, 8, 7, 6, 5, 4,
    -00247                 2, 1, 1, 1, 1, 1, -1, -2, -2, -2, 0, 2, 3, 5, 8, 8, 7, 6, 6, 4, 2, 2, 2, 1, 0,
    -00248                 -1, -2, -4, -5, -4, -2, 0, 0, -1, -2, -2, -1, -1, 1, 1, 1, 2, 3, 4, 3, 2, 1, -2,
    -00249                 -3, -2, -2, -2, -2, -1, 0, 1, 1, 2, 3, 4, 5, 6, 6, 4, 3, 2, 2, 1, 1, 1, 0, 1, 3,
    -00250                 5, 6, 6, 5, 4, 3, 0, -1, -1, 0, 0, 1, 1, 1, 2, 3, 2, 0, 0, 1, 1, 1, 1, 1, 2, 3,
    -00251                 3, 3, 2, 1, 1, 0, 0, 0, -3, -3, -4, -5, -4, -4, -2, 0, 2, 3, 2, 2, 2, 2, 1, 0,
    -00252                 0, -1, -2, -2, -2, -2, -3, -3, -3, -3, -2, -2, -1, 0, 1, 1, 1, 0, 0, -2, -1, 0,
    -00253                 0, 1, 0, -1, -2, -2, 0, -1, -3, -3, -3, -3, -2, 0, 1, 2, 3, 3, 3, 4, 4, 4, 3, 3,
    -00254                 3, 1, 0, -1, -2, -3, -1, -1, -1, 0, 0, 0, 0, 1, 2, 4, 5, 5, 4, 3, 2, 1, 1, 1, 0,
    -00255                 0, 0, 0, 0, 0, -1, -2, -3, -2, -2, 0, 3, 5, 5, 5, 5, 4, 4, 4, 2, 1, -1, -1, 0,
    -00256                 1, 2, 2, 1, 1, 2, 4, 5, 6, 7, 6, 5, 6, 7, 7, 6, 4, 3, 2, 1, 2, 3, 2, 1, -1, -2,
    -00257                 -1, -2, -2, -1, -2, -2, -2, 0, 1, 1, 1, 2, 4, 5, 4, 3, 2, 2, 1, 0, -1, -1, -2,
    -00258                 -2, -1, 0, 1, -1, 0, 2, 1, 2, 3, 1, -1, -1, 0, -1, -1, 0, 1, 1, 0, -1, -1, -1,
    -00259                 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 4, 4, 4, 5, 3, 3, 5, 4, 2, 2, 2, 0, -3, -1, -1,
    -00260                 0, 4, 7, 8, 10, 11, 11, 9, 8, 8, 6, 5, 6, 5, 3, 4, 2, 2, 4, 5, 9, 6, 4, 4, 2, 5,
    -00261                 7, 5, 4, 5, 4, 2, 1, 2, 3, 5, 5, 3, 5, 6, 6, 4, 3, 3, 4, 3, 2, 2, 3, 1, 1, 3, 4,
    -00262                 4, 1, -2, -1, 0, 3, 2, -1, -2, -2, -2, -2, -1, -2, -4, -4, -2, 0, 1, 0, -1, 1,
    -00263                 0, 4, 6, 5, 4, 3, 2, 1, 1, 0, -1, -4, -4, -4, -4, -2, -3, -5, -7, -6, -4, -2,
    -00264                 -2, -3, -1, -1, -4, -7, -4, -3, -4, -7, -4, -3, -5, -4, -2, -2, -4, -3, -3, -3,
    -00265                 -3, -3, -3, -3, -6, -8, -8, -5, -4, -5, -6, -8, -8, -5, -5, -5, -5, -6, -7, -6,
    -00266                 -4, -2, -2, -4, -5, -2, 0, 0, -1, -1, 1, 3, 2, -1, -1, 0, -3, -4, -3, -5, -3,
    -00267                 -1, -4, -5, -4, -4, -4, -1, 1, -3, -2, 0, -1, 1, 0, -4, -2, 0, 0, 1, -1, 2, 0,
    -00268                 -4, 1, 3, -1, -1, 0, 0, 0, 0, -3, -5, -2, -2, -3, -2, 0, 4, -1, -2, 0, -2, -3,
    -00269                 0, 0, -2, -1, 0, 0, -1, -3, -4, -1, 4, 2, 0, 2, 4, -2, -5, -1, 0, -1, -1, -2,
    -00270                 -4, -3, -4, -5, -2, -1, 0, 3, 5, 5, 2, 0, 6, 8, 1, 3, 6, 5, 5, 3, 5, 3, 2, 4, 7,
    -00271                 6, 4, 7, 6, 7, 6, 6, 6, 7, 9, 9, 10, 9, 5, 8, 14, 12, 5, 7, 11, 11, 9, 11, 12,
    -00272                 8, 8, 12, 13, 12, 10, 8, 10, 14, 11, 11, 8, 8, 12, 13, 10, 5, 7, 11, 7, 4, 4, 8,
    -00273                 11, 9, 7, 7, 6, 4, 6, 5, 4, 6, 6, 6, 5, 2, 0, 1, 3, 3, 2, 1, -2, -3, -1, -1, -2,
    -00274                 -2, -2, -4, -4, -2, -4, -5, -3, -3, -4, -3, -1, -1, -1, 0, -1, -1, 1, 1, 0, -1,
    -00275                 0, 1, -1, 0, 0, -1, -1, -2, -2, -2, -6, -3, -1, 2, 6, 3, 0, -5, -4, 2, 10, 17,
    -00276                 16, 5, -6, -11, -13, -12, -8, -6, -6, -5, -5, -5, -3, -2, -1, 2, 5, 5, 5, 5, 2,
    -00277                 0, -1, -2, -4, -6, -8, -7, -3, -6, -9, -9, -8, -5, -2, 0, -1, -1, -1, -1, -2,
    -00278                 -2, 0, 0, -1, -4, -7, -7, -6, -4, -6, -9, -8, -6, -5, -5, -3, -1, 0, -2, -7, -6,
    -00279                 -4, -1, -1, -1, -3, -7, -7, -7, -9, -9, -9, -8, -9, -11, -11, -11, -10, -8, -6,
    -00280                 -5, -6, -6, -4, -5, -7, -6, -6, -6, -5, -6, -6, -6, -6, -7, -8, -9, -8, -7, -6,
    -00281                 -7, -6, -6, -5, -6, -8, -7, -6, -6, -7, -9, -9, -7, -5, -4, -5, -5, -6, -4, -2,
    -00282                 -2, -2, -3, -2, 0, -2, -4, -3, 0, 2, 0, -1, -1, 0, 0, 0, -1, -2, 0, 1, 0, 0, 1,
    -00283                 2, 2, 2, 2, 3, 4, 6, 5, 3, 4, 5, 7, 6, 5, 5, 5, 6, 4, 2, 3, 4, 5, 4, 3, 4, 7, 7,
    -00284                 4, 1, 2, 5, 6, 4, 1, -1, -1, 0, 2, 1, -8, -9, 0, 4, 8, 9, 11, 12, 10, 8, 7, 6,
    -00285                 3, 2, 0, -3, -6, -7, -9, -10, -9, -8, -8, -7, -6, -7, -5, -3, -2, -2, -1, -1,
    -00286                 -2, -4, -6, -6, -4, -4, -5, -7, -7, -5, -4, -4, -5, -5, -4, -3, -4, -5, -4, -1,
    -00287                 0, -1, -3, -3, -3, -2, -3, -5, -5, -3, -2, -2, -3, -5, -5, -4, -4, -4, -3, -2,
    -00288                 -1, -2, -4, -4, -3, -3, -4, -3, -3, -3, -3, -3, -3, -3, -2, -3, -3, -6, -6, -4,
    -00289                 -5, -7, -8, -5, -1, 0, -1, -2, -1, 0, -1, -1, -3, -2, -1, -2, -4, -4, -3, 0, 1,
    -00290                 0, -1, 0, 1, 2, 2, 1, 0, 1, 1, 0, -1, -1, 0, 1, 0, -1, -3, -2, -1, -2, -2, -2,
    -00291                 0, 1, 0, -1, -2, 0, 4, 4, 3, 4, 6, 5, 2, 1, 0, 1, 3, 1, 0, 0, 0, 0, -1, -1, 0,
    -00292                 2, 3, 3, 3, 1, 2, 3, 2, 1, 1, 3, 3, 4, 3, 2, 3, 3, 1, 2, 2, 3, 4, 4, 4, 3, 5, 7,
    -00293                 6, 5, 4, 4, 4, 2, 0, 0, 0, 1, 1, -1, -2, -2, 1, 3, 6, 11, 13, 8, 0, -6, -7, -2,
    -00294                 3, 3, 0, -2, 0, 2, 3, 3, 3, 4, 6, 6, 5, 5, 4, 5, 5, 4, 3, 2, 1, 1, 2, 2, 3, 4,
    -00295                 3, 2, 2, 3, 5, 6, 5, 4, 4, 4, 5, 7, 8, 8, 5, 4, 3, 4, 3, 4, 4, 4, 5, 4, 4, 5, 4,
    -00296                 3, 4, 6, 7, 7, 6, 6, 6, 6, 6, 7, 7, 6, 7, 8, 8, 8, 8, 9, 8, 8, 8, 9, 8, 6, 6, 6,
    -00297                 5, 5, 7, 8, 7, 8, 9, 8, 7, 8, 8, 7, 5, 3, 3, 4, 4, 4, 4, 6, 8, 7, 5, 3, 2, 3, 2,
    -00298                 -1, -2, 0, 1, 2, 1, 0, 1, 3, 4, 2, -1, -2, -1, 1, 2, 1, 0, -1, -1, 0, 0, -2, -3,
    -00299                 -1, 0, 0, -1, -3, -5, -5, -5, -5, -4, -3, -1, 0, 3, 3, 1, -1, -3, -2, 1, 1, 1,
    -00300                 1, 0, 1, 3, 5, 5, 3, 4, 5, 5, 4, 5, 8, 4, -3, -5, -1, 1, 3, 1, -1, -2, 0, 3, 3,
    -00301                 3, 3, 5, 7, 6, 3, 2, 2, 1, 1, 0, 2, 2, 3, 4, 3, 2, 3, 4, 5, 3, 2, 2, 0, -1, -1,
    -00302                 -1, -1, 0, 0, 3, 5, 4, 5, 1, -1, 2, 2, 1, -1, -2, -2, -2, 0, 1, 4, 5, 6, 7, 6,
    -00303                 6, 6, 5, 4, 5, 6, 7, 6, 6, 6, 7, 8, 9, 10, 10, 10, 10, 11, 11, 11, 10, 9, 8, 7,
    -00304                 8, 8, 9, 8, 7, 7, 6, 6, 4, 2, 1, 1, 0, -2, -2, -3, -3, -4, -4, -4, -3, -4, -3,
    -00305                 -2, -3, -3, -3, -3, -4, -4, -3, -2, -3, -4, -5, -5, -6, -6, -4, -4, -6, -6, -5,
    -00306                 -4, -4, -3, -4, -5, -5, -3, -3, -3, -4, -5, -4, -4, -4, -4, -3, -3, -3, -4, -5,
    -00307                 -5, -5, -4, -5, -6, -5, -5, -5, -3, -3, -5, -6, -6, -5, -4, -6, -9, -10, -11,
    -00308                 -11, -10, -11, -11, -12, -11, -10, -10, -11, -12, -11, -11, -11, -11, -10, -12,
    -00309                 -12, -10, -10, -11, -12, -11, -12, -14, -13, -10, -11, -11, -11, -12, -12, -11,
    -00310                 -9, -10, -10, -9, -9, -9, -8, -8, -8, -8, -8, -10, -11, -9, -8, -8, -9, -10,
    -00311                 -11, -11, -10, -9, -8, -10, -13, -16, -11, -5, -6, -10, -10, -6, -4, -1, -5,
    -00312                 -10, -10, -8, -6, -7, -11, -13, -14, -13, -11, -12, -13, -14, -13, -12, -10, -9,
    -00313                 -10, -9, -7, -7, -8, -8, -8, -9, -7, -5, -5, -4, -3, -1, 0, 0, 2, 2, 1, 1, 1, 1,
    -00314                 0, -1, -1, -2, -3, -4, -4, -3, -2, -2, -2, -4, -5, -6, -5, -4, -4, -5, -6, -6,
    -00315                 -5, -4, -3, -3, -5, -5, -3, -2, -2, -2, -3, -3, -3, -3, -4, -4, -3, -3, -3, -4,
    -00316                 -4, -5, -5, -4, -3, -2, -2, -1, -1, -3, -3, -2, -1, 0, -2, -2, -2, -2, -2, -2,
    -00317                 -2, -3, -3, -2, 0, 0, 0, 0, -2, -3, -1, -1, -2, -2, -3, -3, -3, -2, -2, -1, 0,
    -00318                 -1, -1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, -1, -1, 0, 3, 4, 3, 3, 3, 2, 3, 4,
    -00319                 1, 0, 1, 2, 2, 0, -1, -1, 1, 2, 2, 2, 1, 2, 4, 4, 5, 6, 6, 5, 5, 6, 7, 8, 5, 3,
    -00320                 4, 4, 3, 1, 0, 0, 1, 1, 0, -2, -1, 0, 0, 0, 0, 0, -1, 0, -1, -2, -1, -1, -1, -2,
    -00321                 -1, 0, -2, -3, -4, -4, -3, -2, -3, -3, -3, -3, -4, -5, -3, -3, -3, -4, -5, -5,
    -00322                 -4, -3, -3, -4, -4, -3, -2, -2, -3, -3, -2, -1, -2, -3, -4, -3, -1, -2, -2, -2,
    -00323                 -3, -2, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, -1, -1, 0, 0, -1, 0, 0, 1, 4, 6, 7, 6, 7,
    -00324                 8, 10, 11, 11, 11, 9, 7, 6, 8, 9, 8, 8, 7, 5, 7, 10, 10, 9, 7, 6, 6, 6, 7, 6, 6,
    -00325                 5, 5, 6, 5, 4, 4, 3, 3, 3, 4, 3, 3, 3, 3, 2, 2, 1, 0, 1, 2, 3, 3, 2, 0, -1, 1,
    -00326                 1, 0, -1, -1, -2, -1, 0, 2, 1, 0, 0, 0, 1, 1, 2, 2, 0, 2, 2, 3, 3, 2, 2, 2, 3,
    -00327                 2, 3, 4, 4, 4, 3, 3, 3, 2, 3, 2, 2, 3, 3, 4, 3, 1, 2, 2, 3, 2, 2, 2, 2, 3, 4, 5,
    -00328                 3, 2, 3, 4, 5, 4, 2, 3, 3, 4, 4, 2, 1, 0, 1, 2, 2, 1, 1, 2, 3, 4, 4, 4, 4, 4, 5,
    -00329                 4, 3, 3, 3, 4, 4, 4, 5, 5, 6, 7, 7, 8, 9, 10, 11, 10, 9, 8, 8, 9, 7, 5, 6, 6, 5,
    -00330                 6, 6, 7, 7, 8, 8, 7, 7, 6, 5, 5, 5, 4, 5, 5, 5, 3, 2, 3, 3, 3, 3, 2, 1, 0, 1, 0,
    -00331                 -1, -1, -2, -1, 0, -2, -3, -2, -1, -1, -1, -2, -2, -3, -3, -4, -4, -3, -3, -3,
    -00332                 -1, -1, -1, -1, 0, 0, 0, 1, 0, 1, 1, 2, 3, 1, 1, 2, 2, 2, 2, 2, 2, 1, 3, 4, 4,
    -00333                 3, 3, 4, 2, 2, 1, 0, -1, -1, -1, 0, -1, -2, -3, -3, -4, -4, -5, -5, -6, -7, -8,
    -00334                 -6, -5, -5, -5, -5, -5, -5, -4, -4, -5, -7, -8, -6, -6, -6, -6, -7, -7, -6, -6,
    -00335                 -7, -6, -6, -6, -4, -5, -6, -5, -4, -3, -2, -3, -3, -2, -2, -1, 0, 0, 0, 0, 0,
    -00336                 1, 0, 0, -1, -1, 0, -1, -1, 0, 0, 0, 0, 0, 0, -2, -1, 0, -1, -2, -3, -3, -3, -2,
    -00337                 -2, -2, -3, -2, -1, -1, -1, -3, -4, -4, -3, -3, -4, -3, -3, -3, -1, -3, -3, -2,
    -00338                 -3, -4, -4, -3, -3, -4, -4, -4, -2, -2, -3, -3, -5, -5, -3, -3, -2, -4, -4, -3,
    -00339                 -3, -2, -3, -3, -3, -4, -3, -3, -3, -1, -1, -1, -2, -3, -2, -2, -3, -4, -2, -2,
    -00340                 -3, -1, -2, -3, -3, -3, -2, -3, -3, -1, -1, -3, 0, -1, -2, -1, -2, -2, -3, -3,
    -00341                 -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, -1, -3, -3, -2, -1, -1, -2, -3, -4, -3, -4,
    -00342                 -3, -2, -2, -2, -1, -1, -1, 0, 1, -2, -5, -3, 0, 0, 1, -1, -3, -2, -2, -2, -1,
    -00343                 -2, -4, -3, -2, -2, -1, -1, -2, -4, -4, -4, -2, -2, -2, -3, -2, -3, -3, -1, -3,
    -00344                 -3, -2, -4, -1, 0, 0, 2, 2, 1, -1, -1, 1, 1, 0, -1, -1, -1, -1, -1, -2, 0, -1,
    -00345                 -1, 1, 2, 1, -1, 1, 1, 1, 1, 1, -1, -2, 0, 2, 3, 0, -1, 0, 2, 3, 1, 2, 2, 3, 3,
    -00346                 2, 2, 2, 1, 2, 3, 4, 4, 3, 1, 1, 2, 3, 2, 2, 2, 0, 2, 3, 3, 2, 1, 2, 1, 2, 3, 2,
    -00347                 1, 0, 0, 1, 1, 1, 1, 0, -1, 1, 2, 1, 2, 1, -1, -1, -1, -1, -1, -2, -1, -1, -1,
    -00348                 -2, -1, 0, -2, -3, -2, 0, 0, -2, -2, -1, -2, -1, 0, -1, -1, -1, 1, -2, -4, -3,
    -00349                 -1, -1, -3, -3, -2, -2, -3, -3, -2, -2, -2, -4, -5, -4, -2, -1, 1, 0, -1, -1,
    -00350                 -2, -1, -3, -4, 0, 0, 0, 2, 1, 0, 1, 1, 0, -1, 0, -1, 0, 0, -1, 0, 1, 0, 1, 0,
    -00351                 2, 1, 3, 4, -1, 0, 1, 3, 1, 0, 3, 2, 3, 5, 2, 1, 4, 2, 4, 7, 4, 2, 4, 5, 6, 6,
    -00352                 6, 4, 5, 5, 6, 8, 7, 6, 6, 7, 7, 6, 7, 5, 3, 4, 5, 5, 6, 3, 2, 5, 6, 7, 5, 4, 5,
    -00353                 6, 5, 4, 3, 3, 6, 6, 4, 5, 5, 3, 4, 5, 3, 2, 2, 2, 3, 3, 3, 3, 2, 2, 3, 1, 2, 1,
    -00354                 0, 1, 1, 0, 0, 2, 1, 0, 1, 2, 0, -2, 0, 2, 2, 0, -1, -1, -1, 0, -1, -1, -2, -4,
    -00355                 -3, -2, -1, -3, -5, -4, -4, -4, -5, -4, -6, -6, -4, -4, -6, -5, -4, -5, -5, -6,
    -00356                 -7, -7, -6, -3, -4, -5, -4, -6, -6, -5, -4, -4, -5, -6, -5, -5, -4, -4, -5, -4,
    -00357                 -3, -3, -4, -4, -4, -5, -5, -6, -7, -7, -8, -7, -7, -7, -7, -7, -5, -6, -8, -7,
    -00358                 -8, -10, -11, -10, -10, -12, -12, -13, -13, -10, -13, -13, -13, -15, -12, -10,
    -00359                 -12, -13, -12, -12, -12, -10, -13, -16, -14, -13, -12, -12, -12, -12, -11, -11,
    -00360                 -10, -9, -10, -11, -10, -10, -9, -11, -12, -10, -7, -5, -14, -14, -7, -9, -9,
    -00361                 -8, -10, -11, -10, -8, -8, -8, -9, -10, -10, -7, -8, -8, -9, -10, -8, -8, -7,
    -00362                 -8, -8, -7, -7, -7, -7, -8, -7, -7, -8, -6, -6, -7, -6, -5, -4, -2, -4, -6, -4,
    -00363                 -4, -4, -3, -5, -5, -5, -4, -3, -5, -5, -5, -5, -5, -4, -5, -5, -6, -7, -6, -5,
    -00364                 -7, -7, -7, -5, -3, -5, -5, -6, -6, -6, -5, -4, -4, -5, -6, -6, -5, -5, -6, -4,
    -00365                 -5, -8, -6, -7, -7, -7, -7, -8, -8, -8, -9, -6, -4, -5, -6, -6, -5, -5, -4, -5,
    -00366                 -5, -4, -5, -5, -5, -5, -4, -4, -3, -4, -3, -2, -2, -3, -3, -2, -2, 0, 0, -1,
    -00367                 -1, -2, -1, -1, -1, -2, -3, -3, -3, -3, -2, -3, -4, -5, -3, -1, -2, -2, -2, -2,
    -00368                 -2, -3, -4, -3, -3, -3, -4, -4, -4, -3, -3, -1, 0, -1, -1, 0, 1, 1, 1, -1, -1,
    -00369                 0, 0, -1, 0, 2, 2, 2, 1, 2, 1, 2, 4, 4, 4, 3, 4, 5, 6, 6, 5, 5, 6, 7, 8, 8, 6,
    -00370                 5, 6, 8, 7, 7, 8, 7, 8, 8, 8, 9, 8, 9, 9, 9, 9, 9, 8, 9, 10, 10, 9, 9, 10, 11,
    -00371                 12, 11, 10, 9, 10, 11, 10, 9, 10, 10, 10, 11, 10, 9, 10, 9, 9, 9, 9, 8, 9, 8, 8,
    -00372                 7, 6, 6, 5, 5, 5, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 4, 3, 3, 3, 4, 5, 4, 4, 6, 6,
    -00373                 6, 5, 5, 5, 6, 6, 5, 6, 6, 7, 7, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 7, 7, 8, 9, 9,
    -00374                 8, 7, 6, 7, 7, 6, 7, 7, 5, 5, 6, 7, 7, 6, 7, 7, 6, 5, 5, 6, 7, 7, 6, 6, 6, 7, 7,
    -00375                 7, 6, 5, 5, 5, 7, 8, 7, 7, 6, 5, 6, 6, 6, 5, 4, 4, 4, 6, 7, 8, 8, 8, 8, 8, 8, 7,
    -00376                 7, 7, 7, 6, 6, 6, 6, 8, 8, 7, 6, 6, 7, 8, 8, 8, 7, 6, 6, 7, 7, 7, 7, 6, 7, 7, 7,
    -00377                 6, 6, 6, 6, 6, 6, 6, 6, 7, 8, 9, 9, 9, 8, 8, 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 9, 9,
    -00378                 9, 8, 9, 9, 9, 8, 7, 7, 8, 9, 9, 9, 9, 9, 9, 9, 8, 7, 7, 7, 7, 8, 7, 7, 7, 7, 8,
    -00379                 7, 6, 6, 5, 6, 6, 5, 5, 5, 6, 6, 5, 5, 5, 5, 6, 6, 5, 4, 3, 3, 3, 3, 3, 3, 4, 5,
    -00380                 5, 5, 5, 5, 4, 3, 4, 4, 4, 4, 3, 3, 2, 2, 2, 1, 0, 0, 1, 0, -1, -1, -1, 0, -1,
    -00381                 0, 0, -1, -2, -1, 0, -1, -1, -1, -1, 0, 0, 0, -1, -2, -1, -1, 0, 0, 0, 0, 0, 1,
    -00382                 1, 1, 2, 2, 2, 2, 1, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -2, -2, -2, -2, -3,
    -00383                 -4, -5, -6, -5, -5, -6, -6, -7, -7, -6, -6, -7, -8, -8, -8, -8, -7, -7, -8, -9,
    -00384                 -9, -9, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -7, -7, -7, -7, -6, -5, -4,
    -00385                 -5, -6, -5, -5, -5, -5, -5, -5, -6, -5, -5, -4, -4, -4, -5, -5, -5, -4, -4, -4,
    -00386                 -5, -6, -6, -5, -4, -4, -4, -4, -4, -4, -3, -3, -3, -3, -3, -3, -3, -3, -4, -3,
    -00387                 -2, -1, -2, -2, -3, -4, -3, -3, -3, -4, -4, -4, -4, -3, -2, -2, -2, -2, -1, 1,
    -00388                 1, 0, -1, -1, -1, 0, 0, -1, -1, -1, -1, -1, -2, -2, -2, -1, -1, -1, -2, -2, -1,
    -00389                 0, 1, 1, 0, 0, -1, 0, 1, 1, 0, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1,
    -00390                 1, 0, 1, 1, 1, 1, 1, 0, 1, 2, 3, 2, 1, 1, 0, 1, 3, 2, 2, 2, 1, 2, 2, 2, 3, 2, 2,
    -00391                 1, 1, 1, 2, 3, 0, 1, 1, 0, 1, 1, 3, 3, 0, 1, 0, -1, 0, -2, 0, 0, -1, 0, 0, 0, 1,
    -00392                 0, 1, 1, 0, 2, 3, 3, 3, 3, 3, 2, 3, 4, 3, 2, 4, 4, 5, 5, 5, 4, 4, 3, 2, 2, 2, 3,
    -00393                 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5, 3, 0, 2, 5, 3, 2, 3, 3, 3, 4, 4,
    -00394                 3, 2, 1, 2, 3, 2, 1, 0, 0, 2, 3, 3, 3, 1, 1, 1, 0, 1, 0, -1, -1, -2, 0, 0, 0, 1,
    -00395                 0, 0, 0, -1, -2, -1, -2, -2, -2, -3, -3, -2, -2, -1, -2, -2, -2, -2, -1, 0, -1,
    -00396                 -1, -2, -1, -1, 0, -1, -1, -1, -1, -1, 0, -1, -2, -3, -2, -1, -1, 0, -1, 0, 1,
    -00397                 0, 0, -2, -2, -1, -3, -4, -4, -3, 0, 3, 5, 2, -1, 0, -1, -1, -2, -3, -2, -2, 0,
    -00398                 0, -1, -1, -1, -1, -1, -2, -3, -3, -2, -2, -2, -1, -2, -2, 0, 0, 0, 0, -1, 0, 0,
    -00399                 0, 0, -1, -2, -1, -1, 0, 1, 0, 0, 1, 1, 2, 3, 1, 1, 2, 2, 3, 3, 3, 3, 3, 4, 7,
    -00400                 7, 6, 6, 5, 4, 4, 5, 5, 4, 5, 6, 5, 6, 6, 7, 7, 8, 8, 8, 7, 6, 6, 7, 7, 7, 7, 6,
    -00401         };
    -00402 
    -00403 #endif /* HORSE_LIPS_8192_H_ */
    -
    - - - - +
    1 #ifndef HORSE_LIPS_8192_H_
    +
    2 #define HORSE_LIPS_8192_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 /* sound of a horse eating
    +
    12 */
    +
    13 
    +
    14 #define HORSE_LIPS_8192_NUM_CELLS 8192
    +
    15 #define HORSE_LIPS_8192_SAMPLERATE 16384
    +
    16 
    +
    17 const char __attribute__((progmem)) HORSE_LIPS_8192_DATA [] =
    +
    18  {
    +
    19  -9, -14, -12,
    +
    20  -12, -11, -11, -12, -13, -13, -12, -11, -9, -7, -8, -12, -14, -14, -13, -13,
    +
    21  -16, -15, -11, -10, -11, -10, -8, -7, -8, -8, -8, -12, -15, -16, -14, -13, -12,
    +
    22  -11, -11, -9, -8, -8, -6, -6, -5, -5, -6, -5, -5, -6, -8, -10, -12, -14, -14,
    +
    23  -15, -14, -12, -11, -11, -13, -15, -14, -13, -11, -10, -9, -8, -8, -9, -9, -7,
    +
    24  -5, -4, -6, -8, -8, -8, -10, -10, -7, -4, -1, -3, -7, -5, -3, -4, -3, -4, -2,
    +
    25  -1, -2, -3, -2, 1, 2, 3, 4, 5, 4, 3, 3, 3, 3, 1, 1, 3, 5, 6, 8, 10, 11, 10, 7,
    +
    26  4, 3, 4, 5, 4, 2, 0, 0, 0, 1, 1, 0, 1, 3, 6, 7, 7, 8, 9, 9, 8, 6, 6, 5, 3, 3, 5,
    +
    27  6, 7, 8, 8, 9, 11, 13, 13, 11, 9, 8, 8, 6, 5, 3, 2, 3, 4, 4, 3, 4, 6, 6, 3, 2,
    +
    28  2, -1, -6, -7, -5, -4, -5, -7, -8, -8, -9, -9, -8, -9, -8, -6, -5, -5, -6, -6,
    +
    29  -6, -4, -3, -3, -3, -3, -1, 0, 0, 2, 3, 3, 2, 1, 2, 1, 2, 5, 6, 6, 4, 4, 3, 4,
    +
    30  4, 4, 4, 5, 6, 7, 4, 2, 6, 8, 5, 2, 2, 2, 1, 1, 2, 0, -2, -2, -1, 1, 0, -1, 2,
    +
    31  6, 5, 5, 6, 5, 2, 3, 4, 3, 1, 1, 2, 2, 1, 1, 2, 3, 4, 4, 3, 2, 2, 2, 3, 4, 3, 3,
    +
    32  3, 4, 4, 2, 0, -1, -1, 0, 1, 1, 1, 1, 1, 1, 2, 2, 0, -2, -4, -8, -9, -7, -6, -5,
    +
    33  -4, -2, -2, -4, -4, -2, -1, 0, -1, -3, -4, -2, -1, 1, 3, 3, 3, 2, 0, 0, 0, 0, 1,
    +
    34  4, 5, 5, 5, 5, 5, 4, 4, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 8, 7, 5, 6, 5, 4, 5, 6, 5,
    +
    35  6, 7, 7, 5, 5, 3, 4, 6, 8, 7, 6, 5, 4, 4, 5, 6, 7, 7, 7, 9, 11, 9, 6, 4, 1, -1,
    +
    36  0, 0, 1, 4, 6, 6, 6, 7, 8, 11, 11, 11, 10, 7, 5, 3, 2, 2, 3, 3, 4, 5, 6, 6, 7,
    +
    37  7, 7, 8, 7, 7, 8, 7, 7, 8, 9, 10, 9, 7, 5, 4, 3, 4, 4, 4, 5, 6, 8, 10, 12, 13,
    +
    38  13, 13, 12, 11, 11, 10, 9, 8, 7, 7, 8, 8, 8, 9, 9, 8, 7, 8, 10, 11, 11, 12, 11,
    +
    39  8, 8, 9, 8, 8, 10, 10, 6, 3, 1, 4, 8, 10, 8, 4, 3, 3, 3, 2, 1, 0, 1, 4, 3, 1, 1,
    +
    40  4, 5, 5, 4, 3, 1, 2, 2, 2, -1, -3, -5, -8, -6, -4, -1, 0, 1, 0, -2, 0, 1, 0, -1,
    +
    41  0, 1, -1, -2, -2, -1, 0, -2, -2, -1, -1, -3, -5, -4, -3, -3, -2, -2, -4, -5, -4,
    +
    42  -5, -7, -7, -5, -5, -6, -6, -5, -4, -2, -2, -2, -3, -3, -4, -5, -5, -6, -8, -8,
    +
    43  -8, -7, -5, -5, -5, -4, -5, -3, -3, -3, -4, -5, -5, -7, -7, -8, -8, -8, -7, -7,
    +
    44  -8, -8, -8, -7, -5, -4, -5, -8, -7, -6, -5, -5, -5, -5, -5, -5, -4, -2, 0, 1, 0,
    +
    45  -4, -6, -8, -8, -7, -6, -6, -7, -6, -4, -3, -3, -5, -7, -6, -6, -6, -9, -12,
    +
    46  -12, -11, -9, -7, -5, -4, -5, -7, -8, -10, -11, -9, -10, -11, -11, -11, -11,
    +
    47  -10, -9, -7, -6, -4, -4, -7, -9, -9, -7, -5, -5, -5, -4, -2, -3, -5, -6, -4, -3,
    +
    48  -3, -4, -4, -4, -5, -5, -5, -3, -1, 2, 2, 2, 2, 2, 0, 0, -1, -1, -1, -1, -1, -1,
    +
    49  -1, 0, 1, -1, -2, -3, -4, -4, -3, -3, -3, -2, -1, -1, -2, -3, -4, -4, -2, 1, 1,
    +
    50  -1, -6, -8, -7, -5, -2, 0, -1, -2, -4, -4, -5, -5, -5, -3, -2, -2, -3, -3, -3,
    +
    51  -2, -1, 1, 1, 0, -1, -2, -2, -2, -1, 0, 1, 1, 1, 1, 0, -1, -2, -2, -3, -3, -2,
    +
    52  -3, -3, -3, -2, -1, 0, 0, -1, -2, -2, -3, -6, -7, -7, -6, -3, 0, 0, 0, 0, -1, 0,
    +
    53  1, 0, -1, 0, 2, 4, 4, 1, -2, -3, -3, -3, -3, -3, -3, -3, -3, -2, -1, 1, 2, 2, 2,
    +
    54  -1, -4, -7, -9, -8, -4, -1, 0, 0, 0, 0, 1, 2, 2, 0, -3, -4, -6, -7, -8, -6, -3,
    +
    55  -1, 1, 0, 0, -1, -2, -2, -2, -1, -2, -3, -3, -3, -2, -2, -2, -3, -3, -4, -3, -2,
    +
    56  -3, -5, -6, -5, -3, -2, -2, -3, -2, -3, -4, -5, -7, -6, -2, 0, 0, -4, -8, -9,
    +
    57  -8, -6, -4, -3, -3, -4, -4, -5, -6, -6, -5, -5, -8, -9, -10, -11, -8, -7, -4,
    +
    58  -1, 2, 2, 0, -3, -6, -7, -6, -6, -6, -7, -6, -5, -5, -6, -6, -5, -3, 1, 2, 0,
    +
    59  -3, -7, -10, -10, -9, -6, -4, -3, -4, -5, -7, -8, -7, -3, 1, 2, 2, 1, 0, -2, -3,
    +
    60  -4, -2, -1, -1, -2, -3, -3, -2, 1, 2, 3, 5, 6, 6, 6, 6, 5, 3, 2, 2, 3, 4, 3, 4,
    +
    61  3, 4, 5, 6, 8, 10, 12, 11, 11, 9, 8, 7, 8, 9, 9, 9, 6, 4, 4, 4, 4, 5, 7, 7, 6,
    +
    62  5, 5, 6, 10, 12, 13, 12, 10, 6, 3, 2, 2, 3, 5, 6, 6, 5, 3, 4, 6, 9, 11, 10, 9,
    +
    63  7, 5, 2, 1, 3, 6, 9, 9, 9, 8, 7, 9, 9, 9, 8, 7, 6, 6, 6, 4, 4, 3, 4, 5, 6, 6, 6,
    +
    64  5, 6, 6, 6, 7, 8, 8, 8, 9, 8, 5, 4, 4, 6, 9, 12, 11, 9, 7, 6, 6, 8, 9, 8, 8, 7,
    +
    65  6, 5, 4, 3, 3, 5, 6, 5, 4, 2, 1, 2, 4, 4, 4, 4, 4, 3, 4, 3, 3, 2, 2, 1, 0, -1,
    +
    66  -1, -1, 0, 0, 0, 0, -1, 0, 0, -1, -2, -3, -3, -2, -1, -4, -6, -5, -5, -5, -5,
    +
    67  -5, -5, -3, -2, -2, -3, -4, -5, -3, -3, -3, -4, -6, -6, -4, -3, -4, -6, -7, -8,
    +
    68  -9, -10, -12, -11, -10, -10, -9, -9, -10, -10, -8, -8, -9, -9, -10, -10, -10,
    +
    69  -10, -10, -11, -11, -11, -10, -9, -9, -9, -9, -9, -9, -9, -8, -7, -5, -5, -4,
    +
    70  -3, -3, -3, -4, -5, -6, -6, -6, -6, -5, -5, -7, -6, -5, -3, -3, -2, -1, -1, -1,
    +
    71  -1, -1, -2, -2, -1, -1, -2, -2, -3, -3, -3, -4, -3, -3, -3, -4, -4, -4, -3, -3,
    +
    72  -3, -3, -3, -2, -1, -2, -2, -3, -4, -4, -3, -3, -2, -1, -1, 0, 1, 1, 1, 3, 3, 3,
    +
    73  4, 5, 5, 5, 4, 5, 5, 6, 6, 5, 5, 5, 6, 7, 5, 5, 6, 5, 6, 7, 7, 7, 7, 7, 6, 6, 6,
    +
    74  5, 6, 7, 8, 7, 6, 6, 5, 6, 6, 7, 7, 7, 8, 7, 7, 7, 7, 7, 7, 6, 5, 6, 6, 6, 6, 5,
    +
    75  5, 6, 6, 4, 5, 5, 6, 6, 5, 4, 4, 5, 4, 4, 4, 4, 4, 3, 2, 1, 1, 2, 2, 1, 1, 0, 1,
    +
    76  1, 2, 3, 1, 0, 1, 1, 0, -1, -1, -1, -3, -4, -5, -5, -6, -6, -5, -5, -5, -5, -5,
    +
    77  -6, -6, -5, -4, -3, -3, -5, -6, -6, -6, -7, -8, -9, -9, -8, -9, -10, -10, -10,
    +
    78  -10, -10, -8, -8, -8, -10, -11, -9, -8, -7, -8, -7, -7, -6, -5, -6, -6, -8, -12,
    +
    79  -12, -9, -8, -11, -12, -10, -10, -11, -10, -10, -12, -13, -11, -8, -8, -11, -10,
    +
    80  -7, -6, -5, -6, -10, -13, -12, -11, -10, -7, -5, -5, -4, 1, 3, 2, 2, 3, 5, 6, 9,
    +
    81  6, 3, 5, 8, 6, 3, 4, 1, -1, 1, 3, -1, -4, 1, 0, -3, -4, -5, -3, -2, -2, -4, -2,
    +
    82  0, -1, -1, -2, -2, -4, -2, 0, -3, -7, -3, 1, -2, -5, -4, -2, -1, 2, 4, 0, -2, 1,
    +
    83  1, -4, -3, 2, 1, -1, 2, 0, -6, -6, -1, 1, -4, -3, -2, -5, -7, -5, -3, -2, 0, -3,
    +
    84  -3, -1, -1, -2, -3, -1, 3, 1, 0, 1, 1, 2, -1, -3, 1, 4, 3, 2, 0, 0, 1, 0, 1, 2,
    +
    85  4, 5, 3, 2, 4, 5, 5, 7, 7, 6, 7, 8, 9, 8, 9, 9, 7, 7, 9, 9, 7, 5, 7, 8, 6, 8, 8,
    +
    86  6, 5, 6, 7, 5, 4, 7, 9, 9, 8, 7, 7, 9, 12, 11, 5, 6, 11, 8, 4, 5, 8, 7, 2, 3, 7,
    +
    87  6, 5, 4, 5, 5, 5, 7, 5, 4, 7, 9, 5, 3, 6, 9, 7, 3, 1, 6, 9, 7, 1, 2, 8, 8, 5, 6,
    +
    88  9, 9, 5, 6, 10, 8, 6, 10, 12, 9, 5, 6, 8, 6, 3, 1, 4, 2, -3, 1, 3, 1, 1, 3, 6,
    +
    89  6, 5, 5, 6, 9, 9, 8, 8, 7, 6, 7, 6, 4, 4, 3, 4, 5, 2, 0, 2, 5, 4, 3, 6, 8, 5, 0,
    +
    90  1, 5, 3, -1, 1, 5, 2, -1, -4, -5, -1, 1, -1, 0, 2, 0, -4, -4, -4, -3, -1, -2,
    +
    91  -2, -2, -4, -4, -3, -4, -3, -1, -2, -4, -5, -6, -4, -4, -5, -7, -7, -7, -7, -7,
    +
    92  -10, -12, -11, -13, -14, -15, -16, -18, -21, -21, -20, -20, -20, -24, -24, -22,
    +
    93  -23, -24, -23, -22, -22, -23, -22, -20, -20, -22, -20, -15, -17, -19, -17, -14,
    +
    94  -16, -18, -14, -11, -11, -11, -10, -7, -7, -7, -3, -1, -2, -4, -5, -4, -4, -4,
    +
    95  -5, -5, -6, -9, -9, -7, -6, -10, -10, -7, -7, -8, -3, 0, -1, -2, 1, 4, 3, 2, 4,
    +
    96  1, -3, -1, 1, 0, -1, 0, 1, 0, -1, -3, -4, -1, 2, 1, 0, 3, 4, 5, 9, 9, 7, 8, 13,
    +
    97  16, 12, 9, 13, 15, 11, 9, 10, 13, 14, 13, 10, 8, 10, 12, 11, 9, 11, 13, 16, 16,
    +
    98  13, 13, 14, 14, 16, 18, 17, 13, 12, 14, 14, 12, 13, 14, 15, 12, 9, 8, 9, 8, 7,
    +
    99  9, 7, 5, 5, 4, 2, 4, 5, 5, 3, 2, 5, 6, 3, 2, 3, 4, 3, 1, 0, 0, -3, -3, -3, -3,
    +
    100  -4, -6, -7, -8, -7, -6, -7, -8, -7, -6, -6, -6, -7, -6, -2, -1, -2, -2, -5, -6,
    +
    101  -5, -5, -6, -7, -7, -6, -7, -9, -10, -9, -8, -6, -7, -9, -6, -5, -6, -6, -4, 1,
    +
    102  2, -2, -2, 0, -1, -1, -1, -3, 1, 1, -2, -3, -2, 0, -1, -2, -5, -3, -1, -4, -7,
    +
    103  -7, -4, -3, -6, -7, -6, -5, -6, -8, -7, -4, -4, -4, -4, -8, -8, -7, -6, -6, -6,
    +
    104  -6, -7, -6, -7, -7, -7, -8, -8, -10, -10, -10, -9, -7, -5, -4, -3, -2, -1, 0, 2,
    +
    105  4, 7, 9, 8, 6, 4, 6, 8, 6, 5, 6, 4, 3, 3, 0, 0, -1, -1, 4, 3, 0, 3, 2, 0, 1, 3,
    +
    106  5, 5, 6, 3, 0, 1, 2, 2, 0, -2, -3, -6, -7, -8, -8, -8, -8, -7, -8, -10, -11,
    +
    107  -10, -8, -7, -8, -7, -7, -8, -9, -7, -4, -3, 2, 2, -1, -1, 0, 4, 7, 7, 8, 8, 6,
    +
    108  6, 9, 10, 10, 10, 13, 15, 14, 11, 9, 10, 11, 12, 13, 11, 8, 8, 7, 8, 9, 11, 11,
    +
    109  9, 7, 7, 8, 8, 7, 10, 11, 11, 11, 8, 10, 12, 12, 11, 10, 10, 12, 10, 8, 9, 7, 7,
    +
    110  9, 7, 5, 5, 6, 8, 7, 4, 3, 1, 3, 3, 2, 5, 7, 8, 7, 7, 7, 7, 8, 9, 9, 9, 7, 7, 8,
    +
    111  5, 4, 5, 5, 4, 1, 0, -1, -1, 0, 2, 3, 3, 2, 2, 2, 0, 0, 1, 1, 1, 1, 0, -1, -1,
    +
    112  -1, -1, 0, -1, 0, 0, 1, 5, 3, -2, -1, 1, 3, 3, 3, 1, -1, -1, -2, -1, -1, -1, -1,
    +
    113  -2, -2, -2, -3, -2, -2, -3, -3, -4, -3, 0, -1, -2, -2, -1, 1, 0, -3, -3, -2, 0,
    +
    114  -1, -4, -6, -6, -3, -3, -3, -3, -4, -6, -6, -5, -2, -4, -8, -6, -4, -5, -6, -7,
    +
    115  -6, -5, -4, -4, -6, -5, -3, -1, 0, 0, -3, -2, 0, -4, -3, -4, -7, -6, -7, -7, -8,
    +
    116  -10, -10, -11, -11, -8, -6, -8, -8, -5, -6, -7, -7, -6, -4, -4, -4, -6, -7, -6,
    +
    117  -6, -4, -5, -7, -5, -4, -5, -6, -8, -7, -5, -4, -4, -4, -4, -5, -6, -4, -3, -4,
    +
    118  -5, -7, -7, -8, -8, -7, -7, -8, -8, -10, -10, -9, -10, -11, -10, -11, -12, -13,
    +
    119  -12, -10, -9, -10, -10, -9, -8, -10, -11, -9, -8, -7, -7, -9, -10, -6, 1, 10,
    +
    120  13, 15, 14, 11, 11, 13, 16, 16, 14, 13, 11, 6, 1, 0, -1, -1, -2, -2, -3, -4, -7,
    +
    121  -9, -7, -5, -3, 0, 0, 0, 1, 0, 2, 1, 0, 4, 7, 7, 4, 3, 3, 3, 4, 4, 5, 7, 5, 3,
    +
    122  4, 5, 4, 6, 8, 8, 9, 9, 9, 7, 6, 8, 9, 10, 10, 7, 6, 6, 7, 5, 6, 6, 5, 6, 5, 4,
    +
    123  5, 4, 3, 4, 3, 4, 4, 3, 1, 1, 2, 2, 1, 0, 0, 0, -1, -3, -4, -7, -9, -11, -12,
    +
    124  -10, -8, -10, -11, -12, -14, -14, -13, -13, -11, -12, -11, -8, -7, -6, -5, -5,
    +
    125  -2, 0, 2, 3, 1, 0, -1, -2, 1, 1, 0, 1, 0, 1, 0, 1, 2, 3, 5, 6, 5, 3, 3, 3, 3, 3,
    +
    126  2, 1, 0, -2, -4, -4, -5, -5, -3, -3, -5, -4, -3, -1, -1, -2, -1, 1, 1, 1, 2, 3,
    +
    127  2, 1, 1, 1, 0, -2, -3, -3, -2, 0, 0, 0, -1, -3, -5, -6, -7, -9, -9, -9, -9, -9,
    +
    128  -11, -13, -14, -15, -13, -12, -14, -15, -15, -17, -18, -19, -18, -17, -18, -19,
    +
    129  -19, -20, -21, -22, -23, -23, -21, -21, -21, -22, -23, -22, -20, -16, -15, -16,
    +
    130  -15, -14, -14, -14, -14, -14, -16, -15, -13, -13, -12, -12, -12, -12, -12, -13,
    +
    131  -12, -11, -11, -11, -11, -10, -8, -7, -4, -4, -4, -2, -2, -3, -4, -6, -5, -4,
    +
    132  -3, -4, -5, -7, -9, -10, -11, -10, -7, -3, 2, 7, 12, 15, 21, 29, 30, 27, 27, 25,
    +
    133  23, 21, 19, 20, 19, 15, 11, 9, 6, 6, 8, 12, 13, 13, 15, 17, 20, 24, 27, 28, 28,
    +
    134  29, 28, 26, 21, 15, 11, 8, 6, 4, 2, 0, -2, -2, -4, -7, -7, -7, -6, -4, -4, -2,
    +
    135  0, 2, 4, 5, 7, 10, 15, 17, 17, 18, 16, 14, 14, 13, 11, 9, 7, 5, 4, 3, 1, 2, 2,
    +
    136  0, -1, -2, -4, -3, -1, 1, 2, 4, 6, 8, 10, 14, 16, 15, 14, 12, 10, 8, 8, 8, 4, 1,
    +
    137  -2, -5, -7, -9, -12, -14, -15, -13, -12, -9, -7, -5, -1, -1, 0, 0, 1, 3, 4, 6,
    +
    138  5, 3, 3, 3, 3, 3, 2, 1, 0, 0, -1, 0, -1, -4, -5, -5, -5, -5, -3, -2, -4, -3, -2,
    +
    139  -2, -4, -7, -8, -7, -7, -6, -6, -6, -6, -5, -5, -3, -2, -4, -6, -6, -13, -18,
    +
    140  -21, -21, -17, -11, -6, -2, 1, 5, 11, 16, 17, 15, 12, 9, 6, 6, 4, 2, -1, -2, -2,
    +
    141  -1, -2, -5, -7, -8, -10, -13, -15, -15, -12, -11, -9, -7, -8, -6, -4, -3, -1, 2,
    +
    142  2, 1, 4, 7, 7, 10, 8, 8, 15, 19, 22, 21, 20, 20, 20, 22, 23, 23, 19, 15, 16, 19,
    +
    143  18, 16, 16, 16, 15, 15, 17, 18, 21, 22, 23, 26, 25, 25, 26, 27, 27, 25, 22, 20,
    +
    144  18, 15, 11, 9, 5, 1, -1, -3, -5, -9, -13, -16, -19, -18, -18, -17, -18, -19,
    +
    145  -17, -14, -11, -8, -4, -2, -3, -3, -2, 2, 3, 1, 0, 0, 0, -2, -4, -5, -6, -6, -7,
    +
    146  -9, -11, -12, -14, -15, -17, -18, -16, -14, -12, -11, -11, -11, -12, -9, -6, -4,
    +
    147  -4, -6, -8, -8, -8, -8, -8, -10, -11, -12, -11, -9, -6, -4, -2, 0, 2, 4, 6, 8,
    +
    148  10, 11, 12, 16, 20, 25, 27, 27, 26, 24, 24, 21, 20, 20, 18, 15, 13, 13, 12, 12,
    +
    149  13, 14, 14, 16, 18, 18, 20, 22, 24, 25, 25, 25, 24, 24, 22, 20, 15, 10, 7, 3,
    +
    150  -1, -4, -9, -13, -15, -18, -23, -29, -29, -29, -32, -31, -32, -32, -38, -42,
    +
    151  -33, -25, -24, -20, -17, -20, -21, -19, -16, -14, -13, -11, -7, -2, 2, 5, 8, 8,
    +
    152  7, 6, 6, 6, 8, 8, 5, 4, 3, 0, -6, -15, -20, -29, -37, -39, -38, -39, -42, -44,
    +
    153  -50, -49, -32, -18, -7, 9, 18, 22, 34, 47, 55, 59, 64, 62, 59, 54, 45, 38, 29,
    +
    154  15, 5, -3, -13, -21, -27, -32, -37, -42, -40, -37, -34, -28, -20, -12, -4, 3, 6,
    +
    155  7, 9, 14, 20, 23, 24, 22, 17, 14, 11, 10, 7, 3, -1, -6, -10, -14, -20, -24, -27,
    +
    156  -29, -31, -32, -31, -30, -27, -24, -20, -16, -14, -11, -8, -8, -6, -5, -4, -4,
    +
    157  -7, -11, -12, -13, -13, -12, -12, -12, -14, -16, -16, -17, -15, -14, -15, -15,
    +
    158  -16, -16, -13, -13, -15, -15, -13, -13, -14, -15, -15, -15, -16, -17, -18, -18,
    +
    159  -18, -17, -15, -14, -13, -11, -11, -10, -11, -11, -10, -8, -9, -13, -14, -16,
    +
    160  -19, -22, -26, -32, -39, -46, -60, -73, -71, -68, -61, -50, -47, -52, -63, -49,
    +
    161  -2, 26, 36, 50, 56, 56, 63, 76, 86, 83, 72, 62, 58, 51, 38, 27, 17, 4, -5, -8,
    +
    162  -8, -8, -8, -5, -1, 2, 12, 26, 35, 48, 67, 73, 68, 68, 63, 50, 40, 35, 23, 4,
    +
    163  -16, -35, -47, -48, -49, -52, -48, -39, -28, -15, 0, 10, 16, 24, 33, 38, 39, 38,
    +
    164  33, 31, 31, 26, 22, 19, 13, 5, 1, -3, -7, -9, -13, -17, -20, -20, -22, -17, -13,
    +
    165  -10, 0, 17, 25, 25, 33, 40, 37, 36, 38, 34, 27, 20, 14, 5, -2, -5, -11, -18,
    +
    166  -21, -24, -26, -25, -22, -23, -24, -20, -22, -25, -18, -11, -10, -11, -9, -7,
    +
    167  -6, 0, 8, 11, 12, 13, 11, 17, 31, 42, 48, 47, 44, 46, 49, 49, 42, 35, 28, 19,
    +
    168  12, 1, -11, -17, -23, -24, -22, -18, -15, -11, 0, 1, -5, -1, 8, 11, 11, 5, -1,
    +
    169  -1, 3, 3, -1, -5, -10, -15, -17, -18, -23, -23, -20, -20, -17, -17, -21, -23,
    +
    170  -27, -38, -56, -71, -83, -88, -70, -54, -44, -26, -9, 5, 19, 34, 39, 33, 41, 50,
    +
    171  43, 31, 14, 1, 5, 17, 18, 12, 19, 30, 35, 44, 52, 53, 54, 56, 54, 48, 44, 42,
    +
    172  36, 28, 27, 28, 28, 28, 27, 28, 33, 36, 33, 27, 20, 13, 9, 3, -5, -11, -14, -16,
    +
    173  -17, -20, -25, -25, -20, -16, -13, -9, -10, -14, -9, -3, -2, -3, -4, -2, -1, 3,
    +
    174  7, 7, 4, 2, 5, 4, 0, -5, -6, -1, 0, 0, 0, -2, 2, 6, 6, 8, 5, 6, 7, -1, -9, -12,
    +
    175  -10, -12, -19, -27, -31, -26, -19, -19, -22, -22, -20, -12, -4, -1, -3, -2, 2,
    +
    176  0, 1, -3, -11, -17, -22, -29, -35, -43, -58, -67, -70, -70, -63, -49, -38, -28,
    +
    177  -12, 4, 21, 38, 45, 50, 55, 54, 56, 63, 68, 72, 77, 77, 67, 62, 62, 60, 59, 52,
    +
    178  38, 26, 21, 17, 9, 5, 4, 2, -2, -10, -13, -10, -13, -21, -30, -40, -42, -44,
    +
    179  -53, -56, -54, -52, -49, -34, -21, -17, -8, 0, 6, 13, 21, 31, 42, 50, 49, 50,
    +
    180  55, 51, 42, 32, 10, -22, -54, -80, -95, -104, -108, -102, -97, -95, -81, -46,
    +
    181  -18, 1, 24, 44, 73, 102, 116, 124, 127, 121, 110, 97, 73, 42, 15, -10, -39, -67,
    +
    182  -89, -106, -113, -112, -119, -116, -99, -92, -70, -43, -37, -44, -26, 8, 12, 2,
    +
    183  4, 12, 9, 15, 20, 15, 18, 19, 10, 3, -2, -13, -15, -9, -10, -1, 7, 12, 10, 5,
    +
    184  29, 50, 50, 41, 32, 35, 30, 26, 20, -3, -12, -14, -18, -16, -24, -32, -28, -15,
    +
    185  -3, 10, 18, 17, 21, 40, 49, 45, 45, 41, 43, 42, 34, 30, 19, 6, 2, 3, -7, -25,
    +
    186  -39, -47, -45, -44, -53, -60, -61, -56, -42, -29, -23, -28, -24, -14, -17, -12,
    +
    187  -13, -18, -17, -26, -25, -16, -15, -16, -27, -35, -37, -33, -29, -35, -36, -43,
    +
    188  -46, -34, -30, -35, -34, -30, -22, -18, -26, -17, -18, -23, -12, -11, -14, -17,
    +
    189  -19, -20, -18, -15, -16, -17, -19, -16, -9, -4, -2, -4, 2, 9, 10, 9, 8, 11, 14,
    +
    190  8, -1, 0, 4, 5, 8, 8, 10, 23, 33, 31, 28, 33, 40, 44, 43, 40, 44, 46, 46, 50,
    +
    191  51, 29, -9, -27, -12, 17, 34, 35, 32, 20, 12, 19, 30, 34, 37, 41, 54, 68, 67,
    +
    192  62, 60, 62, 49, 37, 31, 19, 5, -9, -14, -19, -36, -49, -45, -41, -44, -37, -26,
    +
    193  -28, -32, -26, -16, -15, -26, -35, -30, -30, -37, -38, -33, -39, -51, -47, -38,
    +
    194  -38, -39, -36, -25, -20, -29, -33, -27, -29, -27, -21, -19, -23, -25, -16, -6,
    +
    195  1, 4, 2, 0, 0, 4, 2, -1, 1, -2, -5, -3, -1, 5, 12, 9, 8, 14, 17, 26, 31, 31, 35,
    +
    196  34, 28, 29, 30, 19, 11, 9, 6, 5, -2, -3, 3, -2, -12, -17, -4, 26, 36, -7, -52,
    +
    197  -30, 16, 19, 4, -4, -6, -2, -4, -10, -14, -10, -8, -6, -7, -18, -21, 1, 19, 14,
    +
    198  6, 8, 11, 14, 20, 26, 21, 5, -6, -10, -12, -9, -20, -26, -18, -18, -22, -22,
    +
    199  -16, -8, 0, -1, -10, -14, -12, -4, -6, -18, -19, -14, -11, -13, -20, -23, -16,
    +
    200  -15, -25, -27, -24, -17, -11, -14, -8, 4, 10, 17, 20, 19, 18, 17, 18, 15, 3, -4,
    +
    201  0, -4, -13, -12, 3, 7, 3, 6, 11, 15, 15, 15, 20, 17, 16, 15, 11, 8, 6, 5, 9, 11,
    +
    202  12, 15, 20, 24, 23, 20, 24, 26, 23, 16, 9, 6, 1, 0, 4, -2, -7, -10, -12, -6, 1,
    +
    203  2, 4, 6, 2, -4, -5, -14, -13, -2, -6, -14, -18, -14, -7, -12, -13, -6, 0, -1,
    +
    204  -14, -14, -4, -4, -4, -4, -9, -7, -5, -4, 3, 0, -7, 0, -3, -23, -40, -38, -32,
    +
    205  -37, -37, -23, 0, 21, 36, 53, 63, 63, 60, 49, 30, 8, -14, -35, -50, -44, -31,
    +
    206  -28, -15, 12, 24, 27, 31, 30, 32, 31, 16, 5, 4, 2, 3, 10, 13, 19, 29, 32, 29,
    +
    207  26, 28, 29, 26, 22, 14, 15, 23, 26, 31, 36, 36, 36, 34, 30, 32, 29, 24, 21, 16,
    +
    208  7, -5, -14, -20, -23, -25, -36, -40, -34, -33, -34, -30, -23, -19, -21, -20,
    +
    209  -18, -21, -26, -26, -22, -24, -26, -23, -23, -16, -9, -5, -3, -4, 2, 6, 3, -4,
    +
    210  -5, 3, -4, -10, 2, 6, 2, 7, 9, 9, 14, 16, 16, 14, 12, 13, 15, 13, 12, 14, 20,
    +
    211  20, 13, 14, 21, 16, 10, 8, 2, -1, 3, 0, -4, -1, -1, 4, 8, -1, -2, 12, 13, 0, 3,
    +
    212  6, 0, -5, -8, -10, -14, -9, -5, -4, 2, 4, 8, 18, 20, 21, 23, 20, 11, 5, 5, 0,
    +
    213  -4, 0, -1, 0, 6, 5, 3, 6, 7, 9, 5, -1, 1, -1, -3, -2, -7, -6, -7, -9, -10, -12,
    +
    214  -4, 4, -2, -4, -3, -2, 0, -9, -14, -8, -2, 0, -1, 1, 11, 21, 22, 20, 17, 17, 18,
    +
    215  12, 1, -7, -9, -13, -14, -13, -10, -1, 4, 4, 9, 14, 8, 7, 9, 3, -2, -7, -9, -5,
    +
    216  -4, -11, -16, -9, -7, -16, -23, -20, -18, -21, -21, -16, -13, -14, -13, -10, -9,
    +
    217  -10, -14, -9, -3, -9, -9, -3, 0, 1, 2, 4, 1, -2, -2, -3, 0, 4, 2, 0, 0, 2, 4, 2,
    +
    218  7, 14, 14, 15, 10, 4, 10, 10, 1, 6, 11, 6, 6, 7, 6, 2, 2, 5, 4, 5, 4, 6, 6, 3,
    +
    219  5, 7, 9, 10, 5, 5, 10, 9, 1, 0, 11, 18, 9, 7, 12, 11, 7, 0, 4, 8, 5, 7, 9, 5, 3,
    +
    220  5, 2, -2, 1, -1, -3, 2, 4, 1, 1, 3, 5, 1, -3, -3, -2, -6, -15, -17, -17, -13,
    +
    221  -8, -11, -11, -4, -7, -9, -10, -8, -5, -5, -5, -6, -8, -10, -13, -17, -19, -19,
    +
    222  -11, -8, -9, -2, 6, 4, 1, 1, -2, -9, -16, -23, -25, -26, -24, -14, -2, 8, 24,
    +
    223  38, 42, 45, 41, 34, 29, 24, 16, 8, 4, 6, 4, -2, -1, 3, 4, 3, 5, 6, 2, 0, 2, 7,
    +
    224  5, 1, 7, 5, -7, -12, -11, -14, -19, -17, -8, -2, -1, 5, 16, 20, 20, 25, 27, 25,
    +
    225  23, 19, 10, 5, 1, -6, -11, -16, -18, -14, -12, -11, -8, 1, 8, 8, 7, 5, 3, 2, 1,
    +
    226  -3, -6, -5, -7, -8, -13, -13, -10, -11, -12, -13, -14, -14, -16, -18, -19, -17,
    +
    227  -18, -20, -17, -15, -17, -15, -11, -11, -12, -16, -16, -11, -10, -12, -13, -11,
    +
    228  -10, -9, -9, -7, -2, 0, -1, -1, -1, -1, -1, -1, -6, -10, -10, -10, -9, -11, -11,
    +
    229  -5, 0, -2, -3, -2, 3, 8, 8, 10, 17, 17, 15, 16, 17, 16, 12, 5, 3, 3, 0, 0, 1, 2,
    +
    230  6, 8, 8, 10, 12, 9, 6, 6, 7, 6, 4, 0, -2, 1, -1, -7, -7, -2, -4, -4, 1, 3, 5, 8,
    +
    231  9, 10, 9, 4, 3, 1, -5, -6, -4, -6, -3, 0, -2, 0, 2, 0, 0, 1, 2, 2, 1, 1, 0, 0,
    +
    232  0, -1, 0, 0, -1, 0, 0, 0, 2, 4, 3, 2, 2, 3, 3, 4, 3, 4, 3, -1, -3, -3, -4, -4,
    +
    233  -3, -4, -3, 1, 2, 1, 0, 2, 2, -1, 0, 3, 4, 2, 3, 4, 2, 1, 2, 5, 7, 8, 9, 8, 9,
    +
    234  9, 7, 5, 5, 4, 0, -1, 4, 7, 6, 8, 8, 8, 6, 0, -2, -2, -5, -7, -5, -4, -4, -4,
    +
    235  -3, -5, -5, -4, -2, -2, -2, -1, 0, -3, -2, -3, -7, -8, -9, -10, -12, -11, -11,
    +
    236  -13, -12, -10, -8, -9, -9, -5, -8, -11, -13, -13, -12, -12, -9, -5, -4, -5, -6,
    +
    237  -4, -4, -6, -7, -9, -7, -8, -9, -10, -13, -14, -14, -13, -12, -10, -9, -10, -11,
    +
    238  -11, -13, -15, -15, -13, -9, -11, -11, -9, -10, -11, -11, -13, -13, -11, -11,
    +
    239  -14, -15, -13, -12, -11, -11, -13, -14, -12, -7, -4, -4, -5, -8, -11, -13, -16,
    +
    240  -18, -16, -15, -14, -10, -7, -8, -11, -10, -8, -8, -7, -7, -10, -12, -14, -13,
    +
    241  -12, -13, -15, -15, -14, -13, -10, -4, 0, 1, 1, 1, 1, 0, -2, -4, -4, -5, -5, -4,
    +
    242  -3, -5, -7, -8, -6, -1, 0, -2, -2, 0, 0, 1, 2, 1, -1, -2, -4, -4, -5, -4, -3,
    +
    243  -2, -3, -5, -5, -5, -6, -7, -7, -7, -7, -8, -7, -8, -9, -8, -6, -3, -4, -4, -4,
    +
    244  -5, -6, -8, -8, -9, -8, -7, -6, -5, -5, -7, -5, -1, -2, -2, 0, 1, 1, 1, 0, -2,
    +
    245  -3, -2, -1, 0, -1, -3, -3, -2, -3, -3, -2, -2, -2, -3, -1, 1, 2, 3, 3, 5, 6, 5,
    +
    246  4, 3, 2, 0, 0, -2, -4, -5, -5, -4, -3, -1, 2, 4, 5, 5, 6, 8, 8, 8, 7, 6, 5, 4,
    +
    247  2, 1, 1, 1, 1, 1, -1, -2, -2, -2, 0, 2, 3, 5, 8, 8, 7, 6, 6, 4, 2, 2, 2, 1, 0,
    +
    248  -1, -2, -4, -5, -4, -2, 0, 0, -1, -2, -2, -1, -1, 1, 1, 1, 2, 3, 4, 3, 2, 1, -2,
    +
    249  -3, -2, -2, -2, -2, -1, 0, 1, 1, 2, 3, 4, 5, 6, 6, 4, 3, 2, 2, 1, 1, 1, 0, 1, 3,
    +
    250  5, 6, 6, 5, 4, 3, 0, -1, -1, 0, 0, 1, 1, 1, 2, 3, 2, 0, 0, 1, 1, 1, 1, 1, 2, 3,
    +
    251  3, 3, 2, 1, 1, 0, 0, 0, -3, -3, -4, -5, -4, -4, -2, 0, 2, 3, 2, 2, 2, 2, 1, 0,
    +
    252  0, -1, -2, -2, -2, -2, -3, -3, -3, -3, -2, -2, -1, 0, 1, 1, 1, 0, 0, -2, -1, 0,
    +
    253  0, 1, 0, -1, -2, -2, 0, -1, -3, -3, -3, -3, -2, 0, 1, 2, 3, 3, 3, 4, 4, 4, 3, 3,
    +
    254  3, 1, 0, -1, -2, -3, -1, -1, -1, 0, 0, 0, 0, 1, 2, 4, 5, 5, 4, 3, 2, 1, 1, 1, 0,
    +
    255  0, 0, 0, 0, 0, -1, -2, -3, -2, -2, 0, 3, 5, 5, 5, 5, 4, 4, 4, 2, 1, -1, -1, 0,
    +
    256  1, 2, 2, 1, 1, 2, 4, 5, 6, 7, 6, 5, 6, 7, 7, 6, 4, 3, 2, 1, 2, 3, 2, 1, -1, -2,
    +
    257  -1, -2, -2, -1, -2, -2, -2, 0, 1, 1, 1, 2, 4, 5, 4, 3, 2, 2, 1, 0, -1, -1, -2,
    +
    258  -2, -1, 0, 1, -1, 0, 2, 1, 2, 3, 1, -1, -1, 0, -1, -1, 0, 1, 1, 0, -1, -1, -1,
    +
    259  0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 4, 4, 4, 5, 3, 3, 5, 4, 2, 2, 2, 0, -3, -1, -1,
    +
    260  0, 4, 7, 8, 10, 11, 11, 9, 8, 8, 6, 5, 6, 5, 3, 4, 2, 2, 4, 5, 9, 6, 4, 4, 2, 5,
    +
    261  7, 5, 4, 5, 4, 2, 1, 2, 3, 5, 5, 3, 5, 6, 6, 4, 3, 3, 4, 3, 2, 2, 3, 1, 1, 3, 4,
    +
    262  4, 1, -2, -1, 0, 3, 2, -1, -2, -2, -2, -2, -1, -2, -4, -4, -2, 0, 1, 0, -1, 1,
    +
    263  0, 4, 6, 5, 4, 3, 2, 1, 1, 0, -1, -4, -4, -4, -4, -2, -3, -5, -7, -6, -4, -2,
    +
    264  -2, -3, -1, -1, -4, -7, -4, -3, -4, -7, -4, -3, -5, -4, -2, -2, -4, -3, -3, -3,
    +
    265  -3, -3, -3, -3, -6, -8, -8, -5, -4, -5, -6, -8, -8, -5, -5, -5, -5, -6, -7, -6,
    +
    266  -4, -2, -2, -4, -5, -2, 0, 0, -1, -1, 1, 3, 2, -1, -1, 0, -3, -4, -3, -5, -3,
    +
    267  -1, -4, -5, -4, -4, -4, -1, 1, -3, -2, 0, -1, 1, 0, -4, -2, 0, 0, 1, -1, 2, 0,
    +
    268  -4, 1, 3, -1, -1, 0, 0, 0, 0, -3, -5, -2, -2, -3, -2, 0, 4, -1, -2, 0, -2, -3,
    +
    269  0, 0, -2, -1, 0, 0, -1, -3, -4, -1, 4, 2, 0, 2, 4, -2, -5, -1, 0, -1, -1, -2,
    +
    270  -4, -3, -4, -5, -2, -1, 0, 3, 5, 5, 2, 0, 6, 8, 1, 3, 6, 5, 5, 3, 5, 3, 2, 4, 7,
    +
    271  6, 4, 7, 6, 7, 6, 6, 6, 7, 9, 9, 10, 9, 5, 8, 14, 12, 5, 7, 11, 11, 9, 11, 12,
    +
    272  8, 8, 12, 13, 12, 10, 8, 10, 14, 11, 11, 8, 8, 12, 13, 10, 5, 7, 11, 7, 4, 4, 8,
    +
    273  11, 9, 7, 7, 6, 4, 6, 5, 4, 6, 6, 6, 5, 2, 0, 1, 3, 3, 2, 1, -2, -3, -1, -1, -2,
    +
    274  -2, -2, -4, -4, -2, -4, -5, -3, -3, -4, -3, -1, -1, -1, 0, -1, -1, 1, 1, 0, -1,
    +
    275  0, 1, -1, 0, 0, -1, -1, -2, -2, -2, -6, -3, -1, 2, 6, 3, 0, -5, -4, 2, 10, 17,
    +
    276  16, 5, -6, -11, -13, -12, -8, -6, -6, -5, -5, -5, -3, -2, -1, 2, 5, 5, 5, 5, 2,
    +
    277  0, -1, -2, -4, -6, -8, -7, -3, -6, -9, -9, -8, -5, -2, 0, -1, -1, -1, -1, -2,
    +
    278  -2, 0, 0, -1, -4, -7, -7, -6, -4, -6, -9, -8, -6, -5, -5, -3, -1, 0, -2, -7, -6,
    +
    279  -4, -1, -1, -1, -3, -7, -7, -7, -9, -9, -9, -8, -9, -11, -11, -11, -10, -8, -6,
    +
    280  -5, -6, -6, -4, -5, -7, -6, -6, -6, -5, -6, -6, -6, -6, -7, -8, -9, -8, -7, -6,
    +
    281  -7, -6, -6, -5, -6, -8, -7, -6, -6, -7, -9, -9, -7, -5, -4, -5, -5, -6, -4, -2,
    +
    282  -2, -2, -3, -2, 0, -2, -4, -3, 0, 2, 0, -1, -1, 0, 0, 0, -1, -2, 0, 1, 0, 0, 1,
    +
    283  2, 2, 2, 2, 3, 4, 6, 5, 3, 4, 5, 7, 6, 5, 5, 5, 6, 4, 2, 3, 4, 5, 4, 3, 4, 7, 7,
    +
    284  4, 1, 2, 5, 6, 4, 1, -1, -1, 0, 2, 1, -8, -9, 0, 4, 8, 9, 11, 12, 10, 8, 7, 6,
    +
    285  3, 2, 0, -3, -6, -7, -9, -10, -9, -8, -8, -7, -6, -7, -5, -3, -2, -2, -1, -1,
    +
    286  -2, -4, -6, -6, -4, -4, -5, -7, -7, -5, -4, -4, -5, -5, -4, -3, -4, -5, -4, -1,
    +
    287  0, -1, -3, -3, -3, -2, -3, -5, -5, -3, -2, -2, -3, -5, -5, -4, -4, -4, -3, -2,
    +
    288  -1, -2, -4, -4, -3, -3, -4, -3, -3, -3, -3, -3, -3, -3, -2, -3, -3, -6, -6, -4,
    +
    289  -5, -7, -8, -5, -1, 0, -1, -2, -1, 0, -1, -1, -3, -2, -1, -2, -4, -4, -3, 0, 1,
    +
    290  0, -1, 0, 1, 2, 2, 1, 0, 1, 1, 0, -1, -1, 0, 1, 0, -1, -3, -2, -1, -2, -2, -2,
    +
    291  0, 1, 0, -1, -2, 0, 4, 4, 3, 4, 6, 5, 2, 1, 0, 1, 3, 1, 0, 0, 0, 0, -1, -1, 0,
    +
    292  2, 3, 3, 3, 1, 2, 3, 2, 1, 1, 3, 3, 4, 3, 2, 3, 3, 1, 2, 2, 3, 4, 4, 4, 3, 5, 7,
    +
    293  6, 5, 4, 4, 4, 2, 0, 0, 0, 1, 1, -1, -2, -2, 1, 3, 6, 11, 13, 8, 0, -6, -7, -2,
    +
    294  3, 3, 0, -2, 0, 2, 3, 3, 3, 4, 6, 6, 5, 5, 4, 5, 5, 4, 3, 2, 1, 1, 2, 2, 3, 4,
    +
    295  3, 2, 2, 3, 5, 6, 5, 4, 4, 4, 5, 7, 8, 8, 5, 4, 3, 4, 3, 4, 4, 4, 5, 4, 4, 5, 4,
    +
    296  3, 4, 6, 7, 7, 6, 6, 6, 6, 6, 7, 7, 6, 7, 8, 8, 8, 8, 9, 8, 8, 8, 9, 8, 6, 6, 6,
    +
    297  5, 5, 7, 8, 7, 8, 9, 8, 7, 8, 8, 7, 5, 3, 3, 4, 4, 4, 4, 6, 8, 7, 5, 3, 2, 3, 2,
    +
    298  -1, -2, 0, 1, 2, 1, 0, 1, 3, 4, 2, -1, -2, -1, 1, 2, 1, 0, -1, -1, 0, 0, -2, -3,
    +
    299  -1, 0, 0, -1, -3, -5, -5, -5, -5, -4, -3, -1, 0, 3, 3, 1, -1, -3, -2, 1, 1, 1,
    +
    300  1, 0, 1, 3, 5, 5, 3, 4, 5, 5, 4, 5, 8, 4, -3, -5, -1, 1, 3, 1, -1, -2, 0, 3, 3,
    +
    301  3, 3, 5, 7, 6, 3, 2, 2, 1, 1, 0, 2, 2, 3, 4, 3, 2, 3, 4, 5, 3, 2, 2, 0, -1, -1,
    +
    302  -1, -1, 0, 0, 3, 5, 4, 5, 1, -1, 2, 2, 1, -1, -2, -2, -2, 0, 1, 4, 5, 6, 7, 6,
    +
    303  6, 6, 5, 4, 5, 6, 7, 6, 6, 6, 7, 8, 9, 10, 10, 10, 10, 11, 11, 11, 10, 9, 8, 7,
    +
    304  8, 8, 9, 8, 7, 7, 6, 6, 4, 2, 1, 1, 0, -2, -2, -3, -3, -4, -4, -4, -3, -4, -3,
    +
    305  -2, -3, -3, -3, -3, -4, -4, -3, -2, -3, -4, -5, -5, -6, -6, -4, -4, -6, -6, -5,
    +
    306  -4, -4, -3, -4, -5, -5, -3, -3, -3, -4, -5, -4, -4, -4, -4, -3, -3, -3, -4, -5,
    +
    307  -5, -5, -4, -5, -6, -5, -5, -5, -3, -3, -5, -6, -6, -5, -4, -6, -9, -10, -11,
    +
    308  -11, -10, -11, -11, -12, -11, -10, -10, -11, -12, -11, -11, -11, -11, -10, -12,
    +
    309  -12, -10, -10, -11, -12, -11, -12, -14, -13, -10, -11, -11, -11, -12, -12, -11,
    +
    310  -9, -10, -10, -9, -9, -9, -8, -8, -8, -8, -8, -10, -11, -9, -8, -8, -9, -10,
    +
    311  -11, -11, -10, -9, -8, -10, -13, -16, -11, -5, -6, -10, -10, -6, -4, -1, -5,
    +
    312  -10, -10, -8, -6, -7, -11, -13, -14, -13, -11, -12, -13, -14, -13, -12, -10, -9,
    +
    313  -10, -9, -7, -7, -8, -8, -8, -9, -7, -5, -5, -4, -3, -1, 0, 0, 2, 2, 1, 1, 1, 1,
    +
    314  0, -1, -1, -2, -3, -4, -4, -3, -2, -2, -2, -4, -5, -6, -5, -4, -4, -5, -6, -6,
    +
    315  -5, -4, -3, -3, -5, -5, -3, -2, -2, -2, -3, -3, -3, -3, -4, -4, -3, -3, -3, -4,
    +
    316  -4, -5, -5, -4, -3, -2, -2, -1, -1, -3, -3, -2, -1, 0, -2, -2, -2, -2, -2, -2,
    +
    317  -2, -3, -3, -2, 0, 0, 0, 0, -2, -3, -1, -1, -2, -2, -3, -3, -3, -2, -2, -1, 0,
    +
    318  -1, -1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, -1, -1, 0, 3, 4, 3, 3, 3, 2, 3, 4,
    +
    319  1, 0, 1, 2, 2, 0, -1, -1, 1, 2, 2, 2, 1, 2, 4, 4, 5, 6, 6, 5, 5, 6, 7, 8, 5, 3,
    +
    320  4, 4, 3, 1, 0, 0, 1, 1, 0, -2, -1, 0, 0, 0, 0, 0, -1, 0, -1, -2, -1, -1, -1, -2,
    +
    321  -1, 0, -2, -3, -4, -4, -3, -2, -3, -3, -3, -3, -4, -5, -3, -3, -3, -4, -5, -5,
    +
    322  -4, -3, -3, -4, -4, -3, -2, -2, -3, -3, -2, -1, -2, -3, -4, -3, -1, -2, -2, -2,
    +
    323  -3, -2, 0, 0, 0, 0, 1, 2, 1, 0, 0, 1, -1, -1, 0, 0, -1, 0, 0, 1, 4, 6, 7, 6, 7,
    +
    324  8, 10, 11, 11, 11, 9, 7, 6, 8, 9, 8, 8, 7, 5, 7, 10, 10, 9, 7, 6, 6, 6, 7, 6, 6,
    +
    325  5, 5, 6, 5, 4, 4, 3, 3, 3, 4, 3, 3, 3, 3, 2, 2, 1, 0, 1, 2, 3, 3, 2, 0, -1, 1,
    +
    326  1, 0, -1, -1, -2, -1, 0, 2, 1, 0, 0, 0, 1, 1, 2, 2, 0, 2, 2, 3, 3, 2, 2, 2, 3,
    +
    327  2, 3, 4, 4, 4, 3, 3, 3, 2, 3, 2, 2, 3, 3, 4, 3, 1, 2, 2, 3, 2, 2, 2, 2, 3, 4, 5,
    +
    328  3, 2, 3, 4, 5, 4, 2, 3, 3, 4, 4, 2, 1, 0, 1, 2, 2, 1, 1, 2, 3, 4, 4, 4, 4, 4, 5,
    +
    329  4, 3, 3, 3, 4, 4, 4, 5, 5, 6, 7, 7, 8, 9, 10, 11, 10, 9, 8, 8, 9, 7, 5, 6, 6, 5,
    +
    330  6, 6, 7, 7, 8, 8, 7, 7, 6, 5, 5, 5, 4, 5, 5, 5, 3, 2, 3, 3, 3, 3, 2, 1, 0, 1, 0,
    +
    331  -1, -1, -2, -1, 0, -2, -3, -2, -1, -1, -1, -2, -2, -3, -3, -4, -4, -3, -3, -3,
    +
    332  -1, -1, -1, -1, 0, 0, 0, 1, 0, 1, 1, 2, 3, 1, 1, 2, 2, 2, 2, 2, 2, 1, 3, 4, 4,
    +
    333  3, 3, 4, 2, 2, 1, 0, -1, -1, -1, 0, -1, -2, -3, -3, -4, -4, -5, -5, -6, -7, -8,
    +
    334  -6, -5, -5, -5, -5, -5, -5, -4, -4, -5, -7, -8, -6, -6, -6, -6, -7, -7, -6, -6,
    +
    335  -7, -6, -6, -6, -4, -5, -6, -5, -4, -3, -2, -3, -3, -2, -2, -1, 0, 0, 0, 0, 0,
    +
    336  1, 0, 0, -1, -1, 0, -1, -1, 0, 0, 0, 0, 0, 0, -2, -1, 0, -1, -2, -3, -3, -3, -2,
    +
    337  -2, -2, -3, -2, -1, -1, -1, -3, -4, -4, -3, -3, -4, -3, -3, -3, -1, -3, -3, -2,
    +
    338  -3, -4, -4, -3, -3, -4, -4, -4, -2, -2, -3, -3, -5, -5, -3, -3, -2, -4, -4, -3,
    +
    339  -3, -2, -3, -3, -3, -4, -3, -3, -3, -1, -1, -1, -2, -3, -2, -2, -3, -4, -2, -2,
    +
    340  -3, -1, -2, -3, -3, -3, -2, -3, -3, -1, -1, -3, 0, -1, -2, -1, -2, -2, -3, -3,
    +
    341  -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, -1, -3, -3, -2, -1, -1, -2, -3, -4, -3, -4,
    +
    342  -3, -2, -2, -2, -1, -1, -1, 0, 1, -2, -5, -3, 0, 0, 1, -1, -3, -2, -2, -2, -1,
    +
    343  -2, -4, -3, -2, -2, -1, -1, -2, -4, -4, -4, -2, -2, -2, -3, -2, -3, -3, -1, -3,
    +
    344  -3, -2, -4, -1, 0, 0, 2, 2, 1, -1, -1, 1, 1, 0, -1, -1, -1, -1, -1, -2, 0, -1,
    +
    345  -1, 1, 2, 1, -1, 1, 1, 1, 1, 1, -1, -2, 0, 2, 3, 0, -1, 0, 2, 3, 1, 2, 2, 3, 3,
    +
    346  2, 2, 2, 1, 2, 3, 4, 4, 3, 1, 1, 2, 3, 2, 2, 2, 0, 2, 3, 3, 2, 1, 2, 1, 2, 3, 2,
    +
    347  1, 0, 0, 1, 1, 1, 1, 0, -1, 1, 2, 1, 2, 1, -1, -1, -1, -1, -1, -2, -1, -1, -1,
    +
    348  -2, -1, 0, -2, -3, -2, 0, 0, -2, -2, -1, -2, -1, 0, -1, -1, -1, 1, -2, -4, -3,
    +
    349  -1, -1, -3, -3, -2, -2, -3, -3, -2, -2, -2, -4, -5, -4, -2, -1, 1, 0, -1, -1,
    +
    350  -2, -1, -3, -4, 0, 0, 0, 2, 1, 0, 1, 1, 0, -1, 0, -1, 0, 0, -1, 0, 1, 0, 1, 0,
    +
    351  2, 1, 3, 4, -1, 0, 1, 3, 1, 0, 3, 2, 3, 5, 2, 1, 4, 2, 4, 7, 4, 2, 4, 5, 6, 6,
    +
    352  6, 4, 5, 5, 6, 8, 7, 6, 6, 7, 7, 6, 7, 5, 3, 4, 5, 5, 6, 3, 2, 5, 6, 7, 5, 4, 5,
    +
    353  6, 5, 4, 3, 3, 6, 6, 4, 5, 5, 3, 4, 5, 3, 2, 2, 2, 3, 3, 3, 3, 2, 2, 3, 1, 2, 1,
    +
    354  0, 1, 1, 0, 0, 2, 1, 0, 1, 2, 0, -2, 0, 2, 2, 0, -1, -1, -1, 0, -1, -1, -2, -4,
    +
    355  -3, -2, -1, -3, -5, -4, -4, -4, -5, -4, -6, -6, -4, -4, -6, -5, -4, -5, -5, -6,
    +
    356  -7, -7, -6, -3, -4, -5, -4, -6, -6, -5, -4, -4, -5, -6, -5, -5, -4, -4, -5, -4,
    +
    357  -3, -3, -4, -4, -4, -5, -5, -6, -7, -7, -8, -7, -7, -7, -7, -7, -5, -6, -8, -7,
    +
    358  -8, -10, -11, -10, -10, -12, -12, -13, -13, -10, -13, -13, -13, -15, -12, -10,
    +
    359  -12, -13, -12, -12, -12, -10, -13, -16, -14, -13, -12, -12, -12, -12, -11, -11,
    +
    360  -10, -9, -10, -11, -10, -10, -9, -11, -12, -10, -7, -5, -14, -14, -7, -9, -9,
    +
    361  -8, -10, -11, -10, -8, -8, -8, -9, -10, -10, -7, -8, -8, -9, -10, -8, -8, -7,
    +
    362  -8, -8, -7, -7, -7, -7, -8, -7, -7, -8, -6, -6, -7, -6, -5, -4, -2, -4, -6, -4,
    +
    363  -4, -4, -3, -5, -5, -5, -4, -3, -5, -5, -5, -5, -5, -4, -5, -5, -6, -7, -6, -5,
    +
    364  -7, -7, -7, -5, -3, -5, -5, -6, -6, -6, -5, -4, -4, -5, -6, -6, -5, -5, -6, -4,
    +
    365  -5, -8, -6, -7, -7, -7, -7, -8, -8, -8, -9, -6, -4, -5, -6, -6, -5, -5, -4, -5,
    +
    366  -5, -4, -5, -5, -5, -5, -4, -4, -3, -4, -3, -2, -2, -3, -3, -2, -2, 0, 0, -1,
    +
    367  -1, -2, -1, -1, -1, -2, -3, -3, -3, -3, -2, -3, -4, -5, -3, -1, -2, -2, -2, -2,
    +
    368  -2, -3, -4, -3, -3, -3, -4, -4, -4, -3, -3, -1, 0, -1, -1, 0, 1, 1, 1, -1, -1,
    +
    369  0, 0, -1, 0, 2, 2, 2, 1, 2, 1, 2, 4, 4, 4, 3, 4, 5, 6, 6, 5, 5, 6, 7, 8, 8, 6,
    +
    370  5, 6, 8, 7, 7, 8, 7, 8, 8, 8, 9, 8, 9, 9, 9, 9, 9, 8, 9, 10, 10, 9, 9, 10, 11,
    +
    371  12, 11, 10, 9, 10, 11, 10, 9, 10, 10, 10, 11, 10, 9, 10, 9, 9, 9, 9, 8, 9, 8, 8,
    +
    372  7, 6, 6, 5, 5, 5, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 4, 3, 3, 3, 4, 5, 4, 4, 6, 6,
    +
    373  6, 5, 5, 5, 6, 6, 5, 6, 6, 7, 7, 7, 8, 8, 8, 8, 8, 7, 8, 8, 8, 7, 7, 7, 8, 9, 9,
    +
    374  8, 7, 6, 7, 7, 6, 7, 7, 5, 5, 6, 7, 7, 6, 7, 7, 6, 5, 5, 6, 7, 7, 6, 6, 6, 7, 7,
    +
    375  7, 6, 5, 5, 5, 7, 8, 7, 7, 6, 5, 6, 6, 6, 5, 4, 4, 4, 6, 7, 8, 8, 8, 8, 8, 8, 7,
    +
    376  7, 7, 7, 6, 6, 6, 6, 8, 8, 7, 6, 6, 7, 8, 8, 8, 7, 6, 6, 7, 7, 7, 7, 6, 7, 7, 7,
    +
    377  6, 6, 6, 6, 6, 6, 6, 6, 7, 8, 9, 9, 9, 8, 8, 8, 8, 8, 7, 8, 8, 8, 8, 8, 8, 9, 9,
    +
    378  9, 8, 9, 9, 9, 8, 7, 7, 8, 9, 9, 9, 9, 9, 9, 9, 8, 7, 7, 7, 7, 8, 7, 7, 7, 7, 8,
    +
    379  7, 6, 6, 5, 6, 6, 5, 5, 5, 6, 6, 5, 5, 5, 5, 6, 6, 5, 4, 3, 3, 3, 3, 3, 3, 4, 5,
    +
    380  5, 5, 5, 5, 4, 3, 4, 4, 4, 4, 3, 3, 2, 2, 2, 1, 0, 0, 1, 0, -1, -1, -1, 0, -1,
    +
    381  0, 0, -1, -2, -1, 0, -1, -1, -1, -1, 0, 0, 0, -1, -2, -1, -1, 0, 0, 0, 0, 0, 1,
    +
    382  1, 1, 2, 2, 2, 2, 1, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -2, -2, -2, -2, -3,
    +
    383  -4, -5, -6, -5, -5, -6, -6, -7, -7, -6, -6, -7, -8, -8, -8, -8, -7, -7, -8, -9,
    +
    384  -9, -9, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -7, -7, -7, -7, -6, -5, -4,
    +
    385  -5, -6, -5, -5, -5, -5, -5, -5, -6, -5, -5, -4, -4, -4, -5, -5, -5, -4, -4, -4,
    +
    386  -5, -6, -6, -5, -4, -4, -4, -4, -4, -4, -3, -3, -3, -3, -3, -3, -3, -3, -4, -3,
    +
    387  -2, -1, -2, -2, -3, -4, -3, -3, -3, -4, -4, -4, -4, -3, -2, -2, -2, -2, -1, 1,
    +
    388  1, 0, -1, -1, -1, 0, 0, -1, -1, -1, -1, -1, -2, -2, -2, -1, -1, -1, -2, -2, -1,
    +
    389  0, 1, 1, 0, 0, -1, 0, 1, 1, 0, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1,
    +
    390  1, 0, 1, 1, 1, 1, 1, 0, 1, 2, 3, 2, 1, 1, 0, 1, 3, 2, 2, 2, 1, 2, 2, 2, 3, 2, 2,
    +
    391  1, 1, 1, 2, 3, 0, 1, 1, 0, 1, 1, 3, 3, 0, 1, 0, -1, 0, -2, 0, 0, -1, 0, 0, 0, 1,
    +
    392  0, 1, 1, 0, 2, 3, 3, 3, 3, 3, 2, 3, 4, 3, 2, 4, 4, 5, 5, 5, 4, 4, 3, 2, 2, 2, 3,
    +
    393  4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5, 3, 0, 2, 5, 3, 2, 3, 3, 3, 4, 4,
    +
    394  3, 2, 1, 2, 3, 2, 1, 0, 0, 2, 3, 3, 3, 1, 1, 1, 0, 1, 0, -1, -1, -2, 0, 0, 0, 1,
    +
    395  0, 0, 0, -1, -2, -1, -2, -2, -2, -3, -3, -2, -2, -1, -2, -2, -2, -2, -1, 0, -1,
    +
    396  -1, -2, -1, -1, 0, -1, -1, -1, -1, -1, 0, -1, -2, -3, -2, -1, -1, 0, -1, 0, 1,
    +
    397  0, 0, -2, -2, -1, -3, -4, -4, -3, 0, 3, 5, 2, -1, 0, -1, -1, -2, -3, -2, -2, 0,
    +
    398  0, -1, -1, -1, -1, -1, -2, -3, -3, -2, -2, -2, -1, -2, -2, 0, 0, 0, 0, -1, 0, 0,
    +
    399  0, 0, -1, -2, -1, -1, 0, 1, 0, 0, 1, 1, 2, 3, 1, 1, 2, 2, 3, 3, 3, 3, 3, 4, 7,
    +
    400  7, 6, 6, 5, 4, 4, 5, 5, 4, 5, 6, 5, 6, 6, 7, 7, 8, 8, 8, 7, 6, 6, 7, 7, 7, 7, 6,
    +
    401  };
    +
    402 
    +
    403 #endif /* HORSE_LIPS_8192_H_ */
    +
    +
    + + diff --git a/doc/html/index.html b/doc/html/index.html index a1a9213aa..86170af46 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -3,46 +3,44 @@ + Mozzi: Welcome - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,13 +68,27 @@
  • +
    +
    + +
    +
    + +
    @@ -92,27 +104,27 @@

    The latest version of Mozzi and this documentation are at the Mozzi home page.

    Here's a brief description of each section of this documentation:

    -

    -Modules

    +

    +Modules

    Fixed point number types, macros and functions for fast fractional maths.

    Mozzi core definitions and functions, which are used in every Mozzi sketch.

    Utility functions which are generally useful, including midi note to frequency conversion, efficient asynchronous analog input and random functions.

    -

    -Classes

    +

    +Classes

    The Classes used to generate control and audio signals.

    -

    -Files

    -

    Files includes ready-to-use wave tables and samples which are in the Mozzi/tables and Mozzi/samples folders. See the sample files themselves for documentation.

    -

    You can also convert your own sounds from a program like Audacity to tables for Mozzi with a script called char2mozzi.py, in Mozzi/python.

    -

    Read the char2mozzi.py file for instructions.

    +

    +Soundtables

    +

    Includes ready-to-use wave tables and a few example samples which are in the Mozzi/tables and Mozzi/samples folders.

    +

    You can convert your own sounds from a program like Audacity to tables for Mozzi with a script called char2mozzi.py, in Mozzi/python. Read the char2mozzi.py file for instructions.

    - - - - +
    + + diff --git a/doc/html/jquery.js b/doc/html/jquery.js index 90b3a2bc3..3db33e62d 100644 --- a/doc/html/jquery.js +++ b/doc/html/jquery.js @@ -1,64 +1,72 @@ -/* - * jQuery JavaScript Library v1.3.2 +/*! + * jQuery JavaScript Library v1.7.1 * http://jquery.com/ * - * Copyright (c) 2009 John Resig - * Dual licensed under the MIT and GPL licenses. - * http://docs.jquery.com/License + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. * - * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009) - * Revision: 6246 + * Date: Mon Nov 21 21:11:03 2011 -0500 */ -(function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,f=/^.[^:#\[\.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E==="string"){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]);if(I&&I.id!=G[3]){return o().find(E)}var F=o(I||[]);F.context=document;F.selector=E;return F}}else{return o(H).find(E)}}else{if(o.isFunction(E)){return o(document).ready(E)}}if(E.selector&&E.context){this.selector=E.selector;this.context=E.context}return this.setArray(o.isArray(E)?E:o.makeArray(E))},selector:"",jquery:"1.3.2",size:function(){return this.length},get:function(E){return E===g?Array.prototype.slice.call(this):this[E]},pushStack:function(F,H,E){var G=o(F);G.prevObject=this;G.context=this.context;if(H==="find"){G.selector=this.selector+(this.selector?" ":"")+E}else{if(H){G.selector=this.selector+"."+H+"("+E+")"}}return G},setArray:function(E){this.length=0;Array.prototype.push.apply(this,E);return this},each:function(F,E){return o.each(this,F,E)},index:function(E){return o.inArray(E&&E.jquery?E[0]:E,this)},attr:function(F,H,G){var E=F;if(typeof F==="string"){if(H===g){return this[0]&&o[G||"attr"](this[0],F)}else{E={};E[F]=H}}return this.each(function(I){for(F in E){o.attr(G?this.style:this,F,o.prop(this,E[F],G,I,F))}})},css:function(E,F){if((E=="width"||E=="height")&&parseFloat(F)<0){F=g}return this.attr(E,F,"curCSS")},text:function(F){if(typeof F!=="object"&&F!=null){return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(F))}var E="";o.each(F||this,function(){o.each(this.childNodes,function(){if(this.nodeType!=8){E+=this.nodeType!=1?this.nodeValue:o.fn.text([this])}})});return E},wrapAll:function(E){if(this[0]){var F=o(E,this[0].ownerDocument).clone();if(this[0].parentNode){F.insertBefore(this[0])}F.map(function(){var G=this;while(G.firstChild){G=G.firstChild}return G}).append(this)}return this},wrapInner:function(E){return this.each(function(){o(this).contents().wrapAll(E)})},wrap:function(E){return this.each(function(){o(this).wrapAll(E)})},append:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.appendChild(E)}})},prepend:function(){return this.domManip(arguments,true,function(E){if(this.nodeType==1){this.insertBefore(E,this.firstChild)}})},before:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this)})},after:function(){return this.domManip(arguments,false,function(E){this.parentNode.insertBefore(E,this.nextSibling)})},end:function(){return this.prevObject||o([])},push:[].push,sort:[].sort,splice:[].splice,find:function(E){if(this.length===1){var F=this.pushStack([],"find",E);F.length=0;o.find(E,this[0],F);return F}else{return this.pushStack(o.unique(o.map(this,function(G){return o.find(E,G)})),"find",E)}},clone:function(G){var E=this.map(function(){if(!o.support.noCloneEvent&&!o.isXMLDoc(this)){var I=this.outerHTML;if(!I){var J=this.ownerDocument.createElement("div");J.appendChild(this.cloneNode(true));I=J.innerHTML}return o.clean([I.replace(/ jQuery\d+="(?:\d+|null)"/g,"").replace(/^\s*/,"")])[0]}else{return this.cloneNode(true)}});if(G===true){var H=this.find("*").andSelf(),F=0;E.find("*").andSelf().each(function(){if(this.nodeName!==H[F].nodeName){return}var I=o.data(H[F],"events");for(var K in I){for(var J in I[K]){o.event.add(this,K,I[K][J],I[K][J].data)}}F++})}return E},filter:function(E){return this.pushStack(o.isFunction(E)&&o.grep(this,function(G,F){return E.call(G,F)})||o.multiFilter(E,o.grep(this,function(F){return F.nodeType===1})),"filter",E)},closest:function(E){var G=o.expr.match.POS.test(E)?o(E):null,F=0;return this.map(function(){var H=this;while(H&&H.ownerDocument){if(G?G.index(H)>-1:o(H).is(E)){o.data(H,"closest",F);return H}H=H.parentNode;F++}})},not:function(E){if(typeof E==="string"){if(f.test(E)){return this.pushStack(o.multiFilter(E,this,true),"not",E)}else{E=o.multiFilter(E,this)}}var F=E.length&&E[E.length-1]!==g&&!E.nodeType;return this.filter(function(){return F?o.inArray(this,E)<0:this!=E})},add:function(E){return this.pushStack(o.unique(o.merge(this.get(),typeof E==="string"?o(E):o.makeArray(E))))},is:function(E){return !!E&&o.multiFilter(E,this).length>0},hasClass:function(E){return !!E&&this.is("."+E)},val:function(K){if(K===g){var E=this[0];if(E){if(o.nodeName(E,"option")){return(E.attributes.value||{}).specified?E.value:E.text}if(o.nodeName(E,"select")){var I=E.selectedIndex,L=[],M=E.options,H=E.type=="select-one";if(I<0){return null}for(var F=H?I:0,J=H?I+1:M.length;F=0||o.inArray(this.name,K)>=0)}else{if(o.nodeName(this,"select")){var N=o.makeArray(K);o("option",this).each(function(){this.selected=(o.inArray(this.value,N)>=0||o.inArray(this.text,N)>=0)});if(!N.length){this.selectedIndex=-1}}else{this.value=K}}})},html:function(E){return E===g?(this[0]?this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,""):null):this.empty().append(E)},replaceWith:function(E){return this.after(E).remove()},eq:function(E){return this.slice(E,+E+1)},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments),"slice",Array.prototype.slice.call(arguments).join(","))},map:function(E){return this.pushStack(o.map(this,function(G,F){return E.call(G,F,G)}))},andSelf:function(){return this.add(this.prevObject)},domManip:function(J,M,L){if(this[0]){var I=(this[0].ownerDocument||this[0]).createDocumentFragment(),F=o.clean(J,(this[0].ownerDocument||this[0]),I),H=I.firstChild;if(H){for(var G=0,E=this.length;G1||G>0?I.cloneNode(true):I)}}if(F){o.each(F,z)}}return this;function K(N,O){return M&&o.nodeName(N,"table")&&o.nodeName(O,"tr")?(N.getElementsByTagName("tbody")[0]||N.appendChild(N.ownerDocument.createElement("tbody"))):N}}};o.fn.init.prototype=o.fn;function z(E,F){if(F.src){o.ajax({url:F.src,async:false,dataType:"script"})}else{o.globalEval(F.text||F.textContent||F.innerHTML||"")}if(F.parentNode){F.parentNode.removeChild(F)}}function e(){return +new Date}o.extend=o.fn.extend=function(){var J=arguments[0]||{},H=1,I=arguments.length,E=false,G;if(typeof J==="boolean"){E=J;J=arguments[1]||{};H=2}if(typeof J!=="object"&&!o.isFunction(J)){J={}}if(I==H){J=this;--H}for(;H-1}},swap:function(H,G,I){var E={};for(var F in G){E[F]=H.style[F];H.style[F]=G[F]}I.call(H);for(var F in G){H.style[F]=E[F]}},css:function(H,F,J,E){if(F=="width"||F=="height"){var L,G={position:"absolute",visibility:"hidden",display:"block"},K=F=="width"?["Left","Right"]:["Top","Bottom"];function I(){L=F=="width"?H.offsetWidth:H.offsetHeight;if(E==="border"){return}o.each(K,function(){if(!E){L-=parseFloat(o.curCSS(H,"padding"+this,true))||0}if(E==="margin"){L+=parseFloat(o.curCSS(H,"margin"+this,true))||0}else{L-=parseFloat(o.curCSS(H,"border"+this+"Width",true))||0}})}if(H.offsetWidth!==0){I()}else{o.swap(H,G,I)}return Math.max(0,Math.round(L))}return o.curCSS(H,F,J)},curCSS:function(I,F,G){var L,E=I.style;if(F=="opacity"&&!o.support.opacity){L=o.attr(E,"opacity");return L==""?"1":L}if(F.match(/float/i)){F=w}if(!G&&E&&E[F]){L=E[F]}else{if(q.getComputedStyle){if(F.match(/float/i)){F="float"}F=F.replace(/([A-Z])/g,"-$1").toLowerCase();var M=q.getComputedStyle(I,null);if(M){L=M.getPropertyValue(F)}if(F=="opacity"&&L==""){L="1"}}else{if(I.currentStyle){var J=F.replace(/\-(\w)/g,function(N,O){return O.toUpperCase()});L=I.currentStyle[F]||I.currentStyle[J];if(!/^\d+(px)?$/i.test(L)&&/^\d/.test(L)){var H=E.left,K=I.runtimeStyle.left;I.runtimeStyle.left=I.currentStyle.left;E.left=L||0;L=E.pixelLeft+"px";E.left=H;I.runtimeStyle.left=K}}}}return L},clean:function(F,K,I){K=K||document;if(typeof K.createElement==="undefined"){K=K.ownerDocument||K[0]&&K[0].ownerDocument||document}if(!I&&F.length===1&&typeof F[0]==="string"){var H=/^<(\w+)\s*\/?>$/.exec(F[0]);if(H){return[K.createElement(H[1])]}}var G=[],E=[],L=K.createElement("div");o.each(F,function(P,S){if(typeof S==="number"){S+=""}if(!S){return}if(typeof S==="string"){S=S.replace(/(<(\w+)[^>]*?)\/>/g,function(U,V,T){return T.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?U:V+">"});var O=S.replace(/^\s+/,"").substring(0,10).toLowerCase();var Q=!O.indexOf("",""]||!O.indexOf("",""]||O.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"","
    "]||!O.indexOf("",""]||(!O.indexOf("",""]||!O.indexOf("",""]||!o.support.htmlSerialize&&[1,"div
    ","
    "]||[0,"",""];L.innerHTML=Q[1]+S+Q[2];while(Q[0]--){L=L.lastChild}if(!o.support.tbody){var R=/"&&!R?L.childNodes:[];for(var M=N.length-1;M>=0;--M){if(o.nodeName(N[M],"tbody")&&!N[M].childNodes.length){N[M].parentNode.removeChild(N[M])}}}if(!o.support.leadingWhitespace&&/^\s/.test(S)){L.insertBefore(K.createTextNode(S.match(/^\s*/)[0]),L.firstChild)}S=o.makeArray(L.childNodes)}if(S.nodeType){G.push(S)}else{G=o.merge(G,S)}});if(I){for(var J=0;G[J];J++){if(o.nodeName(G[J],"script")&&(!G[J].type||G[J].type.toLowerCase()==="text/javascript")){E.push(G[J].parentNode?G[J].parentNode.removeChild(G[J]):G[J])}else{if(G[J].nodeType===1){G.splice.apply(G,[J+1,0].concat(o.makeArray(G[J].getElementsByTagName("script"))))}I.appendChild(G[J])}}return E}return G},attr:function(J,G,K){if(!J||J.nodeType==3||J.nodeType==8){return g}var H=!o.isXMLDoc(J),L=K!==g;G=H&&o.props[G]||G;if(J.tagName){var F=/href|src|style/.test(G);if(G=="selected"&&J.parentNode){J.parentNode.selectedIndex}if(G in J&&H&&!F){if(L){if(G=="type"&&o.nodeName(J,"input")&&J.parentNode){throw"type property can't be changed"}J[G]=K}if(o.nodeName(J,"form")&&J.getAttributeNode(G)){return J.getAttributeNode(G).nodeValue}if(G=="tabIndex"){var I=J.getAttributeNode("tabIndex");return I&&I.specified?I.value:J.nodeName.match(/(button|input|object|select|textarea)/i)?0:J.nodeName.match(/^(a|area)$/i)&&J.href?0:g}return J[G]}if(!o.support.style&&H&&G=="style"){return o.attr(J.style,"cssText",K)}if(L){J.setAttribute(G,""+K)}var E=!o.support.hrefNormalized&&H&&F?J.getAttribute(G,2):J.getAttribute(G);return E===null?g:E}if(!o.support.opacity&&G=="opacity"){if(L){J.zoom=1;J.filter=(J.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(K)+""=="NaN"?"":"alpha(opacity="+K*100+")")}return J.filter&&J.filter.indexOf("opacity=")>=0?(parseFloat(J.filter.match(/opacity=([^)]*)/)[1])/100)+"":""}G=G.replace(/-([a-z])/ig,function(M,N){return N.toUpperCase()});if(L){J[G]=K}return J[G]},trim:function(E){return(E||"").replace(/^\s+|\s+$/g,"")},makeArray:function(G){var E=[];if(G!=null){var F=G.length;if(F==null||typeof G==="string"||o.isFunction(G)||G.setInterval){E[0]=G}else{while(F){E[--F]=G[F]}}}return E},inArray:function(G,H){for(var E=0,F=H.length;E0?this.clone(true):this).get();o.fn[F].apply(o(L[K]),I);J=J.concat(I)}return this.pushStack(J,E,G)}});o.each({removeAttr:function(E){o.attr(this,E,"");if(this.nodeType==1){this.removeAttribute(E)}},addClass:function(E){o.className.add(this,E)},removeClass:function(E){o.className.remove(this,E)},toggleClass:function(F,E){if(typeof E!=="boolean"){E=!o.className.has(this,F)}o.className[E?"add":"remove"](this,F)},remove:function(E){if(!E||o.filter(E,[this]).length){o("*",this).add([this]).each(function(){o.event.remove(this);o.removeData(this)});if(this.parentNode){this.parentNode.removeChild(this)}}},empty:function(){o(this).children().remove();while(this.firstChild){this.removeChild(this.firstChild)}}},function(E,F){o.fn[E]=function(){return this.each(F,arguments)}});function j(E,F){return E[0]&&parseInt(o.curCSS(E[0],F,true),10)||0}var h="jQuery"+e(),v=0,A={};o.extend({cache:{},data:function(F,E,G){F=F==l?A:F;var H=F[h];if(!H){H=F[h]=++v}if(E&&!o.cache[H]){o.cache[H]={}}if(G!==g){o.cache[H][E]=G}return E?o.cache[H][E]:H},removeData:function(F,E){F=F==l?A:F;var H=F[h];if(E){if(o.cache[H]){delete o.cache[H][E];E="";for(E in o.cache[H]){break}if(!E){o.removeData(F)}}}else{try{delete F[h]}catch(G){if(F.removeAttribute){F.removeAttribute(h)}}delete o.cache[H]}},queue:function(F,E,H){if(F){E=(E||"fx")+"queue";var G=o.data(F,E);if(!G||o.isArray(H)){G=o.data(F,E,o.makeArray(H))}else{if(H){G.push(H)}}}return G},dequeue:function(H,G){var E=o.queue(H,G),F=E.shift();if(!G||G==="fx"){F=E[0]}if(F!==g){F.call(H)}}});o.fn.extend({data:function(E,G){var H=E.split(".");H[1]=H[1]?"."+H[1]:"";if(G===g){var F=this.triggerHandler("getData"+H[1]+"!",[H[0]]);if(F===g&&this.length){F=o.data(this[0],E)}return F===g&&H[1]?this.data(H[0]):F}else{return this.trigger("setData"+H[1]+"!",[H[0],G]).each(function(){o.data(this,E,G)})}},removeData:function(E){return this.each(function(){o.removeData(this,E)})},queue:function(E,F){if(typeof E!=="string"){F=E;E="fx"}if(F===g){return o.queue(this[0],E)}return this.each(function(){var G=o.queue(this,E,F);if(E=="fx"&&G.length==1){G[0].call(this)}})},dequeue:function(E){return this.each(function(){o.dequeue(this,E)})}}); -/* - * Sizzle CSS Selector Engine - v0.9.3 - * Copyright 2009, The Dojo Foundation +(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b40){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b40&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b21?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv
    a";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="
    ";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="
    t
    ";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="
    ";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType; +if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bCbA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}}); +/*! + * Sizzle CSS Selector Engine + * Copyright 2011, The Dojo Foundation * Released under the MIT, BSD, and GPL Licenses. * More information: http://sizzlejs.com/ */ -(function(){var R=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,L=0,H=Object.prototype.toString;var F=function(Y,U,ab,ac){ab=ab||[];U=U||document;if(U.nodeType!==1&&U.nodeType!==9){return[]}if(!Y||typeof Y!=="string"){return ab}var Z=[],W,af,ai,T,ad,V,X=true;R.lastIndex=0;while((W=R.exec(Y))!==null){Z.push(W[1]);if(W[2]){V=RegExp.rightContext;break}}if(Z.length>1&&M.exec(Y)){if(Z.length===2&&I.relative[Z[0]]){af=J(Z[0]+Z[1],U)}else{af=I.relative[Z[0]]?[U]:F(Z.shift(),U);while(Z.length){Y=Z.shift();if(I.relative[Y]){Y+=Z.shift()}af=J(Y,af)}}}else{var ae=ac?{expr:Z.pop(),set:E(ac)}:F.find(Z.pop(),Z.length===1&&U.parentNode?U.parentNode:U,Q(U));af=F.filter(ae.expr,ae.set);if(Z.length>0){ai=E(af)}else{X=false}while(Z.length){var ah=Z.pop(),ag=ah;if(!I.relative[ah]){ah=""}else{ag=Z.pop()}if(ag==null){ag=U}I.relative[ah](ai,ag,Q(U))}}if(!ai){ai=af}if(!ai){throw"Syntax error, unrecognized expression: "+(ah||Y)}if(H.call(ai)==="[object Array]"){if(!X){ab.push.apply(ab,ai)}else{if(U.nodeType===1){for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&(ai[aa]===true||ai[aa].nodeType===1&&K(U,ai[aa]))){ab.push(af[aa])}}}else{for(var aa=0;ai[aa]!=null;aa++){if(ai[aa]&&ai[aa].nodeType===1){ab.push(af[aa])}}}}}else{E(ai,ab)}if(V){F(V,U,ab,ac);if(G){hasDuplicate=false;ab.sort(G);if(hasDuplicate){for(var aa=1;aa":function(Z,U,aa){var X=typeof U==="string";if(X&&!/\W/.test(U)){U=aa?U:U.toUpperCase();for(var V=0,T=Z.length;V=0)){if(!V){T.push(Y)}}else{if(V){U[X]=false}}}}return false},ID:function(T){return T[1].replace(/\\/g,"")},TAG:function(U,T){for(var V=0;T[V]===false;V++){}return T[V]&&Q(T[V])?U[1]:U[1].toUpperCase()},CHILD:function(T){if(T[1]=="nth"){var U=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(T[2]=="even"&&"2n"||T[2]=="odd"&&"2n+1"||!/\D/.test(T[2])&&"0n+"+T[2]||T[2]);T[2]=(U[1]+(U[2]||1))-0;T[3]=U[3]-0}T[0]=L++;return T},ATTR:function(X,U,V,T,Y,Z){var W=X[1].replace(/\\/g,"");if(!Z&&I.attrMap[W]){X[1]=I.attrMap[W]}if(X[2]==="~="){X[4]=" "+X[4]+" "}return X},PSEUDO:function(X,U,V,T,Y){if(X[1]==="not"){if(X[3].match(R).length>1||/^\w/.test(X[3])){X[3]=F(X[3],null,null,U)}else{var W=F.filter(X[3],U,V,true^Y);if(!V){T.push.apply(T,W)}return false}}else{if(I.match.POS.test(X[0])||I.match.CHILD.test(X[0])){return true}}return X},POS:function(T){T.unshift(true);return T}},filters:{enabled:function(T){return T.disabled===false&&T.type!=="hidden"},disabled:function(T){return T.disabled===true},checked:function(T){return T.checked===true},selected:function(T){T.parentNode.selectedIndex;return T.selected===true},parent:function(T){return !!T.firstChild},empty:function(T){return !T.firstChild},has:function(V,U,T){return !!F(T[3],V).length},header:function(T){return/h\d/i.test(T.nodeName)},text:function(T){return"text"===T.type},radio:function(T){return"radio"===T.type},checkbox:function(T){return"checkbox"===T.type},file:function(T){return"file"===T.type},password:function(T){return"password"===T.type},submit:function(T){return"submit"===T.type},image:function(T){return"image"===T.type},reset:function(T){return"reset"===T.type},button:function(T){return"button"===T.type||T.nodeName.toUpperCase()==="BUTTON"},input:function(T){return/input|select|textarea|button/i.test(T.nodeName)}},setFilters:{first:function(U,T){return T===0},last:function(V,U,T,W){return U===W.length-1},even:function(U,T){return T%2===0},odd:function(U,T){return T%2===1},lt:function(V,U,T){return UT[3]-0},nth:function(V,U,T){return T[3]-0==U},eq:function(V,U,T){return T[3]-0==U}},filter:{PSEUDO:function(Z,V,W,aa){var U=V[1],X=I.filters[U];if(X){return X(Z,W,V,aa)}else{if(U==="contains"){return(Z.textContent||Z.innerText||"").indexOf(V[3])>=0}else{if(U==="not"){var Y=V[3];for(var W=0,T=Y.length;W=0)}}},ID:function(U,T){return U.nodeType===1&&U.getAttribute("id")===T},TAG:function(U,T){return(T==="*"&&U.nodeType===1)||U.nodeName===T},CLASS:function(U,T){return(" "+(U.className||U.getAttribute("class"))+" ").indexOf(T)>-1},ATTR:function(Y,W){var V=W[1],T=I.attrHandle[V]?I.attrHandle[V](Y):Y[V]!=null?Y[V]:Y.getAttribute(V),Z=T+"",X=W[2],U=W[4];return T==null?X==="!=":X==="="?Z===U:X==="*="?Z.indexOf(U)>=0:X==="~="?(" "+Z+" ").indexOf(U)>=0:!U?Z&&T!==false:X==="!="?Z!=U:X==="^="?Z.indexOf(U)===0:X==="$="?Z.substr(Z.length-U.length)===U:X==="|="?Z===U||Z.substr(0,U.length+1)===U+"-":false},POS:function(X,U,V,Y){var T=U[2],W=I.setFilters[T];if(W){return W(X,V,U,Y)}}}};var M=I.match.POS;for(var O in I.match){I.match[O]=RegExp(I.match[O].source+/(?![^\[]*\])(?![^\(]*\))/.source)}var E=function(U,T){U=Array.prototype.slice.call(U);if(T){T.push.apply(T,U);return T}return U};try{Array.prototype.slice.call(document.documentElement.childNodes)}catch(N){E=function(X,W){var U=W||[];if(H.call(X)==="[object Array]"){Array.prototype.push.apply(U,X)}else{if(typeof X.length==="number"){for(var V=0,T=X.length;V";var T=document.documentElement;T.insertBefore(U,T.firstChild);if(!!document.getElementById(V)){I.find.ID=function(X,Y,Z){if(typeof Y.getElementById!=="undefined"&&!Z){var W=Y.getElementById(X[1]);return W?W.id===X[1]||typeof W.getAttributeNode!=="undefined"&&W.getAttributeNode("id").nodeValue===X[1]?[W]:g:[]}};I.filter.ID=function(Y,W){var X=typeof Y.getAttributeNode!=="undefined"&&Y.getAttributeNode("id");return Y.nodeType===1&&X&&X.nodeValue===W}}T.removeChild(U)})();(function(){var T=document.createElement("div");T.appendChild(document.createComment(""));if(T.getElementsByTagName("*").length>0){I.find.TAG=function(U,Y){var X=Y.getElementsByTagName(U[1]);if(U[1]==="*"){var W=[];for(var V=0;X[V];V++){if(X[V].nodeType===1){W.push(X[V])}}X=W}return X}}T.innerHTML="";if(T.firstChild&&typeof T.firstChild.getAttribute!=="undefined"&&T.firstChild.getAttribute("href")!=="#"){I.attrHandle.href=function(U){return U.getAttribute("href",2)}}})();if(document.querySelectorAll){(function(){var T=F,U=document.createElement("div");U.innerHTML="

    ";if(U.querySelectorAll&&U.querySelectorAll(".TEST").length===0){return}F=function(Y,X,V,W){X=X||document;if(!W&&X.nodeType===9&&!Q(X)){try{return E(X.querySelectorAll(Y),V)}catch(Z){}}return T(Y,X,V,W)};F.find=T.find;F.filter=T.filter;F.selectors=T.selectors;F.matches=T.matches})()}if(document.getElementsByClassName&&document.documentElement.getElementsByClassName){(function(){var T=document.createElement("div");T.innerHTML="
    ";if(T.getElementsByClassName("e").length===0){return}T.lastChild.className="e";if(T.getElementsByClassName("e").length===1){return}I.order.splice(1,0,"CLASS");I.find.CLASS=function(U,V,W){if(typeof V.getElementsByClassName!=="undefined"&&!W){return V.getElementsByClassName(U[1])}}})()}function P(U,Z,Y,ad,aa,ac){var ab=U=="previousSibling"&&!ac;for(var W=0,V=ad.length;W0){X=T;break}}}T=T[U]}ad[W]=X}}}var K=document.compareDocumentPosition?function(U,T){return U.compareDocumentPosition(T)&16}:function(U,T){return U!==T&&(U.contains?U.contains(T):true)};var Q=function(T){return T.nodeType===9&&T.documentElement.nodeName!=="HTML"||!!T.ownerDocument&&Q(T.ownerDocument)};var J=function(T,aa){var W=[],X="",Y,V=aa.nodeType?[aa]:aa;while((Y=I.match.PSEUDO.exec(T))){X+=Y[0];T=T.replace(I.match.PSEUDO,"")}T=I.relative[T]?T+"*":T;for(var Z=0,U=V.length;Z0||T.offsetHeight>0};F.selectors.filters.animated=function(T){return o.grep(o.timers,function(U){return T===U.elem}).length};o.multiFilter=function(V,T,U){if(U){V=":not("+V+")"}return F.matches(V,T)};o.dir=function(V,U){var T=[],W=V[U];while(W&&W!=document){if(W.nodeType==1){T.push(W)}W=W[U]}return T};o.nth=function(X,T,V,W){T=T||1;var U=0;for(;X;X=X[V]){if(X.nodeType==1&&++U==T){break}}return X};o.sibling=function(V,U){var T=[];for(;V;V=V.nextSibling){if(V.nodeType==1&&V!=U){T.push(V)}}return T};return;l.Sizzle=F})();o.event={add:function(I,F,H,K){if(I.nodeType==3||I.nodeType==8){return}if(I.setInterval&&I!=l){I=l}if(!H.guid){H.guid=this.guid++}if(K!==g){var G=H;H=this.proxy(G);H.data=K}var E=o.data(I,"events")||o.data(I,"events",{}),J=o.data(I,"handle")||o.data(I,"handle",function(){return typeof o!=="undefined"&&!o.event.triggered?o.event.handle.apply(arguments.callee.elem,arguments):g});J.elem=I;o.each(F.split(/\s+/),function(M,N){var O=N.split(".");N=O.shift();H.type=O.slice().sort().join(".");var L=E[N];if(o.event.specialAll[N]){o.event.specialAll[N].setup.call(I,K,O)}if(!L){L=E[N]={};if(!o.event.special[N]||o.event.special[N].setup.call(I,K,O)===false){if(I.addEventListener){I.addEventListener(N,J,false)}else{if(I.attachEvent){I.attachEvent("on"+N,J)}}}}L[H.guid]=H;o.event.global[N]=true});I=null},guid:1,global:{},remove:function(K,H,J){if(K.nodeType==3||K.nodeType==8){return}var G=o.data(K,"events"),F,E;if(G){if(H===g||(typeof H==="string"&&H.charAt(0)==".")){for(var I in G){this.remove(K,I+(H||""))}}else{if(H.type){J=H.handler;H=H.type}o.each(H.split(/\s+/),function(M,O){var Q=O.split(".");O=Q.shift();var N=RegExp("(^|\\.)"+Q.slice().sort().join(".*\\.")+"(\\.|$)");if(G[O]){if(J){delete G[O][J.guid]}else{for(var P in G[O]){if(N.test(G[O][P].type)){delete G[O][P]}}}if(o.event.specialAll[O]){o.event.specialAll[O].teardown.call(K,Q)}for(F in G[O]){break}if(!F){if(!o.event.special[O]||o.event.special[O].teardown.call(K,Q)===false){if(K.removeEventListener){K.removeEventListener(O,o.data(K,"handle"),false)}else{if(K.detachEvent){K.detachEvent("on"+O,o.data(K,"handle"))}}}F=null;delete G[O]}}})}for(F in G){break}if(!F){var L=o.data(K,"handle");if(L){L.elem=null}o.removeData(K,"events");o.removeData(K,"handle")}}},trigger:function(I,K,H,E){var G=I.type||I;if(!E){I=typeof I==="object"?I[h]?I:o.extend(o.Event(G),I):o.Event(G);if(G.indexOf("!")>=0) -{I.type=G=G.slice(0,-1);I.exclusive=true}if(!H){I.stopPropagation();if(this.global[G]){o.each(o.cache,function(){if(this.events&&this.events[G]){o.event.trigger(I,K,this.handle.elem)}})}}if(!H||H.nodeType==3||H.nodeType==8){return g}I.result=g;I.target=H;K=o.makeArray(K);K.unshift(I)}I.currentTarget=H;var J=o.data(H,"handle");if(J){J.apply(H,K)}if((!H[G]||(o.nodeName(H,"a")&&G=="click"))&&H["on"+G]&&H["on"+G].apply(H,K)===false){I.result=false}if(!E&&H[G]&&!I.isDefaultPrevented()&&!(o.nodeName(H,"a")&&G=="click")){this.triggered=true;try{H[G]()}catch(L){}}this.triggered=false;if(!I.isPropagationStopped()){var F=H.parentNode||H.ownerDocument;if(F){o.event.trigger(I,K,F,true)}}},handle:function(K){var J,E;K=arguments[0]=o.event.fix(K||l.event);K.currentTarget=this;var L=K.type.split(".");K.type=L.shift();J=!L.length&&!K.exclusive;var I=RegExp("(^|\\.)"+L.slice().sort().join(".*\\.")+"(\\.|$)");E=(o.data(this,"events")||{})[K.type];for(var G in E){var H=E[G];if(J||I.test(H.type)){K.handler=H;K.data=H.data;var F=H.apply(this,arguments);if(F!==g){K.result=F;if(F===false){K.preventDefault();K.stopPropagation()}}if(K.isImmediatePropagationStopped()){break}}}},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(H){if(H[h]){return H}var F=H;H=o.Event(F);for(var G=this.props.length,J;G;){J=this.props[--G];H[J]=F[J]}if(!H.target){H.target=H.srcElement||document}if(H.target.nodeType==3){H.target=H.target.parentNode}if(!H.relatedTarget&&H.fromElement){H.relatedTarget=H.fromElement==H.target?H.toElement:H.fromElement}if(H.pageX==null&&H.clientX!=null){var I=document.documentElement,E=document.body;H.pageX=H.clientX+(I&&I.scrollLeft||E&&E.scrollLeft||0)-(I.clientLeft||0);H.pageY=H.clientY+(I&&I.scrollTop||E&&E.scrollTop||0)-(I.clientTop||0)}if(!H.which&&((H.charCode||H.charCode===0)?H.charCode:H.keyCode)){H.which=H.charCode||H.keyCode}if(!H.metaKey&&H.ctrlKey){H.metaKey=H.ctrlKey}if(!H.which&&H.button){H.which=(H.button&1?1:(H.button&2?3:(H.button&4?2:0)))}return H},proxy:function(F,E){E=E||function(){return F.apply(this,arguments)};E.guid=F.guid=F.guid||E.guid||this.guid++;return E},special:{ready:{setup:B,teardown:function(){}}},specialAll:{live:{setup:function(E,F){o.event.add(this,F[0],c)},teardown:function(G){if(G.length){var E=0,F=RegExp("(^|\\.)"+G[0]+"(\\.|$)");o.each((o.data(this,"events").live||{}),function(){if(F.test(this.type)){E++}});if(E<1){o.event.remove(this,G[0],c)}}}}}};o.Event=function(E){if(!this.preventDefault){return new o.Event(E)}if(E&&E.type){this.originalEvent=E;this.type=E.type}else{this.type=E}this.timeStamp=e();this[h]=true};function k(){return false}function u(){return true}o.Event.prototype={preventDefault:function(){this.isDefaultPrevented=u;var E=this.originalEvent;if(!E){return}if(E.preventDefault){E.preventDefault()}E.returnValue=false},stopPropagation:function(){this.isPropagationStopped=u;var E=this.originalEvent;if(!E){return}if(E.stopPropagation){E.stopPropagation()}E.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u;this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k};var a=function(F){var E=F.relatedTarget;while(E&&E!=this){try{E=E.parentNode}catch(G){E=this}}if(E!=this){F.type=F.data;o.event.handle.apply(this,arguments)}};o.each({mouseover:"mouseenter",mouseout:"mouseleave"},function(F,E){o.event.special[E]={setup:function(){o.event.add(this,F,a,E)},teardown:function(){o.event.remove(this,F,a)}}});o.fn.extend({bind:function(F,G,E){return F=="unload"?this.one(F,G,E):this.each(function(){o.event.add(this,F,E||G,E&&G)})},one:function(G,H,F){var E=o.event.proxy(F||H,function(I){o(this).unbind(I,E);return(F||H).apply(this,arguments)});return this.each(function(){o.event.add(this,G,E,F&&H)})},unbind:function(F,E){return this.each(function(){o.event.remove(this,F,E)})},trigger:function(E,F){return this.each(function(){o.event.trigger(E,F,this)})},triggerHandler:function(E,G){if(this[0]){var F=o.Event(E);F.preventDefault();F.stopPropagation();o.event.trigger(F,G,this[0]);return F.result}},toggle:function(G){var E=arguments,F=1;while(F=0){var E=G.slice(I,G.length);G=G.slice(0,I)}var H="GET";if(J){if(o.isFunction(J)){K=J;J=null}else{if(typeof J==="object"){J=o.param(J);H="POST"}}}var F=this;o.ajax({url:G,type:H,dataType:"html",data:J,complete:function(M,L){if(L=="success"||L=="notmodified"){F.html(E?o("
    ").append(M.responseText.replace(//g,"")).find(E):M.responseText)}if(K){F.each(K,[M.responseText,L,M])}}});return this},serialize:function(){return o.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?o.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password|search/i.test(this.type))}).map(function(E,F){var G=o(this).val();return G==null?null:o.isArray(G)?o.map(G,function(I,H){return{name:F.name,value:I}}):{name:F.name,value:G}}).get()}});o.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(E,F){o.fn[F]=function(G){return this.bind(F,G)}});var r=e();o.extend({get:function(E,G,H,F){if(o.isFunction(G)){H=G;G=null}return o.ajax({type:"GET",url:E,data:G,success:H,dataType:F})},getScript:function(E,F){return o.get(E,null,F,"script")},getJSON:function(E,F,G){return o.get(E,F,G,"json")},post:function(E,G,H,F){if(o.isFunction(G)){H=G;G={}}return o.ajax({type:"POST",url:E,data:G,success:H,dataType:F})},ajaxSetup:function(E){o.extend(o.ajaxSettings,E)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(M){M=o.extend(true,M,o.extend(true,{},o.ajaxSettings,M));var W,F=/=\?(&|$)/g,R,V,G=M.type.toUpperCase();if(M.data&&M.processData&&typeof M.data!=="string"){M.data=o.param(M.data)}if(M.dataType=="jsonp"){if(G=="GET"){if(!M.url.match(F)){M.url+=(M.url.match(/\?/)?"&":"?")+(M.jsonp||"callback")+"=?"}}else{if(!M.data||!M.data.match(F)){M.data=(M.data?M.data+"&":"")+(M.jsonp||"callback")+"=?"}}M.dataType="json"}if(M.dataType=="json"&&(M.data&&M.data.match(F)||M.url.match(F))){W="jsonp"+r++;if(M.data){M.data=(M.data+"").replace(F,"="+W+"$1")}M.url=M.url.replace(F,"="+W+"$1");M.dataType="script";l[W]=function(X){V=X;I();L();l[W]=g;try{delete l[W]}catch(Y){}if(H){H.removeChild(T)}}}if(M.dataType=="script"&&M.cache==null){M.cache=false}if(M.cache===false&&G=="GET"){var E=e();var U=M.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+E+"$2");M.url=U+((U==M.url)?(M.url.match(/\?/)?"&":"?")+"_="+E:"")}if(M.data&&G=="GET"){M.url+=(M.url.match(/\?/)?"&":"?")+M.data;M.data=null}if(M.global&&!o.active++){o.event.trigger("ajaxStart")}var Q=/^(\w+:)?\/\/([^\/?#]+)/.exec(M.url);if(M.dataType=="script"&&G=="GET"&&Q&&(Q[1]&&Q[1]!=location.protocol||Q[2]!=location.host)){var H=document.getElementsByTagName("head")[0];var T=document.createElement("script");T.src=M.url;if(M.scriptCharset){T.charset=M.scriptCharset}if(!W){var O=false;T.onload=T.onreadystatechange=function(){if(!O&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){O=true;I();L();T.onload=T.onreadystatechange=null;H.removeChild(T)}}}H.appendChild(T);return g}var K=false;var J=M.xhr();if(M.username){J.open(G,M.url,M.async,M.username,M.password)}else{J.open(G,M.url,M.async)}try{if(M.data){J.setRequestHeader("Content-Type",M.contentType)}if(M.ifModified){J.setRequestHeader("If-Modified-Since",o.lastModified[M.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}J.setRequestHeader("X-Requested-With","XMLHttpRequest");J.setRequestHeader("Accept",M.dataType&&M.accepts[M.dataType]?M.accepts[M.dataType]+", */*":M.accepts._default)}catch(S){}if(M.beforeSend&&M.beforeSend(J,M)===false){if(M.global&&!--o.active){o.event.trigger("ajaxStop")}J.abort();return false}if(M.global){o.event.trigger("ajaxSend",[J,M])}var N=function(X){if(J.readyState==0){if(P){clearInterval(P);P=null;if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}}else{if(!K&&J&&(J.readyState==4||X=="timeout")){K=true;if(P){clearInterval(P);P=null}R=X=="timeout"?"timeout":!o.httpSuccess(J)?"error":M.ifModified&&o.httpNotModified(J,M.url)?"notmodified":"success";if(R=="success"){try{V=o.httpData(J,M.dataType,M)}catch(Z){R="parsererror"}}if(R=="success"){var Y;try{Y=J.getResponseHeader("Last-Modified")}catch(Z){}if(M.ifModified&&Y){o.lastModified[M.url]=Y}if(!W){I()}}else{o.handleError(M,J,R)}L();if(X){J.abort()}if(M.async){J=null}}}};if(M.async){var P=setInterval(N,13);if(M.timeout>0){setTimeout(function(){if(J&&!K){N("timeout")}},M.timeout)}}try{J.send(M.data)}catch(S){o.handleError(M,J,null,S)}if(!M.async){N()}function I(){if(M.success){M.success(V,R)}if(M.global){o.event.trigger("ajaxSuccess",[J,M])}}function L(){if(M.complete){M.complete(J,R)}if(M.global){o.event.trigger("ajaxComplete",[J,M])}if(M.global&&!--o.active){o.event.trigger("ajaxStop")}}return J},handleError:function(F,H,E,G){if(F.error){F.error(H,E,G)}if(F.global){o.event.trigger("ajaxError",[H,F,G])}},active:0,httpSuccess:function(F){try{return !F.status&&location.protocol=="file:"||(F.status>=200&&F.status<300)||F.status==304||F.status==1223}catch(E){}return false},httpNotModified:function(G,E){try{var H=G.getResponseHeader("Last-Modified");return G.status==304||H==o.lastModified[E]}catch(F){}return false},httpData:function(J,H,G){var F=J.getResponseHeader("content-type"),E=H=="xml"||!H&&F&&F.indexOf("xml")>=0,I=E?J.responseXML:J.responseText;if(E&&I.documentElement.tagName=="parsererror"){throw"parsererror"}if(G&&G.dataFilter){I=G.dataFilter(I,H)}if(typeof I==="string"){if(H=="script"){o.globalEval(I)}if(H=="json"){I=l["eval"]("("+I+")")}}return I},param:function(E){var G=[];function H(I,J){G[G.length]=encodeURIComponent(I)+"="+encodeURIComponent(J)}if(o.isArray(E)||E.jquery){o.each(E,function(){H(this.name,this.value)})}else{for(var F in E){if(o.isArray(E[F])){o.each(E[F],function(){H(F,this)})}else{H(F,o.isFunction(E[F])?E[F]():E[F])}}}return G.join("&").replace(/%20/g,"+")}});var m={},n,d=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];function t(F,E){var G={};o.each(d.concat.apply([],d.slice(0,E)),function() -{G[this]=F});return G}o.fn.extend({show:function(J,L){if(J){return this.animate(t("show",3),J,L)}else{for(var H=0,F=this.length;H").appendTo("body");K=I.css("display");if(K==="none"){K="block"}I.remove();m[G]=K}o.data(this[H],"olddisplay",K)}}for(var H=0,F=this.length;H=0;H--){if(G[H].elem==this){if(E){G[H](true)}G.splice(H,1)}}});if(!E){this.dequeue()}return this}});o.each({slideDown:t("show",1),slideUp:t("hide",1),slideToggle:t("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(E,F){o.fn[E]=function(G,H){return this.animate(F,G,H)}});o.extend({speed:function(G,H,F){var E=typeof G==="object"?G:{complete:F||!F&&H||o.isFunction(G)&&G,duration:G,easing:F&&H||H&&!o.isFunction(H)&&H};E.duration=o.fx.off?0:typeof E.duration==="number"?E.duration:o.fx.speeds[E.duration]||o.fx.speeds._default;E.old=E.complete;E.complete=function(){if(E.queue!==false){o(this).dequeue()}if(o.isFunction(E.old)){E.old.call(this)}};return E},easing:{linear:function(G,H,E,F){return E+F*G},swing:function(G,H,E,F){return((-Math.cos(G*Math.PI)/2)+0.5)*F+E}},timers:[],fx:function(F,E,G){this.options=E;this.elem=F;this.prop=G;if(!E.orig){E.orig={}}}});o.fx.prototype={update:function(){if(this.options.step){this.options.step.call(this.elem,this.now,this)}(o.fx.step[this.prop]||o.fx.step._default)(this);if((this.prop=="height"||this.prop=="width")&&this.elem.style){this.elem.style.display="block"}},cur:function(F){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null)){return this.elem[this.prop]}var E=parseFloat(o.css(this.elem,this.prop,F));return E&&E>-10000?E:parseFloat(o.curCSS(this.elem,this.prop))||0},custom:function(I,H,G){this.startTime=e();this.start=I;this.end=H;this.unit=G||this.unit||"px";this.now=this.start;this.pos=this.state=0;var E=this;function F(J){return E.step(J)}F.elem=this.elem;if(F()&&o.timers.push(F)&&!n){n=setInterval(function(){var K=o.timers;for(var J=0;J=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var E=true;for(var F in this.options.curAnim){if(this.options.curAnim[F]!==true){E=false}}if(E){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(o.css(this.elem,"display")=="none"){this.elem.style.display="block"}}if(this.options.hide){o(this.elem).hide()}if(this.options.hide||this.options.show){for(var I in this.options.curAnim){o.attr(this.elem.style,I,this.options.orig[I])}}this.options.complete.call(this.elem)}return false}else{var J=G-this.startTime;this.state=J/this.options.duration;this.pos=o.easing[this.options.easing||(o.easing.swing?"swing":"linear")](this.state,J,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update()}return true}};o.extend(o.fx,{speeds:{slow:600,fast:200,_default:400},step:{opacity:function(E){o.attr(E.elem.style,"opacity",E.now)},_default:function(E){if(E.elem.style&&E.elem.style[E.prop]!=null){E.elem.style[E.prop]=E.now+E.unit}else{E.elem[E.prop]=E.now}}}});if(document.documentElement.getBoundingClientRect){o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}var G=this[0].getBoundingClientRect(),J=this[0].ownerDocument,F=J.body,E=J.documentElement,L=E.clientTop||F.clientTop||0,K=E.clientLeft||F.clientLeft||0,I=G.top+(self.pageYOffset||o.boxModel&&E.scrollTop||F.scrollTop)-L,H=G.left+(self.pageXOffset||o.boxModel&&E.scrollLeft||F.scrollLeft)-K;return{top:I,left:H}}}else{o.fn.offset=function(){if(!this[0]){return{top:0,left:0}}if(this[0]===this[0].ownerDocument.body){return o.offset.bodyOffset(this[0])}o.offset.initialized||o.offset.initialize();var J=this[0],G=J.offsetParent,F=J,O=J.ownerDocument,M,H=O.documentElement,K=O.body,L=O.defaultView,E=L.getComputedStyle(J,null),N=J.offsetTop,I=J.offsetLeft;while((J=J.parentNode)&&J!==K&&J!==H){M=L.getComputedStyle(J,null);N-=J.scrollTop,I-=J.scrollLeft;if(J===G){N+=J.offsetTop,I+=J.offsetLeft;if(o.offset.doesNotAddBorder&&!(o.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(J.tagName))){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}F=G,G=J.offsetParent}if(o.offset.subtractsBorderForOverflowNotVisible&&M.overflow!=="visible"){N+=parseInt(M.borderTopWidth,10)||0,I+=parseInt(M.borderLeftWidth,10)||0}E=M}if(E.position==="relative"||E.position==="static"){N+=K.offsetTop,I+=K.offsetLeft}if(E.position==="fixed"){N+=Math.max(H.scrollTop,K.scrollTop),I+=Math.max(H.scrollLeft,K.scrollLeft)}return{top:N,left:I}}}o.offset={initialize:function(){if(this.initialized){return}var L=document.body,F=document.createElement("div"),H,G,N,I,M,E,J=L.style.marginTop,K='
    ';M={position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"};for(E in M){F.style[E]=M[E]}F.innerHTML=K;L.insertBefore(F,L.firstChild);H=F.firstChild,G=H.firstChild,I=H.nextSibling.firstChild.firstChild;this.doesNotAddBorder=(G.offsetTop!==5);this.doesAddBorderForTableAndCells=(I.offsetTop===5);H.style.overflow="hidden",H.style.position="relative";this.subtractsBorderForOverflowNotVisible=(G.offsetTop===-5);L.style.marginTop="1px";this.doesNotIncludeMarginInBodyOffset=(L.offsetTop===0);L.style.marginTop=J;L.removeChild(F);this.initialized=true},bodyOffset:function(E){o.offset.initialized||o.offset.initialize();var G=E.offsetTop,F=E.offsetLeft;if(o.offset.doesNotIncludeMarginInBodyOffset){G+=parseInt(o.curCSS(E,"marginTop",true),10)||0,F+=parseInt(o.curCSS(E,"marginLeft",true),10)||0}return{top:G,left:F}}};o.fn.extend({position:function(){var I=0,H=0,F;if(this[0]){var G=this.offsetParent(),J=this.offset(),E=/^body|html$/i.test(G[0].tagName)?{top:0,left:0}:G.offset();J.top-=j(this,"marginTop");J.left-=j(this,"marginLeft");E.top+=j(G,"borderTopWidth");E.left+=j(G,"borderLeftWidth");F={top:J.top-E.top,left:J.left-E.left}}return F},offsetParent:function(){var E=this[0].offsetParent||document.body;while(E&&(!/^body|html$/i.test(E.tagName)&&o.css(E,"position")=="static")){E=E.offsetParent}return o(E)}});o.each(["Left","Top"],function(F,E){var G="scroll"+E;o.fn[G]=function(H){if(!this[0]){return null}return H!==g?this.each(function(){this==l||this==document?l.scrollTo(!F?H:o(l).scrollLeft(),F?H:o(l).scrollTop()):this[G]=H}):this[0]==l||this[0]==document?self[F?"pageYOffset":"pageXOffset"]||o.boxModel&&document.documentElement[G]||document.body[G]:this[0][G]}});o.each(["Height","Width"],function(I,G){var E=I?"Left":"Top",H=I?"Right":"Bottom",F=G.toLowerCase();o.fn["inner"+G]=function(){return this[0]?o.css(this[0],F,false,"padding"):null};o.fn["outer"+G]=function(K){return this[0]?o.css(this[0],F,false,K?"margin":"border"):null};var J=G.toLowerCase();o.fn[J]=function(K){return this[0]==l?document.compatMode=="CSS1Compat"&&document.documentElement["client"+G]||document.body["client"+G]:this[0]==document?Math.max(document.documentElement["client"+G],document.body["scroll"+G],document.documentElement["scroll"+G],document.body["offset"+G],document.documentElement["offset"+G]):K===g?(this.length?o.css(this[0],J):null):this.css(J,typeof K==="string"?K:K+"px")}})})(); - -/* - * jQuery hashchange event - v1.3 - 7/21/2010 - * http://benalman.com/projects/jquery-hashchange-plugin/ - * - * Copyright (c) 2010 "Cowboy" Ben Alman - * Dual licensed under the MIT and GPL licenses. - * http://benalman.com/about/license/ - */ -(function($,e,b){var c="hashchange",h=document,f,g=$.event.special,i=h.documentMode,d="on"+c in e&&(i===b||i>7);function a(j){j=j||location.href;return"#"+j.replace(/^[^#]*#?(.*)$/,"$1")}$.fn[c]=function(j){return j?this.bind(c,j):this.trigger(c)};$.fn[c].delay=50;g[c]=$.extend(g[c],{setup:function(){if(d){return false}$(f.start)},teardown:function(){if(d){return false}$(f.stop)}});f=(function(){var j={},p,m=a(),k=function(q){return q},l=k,o=k;j.start=function(){p||n()};j.stop=function(){p&&clearTimeout(p);p=b};function n(){var r=a(),q=o(m);if(r!==m){l(m=r,q);$(e).trigger(c)}else{if(q!==m){location.href=location.href.replace(/#.*/,"")+q}}p=setTimeout(n,$.fn[c].delay)}$.browser.msie&&!d&&(function(){var q,r;j.start=function(){if(!q){r=$.fn[c].src;r=r&&r+a();q=$(' +
    + +
    +
    +
    sin1024_int8.py
    +
    +
    +
    1 ## generates a sin-shaped table with values -128 to 127
    +
    2 
    +
    3 
    +
    4 import array
    +
    5 import os
    +
    6 import textwrap
    +
    7 import math
    +
    8 
    +
    9 def generate(outfilename, tablename, tablelength, samplerate):
    +
    10  fout = open(os.path.expanduser(outfilename), "w")
    +
    11  fout.write('#ifndef ' + tablename + '_H_' + '\n')
    +
    12  fout.write('#define ' + tablename + '_H_' + '\n \n')
    +
    13  fout.write('#if ARDUINO >= 100'+'\n')
    +
    14  fout.write('#include "Arduino.h"'+'\n')
    +
    15  fout.write('#else'+'\n')
    +
    16  fout.write('#include "WProgram.h"'+'\n')
    +
    17  fout.write('#endif'+'\n')
    +
    18  fout.write('#include <avr/pgmspace.h>'+'\n \n')
    +
    19  fout.write('#define ' + tablename + '_NUM_CELLS '+ str(tablelength)+'\n')
    +
    20  fout.write('#define ' + tablename + '_SAMPLERATE '+ str(samplerate)+'\n \n')
    +
    21  outstring = 'const char __attribute__((progmem)) ' + tablename + '_DATA [] = {'
    +
    22 
    +
    23  try:
    +
    24  for num in range(tablelength):
    +
    25  ## range between 0 and 1 first
    +
    26  x = float(num)/tablelength
    +
    27 
    +
    28  t_x = (math.cos(2*math.pi*x-math.pi)+1)/2
    +
    29 
    +
    30  scaled = int(math.floor(t_x*255.999))-128
    +
    31 
    +
    32  outstring += str(scaled) + ', '
    +
    33  finally:
    +
    34  outstring = textwrap.fill(outstring, 80)
    +
    35  outstring += '\n }; \n \n #endif /* ' + tablename + '_H_ */\n'
    +
    36  fout.write(outstring)
    +
    37  fout.close()
    +
    38  print "wrote " + outfilename
    +
    39 
    +
    40 generate("~/Desktop/sin1024_int8.h", "SIN1024", 1024, "1024")
    +
    +
    + + + + diff --git a/doc/html/sin1024__uint8_8h_source.html b/doc/html/sin1024__uint8_8h_source.html index 5c7483335..437d01231 100644 --- a/doc/html/sin1024__uint8_8h_source.html +++ b/doc/html/sin1024__uint8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: tables/sin1024_uint8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,92 +99,84 @@
    -
    tables/sin1024_uint8.h
    +
    sin1024_uint8.h
    -
    00001 
    -00007 #ifndef SIN1024_UINT8_H_
    -00008 #define SIN1024_UINT8_H_
    -00009  
    -00010 #if ARDUINO >= 100
    -00011  #include "Arduino.h"
    -00012 #else
    -00013  #include "WProgram.h"
    -00014 #endif
    -00015 #include <avr/pgmspace.h>
    -00016  
    -00017 #define SIN1024_UINT8_NUM_CELLS 1024
    -00018 #define SIN1024_UINT8_SAMPLERATE 1024
    -00019  
    -00020 const char __attribute__((progmem)) SIN1024_UINT8_DATA [] = {0, 0, 0, 0, 0, 0, 0,
    -00021 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2,
    -00022 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 8, 8, 8,
    -00023 8, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 12, 12, 12, 13, 13, 14, 14, 14, 15, 15,
    -00024 15, 16, 16, 17, 17, 17, 18, 18, 19, 19, 19, 20, 20, 21, 21, 22, 22, 22, 23, 23,
    -00025 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 30, 30, 31, 31, 32, 32, 33, 33,
    -00026 34, 34, 35, 35, 36, 36, 37, 38, 38, 39, 39, 40, 40, 41, 42, 42, 43, 43, 44, 44,
    -00027 45, 46, 46, 47, 48, 48, 49, 49, 50, 51, 51, 52, 53, 53, 54, 54, 55, 56, 56, 57,
    -00028 58, 58, 59, 60, 60, 61, 62, 62, 63, 64, 64, 65, 66, 66, 67, 68, 69, 69, 70, 71,
    -00029 71, 72, 73, 73, 74, 75, 76, 76, 77, 78, 79, 79, 80, 81, 81, 82, 83, 84, 84, 85,
    -00030 86, 87, 87, 88, 89, 90, 90, 91, 92, 93, 93, 94, 95, 96, 96, 97, 98, 99, 99, 100,
    -00031 101, 102, 103, 103, 104, 105, 106, 106, 107, 108, 109, 109, 110, 111, 112, 113,
    -00032 113, 114, 115, 116, 117, 117, 118, 119, 120, 120, 121, 122, 123, 124, 124, 125,
    -00033 126, 127, 127, 128, 129, 130, 131, 131, 132, 133, 134, 135, 135, 136, 137, 138,
    -00034 138, 139, 140, 141, 142, 142, 143, 144, 145, 146, 146, 147, 148, 149, 149, 150,
    -00035 151, 152, 152, 153, 154, 155, 156, 156, 157, 158, 159, 159, 160, 161, 162, 162,
    -00036 163, 164, 165, 165, 166, 167, 168, 168, 169, 170, 171, 171, 172, 173, 174, 174,
    -00037 175, 176, 176, 177, 178, 179, 179, 180, 181, 182, 182, 183, 184, 184, 185, 186,
    -00038 186, 187, 188, 189, 189, 190, 191, 191, 192, 193, 193, 194, 195, 195, 196, 197,
    -00039 197, 198, 199, 199, 200, 201, 201, 202, 202, 203, 204, 204, 205, 206, 206, 207,
    -00040 207, 208, 209, 209, 210, 211, 211, 212, 212, 213, 213, 214, 215, 215, 216, 216,
    -00041 217, 217, 218, 219, 219, 220, 220, 221, 221, 222, 222, 223, 223, 224, 224, 225,
    -00042 225, 226, 226, 227, 227, 228, 228, 229, 229, 230, 230, 231, 231, 232, 232, 233,
    -00043 233, 233, 234, 234, 235, 235, 236, 236, 236, 237, 237, 238, 238, 238, 239, 239,
    -00044 240, 240, 240, 241, 241, 241, 242, 242, 243, 243, 243, 244, 244, 244, 245, 245,
    -00045 245, 245, 246, 246, 246, 247, 247, 247, 247, 248, 248, 248, 249, 249, 249, 249,
    -00046 250, 250, 250, 250, 250, 251, 251, 251, 251, 251, 252, 252, 252, 252, 252, 253,
    -00047 253, 253, 253, 253, 253, 253, 254, 254, 254, 254, 254, 254, 254, 254, 255, 255,
    -00048 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
    -00049 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
    -00050 255, 255, 255, 255, 255, 255, 255, 254, 254, 254, 254, 254, 254, 254, 254, 253,
    -00051 253, 253, 253, 253, 253, 253, 252, 252, 252, 252, 252, 251, 251, 251, 251, 251,
    -00052 250, 250, 250, 250, 250, 249, 249, 249, 249, 248, 248, 248, 247, 247, 247, 247,
    -00053 246, 246, 246, 245, 245, 245, 245, 244, 244, 244, 243, 243, 243, 242, 242, 241,
    -00054 241, 241, 240, 240, 240, 239, 239, 238, 238, 238, 237, 237, 236, 236, 236, 235,
    -00055 235, 234, 234, 233, 233, 233, 232, 232, 231, 231, 230, 230, 229, 229, 228, 228,
    -00056 227, 227, 226, 226, 225, 225, 224, 224, 223, 223, 222, 222, 221, 221, 220, 220,
    -00057 219, 219, 218, 217, 217, 216, 216, 215, 215, 214, 213, 213, 212, 212, 211, 211,
    -00058 210, 209, 209, 208, 207, 207, 206, 206, 205, 204, 204, 203, 202, 202, 201, 201,
    -00059 200, 199, 199, 198, 197, 197, 196, 195, 195, 194, 193, 193, 192, 191, 191, 190,
    -00060 189, 189, 188, 187, 186, 186, 185, 184, 184, 183, 182, 182, 181, 180, 179, 179,
    -00061 178, 177, 176, 176, 175, 174, 174, 173, 172, 171, 171, 170, 169, 168, 168, 167,
    -00062 166, 165, 165, 164, 163, 162, 162, 161, 160, 159, 159, 158, 157, 156, 156, 155,
    -00063 154, 153, 152, 152, 151, 150, 149, 149, 148, 147, 146, 146, 145, 144, 143, 142,
    -00064 142, 141, 140, 139, 138, 138, 137, 136, 135, 135, 134, 133, 132, 131, 131, 130,
    -00065 129, 128, 127, 127, 126, 125, 124, 124, 123, 122, 121, 120, 120, 119, 118, 117,
    -00066 117, 116, 115, 114, 113, 113, 112, 111, 110, 109, 109, 108, 107, 106, 106, 105,
    -00067 104, 103, 103, 102, 101, 100, 99, 99, 98, 97, 96, 96, 95, 94, 93, 93, 92, 91,
    -00068 90, 90, 89, 88, 87, 87, 86, 85, 84, 84, 83, 82, 81, 81, 80, 79, 79, 78, 77, 76,
    -00069 76, 75, 74, 73, 73, 72, 71, 71, 70, 69, 69, 68, 67, 66, 66, 65, 64, 64, 63, 62,
    -00070 62, 61, 60, 60, 59, 58, 58, 57, 56, 56, 55, 54, 54, 53, 53, 52, 51, 51, 50, 49,
    -00071 49, 48, 48, 47, 46, 46, 45, 44, 44, 43, 43, 42, 42, 41, 40, 40, 39, 39, 38, 38,
    -00072 37, 36, 36, 35, 35, 34, 34, 33, 33, 32, 32, 31, 31, 30, 30, 29, 29, 28, 28, 27,
    -00073 27, 26, 26, 25, 25, 24, 24, 23, 23, 22, 22, 22, 21, 21, 20, 20, 19, 19, 19, 18,
    -00074 18, 17, 17, 17, 16, 16, 15, 15, 15, 14, 14, 14, 13, 13, 12, 12, 12, 11, 11, 11,
    -00075 10, 10, 10, 10, 9, 9, 9, 8, 8, 8, 8, 7, 7, 7, 6, 6, 6, 6, 5, 5, 5, 5, 5, 4, 4,
    -00076 4, 4, 4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
    -00077 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00078  }; 
    -00079  
    -00080  #endif /* SIN1024_UINT8_H_ */
    -
    - - - - +
    1 #ifndef sin1024_uint_H_
    +
    2 #define sin1024_uint_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5 #include "Arduino.h"
    +
    6 #else
    +
    7 #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 #define sin1024_uint_NUM_CELLS 1024
    +
    12 #define sin1024_uint_SAMPLERATE 1024
    +
    13 
    +
    14 const char __attribute__((progmem)) sin1024_uint_DATA [] = {0, 0, 0, 0, 0, 0, 0,
    +
    15 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 5, 5, 5, 6, 6, 7, 8, 8, 9, 9,
    +
    16 10, 10, 11, 12, 12, 13, 14, 15, 15, 16, 17, 18, 19, 19, 20, 21, 22, 23, 24, 25,
    +
    17 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46,
    +
    18 48, 49, 50, 51, 53, 54, 55, 56, 58, 59, 60, 62, 63, 64, 66, 67, 69, 70, 71, 73,
    +
    19 74, 76, 77, 79, 80, 81, 83, 84, 86, 87, 89, 90, 92, 93, 95, 96, 98, 99, 101,
    +
    20 103, 104, 106, 107, 109, 110, 112, 113, 115, 117, 118, 120, 121, 123, 124, 126,
    +
    21 127, 129, 131, 132, 134, 135, 137, 138, 140, 142, 143, 145, 146, 148, 149, 151,
    +
    22 152, 154, 156, 157, 159, 160, 162, 163, 165, 166, 168, 169, 171, 172, 174, 175,
    +
    23 176, 178, 179, 181, 182, 184, 185, 186, 188, 189, 191, 192, 193, 195, 196, 197,
    +
    24 199, 200, 201, 202, 204, 205, 206, 207, 209, 210, 211, 212, 213, 215, 216, 217,
    +
    25 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,
    +
    26 234, 235, 236, 236, 237, 238, 239, 240, 240, 241, 242, 243, 243, 244, 245, 245,
    +
    27 246, 246, 247, 247, 248, 249, 249, 250, 250, 250, 251, 251, 252, 252, 252, 253,
    +
    28 253, 253, 254, 254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
    +
    29 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 254, 254, 254, 253,
    +
    30 253, 253, 252, 252, 252, 251, 251, 250, 250, 250, 249, 249, 248, 247, 247, 246,
    +
    31 246, 245, 245, 244, 243, 243, 242, 241, 240, 240, 239, 238, 237, 236, 236, 235,
    +
    32 234, 233, 232, 231, 230, 229, 228, 227, 226, 225, 224, 223, 222, 221, 220, 219,
    +
    33 218, 217, 216, 215, 213, 212, 211, 210, 209, 207, 206, 205, 204, 202, 201, 200,
    +
    34 199, 197, 196, 195, 193, 192, 191, 189, 188, 186, 185, 184, 182, 181, 179, 178,
    +
    35 176, 175, 174, 172, 171, 169, 168, 166, 165, 163, 162, 160, 159, 157, 156, 154,
    +
    36 152, 151, 149, 148, 146, 145, 143, 142, 140, 138, 137, 135, 134, 132, 131, 129,
    +
    37 127, 126, 124, 123, 121, 120, 118, 117, 115, 113, 112, 110, 109, 107, 106, 104,
    +
    38 103, 101, 99, 98, 96, 95, 93, 92, 90, 89, 87, 86, 84, 83, 81, 80, 79, 77, 76,
    +
    39 74, 73, 71, 70, 69, 67, 66, 64, 63, 62, 60, 59, 58, 56, 55, 54, 53, 51, 50, 49,
    +
    40 48, 46, 45, 44, 43, 42, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27,
    +
    41 26, 25, 24, 23, 22, 21, 20, 19, 19, 18, 17, 16, 15, 15, 14, 13, 12, 12, 11, 10,
    +
    42 10, 9, 9, 8, 8, 7, 6, 6, 5, 5, 5, 4, 4, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0,
    +
    43 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    44 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    45 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    46 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    47 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    48 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    49 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    50 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    51 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    52 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    53 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    54 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    55 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    56 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    57 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    58 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    59 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    60 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    61 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    62 0, 0, 0, 0, 0, 0,
    +
    63  };
    +
    64 
    +
    65  #endif /* sin1024_uint_H_ */
    +
    +
    + + diff --git a/doc/html/sin2048__int8_8h_source.html b/doc/html/sin2048__int8_8h_source.html index cf359998b..1e93f16e8 100644 --- a/doc/html/sin2048__int8_8h_source.html +++ b/doc/html/sin2048__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: tables/sin2048_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,162 +99,164 @@
    -
    tables/sin2048_int8.h
    +
    sin2048_int8.h
    -
    00001 #ifndef SIN2048_H_
    -00002 #define SIN2048_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 #define SIN2048_NUM_CELLS 2048
    -00012 #define SIN2048_SAMPLERATE 2048
    -00013 
    -00014 const char __attribute__((progmem)) SIN2048_DATA []  =
    -00015         {
    -00016                 0, 0, 0, 1, 1, 1, 2, 2, 3, 3, 3, 4, 4, 5,
    -00017                 5, 5, 6, 6, 7, 7, 7, 8, 8, 9, 9, 9, 10, 10, 10, 11, 11, 12, 12, 12, 13, 13, 14,
    -00018                 14, 14, 15, 15, 16, 16, 16, 17, 17, 18, 18, 18, 19, 19, 19, 20, 20, 21, 21, 21,
    -00019                 22, 22, 23, 23, 23, 24, 24, 24, 25, 25, 26, 26, 26, 27, 27, 28, 28, 28, 29, 29,
    -00020                 29, 30, 30, 31, 31, 31, 32, 32, 32, 33, 33, 34, 34, 34, 35, 35, 36, 36, 36, 37,
    -00021                 37, 37, 38, 38, 39, 39, 39, 40, 40, 40, 41, 41, 42, 42, 42, 43, 43, 43, 44, 44,
    -00022                 44, 45, 45, 46, 46, 46, 47, 47, 47, 48, 48, 48, 49, 49, 50, 50, 50, 51, 51, 51,
    -00023                 52, 52, 52, 53, 53, 54, 54, 54, 55, 55, 55, 56, 56, 56, 57, 57, 57, 58, 58, 58,
    -00024                 59, 59, 59, 60, 60, 61, 61, 61, 62, 62, 62, 63, 63, 63, 64, 64, 64, 65, 65, 65,
    -00025                 66, 66, 66, 67, 67, 67, 68, 68, 68, 69, 69, 69, 70, 70, 70, 71, 71, 71, 72, 72,
    -00026                 72, 73, 73, 73, 74, 74, 74, 74, 75, 75, 75, 76, 76, 76, 77, 77, 77, 78, 78, 78,
    -00027                 79, 79, 79, 79, 80, 80, 80, 81, 81, 81, 82, 82, 82, 83, 83, 83, 83, 84, 84, 84,
    -00028                 85, 85, 85, 85, 86, 86, 86, 87, 87, 87, 87, 88, 88, 88, 89, 89, 89, 89, 90, 90,
    -00029                 90, 91, 91, 91, 91, 92, 92, 92, 92, 93, 93, 93, 94, 94, 94, 94, 95, 95, 95, 95,
    -00030                 96, 96, 96, 96, 97, 97, 97, 97, 98, 98, 98, 98, 99, 99, 99, 99, 100, 100, 100,
    -00031                 100, 101, 101, 101, 101, 102, 102, 102, 102, 103, 103, 103, 103, 103, 104, 104,
    -00032                 104, 104, 105, 105, 105, 105, 105, 106, 106, 106, 106, 107, 107, 107, 107, 107,
    -00033                 108, 108, 108, 108, 108, 109, 109, 109, 109, 109, 110, 110, 110, 110, 110, 111,
    -00034                 111, 111, 111, 111, 112, 112, 112, 112, 112, 113, 113, 113, 113, 113, 113, 114,
    -00035                 114, 114, 114, 114, 115, 115, 115, 115, 115, 115, 116, 116, 116, 116, 116, 116,
    -00036                 117, 117, 117, 117, 117, 117, 117, 118, 118, 118, 118, 118, 118, 119, 119, 119,
    -00037                 119, 119, 119, 119, 119, 120, 120, 120, 120, 120, 120, 120, 121, 121, 121, 121,
    -00038                 121, 121, 121, 121, 122, 122, 122, 122, 122, 122, 122, 122, 122, 123, 123, 123,
    -00039                 123, 123, 123, 123, 123, 123, 123, 124, 124, 124, 124, 124, 124, 124, 124, 124,
    -00040                 124, 124, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 126,
    -00041                 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    -00042                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00043                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00044                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00045                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00046                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00047                 127, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    -00048                 126, 126, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 124,
    -00049                 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 123, 123, 123, 123, 123, 123,
    -00050                 123, 123, 123, 123, 122, 122, 122, 122, 122, 122, 122, 122, 122, 121, 121, 121,
    -00051                 121, 121, 121, 121, 121, 120, 120, 120, 120, 120, 120, 120, 119, 119, 119, 119,
    -00052                 119, 119, 119, 118, 118, 118, 118, 118, 118, 118, 117, 117, 117, 117, 117, 117,
    -00053                 117, 116, 116, 116, 116, 116, 116, 115, 115, 115, 115, 115, 115, 114, 114, 114,
    -00054                 114, 114, 113, 113, 113, 113, 113, 113, 112, 112, 112, 112, 112, 111, 111, 111,
    -00055                 111, 111, 110, 110, 110, 110, 110, 109, 109, 109, 109, 109, 108, 108, 108, 108,
    -00056                 108, 107, 107, 107, 107, 107, 106, 106, 106, 106, 106, 105, 105, 105, 105, 104,
    -00057                 104, 104, 104, 103, 103, 103, 103, 103, 102, 102, 102, 102, 101, 101, 101, 101,
    -00058                 100, 100, 100, 100, 99, 99, 99, 99, 98, 98, 98, 98, 97, 97, 97, 97, 96, 96, 96,
    -00059                 96, 95, 95, 95, 95, 94, 94, 94, 94, 93, 93, 93, 92, 92, 92, 92, 91, 91, 91, 91,
    -00060                 90, 90, 90, 89, 89, 89, 89, 88, 88, 88, 87, 87, 87, 87, 86, 86, 86, 85, 85, 85,
    -00061                 85, 84, 84, 84, 83, 83, 83, 83, 82, 82, 82, 81, 81, 81, 80, 80, 80, 79, 79, 79,
    -00062                 79, 78, 78, 78, 77, 77, 77, 76, 76, 76, 75, 75, 75, 74, 74, 74, 74, 73, 73, 73,
    -00063                 72, 72, 72, 71, 71, 71, 70, 70, 70, 69, 69, 69, 68, 68, 68, 67, 67, 67, 66, 66,
    -00064                 66, 65, 65, 65, 64, 64, 64, 63, 63, 63, 62, 62, 62, 61, 61, 61, 60, 60, 59, 59,
    -00065                 59, 58, 58, 58, 57, 57, 57, 56, 56, 56, 55, 55, 55, 54, 54, 54, 53, 53, 52, 52,
    -00066                 52, 51, 51, 51, 50, 50, 50, 49, 49, 48, 48, 48, 47, 47, 47, 46, 46, 46, 45, 45,
    -00067                 44, 44, 44, 43, 43, 43, 42, 42, 42, 41, 41, 40, 40, 40, 39, 39, 39, 38, 38, 37,
    -00068                 37, 37, 36, 36, 36, 35, 35, 34, 34, 34, 34, 33, 33, 32, 32, 31, 31, 31, 30, 30,
    -00069                 29, 29, 29, 28, 28, 28, 27, 27, 26, 26, 26, 25, 25, 24, 24, 24, 23, 23, 23, 22,
    -00070                 22, 21, 21, 21, 20, 20, 19, 19, 19, 18, 18, 18, 17, 17, 16, 16, 16, 15, 15, 14,
    -00071                 14, 14, 13, 13, 12, 12, 12, 11, 11, 10, 10, 10, 9, 9, 9, 8, 8, 7, 7, 7, 6, 6, 5,
    -00072                 5, 5, 4, 4, 3, 3, 3, 2, 2, 1, 1, 1, 0, 0, -1, -1, -1, -2, -2, -2, -3, -3, -4,
    -00073                 -4, -4, -5, -5, -6, -6, -6, -7, -7, -8, -8, -8, -9, -9, -10, -10, -10, -11, -11,
    -00074                 -11, -12, -12, -13, -13, -13, -14, -14, -15, -15, -15, -16, -16, -17, -17, -17,
    -00075                 -18, -18, -19, -19, -19, -20, -20, -20, -21, -21, -22, -22, -22, -23, -23, -24,
    -00076                 -24, -24, -25, -25, -25, -26, -26, -27, -27, -27, -28, -28, -29, -29, -29, -30,
    -00077                 -30, -30, -31, -31, -32, -32, -32, -33, -33, -33, -34, -34, -35, -35, -35, -36,
    -00078                 -36, -37, -37, -37, -38, -38, -38, -39, -39, -40, -40, -40, -41, -41, -41, -42,
    -00079                 -42, -42, -43, -43, -44, -44, -44, -45, -45, -45, -46, -46, -47, -47, -47, -48,
    -00080                 -48, -48, -49, -49, -49, -50, -50, -51, -51, -51, -52, -52, -52, -53, -53, -53,
    -00081                 -54, -54, -55, -55, -55, -56, -56, -56, -57, -57, -57, -58, -58, -58, -59, -59,
    -00082                 -59, -60, -60, -60, -61, -61, -62, -62, -62, -63, -63, -63, -64, -64, -64, -65,
    -00083                 -65, -65, -66, -66, -66, -67, -67, -67, -68, -68, -68, -69, -69, -69, -70, -70,
    -00084                 -70, -71, -71, -71, -72, -72, -72, -73, -73, -73, -74, -74, -74, -75, -75, -75,
    -00085                 -75, -76, -76, -76, -77, -77, -77, -78, -78, -78, -79, -79, -79, -80, -80, -80,
    -00086                 -80, -81, -81, -81, -82, -82, -82, -83, -83, -83, -84, -84, -84, -84, -85, -85,
    -00087                 -85, -86, -86, -86, -86, -87, -87, -87, -88, -88, -88, -88, -89, -89, -89, -90,
    -00088                 -90, -90, -90, -91, -91, -91, -92, -92, -92, -92, -93, -93, -93, -93, -94, -94,
    -00089                 -94, -95, -95, -95, -95, -96, -96, -96, -96, -97, -97, -97, -97, -98, -98, -98,
    -00090                 -98, -99, -99, -99, -99, -100, -100, -100, -100, -101, -101, -101, -101, -102,
    -00091                 -102, -102, -102, -103, -103, -103, -103, -104, -104, -104, -104, -104, -105,
    -00092                 -105, -105, -105, -106, -106, -106, -106, -106, -107, -107, -107, -107, -108,
    -00093                 -108, -108, -108, -108, -109, -109, -109, -109, -109, -110, -110, -110, -110,
    -00094                 -110, -111, -111, -111, -111, -111, -112, -112, -112, -112, -112, -113, -113,
    -00095                 -113, -113, -113, -114, -114, -114, -114, -114, -114, -115, -115, -115, -115,
    -00096                 -115, -116, -116, -116, -116, -116, -116, -117, -117, -117, -117, -117, -117,
    -00097                 -118, -118, -118, -118, -118, -118, -118, -119, -119, -119, -119, -119, -119,
    -00098                 -119, -120, -120, -120, -120, -120, -120, -120, -121, -121, -121, -121, -121,
    -00099                 -121, -121, -122, -122, -122, -122, -122, -122, -122, -122, -123, -123, -123,
    -00100                 -123, -123, -123, -123, -123, -123, -124, -124, -124, -124, -124, -124, -124,
    -00101                 -124, -124, -124, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    -00102                 -125, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    -00103                 -126, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    -00104                 -127, -127, -127, -127, -127, -128, -128, -128, -128, -128, -128, -128, -128,
    -00105                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00106                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00107                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00108                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00109                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00110                 -128, -128, -128, -128, -128, -128, -128, -128, -127, -127, -127, -127, -127,
    -00111                 -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -126,
    -00112                 -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -125,
    -00113                 -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -124, -124, -124,
    -00114                 -124, -124, -124, -124, -124, -124, -124, -123, -123, -123, -123, -123, -123,
    -00115                 -123, -123, -123, -122, -122, -122, -122, -122, -122, -122, -122, -121, -121,
    -00116                 -121, -121, -121, -121, -121, -120, -120, -120, -120, -120, -120, -120, -120,
    -00117                 -119, -119, -119, -119, -119, -119, -118, -118, -118, -118, -118, -118, -118,
    -00118                 -117, -117, -117, -117, -117, -117, -116, -116, -116, -116, -116, -116, -115,
    -00119                 -115, -115, -115, -115, -114, -114, -114, -114, -114, -114, -113, -113, -113,
    -00120                 -113, -113, -112, -112, -112, -112, -112, -111, -111, -111, -111, -111, -110,
    -00121                 -110, -110, -110, -110, -109, -109, -109, -109, -109, -108, -108, -108, -108,
    -00122                 -108, -107, -107, -107, -107, -106, -106, -106, -106, -106, -105, -105, -105,
    -00123                 -105, -104, -104, -104, -104, -104, -103, -103, -103, -103, -102, -102, -102,
    -00124                 -102, -101, -101, -101, -101, -100, -100, -100, -100, -99, -99, -99, -99, -98,
    -00125                 -98, -98, -98, -97, -97, -97, -97, -96, -96, -96, -96, -95, -95, -95, -95, -94,
    -00126                 -94, -94, -93, -93, -93, -93, -92, -92, -92, -92, -91, -91, -91, -90, -90, -90,
    -00127                 -90, -89, -89, -89, -88, -88, -88, -88, -87, -87, -87, -86, -86, -86, -86, -85,
    -00128                 -85, -85, -84, -84, -84, -84, -83, -83, -83, -82, -82, -82, -81, -81, -81, -80,
    -00129                 -80, -80, -80, -79, -79, -79, -78, -78, -78, -77, -77, -77, -76, -76, -76, -75,
    -00130                 -75, -75, -75, -74, -74, -74, -73, -73, -73, -72, -72, -72, -71, -71, -71, -70,
    -00131                 -70, -70, -69, -69, -69, -68, -68, -68, -67, -67, -67, -66, -66, -66, -65, -65,
    -00132                 -65, -64, -64, -64, -63, -63, -63, -62, -62, -62, -61, -61, -60, -60, -60, -59,
    -00133                 -59, -59, -58, -58, -58, -57, -57, -57, -56, -56, -56, -55, -55, -55, -54, -54,
    -00134                 -53, -53, -53, -52, -52, -52, -51, -51, -51, -50, -50, -49, -49, -49, -48, -48,
    -00135                 -48, -47, -47, -47, -46, -46, -45, -45, -45, -44, -44, -44, -43, -43, -43, -42,
    -00136                 -42, -41, -41, -41, -40, -40, -40, -39, -39, -38, -38, -38, -37, -37, -37, -36,
    -00137                 -36, -35, -35, -35, -34, -34, -34, -33, -33, -32, -32, -32, -31, -31, -30, -30,
    -00138                 -30, -29, -29, -29, -28, -28, -27, -27, -27, -26, -26, -25, -25, -25, -24, -24,
    -00139                 -24, -23, -23, -22, -22, -22, -21, -21, -20, -20, -20, -19, -19, -19, -18, -18,
    -00140                 -17, -17, -17, -16, -16, -15, -15, -15, -14, -14, -13, -13, -13, -12, -12, -11,
    -00141                 -11, -11, -10, -10, -10, -9, -9, -8, -8, -8, -7, -7, -6, -6, -6, -5, -5, -4, -4,
    -00142                 -4, -3, -3, -2, -2, -2, -1, -1,
    -00143         };
    -00144 
    -00145 #endif /* SIN2048_H_ */
    -
    - - - - +
    1 #ifndef SIN2048_H_
    +
    2 #define SIN2048_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 #define SIN2048_NUM_CELLS 2048
    +
    12 #define SIN2048_SAMPLERATE 2048
    +
    13 
    +
    14 const char __attribute__((progmem)) SIN2048_DATA [] =
    +
    15  {
    +
    16  0, 0, 0, 1, 1, 1, 2, 2, 3, 3, 3, 4, 4, 5,
    +
    17  5, 5, 6, 6, 7, 7, 7, 8, 8, 9, 9, 9, 10, 10, 10, 11, 11, 12, 12, 12, 13, 13, 14,
    +
    18  14, 14, 15, 15, 16, 16, 16, 17, 17, 18, 18, 18, 19, 19, 19, 20, 20, 21, 21, 21,
    +
    19  22, 22, 23, 23, 23, 24, 24, 24, 25, 25, 26, 26, 26, 27, 27, 28, 28, 28, 29, 29,
    +
    20  29, 30, 30, 31, 31, 31, 32, 32, 32, 33, 33, 34, 34, 34, 35, 35, 36, 36, 36, 37,
    +
    21  37, 37, 38, 38, 39, 39, 39, 40, 40, 40, 41, 41, 42, 42, 42, 43, 43, 43, 44, 44,
    +
    22  44, 45, 45, 46, 46, 46, 47, 47, 47, 48, 48, 48, 49, 49, 50, 50, 50, 51, 51, 51,
    +
    23  52, 52, 52, 53, 53, 54, 54, 54, 55, 55, 55, 56, 56, 56, 57, 57, 57, 58, 58, 58,
    +
    24  59, 59, 59, 60, 60, 61, 61, 61, 62, 62, 62, 63, 63, 63, 64, 64, 64, 65, 65, 65,
    +
    25  66, 66, 66, 67, 67, 67, 68, 68, 68, 69, 69, 69, 70, 70, 70, 71, 71, 71, 72, 72,
    +
    26  72, 73, 73, 73, 74, 74, 74, 74, 75, 75, 75, 76, 76, 76, 77, 77, 77, 78, 78, 78,
    +
    27  79, 79, 79, 79, 80, 80, 80, 81, 81, 81, 82, 82, 82, 83, 83, 83, 83, 84, 84, 84,
    +
    28  85, 85, 85, 85, 86, 86, 86, 87, 87, 87, 87, 88, 88, 88, 89, 89, 89, 89, 90, 90,
    +
    29  90, 91, 91, 91, 91, 92, 92, 92, 92, 93, 93, 93, 94, 94, 94, 94, 95, 95, 95, 95,
    +
    30  96, 96, 96, 96, 97, 97, 97, 97, 98, 98, 98, 98, 99, 99, 99, 99, 100, 100, 100,
    +
    31  100, 101, 101, 101, 101, 102, 102, 102, 102, 103, 103, 103, 103, 103, 104, 104,
    +
    32  104, 104, 105, 105, 105, 105, 105, 106, 106, 106, 106, 107, 107, 107, 107, 107,
    +
    33  108, 108, 108, 108, 108, 109, 109, 109, 109, 109, 110, 110, 110, 110, 110, 111,
    +
    34  111, 111, 111, 111, 112, 112, 112, 112, 112, 113, 113, 113, 113, 113, 113, 114,
    +
    35  114, 114, 114, 114, 115, 115, 115, 115, 115, 115, 116, 116, 116, 116, 116, 116,
    +
    36  117, 117, 117, 117, 117, 117, 117, 118, 118, 118, 118, 118, 118, 119, 119, 119,
    +
    37  119, 119, 119, 119, 119, 120, 120, 120, 120, 120, 120, 120, 121, 121, 121, 121,
    +
    38  121, 121, 121, 121, 122, 122, 122, 122, 122, 122, 122, 122, 122, 123, 123, 123,
    +
    39  123, 123, 123, 123, 123, 123, 123, 124, 124, 124, 124, 124, 124, 124, 124, 124,
    +
    40  124, 124, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 126,
    +
    41  126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    +
    42  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    43  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    44  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    45  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    46  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    47  127, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    +
    48  126, 126, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 124,
    +
    49  124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 123, 123, 123, 123, 123, 123,
    +
    50  123, 123, 123, 123, 122, 122, 122, 122, 122, 122, 122, 122, 122, 121, 121, 121,
    +
    51  121, 121, 121, 121, 121, 120, 120, 120, 120, 120, 120, 120, 119, 119, 119, 119,
    +
    52  119, 119, 119, 118, 118, 118, 118, 118, 118, 118, 117, 117, 117, 117, 117, 117,
    +
    53  117, 116, 116, 116, 116, 116, 116, 115, 115, 115, 115, 115, 115, 114, 114, 114,
    +
    54  114, 114, 113, 113, 113, 113, 113, 113, 112, 112, 112, 112, 112, 111, 111, 111,
    +
    55  111, 111, 110, 110, 110, 110, 110, 109, 109, 109, 109, 109, 108, 108, 108, 108,
    +
    56  108, 107, 107, 107, 107, 107, 106, 106, 106, 106, 106, 105, 105, 105, 105, 104,
    +
    57  104, 104, 104, 103, 103, 103, 103, 103, 102, 102, 102, 102, 101, 101, 101, 101,
    +
    58  100, 100, 100, 100, 99, 99, 99, 99, 98, 98, 98, 98, 97, 97, 97, 97, 96, 96, 96,
    +
    59  96, 95, 95, 95, 95, 94, 94, 94, 94, 93, 93, 93, 92, 92, 92, 92, 91, 91, 91, 91,
    +
    60  90, 90, 90, 89, 89, 89, 89, 88, 88, 88, 87, 87, 87, 87, 86, 86, 86, 85, 85, 85,
    +
    61  85, 84, 84, 84, 83, 83, 83, 83, 82, 82, 82, 81, 81, 81, 80, 80, 80, 79, 79, 79,
    +
    62  79, 78, 78, 78, 77, 77, 77, 76, 76, 76, 75, 75, 75, 74, 74, 74, 74, 73, 73, 73,
    +
    63  72, 72, 72, 71, 71, 71, 70, 70, 70, 69, 69, 69, 68, 68, 68, 67, 67, 67, 66, 66,
    +
    64  66, 65, 65, 65, 64, 64, 64, 63, 63, 63, 62, 62, 62, 61, 61, 61, 60, 60, 59, 59,
    +
    65  59, 58, 58, 58, 57, 57, 57, 56, 56, 56, 55, 55, 55, 54, 54, 54, 53, 53, 52, 52,
    +
    66  52, 51, 51, 51, 50, 50, 50, 49, 49, 48, 48, 48, 47, 47, 47, 46, 46, 46, 45, 45,
    +
    67  44, 44, 44, 43, 43, 43, 42, 42, 42, 41, 41, 40, 40, 40, 39, 39, 39, 38, 38, 37,
    +
    68  37, 37, 36, 36, 36, 35, 35, 34, 34, 34, 34, 33, 33, 32, 32, 31, 31, 31, 30, 30,
    +
    69  29, 29, 29, 28, 28, 28, 27, 27, 26, 26, 26, 25, 25, 24, 24, 24, 23, 23, 23, 22,
    +
    70  22, 21, 21, 21, 20, 20, 19, 19, 19, 18, 18, 18, 17, 17, 16, 16, 16, 15, 15, 14,
    +
    71  14, 14, 13, 13, 12, 12, 12, 11, 11, 10, 10, 10, 9, 9, 9, 8, 8, 7, 7, 7, 6, 6, 5,
    +
    72  5, 5, 4, 4, 3, 3, 3, 2, 2, 1, 1, 1, 0, 0, -1, -1, -1, -2, -2, -2, -3, -3, -4,
    +
    73  -4, -4, -5, -5, -6, -6, -6, -7, -7, -8, -8, -8, -9, -9, -10, -10, -10, -11, -11,
    +
    74  -11, -12, -12, -13, -13, -13, -14, -14, -15, -15, -15, -16, -16, -17, -17, -17,
    +
    75  -18, -18, -19, -19, -19, -20, -20, -20, -21, -21, -22, -22, -22, -23, -23, -24,
    +
    76  -24, -24, -25, -25, -25, -26, -26, -27, -27, -27, -28, -28, -29, -29, -29, -30,
    +
    77  -30, -30, -31, -31, -32, -32, -32, -33, -33, -33, -34, -34, -35, -35, -35, -36,
    +
    78  -36, -37, -37, -37, -38, -38, -38, -39, -39, -40, -40, -40, -41, -41, -41, -42,
    +
    79  -42, -42, -43, -43, -44, -44, -44, -45, -45, -45, -46, -46, -47, -47, -47, -48,
    +
    80  -48, -48, -49, -49, -49, -50, -50, -51, -51, -51, -52, -52, -52, -53, -53, -53,
    +
    81  -54, -54, -55, -55, -55, -56, -56, -56, -57, -57, -57, -58, -58, -58, -59, -59,
    +
    82  -59, -60, -60, -60, -61, -61, -62, -62, -62, -63, -63, -63, -64, -64, -64, -65,
    +
    83  -65, -65, -66, -66, -66, -67, -67, -67, -68, -68, -68, -69, -69, -69, -70, -70,
    +
    84  -70, -71, -71, -71, -72, -72, -72, -73, -73, -73, -74, -74, -74, -75, -75, -75,
    +
    85  -75, -76, -76, -76, -77, -77, -77, -78, -78, -78, -79, -79, -79, -80, -80, -80,
    +
    86  -80, -81, -81, -81, -82, -82, -82, -83, -83, -83, -84, -84, -84, -84, -85, -85,
    +
    87  -85, -86, -86, -86, -86, -87, -87, -87, -88, -88, -88, -88, -89, -89, -89, -90,
    +
    88  -90, -90, -90, -91, -91, -91, -92, -92, -92, -92, -93, -93, -93, -93, -94, -94,
    +
    89  -94, -95, -95, -95, -95, -96, -96, -96, -96, -97, -97, -97, -97, -98, -98, -98,
    +
    90  -98, -99, -99, -99, -99, -100, -100, -100, -100, -101, -101, -101, -101, -102,
    +
    91  -102, -102, -102, -103, -103, -103, -103, -104, -104, -104, -104, -104, -105,
    +
    92  -105, -105, -105, -106, -106, -106, -106, -106, -107, -107, -107, -107, -108,
    +
    93  -108, -108, -108, -108, -109, -109, -109, -109, -109, -110, -110, -110, -110,
    +
    94  -110, -111, -111, -111, -111, -111, -112, -112, -112, -112, -112, -113, -113,
    +
    95  -113, -113, -113, -114, -114, -114, -114, -114, -114, -115, -115, -115, -115,
    +
    96  -115, -116, -116, -116, -116, -116, -116, -117, -117, -117, -117, -117, -117,
    +
    97  -118, -118, -118, -118, -118, -118, -118, -119, -119, -119, -119, -119, -119,
    +
    98  -119, -120, -120, -120, -120, -120, -120, -120, -121, -121, -121, -121, -121,
    +
    99  -121, -121, -122, -122, -122, -122, -122, -122, -122, -122, -123, -123, -123,
    +
    100  -123, -123, -123, -123, -123, -123, -124, -124, -124, -124, -124, -124, -124,
    +
    101  -124, -124, -124, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +
    102  -125, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +
    103  -126, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +
    104  -127, -127, -127, -127, -127, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    105  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    106  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    107  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    108  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    109  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    110  -128, -128, -128, -128, -128, -128, -128, -128, -127, -127, -127, -127, -127,
    +
    111  -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -126,
    +
    112  -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -125,
    +
    113  -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -124, -124, -124,
    +
    114  -124, -124, -124, -124, -124, -124, -124, -123, -123, -123, -123, -123, -123,
    +
    115  -123, -123, -123, -122, -122, -122, -122, -122, -122, -122, -122, -121, -121,
    +
    116  -121, -121, -121, -121, -121, -120, -120, -120, -120, -120, -120, -120, -120,
    +
    117  -119, -119, -119, -119, -119, -119, -118, -118, -118, -118, -118, -118, -118,
    +
    118  -117, -117, -117, -117, -117, -117, -116, -116, -116, -116, -116, -116, -115,
    +
    119  -115, -115, -115, -115, -114, -114, -114, -114, -114, -114, -113, -113, -113,
    +
    120  -113, -113, -112, -112, -112, -112, -112, -111, -111, -111, -111, -111, -110,
    +
    121  -110, -110, -110, -110, -109, -109, -109, -109, -109, -108, -108, -108, -108,
    +
    122  -108, -107, -107, -107, -107, -106, -106, -106, -106, -106, -105, -105, -105,
    +
    123  -105, -104, -104, -104, -104, -104, -103, -103, -103, -103, -102, -102, -102,
    +
    124  -102, -101, -101, -101, -101, -100, -100, -100, -100, -99, -99, -99, -99, -98,
    +
    125  -98, -98, -98, -97, -97, -97, -97, -96, -96, -96, -96, -95, -95, -95, -95, -94,
    +
    126  -94, -94, -93, -93, -93, -93, -92, -92, -92, -92, -91, -91, -91, -90, -90, -90,
    +
    127  -90, -89, -89, -89, -88, -88, -88, -88, -87, -87, -87, -86, -86, -86, -86, -85,
    +
    128  -85, -85, -84, -84, -84, -84, -83, -83, -83, -82, -82, -82, -81, -81, -81, -80,
    +
    129  -80, -80, -80, -79, -79, -79, -78, -78, -78, -77, -77, -77, -76, -76, -76, -75,
    +
    130  -75, -75, -75, -74, -74, -74, -73, -73, -73, -72, -72, -72, -71, -71, -71, -70,
    +
    131  -70, -70, -69, -69, -69, -68, -68, -68, -67, -67, -67, -66, -66, -66, -65, -65,
    +
    132  -65, -64, -64, -64, -63, -63, -63, -62, -62, -62, -61, -61, -60, -60, -60, -59,
    +
    133  -59, -59, -58, -58, -58, -57, -57, -57, -56, -56, -56, -55, -55, -55, -54, -54,
    +
    134  -53, -53, -53, -52, -52, -52, -51, -51, -51, -50, -50, -49, -49, -49, -48, -48,
    +
    135  -48, -47, -47, -47, -46, -46, -45, -45, -45, -44, -44, -44, -43, -43, -43, -42,
    +
    136  -42, -41, -41, -41, -40, -40, -40, -39, -39, -38, -38, -38, -37, -37, -37, -36,
    +
    137  -36, -35, -35, -35, -34, -34, -34, -33, -33, -32, -32, -32, -31, -31, -30, -30,
    +
    138  -30, -29, -29, -29, -28, -28, -27, -27, -27, -26, -26, -25, -25, -25, -24, -24,
    +
    139  -24, -23, -23, -22, -22, -22, -21, -21, -20, -20, -20, -19, -19, -19, -18, -18,
    +
    140  -17, -17, -17, -16, -16, -15, -15, -15, -14, -14, -13, -13, -13, -12, -12, -11,
    +
    141  -11, -11, -10, -10, -10, -9, -9, -8, -8, -8, -7, -7, -6, -6, -6, -5, -5, -4, -4,
    +
    142  -4, -3, -3, -2, -2, -2, -1, -1,
    +
    143  };
    +
    144 
    +
    145 #endif /* SIN2048_H_ */
    +
    +
    + + diff --git a/doc/html/sin256__int8_8h_source.html b/doc/html/sin256__int8_8h_source.html index c4a9360ff..2b22bef2f 100644 --- a/doc/html/sin256__int8_8h_source.html +++ b/doc/html/sin256__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: tables/sin256_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,52 +99,54 @@
    -
    tables/sin256_int8.h
    +
    sin256_int8.h
    -
    00001 #ifndef SIN256_INT8_H_
    -00002 #define SIN256_INT8_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 #define SIN256_NUM_CELLS 256
    -00012 #define SIN256_SAMPLERATE 256
    -00013 
    -00014 const char __attribute__((progmem)) SIN256_DATA []  =
    -00015         {
    -00016                 -1, 3, 6, 9, 12, 15, 18, 21, 24, 28,
    -00017                 31, 34, 37, 40, 43, 46, 48, 51, 54, 57, 60, 63, 65, 68, 71, 73, 76, 78, 81, 83,
    -00018                 85, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 109, 111, 112, 114, 115,
    -00019                 117, 118, 119, 120, 121, 122, 123, 124, 124, 125, 126, 126, 127, 127, 127, 127,
    -00020                 127, 127, 127, 127, 127, 127, 127, 126, 126, 125, 124, 124, 123, 122, 121, 120,
    -00021                 119, 118, 117, 115, 114, 112, 111, 109, 108, 106, 104, 102, 100, 98, 96, 94, 92,
    -00022                 90, 88, 85, 83, 81, 78, 76, 73, 71, 68, 65, 63, 60, 57, 54, 51, 48, 46, 43, 40,
    -00023                 37, 34, 31, 28, 24, 21, 18, 15, 12, 9, 6, 3, 0, -4, -7, -10, -13, -16, -19, -22,
    -00024                 -25, -29, -32, -35, -38, -41, -44, -47, -49, -52, -55, -58, -61, -64, -66, -69,
    -00025                 -72, -74, -77, -79, -82, -84, -86, -89, -91, -93, -95, -97, -99, -101, -103,
    -00026                 -105, -107, -109, -110, -112, -113, -115, -116, -118, -119, -120, -121, -122,
    -00027                 -123, -124, -125, -125, -126, -127, -127, -128, -128, -128, -128, -128, -128,
    -00028                 -128, -128, -128, -128, -128, -127, -127, -126, -125, -125, -124, -123, -122,
    -00029                 -121, -120, -119, -118, -116, -115, -113, -112, -110, -109, -107, -105, -103,
    -00030                 -101, -99, -97, -95, -93, -91, -89, -86, -84, -82, -79, -77, -74, -72, -69, -66,
    -00031                 -64, -61, -58, -55, -52, -49, -47, -44, -41, -38, -35, -32, -29, -25, -22, -19,
    -00032                 -16, -13, -10, -7, -4,
    -00033         };
    -00034 
    -00035 #endif          /* SIN256_INT8_H_ */
    -
    - - - - +
    1 #ifndef SIN256_INT8_H_
    +
    2 #define SIN256_INT8_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 #define SIN256_NUM_CELLS 256
    +
    12 #define SIN256_SAMPLERATE 256
    +
    13 
    +
    14 const char __attribute__((progmem)) SIN256_DATA [] =
    +
    15  {
    +
    16  -1, 3, 6, 9, 12, 15, 18, 21, 24, 28,
    +
    17  31, 34, 37, 40, 43, 46, 48, 51, 54, 57, 60, 63, 65, 68, 71, 73, 76, 78, 81, 83,
    +
    18  85, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 109, 111, 112, 114, 115,
    +
    19  117, 118, 119, 120, 121, 122, 123, 124, 124, 125, 126, 126, 127, 127, 127, 127,
    +
    20  127, 127, 127, 127, 127, 127, 127, 126, 126, 125, 124, 124, 123, 122, 121, 120,
    +
    21  119, 118, 117, 115, 114, 112, 111, 109, 108, 106, 104, 102, 100, 98, 96, 94, 92,
    +
    22  90, 88, 85, 83, 81, 78, 76, 73, 71, 68, 65, 63, 60, 57, 54, 51, 48, 46, 43, 40,
    +
    23  37, 34, 31, 28, 24, 21, 18, 15, 12, 9, 6, 3, 0, -4, -7, -10, -13, -16, -19, -22,
    +
    24  -25, -29, -32, -35, -38, -41, -44, -47, -49, -52, -55, -58, -61, -64, -66, -69,
    +
    25  -72, -74, -77, -79, -82, -84, -86, -89, -91, -93, -95, -97, -99, -101, -103,
    +
    26  -105, -107, -109, -110, -112, -113, -115, -116, -118, -119, -120, -121, -122,
    +
    27  -123, -124, -125, -125, -126, -127, -127, -128, -128, -128, -128, -128, -128,
    +
    28  -128, -128, -128, -128, -128, -127, -127, -126, -125, -125, -124, -123, -122,
    +
    29  -121, -120, -119, -118, -116, -115, -113, -112, -110, -109, -107, -105, -103,
    +
    30  -101, -99, -97, -95, -93, -91, -89, -86, -84, -82, -79, -77, -74, -72, -69, -66,
    +
    31  -64, -61, -58, -55, -52, -49, -47, -44, -41, -38, -35, -32, -29, -25, -22, -19,
    +
    32  -16, -13, -10, -7, -4,
    +
    33  };
    +
    34 
    +
    35 #endif /* SIN256_INT8_H_ */
    +
    +
    + + diff --git a/doc/html/sin4096__int8_8h_source.html b/doc/html/sin4096__int8_8h_source.html index e2e31dde1..fba14da5a 100644 --- a/doc/html/sin4096__int8_8h_source.html +++ b/doc/html/sin4096__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: tables/sin4096_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,288 +99,290 @@
    -
    tables/sin4096_int8.h
    +
    sin4096_int8.h
    -
    00001 #ifndef SIN4096_H_
    -00002 #define SIN4096_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 #define SIN4096_NUM_CELLS 4096
    -00012 #define SIN4096_SAMPLERATE 4096
    -00013 
    -00014 const char __attribute__((progmem)) SIN4096_DATA []  =
    -00015         {
    -00016                 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2,
    -00017                 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7,
    -00018                 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 12,
    -00019                 12, 12, 12, 12, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 16,
    -00020                 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19,
    -00021                 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23,
    -00022                 24, 24, 24, 24, 24, 24, 25, 25, 25, 25, 25, 26, 26, 26, 26, 26, 27, 27, 27, 27,
    -00023                 27, 28, 28, 28, 28, 28, 28, 29, 29, 29, 29, 29, 30, 30, 30, 30, 30, 31, 31, 31,
    -00024                 31, 31, 32, 32, 32, 32, 32, 33, 33, 32, 33, 33, 34, 34, 34, 34, 34, 34, 35, 35,
    -00025                 35, 35, 35, 36, 36, 36, 36, 36, 36, 37, 37, 37, 37, 37, 38, 38, 38, 38, 38, 39,
    -00026                 39, 39, 39, 39, 39, 40, 40, 40, 40, 40, 41, 41, 41, 41, 41, 42, 42, 42, 42, 42,
    -00027                 42, 43, 43, 43, 43, 43, 44, 44, 44, 44, 44, 44, 45, 45, 45, 45, 45, 46, 46, 46,
    -00028                 46, 46, 46, 47, 47, 47, 47, 47, 48, 48, 48, 48, 48, 48, 49, 49, 49, 49, 49, 50,
    -00029                 50, 50, 50, 50, 50, 51, 51, 51, 51, 51, 52, 52, 52, 52, 52, 52, 53, 53, 53, 53,
    -00030                 53, 54, 54, 54, 54, 54, 54, 55, 55, 55, 55, 55, 55, 56, 56, 56, 56, 56, 57, 57,
    -00031                 57, 57, 57, 57, 58, 58, 58, 58, 58, 58, 59, 59, 59, 59, 59, 59, 60, 60, 60, 60,
    -00032                 60, 61, 61, 61, 61, 61, 61, 62, 62, 62, 62, 62, 62, 63, 63, 63, 63, 63, 63, 64,
    -00033                 64, 64, 64, 64, 64, 65, 65, 65, 65, 65, 65, 66, 66, 66, 66, 66, 66, 67, 67, 67,
    -00034                 67, 67, 67, 68, 68, 68, 68, 68, 68, 69, 69, 69, 69, 69, 69, 70, 70, 70, 70, 70,
    -00035                 70, 71, 71, 71, 71, 71, 71, 72, 72, 72, 72, 72, 72, 73, 73, 73, 73, 73, 73, 74,
    -00036                 74, 74, 74, 74, 74, 74, 75, 75, 75, 75, 75, 75, 76, 76, 76, 76, 76, 76, 77, 77,
    -00037                 77, 77, 77, 77, 77, 78, 78, 78, 78, 78, 78, 79, 79, 79, 79, 79, 79, 79, 80, 80,
    -00038                 80, 80, 80, 80, 81, 81, 81, 81, 81, 81, 81, 82, 82, 82, 82, 82, 82, 83, 83, 83,
    -00039                 83, 83, 83, 83, 84, 84, 84, 84, 84, 84, 84, 85, 85, 85, 85, 85, 85, 85, 86, 86,
    -00040                 86, 86, 86, 86, 86, 87, 87, 87, 87, 87, 87, 87, 88, 88, 88, 88, 88, 88, 88, 89,
    -00041                 89, 89, 89, 89, 89, 89, 90, 90, 90, 90, 90, 90, 90, 91, 91, 91, 91, 91, 91, 91,
    -00042                 92, 92, 92, 92, 92, 92, 92, 92, 93, 93, 93, 93, 93, 93, 93, 94, 94, 94, 94, 94,
    -00043                 94, 94, 94, 95, 95, 95, 95, 95, 95, 95, 96, 96, 96, 96, 96, 96, 96, 96, 97, 97,
    -00044                 97, 97, 97, 97, 97, 97, 98, 98, 98, 98, 98, 98, 98, 98, 99, 99, 99, 99, 99, 99,
    -00045                 99, 99, 100, 100, 100, 100, 100, 100, 100, 100, 101, 101, 101, 101, 101, 101,
    -00046                 101, 101, 101, 102, 102, 102, 102, 102, 102, 102, 102, 103, 103, 103, 103, 103,
    -00047                 103, 103, 103, 103, 104, 104, 104, 104, 104, 104, 104, 104, 104, 105, 105, 105,
    -00048                 105, 105, 105, 105, 105, 105, 106, 106, 106, 106, 106, 106, 106, 106, 106, 107,
    -00049                 107, 107, 107, 107, 107, 107, 107, 107, 108, 108, 108, 108, 108, 108, 108, 108,
    -00050                 108, 108, 109, 109, 109, 109, 109, 109, 109, 109, 109, 110, 110, 110, 110, 110,
    -00051                 110, 110, 110, 110, 110, 110, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
    -00052                 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 113, 113, 113, 113, 113,
    -00053                 113, 113, 113, 113, 113, 113, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
    -00054                 114, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 116, 116, 116,
    -00055                 116, 116, 116, 116, 116, 116, 116, 116, 116, 117, 117, 117, 117, 117, 117, 117,
    -00056                 117, 117, 117, 117, 117, 117, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
    -00057                 118, 118, 118, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
    -00058                 119, 119, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
    -00059                 120, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
    -00060                 121, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
    -00061                 122, 122, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
    -00062                 123, 123, 123, 123, 123, 123, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
    -00063                 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 125, 125, 125, 125,
    -00064                 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    -00065                 125, 125, 125, 125, 125, 125, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    -00066                 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    -00067                 126, 126, 126, 126, 126, 126, 126, 126, 127, 127, 127, 127, 127, 127, 127, 127,
    -00068                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00069                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00070                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00071                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00072                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00073                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00074                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00075                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00076                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00077                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 126, 126, 126, 126, 126,
    -00078                 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    -00079                 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 125, 125, 125,
    -00080                 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    -00081                 125, 125, 125, 125, 125, 125, 125, 124, 124, 124, 124, 124, 124, 124, 124, 124,
    -00082                 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 123, 123, 123,
    -00083                 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
    -00084                 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
    -00085                 122, 122, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
    -00086                 121, 121, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
    -00087                 120, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
    -00088                 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 117, 117, 117,
    -00089                 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 116, 116, 116, 116, 116, 116,
    -00090                 116, 116, 116, 116, 116, 116, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
    -00091                 115, 115, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 113, 113, 113,
    -00092                 113, 113, 113, 113, 113, 113, 113, 113, 112, 112, 112, 112, 112, 112, 112, 112,
    -00093                 112, 112, 112, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 110, 110, 110,
    -00094                 110, 110, 110, 110, 110, 110, 110, 109, 109, 109, 109, 109, 109, 109, 109, 109,
    -00095                 109, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 107, 107, 107, 107, 107,
    -00096                 107, 107, 107, 107, 106, 106, 106, 106, 106, 106, 106, 106, 106, 105, 105, 105,
    -00097                 105, 105, 105, 105, 105, 105, 104, 104, 104, 104, 104, 104, 104, 104, 104, 103,
    -00098                 103, 103, 103, 103, 103, 103, 103, 103, 102, 102, 102, 102, 102, 102, 102, 102,
    -00099                 101, 101, 101, 101, 101, 101, 101, 101, 101, 100, 100, 100, 100, 100, 100, 100,
    -00100                 100, 99, 99, 99, 99, 99, 99, 99, 99, 98, 98, 98, 98, 98, 98, 98, 98, 97, 97, 97,
    -00101                 97, 97, 97, 97, 97, 96, 96, 96, 96, 96, 96, 96, 96, 95, 95, 95, 95, 95, 95, 95,
    -00102                 94, 94, 94, 94, 94, 94, 94, 94, 93, 93, 93, 93, 93, 93, 93, 92, 92, 92, 92, 92,
    -00103                 92, 92, 92, 91, 91, 91, 91, 91, 91, 91, 90, 90, 90, 90, 90, 90, 90, 89, 89, 89,
    -00104                 89, 89, 89, 89, 88, 88, 88, 88, 88, 88, 88, 87, 87, 87, 87, 87, 87, 87, 86, 86,
    -00105                 86, 86, 86, 86, 86, 85, 85, 85, 85, 85, 85, 85, 84, 84, 84, 84, 84, 84, 84, 83,
    -00106                 83, 83, 83, 83, 83, 83, 82, 82, 82, 82, 82, 82, 81, 81, 81, 81, 81, 81, 81, 80,
    -00107                 80, 80, 80, 80, 80, 79, 79, 79, 79, 79, 79, 79, 78, 78, 78, 78, 78, 78, 77, 77,
    -00108                 77, 77, 77, 77, 77, 76, 76, 76, 76, 76, 76, 75, 75, 75, 75, 75, 75, 74, 74, 74,
    -00109                 74, 74, 74, 74, 73, 73, 73, 73, 73, 73, 72, 72, 72, 72, 72, 72, 71, 71, 71, 71,
    -00110                 71, 71, 70, 70, 70, 70, 70, 70, 69, 69, 69, 69, 69, 69, 68, 68, 68, 68, 68, 68,
    -00111                 67, 67, 67, 67, 67, 67, 66, 66, 66, 66, 66, 66, 65, 65, 65, 65, 65, 65, 64, 64,
    -00112                 64, 64, 64, 64, 63, 63, 63, 63, 63, 63, 62, 62, 62, 62, 62, 62, 61, 61, 61, 61,
    -00113                 61, 61, 60, 60, 60, 60, 60, 59, 59, 59, 59, 59, 59, 58, 58, 58, 58, 58, 58, 57,
    -00114                 57, 57, 57, 57, 57, 56, 56, 56, 56, 56, 55, 55, 55, 55, 55, 55, 54, 54, 54, 54,
    -00115                 54, 54, 53, 53, 53, 53, 53, 52, 52, 52, 52, 52, 52, 51, 51, 51, 51, 51, 50, 50,
    -00116                 50, 50, 50, 50, 49, 49, 49, 49, 49, 48, 48, 48, 48, 48, 48, 47, 47, 47, 47, 47,
    -00117                 46, 46, 46, 46, 46, 46, 45, 45, 45, 45, 45, 44, 44, 44, 44, 44, 44, 43, 43, 43,
    -00118                 43, 43, 42, 42, 42, 42, 42, 42, 41, 41, 41, 41, 41, 40, 40, 40, 40, 40, 39, 39,
    -00119                 39, 39, 39, 39, 38, 38, 38, 38, 38, 37, 37, 37, 37, 37, 36, 36, 36, 36, 36, 36,
    -00120                 35, 35, 35, 35, 35, 34, 34, 34, 34, 34, 34, 33, 33, 32, 33, 33, 32, 32, 32, 32,
    -00121                 32, 31, 31, 31, 31, 31, 30, 30, 30, 30, 30, 29, 29, 29, 29, 29, 29, 28, 28, 28,
    -00122                 28, 28, 27, 27, 27, 27, 27, 26, 26, 26, 26, 26, 25, 25, 25, 25, 25, 24, 24, 24,
    -00123                 24, 24, 24, 23, 23, 23, 23, 23, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 20, 20,
    -00124                 20, 20, 20, 19, 19, 19, 19, 19, 18, 18, 18, 18, 18, 18, 17, 17, 17, 17, 17, 16,
    -00125                 16, 16, 16, 16, 15, 15, 15, 15, 15, 14, 14, 14, 14, 14, 13, 13, 13, 13, 13, 12,
    -00126                 12, 12, 12, 12, 11, 11, 11, 11, 11, 10, 10, 10, 10, 10, 9, 9, 9, 9, 9, 9, 8, 8,
    -00127                 8, 8, 8, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 3, 3, 3, 3,
    -00128                 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -2, -2,
    -00129                 -2, -2, -2, -3, -3, -3, -3, -3, -4, -4, -4, -4, -4, -5, -5, -5, -5, -5, -6, -6,
    -00130                 -6, -6, -6, -7, -7, -7, -7, -7, -8, -8, -8, -8, -8, -9, -9, -9, -9, -9, -10,
    -00131                 -10, -10, -10, -10, -11, -11, -11, -11, -11, -11, -12, -12, -12, -12, -12, -13,
    -00132                 -13, -13, -13, -13, -14, -14, -14, -14, -14, -15, -15, -15, -15, -15, -16, -16,
    -00133                 -16, -16, -16, -17, -17, -17, -17, -17, -18, -18, -18, -18, -18, -19, -19, -19,
    -00134                 -19, -19, -19, -20, -20, -20, -20, -20, -21, -21, -21, -21, -21, -22, -22, -22,
    -00135                 -22, -22, -23, -23, -23, -23, -23, -24, -24, -24, -24, -24, -25, -25, -25, -25,
    -00136                 -25, -25, -26, -26, -26, -26, -26, -27, -27, -27, -27, -27, -28, -28, -28, -28,
    -00137                 -28, -29, -29, -29, -29, -29, -29, -30, -30, -30, -30, -30, -31, -31, -31, -31,
    -00138                 -31, -32, -32, -32, -32, -32, -33, -33, -33, -33, -33, -34, -34, -34, -34, -34,
    -00139                 -34, -35, -35, -35, -35, -35, -36, -36, -36, -36, -36, -37, -37, -37, -37, -37,
    -00140                 -37, -38, -38, -38, -38, -38, -39, -39, -39, -39, -39, -40, -40, -40, -40, -40,
    -00141                 -40, -41, -41, -41, -41, -41, -42, -42, -42, -42, -42, -42, -43, -43, -43, -43,
    -00142                 -43, -44, -44, -44, -44, -44, -45, -45, -45, -45, -45, -45, -46, -46, -46, -46,
    -00143                 -46, -47, -47, -47, -47, -47, -47, -48, -48, -48, -48, -48, -49, -49, -49, -49,
    -00144                 -49, -49, -50, -50, -50, -50, -50, -51, -51, -51, -51, -51, -51, -52, -52, -52,
    -00145                 -52, -52, -53, -53, -53, -53, -53, -53, -54, -54, -54, -54, -54, -55, -55, -55,
    -00146                 -55, -55, -55, -56, -56, -56, -56, -56, -56, -57, -57, -57, -57, -57, -58, -58,
    -00147                 -58, -58, -58, -58, -59, -59, -59, -59, -59, -59, -60, -60, -60, -60, -60, -60,
    -00148                 -61, -61, -61, -61, -61, -62, -62, -62, -62, -62, -62, -63, -63, -63, -63, -63,
    -00149                 -63, -64, -64, -64, -64, -64, -64, -65, -65, -65, -65, -65, -65, -66, -66, -66,
    -00150                 -66, -66, -66, -67, -67, -67, -67, -67, -67, -68, -68, -68, -68, -68, -68, -69,
    -00151                 -69, -69, -69, -69, -69, -70, -70, -70, -70, -70, -70, -71, -71, -71, -71, -71,
    -00152                 -71, -72, -72, -72, -72, -72, -72, -73, -73, -73, -73, -73, -73, -74, -74, -74,
    -00153                 -74, -74, -74, -75, -75, -75, -75, -75, -75, -75, -76, -76, -76, -76, -76, -76,
    -00154                 -77, -77, -77, -77, -77, -77, -78, -78, -78, -78, -78, -78, -78, -79, -79, -79,
    -00155                 -79, -79, -79, -80, -80, -80, -80, -80, -80, -80, -81, -81, -81, -81, -81, -81,
    -00156                 -82, -82, -82, -82, -82, -82, -82, -83, -83, -83, -83, -83, -83, -84, -84, -84,
    -00157                 -84, -84, -84, -84, -85, -85, -85, -85, -85, -85, -85, -86, -86, -86, -86, -86,
    -00158                 -86, -86, -87, -87, -87, -87, -87, -87, -87, -88, -88, -88, -88, -88, -88, -88,
    -00159                 -89, -89, -89, -89, -89, -89, -89, -90, -90, -90, -90, -90, -90, -90, -91, -91,
    -00160                 -91, -91, -91, -91, -91, -92, -92, -92, -92, -92, -92, -92, -93, -93, -93, -93,
    -00161                 -93, -93, -93, -93, -94, -94, -94, -94, -94, -94, -94, -95, -95, -95, -95, -95,
    -00162                 -95, -95, -95, -96, -96, -96, -96, -96, -96, -96, -97, -97, -97, -97, -97, -97,
    -00163                 -97, -97, -98, -98, -98, -98, -98, -98, -98, -98, -99, -99, -99, -99, -99, -99,
    -00164                 -99, -99, -100, -100, -100, -100, -100, -100, -100, -100, -101, -101, -101,
    -00165                 -101, -101, -101, -101, -101, -102, -102, -102, -102, -102, -102, -102, -102,
    -00166                 -102, -103, -103, -103, -103, -103, -103, -103, -103, -104, -104, -104, -104,
    -00167                 -104, -104, -104, -104, -104, -105, -105, -105, -105, -105, -105, -105, -105,
    -00168                 -105, -106, -106, -106, -106, -106, -106, -106, -106, -106, -107, -107, -107,
    -00169                 -107, -107, -107, -107, -107, -107, -108, -108, -108, -108, -108, -108, -108,
    -00170                 -108, -108, -109, -109, -109, -109, -109, -109, -109, -109, -109, -109, -110,
    -00171                 -110, -110, -110, -110, -110, -110, -110, -110, -110, -111, -111, -111, -111,
    -00172                 -111, -111, -111, -111, -111, -111, -112, -112, -112, -112, -112, -112, -112,
    -00173                 -112, -112, -112, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    -00174                 -113, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -115,
    -00175                 -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -116, -116, -116,
    -00176                 -116, -116, -116, -116, -116, -116, -116, -116, -116, -117, -117, -117, -117,
    -00177                 -117, -117, -117, -117, -117, -117, -117, -117, -118, -118, -118, -118, -118,
    -00178                 -118, -118, -118, -118, -118, -118, -118, -118, -119, -119, -119, -119, -119,
    -00179                 -119, -119, -119, -119, -119, -119, -119, -119, -119, -120, -120, -120, -120,
    -00180                 -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -121, -121, -121,
    -00181                 -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -122,
    -00182                 -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    -00183                 -122, -122, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    -00184                 -123, -123, -123, -123, -123, -123, -123, -124, -124, -124, -124, -124, -124,
    -00185                 -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    -00186                 -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    -00187                 -125, -125, -125, -125, -125, -125, -125, -125, -125, -126, -126, -126, -126,
    -00188                 -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    -00189                 -126, -126, -126, -126, -126, -126, -126, -126, -126, -127, -127, -127, -127,
    -00190                 -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    -00191                 -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    -00192                 -127, -127, -127, -127, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00193                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00194                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00195                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00196                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00197                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00198                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00199                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00200                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00201                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00202                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00203                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00204                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -127, -127,
    -00205                 -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    -00206                 -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    -00207                 -127, -127, -127, -127, -127, -127, -126, -126, -126, -126, -126, -126, -126,
    -00208                 -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    -00209                 -126, -126, -126, -126, -126, -126, -125, -125, -125, -125, -125, -125, -125,
    -00210                 -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    -00211                 -125, -125, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    -00212                 -124, -124, -124, -124, -124, -124, -124, -124, -123, -123, -123, -123, -123,
    -00213                 -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    -00214                 -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    -00215                 -122, -122, -122, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
    -00216                 -121, -121, -121, -121, -121, -120, -120, -120, -120, -120, -120, -120, -120,
    -00217                 -120, -120, -120, -120, -120, -120, -119, -119, -119, -119, -119, -119, -119,
    -00218                 -119, -119, -119, -119, -119, -119, -119, -118, -118, -118, -118, -118, -118,
    -00219                 -118, -118, -118, -118, -118, -118, -118, -117, -117, -117, -117, -117, -117,
    -00220                 -117, -117, -117, -117, -117, -117, -116, -116, -116, -116, -116, -116, -116,
    -00221                 -116, -116, -116, -116, -116, -115, -115, -115, -115, -115, -115, -115, -115,
    -00222                 -115, -115, -115, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
    -00223                 -114, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -112,
    -00224                 -112, -112, -112, -112, -112, -112, -112, -112, -112, -111, -111, -111, -111,
    -00225                 -111, -111, -111, -111, -111, -111, -110, -110, -110, -110, -110, -110, -110,
    -00226                 -110, -110, -110, -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    -00227                 -108, -108, -108, -108, -108, -108, -108, -108, -108, -107, -107, -107, -107,
    -00228                 -107, -107, -107, -107, -107, -106, -106, -106, -106, -106, -106, -106, -106,
    -00229                 -106, -105, -105, -105, -105, -105, -105, -105, -105, -105, -104, -104, -104,
    -00230                 -104, -104, -104, -104, -104, -104, -103, -103, -103, -103, -103, -103, -103,
    -00231                 -103, -102, -102, -102, -102, -102, -102, -102, -102, -102, -101, -101, -101,
    -00232                 -101, -101, -101, -101, -101, -100, -100, -100, -100, -100, -100, -100, -100,
    -00233                 -99, -99, -99, -99, -99, -99, -99, -99, -98, -98, -98, -98, -98, -98, -98, -98,
    -00234                 -97, -97, -97, -97, -97, -97, -97, -97, -96, -96, -96, -96, -96, -96, -96, -95,
    -00235                 -95, -95, -95, -95, -95, -95, -95, -94, -94, -94, -94, -94, -94, -94, -93, -93,
    -00236                 -93, -93, -93, -93, -93, -93, -92, -92, -92, -92, -92, -92, -92, -91, -91, -91,
    -00237                 -91, -91, -91, -91, -90, -90, -90, -90, -90, -90, -90, -89, -89, -89, -89, -89,
    -00238                 -89, -89, -88, -88, -88, -88, -88, -88, -88, -87, -87, -87, -87, -87, -87, -87,
    -00239                 -86, -86, -86, -86, -86, -86, -86, -85, -85, -85, -85, -85, -85, -85, -84, -84,
    -00240                 -84, -84, -84, -84, -84, -83, -83, -83, -83, -83, -83, -82, -82, -82, -82, -82,
    -00241                 -82, -82, -81, -81, -81, -81, -81, -81, -80, -80, -80, -80, -80, -80, -80, -79,
    -00242                 -79, -79, -79, -79, -79, -78, -78, -78, -78, -78, -78, -78, -77, -77, -77, -77,
    -00243                 -77, -77, -76, -76, -76, -76, -76, -76, -75, -75, -75, -75, -75, -75, -75, -74,
    -00244                 -74, -74, -74, -74, -74, -73, -73, -73, -73, -73, -73, -72, -72, -72, -72, -72,
    -00245                 -72, -71, -71, -71, -71, -71, -71, -70, -70, -70, -70, -70, -70, -69, -69, -69,
    -00246                 -69, -69, -69, -68, -68, -68, -68, -68, -68, -67, -67, -67, -67, -67, -67, -66,
    -00247                 -66, -66, -66, -66, -66, -65, -65, -65, -65, -65, -65, -64, -64, -64, -64, -64,
    -00248                 -64, -63, -63, -63, -63, -63, -63, -62, -62, -62, -62, -62, -62, -61, -61, -61,
    -00249                 -61, -61, -60, -60, -60, -60, -60, -60, -59, -59, -59, -59, -59, -59, -58, -58,
    -00250                 -58, -58, -58, -58, -57, -57, -57, -57, -57, -56, -56, -56, -56, -56, -56, -55,
    -00251                 -55, -55, -55, -55, -55, -54, -54, -54, -54, -54, -53, -53, -53, -53, -53, -53,
    -00252                 -52, -52, -52, -52, -52, -51, -51, -51, -51, -51, -51, -50, -50, -50, -50, -50,
    -00253                 -49, -49, -49, -49, -49, -49, -48, -48, -48, -48, -48, -47, -47, -47, -47, -47,
    -00254                 -47, -46, -46, -46, -46, -46, -45, -45, -45, -45, -45, -45, -44, -44, -44, -44,
    -00255                 -44, -43, -43, -43, -43, -43, -43, -42, -42, -42, -42, -42, -41, -41, -41, -41,
    -00256                 -41, -40, -40, -40, -40, -40, -40, -39, -39, -39, -39, -39, -38, -38, -38, -38,
    -00257                 -38, -37, -37, -37, -37, -37, -37, -36, -36, -36, -36, -36, -35, -35, -35, -35,
    -00258                 -35, -34, -34, -34, -34, -34, -33, -33, -33, -33, -33, -33, -32, -32, -32, -32,
    -00259                 -32, -31, -31, -31, -31, -31, -30, -30, -30, -30, -30, -29, -29, -29, -29, -29,
    -00260                 -29, -28, -28, -28, -28, -28, -27, -27, -27, -27, -27, -26, -26, -26, -26, -26,
    -00261                 -25, -25, -25, -25, -25, -25, -24, -24, -24, -24, -24, -23, -23, -23, -23, -23,
    -00262                 -22, -22, -22, -22, -22, -21, -21, -21, -21, -21, -20, -20, -20, -20, -20, -19,
    -00263                 -19, -19, -19, -19, -18, -18, -18, -18, -18, -18, -17, -17, -17, -17, -17, -16,
    -00264                 -16, -16, -16, -16, -15, -15, -15, -15, -15, -14, -14, -14, -14, -14, -13, -13,
    -00265                 -13, -13, -13, -12, -12, -12, -12, -12, -11, -11, -11, -11, -11, -11, -10, -10,
    -00266                 -10, -10, -10, -9, -9, -9, -9, -9, -8, -8, -8, -8, -8, -7, -7, -7, -7, -7, -6,
    -00267                 -6, -6, -6, -6, -5, -5, -5, -5, -5, -4, -4, -4, -4, -4, -3, -3, -3, -3, -3, -2,
    -00268                 -2, -2, -2, -2, -1, -1, -1, -1, -1,
    -00269         };
    -00270 
    -00271 #endif /* SIN4096_H_ */
    -
    - - - - +
    1 #ifndef SIN4096_H_
    +
    2 #define SIN4096_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 #define SIN4096_NUM_CELLS 4096
    +
    12 #define SIN4096_SAMPLERATE 4096
    +
    13 
    +
    14 const char __attribute__((progmem)) SIN4096_DATA [] =
    +
    15  {
    +
    16  0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2,
    +
    17  2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7,
    +
    18  8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 12,
    +
    19  12, 12, 12, 12, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 16,
    +
    20  16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19,
    +
    21  20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23,
    +
    22  24, 24, 24, 24, 24, 24, 25, 25, 25, 25, 25, 26, 26, 26, 26, 26, 27, 27, 27, 27,
    +
    23  27, 28, 28, 28, 28, 28, 28, 29, 29, 29, 29, 29, 30, 30, 30, 30, 30, 31, 31, 31,
    +
    24  31, 31, 32, 32, 32, 32, 32, 33, 33, 32, 33, 33, 34, 34, 34, 34, 34, 34, 35, 35,
    +
    25  35, 35, 35, 36, 36, 36, 36, 36, 36, 37, 37, 37, 37, 37, 38, 38, 38, 38, 38, 39,
    +
    26  39, 39, 39, 39, 39, 40, 40, 40, 40, 40, 41, 41, 41, 41, 41, 42, 42, 42, 42, 42,
    +
    27  42, 43, 43, 43, 43, 43, 44, 44, 44, 44, 44, 44, 45, 45, 45, 45, 45, 46, 46, 46,
    +
    28  46, 46, 46, 47, 47, 47, 47, 47, 48, 48, 48, 48, 48, 48, 49, 49, 49, 49, 49, 50,
    +
    29  50, 50, 50, 50, 50, 51, 51, 51, 51, 51, 52, 52, 52, 52, 52, 52, 53, 53, 53, 53,
    +
    30  53, 54, 54, 54, 54, 54, 54, 55, 55, 55, 55, 55, 55, 56, 56, 56, 56, 56, 57, 57,
    +
    31  57, 57, 57, 57, 58, 58, 58, 58, 58, 58, 59, 59, 59, 59, 59, 59, 60, 60, 60, 60,
    +
    32  60, 61, 61, 61, 61, 61, 61, 62, 62, 62, 62, 62, 62, 63, 63, 63, 63, 63, 63, 64,
    +
    33  64, 64, 64, 64, 64, 65, 65, 65, 65, 65, 65, 66, 66, 66, 66, 66, 66, 67, 67, 67,
    +
    34  67, 67, 67, 68, 68, 68, 68, 68, 68, 69, 69, 69, 69, 69, 69, 70, 70, 70, 70, 70,
    +
    35  70, 71, 71, 71, 71, 71, 71, 72, 72, 72, 72, 72, 72, 73, 73, 73, 73, 73, 73, 74,
    +
    36  74, 74, 74, 74, 74, 74, 75, 75, 75, 75, 75, 75, 76, 76, 76, 76, 76, 76, 77, 77,
    +
    37  77, 77, 77, 77, 77, 78, 78, 78, 78, 78, 78, 79, 79, 79, 79, 79, 79, 79, 80, 80,
    +
    38  80, 80, 80, 80, 81, 81, 81, 81, 81, 81, 81, 82, 82, 82, 82, 82, 82, 83, 83, 83,
    +
    39  83, 83, 83, 83, 84, 84, 84, 84, 84, 84, 84, 85, 85, 85, 85, 85, 85, 85, 86, 86,
    +
    40  86, 86, 86, 86, 86, 87, 87, 87, 87, 87, 87, 87, 88, 88, 88, 88, 88, 88, 88, 89,
    +
    41  89, 89, 89, 89, 89, 89, 90, 90, 90, 90, 90, 90, 90, 91, 91, 91, 91, 91, 91, 91,
    +
    42  92, 92, 92, 92, 92, 92, 92, 92, 93, 93, 93, 93, 93, 93, 93, 94, 94, 94, 94, 94,
    +
    43  94, 94, 94, 95, 95, 95, 95, 95, 95, 95, 96, 96, 96, 96, 96, 96, 96, 96, 97, 97,
    +
    44  97, 97, 97, 97, 97, 97, 98, 98, 98, 98, 98, 98, 98, 98, 99, 99, 99, 99, 99, 99,
    +
    45  99, 99, 100, 100, 100, 100, 100, 100, 100, 100, 101, 101, 101, 101, 101, 101,
    +
    46  101, 101, 101, 102, 102, 102, 102, 102, 102, 102, 102, 103, 103, 103, 103, 103,
    +
    47  103, 103, 103, 103, 104, 104, 104, 104, 104, 104, 104, 104, 104, 105, 105, 105,
    +
    48  105, 105, 105, 105, 105, 105, 106, 106, 106, 106, 106, 106, 106, 106, 106, 107,
    +
    49  107, 107, 107, 107, 107, 107, 107, 107, 108, 108, 108, 108, 108, 108, 108, 108,
    +
    50  108, 108, 109, 109, 109, 109, 109, 109, 109, 109, 109, 110, 110, 110, 110, 110,
    +
    51  110, 110, 110, 110, 110, 110, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
    +
    52  112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 113, 113, 113, 113, 113,
    +
    53  113, 113, 113, 113, 113, 113, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
    +
    54  114, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 116, 116, 116,
    +
    55  116, 116, 116, 116, 116, 116, 116, 116, 116, 117, 117, 117, 117, 117, 117, 117,
    +
    56  117, 117, 117, 117, 117, 117, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
    +
    57  118, 118, 118, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
    +
    58  119, 119, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
    +
    59  120, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
    +
    60  121, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
    +
    61  122, 122, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
    +
    62  123, 123, 123, 123, 123, 123, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
    +
    63  124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 125, 125, 125, 125,
    +
    64  125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    +
    65  125, 125, 125, 125, 125, 125, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    +
    66  126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    +
    67  126, 126, 126, 126, 126, 126, 126, 126, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    68  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    69  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    70  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    71  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    72  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    73  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    74  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    75  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    76  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    77  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 126, 126, 126, 126, 126,
    +
    78  126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    +
    79  126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 125, 125, 125,
    +
    80  125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    +
    81  125, 125, 125, 125, 125, 125, 125, 124, 124, 124, 124, 124, 124, 124, 124, 124,
    +
    82  124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 123, 123, 123,
    +
    83  123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
    +
    84  122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
    +
    85  122, 122, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
    +
    86  121, 121, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
    +
    87  120, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
    +
    88  118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 117, 117, 117,
    +
    89  117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 116, 116, 116, 116, 116, 116,
    +
    90  116, 116, 116, 116, 116, 116, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
    +
    91  115, 115, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 113, 113, 113,
    +
    92  113, 113, 113, 113, 113, 113, 113, 113, 112, 112, 112, 112, 112, 112, 112, 112,
    +
    93  112, 112, 112, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 110, 110, 110,
    +
    94  110, 110, 110, 110, 110, 110, 110, 109, 109, 109, 109, 109, 109, 109, 109, 109,
    +
    95  109, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 107, 107, 107, 107, 107,
    +
    96  107, 107, 107, 107, 106, 106, 106, 106, 106, 106, 106, 106, 106, 105, 105, 105,
    +
    97  105, 105, 105, 105, 105, 105, 104, 104, 104, 104, 104, 104, 104, 104, 104, 103,
    +
    98  103, 103, 103, 103, 103, 103, 103, 103, 102, 102, 102, 102, 102, 102, 102, 102,
    +
    99  101, 101, 101, 101, 101, 101, 101, 101, 101, 100, 100, 100, 100, 100, 100, 100,
    +
    100  100, 99, 99, 99, 99, 99, 99, 99, 99, 98, 98, 98, 98, 98, 98, 98, 98, 97, 97, 97,
    +
    101  97, 97, 97, 97, 97, 96, 96, 96, 96, 96, 96, 96, 96, 95, 95, 95, 95, 95, 95, 95,
    +
    102  94, 94, 94, 94, 94, 94, 94, 94, 93, 93, 93, 93, 93, 93, 93, 92, 92, 92, 92, 92,
    +
    103  92, 92, 92, 91, 91, 91, 91, 91, 91, 91, 90, 90, 90, 90, 90, 90, 90, 89, 89, 89,
    +
    104  89, 89, 89, 89, 88, 88, 88, 88, 88, 88, 88, 87, 87, 87, 87, 87, 87, 87, 86, 86,
    +
    105  86, 86, 86, 86, 86, 85, 85, 85, 85, 85, 85, 85, 84, 84, 84, 84, 84, 84, 84, 83,
    +
    106  83, 83, 83, 83, 83, 83, 82, 82, 82, 82, 82, 82, 81, 81, 81, 81, 81, 81, 81, 80,
    +
    107  80, 80, 80, 80, 80, 79, 79, 79, 79, 79, 79, 79, 78, 78, 78, 78, 78, 78, 77, 77,
    +
    108  77, 77, 77, 77, 77, 76, 76, 76, 76, 76, 76, 75, 75, 75, 75, 75, 75, 74, 74, 74,
    +
    109  74, 74, 74, 74, 73, 73, 73, 73, 73, 73, 72, 72, 72, 72, 72, 72, 71, 71, 71, 71,
    +
    110  71, 71, 70, 70, 70, 70, 70, 70, 69, 69, 69, 69, 69, 69, 68, 68, 68, 68, 68, 68,
    +
    111  67, 67, 67, 67, 67, 67, 66, 66, 66, 66, 66, 66, 65, 65, 65, 65, 65, 65, 64, 64,
    +
    112  64, 64, 64, 64, 63, 63, 63, 63, 63, 63, 62, 62, 62, 62, 62, 62, 61, 61, 61, 61,
    +
    113  61, 61, 60, 60, 60, 60, 60, 59, 59, 59, 59, 59, 59, 58, 58, 58, 58, 58, 58, 57,
    +
    114  57, 57, 57, 57, 57, 56, 56, 56, 56, 56, 55, 55, 55, 55, 55, 55, 54, 54, 54, 54,
    +
    115  54, 54, 53, 53, 53, 53, 53, 52, 52, 52, 52, 52, 52, 51, 51, 51, 51, 51, 50, 50,
    +
    116  50, 50, 50, 50, 49, 49, 49, 49, 49, 48, 48, 48, 48, 48, 48, 47, 47, 47, 47, 47,
    +
    117  46, 46, 46, 46, 46, 46, 45, 45, 45, 45, 45, 44, 44, 44, 44, 44, 44, 43, 43, 43,
    +
    118  43, 43, 42, 42, 42, 42, 42, 42, 41, 41, 41, 41, 41, 40, 40, 40, 40, 40, 39, 39,
    +
    119  39, 39, 39, 39, 38, 38, 38, 38, 38, 37, 37, 37, 37, 37, 36, 36, 36, 36, 36, 36,
    +
    120  35, 35, 35, 35, 35, 34, 34, 34, 34, 34, 34, 33, 33, 32, 33, 33, 32, 32, 32, 32,
    +
    121  32, 31, 31, 31, 31, 31, 30, 30, 30, 30, 30, 29, 29, 29, 29, 29, 29, 28, 28, 28,
    +
    122  28, 28, 27, 27, 27, 27, 27, 26, 26, 26, 26, 26, 25, 25, 25, 25, 25, 24, 24, 24,
    +
    123  24, 24, 24, 23, 23, 23, 23, 23, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 20, 20,
    +
    124  20, 20, 20, 19, 19, 19, 19, 19, 18, 18, 18, 18, 18, 18, 17, 17, 17, 17, 17, 16,
    +
    125  16, 16, 16, 16, 15, 15, 15, 15, 15, 14, 14, 14, 14, 14, 13, 13, 13, 13, 13, 12,
    +
    126  12, 12, 12, 12, 11, 11, 11, 11, 11, 10, 10, 10, 10, 10, 9, 9, 9, 9, 9, 9, 8, 8,
    +
    127  8, 8, 8, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 3, 3, 3, 3,
    +
    128  3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -2, -2,
    +
    129  -2, -2, -2, -3, -3, -3, -3, -3, -4, -4, -4, -4, -4, -5, -5, -5, -5, -5, -6, -6,
    +
    130  -6, -6, -6, -7, -7, -7, -7, -7, -8, -8, -8, -8, -8, -9, -9, -9, -9, -9, -10,
    +
    131  -10, -10, -10, -10, -11, -11, -11, -11, -11, -11, -12, -12, -12, -12, -12, -13,
    +
    132  -13, -13, -13, -13, -14, -14, -14, -14, -14, -15, -15, -15, -15, -15, -16, -16,
    +
    133  -16, -16, -16, -17, -17, -17, -17, -17, -18, -18, -18, -18, -18, -19, -19, -19,
    +
    134  -19, -19, -19, -20, -20, -20, -20, -20, -21, -21, -21, -21, -21, -22, -22, -22,
    +
    135  -22, -22, -23, -23, -23, -23, -23, -24, -24, -24, -24, -24, -25, -25, -25, -25,
    +
    136  -25, -25, -26, -26, -26, -26, -26, -27, -27, -27, -27, -27, -28, -28, -28, -28,
    +
    137  -28, -29, -29, -29, -29, -29, -29, -30, -30, -30, -30, -30, -31, -31, -31, -31,
    +
    138  -31, -32, -32, -32, -32, -32, -33, -33, -33, -33, -33, -34, -34, -34, -34, -34,
    +
    139  -34, -35, -35, -35, -35, -35, -36, -36, -36, -36, -36, -37, -37, -37, -37, -37,
    +
    140  -37, -38, -38, -38, -38, -38, -39, -39, -39, -39, -39, -40, -40, -40, -40, -40,
    +
    141  -40, -41, -41, -41, -41, -41, -42, -42, -42, -42, -42, -42, -43, -43, -43, -43,
    +
    142  -43, -44, -44, -44, -44, -44, -45, -45, -45, -45, -45, -45, -46, -46, -46, -46,
    +
    143  -46, -47, -47, -47, -47, -47, -47, -48, -48, -48, -48, -48, -49, -49, -49, -49,
    +
    144  -49, -49, -50, -50, -50, -50, -50, -51, -51, -51, -51, -51, -51, -52, -52, -52,
    +
    145  -52, -52, -53, -53, -53, -53, -53, -53, -54, -54, -54, -54, -54, -55, -55, -55,
    +
    146  -55, -55, -55, -56, -56, -56, -56, -56, -56, -57, -57, -57, -57, -57, -58, -58,
    +
    147  -58, -58, -58, -58, -59, -59, -59, -59, -59, -59, -60, -60, -60, -60, -60, -60,
    +
    148  -61, -61, -61, -61, -61, -62, -62, -62, -62, -62, -62, -63, -63, -63, -63, -63,
    +
    149  -63, -64, -64, -64, -64, -64, -64, -65, -65, -65, -65, -65, -65, -66, -66, -66,
    +
    150  -66, -66, -66, -67, -67, -67, -67, -67, -67, -68, -68, -68, -68, -68, -68, -69,
    +
    151  -69, -69, -69, -69, -69, -70, -70, -70, -70, -70, -70, -71, -71, -71, -71, -71,
    +
    152  -71, -72, -72, -72, -72, -72, -72, -73, -73, -73, -73, -73, -73, -74, -74, -74,
    +
    153  -74, -74, -74, -75, -75, -75, -75, -75, -75, -75, -76, -76, -76, -76, -76, -76,
    +
    154  -77, -77, -77, -77, -77, -77, -78, -78, -78, -78, -78, -78, -78, -79, -79, -79,
    +
    155  -79, -79, -79, -80, -80, -80, -80, -80, -80, -80, -81, -81, -81, -81, -81, -81,
    +
    156  -82, -82, -82, -82, -82, -82, -82, -83, -83, -83, -83, -83, -83, -84, -84, -84,
    +
    157  -84, -84, -84, -84, -85, -85, -85, -85, -85, -85, -85, -86, -86, -86, -86, -86,
    +
    158  -86, -86, -87, -87, -87, -87, -87, -87, -87, -88, -88, -88, -88, -88, -88, -88,
    +
    159  -89, -89, -89, -89, -89, -89, -89, -90, -90, -90, -90, -90, -90, -90, -91, -91,
    +
    160  -91, -91, -91, -91, -91, -92, -92, -92, -92, -92, -92, -92, -93, -93, -93, -93,
    +
    161  -93, -93, -93, -93, -94, -94, -94, -94, -94, -94, -94, -95, -95, -95, -95, -95,
    +
    162  -95, -95, -95, -96, -96, -96, -96, -96, -96, -96, -97, -97, -97, -97, -97, -97,
    +
    163  -97, -97, -98, -98, -98, -98, -98, -98, -98, -98, -99, -99, -99, -99, -99, -99,
    +
    164  -99, -99, -100, -100, -100, -100, -100, -100, -100, -100, -101, -101, -101,
    +
    165  -101, -101, -101, -101, -101, -102, -102, -102, -102, -102, -102, -102, -102,
    +
    166  -102, -103, -103, -103, -103, -103, -103, -103, -103, -104, -104, -104, -104,
    +
    167  -104, -104, -104, -104, -104, -105, -105, -105, -105, -105, -105, -105, -105,
    +
    168  -105, -106, -106, -106, -106, -106, -106, -106, -106, -106, -107, -107, -107,
    +
    169  -107, -107, -107, -107, -107, -107, -108, -108, -108, -108, -108, -108, -108,
    +
    170  -108, -108, -109, -109, -109, -109, -109, -109, -109, -109, -109, -109, -110,
    +
    171  -110, -110, -110, -110, -110, -110, -110, -110, -110, -111, -111, -111, -111,
    +
    172  -111, -111, -111, -111, -111, -111, -112, -112, -112, -112, -112, -112, -112,
    +
    173  -112, -112, -112, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +
    174  -113, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -115,
    +
    175  -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -116, -116, -116,
    +
    176  -116, -116, -116, -116, -116, -116, -116, -116, -116, -117, -117, -117, -117,
    +
    177  -117, -117, -117, -117, -117, -117, -117, -117, -118, -118, -118, -118, -118,
    +
    178  -118, -118, -118, -118, -118, -118, -118, -118, -119, -119, -119, -119, -119,
    +
    179  -119, -119, -119, -119, -119, -119, -119, -119, -119, -120, -120, -120, -120,
    +
    180  -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -121, -121, -121,
    +
    181  -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -122,
    +
    182  -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    +
    183  -122, -122, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +
    184  -123, -123, -123, -123, -123, -123, -123, -124, -124, -124, -124, -124, -124,
    +
    185  -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +
    186  -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +
    187  -125, -125, -125, -125, -125, -125, -125, -125, -125, -126, -126, -126, -126,
    +
    188  -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +
    189  -126, -126, -126, -126, -126, -126, -126, -126, -126, -127, -127, -127, -127,
    +
    190  -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +
    191  -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +
    192  -127, -127, -127, -127, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    193  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    194  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    195  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    196  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    197  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    198  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    199  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    200  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    201  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    202  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    203  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    204  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -127, -127,
    +
    205  -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +
    206  -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +
    207  -127, -127, -127, -127, -127, -127, -126, -126, -126, -126, -126, -126, -126,
    +
    208  -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +
    209  -126, -126, -126, -126, -126, -126, -125, -125, -125, -125, -125, -125, -125,
    +
    210  -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +
    211  -125, -125, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +
    212  -124, -124, -124, -124, -124, -124, -124, -124, -123, -123, -123, -123, -123,
    +
    213  -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +
    214  -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    +
    215  -122, -122, -122, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
    +
    216  -121, -121, -121, -121, -121, -120, -120, -120, -120, -120, -120, -120, -120,
    +
    217  -120, -120, -120, -120, -120, -120, -119, -119, -119, -119, -119, -119, -119,
    +
    218  -119, -119, -119, -119, -119, -119, -119, -118, -118, -118, -118, -118, -118,
    +
    219  -118, -118, -118, -118, -118, -118, -118, -117, -117, -117, -117, -117, -117,
    +
    220  -117, -117, -117, -117, -117, -117, -116, -116, -116, -116, -116, -116, -116,
    +
    221  -116, -116, -116, -116, -116, -115, -115, -115, -115, -115, -115, -115, -115,
    +
    222  -115, -115, -115, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
    +
    223  -114, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -112,
    +
    224  -112, -112, -112, -112, -112, -112, -112, -112, -112, -111, -111, -111, -111,
    +
    225  -111, -111, -111, -111, -111, -111, -110, -110, -110, -110, -110, -110, -110,
    +
    226  -110, -110, -110, -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +
    227  -108, -108, -108, -108, -108, -108, -108, -108, -108, -107, -107, -107, -107,
    +
    228  -107, -107, -107, -107, -107, -106, -106, -106, -106, -106, -106, -106, -106,
    +
    229  -106, -105, -105, -105, -105, -105, -105, -105, -105, -105, -104, -104, -104,
    +
    230  -104, -104, -104, -104, -104, -104, -103, -103, -103, -103, -103, -103, -103,
    +
    231  -103, -102, -102, -102, -102, -102, -102, -102, -102, -102, -101, -101, -101,
    +
    232  -101, -101, -101, -101, -101, -100, -100, -100, -100, -100, -100, -100, -100,
    +
    233  -99, -99, -99, -99, -99, -99, -99, -99, -98, -98, -98, -98, -98, -98, -98, -98,
    +
    234  -97, -97, -97, -97, -97, -97, -97, -97, -96, -96, -96, -96, -96, -96, -96, -95,
    +
    235  -95, -95, -95, -95, -95, -95, -95, -94, -94, -94, -94, -94, -94, -94, -93, -93,
    +
    236  -93, -93, -93, -93, -93, -93, -92, -92, -92, -92, -92, -92, -92, -91, -91, -91,
    +
    237  -91, -91, -91, -91, -90, -90, -90, -90, -90, -90, -90, -89, -89, -89, -89, -89,
    +
    238  -89, -89, -88, -88, -88, -88, -88, -88, -88, -87, -87, -87, -87, -87, -87, -87,
    +
    239  -86, -86, -86, -86, -86, -86, -86, -85, -85, -85, -85, -85, -85, -85, -84, -84,
    +
    240  -84, -84, -84, -84, -84, -83, -83, -83, -83, -83, -83, -82, -82, -82, -82, -82,
    +
    241  -82, -82, -81, -81, -81, -81, -81, -81, -80, -80, -80, -80, -80, -80, -80, -79,
    +
    242  -79, -79, -79, -79, -79, -78, -78, -78, -78, -78, -78, -78, -77, -77, -77, -77,
    +
    243  -77, -77, -76, -76, -76, -76, -76, -76, -75, -75, -75, -75, -75, -75, -75, -74,
    +
    244  -74, -74, -74, -74, -74, -73, -73, -73, -73, -73, -73, -72, -72, -72, -72, -72,
    +
    245  -72, -71, -71, -71, -71, -71, -71, -70, -70, -70, -70, -70, -70, -69, -69, -69,
    +
    246  -69, -69, -69, -68, -68, -68, -68, -68, -68, -67, -67, -67, -67, -67, -67, -66,
    +
    247  -66, -66, -66, -66, -66, -65, -65, -65, -65, -65, -65, -64, -64, -64, -64, -64,
    +
    248  -64, -63, -63, -63, -63, -63, -63, -62, -62, -62, -62, -62, -62, -61, -61, -61,
    +
    249  -61, -61, -60, -60, -60, -60, -60, -60, -59, -59, -59, -59, -59, -59, -58, -58,
    +
    250  -58, -58, -58, -58, -57, -57, -57, -57, -57, -56, -56, -56, -56, -56, -56, -55,
    +
    251  -55, -55, -55, -55, -55, -54, -54, -54, -54, -54, -53, -53, -53, -53, -53, -53,
    +
    252  -52, -52, -52, -52, -52, -51, -51, -51, -51, -51, -51, -50, -50, -50, -50, -50,
    +
    253  -49, -49, -49, -49, -49, -49, -48, -48, -48, -48, -48, -47, -47, -47, -47, -47,
    +
    254  -47, -46, -46, -46, -46, -46, -45, -45, -45, -45, -45, -45, -44, -44, -44, -44,
    +
    255  -44, -43, -43, -43, -43, -43, -43, -42, -42, -42, -42, -42, -41, -41, -41, -41,
    +
    256  -41, -40, -40, -40, -40, -40, -40, -39, -39, -39, -39, -39, -38, -38, -38, -38,
    +
    257  -38, -37, -37, -37, -37, -37, -37, -36, -36, -36, -36, -36, -35, -35, -35, -35,
    +
    258  -35, -34, -34, -34, -34, -34, -33, -33, -33, -33, -33, -33, -32, -32, -32, -32,
    +
    259  -32, -31, -31, -31, -31, -31, -30, -30, -30, -30, -30, -29, -29, -29, -29, -29,
    +
    260  -29, -28, -28, -28, -28, -28, -27, -27, -27, -27, -27, -26, -26, -26, -26, -26,
    +
    261  -25, -25, -25, -25, -25, -25, -24, -24, -24, -24, -24, -23, -23, -23, -23, -23,
    +
    262  -22, -22, -22, -22, -22, -21, -21, -21, -21, -21, -20, -20, -20, -20, -20, -19,
    +
    263  -19, -19, -19, -19, -18, -18, -18, -18, -18, -18, -17, -17, -17, -17, -17, -16,
    +
    264  -16, -16, -16, -16, -15, -15, -15, -15, -15, -14, -14, -14, -14, -14, -13, -13,
    +
    265  -13, -13, -13, -12, -12, -12, -12, -12, -11, -11, -11, -11, -11, -11, -10, -10,
    +
    266  -10, -10, -10, -9, -9, -9, -9, -9, -8, -8, -8, -8, -8, -7, -7, -7, -7, -7, -6,
    +
    267  -6, -6, -6, -6, -5, -5, -5, -5, -5, -4, -4, -4, -4, -4, -3, -3, -3, -3, -3, -2,
    +
    268  -2, -2, -2, -2, -1, -1, -1, -1, -1,
    +
    269  };
    +
    270 
    +
    271 #endif /* SIN4096_H_ */
    +
    +
    + + diff --git a/doc/html/sin512__int8_8h_source.html b/doc/html/sin512__int8_8h_source.html index f6369b465..6f90881d2 100644 --- a/doc/html/sin512__int8_8h_source.html +++ b/doc/html/sin512__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: tables/sin512_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,67 +99,69 @@
    -
    tables/sin512_int8.h
    +
    sin512_int8.h
    -
    00001 #ifndef SIN512_INT8_H_
    -00002 #define SIN512_INT8_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 #define SIN512_NUM_CELLS 512
    -00012 #define SIN512_SAMPLERATE 512
    -00013 
    -00014 const char __attribute__((progmem)) SIN512_DATA []  =
    -00015         {
    -00016                 0, 1, 2, 4, 5, 7, 8, 9, 11, 12, 14, 15, 16,
    -00017                 18, 19, 21, 22, 23, 25, 26, 27, 29, 30, 32, 33, 34, 36, 37, 38, 40, 41, 42, 44,
    -00018                 45, 46, 47, 49, 50, 51, 53, 54, 55, 56, 58, 59, 60, 61, 62, 64, 65, 66, 67, 68,
    -00019                 69, 70, 71, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
    -00020                 89, 90, 91, 92, 93, 94, 94, 95, 96, 97, 98, 98, 99, 100, 100, 101, 102, 102,
    -00021                 103, 104, 104, 105, 105, 106, 106, 107, 107, 108, 108, 109, 109, 110, 110, 111,
    -00022                 111, 111, 112, 112, 112, 112, 113, 113, 113, 113, 114, 114, 114, 114, 114, 114,
    -00023                 114, 115, 115, 115, 115, 115, 115, 115, 115, 115, 114, 114, 114, 114, 114, 114,
    -00024                 114, 113, 113, 113, 113, 112, 112, 112, 112, 111, 111, 111, 110, 110, 109, 109,
    -00025                 108, 108, 107, 107, 106, 106, 105, 105, 104, 104, 103, 102, 102, 101, 100, 100,
    -00026                 99, 98, 98, 97, 96, 95, 94, 94, 93, 92, 91, 90, 89, 89, 88, 87, 86, 85, 84, 83,
    -00027                 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 71, 70, 69, 68, 67, 66, 65, 64, 62, 61,
    -00028                 60, 59, 58, 56, 55, 54, 53, 51, 50, 49, 47, 46, 45, 44, 42, 41, 40, 38, 37, 36,
    -00029                 34, 33, 32, 30, 29, 28, 26, 25, 23, 22, 21, 19, 18, 16, 15, 14, 12, 11, 9, 8, 7,
    -00030                 5, 4, 2, 1, 0, -2, -3, -5, -6, -8, -9, -10, -12, -13, -15, -16, -17, -19, -20,
    -00031                 -22, -23, -24, -26, -27, -28, -30, -31, -33, -34, -35, -37, -38, -39, -41, -42,
    -00032                 -43, -45, -46, -47, -48, -50, -51, -52, -54, -55, -56, -57, -59, -60, -61, -62,
    -00033                 -63, -65, -66, -67, -68, -69, -70, -71, -72, -74, -75, -76, -77, -78, -79, -80,
    -00034                 -81, -82, -83, -84, -85, -86, -87, -88, -89, -90, -90, -91, -92, -93, -94, -95,
    -00035                 -95, -96, -97, -98, -99, -99, -100, -101, -101, -102, -103, -103, -104, -105,
    -00036                 -105, -106, -106, -107, -107, -108, -108, -109, -109, -110, -110, -111, -111,
    -00037                 -112, -112, -112, -113, -113, -113, -113, -114, -114, -114, -114, -115, -115,
    -00038                 -115, -115, -115, -115, -115, -116, -116, -116, -116, -116, -116, -116, -116,
    -00039                 -116, -116, -115, -115, -115, -115, -115, -115, -114, -114, -114, -114, -113,
    -00040                 -113, -113, -113, -112, -112, -112, -111, -111, -110, -110, -109, -109, -108,
    -00041                 -108, -107, -107, -106, -106, -105, -105, -104, -103, -103, -102, -101, -101,
    -00042                 -100, -99, -99, -98, -97, -96, -95, -95, -94, -93, -92, -91, -90, -90, -89, -88,
    -00043                 -87, -86, -85, -84, -83, -82, -81, -80, -79, -78, -77, -76, -75, -74, -72, -71,
    -00044                 -70, -69, -68, -67, -66, -64, -63, -62, -61, -60, -59, -57, -56, -55, -54, -52,
    -00045                 -51, -50, -48, -47, -46, -45, -43, -42, -41, -39, -38, -37, -35, -34, -33, -31,
    -00046                 -30, -28, -27, -26, -24, -23, -22, -20, -19, -17, -16, -15, -13, -12, -10, -9,
    -00047                 -8, -6, -5, -3, -2,
    -00048         };
    -00049 
    -00050 #endif          /* SIN512_INT8_H_ */
    -
    - - - - +
    1 #ifndef SIN512_INT8_H_
    +
    2 #define SIN512_INT8_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 #define SIN512_NUM_CELLS 512
    +
    12 #define SIN512_SAMPLERATE 512
    +
    13 
    +
    14 const char __attribute__((progmem)) SIN512_DATA [] =
    +
    15  {
    +
    16  0, 1, 2, 4, 5, 7, 8, 9, 11, 12, 14, 15, 16,
    +
    17  18, 19, 21, 22, 23, 25, 26, 27, 29, 30, 32, 33, 34, 36, 37, 38, 40, 41, 42, 44,
    +
    18  45, 46, 47, 49, 50, 51, 53, 54, 55, 56, 58, 59, 60, 61, 62, 64, 65, 66, 67, 68,
    +
    19  69, 70, 71, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
    +
    20  89, 90, 91, 92, 93, 94, 94, 95, 96, 97, 98, 98, 99, 100, 100, 101, 102, 102,
    +
    21  103, 104, 104, 105, 105, 106, 106, 107, 107, 108, 108, 109, 109, 110, 110, 111,
    +
    22  111, 111, 112, 112, 112, 112, 113, 113, 113, 113, 114, 114, 114, 114, 114, 114,
    +
    23  114, 115, 115, 115, 115, 115, 115, 115, 115, 115, 114, 114, 114, 114, 114, 114,
    +
    24  114, 113, 113, 113, 113, 112, 112, 112, 112, 111, 111, 111, 110, 110, 109, 109,
    +
    25  108, 108, 107, 107, 106, 106, 105, 105, 104, 104, 103, 102, 102, 101, 100, 100,
    +
    26  99, 98, 98, 97, 96, 95, 94, 94, 93, 92, 91, 90, 89, 89, 88, 87, 86, 85, 84, 83,
    +
    27  82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 71, 70, 69, 68, 67, 66, 65, 64, 62, 61,
    +
    28  60, 59, 58, 56, 55, 54, 53, 51, 50, 49, 47, 46, 45, 44, 42, 41, 40, 38, 37, 36,
    +
    29  34, 33, 32, 30, 29, 28, 26, 25, 23, 22, 21, 19, 18, 16, 15, 14, 12, 11, 9, 8, 7,
    +
    30  5, 4, 2, 1, 0, -2, -3, -5, -6, -8, -9, -10, -12, -13, -15, -16, -17, -19, -20,
    +
    31  -22, -23, -24, -26, -27, -28, -30, -31, -33, -34, -35, -37, -38, -39, -41, -42,
    +
    32  -43, -45, -46, -47, -48, -50, -51, -52, -54, -55, -56, -57, -59, -60, -61, -62,
    +
    33  -63, -65, -66, -67, -68, -69, -70, -71, -72, -74, -75, -76, -77, -78, -79, -80,
    +
    34  -81, -82, -83, -84, -85, -86, -87, -88, -89, -90, -90, -91, -92, -93, -94, -95,
    +
    35  -95, -96, -97, -98, -99, -99, -100, -101, -101, -102, -103, -103, -104, -105,
    +
    36  -105, -106, -106, -107, -107, -108, -108, -109, -109, -110, -110, -111, -111,
    +
    37  -112, -112, -112, -113, -113, -113, -113, -114, -114, -114, -114, -115, -115,
    +
    38  -115, -115, -115, -115, -115, -116, -116, -116, -116, -116, -116, -116, -116,
    +
    39  -116, -116, -115, -115, -115, -115, -115, -115, -114, -114, -114, -114, -113,
    +
    40  -113, -113, -113, -112, -112, -112, -111, -111, -110, -110, -109, -109, -108,
    +
    41  -108, -107, -107, -106, -106, -105, -105, -104, -103, -103, -102, -101, -101,
    +
    42  -100, -99, -99, -98, -97, -96, -95, -95, -94, -93, -92, -91, -90, -90, -89, -88,
    +
    43  -87, -86, -85, -84, -83, -82, -81, -80, -79, -78, -77, -76, -75, -74, -72, -71,
    +
    44  -70, -69, -68, -67, -66, -64, -63, -62, -61, -60, -59, -57, -56, -55, -54, -52,
    +
    45  -51, -50, -48, -47, -46, -45, -43, -42, -41, -39, -38, -37, -35, -34, -33, -31,
    +
    46  -30, -28, -27, -26, -24, -23, -22, -20, -19, -17, -16, -15, -13, -12, -10, -9,
    +
    47  -8, -6, -5, -3, -2,
    +
    48  };
    +
    49 
    +
    50 #endif /* SIN512_INT8_H_ */
    +
    +
    + + diff --git a/doc/html/sin8192__int8_8h_source.html b/doc/html/sin8192__int8_8h_source.html index dd7d30344..6a1defdf9 100644 --- a/doc/html/sin8192__int8_8h_source.html +++ b/doc/html/sin8192__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: tables/sin8192_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,540 +99,542 @@
    -
    tables/sin8192_int8.h
    +
    sin8192_int8.h
    -
    00001 #ifndef SIN8192_INT8_H_
    -00002 #define SIN8192_INT8_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 #define SIN8192_NUM_CELLS 8192
    -00012 #define SIN8192_SAMPLERATE 8192
    -00013 
    -00014 const char __attribute__((progmem)) SIN8192_DATA []  =
    -00015         {
    -00016                 0, 0, 0, 0, 0, 1, 1, 1,
    -00017                 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
    -00018                 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6,
    -00019                 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9,
    -00020                 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11,
    -00021                 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13,
    -00022                 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15,
    -00023                 15, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17,
    -00024                 17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19,
    -00025                 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21,
    -00026                 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23,
    -00027                 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
    -00028                 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
    -00029                 26, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 28, 28, 28, 28, 28, 28, 28, 28, 28,
    -00030                 28, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 30, 30, 30, 30, 30, 30, 30, 30,
    -00031                 30, 30, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 32, 32, 32, 32, 32, 32, 32,
    -00032                 32, 32, 32, 33, 33, 32, 33, 33, 34, 33, 33, 32, 33, 33, 34, 34, 34, 34, 34, 34,
    -00033                 34, 34, 34, 34, 34, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 36, 36, 36, 36, 36,
    -00034                 36, 36, 36, 36, 36, 36, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 38, 38, 38,
    -00035                 38, 38, 38, 38, 38, 38, 38, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 40, 40,
    -00036                 40, 40, 40, 40, 40, 40, 40, 40, 40, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 42,
    -00037                 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
    -00038                 43, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 45, 45, 45, 45, 45, 45, 45, 45,
    -00039                 45, 45, 45, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 47, 47, 47, 47, 47, 47,
    -00040                 47, 47, 47, 47, 47, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 49, 49, 49, 49,
    -00041                 49, 49, 49, 49, 49, 49, 49, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 51, 51,
    -00042                 51, 51, 51, 51, 51, 51, 51, 51, 51, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
    -00043                 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 54, 54, 54, 54, 54, 54, 54, 54, 54,
    -00044                 54, 54, 54, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 56, 56, 56, 56, 56, 56,
    -00045                 56, 56, 56, 56, 56, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 58, 58, 58,
    -00046                 58, 58, 58, 58, 58, 58, 58, 58, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
    -00047                 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 61, 61, 61, 61, 61, 61, 61, 61, 61,
    -00048                 61, 61, 61, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 63, 63, 63, 63, 63, 63,
    -00049                 63, 63, 63, 63, 63, 63, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 65, 65,
    -00050                 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
    -00051                 66, 66, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 68, 68, 68, 68, 68, 68,
    -00052                 68, 68, 68, 68, 68, 68, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 70, 70,
    -00053                 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
    -00054                 71, 71, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 73, 73, 73, 73, 73,
    -00055                 73, 73, 73, 73, 73, 73, 73, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
    -00056                 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 76, 76, 76, 76, 76, 76, 76, 76,
    -00057                 76, 76, 76, 76, 76, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 78, 78,
    -00058                 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 79, 79, 79, 79, 79, 79, 79, 79, 79,
    -00059                 79, 79, 79, 79, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 81, 81, 81,
    -00060                 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
    -00061                 82, 82, 82, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 84, 84, 84,
    -00062                 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
    -00063                 85, 85, 85, 85, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 87, 87,
    -00064                 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 88, 88, 88, 88, 88, 88, 88, 88,
    -00065                 88, 88, 88, 88, 88, 88, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
    -00066                 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 91, 91, 91, 91, 91, 91,
    -00067                 91, 91, 91, 91, 91, 91, 91, 91, 91, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
    -00068                 92, 92, 92, 92, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 94,
    -00069                 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 95, 95, 95, 95, 95, 95,
    -00070                 95, 95, 95, 95, 95, 95, 95, 95, 95, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
    -00071                 96, 96, 96, 96, 96, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97,
    -00072                 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 99, 99, 99, 99,
    -00073                 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 100, 100, 100, 100, 100,
    -00074                 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 101, 101, 101, 101, 101,
    -00075                 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 102, 102, 102, 102,
    -00076                 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 103, 103, 103,
    -00077                 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 104, 104,
    -00078                 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
    -00079                 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
    -00080                 105, 105, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
    -00081                 106, 106, 106, 106, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
    -00082                 107, 107, 107, 107, 107, 107, 107, 108, 108, 108, 108, 108, 108, 108, 108, 108,
    -00083                 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 109, 109, 109, 109, 109, 109,
    -00084                 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 110, 110,
    -00085                 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
    -00086                 110, 110, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
    -00087                 111, 111, 111, 111, 111, 111, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112,
    -00088                 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 113, 113, 113, 113,
    -00089                 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
    -00090                 113, 113, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
    -00091                 114, 114, 114, 114, 114, 114, 114, 114, 115, 115, 115, 115, 115, 115, 115, 115,
    -00092                 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
    -00093                 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
    -00094                 116, 116, 116, 116, 116, 116, 116, 116, 116, 117, 117, 117, 117, 117, 117, 117,
    -00095                 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
    -00096                 117, 117, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
    -00097                 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 119, 119,
    -00098                 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
    -00099                 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 120, 120, 120, 120, 120, 120,
    -00100                 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
    -00101                 120, 120, 120, 120, 120, 120, 120, 120, 121, 121, 121, 121, 121, 121, 121, 121,
    -00102                 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
    -00103                 121, 121, 121, 121, 121, 121, 121, 121, 122, 122, 122, 122, 122, 122, 122, 122,
    -00104                 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
    -00105                 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 123, 123, 123, 123,
    -00106                 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
    -00107                 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
    -00108                 123, 123, 123, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
    -00109                 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
    -00110                 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 125, 125,
    -00111                 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    -00112                 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    -00113                 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    -00114                 125, 125, 125, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    -00115                 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    -00116                 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    -00117                 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    -00118                 126, 126, 126, 126, 126, 126, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00119                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00120                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00121                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00122                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00123                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00124                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00125                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00126                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00127                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00128                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00129                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00130                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00131                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00132                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00133                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00134                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00135                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00136                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00137                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00138                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 126, 126, 126, 126,
    -00139                 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    -00140                 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    -00141                 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    -00142                 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    -00143                 126, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    -00144                 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    -00145                 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    -00146                 125, 125, 125, 125, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
    -00147                 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
    -00148                 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
    -00149                 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
    -00150                 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
    -00151                 123, 123, 123, 123, 123, 123, 123, 122, 122, 122, 122, 122, 122, 122, 122, 122,
    -00152                 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
    -00153                 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 121, 121, 121, 121, 121, 121,
    -00154                 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
    -00155                 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 120, 120, 120, 120, 120,
    -00156                 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
    -00157                 120, 120, 120, 120, 120, 120, 120, 120, 120, 119, 119, 119, 119, 119, 119, 119,
    -00158                 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
    -00159                 119, 119, 119, 119, 119, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
    -00160                 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
    -00161                 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
    -00162                 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 116, 116, 116, 116, 116, 116,
    -00163                 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
    -00164                 116, 116, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
    -00165                 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 114, 114, 114, 114, 114, 114,
    -00166                 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
    -00167                 114, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
    -00168                 113, 113, 113, 113, 113, 113, 113, 112, 112, 112, 112, 112, 112, 112, 112, 112,
    -00169                 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 111, 111, 111, 111,
    -00170                 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
    -00171                 111, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
    -00172                 110, 110, 110, 110, 110, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
    -00173                 109, 109, 109, 109, 109, 109, 109, 109, 109, 108, 108, 108, 108, 108, 108, 108,
    -00174                 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 107, 107, 107, 107,
    -00175                 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 106,
    -00176                 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
    -00177                 106, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
    -00178                 105, 105, 105, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
    -00179                 104, 104, 104, 104, 104, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
    -00180                 103, 103, 103, 103, 103, 103, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
    -00181                 102, 102, 102, 102, 102, 102, 102, 101, 101, 101, 101, 101, 101, 101, 101, 101,
    -00182                 101, 101, 101, 101, 101, 101, 101, 101, 100, 100, 100, 100, 100, 100, 100, 100,
    -00183                 100, 100, 100, 100, 100, 100, 100, 100, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
    -00184                 99, 99, 99, 99, 99, 99, 99, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
    -00185                 98, 98, 98, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 96, 96,
    -00186                 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 95, 95, 95, 95, 95, 95,
    -00187                 95, 95, 95, 95, 95, 95, 95, 95, 95, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
    -00188                 94, 94, 94, 94, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 92,
    -00189                 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 91, 91, 91, 91, 91, 91,
    -00190                 91, 91, 91, 91, 91, 91, 91, 91, 91, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
    -00191                 90, 90, 90, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 88, 88, 88,
    -00192                 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 87, 87, 87, 87, 87, 87, 87, 87, 87,
    -00193                 87, 87, 87, 87, 87, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 85,
    -00194                 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 84, 84, 84, 84, 84, 84, 84,
    -00195                 84, 84, 84, 84, 84, 84, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
    -00196                 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 81, 81, 81, 81, 81, 81, 81,
    -00197                 81, 81, 81, 81, 81, 81, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 79,
    -00198                 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 78, 78, 78, 78, 78, 78, 78, 78,
    -00199                 78, 78, 78, 78, 78, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 76, 76,
    -00200                 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 75, 75, 75, 75, 75, 75, 75, 75, 75,
    -00201                 75, 75, 75, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 73, 73, 73, 73,
    -00202                 73, 73, 73, 73, 73, 73, 73, 73, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72,
    -00203                 72, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 70, 70, 70, 70, 70, 70, 70,
    -00204                 70, 70, 70, 70, 70, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 68, 68, 68,
    -00205                 68, 68, 68, 68, 68, 68, 68, 68, 68, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
    -00206                 67, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 65, 65, 65, 65, 65, 65, 65,
    -00207                 65, 65, 65, 65, 65, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 63, 63, 63,
    -00208                 63, 63, 63, 63, 63, 63, 63, 63, 63, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
    -00209                 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 60, 60, 60, 60, 60, 60, 60, 60,
    -00210                 60, 60, 60, 60, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 58, 58, 58, 58, 58,
    -00211                 58, 58, 58, 58, 58, 58, 58, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 56, 56,
    -00212                 56, 56, 56, 56, 56, 56, 56, 56, 56, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
    -00213                 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 53, 53, 53, 53, 53, 53, 53, 53,
    -00214                 53, 53, 53, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 51, 51, 51, 51, 51, 51,
    -00215                 51, 51, 51, 51, 51, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 49, 49, 49, 49,
    -00216                 49, 49, 49, 49, 49, 49, 49, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 47, 47,
    -00217                 47, 47, 47, 47, 47, 47, 47, 47, 47, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
    -00218                 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 44, 44, 44, 44, 44, 44, 44, 44, 44,
    -00219                 44, 44, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 42, 42, 42, 42, 42, 42, 42,
    -00220                 42, 42, 42, 42, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 40, 40, 40, 40, 40,
    -00221                 40, 40, 40, 40, 40, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 38, 38, 38, 38,
    -00222                 38, 38, 38, 38, 38, 38, 38, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 36, 36, 36,
    -00223                 36, 36, 36, 36, 36, 36, 36, 36, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 34, 34,
    -00224                 34, 34, 34, 34, 34, 34, 34, 34, 34, 33, 33, 32, 33, 33, 34, 33, 33, 32, 33, 33,
    -00225                 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
    -00226                 31, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 29, 29, 29, 29, 29, 29, 29, 29, 29,
    -00227                 29, 29, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 27, 27, 27, 27, 27, 27, 27, 27,
    -00228                 27, 27, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 25, 25, 25, 25, 25, 25, 25,
    -00229                 25, 25, 25, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 23, 23, 23, 23, 23, 23,
    -00230                 23, 23, 23, 23, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 21,
    -00231                 21, 21, 21, 21, 21, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 19, 19, 19, 19, 19,
    -00232                 19, 19, 19, 19, 19, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 17, 17, 17, 17,
    -00233                 17, 17, 17, 17, 17, 17, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 15, 15, 15, 15,
    -00234                 15, 15, 15, 15, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 13, 13, 13,
    -00235                 13, 13, 13, 13, 13, 13, 13, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 11, 11, 11,
    -00236                 11, 11, 11, 11, 11, 11, 11, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 9, 9, 9, 9,
    -00237                 9, 9, 9, 9, 9, 9, 9, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    -00238                 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4,
    -00239                 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1,
    -00240                 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1,
    -00241                 -1, -1, -1, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -3, -3, -3, -3, -3, -3,
    -00242                 -3, -3, -3, -3, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -5, -5, -5, -5, -5, -5,
    -00243                 -5, -5, -5, -5, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -7, -7, -7, -7, -7,
    -00244                 -7, -7, -7, -7, -7, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -9, -9, -9, -9, -9,
    -00245                 -9, -9, -9, -9, -9, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -11,
    -00246                 -11, -11, -11, -11, -11, -11, -11, -11, -11, -12, -12, -12, -12, -12, -12, -12,
    -00247                 -12, -12, -12, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -14, -14, -14,
    -00248                 -14, -14, -14, -14, -14, -14, -14, -15, -15, -15, -15, -15, -15, -15, -15, -15,
    -00249                 -15, -15, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -17, -17, -17, -17,
    -00250                 -17, -17, -17, -17, -17, -17, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18,
    -00251                 -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -20, -20, -20, -20, -20,
    -00252                 -20, -20, -20, -20, -20, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -22,
    -00253                 -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -23, -23, -23, -23, -23, -23,
    -00254                 -23, -23, -23, -23, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -25, -25,
    -00255                 -25, -25, -25, -25, -25, -25, -25, -25, -25, -26, -26, -26, -26, -26, -26, -26,
    -00256                 -26, -26, -26, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -28, -28,
    -00257                 -28, -28, -28, -28, -28, -28, -28, -28, -29, -29, -29, -29, -29, -29, -29, -29,
    -00258                 -29, -29, -29, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -31, -31, -31,
    -00259                 -31, -31, -31, -31, -31, -31, -31, -32, -32, -32, -32, -32, -32, -32, -32, -32,
    -00260                 -32, -32, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -34, -34, -34, -34,
    -00261                 -34, -34, -34, -34, -34, -34, -34, -35, -35, -35, -35, -35, -35, -35, -35, -35,
    -00262                 -35, -35, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -37, -37, -37, -37,
    -00263                 -37, -37, -37, -37, -37, -37, -37, -38, -38, -38, -38, -38, -38, -38, -38, -38,
    -00264                 -38, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -40, -40, -40, -40,
    -00265                 -40, -40, -40, -40, -40, -40, -40, -41, -41, -41, -41, -41, -41, -41, -41, -41,
    -00266                 -41, -41, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -43, -43, -43, -43,
    -00267                 -43, -43, -43, -43, -43, -43, -43, -44, -44, -44, -44, -44, -44, -44, -44, -44,
    -00268                 -44, -44, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -46, -46, -46,
    -00269                 -46, -46, -46, -46, -46, -46, -46, -46, -47, -47, -47, -47, -47, -47, -47, -47,
    -00270                 -47, -47, -47, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -49, -49,
    -00271                 -49, -49, -49, -49, -49, -49, -49, -49, -49, -50, -50, -50, -50, -50, -50, -50,
    -00272                 -50, -50, -50, -50, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -52,
    -00273                 -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -53, -53, -53, -53, -53, -53,
    -00274                 -53, -53, -53, -53, -53, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54,
    -00275                 -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -56, -56, -56, -56,
    -00276                 -56, -56, -56, -56, -56, -56, -56, -57, -57, -57, -57, -57, -57, -57, -57, -57,
    -00277                 -57, -57, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -59, -59,
    -00278                 -59, -59, -59, -59, -59, -59, -59, -59, -59, -60, -60, -60, -60, -60, -60, -60,
    -00279                 -60, -60, -60, -60, -60, -61, -61, -61, -61, -61, -61, -61, -61, -61, -61, -61,
    -00280                 -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -63, -63, -63, -63,
    -00281                 -63, -63, -63, -63, -63, -63, -63, -63, -64, -64, -64, -64, -64, -64, -64, -64,
    -00282                 -64, -64, -64, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -66,
    -00283                 -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -67, -67, -67, -67, -67,
    -00284                 -67, -67, -67, -67, -67, -67, -67, -68, -68, -68, -68, -68, -68, -68, -68, -68,
    -00285                 -68, -68, -68, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -70,
    -00286                 -70, -70, -70, -70, -70, -70, -70, -70, -70, -70, -70, -71, -71, -71, -71, -71,
    -00287                 -71, -71, -71, -71, -71, -71, -71, -72, -72, -72, -72, -72, -72, -72, -72, -72,
    -00288                 -72, -72, -72, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73,
    -00289                 -74, -74, -74, -74, -74, -74, -74, -74, -74, -74, -74, -74, -75, -75, -75, -75,
    -00290                 -75, -75, -75, -75, -75, -75, -75, -75, -75, -76, -76, -76, -76, -76, -76, -76,
    -00291                 -76, -76, -76, -76, -76, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77,
    -00292                 -77, -77, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -79,
    -00293                 -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -80, -80, -80, -80,
    -00294                 -80, -80, -80, -80, -80, -80, -80, -80, -80, -81, -81, -81, -81, -81, -81, -81,
    -00295                 -81, -81, -81, -81, -81, -81, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82,
    -00296                 -82, -82, -82, -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, -83,
    -00297                 -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -85, -85,
    -00298                 -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -86, -86, -86, -86,
    -00299                 -86, -86, -86, -86, -86, -86, -86, -86, -86, -87, -87, -87, -87, -87, -87, -87,
    -00300                 -87, -87, -87, -87, -87, -87, -87, -88, -88, -88, -88, -88, -88, -88, -88, -88,
    -00301                 -88, -88, -88, -88, -88, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
    -00302                 -89, -89, -89, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90,
    -00303                 -90, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91,
    -00304                 -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -93, -93,
    -00305                 -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -94, -94, -94,
    -00306                 -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -95, -95, -95, -95,
    -00307                 -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -96, -96, -96, -96, -96,
    -00308                 -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -97, -97, -97, -97, -97, -97,
    -00309                 -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -98, -98, -98, -98, -98, -98,
    -00310                 -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -99, -99, -99, -99, -99, -99,
    -00311                 -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -100, -100, -100, -100, -100,
    -00312                 -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -101, -101,
    -00313                 -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
    -00314                 -101, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    -00315                 -102, -102, -102, -102, -102, -103, -103, -103, -103, -103, -103, -103, -103,
    -00316                 -103, -103, -103, -103, -103, -103, -103, -103, -103, -104, -104, -104, -104,
    -00317                 -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    -00318                 -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
    -00319                 -105, -105, -105, -105, -105, -106, -106, -106, -106, -106, -106, -106, -106,
    -00320                 -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -107, -107, -107,
    -00321                 -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    -00322                 -107, -107, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    -00323                 -108, -108, -108, -108, -108, -108, -108, -108, -109, -109, -109, -109, -109,
    -00324                 -109, -109, -109, -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    -00325                 -109, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    -00326                 -110, -110, -110, -110, -110, -110, -110, -110, -111, -111, -111, -111, -111,
    -00327                 -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    -00328                 -111, -111, -112, -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    -00329                 -112, -112, -112, -112, -112, -112, -112, -112, -112, -112, -113, -113, -113,
    -00330                 -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    -00331                 -113, -113, -113, -113, -113, -114, -114, -114, -114, -114, -114, -114, -114,
    -00332                 -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
    -00333                 -114, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    -00334                 -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -116, -116,
    -00335                 -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    -00336                 -116, -116, -116, -116, -116, -116, -116, -116, -116, -117, -117, -117, -117,
    -00337                 -117, -117, -117, -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    -00338                 -117, -117, -117, -117, -117, -117, -117, -118, -118, -118, -118, -118, -118,
    -00339                 -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    -00340                 -118, -118, -118, -118, -118, -118, -118, -119, -119, -119, -119, -119, -119,
    -00341                 -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    -00342                 -119, -119, -119, -119, -119, -119, -119, -119, -120, -120, -120, -120, -120,
    -00343                 -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    -00344                 -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -121, -121, -121,
    -00345                 -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
    -00346                 -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
    -00347                 -121, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    -00348                 -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    -00349                 -122, -122, -122, -122, -122, -122, -122, -123, -123, -123, -123, -123, -123,
    -00350                 -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    -00351                 -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    -00352                 -123, -123, -123, -123, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    -00353                 -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    -00354                 -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    -00355                 -124, -124, -124, -124, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    -00356                 -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    -00357                 -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    -00358                 -125, -125, -125, -125, -125, -125, -125, -125, -125, -126, -126, -126, -126,
    -00359                 -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    -00360                 -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    -00361                 -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    -00362                 -126, -126, -126, -126, -126, -126, -126, -126, -126, -127, -127, -127, -127,
    -00363                 -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    -00364                 -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    -00365                 -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    -00366                 -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    -00367                 -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -128, -127,
    -00368                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00369                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00370                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00371                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00372                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00373                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00374                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00375                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00376                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00377                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00378                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00379                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00380                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00381                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00382                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00383                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00384                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00385                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00386                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00387                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00388                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00389                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00390                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00391                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00392                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00393                 -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    -00394                 -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    -00395                 -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    -00396                 -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    -00397                 -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    -00398                 -127, -127, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    -00399                 -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    -00400                 -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    -00401                 -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    -00402                 -126, -126, -126, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    -00403                 -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    -00404                 -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    -00405                 -125, -125, -125, -125, -125, -125, -125, -124, -124, -124, -124, -124, -124,
    -00406                 -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    -00407                 -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    -00408                 -124, -124, -124, -124, -124, -124, -124, -123, -123, -123, -123, -123, -123,
    -00409                 -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    -00410                 -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    -00411                 -123, -123, -123, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    -00412                 -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    -00413                 -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -121, -121, -121,
    -00414                 -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
    -00415                 -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
    -00416                 -121, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    -00417                 -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    -00418                 -120, -120, -120, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    -00419                 -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    -00420                 -119, -119, -119, -119, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    -00421                 -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    -00422                 -118, -118, -118, -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    -00423                 -117, -117, -117, -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    -00424                 -117, -117, -117, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    -00425                 -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    -00426                 -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    -00427                 -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -114, -114, -114,
    -00428                 -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
    -00429                 -114, -114, -114, -114, -114, -114, -113, -113, -113, -113, -113, -113, -113,
    -00430                 -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    -00431                 -113, -112, -112, -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    -00432                 -112, -112, -112, -112, -112, -112, -112, -112, -112, -111, -111, -111, -111,
    -00433                 -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    -00434                 -111, -111, -111, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    -00435                 -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -109, -109, -109,
    -00436                 -109, -109, -109, -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    -00437                 -109, -109, -109, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    -00438                 -108, -108, -108, -108, -108, -108, -108, -108, -108, -107, -107, -107, -107,
    -00439                 -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    -00440                 -107, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    -00441                 -106, -106, -106, -106, -106, -106, -105, -105, -105, -105, -105, -105, -105,
    -00442                 -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -104, -104,
    -00443                 -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    -00444                 -104, -104, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    -00445                 -103, -103, -103, -103, -103, -103, -102, -102, -102, -102, -102, -102, -102,
    -00446                 -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -101, -101, -101,
    -00447                 -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
    -00448                 -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    -00449                 -100, -100, -100, -100, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99,
    -00450                 -99, -99, -99, -99, -99, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98,
    -00451                 -98, -98, -98, -98, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97,
    -00452                 -97, -97, -97, -97, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96,
    -00453                 -96, -96, -96, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95,
    -00454                 -95, -95, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94,
    -00455                 -94, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93,
    -00456                 -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -91,
    -00457                 -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -90, -90, -90,
    -00458                 -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -89, -89, -89, -89, -89,
    -00459                 -89, -89, -89, -89, -89, -89, -89, -89, -89, -88, -88, -88, -88, -88, -88, -88,
    -00460                 -88, -88, -88, -88, -88, -88, -88, -87, -87, -87, -87, -87, -87, -87, -87, -87,
    -00461                 -87, -87, -87, -87, -87, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86,
    -00462                 -86, -86, -86, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85,
    -00463                 -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -83, -83, -83,
    -00464                 -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, -82, -82, -82, -82, -82,
    -00465                 -82, -82, -82, -82, -82, -82, -82, -82, -81, -81, -81, -81, -81, -81, -81, -81,
    -00466                 -81, -81, -81, -81, -81, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
    -00467                 -80, -80, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -78,
    -00468                 -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -77, -77, -77, -77,
    -00469                 -77, -77, -77, -77, -77, -77, -77, -77, -77, -76, -76, -76, -76, -76, -76, -76,
    -00470                 -76, -76, -76, -76, -76, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75,
    -00471                 -75, -75, -74, -74, -74, -74, -74, -74, -74, -74, -74, -74, -74, -74, -73, -73,
    -00472                 -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -72, -72, -72, -72, -72, -72,
    -00473                 -72, -72, -72, -72, -72, -72, -72, -71, -71, -71, -71, -71, -71, -71, -71, -71,
    -00474                 -71, -71, -71, -70, -70, -70, -70, -70, -70, -70, -70, -70, -70, -70, -70, -69,
    -00475                 -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -68, -68, -68, -68, -68,
    -00476                 -68, -68, -68, -68, -68, -68, -68, -67, -67, -67, -67, -67, -67, -67, -67, -67,
    -00477                 -67, -67, -67, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -65,
    -00478                 -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -64, -64, -64, -64, -64,
    -00479                 -64, -64, -64, -64, -64, -64, -64, -63, -63, -63, -63, -63, -63, -63, -63, -63,
    -00480                 -63, -63, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -61, -61,
    -00481                 -61, -61, -61, -61, -61, -61, -61, -61, -61, -60, -60, -60, -60, -60, -60, -60,
    -00482                 -60, -60, -60, -60, -60, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59,
    -00483                 -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -57, -57, -57, -57,
    -00484                 -57, -57, -57, -57, -57, -57, -57, -56, -56, -56, -56, -56, -56, -56, -56, -56,
    -00485                 -56, -56, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -54, -54,
    -00486                 -54, -54, -54, -54, -54, -54, -54, -54, -54, -53, -53, -53, -53, -53, -53, -53,
    -00487                 -53, -53, -53, -53, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -51,
    -00488                 -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -50, -50, -50, -50, -50, -50,
    -00489                 -50, -50, -50, -50, -50, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
    -00490                 -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -47, -47, -47, -47, -47,
    -00491                 -47, -47, -47, -47, -47, -47, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
    -00492                 -46, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -44, -44, -44, -44,
    -00493                 -44, -44, -44, -44, -44, -44, -44, -43, -43, -43, -43, -43, -43, -43, -43, -43,
    -00494                 -43, -43, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -41, -41, -41, -41,
    -00495                 -41, -41, -41, -41, -41, -41, -41, -40, -40, -40, -40, -40, -40, -40, -40, -40,
    -00496                 -40, -40, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -38, -38, -38,
    -00497                 -38, -38, -38, -38, -38, -38, -38, -37, -37, -37, -37, -37, -37, -37, -37, -37,
    -00498                 -37, -37, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -35, -35, -35, -35,
    -00499                 -35, -35, -35, -35, -35, -35, -35, -34, -34, -34, -34, -34, -34, -34, -34, -34,
    -00500                 -34, -34, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -32, -32, -32, -32,
    -00501                 -32, -32, -32, -32, -32, -32, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
    -00502                 -31, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -29, -29, -29, -29,
    -00503                 -29, -29, -29, -29, -29, -29, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28,
    -00504                 -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -26, -26, -26, -26, -26,
    -00505                 -26, -26, -26, -26, -26, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
    -00506                 -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -23, -23, -23, -23, -23, -23,
    -00507                 -23, -23, -23, -23, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -21,
    -00508                 -21, -21, -21, -21, -21, -21, -21, -21, -21, -20, -20, -20, -20, -20, -20, -20,
    -00509                 -20, -20, -20, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -18, -18,
    -00510                 -18, -18, -18, -18, -18, -18, -18, -18, -17, -17, -17, -17, -17, -17, -17, -17,
    -00511                 -17, -17, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -15, -15, -15, -15,
    -00512                 -15, -15, -15, -15, -15, -15, -15, -14, -14, -14, -14, -14, -14, -14, -14, -14,
    -00513                 -14, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -12, -12, -12, -12, -12,
    -00514                 -12, -12, -12, -12, -12, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -10,
    -00515                 -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -9, -9, -9, -9, -9, -9, -9,
    -00516                 -9, -9, -9, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -7, -7, -7, -7, -7, -7, -7,
    -00517                 -7, -7, -7, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -5, -5, -5, -5, -5, -5,
    -00518                 -5, -5, -5, -5, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -3, -3, -3, -3, -3, -3,
    -00519                 -3, -3, -3, -3, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -1, -1, -1, -1, -1,
    -00520                 -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 
    -00521         };
    -00522 
    -00523 #endif          /* SIN8192_INT8_H_ */
    -
    - - - - +
    1 #ifndef SIN8192_INT8_H_
    +
    2 #define SIN8192_INT8_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 #define SIN8192_NUM_CELLS 8192
    +
    12 #define SIN8192_SAMPLERATE 8192
    +
    13 
    +
    14 const char __attribute__((progmem)) SIN8192_DATA [] =
    +
    15  {
    +
    16  0, 0, 0, 0, 0, 1, 1, 1,
    +
    17  1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
    +
    18  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6,
    +
    19  6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9,
    +
    20  9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11,
    +
    21  11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13,
    +
    22  13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15,
    +
    23  15, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17,
    +
    24  17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19,
    +
    25  19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21,
    +
    26  21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23,
    +
    27  23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
    +
    28  25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
    +
    29  26, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 28, 28, 28, 28, 28, 28, 28, 28, 28,
    +
    30  28, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 30, 30, 30, 30, 30, 30, 30, 30,
    +
    31  30, 30, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 32, 32, 32, 32, 32, 32, 32,
    +
    32  32, 32, 32, 33, 33, 32, 33, 33, 34, 33, 33, 32, 33, 33, 34, 34, 34, 34, 34, 34,
    +
    33  34, 34, 34, 34, 34, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 36, 36, 36, 36, 36,
    +
    34  36, 36, 36, 36, 36, 36, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 38, 38, 38,
    +
    35  38, 38, 38, 38, 38, 38, 38, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 40, 40,
    +
    36  40, 40, 40, 40, 40, 40, 40, 40, 40, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 42,
    +
    37  42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
    +
    38  43, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 45, 45, 45, 45, 45, 45, 45, 45,
    +
    39  45, 45, 45, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 47, 47, 47, 47, 47, 47,
    +
    40  47, 47, 47, 47, 47, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 49, 49, 49, 49,
    +
    41  49, 49, 49, 49, 49, 49, 49, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 51, 51,
    +
    42  51, 51, 51, 51, 51, 51, 51, 51, 51, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
    +
    43  53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 54, 54, 54, 54, 54, 54, 54, 54, 54,
    +
    44  54, 54, 54, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 56, 56, 56, 56, 56, 56,
    +
    45  56, 56, 56, 56, 56, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 58, 58, 58,
    +
    46  58, 58, 58, 58, 58, 58, 58, 58, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
    +
    47  60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 61, 61, 61, 61, 61, 61, 61, 61, 61,
    +
    48  61, 61, 61, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 63, 63, 63, 63, 63, 63,
    +
    49  63, 63, 63, 63, 63, 63, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 65, 65,
    +
    50  65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
    +
    51  66, 66, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 68, 68, 68, 68, 68, 68,
    +
    52  68, 68, 68, 68, 68, 68, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 70, 70,
    +
    53  70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
    +
    54  71, 71, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 73, 73, 73, 73, 73,
    +
    55  73, 73, 73, 73, 73, 73, 73, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
    +
    56  75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 76, 76, 76, 76, 76, 76, 76, 76,
    +
    57  76, 76, 76, 76, 76, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 78, 78,
    +
    58  78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 79, 79, 79, 79, 79, 79, 79, 79, 79,
    +
    59  79, 79, 79, 79, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 81, 81, 81,
    +
    60  81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
    +
    61  82, 82, 82, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 84, 84, 84,
    +
    62  84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
    +
    63  85, 85, 85, 85, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 87, 87,
    +
    64  87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 88, 88, 88, 88, 88, 88, 88, 88,
    +
    65  88, 88, 88, 88, 88, 88, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
    +
    66  90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 91, 91, 91, 91, 91, 91,
    +
    67  91, 91, 91, 91, 91, 91, 91, 91, 91, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
    +
    68  92, 92, 92, 92, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 94,
    +
    69  94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 95, 95, 95, 95, 95, 95,
    +
    70  95, 95, 95, 95, 95, 95, 95, 95, 95, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
    +
    71  96, 96, 96, 96, 96, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97,
    +
    72  98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 99, 99, 99, 99,
    +
    73  99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 100, 100, 100, 100, 100,
    +
    74  100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 101, 101, 101, 101, 101,
    +
    75  101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 102, 102, 102, 102,
    +
    76  102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 103, 103, 103,
    +
    77  103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 104, 104,
    +
    78  104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
    +
    79  105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
    +
    80  105, 105, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
    +
    81  106, 106, 106, 106, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
    +
    82  107, 107, 107, 107, 107, 107, 107, 108, 108, 108, 108, 108, 108, 108, 108, 108,
    +
    83  108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 109, 109, 109, 109, 109, 109,
    +
    84  109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 110, 110,
    +
    85  110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
    +
    86  110, 110, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
    +
    87  111, 111, 111, 111, 111, 111, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112,
    +
    88  112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 113, 113, 113, 113,
    +
    89  113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
    +
    90  113, 113, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
    +
    91  114, 114, 114, 114, 114, 114, 114, 114, 115, 115, 115, 115, 115, 115, 115, 115,
    +
    92  115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
    +
    93  116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
    +
    94  116, 116, 116, 116, 116, 116, 116, 116, 116, 117, 117, 117, 117, 117, 117, 117,
    +
    95  117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
    +
    96  117, 117, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
    +
    97  118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 119, 119,
    +
    98  119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
    +
    99  119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 120, 120, 120, 120, 120, 120,
    +
    100  120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
    +
    101  120, 120, 120, 120, 120, 120, 120, 120, 121, 121, 121, 121, 121, 121, 121, 121,
    +
    102  121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
    +
    103  121, 121, 121, 121, 121, 121, 121, 121, 122, 122, 122, 122, 122, 122, 122, 122,
    +
    104  122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
    +
    105  122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 123, 123, 123, 123,
    +
    106  123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
    +
    107  123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
    +
    108  123, 123, 123, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
    +
    109  124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
    +
    110  124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 125, 125,
    +
    111  125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    +
    112  125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    +
    113  125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    +
    114  125, 125, 125, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    +
    115  126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    +
    116  126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    +
    117  126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    +
    118  126, 126, 126, 126, 126, 126, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    119  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    120  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    121  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    122  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    123  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    124  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    125  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    126  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    127  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    128  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    129  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    130  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    131  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    132  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    133  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    134  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    135  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    136  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    137  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    138  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 126, 126, 126, 126,
    +
    139  126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    +
    140  126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    +
    141  126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    +
    142  126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    +
    143  126, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    +
    144  125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    +
    145  125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    +
    146  125, 125, 125, 125, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
    +
    147  124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
    +
    148  124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
    +
    149  123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
    +
    150  123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
    +
    151  123, 123, 123, 123, 123, 123, 123, 122, 122, 122, 122, 122, 122, 122, 122, 122,
    +
    152  122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
    +
    153  122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 121, 121, 121, 121, 121, 121,
    +
    154  121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
    +
    155  121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 120, 120, 120, 120, 120,
    +
    156  120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
    +
    157  120, 120, 120, 120, 120, 120, 120, 120, 120, 119, 119, 119, 119, 119, 119, 119,
    +
    158  119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
    +
    159  119, 119, 119, 119, 119, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
    +
    160  118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
    +
    161  117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
    +
    162  117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 116, 116, 116, 116, 116, 116,
    +
    163  116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
    +
    164  116, 116, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
    +
    165  115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 114, 114, 114, 114, 114, 114,
    +
    166  114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
    +
    167  114, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
    +
    168  113, 113, 113, 113, 113, 113, 113, 112, 112, 112, 112, 112, 112, 112, 112, 112,
    +
    169  112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 111, 111, 111, 111,
    +
    170  111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
    +
    171  111, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
    +
    172  110, 110, 110, 110, 110, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
    +
    173  109, 109, 109, 109, 109, 109, 109, 109, 109, 108, 108, 108, 108, 108, 108, 108,
    +
    174  108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 107, 107, 107, 107,
    +
    175  107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 106,
    +
    176  106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
    +
    177  106, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
    +
    178  105, 105, 105, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
    +
    179  104, 104, 104, 104, 104, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
    +
    180  103, 103, 103, 103, 103, 103, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
    +
    181  102, 102, 102, 102, 102, 102, 102, 101, 101, 101, 101, 101, 101, 101, 101, 101,
    +
    182  101, 101, 101, 101, 101, 101, 101, 101, 100, 100, 100, 100, 100, 100, 100, 100,
    +
    183  100, 100, 100, 100, 100, 100, 100, 100, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
    +
    184  99, 99, 99, 99, 99, 99, 99, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
    +
    185  98, 98, 98, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 96, 96,
    +
    186  96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 95, 95, 95, 95, 95, 95,
    +
    187  95, 95, 95, 95, 95, 95, 95, 95, 95, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
    +
    188  94, 94, 94, 94, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 92,
    +
    189  92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 91, 91, 91, 91, 91, 91,
    +
    190  91, 91, 91, 91, 91, 91, 91, 91, 91, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
    +
    191  90, 90, 90, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 88, 88, 88,
    +
    192  88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 87, 87, 87, 87, 87, 87, 87, 87, 87,
    +
    193  87, 87, 87, 87, 87, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 85,
    +
    194  85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 84, 84, 84, 84, 84, 84, 84,
    +
    195  84, 84, 84, 84, 84, 84, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
    +
    196  82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 81, 81, 81, 81, 81, 81, 81,
    +
    197  81, 81, 81, 81, 81, 81, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 79,
    +
    198  79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 78, 78, 78, 78, 78, 78, 78, 78,
    +
    199  78, 78, 78, 78, 78, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 76, 76,
    +
    200  76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 75, 75, 75, 75, 75, 75, 75, 75, 75,
    +
    201  75, 75, 75, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 73, 73, 73, 73,
    +
    202  73, 73, 73, 73, 73, 73, 73, 73, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72,
    +
    203  72, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 70, 70, 70, 70, 70, 70, 70,
    +
    204  70, 70, 70, 70, 70, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 68, 68, 68,
    +
    205  68, 68, 68, 68, 68, 68, 68, 68, 68, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
    +
    206  67, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 65, 65, 65, 65, 65, 65, 65,
    +
    207  65, 65, 65, 65, 65, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 63, 63, 63,
    +
    208  63, 63, 63, 63, 63, 63, 63, 63, 63, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
    +
    209  61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 60, 60, 60, 60, 60, 60, 60, 60,
    +
    210  60, 60, 60, 60, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 58, 58, 58, 58, 58,
    +
    211  58, 58, 58, 58, 58, 58, 58, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 56, 56,
    +
    212  56, 56, 56, 56, 56, 56, 56, 56, 56, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
    +
    213  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 53, 53, 53, 53, 53, 53, 53, 53,
    +
    214  53, 53, 53, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 51, 51, 51, 51, 51, 51,
    +
    215  51, 51, 51, 51, 51, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 49, 49, 49, 49,
    +
    216  49, 49, 49, 49, 49, 49, 49, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 47, 47,
    +
    217  47, 47, 47, 47, 47, 47, 47, 47, 47, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
    +
    218  45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 44, 44, 44, 44, 44, 44, 44, 44, 44,
    +
    219  44, 44, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 42, 42, 42, 42, 42, 42, 42,
    +
    220  42, 42, 42, 42, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 40, 40, 40, 40, 40,
    +
    221  40, 40, 40, 40, 40, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 38, 38, 38, 38,
    +
    222  38, 38, 38, 38, 38, 38, 38, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 36, 36, 36,
    +
    223  36, 36, 36, 36, 36, 36, 36, 36, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 34, 34,
    +
    224  34, 34, 34, 34, 34, 34, 34, 34, 34, 33, 33, 32, 33, 33, 34, 33, 33, 32, 33, 33,
    +
    225  32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
    +
    226  31, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 29, 29, 29, 29, 29, 29, 29, 29, 29,
    +
    227  29, 29, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 27, 27, 27, 27, 27, 27, 27, 27,
    +
    228  27, 27, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 25, 25, 25, 25, 25, 25, 25,
    +
    229  25, 25, 25, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 23, 23, 23, 23, 23, 23,
    +
    230  23, 23, 23, 23, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 21,
    +
    231  21, 21, 21, 21, 21, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 19, 19, 19, 19, 19,
    +
    232  19, 19, 19, 19, 19, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 17, 17, 17, 17,
    +
    233  17, 17, 17, 17, 17, 17, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 15, 15, 15, 15,
    +
    234  15, 15, 15, 15, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 13, 13, 13,
    +
    235  13, 13, 13, 13, 13, 13, 13, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 11, 11, 11,
    +
    236  11, 11, 11, 11, 11, 11, 11, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 9, 9, 9, 9,
    +
    237  9, 9, 9, 9, 9, 9, 9, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    +
    238  6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4,
    +
    239  4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1,
    +
    240  1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1,
    +
    241  -1, -1, -1, -1, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -3, -3, -3, -3, -3, -3,
    +
    242  -3, -3, -3, -3, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -5, -5, -5, -5, -5, -5,
    +
    243  -5, -5, -5, -5, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -7, -7, -7, -7, -7,
    +
    244  -7, -7, -7, -7, -7, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -9, -9, -9, -9, -9,
    +
    245  -9, -9, -9, -9, -9, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -11,
    +
    246  -11, -11, -11, -11, -11, -11, -11, -11, -11, -12, -12, -12, -12, -12, -12, -12,
    +
    247  -12, -12, -12, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -14, -14, -14,
    +
    248  -14, -14, -14, -14, -14, -14, -14, -15, -15, -15, -15, -15, -15, -15, -15, -15,
    +
    249  -15, -15, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -17, -17, -17, -17,
    +
    250  -17, -17, -17, -17, -17, -17, -18, -18, -18, -18, -18, -18, -18, -18, -18, -18,
    +
    251  -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -20, -20, -20, -20, -20,
    +
    252  -20, -20, -20, -20, -20, -21, -21, -21, -21, -21, -21, -21, -21, -21, -21, -22,
    +
    253  -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -23, -23, -23, -23, -23, -23,
    +
    254  -23, -23, -23, -23, -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -25, -25,
    +
    255  -25, -25, -25, -25, -25, -25, -25, -25, -25, -26, -26, -26, -26, -26, -26, -26,
    +
    256  -26, -26, -26, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -28, -28,
    +
    257  -28, -28, -28, -28, -28, -28, -28, -28, -29, -29, -29, -29, -29, -29, -29, -29,
    +
    258  -29, -29, -29, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -31, -31, -31,
    +
    259  -31, -31, -31, -31, -31, -31, -31, -32, -32, -32, -32, -32, -32, -32, -32, -32,
    +
    260  -32, -32, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -34, -34, -34, -34,
    +
    261  -34, -34, -34, -34, -34, -34, -34, -35, -35, -35, -35, -35, -35, -35, -35, -35,
    +
    262  -35, -35, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -37, -37, -37, -37,
    +
    263  -37, -37, -37, -37, -37, -37, -37, -38, -38, -38, -38, -38, -38, -38, -38, -38,
    +
    264  -38, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -40, -40, -40, -40,
    +
    265  -40, -40, -40, -40, -40, -40, -40, -41, -41, -41, -41, -41, -41, -41, -41, -41,
    +
    266  -41, -41, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -43, -43, -43, -43,
    +
    267  -43, -43, -43, -43, -43, -43, -43, -44, -44, -44, -44, -44, -44, -44, -44, -44,
    +
    268  -44, -44, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -46, -46, -46,
    +
    269  -46, -46, -46, -46, -46, -46, -46, -46, -47, -47, -47, -47, -47, -47, -47, -47,
    +
    270  -47, -47, -47, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -49, -49,
    +
    271  -49, -49, -49, -49, -49, -49, -49, -49, -49, -50, -50, -50, -50, -50, -50, -50,
    +
    272  -50, -50, -50, -50, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -52,
    +
    273  -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -53, -53, -53, -53, -53, -53,
    +
    274  -53, -53, -53, -53, -53, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54,
    +
    275  -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -56, -56, -56, -56,
    +
    276  -56, -56, -56, -56, -56, -56, -56, -57, -57, -57, -57, -57, -57, -57, -57, -57,
    +
    277  -57, -57, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -59, -59,
    +
    278  -59, -59, -59, -59, -59, -59, -59, -59, -59, -60, -60, -60, -60, -60, -60, -60,
    +
    279  -60, -60, -60, -60, -60, -61, -61, -61, -61, -61, -61, -61, -61, -61, -61, -61,
    +
    280  -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -63, -63, -63, -63,
    +
    281  -63, -63, -63, -63, -63, -63, -63, -63, -64, -64, -64, -64, -64, -64, -64, -64,
    +
    282  -64, -64, -64, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -66,
    +
    283  -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -67, -67, -67, -67, -67,
    +
    284  -67, -67, -67, -67, -67, -67, -67, -68, -68, -68, -68, -68, -68, -68, -68, -68,
    +
    285  -68, -68, -68, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -70,
    +
    286  -70, -70, -70, -70, -70, -70, -70, -70, -70, -70, -70, -71, -71, -71, -71, -71,
    +
    287  -71, -71, -71, -71, -71, -71, -71, -72, -72, -72, -72, -72, -72, -72, -72, -72,
    +
    288  -72, -72, -72, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73,
    +
    289  -74, -74, -74, -74, -74, -74, -74, -74, -74, -74, -74, -74, -75, -75, -75, -75,
    +
    290  -75, -75, -75, -75, -75, -75, -75, -75, -75, -76, -76, -76, -76, -76, -76, -76,
    +
    291  -76, -76, -76, -76, -76, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77,
    +
    292  -77, -77, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -79,
    +
    293  -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -80, -80, -80, -80,
    +
    294  -80, -80, -80, -80, -80, -80, -80, -80, -80, -81, -81, -81, -81, -81, -81, -81,
    +
    295  -81, -81, -81, -81, -81, -81, -82, -82, -82, -82, -82, -82, -82, -82, -82, -82,
    +
    296  -82, -82, -82, -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, -83,
    +
    297  -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -85, -85,
    +
    298  -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -86, -86, -86, -86,
    +
    299  -86, -86, -86, -86, -86, -86, -86, -86, -86, -87, -87, -87, -87, -87, -87, -87,
    +
    300  -87, -87, -87, -87, -87, -87, -87, -88, -88, -88, -88, -88, -88, -88, -88, -88,
    +
    301  -88, -88, -88, -88, -88, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89, -89,
    +
    302  -89, -89, -89, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90,
    +
    303  -90, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91,
    +
    304  -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -93, -93,
    +
    305  -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -94, -94, -94,
    +
    306  -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -95, -95, -95, -95,
    +
    307  -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -96, -96, -96, -96, -96,
    +
    308  -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -97, -97, -97, -97, -97, -97,
    +
    309  -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -98, -98, -98, -98, -98, -98,
    +
    310  -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -99, -99, -99, -99, -99, -99,
    +
    311  -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -100, -100, -100, -100, -100,
    +
    312  -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -101, -101,
    +
    313  -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
    +
    314  -101, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
    +
    315  -102, -102, -102, -102, -102, -103, -103, -103, -103, -103, -103, -103, -103,
    +
    316  -103, -103, -103, -103, -103, -103, -103, -103, -103, -104, -104, -104, -104,
    +
    317  -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    +
    318  -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
    +
    319  -105, -105, -105, -105, -105, -106, -106, -106, -106, -106, -106, -106, -106,
    +
    320  -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -107, -107, -107,
    +
    321  -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    +
    322  -107, -107, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    +
    323  -108, -108, -108, -108, -108, -108, -108, -108, -109, -109, -109, -109, -109,
    +
    324  -109, -109, -109, -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +
    325  -109, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    +
    326  -110, -110, -110, -110, -110, -110, -110, -110, -111, -111, -111, -111, -111,
    +
    327  -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +
    328  -111, -111, -112, -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    +
    329  -112, -112, -112, -112, -112, -112, -112, -112, -112, -112, -113, -113, -113,
    +
    330  -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +
    331  -113, -113, -113, -113, -113, -114, -114, -114, -114, -114, -114, -114, -114,
    +
    332  -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
    +
    333  -114, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    +
    334  -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -116, -116,
    +
    335  -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +
    336  -116, -116, -116, -116, -116, -116, -116, -116, -116, -117, -117, -117, -117,
    +
    337  -117, -117, -117, -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +
    338  -117, -117, -117, -117, -117, -117, -117, -118, -118, -118, -118, -118, -118,
    +
    339  -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +
    340  -118, -118, -118, -118, -118, -118, -118, -119, -119, -119, -119, -119, -119,
    +
    341  -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +
    342  -119, -119, -119, -119, -119, -119, -119, -119, -120, -120, -120, -120, -120,
    +
    343  -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +
    344  -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -121, -121, -121,
    +
    345  -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
    +
    346  -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
    +
    347  -121, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    +
    348  -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    +
    349  -122, -122, -122, -122, -122, -122, -122, -123, -123, -123, -123, -123, -123,
    +
    350  -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +
    351  -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +
    352  -123, -123, -123, -123, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +
    353  -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +
    354  -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +
    355  -124, -124, -124, -124, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +
    356  -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +
    357  -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +
    358  -125, -125, -125, -125, -125, -125, -125, -125, -125, -126, -126, -126, -126,
    +
    359  -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +
    360  -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +
    361  -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +
    362  -126, -126, -126, -126, -126, -126, -126, -126, -126, -127, -127, -127, -127,
    +
    363  -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +
    364  -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +
    365  -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +
    366  -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +
    367  -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -128, -127,
    +
    368  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    369  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    370  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    371  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    372  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    373  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    374  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    375  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    376  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    377  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    378  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    379  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    380  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    381  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    382  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    383  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    384  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    385  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    386  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    387  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    388  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    389  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    390  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    391  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    392  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    393  -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +
    394  -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +
    395  -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +
    396  -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +
    397  -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +
    398  -127, -127, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +
    399  -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +
    400  -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +
    401  -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +
    402  -126, -126, -126, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +
    403  -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +
    404  -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +
    405  -125, -125, -125, -125, -125, -125, -125, -124, -124, -124, -124, -124, -124,
    +
    406  -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +
    407  -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
    +
    408  -124, -124, -124, -124, -124, -124, -124, -123, -123, -123, -123, -123, -123,
    +
    409  -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +
    410  -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +
    411  -123, -123, -123, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    +
    412  -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    +
    413  -122, -122, -122, -122, -122, -122, -122, -122, -122, -122, -121, -121, -121,
    +
    414  -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
    +
    415  -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
    +
    416  -121, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +
    417  -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
    +
    418  -120, -120, -120, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +
    419  -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
    +
    420  -119, -119, -119, -119, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +
    421  -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
    +
    422  -118, -118, -118, -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +
    423  -117, -117, -117, -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +
    424  -117, -117, -117, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +
    425  -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +
    426  -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    +
    427  -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -114, -114, -114,
    +
    428  -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
    +
    429  -114, -114, -114, -114, -114, -114, -113, -113, -113, -113, -113, -113, -113,
    +
    430  -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +
    431  -113, -112, -112, -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
    +
    432  -112, -112, -112, -112, -112, -112, -112, -112, -112, -111, -111, -111, -111,
    +
    433  -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +
    434  -111, -111, -111, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    +
    435  -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -109, -109, -109,
    +
    436  -109, -109, -109, -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
    +
    437  -109, -109, -109, -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
    +
    438  -108, -108, -108, -108, -108, -108, -108, -108, -108, -107, -107, -107, -107,
    +
    439  -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
    +
    440  -107, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
    +
    441  -106, -106, -106, -106, -106, -106, -105, -105, -105, -105, -105, -105, -105,
    +
    442  -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -105, -104, -104,
    +
    443  -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
    +
    444  -104, -104, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
    +
    445  -103, -103, -103, -103, -103, -103, -102, -102, -102, -102, -102, -102, -102,
    +
    446  -102, -102, -102, -102, -102, -102, -102, -102, -102, -102, -101, -101, -101,
    +
    447  -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
    +
    448  -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
    +
    449  -100, -100, -100, -100, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99, -99,
    +
    450  -99, -99, -99, -99, -99, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98, -98,
    +
    451  -98, -98, -98, -98, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97, -97,
    +
    452  -97, -97, -97, -97, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96, -96,
    +
    453  -96, -96, -96, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95, -95,
    +
    454  -95, -95, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94, -94,
    +
    455  -94, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93, -93,
    +
    456  -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -92, -91,
    +
    457  -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -90, -90, -90,
    +
    458  -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -89, -89, -89, -89, -89,
    +
    459  -89, -89, -89, -89, -89, -89, -89, -89, -89, -88, -88, -88, -88, -88, -88, -88,
    +
    460  -88, -88, -88, -88, -88, -88, -88, -87, -87, -87, -87, -87, -87, -87, -87, -87,
    +
    461  -87, -87, -87, -87, -87, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86,
    +
    462  -86, -86, -86, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85, -85,
    +
    463  -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -84, -83, -83, -83,
    +
    464  -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, -82, -82, -82, -82, -82,
    +
    465  -82, -82, -82, -82, -82, -82, -82, -82, -81, -81, -81, -81, -81, -81, -81, -81,
    +
    466  -81, -81, -81, -81, -81, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
    +
    467  -80, -80, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -78,
    +
    468  -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -77, -77, -77, -77,
    +
    469  -77, -77, -77, -77, -77, -77, -77, -77, -77, -76, -76, -76, -76, -76, -76, -76,
    +
    470  -76, -76, -76, -76, -76, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75,
    +
    471  -75, -75, -74, -74, -74, -74, -74, -74, -74, -74, -74, -74, -74, -74, -73, -73,
    +
    472  -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -72, -72, -72, -72, -72, -72,
    +
    473  -72, -72, -72, -72, -72, -72, -72, -71, -71, -71, -71, -71, -71, -71, -71, -71,
    +
    474  -71, -71, -71, -70, -70, -70, -70, -70, -70, -70, -70, -70, -70, -70, -70, -69,
    +
    475  -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -68, -68, -68, -68, -68,
    +
    476  -68, -68, -68, -68, -68, -68, -68, -67, -67, -67, -67, -67, -67, -67, -67, -67,
    +
    477  -67, -67, -67, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -65,
    +
    478  -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -64, -64, -64, -64, -64,
    +
    479  -64, -64, -64, -64, -64, -64, -64, -63, -63, -63, -63, -63, -63, -63, -63, -63,
    +
    480  -63, -63, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -61, -61,
    +
    481  -61, -61, -61, -61, -61, -61, -61, -61, -61, -60, -60, -60, -60, -60, -60, -60,
    +
    482  -60, -60, -60, -60, -60, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59,
    +
    483  -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -57, -57, -57, -57,
    +
    484  -57, -57, -57, -57, -57, -57, -57, -56, -56, -56, -56, -56, -56, -56, -56, -56,
    +
    485  -56, -56, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -54, -54,
    +
    486  -54, -54, -54, -54, -54, -54, -54, -54, -54, -53, -53, -53, -53, -53, -53, -53,
    +
    487  -53, -53, -53, -53, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -51,
    +
    488  -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -50, -50, -50, -50, -50, -50,
    +
    489  -50, -50, -50, -50, -50, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49, -49,
    +
    490  -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48, -47, -47, -47, -47, -47,
    +
    491  -47, -47, -47, -47, -47, -47, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
    +
    492  -46, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -44, -44, -44, -44,
    +
    493  -44, -44, -44, -44, -44, -44, -44, -43, -43, -43, -43, -43, -43, -43, -43, -43,
    +
    494  -43, -43, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -41, -41, -41, -41,
    +
    495  -41, -41, -41, -41, -41, -41, -41, -40, -40, -40, -40, -40, -40, -40, -40, -40,
    +
    496  -40, -40, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -38, -38, -38,
    +
    497  -38, -38, -38, -38, -38, -38, -38, -37, -37, -37, -37, -37, -37, -37, -37, -37,
    +
    498  -37, -37, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -35, -35, -35, -35,
    +
    499  -35, -35, -35, -35, -35, -35, -35, -34, -34, -34, -34, -34, -34, -34, -34, -34,
    +
    500  -34, -34, -33, -33, -33, -33, -33, -33, -33, -33, -33, -33, -32, -32, -32, -32,
    +
    501  -32, -32, -32, -32, -32, -32, -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
    +
    502  -31, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -30, -29, -29, -29, -29,
    +
    503  -29, -29, -29, -29, -29, -29, -28, -28, -28, -28, -28, -28, -28, -28, -28, -28,
    +
    504  -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -27, -26, -26, -26, -26, -26,
    +
    505  -26, -26, -26, -26, -26, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25, -25,
    +
    506  -24, -24, -24, -24, -24, -24, -24, -24, -24, -24, -23, -23, -23, -23, -23, -23,
    +
    507  -23, -23, -23, -23, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -22, -21,
    +
    508  -21, -21, -21, -21, -21, -21, -21, -21, -21, -20, -20, -20, -20, -20, -20, -20,
    +
    509  -20, -20, -20, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -19, -18, -18,
    +
    510  -18, -18, -18, -18, -18, -18, -18, -18, -17, -17, -17, -17, -17, -17, -17, -17,
    +
    511  -17, -17, -16, -16, -16, -16, -16, -16, -16, -16, -16, -16, -15, -15, -15, -15,
    +
    512  -15, -15, -15, -15, -15, -15, -15, -14, -14, -14, -14, -14, -14, -14, -14, -14,
    +
    513  -14, -13, -13, -13, -13, -13, -13, -13, -13, -13, -13, -12, -12, -12, -12, -12,
    +
    514  -12, -12, -12, -12, -12, -11, -11, -11, -11, -11, -11, -11, -11, -11, -11, -10,
    +
    515  -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -9, -9, -9, -9, -9, -9, -9,
    +
    516  -9, -9, -9, -8, -8, -8, -8, -8, -8, -8, -8, -8, -8, -7, -7, -7, -7, -7, -7, -7,
    +
    517  -7, -7, -7, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -5, -5, -5, -5, -5, -5,
    +
    518  -5, -5, -5, -5, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -3, -3, -3, -3, -3, -3,
    +
    519  -3, -3, -3, -3, -2, -2, -2, -2, -2, -2, -2, -2, -2, -2, -1, -1, -1, -1, -1, -1,
    +
    520  -1, -1, -1, -1, -1, 0, 0, 0, 0, 0,
    +
    521  };
    +
    522 
    +
    523 #endif /* SIN8192_INT8_H_ */
    +
    +
    + + diff --git a/doc/html/sin8192__uint8_8h_source.html b/doc/html/sin8192__uint8_8h_source.html index 905a72410..5a9cc6f97 100644 --- a/doc/html/sin8192__uint8_8h_source.html +++ b/doc/html/sin8192__uint8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: tables/sin8192_uint8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,490 +99,492 @@
    -
    tables/sin8192_uint8.h
    +
    sin8192_uint8.h
    -
    00001 #ifndef sin8192_uint_H_
    -00002 #define sin8192_uint_H_
    -00003  
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010  
    -00011 
    -00012 #define sin8192_uint_NUM_CELLS 8192
    -00013 #define sin8192_uint_SAMPLERATE 8192
    -00014  
    -00018 const char __attribute__((progmem)) sin8192_uint_DATA [] = {0, 0, 0, 0, 0, 0, 0,
    -00019 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00020 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00021 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00022 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00023 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00024 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1,
    -00025 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
    -00026 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
    -00027 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    -00028 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    -00029 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
    -00030 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4,
    -00031 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
    -00032 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
    -00033 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
    -00034 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7,
    -00035 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8,
    -00036 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9,
    -00037 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
    -00038 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
    -00039 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
    -00040 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12,
    -00041 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13,
    -00042 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14,
    -00043 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15,
    -00044 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
    -00045 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
    -00046 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
    -00047 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
    -00048 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
    -00049 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21,
    -00050 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22,
    -00051 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23,
    -00052 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24,
    -00053 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
    -00054 25, 25, 25, 25, 25, 25, 25, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
    -00055 26, 26, 26, 26, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
    -00056 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 29, 29, 29,
    -00057 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 30, 30, 30, 30, 30, 30, 30,
    -00058 30, 30, 30, 30, 30, 30, 30, 30, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
    -00059 31, 31, 31, 31, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 33,
    -00060 33, 33, 32, 33, 33, 32, 33, 33, 34, 33, 33, 34, 33, 33, 34, 34, 34, 34, 34, 34,
    -00061 34, 34, 34, 34, 34, 34, 34, 34, 34, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
    -00062 35, 35, 35, 35, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 37, 37,
    -00063 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 38, 38, 38, 38, 38, 38, 38,
    -00064 38, 38, 38, 38, 38, 38, 38, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
    -00065 39, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 41, 41, 41, 41, 41,
    -00066 41, 41, 41, 41, 41, 41, 41, 41, 41, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
    -00067 42, 42, 42, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 44, 44, 44, 44,
    -00068 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
    -00069 45, 45, 45, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 47, 47, 47, 47,
    -00070 47, 47, 47, 47, 47, 47, 47, 47, 47, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
    -00071 48, 48, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 50, 50, 50, 50, 50,
    -00072 50, 50, 50, 50, 50, 50, 50, 50, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
    -00073 51, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 53, 53, 53, 53, 53, 53, 53,
    -00074 53, 53, 53, 53, 53, 53, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 55, 55,
    -00075 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 56, 56, 56, 56, 56, 56, 56, 56, 56,
    -00076 56, 56, 56, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 58, 58, 58, 58, 58,
    -00077 58, 58, 58, 58, 58, 58, 58, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 60,
    -00078 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 61, 61, 61, 61, 61, 61, 61, 61, 61,
    -00079 61, 61, 61, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 63, 63, 63, 63, 63,
    -00080 63, 63, 63, 63, 63, 63, 63, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 65,
    -00081 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
    -00082 66, 66, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 68, 68, 68, 68, 68, 68, 68,
    -00083 68, 68, 68, 68, 68, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 70, 70, 70, 70,
    -00084 70, 70, 70, 70, 70, 70, 70, 70, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 72,
    -00085 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
    -00086 73, 73, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 75, 75, 75, 75, 75, 75, 75,
    -00087 75, 75, 75, 75, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 77, 77, 77, 77, 77,
    -00088 77, 77, 77, 77, 77, 77, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 79, 79, 79,
    -00089 79, 79, 79, 79, 79, 79, 79, 79, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 81,
    -00090 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
    -00091 82, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 84, 84, 84, 84, 84, 84, 84, 84,
    -00092 84, 84, 84, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 86, 86, 86, 86, 86, 86,
    -00093 86, 86, 86, 86, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 88, 88, 88, 88, 88,
    -00094 88, 88, 88, 88, 88, 88, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 90, 90, 90,
    -00095 90, 90, 90, 90, 90, 90, 90, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 92, 92,
    -00096 92, 92, 92, 92, 92, 92, 92, 92, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 94,
    -00097 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
    -00098 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 97, 97, 97, 97, 97, 97, 97, 97, 97,
    -00099 97, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 99, 99, 99, 99, 99, 99, 99, 99,
    -00100 99, 99, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 101, 101, 101, 101,
    -00101 101, 101, 101, 101, 101, 101, 101, 102, 102, 102, 102, 102, 102, 102, 102, 102,
    -00102 102, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 104, 104, 104, 104,
    -00103 104, 104, 104, 104, 104, 104, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
    -00104 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 107, 107, 107, 107, 107,
    -00105 107, 107, 107, 107, 107, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 109,
    -00106 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 110, 110, 110, 110, 110, 110,
    -00107 110, 110, 110, 110, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 112, 112,
    -00108 112, 112, 112, 112, 112, 112, 112, 112, 113, 113, 113, 113, 113, 113, 113, 113,
    -00109 113, 113, 113, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 115, 115, 115,
    -00110 115, 115, 115, 115, 115, 115, 115, 116, 116, 116, 116, 116, 116, 116, 116, 116,
    -00111 116, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 118, 118, 118, 118,
    -00112 118, 118, 118, 118, 118, 118, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
    -00113 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 121, 121, 121, 121, 121, 121,
    -00114 121, 121, 121, 121, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 123,
    -00115 123, 123, 123, 123, 123, 123, 123, 123, 123, 124, 124, 124, 124, 124, 124, 124,
    -00116 124, 124, 124, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 126, 126, 126,
    -00117 126, 126, 126, 126, 126, 126, 126, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00118 127, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 129, 129, 129, 129,
    -00119 129, 129, 129, 129, 129, 129, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
    -00120 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 132, 132, 132, 132, 132, 132,
    -00121 132, 132, 132, 132, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 134,
    -00122 134, 134, 134, 134, 134, 134, 134, 134, 134, 135, 135, 135, 135, 135, 135, 135,
    -00123 135, 135, 135, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 137, 137, 137,
    -00124 137, 137, 137, 137, 137, 137, 137, 138, 138, 138, 138, 138, 138, 138, 138, 138,
    -00125 138, 138, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 140, 140, 140, 140,
    -00126 140, 140, 140, 140, 140, 140, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
    -00127 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 143, 143, 143, 143, 143,
    -00128 143, 143, 143, 143, 143, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 145,
    -00129 145, 145, 145, 145, 145, 145, 145, 145, 145, 146, 146, 146, 146, 146, 146, 146,
    -00130 146, 146, 146, 146, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 148, 148,
    -00131 148, 148, 148, 148, 148, 148, 148, 148, 149, 149, 149, 149, 149, 149, 149, 149,
    -00132 149, 149, 149, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 151, 151, 151,
    -00133 151, 151, 151, 151, 151, 151, 151, 152, 152, 152, 152, 152, 152, 152, 152, 152,
    -00134 152, 152, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 154, 154, 154, 154,
    -00135 154, 154, 154, 154, 154, 154, 154, 155, 155, 155, 155, 155, 155, 155, 155, 155,
    -00136 155, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 157, 157, 157, 157, 157,
    -00137 157, 157, 157, 157, 157, 157, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
    -00138 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 160, 160, 160, 160, 160,
    -00139 160, 160, 160, 160, 160, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
    -00140 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 163, 163, 163, 163, 163,
    -00141 163, 163, 163, 163, 163, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
    -00142 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 166, 166, 166, 166, 166, 166,
    -00143 166, 166, 166, 166, 166, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
    -00144 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 169, 169, 169, 169, 169,
    -00145 169, 169, 169, 169, 169, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
    -00146 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 172, 172, 172, 172, 172,
    -00147 172, 172, 172, 172, 172, 172, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
    -00148 173, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 175, 175, 175, 175,
    -00149 175, 175, 175, 175, 175, 175, 175, 176, 176, 176, 176, 176, 176, 176, 176, 176,
    -00150 176, 176, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 178, 178, 178,
    -00151 178, 178, 178, 178, 178, 178, 178, 178, 179, 179, 179, 179, 179, 179, 179, 179,
    -00152 179, 179, 179, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 181, 181,
    -00153 181, 181, 181, 181, 181, 181, 181, 181, 181, 182, 182, 182, 182, 182, 182, 182,
    -00154 182, 182, 182, 182, 182, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
    -00155 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 185, 185, 185, 185, 185,
    -00156 185, 185, 185, 185, 185, 185, 185, 186, 186, 186, 186, 186, 186, 186, 186, 186,
    -00157 186, 186, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 188, 188,
    -00158 188, 188, 188, 188, 188, 188, 188, 188, 188, 189, 189, 189, 189, 189, 189, 189,
    -00159 189, 189, 189, 189, 189, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
    -00160 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 192, 192, 192, 192,
    -00161 192, 192, 192, 192, 192, 192, 192, 192, 193, 193, 193, 193, 193, 193, 193, 193,
    -00162 193, 193, 193, 193, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194,
    -00163 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 196, 196, 196, 196,
    -00164 196, 196, 196, 196, 196, 196, 196, 196, 197, 197, 197, 197, 197, 197, 197, 197,
    -00165 197, 197, 197, 197, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198,
    -00166 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 200, 200, 200, 200,
    -00167 200, 200, 200, 200, 200, 200, 200, 200, 200, 201, 201, 201, 201, 201, 201, 201,
    -00168 201, 201, 201, 201, 201, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202,
    -00169 202, 202, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 204, 204,
    -00170 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 205, 205, 205, 205, 205,
    -00171 205, 205, 205, 205, 205, 205, 205, 205, 206, 206, 206, 206, 206, 206, 206, 206,
    -00172 206, 206, 206, 206, 206, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207,
    -00173 207, 207, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 209,
    -00174 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 210, 210, 210, 210,
    -00175 210, 210, 210, 210, 210, 210, 210, 210, 210, 211, 211, 211, 211, 211, 211, 211,
    -00176 211, 211, 211, 211, 211, 211, 211, 212, 212, 212, 212, 212, 212, 212, 212, 212,
    -00177 212, 212, 212, 212, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213,
    -00178 213, 213, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214,
    -00179 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 216, 216,
    -00180 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 217, 217, 217, 217,
    -00181 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 218, 218, 218, 218, 218, 218,
    -00182 218, 218, 218, 218, 218, 218, 218, 218, 218, 219, 219, 219, 219, 219, 219, 219,
    -00183 219, 219, 219, 219, 219, 219, 219, 220, 220, 220, 220, 220, 220, 220, 220, 220,
    -00184 220, 220, 220, 220, 220, 220, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
    -00185 221, 221, 221, 221, 221, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
    -00186 222, 222, 222, 222, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223,
    -00187 223, 223, 223, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224,
    -00188 224, 224, 224, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225,
    -00189 225, 225, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226,
    -00190 226, 226, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227,
    -00191 227, 227, 227, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
    -00192 228, 228, 228, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229,
    -00193 229, 229, 229, 229, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230,
    -00194 230, 230, 230, 230, 230, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231,
    -00195 231, 231, 231, 231, 231, 231, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232,
    -00196 232, 232, 232, 232, 232, 232, 232, 232, 233, 233, 233, 233, 233, 233, 233, 233,
    -00197 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 234, 234, 234, 234, 234, 234,
    -00198 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 235, 235, 235, 235,
    -00199 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 236,
    -00200 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236,
    -00201 236, 236, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
    -00202 237, 237, 237, 237, 237, 237, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238,
    -00203 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 239, 239, 239, 239, 239, 239,
    -00204 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 240,
    -00205 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240,
    -00206 240, 240, 240, 240, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
    -00207 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 242, 242, 242, 242, 242, 242,
    -00208 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242,
    -00209 242, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
    -00210 243, 243, 243, 243, 243, 243, 243, 243, 244, 244, 244, 244, 244, 244, 244, 244,
    -00211 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244,
    -00212 244, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
    -00213 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 246, 246, 246, 246, 246,
    -00214 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
    -00215 246, 246, 246, 246, 246, 246, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
    -00216 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
    -00217 247, 247, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
    -00218 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
    -00219 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249,
    -00220 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249,
    -00221 249, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250,
    -00222 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250,
    -00223 250, 250, 250, 250, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251,
    -00224 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251,
    -00225 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 252, 252, 252, 252, 252,
    -00226 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252,
    -00227 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252,
    -00228 252, 252, 252, 252, 252, 252, 252, 253, 253, 253, 253, 253, 253, 253, 253, 253,
    -00229 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
    -00230 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
    -00231 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 254, 254, 254, 254, 254,
    -00232 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254,
    -00233 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254,
    -00234 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254,
    -00235 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 255,
    -00236 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
    -00237 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
    -00238 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
    -00239 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
    -00240 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
    -00241 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
    -00242 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
    -00243 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
    -00244 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
    -00245 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
    -00246 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
    -00247 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
    -00248 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
    -00249 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
    -00250 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
    -00251 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
    -00252 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
    -00253 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
    -00254 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
    -00255 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
    -00256 255, 255, 255, 255, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254,
    -00257 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254,
    -00258 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254,
    -00259 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254,
    -00260 254, 254, 254, 254, 254, 254, 254, 254, 253, 253, 253, 253, 253, 253, 253, 253,
    -00261 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
    -00262 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
    -00263 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 252, 252, 252, 252,
    -00264 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252,
    -00265 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252,
    -00266 252, 252, 252, 252, 252, 252, 252, 252, 251, 251, 251, 251, 251, 251, 251, 251,
    -00267 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251,
    -00268 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 250,
    -00269 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250,
    -00270 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250,
    -00271 250, 250, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249,
    -00272 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249,
    -00273 249, 249, 249, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
    -00274 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
    -00275 248, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
    -00276 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 246, 246, 246,
    -00277 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
    -00278 246, 246, 246, 246, 246, 246, 246, 246, 245, 245, 245, 245, 245, 245, 245, 245,
    -00279 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
    -00280 245, 245, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244,
    -00281 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 243, 243, 243, 243, 243,
    -00282 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
    -00283 243, 243, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242,
    -00284 242, 242, 242, 242, 242, 242, 242, 242, 242, 241, 241, 241, 241, 241, 241, 241,
    -00285 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 240,
    -00286 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240,
    -00287 240, 240, 240, 240, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
    -00288 239, 239, 239, 239, 239, 239, 239, 239, 239, 238, 238, 238, 238, 238, 238, 238,
    -00289 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 237, 237, 237,
    -00290 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
    -00291 237, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236,
    -00292 236, 236, 236, 236, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235,
    -00293 235, 235, 235, 235, 235, 235, 235, 234, 234, 234, 234, 234, 234, 234, 234, 234,
    -00294 234, 234, 234, 234, 234, 234, 234, 234, 234, 233, 233, 233, 233, 233, 233, 233,
    -00295 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 232, 232, 232, 232, 232,
    -00296 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 231, 231, 231,
    -00297 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 230, 230,
    -00298 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 229,
    -00299 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229,
    -00300 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
    -00301 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227,
    -00302 227, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226,
    -00303 226, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225,
    -00304 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224,
    -00305 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 222,
    -00306 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 221, 221,
    -00307 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 220, 220, 220,
    -00308 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 219, 219, 219, 219,
    -00309 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 218, 218, 218, 218, 218, 218,
    -00310 218, 218, 218, 218, 218, 218, 218, 218, 218, 217, 217, 217, 217, 217, 217, 217,
    -00311 217, 217, 217, 217, 217, 217, 217, 216, 216, 216, 216, 216, 216, 216, 216, 216,
    -00312 216, 216, 216, 216, 216, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215,
    -00313 215, 215, 215, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214,
    -00314 214, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 212,
    -00315 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 211, 211, 211, 211,
    -00316 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 210, 210, 210, 210, 210, 210,
    -00317 210, 210, 210, 210, 210, 210, 210, 209, 209, 209, 209, 209, 209, 209, 209, 209,
    -00318 209, 209, 209, 209, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
    -00319 208, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 206, 206,
    -00320 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 205, 205, 205, 205, 205,
    -00321 205, 205, 205, 205, 205, 205, 205, 205, 204, 204, 204, 204, 204, 204, 204, 204,
    -00322 204, 204, 204, 204, 204, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
    -00323 203, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 201, 201,
    -00324 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 200, 200, 200, 200, 200, 200,
    -00325 200, 200, 200, 200, 200, 200, 200, 199, 199, 199, 199, 199, 199, 199, 199, 199,
    -00326 199, 199, 199, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 197,
    -00327 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 196, 196, 196, 196, 196,
    -00328 196, 196, 196, 196, 196, 196, 196, 195, 195, 195, 195, 195, 195, 195, 195, 195,
    -00329 195, 195, 195, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 193,
    -00330 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 192, 192, 192, 192, 192,
    -00331 192, 192, 192, 192, 192, 192, 192, 191, 191, 191, 191, 191, 191, 191, 191, 191,
    -00332 191, 191, 191, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 189, 189,
    -00333 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 188, 188, 188, 188, 188, 188,
    -00334 188, 188, 188, 188, 188, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
    -00335 187, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 185, 185, 185, 185,
    -00336 185, 185, 185, 185, 185, 185, 185, 185, 184, 184, 184, 184, 184, 184, 184, 184,
    -00337 184, 184, 184, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 182, 182,
    -00338 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 181, 181, 181, 181, 181, 181,
    -00339 181, 181, 181, 181, 181, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
    -00340 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 178, 178, 178, 178, 178,
    -00341 178, 178, 178, 178, 178, 178, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
    -00342 177, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 175, 175, 175, 175,
    -00343 175, 175, 175, 175, 175, 175, 175, 174, 174, 174, 174, 174, 174, 174, 174, 174,
    -00344 174, 174, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 172, 172, 172,
    -00345 172, 172, 172, 172, 172, 172, 172, 172, 171, 171, 171, 171, 171, 171, 171, 171,
    -00346 171, 171, 171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 169, 169,
    -00347 169, 169, 169, 169, 169, 169, 169, 169, 168, 168, 168, 168, 168, 168, 168, 168,
    -00348 168, 168, 168, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 166, 166,
    -00349 166, 166, 166, 166, 166, 166, 166, 166, 166, 165, 165, 165, 165, 165, 165, 165,
    -00350 165, 165, 165, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 163, 163,
    -00351 163, 163, 163, 163, 163, 163, 163, 163, 162, 162, 162, 162, 162, 162, 162, 162,
    -00352 162, 162, 162, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 160, 160,
    -00353 160, 160, 160, 160, 160, 160, 160, 160, 159, 159, 159, 159, 159, 159, 159, 159,
    -00354 159, 159, 159, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 157, 157, 157,
    -00355 157, 157, 157, 157, 157, 157, 157, 157, 156, 156, 156, 156, 156, 156, 156, 156,
    -00356 156, 156, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 154, 154, 154, 154,
    -00357 154, 154, 154, 154, 154, 154, 154, 153, 153, 153, 153, 153, 153, 153, 153, 153,
    -00358 153, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 151, 151, 151, 151,
    -00359 151, 151, 151, 151, 151, 151, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150,
    -00360 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 148, 148, 148, 148, 148,
    -00361 148, 148, 148, 148, 148, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 146,
    -00362 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 145, 145, 145, 145, 145, 145,
    -00363 145, 145, 145, 145, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 143, 143,
    -00364 143, 143, 143, 143, 143, 143, 143, 143, 142, 142, 142, 142, 142, 142, 142, 142,
    -00365 142, 142, 142, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 140, 140, 140,
    -00366 140, 140, 140, 140, 140, 140, 140, 139, 139, 139, 139, 139, 139, 139, 139, 139,
    -00367 139, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 137, 137, 137, 137,
    -00368 137, 137, 137, 137, 137, 137, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
    -00369 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 134, 134, 134, 134, 134, 134,
    -00370 134, 134, 134, 134, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 132,
    -00371 132, 132, 132, 132, 132, 132, 132, 132, 132, 131, 131, 131, 131, 131, 131, 131,
    -00372 131, 131, 131, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 129, 129, 129,
    -00373 129, 129, 129, 129, 129, 129, 129, 128, 128, 128, 128, 128, 128, 128, 128, 128,
    -00374 128, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 126, 126, 126, 126,
    -00375 126, 126, 126, 126, 126, 126, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    -00376 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 123, 123, 123, 123, 123, 123,
    -00377 123, 123, 123, 123, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 121,
    -00378 121, 121, 121, 121, 121, 121, 121, 121, 121, 120, 120, 120, 120, 120, 120, 120,
    -00379 120, 120, 120, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 118, 118, 118,
    -00380 118, 118, 118, 118, 118, 118, 118, 117, 117, 117, 117, 117, 117, 117, 117, 117,
    -00381 117, 117, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 115, 115, 115, 115,
    -00382 115, 115, 115, 115, 115, 115, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
    -00383 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 112, 112, 112, 112, 112,
    -00384 112, 112, 112, 112, 112, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 110,
    -00385 110, 110, 110, 110, 110, 110, 110, 110, 110, 109, 109, 109, 109, 109, 109, 109,
    -00386 109, 109, 109, 109, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 107, 107,
    -00387 107, 107, 107, 107, 107, 107, 107, 107, 106, 106, 106, 106, 106, 106, 106, 106,
    -00388 106, 106, 106, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 104, 104, 104,
    -00389 104, 104, 104, 104, 104, 104, 104, 103, 103, 103, 103, 103, 103, 103, 103, 103,
    -00390 103, 103, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 101, 101, 101, 101,
    -00391 101, 101, 101, 101, 101, 101, 101, 100, 100, 100, 100, 100, 100, 100, 100, 100,
    -00392 100, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 98, 98, 98, 98, 98, 98, 98, 98, 98,
    -00393 98, 98, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 96, 96, 96, 96, 96, 96, 96, 96,
    -00394 96, 96, 96, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 94, 94, 94, 94, 94, 94, 94,
    -00395 94, 94, 94, 94, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 92, 92, 92, 92, 92,
    -00396 92, 92, 92, 92, 92, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 90, 90, 90, 90,
    -00397 90, 90, 90, 90, 90, 90, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 88, 88, 88,
    -00398 88, 88, 88, 88, 88, 88, 88, 88, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 86,
    -00399 86, 86, 86, 86, 86, 86, 86, 86, 86, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
    -00400 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 83, 83, 83, 83, 83, 83, 83, 83, 83,
    -00401 83, 83, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 81, 81, 81, 81, 81, 81, 81,
    -00402 81, 81, 81, 81, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 79, 79, 79, 79, 79,
    -00403 79, 79, 79, 79, 79, 79, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 77, 77, 77,
    -00404 77, 77, 77, 77, 77, 77, 77, 77, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 75,
    -00405 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
    -00406 74, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 72, 72, 72, 72, 72, 72, 72,
    -00407 72, 72, 72, 72, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 70, 70, 70, 70, 70,
    -00408 70, 70, 70, 70, 70, 70, 70, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 68, 68,
    -00409 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
    -00410 67, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 65, 65, 65, 65, 65, 65, 65,
    -00411 65, 65, 65, 65, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 63, 63, 63, 63,
    -00412 63, 63, 63, 63, 63, 63, 63, 63, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
    -00413 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 60, 60, 60, 60, 60, 60, 60, 60,
    -00414 60, 60, 60, 60, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 58, 58, 58, 58,
    -00415 58, 58, 58, 58, 58, 58, 58, 58, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57,
    -00416 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 55, 55, 55, 55, 55, 55, 55, 55,
    -00417 55, 55, 55, 55, 55, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 53, 53, 53,
    -00418 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
    -00419 52, 52, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 50, 50, 50, 50, 50,
    -00420 50, 50, 50, 50, 50, 50, 50, 50, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
    -00421 49, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 47, 47, 47, 47, 47, 47,
    -00422 47, 47, 47, 47, 47, 47, 47, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
    -00423 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 44, 44, 44, 44, 44, 44, 44,
    -00424 44, 44, 44, 44, 44, 44, 44, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
    -00425 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 41, 41, 41, 41, 41, 41,
    -00426 41, 41, 41, 41, 41, 41, 41, 41, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
    -00427 40, 40, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 38, 38, 38, 38,
    -00428 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
    -00429 37, 37, 37, 37, 37, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 35,
    -00430 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 34, 34, 34, 34, 34, 34,
    -00431 34, 34, 34, 34, 34, 34, 34, 34, 34, 33, 33, 34, 33, 33, 34, 33, 33, 32, 33, 33,
    -00432 33, 33, 32, 33, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 31,
    -00433 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 30, 30, 30, 30, 30,
    -00434 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
    -00435 29, 29, 29, 29, 29, 29, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
    -00436 28, 28, 28, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 26,
    -00437 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 25, 25, 25, 25,
    -00438 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 24, 24, 24, 24, 24, 24, 24,
    -00439 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
    -00440 23, 23, 23, 23, 23, 23, 23, 23, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
    -00441 22, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
    -00442 21, 21, 21, 21, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
    -00443 20, 20, 20, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
    -00444 19, 19, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
    -00445 18, 18, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
    -00446 17, 17, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
    -00447 16, 16, 16, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
    -00448 15, 15, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
    -00449 14, 14, 14, 14, 14, 14, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
    -00450 13, 13, 13, 13, 13, 13, 13, 13, 13, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
    -00451 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 11, 11, 11, 11, 11, 11, 11, 11,
    -00452 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 10, 10, 10,
    -00453 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
    -00454 10, 10, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
    -00455 9, 9, 9, 9, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
    -00456 8, 8, 8, 8, 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    -00457 7, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
    -00458 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
    -00459 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4,
    -00460 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
    -00461 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
    -00462 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2,
    -00463 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    -00464 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1,
    -00465 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
    -00466 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
    -00467 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00468 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00469 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00470 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00471 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00472 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00473 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00474  }; 
    -00475  
    -00476  #endif /* sin8192_uint_H_ */
    -
    - - - - +
    1 #ifndef sin8192_uint_H_
    +
    2 #define sin8192_uint_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 
    +
    12 #define sin8192_uint_NUM_CELLS 8192
    +
    13 #define sin8192_uint_SAMPLERATE 8192
    +
    14 
    +
    18 const char __attribute__((progmem)) sin8192_uint_DATA [] = {0, 0, 0, 0, 0, 0, 0,
    +
    19 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    20 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    21 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    22 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    23 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    24 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1,
    +
    25 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
    +
    26 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
    +
    27 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    +
    28 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    +
    29 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
    +
    30 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4,
    +
    31 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
    +
    32 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
    +
    33 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
    +
    34 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7,
    +
    35 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8,
    +
    36 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9,
    +
    37 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
    +
    38 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
    +
    39 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
    +
    40 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12,
    +
    41 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13,
    +
    42 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14,
    +
    43 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15,
    +
    44 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
    +
    45 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
    +
    46 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
    +
    47 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
    +
    48 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
    +
    49 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21,
    +
    50 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22,
    +
    51 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23,
    +
    52 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24,
    +
    53 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
    +
    54 25, 25, 25, 25, 25, 25, 25, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
    +
    55 26, 26, 26, 26, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
    +
    56 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 29, 29, 29,
    +
    57 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 30, 30, 30, 30, 30, 30, 30,
    +
    58 30, 30, 30, 30, 30, 30, 30, 30, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
    +
    59 31, 31, 31, 31, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 33,
    +
    60 33, 33, 32, 33, 33, 32, 33, 33, 34, 33, 33, 34, 33, 33, 34, 34, 34, 34, 34, 34,
    +
    61 34, 34, 34, 34, 34, 34, 34, 34, 34, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
    +
    62 35, 35, 35, 35, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 37, 37,
    +
    63 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 38, 38, 38, 38, 38, 38, 38,
    +
    64 38, 38, 38, 38, 38, 38, 38, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
    +
    65 39, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 41, 41, 41, 41, 41,
    +
    66 41, 41, 41, 41, 41, 41, 41, 41, 41, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
    +
    67 42, 42, 42, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 44, 44, 44, 44,
    +
    68 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
    +
    69 45, 45, 45, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 47, 47, 47, 47,
    +
    70 47, 47, 47, 47, 47, 47, 47, 47, 47, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
    +
    71 48, 48, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 50, 50, 50, 50, 50,
    +
    72 50, 50, 50, 50, 50, 50, 50, 50, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
    +
    73 51, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 53, 53, 53, 53, 53, 53, 53,
    +
    74 53, 53, 53, 53, 53, 53, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 55, 55,
    +
    75 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 56, 56, 56, 56, 56, 56, 56, 56, 56,
    +
    76 56, 56, 56, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 58, 58, 58, 58, 58,
    +
    77 58, 58, 58, 58, 58, 58, 58, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 60,
    +
    78 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 61, 61, 61, 61, 61, 61, 61, 61, 61,
    +
    79 61, 61, 61, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 63, 63, 63, 63, 63,
    +
    80 63, 63, 63, 63, 63, 63, 63, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 65,
    +
    81 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
    +
    82 66, 66, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 68, 68, 68, 68, 68, 68, 68,
    +
    83 68, 68, 68, 68, 68, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 70, 70, 70, 70,
    +
    84 70, 70, 70, 70, 70, 70, 70, 70, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 72,
    +
    85 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
    +
    86 73, 73, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 75, 75, 75, 75, 75, 75, 75,
    +
    87 75, 75, 75, 75, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 77, 77, 77, 77, 77,
    +
    88 77, 77, 77, 77, 77, 77, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 79, 79, 79,
    +
    89 79, 79, 79, 79, 79, 79, 79, 79, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 81,
    +
    90 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
    +
    91 82, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 84, 84, 84, 84, 84, 84, 84, 84,
    +
    92 84, 84, 84, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 86, 86, 86, 86, 86, 86,
    +
    93 86, 86, 86, 86, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 88, 88, 88, 88, 88,
    +
    94 88, 88, 88, 88, 88, 88, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 90, 90, 90,
    +
    95 90, 90, 90, 90, 90, 90, 90, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 92, 92,
    +
    96 92, 92, 92, 92, 92, 92, 92, 92, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 94,
    +
    97 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
    +
    98 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 97, 97, 97, 97, 97, 97, 97, 97, 97,
    +
    99 97, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 99, 99, 99, 99, 99, 99, 99, 99,
    +
    100 99, 99, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 101, 101, 101, 101,
    +
    101 101, 101, 101, 101, 101, 101, 101, 102, 102, 102, 102, 102, 102, 102, 102, 102,
    +
    102 102, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 104, 104, 104, 104,
    +
    103 104, 104, 104, 104, 104, 104, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
    +
    104 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 107, 107, 107, 107, 107,
    +
    105 107, 107, 107, 107, 107, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 109,
    +
    106 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 110, 110, 110, 110, 110, 110,
    +
    107 110, 110, 110, 110, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 112, 112,
    +
    108 112, 112, 112, 112, 112, 112, 112, 112, 113, 113, 113, 113, 113, 113, 113, 113,
    +
    109 113, 113, 113, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 115, 115, 115,
    +
    110 115, 115, 115, 115, 115, 115, 115, 116, 116, 116, 116, 116, 116, 116, 116, 116,
    +
    111 116, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 118, 118, 118, 118,
    +
    112 118, 118, 118, 118, 118, 118, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
    +
    113 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 121, 121, 121, 121, 121, 121,
    +
    114 121, 121, 121, 121, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 123,
    +
    115 123, 123, 123, 123, 123, 123, 123, 123, 123, 124, 124, 124, 124, 124, 124, 124,
    +
    116 124, 124, 124, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 126, 126, 126,
    +
    117 126, 126, 126, 126, 126, 126, 126, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    118 127, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 129, 129, 129, 129,
    +
    119 129, 129, 129, 129, 129, 129, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
    +
    120 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 132, 132, 132, 132, 132, 132,
    +
    121 132, 132, 132, 132, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 134,
    +
    122 134, 134, 134, 134, 134, 134, 134, 134, 134, 135, 135, 135, 135, 135, 135, 135,
    +
    123 135, 135, 135, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 137, 137, 137,
    +
    124 137, 137, 137, 137, 137, 137, 137, 138, 138, 138, 138, 138, 138, 138, 138, 138,
    +
    125 138, 138, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 140, 140, 140, 140,
    +
    126 140, 140, 140, 140, 140, 140, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
    +
    127 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 143, 143, 143, 143, 143,
    +
    128 143, 143, 143, 143, 143, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 145,
    +
    129 145, 145, 145, 145, 145, 145, 145, 145, 145, 146, 146, 146, 146, 146, 146, 146,
    +
    130 146, 146, 146, 146, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 148, 148,
    +
    131 148, 148, 148, 148, 148, 148, 148, 148, 149, 149, 149, 149, 149, 149, 149, 149,
    +
    132 149, 149, 149, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 151, 151, 151,
    +
    133 151, 151, 151, 151, 151, 151, 151, 152, 152, 152, 152, 152, 152, 152, 152, 152,
    +
    134 152, 152, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 154, 154, 154, 154,
    +
    135 154, 154, 154, 154, 154, 154, 154, 155, 155, 155, 155, 155, 155, 155, 155, 155,
    +
    136 155, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 157, 157, 157, 157, 157,
    +
    137 157, 157, 157, 157, 157, 157, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
    +
    138 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 160, 160, 160, 160, 160,
    +
    139 160, 160, 160, 160, 160, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
    +
    140 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 163, 163, 163, 163, 163,
    +
    141 163, 163, 163, 163, 163, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
    +
    142 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 166, 166, 166, 166, 166, 166,
    +
    143 166, 166, 166, 166, 166, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
    +
    144 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 169, 169, 169, 169, 169,
    +
    145 169, 169, 169, 169, 169, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
    +
    146 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 172, 172, 172, 172, 172,
    +
    147 172, 172, 172, 172, 172, 172, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
    +
    148 173, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 175, 175, 175, 175,
    +
    149 175, 175, 175, 175, 175, 175, 175, 176, 176, 176, 176, 176, 176, 176, 176, 176,
    +
    150 176, 176, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 178, 178, 178,
    +
    151 178, 178, 178, 178, 178, 178, 178, 178, 179, 179, 179, 179, 179, 179, 179, 179,
    +
    152 179, 179, 179, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 181, 181,
    +
    153 181, 181, 181, 181, 181, 181, 181, 181, 181, 182, 182, 182, 182, 182, 182, 182,
    +
    154 182, 182, 182, 182, 182, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
    +
    155 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 185, 185, 185, 185, 185,
    +
    156 185, 185, 185, 185, 185, 185, 185, 186, 186, 186, 186, 186, 186, 186, 186, 186,
    +
    157 186, 186, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 188, 188,
    +
    158 188, 188, 188, 188, 188, 188, 188, 188, 188, 189, 189, 189, 189, 189, 189, 189,
    +
    159 189, 189, 189, 189, 189, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
    +
    160 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 192, 192, 192, 192,
    +
    161 192, 192, 192, 192, 192, 192, 192, 192, 193, 193, 193, 193, 193, 193, 193, 193,
    +
    162 193, 193, 193, 193, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194,
    +
    163 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 196, 196, 196, 196,
    +
    164 196, 196, 196, 196, 196, 196, 196, 196, 197, 197, 197, 197, 197, 197, 197, 197,
    +
    165 197, 197, 197, 197, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198,
    +
    166 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 200, 200, 200, 200,
    +
    167 200, 200, 200, 200, 200, 200, 200, 200, 200, 201, 201, 201, 201, 201, 201, 201,
    +
    168 201, 201, 201, 201, 201, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202,
    +
    169 202, 202, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 204, 204,
    +
    170 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 205, 205, 205, 205, 205,
    +
    171 205, 205, 205, 205, 205, 205, 205, 205, 206, 206, 206, 206, 206, 206, 206, 206,
    +
    172 206, 206, 206, 206, 206, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207,
    +
    173 207, 207, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 209,
    +
    174 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 209, 210, 210, 210, 210,
    +
    175 210, 210, 210, 210, 210, 210, 210, 210, 210, 211, 211, 211, 211, 211, 211, 211,
    +
    176 211, 211, 211, 211, 211, 211, 211, 212, 212, 212, 212, 212, 212, 212, 212, 212,
    +
    177 212, 212, 212, 212, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213,
    +
    178 213, 213, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214,
    +
    179 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 216, 216,
    +
    180 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 217, 217, 217, 217,
    +
    181 217, 217, 217, 217, 217, 217, 217, 217, 217, 217, 218, 218, 218, 218, 218, 218,
    +
    182 218, 218, 218, 218, 218, 218, 218, 218, 218, 219, 219, 219, 219, 219, 219, 219,
    +
    183 219, 219, 219, 219, 219, 219, 219, 220, 220, 220, 220, 220, 220, 220, 220, 220,
    +
    184 220, 220, 220, 220, 220, 220, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
    +
    185 221, 221, 221, 221, 221, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
    +
    186 222, 222, 222, 222, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223,
    +
    187 223, 223, 223, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224,
    +
    188 224, 224, 224, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225,
    +
    189 225, 225, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226,
    +
    190 226, 226, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227,
    +
    191 227, 227, 227, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
    +
    192 228, 228, 228, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229,
    +
    193 229, 229, 229, 229, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230,
    +
    194 230, 230, 230, 230, 230, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231,
    +
    195 231, 231, 231, 231, 231, 231, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232,
    +
    196 232, 232, 232, 232, 232, 232, 232, 232, 233, 233, 233, 233, 233, 233, 233, 233,
    +
    197 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 234, 234, 234, 234, 234, 234,
    +
    198 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 235, 235, 235, 235,
    +
    199 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 236,
    +
    200 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236,
    +
    201 236, 236, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
    +
    202 237, 237, 237, 237, 237, 237, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238,
    +
    203 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 239, 239, 239, 239, 239, 239,
    +
    204 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 240,
    +
    205 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240,
    +
    206 240, 240, 240, 240, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
    +
    207 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 242, 242, 242, 242, 242, 242,
    +
    208 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242,
    +
    209 242, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
    +
    210 243, 243, 243, 243, 243, 243, 243, 243, 244, 244, 244, 244, 244, 244, 244, 244,
    +
    211 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244,
    +
    212 244, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
    +
    213 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 246, 246, 246, 246, 246,
    +
    214 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
    +
    215 246, 246, 246, 246, 246, 246, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
    +
    216 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
    +
    217 247, 247, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
    +
    218 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
    +
    219 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249,
    +
    220 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249,
    +
    221 249, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250,
    +
    222 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250,
    +
    223 250, 250, 250, 250, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251,
    +
    224 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251,
    +
    225 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 252, 252, 252, 252, 252,
    +
    226 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252,
    +
    227 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252,
    +
    228 252, 252, 252, 252, 252, 252, 252, 253, 253, 253, 253, 253, 253, 253, 253, 253,
    +
    229 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
    +
    230 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
    +
    231 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 254, 254, 254, 254, 254,
    +
    232 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254,
    +
    233 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254,
    +
    234 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254,
    +
    235 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 255,
    +
    236 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
    +
    237 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
    +
    238 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
    +
    239 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
    +
    240 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
    +
    241 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
    +
    242 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
    +
    243 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
    +
    244 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
    +
    245 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
    +
    246 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
    +
    247 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
    +
    248 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
    +
    249 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
    +
    250 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
    +
    251 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
    +
    252 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
    +
    253 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
    +
    254 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
    +
    255 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
    +
    256 255, 255, 255, 255, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254,
    +
    257 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254,
    +
    258 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254,
    +
    259 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254,
    +
    260 254, 254, 254, 254, 254, 254, 254, 254, 253, 253, 253, 253, 253, 253, 253, 253,
    +
    261 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
    +
    262 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
    +
    263 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 252, 252, 252, 252,
    +
    264 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252,
    +
    265 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252,
    +
    266 252, 252, 252, 252, 252, 252, 252, 252, 251, 251, 251, 251, 251, 251, 251, 251,
    +
    267 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251,
    +
    268 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 250,
    +
    269 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250,
    +
    270 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250,
    +
    271 250, 250, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249,
    +
    272 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249, 249,
    +
    273 249, 249, 249, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
    +
    274 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
    +
    275 248, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
    +
    276 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 246, 246, 246,
    +
    277 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
    +
    278 246, 246, 246, 246, 246, 246, 246, 246, 245, 245, 245, 245, 245, 245, 245, 245,
    +
    279 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245,
    +
    280 245, 245, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244,
    +
    281 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 243, 243, 243, 243, 243,
    +
    282 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
    +
    283 243, 243, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242,
    +
    284 242, 242, 242, 242, 242, 242, 242, 242, 242, 241, 241, 241, 241, 241, 241, 241,
    +
    285 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 240,
    +
    286 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240,
    +
    287 240, 240, 240, 240, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
    +
    288 239, 239, 239, 239, 239, 239, 239, 239, 239, 238, 238, 238, 238, 238, 238, 238,
    +
    289 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 237, 237, 237,
    +
    290 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
    +
    291 237, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236,
    +
    292 236, 236, 236, 236, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235, 235,
    +
    293 235, 235, 235, 235, 235, 235, 235, 234, 234, 234, 234, 234, 234, 234, 234, 234,
    +
    294 234, 234, 234, 234, 234, 234, 234, 234, 234, 233, 233, 233, 233, 233, 233, 233,
    +
    295 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 232, 232, 232, 232, 232,
    +
    296 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 231, 231, 231,
    +
    297 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 230, 230,
    +
    298 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 229,
    +
    299 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229,
    +
    300 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
    +
    301 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227,
    +
    302 227, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226,
    +
    303 226, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225,
    +
    304 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224,
    +
    305 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 222,
    +
    306 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 221, 221,
    +
    307 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 220, 220, 220,
    +
    308 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 219, 219, 219, 219,
    +
    309 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 218, 218, 218, 218, 218, 218,
    +
    310 218, 218, 218, 218, 218, 218, 218, 218, 218, 217, 217, 217, 217, 217, 217, 217,
    +
    311 217, 217, 217, 217, 217, 217, 217, 216, 216, 216, 216, 216, 216, 216, 216, 216,
    +
    312 216, 216, 216, 216, 216, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215,
    +
    313 215, 215, 215, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214, 214,
    +
    314 214, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 212,
    +
    315 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 211, 211, 211, 211,
    +
    316 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 210, 210, 210, 210, 210, 210,
    +
    317 210, 210, 210, 210, 210, 210, 210, 209, 209, 209, 209, 209, 209, 209, 209, 209,
    +
    318 209, 209, 209, 209, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
    +
    319 208, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 206, 206,
    +
    320 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 205, 205, 205, 205, 205,
    +
    321 205, 205, 205, 205, 205, 205, 205, 205, 204, 204, 204, 204, 204, 204, 204, 204,
    +
    322 204, 204, 204, 204, 204, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
    +
    323 203, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 201, 201,
    +
    324 201, 201, 201, 201, 201, 201, 201, 201, 201, 201, 200, 200, 200, 200, 200, 200,
    +
    325 200, 200, 200, 200, 200, 200, 200, 199, 199, 199, 199, 199, 199, 199, 199, 199,
    +
    326 199, 199, 199, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 197,
    +
    327 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 196, 196, 196, 196, 196,
    +
    328 196, 196, 196, 196, 196, 196, 196, 195, 195, 195, 195, 195, 195, 195, 195, 195,
    +
    329 195, 195, 195, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 193,
    +
    330 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 192, 192, 192, 192, 192,
    +
    331 192, 192, 192, 192, 192, 192, 192, 191, 191, 191, 191, 191, 191, 191, 191, 191,
    +
    332 191, 191, 191, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 189, 189,
    +
    333 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 188, 188, 188, 188, 188, 188,
    +
    334 188, 188, 188, 188, 188, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187,
    +
    335 187, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 185, 185, 185, 185,
    +
    336 185, 185, 185, 185, 185, 185, 185, 185, 184, 184, 184, 184, 184, 184, 184, 184,
    +
    337 184, 184, 184, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 182, 182,
    +
    338 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 181, 181, 181, 181, 181, 181,
    +
    339 181, 181, 181, 181, 181, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
    +
    340 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 178, 178, 178, 178, 178,
    +
    341 178, 178, 178, 178, 178, 178, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
    +
    342 177, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 175, 175, 175, 175,
    +
    343 175, 175, 175, 175, 175, 175, 175, 174, 174, 174, 174, 174, 174, 174, 174, 174,
    +
    344 174, 174, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 172, 172, 172,
    +
    345 172, 172, 172, 172, 172, 172, 172, 172, 171, 171, 171, 171, 171, 171, 171, 171,
    +
    346 171, 171, 171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 169, 169,
    +
    347 169, 169, 169, 169, 169, 169, 169, 169, 168, 168, 168, 168, 168, 168, 168, 168,
    +
    348 168, 168, 168, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 166, 166,
    +
    349 166, 166, 166, 166, 166, 166, 166, 166, 166, 165, 165, 165, 165, 165, 165, 165,
    +
    350 165, 165, 165, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 163, 163,
    +
    351 163, 163, 163, 163, 163, 163, 163, 163, 162, 162, 162, 162, 162, 162, 162, 162,
    +
    352 162, 162, 162, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 160, 160,
    +
    353 160, 160, 160, 160, 160, 160, 160, 160, 159, 159, 159, 159, 159, 159, 159, 159,
    +
    354 159, 159, 159, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 157, 157, 157,
    +
    355 157, 157, 157, 157, 157, 157, 157, 157, 156, 156, 156, 156, 156, 156, 156, 156,
    +
    356 156, 156, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 154, 154, 154, 154,
    +
    357 154, 154, 154, 154, 154, 154, 154, 153, 153, 153, 153, 153, 153, 153, 153, 153,
    +
    358 153, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 151, 151, 151, 151,
    +
    359 151, 151, 151, 151, 151, 151, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150,
    +
    360 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, 148, 148, 148, 148, 148,
    +
    361 148, 148, 148, 148, 148, 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, 146,
    +
    362 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, 145, 145, 145, 145, 145, 145,
    +
    363 145, 145, 145, 145, 144, 144, 144, 144, 144, 144, 144, 144, 144, 144, 143, 143,
    +
    364 143, 143, 143, 143, 143, 143, 143, 143, 142, 142, 142, 142, 142, 142, 142, 142,
    +
    365 142, 142, 142, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 140, 140, 140,
    +
    366 140, 140, 140, 140, 140, 140, 140, 139, 139, 139, 139, 139, 139, 139, 139, 139,
    +
    367 139, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 137, 137, 137, 137,
    +
    368 137, 137, 137, 137, 137, 137, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136,
    +
    369 135, 135, 135, 135, 135, 135, 135, 135, 135, 135, 134, 134, 134, 134, 134, 134,
    +
    370 134, 134, 134, 134, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 132,
    +
    371 132, 132, 132, 132, 132, 132, 132, 132, 132, 131, 131, 131, 131, 131, 131, 131,
    +
    372 131, 131, 131, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 129, 129, 129,
    +
    373 129, 129, 129, 129, 129, 129, 129, 128, 128, 128, 128, 128, 128, 128, 128, 128,
    +
    374 128, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 126, 126, 126, 126,
    +
    375 126, 126, 126, 126, 126, 126, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    +
    376 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 123, 123, 123, 123, 123, 123,
    +
    377 123, 123, 123, 123, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 121,
    +
    378 121, 121, 121, 121, 121, 121, 121, 121, 121, 120, 120, 120, 120, 120, 120, 120,
    +
    379 120, 120, 120, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 118, 118, 118,
    +
    380 118, 118, 118, 118, 118, 118, 118, 117, 117, 117, 117, 117, 117, 117, 117, 117,
    +
    381 117, 117, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 115, 115, 115, 115,
    +
    382 115, 115, 115, 115, 115, 115, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
    +
    383 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 112, 112, 112, 112, 112,
    +
    384 112, 112, 112, 112, 112, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 110,
    +
    385 110, 110, 110, 110, 110, 110, 110, 110, 110, 109, 109, 109, 109, 109, 109, 109,
    +
    386 109, 109, 109, 109, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 107, 107,
    +
    387 107, 107, 107, 107, 107, 107, 107, 107, 106, 106, 106, 106, 106, 106, 106, 106,
    +
    388 106, 106, 106, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 104, 104, 104,
    +
    389 104, 104, 104, 104, 104, 104, 104, 103, 103, 103, 103, 103, 103, 103, 103, 103,
    +
    390 103, 103, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 101, 101, 101, 101,
    +
    391 101, 101, 101, 101, 101, 101, 101, 100, 100, 100, 100, 100, 100, 100, 100, 100,
    +
    392 100, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 98, 98, 98, 98, 98, 98, 98, 98, 98,
    +
    393 98, 98, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 96, 96, 96, 96, 96, 96, 96, 96,
    +
    394 96, 96, 96, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 94, 94, 94, 94, 94, 94, 94,
    +
    395 94, 94, 94, 94, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 92, 92, 92, 92, 92,
    +
    396 92, 92, 92, 92, 92, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 90, 90, 90, 90,
    +
    397 90, 90, 90, 90, 90, 90, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 88, 88, 88,
    +
    398 88, 88, 88, 88, 88, 88, 88, 88, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 86,
    +
    399 86, 86, 86, 86, 86, 86, 86, 86, 86, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
    +
    400 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 83, 83, 83, 83, 83, 83, 83, 83, 83,
    +
    401 83, 83, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 81, 81, 81, 81, 81, 81, 81,
    +
    402 81, 81, 81, 81, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 79, 79, 79, 79, 79,
    +
    403 79, 79, 79, 79, 79, 79, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 77, 77, 77,
    +
    404 77, 77, 77, 77, 77, 77, 77, 77, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 75,
    +
    405 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
    +
    406 74, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 72, 72, 72, 72, 72, 72, 72,
    +
    407 72, 72, 72, 72, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 70, 70, 70, 70, 70,
    +
    408 70, 70, 70, 70, 70, 70, 70, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 68, 68,
    +
    409 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
    +
    410 67, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 65, 65, 65, 65, 65, 65, 65,
    +
    411 65, 65, 65, 65, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 63, 63, 63, 63,
    +
    412 63, 63, 63, 63, 63, 63, 63, 63, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
    +
    413 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 60, 60, 60, 60, 60, 60, 60, 60,
    +
    414 60, 60, 60, 60, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 58, 58, 58, 58,
    +
    415 58, 58, 58, 58, 58, 58, 58, 58, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57,
    +
    416 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 55, 55, 55, 55, 55, 55, 55, 55,
    +
    417 55, 55, 55, 55, 55, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 53, 53, 53,
    +
    418 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
    +
    419 52, 52, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 50, 50, 50, 50, 50,
    +
    420 50, 50, 50, 50, 50, 50, 50, 50, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
    +
    421 49, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 47, 47, 47, 47, 47, 47,
    +
    422 47, 47, 47, 47, 47, 47, 47, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
    +
    423 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 44, 44, 44, 44, 44, 44, 44,
    +
    424 44, 44, 44, 44, 44, 44, 44, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
    +
    425 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 41, 41, 41, 41, 41, 41,
    +
    426 41, 41, 41, 41, 41, 41, 41, 41, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
    +
    427 40, 40, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 38, 38, 38, 38,
    +
    428 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
    +
    429 37, 37, 37, 37, 37, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 35,
    +
    430 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 34, 34, 34, 34, 34, 34,
    +
    431 34, 34, 34, 34, 34, 34, 34, 34, 34, 33, 33, 34, 33, 33, 34, 33, 33, 32, 33, 33,
    +
    432 33, 33, 32, 33, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 31,
    +
    433 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 30, 30, 30, 30, 30,
    +
    434 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
    +
    435 29, 29, 29, 29, 29, 29, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
    +
    436 28, 28, 28, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 26,
    +
    437 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 25, 25, 25, 25,
    +
    438 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 24, 24, 24, 24, 24, 24, 24,
    +
    439 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
    +
    440 23, 23, 23, 23, 23, 23, 23, 23, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
    +
    441 22, 22, 22, 22, 22, 22, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
    +
    442 21, 21, 21, 21, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
    +
    443 20, 20, 20, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
    +
    444 19, 19, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
    +
    445 18, 18, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
    +
    446 17, 17, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
    +
    447 16, 16, 16, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
    +
    448 15, 15, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
    +
    449 14, 14, 14, 14, 14, 14, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
    +
    450 13, 13, 13, 13, 13, 13, 13, 13, 13, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
    +
    451 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 11, 11, 11, 11, 11, 11, 11, 11,
    +
    452 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 10, 10, 10,
    +
    453 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
    +
    454 10, 10, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
    +
    455 9, 9, 9, 9, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
    +
    456 8, 8, 8, 8, 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    +
    457 7, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
    +
    458 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
    +
    459 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4,
    +
    460 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
    +
    461 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
    +
    462 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2,
    +
    463 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    +
    464 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1,
    +
    465 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
    +
    466 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
    +
    467 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    468 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    469 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    470 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    471 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    472 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    473 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    474  };
    +
    475 
    +
    476  #endif /* sin8192_uint_H_ */
    +
    +
    + + diff --git a/doc/html/sin8192__uint8_8py_source.html b/doc/html/sin8192__uint8_8py_source.html index 274dd29e0..a86b13ea3 100644 --- a/doc/html/sin8192__uint8_8py_source.html +++ b/doc/html/sin8192__uint8_8py_source.html @@ -3,46 +3,44 @@ + Mozzi: python/sin8192_uint8.py Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,61 +99,63 @@
    -
    python/sin8192_uint8.py
    +
    sin8192_uint8.py
    -
    00001 ## generates a sin-shaped table with values 0-255 (to be used as an envelope)
    -00002 
    -00003 
    -00004 import array
    -00005 import os
    -00006 import textwrap
    -00007 import math
    -00008 
    -00009 def generate(outfilename, tablename, tablelength, samplerate):
    -00010     fout = open(os.path.expanduser(outfilename), "w")
    -00011     fout.write('#ifndef ' + tablename + '_H_' + '\n')
    -00012     fout.write('#define ' + tablename + '_H_' + '\n \n')
    -00013     fout.write('#if ARDUINO >= 100'+'\n')
    -00014     fout.write('#include "Arduino.h"'+'\n')
    -00015     fout.write('#else'+'\n')
    -00016     fout.write('#include "WProgram.h"'+'\n')
    -00017     fout.write('#endif'+'\n')   
    -00018     fout.write('#include <avr/pgmspace.h>'+'\n \n')
    -00019     fout.write('#define ' + tablename + '_NUM_CELLS '+ str(tablelength)+'\n')
    -00020     fout.write('#define ' + tablename + '_SAMPLERATE '+ str(samplerate)+'\n \n')
    -00021     outstring = 'const char __attribute__((progmem)) ' + tablename + '_DATA [] = {'
    -00022     halftable = tablelength/2
    -00023     try:
    -00024         for num in range(tablelength):
    -00025             ## range between 0 and 1 first
    -00026            ## x = float(num)/halftable
    -00027             x = float(num)/tablelength
    -00028             
    -00029             t_x = (math.cos(2*math.pi*x-math.pi)+1)/2
    -00030 
    -00031             scaled = int(math.floor(t_x*255.999))
    -00032 
    -00033             outstring += str(scaled) + ', '
    -00034        ## for num in range(halftable):
    -00035        ##     outstring += '0, '
    -00036     finally:
    -00037         outstring = textwrap.fill(outstring, 80)
    -00038         outstring += '\n }; \n \n #endif /* ' + tablename + '_H_ */\n'
    -00039         fout.write(outstring)
    -00040         fout.close()
    -00041         print "wrote " + outfilename
    -00042 
    -00043 ## generate("~/Desktop/sin1024_uint8.h", "sin1024_uint", 1024, "1024")
    -00044 generate("~/Desktop/sin8192_uint8.h", "sin8192_uint", 8192, "8192")
    -
    - - - - +
    1 ## generates a sin-shaped table with values 0-255 (to be used as an envelope)
    +
    2 
    +
    3 
    +
    4 import array
    +
    5 import os
    +
    6 import textwrap
    +
    7 import math
    +
    8 
    +
    9 def generate(outfilename, tablename, tablelength, samplerate):
    +
    10  fout = open(os.path.expanduser(outfilename), "w")
    +
    11  fout.write('#ifndef ' + tablename + '_H_' + '\n')
    +
    12  fout.write('#define ' + tablename + '_H_' + '\n \n')
    +
    13  fout.write('#if ARDUINO >= 100'+'\n')
    +
    14  fout.write('#include "Arduino.h"'+'\n')
    +
    15  fout.write('#else'+'\n')
    +
    16  fout.write('#include "WProgram.h"'+'\n')
    +
    17  fout.write('#endif'+'\n')
    +
    18  fout.write('#include <avr/pgmspace.h>'+'\n \n')
    +
    19  fout.write('#define ' + tablename + '_NUM_CELLS '+ str(tablelength)+'\n')
    +
    20  fout.write('#define ' + tablename + '_SAMPLERATE '+ str(samplerate)+'\n \n')
    +
    21  outstring = 'const char __attribute__((progmem)) ' + tablename + '_DATA [] = {'
    +
    22  halftable = tablelength/2
    +
    23  try:
    +
    24  for num in range(tablelength):
    +
    25  ## range between 0 and 1 first
    +
    26  ## x = float(num)/halftable
    +
    27  x = float(num)/tablelength
    +
    28 
    +
    29  t_x = (math.cos(2*math.pi*x-math.pi)+1)/2
    +
    30 
    +
    31  scaled = int(math.floor(t_x*255.999))
    +
    32 
    +
    33  outstring += str(scaled) + ', '
    +
    34  ## for num in range(halftable):
    +
    35  ## outstring += '0, '
    +
    36  finally:
    +
    37  outstring = textwrap.fill(outstring, 80)
    +
    38  outstring += '\n }; \n \n #endif /* ' + tablename + '_H_ */\n'
    +
    39  fout.write(outstring)
    +
    40  fout.close()
    +
    41  print "wrote " + outfilename
    +
    42 
    +
    43 ## generate("~/Desktop/sin1024_uint8.h", "sin1024_uint", 1024, "1024")
    +
    44 generate("~/Desktop/sin8192_uint8.h", "sin8192_uint", 8192, "8192")
    +
    +
    + + diff --git a/doc/html/sin__levels__int8_8py_source.html b/doc/html/sin__levels__int8_8py_source.html index bcf4b6738..f79f92c84 100644 --- a/doc/html/sin__levels__int8_8py_source.html +++ b/doc/html/sin__levels__int8_8py_source.html @@ -3,46 +3,44 @@ + Mozzi: python/sin_levels_int8.py Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,59 +99,61 @@
    -
    python/sin_levels_int8.py
    +
    sin_levels_int8.py
    -
    00001 ## generates a set of sin waves at different amplitudes
    -00002 
    -00003 import array,os,textwrap,math
    -00004 
    -00005 
    -00006 
    -00007 def generate(outfilename, tablename, tablelength, numtables):
    -00008     fout = open(os.path.expanduser(outfilename), "w")
    -00009     fout.write('#ifndef ' + tablename + '_H_' + '\n')
    -00010     fout.write('#define ' + tablename + '_H_' + '\n \n')
    -00011     fout.write('#if ARDUINO >= 100'+'\n')
    -00012     fout.write('#include "Arduino.h"'+'\n')
    -00013     fout.write('#else'+'\n')
    -00014     fout.write('#include "WProgram.h"'+'\n')
    -00015     fout.write('#endif'+'\n')   
    -00016     fout.write('#include <avr/pgmspace.h>'+'\n \n')
    -00017     fout.write('#define ' + tablename + '_NUM_CELLS '+ str(tablelength) +'\n')
    -00018     outstring = 'const char __attribute__((progmem)) ' + tablename + '_DATA [] = {'
    -00019     try:
    -00020         for num in range(tablelength):
    -00021             ## range between 0 and 1 first
    -00022             x = float(num)/tablelength
    -00023             
    -00024             t_x = math.sin(2*math.pi*x)
    -00025 
    -00026             scaled = int(math.floor(t_x*128))
    -00027 
    -00028             outstring += str(scaled) + ", "
    -00029     finally:
    -00030         outstring +=  "};"
    -00031         outstring = textwrap.fill(outstring, 80)
    -00032         fout.write(outstring)
    -00033         fout.write('\n \n #endif /* ' + tablename + '_H_ */\n')
    -00034 
    -00035 
    -00036 
    -00037         
    -00038         fout.close()
    -00039         print "wrote " + outfilename
    -00040 
    -00041 
    -00042 generate("~/Desktop/test_int8.h", "TEST_256", 256, 1)
    -
    - - - - +
    1 ## generates a set of sin waves at different amplitudes
    +
    2 
    +
    3 import array,os,textwrap,math
    +
    4 
    +
    5 
    +
    6 
    +
    7 def generate(outfilename, tablename, tablelength, numtables):
    +
    8  fout = open(os.path.expanduser(outfilename), "w")
    +
    9  fout.write('#ifndef ' + tablename + '_H_' + '\n')
    +
    10  fout.write('#define ' + tablename + '_H_' + '\n \n')
    +
    11  fout.write('#if ARDUINO >= 100'+'\n')
    +
    12  fout.write('#include "Arduino.h"'+'\n')
    +
    13  fout.write('#else'+'\n')
    +
    14  fout.write('#include "WProgram.h"'+'\n')
    +
    15  fout.write('#endif'+'\n')
    +
    16  fout.write('#include <avr/pgmspace.h>'+'\n \n')
    +
    17  fout.write('#define ' + tablename + '_NUM_CELLS '+ str(tablelength) +'\n')
    +
    18  outstring = 'const char __attribute__((progmem)) ' + tablename + '_DATA [] = {'
    +
    19  try:
    +
    20  for num in range(tablelength):
    +
    21  ## range between 0 and 1 first
    +
    22  x = float(num)/tablelength
    +
    23 
    +
    24  t_x = math.sin(2*math.pi*x)
    +
    25 
    +
    26  scaled = int(math.floor(t_x*128))
    +
    27 
    +
    28  outstring += str(scaled) + ", "
    +
    29  finally:
    +
    30  outstring += "};"
    +
    31  outstring = textwrap.fill(outstring, 80)
    +
    32  fout.write(outstring)
    +
    33  fout.write('\n \n #endif /* ' + tablename + '_H_ */\n')
    +
    34 
    +
    35 
    +
    36 
    +
    37 
    +
    38  fout.close()
    +
    39  print "wrote " + outfilename
    +
    40 
    +
    41 
    +
    42 generate("~/Desktop/test_int8.h", "TEST_256", 256, 1)
    +
    +
    + + diff --git a/doc/html/sin__multi__levels__int8_8py_source.html b/doc/html/sin__multi__levels__int8_8py_source.html index 20ec20ca4..bca820024 100644 --- a/doc/html/sin__multi__levels__int8_8py_source.html +++ b/doc/html/sin__multi__levels__int8_8py_source.html @@ -3,46 +3,44 @@ + Mozzi: python/sin_multi_levels_int8.py Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,65 +99,67 @@
    -
    python/sin_multi_levels_int8.py
    +
    sin_multi_levels_int8.py
    -
    00001 ## generates a set of sin waves at different amplitudes
    -00002 ## tables go from 1 to numtables+1, as table 0 is all 0's
    -00003 
    -00004 import array,os,textwrap,math
    -00005 
    -00006 
    -00007 
    -00008 def generate(outfilename, tablename, tablelength, numtables):
    -00009     fout = open(os.path.expanduser(outfilename), "w")
    -00010 
    -00011 
    -00012     
    -00013     fout.write('#ifndef ' + tablename + '_H_' + '\n')
    -00014     fout.write('#define ' + tablename + '_H_' + '\n \n')
    -00015     fout.write('#if ARDUINO >= 100'+'\n')
    -00016     fout.write('#include "Arduino.h"'+'\n')
    -00017     fout.write('#else'+'\n')
    -00018     fout.write('#include "WProgram.h"'+'\n')
    -00019     fout.write('#endif'+'\n')   
    -00020     fout.write('#include <avr/pgmspace.h>'+'\n \n')
    -00021     fout.write('#define ' + tablename + '_NUM_CELLS '+ str(tablelength) +'\n')
    -00022     fout.write('const char __attribute__((progmem)) ' + tablename + '_DATA [] = { \n')
    -00023 
    -00024     try:
    -00025         for tablenum in range(numtables):
    -00026             try:
    -00027                 outstring = '\n'
    -00028                 for num in range(tablelength):
    -00029                     ## range between 0 and 1 first
    -00030                     x = float(num)/tablelength
    -00031                     
    -00032                     t_x = math.sin(2*math.pi*x)*(float(tablenum+1)/numtables)
    -00033 
    -00034                     scaled = int(math.floor(t_x*127.999))
    -00035 
    -00036                     outstring += str(scaled) + ', '
    -00037             finally:
    -00038                 outstring = textwrap.fill(outstring, 80)
    -00039                 outstring += '\n'
    -00040                 fout.write(outstring)
    -00041     finally:
    -00042 
    -00043         fout.write('}; \n \n #endif /* ' + tablename + '_H_ */\n')
    -00044         fout.close()
    -00045         print "wrote " + outfilename
    -00046 
    -00047 
    -00048 generate("~/Desktop/sin_64level_int8.h", "SIN_64LEVEL", 256, 64)
    -
    - - - - +
    1 ## generates a set of sin waves at different amplitudes
    +
    2 ## tables go from 1 to numtables+1, as table 0 is all 0's
    +
    3 
    +
    4 import array,os,textwrap,math
    +
    5 
    +
    6 
    +
    7 
    +
    8 def generate(outfilename, tablename, tablelength, numtables):
    +
    9  fout = open(os.path.expanduser(outfilename), "w")
    +
    10 
    +
    11 
    +
    12 
    +
    13  fout.write('#ifndef ' + tablename + '_H_' + '\n')
    +
    14  fout.write('#define ' + tablename + '_H_' + '\n \n')
    +
    15  fout.write('#if ARDUINO >= 100'+'\n')
    +
    16  fout.write('#include "Arduino.h"'+'\n')
    +
    17  fout.write('#else'+'\n')
    +
    18  fout.write('#include "WProgram.h"'+'\n')
    +
    19  fout.write('#endif'+'\n')
    +
    20  fout.write('#include <avr/pgmspace.h>'+'\n \n')
    +
    21  fout.write('#define ' + tablename + '_NUM_CELLS '+ str(tablelength) +'\n')
    +
    22  fout.write('const char __attribute__((progmem)) ' + tablename + '_DATA [] = { \n')
    +
    23 
    +
    24  try:
    +
    25  for tablenum in range(numtables):
    +
    26  try:
    +
    27  outstring = '\n'
    +
    28  for num in range(tablelength):
    +
    29  ## range between 0 and 1 first
    +
    30  x = float(num)/tablelength
    +
    31 
    +
    32  t_x = math.sin(2*math.pi*x)*(float(tablenum+1)/numtables)
    +
    33 
    +
    34  scaled = int(math.floor(t_x*127.999))
    +
    35 
    +
    36  outstring += str(scaled) + ', '
    +
    37  finally:
    +
    38  outstring = textwrap.fill(outstring, 80)
    +
    39  outstring += '\n'
    +
    40  fout.write(outstring)
    +
    41  finally:
    +
    42 
    +
    43  fout.write('}; \n \n #endif /* ' + tablename + '_H_ */\n')
    +
    44  fout.close()
    +
    45  print "wrote " + outfilename
    +
    46 
    +
    47 
    +
    48 generate("~/Desktop/sin_64level_int8.h", "SIN_64LEVEL", 256, 64)
    +
    +
    + + diff --git a/doc/html/smoothsquare8192__int8_8h_source.html b/doc/html/smoothsquare8192__int8_8h_source.html index 9939e846d..89fc9625a 100644 --- a/doc/html/smoothsquare8192__int8_8h_source.html +++ b/doc/html/smoothsquare8192__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: tables/smoothsquare8192_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,582 +99,584 @@
    -
    tables/smoothsquare8192_int8.h
    +
    smoothsquare8192_int8.h
    -
    00001 #ifndef SMOOTHSQUARE8192_H_
    -00002 #define SMOOTHSQUARE8192_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 /* hand-drawn square wave with rounded corners from Audacity
    -00012 */
    -00013 
    -00014 #define SMOOTHSQUARE8192_NUM_CELLS 8192
    -00015 #define SMOOTHSQUARE8192_SAMPLERATE 8192
    -00016 
    -00017 const char __attribute__((progmem)) SMOOTHSQUARE8192_DATA []  =
    -00018         {
    -00019                 -1, 0, -1, 0, -1, 0, 0, 0, -1, 0,
    -00020                 -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0,
    -00021                 -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1,
    -00022                 0, 0, 0, -1, 0, -1, 0, -1, 0, 0, 0, -1, 0, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1,
    -00023                 0, 0, -1, 0, -1, 0, 0, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0,
    -00024                 -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00025                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00026                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00027                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00028                 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    -00029                 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
    -00030                 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    -00031                 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
    -00032                 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7,
    -00033                 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10,
    -00034                 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 14, 14, 14,
    -00035                 14, 14, 14, 15, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17, 17, 18, 18, 18,
    -00036                 18, 19, 19, 19, 19, 20, 20, 20, 20, 20, 21, 21, 21, 22, 22, 22, 22, 23, 23, 23,
    -00037                 23, 24, 24, 24, 24, 25, 25, 25, 26, 26, 26, 27, 27, 27, 27, 28, 28, 28, 29, 29,
    -00038                 29, 30, 30, 30, 31, 31, 31, 31, 32, 32, 32, 33, 33, 34, 34, 34, 35, 35, 35, 36,
    -00039                 36, 36, 37, 37, 37, 38, 38, 38, 39, 39, 40, 40, 40, 41, 41, 42, 42, 42, 43, 43,
    -00040                 44, 44, 44, 45, 45, 46, 46, 46, 47, 47, 48, 48, 48, 49, 49, 50, 50, 51, 51, 51,
    -00041                 52, 52, 53, 53, 54, 54, 55, 55, 55, 56, 56, 57, 57, 58, 58, 59, 59, 60, 60, 61,
    -00042                 61, 62, 62, 62, 63, 63, 64, 64, 65, 65, 66, 66, 67, 67, 68, 68, 69, 69, 70, 70,
    -00043                 71, 71, 72, 72, 73, 73, 74, 74, 75, 75, 76, 77, 77, 78, 78, 79, 79, 80, 80, 81,
    -00044                 81, 82, 82, 83, 83, 84, 84, 85, 86, 86, 87, 87, 88, 88, 89, 89, 90, 90, 91, 92,
    -00045                 92, 93, 93, 94, 94, 95, 95, 96, 97, 97, 98, 98, 99, 99, 100, 100, 101, 102, 102,
    -00046                 103, 103, 104, 104, 105, 105, 106, 107, 107, 108, 108, 109, 109, 110, 111, 111,
    -00047                 112, 112, 113, 113, 114, 114, 115, 116, 116, 117, 117, 118, 118, 119, 120, 120,
    -00048                 121, 121, 122, 122, 123, 123, 124, 125, 125, 126, 126, 127, 127, 127, 127, 127,
    -00049                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00050                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00051                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00052                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00053                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00054                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00055                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00056                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00057                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00058                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00059                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00060                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00061                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00062                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00063                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00064                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00065                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00066                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00067                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00068                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00069                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00070                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00071                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00072                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00073                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00074                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00075                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00076                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00077                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00078                 127, 127, 127, 127, 126, 126, 126, 125, 125, 125, 124, 124, 124, 123, 123, 123,
    -00079                 122, 122, 122, 121, 121, 121, 120, 120, 120, 119, 119, 119, 118, 118, 118, 117,
    -00080                 117, 117, 116, 116, 116, 116, 115, 115, 115, 114, 114, 114, 113, 113, 113, 113,
    -00081                 112, 112, 112, 111, 111, 111, 111, 110, 110, 110, 109, 109, 109, 109, 108, 108,
    -00082                 108, 108, 107, 107, 107, 107, 106, 106, 106, 106, 105, 105, 105, 105, 104, 104,
    -00083                 104, 104, 103, 103, 103, 103, 103, 102, 102, 102, 102, 102, 101, 101, 101, 101,
    -00084                 101, 100, 100, 100, 100, 100, 99, 99, 99, 99, 99, 98, 98, 98, 98, 98, 98, 97,
    -00085                 97, 97, 97, 97, 97, 97, 96, 96, 96, 96, 96, 96, 96, 95, 95, 95, 95, 95, 95, 95,
    -00086                 95, 94, 94, 94, 94, 94, 94, 94, 94, 94, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
    -00087                 93, 93, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
    -00088                 92, 92, 92, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
    -00089                 91, 91, 91, 91, 91, 91, 91, 91, 91, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
    -00090                 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 93, 93, 93, 93, 93, 93, 93, 93, 93,
    -00091                 93, 93, 93, 93, 93, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 95, 95, 95, 95, 95,
    -00092                 95, 95, 95, 95, 96, 96, 96, 96, 96, 96, 96, 96, 97, 97, 97, 97, 97, 97, 97, 97,
    -00093                 98, 98, 98, 98, 98, 98, 98, 99, 99, 99, 99, 99, 99, 99, 100, 100, 100, 100, 100,
    -00094                 100, 101, 101, 101, 101, 101, 101, 102, 102, 102, 102, 102, 102, 103, 103, 103,
    -00095                 103, 103, 103, 104, 104, 104, 104, 104, 104, 105, 105, 105, 105, 105, 106, 106,
    -00096                 106, 106, 106, 106, 107, 107, 107, 107, 107, 108, 108, 108, 108, 108, 108, 109,
    -00097                 109, 109, 109, 109, 110, 110, 110, 110, 110, 111, 111, 111, 111, 111, 112, 112,
    -00098                 112, 112, 112, 113, 113, 113, 113, 113, 114, 114, 114, 114, 114, 115, 115, 115,
    -00099                 115, 115, 116, 116, 116, 116, 116, 117, 117, 117, 117, 117, 117, 118, 118, 118,
    -00100                 118, 118, 119, 119, 119, 119, 119, 120, 120, 120, 120, 120, 121, 121, 121, 121,
    -00101                 121, 122, 122, 122, 122, 122, 123, 123, 123, 123, 123, 123, 124, 124, 124, 124,
    -00102                 124, 125, 125, 125, 125, 125, 126, 126, 126, 126, 126, 126, 127, 127, 127, 127,
    -00103                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00104                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00105                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00106                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00107                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00108                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00109                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00110                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00111                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00112                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00113                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00114                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00115                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00116                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00117                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00118                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00119                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00120                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00121                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00122                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00123                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00124                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00125                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00126                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00127                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00128                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00129                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00130                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 126, 126, 126, 126, 126, 126,
    -00131                 126, 126, 126, 126, 126, 126, 126, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    -00132                 125, 125, 125, 125, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
    -00133                 124, 124, 124, 124, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
    -00134                 123, 123, 123, 123, 123, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
    -00135                 122, 122, 122, 122, 122, 122, 122, 122, 122, 121, 121, 121, 121, 121, 121, 121,
    -00136                 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
    -00137                 121, 121, 121, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
    -00138                 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
    -00139                 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
    -00140                 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
    -00141                 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
    -00142                 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
    -00143                 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
    -00144                 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
    -00145                 120, 120, 120, 120, 120, 120, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
    -00146                 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
    -00147                 121, 121, 121, 121, 121, 121, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
    -00148                 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
    -00149                 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
    -00150                 123, 123, 123, 123, 123, 123, 123, 123, 124, 124, 124, 124, 124, 124, 124, 124,
    -00151                 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 125,
    -00152                 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    -00153                 125, 125, 125, 125, 125, 125, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    -00154                 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 127, 127, 127,
    -00155                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00156                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00157                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00158                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00159                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00160                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00161                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00162                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00163                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00164                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00165                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00166                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00167                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00168                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00169                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00170                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00171                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00172                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00173                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00174                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00175                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00176                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00177                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00178                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00179                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00180                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00181                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00182                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00183                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00184                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00185                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00186                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 126, 126, 126,
    -00187                 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    -00188                 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    -00189                 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    -00190                 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    -00191                 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    -00192                 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    -00193                 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    -00194                 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    -00195                 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    -00196                 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    -00197                 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    -00198                 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    -00199                 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    -00200                 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    -00201                 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    -00202                 126, 126, 126, 126, 127, 126, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00203                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00204                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00205                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00206                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00207                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00208                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00209                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00210                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00211                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00212                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00213                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00214                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00215                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00216                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00217                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00218                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00219                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00220                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00221                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00222                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00223                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00224                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00225                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00226                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00227                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00228                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00229                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00230                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00231                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00232                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00233                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00234                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00235                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00236                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00237                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00238                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00239                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00240                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00241                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00242                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00243                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00244                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00245                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00246                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00247                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00248                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00249                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00250                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00251                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00252                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00253                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00254                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00255                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00256                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00257                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00258                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00259                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00260                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00261                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00262                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00263                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00264                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00265                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00266                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 126, 126, 126, 126,
    -00267                 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    -00268                 126, 126, 126, 126, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    -00269                 125, 125, 125, 125, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
    -00270                 124, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 122, 122, 122, 122, 122,
    -00271                 122, 122, 122, 122, 121, 121, 121, 121, 121, 121, 121, 121, 120, 120, 120, 120,
    -00272                 120, 120, 120, 119, 119, 119, 119, 119, 119, 118, 118, 118, 118, 118, 118, 117,
    -00273                 117, 117, 117, 117, 116, 116, 116, 116, 116, 115, 115, 115, 115, 115, 114, 114,
    -00274                 114, 114, 113, 113, 113, 113, 112, 112, 112, 112, 111, 111, 111, 111, 110, 110,
    -00275                 110, 110, 109, 109, 109, 109, 108, 108, 108, 107, 107, 107, 106, 106, 106, 105,
    -00276                 105, 105, 105, 104, 104, 103, 103, 103, 102, 102, 102, 101, 101, 101, 100, 100,
    -00277                 100, 99, 99, 98, 98, 98, 97, 97, 96, 96, 96, 95, 95, 94, 94, 93, 93, 93, 92, 92,
    -00278                 91, 91, 90, 90, 89, 89, 88, 88, 87, 87, 86, 86, 85, 85, 84, 84, 83, 83, 82, 82,
    -00279                 81, 81, 80, 80, 79, 79, 78, 77, 77, 76, 76, 75, 75, 74, 73, 73, 72, 72, 71, 70,
    -00280                 70, 69, 68, 68, 67, 67, 66, 65, 65, 64, 63, 63, 62, 61, 61, 60, 59, 59, 58, 57,
    -00281                 56, 56, 55, 54, 54, 53, 52, 51, 51, 50, 49, 48, 48, 47, 46, 45, 45, 44, 43, 42,
    -00282                 42, 41, 40, 39, 38, 38, 37, 36, 35, 34, 33, 33, 32, 31, 30, 29, 28, 28, 27, 26,
    -00283                 25, 24, 23, 22, 21, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 11, 10, 9, 8, 7,
    -00284                 6, 5, 4, 3, 2, 1, 0, -1, -2, -3, -4, -5, -6, -7, -8, -9, -10, -11, -12, -13,
    -00285                 -14, -15, -16, -17, -18, -19, -20, -21, -22, -23, -24, -25, -26, -27, -28, -29,
    -00286                 -30, -31, -32, -33, -34, -35, -37, -38, -39, -40, -41, -42, -43, -44, -45, -46,
    -00287                 -47, -48, -49, -51, -52, -53, -54, -55, -56, -57, -58, -59, -60, -61, -63, -64,
    -00288                 -65, -66, -67, -68, -69, -70, -71, -73, -74, -75, -76, -77, -78, -79, -80, -82,
    -00289                 -83, -84, -85, -86, -87, -88, -89, -91, -92, -93, -94, -95, -96, -97, -98, -100,
    -00290                 -101, -102, -103, -104, -105, -106, -107, -108, -110, -111, -112, -113, -114,
    -00291                 -115, -116, -117, -119, -120, -121, -122, -123, -124, -125, -126, -127, -128,
    -00292                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00293                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00294                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00295                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00296                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00297                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00298                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00299                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00300                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00301                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00302                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00303                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00304                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00305                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00306                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00307                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00308                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00309                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00310                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00311                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00312                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00313                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00314                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00315                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00316                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00317                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00318                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00319                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00320                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00321                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00322                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00323                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00324                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00325                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00326                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00327                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00328                 -128, -128, -127, -126, -126, -125, -124, -123, -123, -122, -121, -121, -120,
    -00329                 -119, -119, -118, -117, -117, -116, -115, -115, -114, -113, -113, -112, -111,
    -00330                 -111, -110, -110, -109, -108, -108, -107, -106, -106, -105, -105, -104, -103,
    -00331                 -103, -102, -102, -101, -100, -100, -99, -99, -98, -98, -97, -96, -96, -95, -95,
    -00332                 -94, -94, -93, -93, -92, -91, -91, -90, -90, -89, -89, -88, -88, -87, -87, -86,
    -00333                 -86, -85, -85, -84, -84, -83, -83, -82, -82, -82, -81, -81, -80, -80, -79, -79,
    -00334                 -78, -78, -78, -77, -77, -76, -76, -76, -75, -75, -74, -74, -74, -73, -73, -72,
    -00335                 -72, -72, -71, -71, -71, -70, -70, -70, -69, -69, -69, -68, -68, -68, -67, -67,
    -00336                 -67, -67, -66, -66, -66, -65, -65, -65, -65, -64, -64, -64, -64, -63, -63, -63,
    -00337                 -63, -62, -62, -62, -62, -62, -61, -61, -61, -61, -61, -60, -60, -60, -60, -60,
    -00338                 -60, -59, -59, -59, -59, -59, -59, -59, -58, -58, -58, -58, -58, -58, -58, -58,
    -00339                 -58, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57,
    -00340                 -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57,
    -00341                 -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -58, -58,
    -00342                 -58, -58, -58, -58, -58, -58, -58, -59, -59, -59, -59, -59, -59, -59, -59, -60,
    -00343                 -60, -60, -60, -60, -60, -61, -61, -61, -61, -61, -61, -62, -62, -62, -62, -62,
    -00344                 -63, -63, -63, -63, -63, -64, -64, -64, -64, -64, -65, -65, -65, -65, -66, -66,
    -00345                 -66, -66, -67, -67, -67, -67, -68, -68, -68, -68, -69, -69, -69, -70, -70, -70,
    -00346                 -70, -71, -71, -71, -72, -72, -72, -72, -73, -73, -73, -74, -74, -74, -75, -75,
    -00347                 -75, -76, -76, -76, -77, -77, -77, -77, -78, -78, -79, -79, -79, -80, -80, -80,
    -00348                 -81, -81, -81, -82, -82, -82, -83, -83, -83, -84, -84, -84, -85, -85, -86, -86,
    -00349                 -86, -87, -87, -87, -88, -88, -88, -89, -89, -90, -90, -90, -91, -91, -91, -92,
    -00350                 -92, -93, -93, -93, -94, -94, -95, -95, -95, -96, -96, -96, -97, -97, -98, -98,
    -00351                 -98, -99, -99, -100, -100, -100, -101, -101, -102, -102, -102, -103, -103, -104,
    -00352                 -104, -104, -105, -105, -105, -106, -106, -107, -107, -107, -108, -108, -109,
    -00353                 -109, -109, -110, -110, -111, -111, -111, -112, -112, -113, -113, -113, -114,
    -00354                 -114, -114, -115, -115, -116, -116, -116, -117, -117, -118, -118, -118, -119,
    -00355                 -119, -119, -120, -120, -121, -121, -121, -122, -122, -122, -123, -123, -124,
    -00356                 -124, -124, -125, -125, -125, -126, -126, -126, -127, -127, -127, -128, -128,
    -00357                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00358                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00359                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00360                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00361                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00362                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00363                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00364                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00365                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00366                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00367                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00368                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00369                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00370                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00371                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00372                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00373                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00374                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00375                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00376                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00377                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00378                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00379                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00380                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00381                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00382                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00383                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00384                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00385                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00386                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00387                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00388                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00389                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00390                 -128, -128, -128, -128, -128, -128, -127, -127, -127, -127, -127, -127, -126,
    -00391                 -126, -126, -126, -126, -126, -125, -125, -125, -125, -125, -125, -125, -124,
    -00392                 -124, -124, -124, -124, -124, -124, -123, -123, -123, -123, -123, -123, -123,
    -00393                 -122, -122, -122, -122, -122, -122, -122, -121, -121, -121, -121, -121, -121,
    -00394                 -121, -121, -120, -120, -120, -120, -120, -120, -120, -120, -119, -119, -119,
    -00395                 -119, -119, -119, -119, -119, -119, -118, -118, -118, -118, -118, -118, -118,
    -00396                 -118, -118, -118, -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    -00397                 -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -115,
    -00398                 -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    -00399                 -115, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
    -00400                 -114, -114, -114, -114, -114, -114, -114, -114, -113, -113, -113, -113, -113,
    -00401                 -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    -00402                 -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    -00403                 -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    -00404                 -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    -00405                 -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    -00406                 -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    -00407                 -113, -113, -113, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
    -00408                 -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -115,
    -00409                 -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    -00410                 -115, -115, -115, -115, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    -00411                 -116, -116, -116, -116, -116, -116, -117, -117, -117, -117, -117, -117, -117,
    -00412                 -117, -117, -117, -117, -117, -117, -118, -118, -118, -118, -118, -118, -118,
    -00413                 -118, -118, -118, -118, -118, -118, -119, -119, -119, -119, -119, -119, -119,
    -00414                 -119, -119, -119, -119, -119, -119, -120, -120, -120, -120, -120, -120, -120,
    -00415                 -120, -120, -120, -120, -120, -121, -121, -121, -121, -121, -121, -121, -121,
    -00416                 -121, -121, -121, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    -00417                 -122, -122, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    -00418                 -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -125,
    -00419                 -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -126, -126, -126,
    -00420                 -126, -126, -126, -126, -126, -126, -126, -126, -126, -127, -127, -127, -127,
    -00421                 -127, -127, -127, -127, -127, -127, -127, -127, -128, -128, -128, -128, -128,
    -00422                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00423                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00424                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00425                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00426                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00427                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00428                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00429                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00430                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00431                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00432                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00433                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00434                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00435                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00436                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00437                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00438                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00439                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00440                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00441                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00442                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00443                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00444                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00445                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00446                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00447                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00448                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00449                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00450                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00451                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00452                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00453                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00454                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00455                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00456                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00457                 -128, -128, -128, -128, -128, -127, -127, -127, -127, -127, -127, -127, -127,
    -00458                 -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    -00459                 -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    -00460                 -127, -127, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    -00461                 -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    -00462                 -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    -00463                 -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    -00464                 -126, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    -00465                 -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    -00466                 -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    -00467                 -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    -00468                 -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    -00469                 -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    -00470                 -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    -00471                 -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    -00472                 -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    -00473                 -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    -00474                 -125, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    -00475                 -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    -00476                 -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    -00477                 -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    -00478                 -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    -00479                 -126, -126, -126, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    -00480                 -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    -00481                 -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    -00482                 -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    -00483                 -127, -127, -127, -127, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00484                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00485                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00486                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00487                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00488                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00489                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00490                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00491                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00492                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00493                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00494                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00495                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00496                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00497                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00498                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00499                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00500                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00501                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00502                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00503                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00504                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00505                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00506                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00507                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00508                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00509                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00510                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00511                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00512                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00513                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00514                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00515                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00516                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00517                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00518                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00519                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00520                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00521                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00522                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00523                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00524                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00525                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00526                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00527                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00528                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00529                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00530                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00531                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00532                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00533                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00534                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00535                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00536                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00537                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00538                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00539                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00540                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00541                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00542                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00543                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00544                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00545                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00546                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00547                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00548                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00549                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00550                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00551                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00552                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00553                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00554                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00555                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00556                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00557                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00558                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00559                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00560                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00561                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00562                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00563         };
    -00564 
    -00565 #endif /* SMOOTHSQUARE8192_H_ */
    -
    - - - - +
    1 #ifndef SMOOTHSQUARE8192_H_
    +
    2 #define SMOOTHSQUARE8192_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 /* hand-drawn square wave with rounded corners from Audacity
    +
    12 */
    +
    13 
    +
    14 #define SMOOTHSQUARE8192_NUM_CELLS 8192
    +
    15 #define SMOOTHSQUARE8192_SAMPLERATE 8192
    +
    16 
    +
    17 const char __attribute__((progmem)) SMOOTHSQUARE8192_DATA [] =
    +
    18  {
    +
    19  -1, 0, -1, 0, -1, 0, 0, 0, -1, 0,
    +
    20  -1, 0, -1, 0, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, -1, 0, 0, -1, 0,
    +
    21  -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1, 0, -1,
    +
    22  0, 0, 0, -1, 0, -1, 0, -1, 0, 0, 0, -1, 0, 0, -1, 0, -1, 0, 0, -1, 0, -1, 0, -1,
    +
    23  0, 0, -1, 0, -1, 0, 0, 0, -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0,
    +
    24  -1, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    25  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    26  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    27  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    28  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    29  0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
    +
    30  1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    +
    31  2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
    +
    32  4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7,
    +
    33  7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10,
    +
    34  11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 14, 14, 14,
    +
    35  14, 14, 14, 15, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17, 17, 18, 18, 18,
    +
    36  18, 19, 19, 19, 19, 20, 20, 20, 20, 20, 21, 21, 21, 22, 22, 22, 22, 23, 23, 23,
    +
    37  23, 24, 24, 24, 24, 25, 25, 25, 26, 26, 26, 27, 27, 27, 27, 28, 28, 28, 29, 29,
    +
    38  29, 30, 30, 30, 31, 31, 31, 31, 32, 32, 32, 33, 33, 34, 34, 34, 35, 35, 35, 36,
    +
    39  36, 36, 37, 37, 37, 38, 38, 38, 39, 39, 40, 40, 40, 41, 41, 42, 42, 42, 43, 43,
    +
    40  44, 44, 44, 45, 45, 46, 46, 46, 47, 47, 48, 48, 48, 49, 49, 50, 50, 51, 51, 51,
    +
    41  52, 52, 53, 53, 54, 54, 55, 55, 55, 56, 56, 57, 57, 58, 58, 59, 59, 60, 60, 61,
    +
    42  61, 62, 62, 62, 63, 63, 64, 64, 65, 65, 66, 66, 67, 67, 68, 68, 69, 69, 70, 70,
    +
    43  71, 71, 72, 72, 73, 73, 74, 74, 75, 75, 76, 77, 77, 78, 78, 79, 79, 80, 80, 81,
    +
    44  81, 82, 82, 83, 83, 84, 84, 85, 86, 86, 87, 87, 88, 88, 89, 89, 90, 90, 91, 92,
    +
    45  92, 93, 93, 94, 94, 95, 95, 96, 97, 97, 98, 98, 99, 99, 100, 100, 101, 102, 102,
    +
    46  103, 103, 104, 104, 105, 105, 106, 107, 107, 108, 108, 109, 109, 110, 111, 111,
    +
    47  112, 112, 113, 113, 114, 114, 115, 116, 116, 117, 117, 118, 118, 119, 120, 120,
    +
    48  121, 121, 122, 122, 123, 123, 124, 125, 125, 126, 126, 127, 127, 127, 127, 127,
    +
    49  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    50  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    51  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    52  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    53  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    54  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    55  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    56  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    57  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    58  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    59  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    60  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    61  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    62  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    63  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    64  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    65  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    66  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    67  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    68  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    69  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    70  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    71  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    72  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    73  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    74  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    75  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    76  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    77  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    78  127, 127, 127, 127, 126, 126, 126, 125, 125, 125, 124, 124, 124, 123, 123, 123,
    +
    79  122, 122, 122, 121, 121, 121, 120, 120, 120, 119, 119, 119, 118, 118, 118, 117,
    +
    80  117, 117, 116, 116, 116, 116, 115, 115, 115, 114, 114, 114, 113, 113, 113, 113,
    +
    81  112, 112, 112, 111, 111, 111, 111, 110, 110, 110, 109, 109, 109, 109, 108, 108,
    +
    82  108, 108, 107, 107, 107, 107, 106, 106, 106, 106, 105, 105, 105, 105, 104, 104,
    +
    83  104, 104, 103, 103, 103, 103, 103, 102, 102, 102, 102, 102, 101, 101, 101, 101,
    +
    84  101, 100, 100, 100, 100, 100, 99, 99, 99, 99, 99, 98, 98, 98, 98, 98, 98, 97,
    +
    85  97, 97, 97, 97, 97, 97, 96, 96, 96, 96, 96, 96, 96, 95, 95, 95, 95, 95, 95, 95,
    +
    86  95, 94, 94, 94, 94, 94, 94, 94, 94, 94, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
    +
    87  93, 93, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
    +
    88  92, 92, 92, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
    +
    89  91, 91, 91, 91, 91, 91, 91, 91, 91, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
    +
    90  92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 93, 93, 93, 93, 93, 93, 93, 93, 93,
    +
    91  93, 93, 93, 93, 93, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 95, 95, 95, 95, 95,
    +
    92  95, 95, 95, 95, 96, 96, 96, 96, 96, 96, 96, 96, 97, 97, 97, 97, 97, 97, 97, 97,
    +
    93  98, 98, 98, 98, 98, 98, 98, 99, 99, 99, 99, 99, 99, 99, 100, 100, 100, 100, 100,
    +
    94  100, 101, 101, 101, 101, 101, 101, 102, 102, 102, 102, 102, 102, 103, 103, 103,
    +
    95  103, 103, 103, 104, 104, 104, 104, 104, 104, 105, 105, 105, 105, 105, 106, 106,
    +
    96  106, 106, 106, 106, 107, 107, 107, 107, 107, 108, 108, 108, 108, 108, 108, 109,
    +
    97  109, 109, 109, 109, 110, 110, 110, 110, 110, 111, 111, 111, 111, 111, 112, 112,
    +
    98  112, 112, 112, 113, 113, 113, 113, 113, 114, 114, 114, 114, 114, 115, 115, 115,
    +
    99  115, 115, 116, 116, 116, 116, 116, 117, 117, 117, 117, 117, 117, 118, 118, 118,
    +
    100  118, 118, 119, 119, 119, 119, 119, 120, 120, 120, 120, 120, 121, 121, 121, 121,
    +
    101  121, 122, 122, 122, 122, 122, 123, 123, 123, 123, 123, 123, 124, 124, 124, 124,
    +
    102  124, 125, 125, 125, 125, 125, 126, 126, 126, 126, 126, 126, 127, 127, 127, 127,
    +
    103  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    104  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    105  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    106  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    107  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    108  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    109  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    110  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    111  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    112  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    113  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    114  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    115  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    116  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    117  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    118  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    119  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    120  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    121  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    122  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    123  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    124  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    125  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    126  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    127  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    128  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    129  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    130  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 126, 126, 126, 126, 126, 126,
    +
    131  126, 126, 126, 126, 126, 126, 126, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    +
    132  125, 125, 125, 125, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
    +
    133  124, 124, 124, 124, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
    +
    134  123, 123, 123, 123, 123, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
    +
    135  122, 122, 122, 122, 122, 122, 122, 122, 122, 121, 121, 121, 121, 121, 121, 121,
    +
    136  121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
    +
    137  121, 121, 121, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
    +
    138  120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
    +
    139  120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
    +
    140  120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
    +
    141  120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
    +
    142  120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
    +
    143  120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
    +
    144  120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
    +
    145  120, 120, 120, 120, 120, 120, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
    +
    146  121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
    +
    147  121, 121, 121, 121, 121, 121, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
    +
    148  122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
    +
    149  123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
    +
    150  123, 123, 123, 123, 123, 123, 123, 123, 124, 124, 124, 124, 124, 124, 124, 124,
    +
    151  124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 125,
    +
    152  125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    +
    153  125, 125, 125, 125, 125, 125, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    +
    154  126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 127, 127, 127,
    +
    155  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    156  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    157  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    158  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    159  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    160  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    161  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    162  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    163  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    164  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    165  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    166  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    167  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    168  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    169  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    170  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    171  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    172  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    173  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    174  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    175  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    176  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    177  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    178  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    179  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    180  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    181  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    182  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    183  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    184  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    185  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    186  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 126, 126, 126,
    +
    187  126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    +
    188  126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    +
    189  126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    +
    190  126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    +
    191  126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    +
    192  126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    +
    193  126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    +
    194  126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    +
    195  126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    +
    196  126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    +
    197  126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    +
    198  126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    +
    199  126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    +
    200  126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    +
    201  126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    +
    202  126, 126, 126, 126, 127, 126, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    203  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    204  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    205  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    206  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    207  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    208  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    209  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    210  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    211  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    212  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    213  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    214  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    215  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    216  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    217  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    218  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    219  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    220  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    221  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    222  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    223  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    224  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    225  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    226  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    227  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    228  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    229  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    230  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    231  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    232  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    233  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    234  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    235  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    236  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    237  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    238  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    239  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    240  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    241  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    242  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    243  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    244  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    245  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    246  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    247  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    248  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    249  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    250  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    251  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    252  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    253  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    254  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    255  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    256  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    257  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    258  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    259  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    260  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    261  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    262  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    263  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    264  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    265  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    266  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 126, 126, 126, 126,
    +
    267  126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    +
    268  126, 126, 126, 126, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    +
    269  125, 125, 125, 125, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
    +
    270  124, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 122, 122, 122, 122, 122,
    +
    271  122, 122, 122, 122, 121, 121, 121, 121, 121, 121, 121, 121, 120, 120, 120, 120,
    +
    272  120, 120, 120, 119, 119, 119, 119, 119, 119, 118, 118, 118, 118, 118, 118, 117,
    +
    273  117, 117, 117, 117, 116, 116, 116, 116, 116, 115, 115, 115, 115, 115, 114, 114,
    +
    274  114, 114, 113, 113, 113, 113, 112, 112, 112, 112, 111, 111, 111, 111, 110, 110,
    +
    275  110, 110, 109, 109, 109, 109, 108, 108, 108, 107, 107, 107, 106, 106, 106, 105,
    +
    276  105, 105, 105, 104, 104, 103, 103, 103, 102, 102, 102, 101, 101, 101, 100, 100,
    +
    277  100, 99, 99, 98, 98, 98, 97, 97, 96, 96, 96, 95, 95, 94, 94, 93, 93, 93, 92, 92,
    +
    278  91, 91, 90, 90, 89, 89, 88, 88, 87, 87, 86, 86, 85, 85, 84, 84, 83, 83, 82, 82,
    +
    279  81, 81, 80, 80, 79, 79, 78, 77, 77, 76, 76, 75, 75, 74, 73, 73, 72, 72, 71, 70,
    +
    280  70, 69, 68, 68, 67, 67, 66, 65, 65, 64, 63, 63, 62, 61, 61, 60, 59, 59, 58, 57,
    +
    281  56, 56, 55, 54, 54, 53, 52, 51, 51, 50, 49, 48, 48, 47, 46, 45, 45, 44, 43, 42,
    +
    282  42, 41, 40, 39, 38, 38, 37, 36, 35, 34, 33, 33, 32, 31, 30, 29, 28, 28, 27, 26,
    +
    283  25, 24, 23, 22, 21, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 11, 10, 9, 8, 7,
    +
    284  6, 5, 4, 3, 2, 1, 0, -1, -2, -3, -4, -5, -6, -7, -8, -9, -10, -11, -12, -13,
    +
    285  -14, -15, -16, -17, -18, -19, -20, -21, -22, -23, -24, -25, -26, -27, -28, -29,
    +
    286  -30, -31, -32, -33, -34, -35, -37, -38, -39, -40, -41, -42, -43, -44, -45, -46,
    +
    287  -47, -48, -49, -51, -52, -53, -54, -55, -56, -57, -58, -59, -60, -61, -63, -64,
    +
    288  -65, -66, -67, -68, -69, -70, -71, -73, -74, -75, -76, -77, -78, -79, -80, -82,
    +
    289  -83, -84, -85, -86, -87, -88, -89, -91, -92, -93, -94, -95, -96, -97, -98, -100,
    +
    290  -101, -102, -103, -104, -105, -106, -107, -108, -110, -111, -112, -113, -114,
    +
    291  -115, -116, -117, -119, -120, -121, -122, -123, -124, -125, -126, -127, -128,
    +
    292  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    293  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    294  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    295  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    296  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    297  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    298  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    299  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    300  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    301  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    302  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    303  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    304  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    305  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    306  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    307  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    308  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    309  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    310  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    311  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    312  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    313  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    314  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    315  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    316  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    317  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    318  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    319  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    320  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    321  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    322  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    323  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    324  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    325  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    326  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    327  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    328  -128, -128, -127, -126, -126, -125, -124, -123, -123, -122, -121, -121, -120,
    +
    329  -119, -119, -118, -117, -117, -116, -115, -115, -114, -113, -113, -112, -111,
    +
    330  -111, -110, -110, -109, -108, -108, -107, -106, -106, -105, -105, -104, -103,
    +
    331  -103, -102, -102, -101, -100, -100, -99, -99, -98, -98, -97, -96, -96, -95, -95,
    +
    332  -94, -94, -93, -93, -92, -91, -91, -90, -90, -89, -89, -88, -88, -87, -87, -86,
    +
    333  -86, -85, -85, -84, -84, -83, -83, -82, -82, -82, -81, -81, -80, -80, -79, -79,
    +
    334  -78, -78, -78, -77, -77, -76, -76, -76, -75, -75, -74, -74, -74, -73, -73, -72,
    +
    335  -72, -72, -71, -71, -71, -70, -70, -70, -69, -69, -69, -68, -68, -68, -67, -67,
    +
    336  -67, -67, -66, -66, -66, -65, -65, -65, -65, -64, -64, -64, -64, -63, -63, -63,
    +
    337  -63, -62, -62, -62, -62, -62, -61, -61, -61, -61, -61, -60, -60, -60, -60, -60,
    +
    338  -60, -59, -59, -59, -59, -59, -59, -59, -58, -58, -58, -58, -58, -58, -58, -58,
    +
    339  -58, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57,
    +
    340  -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57,
    +
    341  -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -58, -58,
    +
    342  -58, -58, -58, -58, -58, -58, -58, -59, -59, -59, -59, -59, -59, -59, -59, -60,
    +
    343  -60, -60, -60, -60, -60, -61, -61, -61, -61, -61, -61, -62, -62, -62, -62, -62,
    +
    344  -63, -63, -63, -63, -63, -64, -64, -64, -64, -64, -65, -65, -65, -65, -66, -66,
    +
    345  -66, -66, -67, -67, -67, -67, -68, -68, -68, -68, -69, -69, -69, -70, -70, -70,
    +
    346  -70, -71, -71, -71, -72, -72, -72, -72, -73, -73, -73, -74, -74, -74, -75, -75,
    +
    347  -75, -76, -76, -76, -77, -77, -77, -77, -78, -78, -79, -79, -79, -80, -80, -80,
    +
    348  -81, -81, -81, -82, -82, -82, -83, -83, -83, -84, -84, -84, -85, -85, -86, -86,
    +
    349  -86, -87, -87, -87, -88, -88, -88, -89, -89, -90, -90, -90, -91, -91, -91, -92,
    +
    350  -92, -93, -93, -93, -94, -94, -95, -95, -95, -96, -96, -96, -97, -97, -98, -98,
    +
    351  -98, -99, -99, -100, -100, -100, -101, -101, -102, -102, -102, -103, -103, -104,
    +
    352  -104, -104, -105, -105, -105, -106, -106, -107, -107, -107, -108, -108, -109,
    +
    353  -109, -109, -110, -110, -111, -111, -111, -112, -112, -113, -113, -113, -114,
    +
    354  -114, -114, -115, -115, -116, -116, -116, -117, -117, -118, -118, -118, -119,
    +
    355  -119, -119, -120, -120, -121, -121, -121, -122, -122, -122, -123, -123, -124,
    +
    356  -124, -124, -125, -125, -125, -126, -126, -126, -127, -127, -127, -128, -128,
    +
    357  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    358  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    359  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    360  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    361  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    362  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    363  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    364  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    365  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    366  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    367  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    368  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    369  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    370  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    371  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    372  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    373  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    374  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    375  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    376  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    377  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    378  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    379  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    380  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    381  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    382  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    383  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    384  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    385  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    386  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    387  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    388  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    389  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    390  -128, -128, -128, -128, -128, -128, -127, -127, -127, -127, -127, -127, -126,
    +
    391  -126, -126, -126, -126, -126, -125, -125, -125, -125, -125, -125, -125, -124,
    +
    392  -124, -124, -124, -124, -124, -124, -123, -123, -123, -123, -123, -123, -123,
    +
    393  -122, -122, -122, -122, -122, -122, -122, -121, -121, -121, -121, -121, -121,
    +
    394  -121, -121, -120, -120, -120, -120, -120, -120, -120, -120, -119, -119, -119,
    +
    395  -119, -119, -119, -119, -119, -119, -118, -118, -118, -118, -118, -118, -118,
    +
    396  -118, -118, -118, -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
    +
    397  -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -115,
    +
    398  -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    +
    399  -115, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
    +
    400  -114, -114, -114, -114, -114, -114, -114, -114, -113, -113, -113, -113, -113,
    +
    401  -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +
    402  -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +
    403  -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +
    404  -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +
    405  -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +
    406  -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
    +
    407  -113, -113, -113, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
    +
    408  -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -114, -115,
    +
    409  -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
    +
    410  -115, -115, -115, -115, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +
    411  -116, -116, -116, -116, -116, -116, -117, -117, -117, -117, -117, -117, -117,
    +
    412  -117, -117, -117, -117, -117, -117, -118, -118, -118, -118, -118, -118, -118,
    +
    413  -118, -118, -118, -118, -118, -118, -119, -119, -119, -119, -119, -119, -119,
    +
    414  -119, -119, -119, -119, -119, -119, -120, -120, -120, -120, -120, -120, -120,
    +
    415  -120, -120, -120, -120, -120, -121, -121, -121, -121, -121, -121, -121, -121,
    +
    416  -121, -121, -121, -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
    +
    417  -122, -122, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
    +
    418  -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -124, -125,
    +
    419  -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -126, -126, -126,
    +
    420  -126, -126, -126, -126, -126, -126, -126, -126, -126, -127, -127, -127, -127,
    +
    421  -127, -127, -127, -127, -127, -127, -127, -127, -128, -128, -128, -128, -128,
    +
    422  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    423  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    424  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    425  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    426  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    427  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    428  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    429  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    430  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    431  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    432  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    433  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    434  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    435  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    436  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    437  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    438  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    439  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    440  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    441  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    442  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    443  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    444  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    445  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    446  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    447  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    448  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    449  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    450  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    451  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    452  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    453  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    454  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    455  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    456  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    457  -128, -128, -128, -128, -128, -127, -127, -127, -127, -127, -127, -127, -127,
    +
    458  -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +
    459  -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +
    460  -127, -127, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +
    461  -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +
    462  -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +
    463  -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +
    464  -126, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +
    465  -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +
    466  -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +
    467  -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +
    468  -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +
    469  -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +
    470  -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +
    471  -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +
    472  -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +
    473  -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
    +
    474  -125, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +
    475  -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +
    476  -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +
    477  -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +
    478  -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
    +
    479  -126, -126, -126, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +
    480  -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +
    481  -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +
    482  -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +
    483  -127, -127, -127, -127, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    484  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    485  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    486  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    487  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    488  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    489  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    490  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    491  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    492  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    493  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    494  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    495  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    496  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    497  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    498  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    499  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    500  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    501  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    502  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    503  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    504  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    505  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    506  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    507  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    508  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    509  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    510  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    511  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    512  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    513  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    514  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    515  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    516  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    517  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    518  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    519  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    520  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    521  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    522  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    523  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    524  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    525  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    526  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    527  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    528  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    529  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    530  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    531  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    532  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    533  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    534  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    535  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    536  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    537  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    538  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    539  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    540  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    541  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    542  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    543  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    544  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    545  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    546  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    547  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    548  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    549  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    550  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    551  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    552  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    553  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    554  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    555  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    556  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    557  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    558  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    559  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    560  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    561  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    562  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    563  };
    +
    564 
    +
    565 #endif /* SMOOTHSQUARE8192_H_ */
    +
    + + + diff --git a/doc/html/square__analogue512__int8_8h_source.html b/doc/html/square__analogue512__int8_8h_source.html index da90505b9..cd874f927 100644 --- a/doc/html/square__analogue512__int8_8h_source.html +++ b/doc/html/square__analogue512__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: tables/square_analogue512_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,71 +99,73 @@
    -
    tables/square_analogue512_int8.h
    +
    square_analogue512_int8.h
    -
    00001 #ifndef SQUARE_ANALOGUE512_INT8_H_
    -00002 #define SQUARE_ANALOGUE512_INT8_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 /* generated "analogue"  square wave from Audacity
    -00012 */
    -00013 
    -00014 #define SQUARE_ANALOGUE512_NUM_CELLS 512
    -00015 #define SQUARE_ANALOGUE512_SAMPLERATE 512
    -00016 
    -00017 const char __attribute__((progmem)) SQUARE_ANALOGUE512_DATA []  =
    -00018         {
    -00019                 23, 68, 102, 119, 120, 112, 101,
    -00020                 94, 94, 99, 105, 109, 109, 106, 101, 98, 98, 101, 104, 107, 107, 105, 102, 100,
    -00021                 100, 102, 104, 106, 106, 104, 102, 101, 101, 102, 104, 105, 105, 104, 102, 101,
    -00022                 101, 102, 104, 105, 105, 104, 102, 101, 101, 102, 104, 105, 105, 104, 102, 102,
    -00023                 102, 102, 104, 104, 104, 104, 102, 102, 102, 102, 104, 104, 104, 104, 103, 102,
    -00024                 102, 102, 104, 104, 104, 104, 103, 102, 102, 103, 103, 104, 104, 103, 103, 102,
    -00025                 102, 103, 103, 104, 104, 103, 103, 102, 102, 103, 103, 104, 104, 103, 103, 102,
    -00026                 102, 103, 103, 104, 104, 103, 103, 102, 102, 103, 103, 104, 104, 103, 103, 102,
    -00027                 102, 103, 103, 104, 104, 103, 103, 102, 102, 103, 103, 104, 104, 103, 103, 102,
    -00028                 102, 103, 103, 104, 104, 103, 103, 102, 102, 103, 103, 104, 104, 103, 103, 102,
    -00029                 102, 103, 103, 104, 104, 103, 103, 102, 102, 103, 103, 104, 104, 103, 103, 102,
    -00030                 102, 103, 103, 104, 104, 103, 103, 102, 102, 103, 104, 104, 104, 104, 103, 102,
    -00031                 102, 103, 104, 104, 104, 104, 102, 102, 102, 102, 104, 104, 104, 104, 102, 102,
    -00032                 102, 102, 104, 105, 105, 104, 102, 101, 101, 102, 104, 105, 105, 104, 102, 101,
    -00033                 101, 102, 104, 105, 105, 104, 102, 101, 101, 102, 104, 106, 106, 104, 102, 100,
    -00034                 100, 102, 105, 107, 107, 104, 101, 98, 98, 101, 106, 109, 109, 105, 99, 94, 94,
    -00035                 101, 112, 120, 119, 102, 68, 23, -22, -59, -83, -94, -95, -89, -83, -78, -78,
    -00036                 -81, -85, -88, -88, -86, -83, -81, -81, -83, -85, -87, -87, -85, -83, -82, -82,
    -00037                 -83, -85, -86, -86, -85, -84, -83, -83, -83, -85, -86, -86, -85, -84, -83, -83,
    -00038                 -84, -85, -85, -85, -85, -84, -83, -83, -84, -85, -85, -85, -85, -84, -83, -83,
    -00039                 -84, -84, -85, -85, -85, -84, -83, -83, -84, -84, -85, -85, -84, -84, -83, -83,
    -00040                 -84, -84, -85, -85, -84, -84, -83, -83, -84, -84, -85, -85, -84, -84, -83, -83,
    -00041                 -84, -84, -85, -85, -84, -84, -83, -83, -84, -84, -85, -85, -84, -84, -83, -83,
    -00042                 -84, -84, -85, -85, -84, -84, -83, -84, -84, -84, -85, -85, -84, -84, -84, -84,
    -00043                 -84, -84, -85, -85, -84, -84, -84, -84, -84, -84, -85, -85, -84, -84, -84, -84,
    -00044                 -84, -84, -85, -85, -84, -84, -84, -84, -84, -84, -85, -85, -84, -84, -83, -83,
    -00045                 -84, -84, -85, -85, -84, -84, -83, -83, -84, -84, -85, -85, -84, -84, -83, -83,
    -00046                 -84, -84, -85, -85, -84, -84, -83, -83, -84, -84, -85, -85, -84, -84, -83, -83,
    -00047                 -84, -84, -85, -85, -84, -84, -83, -83, -84, -85, -85, -85, -84, -84, -83, -83,
    -00048                 -84, -85, -85, -85, -85, -84, -83, -83, -84, -85, -85, -85, -85, -84, -83, -83,
    -00049                 -84, -85, -86, -86, -85, -83, -83, -83, -84, -85, -86, -86, -85, -83, -82, -82,
    -00050                 -83, -85, -87, -87, -85, -83, -81, -81, -83, -86, -88, -88, -85, -81, -78, -78,
    -00051                 -83, -89, -95, -94, -83, -59, -22,
    -00052         };
    -00053 
    -00054 #endif /* SQUARE_ANALOGUE512_INT8_H_ */
    -
    - - - - +
    1 #ifndef SQUARE_ANALOGUE512_INT8_H_
    +
    2 #define SQUARE_ANALOGUE512_INT8_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 /* generated "analogue" square wave from Audacity
    +
    12 */
    +
    13 
    +
    14 #define SQUARE_ANALOGUE512_NUM_CELLS 512
    +
    15 #define SQUARE_ANALOGUE512_SAMPLERATE 512
    +
    16 
    +
    17 const char __attribute__((progmem)) SQUARE_ANALOGUE512_DATA [] =
    +
    18  {
    +
    19  23, 68, 102, 119, 120, 112, 101,
    +
    20  94, 94, 99, 105, 109, 109, 106, 101, 98, 98, 101, 104, 107, 107, 105, 102, 100,
    +
    21  100, 102, 104, 106, 106, 104, 102, 101, 101, 102, 104, 105, 105, 104, 102, 101,
    +
    22  101, 102, 104, 105, 105, 104, 102, 101, 101, 102, 104, 105, 105, 104, 102, 102,
    +
    23  102, 102, 104, 104, 104, 104, 102, 102, 102, 102, 104, 104, 104, 104, 103, 102,
    +
    24  102, 102, 104, 104, 104, 104, 103, 102, 102, 103, 103, 104, 104, 103, 103, 102,
    +
    25  102, 103, 103, 104, 104, 103, 103, 102, 102, 103, 103, 104, 104, 103, 103, 102,
    +
    26  102, 103, 103, 104, 104, 103, 103, 102, 102, 103, 103, 104, 104, 103, 103, 102,
    +
    27  102, 103, 103, 104, 104, 103, 103, 102, 102, 103, 103, 104, 104, 103, 103, 102,
    +
    28  102, 103, 103, 104, 104, 103, 103, 102, 102, 103, 103, 104, 104, 103, 103, 102,
    +
    29  102, 103, 103, 104, 104, 103, 103, 102, 102, 103, 103, 104, 104, 103, 103, 102,
    +
    30  102, 103, 103, 104, 104, 103, 103, 102, 102, 103, 104, 104, 104, 104, 103, 102,
    +
    31  102, 103, 104, 104, 104, 104, 102, 102, 102, 102, 104, 104, 104, 104, 102, 102,
    +
    32  102, 102, 104, 105, 105, 104, 102, 101, 101, 102, 104, 105, 105, 104, 102, 101,
    +
    33  101, 102, 104, 105, 105, 104, 102, 101, 101, 102, 104, 106, 106, 104, 102, 100,
    +
    34  100, 102, 105, 107, 107, 104, 101, 98, 98, 101, 106, 109, 109, 105, 99, 94, 94,
    +
    35  101, 112, 120, 119, 102, 68, 23, -22, -59, -83, -94, -95, -89, -83, -78, -78,
    +
    36  -81, -85, -88, -88, -86, -83, -81, -81, -83, -85, -87, -87, -85, -83, -82, -82,
    +
    37  -83, -85, -86, -86, -85, -84, -83, -83, -83, -85, -86, -86, -85, -84, -83, -83,
    +
    38  -84, -85, -85, -85, -85, -84, -83, -83, -84, -85, -85, -85, -85, -84, -83, -83,
    +
    39  -84, -84, -85, -85, -85, -84, -83, -83, -84, -84, -85, -85, -84, -84, -83, -83,
    +
    40  -84, -84, -85, -85, -84, -84, -83, -83, -84, -84, -85, -85, -84, -84, -83, -83,
    +
    41  -84, -84, -85, -85, -84, -84, -83, -83, -84, -84, -85, -85, -84, -84, -83, -83,
    +
    42  -84, -84, -85, -85, -84, -84, -83, -84, -84, -84, -85, -85, -84, -84, -84, -84,
    +
    43  -84, -84, -85, -85, -84, -84, -84, -84, -84, -84, -85, -85, -84, -84, -84, -84,
    +
    44  -84, -84, -85, -85, -84, -84, -84, -84, -84, -84, -85, -85, -84, -84, -83, -83,
    +
    45  -84, -84, -85, -85, -84, -84, -83, -83, -84, -84, -85, -85, -84, -84, -83, -83,
    +
    46  -84, -84, -85, -85, -84, -84, -83, -83, -84, -84, -85, -85, -84, -84, -83, -83,
    +
    47  -84, -84, -85, -85, -84, -84, -83, -83, -84, -85, -85, -85, -84, -84, -83, -83,
    +
    48  -84, -85, -85, -85, -85, -84, -83, -83, -84, -85, -85, -85, -85, -84, -83, -83,
    +
    49  -84, -85, -86, -86, -85, -83, -83, -83, -84, -85, -86, -86, -85, -83, -82, -82,
    +
    50  -83, -85, -87, -87, -85, -83, -81, -81, -83, -86, -88, -88, -85, -81, -78, -78,
    +
    51  -83, -89, -95, -94, -83, -59, -22,
    +
    52  };
    +
    53 
    +
    54 #endif /* SQUARE_ANALOGUE512_INT8_H_ */
    +
    + + + diff --git a/doc/html/square__no__alias512__int8_8h_source.html b/doc/html/square__no__alias512__int8_8h_source.html index 88afc2794..b25f6da95 100644 --- a/doc/html/square__no__alias512__int8_8h_source.html +++ b/doc/html/square__no__alias512__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: tables/square_no_alias512_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,75 +99,77 @@
    -
    tables/square_no_alias512_int8.h
    +
    square_no_alias512_int8.h
    -
    00001 #ifndef SQUARE_NO_ALIAS512_INT8_H_
    -00002 #define SQUARE_NO_ALIAS512_INT8_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 /* square wave with rounded corners from Audacity
    -00012 */
    -00013 
    -00014 #define SQUARE_NO_ALIAS512_NUM_CELLS 512
    -00015 #define SQUARE_NO_ALIAS512_SAMPLERATE 512
    -00016 
    -00017 const char __attribute__((progmem)) SQUARE_NO_ALIAS512_DATA []  =
    -00018         {
    -00019                 -1, 93, 117, 114, 115,
    -00020                 114, 115, 115, 114, 115, 114, 115, 115, 114, 115, 115, 115, 115, 115, 115, 115,
    -00021                 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
    -00022                 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
    -00023                 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
    -00024                 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
    -00025                 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
    -00026                 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
    -00027                 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
    -00028                 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
    -00029                 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
    -00030                 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
    -00031                 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
    -00032                 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
    -00033                 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
    -00034                 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 114, 115,
    -00035                 115, 114, 115, 114, 115, 115, 114, 115, 114, 117, 93, 0, -94, -118, -115, -116,
    -00036                 -115, -116, -116, -115, -116, -115, -116, -116, -115, -116, -116, -116, -116,
    -00037                 -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    -00038                 -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    -00039                 -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    -00040                 -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    -00041                 -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    -00042                 -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    -00043                 -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    -00044                 -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    -00045                 -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    -00046                 -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    -00047                 -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    -00048                 -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    -00049                 -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    -00050                 -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    -00051                 -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    -00052                 -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    -00053                 -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    -00054                 -116, -116, -116, -116, -115, -116, -116, -116, -116, -115, -116, -116, -115,
    -00055                 -116, -115, -118, -94,
    -00056         };
    -00057 
    -00058 #endif /* SQUARE_NO_ALIAS512_INT8_H_ */
    -
    - - - - +
    1 #ifndef SQUARE_NO_ALIAS512_INT8_H_
    +
    2 #define SQUARE_NO_ALIAS512_INT8_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 /* square wave with rounded corners from Audacity
    +
    12 */
    +
    13 
    +
    14 #define SQUARE_NO_ALIAS512_NUM_CELLS 512
    +
    15 #define SQUARE_NO_ALIAS512_SAMPLERATE 512
    +
    16 
    +
    17 const char __attribute__((progmem)) SQUARE_NO_ALIAS512_DATA [] =
    +
    18  {
    +
    19  -1, 93, 117, 114, 115,
    +
    20  114, 115, 115, 114, 115, 114, 115, 115, 114, 115, 115, 115, 115, 115, 115, 115,
    +
    21  115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
    +
    22  115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
    +
    23  115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
    +
    24  115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
    +
    25  115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
    +
    26  115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
    +
    27  115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
    +
    28  115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
    +
    29  115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
    +
    30  115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
    +
    31  115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
    +
    32  115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
    +
    33  115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
    +
    34  115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 114, 115,
    +
    35  115, 114, 115, 114, 115, 115, 114, 115, 114, 117, 93, 0, -94, -118, -115, -116,
    +
    36  -115, -116, -116, -115, -116, -115, -116, -116, -115, -116, -116, -116, -116,
    +
    37  -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +
    38  -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +
    39  -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +
    40  -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +
    41  -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +
    42  -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +
    43  -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +
    44  -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +
    45  -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +
    46  -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +
    47  -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +
    48  -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +
    49  -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +
    50  -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +
    51  -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +
    52  -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +
    53  -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
    +
    54  -116, -116, -116, -116, -115, -116, -116, -116, -116, -115, -116, -116, -115,
    +
    55  -116, -115, -118, -94,
    +
    56  };
    +
    57 
    +
    58 #endif /* SQUARE_NO_ALIAS512_INT8_H_ */
    +
    + + + diff --git a/doc/html/sync_off.png b/doc/html/sync_off.png new file mode 100644 index 0000000000000000000000000000000000000000..1e333d25b382a1e25dac96091f054283803d2586 GIT binary patch literal 856 zcmV-e1E>6nP)>04I_F9LN?<3$+m&h*KR4Mdrta ztHLM310YVF98?Hj2mye3kS;U`dxew273<^@z^Zk^4+~h_Dp^9C&@`Kaox)dhgbiRm zd?vhSKDf(6hOORp=a~SDfNu6XVc0yu8Nm-==Q;0E07sHj>=BOrO=uBZ`bNHR5QtNq zIdG(Cdh>S8On^jIuJLlPF-XcX&0K&u-WG!Dpwb>1PsUOXp9-;gNA8kvcpAWwf5#^& zdnJdD&Tb$lFAcy>tvc9d9a&Z6<@mXcl$1UXFfR%M9>d9trOSahtyBjunNQ^sjt@?+ zCp$N`n+@ezyjd6Et#=CzOxgQRAv^czMV}F`FPVm>P~4a%k2=UvtGa#-HAjmR;<-BL zw$<1)4}BYKj7zDJ~{C6VXXN)eOpjv>DN zvOm|%1D90OYhvs(Us(Tg7W>~XBHc5S|Ltu9bpH4UKmwYkCt6AkJ3KMP_g~+q`}&ae zl^zXImv!XMtzj;<^zi54KhL^M(eI_Fy!2_WeQ}j8JwdS;w}rSwPEAju?$}xe`~Rk+ z{da%_iq~aQQRU~##XiPHqG7knCUu~O7P)AFidI6&3QtDz5=QFDq iu<&zaQ6t^}cAf${IjDp&UX=3y00005MOO<4G9JaG$P@ahu;}y?wuJ10?PK}`-Nd!ad|I3xZBEa8-( zT(pWTfCY#ajiOQ<7wzVYA%HpR#q~uz+}sjHn>aaFg014>JY@q|h;!l_;~#g4S36eO zRnM0JECJQot75=-gC9i(fRmWGPymataC>!uV8n{iTwa}a&>CYx4D#VQKJ(u z#j2b*_BZ7d9-&4pz%08(zDiKxRGQfMP!68*hLo12;P+1fSiBvbVBKfQ{LoxXa%vQS zlf5dzX224wbK^Mr^CuMeRshT^Ju6mA^099@fL(=3u-<&8M9T5~=^~O+g1ss(Nn~ez z7Q6OkYbw9aX6sjKlFzibgfJRUdM)RSp{o)k8y~H@A&0u}@@Ca_O@0EOf0@pf?P;2_ zFVgUB)P5FdZnujaby+l=C?Go4Gh}>hmB6J<2)Q94F&yB7s1fJ(gp3CUiY#`$@;5I~ zw5m+DSFZwsG5C6n;UPaRtt&7+4UthEQZv*l5p3O^ef-w;oXH8fVW$1768tI$HRcz5KX~+KYNv>V`i|*h1088|!W#P6x!Na=)4D^pt ze|Rk)WyUy8D&sq;x4Yc>gcpxT0PJq7H&ErdCuR-i$Y_t2x{@-REJ~cn1>)O!^(LDkF TELYj{00000NkvXXu0mjfRN6DI delta 111 zcmV-#0FeKV0gM5VBxqAfL_t(|0qvbJ3WY!v12gkrQ9*=XSXfwi4NLETCyV{+HA03V zxkL8#bZkH8X>(|cWfPPjmPt&althyVRmXO{4oX1KgwEeq;N>L$&*OUccmvTr0sfm{ Re~|zH002ovPDHLkV1fa*FSY;x diff --git a/doc/html/tab_b.png b/doc/html/tab_b.png index e88e393d9c150143d0e6a75a0a6034e99b3c6809..ef9fbfaf79ec33aef5a5f95102a905cfc3f154ce 100644 GIT binary patch delta 148 zcmV;F0BirX0k8p(B!72FL_t(|0qvd34Z=_i1Z@uyLWsUNB2Kw*;gh_O2MH)YXp$RU z&;t&n4r@HS+9u@v`q*-n*n9!^`bm9#P{n~uIS@lnEPBpaN0E1gV@o*wogYRTvVH3` zCL*NU%2dU4Jh#88J5x5)aD4pbS>iHfm)_W{%P*;w8PIR;+zrqG0000q*{8 z?v9xQb^Qx}%Hn3aeq5%~iO5E3d9Wv|z100000NkvXX Hu0mjfh#f>* diff --git a/doc/html/tab_h.png b/doc/html/tab_h.png index d82571883cd15b0c731b0ad35ca15cf2b5997b11..0b802d3e23c40e77f105f9a278f177034cfedfa1 100644 GIT binary patch delta 157 zcmV;O0Al~e0l5K?B!7TOL_t(|0qvbT4uVh=MDM#N7>r>jRyG#K&W88{pFq&W7z-O7 zpeu3%?#Rt}m5rP^GqVbLzdkxiB8|szsh^z72d86C?R(0sqslvqT}!cV@tc6(n%9BD zpN2dQWND)!!g6*~=bRyGIoP)9U}siKuiy%v4}7E={-wEE^l00000 LNkvXXu0mjfiQh(t delta 169 zcmV;a09OCG0mT83B!7%aL_t(|0qxyivO-`Ofbn;}XU1LAa?4MuYRyU~g)U+dI~(=CH2W>lNm*!XnTsc8i-55v6HL&F0z% XlHeg#T%u&200000NkvXXu0mjfo$gXl diff --git a/doc/html/tab_s.png b/doc/html/tab_s.png index fbc8768e89ee0394d64aa78a50ea8394b949fc30..60bde1e20f16d17c698a164d4cb09a2439d67682 100644 GIT binary patch delta 168 zcmV;Z09XIU0mK22B!7!ZL_t(|0qxy=l7V0Vz~OiNPGiRyW-H^P8bwh^85w_xY^5*9 zasc;nmVL)bo_Vez-meemsO1zriG!AS-+Vs?4Tnul!14CJr^(Ei%8F`=qVQ8D^H-@xjdSC}@ec9b(gR@Sg0~PXebQbRPuE z2H&dj%^J_FSj{V3{f?vGv9%IgEitDBmQt{o(o5-2eap diff --git a/doc/html/table__generator__template_8py_source.html b/doc/html/table__generator__template_8py_source.html index 95a64e5a5..214af9726 100644 --- a/doc/html/table__generator__template_8py_source.html +++ b/doc/html/table__generator__template_8py_source.html @@ -3,46 +3,44 @@ + Mozzi: python/table_generator_template.py Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,46 +99,48 @@
    -
    python/table_generator_template.py
    +
    table_generator_template.py
    -
    00001 import array
    -00002 import os
    -00003 import textwrap
    -00004 
    -00005 def generate(outfilename, tablename, tablelength, samplerate):
    -00006     fout = open(os.path.expanduser(outfilename), "w")
    -00007     fout.write('#ifndef ' + tablename + '_H_' + '\n')
    -00008     fout.write('#define ' + tablename + '_H_' + '\n \n')
    -00009     fout.write('#if ARDUINO >= 100'+'\n')
    -00010     fout.write('#include "Arduino.h"'+'\n')
    -00011     fout.write('#else'+'\n')
    -00012     fout.write('#include "WProgram.h"'+'\n')
    -00013     fout.write('#endif'+'\n')   
    -00014     fout.write('#include <avr/pgmspace.h>'+'\n \n')
    -00015     fout.write('#define ' + tablename + '_NUM_CELLS '+ str(len(values))+'\n')
    -00016     fout.write('#define ' + tablename + '_SAMPLERATE '+ str(samplerate)+'\n \n')
    -00017     outstring = 'const char __attribute__((progmem)) ' + tablename + '_DATA [] = {'
    -00018     try:
    -00019         for num in range(tablelength):
    -00020             outstring += str(num/32) + ", "  ## for saw line, or put your own generating code here
    -00021     finally:
    -00022         outstring +=  "};"
    -00023         outstring = textwrap.fill(outstring, 80)
    -00024         fout.write(outstring)
    -00025         fout.write('\n \n #endif /* ' + tablename + '_H_ */\n')
    -00026         fout.close()
    -00027         print "wrote " + outfilename
    -00028 
    -00029 generate("~/Desktop/phasor8192_uint8.h", "phasor8192", 8192, "8192")
    -
    - - - - +
    1 import array
    +
    2 import os
    +
    3 import textwrap
    +
    4 
    +
    5 def generate(outfilename, tablename, tablelength, samplerate):
    +
    6  fout = open(os.path.expanduser(outfilename), "w")
    +
    7  fout.write('#ifndef ' + tablename + '_H_' + '\n')
    +
    8  fout.write('#define ' + tablename + '_H_' + '\n \n')
    +
    9  fout.write('#if ARDUINO >= 100'+'\n')
    +
    10  fout.write('#include "Arduino.h"'+'\n')
    +
    11  fout.write('#else'+'\n')
    +
    12  fout.write('#include "WProgram.h"'+'\n')
    +
    13  fout.write('#endif'+'\n')
    +
    14  fout.write('#include <avr/pgmspace.h>'+'\n \n')
    +
    15  fout.write('#define ' + tablename + '_NUM_CELLS '+ str(len(values))+'\n')
    +
    16  fout.write('#define ' + tablename + '_SAMPLERATE '+ str(samplerate)+'\n \n')
    +
    17  outstring = 'const char __attribute__((progmem)) ' + tablename + '_DATA [] = {'
    +
    18  try:
    +
    19  for num in range(tablelength):
    +
    20  outstring += str(num/32) + ", " ## for saw line, or put your own generating code here
    +
    21  finally:
    +
    22  outstring += "};"
    +
    23  outstring = textwrap.fill(outstring, 80)
    +
    24  fout.write(outstring)
    +
    25  fout.write('\n \n #endif /* ' + tablename + '_H_ */\n')
    +
    26  fout.close()
    +
    27  print "wrote " + outfilename
    +
    28 
    +
    29 generate("~/Desktop/phasor8192_uint8.h", "phasor8192", 8192, "8192")
    +
    + + + diff --git a/doc/html/tabs.css b/doc/html/tabs.css index 278acdfbd..8fffc3596 100644 --- a/doc/html/tabs.css +++ b/doc/html/tabs.css @@ -3,6 +3,7 @@ width: 100%; z-index: 101; font-size: 13px; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; } .tabs2 { diff --git a/doc/html/triangle1024__int8_8h_source.html b/doc/html/triangle1024__int8_8h_source.html index 4feb10320..0e10dbddb 100644 --- a/doc/html/triangle1024__int8_8h_source.html +++ b/doc/html/triangle1024__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: tables/triangle1024_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,96 +99,98 @@
    -
    tables/triangle1024_int8.h
    +
    triangle1024_int8.h
    -
    00001 #ifndef TRIANGLE1024_H_
    -00002 #define TRIANGLE1024_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 #define TRIANGLE1024_NUM_CELLS 1024
    -00012 #define TRIANGLE1024_SAMPLERATE 1024
    -00013 
    -00014 const char __attribute__((progmem)) TRIANGLE1024_DATA []  =
    -00015         {
    -00016                 0, 0, 1, 1, 2, 2, 3, 3, 3, 4, 4, 5, 5,
    -00017                 6, 6, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 13, 14, 14, 15, 16, 16, 16,
    -00018                 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27,
    -00019                 27, 28, 28, 29, 29, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 36, 37,
    -00020                 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 45, 45, 46, 46, 47,
    -00021                 47, 48, 48, 49, 49, 50, 50, 51, 51, 52, 52, 53, 53, 54, 54, 55, 55, 56, 56, 57,
    -00022                 57, 58, 58, 59, 59, 60, 60, 61, 61, 62, 62, 63, 63, 64, 64, 65, 65, 66, 66, 67,
    -00023                 67, 68, 68, 69, 69, 70, 70, 71, 71, 72, 72, 73, 73, 74, 74, 75, 75, 76, 76, 77,
    -00024                 77, 78, 78, 79, 79, 80, 80, 81, 81, 82, 82, 83, 83, 84, 84, 85, 85, 86, 86, 87,
    -00025                 87, 88, 88, 89, 89, 90, 90, 91, 91, 92, 92, 93, 93, 94, 94, 95, 95, 96, 96, 97,
    -00026                 97, 98, 98, 99, 99, 100, 100, 101, 101, 102, 102, 103, 103, 104, 104, 105, 105,
    -00027                 106, 106, 107, 107, 108, 108, 109, 109, 110, 110, 111, 111, 112, 112, 113, 113,
    -00028                 114, 114, 115, 115, 116, 116, 117, 117, 118, 118, 119, 119, 120, 120, 121, 121,
    -00029                 122, 122, 123, 123, 124, 124, 125, 125, 126, 126, 127, 127, 127, 127, 126, 126,
    -00030                 125, 125, 124, 124, 123, 123, 122, 122, 121, 121, 120, 120, 119, 119, 118, 118,
    -00031                 117, 117, 116, 116, 115, 115, 114, 114, 113, 113, 112, 112, 111, 111, 110, 110,
    -00032                 109, 109, 108, 108, 107, 107, 106, 106, 105, 105, 104, 104, 103, 103, 102, 102,
    -00033                 101, 101, 100, 100, 99, 99, 98, 98, 97, 97, 96, 96, 95, 95, 94, 94, 93, 93, 92,
    -00034                 92, 91, 91, 90, 90, 89, 89, 88, 88, 87, 87, 86, 86, 85, 85, 84, 84, 83, 83, 82,
    -00035                 82, 81, 81, 80, 80, 79, 79, 78, 78, 77, 77, 76, 76, 75, 75, 74, 74, 73, 73, 72,
    -00036                 72, 71, 71, 70, 70, 69, 69, 68, 68, 67, 67, 66, 66, 65, 65, 64, 64, 63, 63, 62,
    -00037                 62, 61, 61, 60, 60, 59, 59, 58, 58, 57, 57, 56, 56, 55, 55, 54, 54, 53, 53, 52,
    -00038                 52, 51, 51, 50, 50, 49, 49, 48, 48, 47, 47, 46, 46, 45, 45, 44, 44, 43, 43, 42,
    -00039                 42, 41, 41, 40, 40, 39, 39, 38, 38, 37, 37, 36, 36, 35, 35, 34, 34, 33, 33, 32,
    -00040                 32, 31, 31, 30, 30, 29, 29, 28, 28, 27, 27, 26, 26, 25, 25, 24, 24, 23, 23, 22,
    -00041                 22, 21, 21, 20, 20, 19, 19, 18, 18, 17, 17, 16, 16, 15, 15, 14, 14, 13, 13, 12,
    -00042                 12, 11, 11, 10, 10, 9, 9, 8, 8, 7, 7, 6, 6, 5, 5, 4, 4, 3, 3, 2, 2, 1, 1, 0, 0,
    -00043                 -1, -1, -2, -2, -3, -3, -4, -4, -5, -5, -6, -6, -7, -7, -8, -8, -9, -9, -10,
    -00044                 -10, -11, -11, -12, -12, -13, -13, -14, -14, -15, -15, -16, -16, -17, -17, -18,
    -00045                 -18, -19, -19, -20, -20, -21, -21, -22, -22, -23, -23, -24, -24, -25, -25, -26,
    -00046                 -26, -27, -27, -28, -28, -29, -29, -30, -30, -31, -31, -32, -32, -33, -33, -34,
    -00047                 -34, -35, -35, -36, -36, -37, -37, -38, -38, -39, -39, -40, -40, -41, -41, -42,
    -00048                 -42, -43, -43, -44, -44, -45, -45, -46, -46, -47, -47, -48, -48, -49, -49, -50,
    -00049                 -50, -51, -51, -52, -52, -53, -53, -54, -54, -55, -55, -56, -56, -57, -57, -58,
    -00050                 -58, -59, -59, -60, -60, -61, -61, -62, -62, -63, -63, -64, -64, -65, -65, -66,
    -00051                 -66, -67, -67, -68, -68, -69, -69, -70, -70, -71, -71, -72, -72, -73, -73, -74,
    -00052                 -74, -75, -75, -76, -76, -77, -77, -78, -78, -79, -79, -80, -80, -81, -81, -82,
    -00053                 -82, -83, -83, -84, -84, -85, -85, -86, -86, -87, -87, -88, -88, -89, -89, -90,
    -00054                 -90, -91, -91, -92, -92, -93, -93, -94, -94, -95, -95, -96, -96, -97, -97, -98,
    -00055                 -98, -99, -99, -100, -100, -101, -101, -102, -102, -103, -103, -104, -104, -105,
    -00056                 -105, -106, -106, -107, -107, -108, -108, -109, -109, -110, -110, -111, -111,
    -00057                 -112, -112, -113, -113, -114, -114, -115, -115, -116, -116, -117, -117, -118,
    -00058                 -118, -119, -119, -120, -120, -121, -121, -122, -122, -123, -123, -124, -124,
    -00059                 -125, -125, -126, -126, -127, -127, -128, -128, -128, -128, -128, -127, -127,
    -00060                 -126, -126, -125, -125, -124, -124, -123, -123, -122, -122, -121, -121, -120,
    -00061                 -120, -119, -119, -118, -118, -117, -117, -116, -116, -115, -115, -114, -114,
    -00062                 -113, -113, -112, -112, -111, -111, -110, -110, -109, -109, -108, -108, -107,
    -00063                 -107, -106, -106, -105, -105, -104, -104, -103, -103, -102, -102, -101, -101,
    -00064                 -100, -100, -99, -99, -98, -98, -97, -97, -96, -96, -95, -95, -94, -94, -93,
    -00065                 -93, -92, -92, -91, -91, -90, -90, -89, -89, -88, -88, -87, -87, -86, -86, -85,
    -00066                 -85, -84, -84, -83, -83, -82, -82, -81, -81, -80, -80, -79, -79, -78, -78, -77,
    -00067                 -77, -76, -76, -75, -75, -74, -74, -73, -73, -72, -72, -71, -71, -70, -70, -69,
    -00068                 -69, -68, -68, -67, -67, -66, -66, -65, -65, -64, -64, -63, -63, -62, -62, -61,
    -00069                 -61, -60, -60, -59, -58, -58, -58, -57, -57, -56, -56, -55, -55, -54, -53, -53,
    -00070                 -52, -52, -51, -51, -51, -50, -50, -49, -49, -48, -48, -47, -47, -46, -46, -45,
    -00071                 -45, -44, -44, -43, -43, -42, -42, -41, -41, -40, -40, -39, -39, -38, -37, -37,
    -00072                 -36, -36, -36, -35, -35, -34, -33, -33, -33, -32, -32, -31, -31, -30, -30, -29,
    -00073                 -28, -28, -27, -27, -27, -26, -25, -25, -24, -24, -23, -23, -23, -22, -22, -21,
    -00074                 -21, -20, -20, -19, -18, -18, -18, -17, -16, -16, -15, -15, -14, -14, -13, -13,
    -00075                 -12, -12, -12, -11, -10, -10, -9, -9, -9, -8, -8, -7, -6, -6, -6, -5, -5, -4,
    -00076                 -4, -3, -3, -2, -2, -1,
    -00077         };
    -00078 
    -00079 #endif /* TRIANGLE1024_H_ */
    -
    - - - - +
    1 #ifndef TRIANGLE1024_H_
    +
    2 #define TRIANGLE1024_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 #define TRIANGLE1024_NUM_CELLS 1024
    +
    12 #define TRIANGLE1024_SAMPLERATE 1024
    +
    13 
    +
    14 const char __attribute__((progmem)) TRIANGLE1024_DATA [] =
    +
    15  {
    +
    16  0, 0, 1, 1, 2, 2, 3, 3, 3, 4, 4, 5, 5,
    +
    17  6, 6, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 13, 14, 14, 15, 16, 16, 16,
    +
    18  17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27,
    +
    19  27, 28, 28, 29, 29, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 36, 37,
    +
    20  37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 45, 45, 46, 46, 47,
    +
    21  47, 48, 48, 49, 49, 50, 50, 51, 51, 52, 52, 53, 53, 54, 54, 55, 55, 56, 56, 57,
    +
    22  57, 58, 58, 59, 59, 60, 60, 61, 61, 62, 62, 63, 63, 64, 64, 65, 65, 66, 66, 67,
    +
    23  67, 68, 68, 69, 69, 70, 70, 71, 71, 72, 72, 73, 73, 74, 74, 75, 75, 76, 76, 77,
    +
    24  77, 78, 78, 79, 79, 80, 80, 81, 81, 82, 82, 83, 83, 84, 84, 85, 85, 86, 86, 87,
    +
    25  87, 88, 88, 89, 89, 90, 90, 91, 91, 92, 92, 93, 93, 94, 94, 95, 95, 96, 96, 97,
    +
    26  97, 98, 98, 99, 99, 100, 100, 101, 101, 102, 102, 103, 103, 104, 104, 105, 105,
    +
    27  106, 106, 107, 107, 108, 108, 109, 109, 110, 110, 111, 111, 112, 112, 113, 113,
    +
    28  114, 114, 115, 115, 116, 116, 117, 117, 118, 118, 119, 119, 120, 120, 121, 121,
    +
    29  122, 122, 123, 123, 124, 124, 125, 125, 126, 126, 127, 127, 127, 127, 126, 126,
    +
    30  125, 125, 124, 124, 123, 123, 122, 122, 121, 121, 120, 120, 119, 119, 118, 118,
    +
    31  117, 117, 116, 116, 115, 115, 114, 114, 113, 113, 112, 112, 111, 111, 110, 110,
    +
    32  109, 109, 108, 108, 107, 107, 106, 106, 105, 105, 104, 104, 103, 103, 102, 102,
    +
    33  101, 101, 100, 100, 99, 99, 98, 98, 97, 97, 96, 96, 95, 95, 94, 94, 93, 93, 92,
    +
    34  92, 91, 91, 90, 90, 89, 89, 88, 88, 87, 87, 86, 86, 85, 85, 84, 84, 83, 83, 82,
    +
    35  82, 81, 81, 80, 80, 79, 79, 78, 78, 77, 77, 76, 76, 75, 75, 74, 74, 73, 73, 72,
    +
    36  72, 71, 71, 70, 70, 69, 69, 68, 68, 67, 67, 66, 66, 65, 65, 64, 64, 63, 63, 62,
    +
    37  62, 61, 61, 60, 60, 59, 59, 58, 58, 57, 57, 56, 56, 55, 55, 54, 54, 53, 53, 52,
    +
    38  52, 51, 51, 50, 50, 49, 49, 48, 48, 47, 47, 46, 46, 45, 45, 44, 44, 43, 43, 42,
    +
    39  42, 41, 41, 40, 40, 39, 39, 38, 38, 37, 37, 36, 36, 35, 35, 34, 34, 33, 33, 32,
    +
    40  32, 31, 31, 30, 30, 29, 29, 28, 28, 27, 27, 26, 26, 25, 25, 24, 24, 23, 23, 22,
    +
    41  22, 21, 21, 20, 20, 19, 19, 18, 18, 17, 17, 16, 16, 15, 15, 14, 14, 13, 13, 12,
    +
    42  12, 11, 11, 10, 10, 9, 9, 8, 8, 7, 7, 6, 6, 5, 5, 4, 4, 3, 3, 2, 2, 1, 1, 0, 0,
    +
    43  -1, -1, -2, -2, -3, -3, -4, -4, -5, -5, -6, -6, -7, -7, -8, -8, -9, -9, -10,
    +
    44  -10, -11, -11, -12, -12, -13, -13, -14, -14, -15, -15, -16, -16, -17, -17, -18,
    +
    45  -18, -19, -19, -20, -20, -21, -21, -22, -22, -23, -23, -24, -24, -25, -25, -26,
    +
    46  -26, -27, -27, -28, -28, -29, -29, -30, -30, -31, -31, -32, -32, -33, -33, -34,
    +
    47  -34, -35, -35, -36, -36, -37, -37, -38, -38, -39, -39, -40, -40, -41, -41, -42,
    +
    48  -42, -43, -43, -44, -44, -45, -45, -46, -46, -47, -47, -48, -48, -49, -49, -50,
    +
    49  -50, -51, -51, -52, -52, -53, -53, -54, -54, -55, -55, -56, -56, -57, -57, -58,
    +
    50  -58, -59, -59, -60, -60, -61, -61, -62, -62, -63, -63, -64, -64, -65, -65, -66,
    +
    51  -66, -67, -67, -68, -68, -69, -69, -70, -70, -71, -71, -72, -72, -73, -73, -74,
    +
    52  -74, -75, -75, -76, -76, -77, -77, -78, -78, -79, -79, -80, -80, -81, -81, -82,
    +
    53  -82, -83, -83, -84, -84, -85, -85, -86, -86, -87, -87, -88, -88, -89, -89, -90,
    +
    54  -90, -91, -91, -92, -92, -93, -93, -94, -94, -95, -95, -96, -96, -97, -97, -98,
    +
    55  -98, -99, -99, -100, -100, -101, -101, -102, -102, -103, -103, -104, -104, -105,
    +
    56  -105, -106, -106, -107, -107, -108, -108, -109, -109, -110, -110, -111, -111,
    +
    57  -112, -112, -113, -113, -114, -114, -115, -115, -116, -116, -117, -117, -118,
    +
    58  -118, -119, -119, -120, -120, -121, -121, -122, -122, -123, -123, -124, -124,
    +
    59  -125, -125, -126, -126, -127, -127, -128, -128, -128, -128, -128, -127, -127,
    +
    60  -126, -126, -125, -125, -124, -124, -123, -123, -122, -122, -121, -121, -120,
    +
    61  -120, -119, -119, -118, -118, -117, -117, -116, -116, -115, -115, -114, -114,
    +
    62  -113, -113, -112, -112, -111, -111, -110, -110, -109, -109, -108, -108, -107,
    +
    63  -107, -106, -106, -105, -105, -104, -104, -103, -103, -102, -102, -101, -101,
    +
    64  -100, -100, -99, -99, -98, -98, -97, -97, -96, -96, -95, -95, -94, -94, -93,
    +
    65  -93, -92, -92, -91, -91, -90, -90, -89, -89, -88, -88, -87, -87, -86, -86, -85,
    +
    66  -85, -84, -84, -83, -83, -82, -82, -81, -81, -80, -80, -79, -79, -78, -78, -77,
    +
    67  -77, -76, -76, -75, -75, -74, -74, -73, -73, -72, -72, -71, -71, -70, -70, -69,
    +
    68  -69, -68, -68, -67, -67, -66, -66, -65, -65, -64, -64, -63, -63, -62, -62, -61,
    +
    69  -61, -60, -60, -59, -58, -58, -58, -57, -57, -56, -56, -55, -55, -54, -53, -53,
    +
    70  -52, -52, -51, -51, -51, -50, -50, -49, -49, -48, -48, -47, -47, -46, -46, -45,
    +
    71  -45, -44, -44, -43, -43, -42, -42, -41, -41, -40, -40, -39, -39, -38, -37, -37,
    +
    72  -36, -36, -36, -35, -35, -34, -33, -33, -33, -32, -32, -31, -31, -30, -30, -29,
    +
    73  -28, -28, -27, -27, -27, -26, -25, -25, -24, -24, -23, -23, -23, -22, -22, -21,
    +
    74  -21, -20, -20, -19, -18, -18, -18, -17, -16, -16, -15, -15, -14, -14, -13, -13,
    +
    75  -12, -12, -12, -11, -10, -10, -9, -9, -9, -8, -8, -7, -6, -6, -6, -5, -5, -4,
    +
    76  -4, -3, -3, -2, -2, -1,
    +
    77  };
    +
    78 
    +
    79 #endif /* TRIANGLE1024_H_ */
    +
    + + + diff --git a/doc/html/triangle2048__int8_8h_source.html b/doc/html/triangle2048__int8_8h_source.html index 2d2e9353a..e34243524 100644 --- a/doc/html/triangle2048__int8_8h_source.html +++ b/doc/html/triangle2048__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: tables/triangle2048_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,155 +99,157 @@
    -
    tables/triangle2048_int8.h
    +
    triangle2048_int8.h
    -
    00001 #ifndef TRIANGLE2048_H_
    -00002 #define TRIANGLE2048_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 #define TRIANGLE2048_NUM_CELLS 2048
    -00012 #define TRIANGLE2048_SAMPLERATE 2048
    -00013 
    -00014 const char __attribute__((progmem)) TRIANGLE2048_DATA []  =
    -00015         {
    -00016                 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3,
    -00017                 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9,
    -00018                 10, 10, 10, 10, 11, 11, 11, 11, 11, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14,
    -00019                 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19,
    -00020                 19, 20, 20, 20, 20, 21, 21, 21, 21, 22, 22, 22, 22, 23, 23, 23, 24, 24, 24, 24,
    -00021                 25, 25, 25, 25, 26, 26, 26, 26, 27, 27, 27, 27, 28, 28, 28, 28, 29, 29, 29, 29,
    -00022                 30, 30, 30, 30, 31, 31, 31, 31, 32, 32, 32, 32, 32, 33, 33, 32, 34, 34, 34, 34,
    -00023                 35, 35, 35, 35, 36, 36, 36, 36, 37, 37, 37, 37, 38, 38, 38, 38, 39, 39, 39, 39,
    -00024                 40, 40, 40, 40, 40, 41, 41, 41, 41, 42, 42, 42, 42, 43, 43, 43, 44, 44, 44, 44,
    -00025                 45, 45, 45, 45, 46, 46, 46, 46, 47, 47, 47, 47, 48, 48, 48, 48, 49, 49, 49, 49,
    -00026                 49, 50, 50, 50, 51, 51, 51, 51, 52, 52, 52, 52, 52, 53, 53, 53, 54, 54, 54, 54,
    -00027                 54, 55, 55, 55, 56, 56, 56, 56, 56, 57, 57, 57, 58, 58, 58, 58, 59, 59, 59, 59,
    -00028                 60, 60, 60, 60, 60, 61, 61, 61, 62, 62, 62, 62, 62, 63, 63, 63, 63, 64, 64, 64,
    -00029                 65, 65, 65, 65, 65, 66, 66, 66, 66, 67, 67, 67, 68, 68, 68, 68, 69, 69, 69, 69,
    -00030                 70, 70, 70, 70, 71, 71, 71, 71, 72, 72, 72, 72, 73, 73, 73, 73, 73, 74, 74, 74,
    -00031                 74, 75, 75, 75, 76, 76, 76, 76, 77, 77, 77, 77, 77, 78, 78, 78, 78, 79, 79, 79,
    -00032                 80, 80, 80, 80, 81, 81, 81, 81, 81, 82, 82, 82, 83, 83, 83, 83, 84, 84, 84, 84,
    -00033                 85, 85, 85, 85, 85, 86, 86, 86, 86, 87, 87, 87, 88, 88, 88, 88, 88, 89, 89, 89,
    -00034                 90, 90, 90, 90, 91, 91, 91, 91, 92, 92, 92, 92, 92, 93, 93, 93, 94, 94, 94, 94,
    -00035                 95, 95, 95, 95, 95, 96, 96, 96, 97, 97, 97, 97, 98, 98, 98, 98, 99, 99, 99, 99,
    -00036                 99, 100, 100, 100, 101, 101, 101, 101, 101, 102, 102, 102, 102, 103, 103, 103,
    -00037                 103, 104, 104, 104, 105, 105, 105, 105, 105, 106, 106, 106, 106, 107, 107, 107,
    -00038                 108, 108, 108, 108, 109, 109, 109, 109, 110, 110, 110, 110, 111, 111, 111, 111,
    -00039                 112, 112, 112, 112, 112, 113, 113, 113, 113, 114, 114, 114, 114, 115, 115, 115,
    -00040                 115, 116, 116, 116, 116, 117, 117, 117, 117, 118, 118, 118, 119, 119, 119, 119,
    -00041                 120, 120, 120, 120, 120, 121, 121, 121, 122, 122, 122, 122, 123, 123, 123, 123,
    -00042                 124, 124, 124, 124, 125, 125, 125, 125, 125, 126, 126, 126, 127, 127, 127, 127,
    -00043                 127, 127, 127, 126, 126, 126, 126, 126, 125, 125, 125, 125, 124, 124, 124, 124,
    -00044                 123, 123, 123, 123, 122, 122, 122, 122, 121, 121, 121, 121, 120, 120, 120, 120,
    -00045                 119, 119, 119, 119, 118, 118, 118, 118, 117, 117, 117, 117, 116, 116, 116, 116,
    -00046                 115, 115, 115, 115, 114, 114, 114, 113, 113, 113, 113, 112, 112, 112, 112, 111,
    -00047                 111, 111, 111, 110, 110, 110, 110, 109, 109, 109, 109, 109, 108, 108, 108, 108,
    -00048                 107, 107, 107, 107, 106, 106, 106, 105, 105, 105, 105, 104, 104, 104, 104, 104,
    -00049                 103, 103, 103, 102, 102, 102, 102, 102, 101, 101, 101, 101, 100, 100, 100, 99,
    -00050                 99, 99, 99, 98, 98, 98, 98, 97, 97, 97, 97, 96, 96, 96, 96, 96, 95, 95, 95, 94,
    -00051                 94, 94, 94, 93, 93, 93, 93, 92, 92, 92, 92, 91, 91, 91, 91, 91, 90, 90, 90, 90,
    -00052                 89, 89, 89, 89, 88, 88, 88, 88, 87, 87, 87, 87, 86, 86, 86, 86, 85, 85, 85, 84,
    -00053                 84, 84, 84, 84, 83, 83, 83, 83, 82, 82, 82, 81, 81, 81, 81, 80, 80, 80, 80, 79,
    -00054                 79, 79, 79, 78, 78, 78, 78, 78, 77, 77, 77, 77, 76, 76, 76, 76, 75, 75, 75, 74,
    -00055                 74, 74, 74, 74, 73, 73, 73, 73, 72, 72, 72, 72, 71, 71, 71, 71, 70, 70, 70, 69,
    -00056                 69, 69, 69, 69, 68, 68, 68, 68, 67, 67, 67, 67, 66, 66, 66, 65, 65, 65, 65, 65,
    -00057                 64, 64, 64, 63, 63, 63, 63, 63, 62, 62, 62, 62, 61, 61, 61, 60, 60, 60, 60, 60,
    -00058                 59, 59, 59, 59, 58, 58, 58, 58, 57, 57, 57, 56, 56, 56, 56, 56, 55, 55, 55, 55,
    -00059                 54, 54, 54, 54, 53, 53, 53, 53, 52, 52, 52, 51, 51, 51, 51, 50, 50, 50, 50, 50,
    -00060                 49, 49, 49, 49, 48, 48, 48, 47, 47, 47, 47, 46, 46, 46, 46, 46, 45, 45, 45, 45,
    -00061                 44, 44, 44, 43, 43, 43, 43, 42, 42, 42, 42, 41, 41, 41, 41, 41, 40, 40, 40, 40,
    -00062                 39, 39, 39, 38, 38, 38, 38, 38, 37, 37, 37, 36, 36, 36, 36, 36, 35, 35, 35, 34,
    -00063                 34, 34, 34, 33, 33, 32, 33, 33, 32, 32, 32, 32, 31, 31, 31, 31, 30, 30, 30, 30,
    -00064                 29, 29, 29, 29, 28, 28, 28, 27, 27, 27, 27, 27, 26, 26, 26, 25, 25, 25, 25, 25,
    -00065                 24, 24, 24, 24, 23, 23, 23, 23, 22, 22, 22, 22, 21, 21, 21, 21, 20, 20, 20, 19,
    -00066                 19, 19, 19, 19, 18, 18, 18, 18, 17, 17, 17, 16, 16, 16, 16, 16, 15, 15, 15, 15,
    -00067                 14, 14, 14, 14, 13, 13, 13, 13, 12, 12, 12, 12, 11, 11, 11, 11, 10, 10, 10, 10,
    -00068                 9, 9, 9, 9, 8, 8, 8, 8, 7, 7, 7, 6, 6, 6, 6, 5, 5, 5, 5, 5, 4, 4, 4, 4, 3, 3, 3,
    -00069                 3, 2, 2, 2, 1, 1, 1, 1, 1, 0, 0, 0, 0, -1, -1, -1, -2, -2, -2, -2, -3, -3, -3,
    -00070                 -3, -4, -4, -4, -4, -5, -5, -5, -5, -6, -6, -6, -6, -6, -7, -7, -7, -8, -8, -8,
    -00071                 -8, -8, -9, -9, -9, -9, -10, -10, -10, -11, -11, -11, -11, -12, -12, -12, -12,
    -00072                 -12, -13, -13, -13, -13, -14, -14, -14, -15, -15, -15, -15, -15, -16, -16, -16,
    -00073                 -16, -17, -17, -17, -18, -18, -18, -18, -19, -19, -19, -19, -19, -20, -20, -20,
    -00074                 -21, -21, -21, -21, -21, -22, -22, -22, -22, -23, -23, -23, -23, -24, -24, -24,
    -00075                 -25, -25, -25, -25, -25, -26, -26, -26, -26, -27, -27, -27, -28, -28, -28, -28,
    -00076                 -29, -29, -29, -29, -29, -30, -30, -30, -31, -31, -31, -31, -32, -32, -32, -32,
    -00077                 -32, -33, -33, -33, -33, -34, -34, -34, -35, -35, -35, -35, -36, -36, -36, -36,
    -00078                 -36, -37, -37, -37, -38, -38, -38, -38, -39, -39, -39, -39, -40, -40, -40, -40,
    -00079                 -40, -41, -41, -41, -41, -42, -42, -42, -43, -43, -43, -43, -44, -44, -44, -44,
    -00080                 -45, -45, -45, -45, -46, -46, -46, -46, -47, -47, -47, -47, -48, -48, -48, -48,
    -00081                 -48, -49, -49, -49, -49, -50, -50, -50, -50, -51, -51, -51, -51, -52, -52, -52,
    -00082                 -53, -53, -53, -53, -54, -54, -54, -54, -55, -55, -55, -55, -56, -56, -56, -56,
    -00083                 -57, -57, -57, -57, -58, -58, -58, -58, -59, -59, -59, -59, -60, -60, -60, -60,
    -00084                 -60, -61, -61, -61, -61, -62, -62, -62, -63, -63, -63, -63, -63, -64, -64, -64,
    -00085                 -64, -65, -65, -65, -65, -66, -66, -66, -67, -67, -67, -67, -67, -68, -68, -68,
    -00086                 -68, -69, -69, -69, -69, -70, -70, -70, -70, -71, -71, -71, -71, -72, -72, -72,
    -00087                 -72, -73, -73, -73, -73, -74, -74, -74, -74, -75, -75, -75, -75, -76, -76, -76,
    -00088                 -76, -77, -77, -77, -77, -78, -78, -78, -78, -79, -79, -79, -79, -80, -80, -80,
    -00089                 -80, -81, -81, -81, -82, -82, -82, -82, -82, -83, -83, -83, -83, -84, -84, -84,
    -00090                 -85, -85, -85, -85, -86, -86, -86, -86, -87, -87, -87, -87, -88, -88, -88, -88,
    -00091                 -89, -89, -89, -89, -89, -90, -90, -90, -91, -91, -91, -91, -91, -92, -92, -92,
    -00092                 -93, -93, -93, -93, -94, -94, -94, -94, -95, -95, -95, -95, -95, -96, -96, -96,
    -00093                 -96, -97, -97, -97, -97, -98, -98, -98, -98, -99, -99, -99, -99, -100, -100,
    -00094                 -100, -100, -101, -101, -101, -101, -102, -102, -102, -102, -103, -103, -103,
    -00095                 -104, -104, -104, -104, -105, -105, -105, -105, -105, -106, -106, -106, -106,
    -00096                 -107, -107, -107, -108, -108, -108, -108, -109, -109, -109, -109, -109, -110,
    -00097                 -110, -110, -110, -111, -111, -111, -111, -112, -112, -112, -113, -113, -113,
    -00098                 -113, -113, -114, -114, -114, -114, -115, -115, -115, -116, -116, -116, -116,
    -00099                 -117, -117, -117, -117, -118, -118, -118, -118, -119, -119, -119, -119, -119,
    -00100                 -120, -120, -120, -120, -121, -121, -121, -122, -122, -122, -122, -122, -123,
    -00101                 -123, -123, -123, -124, -124, -124, -124, -125, -125, -125, -126, -126, -126,
    -00102                 -126, -127, -127, -127, -127, -127, -128, -128, -128, -128, -128, -128, -128,
    -00103                 -128, -127, -127, -127, -127, -127, -126, -126, -126, -125, -125, -125, -125,
    -00104                 -125, -124, -124, -124, -123, -123, -123, -123, -122, -122, -122, -122, -121,
    -00105                 -121, -121, -121, -121, -120, -120, -120, -120, -119, -119, -119, -118, -118,
    -00106                 -118, -118, -118, -117, -117, -117, -116, -116, -116, -116, -115, -115, -115,
    -00107                 -115, -115, -114, -114, -114, -114, -113, -113, -113, -112, -112, -112, -112,
    -00108                 -111, -111, -111, -111, -110, -110, -110, -110, -109, -109, -109, -109, -108,
    -00109                 -108, -108, -108, -107, -107, -107, -107, -106, -106, -106, -106, -105, -105,
    -00110                 -105, -105, -105, -104, -104, -104, -103, -103, -103, -103, -102, -102, -102,
    -00111                 -102, -102, -101, -101, -101, -100, -100, -100, -100, -99, -99, -99, -99, -98,
    -00112                 -98, -98, -98, -97, -97, -97, -97, -97, -96, -96, -96, -95, -95, -95, -95, -95,
    -00113                 -94, -94, -94, -94, -93, -93, -93, -92, -92, -92, -92, -92, -91, -91, -91, -91,
    -00114                 -90, -90, -90, -89, -89, -89, -89, -89, -88, -88, -88, -87, -87, -87, -87, -86,
    -00115                 -86, -86, -86, -86, -85, -85, -85, -84, -84, -84, -84, -84, -83, -83, -83, -82,
    -00116                 -82, -82, -82, -82, -81, -81, -81, -81, -80, -80, -80, -79, -79, -79, -79, -78,
    -00117                 -78, -78, -78, -78, -77, -77, -77, -77, -76, -76, -76, -75, -75, -75, -75, -74,
    -00118                 -74, -74, -74, -74, -73, -73, -73, -73, -72, -72, -72, -71, -71, -71, -71, -70,
    -00119                 -70, -70, -70, -69, -69, -69, -69, -68, -68, -68, -68, -67, -67, -67, -67, -66,
    -00120                 -66, -66, -66, -66, -65, -65, -65, -64, -64, -64, -64, -64, -63, -63, -63, -62,
    -00121                 -62, -62, -62, -62, -61, -61, -61, -61, -60, -60, -60, -59, -59, -59, -59, -58,
    -00122                 -58, -58, -58, -58, -57, -57, -57, -57, -56, -56, -56, -56, -55, -55, -55, -55,
    -00123                 -54, -54, -54, -53, -53, -53, -53, -53, -52, -52, -52, -52, -51, -51, -51, -51,
    -00124                 -50, -50, -50, -49, -49, -49, -49, -49, -48, -48, -48, -47, -47, -47, -47, -46,
    -00125                 -46, -46, -46, -46, -45, -45, -45, -45, -44, -44, -44, -44, -43, -43, -43, -43,
    -00126                 -42, -42, -42, -41, -41, -41, -41, -40, -40, -40, -40, -40, -39, -39, -39, -39,
    -00127                 -38, -38, -38, -37, -37, -37, -37, -37, -36, -36, -36, -36, -35, -35, -35, -34,
    -00128                 -34, -34, -34, -34, -33, -33, -33, -32, -32, -32, -32, -31, -31, -31, -31, -31,
    -00129                 -30, -30, -30, -29, -29, -29, -29, -28, -28, -28, -28, -28, -27, -27, -27, -27,
    -00130                 -26, -26, -26, -26, -25, -25, -25, -24, -24, -24, -24, -23, -23, -23, -23, -23,
    -00131                 -22, -22, -22, -21, -21, -21, -21, -20, -20, -20, -20, -19, -19, -19, -19, -19,
    -00132                 -18, -18, -18, -17, -17, -17, -17, -16, -16, -16, -16, -15, -15, -15, -15, -14,
    -00133                 -14, -14, -14, -13, -13, -13, -13, -13, -12, -12, -12, -11, -11, -11, -11, -11,
    -00134                 -10, -10, -10, -9, -9, -9, -9, -8, -8, -8, -8, -7, -7, -7, -7, -6, -6, -6, -6,
    -00135                 -5, -5, -5, -5, -5, -4, -4, -4, -3, -3, -3, -3, -2, -2, -2, -2, -1, -1, -1, -1,
    -00136         };
    -00137 
    -00138 #endif /* TRIANGLE2048_H_ */
    -
    - - - - +
    1 #ifndef TRIANGLE2048_H_
    +
    2 #define TRIANGLE2048_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 #define TRIANGLE2048_NUM_CELLS 2048
    +
    12 #define TRIANGLE2048_SAMPLERATE 2048
    +
    13 
    +
    14 const char __attribute__((progmem)) TRIANGLE2048_DATA [] =
    +
    15  {
    +
    16  0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3,
    +
    17  3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9,
    +
    18  10, 10, 10, 10, 11, 11, 11, 11, 11, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14,
    +
    19  15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19,
    +
    20  19, 20, 20, 20, 20, 21, 21, 21, 21, 22, 22, 22, 22, 23, 23, 23, 24, 24, 24, 24,
    +
    21  25, 25, 25, 25, 26, 26, 26, 26, 27, 27, 27, 27, 28, 28, 28, 28, 29, 29, 29, 29,
    +
    22  30, 30, 30, 30, 31, 31, 31, 31, 32, 32, 32, 32, 32, 33, 33, 32, 34, 34, 34, 34,
    +
    23  35, 35, 35, 35, 36, 36, 36, 36, 37, 37, 37, 37, 38, 38, 38, 38, 39, 39, 39, 39,
    +
    24  40, 40, 40, 40, 40, 41, 41, 41, 41, 42, 42, 42, 42, 43, 43, 43, 44, 44, 44, 44,
    +
    25  45, 45, 45, 45, 46, 46, 46, 46, 47, 47, 47, 47, 48, 48, 48, 48, 49, 49, 49, 49,
    +
    26  49, 50, 50, 50, 51, 51, 51, 51, 52, 52, 52, 52, 52, 53, 53, 53, 54, 54, 54, 54,
    +
    27  54, 55, 55, 55, 56, 56, 56, 56, 56, 57, 57, 57, 58, 58, 58, 58, 59, 59, 59, 59,
    +
    28  60, 60, 60, 60, 60, 61, 61, 61, 62, 62, 62, 62, 62, 63, 63, 63, 63, 64, 64, 64,
    +
    29  65, 65, 65, 65, 65, 66, 66, 66, 66, 67, 67, 67, 68, 68, 68, 68, 69, 69, 69, 69,
    +
    30  70, 70, 70, 70, 71, 71, 71, 71, 72, 72, 72, 72, 73, 73, 73, 73, 73, 74, 74, 74,
    +
    31  74, 75, 75, 75, 76, 76, 76, 76, 77, 77, 77, 77, 77, 78, 78, 78, 78, 79, 79, 79,
    +
    32  80, 80, 80, 80, 81, 81, 81, 81, 81, 82, 82, 82, 83, 83, 83, 83, 84, 84, 84, 84,
    +
    33  85, 85, 85, 85, 85, 86, 86, 86, 86, 87, 87, 87, 88, 88, 88, 88, 88, 89, 89, 89,
    +
    34  90, 90, 90, 90, 91, 91, 91, 91, 92, 92, 92, 92, 92, 93, 93, 93, 94, 94, 94, 94,
    +
    35  95, 95, 95, 95, 95, 96, 96, 96, 97, 97, 97, 97, 98, 98, 98, 98, 99, 99, 99, 99,
    +
    36  99, 100, 100, 100, 101, 101, 101, 101, 101, 102, 102, 102, 102, 103, 103, 103,
    +
    37  103, 104, 104, 104, 105, 105, 105, 105, 105, 106, 106, 106, 106, 107, 107, 107,
    +
    38  108, 108, 108, 108, 109, 109, 109, 109, 110, 110, 110, 110, 111, 111, 111, 111,
    +
    39  112, 112, 112, 112, 112, 113, 113, 113, 113, 114, 114, 114, 114, 115, 115, 115,
    +
    40  115, 116, 116, 116, 116, 117, 117, 117, 117, 118, 118, 118, 119, 119, 119, 119,
    +
    41  120, 120, 120, 120, 120, 121, 121, 121, 122, 122, 122, 122, 123, 123, 123, 123,
    +
    42  124, 124, 124, 124, 125, 125, 125, 125, 125, 126, 126, 126, 127, 127, 127, 127,
    +
    43  127, 127, 127, 126, 126, 126, 126, 126, 125, 125, 125, 125, 124, 124, 124, 124,
    +
    44  123, 123, 123, 123, 122, 122, 122, 122, 121, 121, 121, 121, 120, 120, 120, 120,
    +
    45  119, 119, 119, 119, 118, 118, 118, 118, 117, 117, 117, 117, 116, 116, 116, 116,
    +
    46  115, 115, 115, 115, 114, 114, 114, 113, 113, 113, 113, 112, 112, 112, 112, 111,
    +
    47  111, 111, 111, 110, 110, 110, 110, 109, 109, 109, 109, 109, 108, 108, 108, 108,
    +
    48  107, 107, 107, 107, 106, 106, 106, 105, 105, 105, 105, 104, 104, 104, 104, 104,
    +
    49  103, 103, 103, 102, 102, 102, 102, 102, 101, 101, 101, 101, 100, 100, 100, 99,
    +
    50  99, 99, 99, 98, 98, 98, 98, 97, 97, 97, 97, 96, 96, 96, 96, 96, 95, 95, 95, 94,
    +
    51  94, 94, 94, 93, 93, 93, 93, 92, 92, 92, 92, 91, 91, 91, 91, 91, 90, 90, 90, 90,
    +
    52  89, 89, 89, 89, 88, 88, 88, 88, 87, 87, 87, 87, 86, 86, 86, 86, 85, 85, 85, 84,
    +
    53  84, 84, 84, 84, 83, 83, 83, 83, 82, 82, 82, 81, 81, 81, 81, 80, 80, 80, 80, 79,
    +
    54  79, 79, 79, 78, 78, 78, 78, 78, 77, 77, 77, 77, 76, 76, 76, 76, 75, 75, 75, 74,
    +
    55  74, 74, 74, 74, 73, 73, 73, 73, 72, 72, 72, 72, 71, 71, 71, 71, 70, 70, 70, 69,
    +
    56  69, 69, 69, 69, 68, 68, 68, 68, 67, 67, 67, 67, 66, 66, 66, 65, 65, 65, 65, 65,
    +
    57  64, 64, 64, 63, 63, 63, 63, 63, 62, 62, 62, 62, 61, 61, 61, 60, 60, 60, 60, 60,
    +
    58  59, 59, 59, 59, 58, 58, 58, 58, 57, 57, 57, 56, 56, 56, 56, 56, 55, 55, 55, 55,
    +
    59  54, 54, 54, 54, 53, 53, 53, 53, 52, 52, 52, 51, 51, 51, 51, 50, 50, 50, 50, 50,
    +
    60  49, 49, 49, 49, 48, 48, 48, 47, 47, 47, 47, 46, 46, 46, 46, 46, 45, 45, 45, 45,
    +
    61  44, 44, 44, 43, 43, 43, 43, 42, 42, 42, 42, 41, 41, 41, 41, 41, 40, 40, 40, 40,
    +
    62  39, 39, 39, 38, 38, 38, 38, 38, 37, 37, 37, 36, 36, 36, 36, 36, 35, 35, 35, 34,
    +
    63  34, 34, 34, 33, 33, 32, 33, 33, 32, 32, 32, 32, 31, 31, 31, 31, 30, 30, 30, 30,
    +
    64  29, 29, 29, 29, 28, 28, 28, 27, 27, 27, 27, 27, 26, 26, 26, 25, 25, 25, 25, 25,
    +
    65  24, 24, 24, 24, 23, 23, 23, 23, 22, 22, 22, 22, 21, 21, 21, 21, 20, 20, 20, 19,
    +
    66  19, 19, 19, 19, 18, 18, 18, 18, 17, 17, 17, 16, 16, 16, 16, 16, 15, 15, 15, 15,
    +
    67  14, 14, 14, 14, 13, 13, 13, 13, 12, 12, 12, 12, 11, 11, 11, 11, 10, 10, 10, 10,
    +
    68  9, 9, 9, 9, 8, 8, 8, 8, 7, 7, 7, 6, 6, 6, 6, 5, 5, 5, 5, 5, 4, 4, 4, 4, 3, 3, 3,
    +
    69  3, 2, 2, 2, 1, 1, 1, 1, 1, 0, 0, 0, 0, -1, -1, -1, -2, -2, -2, -2, -3, -3, -3,
    +
    70  -3, -4, -4, -4, -4, -5, -5, -5, -5, -6, -6, -6, -6, -6, -7, -7, -7, -8, -8, -8,
    +
    71  -8, -8, -9, -9, -9, -9, -10, -10, -10, -11, -11, -11, -11, -12, -12, -12, -12,
    +
    72  -12, -13, -13, -13, -13, -14, -14, -14, -15, -15, -15, -15, -15, -16, -16, -16,
    +
    73  -16, -17, -17, -17, -18, -18, -18, -18, -19, -19, -19, -19, -19, -20, -20, -20,
    +
    74  -21, -21, -21, -21, -21, -22, -22, -22, -22, -23, -23, -23, -23, -24, -24, -24,
    +
    75  -25, -25, -25, -25, -25, -26, -26, -26, -26, -27, -27, -27, -28, -28, -28, -28,
    +
    76  -29, -29, -29, -29, -29, -30, -30, -30, -31, -31, -31, -31, -32, -32, -32, -32,
    +
    77  -32, -33, -33, -33, -33, -34, -34, -34, -35, -35, -35, -35, -36, -36, -36, -36,
    +
    78  -36, -37, -37, -37, -38, -38, -38, -38, -39, -39, -39, -39, -40, -40, -40, -40,
    +
    79  -40, -41, -41, -41, -41, -42, -42, -42, -43, -43, -43, -43, -44, -44, -44, -44,
    +
    80  -45, -45, -45, -45, -46, -46, -46, -46, -47, -47, -47, -47, -48, -48, -48, -48,
    +
    81  -48, -49, -49, -49, -49, -50, -50, -50, -50, -51, -51, -51, -51, -52, -52, -52,
    +
    82  -53, -53, -53, -53, -54, -54, -54, -54, -55, -55, -55, -55, -56, -56, -56, -56,
    +
    83  -57, -57, -57, -57, -58, -58, -58, -58, -59, -59, -59, -59, -60, -60, -60, -60,
    +
    84  -60, -61, -61, -61, -61, -62, -62, -62, -63, -63, -63, -63, -63, -64, -64, -64,
    +
    85  -64, -65, -65, -65, -65, -66, -66, -66, -67, -67, -67, -67, -67, -68, -68, -68,
    +
    86  -68, -69, -69, -69, -69, -70, -70, -70, -70, -71, -71, -71, -71, -72, -72, -72,
    +
    87  -72, -73, -73, -73, -73, -74, -74, -74, -74, -75, -75, -75, -75, -76, -76, -76,
    +
    88  -76, -77, -77, -77, -77, -78, -78, -78, -78, -79, -79, -79, -79, -80, -80, -80,
    +
    89  -80, -81, -81, -81, -82, -82, -82, -82, -82, -83, -83, -83, -83, -84, -84, -84,
    +
    90  -85, -85, -85, -85, -86, -86, -86, -86, -87, -87, -87, -87, -88, -88, -88, -88,
    +
    91  -89, -89, -89, -89, -89, -90, -90, -90, -91, -91, -91, -91, -91, -92, -92, -92,
    +
    92  -93, -93, -93, -93, -94, -94, -94, -94, -95, -95, -95, -95, -95, -96, -96, -96,
    +
    93  -96, -97, -97, -97, -97, -98, -98, -98, -98, -99, -99, -99, -99, -100, -100,
    +
    94  -100, -100, -101, -101, -101, -101, -102, -102, -102, -102, -103, -103, -103,
    +
    95  -104, -104, -104, -104, -105, -105, -105, -105, -105, -106, -106, -106, -106,
    +
    96  -107, -107, -107, -108, -108, -108, -108, -109, -109, -109, -109, -109, -110,
    +
    97  -110, -110, -110, -111, -111, -111, -111, -112, -112, -112, -113, -113, -113,
    +
    98  -113, -113, -114, -114, -114, -114, -115, -115, -115, -116, -116, -116, -116,
    +
    99  -117, -117, -117, -117, -118, -118, -118, -118, -119, -119, -119, -119, -119,
    +
    100  -120, -120, -120, -120, -121, -121, -121, -122, -122, -122, -122, -122, -123,
    +
    101  -123, -123, -123, -124, -124, -124, -124, -125, -125, -125, -126, -126, -126,
    +
    102  -126, -127, -127, -127, -127, -127, -128, -128, -128, -128, -128, -128, -128,
    +
    103  -128, -127, -127, -127, -127, -127, -126, -126, -126, -125, -125, -125, -125,
    +
    104  -125, -124, -124, -124, -123, -123, -123, -123, -122, -122, -122, -122, -121,
    +
    105  -121, -121, -121, -121, -120, -120, -120, -120, -119, -119, -119, -118, -118,
    +
    106  -118, -118, -118, -117, -117, -117, -116, -116, -116, -116, -115, -115, -115,
    +
    107  -115, -115, -114, -114, -114, -114, -113, -113, -113, -112, -112, -112, -112,
    +
    108  -111, -111, -111, -111, -110, -110, -110, -110, -109, -109, -109, -109, -108,
    +
    109  -108, -108, -108, -107, -107, -107, -107, -106, -106, -106, -106, -105, -105,
    +
    110  -105, -105, -105, -104, -104, -104, -103, -103, -103, -103, -102, -102, -102,
    +
    111  -102, -102, -101, -101, -101, -100, -100, -100, -100, -99, -99, -99, -99, -98,
    +
    112  -98, -98, -98, -97, -97, -97, -97, -97, -96, -96, -96, -95, -95, -95, -95, -95,
    +
    113  -94, -94, -94, -94, -93, -93, -93, -92, -92, -92, -92, -92, -91, -91, -91, -91,
    +
    114  -90, -90, -90, -89, -89, -89, -89, -89, -88, -88, -88, -87, -87, -87, -87, -86,
    +
    115  -86, -86, -86, -86, -85, -85, -85, -84, -84, -84, -84, -84, -83, -83, -83, -82,
    +
    116  -82, -82, -82, -82, -81, -81, -81, -81, -80, -80, -80, -79, -79, -79, -79, -78,
    +
    117  -78, -78, -78, -78, -77, -77, -77, -77, -76, -76, -76, -75, -75, -75, -75, -74,
    +
    118  -74, -74, -74, -74, -73, -73, -73, -73, -72, -72, -72, -71, -71, -71, -71, -70,
    +
    119  -70, -70, -70, -69, -69, -69, -69, -68, -68, -68, -68, -67, -67, -67, -67, -66,
    +
    120  -66, -66, -66, -66, -65, -65, -65, -64, -64, -64, -64, -64, -63, -63, -63, -62,
    +
    121  -62, -62, -62, -62, -61, -61, -61, -61, -60, -60, -60, -59, -59, -59, -59, -58,
    +
    122  -58, -58, -58, -58, -57, -57, -57, -57, -56, -56, -56, -56, -55, -55, -55, -55,
    +
    123  -54, -54, -54, -53, -53, -53, -53, -53, -52, -52, -52, -52, -51, -51, -51, -51,
    +
    124  -50, -50, -50, -49, -49, -49, -49, -49, -48, -48, -48, -47, -47, -47, -47, -46,
    +
    125  -46, -46, -46, -46, -45, -45, -45, -45, -44, -44, -44, -44, -43, -43, -43, -43,
    +
    126  -42, -42, -42, -41, -41, -41, -41, -40, -40, -40, -40, -40, -39, -39, -39, -39,
    +
    127  -38, -38, -38, -37, -37, -37, -37, -37, -36, -36, -36, -36, -35, -35, -35, -34,
    +
    128  -34, -34, -34, -34, -33, -33, -33, -32, -32, -32, -32, -31, -31, -31, -31, -31,
    +
    129  -30, -30, -30, -29, -29, -29, -29, -28, -28, -28, -28, -28, -27, -27, -27, -27,
    +
    130  -26, -26, -26, -26, -25, -25, -25, -24, -24, -24, -24, -23, -23, -23, -23, -23,
    +
    131  -22, -22, -22, -21, -21, -21, -21, -20, -20, -20, -20, -19, -19, -19, -19, -19,
    +
    132  -18, -18, -18, -17, -17, -17, -17, -16, -16, -16, -16, -15, -15, -15, -15, -14,
    +
    133  -14, -14, -14, -13, -13, -13, -13, -13, -12, -12, -12, -11, -11, -11, -11, -11,
    +
    134  -10, -10, -10, -9, -9, -9, -9, -8, -8, -8, -8, -7, -7, -7, -7, -6, -6, -6, -6,
    +
    135  -5, -5, -5, -5, -5, -4, -4, -4, -3, -3, -3, -3, -2, -2, -2, -2, -1, -1, -1, -1,
    +
    136  };
    +
    137 
    +
    138 #endif /* TRIANGLE2048_H_ */
    +
    + + + diff --git a/doc/html/triangle512__int8_8h_source.html b/doc/html/triangle512__int8_8h_source.html index a82836b26..fb94b2f69 100644 --- a/doc/html/triangle512__int8_8h_source.html +++ b/doc/html/triangle512__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: tables/triangle512_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,66 +99,68 @@
    -
    tables/triangle512_int8.h
    +
    triangle512_int8.h
    -
    00001 #ifndef TRIANGLE512_H_
    -00002 #define TRIANGLE512_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 #define TRIANGLE512_NUM_CELLS 512
    -00012 #define TRIANGLE512_SAMPLERATE 512
    -00013 
    -00014 const char __attribute__((progmem)) TRIANGLE512_DATA []  =
    -00015         {
    -00016                 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
    -00017                 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
    -00018                 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
    -00019                 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
    -00020                 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
    -00021                 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
    -00022                 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
    -00023                 125, 126, 127, 126, 125, 124, 123, 122, 121, 120, 119, 118, 117, 116, 115,
    -00024                 114, 113, 112, 111, 110, 109, 108, 107, 106, 105, 104, 103, 102, 101, 100, 99,
    -00025                 98, 97, 96, 95, 94, 93, 92, 91, 90, 89, 88, 87, 86, 85, 84, 83, 82, 81, 80, 79,
    -00026                 78, 77, 76, 75, 74, 73, 72, 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59,
    -00027                 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39,
    -00028                 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19,
    -00029                 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, -1, -2, -3,
    -00030                 -4, -5, -6, -7, -8, -9, -10, -11, -12, -13, -14, -15, -16, -17, -18, -19, -20,
    -00031                 -21, -22, -23, -24, -25, -26, -27, -28, -29, -30, -31, -32, -33, -34, -35, -36,
    -00032                 -37, -38, -39, -40, -41, -42, -43, -44, -45, -46, -47, -48, -49, -50, -51, -52,
    -00033                 -53, -54, -55, -56, -57, -58, -59, -60, -61, -62, -63, -64, -65, -66, -67, -68,
    -00034                 -69, -70, -71, -72, -73, -74, -75, -76, -77, -78, -79, -80, -81, -82, -83, -84,
    -00035                 -85, -86, -87, -88, -89, -90, -91, -92, -93, -94, -95, -96, -97, -98, -99, -100,
    -00036                 -101, -102, -103, -104, -105, -106, -107, -108, -109, -110, -111, -112, -113,
    -00037                 -114, -115, -116, -117, -118, -119, -120, -121, -122, -123, -124, -125, -126,
    -00038                 -127, -128, -128, -128, -127, -126, -125, -124, -123, -122, -121, -120, -119,
    -00039                 -118, -117, -116, -115, -114, -113, -112, -111, -110, -109, -108, -107, -106,
    -00040                 -105, -104, -103, -102, -101, -100, -99, -98, -97, -96, -95, -94, -93, -92, -91,
    -00041                 -90, -89, -88, -87, -86, -85, -84, -83, -82, -81, -80, -79, -78, -77, -76, -75,
    -00042                 -74, -73, -72, -71, -70, -69, -68, -67, -66, -65, -64, -63, -62, -61, -60, -59,
    -00043                 -58, -57, -56, -55, -54, -53, -52, -51, -50, -49, -48, -47, -46, -45, -44, -43,
    -00044                 -42, -41, -40, -39, -38, -37, -36, -35, -34, -33, -32, -31, -30, -29, -28, -27,
    -00045                 -26, -25, -24, -23, -22, -21, -20, -19, -18, -17, -16, -15, -14, -13, -12, -11,
    -00046                 -10, -9, -8, -7, -6, -5, -4, -3, -2, -1
    -00047         };
    -00048 
    -00049 #endif /* TRIANGLE512_H_ */
    -
    - - - - +
    1 #ifndef TRIANGLE512_H_
    +
    2 #define TRIANGLE512_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 #define TRIANGLE512_NUM_CELLS 512
    +
    12 #define TRIANGLE512_SAMPLERATE 512
    +
    13 
    +
    14 const char __attribute__((progmem)) TRIANGLE512_DATA [] =
    +
    15  {
    +
    16  0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
    +
    17  12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
    +
    18  32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
    +
    19  52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
    +
    20  72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
    +
    21  92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108,
    +
    22  109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
    +
    23  125, 126, 127, 126, 125, 124, 123, 122, 121, 120, 119, 118, 117, 116, 115,
    +
    24  114, 113, 112, 111, 110, 109, 108, 107, 106, 105, 104, 103, 102, 101, 100, 99,
    +
    25  98, 97, 96, 95, 94, 93, 92, 91, 90, 89, 88, 87, 86, 85, 84, 83, 82, 81, 80, 79,
    +
    26  78, 77, 76, 75, 74, 73, 72, 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59,
    +
    27  58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39,
    +
    28  38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19,
    +
    29  18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, -1, -2, -3,
    +
    30  -4, -5, -6, -7, -8, -9, -10, -11, -12, -13, -14, -15, -16, -17, -18, -19, -20,
    +
    31  -21, -22, -23, -24, -25, -26, -27, -28, -29, -30, -31, -32, -33, -34, -35, -36,
    +
    32  -37, -38, -39, -40, -41, -42, -43, -44, -45, -46, -47, -48, -49, -50, -51, -52,
    +
    33  -53, -54, -55, -56, -57, -58, -59, -60, -61, -62, -63, -64, -65, -66, -67, -68,
    +
    34  -69, -70, -71, -72, -73, -74, -75, -76, -77, -78, -79, -80, -81, -82, -83, -84,
    +
    35  -85, -86, -87, -88, -89, -90, -91, -92, -93, -94, -95, -96, -97, -98, -99, -100,
    +
    36  -101, -102, -103, -104, -105, -106, -107, -108, -109, -110, -111, -112, -113,
    +
    37  -114, -115, -116, -117, -118, -119, -120, -121, -122, -123, -124, -125, -126,
    +
    38  -127, -128, -128, -128, -127, -126, -125, -124, -123, -122, -121, -120, -119,
    +
    39  -118, -117, -116, -115, -114, -113, -112, -111, -110, -109, -108, -107, -106,
    +
    40  -105, -104, -103, -102, -101, -100, -99, -98, -97, -96, -95, -94, -93, -92, -91,
    +
    41  -90, -89, -88, -87, -86, -85, -84, -83, -82, -81, -80, -79, -78, -77, -76, -75,
    +
    42  -74, -73, -72, -71, -70, -69, -68, -67, -66, -65, -64, -63, -62, -61, -60, -59,
    +
    43  -58, -57, -56, -55, -54, -53, -52, -51, -50, -49, -48, -47, -46, -45, -44, -43,
    +
    44  -42, -41, -40, -39, -38, -37, -36, -35, -34, -33, -32, -31, -30, -29, -28, -27,
    +
    45  -26, -25, -24, -23, -22, -21, -20, -19, -18, -17, -16, -15, -14, -13, -12, -11,
    +
    46  -10, -9, -8, -7, -6, -5, -4, -3, -2, -1
    +
    47  };
    +
    48 
    +
    49 #endif /* TRIANGLE512_H_ */
    +
    + + + diff --git a/doc/html/triangle__analogue512__int8_8h_source.html b/doc/html/triangle__analogue512__int8_8h_source.html index d91e9d11f..ed0b772ac 100644 --- a/doc/html/triangle__analogue512__int8_8h_source.html +++ b/doc/html/triangle__analogue512__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: tables/triangle_analogue512_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,68 +99,70 @@
    -
    tables/triangle_analogue512_int8.h
    +
    triangle_analogue512_int8.h
    -
    00001 #ifndef TRIANGLE_ANALOGUE512_INT8_H_
    -00002 #define TRIANGLE_ANALOGUE512_INT8_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 /* generated "analogue" triangle wave from Audacity
    -00012 */
    -00013 
    -00014 #define TRIANGLE_ANALOGUE512_NUM_CELLS 512
    -00015 #define TRIANGLE_ANALOGUE512_SAMPLERATE 512
    -00016 
    -00017 const char __attribute__((progmem)) TRIANGLE_ANALOGUE512_DATA []  =
    -00018         {
    -00019                 0, 1, 2, 2, 3, 4, 5, 6,
    -00020                 7, 8, 9, 9, 10, 11, 12, 13, 14, 15, 16, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
    -00021                 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 35, 36, 37, 38, 39, 40, 41, 42, 43,
    -00022                 44, 45, 46, 47, 48, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
    -00023                 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
    -00024                 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
    -00025                 101, 102, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 114, 116, 117,
    -00026                 118, 119, 120, 120, 120, 120, 119, 118, 117, 116, 114, 113, 113, 112, 111, 110,
    -00027                 108, 107, 106, 105, 104, 103, 102, 101, 100, 99, 98, 97, 96, 95, 94, 93, 92, 91,
    -00028                 90, 89, 88, 87, 86, 85, 84, 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, 72,
    -00029                 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52,
    -00030                 51, 50, 49, 48, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 35, 34,
    -00031                 33, 32, 31, 30, 29, 28, 27, 26, 25, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 16,
    -00032                 15, 14, 13, 12, 11, 10, 9, 9, 8, 7, 6, 5, 4, 3, 3, 2, 1, 0, -1, -2, -3, -3, -4,
    -00033                 -5, -6, -7, -8, -9, -9, -10, -11, -12, -13, -14, -14, -15, -16, -17, -18, -19,
    -00034                 -19, -20, -21, -22, -23, -23, -24, -25, -26, -27, -27, -28, -29, -30, -31, -31,
    -00035                 -32, -33, -34, -34, -35, -36, -37, -38, -38, -39, -40, -41, -41, -42, -43, -44,
    -00036                 -45, -45, -46, -47, -47, -48, -49, -50, -50, -51, -52, -53, -53, -54, -55, -56,
    -00037                 -56, -57, -58, -59, -59, -60, -61, -61, -62, -63, -64, -64, -65, -66, -66, -67,
    -00038                 -68, -69, -69, -70, -71, -71, -72, -73, -73, -74, -75, -75, -76, -77, -77, -78,
    -00039                 -79, -79, -80, -81, -81, -82, -83, -83, -84, -85, -85, -86, -86, -87, -88, -88,
    -00040                 -89, -90, -90, -91, -91, -92, -93, -93, -94, -95, -95, -94, -93, -93, -92, -91,
    -00041                 -91, -90, -90, -89, -88, -88, -87, -86, -86, -85, -85, -84, -83, -83, -82, -81,
    -00042                 -81, -80, -79, -79, -78, -77, -77, -76, -75, -75, -74, -73, -73, -72, -71, -71,
    -00043                 -70, -69, -69, -68, -67, -66, -66, -65, -64, -64, -63, -62, -61, -61, -60, -59,
    -00044                 -59, -58, -57, -56, -56, -55, -54, -53, -53, -52, -51, -50, -50, -49, -48, -47,
    -00045                 -47, -46, -45, -45, -44, -43, -42, -41, -41, -40, -39, -38, -38, -37, -36, -35,
    -00046                 -34, -34, -33, -32, -31, -31, -30, -29, -28, -27, -27, -26, -25, -24, -23, -23,
    -00047                 -22, -21, -20, -19, -19, -18, -17, -16, -15, -14, -14, -13, -12, -11, -10, -9,
    -00048                 -9, -8, -7, -6, -5, -4, -3, -3, -2, -1,
    -00049         };
    -00050 
    -00051 #endif          /* TRIANGLE_ANALOGUE512_INT8_H_ */
    -
    - - - - +
    1 #ifndef TRIANGLE_ANALOGUE512_INT8_H_
    +
    2 #define TRIANGLE_ANALOGUE512_INT8_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 /* generated "analogue" triangle wave from Audacity
    +
    12 */
    +
    13 
    +
    14 #define TRIANGLE_ANALOGUE512_NUM_CELLS 512
    +
    15 #define TRIANGLE_ANALOGUE512_SAMPLERATE 512
    +
    16 
    +
    17 const char __attribute__((progmem)) TRIANGLE_ANALOGUE512_DATA [] =
    +
    18  {
    +
    19  0, 1, 2, 2, 3, 4, 5, 6,
    +
    20  7, 8, 9, 9, 10, 11, 12, 13, 14, 15, 16, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
    +
    21  25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 35, 36, 37, 38, 39, 40, 41, 42, 43,
    +
    22  44, 45, 46, 47, 48, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
    +
    23  63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
    +
    24  82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100,
    +
    25  101, 102, 103, 104, 105, 106, 107, 108, 110, 111, 112, 113, 114, 114, 116, 117,
    +
    26  118, 119, 120, 120, 120, 120, 119, 118, 117, 116, 114, 113, 113, 112, 111, 110,
    +
    27  108, 107, 106, 105, 104, 103, 102, 101, 100, 99, 98, 97, 96, 95, 94, 93, 92, 91,
    +
    28  90, 89, 88, 87, 86, 85, 84, 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, 72,
    +
    29  71, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52,
    +
    30  51, 50, 49, 48, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 35, 34,
    +
    31  33, 32, 31, 30, 29, 28, 27, 26, 25, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 16,
    +
    32  15, 14, 13, 12, 11, 10, 9, 9, 8, 7, 6, 5, 4, 3, 3, 2, 1, 0, -1, -2, -3, -3, -4,
    +
    33  -5, -6, -7, -8, -9, -9, -10, -11, -12, -13, -14, -14, -15, -16, -17, -18, -19,
    +
    34  -19, -20, -21, -22, -23, -23, -24, -25, -26, -27, -27, -28, -29, -30, -31, -31,
    +
    35  -32, -33, -34, -34, -35, -36, -37, -38, -38, -39, -40, -41, -41, -42, -43, -44,
    +
    36  -45, -45, -46, -47, -47, -48, -49, -50, -50, -51, -52, -53, -53, -54, -55, -56,
    +
    37  -56, -57, -58, -59, -59, -60, -61, -61, -62, -63, -64, -64, -65, -66, -66, -67,
    +
    38  -68, -69, -69, -70, -71, -71, -72, -73, -73, -74, -75, -75, -76, -77, -77, -78,
    +
    39  -79, -79, -80, -81, -81, -82, -83, -83, -84, -85, -85, -86, -86, -87, -88, -88,
    +
    40  -89, -90, -90, -91, -91, -92, -93, -93, -94, -95, -95, -94, -93, -93, -92, -91,
    +
    41  -91, -90, -90, -89, -88, -88, -87, -86, -86, -85, -85, -84, -83, -83, -82, -81,
    +
    42  -81, -80, -79, -79, -78, -77, -77, -76, -75, -75, -74, -73, -73, -72, -71, -71,
    +
    43  -70, -69, -69, -68, -67, -66, -66, -65, -64, -64, -63, -62, -61, -61, -60, -59,
    +
    44  -59, -58, -57, -56, -56, -55, -54, -53, -53, -52, -51, -50, -50, -49, -48, -47,
    +
    45  -47, -46, -45, -45, -44, -43, -42, -41, -41, -40, -39, -38, -38, -37, -36, -35,
    +
    46  -34, -34, -33, -32, -31, -31, -30, -29, -28, -27, -27, -26, -25, -24, -23, -23,
    +
    47  -22, -21, -20, -19, -19, -18, -17, -16, -15, -14, -14, -13, -12, -11, -10, -9,
    +
    48  -9, -8, -7, -6, -5, -4, -3, -3, -2, -1,
    +
    49  };
    +
    50 
    +
    51 #endif /* TRIANGLE_ANALOGUE512_INT8_H_ */
    +
    + + + diff --git a/doc/html/triangle__dist__cubed__2048__int8_8h_source.html b/doc/html/triangle__dist__cubed__2048__int8_8h_source.html index 4b5998b54..d026dff0f 100644 --- a/doc/html/triangle__dist__cubed__2048__int8_8h_source.html +++ b/doc/html/triangle__dist__cubed__2048__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: tables/triangle_dist_cubed_2048_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,150 +99,152 @@
    -
    tables/triangle_dist_cubed_2048_int8.h
    +
    triangle_dist_cubed_2048_int8.h
    -
    00001 #ifndef TRIANGLE_DIST_CUBED_2048_H_
    -00002 #define TRIANGLE_DIST_CUBED_2048_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 /* triangle wave with distortion from Audacity
    -00012 */
    -00013 
    -00014 #define TRIANGLE_DIST_CUBED_2048_NUM_CELLS 2048
    -00015 #define TRIANGLE_DIST_CUBED_2048_SAMPLERATE 2048
    -00016 
    -00017 const char __attribute__((progmem)) TRIANGLE_DIST_CUBED_2048_DATA []  =
    -00018         {
    -00019                 38, 39, 39, 38, 38, 38,
    -00020                 38, 38, 37, 38, 38, 37, 37, 37, 37, 37, 36, 37, 37, 36, 36, 36, 36, 36, 35, 36,
    -00021                 36, 35, 35, 34, 35, 35, 34, 34, 34, 35, 34, 35, 35, 34, 33, 34, 34, 33, 33, 34,
    -00022                 34, 33, 33, 32, 33, 33, 32, 33, 33, 32, 32, 31, 32, 32, 31, 32, 32, 31, 31, 32,
    -00023                 32, 31, 30, 31, 31, 30, 30, 31, 31, 30, 30, 30, 30, 30, 29, 29, 29, 29, 29, 28,
    -00024                 29, 29, 28, 28, 29, 29, 28, 27, 28, 28, 28, 27, 28, 28, 27, 27, 27, 27, 27, 28,
    -00025                 28, 27, 26, 27, 27, 27, 26, 27, 27, 26, 26, 26, 26, 26, 25, 26, 26, 25, 25, 26,
    -00026                 26, 25, 25, 25, 25, 25, 24, 25, 25, 24, 24, 24, 25, 24, 23, 23, 24, 24, 23, 24,
    -00027                 24, 23, 23, 23, 24, 23, 22, 23, 23, 23, 22, 23, 23, 22, 22, 22, 23, 22, 21, 22,
    -00028                 22, 21, 21, 22, 22, 21, 21, 20, 21, 21, 20, 20, 21, 21, 20, 20, 20, 20, 20, 20,
    -00029                 21, 20, 20, 20, 20, 20, 19, 20, 20, 19, 19, 20, 20, 19, 19, 19, 19, 19, 18, 19,
    -00030                 19, 18, 18, 18, 18, 18, 18, 18, 18, 18, 17, 18, 18, 18, 17, 17, 17, 17, 17, 18,
    -00031                 18, 17, 17, 16, 17, 17, 16, 17, 17, 17, 16, 16, 16, 16, 16, 17, 17, 16, 16, 16,
    -00032                 16, 16, 15, 16, 16, 15, 15, 15, 15, 15, 15, 16, 16, 15, 15, 14, 15, 15, 14, 14,
    -00033                 15, 15, 14, 15, 15, 14, 14, 13, 14, 14, 14, 13, 14, 14, 13, 14, 14, 14, 13, 14,
    -00034                 14, 13, 13, 14, 14, 13, 13, 13, 14, 13, 13, 13, 13, 13, 12, 13, 13, 13, 12, 12,
    -00035                 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 11, 11, 12, 12, 11, 11,
    -00036                 11, 11, 11, 12, 12, 11, 11, 11, 12, 11, 11, 10, 11, 11, 10, 11, 11, 11, 10, 11,
    -00037                 11, 10, 10, 11, 11, 10, 10, 9, 10, 10, 10, 9, 10, 10, 10, 10, 10, 10, 9, 9, 10,
    -00038                 10, 9, 10, 10, 9, 9, 10, 10, 9, 9, 10, 10, 9, 9, 8, 9, 9, 9, 9, 9, 9, 8, 9, 9,
    -00039                 9, 8, 8, 9, 9, 8, 9, 9, 8, 8, 9, 9, 8, 8, 8, 9, 8, 8, 7, 8, 8, 8, 8, 8, 8, 7, 7,
    -00040                 8, 8, 7, 7, 8, 8, 7, 7, 7, 8, 7, 8, 8, 7, 7, 7, 7, 7, 7, 6, 7, 7, 7, 7, 7, 7, 7,
    -00041                 7, 7, 7, 6, 7, 7, 7, 6, 7, 7, 7, 6, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 6, 6,
    -00042                 6, 5, 6, 6, 6, 5, 6, 6, 6, 5, 6, 6, 5, 6, 6, 6, 5, 6, 6, 6, 5, 5, 6, 6, 5, 6, 6,
    -00043                 5, 5, 6, 6, 5, 5, 6, 6, 5, 5, 5, 6, 5, 5, 4, 5, 5, 5, 5, 5, 5, 5, 4, 4, 3, 2, 1,
    -00044                 1, 0, 0, -2, -3, -3, -3, -5, -6, -6, -7, -9, -10, -10, -11, -12, -14, -14, -14,
    -00045                 -16, -17, -17, -18, -20, -21, -21, -22, -24, -25, -25, -26, -28, -29, -29, -30,
    -00046                 -32, -33, -33, -34, -36, -37, -37, -37, -39, -41, -41, -41, -43, -44, -44, -46,
    -00047                 -47, -47, -47, -49, -50, -50, -50, -52, -53, -53, -53, -54, -55, -55, -55, -56,
    -00048                 -57, -57, -57, -57, -58, -59, -58, -58, -59, -60, -60, -60, -61, -61, -61, -61,
    -00049                 -62, -61, -61, -62, -62, -62, -61, -61, -62, -62, -61, -62, -62, -61, -61, -61,
    -00050                 -61, -61, -61, -60, -60, -60, -60, -60, -60, -59, -59, -59, -59, -59, -58, -58,
    -00051                 -58, -58, -57, -57, -57, -57, -56, -56, -56, -56, -55, -55, -55, -54, -54, -54,
    -00052                 -54, -53, -53, -53, -53, -52, -52, -52, -52, -51, -51, -51, -51, -50, -50, -50,
    -00053                 -50, -49, -49, -49, -49, -49, -48, -48, -48, -48, -48, -47, -47, -47, -47, -47,
    -00054                 -47, -47, -46, -46, -46, -46, -46, -46, -46, -46, -45, -45, -45, -45, -45, -45,
    -00055                 -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -44,
    -00056                 -45, -45, -45, -44, -45, -45, -45, -44, -45, -45, -45, -46, -46, -45, -45, -45,
    -00057                 -46, -46, -45, -45, -46, -46, -46, -45, -46, -47, -46, -46, -47, -47, -46, -47,
    -00058                 -48, -47, -47, -46, -47, -48, -47, -47, -48, -48, -47, -47, -48, -49, -48, -49,
    -00059                 -50, -49, -48, -48, -49, -49, -49, -50, -50, -50, -49, -49, -50, -50, -50, -49,
    -00060                 -50, -51, -50, -51, -52, -51, -50, -50, -51, -52, -51, -50, -51, -52, -51, -51,
    -00061                 -52, -52, -51, -53, -53, -52, -52, -51, -52, -53, -52, -51, -53, -53, -52, -52,
    -00062                 -53, -53, -52, -52, -53, -54, -53, -54, -54, -53, -53, -54, -54, -54, -53, -52,
    -00063                 -54, -54, -53, -52, -54, -54, -53, -54, -55, -54, -53, -54, -55, -54, -53, -53,
    -00064                 -54, -54, -53, -53, -54, -54, -53, -54, -55, -54, -53, -54, -55, -54, -53, -54,
    -00065                 -55, -54, -53, -52, -53, -54, -53, -52, -53, -54, -53, -54, -54, -53, -53, -52,
    -00066                 -53, -53, -52, -54, -54, -53, -52, -51, -53, -53, -52, -53, -53, -52, -52, -53,
    -00067                 -53, -52, -51, -51, -52, -52, -51, -51, -52, -52, -51, -50, -51, -52, -51, -50,
    -00068                 -51, -51, -50, -50, -51, -51, -50, -51, -51, -50, -50, -49, -50, -50, -49, -50,
    -00069                 -50, -50, -49, -48, -49, -49, -48, -48, -49, -49, -48, -48, -48, -49, -48, -47,
    -00070                 -48, -48, -47, -47, -48, -48, -47, -48, -48, -47, -47, -46, -47, -47, -46, -46,
    -00071                 -47, -47, -46, -47, -47, -46, -45, -45, -46, -46, -45, -44, -45, -45, -44, -44,
    -00072                 -45, -45, -44, -43, -44, -44, -44, -43, -44, -44, -43, -43, -43, -44, -43, -42,
    -00073                 -43, -43, -42, -42, -43, -43, -42, -41, -42, -42, -41, -42, -42, -42, -41, -42,
    -00074                 -42, -41, -41, -40, -41, -41, -40, -39, -40, -40, -40, -39, -40, -40, -39, -40,
    -00075                 -40, -39, -39, -38, -39, -39, -38, -38, -38, -39, -38, -39, -39, -38, -37, -38,
    -00076                 -38, -37, -37, -38, -38, -37, -36, -37, -37, -37, -36, -37, -37, -36, -36, -35,
    -00077                 -36, -36, -35, -36, -36, -35, -35, -34, -35, -35, -34, -34, -34, -34, -34, -35,
    -00078                 -35, -34, -33, -34, -34, -33, -33, -32, -33, -33, -32, -32, -33, -33, -32, -33,
    -00079                 -33, -32, -32, -31, -32, -32, -31, -31, -31, -31, -31, -32, -32, -31, -30, -31,
    -00080                 -31, -30, -30, -29, -30, -30, -30, -30, -30, -30, -29, -29, -29, -29, -29, -28,
    -00081                 -29, -29, -28, -28, -29, -29, -28, -29, -29, -28, -28, -27, -28, -28, -27, -27,
    -00082                 -27, -27, -27, -28, -28, -27, -27, -27, -27, -27, -26, -26, -26, -26, -26, -26,
    -00083                 -26, -26, -25, -26, -26, -25, -25, -24, -25, -25, -25, -24, -25, -25, -24, -25,
    -00084                 -25, -24, -24, -25, -25, -24, -24, -23, -24, -24, -23, -24, -24, -23, -23, -24,
    -00085                 -24, -23, -23, -23, -23, -23, -22, -22, -22, -23, -22, -21, -22, -22, -22, -22,
    -00086                 -22, -22, -21, -22, -22, -21, -21, -22, -22, -21, -21, -21, -21, -21, -20, -21,
    -00087                 -21, -20, -20, -21, -21, -20, -20, -19, -20, -20, -19, -19, -20, -20, -19, -19,
    -00088                 -19, -19, -19, -18, -19, -19, -19, -19, -19, -19, -18, -19, -19, -18, -18, -19,
    -00089                 -19, -18, -18, -18, -18, -18, -17, -18, -18, -18, -17, -18, -18, -17, -17, -18,
    -00090                 -18, -17, -17, -17, -17, -17, -16, -16, -17, -17, -16, -16, -16, -16, -16, -17,
    -00091                 -17, -16, -16, -15, -16, -16, -15, -15, -16, -16, -15, -15, -15, -16, -15, -16,
    -00092                 -16, -15, -15, -14, -15, -15, -14, -14, -15, -15, -14, -14, -14, -15, -14, -14,
    -00093                 -14, -14, -14, -13, -14, -14, -14, -13, -14, -14, -13, -13, -14, -14, -13, -13,
    -00094                 -13, -14, -13, -13, -13, -13, -13, -12, -13, -13, -13, -12, -13, -13, -12, -12,
    -00095                 -13, -13, -12, -12, -13, -13, -12, -12, -12, -12, -12, -13, -13, -12, -12, -11,
    -00096                 -12, -12, -12, -11, -12, -12, -11, -12, -12, -12, -11, -12, -12, -11, -11, -12,
    -00097                 -12, -11, -11, -11, -12, -11, -11, -11, -11, -11, -10, -10, -11, -11, -10, -11,
    -00098                 -11, -11, -10, -10, -10, -10, -10, -11, -11, -10, -10, -10, -11, -10, -10, -10,
    -00099                 -10, -10, -10, -9, -10, -10, -9, -9, -10, -10, -9, -9, -9, -10, -9, -9, -9, -9,
    -00100                 -9, -9, -9, -9, -9, -8, -9, -9, -9, -8, -9, -9, -8, -8, -9, -9, -8, -9, -9, -9,
    -00101                 -8, -9, -9, -9, -8, -8, -8, -9, -8, -8, -8, -8, -8, -9, -9, -8, -8, -8, -9, -8,
    -00102                 -8, -7, -8, -8, -7, -7, -8, -8, -7, -7, -8, -8, -7, -8, -8, -8, -7, -7, -7, -8,
    -00103                 -7, -7, -7, -7, -7, -8, -8, -7, -7, -7, -8, -7, -7, -7, -7, -7, -7, -7, -7, -7,
    -00104                 -6, -6, -7, -7, -6, -6, -7, -7, -6, -7, -7, -7, -6, -6, -6, -7, -6, -6, -6, -6,
    -00105                 -6, -6, -6, -6, -6, -7, -7, -6, -6, -6, -7, -6, -6, -5, -6, -6, -6, -5, -5, -4,
    -00106                 -4, -4, -2, -1, -1, 0, 0, 2, 3, 3, 5, 6, 6, 6, 7, 9, 10, 10, 12, 13, 13, 14, 16,
    -00107                 17, 17, 17, 20, 21, 21, 21, 22, 24, 25, 25, 26, 28, 29, 29, 31, 33, 33, 32, 33,
    -00108                 35, 37, 37, 39, 40, 40, 40, 42, 44, 43, 44, 44, 46, 47, 47, 47, 49, 50, 50, 51,
    -00109                 52, 52, 52, 54, 55, 54, 54, 56, 57, 56, 56, 58, 58, 58, 58, 59, 59, 59, 59, 60,
    -00110                 60, 60, 60, 60, 61, 60, 60, 61, 61, 61, 60, 60, 60, 61, 60, 61, 61, 60, 60, 60,
    -00111                 60, 60, 59, 59, 59, 59, 59, 59, 59, 58, 58, 58, 58, 57, 57, 57, 57, 56, 56, 56,
    -00112                 56, 55, 55, 55, 55, 54, 54, 54, 53, 53, 53, 53, 52, 52, 52, 52, 51, 51, 51, 51,
    -00113                 50, 50, 50, 50, 49, 49, 49, 49, 48, 48, 48, 48, 48, 47, 47, 47, 47, 47, 46, 46,
    -00114                 46, 46, 46, 46, 46, 45, 45, 45, 45, 45, 45, 45, 45, 45, 44, 44, 44, 44, 44, 44,
    -00115                 44, 44, 44, 43, 44, 44, 44, 43, 44, 44, 43, 44, 44, 44, 43, 44, 44, 44, 44, 43,
    -00116                 44, 44, 44, 43, 44, 44, 44, 45, 45, 44, 44, 45, 45, 45, 44, 44, 45, 45, 45, 44,
    -00117                 45, 45, 45, 46, 46, 46, 45, 46, 47, 46, 46, 47, 47, 46, 46, 47, 48, 47, 47, 48,
    -00118                 48, 47, 47, 48, 48, 48, 47, 47, 48, 48, 48, 49, 49, 49, 48, 48, 49, 49, 49, 50,
    -00119                 50, 49, 49, 48, 50, 50, 49, 49, 50, 50, 50, 51, 51, 51, 50, 51, 52, 51, 50, 50,
    -00120                 51, 51, 51, 50, 51, 52, 51, 50, 52, 52, 51, 51, 52, 52, 51, 53, 53, 52, 52, 51,
    -00121                 52, 53, 52, 51, 52, 53, 52, 51, 53, 53, 52, 53, 54, 53, 52, 51, 53, 53, 52, 53,
    -00122                 54, 53, 52, 53, 54, 53, 52, 51, 53, 53, 52, 51, 53, 53, 52, 51, 53, 53, 52, 51,
    -00123                 53, 53, 52, 53, 53, 52, 52, 53, 53, 52, 52, 51, 52, 52, 51, 51, 52, 52, 51, 52,
    -00124                 53, 52, 51, 50, 52, 52, 51, 50, 51, 51, 51, 52, 52, 51, 50, 50, 51, 51, 50, 51,
    -00125                 51, 50, 50, 51, 51, 50, 50, 49, 50, 50, 49, 50, 50, 49, 49, 50, 50, 49, 49, 48,
    -00126                 49, 49, 48, 48, 48, 49, 48, 47, 48, 48, 47, 48, 49, 48, 47, 48, 48, 47, 47, 46,
    -00127                 47, 47, 46, 47, 47, 46, 46, 47, 47, 46, 45, 46, 47, 46, 45, 44, 45, 45, 45, 46,
    -00128                 46, 45, 44, 45, 45, 44, 44, 45, 45, 44, 43, 44, 44, 43, 43, 44, 44, 43, 42, 42,
    -00129                 43, 43, 42, 43, 43, 42, 42, 41, 42, 42, 41, 42, 42, 41, 41, 41, 42, 41, 40, 41,
    -00130                 41, 40, 40, 41, 41, 40, 39, 40, 40, 39, 39, 38, 39, 39, 38, 39, 39, 38,
    -00131         };
    -00132 
    -00133 #endif /* TRIANGLE_DIST_CUBED_2048_H_ */
    -
    - - - - +
    1 #ifndef TRIANGLE_DIST_CUBED_2048_H_
    +
    2 #define TRIANGLE_DIST_CUBED_2048_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 /* triangle wave with distortion from Audacity
    +
    12 */
    +
    13 
    +
    14 #define TRIANGLE_DIST_CUBED_2048_NUM_CELLS 2048
    +
    15 #define TRIANGLE_DIST_CUBED_2048_SAMPLERATE 2048
    +
    16 
    +
    17 const char __attribute__((progmem)) TRIANGLE_DIST_CUBED_2048_DATA [] =
    +
    18  {
    +
    19  38, 39, 39, 38, 38, 38,
    +
    20  38, 38, 37, 38, 38, 37, 37, 37, 37, 37, 36, 37, 37, 36, 36, 36, 36, 36, 35, 36,
    +
    21  36, 35, 35, 34, 35, 35, 34, 34, 34, 35, 34, 35, 35, 34, 33, 34, 34, 33, 33, 34,
    +
    22  34, 33, 33, 32, 33, 33, 32, 33, 33, 32, 32, 31, 32, 32, 31, 32, 32, 31, 31, 32,
    +
    23  32, 31, 30, 31, 31, 30, 30, 31, 31, 30, 30, 30, 30, 30, 29, 29, 29, 29, 29, 28,
    +
    24  29, 29, 28, 28, 29, 29, 28, 27, 28, 28, 28, 27, 28, 28, 27, 27, 27, 27, 27, 28,
    +
    25  28, 27, 26, 27, 27, 27, 26, 27, 27, 26, 26, 26, 26, 26, 25, 26, 26, 25, 25, 26,
    +
    26  26, 25, 25, 25, 25, 25, 24, 25, 25, 24, 24, 24, 25, 24, 23, 23, 24, 24, 23, 24,
    +
    27  24, 23, 23, 23, 24, 23, 22, 23, 23, 23, 22, 23, 23, 22, 22, 22, 23, 22, 21, 22,
    +
    28  22, 21, 21, 22, 22, 21, 21, 20, 21, 21, 20, 20, 21, 21, 20, 20, 20, 20, 20, 20,
    +
    29  21, 20, 20, 20, 20, 20, 19, 20, 20, 19, 19, 20, 20, 19, 19, 19, 19, 19, 18, 19,
    +
    30  19, 18, 18, 18, 18, 18, 18, 18, 18, 18, 17, 18, 18, 18, 17, 17, 17, 17, 17, 18,
    +
    31  18, 17, 17, 16, 17, 17, 16, 17, 17, 17, 16, 16, 16, 16, 16, 17, 17, 16, 16, 16,
    +
    32  16, 16, 15, 16, 16, 15, 15, 15, 15, 15, 15, 16, 16, 15, 15, 14, 15, 15, 14, 14,
    +
    33  15, 15, 14, 15, 15, 14, 14, 13, 14, 14, 14, 13, 14, 14, 13, 14, 14, 14, 13, 14,
    +
    34  14, 13, 13, 14, 14, 13, 13, 13, 14, 13, 13, 13, 13, 13, 12, 13, 13, 13, 12, 12,
    +
    35  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 11, 11, 12, 12, 11, 11,
    +
    36  11, 11, 11, 12, 12, 11, 11, 11, 12, 11, 11, 10, 11, 11, 10, 11, 11, 11, 10, 11,
    +
    37  11, 10, 10, 11, 11, 10, 10, 9, 10, 10, 10, 9, 10, 10, 10, 10, 10, 10, 9, 9, 10,
    +
    38  10, 9, 10, 10, 9, 9, 10, 10, 9, 9, 10, 10, 9, 9, 8, 9, 9, 9, 9, 9, 9, 8, 9, 9,
    +
    39  9, 8, 8, 9, 9, 8, 9, 9, 8, 8, 9, 9, 8, 8, 8, 9, 8, 8, 7, 8, 8, 8, 8, 8, 8, 7, 7,
    +
    40  8, 8, 7, 7, 8, 8, 7, 7, 7, 8, 7, 8, 8, 7, 7, 7, 7, 7, 7, 6, 7, 7, 7, 7, 7, 7, 7,
    +
    41  7, 7, 7, 6, 7, 7, 7, 6, 7, 7, 7, 6, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 6, 6,
    +
    42  6, 5, 6, 6, 6, 5, 6, 6, 6, 5, 6, 6, 5, 6, 6, 6, 5, 6, 6, 6, 5, 5, 6, 6, 5, 6, 6,
    +
    43  5, 5, 6, 6, 5, 5, 6, 6, 5, 5, 5, 6, 5, 5, 4, 5, 5, 5, 5, 5, 5, 5, 4, 4, 3, 2, 1,
    +
    44  1, 0, 0, -2, -3, -3, -3, -5, -6, -6, -7, -9, -10, -10, -11, -12, -14, -14, -14,
    +
    45  -16, -17, -17, -18, -20, -21, -21, -22, -24, -25, -25, -26, -28, -29, -29, -30,
    +
    46  -32, -33, -33, -34, -36, -37, -37, -37, -39, -41, -41, -41, -43, -44, -44, -46,
    +
    47  -47, -47, -47, -49, -50, -50, -50, -52, -53, -53, -53, -54, -55, -55, -55, -56,
    +
    48  -57, -57, -57, -57, -58, -59, -58, -58, -59, -60, -60, -60, -61, -61, -61, -61,
    +
    49  -62, -61, -61, -62, -62, -62, -61, -61, -62, -62, -61, -62, -62, -61, -61, -61,
    +
    50  -61, -61, -61, -60, -60, -60, -60, -60, -60, -59, -59, -59, -59, -59, -58, -58,
    +
    51  -58, -58, -57, -57, -57, -57, -56, -56, -56, -56, -55, -55, -55, -54, -54, -54,
    +
    52  -54, -53, -53, -53, -53, -52, -52, -52, -52, -51, -51, -51, -51, -50, -50, -50,
    +
    53  -50, -49, -49, -49, -49, -49, -48, -48, -48, -48, -48, -47, -47, -47, -47, -47,
    +
    54  -47, -47, -46, -46, -46, -46, -46, -46, -46, -46, -45, -45, -45, -45, -45, -45,
    +
    55  -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -44,
    +
    56  -45, -45, -45, -44, -45, -45, -45, -44, -45, -45, -45, -46, -46, -45, -45, -45,
    +
    57  -46, -46, -45, -45, -46, -46, -46, -45, -46, -47, -46, -46, -47, -47, -46, -47,
    +
    58  -48, -47, -47, -46, -47, -48, -47, -47, -48, -48, -47, -47, -48, -49, -48, -49,
    +
    59  -50, -49, -48, -48, -49, -49, -49, -50, -50, -50, -49, -49, -50, -50, -50, -49,
    +
    60  -50, -51, -50, -51, -52, -51, -50, -50, -51, -52, -51, -50, -51, -52, -51, -51,
    +
    61  -52, -52, -51, -53, -53, -52, -52, -51, -52, -53, -52, -51, -53, -53, -52, -52,
    +
    62  -53, -53, -52, -52, -53, -54, -53, -54, -54, -53, -53, -54, -54, -54, -53, -52,
    +
    63  -54, -54, -53, -52, -54, -54, -53, -54, -55, -54, -53, -54, -55, -54, -53, -53,
    +
    64  -54, -54, -53, -53, -54, -54, -53, -54, -55, -54, -53, -54, -55, -54, -53, -54,
    +
    65  -55, -54, -53, -52, -53, -54, -53, -52, -53, -54, -53, -54, -54, -53, -53, -52,
    +
    66  -53, -53, -52, -54, -54, -53, -52, -51, -53, -53, -52, -53, -53, -52, -52, -53,
    +
    67  -53, -52, -51, -51, -52, -52, -51, -51, -52, -52, -51, -50, -51, -52, -51, -50,
    +
    68  -51, -51, -50, -50, -51, -51, -50, -51, -51, -50, -50, -49, -50, -50, -49, -50,
    +
    69  -50, -50, -49, -48, -49, -49, -48, -48, -49, -49, -48, -48, -48, -49, -48, -47,
    +
    70  -48, -48, -47, -47, -48, -48, -47, -48, -48, -47, -47, -46, -47, -47, -46, -46,
    +
    71  -47, -47, -46, -47, -47, -46, -45, -45, -46, -46, -45, -44, -45, -45, -44, -44,
    +
    72  -45, -45, -44, -43, -44, -44, -44, -43, -44, -44, -43, -43, -43, -44, -43, -42,
    +
    73  -43, -43, -42, -42, -43, -43, -42, -41, -42, -42, -41, -42, -42, -42, -41, -42,
    +
    74  -42, -41, -41, -40, -41, -41, -40, -39, -40, -40, -40, -39, -40, -40, -39, -40,
    +
    75  -40, -39, -39, -38, -39, -39, -38, -38, -38, -39, -38, -39, -39, -38, -37, -38,
    +
    76  -38, -37, -37, -38, -38, -37, -36, -37, -37, -37, -36, -37, -37, -36, -36, -35,
    +
    77  -36, -36, -35, -36, -36, -35, -35, -34, -35, -35, -34, -34, -34, -34, -34, -35,
    +
    78  -35, -34, -33, -34, -34, -33, -33, -32, -33, -33, -32, -32, -33, -33, -32, -33,
    +
    79  -33, -32, -32, -31, -32, -32, -31, -31, -31, -31, -31, -32, -32, -31, -30, -31,
    +
    80  -31, -30, -30, -29, -30, -30, -30, -30, -30, -30, -29, -29, -29, -29, -29, -28,
    +
    81  -29, -29, -28, -28, -29, -29, -28, -29, -29, -28, -28, -27, -28, -28, -27, -27,
    +
    82  -27, -27, -27, -28, -28, -27, -27, -27, -27, -27, -26, -26, -26, -26, -26, -26,
    +
    83  -26, -26, -25, -26, -26, -25, -25, -24, -25, -25, -25, -24, -25, -25, -24, -25,
    +
    84  -25, -24, -24, -25, -25, -24, -24, -23, -24, -24, -23, -24, -24, -23, -23, -24,
    +
    85  -24, -23, -23, -23, -23, -23, -22, -22, -22, -23, -22, -21, -22, -22, -22, -22,
    +
    86  -22, -22, -21, -22, -22, -21, -21, -22, -22, -21, -21, -21, -21, -21, -20, -21,
    +
    87  -21, -20, -20, -21, -21, -20, -20, -19, -20, -20, -19, -19, -20, -20, -19, -19,
    +
    88  -19, -19, -19, -18, -19, -19, -19, -19, -19, -19, -18, -19, -19, -18, -18, -19,
    +
    89  -19, -18, -18, -18, -18, -18, -17, -18, -18, -18, -17, -18, -18, -17, -17, -18,
    +
    90  -18, -17, -17, -17, -17, -17, -16, -16, -17, -17, -16, -16, -16, -16, -16, -17,
    +
    91  -17, -16, -16, -15, -16, -16, -15, -15, -16, -16, -15, -15, -15, -16, -15, -16,
    +
    92  -16, -15, -15, -14, -15, -15, -14, -14, -15, -15, -14, -14, -14, -15, -14, -14,
    +
    93  -14, -14, -14, -13, -14, -14, -14, -13, -14, -14, -13, -13, -14, -14, -13, -13,
    +
    94  -13, -14, -13, -13, -13, -13, -13, -12, -13, -13, -13, -12, -13, -13, -12, -12,
    +
    95  -13, -13, -12, -12, -13, -13, -12, -12, -12, -12, -12, -13, -13, -12, -12, -11,
    +
    96  -12, -12, -12, -11, -12, -12, -11, -12, -12, -12, -11, -12, -12, -11, -11, -12,
    +
    97  -12, -11, -11, -11, -12, -11, -11, -11, -11, -11, -10, -10, -11, -11, -10, -11,
    +
    98  -11, -11, -10, -10, -10, -10, -10, -11, -11, -10, -10, -10, -11, -10, -10, -10,
    +
    99  -10, -10, -10, -9, -10, -10, -9, -9, -10, -10, -9, -9, -9, -10, -9, -9, -9, -9,
    +
    100  -9, -9, -9, -9, -9, -8, -9, -9, -9, -8, -9, -9, -8, -8, -9, -9, -8, -9, -9, -9,
    +
    101  -8, -9, -9, -9, -8, -8, -8, -9, -8, -8, -8, -8, -8, -9, -9, -8, -8, -8, -9, -8,
    +
    102  -8, -7, -8, -8, -7, -7, -8, -8, -7, -7, -8, -8, -7, -8, -8, -8, -7, -7, -7, -8,
    +
    103  -7, -7, -7, -7, -7, -8, -8, -7, -7, -7, -8, -7, -7, -7, -7, -7, -7, -7, -7, -7,
    +
    104  -6, -6, -7, -7, -6, -6, -7, -7, -6, -7, -7, -7, -6, -6, -6, -7, -6, -6, -6, -6,
    +
    105  -6, -6, -6, -6, -6, -7, -7, -6, -6, -6, -7, -6, -6, -5, -6, -6, -6, -5, -5, -4,
    +
    106  -4, -4, -2, -1, -1, 0, 0, 2, 3, 3, 5, 6, 6, 6, 7, 9, 10, 10, 12, 13, 13, 14, 16,
    +
    107  17, 17, 17, 20, 21, 21, 21, 22, 24, 25, 25, 26, 28, 29, 29, 31, 33, 33, 32, 33,
    +
    108  35, 37, 37, 39, 40, 40, 40, 42, 44, 43, 44, 44, 46, 47, 47, 47, 49, 50, 50, 51,
    +
    109  52, 52, 52, 54, 55, 54, 54, 56, 57, 56, 56, 58, 58, 58, 58, 59, 59, 59, 59, 60,
    +
    110  60, 60, 60, 60, 61, 60, 60, 61, 61, 61, 60, 60, 60, 61, 60, 61, 61, 60, 60, 60,
    +
    111  60, 60, 59, 59, 59, 59, 59, 59, 59, 58, 58, 58, 58, 57, 57, 57, 57, 56, 56, 56,
    +
    112  56, 55, 55, 55, 55, 54, 54, 54, 53, 53, 53, 53, 52, 52, 52, 52, 51, 51, 51, 51,
    +
    113  50, 50, 50, 50, 49, 49, 49, 49, 48, 48, 48, 48, 48, 47, 47, 47, 47, 47, 46, 46,
    +
    114  46, 46, 46, 46, 46, 45, 45, 45, 45, 45, 45, 45, 45, 45, 44, 44, 44, 44, 44, 44,
    +
    115  44, 44, 44, 43, 44, 44, 44, 43, 44, 44, 43, 44, 44, 44, 43, 44, 44, 44, 44, 43,
    +
    116  44, 44, 44, 43, 44, 44, 44, 45, 45, 44, 44, 45, 45, 45, 44, 44, 45, 45, 45, 44,
    +
    117  45, 45, 45, 46, 46, 46, 45, 46, 47, 46, 46, 47, 47, 46, 46, 47, 48, 47, 47, 48,
    +
    118  48, 47, 47, 48, 48, 48, 47, 47, 48, 48, 48, 49, 49, 49, 48, 48, 49, 49, 49, 50,
    +
    119  50, 49, 49, 48, 50, 50, 49, 49, 50, 50, 50, 51, 51, 51, 50, 51, 52, 51, 50, 50,
    +
    120  51, 51, 51, 50, 51, 52, 51, 50, 52, 52, 51, 51, 52, 52, 51, 53, 53, 52, 52, 51,
    +
    121  52, 53, 52, 51, 52, 53, 52, 51, 53, 53, 52, 53, 54, 53, 52, 51, 53, 53, 52, 53,
    +
    122  54, 53, 52, 53, 54, 53, 52, 51, 53, 53, 52, 51, 53, 53, 52, 51, 53, 53, 52, 51,
    +
    123  53, 53, 52, 53, 53, 52, 52, 53, 53, 52, 52, 51, 52, 52, 51, 51, 52, 52, 51, 52,
    +
    124  53, 52, 51, 50, 52, 52, 51, 50, 51, 51, 51, 52, 52, 51, 50, 50, 51, 51, 50, 51,
    +
    125  51, 50, 50, 51, 51, 50, 50, 49, 50, 50, 49, 50, 50, 49, 49, 50, 50, 49, 49, 48,
    +
    126  49, 49, 48, 48, 48, 49, 48, 47, 48, 48, 47, 48, 49, 48, 47, 48, 48, 47, 47, 46,
    +
    127  47, 47, 46, 47, 47, 46, 46, 47, 47, 46, 45, 46, 47, 46, 45, 44, 45, 45, 45, 46,
    +
    128  46, 45, 44, 45, 45, 44, 44, 45, 45, 44, 43, 44, 44, 43, 43, 44, 44, 43, 42, 42,
    +
    129  43, 43, 42, 43, 43, 42, 42, 41, 42, 42, 41, 42, 42, 41, 41, 41, 42, 41, 40, 41,
    +
    130  41, 40, 40, 41, 41, 40, 39, 40, 40, 39, 39, 38, 39, 39, 38, 39, 39, 38,
    +
    131  };
    +
    132 
    +
    133 #endif /* TRIANGLE_DIST_CUBED_2048_H_ */
    +
    + + + diff --git a/doc/html/triangle__dist__squared__2048__int8_8h_source.html b/doc/html/triangle__dist__squared__2048__int8_8h_source.html index 030969ac5..47dd0711d 100644 --- a/doc/html/triangle__dist__squared__2048__int8_8h_source.html +++ b/doc/html/triangle__dist__squared__2048__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: tables/triangle_dist_squared_2048_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,136 +99,138 @@
    -
    tables/triangle_dist_squared_2048_int8.h
    +
    triangle_dist_squared_2048_int8.h
    -
    00001 #ifndef TRIANGLE_DIST_SQUARED_2048_H_
    -00002 #define TRIANGLE_DIST_SQUARED_2048_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 /* triangle wave with distortion from Audacity
    -00012 */
    -00013 
    -00014 #define TRIANGLE_DIST_SQUARED_2048_NUM_CELLS 2048
    -00015 #define TRIANGLE_DIST_SQUARED_2048_SAMPLERATE 2048
    -00016 
    -00017 const char __attribute__((progmem)) TRIANGLE_DIST_SQUARED_2048_DATA []  =
    -00018         {
    -00019                 16, 16, 16, 16, 15, 16,
    -00020                 16, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 14, 15,
    -00021                 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 13, 14,
    -00022                 14, 13, 13, 13, 14, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 12, 13,
    -00023                 13, 12, 12, 13, 13, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 11,
    -00024                 12, 12, 11, 11, 11, 12, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
    -00025                 11, 11, 11, 11, 11, 11, 10, 11, 11, 10, 10, 11, 11, 10, 10, 10, 10, 10, 10, 10,
    -00026                 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 9, 10, 10, 10, 9, 9, 9, 9, 9, 9, 9, 9,
    -00027                 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 9, 9, 8, 8, 9, 9, 8, 8, 8, 8,
    -00028                 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 7, 8, 8, 7, 7, 8,
    -00029                 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 6,
    -00030                 6, 7, 7, 6, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
    -00031                 6, 6, 6, 6, 6, 5, 6, 6, 6, 5, 6, 6, 5, 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
    -00032                 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 5, 5, 5, 4,
    -00033                 5, 5, 4, 5, 5, 5, 4, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
    -00034                 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 4, 4, 4, 4, 4, 4,
    -00035                 3, 3, 4, 4, 3, 4, 4, 3, 3, 4, 4, 3, 3, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
    -00036                 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
    -00037                 3, 3, 3, 2, 3, 3, 3, 2, 3, 3, 3, 3, 3, 3, 2, 2, 3, 3, 2, 2, 3, 3, 2, 3, 3, 2, 2,
    -00038                 3, 3, 2, 2, 3, 3, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    -00039                 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    -00040                 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 0,
    -00041                 0, 0, 0, -1, -1, -1, -2, -2, -3, -3, -3, -4, -4, -4, -4, -5, -6, -6, -6, -7, -7,
    -00042                 -7, -7, -8, -9, -9, -9, -10, -11, -11, -11, -12, -13, -13, -13, -14, -15, -15,
    -00043                 -15, -17, -17, -17, -18, -19, -20, -20, -20, -22, -22, -23, -24, -25, -25, -25,
    -00044                 -27, -28, -28, -28, -30, -31, -31, -32, -34, -35, -35, -35, -37, -38, -38, -38,
    -00045                 -39, -41, -42, -42, -42, -45, -46, -46, -46, -49, -50, -50, -53, -54, -54, -54,
    -00046                 -57, -58, -58, -58, -58, -61, -62, -62, -65, -66, -65, -65, -65, -68, -69, -69,
    -00047                 -69, -71, -72, -72, -74, -75, -75, -74, -76, -77, -77, -76, -78, -79, -78, -78,
    -00048                 -79, -79, -79, -79, -78, -79, -79, -79, -79, -79, -78, -78, -78, -78, -77, -77,
    -00049                 -76, -76, -75, -75, -74, -73, -73, -72, -72, -71, -70, -70, -69, -67, -66, -66,
    -00050                 -66, -64, -62, -62, -62, -60, -58, -59, -58, -56, -54, -54, -54, -52, -50, -50,
    -00051                 -47, -46, -46, -46, -46, -43, -42, -42, -42, -39, -38, -38, -35, -34, -34, -34,
    -00052                 -31, -30, -30, -30, -27, -26, -27, -26, -24, -23, -23, -23, -23, -21, -19, -20,
    -00053                 -20, -17, -16, -17, -17, -14, -13, -14, -11, -10, -11, -11, -11, -9, -8, -8, -8,
    -00054                 -6, -5, -6, -6, -4, -3, -4, -4, -2, -1, -1, 1, 1, 1, 1, 0, 2, 3, 2, 2, 4, 5, 4,
    -00055                 4, 6, 6, 6, 7, 8, 7, 7, 7, 8, 9, 8, 10, 11, 10, 10, 9, 11, 11, 11, 11, 12, 12,
    -00056                 12, 13, 14, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 14, 15, 16, 15, 17, 17, 16,
    -00057                 16, 16, 17, 17, 17, 16, 17, 18, 17, 17, 18, 18, 18, 17, 18, 19, 18, 19, 19, 19,
    -00058                 19, 19, 20, 19, 19, 19, 19, 20, 19, 19, 20, 20, 20, 20, 21, 20, 20, 21, 21, 20,
    -00059                 20, 20, 20, 21, 20, 20, 21, 21, 20, 21, 21, 21, 20, 21, 21, 21, 21, 21, 21, 21,
    -00060                 21, 20, 21, 21, 21, 20, 21, 21, 21, 21, 21, 21, 21, 20, 21, 21, 21, 21, 21, 21,
    -00061                 21, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 20, 21, 21, 20, 20, 21, 21,
    -00062                 20, 20, 21, 21, 20, 20, 20, 21, 20, 20, 20, 21, 20, 21, 21, 20, 20, 20, 20, 20,
    -00063                 20, 20, 20, 20, 20, 19, 20, 20, 20, 19, 20, 20, 19, 19, 20, 20, 19, 19, 19, 20,
    -00064                 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 18, 19, 19, 18, 19, 19, 19,
    -00065                 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 17, 18, 18, 18, 17, 18, 18,
    -00066                 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
    -00067                 16, 17, 17, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
    -00068                 15, 15, 15, 16, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
    -00069                 14, 15, 15, 14, 14, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 13, 14, 14,
    -00070                 13, 13, 14, 14, 13, 14, 14, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
    -00071                 13, 13, 13, 13, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
    -00072                 12, 11, 12, 12, 11, 12, 12, 12, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
    -00073                 11, 11, 11, 11, 11, 10, 11, 11, 10, 10, 11, 11, 10, 11, 11, 10, 10, 10, 10, 10,
    -00074                 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 9, 10, 10, 9, 9, 9, 9, 9,
    -00075                 10, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 8, 8,
    -00076                 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 7, 8,
    -00077                 8, 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    -00078                 7, 7, 7, 7, 7, 7, 7, 6, 7, 7, 6, 6, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
    -00079                 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 6, 6, 6, 5, 6, 6, 5, 5, 6, 6, 5, 6, 6, 5, 5, 5, 5,
    -00080                 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
    -00081                 5, 5, 5, 4, 5, 5, 4, 4, 5, 5, 4, 4, 4, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
    -00082                 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
    -00083                 4, 4, 4, 4, 4, 3, 4, 4, 3, 4, 4, 4, 3, 3, 3, 4, 3, 4, 4, 3, 3, 3, 4, 3, 3, 3, 3,
    -00084                 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
    -00085                 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 3, 3, 2, 2, 3, 3, 2, 3, 3, 3, 2,
    -00086                 3, 3, 3, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    -00087                 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    -00088                 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 1,
    -00089                 1, 1, 1, 1, 0, 0, 0, 0, -1, -1, -2, -2, -2, -3, -3, -3, -3, -4, -4, -4, -5, -6,
    -00090                 -6, -6, -7, -7, -7, -8, -9, -9, -9, -9, -10, -11, -11, -11, -11, -13, -13, -13,
    -00091                 -15, -15, -15, -16, -16, -17, -18, -18, -19, -20, -20, -20, -22, -23, -23, -23,
    -00092                 -23, -25, -26, -26, -26, -28, -29, -29, -31, -32, -32, -32, -34, -36, -35, -36,
    -00093                 -38, -39, -39, -39, -42, -43, -43, -43, -45, -47, -47, -47, -49, -51, -50, -51,
    -00094                 -53, -55, -54, -55, -57, -59, -58, -59, -58, -61, -63, -62, -65, -67, -66, -66,
    -00095                 -69, -70, -69, -69, -69, -72, -73, -72, -75, -75, -75, -75, -77, -77, -77, -77,
    -00096                 -78, -79, -78, -78, -79, -79, -79, -79, -78, -79, -79, -78, -79, -79, -78, -78,
    -00097                 -77, -77, -77, -76, -76, -75, -75, -74, -73, -72, -72, -72, -71, -70, -69, -69,
    -00098                 -68, -67, -65, -65, -63, -62, -62, -62, -61, -59, -58, -58, -55, -54, -54, -53,
    -00099                 -51, -49, -50, -49, -49, -46, -45, -45, -42, -41, -41, -41, -41, -38, -37, -37,
    -00100                 -34, -33, -33, -33, -33, -30, -29, -29, -29, -27, -25, -26, -23, -22, -22, -22,
    -00101                 -20, -18, -19, -19, -19, -17, -15, -16, -16, -14, -13, -13, -11, -10, -10, -10,
    -00102                 -8, -7, -8, -8, -8, -6, -5, -5, -6, -3, -3, -3, -1, 0, -1, -1, 1, 2, 1, 1, 3, 4,
    -00103                 3, 3, 4, 5, 5, 4, 6, 7, 6, 6, 8, 8, 8, 7, 7, 9, 9, 9, 10, 11, 10, 10, 10, 11,
    -00104                 12, 11, 12, 13, 12, 12, 12, 13, 14, 13, 13, 14, 14, 14, 15, 16, 15, 15, 16, 16,
    -00105                 16, 15, 15, 16, 17, 16, 16, 17, 17, 17, 16, 17, 18, 17, 17, 18, 18, 18, 19, 19,
    -00106                 19, 18, 18, 19, 19, 19, 18, 19, 19, 19, 19, 19, 20, 19, 20, 20, 20, 20, 19, 20,
    -00107                 20, 20, 21, 21, 20, 20, 21, 21, 20, 20, 20, 21, 21, 20, 20, 21, 21, 20, 20, 21,
    -00108                 21, 21, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 20, 21, 21, 21, 20, 21,
    -00109                 21, 21, 21, 21, 21, 21, 20, 21, 21, 21, 20, 21, 21, 21, 21, 21, 21, 21, 20, 21,
    -00110                 21, 20, 21, 21, 21, 20, 21, 21, 21, 20, 20, 21, 21, 20, 21, 21, 20, 20, 21, 21,
    -00111                 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 19, 20, 20, 20, 20, 20, 20, 19, 20, 20,
    -00112                 20, 19, 19, 19, 19, 19, 19, 20, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 18, 19,
    -00113                 19, 18, 19, 19, 18, 18, 19, 19, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
    -00114                 18, 17, 17, 18, 18, 17, 18, 18, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
    -00115                 17, 17, 17, 17, 17, 16, 17, 17, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
    -00116                 16,
    -00117         };
    -00118 
    -00119 #endif /* TRIANGLE_DIST_SQUARED_2048_H_ */
    -
    - - - - +
    1 #ifndef TRIANGLE_DIST_SQUARED_2048_H_
    +
    2 #define TRIANGLE_DIST_SQUARED_2048_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 /* triangle wave with distortion from Audacity
    +
    12 */
    +
    13 
    +
    14 #define TRIANGLE_DIST_SQUARED_2048_NUM_CELLS 2048
    +
    15 #define TRIANGLE_DIST_SQUARED_2048_SAMPLERATE 2048
    +
    16 
    +
    17 const char __attribute__((progmem)) TRIANGLE_DIST_SQUARED_2048_DATA [] =
    +
    18  {
    +
    19  16, 16, 16, 16, 15, 16,
    +
    20  16, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 14, 15,
    +
    21  15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 13, 14,
    +
    22  14, 13, 13, 13, 14, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 12, 13,
    +
    23  13, 12, 12, 13, 13, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 11,
    +
    24  12, 12, 11, 11, 11, 12, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
    +
    25  11, 11, 11, 11, 11, 11, 10, 11, 11, 10, 10, 11, 11, 10, 10, 10, 10, 10, 10, 10,
    +
    26  10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 9, 10, 10, 10, 9, 9, 9, 9, 9, 9, 9, 9,
    +
    27  9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 9, 9, 8, 8, 9, 9, 8, 8, 8, 8,
    +
    28  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 7, 8, 8, 7, 7, 8,
    +
    29  8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 6,
    +
    30  6, 7, 7, 6, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
    +
    31  6, 6, 6, 6, 6, 5, 6, 6, 6, 5, 6, 6, 5, 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
    +
    32  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 5, 5, 5, 4,
    +
    33  5, 5, 4, 5, 5, 5, 4, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
    +
    34  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 4, 4, 4, 4, 4, 4,
    +
    35  3, 3, 4, 4, 3, 4, 4, 3, 3, 4, 4, 3, 3, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
    +
    36  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
    +
    37  3, 3, 3, 2, 3, 3, 3, 2, 3, 3, 3, 3, 3, 3, 2, 2, 3, 3, 2, 2, 3, 3, 2, 3, 3, 2, 2,
    +
    38  3, 3, 2, 2, 3, 3, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    +
    39  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    +
    40  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 0,
    +
    41  0, 0, 0, -1, -1, -1, -2, -2, -3, -3, -3, -4, -4, -4, -4, -5, -6, -6, -6, -7, -7,
    +
    42  -7, -7, -8, -9, -9, -9, -10, -11, -11, -11, -12, -13, -13, -13, -14, -15, -15,
    +
    43  -15, -17, -17, -17, -18, -19, -20, -20, -20, -22, -22, -23, -24, -25, -25, -25,
    +
    44  -27, -28, -28, -28, -30, -31, -31, -32, -34, -35, -35, -35, -37, -38, -38, -38,
    +
    45  -39, -41, -42, -42, -42, -45, -46, -46, -46, -49, -50, -50, -53, -54, -54, -54,
    +
    46  -57, -58, -58, -58, -58, -61, -62, -62, -65, -66, -65, -65, -65, -68, -69, -69,
    +
    47  -69, -71, -72, -72, -74, -75, -75, -74, -76, -77, -77, -76, -78, -79, -78, -78,
    +
    48  -79, -79, -79, -79, -78, -79, -79, -79, -79, -79, -78, -78, -78, -78, -77, -77,
    +
    49  -76, -76, -75, -75, -74, -73, -73, -72, -72, -71, -70, -70, -69, -67, -66, -66,
    +
    50  -66, -64, -62, -62, -62, -60, -58, -59, -58, -56, -54, -54, -54, -52, -50, -50,
    +
    51  -47, -46, -46, -46, -46, -43, -42, -42, -42, -39, -38, -38, -35, -34, -34, -34,
    +
    52  -31, -30, -30, -30, -27, -26, -27, -26, -24, -23, -23, -23, -23, -21, -19, -20,
    +
    53  -20, -17, -16, -17, -17, -14, -13, -14, -11, -10, -11, -11, -11, -9, -8, -8, -8,
    +
    54  -6, -5, -6, -6, -4, -3, -4, -4, -2, -1, -1, 1, 1, 1, 1, 0, 2, 3, 2, 2, 4, 5, 4,
    +
    55  4, 6, 6, 6, 7, 8, 7, 7, 7, 8, 9, 8, 10, 11, 10, 10, 9, 11, 11, 11, 11, 12, 12,
    +
    56  12, 13, 14, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 14, 15, 16, 15, 17, 17, 16,
    +
    57  16, 16, 17, 17, 17, 16, 17, 18, 17, 17, 18, 18, 18, 17, 18, 19, 18, 19, 19, 19,
    +
    58  19, 19, 20, 19, 19, 19, 19, 20, 19, 19, 20, 20, 20, 20, 21, 20, 20, 21, 21, 20,
    +
    59  20, 20, 20, 21, 20, 20, 21, 21, 20, 21, 21, 21, 20, 21, 21, 21, 21, 21, 21, 21,
    +
    60  21, 20, 21, 21, 21, 20, 21, 21, 21, 21, 21, 21, 21, 20, 21, 21, 21, 21, 21, 21,
    +
    61  21, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 20, 21, 21, 20, 20, 21, 21,
    +
    62  20, 20, 21, 21, 20, 20, 20, 21, 20, 20, 20, 21, 20, 21, 21, 20, 20, 20, 20, 20,
    +
    63  20, 20, 20, 20, 20, 19, 20, 20, 20, 19, 20, 20, 19, 19, 20, 20, 19, 19, 19, 20,
    +
    64  19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 18, 19, 19, 18, 19, 19, 19,
    +
    65  18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 17, 18, 18, 18, 17, 18, 18,
    +
    66  17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
    +
    67  16, 17, 17, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
    +
    68  15, 15, 15, 16, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
    +
    69  14, 15, 15, 14, 14, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 13, 14, 14,
    +
    70  13, 13, 14, 14, 13, 14, 14, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
    +
    71  13, 13, 13, 13, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
    +
    72  12, 11, 12, 12, 11, 12, 12, 12, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
    +
    73  11, 11, 11, 11, 11, 10, 11, 11, 10, 10, 11, 11, 10, 11, 11, 10, 10, 10, 10, 10,
    +
    74  10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 9, 10, 10, 9, 9, 9, 9, 9,
    +
    75  10, 10, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 8, 8,
    +
    76  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 7, 8,
    +
    77  8, 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
    +
    78  7, 7, 7, 7, 7, 7, 7, 6, 7, 7, 6, 6, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
    +
    79  6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 6, 6, 6, 5, 6, 6, 5, 5, 6, 6, 5, 6, 6, 5, 5, 5, 5,
    +
    80  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
    +
    81  5, 5, 5, 4, 5, 5, 4, 4, 5, 5, 4, 4, 4, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
    +
    82  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
    +
    83  4, 4, 4, 4, 4, 3, 4, 4, 3, 4, 4, 4, 3, 3, 3, 4, 3, 4, 4, 3, 3, 3, 4, 3, 3, 3, 3,
    +
    84  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
    +
    85  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 3, 3, 2, 2, 3, 3, 2, 3, 3, 3, 2,
    +
    86  3, 3, 3, 2, 2, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    +
    87  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
    +
    88  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 1,
    +
    89  1, 1, 1, 1, 0, 0, 0, 0, -1, -1, -2, -2, -2, -3, -3, -3, -3, -4, -4, -4, -5, -6,
    +
    90  -6, -6, -7, -7, -7, -8, -9, -9, -9, -9, -10, -11, -11, -11, -11, -13, -13, -13,
    +
    91  -15, -15, -15, -16, -16, -17, -18, -18, -19, -20, -20, -20, -22, -23, -23, -23,
    +
    92  -23, -25, -26, -26, -26, -28, -29, -29, -31, -32, -32, -32, -34, -36, -35, -36,
    +
    93  -38, -39, -39, -39, -42, -43, -43, -43, -45, -47, -47, -47, -49, -51, -50, -51,
    +
    94  -53, -55, -54, -55, -57, -59, -58, -59, -58, -61, -63, -62, -65, -67, -66, -66,
    +
    95  -69, -70, -69, -69, -69, -72, -73, -72, -75, -75, -75, -75, -77, -77, -77, -77,
    +
    96  -78, -79, -78, -78, -79, -79, -79, -79, -78, -79, -79, -78, -79, -79, -78, -78,
    +
    97  -77, -77, -77, -76, -76, -75, -75, -74, -73, -72, -72, -72, -71, -70, -69, -69,
    +
    98  -68, -67, -65, -65, -63, -62, -62, -62, -61, -59, -58, -58, -55, -54, -54, -53,
    +
    99  -51, -49, -50, -49, -49, -46, -45, -45, -42, -41, -41, -41, -41, -38, -37, -37,
    +
    100  -34, -33, -33, -33, -33, -30, -29, -29, -29, -27, -25, -26, -23, -22, -22, -22,
    +
    101  -20, -18, -19, -19, -19, -17, -15, -16, -16, -14, -13, -13, -11, -10, -10, -10,
    +
    102  -8, -7, -8, -8, -8, -6, -5, -5, -6, -3, -3, -3, -1, 0, -1, -1, 1, 2, 1, 1, 3, 4,
    +
    103  3, 3, 4, 5, 5, 4, 6, 7, 6, 6, 8, 8, 8, 7, 7, 9, 9, 9, 10, 11, 10, 10, 10, 11,
    +
    104  12, 11, 12, 13, 12, 12, 12, 13, 14, 13, 13, 14, 14, 14, 15, 16, 15, 15, 16, 16,
    +
    105  16, 15, 15, 16, 17, 16, 16, 17, 17, 17, 16, 17, 18, 17, 17, 18, 18, 18, 19, 19,
    +
    106  19, 18, 18, 19, 19, 19, 18, 19, 19, 19, 19, 19, 20, 19, 20, 20, 20, 20, 19, 20,
    +
    107  20, 20, 21, 21, 20, 20, 21, 21, 20, 20, 20, 21, 21, 20, 20, 21, 21, 20, 20, 21,
    +
    108  21, 21, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 20, 21, 21, 21, 20, 21,
    +
    109  21, 21, 21, 21, 21, 21, 20, 21, 21, 21, 20, 21, 21, 21, 21, 21, 21, 21, 20, 21,
    +
    110  21, 20, 21, 21, 21, 20, 21, 21, 21, 20, 20, 21, 21, 20, 21, 21, 20, 20, 21, 21,
    +
    111  20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 19, 20, 20, 20, 20, 20, 20, 19, 20, 20,
    +
    112  20, 19, 19, 19, 19, 19, 19, 20, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 18, 19,
    +
    113  19, 18, 19, 19, 18, 18, 19, 19, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
    +
    114  18, 17, 17, 18, 18, 17, 18, 18, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
    +
    115  17, 17, 17, 17, 17, 16, 17, 17, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
    +
    116  16,
    +
    117  };
    +
    118 
    +
    119 #endif /* TRIANGLE_DIST_SQUARED_2048_H_ */
    +
    + + + diff --git a/doc/html/triangle__hermes__2048__int8_8h_source.html b/doc/html/triangle__hermes__2048__int8_8h_source.html index 2d7cd3ac1..db0a9d917 100644 --- a/doc/html/triangle__hermes__2048__int8_8h_source.html +++ b/doc/html/triangle__hermes__2048__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: tables/triangle_hermes_2048_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,155 +99,157 @@
    -
    tables/triangle_hermes_2048_int8.h
    +
    triangle_hermes_2048_int8.h
    -
    00001 #ifndef TRIANGLE_HERMES_2048_H_
    -00002 #define TRIANGLE_HERMES_2048_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 /* triangle wave with distortion from Audacity
    -00012 */
    -00013 
    -00014 #define TRIANGLE_HERMES_2048_NUM_CELLS 2048
    -00015 #define TRIANGLE_HERMES_2048_SAMPLERATE 2048
    -00016 
    -00017 const char __attribute__((progmem)) TRIANGLE_HERMES_2048_DATA []  =
    -00018         {
    -00019                 -1, 0, 0, 0, 0, 0, 0, 0, 0, 1,
    -00020                 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 2, 3,
    -00021                 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4,
    -00022                 4, 4, 4, 4, 4, 5, 4, 4, 4, 4, 5, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 5, 5, 6, 6,
    -00023                 6, 6, 6, 6, 6, 6, 7, 6, 6, 7, 7, 7, 7, 7, 8, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9,
    -00024                 8, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 12, 11,
    -00025                 11, 12, 12, 12, 12, 12, 13, 12, 13, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15,
    -00026                 15, 15, 16, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17, 17, 18, 17, 18, 19, 18,
    -00027                 18, 19, 20, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 22, 22, 22, 22, 23, 23, 23,
    -00028                 23, 23, 24, 24, 24, 25, 25, 25, 25, 26, 26, 26, 26, 26, 27, 27, 27, 28, 28, 28,
    -00029                 28, 28, 29, 29, 29, 30, 30, 30, 30, 30, 31, 31, 31, 32, 32, 32, 32, 33, 33, 32,
    -00030                 33, 34, 34, 34, 34, 34, 35, 36, 35, 37, 37, 37, 37, 37, 38, 38, 38, 38, 39, 39,
    -00031                 39, 40, 40, 40, 40, 40, 41, 42, 41, 42, 43, 43, 43, 44, 44, 44, 44, 45, 46, 45,
    -00032                 46, 47, 47, 47, 47, 48, 48, 48, 48, 49, 50, 50, 50, 51, 51, 51, 51, 51, 52, 53,
    -00033                 52, 53, 54, 54, 54, 55, 56, 55, 55, 57, 57, 57, 57, 57, 58, 59, 58, 58, 60, 60,
    -00034                 60, 61, 62, 61, 62, 63, 63, 63, 63, 63, 64, 65, 65, 66, 66, 66, 66, 68, 68, 68,
    -00035                 68, 69, 69, 69, 69, 69, 71, 71, 71, 71, 72, 73, 72, 74, 74, 74, 74, 74, 76, 76,
    -00036                 76, 77, 77, 77, 77, 79, 79, 79, 79, 80, 81, 81, 81, 81, 82, 82, 82, 84, 84, 84,
    -00037                 84, 85, 86, 85, 86, 85, 87, 87, 87, 89, 89, 89, 89, 90, 90, 90, 90, 92, 92, 92,
    -00038                 92, 92, 93, 93, 93, 95, 95, 95, 95, 95, 96, 97, 97, 97, 98, 98, 98, 98, 99, 99,
    -00039                 99, 101, 101, 101, 101, 101, 102, 102, 102, 102, 103, 103, 103, 104, 104, 104,
    -00040                 104, 105, 105, 105, 105, 105, 105, 105, 105, 106, 106, 106, 106, 106, 106, 106,
    -00041                 106, 106, 107, 107, 107, 107, 107, 107, 107, 107, 108, 108, 108, 108, 108, 108,
    -00042                 108, 108, 108, 108, 108, 108, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
    -00043                 109, 109, 109, 109, 109, 109, 109, 109, 109, 110, 110, 110, 110, 110, 110, 110,
    -00044                 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
    -00045                 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 109, 109, 109,
    -00046                 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 108, 108, 108,
    -00047                 108, 108, 108, 108, 108, 108, 108, 108, 108, 107, 107, 107, 107, 107, 107, 107,
    -00048                 107, 106, 106, 106, 106, 106, 106, 106, 105, 106, 106, 106, 105, 105, 105, 105,
    -00049                 104, 104, 104, 104, 104, 104, 104, 104, 104, 103, 103, 103, 103, 102, 102, 102,
    -00050                 102, 101, 101, 101, 100, 101, 100, 101, 99, 100, 100, 100, 100, 98, 99, 98, 97,
    -00051                 97, 97, 97, 97, 96, 96, 96, 96, 95, 95, 95, 94, 94, 94, 94, 93, 93, 93, 93, 92,
    -00052                 92, 92, 92, 91, 91, 91, 91, 90, 89, 90, 89, 88, 89, 88, 88, 87, 87, 87, 87, 86,
    -00053                 86, 86, 86, 85, 85, 85, 85, 85, 84, 84, 84, 84, 83, 83, 83, 83, 82, 82, 82, 81,
    -00054                 80, 81, 80, 80, 79, 80, 79, 79, 78, 78, 78, 77, 77, 77, 77, 77, 76, 76, 76, 76,
    -00055                 75, 75, 75, 74, 74, 74, 73, 73, 73, 72, 72, 71, 72, 71, 71, 70, 70, 70, 70, 70,
    -00056                 69, 69, 69, 69, 68, 68, 67, 67, 66, 67, 66, 65, 66, 65, 65, 65, 64, 64, 64, 64,
    -00057                 63, 63, 63, 62, 62, 62, 61, 61, 60, 61, 60, 59, 60, 59, 59, 59, 58, 58, 58, 58,
    -00058                 57, 57, 56, 56, 55, 56, 55, 55, 55, 54, 54, 54, 53, 53, 53, 52, 52, 52, 52, 51,
    -00059                 51, 51, 50, 50, 49, 50, 49, 49, 49, 48, 48, 48, 47, 47, 47, 47, 46, 46, 46, 45,
    -00060                 45, 45, 44, 44, 44, 43, 43, 43, 42, 43, 42, 42, 41, 41, 41, 41, 40, 40, 40, 40,
    -00061                 39, 39, 39, 38, 38, 38, 38, 37, 37, 37, 36, 36, 36, 36, 35, 35, 34, 35, 34, 34,
    -00062                 34, 34, 33, 33, 32, 32, 32, 32, 31, 31, 31, 31, 30, 30, 30, 29, 30, 29, 29, 28,
    -00063                 29, 28, 28, 27, 28, 27, 27, 27, 26, 26, 26, 26, 25, 25, 25, 24, 25, 24, 24, 24,
    -00064                 23, 23, 23, 23, 23, 22, 22, 22, 21, 22, 21, 21, 21, 20, 20, 20, 20, 20, 19, 19,
    -00065                 19, 19, 18, 18, 18, 18, 18, 18, 17, 17, 17, 17, 16, 17, 16, 16, 16, 16, 15, 15,
    -00066                 15, 15, 15, 14, 14, 14, 14, 14, 14, 13, 13, 13, 13, 13, 12, 12, 12, 12, 12, 12,
    -00067                 11, 11, 11, 11, 11, 11, 10, 10, 10, 10, 10, 10, 10, 9, 9, 9, 9, 9, 9, 8, 8, 8,
    -00068                 8, 8, 8, 8, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 4,
    -00069                 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1,
    -00070                 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1,
    -00071                 -2, -2, -2, -2, -2, -2, -2, -2, -2, -3, -2, -2, -3, -3, -3, -3, -3, -3, -3, -3,
    -00072                 -3, -4, -3, -3, -3, -3, -4, -3, -3, -4, -4, -4, -4, -4, -4, -4, -4, -5, -4, -4,
    -00073                 -4, -4, -5, -4, -4, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -6, -5,
    -00074                 -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -7, -7, -7, -6, -6, -7, -7, -7,
    -00075                 -7, -7, -7, -7, -7, -7, -8, -7, -8, -8, -8, -8, -8, -8, -9, -8, -8, -9, -9, -9,
    -00076                 -9, -10, -9, -9, -10, -10, -10, -10, -10, -10, -10, -10, -11, -11, -11, -11,
    -00077                 -11, -12, -11, -11, -11, -12, -12, -12, -12, -12, -13, -12, -13, -13, -13, -13,
    -00078                 -14, -14, -14, -14, -13, -14, -14, -14, -15, -15, -15, -15, -16, -16, -16, -16,
    -00079                 -16, -17, -16, -16, -16, -17, -17, -17, -17, -18, -18, -18, -19, -19, -19, -19,
    -00080                 -19, -20, -19, -19, -20, -20, -20, -20, -21, -21, -21, -21, -22, -22, -22, -22,
    -00081                 -23, -23, -23, -23, -23, -23, -24, -23, -23, -24, -25, -24, -24, -25, -26, -25,
    -00082                 -25, -26, -27, -26, -27, -28, -27, -27, -28, -29, -28, -28, -29, -30, -29, -29,
    -00083                 -30, -31, -30, -31, -31, -32, -32, -32, -33, -33, -33, -33, -34, -34, -34, -34,
    -00084                 -35, -35, -35, -35, -35, -36, -36, -36, -36, -37, -38, -37, -39, -39, -39, -39,
    -00085                 -39, -40, -40, -40, -40, -41, -41, -41, -41, -42, -43, -42, -44, -44, -44, -44,
    -00086                 -44, -45, -45, -45, -45, -46, -47, -46, -47, -48, -48, -48, -48, -49, -49, -49,
    -00087                 -49, -51, -51, -51, -51, -52, -52, -52, -52, -53, -54, -54, -54, -55, -55, -55,
    -00088                 -55, -56, -57, -57, -57, -58, -58, -58, -58, -59, -60, -60, -60, -61, -61, -61,
    -00089                 -61, -63, -63, -63, -63, -64, -65, -64, -66, -66, -66, -66, -66, -67, -68, -67,
    -00090                 -68, -69, -69, -69, -71, -71, -71, -71, -72, -72, -72, -72, -74, -74, -74, -74,
    -00091                 -75, -76, -75, -76, -77, -77, -77, -77, -77, -78, -79, -79, -80, -80, -80, -80,
    -00092                 -80, -82, -82, -82, -83, -83, -83, -83, -85, -85, -85, -85, -86, -87, -86, -87,
    -00093                 -87, -88, -88, -88, -88, -90, -90, -90, -90, -91, -91, -91, -91, -93, -93, -93,
    -00094                 -93, -94, -94, -94, -94, -96, -96, -96, -96, -97, -97, -97, -97, -99, -99, -99,
    -00095                 -100, -100, -100, -100, -101, -101, -101, -101, -101, -103, -103, -103, -103,
    -00096                 -104, -104, -104, -105, -105, -105, -105, -105, -105, -105, -105, -105, -106,
    -00097                 -106, -106, -106, -107, -107, -107, -107, -107, -107, -107, -108, -108, -108,
    -00098                 -108, -108, -108, -108, -108, -108, -109, -109, -109, -109, -109, -109, -109,
    -00099                 -109, -109, -109, -109, -110, -110, -110, -109, -110, -110, -110, -110, -110,
    -00100                 -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -111,
    -00101                 -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    -00102                 -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    -00103                 -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    -00104                 -111, -111, -111, -111, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    -00105                 -110, -110, -110, -110, -110, -110, -110, -110, -109, -109, -109, -109, -109,
    -00106                 -109, -109, -109, -109, -109, -109, -108, -108, -108, -108, -108, -108, -108,
    -00107                 -108, -108, -107, -108, -108, -107, -107, -107, -107, -107, -107, -107, -107,
    -00108                 -106, -106, -106, -106, -105, -106, -106, -105, -105, -105, -105, -105, -104,
    -00109                 -104, -104, -104, -103, -103, -103, -103, -102, -102, -102, -102, -101, -102,
    -00110                 -102, -102, -101, -100, -101, -100, -99, -99, -99, -99, -98, -98, -98, -98, -98,
    -00111                 -97, -97, -97, -96, -96, -96, -96, -95, -95, -95, -95, -94, -94, -94, -94, -92,
    -00112                 -93, -92, -92, -92, -91, -91, -91, -90, -90, -90, -90, -90, -89, -89, -89, -89,
    -00113                 -88, -88, -88, -87, -87, -87, -87, -87, -86, -86, -86, -86, -85, -85, -85, -84,
    -00114                 -84, -84, -83, -83, -82, -83, -82, -81, -82, -81, -81, -80, -80, -80, -80, -80,
    -00115                 -79, -79, -79, -78, -78, -78, -78, -78, -77, -77, -77, -76, -76, -76, -75, -75,
    -00116                 -74, -75, -74, -74, -73, -73, -73, -72, -72, -72, -72, -71, -71, -71, -71, -71,
    -00117                 -70, -70, -70, -69, -68, -69, -68, -68, -68, -67, -67, -66, -67, -66, -66, -66,
    -00118                 -65, -65, -65, -65, -64, -64, -64, -63, -63, -63, -62, -62, -62, -61, -61, -60,
    -00119                 -61, -60, -60, -59, -59, -59, -59, -58, -58, -58, -58, -57, -57, -56, -56, -56,
    -00120                 -55, -56, -55, -54, -55, -54, -54, -54, -53, -53, -53, -52, -52, -52, -52, -51,
    -00121                 -51, -51, -50, -50, -49, -50, -49, -49, -49, -48, -48, -47, -47, -47, -47, -46,
    -00122                 -46, -46, -45, -45, -45, -45, -44, -44, -43, -44, -43, -43, -42, -43, -42, -42,
    -00123                 -42, -41, -41, -41, -40, -40, -40, -40, -39, -39, -39, -38, -38, -38, -37, -37,
    -00124                 -37, -37, -36, -36, -36, -36, -35, -35, -35, -34, -34, -34, -34, -33, -33, -33,
    -00125                 -32, -32, -32, -32, -31, -31, -31, -31, -30, -30, -30, -30, -29, -29, -29, -28,
    -00126                 -29, -28, -28, -27, -28, -27, -27, -27, -26, -26, -26, -26, -25, -25, -25, -25,
    -00127                 -25, -24, -24, -24, -23, -23, -23, -23, -22, -22, -22, -22, -22, -21, -21, -21,
    -00128                 -21, -21, -20, -20, -20, -20, -19, -19, -19, -19, -19, -18, -18, -18, -18, -18,
    -00129                 -18, -17, -17, -17, -17, -16, -16, -16, -16, -16, -15, -15, -15, -15, -15, -15,
    -00130                 -14, -14, -14, -14, -14, -14, -13, -13, -13, -13, -13, -12, -12, -12, -12, -12,
    -00131                 -12, -12, -11, -11, -11, -11, -11, -11, -11, -10, -10, -10, -10, -10, -10, -9,
    -00132                 -9, -9, -9, -9, -9, -8, -8, -8, -8, -8, -8, -8, -7, -7, -7, -7, -7, -7, -7, -7,
    -00133                 -6, -6, -6, -6, -6, -6, -6, -6, -5, -5, -5, -5, -5, -5, -5, -4, -4, -4, -4, -4,
    -00134                 -4, -4, -4, -3, -3, -3, -3, -3, -3, -3, -3, -3, -2, -2, -2, -2, -2, -2, -2, -2,
    -00135                 -1, -1, -1, -1, -1, -1, -1,
    -00136         };
    -00137 
    -00138 #endif /* TRIANGLE_HERMES_2048_H_ */
    -
    - - - - +
    1 #ifndef TRIANGLE_HERMES_2048_H_
    +
    2 #define TRIANGLE_HERMES_2048_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 /* triangle wave with distortion from Audacity
    +
    12 */
    +
    13 
    +
    14 #define TRIANGLE_HERMES_2048_NUM_CELLS 2048
    +
    15 #define TRIANGLE_HERMES_2048_SAMPLERATE 2048
    +
    16 
    +
    17 const char __attribute__((progmem)) TRIANGLE_HERMES_2048_DATA [] =
    +
    18  {
    +
    19  -1, 0, 0, 0, 0, 0, 0, 0, 0, 1,
    +
    20  0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 2, 3,
    +
    21  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4,
    +
    22  4, 4, 4, 4, 4, 5, 4, 4, 4, 4, 5, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 5, 5, 6, 6,
    +
    23  6, 6, 6, 6, 6, 6, 7, 6, 6, 7, 7, 7, 7, 7, 8, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9,
    +
    24  8, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 12, 11,
    +
    25  11, 12, 12, 12, 12, 12, 13, 12, 13, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15,
    +
    26  15, 15, 16, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17, 17, 18, 17, 18, 19, 18,
    +
    27  18, 19, 20, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 22, 22, 22, 22, 23, 23, 23,
    +
    28  23, 23, 24, 24, 24, 25, 25, 25, 25, 26, 26, 26, 26, 26, 27, 27, 27, 28, 28, 28,
    +
    29  28, 28, 29, 29, 29, 30, 30, 30, 30, 30, 31, 31, 31, 32, 32, 32, 32, 33, 33, 32,
    +
    30  33, 34, 34, 34, 34, 34, 35, 36, 35, 37, 37, 37, 37, 37, 38, 38, 38, 38, 39, 39,
    +
    31  39, 40, 40, 40, 40, 40, 41, 42, 41, 42, 43, 43, 43, 44, 44, 44, 44, 45, 46, 45,
    +
    32  46, 47, 47, 47, 47, 48, 48, 48, 48, 49, 50, 50, 50, 51, 51, 51, 51, 51, 52, 53,
    +
    33  52, 53, 54, 54, 54, 55, 56, 55, 55, 57, 57, 57, 57, 57, 58, 59, 58, 58, 60, 60,
    +
    34  60, 61, 62, 61, 62, 63, 63, 63, 63, 63, 64, 65, 65, 66, 66, 66, 66, 68, 68, 68,
    +
    35  68, 69, 69, 69, 69, 69, 71, 71, 71, 71, 72, 73, 72, 74, 74, 74, 74, 74, 76, 76,
    +
    36  76, 77, 77, 77, 77, 79, 79, 79, 79, 80, 81, 81, 81, 81, 82, 82, 82, 84, 84, 84,
    +
    37  84, 85, 86, 85, 86, 85, 87, 87, 87, 89, 89, 89, 89, 90, 90, 90, 90, 92, 92, 92,
    +
    38  92, 92, 93, 93, 93, 95, 95, 95, 95, 95, 96, 97, 97, 97, 98, 98, 98, 98, 99, 99,
    +
    39  99, 101, 101, 101, 101, 101, 102, 102, 102, 102, 103, 103, 103, 104, 104, 104,
    +
    40  104, 105, 105, 105, 105, 105, 105, 105, 105, 106, 106, 106, 106, 106, 106, 106,
    +
    41  106, 106, 107, 107, 107, 107, 107, 107, 107, 107, 108, 108, 108, 108, 108, 108,
    +
    42  108, 108, 108, 108, 108, 108, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
    +
    43  109, 109, 109, 109, 109, 109, 109, 109, 109, 110, 110, 110, 110, 110, 110, 110,
    +
    44  110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
    +
    45  110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 109, 109, 109,
    +
    46  109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 108, 108, 108,
    +
    47  108, 108, 108, 108, 108, 108, 108, 108, 108, 107, 107, 107, 107, 107, 107, 107,
    +
    48  107, 106, 106, 106, 106, 106, 106, 106, 105, 106, 106, 106, 105, 105, 105, 105,
    +
    49  104, 104, 104, 104, 104, 104, 104, 104, 104, 103, 103, 103, 103, 102, 102, 102,
    +
    50  102, 101, 101, 101, 100, 101, 100, 101, 99, 100, 100, 100, 100, 98, 99, 98, 97,
    +
    51  97, 97, 97, 97, 96, 96, 96, 96, 95, 95, 95, 94, 94, 94, 94, 93, 93, 93, 93, 92,
    +
    52  92, 92, 92, 91, 91, 91, 91, 90, 89, 90, 89, 88, 89, 88, 88, 87, 87, 87, 87, 86,
    +
    53  86, 86, 86, 85, 85, 85, 85, 85, 84, 84, 84, 84, 83, 83, 83, 83, 82, 82, 82, 81,
    +
    54  80, 81, 80, 80, 79, 80, 79, 79, 78, 78, 78, 77, 77, 77, 77, 77, 76, 76, 76, 76,
    +
    55  75, 75, 75, 74, 74, 74, 73, 73, 73, 72, 72, 71, 72, 71, 71, 70, 70, 70, 70, 70,
    +
    56  69, 69, 69, 69, 68, 68, 67, 67, 66, 67, 66, 65, 66, 65, 65, 65, 64, 64, 64, 64,
    +
    57  63, 63, 63, 62, 62, 62, 61, 61, 60, 61, 60, 59, 60, 59, 59, 59, 58, 58, 58, 58,
    +
    58  57, 57, 56, 56, 55, 56, 55, 55, 55, 54, 54, 54, 53, 53, 53, 52, 52, 52, 52, 51,
    +
    59  51, 51, 50, 50, 49, 50, 49, 49, 49, 48, 48, 48, 47, 47, 47, 47, 46, 46, 46, 45,
    +
    60  45, 45, 44, 44, 44, 43, 43, 43, 42, 43, 42, 42, 41, 41, 41, 41, 40, 40, 40, 40,
    +
    61  39, 39, 39, 38, 38, 38, 38, 37, 37, 37, 36, 36, 36, 36, 35, 35, 34, 35, 34, 34,
    +
    62  34, 34, 33, 33, 32, 32, 32, 32, 31, 31, 31, 31, 30, 30, 30, 29, 30, 29, 29, 28,
    +
    63  29, 28, 28, 27, 28, 27, 27, 27, 26, 26, 26, 26, 25, 25, 25, 24, 25, 24, 24, 24,
    +
    64  23, 23, 23, 23, 23, 22, 22, 22, 21, 22, 21, 21, 21, 20, 20, 20, 20, 20, 19, 19,
    +
    65  19, 19, 18, 18, 18, 18, 18, 18, 17, 17, 17, 17, 16, 17, 16, 16, 16, 16, 15, 15,
    +
    66  15, 15, 15, 14, 14, 14, 14, 14, 14, 13, 13, 13, 13, 13, 12, 12, 12, 12, 12, 12,
    +
    67  11, 11, 11, 11, 11, 11, 10, 10, 10, 10, 10, 10, 10, 9, 9, 9, 9, 9, 9, 8, 8, 8,
    +
    68  8, 8, 8, 8, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 4,
    +
    69  4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1,
    +
    70  1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1,
    +
    71  -2, -2, -2, -2, -2, -2, -2, -2, -2, -3, -2, -2, -3, -3, -3, -3, -3, -3, -3, -3,
    +
    72  -3, -4, -3, -3, -3, -3, -4, -3, -3, -4, -4, -4, -4, -4, -4, -4, -4, -5, -4, -4,
    +
    73  -4, -4, -5, -4, -4, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -5, -6, -5,
    +
    74  -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -6, -7, -7, -7, -6, -6, -7, -7, -7,
    +
    75  -7, -7, -7, -7, -7, -7, -8, -7, -8, -8, -8, -8, -8, -8, -9, -8, -8, -9, -9, -9,
    +
    76  -9, -10, -9, -9, -10, -10, -10, -10, -10, -10, -10, -10, -11, -11, -11, -11,
    +
    77  -11, -12, -11, -11, -11, -12, -12, -12, -12, -12, -13, -12, -13, -13, -13, -13,
    +
    78  -14, -14, -14, -14, -13, -14, -14, -14, -15, -15, -15, -15, -16, -16, -16, -16,
    +
    79  -16, -17, -16, -16, -16, -17, -17, -17, -17, -18, -18, -18, -19, -19, -19, -19,
    +
    80  -19, -20, -19, -19, -20, -20, -20, -20, -21, -21, -21, -21, -22, -22, -22, -22,
    +
    81  -23, -23, -23, -23, -23, -23, -24, -23, -23, -24, -25, -24, -24, -25, -26, -25,
    +
    82  -25, -26, -27, -26, -27, -28, -27, -27, -28, -29, -28, -28, -29, -30, -29, -29,
    +
    83  -30, -31, -30, -31, -31, -32, -32, -32, -33, -33, -33, -33, -34, -34, -34, -34,
    +
    84  -35, -35, -35, -35, -35, -36, -36, -36, -36, -37, -38, -37, -39, -39, -39, -39,
    +
    85  -39, -40, -40, -40, -40, -41, -41, -41, -41, -42, -43, -42, -44, -44, -44, -44,
    +
    86  -44, -45, -45, -45, -45, -46, -47, -46, -47, -48, -48, -48, -48, -49, -49, -49,
    +
    87  -49, -51, -51, -51, -51, -52, -52, -52, -52, -53, -54, -54, -54, -55, -55, -55,
    +
    88  -55, -56, -57, -57, -57, -58, -58, -58, -58, -59, -60, -60, -60, -61, -61, -61,
    +
    89  -61, -63, -63, -63, -63, -64, -65, -64, -66, -66, -66, -66, -66, -67, -68, -67,
    +
    90  -68, -69, -69, -69, -71, -71, -71, -71, -72, -72, -72, -72, -74, -74, -74, -74,
    +
    91  -75, -76, -75, -76, -77, -77, -77, -77, -77, -78, -79, -79, -80, -80, -80, -80,
    +
    92  -80, -82, -82, -82, -83, -83, -83, -83, -85, -85, -85, -85, -86, -87, -86, -87,
    +
    93  -87, -88, -88, -88, -88, -90, -90, -90, -90, -91, -91, -91, -91, -93, -93, -93,
    +
    94  -93, -94, -94, -94, -94, -96, -96, -96, -96, -97, -97, -97, -97, -99, -99, -99,
    +
    95  -100, -100, -100, -100, -101, -101, -101, -101, -101, -103, -103, -103, -103,
    +
    96  -104, -104, -104, -105, -105, -105, -105, -105, -105, -105, -105, -105, -106,
    +
    97  -106, -106, -106, -107, -107, -107, -107, -107, -107, -107, -108, -108, -108,
    +
    98  -108, -108, -108, -108, -108, -108, -109, -109, -109, -109, -109, -109, -109,
    +
    99  -109, -109, -109, -109, -110, -110, -110, -109, -110, -110, -110, -110, -110,
    +
    100  -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -110, -111,
    +
    101  -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +
    102  -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +
    103  -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
    +
    104  -111, -111, -111, -111, -110, -110, -110, -110, -110, -110, -110, -110, -110,
    +
    105  -110, -110, -110, -110, -110, -110, -110, -110, -109, -109, -109, -109, -109,
    +
    106  -109, -109, -109, -109, -109, -109, -108, -108, -108, -108, -108, -108, -108,
    +
    107  -108, -108, -107, -108, -108, -107, -107, -107, -107, -107, -107, -107, -107,
    +
    108  -106, -106, -106, -106, -105, -106, -106, -105, -105, -105, -105, -105, -104,
    +
    109  -104, -104, -104, -103, -103, -103, -103, -102, -102, -102, -102, -101, -102,
    +
    110  -102, -102, -101, -100, -101, -100, -99, -99, -99, -99, -98, -98, -98, -98, -98,
    +
    111  -97, -97, -97, -96, -96, -96, -96, -95, -95, -95, -95, -94, -94, -94, -94, -92,
    +
    112  -93, -92, -92, -92, -91, -91, -91, -90, -90, -90, -90, -90, -89, -89, -89, -89,
    +
    113  -88, -88, -88, -87, -87, -87, -87, -87, -86, -86, -86, -86, -85, -85, -85, -84,
    +
    114  -84, -84, -83, -83, -82, -83, -82, -81, -82, -81, -81, -80, -80, -80, -80, -80,
    +
    115  -79, -79, -79, -78, -78, -78, -78, -78, -77, -77, -77, -76, -76, -76, -75, -75,
    +
    116  -74, -75, -74, -74, -73, -73, -73, -72, -72, -72, -72, -71, -71, -71, -71, -71,
    +
    117  -70, -70, -70, -69, -68, -69, -68, -68, -68, -67, -67, -66, -67, -66, -66, -66,
    +
    118  -65, -65, -65, -65, -64, -64, -64, -63, -63, -63, -62, -62, -62, -61, -61, -60,
    +
    119  -61, -60, -60, -59, -59, -59, -59, -58, -58, -58, -58, -57, -57, -56, -56, -56,
    +
    120  -55, -56, -55, -54, -55, -54, -54, -54, -53, -53, -53, -52, -52, -52, -52, -51,
    +
    121  -51, -51, -50, -50, -49, -50, -49, -49, -49, -48, -48, -47, -47, -47, -47, -46,
    +
    122  -46, -46, -45, -45, -45, -45, -44, -44, -43, -44, -43, -43, -42, -43, -42, -42,
    +
    123  -42, -41, -41, -41, -40, -40, -40, -40, -39, -39, -39, -38, -38, -38, -37, -37,
    +
    124  -37, -37, -36, -36, -36, -36, -35, -35, -35, -34, -34, -34, -34, -33, -33, -33,
    +
    125  -32, -32, -32, -32, -31, -31, -31, -31, -30, -30, -30, -30, -29, -29, -29, -28,
    +
    126  -29, -28, -28, -27, -28, -27, -27, -27, -26, -26, -26, -26, -25, -25, -25, -25,
    +
    127  -25, -24, -24, -24, -23, -23, -23, -23, -22, -22, -22, -22, -22, -21, -21, -21,
    +
    128  -21, -21, -20, -20, -20, -20, -19, -19, -19, -19, -19, -18, -18, -18, -18, -18,
    +
    129  -18, -17, -17, -17, -17, -16, -16, -16, -16, -16, -15, -15, -15, -15, -15, -15,
    +
    130  -14, -14, -14, -14, -14, -14, -13, -13, -13, -13, -13, -12, -12, -12, -12, -12,
    +
    131  -12, -12, -11, -11, -11, -11, -11, -11, -11, -10, -10, -10, -10, -10, -10, -9,
    +
    132  -9, -9, -9, -9, -9, -8, -8, -8, -8, -8, -8, -8, -7, -7, -7, -7, -7, -7, -7, -7,
    +
    133  -6, -6, -6, -6, -6, -6, -6, -6, -5, -5, -5, -5, -5, -5, -5, -4, -4, -4, -4, -4,
    +
    134  -4, -4, -4, -3, -3, -3, -3, -3, -3, -3, -3, -3, -2, -2, -2, -2, -2, -2, -2, -2,
    +
    135  -1, -1, -1, -1, -1, -1, -1,
    +
    136  };
    +
    137 
    +
    138 #endif /* TRIANGLE_HERMES_2048_H_ */
    +
    + + + diff --git a/doc/html/triangle__valve__2048__int8_8h_source.html b/doc/html/triangle__valve__2048__int8_8h_source.html index 12dcc6e56..a1e07c67e 100644 --- a/doc/html/triangle__valve__2048__int8_8h_source.html +++ b/doc/html/triangle__valve__2048__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: tables/triangle_valve_2048_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,154 +99,156 @@
    -
    tables/triangle_valve_2048_int8.h
    +
    triangle_valve_2048_int8.h
    -
    00001 #ifndef TRIANGLE_VALVE_2048_H_
    -00002 #define TRIANGLE_VALVE_2048_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 /* triangle wave with distortion from Audacity
    -00012 */
    -00013 
    -00014 #define TRIANGLE_VALVE_2048_NUM_CELLS 2048
    -00015 #define TRIANGLE_VALVE_2048_SAMPLERATE 2048
    -00016 
    -00017 const char __attribute__((progmem)) TRIANGLE_VALVE_2048_DATA []  =
    -00018         {
    -00019                 22, 22, 22, 23, 23, 23, 23, 23,
    -00020                 24, 24, 24, 24, 24, 25, 25, 25, 25, 26, 26, 26, 26, 26, 27, 27, 27, 27, 27, 27,
    -00021                 28, 28, 28, 28, 29, 29, 29, 29, 30, 30, 30, 30, 30, 31, 31, 31, 31, 31, 32, 32,
    -00022                 32, 32, 32, 33, 33, 32, 33, 33, 34, 34, 34, 34, 35, 35, 35, 35, 35, 36, 36, 36,
    -00023                 36, 36, 37, 37, 37, 37, 37, 38, 38, 38, 38, 38, 38, 39, 39, 39, 39, 39, 40, 40,
    -00024                 40, 40, 40, 41, 41, 41, 41, 41, 42, 42, 42, 42, 42, 43, 43, 43, 43, 43, 44, 44,
    -00025                 44, 44, 44, 45, 45, 45, 45, 45, 46, 46, 46, 46, 46, 47, 47, 47, 47, 47, 48, 48,
    -00026                 48, 48, 48, 48, 49, 49, 49, 49, 49, 49, 50, 50, 50, 50, 50, 51, 51, 51, 51, 51,
    -00027                 52, 52, 52, 52, 52, 52, 53, 53, 53, 53, 53, 54, 54, 54, 54, 54, 54, 55, 55, 55,
    -00028                 55, 55, 55, 55, 56, 56, 56, 56, 56, 57, 57, 57, 57, 57, 58, 58, 58, 58, 58, 58,
    -00029                 59, 59, 59, 59, 59, 60, 60, 60, 60, 60, 60, 61, 61, 61, 61, 61, 61, 61, 62, 62,
    -00030                 62, 62, 62, 62, 63, 63, 63, 63, 63, 63, 64, 64, 64, 64, 64, 64, 65, 65, 65, 65,
    -00031                 65, 65, 66, 66, 66, 66, 66, 66, 67, 67, 67, 67, 67, 67, 68, 68, 68, 68, 68, 68,
    -00032                 68, 69, 69, 69, 69, 69, 69, 70, 70, 70, 70, 70, 70, 70, 71, 71, 71, 71, 71, 71,
    -00033                 72, 72, 72, 72, 72, 72, 73, 73, 73, 73, 73, 73, 74, 74, 74, 74, 74, 74, 75, 75,
    -00034                 75, 75, 75, 75, 75, 76, 76, 76, 76, 76, 76, 76, 76, 77, 77, 77, 77, 77, 77, 78,
    -00035                 78, 78, 78, 78, 78, 78, 79, 79, 79, 79, 79, 79, 79, 80, 80, 80, 80, 80, 80, 81,
    -00036                 81, 81, 81, 81, 81, 81, 81, 82, 82, 82, 82, 82, 82, 83, 83, 83, 83, 83, 83, 83,
    -00037                 83, 84, 84, 84, 84, 84, 84, 84, 85, 85, 85, 85, 85, 85, 85, 86, 86, 86, 86, 86,
    -00038                 86, 86, 87, 87, 87, 87, 87, 87, 87, 87, 88, 88, 88, 88, 88, 88, 88, 89, 89, 89,
    -00039                 89, 89, 89, 89, 89, 90, 90, 90, 90, 90, 90, 90, 91, 91, 91, 91, 91, 91, 91, 91,
    -00040                 92, 92, 92, 92, 92, 92, 92, 92, 92, 93, 93, 93, 93, 93, 93, 93, 94, 94, 94, 94,
    -00041                 94, 94, 94, 94, 94, 95, 95, 95, 95, 95, 95, 96, 96, 96, 96, 96, 96, 96, 96, 97,
    -00042                 97, 97, 97, 97, 97, 97, 97, 97, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 99, 99,
    -00043                 99, 99, 99, 99, 99, 99, 100, 100, 100, 100, 100, 100, 100, 101, 101, 101, 101,
    -00044                 101, 101, 101, 101, 101, 102, 102, 102, 102, 102, 102, 102, 102, 103, 103, 103,
    -00045                 103, 103, 103, 103, 103, 103, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
    -00046                 104, 104, 104, 103, 103, 103, 103, 102, 102, 102, 101, 101, 100, 100, 100, 99,
    -00047                 99, 98, 98, 98, 97, 97, 96, 96, 96, 95, 95, 95, 94, 94, 93, 93, 93, 92, 92, 92,
    -00048                 91, 91, 90, 90, 90, 89, 89, 89, 88, 88, 88, 87, 87, 86, 86, 86, 85, 85, 84, 84,
    -00049                 84, 83, 83, 83, 82, 82, 81, 81, 81, 80, 80, 80, 79, 79, 79, 78, 78, 78, 77, 77,
    -00050                 77, 76, 76, 76, 75, 75, 75, 74, 74, 74, 73, 73, 72, 72, 72, 71, 71, 71, 70, 70,
    -00051                 70, 69, 69, 69, 68, 68, 68, 67, 67, 67, 66, 66, 66, 65, 65, 65, 64, 64, 64, 63,
    -00052                 63, 62, 62, 62, 61, 61, 61, 61, 60, 60, 60, 59, 59, 59, 58, 58, 58, 57, 57, 57,
    -00053                 56, 56, 56, 55, 55, 55, 54, 54, 54, 53, 53, 53, 53, 52, 52, 52, 51, 51, 51, 50,
    -00054                 50, 50, 49, 49, 49, 49, 48, 48, 48, 47, 47, 47, 46, 46, 46, 45, 45, 45, 44, 44,
    -00055                 44, 43, 43, 43, 43, 42, 42, 42, 41, 41, 41, 40, 40, 40, 39, 39, 39, 38, 38, 38,
    -00056                 38, 37, 37, 37, 36, 36, 36, 36, 35, 35, 35, 34, 34, 34, 34, 33, 33, 32, 32, 32,
    -00057                 32, 31, 31, 31, 31, 30, 30, 30, 29, 29, 29, 29, 28, 28, 28, 27, 27, 27, 27, 26,
    -00058                 26, 26, 25, 25, 25, 25, 24, 24, 24, 23, 23, 23, 23, 22, 22, 22, 21, 21, 21, 21,
    -00059                 20, 20, 20, 20, 19, 19, 19, 18, 18, 18, 18, 17, 17, 17, 16, 16, 16, 16, 15, 15,
    -00060                 15, 15, 14, 14, 14, 13, 13, 13, 13, 12, 12, 12, 12, 11, 11, 11, 11, 10, 10, 10,
    -00061                 10, 9, 9, 9, 8, 8, 8, 8, 7, 7, 7, 7, 6, 6, 6, 6, 5, 5, 5, 5, 4, 4, 4, 3, 3, 3,
    -00062                 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0, -1, -1, -1, -1, -2, -2, -2, -2, -3, -3,
    -00063                 -3, -3, -3, -4, -4, -4, -4, -5, -5, -5, -5, -6, -6, -6, -6, -7, -7, -7, -7, -8,
    -00064                 -8, -8, -8, -9, -9, -9, -9, -10, -10, -10, -10, -11, -11, -11, -11, -11, -12,
    -00065                 -12, -12, -12, -13, -13, -13, -13, -13, -14, -14, -14, -14, -15, -15, -15, -15,
    -00066                 -16, -16, -16, -16, -17, -17, -17, -17, -18, -18, -18, -18, -18, -19, -19, -19,
    -00067                 -19, -19, -20, -20, -20, -20, -21, -21, -21, -21, -21, -22, -22, -22, -22, -23,
    -00068                 -23, -23, -23, -24, -24, -24, -24, -24, -25, -25, -25, -25, -25, -26, -26, -26,
    -00069                 -26, -27, -27, -27, -27, -27, -28, -28, -28, -28, -28, -29, -29, -29, -29, -29,
    -00070                 -30, -30, -30, -30, -31, -31, -31, -31, -31, -32, -32, -32, -32, -32, -33, -33,
    -00071                 -33, -33, -34, -34, -34, -34, -34, -35, -35, -35, -35, -35, -36, -36, -36, -36,
    -00072                 -36, -37, -37, -37, -37, -37, -38, -38, -38, -38, -38, -39, -39, -39, -39, -39,
    -00073                 -40, -40, -40, -40, -40, -41, -41, -41, -41, -42, -42, -42, -42, -42, -43, -43,
    -00074                 -43, -43, -43, -44, -44, -44, -44, -44, -44, -45, -45, -45, -45, -45, -45, -46,
    -00075                 -46, -46, -46, -46, -47, -47, -47, -47, -47, -48, -48, -48, -48, -48, -49, -49,
    -00076                 -49, -49, -49, -49, -50, -50, -50, -50, -50, -51, -51, -51, -51, -51, -51, -52,
    -00077                 -52, -52, -52, -52, -53, -53, -53, -53, -53, -54, -54, -54, -54, -54, -54, -55,
    -00078                 -55, -55, -55, -55, -55, -56, -56, -56, -56, -56, -56, -57, -57, -57, -57, -57,
    -00079                 -58, -58, -58, -58, -58, -58, -59, -59, -59, -59, -59, -59, -60, -60, -60, -60,
    -00080                 -60, -61, -61, -61, -61, -61, -61, -62, -62, -62, -62, -62, -62, -63, -63, -63,
    -00081                 -63, -63, -63, -63, -64, -64, -64, -64, -64, -65, -65, -65, -65, -65, -65, -66,
    -00082                 -66, -66, -66, -66, -66, -67, -67, -67, -67, -67, -67, -68, -68, -68, -68, -68,
    -00083                 -68, -68, -69, -69, -69, -69, -69, -69, -70, -70, -70, -70, -70, -70, -71, -71,
    -00084                 -71, -71, -71, -71, -71, -72, -72, -72, -72, -72, -72, -72, -73, -73, -73, -73,
    -00085                 -73, -73, -73, -73, -74, -74, -74, -74, -74, -74, -74, -74, -75, -75, -75, -75,
    -00086                 -75, -75, -76, -76, -76, -76, -76, -76, -76, -77, -77, -77, -77, -77, -77, -77,
    -00087                 -77, -77, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -79, -79, -79, -79,
    -00088                 -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -80, -80, -80, -80, -80, -80,
    -00089                 -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
    -00090                 -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
    -00091                 -81, -81, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
    -00092                 -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -79, -79, -79, -79,
    -00093                 -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -78, -78, -78, -78, -78,
    -00094                 -78, -78, -78, -78, -78, -78, -78, -77, -77, -77, -77, -77, -77, -77, -77, -77,
    -00095                 -77, -77, -77, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -75, -75,
    -00096                 -75, -75, -75, -75, -75, -75, -75, -75, -75, -74, -74, -74, -74, -74, -74, -74,
    -00097                 -74, -74, -74, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -72, -72,
    -00098                 -72, -72, -72, -72, -72, -72, -72, -72, -72, -71, -71, -71, -71, -71, -71, -71,
    -00099                 -71, -71, -71, -71, -70, -70, -70, -70, -70, -70, -70, -70, -70, -70, -70, -69,
    -00100                 -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -68, -68, -68, -68, -68, -68,
    -00101                 -68, -68, -68, -68, -68, -68, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67,
    -00102                 -67, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -65, -65, -65,
    -00103                 -65, -65, -65, -65, -65, -65, -65, -65, -65, -64, -64, -64, -64, -64, -64, -64,
    -00104                 -64, -64, -64, -64, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63,
    -00105                 -63, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -61, -61, -61,
    -00106                 -61, -61, -61, -61, -61, -61, -61, -61, -61, -60, -60, -60, -60, -60, -60, -60,
    -00107                 -60, -60, -60, -60, -60, -60, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59,
    -00108                 -59, -59, -59, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58,
    -00109                 -58, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -56, -56,
    -00110                 -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -55, -55, -55, -55,
    -00111                 -55, -55, -55, -55, -55, -55, -55, -55, -55, -54, -54, -54, -54, -54, -54, -54,
    -00112                 -54, -54, -54, -54, -54, -54, -54, -54, -53, -53, -53, -53, -53, -53, -53, -53,
    -00113                 -53, -53, -53, -53, -53, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52,
    -00114                 -52, -52, -52, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51,
    -00115                 -51, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -49, -49, -49,
    -00116                 -49, -49, -49, -49, -49, -49, -49, -49, -49, -48, -48, -48, -48, -48, -48, -48,
    -00117                 -48, -48, -48, -48, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -46, -46,
    -00118                 -46, -46, -46, -46, -46, -46, -45, -45, -45, -45, -45, -45, -45, -45, -44, -44,
    -00119                 -44, -44, -44, -44, -44, -43, -43, -43, -43, -43, -43, -42, -42, -42, -42, -42,
    -00120                 -42, -41, -41, -41, -41, -41, -41, -40, -40, -40, -40, -40, -40, -39, -39, -39,
    -00121                 -39, -39, -38, -38, -38, -38, -37, -37, -37, -37, -37, -36, -36, -36, -36, -36,
    -00122                 -35, -35, -35, -35, -34, -34, -34, -34, -33, -33, -33, -33, -32, -32, -32, -32,
    -00123                 -32, -31, -31, -31, -31, -30, -30, -30, -30, -29, -29, -29, -28, -28, -28, -28,
    -00124                 -27, -27, -27, -27, -26, -26, -26, -26, -25, -25, -25, -25, -24, -24, -24, -24,
    -00125                 -23, -23, -23, -22, -22, -22, -22, -21, -21, -21, -21, -20, -20, -20, -20, -19,
    -00126                 -19, -19, -19, -18, -18, -18, -17, -17, -17, -17, -16, -16, -16, -15, -15, -15,
    -00127                 -15, -14, -14, -14, -14, -13, -13, -13, -13, -12, -12, -12, -12, -11, -11, -11,
    -00128                 -11, -10, -10, -10, -10, -9, -9, -9, -8, -8, -8, -8, -7, -7, -7, -7, -6, -6, -6,
    -00129                 -6, -5, -5, -5, -5, -4, -4, -4, -4, -3, -3, -3, -2, -2, -2, -2, -1, -1, -1, -1,
    -00130                 -1, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6,
    -00131                 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 11,
    -00132                 12, 12, 12, 12, 13, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 15, 16, 16,
    -00133                 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19, 19, 19, 20, 20, 20, 20, 21,
    -00134                 21, 21, 21, 21, 22, 22, 22, 22, 23, 23, 23, 23,
    -00135         };
    -00136 
    -00137 #endif /* TRIANGLE_VALVE_2048_H_ */
    -
    - - - - +
    1 #ifndef TRIANGLE_VALVE_2048_H_
    +
    2 #define TRIANGLE_VALVE_2048_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 /* triangle wave with distortion from Audacity
    +
    12 */
    +
    13 
    +
    14 #define TRIANGLE_VALVE_2048_NUM_CELLS 2048
    +
    15 #define TRIANGLE_VALVE_2048_SAMPLERATE 2048
    +
    16 
    +
    17 const char __attribute__((progmem)) TRIANGLE_VALVE_2048_DATA [] =
    +
    18  {
    +
    19  22, 22, 22, 23, 23, 23, 23, 23,
    +
    20  24, 24, 24, 24, 24, 25, 25, 25, 25, 26, 26, 26, 26, 26, 27, 27, 27, 27, 27, 27,
    +
    21  28, 28, 28, 28, 29, 29, 29, 29, 30, 30, 30, 30, 30, 31, 31, 31, 31, 31, 32, 32,
    +
    22  32, 32, 32, 33, 33, 32, 33, 33, 34, 34, 34, 34, 35, 35, 35, 35, 35, 36, 36, 36,
    +
    23  36, 36, 37, 37, 37, 37, 37, 38, 38, 38, 38, 38, 38, 39, 39, 39, 39, 39, 40, 40,
    +
    24  40, 40, 40, 41, 41, 41, 41, 41, 42, 42, 42, 42, 42, 43, 43, 43, 43, 43, 44, 44,
    +
    25  44, 44, 44, 45, 45, 45, 45, 45, 46, 46, 46, 46, 46, 47, 47, 47, 47, 47, 48, 48,
    +
    26  48, 48, 48, 48, 49, 49, 49, 49, 49, 49, 50, 50, 50, 50, 50, 51, 51, 51, 51, 51,
    +
    27  52, 52, 52, 52, 52, 52, 53, 53, 53, 53, 53, 54, 54, 54, 54, 54, 54, 55, 55, 55,
    +
    28  55, 55, 55, 55, 56, 56, 56, 56, 56, 57, 57, 57, 57, 57, 58, 58, 58, 58, 58, 58,
    +
    29  59, 59, 59, 59, 59, 60, 60, 60, 60, 60, 60, 61, 61, 61, 61, 61, 61, 61, 62, 62,
    +
    30  62, 62, 62, 62, 63, 63, 63, 63, 63, 63, 64, 64, 64, 64, 64, 64, 65, 65, 65, 65,
    +
    31  65, 65, 66, 66, 66, 66, 66, 66, 67, 67, 67, 67, 67, 67, 68, 68, 68, 68, 68, 68,
    +
    32  68, 69, 69, 69, 69, 69, 69, 70, 70, 70, 70, 70, 70, 70, 71, 71, 71, 71, 71, 71,
    +
    33  72, 72, 72, 72, 72, 72, 73, 73, 73, 73, 73, 73, 74, 74, 74, 74, 74, 74, 75, 75,
    +
    34  75, 75, 75, 75, 75, 76, 76, 76, 76, 76, 76, 76, 76, 77, 77, 77, 77, 77, 77, 78,
    +
    35  78, 78, 78, 78, 78, 78, 79, 79, 79, 79, 79, 79, 79, 80, 80, 80, 80, 80, 80, 81,
    +
    36  81, 81, 81, 81, 81, 81, 81, 82, 82, 82, 82, 82, 82, 83, 83, 83, 83, 83, 83, 83,
    +
    37  83, 84, 84, 84, 84, 84, 84, 84, 85, 85, 85, 85, 85, 85, 85, 86, 86, 86, 86, 86,
    +
    38  86, 86, 87, 87, 87, 87, 87, 87, 87, 87, 88, 88, 88, 88, 88, 88, 88, 89, 89, 89,
    +
    39  89, 89, 89, 89, 89, 90, 90, 90, 90, 90, 90, 90, 91, 91, 91, 91, 91, 91, 91, 91,
    +
    40  92, 92, 92, 92, 92, 92, 92, 92, 92, 93, 93, 93, 93, 93, 93, 93, 94, 94, 94, 94,
    +
    41  94, 94, 94, 94, 94, 95, 95, 95, 95, 95, 95, 96, 96, 96, 96, 96, 96, 96, 96, 97,
    +
    42  97, 97, 97, 97, 97, 97, 97, 97, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 99, 99,
    +
    43  99, 99, 99, 99, 99, 99, 100, 100, 100, 100, 100, 100, 100, 101, 101, 101, 101,
    +
    44  101, 101, 101, 101, 101, 102, 102, 102, 102, 102, 102, 102, 102, 103, 103, 103,
    +
    45  103, 103, 103, 103, 103, 103, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
    +
    46  104, 104, 104, 103, 103, 103, 103, 102, 102, 102, 101, 101, 100, 100, 100, 99,
    +
    47  99, 98, 98, 98, 97, 97, 96, 96, 96, 95, 95, 95, 94, 94, 93, 93, 93, 92, 92, 92,
    +
    48  91, 91, 90, 90, 90, 89, 89, 89, 88, 88, 88, 87, 87, 86, 86, 86, 85, 85, 84, 84,
    +
    49  84, 83, 83, 83, 82, 82, 81, 81, 81, 80, 80, 80, 79, 79, 79, 78, 78, 78, 77, 77,
    +
    50  77, 76, 76, 76, 75, 75, 75, 74, 74, 74, 73, 73, 72, 72, 72, 71, 71, 71, 70, 70,
    +
    51  70, 69, 69, 69, 68, 68, 68, 67, 67, 67, 66, 66, 66, 65, 65, 65, 64, 64, 64, 63,
    +
    52  63, 62, 62, 62, 61, 61, 61, 61, 60, 60, 60, 59, 59, 59, 58, 58, 58, 57, 57, 57,
    +
    53  56, 56, 56, 55, 55, 55, 54, 54, 54, 53, 53, 53, 53, 52, 52, 52, 51, 51, 51, 50,
    +
    54  50, 50, 49, 49, 49, 49, 48, 48, 48, 47, 47, 47, 46, 46, 46, 45, 45, 45, 44, 44,
    +
    55  44, 43, 43, 43, 43, 42, 42, 42, 41, 41, 41, 40, 40, 40, 39, 39, 39, 38, 38, 38,
    +
    56  38, 37, 37, 37, 36, 36, 36, 36, 35, 35, 35, 34, 34, 34, 34, 33, 33, 32, 32, 32,
    +
    57  32, 31, 31, 31, 31, 30, 30, 30, 29, 29, 29, 29, 28, 28, 28, 27, 27, 27, 27, 26,
    +
    58  26, 26, 25, 25, 25, 25, 24, 24, 24, 23, 23, 23, 23, 22, 22, 22, 21, 21, 21, 21,
    +
    59  20, 20, 20, 20, 19, 19, 19, 18, 18, 18, 18, 17, 17, 17, 16, 16, 16, 16, 15, 15,
    +
    60  15, 15, 14, 14, 14, 13, 13, 13, 13, 12, 12, 12, 12, 11, 11, 11, 11, 10, 10, 10,
    +
    61  10, 9, 9, 9, 8, 8, 8, 8, 7, 7, 7, 7, 6, 6, 6, 6, 5, 5, 5, 5, 4, 4, 4, 3, 3, 3,
    +
    62  3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0, -1, -1, -1, -1, -2, -2, -2, -2, -3, -3,
    +
    63  -3, -3, -3, -4, -4, -4, -4, -5, -5, -5, -5, -6, -6, -6, -6, -7, -7, -7, -7, -8,
    +
    64  -8, -8, -8, -9, -9, -9, -9, -10, -10, -10, -10, -11, -11, -11, -11, -11, -12,
    +
    65  -12, -12, -12, -13, -13, -13, -13, -13, -14, -14, -14, -14, -15, -15, -15, -15,
    +
    66  -16, -16, -16, -16, -17, -17, -17, -17, -18, -18, -18, -18, -18, -19, -19, -19,
    +
    67  -19, -19, -20, -20, -20, -20, -21, -21, -21, -21, -21, -22, -22, -22, -22, -23,
    +
    68  -23, -23, -23, -24, -24, -24, -24, -24, -25, -25, -25, -25, -25, -26, -26, -26,
    +
    69  -26, -27, -27, -27, -27, -27, -28, -28, -28, -28, -28, -29, -29, -29, -29, -29,
    +
    70  -30, -30, -30, -30, -31, -31, -31, -31, -31, -32, -32, -32, -32, -32, -33, -33,
    +
    71  -33, -33, -34, -34, -34, -34, -34, -35, -35, -35, -35, -35, -36, -36, -36, -36,
    +
    72  -36, -37, -37, -37, -37, -37, -38, -38, -38, -38, -38, -39, -39, -39, -39, -39,
    +
    73  -40, -40, -40, -40, -40, -41, -41, -41, -41, -42, -42, -42, -42, -42, -43, -43,
    +
    74  -43, -43, -43, -44, -44, -44, -44, -44, -44, -45, -45, -45, -45, -45, -45, -46,
    +
    75  -46, -46, -46, -46, -47, -47, -47, -47, -47, -48, -48, -48, -48, -48, -49, -49,
    +
    76  -49, -49, -49, -49, -50, -50, -50, -50, -50, -51, -51, -51, -51, -51, -51, -52,
    +
    77  -52, -52, -52, -52, -53, -53, -53, -53, -53, -54, -54, -54, -54, -54, -54, -55,
    +
    78  -55, -55, -55, -55, -55, -56, -56, -56, -56, -56, -56, -57, -57, -57, -57, -57,
    +
    79  -58, -58, -58, -58, -58, -58, -59, -59, -59, -59, -59, -59, -60, -60, -60, -60,
    +
    80  -60, -61, -61, -61, -61, -61, -61, -62, -62, -62, -62, -62, -62, -63, -63, -63,
    +
    81  -63, -63, -63, -63, -64, -64, -64, -64, -64, -65, -65, -65, -65, -65, -65, -66,
    +
    82  -66, -66, -66, -66, -66, -67, -67, -67, -67, -67, -67, -68, -68, -68, -68, -68,
    +
    83  -68, -68, -69, -69, -69, -69, -69, -69, -70, -70, -70, -70, -70, -70, -71, -71,
    +
    84  -71, -71, -71, -71, -71, -72, -72, -72, -72, -72, -72, -72, -73, -73, -73, -73,
    +
    85  -73, -73, -73, -73, -74, -74, -74, -74, -74, -74, -74, -74, -75, -75, -75, -75,
    +
    86  -75, -75, -76, -76, -76, -76, -76, -76, -76, -77, -77, -77, -77, -77, -77, -77,
    +
    87  -77, -77, -78, -78, -78, -78, -78, -78, -78, -78, -78, -78, -79, -79, -79, -79,
    +
    88  -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -80, -80, -80, -80, -80, -80,
    +
    89  -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
    +
    90  -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
    +
    91  -81, -81, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
    +
    92  -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -79, -79, -79, -79,
    +
    93  -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -79, -78, -78, -78, -78, -78,
    +
    94  -78, -78, -78, -78, -78, -78, -78, -77, -77, -77, -77, -77, -77, -77, -77, -77,
    +
    95  -77, -77, -77, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -76, -75, -75,
    +
    96  -75, -75, -75, -75, -75, -75, -75, -75, -75, -74, -74, -74, -74, -74, -74, -74,
    +
    97  -74, -74, -74, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -73, -72, -72,
    +
    98  -72, -72, -72, -72, -72, -72, -72, -72, -72, -71, -71, -71, -71, -71, -71, -71,
    +
    99  -71, -71, -71, -71, -70, -70, -70, -70, -70, -70, -70, -70, -70, -70, -70, -69,
    +
    100  -69, -69, -69, -69, -69, -69, -69, -69, -69, -69, -68, -68, -68, -68, -68, -68,
    +
    101  -68, -68, -68, -68, -68, -68, -67, -67, -67, -67, -67, -67, -67, -67, -67, -67,
    +
    102  -67, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -66, -65, -65, -65,
    +
    103  -65, -65, -65, -65, -65, -65, -65, -65, -65, -64, -64, -64, -64, -64, -64, -64,
    +
    104  -64, -64, -64, -64, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63, -63,
    +
    105  -63, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -62, -61, -61, -61,
    +
    106  -61, -61, -61, -61, -61, -61, -61, -61, -61, -60, -60, -60, -60, -60, -60, -60,
    +
    107  -60, -60, -60, -60, -60, -60, -59, -59, -59, -59, -59, -59, -59, -59, -59, -59,
    +
    108  -59, -59, -59, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58, -58,
    +
    109  -58, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -57, -56, -56,
    +
    110  -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -55, -55, -55, -55,
    +
    111  -55, -55, -55, -55, -55, -55, -55, -55, -55, -54, -54, -54, -54, -54, -54, -54,
    +
    112  -54, -54, -54, -54, -54, -54, -54, -54, -53, -53, -53, -53, -53, -53, -53, -53,
    +
    113  -53, -53, -53, -53, -53, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -52,
    +
    114  -52, -52, -52, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51, -51,
    +
    115  -51, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -49, -49, -49,
    +
    116  -49, -49, -49, -49, -49, -49, -49, -49, -49, -48, -48, -48, -48, -48, -48, -48,
    +
    117  -48, -48, -48, -48, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -46, -46,
    +
    118  -46, -46, -46, -46, -46, -46, -45, -45, -45, -45, -45, -45, -45, -45, -44, -44,
    +
    119  -44, -44, -44, -44, -44, -43, -43, -43, -43, -43, -43, -42, -42, -42, -42, -42,
    +
    120  -42, -41, -41, -41, -41, -41, -41, -40, -40, -40, -40, -40, -40, -39, -39, -39,
    +
    121  -39, -39, -38, -38, -38, -38, -37, -37, -37, -37, -37, -36, -36, -36, -36, -36,
    +
    122  -35, -35, -35, -35, -34, -34, -34, -34, -33, -33, -33, -33, -32, -32, -32, -32,
    +
    123  -32, -31, -31, -31, -31, -30, -30, -30, -30, -29, -29, -29, -28, -28, -28, -28,
    +
    124  -27, -27, -27, -27, -26, -26, -26, -26, -25, -25, -25, -25, -24, -24, -24, -24,
    +
    125  -23, -23, -23, -22, -22, -22, -22, -21, -21, -21, -21, -20, -20, -20, -20, -19,
    +
    126  -19, -19, -19, -18, -18, -18, -17, -17, -17, -17, -16, -16, -16, -15, -15, -15,
    +
    127  -15, -14, -14, -14, -14, -13, -13, -13, -13, -12, -12, -12, -12, -11, -11, -11,
    +
    128  -11, -10, -10, -10, -10, -9, -9, -9, -8, -8, -8, -8, -7, -7, -7, -7, -6, -6, -6,
    +
    129  -6, -5, -5, -5, -5, -4, -4, -4, -4, -3, -3, -3, -2, -2, -2, -2, -1, -1, -1, -1,
    +
    130  -1, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6,
    +
    131  6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 11,
    +
    132  12, 12, 12, 12, 13, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 15, 16, 16,
    +
    133  16, 16, 17, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19, 19, 19, 20, 20, 20, 20, 21,
    +
    134  21, 21, 21, 21, 22, 22, 22, 22, 23, 23, 23, 23,
    +
    135  };
    +
    136 
    +
    137 #endif /* TRIANGLE_VALVE_2048_H_ */
    +
    + + + diff --git a/doc/html/triangle__valve__2__2048__int8_8h_source.html b/doc/html/triangle__valve__2__2048__int8_8h_source.html index cbcec1866..08fe3ac14 100644 --- a/doc/html/triangle__valve__2__2048__int8_8h_source.html +++ b/doc/html/triangle__valve__2__2048__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: tables/triangle_valve_2_2048_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,160 +99,162 @@
    -
    tables/triangle_valve_2_2048_int8.h
    +
    triangle_valve_2_2048_int8.h
    -
    00001 #ifndef TRIANGLE_VALVE_2_2048_H_
    -00002 #define TRIANGLE_VALVE_2_2048_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 /* triangle wave with distortion from Audacity
    -00012 */
    -00013 
    -00014 #define TRIANGLE_VALVE_2_2048_NUM_CELLS 2048
    -00015 #define TRIANGLE_VALVE_2_2048_SAMPLERATE 2048
    -00016 
    -00017 const char __attribute__((progmem)) TRIANGLE_VALVE_2_2048_DATA []  =
    -00018         {
    -00019                 52, 52, 53, 53, 53, 54, 54,
    -00020                 54, 55, 55, 55, 56, 56, 56, 56, 57, 57, 57, 58, 58, 58, 59, 59, 59, 59, 60, 60,
    -00021                 60, 60, 61, 61, 61, 62, 62, 62, 62, 63, 63, 63, 64, 64, 64, 65, 65, 65, 65, 66,
    -00022                 66, 66, 67, 67, 67, 67, 68, 68, 68, 68, 69, 69, 69, 69, 70, 70, 70, 71, 71, 71,
    -00023                 71, 72, 72, 72, 72, 73, 73, 73, 73, 74, 74, 74, 74, 75, 75, 75, 75, 75, 76, 76,
    -00024                 76, 76, 77, 77, 77, 77, 77, 78, 78, 78, 78, 79, 79, 79, 79, 80, 80, 80, 80, 81,
    -00025                 81, 81, 82, 82, 82, 82, 83, 83, 83, 83, 83, 84, 84, 84, 84, 85, 85, 85, 85, 85,
    -00026                 86, 86, 86, 86, 86, 87, 87, 87, 87, 87, 88, 88, 88, 88, 88, 89, 89, 89, 89, 89,
    -00027                 90, 90, 90, 90, 90, 91, 91, 91, 91, 92, 92, 92, 92, 92, 93, 93, 93, 93, 93, 93,
    -00028                 94, 94, 94, 94, 94, 94, 95, 95, 95, 95, 95, 95, 95, 96, 96, 96, 96, 96, 97, 97,
    -00029                 97, 97, 97, 98, 98, 98, 98, 98, 99, 99, 99, 99, 99, 100, 100, 100, 100, 100,
    -00030                 100, 100, 101, 101, 101, 101, 101, 101, 101, 102, 102, 102, 102, 102, 102, 103,
    -00031                 103, 103, 103, 103, 103, 103, 104, 104, 104, 104, 104, 104, 104, 105, 105, 105,
    -00032                 105, 105, 105, 105, 106, 106, 106, 106, 106, 106, 107, 107, 107, 107, 107, 107,
    -00033                 107, 107, 108, 108, 108, 108, 108, 108, 108, 108, 109, 109, 109, 109, 109, 109,
    -00034                 109, 109, 110, 110, 110, 110, 110, 110, 110, 110, 111, 111, 111, 111, 111, 111,
    -00035                 111, 112, 112, 112, 112, 112, 112, 112, 113, 113, 113, 113, 113, 113, 113, 113,
    -00036                 113, 113, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 115, 115, 115,
    -00037                 115, 115, 115, 115, 115, 115, 115, 116, 116, 116, 116, 116, 116, 116, 116, 116,
    -00038                 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 118, 118, 118, 118, 118, 118,
    -00039                 118, 118, 118, 118, 118, 118, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
    -00040                 119, 119, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 121, 121, 121,
    -00041                 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 122, 122, 122, 122,
    -00042                 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 123, 123, 123, 123, 123, 123,
    -00043                 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 124, 124,
    -00044                 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 125, 125, 125,
    -00045                 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    -00046                 126, 125, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    -00047                 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 127, 127, 127, 127, 127, 127,
    -00048                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00049                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 126, 126,
    -00050                 125, 125, 124, 124, 123, 122, 122, 121, 120, 119, 118, 117, 117, 116, 115, 114,
    -00051                 113, 112, 111, 111, 110, 109, 108, 107, 107, 106, 105, 104, 103, 103, 102, 101,
    -00052                 100, 99, 99, 98, 97, 96, 96, 95, 94, 93, 93, 92, 91, 90, 90, 89, 88, 87, 86, 86,
    -00053                 85, 84, 83, 83, 82, 81, 80, 80, 79, 78, 77, 77, 76, 75, 74, 74, 73, 72, 72, 71,
    -00054                 70, 70, 69, 68, 68, 67, 66, 66, 65, 64, 64, 63, 62, 61, 61, 60, 59, 59, 58, 57,
    -00055                 57, 56, 55, 55, 54, 53, 53, 52, 51, 51, 50, 49, 49, 48, 47, 47, 46, 45, 45, 44,
    -00056                 43, 43, 42, 41, 41, 40, 40, 39, 38, 38, 37, 36, 36, 35, 35, 34, 33, 33, 32, 32,
    -00057                 31, 30, 30, 29, 28, 28, 27, 27, 26, 26, 25, 24, 24, 23, 23, 22, 22, 21, 21, 20,
    -00058                 19, 19, 18, 18, 17, 17, 16, 15, 15, 14, 14, 13, 13, 12, 11, 11, 10, 10, 9, 9, 8,
    -00059                 7, 7, 6, 6, 5, 5, 4, 4, 3, 2, 2, 1, 1, 0, 0, -1, -1, -2, -2, -3, -3, -4, -4, -5,
    -00060                 -5, -6, -6, -7, -7, -8, -8, -9, -9, -10, -10, -11, -11, -12, -12, -13, -13, -14,
    -00061                 -14, -15, -15, -16, -16, -17, -17, -18, -18, -19, -19, -19, -20, -20, -21, -21,
    -00062                 -22, -22, -23, -23, -24, -24, -25, -25, -26, -26, -27, -27, -27, -28, -28, -29,
    -00063                 -29, -30, -30, -31, -31, -32, -32, -32, -33, -33, -34, -34, -35, -35, -35, -36,
    -00064                 -36, -37, -37, -38, -38, -38, -39, -39, -40, -40, -40, -41, -41, -42, -42, -42,
    -00065                 -43, -43, -44, -44, -45, -45, -45, -46, -46, -46, -47, -47, -48, -48, -48, -49,
    -00066                 -49, -50, -50, -50, -51, -51, -52, -52, -52, -53, -53, -54, -54, -54, -55, -55,
    -00067                 -55, -56, -56, -56, -57, -57, -58, -58, -58, -59, -59, -59, -60, -60, -60, -61,
    -00068                 -61, -61, -62, -62, -62, -63, -63, -63, -64, -64, -65, -65, -65, -65, -66, -66,
    -00069                 -66, -67, -67, -67, -68, -68, -68, -68, -69, -69, -69, -70, -70, -70, -71, -71,
    -00070                 -71, -72, -72, -72, -72, -73, -73, -73, -74, -74, -74, -74, -75, -75, -75, -75,
    -00071                 -76, -76, -76, -76, -77, -77, -77, -77, -78, -78, -78, -78, -78, -79, -79, -79,
    -00072                 -79, -80, -80, -80, -80, -81, -81, -81, -81, -82, -82, -82, -82, -82, -83, -83,
    -00073                 -83, -83, -83, -83, -84, -84, -84, -84, -84, -84, -85, -85, -85, -85, -85, -85,
    -00074                 -86, -86, -86, -86, -86, -86, -87, -87, -87, -87, -87, -87, -87, -87, -88, -88,
    -00075                 -88, -88, -88, -88, -88, -88, -88, -89, -89, -89, -89, -89, -89, -89, -89, -89,
    -00076                 -89, -89, -89, -89, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90,
    -00077                 -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -91, -91, -91, -91, -91, -91,
    -00078                 -91, -91, -91, -91, -91, -91, -91, -91, -91, -90, -91, -90, -90, -90, -90, -90,
    -00079                 -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90,
    -00080                 -90, -90, -90, -90, -90, -90, -90, -90, -90, -89, -89, -89, -89, -89, -89, -89,
    -00081                 -89, -89, -89, -89, -89, -89, -89, -89, -88, -88, -88, -88, -88, -88, -88, -88,
    -00082                 -88, -88, -88, -88, -88, -88, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87,
    -00083                 -87, -87, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -85, -85,
    -00084                 -85, -85, -85, -85, -85, -85, -85, -85, -85, -84, -84, -84, -84, -84, -84, -84,
    -00085                 -84, -84, -84, -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, -82, -82,
    -00086                 -82, -82, -82, -82, -82, -82, -82, -82, -81, -81, -81, -81, -81, -81, -81, -81,
    -00087                 -81, -81, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -79, -79, -79,
    -00088                 -79, -79, -79, -79, -79, -79, -79, -78, -78, -78, -78, -78, -78, -78, -78, -78,
    -00089                 -78, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -76, -76, -76, -76, -76,
    -00090                 -76, -76, -76, -76, -76, -76, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75,
    -00091                 -74, -74, -74, -74, -74, -74, -74, -74, -74, -74, -73, -73, -73, -73, -73, -73,
    -00092                 -73, -73, -73, -73, -73, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72,
    -00093                 -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -70, -70, -70, -70, -70,
    -00094                 -70, -70, -70, -70, -70, -70, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69,
    -00095                 -69, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -67, -67, -67, -67,
    -00096                 -67, -67, -67, -67, -67, -67, -67, -67, -66, -66, -66, -66, -66, -66, -66, -66,
    -00097                 -66, -66, -66, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -64,
    -00098                 -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -63, -63, -63, -63, -63,
    -00099                 -63, -63, -63, -63, -63, -63, -63, -62, -62, -62, -62, -62, -62, -62, -62, -62,
    -00100                 -62, -62, -62, -62, -61, -61, -61, -61, -61, -61, -61, -61, -61, -61, -61, -61,
    -00101                 -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -59, -59, -59,
    -00102                 -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, -58, -58, -58, -58, -58, -58,
    -00103                 -58, -58, -58, -58, -58, -58, -58, -57, -57, -57, -57, -57, -57, -57, -57, -57,
    -00104                 -57, -57, -57, -57, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56,
    -00105                 -56, -56, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -54,
    -00106                 -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -53, -53, -53,
    -00107                 -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -52, -52, -52, -52, -52,
    -00108                 -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -51, -51, -51, -51, -51, -51,
    -00109                 -51, -51, -51, -51, -51, -51, -51, -51, -50, -50, -50, -50, -50, -50, -50, -50,
    -00110                 -50, -50, -50, -50, -50, -50, -50, -49, -49, -49, -49, -49, -49, -49, -49, -49,
    -00111                 -49, -49, -49, -49, -49, -49, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48,
    -00112                 -48, -48, -48, -48, -48, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47,
    -00113                 -47, -47, -47, -47, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
    -00114                 -46, -46, -46, -46, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
    -00115                 -45, -45, -45, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
    -00116                 -44, -44, -44, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
    -00117                 -43, -43, -43, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
    -00118                 -42, -42, -42, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
    -00119                 -41, -41, -41, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
    -00120                 -40, -40, -40, -40, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
    -00121                 -39, -39, -39, -39, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
    -00122                 -38, -38, -38, -38, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
    -00123                 -37, -37, -37, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
    -00124                 -36, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -34,
    -00125                 -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -33, -33, -33, -33, -33, -33,
    -00126                 -33, -33, -33, -33, -32, -32, -32, -32, -32, -32, -32, -32, -32, -31, -31, -31,
    -00127                 -31, -31, -31, -31, -31, -30, -30, -30, -30, -30, -30, -30, -29, -29, -29, -29,
    -00128                 -29, -29, -29, -28, -28, -28, -28, -28, -27, -27, -27, -27, -27, -26, -26, -26,
    -00129                 -26, -26, -25, -25, -25, -25, -25, -24, -24, -24, -24, -23, -23, -23, -23, -22,
    -00130                 -22, -22, -22, -21, -21, -21, -21, -20, -20, -20, -19, -19, -19, -19, -18, -18,
    -00131                 -18, -17, -17, -17, -16, -16, -16, -15, -15, -15, -14, -14, -14, -13, -13, -13,
    -00132                 -12, -12, -12, -11, -11, -11, -10, -10, -10, -9, -9, -8, -8, -8, -7, -7, -7, -6,
    -00133                 -6, -5, -5, -5, -4, -4, -3, -3, -3, -2, -2, -1, -1, -1, 0, 0, 0, 1, 1, 2, 2, 2,
    -00134                 3, 3, 4, 4, 4, 5, 5, 6, 6, 6, 7, 7, 8, 8, 9, 9, 9, 10, 10, 11, 11, 11, 12, 12,
    -00135                 13, 13, 13, 14, 14, 15, 15, 15, 16, 16, 16, 17, 17, 18, 18, 18, 19, 19, 19, 20,
    -00136                 20, 21, 21, 22, 22, 22, 23, 23, 24, 24, 24, 25, 25, 25, 26, 26, 27, 27, 27, 28,
    -00137                 28, 29, 29, 29, 30, 30, 30, 31, 31, 31, 32, 32, 33, 33, 32, 34, 34, 34, 35, 35,
    -00138                 36, 36, 36, 37, 37, 37, 38, 38, 38, 39, 39, 39, 40, 40, 40, 41, 41, 41, 42, 42,
    -00139                 42, 43, 43, 43, 44, 44, 44, 45, 45, 45, 46, 46, 46, 47, 47, 47, 48, 48, 48, 49,
    -00140                 49, 49, 50, 50, 50, 51, 51, 51,
    -00141         };
    -00142 
    -00143 #endif /* TRIANGLE_VALVE_2_2048_H_ */
    -
    - - - - +
    1 #ifndef TRIANGLE_VALVE_2_2048_H_
    +
    2 #define TRIANGLE_VALVE_2_2048_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 /* triangle wave with distortion from Audacity
    +
    12 */
    +
    13 
    +
    14 #define TRIANGLE_VALVE_2_2048_NUM_CELLS 2048
    +
    15 #define TRIANGLE_VALVE_2_2048_SAMPLERATE 2048
    +
    16 
    +
    17 const char __attribute__((progmem)) TRIANGLE_VALVE_2_2048_DATA [] =
    +
    18  {
    +
    19  52, 52, 53, 53, 53, 54, 54,
    +
    20  54, 55, 55, 55, 56, 56, 56, 56, 57, 57, 57, 58, 58, 58, 59, 59, 59, 59, 60, 60,
    +
    21  60, 60, 61, 61, 61, 62, 62, 62, 62, 63, 63, 63, 64, 64, 64, 65, 65, 65, 65, 66,
    +
    22  66, 66, 67, 67, 67, 67, 68, 68, 68, 68, 69, 69, 69, 69, 70, 70, 70, 71, 71, 71,
    +
    23  71, 72, 72, 72, 72, 73, 73, 73, 73, 74, 74, 74, 74, 75, 75, 75, 75, 75, 76, 76,
    +
    24  76, 76, 77, 77, 77, 77, 77, 78, 78, 78, 78, 79, 79, 79, 79, 80, 80, 80, 80, 81,
    +
    25  81, 81, 82, 82, 82, 82, 83, 83, 83, 83, 83, 84, 84, 84, 84, 85, 85, 85, 85, 85,
    +
    26  86, 86, 86, 86, 86, 87, 87, 87, 87, 87, 88, 88, 88, 88, 88, 89, 89, 89, 89, 89,
    +
    27  90, 90, 90, 90, 90, 91, 91, 91, 91, 92, 92, 92, 92, 92, 93, 93, 93, 93, 93, 93,
    +
    28  94, 94, 94, 94, 94, 94, 95, 95, 95, 95, 95, 95, 95, 96, 96, 96, 96, 96, 97, 97,
    +
    29  97, 97, 97, 98, 98, 98, 98, 98, 99, 99, 99, 99, 99, 100, 100, 100, 100, 100,
    +
    30  100, 100, 101, 101, 101, 101, 101, 101, 101, 102, 102, 102, 102, 102, 102, 103,
    +
    31  103, 103, 103, 103, 103, 103, 104, 104, 104, 104, 104, 104, 104, 105, 105, 105,
    +
    32  105, 105, 105, 105, 106, 106, 106, 106, 106, 106, 107, 107, 107, 107, 107, 107,
    +
    33  107, 107, 108, 108, 108, 108, 108, 108, 108, 108, 109, 109, 109, 109, 109, 109,
    +
    34  109, 109, 110, 110, 110, 110, 110, 110, 110, 110, 111, 111, 111, 111, 111, 111,
    +
    35  111, 112, 112, 112, 112, 112, 112, 112, 113, 113, 113, 113, 113, 113, 113, 113,
    +
    36  113, 113, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 115, 115, 115,
    +
    37  115, 115, 115, 115, 115, 115, 115, 116, 116, 116, 116, 116, 116, 116, 116, 116,
    +
    38  117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 118, 118, 118, 118, 118, 118,
    +
    39  118, 118, 118, 118, 118, 118, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
    +
    40  119, 119, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 121, 121, 121,
    +
    41  121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 122, 122, 122, 122,
    +
    42  122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 123, 123, 123, 123, 123, 123,
    +
    43  123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 124, 124,
    +
    44  124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 125, 125, 125,
    +
    45  125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    +
    46  126, 125, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    +
    47  126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 127, 127, 127, 127, 127, 127,
    +
    48  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    49  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 126, 126,
    +
    50  125, 125, 124, 124, 123, 122, 122, 121, 120, 119, 118, 117, 117, 116, 115, 114,
    +
    51  113, 112, 111, 111, 110, 109, 108, 107, 107, 106, 105, 104, 103, 103, 102, 101,
    +
    52  100, 99, 99, 98, 97, 96, 96, 95, 94, 93, 93, 92, 91, 90, 90, 89, 88, 87, 86, 86,
    +
    53  85, 84, 83, 83, 82, 81, 80, 80, 79, 78, 77, 77, 76, 75, 74, 74, 73, 72, 72, 71,
    +
    54  70, 70, 69, 68, 68, 67, 66, 66, 65, 64, 64, 63, 62, 61, 61, 60, 59, 59, 58, 57,
    +
    55  57, 56, 55, 55, 54, 53, 53, 52, 51, 51, 50, 49, 49, 48, 47, 47, 46, 45, 45, 44,
    +
    56  43, 43, 42, 41, 41, 40, 40, 39, 38, 38, 37, 36, 36, 35, 35, 34, 33, 33, 32, 32,
    +
    57  31, 30, 30, 29, 28, 28, 27, 27, 26, 26, 25, 24, 24, 23, 23, 22, 22, 21, 21, 20,
    +
    58  19, 19, 18, 18, 17, 17, 16, 15, 15, 14, 14, 13, 13, 12, 11, 11, 10, 10, 9, 9, 8,
    +
    59  7, 7, 6, 6, 5, 5, 4, 4, 3, 2, 2, 1, 1, 0, 0, -1, -1, -2, -2, -3, -3, -4, -4, -5,
    +
    60  -5, -6, -6, -7, -7, -8, -8, -9, -9, -10, -10, -11, -11, -12, -12, -13, -13, -14,
    +
    61  -14, -15, -15, -16, -16, -17, -17, -18, -18, -19, -19, -19, -20, -20, -21, -21,
    +
    62  -22, -22, -23, -23, -24, -24, -25, -25, -26, -26, -27, -27, -27, -28, -28, -29,
    +
    63  -29, -30, -30, -31, -31, -32, -32, -32, -33, -33, -34, -34, -35, -35, -35, -36,
    +
    64  -36, -37, -37, -38, -38, -38, -39, -39, -40, -40, -40, -41, -41, -42, -42, -42,
    +
    65  -43, -43, -44, -44, -45, -45, -45, -46, -46, -46, -47, -47, -48, -48, -48, -49,
    +
    66  -49, -50, -50, -50, -51, -51, -52, -52, -52, -53, -53, -54, -54, -54, -55, -55,
    +
    67  -55, -56, -56, -56, -57, -57, -58, -58, -58, -59, -59, -59, -60, -60, -60, -61,
    +
    68  -61, -61, -62, -62, -62, -63, -63, -63, -64, -64, -65, -65, -65, -65, -66, -66,
    +
    69  -66, -67, -67, -67, -68, -68, -68, -68, -69, -69, -69, -70, -70, -70, -71, -71,
    +
    70  -71, -72, -72, -72, -72, -73, -73, -73, -74, -74, -74, -74, -75, -75, -75, -75,
    +
    71  -76, -76, -76, -76, -77, -77, -77, -77, -78, -78, -78, -78, -78, -79, -79, -79,
    +
    72  -79, -80, -80, -80, -80, -81, -81, -81, -81, -82, -82, -82, -82, -82, -83, -83,
    +
    73  -83, -83, -83, -83, -84, -84, -84, -84, -84, -84, -85, -85, -85, -85, -85, -85,
    +
    74  -86, -86, -86, -86, -86, -86, -87, -87, -87, -87, -87, -87, -87, -87, -88, -88,
    +
    75  -88, -88, -88, -88, -88, -88, -88, -89, -89, -89, -89, -89, -89, -89, -89, -89,
    +
    76  -89, -89, -89, -89, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90,
    +
    77  -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -91, -91, -91, -91, -91, -91,
    +
    78  -91, -91, -91, -91, -91, -91, -91, -91, -91, -90, -91, -90, -90, -90, -90, -90,
    +
    79  -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90, -90,
    +
    80  -90, -90, -90, -90, -90, -90, -90, -90, -90, -89, -89, -89, -89, -89, -89, -89,
    +
    81  -89, -89, -89, -89, -89, -89, -89, -89, -88, -88, -88, -88, -88, -88, -88, -88,
    +
    82  -88, -88, -88, -88, -88, -88, -87, -87, -87, -87, -87, -87, -87, -87, -87, -87,
    +
    83  -87, -87, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -86, -85, -85,
    +
    84  -85, -85, -85, -85, -85, -85, -85, -85, -85, -84, -84, -84, -84, -84, -84, -84,
    +
    85  -84, -84, -84, -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, -83, -82, -82,
    +
    86  -82, -82, -82, -82, -82, -82, -82, -82, -81, -81, -81, -81, -81, -81, -81, -81,
    +
    87  -81, -81, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -80, -79, -79, -79,
    +
    88  -79, -79, -79, -79, -79, -79, -79, -78, -78, -78, -78, -78, -78, -78, -78, -78,
    +
    89  -78, -77, -77, -77, -77, -77, -77, -77, -77, -77, -77, -76, -76, -76, -76, -76,
    +
    90  -76, -76, -76, -76, -76, -76, -75, -75, -75, -75, -75, -75, -75, -75, -75, -75,
    +
    91  -74, -74, -74, -74, -74, -74, -74, -74, -74, -74, -73, -73, -73, -73, -73, -73,
    +
    92  -73, -73, -73, -73, -73, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72, -72,
    +
    93  -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -71, -70, -70, -70, -70, -70,
    +
    94  -70, -70, -70, -70, -70, -70, -69, -69, -69, -69, -69, -69, -69, -69, -69, -69,
    +
    95  -69, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -68, -67, -67, -67, -67,
    +
    96  -67, -67, -67, -67, -67, -67, -67, -67, -66, -66, -66, -66, -66, -66, -66, -66,
    +
    97  -66, -66, -66, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -65, -64,
    +
    98  -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -64, -63, -63, -63, -63, -63,
    +
    99  -63, -63, -63, -63, -63, -63, -63, -62, -62, -62, -62, -62, -62, -62, -62, -62,
    +
    100  -62, -62, -62, -62, -61, -61, -61, -61, -61, -61, -61, -61, -61, -61, -61, -61,
    +
    101  -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -60, -59, -59, -59,
    +
    102  -59, -59, -59, -59, -59, -59, -59, -59, -59, -59, -58, -58, -58, -58, -58, -58,
    +
    103  -58, -58, -58, -58, -58, -58, -58, -57, -57, -57, -57, -57, -57, -57, -57, -57,
    +
    104  -57, -57, -57, -57, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56, -56,
    +
    105  -56, -56, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -55, -54,
    +
    106  -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -54, -53, -53, -53,
    +
    107  -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -53, -52, -52, -52, -52, -52,
    +
    108  -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, -51, -51, -51, -51, -51, -51,
    +
    109  -51, -51, -51, -51, -51, -51, -51, -51, -50, -50, -50, -50, -50, -50, -50, -50,
    +
    110  -50, -50, -50, -50, -50, -50, -50, -49, -49, -49, -49, -49, -49, -49, -49, -49,
    +
    111  -49, -49, -49, -49, -49, -49, -48, -48, -48, -48, -48, -48, -48, -48, -48, -48,
    +
    112  -48, -48, -48, -48, -48, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47,
    +
    113  -47, -47, -47, -47, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
    +
    114  -46, -46, -46, -46, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
    +
    115  -45, -45, -45, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
    +
    116  -44, -44, -44, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
    +
    117  -43, -43, -43, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
    +
    118  -42, -42, -42, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
    +
    119  -41, -41, -41, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
    +
    120  -40, -40, -40, -40, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
    +
    121  -39, -39, -39, -39, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
    +
    122  -38, -38, -38, -38, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
    +
    123  -37, -37, -37, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
    +
    124  -36, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -35, -34,
    +
    125  -34, -34, -34, -34, -34, -34, -34, -34, -34, -34, -33, -33, -33, -33, -33, -33,
    +
    126  -33, -33, -33, -33, -32, -32, -32, -32, -32, -32, -32, -32, -32, -31, -31, -31,
    +
    127  -31, -31, -31, -31, -31, -30, -30, -30, -30, -30, -30, -30, -29, -29, -29, -29,
    +
    128  -29, -29, -29, -28, -28, -28, -28, -28, -27, -27, -27, -27, -27, -26, -26, -26,
    +
    129  -26, -26, -25, -25, -25, -25, -25, -24, -24, -24, -24, -23, -23, -23, -23, -22,
    +
    130  -22, -22, -22, -21, -21, -21, -21, -20, -20, -20, -19, -19, -19, -19, -18, -18,
    +
    131  -18, -17, -17, -17, -16, -16, -16, -15, -15, -15, -14, -14, -14, -13, -13, -13,
    +
    132  -12, -12, -12, -11, -11, -11, -10, -10, -10, -9, -9, -8, -8, -8, -7, -7, -7, -6,
    +
    133  -6, -5, -5, -5, -4, -4, -3, -3, -3, -2, -2, -1, -1, -1, 0, 0, 0, 1, 1, 2, 2, 2,
    +
    134  3, 3, 4, 4, 4, 5, 5, 6, 6, 6, 7, 7, 8, 8, 9, 9, 9, 10, 10, 11, 11, 11, 12, 12,
    +
    135  13, 13, 13, 14, 14, 15, 15, 15, 16, 16, 16, 17, 17, 18, 18, 18, 19, 19, 19, 20,
    +
    136  20, 21, 21, 22, 22, 22, 23, 23, 24, 24, 24, 25, 25, 25, 26, 26, 27, 27, 27, 28,
    +
    137  28, 29, 29, 29, 30, 30, 30, 31, 31, 31, 32, 32, 33, 33, 32, 34, 34, 34, 35, 35,
    +
    138  36, 36, 36, 37, 37, 37, 38, 38, 38, 39, 39, 39, 40, 40, 40, 41, 41, 41, 42, 42,
    +
    139  42, 43, 43, 43, 44, 44, 44, 45, 45, 45, 46, 46, 46, 47, 47, 47, 48, 48, 48, 49,
    +
    140  49, 49, 50, 50, 50, 51, 51, 51,
    +
    141  };
    +
    142 
    +
    143 #endif /* TRIANGLE_VALVE_2_2048_H_ */
    +
    + + + diff --git a/doc/html/triangle__warm8192__int8_8h_source.html b/doc/html/triangle__warm8192__int8_8h_source.html index 1848abba2..3274e5e97 100644 --- a/doc/html/triangle__warm8192__int8_8h_source.html +++ b/doc/html/triangle__warm8192__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: tables/triangle_warm8192_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,517 +99,519 @@
    -
    tables/triangle_warm8192_int8.h
    +
    triangle_warm8192_int8.h
    -
    00001 #ifndef TRIANGLE_WARM8192_INT8_H_
    -00002 #define TRIANGLE_WARM8192_INT8_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 /* triangle wave with "warmth" from Audacity
    -00012 */
    -00013 
    -00014 #define TRIANGLE_WARM8192_NUM_CELLS 8192
    -00015 #define TRIANGLE_WARM8192_SAMPLERATE 8192
    -00016 
    -00017 const char __attribute__((progmem)) TRIANGLE_WARM8192_DATA []  =
    -00018         {
    -00019                 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
    -00020                 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3,
    -00021                 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6,
    -00022                 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8,
    -00023                 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10,
    -00024                 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12,
    -00025                 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
    -00026                 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15,
    -00027                 15, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 17,
    -00028                 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18,
    -00029                 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20,
    -00030                 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
    -00031                 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23,
    -00032                 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
    -00033                 24, 24, 24, 24, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 26, 26, 26,
    -00034                 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 27, 27, 27, 27, 27, 27, 27, 27, 27,
    -00035                 27, 27, 27, 27, 27, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 29, 29,
    -00036                 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 30, 30, 30, 30, 30, 30, 30,
    -00037                 30, 30, 30, 30, 30, 30, 30, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
    -00038                 31, 31, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 33, 33, 32,
    -00039                 33, 33, 32, 33, 33, 34, 33, 33, 32, 33, 33, 34, 34, 34, 34, 34, 34, 34, 34, 34,
    -00040                 34, 34, 34, 34, 34, 34, 34, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
    -00041                 35, 35, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 37, 37, 37,
    -00042                 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 38, 38, 38, 38, 38, 38, 38, 38,
    -00043                 38, 38, 38, 38, 38, 38, 38, 38, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
    -00044                 39, 39, 39, 39, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
    -00045                 40, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 42, 42, 42,
    -00046                 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 43, 43, 43, 43, 43, 43, 43,
    -00047                 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
    -00048                 44, 44, 44, 44, 44, 44, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
    -00049                 45, 45, 45, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
    -00050                 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 48, 48,
    -00051                 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 49, 49, 49, 49, 49,
    -00052                 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 50, 50, 50, 50, 50, 50,
    -00053                 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 51, 51, 51, 51, 51, 51, 51, 51, 51,
    -00054                 51, 51, 51, 51, 51, 51, 51, 51, 51, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
    -00055                 52, 52, 52, 52, 52, 52, 52, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
    -00056                 53, 53, 53, 53, 53, 53, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
    -00057                 54, 54, 54, 54, 54, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
    -00058                 55, 55, 55, 55, 55, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
    -00059                 56, 56, 56, 56, 56, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57,
    -00060                 57, 57, 57, 57, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
    -00061                 58, 58, 58, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
    -00062                 59, 59, 59, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
    -00063                 60, 60, 60, 60, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
    -00064                 61, 61, 61, 61, 61, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
    -00065                 62, 62, 62, 62, 62, 62, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
    -00066                 63, 63, 63, 63, 63, 63, 63, 63, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
    -00067                 64, 64, 64, 64, 64, 64, 64, 64, 64, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
    -00068                 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
    -00069                 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 67, 67, 67, 67, 67, 67, 67, 67,
    -00070                 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 68, 68, 68, 68, 68,
    -00071                 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 69, 69,
    -00072                 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
    -00073                 69, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
    -00074                 70, 70, 70, 70, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
    -00075                 71, 71, 71, 71, 71, 71, 71, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72,
    -00076                 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 73, 73, 73, 73, 73, 73, 73, 73,
    -00077                 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 74, 74, 74,
    -00078                 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
    -00079                 74, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
    -00080                 75, 75, 75, 75, 75, 75, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
    -00081                 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77,
    -00082                 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 78, 78, 78,
    -00083                 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
    -00084                 78, 78, 78, 78, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79,
    -00085                 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
    -00086                 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 81, 81, 81, 81,
    -00087                 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
    -00088                 81, 81, 81, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
    -00089                 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 83, 83, 83, 83, 83, 83, 83, 83,
    -00090                 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
    -00091                 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
    -00092                 84, 84, 84, 84, 84, 84, 84, 84, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
    -00093                 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 86, 86, 86,
    -00094                 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
    -00095                 86, 86, 86, 86, 86, 86, 86, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
    -00096                 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 88, 88,
    -00097                 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
    -00098                 88, 88, 88, 88, 88, 88, 88, 88, 88, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
    -00099                 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 90,
    -00100                 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
    -00101                 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 91, 91, 91, 91, 91, 91, 91, 91, 91,
    -00102                 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
    -00103                 91, 91, 91, 91, 91, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
    -00104                 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 93, 93, 93,
    -00105                 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
    -00106                 93, 93, 93, 93, 93, 93, 93, 93, 93, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
    -00107                 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
    -00108                 94, 94, 94, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
    -00109                 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 96,
    -00110                 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
    -00111                 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 97, 97, 97, 97, 97, 97, 97,
    -00112                 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97,
    -00113                 97, 97, 97, 97, 97, 97, 97, 97, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
    -00114                 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
    -00115                 98, 98, 98, 98, 98, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
    -00116                 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
    -00117                 99, 99, 99, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
    -00118                 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
    -00119                 100, 100, 100, 100, 100, 100, 100, 101, 101, 101, 101, 101, 101, 101, 101, 101,
    -00120                 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
    -00121                 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 102, 102,
    -00122                 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
    -00123                 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
    -00124                 102, 102, 102, 102, 102, 102, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
    -00125                 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
    -00126                 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 104, 104, 104,
    -00127                 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
    -00128                 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
    -00129                 104, 104, 104, 104, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
    -00130                 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
    -00131                 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
    -00132                 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
    -00133                 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
    -00134                 106, 106, 106, 106, 106, 106, 106, 106, 107, 107, 107, 107, 107, 107, 107, 107,
    -00135                 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
    -00136                 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
    -00137                 107, 107, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
    -00138                 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
    -00139                 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
    -00140                 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
    -00141                 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
    -00142                 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 110, 110, 110, 110, 110, 110,
    -00143                 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
    -00144                 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
    -00145                 110, 110, 110, 110, 110, 110, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
    -00146                 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
    -00147                 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
    -00148                 111, 111, 111, 111, 111, 111, 111, 112, 112, 112, 112, 112, 112, 112, 112, 112,
    -00149                 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112,
    -00150                 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112,
    -00151                 112, 112, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
    -00152                 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
    -00153                 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
    -00154                 113, 113, 113, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
    -00155                 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
    -00156                 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
    -00157                 114, 114, 114, 114, 114, 114, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
    -00158                 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
    -00159                 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
    -00160                 115, 115, 115, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
    -00161                 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
    -00162                 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
    -00163                 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 117, 117, 117, 117, 117, 117,
    -00164                 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
    -00165                 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
    -00166                 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 118, 118, 118, 118, 118,
    -00167                 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
    -00168                 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
    -00169                 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 119, 119,
    -00170                 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
    -00171                 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
    -00172                 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
    -00173                 119, 119, 119, 119, 119, 119, 119, 119, 119, 120, 120, 120, 120, 120, 120, 120,
    -00174                 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
    -00175                 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
    -00176                 120, 120, 120, 120, 120, 120, 120, 120, 121, 121, 121, 121, 121, 121, 121, 121,
    -00177                 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
    -00178                 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
    -00179                 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
    -00180                 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 122, 122, 122, 122, 122, 122,
    -00181                 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
    -00182                 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
    -00183                 122, 122, 122, 122, 122, 122, 122, 122, 123, 123, 123, 123, 123, 123, 123, 123,
    -00184                 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
    -00185                 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
    -00186                 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
    -00187                 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 124,
    -00188                 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
    -00189                 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
    -00190                 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 125,
    -00191                 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    -00192                 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    -00193                 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    -00194                 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    -00195                 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    -00196                 125, 126, 125, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    -00197                 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    -00198                 126, 126, 126, 126, 126, 126, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00199                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00200                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00201                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00202                 127, 127, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 125, 125, 125, 125,
    -00203                 125, 125, 125, 124, 124, 124, 124, 124, 124, 123, 123, 123, 123, 123, 122, 122,
    -00204                 122, 122, 122, 121, 121, 121, 121, 121, 120, 120, 120, 120, 119, 119, 119, 119,
    -00205                 118, 118, 118, 118, 117, 117, 117, 117, 116, 116, 116, 116, 115, 115, 115, 115,
    -00206                 114, 114, 114, 114, 113, 113, 113, 113, 112, 112, 112, 112, 111, 111, 111, 110,
    -00207                 110, 110, 110, 109, 109, 109, 109, 108, 108, 108, 108, 107, 107, 107, 107, 106,
    -00208                 106, 106, 106, 105, 105, 105, 105, 104, 104, 104, 104, 104, 103, 103, 103, 103,
    -00209                 102, 102, 102, 102, 101, 101, 101, 101, 101, 100, 100, 100, 100, 100, 99, 99,
    -00210                 99, 99, 98, 98, 98, 98, 98, 97, 97, 97, 97, 97, 96, 96, 96, 96, 95, 95, 95, 95,
    -00211                 95, 94, 94, 94, 94, 94, 93, 93, 93, 93, 93, 92, 92, 92, 92, 91, 91, 91, 91, 91,
    -00212                 90, 90, 90, 90, 90, 89, 89, 89, 89, 88, 88, 88, 88, 88, 87, 87, 87, 87, 86, 86,
    -00213                 86, 86, 86, 85, 85, 85, 85, 84, 84, 84, 84, 84, 83, 83, 83, 83, 82, 82, 82, 82,
    -00214                 82, 81, 81, 81, 81, 81, 80, 80, 80, 80, 79, 79, 79, 79, 79, 78, 78, 78, 78, 78,
    -00215                 77, 77, 77, 77, 77, 76, 76, 76, 76, 76, 75, 75, 75, 75, 75, 74, 74, 74, 74, 74,
    -00216                 73, 73, 73, 73, 73, 72, 72, 72, 72, 72, 71, 71, 71, 71, 71, 70, 70, 70, 70, 70,
    -00217                 69, 69, 69, 69, 69, 69, 68, 68, 68, 68, 68, 67, 67, 67, 67, 67, 66, 66, 66, 66,
    -00218                 66, 65, 65, 65, 65, 65, 65, 64, 64, 64, 64, 64, 63, 63, 63, 63, 63, 62, 62, 62,
    -00219                 62, 62, 61, 61, 61, 61, 61, 61, 60, 60, 60, 60, 60, 59, 59, 59, 59, 59, 58, 58,
    -00220                 58, 58, 58, 57, 57, 57, 57, 57, 56, 56, 56, 56, 56, 56, 55, 55, 55, 55, 55, 54,
    -00221                 54, 54, 54, 54, 53, 53, 53, 53, 53, 53, 52, 52, 52, 52, 52, 52, 51, 51, 51, 51,
    -00222                 51, 50, 50, 50, 50, 50, 50, 49, 49, 49, 49, 49, 49, 48, 48, 48, 48, 48, 47, 47,
    -00223                 47, 47, 47, 47, 46, 46, 46, 46, 46, 46, 45, 45, 45, 45, 45, 45, 44, 44, 44, 44,
    -00224                 44, 44, 43, 43, 43, 43, 43, 43, 42, 42, 42, 42, 42, 42, 41, 41, 41, 41, 41, 41,
    -00225                 40, 40, 40, 40, 40, 40, 39, 39, 39, 39, 39, 39, 38, 38, 38, 38, 38, 38, 37, 37,
    -00226                 37, 37, 37, 37, 36, 36, 36, 36, 36, 36, 35, 35, 35, 35, 35, 35, 34, 34, 34, 34,
    -00227                 34, 34, 34, 33, 33, 32, 33, 33, 32, 32, 32, 32, 32, 32, 31, 31, 31, 31, 31, 31,
    -00228                 30, 30, 30, 30, 30, 30, 30, 29, 29, 29, 29, 29, 29, 28, 28, 28, 28, 28, 28, 28,
    -00229                 27, 27, 27, 27, 27, 27, 26, 26, 26, 26, 26, 26, 26, 25, 25, 25, 25, 25, 25, 25,
    -00230                 24, 24, 24, 24, 24, 24, 23, 23, 23, 23, 23, 23, 23, 22, 22, 22, 22, 22, 22, 22,
    -00231                 21, 21, 21, 21, 21, 21, 21, 20, 20, 20, 20, 20, 20, 19, 19, 19, 19, 19, 19, 19,
    -00232                 18, 18, 18, 18, 18, 18, 18, 17, 17, 17, 17, 17, 17, 17, 16, 16, 16, 16, 16, 16,
    -00233                 16, 15, 15, 15, 15, 15, 15, 15, 14, 14, 14, 14, 14, 14, 14, 13, 13, 13, 13, 13,
    -00234                 13, 13, 12, 12, 12, 12, 12, 12, 12, 11, 11, 11, 11, 11, 11, 11, 10, 10, 10, 10,
    -00235                 10, 10, 10, 9, 9, 9, 9, 9, 9, 9, 9, 8, 8, 8, 8, 8, 8, 8, 7, 7, 7, 7, 7, 7, 7, 7,
    -00236                 6, 6, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3,
    -00237                 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
    -00238                 255, 255, 255, 255, 255, 255, 255, 255, 254, 254, 254, 254, 254, 254, 254, 253,
    -00239                 253, 253, 253, 253, 253, 253, 253, 252, 252, 252, 252, 252, 252, 252, 252, 251,
    -00240                 251, 251, 251, 251, 251, 251, 251, 251, 250, 250, 250, 250, 250, 250, 250, 250,
    -00241                 249, 249, 249, 249, 249, 249, 249, 249, 248, 248, 248, 248, 248, 248, 248, 248,
    -00242                 248, 247, 247, 247, 247, 247, 247, 247, 247, 247, 246, 246, 246, 246, 246, 246,
    -00243                 246, 246, 245, 245, 245, 245, 245, 245, 245, 245, 245, 244, 244, 244, 244, 244,
    -00244                 244, 244, 244, 244, 243, 243, 243, 243, 243, 243, 243, 243, 242, 242, 242, 242,
    -00245                 242, 242, 242, 242, 242, 241, 241, 241, 241, 241, 241, 241, 241, 241, 240, 240,
    -00246                 240, 240, 240, 240, 240, 240, 240, 239, 239, 239, 239, 239, 239, 239, 239, 239,
    -00247                 238, 238, 238, 238, 238, 238, 238, 238, 238, 237, 237, 237, 237, 237, 237, 237,
    -00248                 237, 237, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 235, 235, 235, 235,
    -00249                 235, 235, 235, 235, 235, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 233,
    -00250                 233, 233, 233, 233, 233, 233, 233, 233, 233, 232, 232, 232, 232, 232, 232, 232,
    -00251                 232, 232, 232, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 230, 230, 230,
    -00252                 230, 230, 230, 230, 230, 230, 230, 229, 229, 229, 229, 229, 229, 229, 229, 229,
    -00253                 229, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 227, 227, 227, 227, 227,
    -00254                 227, 227, 227, 227, 227, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 225,
    -00255                 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 224, 224, 224, 224, 224, 224,
    -00256                 224, 224, 224, 224, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 222,
    -00257                 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 221, 221, 221, 221, 221, 221,
    -00258                 221, 221, 221, 221, 221, 221, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220,
    -00259                 220, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 218, 218, 218, 218,
    -00260                 218, 218, 218, 218, 218, 218, 218, 218, 217, 217, 217, 217, 217, 217, 217, 217,
    -00261                 217, 217, 217, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 215,
    -00262                 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 214, 214, 214, 214, 214,
    -00263                 214, 214, 214, 214, 214, 214, 214, 213, 213, 213, 213, 213, 213, 213, 213, 213,
    -00264                 213, 213, 213, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 211,
    -00265                 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 210, 210, 210, 210,
    -00266                 210, 210, 210, 210, 210, 210, 210, 210, 210, 209, 209, 209, 209, 209, 209, 209,
    -00267                 209, 209, 209, 209, 209, 209, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
    -00268                 208, 208, 208, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207,
    -00269                 207, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 205, 205,
    -00270                 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 204, 204, 204, 204, 204,
    -00271                 204, 204, 204, 204, 204, 204, 204, 204, 204, 203, 203, 203, 203, 203, 203, 203,
    -00272                 203, 203, 203, 203, 203, 203, 203, 202, 202, 202, 202, 202, 202, 202, 202, 202,
    -00273                 202, 202, 202, 202, 202, 202, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201,
    -00274                 201, 201, 201, 201, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200,
    -00275                 200, 200, 200, 200, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199,
    -00276                 199, 199, 199, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198,
    -00277                 198, 198, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197,
    -00278                 197, 197, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196,
    -00279                 196, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195,
    -00280                 195, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194,
    -00281                 194, 194, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193,
    -00282                 193, 193, 193, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
    -00283                 192, 192, 192, 192, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
    -00284                 191, 191, 191, 191, 191, 191, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
    -00285                 190, 190, 190, 190, 190, 190, 190, 190, 189, 189, 189, 189, 189, 189, 189, 189,
    -00286                 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 188, 188, 188, 188, 188, 188,
    -00287                 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 187, 187, 187, 187,
    -00288                 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 186,
    -00289                 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
    -00290                 186, 186, 186, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
    -00291                 185, 185, 185, 185, 185, 185, 185, 184, 184, 184, 184, 184, 184, 184, 184, 184,
    -00292                 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 183, 183, 183, 183,
    -00293                 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
    -00294                 183, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
    -00295                 182, 182, 182, 182, 182, 182, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
    -00296                 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 180, 180, 180, 180,
    -00297                 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
    -00298                 180, 180, 180, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
    -00299                 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 178, 178, 178, 178, 178,
    -00300                 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
    -00301                 178, 178, 178, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
    -00302                 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 176, 176, 176, 176,
    -00303                 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
    -00304                 176, 176, 176, 176, 176, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
    -00305                 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
    -00306                 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
    -00307                 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 173, 173, 173,
    -00308                 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
    -00309                 173, 173, 173, 173, 173, 173, 173, 173, 173, 172, 172, 172, 172, 172, 172, 172,
    -00310                 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
    -00311                 172, 172, 172, 172, 172, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171,
    -00312                 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171,
    -00313                 171, 171, 171, 171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
    -00314                 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
    -00315                 170, 170, 170, 170, 170, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169,
    -00316                 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169,
    -00317                 169, 169, 169, 169, 169, 169, 169, 168, 168, 168, 168, 168, 168, 168, 168, 168,
    -00318                 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
    -00319                 168, 168, 168, 168, 168, 168, 168, 168, 168, 167, 167, 167, 167, 167, 167, 167,
    -00320                 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
    -00321                 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
    -00322                 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
    -00323                 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
    -00324                 166, 166, 166, 166, 166, 166, 166, 166, 165, 165, 165, 165, 165, 165, 165, 165,
    -00325                 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165,
    -00326                 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165,
    -00327                 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
    -00328                 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
    -00329                 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 163, 163,
    -00330                 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
    -00331                 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
    -00332                 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 162,
    -00333                 163, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
    -00334                 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
    -00335                 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
    -00336                 162, 162, 162, 162, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
    -00337                 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
    -00338                 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
    -00339                 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
    -00340                 161, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
    -00341                 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
    -00342                 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
    -00343                 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 159,
    -00344                 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
    -00345                 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
    -00346                 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
    -00347                 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
    -00348                 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
    -00349                 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
    -00350                 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
    -00351                 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
    -00352                 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
    -00353                 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
    -00354                 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 157, 157, 157, 157, 157,
    -00355                 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
    -00356                 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
    -00357                 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
    -00358                 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
    -00359                 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
    -00360                 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
    -00361                 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
    -00362                 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
    -00363                 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
    -00364                 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
    -00365                 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
    -00366                 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
    -00367                 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
    -00368                 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
    -00369                 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
    -00370                 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
    -00371                 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
    -00372                 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
    -00373                 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
    -00374                 156, 156, 156, 156, 156, 156, 156, 156, 155, 155, 155, 155, 155, 155, 155, 155,
    -00375                 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
    -00376                 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
    -00377                 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
    -00378                 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
    -00379                 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
    -00380                 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
    -00381                 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
    -00382                 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
    -00383                 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
    -00384                 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
    -00385                 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
    -00386                 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
    -00387                 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
    -00388                 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
    -00389                 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
    -00390                 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
    -00391                 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
    -00392                 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
    -00393                 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
    -00394                 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
    -00395                 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
    -00396                 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
    -00397                 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
    -00398                 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
    -00399                 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
    -00400                 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
    -00401                 155, 156, 155, 156, 155, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
    -00402                 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
    -00403                 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
    -00404                 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
    -00405                 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
    -00406                 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
    -00407                 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
    -00408                 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
    -00409                 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
    -00410                 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
    -00411                 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
    -00412                 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
    -00413                 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
    -00414                 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 157, 157, 157, 157, 157,
    -00415                 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
    -00416                 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
    -00417                 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
    -00418                 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
    -00419                 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
    -00420                 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
    -00421                 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
    -00422                 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
    -00423                 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 158, 158, 158, 158, 158,
    -00424                 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
    -00425                 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
    -00426                 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
    -00427                 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
    -00428                 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
    -00429                 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
    -00430                 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 159, 159, 159, 159, 159, 159,
    -00431                 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
    -00432                 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
    -00433                 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
    -00434                 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
    -00435                 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
    -00436                 159, 159, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
    -00437                 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
    -00438                 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
    -00439                 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
    -00440                 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
    -00441                 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
    -00442                 160, 160, 160, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
    -00443                 161, 161, 161, 161, 161, 161, 161, 161, 161, 160, 159, 159, 159, 159, 159, 159,
    -00444                 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 160,
    -00445                 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
    -00446                 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
    -00447                 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
    -00448                 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
    -00449                 160, 160, 160, 160, 160, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
    -00450                 161, 161, 161, 161, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 163, 163,
    -00451                 163, 163, 163, 163, 163, 163, 163, 164, 164, 164, 164, 164, 164, 164, 165, 165,
    -00452                 165, 165, 165, 165, 165, 166, 166, 166, 166, 166, 166, 166, 167, 167, 167, 167,
    -00453                 167, 167, 168, 168, 168, 168, 168, 168, 169, 169, 169, 169, 169, 169, 170, 170,
    -00454                 170, 170, 170, 170, 171, 171, 171, 171, 171, 171, 172, 172, 172, 172, 172, 173,
    -00455                 173, 173, 173, 173, 173, 174, 174, 174, 174, 174, 174, 174, 175, 175, 175, 175,
    -00456                 175, 175, 176, 176, 176, 176, 176, 176, 176, 177, 177, 177, 177, 177, 177, 178,
    -00457                 178, 178, 179, 180, 180, 180, 180, 180, 181, 181, 181, 181, 181, 181, 181, 182,
    -00458                 182, 182, 182, 182, 182, 182, 183, 183, 183, 183, 183, 183, 183, 184, 184, 184,
    -00459                 184, 184, 184, 184, 185, 185, 185, 185, 185, 185, 185, 186, 186, 186, 186, 186,
    -00460                 186, 186, 187, 187, 187, 187, 187, 187, 187, 188, 188, 188, 188, 188, 188, 188,
    -00461                 189, 189, 189, 189, 189, 189, 189, 190, 190, 190, 190, 190, 190, 190, 191, 191,
    -00462                 191, 191, 191, 191, 191, 192, 192, 192, 192, 192, 192, 193, 193, 193, 193, 193,
    -00463                 193, 193, 194, 194, 194, 194, 194, 194, 194, 195, 195, 195, 195, 195, 195, 195,
    -00464                 196, 196, 196, 196, 196, 196, 196, 196, 197, 197, 197, 197, 197, 197, 197, 198,
    -00465                 198, 198, 198, 198, 198, 198, 199, 199, 199, 199, 199, 199, 199, 199, 200, 200,
    -00466                 200, 200, 200, 200, 200, 201, 201, 201, 201, 201, 201, 201, 201, 202, 202, 202,
    -00467                 202, 202, 202, 202, 202, 203, 203, 203, 203, 203, 203, 203, 203, 204, 204, 204,
    -00468                 204, 204, 204, 204, 205, 205, 205, 205, 205, 205, 205, 205, 206, 206, 206, 206,
    -00469                 206, 206, 206, 207, 207, 207, 207, 207, 207, 207, 207, 208, 208, 208, 208, 208,
    -00470                 208, 208, 208, 209, 209, 209, 209, 209, 209, 209, 210, 210, 210, 210, 210, 210,
    -00471                 210, 210, 211, 211, 211, 211, 211, 211, 211, 211, 212, 212, 212, 212, 212, 212,
    -00472                 212, 213, 213, 213, 213, 213, 213, 213, 213, 213, 214, 214, 214, 214, 214, 214,
    -00473                 214, 214, 215, 215, 215, 215, 215, 215, 215, 215, 216, 216, 216, 216, 216, 216,
    -00474                 216, 216, 217, 217, 217, 217, 217, 217, 217, 217, 217, 218, 218, 218, 218, 218,
    -00475                 218, 218, 218, 219, 219, 219, 219, 219, 219, 219, 219, 219, 220, 220, 220, 220,
    -00476                 220, 220, 220, 220, 221, 221, 221, 221, 221, 221, 221, 221, 221, 222, 222, 222,
    -00477                 222, 222, 222, 222, 222, 223, 223, 223, 223, 223, 223, 223, 223, 224, 224, 224,
    -00478                 224, 224, 224, 224, 224, 224, 225, 225, 225, 225, 225, 225, 225, 225, 226, 226,
    -00479                 226, 226, 226, 226, 226, 226, 226, 227, 227, 227, 227, 227, 227, 227, 227, 228,
    -00480                 228, 228, 228, 228, 228, 228, 228, 228, 229, 229, 229, 229, 229, 229, 229, 229,
    -00481                 229, 230, 230, 230, 230, 230, 230, 230, 230, 230, 231, 231, 231, 231, 231, 231,
    -00482                 231, 231, 231, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 233, 233, 233,
    -00483                 233, 233, 233, 233, 233, 233, 234, 234, 234, 234, 234, 234, 234, 234, 234, 235,
    -00484                 235, 235, 235, 235, 235, 235, 235, 235, 235, 236, 236, 236, 236, 236, 236, 236,
    -00485                 236, 236, 237, 237, 237, 237, 237, 237, 237, 237, 237, 238, 238, 238, 238, 238,
    -00486                 238, 238, 238, 238, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 240, 240,
    -00487                 240, 240, 240, 240, 240, 240, 240, 241, 241, 241, 241, 241, 241, 241, 241, 241,
    -00488                 241, 242, 242, 242, 242, 242, 242, 242, 242, 242, 243, 243, 243, 243, 243, 243,
    -00489                 243, 243, 243, 243, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 245, 245,
    -00490                 245, 245, 245, 245, 245, 245, 245, 245, 246, 246, 246, 246, 246, 246, 246, 246,
    -00491                 246, 246, 246, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 248, 248, 248,
    -00492                 248, 248, 248, 248, 248, 248, 248, 249, 249, 249, 249, 249, 249, 249, 249, 249,
    -00493                 249, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 251, 251, 251, 251,
    -00494                 251, 251, 251, 251, 251, 251, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252,
    -00495                 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 254, 254, 254, 254, 254,
    -00496                 254, 254, 254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
    -00497                 0, 0, 0, 0,
    -00498         };
    -00499 
    -00500 #endif /* TRIANGLE_WARM8192_INT8_H_ */
    -
    - - - - +
    1 #ifndef TRIANGLE_WARM8192_INT8_H_
    +
    2 #define TRIANGLE_WARM8192_INT8_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 /* triangle wave with "warmth" from Audacity
    +
    12 */
    +
    13 
    +
    14 #define TRIANGLE_WARM8192_NUM_CELLS 8192
    +
    15 #define TRIANGLE_WARM8192_SAMPLERATE 8192
    +
    16 
    +
    17 const char __attribute__((progmem)) TRIANGLE_WARM8192_DATA [] =
    +
    18  {
    +
    19  0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
    +
    20  1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3,
    +
    21  3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6,
    +
    22  6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8,
    +
    23  8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10,
    +
    24  10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12,
    +
    25  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
    +
    26  13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15,
    +
    27  15, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 17,
    +
    28  17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18,
    +
    29  18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20,
    +
    30  20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
    +
    31  21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23,
    +
    32  23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
    +
    33  24, 24, 24, 24, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 26, 26, 26,
    +
    34  26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 27, 27, 27, 27, 27, 27, 27, 27, 27,
    +
    35  27, 27, 27, 27, 27, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 29, 29,
    +
    36  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 30, 30, 30, 30, 30, 30, 30,
    +
    37  30, 30, 30, 30, 30, 30, 30, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
    +
    38  31, 31, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 33, 33, 32,
    +
    39  33, 33, 32, 33, 33, 34, 33, 33, 32, 33, 33, 34, 34, 34, 34, 34, 34, 34, 34, 34,
    +
    40  34, 34, 34, 34, 34, 34, 34, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
    +
    41  35, 35, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 37, 37, 37,
    +
    42  37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 38, 38, 38, 38, 38, 38, 38, 38,
    +
    43  38, 38, 38, 38, 38, 38, 38, 38, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
    +
    44  39, 39, 39, 39, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
    +
    45  40, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 42, 42, 42,
    +
    46  42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 43, 43, 43, 43, 43, 43, 43,
    +
    47  43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
    +
    48  44, 44, 44, 44, 44, 44, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
    +
    49  45, 45, 45, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
    +
    50  47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 48, 48,
    +
    51  48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 49, 49, 49, 49, 49,
    +
    52  49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 50, 50, 50, 50, 50, 50,
    +
    53  50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 51, 51, 51, 51, 51, 51, 51, 51, 51,
    +
    54  51, 51, 51, 51, 51, 51, 51, 51, 51, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
    +
    55  52, 52, 52, 52, 52, 52, 52, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
    +
    56  53, 53, 53, 53, 53, 53, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
    +
    57  54, 54, 54, 54, 54, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
    +
    58  55, 55, 55, 55, 55, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
    +
    59  56, 56, 56, 56, 56, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57,
    +
    60  57, 57, 57, 57, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
    +
    61  58, 58, 58, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
    +
    62  59, 59, 59, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
    +
    63  60, 60, 60, 60, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
    +
    64  61, 61, 61, 61, 61, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
    +
    65  62, 62, 62, 62, 62, 62, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
    +
    66  63, 63, 63, 63, 63, 63, 63, 63, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
    +
    67  64, 64, 64, 64, 64, 64, 64, 64, 64, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
    +
    68  65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
    +
    69  66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 67, 67, 67, 67, 67, 67, 67, 67,
    +
    70  67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 68, 68, 68, 68, 68,
    +
    71  68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 69, 69,
    +
    72  69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69,
    +
    73  69, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
    +
    74  70, 70, 70, 70, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
    +
    75  71, 71, 71, 71, 71, 71, 71, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72,
    +
    76  72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 73, 73, 73, 73, 73, 73, 73, 73,
    +
    77  73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 74, 74, 74,
    +
    78  74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,
    +
    79  74, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75,
    +
    80  75, 75, 75, 75, 75, 75, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
    +
    81  76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77,
    +
    82  77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 78, 78, 78,
    +
    83  78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
    +
    84  78, 78, 78, 78, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79,
    +
    85  79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
    +
    86  80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 81, 81, 81, 81,
    +
    87  81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81,
    +
    88  81, 81, 81, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
    +
    89  82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 83, 83, 83, 83, 83, 83, 83, 83,
    +
    90  83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
    +
    91  84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
    +
    92  84, 84, 84, 84, 84, 84, 84, 84, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
    +
    93  85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 86, 86, 86,
    +
    94  86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86,
    +
    95  86, 86, 86, 86, 86, 86, 86, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
    +
    96  87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 88, 88,
    +
    97  88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
    +
    98  88, 88, 88, 88, 88, 88, 88, 88, 88, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89,
    +
    99  89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 90,
    +
    100  90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
    +
    101  90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 91, 91, 91, 91, 91, 91, 91, 91, 91,
    +
    102  91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
    +
    103  91, 91, 91, 91, 91, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
    +
    104  92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 93, 93, 93,
    +
    105  93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93,
    +
    106  93, 93, 93, 93, 93, 93, 93, 93, 93, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
    +
    107  94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94,
    +
    108  94, 94, 94, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
    +
    109  95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 96,
    +
    110  96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
    +
    111  96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 97, 97, 97, 97, 97, 97, 97,
    +
    112  97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97,
    +
    113  97, 97, 97, 97, 97, 97, 97, 97, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
    +
    114  98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
    +
    115  98, 98, 98, 98, 98, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
    +
    116  99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99,
    +
    117  99, 99, 99, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
    +
    118  100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
    +
    119  100, 100, 100, 100, 100, 100, 100, 101, 101, 101, 101, 101, 101, 101, 101, 101,
    +
    120  101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
    +
    121  101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, 102, 102,
    +
    122  102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
    +
    123  102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
    +
    124  102, 102, 102, 102, 102, 102, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
    +
    125  103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
    +
    126  103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, 104, 104, 104,
    +
    127  104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
    +
    128  104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
    +
    129  104, 104, 104, 104, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
    +
    130  105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
    +
    131  105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105, 105,
    +
    132  106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
    +
    133  106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
    +
    134  106, 106, 106, 106, 106, 106, 106, 106, 107, 107, 107, 107, 107, 107, 107, 107,
    +
    135  107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
    +
    136  107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107,
    +
    137  107, 107, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
    +
    138  108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
    +
    139  108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
    +
    140  109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
    +
    141  109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 109,
    +
    142  109, 109, 109, 109, 109, 109, 109, 109, 109, 109, 110, 110, 110, 110, 110, 110,
    +
    143  110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
    +
    144  110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
    +
    145  110, 110, 110, 110, 110, 110, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
    +
    146  111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
    +
    147  111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111,
    +
    148  111, 111, 111, 111, 111, 111, 111, 112, 112, 112, 112, 112, 112, 112, 112, 112,
    +
    149  112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112,
    +
    150  112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, 112,
    +
    151  112, 112, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
    +
    152  113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
    +
    153  113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,
    +
    154  113, 113, 113, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
    +
    155  114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
    +
    156  114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
    +
    157  114, 114, 114, 114, 114, 114, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
    +
    158  115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
    +
    159  115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115,
    +
    160  115, 115, 115, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
    +
    161  116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
    +
    162  116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 116,
    +
    163  116, 116, 116, 116, 116, 116, 116, 116, 116, 116, 117, 117, 117, 117, 117, 117,
    +
    164  117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
    +
    165  117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117,
    +
    166  117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 118, 118, 118, 118, 118,
    +
    167  118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
    +
    168  118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
    +
    169  118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, 119, 119,
    +
    170  119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
    +
    171  119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
    +
    172  119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119,
    +
    173  119, 119, 119, 119, 119, 119, 119, 119, 119, 120, 120, 120, 120, 120, 120, 120,
    +
    174  120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
    +
    175  120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
    +
    176  120, 120, 120, 120, 120, 120, 120, 120, 121, 121, 121, 121, 121, 121, 121, 121,
    +
    177  121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
    +
    178  121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
    +
    179  121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121,
    +
    180  121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 122, 122, 122, 122, 122, 122,
    +
    181  122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
    +
    182  122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122,
    +
    183  122, 122, 122, 122, 122, 122, 122, 122, 123, 123, 123, 123, 123, 123, 123, 123,
    +
    184  123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
    +
    185  123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
    +
    186  123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
    +
    187  123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, 124,
    +
    188  124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
    +
    189  124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124,
    +
    190  124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 125,
    +
    191  125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    +
    192  125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    +
    193  125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    +
    194  125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    +
    195  125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,
    +
    196  125, 126, 125, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    +
    197  126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
    +
    198  126, 126, 126, 126, 126, 126, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    199  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    200  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    201  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    202  127, 127, 126, 126, 126, 126, 126, 126, 126, 126, 126, 126, 125, 125, 125, 125,
    +
    203  125, 125, 125, 124, 124, 124, 124, 124, 124, 123, 123, 123, 123, 123, 122, 122,
    +
    204  122, 122, 122, 121, 121, 121, 121, 121, 120, 120, 120, 120, 119, 119, 119, 119,
    +
    205  118, 118, 118, 118, 117, 117, 117, 117, 116, 116, 116, 116, 115, 115, 115, 115,
    +
    206  114, 114, 114, 114, 113, 113, 113, 113, 112, 112, 112, 112, 111, 111, 111, 110,
    +
    207  110, 110, 110, 109, 109, 109, 109, 108, 108, 108, 108, 107, 107, 107, 107, 106,
    +
    208  106, 106, 106, 105, 105, 105, 105, 104, 104, 104, 104, 104, 103, 103, 103, 103,
    +
    209  102, 102, 102, 102, 101, 101, 101, 101, 101, 100, 100, 100, 100, 100, 99, 99,
    +
    210  99, 99, 98, 98, 98, 98, 98, 97, 97, 97, 97, 97, 96, 96, 96, 96, 95, 95, 95, 95,
    +
    211  95, 94, 94, 94, 94, 94, 93, 93, 93, 93, 93, 92, 92, 92, 92, 91, 91, 91, 91, 91,
    +
    212  90, 90, 90, 90, 90, 89, 89, 89, 89, 88, 88, 88, 88, 88, 87, 87, 87, 87, 86, 86,
    +
    213  86, 86, 86, 85, 85, 85, 85, 84, 84, 84, 84, 84, 83, 83, 83, 83, 82, 82, 82, 82,
    +
    214  82, 81, 81, 81, 81, 81, 80, 80, 80, 80, 79, 79, 79, 79, 79, 78, 78, 78, 78, 78,
    +
    215  77, 77, 77, 77, 77, 76, 76, 76, 76, 76, 75, 75, 75, 75, 75, 74, 74, 74, 74, 74,
    +
    216  73, 73, 73, 73, 73, 72, 72, 72, 72, 72, 71, 71, 71, 71, 71, 70, 70, 70, 70, 70,
    +
    217  69, 69, 69, 69, 69, 69, 68, 68, 68, 68, 68, 67, 67, 67, 67, 67, 66, 66, 66, 66,
    +
    218  66, 65, 65, 65, 65, 65, 65, 64, 64, 64, 64, 64, 63, 63, 63, 63, 63, 62, 62, 62,
    +
    219  62, 62, 61, 61, 61, 61, 61, 61, 60, 60, 60, 60, 60, 59, 59, 59, 59, 59, 58, 58,
    +
    220  58, 58, 58, 57, 57, 57, 57, 57, 56, 56, 56, 56, 56, 56, 55, 55, 55, 55, 55, 54,
    +
    221  54, 54, 54, 54, 53, 53, 53, 53, 53, 53, 52, 52, 52, 52, 52, 52, 51, 51, 51, 51,
    +
    222  51, 50, 50, 50, 50, 50, 50, 49, 49, 49, 49, 49, 49, 48, 48, 48, 48, 48, 47, 47,
    +
    223  47, 47, 47, 47, 46, 46, 46, 46, 46, 46, 45, 45, 45, 45, 45, 45, 44, 44, 44, 44,
    +
    224  44, 44, 43, 43, 43, 43, 43, 43, 42, 42, 42, 42, 42, 42, 41, 41, 41, 41, 41, 41,
    +
    225  40, 40, 40, 40, 40, 40, 39, 39, 39, 39, 39, 39, 38, 38, 38, 38, 38, 38, 37, 37,
    +
    226  37, 37, 37, 37, 36, 36, 36, 36, 36, 36, 35, 35, 35, 35, 35, 35, 34, 34, 34, 34,
    +
    227  34, 34, 34, 33, 33, 32, 33, 33, 32, 32, 32, 32, 32, 32, 31, 31, 31, 31, 31, 31,
    +
    228  30, 30, 30, 30, 30, 30, 30, 29, 29, 29, 29, 29, 29, 28, 28, 28, 28, 28, 28, 28,
    +
    229  27, 27, 27, 27, 27, 27, 26, 26, 26, 26, 26, 26, 26, 25, 25, 25, 25, 25, 25, 25,
    +
    230  24, 24, 24, 24, 24, 24, 23, 23, 23, 23, 23, 23, 23, 22, 22, 22, 22, 22, 22, 22,
    +
    231  21, 21, 21, 21, 21, 21, 21, 20, 20, 20, 20, 20, 20, 19, 19, 19, 19, 19, 19, 19,
    +
    232  18, 18, 18, 18, 18, 18, 18, 17, 17, 17, 17, 17, 17, 17, 16, 16, 16, 16, 16, 16,
    +
    233  16, 15, 15, 15, 15, 15, 15, 15, 14, 14, 14, 14, 14, 14, 14, 13, 13, 13, 13, 13,
    +
    234  13, 13, 12, 12, 12, 12, 12, 12, 12, 11, 11, 11, 11, 11, 11, 11, 10, 10, 10, 10,
    +
    235  10, 10, 10, 9, 9, 9, 9, 9, 9, 9, 9, 8, 8, 8, 8, 8, 8, 8, 7, 7, 7, 7, 7, 7, 7, 7,
    +
    236  6, 6, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3,
    +
    237  3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
    +
    238  255, 255, 255, 255, 255, 255, 255, 255, 254, 254, 254, 254, 254, 254, 254, 253,
    +
    239  253, 253, 253, 253, 253, 253, 253, 252, 252, 252, 252, 252, 252, 252, 252, 251,
    +
    240  251, 251, 251, 251, 251, 251, 251, 251, 250, 250, 250, 250, 250, 250, 250, 250,
    +
    241  249, 249, 249, 249, 249, 249, 249, 249, 248, 248, 248, 248, 248, 248, 248, 248,
    +
    242  248, 247, 247, 247, 247, 247, 247, 247, 247, 247, 246, 246, 246, 246, 246, 246,
    +
    243  246, 246, 245, 245, 245, 245, 245, 245, 245, 245, 245, 244, 244, 244, 244, 244,
    +
    244  244, 244, 244, 244, 243, 243, 243, 243, 243, 243, 243, 243, 242, 242, 242, 242,
    +
    245  242, 242, 242, 242, 242, 241, 241, 241, 241, 241, 241, 241, 241, 241, 240, 240,
    +
    246  240, 240, 240, 240, 240, 240, 240, 239, 239, 239, 239, 239, 239, 239, 239, 239,
    +
    247  238, 238, 238, 238, 238, 238, 238, 238, 238, 237, 237, 237, 237, 237, 237, 237,
    +
    248  237, 237, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 235, 235, 235, 235,
    +
    249  235, 235, 235, 235, 235, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 233,
    +
    250  233, 233, 233, 233, 233, 233, 233, 233, 233, 232, 232, 232, 232, 232, 232, 232,
    +
    251  232, 232, 232, 231, 231, 231, 231, 231, 231, 231, 231, 231, 231, 230, 230, 230,
    +
    252  230, 230, 230, 230, 230, 230, 230, 229, 229, 229, 229, 229, 229, 229, 229, 229,
    +
    253  229, 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, 227, 227, 227, 227, 227,
    +
    254  227, 227, 227, 227, 227, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 225,
    +
    255  225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 224, 224, 224, 224, 224, 224,
    +
    256  224, 224, 224, 224, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 222,
    +
    257  222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 221, 221, 221, 221, 221, 221,
    +
    258  221, 221, 221, 221, 221, 221, 220, 220, 220, 220, 220, 220, 220, 220, 220, 220,
    +
    259  220, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 218, 218, 218, 218,
    +
    260  218, 218, 218, 218, 218, 218, 218, 218, 217, 217, 217, 217, 217, 217, 217, 217,
    +
    261  217, 217, 217, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 215,
    +
    262  215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 215, 214, 214, 214, 214, 214,
    +
    263  214, 214, 214, 214, 214, 214, 214, 213, 213, 213, 213, 213, 213, 213, 213, 213,
    +
    264  213, 213, 213, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 211,
    +
    265  211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211, 210, 210, 210, 210,
    +
    266  210, 210, 210, 210, 210, 210, 210, 210, 210, 209, 209, 209, 209, 209, 209, 209,
    +
    267  209, 209, 209, 209, 209, 209, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208,
    +
    268  208, 208, 208, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207,
    +
    269  207, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 205, 205,
    +
    270  205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 204, 204, 204, 204, 204,
    +
    271  204, 204, 204, 204, 204, 204, 204, 204, 204, 203, 203, 203, 203, 203, 203, 203,
    +
    272  203, 203, 203, 203, 203, 203, 203, 202, 202, 202, 202, 202, 202, 202, 202, 202,
    +
    273  202, 202, 202, 202, 202, 202, 201, 201, 201, 201, 201, 201, 201, 201, 201, 201,
    +
    274  201, 201, 201, 201, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200,
    +
    275  200, 200, 200, 200, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199, 199,
    +
    276  199, 199, 199, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198,
    +
    277  198, 198, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197,
    +
    278  197, 197, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196,
    +
    279  196, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195,
    +
    280  195, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194,
    +
    281  194, 194, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193,
    +
    282  193, 193, 193, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
    +
    283  192, 192, 192, 192, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
    +
    284  191, 191, 191, 191, 191, 191, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
    +
    285  190, 190, 190, 190, 190, 190, 190, 190, 189, 189, 189, 189, 189, 189, 189, 189,
    +
    286  189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 188, 188, 188, 188, 188, 188,
    +
    287  188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 187, 187, 187, 187,
    +
    288  187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 187, 186,
    +
    289  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
    +
    290  186, 186, 186, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
    +
    291  185, 185, 185, 185, 185, 185, 185, 184, 184, 184, 184, 184, 184, 184, 184, 184,
    +
    292  184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 183, 183, 183, 183,
    +
    293  183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, 183,
    +
    294  183, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
    +
    295  182, 182, 182, 182, 182, 182, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
    +
    296  181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, 180, 180, 180, 180,
    +
    297  180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180,
    +
    298  180, 180, 180, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
    +
    299  179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 179, 178, 178, 178, 178, 178,
    +
    300  178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178,
    +
    301  178, 178, 178, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
    +
    302  177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, 176, 176, 176, 176,
    +
    303  176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
    +
    304  176, 176, 176, 176, 176, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
    +
    305  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
    +
    306  174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
    +
    307  174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 173, 173, 173,
    +
    308  173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
    +
    309  173, 173, 173, 173, 173, 173, 173, 173, 173, 172, 172, 172, 172, 172, 172, 172,
    +
    310  172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172,
    +
    311  172, 172, 172, 172, 172, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171,
    +
    312  171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171,
    +
    313  171, 171, 171, 171, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
    +
    314  170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170,
    +
    315  170, 170, 170, 170, 170, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169,
    +
    316  169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169,
    +
    317  169, 169, 169, 169, 169, 169, 169, 168, 168, 168, 168, 168, 168, 168, 168, 168,
    +
    318  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
    +
    319  168, 168, 168, 168, 168, 168, 168, 168, 168, 167, 167, 167, 167, 167, 167, 167,
    +
    320  167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
    +
    321  167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167,
    +
    322  166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
    +
    323  166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166, 166,
    +
    324  166, 166, 166, 166, 166, 166, 166, 166, 165, 165, 165, 165, 165, 165, 165, 165,
    +
    325  165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165,
    +
    326  165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, 165,
    +
    327  164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
    +
    328  164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164,
    +
    329  164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, 163, 163,
    +
    330  163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
    +
    331  163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163,
    +
    332  163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 163, 162,
    +
    333  163, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
    +
    334  162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
    +
    335  162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162,
    +
    336  162, 162, 162, 162, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
    +
    337  161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
    +
    338  161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
    +
    339  161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
    +
    340  161, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
    +
    341  160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
    +
    342  160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
    +
    343  160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 159,
    +
    344  159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
    +
    345  159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
    +
    346  159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
    +
    347  159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
    +
    348  159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
    +
    349  158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
    +
    350  158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
    +
    351  158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
    +
    352  158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
    +
    353  158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
    +
    354  158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 157, 157, 157, 157, 157,
    +
    355  157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
    +
    356  157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
    +
    357  157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
    +
    358  157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
    +
    359  157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
    +
    360  157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
    +
    361  157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
    +
    362  156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
    +
    363  156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
    +
    364  156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
    +
    365  156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
    +
    366  156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
    +
    367  156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
    +
    368  156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
    +
    369  156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
    +
    370  156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
    +
    371  156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
    +
    372  156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
    +
    373  156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
    +
    374  156, 156, 156, 156, 156, 156, 156, 156, 155, 155, 155, 155, 155, 155, 155, 155,
    +
    375  155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
    +
    376  155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
    +
    377  155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
    +
    378  155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
    +
    379  155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
    +
    380  155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
    +
    381  155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
    +
    382  155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
    +
    383  155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
    +
    384  155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
    +
    385  155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
    +
    386  155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
    +
    387  155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
    +
    388  155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
    +
    389  155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
    +
    390  155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
    +
    391  155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
    +
    392  155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
    +
    393  155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
    +
    394  155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
    +
    395  155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
    +
    396  155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
    +
    397  155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
    +
    398  155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
    +
    399  155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
    +
    400  155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, 155,
    +
    401  155, 156, 155, 156, 155, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
    +
    402  156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
    +
    403  156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
    +
    404  156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
    +
    405  156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
    +
    406  156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
    +
    407  156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
    +
    408  156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
    +
    409  156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
    +
    410  156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
    +
    411  156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
    +
    412  156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
    +
    413  156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
    +
    414  156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, 157, 157, 157, 157, 157,
    +
    415  157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
    +
    416  157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
    +
    417  157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
    +
    418  157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
    +
    419  157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
    +
    420  157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
    +
    421  157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
    +
    422  157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
    +
    423  157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 158, 158, 158, 158, 158,
    +
    424  158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
    +
    425  158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
    +
    426  158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
    +
    427  158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
    +
    428  158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
    +
    429  158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
    +
    430  158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 159, 159, 159, 159, 159, 159,
    +
    431  159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
    +
    432  159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
    +
    433  159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
    +
    434  159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
    +
    435  159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159,
    +
    436  159, 159, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
    +
    437  160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
    +
    438  160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
    +
    439  160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
    +
    440  160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
    +
    441  160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
    +
    442  160, 160, 160, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
    +
    443  161, 161, 161, 161, 161, 161, 161, 161, 161, 160, 159, 159, 159, 159, 159, 159,
    +
    444  159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, 160,
    +
    445  160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
    +
    446  160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
    +
    447  160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
    +
    448  160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
    +
    449  160, 160, 160, 160, 160, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
    +
    450  161, 161, 161, 161, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 163, 163,
    +
    451  163, 163, 163, 163, 163, 163, 163, 164, 164, 164, 164, 164, 164, 164, 165, 165,
    +
    452  165, 165, 165, 165, 165, 166, 166, 166, 166, 166, 166, 166, 167, 167, 167, 167,
    +
    453  167, 167, 168, 168, 168, 168, 168, 168, 169, 169, 169, 169, 169, 169, 170, 170,
    +
    454  170, 170, 170, 170, 171, 171, 171, 171, 171, 171, 172, 172, 172, 172, 172, 173,
    +
    455  173, 173, 173, 173, 173, 174, 174, 174, 174, 174, 174, 174, 175, 175, 175, 175,
    +
    456  175, 175, 176, 176, 176, 176, 176, 176, 176, 177, 177, 177, 177, 177, 177, 178,
    +
    457  178, 178, 179, 180, 180, 180, 180, 180, 181, 181, 181, 181, 181, 181, 181, 182,
    +
    458  182, 182, 182, 182, 182, 182, 183, 183, 183, 183, 183, 183, 183, 184, 184, 184,
    +
    459  184, 184, 184, 184, 185, 185, 185, 185, 185, 185, 185, 186, 186, 186, 186, 186,
    +
    460  186, 186, 187, 187, 187, 187, 187, 187, 187, 188, 188, 188, 188, 188, 188, 188,
    +
    461  189, 189, 189, 189, 189, 189, 189, 190, 190, 190, 190, 190, 190, 190, 191, 191,
    +
    462  191, 191, 191, 191, 191, 192, 192, 192, 192, 192, 192, 193, 193, 193, 193, 193,
    +
    463  193, 193, 194, 194, 194, 194, 194, 194, 194, 195, 195, 195, 195, 195, 195, 195,
    +
    464  196, 196, 196, 196, 196, 196, 196, 196, 197, 197, 197, 197, 197, 197, 197, 198,
    +
    465  198, 198, 198, 198, 198, 198, 199, 199, 199, 199, 199, 199, 199, 199, 200, 200,
    +
    466  200, 200, 200, 200, 200, 201, 201, 201, 201, 201, 201, 201, 201, 202, 202, 202,
    +
    467  202, 202, 202, 202, 202, 203, 203, 203, 203, 203, 203, 203, 203, 204, 204, 204,
    +
    468  204, 204, 204, 204, 205, 205, 205, 205, 205, 205, 205, 205, 206, 206, 206, 206,
    +
    469  206, 206, 206, 207, 207, 207, 207, 207, 207, 207, 207, 208, 208, 208, 208, 208,
    +
    470  208, 208, 208, 209, 209, 209, 209, 209, 209, 209, 210, 210, 210, 210, 210, 210,
    +
    471  210, 210, 211, 211, 211, 211, 211, 211, 211, 211, 212, 212, 212, 212, 212, 212,
    +
    472  212, 213, 213, 213, 213, 213, 213, 213, 213, 213, 214, 214, 214, 214, 214, 214,
    +
    473  214, 214, 215, 215, 215, 215, 215, 215, 215, 215, 216, 216, 216, 216, 216, 216,
    +
    474  216, 216, 217, 217, 217, 217, 217, 217, 217, 217, 217, 218, 218, 218, 218, 218,
    +
    475  218, 218, 218, 219, 219, 219, 219, 219, 219, 219, 219, 219, 220, 220, 220, 220,
    +
    476  220, 220, 220, 220, 221, 221, 221, 221, 221, 221, 221, 221, 221, 222, 222, 222,
    +
    477  222, 222, 222, 222, 222, 223, 223, 223, 223, 223, 223, 223, 223, 224, 224, 224,
    +
    478  224, 224, 224, 224, 224, 224, 225, 225, 225, 225, 225, 225, 225, 225, 226, 226,
    +
    479  226, 226, 226, 226, 226, 226, 226, 227, 227, 227, 227, 227, 227, 227, 227, 228,
    +
    480  228, 228, 228, 228, 228, 228, 228, 228, 229, 229, 229, 229, 229, 229, 229, 229,
    +
    481  229, 230, 230, 230, 230, 230, 230, 230, 230, 230, 231, 231, 231, 231, 231, 231,
    +
    482  231, 231, 231, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 233, 233, 233,
    +
    483  233, 233, 233, 233, 233, 233, 234, 234, 234, 234, 234, 234, 234, 234, 234, 235,
    +
    484  235, 235, 235, 235, 235, 235, 235, 235, 235, 236, 236, 236, 236, 236, 236, 236,
    +
    485  236, 236, 237, 237, 237, 237, 237, 237, 237, 237, 237, 238, 238, 238, 238, 238,
    +
    486  238, 238, 238, 238, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 240, 240,
    +
    487  240, 240, 240, 240, 240, 240, 240, 241, 241, 241, 241, 241, 241, 241, 241, 241,
    +
    488  241, 242, 242, 242, 242, 242, 242, 242, 242, 242, 243, 243, 243, 243, 243, 243,
    +
    489  243, 243, 243, 243, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 245, 245,
    +
    490  245, 245, 245, 245, 245, 245, 245, 245, 246, 246, 246, 246, 246, 246, 246, 246,
    +
    491  246, 246, 246, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 248, 248, 248,
    +
    492  248, 248, 248, 248, 248, 248, 248, 249, 249, 249, 249, 249, 249, 249, 249, 249,
    +
    493  249, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 251, 251, 251, 251,
    +
    494  251, 251, 251, 251, 251, 251, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252,
    +
    495  253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 254, 254, 254, 254, 254,
    +
    496  254, 254, 254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
    +
    497  0, 0, 0, 0,
    +
    498  };
    +
    499 
    +
    500 #endif /* TRIANGLE_WARM8192_INT8_H_ */
    +
    + + + diff --git a/doc/html/twi__nonblock_8cpp_source.html b/doc/html/twi__nonblock_8cpp_source.html index b3238dad5..04490576d 100644 --- a/doc/html/twi__nonblock_8cpp_source.html +++ b/doc/html/twi__nonblock_8cpp_source.html @@ -3,46 +3,44 @@ + Mozzi: twi_nonblock.cpp Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -95,575 +102,615 @@
    twi_nonblock.cpp
    -
    00001 /*
    -00002  * twi_nonblock.cpp
    -00003  *
    -00004  * Copyright 2012 Marije Baalman.
    -00005  *
    -00006  * This program is free software: you can redistribute it and/or modify
    -00007  * it under the terms of the GNU General Public License as published by
    -00008  * the Free Software Foundation, either version 3 of the License, or
    -00009  * (at your option) any later version.
    -00010  *
    -00011  * This program is distributed in the hope that it will be useful,
    -00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    -00014  * GNU General Public License for more details.
    -00015  *
    -00016  * You should have received a copy of the GNU General Public License
    -00017  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
    -00018  */
    -00019  
    -00020 #include "twi_nonblock.h"
    -00021 
    -00022 #include <avr/interrupt.h>
    -00023 
    -00024 uint8_t twi_writeAddress;
    -00025 uint8_t * twi_writeData;
    -00026 uint8_t twi_writeLength;
    -00027 
    -00028 uint8_t twi_readAddress;
    -00029 // uint8_t * twi_writeData;
    -00030 uint8_t twi_readLength;
    -00031 
    -00032 /* 
    -00033  * Function twi_init
    -00034  * Desc     readys twi pins and sets twi bitrate
    -00035  * Input    none
    -00036  * Output   none
    -00037  */
    -00038 void initialize_twi_nonblock(){
    -00039   rxBufferIndex = 0;
    -00040   rxBufferLength = 0;
    -00041 
    -00042   txBufferIndex = 0;
    -00043   txBufferLength = 0;  
    -00044 
    -00045   // initialize state
    -00046   twi_state = TWI_READY;
    -00047 
    -00048   #if defined(__AVR_ATmega168__) || defined(__AVR_ATmega8__) || defined(__AVR_ATmega328P__)
    -00049     // activate internal pull-ups for twi
    -00050     // as per note from atmega8 manual pg167
    -00051     sbi(PORTC, 4);
    -00052     sbi(PORTC, 5);
    -00053   #else
    -00054     // activate internal pull-ups for twi
    -00055     // as per note from atmega128 manual pg204
    -00056     sbi(PORTD, 0);
    -00057     sbi(PORTD, 1);
    -00058   #endif
    -00059 
    -00060   // initialize twi prescaler and bit rate
    -00061   cbi(TWSR, TWPS0);
    -00062   cbi(TWSR, TWPS1);
    -00063   TWBR = ((F_CPU / TWI_FREQ) - 16) / 2;
    -00064 
    -00065   /* twi bit rate formula from atmega128 manual pg 204
    -00066   SCL Frequency = CPU Clock Frequency / (16 + (2 * TWBR))
    -00067   note: TWBR should be 10 or higher for master mode
    -00068   It is 72 for a 16mhz Wiring board with 100kHz TWI */
    -00069 
    -00070   // enable twi module, acks, and twi interrupt
    -00071   TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA);
    -00072 }
    -00073 
    -00074 
    -00075 uint8_t twowire_requestFromBlocking(uint8_t address, uint8_t quantity)
    -00076 {
    -00077   // clamp to buffer length
    -00078   if(quantity > BUFFER_LENGTH){
    -00079     quantity = BUFFER_LENGTH;
    -00080   }
    -00081   // perform blocking read into buffer
    -00082   uint8_t read = twi_readFromBlocking(address, rxBuffer, quantity);
    -00083   // set rx buffer iterator vars
    -00084   rxBufferIndex = 0;
    -00085   rxBufferLength = read;
    -00086 
    -00087   return read;
    -00088 }
    -00089 
    -00090 void twowire_beginTransmission( uint8_t address ){
    -00091   // indicate that we are transmitting
    -00092   transmitting = 1;
    -00093   // set address of targeted slave
    -00094   txAddress = address;
    -00095   // reset tx buffer iterator vars
    -00096   txBufferIndex = 0;
    -00097   txBufferLength = 0;  
    -00098 }
    -00099 
    -00100 void twowire_send( uint8_t data ){
    -00101   if(transmitting){
    -00102   // in master transmitter mode
    -00103     // don't bother if buffer is full
    -00104     if(txBufferLength >= BUFFER_LENGTH){
    -00105       return;
    -00106     }
    -00107     // put byte in tx buffer
    -00108     txBuffer[txBufferIndex] = data;
    -00109     ++txBufferIndex;
    -00110     // update amount in buffer   
    -00111     txBufferLength = txBufferIndex;
    -00112   }    
    -00113 }
    -00114 
    -00115 uint8_t twowire_endTransmission(void)
    -00116 {
    -00117   // transmit buffer (blocking)
    -00118   int8_t ret = twi_writeToBlocking(txAddress, txBuffer, txBufferLength, 1);
    -00119   // reset tx buffer iterator vars
    -00120   txBufferIndex = 0;
    -00121   txBufferLength = 0;
    -00122   // indicate that we are done transmitting
    -00123   transmitting = 0;
    -00124   return ret;
    -00125 }
    -00126 
    -00127 /* 
    -00128  * Function twi_readFrom
    -00129  * Desc     attempts to become twi bus master and read a
    -00130  *          series of bytes from a device on the bus
    -00131  * Input    address: 7bit i2c device address
    -00132  *          data: pointer to byte array
    -00133  *          length: number of bytes to read into array
    -00134  * Output   number of bytes read
    -00135  */
    -00137 uint8_t twi_readFromBlocking(uint8_t address, uint8_t* data, uint8_t length)
    -00138 {
    -00139   uint8_t i;
    -00140 
    -00141   // ensure data will fit into buffer
    -00142   if(TWI_BUFFER_LENGTH < length){
    -00143     return 0;
    -00144   }
    -00145 
    -00146   // wait until twi is ready, become master receiver
    -00147   while(TWI_READY != twi_state){
    -00148     continue;
    -00149   }
    -00150   
    -00151   twi_state = TWI_MRX;
    -00152   // reset error state (0xFF.. no error occured)
    -00153   twi_error = 0xFF;
    -00154 
    -00155   // initialize buffer iteration vars
    -00156   twi_masterBufferIndex = 0;
    -00157   twi_masterBufferLength = length-1;  // This is not intuitive, read on...
    -00158   // On receive, the previously configured ACK/NACK setting is transmitted in
    -00159   // response to the received byte before the interrupt is signalled. 
    -00160   // Therefor we must actually set NACK when the _next_ to last byte is
    -00161   // received, causing that NACK to be sent in response to receiving the last
    -00162   // expected byte of data.
    -00163 
    -00164   // build sla+w, slave device address + w bit
    -00165   twi_slarw = TW_READ;
    -00166   twi_slarw |= address << 1;
    -00167 
    -00168   // send start condition
    -00169   TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA) | _BV(TWINT) | _BV(TWSTA);
    -00170 
    -00171   // wait for read operation to complete
    -00172   while(TWI_MRX == twi_state){
    -00173     continue;
    -00174   }
    -00175 
    -00176   if (twi_masterBufferIndex < length)
    -00177     length = twi_masterBufferIndex;
    -00178 
    -00179   // copy twi buffer to data
    -00180   for(i = 0; i < length; ++i){
    -00181     data[i] = twi_masterBuffer[i];
    -00182   }
    -00183                 
    -00184   return length;
    -00185 }
    -00186 
    -00187 
    -00189 uint8_t twi_initiateReadFrom(uint8_t address, uint8_t length)
    -00190 {
    -00191 
    -00192   // ensure data will fit into buffer
    -00193   if(TWI_BUFFER_LENGTH < length){
    -00194     return 0;
    -00195   }
    -00196   
    -00197   twi_readLength = length;
    -00198   twi_readAddress = address;
    -00199   
    -00200   if ( TWI_READY == twi_state ){
    -00201       twi_continueReadFrom();
    -00202   } else {
    -00203     twi_state = TWI_PRE_MRX;
    -00204   }
    -00205 }
    -00206 
    -00207 uint8_t twi_continueReadFrom(){
    -00208     
    -00209   twi_state = TWI_MRX;
    -00210   // reset error state (0xFF.. no error occured)
    -00211   twi_error = 0xFF;
    -00212 
    -00213   // initialize buffer iteration vars
    -00214   twi_masterBufferIndex = 0;
    -00215   twi_masterBufferLength = twi_readLength-1;  // This is not intuitive, read on...
    -00216   // On receive, the previously configured ACK/NACK setting is transmitted in
    -00217   // response to the received byte before the interrupt is signalled. 
    -00218   // Therefor we must actually set NACK when the _next_ to last byte is
    -00219   // received, causing that NACK to be sent in response to receiving the last
    -00220   // expected byte of data.
    -00221 
    -00222   // build sla+w, slave device address + w bit
    -00223   twi_slarw = TW_READ;
    -00224   twi_slarw |= twi_readAddress << 1;
    -00225 
    -00226   // send start condition
    -00227   TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA) | _BV(TWINT) | _BV(TWSTA);
    -00228 }
    -00229 
    -00230 uint8_t twi_readMasterBuffer( uint8_t* data, uint8_t length ){
    -00231   uint8_t i;
    -00232   if (twi_masterBufferIndex < length)
    -00233     length = twi_masterBufferIndex;
    -00234 
    -00235   // copy twi buffer to data
    -00236   for(i = 0; i < length; ++i){
    -00237     data[i] = twi_masterBuffer[i];
    -00238   }
    -00239                 
    -00240   return length;
    -00241 }
    -00242 
    -00244 
    -00245 
    -00246 /* 
    -00247  * Function twi_writeTo
    -00248  * Desc     attempts to become twi bus master and write a
    -00249  *          series of bytes to a device on the bus
    -00250  * Input    address: 7bit i2c device address
    -00251  *          data: pointer to byte array
    -00252  *          length: number of bytes in array
    -00253  *          wait: boolean indicating to wait for write or not
    -00254  * Output   0 .. success
    -00255  *          1 .. length to long for buffer
    -00256  *          2 .. address send, NACK received
    -00257  *          3 .. data send, NACK received
    -00258  *          4 .. other twi error (lost bus arbitration, bus error, ..)
    -00259  */
    -00261 uint8_t twi_writeToBlocking(uint8_t address, uint8_t* data, uint8_t length, uint8_t wait)
    -00262 {
    -00263   uint8_t i;
    -00264 
    -00265   // ensure data will fit into buffer
    -00266   if(TWI_BUFFER_LENGTH < length){
    -00267     return 1;
    -00268   }
    -00269 
    -00270   // wait until twi is ready, become master transmitter
    -00271   while(TWI_READY != twi_state){
    -00272     continue;
    -00273   }
    -00274 
    -00275   twi_state = TWI_MTX;
    -00276   // reset error state (0xFF.. no error occured)
    -00277   twi_error = 0xFF;
    -00278 
    -00279   // initialize buffer iteration vars
    -00280   twi_masterBufferIndex = 0;
    -00281   twi_masterBufferLength = length;
    -00282   
    -00283   // copy data to twi buffer
    -00284   for(i = 0; i < length; ++i){
    -00285     twi_masterBuffer[i] = data[i];
    -00286   }
    -00287   
    -00288   // build sla+w, slave device address + w bit
    -00289   twi_slarw = TW_WRITE;
    -00290   twi_slarw |= address << 1;
    -00291   
    -00292   // send start condition
    -00293   TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA) | _BV(TWINT) | _BV(TWSTA);
    -00294 
    -00295   // wait for write operation to complete
    -00296   while(wait && (TWI_MTX == twi_state)){
    -00297     continue;
    -00298   }
    -00299   
    -00300   if (twi_error == 0xFF)
    -00301     return 0;   // success
    -00302   else if (twi_error == TW_MT_SLA_NACK)
    -00303     return 2;   // error: address send, nack received
    -00304   else if (twi_error == TW_MT_DATA_NACK)
    -00305     return 3;   // error: data send, nack received
    -00306   else
    -00307     return 4;   // other twi error
    -00308 }
    -00309 
    -00311 uint8_t twi_initiateWriteTo(uint8_t address, uint8_t* data, uint8_t length )
    -00312 {
    -00313   // ensure data will fit into buffer
    -00314   if(TWI_BUFFER_LENGTH < length){
    -00315     return 1;
    -00316   }
    -00317   twi_writeAddress = address;
    -00318   twi_writeData = data;
    -00319   twi_writeLength = length;
    -00320 
    -00321   if ( TWI_READY == twi_state ){
    -00322       twi_continueWriteTo();
    -00323   } else {
    -00324     twi_state = TWI_PRE_MTX;
    -00325   }
    -00326 }
    -00327 
    -00328 uint8_t twi_continueWriteTo(){
    -00329   uint8_t i;
    -00330   // wait until twi is ready, become master transmitter
    -00331 //   while(TWI_READY != twi_state){
    -00332 //     continue;
    -00333 //   }
    -00334 
    -00335   twi_state = TWI_MTX;
    -00336   // reset error state (0xFF.. no error occured)
    -00337   twi_error = 0xFF;
    -00338 
    -00339   // initialize buffer iteration vars
    -00340   twi_masterBufferIndex = 0;
    -00341   twi_masterBufferLength = twi_writeLength;
    -00342   
    -00343   // copy data to twi buffer
    -00344   for(i = 0; i < twi_writeLength; ++i){
    -00345     twi_masterBuffer[i] = twi_writeData[i];
    -00346   }
    -00347   
    -00348   // build sla+w, slave device address + w bit
    -00349   twi_slarw = TW_WRITE;
    -00350   twi_slarw |= twi_writeAddress << 1;
    -00351   
    -00352   // send start condition
    -00353   TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA) | _BV(TWINT) | _BV(TWSTA);
    -00354 }
    -00355 
    -00356 
    -00357 /* 
    -00358  * Function twi_reply
    -00359  * Desc     sends byte or readys receive line
    -00360  * Input    ack: byte indicating to ack or to nack
    -00361  * Output   none
    -00362  */
    -00363 void twi_reply(uint8_t ack)
    -00364 {
    -00365   // transmit master read ready signal, with or without ack
    -00366   if(ack){
    -00367     TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWINT) | _BV(TWEA);
    -00368   }else{
    -00369     TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWINT);
    -00370   }
    -00371 }
    -00372 
    -00373 /* 
    -00374  * Function twi_stop
    -00375  * Desc     relinquishes bus master status
    -00376  * Input    none
    -00377  * Output   none
    -00378  */
    -00379 void twi_stop(void)
    -00380 {
    -00381   // send stop condition
    -00382   TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA) | _BV(TWINT) | _BV(TWSTO);
    -00383 
    -00384   // wait for stop condition to be exectued on bus
    -00385   // TWINT is not set after a stop condition!
    -00386   while(TWCR & _BV(TWSTO)){ //FIXME: does this cause a delay?
    -00387     continue;
    -00388   }
    -00389 
    -00390   twi_oldstate = twi_state;
    -00391   // update twi state
    -00392   twi_state = TWI_READY;
    -00393   if ( twi_oldstate == TWI_PRE_MTX ){
    -00394       twi_continueWriteTo();
    -00395   } else if ( twi_oldstate == TWI_PRE_MRX ){
    -00396       twi_continueReadFrom();
    -00397   }
    -00398 }
    -00399 
    -00400 /* 
    -00401  * Function twi_releaseBus
    -00402  * Desc     releases bus control
    -00403  * Input    none
    -00404  * Output   none
    -00405  */
    -00406 void twi_releaseBus(void)
    -00407 {
    -00408   // release bus
    -00409   TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA) | _BV(TWINT);
    -00410 
    -00411   twi_oldstate = twi_state;
    -00412   // update twi state
    -00413   twi_state = TWI_READY;
    -00414   if ( twi_oldstate == TWI_PRE_MTX ){
    -00415       twi_continueWriteTo();
    -00416   } else if ( twi_oldstate == TWI_PRE_MRX ){
    -00417       twi_continueReadFrom();
    -00418   }
    -00419 }
    -00420 
    -00421 // SIGNAL(TWI_vect)
    -00422 // ISR(TWI_vect, ISR_NOBLOCK )
    -00423 ISR(TWI_vect)
    -00424 {
    -00425   switch(TW_STATUS){
    -00426     // All Master
    -00427     case TW_START:     // sent start condition
    -00428     case TW_REP_START: // sent repeated start condition
    -00429       // copy device address and r/w bit to output register and ack
    -00430       TWDR = twi_slarw;
    -00431       twi_reply(1);
    -00432       break;
    -00433 
    -00434     // Master Transmitter
    -00435     case TW_MT_SLA_ACK:  // slave receiver acked address
    -00436     case TW_MT_DATA_ACK: // slave receiver acked data
    -00437       // if there is data to send, send it, otherwise stop 
    -00438       if(twi_masterBufferIndex < twi_masterBufferLength){
    -00439         // copy data to output register and ack
    -00440         TWDR = twi_masterBuffer[twi_masterBufferIndex++];
    -00441         twi_reply(1);
    -00442       }else{
    -00443         twi_stop();
    -00444       }
    -00445       break;
    -00446     case TW_MT_SLA_NACK:  // address sent, nack received
    -00447       twi_error = TW_MT_SLA_NACK;
    -00448       twi_stop();
    -00449       break;
    -00450     case TW_MT_DATA_NACK: // data sent, nack received
    -00451       twi_error = TW_MT_DATA_NACK;
    -00452       twi_stop();
    -00453       break;
    -00454     case TW_MT_ARB_LOST: // lost bus arbitration
    -00455       twi_error = TW_MT_ARB_LOST;
    -00456       twi_releaseBus();
    -00457       break;
    -00458 
    -00459     // Master Receiver
    -00460     case TW_MR_DATA_ACK: // data received, ack sent
    -00461       // put byte into buffer
    -00462       twi_masterBuffer[twi_masterBufferIndex++] = TWDR;
    -00463     case TW_MR_SLA_ACK:  // address sent, ack received
    -00464       // ack if more bytes are expected, otherwise nack
    -00465       if(twi_masterBufferIndex < twi_masterBufferLength){
    -00466         twi_reply(1);
    -00467       }else{
    -00468         twi_reply(0);
    -00469       }
    -00470       break;
    -00471     case TW_MR_DATA_NACK: // data received, nack sent
    -00472       // put final byte into buffer
    -00473       twi_masterBuffer[twi_masterBufferIndex++] = TWDR;
    -00474     case TW_MR_SLA_NACK: // address sent, nack received
    -00475       twi_stop();
    -00476       break;
    -00477     // TW_MR_ARB_LOST handled by TW_MT_ARB_LOST case
    -00478 
    -00479 //     // Slave Receiver
    -00480 //     case TW_SR_SLA_ACK:   // addressed, returned ack
    -00481 //     case TW_SR_GCALL_ACK: // addressed generally, returned ack
    -00482 //     case TW_SR_ARB_LOST_SLA_ACK:   // lost arbitration, returned ack
    -00483 //     case TW_SR_ARB_LOST_GCALL_ACK: // lost arbitration, returned ack
    -00484 //       // enter slave receiver mode
    -00485 //       twi_state = TWI_SRX;
    -00486 //       // indicate that rx buffer can be overwritten and ack
    -00487 //       twi_rxBufferIndex = 0;
    -00488 //       twi_reply(1);
    -00489 //       break;
    -00490 //     case TW_SR_DATA_ACK:       // data received, returned ack
    -00491 //     case TW_SR_GCALL_DATA_ACK: // data received generally, returned ack
    -00492 //       // if there is still room in the rx buffer
    -00493 //       if(twi_rxBufferIndex < TWI_BUFFER_LENGTH){
    -00494 //         // put byte in buffer and ack
    -00495 //         twi_rxBuffer[twi_rxBufferIndex++] = TWDR;
    -00496 //         twi_reply(1);
    -00497 //       }else{
    -00498 //         // otherwise nack
    -00499 //         twi_reply(0);
    -00500 //       }
    -00501 //       break;
    -00502 //     case TW_SR_STOP: // stop or repeated start condition received
    -00503 //       // put a null char after data if there's room
    -00504 //       if(twi_rxBufferIndex < TWI_BUFFER_LENGTH){
    -00505 //         twi_rxBuffer[twi_rxBufferIndex] = '\0';
    -00506 //       }
    -00507 //       // sends ack and stops interface for clock stretching
    -00508 //       twi_stop();
    -00509 //       // callback to user defined callback
    -00510 //       twi_onSlaveReceive(twi_rxBuffer, twi_rxBufferIndex);
    -00511 //       // since we submit rx buffer to "wire" library, we can reset it
    -00512 //       twi_rxBufferIndex = 0;
    -00513 //       // ack future responses and leave slave receiver state
    -00514 //       twi_releaseBus();
    -00515 //       break;
    -00516 //     case TW_SR_DATA_NACK:       // data received, returned nack
    -00517 //     case TW_SR_GCALL_DATA_NACK: // data received generally, returned nack
    -00518 //       // nack back at master
    -00519 //       twi_reply(0);
    -00520 //       break;
    -00521 //     
    -00522 //     // Slave Transmitter
    -00523 //     case TW_ST_SLA_ACK:          // addressed, returned ack
    -00524 //     case TW_ST_ARB_LOST_SLA_ACK: // arbitration lost, returned ack
    -00525 //       // enter slave transmitter mode
    -00526 //       twi_state = TWI_STX;
    -00527 //       // ready the tx buffer index for iteration
    -00528 //       twi_txBufferIndex = 0;
    -00529 //       // set tx buffer length to be zero, to verify if user changes it
    -00530 //       twi_txBufferLength = 0;
    -00531 //       // request for txBuffer to be filled and length to be set
    -00532 //       // note: user must call twi_transmit(bytes, length) to do this
    -00533 //       twi_onSlaveTransmit();
    -00534 //       // if they didn't change buffer & length, initialize it
    -00535 //       if(0 == twi_txBufferLength){
    -00536 //         twi_txBufferLength = 1;
    -00537 //         twi_txBuffer[0] = 0x00;
    -00538 //       }
    -00539 //       // transmit first byte from buffer, fall
    -00540 //     case TW_ST_DATA_ACK: // byte sent, ack returned
    -00541 //       // copy data to output register
    -00542 //       TWDR = twi_txBuffer[twi_txBufferIndex++];
    -00543 //       // if there is more to send, ack, otherwise nack
    -00544 //       if(twi_txBufferIndex < twi_txBufferLength){
    -00545 //         twi_reply(1);
    -00546 //       }else{
    -00547 //         twi_reply(0);
    -00548 //       }
    -00549 //       break;
    -00550 //     case TW_ST_DATA_NACK: // received nack, we are done 
    -00551 //     case TW_ST_LAST_DATA: // received ack, but we are done already!
    -00552 //       // ack future responses
    -00553 //       twi_reply(1);
    -00554 //       // leave slave receiver state
    -00555 //       twi_state = TWI_READY;
    -00556 //       break;
    -00557 
    -00558     // All
    -00559     case TW_NO_INFO:   // no state information
    -00560       break;
    -00561     case TW_BUS_ERROR: // bus error, illegal stop/start
    -00562       twi_error = TW_BUS_ERROR;
    -00563       twi_stop();
    -00564       break;
    -00565   }
    -00566 }
    -
    - - - - +
    1 /*
    +
    2  * twi_nonblock.cpp
    +
    3  *
    +
    4  * Copyright 2012 Marije Baalman.
    +
    5  *
    +
    6  * This program is free software: you can redistribute it and/or modify
    +
    7  * it under the terms of the GNU General Public License as published by
    +
    8  * the Free Software Foundation, either version 3 of the License, or
    +
    9  * (at your option) any later version.
    +
    10  *
    +
    11  * This program is distributed in the hope that it will be useful,
    +
    12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    +
    13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    +
    14  * GNU General Public License for more details.
    +
    15  *
    +
    16  * You should have received a copy of the GNU General Public License
    +
    17  * along with this program. If not, see <http://www.gnu.org/licenses/>.
    +
    18  */
    +
    19 
    +
    20 #include "twi_nonblock.h"
    +
    21 
    +
    22 #include <avr/interrupt.h>
    +
    23 
    +
    24 uint8_t twi_writeAddress;
    +
    25 uint8_t * twi_writeData;
    +
    26 uint8_t twi_writeLength;
    +
    27 
    +
    28 uint8_t twi_readAddress;
    +
    29 // uint8_t * twi_writeData;
    +
    30 uint8_t twi_readLength;
    +
    31 
    +
    32 /*
    +
    33  * Function twi_init
    +
    34  * Desc readys twi pins and sets twi bitrate
    +
    35  * Input none
    +
    36  * Output none
    +
    37  */
    +
    38 void initialize_twi_nonblock(){
    +
    39  rxBufferIndex = 0;
    +
    40  rxBufferLength = 0;
    +
    41 
    +
    42  txBufferIndex = 0;
    +
    43  txBufferLength = 0;
    +
    44 
    +
    45  // initialize state
    +
    46  twi_state = TWI_READY;
    +
    47 
    +
    48  #if defined(__AVR_ATmega168__) || defined(__AVR_ATmega8__) || defined(__AVR_ATmega328P__)
    +
    49  // activate internal pull-ups for twi
    +
    50  // as per note from atmega8 manual pg167
    +
    51  sbi(PORTC, 4);
    +
    52  sbi(PORTC, 5);
    +
    53  #else
    +
    54  // activate internal pull-ups for twi
    +
    55  // as per note from atmega128 manual pg204
    +
    56  sbi(PORTD, 0);
    +
    57  sbi(PORTD, 1);
    +
    58  #endif
    +
    59 
    +
    60  // initialize twi prescaler and bit rate
    +
    61  cbi(TWSR, TWPS0);
    +
    62  cbi(TWSR, TWPS1);
    +
    63  TWBR = ((F_CPU / TWI_FREQ) - 16) / 2;
    +
    64 
    +
    65  /* twi bit rate formula from atmega128 manual pg 204
    +
    66  SCL Frequency = CPU Clock Frequency / (16 + (2 * TWBR))
    +
    67  note: TWBR should be 10 or higher for master mode
    +
    68  It is 72 for a 16mhz Wiring board with 100kHz TWI */
    +
    69 
    +
    70  // enable twi module, acks, and twi interrupt
    +
    71  TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA);
    +
    72 }
    +
    73 
    +
    74 
    +
    75 uint8_t twowire_requestFromBlocking(uint8_t address, uint8_t quantity)
    +
    76 {
    +
    77  // clamp to buffer length
    +
    78  if(quantity > BUFFER_LENGTH){
    +
    79  quantity = BUFFER_LENGTH;
    +
    80  }
    +
    81  // perform blocking read into buffer
    +
    82  uint8_t read = twi_readFromBlocking(address, rxBuffer, quantity);
    +
    83  // set rx buffer iterator vars
    +
    84  rxBufferIndex = 0;
    +
    85  rxBufferLength = read;
    +
    86 
    +
    87  return read;
    +
    88 }
    +
    89 
    +
    90 void twowire_beginTransmission( uint8_t address ){
    +
    91  // indicate that we are transmitting
    +
    92  transmitting = 1;
    +
    93  // set address of targeted slave
    +
    94  txAddress = address;
    +
    95  // reset tx buffer iterator vars
    +
    96  txBufferIndex = 0;
    +
    97  txBufferLength = 0;
    +
    98 }
    +
    99 
    +
    100 void twowire_send( uint8_t data ){
    +
    101  if(transmitting){
    +
    102  // in master transmitter mode
    +
    103  // don't bother if buffer is full
    +
    104  if(txBufferLength >= BUFFER_LENGTH){
    +
    105  return;
    +
    106  }
    +
    107  // put byte in tx buffer
    +
    108  txBuffer[txBufferIndex] = data;
    +
    109  ++txBufferIndex;
    +
    110  // update amount in buffer
    +
    111  txBufferLength = txBufferIndex;
    +
    112  }
    +
    113 }
    +
    114 
    +
    115 uint8_t twowire_endTransmission(void)
    +
    116 {
    +
    117  // transmit buffer (blocking)
    +
    118  int8_t ret = twi_writeToBlocking(txAddress, txBuffer, txBufferLength, 1);
    +
    119  // reset tx buffer iterator vars
    +
    120  txBufferIndex = 0;
    +
    121  txBufferLength = 0;
    +
    122  // indicate that we are done transmitting
    +
    123  transmitting = 0;
    +
    124  return ret;
    +
    125 }
    +
    126 
    +
    127 /*
    +
    128  * Function twi_readFrom
    +
    129  * Desc attempts to become twi bus master and read a
    +
    130  * series of bytes from a device on the bus
    +
    131  * Input address: 7bit i2c device address
    +
    132  * data: pointer to byte array
    +
    133  * length: number of bytes to read into array
    +
    134  * Output number of bytes read
    +
    135  */
    +
    137 uint8_t twi_readFromBlocking(uint8_t address, uint8_t* data, uint8_t length)
    +
    138 {
    +
    139  uint8_t i;
    +
    140 
    +
    141  // ensure data will fit into buffer
    +
    142  if(TWI_BUFFER_LENGTH < length){
    +
    143  return 0;
    +
    144  }
    +
    145 
    +
    146  // wait until twi is ready, become master receiver
    +
    147  while(TWI_READY != twi_state){
    +
    148  continue;
    +
    149  }
    +
    150 
    +
    151  twi_state = TWI_MRX;
    +
    152  // reset error state (0xFF.. no error occured)
    +
    153  twi_error = 0xFF;
    +
    154 
    +
    155  // initialize buffer iteration vars
    +
    156  twi_masterBufferIndex = 0;
    +
    157  twi_masterBufferLength = length-1; // This is not intuitive, read on...
    +
    158  // On receive, the previously configured ACK/NACK setting is transmitted in
    +
    159  // response to the received byte before the interrupt is signalled.
    +
    160  // Therefor we must actually set NACK when the _next_ to last byte is
    +
    161  // received, causing that NACK to be sent in response to receiving the last
    +
    162  // expected byte of data.
    +
    163 
    +
    164  // build sla+w, slave device address + w bit
    +
    165  twi_slarw = TW_READ;
    +
    166  twi_slarw |= address << 1;
    +
    167 
    +
    168  // send start condition
    +
    169  TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA) | _BV(TWINT) | _BV(TWSTA);
    +
    170 
    +
    171  // wait for read operation to complete
    +
    172  while(TWI_MRX == twi_state){
    +
    173  continue;
    +
    174  }
    +
    175 
    +
    176  if (twi_masterBufferIndex < length)
    +
    177  length = twi_masterBufferIndex;
    +
    178 
    +
    179  // copy twi buffer to data
    +
    180  for(i = 0; i < length; ++i){
    +
    181  data[i] = twi_masterBuffer[i];
    +
    182  }
    +
    183 
    +
    184  return length;
    +
    185 }
    +
    186 
    +
    187 
    +
    188 
    +
    190 
    +
    191 
    +
    192 uint8_t twi_initiateReadFrom(uint8_t address, uint8_t length)
    +
    193 {
    +
    194 
    +
    195  // ensure data will fit into buffer
    +
    196  if(TWI_BUFFER_LENGTH < length){
    +
    197  return 0;
    +
    198  }
    +
    199 
    +
    200  twi_readLength = length;
    +
    201  twi_readAddress = address;
    +
    202 
    +
    203  if ( TWI_READY == twi_state ){
    +
    204  twi_continueReadFrom();
    +
    205  } else {
    +
    206  twi_state = TWI_PRE_MRX;
    +
    207  }
    +
    208  if (twi_error == 0xFF)
    +
    209  return 0; // success
    +
    210  else if (twi_error == TW_MT_SLA_NACK)
    +
    211  return 2; // error: address send, nack received
    +
    212  else if (twi_error == TW_MT_DATA_NACK)
    +
    213  return 3; // error: data send, nack received
    +
    214  else
    +
    215  return 4; // other twi error
    +
    216 }
    +
    217 
    +
    218 
    +
    219 
    +
    220 void twi_continueReadFrom(){
    +
    221 
    +
    222  twi_state = TWI_MRX;
    +
    223  // reset error state (0xFF.. no error occured)
    +
    224  twi_error = 0xFF;
    +
    225 
    +
    226  // initialize buffer iteration vars
    +
    227  twi_masterBufferIndex = 0;
    +
    228  twi_masterBufferLength = twi_readLength-1; // This is not intuitive, read on...
    +
    229  // On receive, the previously configured ACK/NACK setting is transmitted in
    +
    230  // response to the received byte before the interrupt is signalled.
    +
    231  // Therefor we must actually set NACK when the _next_ to last byte is
    +
    232  // received, causing that NACK to be sent in response to receiving the last
    +
    233  // expected byte of data.
    +
    234 
    +
    235  // build sla+w, slave device address + w bit
    +
    236  twi_slarw = TW_READ;
    +
    237  twi_slarw |= twi_readAddress << 1;
    +
    238 
    +
    239  // send start condition
    +
    240  TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA) | _BV(TWINT) | _BV(TWSTA);
    +
    241 }
    +
    242 
    +
    243 
    +
    244 
    +
    245 uint8_t twi_readMasterBuffer( uint8_t* data, uint8_t length ){
    +
    246  uint8_t i;
    +
    247  if (twi_masterBufferIndex < length)
    +
    248  length = twi_masterBufferIndex;
    +
    249 
    +
    250  // copy twi buffer to data
    +
    251  for(i = 0; i < length; ++i){
    +
    252  data[i] = twi_masterBuffer[i];
    +
    253  }
    +
    254 
    +
    255  return length;
    +
    256 }
    +
    257 
    +
    258 
    +
    259 
    +
    261 
    +
    262 
    +
    263 /*
    +
    264  * Function twi_writeTo
    +
    265  * Desc attempts to become twi bus master and write a
    +
    266  * series of bytes to a device on the bus
    +
    267  * Input address: 7bit i2c device address
    +
    268  * data: pointer to byte array
    +
    269  * length: number of bytes in array
    +
    270  * wait: boolean indicating to wait for write or not
    +
    271  * Output 0 .. success
    +
    272  * 1 .. length to long for buffer
    +
    273  * 2 .. address send, NACK received
    +
    274  * 3 .. data send, NACK received
    +
    275  * 4 .. other twi error (lost bus arbitration, bus error, ..)
    +
    276  */
    +
    278 uint8_t twi_writeToBlocking(uint8_t address, uint8_t* data, uint8_t length, uint8_t wait)
    +
    279 {
    +
    280  uint8_t i;
    +
    281 
    +
    282  // ensure data will fit into buffer
    +
    283  if(TWI_BUFFER_LENGTH < length){
    +
    284  return 1;
    +
    285  }
    +
    286 
    +
    287  // wait until twi is ready, become master transmitter
    +
    288  while(TWI_READY != twi_state){
    +
    289  continue;
    +
    290  }
    +
    291 
    +
    292  twi_state = TWI_MTX;
    +
    293  // reset error state (0xFF.. no error occured)
    +
    294  twi_error = 0xFF;
    +
    295 
    +
    296  // initialize buffer iteration vars
    +
    297  twi_masterBufferIndex = 0;
    +
    298  twi_masterBufferLength = length;
    +
    299 
    +
    300  // copy data to twi buffer
    +
    301  for(i = 0; i < length; ++i){
    +
    302  twi_masterBuffer[i] = data[i];
    +
    303  }
    +
    304 
    +
    305  // build sla+w, slave device address + w bit
    +
    306  twi_slarw = TW_WRITE;
    +
    307  twi_slarw |= address << 1;
    +
    308 
    +
    309  // send start condition
    +
    310  TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA) | _BV(TWINT) | _BV(TWSTA);
    +
    311 
    +
    312  // wait for write operation to complete
    +
    313  while(wait && (TWI_MTX == twi_state)){
    +
    314  continue;
    +
    315  }
    +
    316 
    +
    317  if (twi_error == 0xFF)
    +
    318  return 0; // success
    +
    319  else if (twi_error == TW_MT_SLA_NACK)
    +
    320  return 2; // error: address send, nack received
    +
    321  else if (twi_error == TW_MT_DATA_NACK)
    +
    322  return 3; // error: data send, nack received
    +
    323  else
    +
    324  return 4; // other twi error
    +
    325 }
    +
    326 
    +
    327 
    +
    328 
    +
    330 
    +
    331 
    +
    332 uint8_t twi_initiateWriteTo(uint8_t address, uint8_t* data, uint8_t length )
    +
    333 {
    +
    334  // ensure data will fit into buffer
    +
    335  if(TWI_BUFFER_LENGTH < length){
    +
    336  return 1;
    +
    337  }
    +
    338  twi_writeAddress = address;
    +
    339  twi_writeData = data;
    +
    340  twi_writeLength = length;
    +
    341 
    +
    342  if ( TWI_READY == twi_state ){
    +
    343  twi_continueWriteTo();
    +
    344  } else {
    +
    345  twi_state = TWI_PRE_MTX;
    +
    346  }
    +
    347  if (twi_error == 0xFF)
    +
    348  return 0; // success
    +
    349  else if (twi_error == TW_MT_SLA_NACK)
    +
    350  return 2; // error: address send, nack received
    +
    351  else if (twi_error == TW_MT_DATA_NACK)
    +
    352  return 3; // error: data send, nack received
    +
    353  else
    +
    354  return 4; // other twi error
    +
    355 }
    +
    356 
    +
    357 
    +
    358 
    +
    359 void twi_continueWriteTo(){
    +
    360  uint8_t i;
    +
    361  // wait until twi is ready, become master transmitter
    +
    362 // while(TWI_READY != twi_state){
    +
    363 // continue;
    +
    364 // }
    +
    365 
    +
    366  twi_state = TWI_MTX;
    +
    367  // reset error state (0xFF.. no error occured)
    +
    368  twi_error = 0xFF;
    +
    369 
    +
    370  // initialize buffer iteration vars
    +
    371  twi_masterBufferIndex = 0;
    +
    372  twi_masterBufferLength = twi_writeLength;
    +
    373 
    +
    374  // copy data to twi buffer
    +
    375  for(i = 0; i < twi_writeLength; ++i){
    +
    376  twi_masterBuffer[i] = twi_writeData[i];
    +
    377  }
    +
    378 
    +
    379  // build sla+w, slave device address + w bit
    +
    380  twi_slarw = TW_WRITE;
    +
    381  twi_slarw |= twi_writeAddress << 1;
    +
    382 
    +
    383  // send start condition
    +
    384  TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA) | _BV(TWINT) | _BV(TWSTA);
    +
    385 }
    +
    386 
    +
    387 
    +
    388 // -----------end non-blocking --------------------
    +
    389 
    +
    390 
    +
    391 /*
    +
    392  * Function twi_reply
    +
    393  * Desc sends byte or readys receive line
    +
    394  * Input ack: byte indicating to ack or to nack
    +
    395  * Output none
    +
    396  */
    +
    397 void twi_reply(uint8_t ack)
    +
    398 {
    +
    399  // transmit master read ready signal, with or without ack
    +
    400  if(ack){
    +
    401  TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWINT) | _BV(TWEA);
    +
    402  }else{
    +
    403  TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWINT);
    +
    404  }
    +
    405 }
    +
    406 
    +
    407 
    +
    408 
    +
    409 /*
    +
    410  * Function twi_stop
    +
    411  * Desc relinquishes bus master status
    +
    412  * Input none
    +
    413  * Output none
    +
    414  */
    +
    415 void twi_stop(void)
    +
    416 {
    +
    417  // send stop condition
    +
    418  TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA) | _BV(TWINT) | _BV(TWSTO);
    +
    419 
    +
    420  // wait for stop condition to be exectued on bus
    +
    421  // TWINT is not set after a stop condition!
    +
    422  while(TWCR & _BV(TWSTO)){ //FIXME: does this cause a delay?
    +
    423  continue;
    +
    424  }
    +
    425 
    +
    426  twi_oldstate = twi_state;
    +
    427  // update twi state
    +
    428  twi_state = TWI_READY;
    +
    429  if ( twi_oldstate == TWI_PRE_MTX ){
    +
    430  twi_continueWriteTo();
    +
    431  } else if ( twi_oldstate == TWI_PRE_MRX ){
    +
    432  twi_continueReadFrom();
    +
    433  }
    +
    434 }
    +
    435 
    +
    436 
    +
    437 
    +
    438 /*
    +
    439  * Function twi_releaseBus
    +
    440  * Desc releases bus control
    +
    441  * Input none
    +
    442  * Output none
    +
    443  */
    +
    444 void twi_releaseBus(void)
    +
    445 {
    +
    446  // release bus
    +
    447  TWCR = _BV(TWEN) | _BV(TWIE) | _BV(TWEA) | _BV(TWINT);
    +
    448 
    +
    449  twi_oldstate = twi_state;
    +
    450  // update twi state
    +
    451  twi_state = TWI_READY;
    +
    452  if ( twi_oldstate == TWI_PRE_MTX ){
    +
    453  twi_continueWriteTo();
    +
    454  } else if ( twi_oldstate == TWI_PRE_MRX ){
    +
    455  twi_continueReadFrom();
    +
    456  }
    +
    457 }
    +
    458 
    +
    459 // SIGNAL(TWI_vect)
    +
    460 // ISR(TWI_vect, ISR_NOBLOCK )
    +
    461 ISR(TWI_vect)
    +
    462 {
    +
    463  switch(TW_STATUS){
    +
    464  // All Master
    +
    465  case TW_START: // sent start condition
    +
    466  case TW_REP_START: // sent repeated start condition
    +
    467  // copy device address and r/w bit to output register and ack
    +
    468  TWDR = twi_slarw;
    +
    469  twi_reply(1);
    +
    470  break;
    +
    471 
    +
    472  // Master Transmitter
    +
    473  case TW_MT_SLA_ACK: // slave receiver acked address
    +
    474  case TW_MT_DATA_ACK: // slave receiver acked data
    +
    475  // if there is data to send, send it, otherwise stop
    +
    476  if(twi_masterBufferIndex < twi_masterBufferLength){
    +
    477  // copy data to output register and ack
    +
    478  TWDR = twi_masterBuffer[twi_masterBufferIndex++];
    +
    479  twi_reply(1);
    +
    480  }else{
    +
    481  twi_stop();
    +
    482  }
    +
    483  break;
    +
    484  case TW_MT_SLA_NACK: // address sent, nack received
    +
    485  twi_error = TW_MT_SLA_NACK;
    +
    486  twi_stop();
    +
    487  break;
    +
    488  case TW_MT_DATA_NACK: // data sent, nack received
    +
    489  twi_error = TW_MT_DATA_NACK;
    +
    490  twi_stop();
    +
    491  break;
    +
    492  case TW_MT_ARB_LOST: // lost bus arbitration
    +
    493  twi_error = TW_MT_ARB_LOST;
    +
    494  twi_releaseBus();
    +
    495  break;
    +
    496 
    +
    497  // Master Receiver
    +
    498  case TW_MR_DATA_ACK: // data received, ack sent
    +
    499  // put byte into buffer
    +
    500  twi_masterBuffer[twi_masterBufferIndex++] = TWDR;
    +
    501  case TW_MR_SLA_ACK: // address sent, ack received
    +
    502  // ack if more bytes are expected, otherwise nack
    +
    503  if(twi_masterBufferIndex < twi_masterBufferLength){
    +
    504  twi_reply(1);
    +
    505  }else{
    +
    506  twi_reply(0);
    +
    507  }
    +
    508  break;
    +
    509  case TW_MR_DATA_NACK: // data received, nack sent
    +
    510  // put final byte into buffer
    +
    511  twi_masterBuffer[twi_masterBufferIndex++] = TWDR;
    +
    512  case TW_MR_SLA_NACK: // address sent, nack received
    +
    513  twi_stop();
    +
    514  break;
    +
    515  // TW_MR_ARB_LOST handled by TW_MT_ARB_LOST case
    +
    516 
    +
    517 // // Slave Receiver
    +
    518 // case TW_SR_SLA_ACK: // addressed, returned ack
    +
    519 // case TW_SR_GCALL_ACK: // addressed generally, returned ack
    +
    520 // case TW_SR_ARB_LOST_SLA_ACK: // lost arbitration, returned ack
    +
    521 // case TW_SR_ARB_LOST_GCALL_ACK: // lost arbitration, returned ack
    +
    522 // // enter slave receiver mode
    +
    523 // twi_state = TWI_SRX;
    +
    524 // // indicate that rx buffer can be overwritten and ack
    +
    525 // twi_rxBufferIndex = 0;
    +
    526 // twi_reply(1);
    +
    527 // break;
    +
    528 // case TW_SR_DATA_ACK: // data received, returned ack
    +
    529 // case TW_SR_GCALL_DATA_ACK: // data received generally, returned ack
    +
    530 // // if there is still room in the rx buffer
    +
    531 // if(twi_rxBufferIndex < TWI_BUFFER_LENGTH){
    +
    532 // // put byte in buffer and ack
    +
    533 // twi_rxBuffer[twi_rxBufferIndex++] = TWDR;
    +
    534 // twi_reply(1);
    +
    535 // }else{
    +
    536 // // otherwise nack
    +
    537 // twi_reply(0);
    +
    538 // }
    +
    539 // break;
    +
    540 // case TW_SR_STOP: // stop or repeated start condition received
    +
    541 // // put a null char after data if there's room
    +
    542 // if(twi_rxBufferIndex < TWI_BUFFER_LENGTH){
    +
    543 // twi_rxBuffer[twi_rxBufferIndex] = '\0';
    +
    544 // }
    +
    545 // // sends ack and stops interface for clock stretching
    +
    546 // twi_stop();
    +
    547 // // callback to user defined callback
    +
    548 // twi_onSlaveReceive(twi_rxBuffer, twi_rxBufferIndex);
    +
    549 // // since we submit rx buffer to "wire" library, we can reset it
    +
    550 // twi_rxBufferIndex = 0;
    +
    551 // // ack future responses and leave slave receiver state
    +
    552 // twi_releaseBus();
    +
    553 // break;
    +
    554 // case TW_SR_DATA_NACK: // data received, returned nack
    +
    555 // case TW_SR_GCALL_DATA_NACK: // data received generally, returned nack
    +
    556 // // nack back at master
    +
    557 // twi_reply(0);
    +
    558 // break;
    +
    559 //
    +
    560 // // Slave Transmitter
    +
    561 // case TW_ST_SLA_ACK: // addressed, returned ack
    +
    562 // case TW_ST_ARB_LOST_SLA_ACK: // arbitration lost, returned ack
    +
    563 // // enter slave transmitter mode
    +
    564 // twi_state = TWI_STX;
    +
    565 // // ready the tx buffer index for iteration
    +
    566 // twi_txBufferIndex = 0;
    +
    567 // // set tx buffer length to be zero, to verify if user changes it
    +
    568 // twi_txBufferLength = 0;
    +
    569 // // request for txBuffer to be filled and length to be set
    +
    570 // // note: user must call twi_transmit(bytes, length) to do this
    +
    571 // twi_onSlaveTransmit();
    +
    572 // // if they didn't change buffer & length, initialize it
    +
    573 // if(0 == twi_txBufferLength){
    +
    574 // twi_txBufferLength = 1;
    +
    575 // twi_txBuffer[0] = 0x00;
    +
    576 // }
    +
    577 // // transmit first byte from buffer, fall
    +
    578 // case TW_ST_DATA_ACK: // byte sent, ack returned
    +
    579 // // copy data to output register
    +
    580 // TWDR = twi_txBuffer[twi_txBufferIndex++];
    +
    581 // // if there is more to send, ack, otherwise nack
    +
    582 // if(twi_txBufferIndex < twi_txBufferLength){
    +
    583 // twi_reply(1);
    +
    584 // }else{
    +
    585 // twi_reply(0);
    +
    586 // }
    +
    587 // break;
    +
    588 // case TW_ST_DATA_NACK: // received nack, we are done
    +
    589 // case TW_ST_LAST_DATA: // received ack, but we are done already!
    +
    590 // // ack future responses
    +
    591 // twi_reply(1);
    +
    592 // // leave slave receiver state
    +
    593 // twi_state = TWI_READY;
    +
    594 // break;
    +
    595 
    +
    596  // All
    +
    597  case TW_NO_INFO: // no state information
    +
    598  break;
    +
    599  case TW_BUS_ERROR: // bus error, illegal stop/start
    +
    600  twi_error = TW_BUS_ERROR;
    +
    601  twi_stop();
    +
    602  break;
    +
    603  }
    +
    604 }
    +
    + + + diff --git a/doc/html/twi__nonblock_8h_source.html b/doc/html/twi__nonblock_8h_source.html index 877c3edcc..a4907ca3d 100644 --- a/doc/html/twi__nonblock_8h_source.html +++ b/doc/html/twi__nonblock_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: twi_nonblock.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -95,109 +102,111 @@
    twi_nonblock.h
    -
    00001 /*
    -00002  * twi_nonblock.h
    -00003  *
    -00004  * Copyright 2012 Marije Baalman.
    -00005  *
    -00006  * This program is free software: you can redistribute it and/or modify
    -00007  * it under the terms of the GNU General Public License as published by
    -00008  * the Free Software Foundation, either version 3 of the License, or
    -00009  * (at your option) any later version.
    -00010  *
    -00011  * This program is distributed in the hope that it will be useful,
    -00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    -00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    -00014  * GNU General Public License for more details.
    -00015  *
    -00016  * You should have received a copy of the GNU General Public License
    -00017  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
    -00018  */
    -00019  
    -00020 #ifndef TWI_NONBLOCK_H_
    -00021 #define TWI_NONBLOCK_H_
    -00022 
    -00023 #include "Arduino.h"
    -00024 
    -00025 #include <compat/twi.h>
    -00026 
    -00027 #define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit))
    -00028 #define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit))
    -00029 
    -00030 // --- twi reading variables
    -00031   #ifndef TWI_FREQ
    -00032   #define TWI_FREQ 100000L
    -00033   #endif
    -00034 
    -00035   #ifndef TWI_BUFFER_LENGTH
    -00036   #define TWI_BUFFER_LENGTH 32
    -00037   #endif
    -00038 
    -00039   #define TWI_READY 0
    -00040   #define TWI_PRE_MRX   1
    -00041   #define TWI_MRX   2
    -00042   #define TWI_PRE_MTX   3
    -00043   #define TWI_MTX   4
    -00044   #define TWI_SRX   5
    -00045   #define TWI_STX   6
    -00046 
    -00047 static volatile uint8_t twi_state;
    -00048 static volatile uint8_t twi_oldstate;
    -00049 // static uint8_t twiint_masrw;
    -00050 static uint8_t twi_slarw;
    -00051 
    -00052 static uint8_t twi_masterBuffer[TWI_BUFFER_LENGTH];
    -00053 static volatile uint8_t twi_masterBufferIndex;
    -00054 static uint8_t twi_masterBufferLength;
    -00055 
    -00056 static volatile uint8_t twi_error;
    -00057 
    -00058 #define BUFFER_LENGTH 32
    -00059 static uint8_t rxBuffer[BUFFER_LENGTH];
    -00060 static uint8_t rxBufferIndex = 0;
    -00061 static uint8_t rxBufferLength = 0;
    -00062 
    -00063 static uint8_t txAddress = 0;
    -00064 static uint8_t txBuffer[BUFFER_LENGTH];
    -00065 static uint8_t txBufferIndex = 0;
    -00066 static uint8_t txBufferLength = 0;
    -00067 
    -00068 static uint8_t transmitting;
    -00069 
    -00070 
    -00071 void initialize_twi_nonblock();
    -00072 
    -00073 uint8_t twowire_requestFrom(uint8_t address, uint8_t quantity);
    -00074 void twowire_beginTransmission( uint8_t address );
    -00075 void twowire_send( uint8_t data );
    -00076 uint8_t twowire_endTransmission(void);
    -00077 
    -00079 uint8_t twi_initiateReadFrom(uint8_t address, uint8_t length);
    -00080 uint8_t twi_continueReadFrom();
    -00081 
    -00082 uint8_t twi_readMasterBuffer( uint8_t* data, uint8_t length );
    -00083 
    -00084 uint8_t twi_initiateWriteTo(uint8_t address, uint8_t* data, uint8_t length );
    -00085 uint8_t twi_continueWriteTo();
    -00086 
    -00087 
    -00088 void twi_reply(uint8_t ack);
    -00089 void twi_stop(void);
    -00090 void twi_releaseBus(void);
    -00091 
    -00093 uint8_t twi_readFromBlocking(uint8_t address, uint8_t* data, uint8_t length);
    -00094 uint8_t twi_writeToBlocking(uint8_t address, uint8_t* data, uint8_t length, uint8_t wait);
    -00095 
    -00096 
    -00097 #endif
    -
    - - - - +
    1 /*
    +
    2  * twi_nonblock.h
    +
    3  *
    +
    4  * Copyright 2012 Marije Baalman.
    +
    5  *
    +
    6  * This program is free software: you can redistribute it and/or modify
    +
    7  * it under the terms of the GNU General Public License as published by
    +
    8  * the Free Software Foundation, either version 3 of the License, or
    +
    9  * (at your option) any later version.
    +
    10  *
    +
    11  * This program is distributed in the hope that it will be useful,
    +
    12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    +
    13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    +
    14  * GNU General Public License for more details.
    +
    15  *
    +
    16  * You should have received a copy of the GNU General Public License
    +
    17  * along with this program. If not, see <http://www.gnu.org/licenses/>.
    +
    18  */
    +
    19 
    +
    20 #ifndef TWI_NONBLOCK_H_
    +
    21 #define TWI_NONBLOCK_H_
    +
    22 
    +
    23 #include "Arduino.h"
    +
    24 
    +
    25 #include <compat/twi.h>
    +
    26 
    +
    27 #define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit))
    +
    28 #define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit))
    +
    29 
    +
    30 // --- twi reading variables
    +
    31  #ifndef TWI_FREQ
    +
    32  #define TWI_FREQ 100000L
    +
    33  #endif
    +
    34 
    +
    35  #ifndef TWI_BUFFER_LENGTH
    +
    36  #define TWI_BUFFER_LENGTH 32
    +
    37  #endif
    +
    38 
    +
    39  #define TWI_READY 0
    +
    40  #define TWI_PRE_MRX 1
    +
    41  #define TWI_MRX 2
    +
    42  #define TWI_PRE_MTX 3
    +
    43  #define TWI_MTX 4
    +
    44  #define TWI_SRX 5
    +
    45  #define TWI_STX 6
    +
    46 
    +
    47 static volatile uint8_t twi_state;
    +
    48 static volatile uint8_t twi_oldstate;
    +
    49 // static uint8_t twiint_masrw;
    +
    50 static uint8_t twi_slarw;
    +
    51 
    +
    52 static uint8_t twi_masterBuffer[TWI_BUFFER_LENGTH];
    +
    53 static volatile uint8_t twi_masterBufferIndex;
    +
    54 static uint8_t twi_masterBufferLength;
    +
    55 
    +
    56 static volatile uint8_t twi_error;
    +
    57 
    +
    58 #define BUFFER_LENGTH 32
    +
    59 static uint8_t rxBuffer[BUFFER_LENGTH];
    +
    60 static uint8_t rxBufferIndex = 0;
    +
    61 static uint8_t rxBufferLength = 0;
    +
    62 
    +
    63 static uint8_t txAddress = 0;
    +
    64 static uint8_t txBuffer[BUFFER_LENGTH];
    +
    65 static uint8_t txBufferIndex = 0;
    +
    66 static uint8_t txBufferLength = 0;
    +
    67 
    +
    68 static uint8_t transmitting;
    +
    69 
    +
    70 
    +
    71 void initialize_twi_nonblock();
    +
    72 
    +
    73 uint8_t twowire_requestFrom(uint8_t address, uint8_t quantity);
    +
    74 void twowire_beginTransmission( uint8_t address );
    +
    75 void twowire_send( uint8_t data );
    +
    76 uint8_t twowire_endTransmission(void);
    +
    77 
    +
    79 uint8_t twi_initiateReadFrom(uint8_t address, uint8_t length);
    +
    80 void twi_continueReadFrom();
    +
    81 
    +
    82 uint8_t twi_readMasterBuffer( uint8_t* data, uint8_t length );
    +
    83 
    +
    84 uint8_t twi_initiateWriteTo(uint8_t address, uint8_t* data, uint8_t length );
    +
    85 void twi_continueWriteTo();
    +
    86 
    +
    87 
    +
    88 void twi_reply(uint8_t ack);
    +
    89 void twi_stop(void);
    +
    90 void twi_releaseBus(void);
    +
    91 
    +
    93 uint8_t twi_readFromBlocking(uint8_t address, uint8_t* data, uint8_t length);
    +
    94 uint8_t twi_writeToBlocking(uint8_t address, uint8_t* data, uint8_t length, uint8_t wait);
    +
    95 
    +
    96 
    +
    97 #endif
    +
    + + + diff --git a/doc/html/uphasor256__uint8_8h_source.html b/doc/html/uphasor256__uint8_8h_source.html index 642dea321..9aef36dfb 100644 --- a/doc/html/uphasor256__uint8_8h_source.html +++ b/doc/html/uphasor256__uint8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: tables/uphasor256_uint8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,64 +99,66 @@
    -
    tables/uphasor256_uint8.h
    +
    uphasor256_uint8.h
    -
    00001 #ifndef UPHASOR256_H_
    -00002 #define UPHASOR256_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 /* ramp
    -00012 */
    -00013 
    -00014 #define UPHASOR256_NUM_CELLS 256
    -00015 #define UPHASOR256_SAMPLERATE 256
    -00016 
    -00017 const char __attribute__((progmem)) UPHASOR256_DATA []  =
    -00018         {
    -00019                 0,1,2,3,4,5,6,7,8,9,
    -00020                 10,11,12,13,14,15,16,17,18,19,
    -00021                 20,21,22,23,24,25,26,27,28,29,
    -00022                 30,31,32,33,34,35,36,37,38,39,
    -00023                 40,41,42,43,44,45,46,47,48,49,
    -00024                 50,51,52,53,54,55,56,57,58,59,
    -00025                 60,61,62,63,64,65,66,67,68,69,
    -00026                 70,71,72,73,74,75,76,77,78,79,
    -00027                 80,81,82,83,84,85,86,87,88,89,
    -00028                 90,91,92,93,94,95,96,97,98,99,
    -00029                 100,101,102,103,104,105,106,107,108,109,
    -00030                 110,111,112,113,114,115,116,117,118,119,
    -00031                 120,121,122,123,124,125,126,127,128,129,
    -00032                 130,131,132,133,134,135,136,137,138,139,
    -00033                 140,141,142,143,144,145,146,147,148,149,
    -00034                 150,151,152,153,154,155,156,157,158,159,
    -00035                 160,161,162,163,164,165,166,167,168,169,
    -00036                 170,171,172,173,174,175,176,177,178,179,
    -00037                 180,181,182,183,184,185,186,187,188,189,
    -00038                 190,191,192,193,194,195,196,197,198,199,
    -00039                 200,201,202,203,204,205,206,207,208,209,
    -00040                 210,211,212,213,214,215,216,217,218,219,
    -00041                 220,221,222,223,224,225,226,227,228,229,
    -00042                 230,231,232,233,234,235,236,237,238,239,
    -00043                 240,241,242,243,244,245,246,247,248,249,
    -00044                 250,251,252,253,254,255,
    -00045         };
    -00046 
    -00047 #endif /* UPHASOR256_H_ */
    -
    - - - - +
    1 #ifndef UPHASOR256_H_
    +
    2 #define UPHASOR256_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 /* ramp
    +
    12 */
    +
    13 
    +
    14 #define UPHASOR256_NUM_CELLS 256
    +
    15 #define UPHASOR256_SAMPLERATE 256
    +
    16 
    +
    17 const char __attribute__((progmem)) UPHASOR256_DATA [] =
    +
    18  {
    +
    19  0,1,2,3,4,5,6,7,8,9,
    +
    20  10,11,12,13,14,15,16,17,18,19,
    +
    21  20,21,22,23,24,25,26,27,28,29,
    +
    22  30,31,32,33,34,35,36,37,38,39,
    +
    23  40,41,42,43,44,45,46,47,48,49,
    +
    24  50,51,52,53,54,55,56,57,58,59,
    +
    25  60,61,62,63,64,65,66,67,68,69,
    +
    26  70,71,72,73,74,75,76,77,78,79,
    +
    27  80,81,82,83,84,85,86,87,88,89,
    +
    28  90,91,92,93,94,95,96,97,98,99,
    +
    29  100,101,102,103,104,105,106,107,108,109,
    +
    30  110,111,112,113,114,115,116,117,118,119,
    +
    31  120,121,122,123,124,125,126,127,128,129,
    +
    32  130,131,132,133,134,135,136,137,138,139,
    +
    33  140,141,142,143,144,145,146,147,148,149,
    +
    34  150,151,152,153,154,155,156,157,158,159,
    +
    35  160,161,162,163,164,165,166,167,168,169,
    +
    36  170,171,172,173,174,175,176,177,178,179,
    +
    37  180,181,182,183,184,185,186,187,188,189,
    +
    38  190,191,192,193,194,195,196,197,198,199,
    +
    39  200,201,202,203,204,205,206,207,208,209,
    +
    40  210,211,212,213,214,215,216,217,218,219,
    +
    41  220,221,222,223,224,225,226,227,228,229,
    +
    42  230,231,232,233,234,235,236,237,238,239,
    +
    43  240,241,242,243,244,245,246,247,248,249,
    +
    44  250,251,252,253,254,255,
    +
    45  };
    +
    46 
    +
    47 #endif /* UPHASOR256_H_ */
    +
    + + + diff --git a/doc/html/waveshape1__softclip__int8_8h_source.html b/doc/html/waveshape1__softclip__int8_8h_source.html index 42d4f88bc..498e52a4e 100644 --- a/doc/html/waveshape1__softclip__int8_8h_source.html +++ b/doc/html/waveshape1__softclip__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: tables/waveshape1_softclip_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,57 +99,59 @@
    -
    tables/waveshape1_softclip_int8.h
    +
    waveshape1_softclip_int8.h
    -
    00001 #ifndef WAVESHAPE1_SOFTCLIP_H_
    -00002 #define WAVESHAPE1_SOFTCLIP_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 /* table for waveshaper to impose soft clipping
    -00012 */
    -00013 
    -00014 #define WAVESHAPE1_SOFTCLIP_NUM_CELLS 256
    -00015 #define WAVESHAPE1_SOFTCLIP_SAMPLERATE 256
    -00016 
    -00017 const char __attribute__((progmem)) WAVESHAPE1_SOFTCLIP_DATA []  =
    -00018         {
    -00019                 -128, -128, -128, -128, -128,
    -00020                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00021                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00022                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00023                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00024                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00025                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00026                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00027                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00028                 -128, -127, -128, -127, -126, -125, -124, -122, -121, -119, -117, -112, -109,
    -00029                 -103, -95, -81, -63, -42, -18, 6, 31, 53, 72, 87, 99, 107, 112, 116, 118, 119,
    -00030                 121, 122, 123, 124, 125, 126, 126, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00031                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00032                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00033                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00034                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00035                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00036                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00037                 127, 127, 127, 127, 127,
    -00038         };
    -00039 
    -00040 #endif /* WAVESHAPE1_SOFTCLIP_H_ */
    -
    - - - - +
    1 #ifndef WAVESHAPE1_SOFTCLIP_H_
    +
    2 #define WAVESHAPE1_SOFTCLIP_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 /* table for waveshaper to impose soft clipping
    +
    12 */
    +
    13 
    +
    14 #define WAVESHAPE1_SOFTCLIP_NUM_CELLS 256
    +
    15 #define WAVESHAPE1_SOFTCLIP_SAMPLERATE 256
    +
    16 
    +
    17 const char __attribute__((progmem)) WAVESHAPE1_SOFTCLIP_DATA [] =
    +
    18  {
    +
    19  -128, -128, -128, -128, -128,
    +
    20  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    21  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    22  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    23  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    24  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    25  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    26  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    27  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    28  -128, -127, -128, -127, -126, -125, -124, -122, -121, -119, -117, -112, -109,
    +
    29  -103, -95, -81, -63, -42, -18, 6, 31, 53, 72, 87, 99, 107, 112, 116, 118, 119,
    +
    30  121, 122, 123, 124, 125, 126, 126, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    31  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    32  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    33  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    34  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    35  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    36  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    37  127, 127, 127, 127, 127,
    +
    38  };
    +
    39 
    +
    40 #endif /* WAVESHAPE1_SOFTCLIP_H_ */
    +
    + + + diff --git a/doc/html/waveshape2__softerclip__int8_8h_source.html b/doc/html/waveshape2__softerclip__int8_8h_source.html index 06b539ead..ecb51ffd4 100644 --- a/doc/html/waveshape2__softerclip__int8_8h_source.html +++ b/doc/html/waveshape2__softerclip__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: tables/waveshape2_softerclip_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,56 +99,58 @@
    -
    tables/waveshape2_softerclip_int8.h
    +
    waveshape2_softerclip_int8.h
    -
    00001 #ifndef WAVESHAPE2_SOFTERCLIP_H_
    -00002 #define WAVESHAPE2_SOFTERCLIP_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 /* table for waveshaper to impose softer clipping
    -00012 */
    -00013 
    -00014 #define WAVESHAPE2_SOFTERCLIP_NUM_CELLS 256
    -00015 #define WAVESHAPE2_SOFTERCLIP_SAMPLERATE 256
    -00016 
    -00017 const char __attribute__((progmem)) WAVESHAPE2_SOFTERCLIP_DATA []  =
    -00018         {
    -00019                 -128, -128, -128, -128, -128,
    -00020                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00021                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00022                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00023                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00024                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    -00025                 -127, -127, -126, -125, -125, -124, -123, -122, -121, -120, -119, -118, -116,
    -00026                 -115, -113, -112, -110, -109, -107, -105, -103, -101, -99, -97, -95, -93, -91,
    -00027                 -89, -86, -84, -82, -79, -77, -74, -72, -69, -66, -64, -61, -58, -55, -52, -49,
    -00028                 -47, -44, -41, -38, -35, -32, -29, -25, -22, -19, -16, -13, -10, -7, -4, 0, 3,
    -00029                 6, 9, 12, 15, 18, 21, 24, 28, 31, 34, 37, 40, 43, 46, 48, 51, 54, 57, 60, 63,
    -00030                 65, 68, 71, 73, 76, 78, 81, 83, 85, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106,
    -00031                 108, 109, 111, 112, 114, 115, 117, 118, 119, 120, 121, 122, 123, 124, 124, 125,
    -00032                 126, 126, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00033                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00034                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00035                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00036                 127, 127, 127, 127, 127, 127, 127,
    -00037         };
    -00038 
    -00039 #endif /* WAVESHAPE2_SOFTERCLIP_H_ */
    -
    - - - - +
    1 #ifndef WAVESHAPE2_SOFTERCLIP_H_
    +
    2 #define WAVESHAPE2_SOFTERCLIP_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 /* table for waveshaper to impose softer clipping
    +
    12 */
    +
    13 
    +
    14 #define WAVESHAPE2_SOFTERCLIP_NUM_CELLS 256
    +
    15 #define WAVESHAPE2_SOFTERCLIP_SAMPLERATE 256
    +
    16 
    +
    17 const char __attribute__((progmem)) WAVESHAPE2_SOFTERCLIP_DATA [] =
    +
    18  {
    +
    19  -128, -128, -128, -128, -128,
    +
    20  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    21  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    22  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    23  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    24  -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
    +
    25  -127, -127, -126, -125, -125, -124, -123, -122, -121, -120, -119, -118, -116,
    +
    26  -115, -113, -112, -110, -109, -107, -105, -103, -101, -99, -97, -95, -93, -91,
    +
    27  -89, -86, -84, -82, -79, -77, -74, -72, -69, -66, -64, -61, -58, -55, -52, -49,
    +
    28  -47, -44, -41, -38, -35, -32, -29, -25, -22, -19, -16, -13, -10, -7, -4, 0, 3,
    +
    29  6, 9, 12, 15, 18, 21, 24, 28, 31, 34, 37, 40, 43, 46, 48, 51, 54, 57, 60, 63,
    +
    30  65, 68, 71, 73, 76, 78, 81, 83, 85, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106,
    +
    31  108, 109, 111, 112, 114, 115, 117, 118, 119, 120, 121, 122, 123, 124, 124, 125,
    +
    32  126, 126, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    33  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    34  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    35  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    36  127, 127, 127, 127, 127, 127, 127,
    +
    37  };
    +
    38 
    +
    39 #endif /* WAVESHAPE2_SOFTERCLIP_H_ */
    +
    + + + diff --git a/doc/html/waveshape__chebyshev__3rd__256__int8_8h_source.html b/doc/html/waveshape__chebyshev__3rd__256__int8_8h_source.html index 62bae27c9..4e09a003a 100644 --- a/doc/html/waveshape__chebyshev__3rd__256__int8_8h_source.html +++ b/doc/html/waveshape__chebyshev__3rd__256__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: tables/waveshape_chebyshev_3rd_256_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,53 +99,55 @@
    -
    tables/waveshape_chebyshev_3rd_256_int8.h
    +
    waveshape_chebyshev_3rd_256_int8.h
    -
    00001 #ifndef CHEBYSHEV_3RD_256_H_
    -00002 #define CHEBYSHEV_3RD_256_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 /* table for waveshaper using chebyshev polynomials
    -00012 */
    -00013 
    -00014 #define CHEBYSHEV_3RD_256_NUM_CELLS 256
    -00015 const char __attribute__((progmem)) CHEBYSHEV_3RD_256_DATA [] =
    -00016         {
    -00017                 -128, -120, -111,
    -00018                 -102, -94, -86, -78, -70, -62, -55, -48, -41, -34, -27, -20, -14, -7, -1, 5, 10,
    -00019                 16, 21, 27, 32, 37, 42, 46, 51, 55, 60, 64, 68, 71, 75, 79, 82, 85, 89, 92, 94,
    -00020                 97, 100, 102, 105, 107, 109, 111, 113, 114, 116, 118, 119, 120, 122, 123, 124,
    -00021                 124, 125, 126, 126, 127, 127, 127, 127, 127, 127, 127, 127, 127, 126, 126, 125,
    -00022                 125, 124, 123, 122, 121, 120, 119, 118, 116, 115, 114, 112, 111, 109, 107, 106,
    -00023                 104, 102, 100, 98, 96, 94, 92, 90, 87, 85, 83, 81, 78, 76, 73, 71, 68, 66, 63,
    -00024                 60, 58, 55, 52, 49, 46, 44, 41, 38, 35, 32, 29, 26, 23, 20, 17, 14, 11, 8, 5, 2,
    -00025                 0, -3, -6, -9, -12, -15, -18, -21, -24, -27, -30, -33, -36, -39, -42, -45, -47,
    -00026                 -50, -53, -56, -59, -61, -64, -67, -69, -72, -74, -77, -79, -82, -84, -86, -88,
    -00027                 -91, -93, -95, -97, -99, -101, -103, -105, -107, -108, -110, -112, -113, -115,
    -00028                 -116, -117, -119, -120, -121, -122, -123, -124, -125, -126, -126, -127, -127,
    -00029                 -128, -128, -128, -128, -128, -128, -128, -128, -128, -127, -127, -126, -125,
    -00030                 -125, -124, -123, -121, -120, -119, -117, -115, -114, -112, -110, -108, -106,
    -00031                 -103, -101, -98, -95, -93, -90, -86, -83, -80, -76, -72, -69, -65, -61, -56,
    -00032                 -52, -47, -43, -38, -33, -28, -22, -17, -11, -6, 0, 6, 13, 19, 26, 33, 40, 47,
    -00033                 54, 61, 69, 77, 85, 93, 101, 110, 119,
    -00034         };
    -00035 
    -00036 #endif /* CHEBYSHEV_3RD_256_H_ */
    -
    - - - - +
    1 #ifndef CHEBYSHEV_3RD_256_H_
    +
    2 #define CHEBYSHEV_3RD_256_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 /* table for waveshaper using chebyshev polynomials
    +
    12 */
    +
    13 
    +
    14 #define CHEBYSHEV_3RD_256_NUM_CELLS 256
    +
    15 const char __attribute__((progmem)) CHEBYSHEV_3RD_256_DATA [] =
    +
    16  {
    +
    17  -128, -120, -111,
    +
    18  -102, -94, -86, -78, -70, -62, -55, -48, -41, -34, -27, -20, -14, -7, -1, 5, 10,
    +
    19  16, 21, 27, 32, 37, 42, 46, 51, 55, 60, 64, 68, 71, 75, 79, 82, 85, 89, 92, 94,
    +
    20  97, 100, 102, 105, 107, 109, 111, 113, 114, 116, 118, 119, 120, 122, 123, 124,
    +
    21  124, 125, 126, 126, 127, 127, 127, 127, 127, 127, 127, 127, 127, 126, 126, 125,
    +
    22  125, 124, 123, 122, 121, 120, 119, 118, 116, 115, 114, 112, 111, 109, 107, 106,
    +
    23  104, 102, 100, 98, 96, 94, 92, 90, 87, 85, 83, 81, 78, 76, 73, 71, 68, 66, 63,
    +
    24  60, 58, 55, 52, 49, 46, 44, 41, 38, 35, 32, 29, 26, 23, 20, 17, 14, 11, 8, 5, 2,
    +
    25  0, -3, -6, -9, -12, -15, -18, -21, -24, -27, -30, -33, -36, -39, -42, -45, -47,
    +
    26  -50, -53, -56, -59, -61, -64, -67, -69, -72, -74, -77, -79, -82, -84, -86, -88,
    +
    27  -91, -93, -95, -97, -99, -101, -103, -105, -107, -108, -110, -112, -113, -115,
    +
    28  -116, -117, -119, -120, -121, -122, -123, -124, -125, -126, -126, -127, -127,
    +
    29  -128, -128, -128, -128, -128, -128, -128, -128, -128, -127, -127, -126, -125,
    +
    30  -125, -124, -123, -121, -120, -119, -117, -115, -114, -112, -110, -108, -106,
    +
    31  -103, -101, -98, -95, -93, -90, -86, -83, -80, -76, -72, -69, -65, -61, -56,
    +
    32  -52, -47, -43, -38, -33, -28, -22, -17, -11, -6, 0, 6, 13, 19, 26, 33, 40, 47,
    +
    33  54, 61, 69, 77, 85, 93, 101, 110, 119,
    +
    34  };
    +
    35 
    +
    36 #endif /* CHEBYSHEV_3RD_256_H_ */
    +
    + + + diff --git a/doc/html/waveshape__chebyshev__4th__256__int8_8h_source.html b/doc/html/waveshape__chebyshev__4th__256__int8_8h_source.html index 812f87b97..ffd6a15f4 100644 --- a/doc/html/waveshape__chebyshev__4th__256__int8_8h_source.html +++ b/doc/html/waveshape__chebyshev__4th__256__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: tables/waveshape_chebyshev_4th_256_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,53 +99,55 @@
    -
    tables/waveshape_chebyshev_4th_256_int8.h
    +
    waveshape_chebyshev_4th_256_int8.h
    -
    00001 #ifndef CHEBYSHEV_4TH_256_H_
    -00002 #define CHEBYSHEV_4TH_256_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 /* table for waveshaper using chebyshev polynomials
    -00012 */
    -00013 
    -00014 #define CHEBYSHEV_4TH_256_NUM_CELLS 256
    -00015 const char __attribute__((progmem)) CHEBYSHEV_4TH_256_DATA [] =
    -00016         {
    -00017                 127, 112, 97, 82,
    -00018                 68, 55, 42, 30, 19, 7, -3, -13, -23, -32, -40, -49, -56, -63, -70, -77, -83,
    -00019                 -88, -93, -98, -102, -106, -110, -113, -116, -119, -121, -123, -124, -126, -127,
    -00020                 -128, -128, -128, -128, -128, -128, -127, -126, -125, -124, -122, -120, -118,
    -00021                 -116, -114, -112, -109, -106, -103, -100, -97, -94, -91, -87, -84, -80, -76,
    -00022                 -72, -68, -64, -60, -56, -52, -48, -44, -40, -35, -31, -27, -22, -18, -14, -9,
    -00023                 -5, -1, 4, 8, 12, 17, 21, 25, 29, 33, 37, 41, 45, 49, 53, 57, 60, 64, 67, 71,
    -00024                 74, 78, 81, 84, 87, 90, 93, 96, 98, 101, 103, 105, 108, 110, 112, 114, 115, 117,
    -00025                 119, 120, 121, 122, 124, 124, 125, 126, 126, 127, 127, 127, 127, 127, 127, 127,
    -00026                 126, 126, 125, 124, 124, 122, 121, 120, 119, 117, 115, 114, 112, 110, 108, 105,
    -00027                 103, 101, 98, 96, 93, 90, 87, 84, 81, 78, 74, 71, 67, 64, 60, 57, 53, 49, 45,
    -00028                 41, 37, 33, 29, 25, 21, 17, 12, 8, 4, -1, -5, -9, -14, -18, -22, -27, -31, -35,
    -00029                 -40, -44, -48, -52, -56, -60, -64, -68, -72, -76, -80, -84, -87, -91, -94, -97,
    -00030                 -100, -103, -106, -109, -112, -114, -116, -118, -120, -122, -124, -125, -126,
    -00031                 -127, -128, -128, -128, -128, -128, -128, -127, -126, -124, -123, -121, -119,
    -00032                 -116, -113, -110, -106, -102, -98, -93, -88, -83, -77, -70, -63, -56, -49, -40,
    -00033                 -32, -23, -13, -3, 7, 19, 30, 42, 55, 68, 82, 97, 112,
    -00034         };
    -00035 
    -00036 #endif /* CHEBYSHEV_4TH_256_H_ */
    -
    - - - - +
    1 #ifndef CHEBYSHEV_4TH_256_H_
    +
    2 #define CHEBYSHEV_4TH_256_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 /* table for waveshaper using chebyshev polynomials
    +
    12 */
    +
    13 
    +
    14 #define CHEBYSHEV_4TH_256_NUM_CELLS 256
    +
    15 const char __attribute__((progmem)) CHEBYSHEV_4TH_256_DATA [] =
    +
    16  {
    +
    17  127, 112, 97, 82,
    +
    18  68, 55, 42, 30, 19, 7, -3, -13, -23, -32, -40, -49, -56, -63, -70, -77, -83,
    +
    19  -88, -93, -98, -102, -106, -110, -113, -116, -119, -121, -123, -124, -126, -127,
    +
    20  -128, -128, -128, -128, -128, -128, -127, -126, -125, -124, -122, -120, -118,
    +
    21  -116, -114, -112, -109, -106, -103, -100, -97, -94, -91, -87, -84, -80, -76,
    +
    22  -72, -68, -64, -60, -56, -52, -48, -44, -40, -35, -31, -27, -22, -18, -14, -9,
    +
    23  -5, -1, 4, 8, 12, 17, 21, 25, 29, 33, 37, 41, 45, 49, 53, 57, 60, 64, 67, 71,
    +
    24  74, 78, 81, 84, 87, 90, 93, 96, 98, 101, 103, 105, 108, 110, 112, 114, 115, 117,
    +
    25  119, 120, 121, 122, 124, 124, 125, 126, 126, 127, 127, 127, 127, 127, 127, 127,
    +
    26  126, 126, 125, 124, 124, 122, 121, 120, 119, 117, 115, 114, 112, 110, 108, 105,
    +
    27  103, 101, 98, 96, 93, 90, 87, 84, 81, 78, 74, 71, 67, 64, 60, 57, 53, 49, 45,
    +
    28  41, 37, 33, 29, 25, 21, 17, 12, 8, 4, -1, -5, -9, -14, -18, -22, -27, -31, -35,
    +
    29  -40, -44, -48, -52, -56, -60, -64, -68, -72, -76, -80, -84, -87, -91, -94, -97,
    +
    30  -100, -103, -106, -109, -112, -114, -116, -118, -120, -122, -124, -125, -126,
    +
    31  -127, -128, -128, -128, -128, -128, -128, -127, -126, -124, -123, -121, -119,
    +
    32  -116, -113, -110, -106, -102, -98, -93, -88, -83, -77, -70, -63, -56, -49, -40,
    +
    33  -32, -23, -13, -3, 7, 19, 30, 42, 55, 68, 82, 97, 112,
    +
    34  };
    +
    35 
    +
    36 #endif /* CHEBYSHEV_4TH_256_H_ */
    +
    + + + diff --git a/doc/html/waveshape__chebyshev__5th__256__int8_8h_source.html b/doc/html/waveshape__chebyshev__5th__256__int8_8h_source.html index 455000f61..42c2bf8e9 100644 --- a/doc/html/waveshape__chebyshev__5th__256__int8_8h_source.html +++ b/doc/html/waveshape__chebyshev__5th__256__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: tables/waveshape_chebyshev_5th_256_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,53 +99,55 @@
    -
    tables/waveshape_chebyshev_5th_256_int8.h
    +
    waveshape_chebyshev_5th_256_int8.h
    -
    00001 #ifndef CHEBYSHEV_5TH_256_H_
    -00002 #define CHEBYSHEV_5TH_256_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 /* table for waveshaper using chebyshev polynomials
    -00012 */
    -00013 
    -00014 #define CHEBYSHEV_5TH_256_NUM_CELLS 256
    -00015 const char __attribute__((progmem)) CHEBYSHEV_5TH_256_DATA [] =
    -00016         {
    -00017                 -128, -104, -82,
    -00018                 -60, -40, -22, -5, 11, 26, 39, 52, 63, 73, 82, 90, 98, 104, 110, 114, 118, 121,
    -00019                 124, 126, 127, 127, 127, 127, 126, 124, 122, 120, 117, 113, 110, 106, 102, 97,
    -00020                 92, 87, 82, 77, 71, 66, 60, 54, 48, 42, 35, 29, 23, 17, 10, 4, -2, -8, -14, -20,
    -00021                 -26, -32, -38, -43, -49, -54, -59, -64, -69, -74, -79, -83, -87, -91, -95, -99,
    -00022                 -102, -106, -109, -112, -114, -117, -119, -121, -122, -124, -125, -126, -127,
    -00023                 -128, -128, -128, -128, -128, -128, -127, -126, -125, -124, -122, -121, -119,
    -00024                 -117, -115, -112, -110, -107, -104, -101, -98, -94, -91, -87, -83, -80, -76,
    -00025                 -71, -67, -63, -58, -54, -49, -45, -40, -35, -30, -25, -20, -15, -10, -5, 0, 4,
    -00026                 9, 14, 19, 24, 29, 34, 39, 44, 48, 53, 57, 62, 66, 70, 75, 79, 82, 86, 90, 93,
    -00027                 97, 100, 103, 106, 109, 111, 114, 116, 118, 120, 121, 123, 124, 125, 126, 127,
    -00028                 127, 127, 127, 127, 127, 126, 125, 124, 123, 121, 120, 118, 116, 113, 111, 108,
    -00029                 105, 101, 98, 94, 90, 86, 82, 78, 73, 68, 63, 58, 53, 48, 42, 37, 31, 25, 19,
    -00030                 13, 7, 1, -5, -11, -18, -24, -30, -36, -43, -49, -55, -61, -67, -72, -78, -83,
    -00031                 -88, -93, -98, -103, -107, -111, -114, -118, -121, -123, -125, -127, -128, -128,
    -00032                 -128, -128, -127, -125, -122, -119, -115, -111, -105, -99, -91, -83, -74, -64,
    -00033                 -53, -40, -27, -12, 4, 21, 39, 59, 81, 103,
    -00034         };
    -00035 
    -00036 #endif /* CHEBYSHEV_5TH_256_H_ */
    -
    - - - - +
    1 #ifndef CHEBYSHEV_5TH_256_H_
    +
    2 #define CHEBYSHEV_5TH_256_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 /* table for waveshaper using chebyshev polynomials
    +
    12 */
    +
    13 
    +
    14 #define CHEBYSHEV_5TH_256_NUM_CELLS 256
    +
    15 const char __attribute__((progmem)) CHEBYSHEV_5TH_256_DATA [] =
    +
    16  {
    +
    17  -128, -104, -82,
    +
    18  -60, -40, -22, -5, 11, 26, 39, 52, 63, 73, 82, 90, 98, 104, 110, 114, 118, 121,
    +
    19  124, 126, 127, 127, 127, 127, 126, 124, 122, 120, 117, 113, 110, 106, 102, 97,
    +
    20  92, 87, 82, 77, 71, 66, 60, 54, 48, 42, 35, 29, 23, 17, 10, 4, -2, -8, -14, -20,
    +
    21  -26, -32, -38, -43, -49, -54, -59, -64, -69, -74, -79, -83, -87, -91, -95, -99,
    +
    22  -102, -106, -109, -112, -114, -117, -119, -121, -122, -124, -125, -126, -127,
    +
    23  -128, -128, -128, -128, -128, -128, -127, -126, -125, -124, -122, -121, -119,
    +
    24  -117, -115, -112, -110, -107, -104, -101, -98, -94, -91, -87, -83, -80, -76,
    +
    25  -71, -67, -63, -58, -54, -49, -45, -40, -35, -30, -25, -20, -15, -10, -5, 0, 4,
    +
    26  9, 14, 19, 24, 29, 34, 39, 44, 48, 53, 57, 62, 66, 70, 75, 79, 82, 86, 90, 93,
    +
    27  97, 100, 103, 106, 109, 111, 114, 116, 118, 120, 121, 123, 124, 125, 126, 127,
    +
    28  127, 127, 127, 127, 127, 126, 125, 124, 123, 121, 120, 118, 116, 113, 111, 108,
    +
    29  105, 101, 98, 94, 90, 86, 82, 78, 73, 68, 63, 58, 53, 48, 42, 37, 31, 25, 19,
    +
    30  13, 7, 1, -5, -11, -18, -24, -30, -36, -43, -49, -55, -61, -67, -72, -78, -83,
    +
    31  -88, -93, -98, -103, -107, -111, -114, -118, -121, -123, -125, -127, -128, -128,
    +
    32  -128, -128, -127, -125, -122, -119, -115, -111, -105, -99, -91, -83, -74, -64,
    +
    33  -53, -40, -27, -12, 4, 21, 39, 59, 81, 103,
    +
    34  };
    +
    35 
    +
    36 #endif /* CHEBYSHEV_5TH_256_H_ */
    +
    + + + diff --git a/doc/html/waveshape__chebyshev__6th__256__int8_8h_source.html b/doc/html/waveshape__chebyshev__6th__256__int8_8h_source.html index f770e667f..c9d6d0326 100644 --- a/doc/html/waveshape__chebyshev__6th__256__int8_8h_source.html +++ b/doc/html/waveshape__chebyshev__6th__256__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: tables/waveshape_chebyshev_6th_256_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,53 +99,55 @@
    -
    tables/waveshape_chebyshev_6th_256_int8.h
    +
    waveshape_chebyshev_6th_256_int8.h
    -
    00001 #ifndef CHEBYSHEV_6TH_256_H_
    -00002 #define CHEBYSHEV_6TH_256_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 /* table for waveshaper using chebyshev polynomials
    -00012 */
    -00013 
    -00014 #define CHEBYSHEV_6TH_256_NUM_CELLS 256
    -00015 const char __attribute__((progmem)) CHEBYSHEV_6TH_256_DATA [] =
    -00016         {
    -00017                 127, 93, 62, 34, 8,
    -00018                 -15, -35, -53, -69, -82, -94, -103, -111, -118, -122, -126, -128, -128, -128,
    -00019                 -127, -124, -121, -117, -112, -107, -101, -94, -87, -80, -72, -64, -56, -47,
    -00020                 -39, -30, -22, -13, -5, 4, 12, 20, 28, 36, 44, 51, 59, 65, 72, 78, 84, 90, 95,
    -00021                 100, 104, 108, 112, 115, 118, 121, 123, 124, 126, 127, 127, 127, 127, 127, 126,
    -00022                 125, 123, 121, 119, 116, 113, 110, 107, 103, 99, 95, 90, 85, 80, 75, 70, 65, 59,
    -00023                 53, 48, 42, 36, 30, 24, 17, 11, 5, -1, -7, -14, -20, -26, -32, -38, -44, -49,
    -00024                 -55, -60, -66, -71, -76, -81, -85, -90, -94, -98, -102, -105, -109, -112, -115,
    -00025                 -117, -120, -122, -123, -125, -126, -127, -128, -128, -128, -128, -128, -127,
    -00026                 -126, -125, -123, -122, -120, -117, -115, -112, -109, -105, -102, -98, -94, -90,
    -00027                 -85, -81, -76, -71, -66, -60, -55, -49, -44, -38, -32, -26, -20, -14, -7, -1, 5,
    -00028                 11, 17, 24, 30, 36, 42, 48, 53, 59, 65, 70, 75, 80, 85, 90, 95, 99, 103, 107,
    -00029                 110, 113, 116, 119, 121, 123, 125, 126, 127, 127, 127, 127, 127, 126, 124, 123,
    -00030                 121, 118, 115, 112, 108, 104, 100, 95, 90, 84, 78, 72, 65, 59, 51, 44, 36, 28,
    -00031                 20, 12, 4, -5, -13, -22, -30, -39, -47, -56, -64, -72, -80, -87, -94, -101,
    -00032                 -107, -112, -117, -121, -124, -127, -128, -128, -128, -126, -122, -118, -111,
    -00033                 -103, -94, -82, -69, -53, -35, -15, 8, 34, 62, 93,
    -00034         };
    -00035 
    -00036 #endif /* CHEBYSHEV_6TH_256_H_ */
    -
    - - - - +
    1 #ifndef CHEBYSHEV_6TH_256_H_
    +
    2 #define CHEBYSHEV_6TH_256_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 /* table for waveshaper using chebyshev polynomials
    +
    12 */
    +
    13 
    +
    14 #define CHEBYSHEV_6TH_256_NUM_CELLS 256
    +
    15 const char __attribute__((progmem)) CHEBYSHEV_6TH_256_DATA [] =
    +
    16  {
    +
    17  127, 93, 62, 34, 8,
    +
    18  -15, -35, -53, -69, -82, -94, -103, -111, -118, -122, -126, -128, -128, -128,
    +
    19  -127, -124, -121, -117, -112, -107, -101, -94, -87, -80, -72, -64, -56, -47,
    +
    20  -39, -30, -22, -13, -5, 4, 12, 20, 28, 36, 44, 51, 59, 65, 72, 78, 84, 90, 95,
    +
    21  100, 104, 108, 112, 115, 118, 121, 123, 124, 126, 127, 127, 127, 127, 127, 126,
    +
    22  125, 123, 121, 119, 116, 113, 110, 107, 103, 99, 95, 90, 85, 80, 75, 70, 65, 59,
    +
    23  53, 48, 42, 36, 30, 24, 17, 11, 5, -1, -7, -14, -20, -26, -32, -38, -44, -49,
    +
    24  -55, -60, -66, -71, -76, -81, -85, -90, -94, -98, -102, -105, -109, -112, -115,
    +
    25  -117, -120, -122, -123, -125, -126, -127, -128, -128, -128, -128, -128, -127,
    +
    26  -126, -125, -123, -122, -120, -117, -115, -112, -109, -105, -102, -98, -94, -90,
    +
    27  -85, -81, -76, -71, -66, -60, -55, -49, -44, -38, -32, -26, -20, -14, -7, -1, 5,
    +
    28  11, 17, 24, 30, 36, 42, 48, 53, 59, 65, 70, 75, 80, 85, 90, 95, 99, 103, 107,
    +
    29  110, 113, 116, 119, 121, 123, 125, 126, 127, 127, 127, 127, 127, 126, 124, 123,
    +
    30  121, 118, 115, 112, 108, 104, 100, 95, 90, 84, 78, 72, 65, 59, 51, 44, 36, 28,
    +
    31  20, 12, 4, -5, -13, -22, -30, -39, -47, -56, -64, -72, -80, -87, -94, -101,
    +
    32  -107, -112, -117, -121, -124, -127, -128, -128, -128, -126, -122, -118, -111,
    +
    33  -103, -94, -82, -69, -53, -35, -15, 8, 34, 62, 93,
    +
    34  };
    +
    35 
    +
    36 #endif /* CHEBYSHEV_6TH_256_H_ */
    +
    + + + diff --git a/doc/html/waveshape__compress__512__to__488__int16_8h_source.html b/doc/html/waveshape__compress__512__to__488__int16_8h_source.html index 7e050099f..066989606 100644 --- a/doc/html/waveshape__compress__512__to__488__int16_8h_source.html +++ b/doc/html/waveshape__compress__512__to__488__int16_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: tables/waveshape_compress_512_to_488_int16.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,77 +99,79 @@
    -
    tables/waveshape_compress_512_to_488_int16.h
    +
    waveshape_compress_512_to_488_int16.h
    -
    00001 #ifndef WAVESHAPE_COMPRESS_512_TO_488_H_
    -00002 #define WAVESHAPE_COMPRESS_512_TO_488_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 /* table for waveshaper to impart compression
    -00012 */
    -00013 
    -00014 #define WAVESHAPE_COMPRESS_512_TO_488_NUM_CELLS 512
    -00015 
    -00016 const int __attribute__((progmem)) WAVESHAPE_COMPRESS_512_TO_488_DATA [512] =
    -00017         {
    -00018                 -244 , -243 , -242 , -242 , -241 , -240 , -239 , -239 , -238 , -237 , -236 ,
    -00019                 -236 , -235 , -234 , -233 , -233 , -232 , -231 , -230 , -230 , -229 , -228 ,
    -00020                 -227 , -227 , -226 , -225 , -224 , -223 , -223 , -222 , -221 , -220 , -220 ,
    -00021                 -219 , -218 , -217 , -217 , -216 , -215 , -214 , -214 , -213 , -212 , -211 ,
    -00022                 -211 , -210 , -209 , -208 , -208 , -207 , -206 , -205 , -204 , -203 , -202 ,
    -00023                 -201 , -200 , -199 , -198 , -197 , -196 , -195 , -194 , -193 , -192 , -191 ,
    -00024                 -190 , -189 , -188 , -187 , -186 , -185 , -184 , -183 , -182 , -181 , -180 ,
    -00025                 -179 , -178 , -177 , -176 , -175 , -174 , -173 , -172 , -171 , -170 , -169 ,
    -00026                 -168 , -167 , -166 , -165 , -164 , -163 , -162 , -161 , -160 , -159 , -158 ,
    -00027                 -157 , -156 , -155 , -154 , -153 , -152 , -151 , -150 , -149 , -148 , -147 ,
    -00028                 -146 , -145 , -144 , -143 , -142 , -141 , -140 , -139 , -138 , -137 , -136 ,
    -00029                 -135 , -134 , -133 , -132 , -131 , -130 , -129 , -128 , -127 , -126 , -125 ,
    -00030                 -124 , -123 , -122 , -121 , -120 , -119 , -118 , -117 , -116 , -115 , -114 ,
    -00031                 -113 , -112 , -111 , -110 , -109 , -108 , -107 , -106 , -105 , -104 , -103 ,
    -00032                 -102 , -101 , -100 , -99 , -98 , -97 , -96 , -95 , -94 , -93 , -92 , -91 , -90 ,
    -00033                 -89 , -88 , -87 , -86 , -85 , -84 , -83 , -82 , -81 , -80 , -79 , -78 , -77 ,
    -00034                 -76 , -75 , -74 , -73 , -72 , -71 , -70 , -69 , -68 , -67 , -66 , -65 , -64 ,
    -00035                 -63 , -62 , -61 , -60 , -59 , -58 , -57 , -56 , -55 , -54 , -53 , -52 , -51 ,
    -00036                 -50 , -49 , -48 , -47 , -46 , -45 , -44 , -43 , -42 , -41 , -40 , -39 , -38 ,
    -00037                 -37 , -36 , -35 , -34 , -33 , -32 , -31 , -30 , -29 , -28 , -27 , -26 , -25 ,
    -00038                 -24 , -23 , -22 , -21 , -20 , -19 , -18 , -17 , -16 , -15 , -14 , -13 , -12 ,
    -00039                 -11 , -10 , -9 , -8 , -7 , -6 , -5 , -4 , -3 , -2 , -1 , 0 , 1 , 2 , 3 , 4 , 5 ,
    -00040                 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 , 16 , 17 , 18 , 19 , 20 , 21 , 22 ,
    -00041                 23 , 24 , 25 , 26 , 27 , 28 , 29 , 30 , 31 , 32 , 33 , 34 , 35 , 36 , 37 , 38 ,
    -00042                 39 , 40 , 41 , 42 , 43 , 44 , 45 , 46 , 47 , 48 , 49 , 50 , 51 , 52 , 53 , 54 ,
    -00043                 55 , 56 , 57 , 58 , 59 , 60 , 61 , 62 , 63 , 64 , 65 , 66 , 67 , 68 , 69 , 70 ,
    -00044                 71 , 72 , 73 , 74 , 75 , 76 , 77 , 78 , 79 , 80 , 81 , 82 , 83 , 84 , 85 , 86 ,
    -00045                 87 , 88 , 89 , 90 , 91 , 92 , 93 , 94 , 95 , 96 , 97 , 98 , 99 , 100 , 101 , 102
    -00046                 , 103 , 104 , 105 , 106 , 107 , 108 , 109 , 110 , 111 , 112 , 113 , 114 , 115 ,
    -00047                 116 , 117 , 118 , 119 , 120 , 121 , 122 , 123 , 124 , 125 , 126 , 127 , 128 ,
    -00048                 129 , 130 , 131 , 132 , 133 , 134 , 135 , 136 , 137 , 138 , 139 , 140 , 141 ,
    -00049                 142 , 143 , 144 , 145 , 146 , 147 , 148 , 149 , 150 , 151 , 152 , 153 , 154 ,
    -00050                 155 , 156 , 157 , 158 , 159 , 160 , 161 , 162 , 163 , 164 , 165 , 166 , 167 ,
    -00051                 168 , 169 , 170 , 171 , 172 , 173 , 174 , 175 , 176 , 177 , 178 , 179 , 180 ,
    -00052                 181 , 182 , 183 , 184 , 185 , 186 , 187 , 188 , 189 , 190 , 191 , 192 , 193 ,
    -00053                 194 , 195 , 196 , 197 , 198 , 199 , 200 , 201 , 202 , 203 , 204 , 205 , 206 ,
    -00054                 207 , 207 , 208 , 209 , 210 , 210 , 211 , 212 , 213 , 213 , 214 , 215 , 216 ,
    -00055                 216 , 217 , 218 , 219 , 219 , 220 , 221 , 222 , 222 , 223 , 224 , 225 , 226 ,
    -00056                 226 , 227 , 228 , 229 , 229 , 230 , 231 , 232 , 232 , 233 , 234 , 235 , 235 ,
    -00057                 236 , 237 , 238 , 238 , 239 , 240 , 241 , 241 , 242 , 243
    -00058         };
    -00059 
    -00060 #endif /* WAVESHAPE_COMPRESS_512_TO_488_H_ */
    -
    - - - - +
    1 #ifndef WAVESHAPE_COMPRESS_512_TO_488_H_
    +
    2 #define WAVESHAPE_COMPRESS_512_TO_488_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 /* table for waveshaper to impart compression
    +
    12 */
    +
    13 
    +
    14 #define WAVESHAPE_COMPRESS_512_TO_488_NUM_CELLS 512
    +
    15 
    +
    16 const int __attribute__((progmem)) WAVESHAPE_COMPRESS_512_TO_488_DATA [512] =
    +
    17  {
    +
    18  -244 , -243 , -242 , -242 , -241 , -240 , -239 , -239 , -238 , -237 , -236 ,
    +
    19  -236 , -235 , -234 , -233 , -233 , -232 , -231 , -230 , -230 , -229 , -228 ,
    +
    20  -227 , -227 , -226 , -225 , -224 , -223 , -223 , -222 , -221 , -220 , -220 ,
    +
    21  -219 , -218 , -217 , -217 , -216 , -215 , -214 , -214 , -213 , -212 , -211 ,
    +
    22  -211 , -210 , -209 , -208 , -208 , -207 , -206 , -205 , -204 , -203 , -202 ,
    +
    23  -201 , -200 , -199 , -198 , -197 , -196 , -195 , -194 , -193 , -192 , -191 ,
    +
    24  -190 , -189 , -188 , -187 , -186 , -185 , -184 , -183 , -182 , -181 , -180 ,
    +
    25  -179 , -178 , -177 , -176 , -175 , -174 , -173 , -172 , -171 , -170 , -169 ,
    +
    26  -168 , -167 , -166 , -165 , -164 , -163 , -162 , -161 , -160 , -159 , -158 ,
    +
    27  -157 , -156 , -155 , -154 , -153 , -152 , -151 , -150 , -149 , -148 , -147 ,
    +
    28  -146 , -145 , -144 , -143 , -142 , -141 , -140 , -139 , -138 , -137 , -136 ,
    +
    29  -135 , -134 , -133 , -132 , -131 , -130 , -129 , -128 , -127 , -126 , -125 ,
    +
    30  -124 , -123 , -122 , -121 , -120 , -119 , -118 , -117 , -116 , -115 , -114 ,
    +
    31  -113 , -112 , -111 , -110 , -109 , -108 , -107 , -106 , -105 , -104 , -103 ,
    +
    32  -102 , -101 , -100 , -99 , -98 , -97 , -96 , -95 , -94 , -93 , -92 , -91 , -90 ,
    +
    33  -89 , -88 , -87 , -86 , -85 , -84 , -83 , -82 , -81 , -80 , -79 , -78 , -77 ,
    +
    34  -76 , -75 , -74 , -73 , -72 , -71 , -70 , -69 , -68 , -67 , -66 , -65 , -64 ,
    +
    35  -63 , -62 , -61 , -60 , -59 , -58 , -57 , -56 , -55 , -54 , -53 , -52 , -51 ,
    +
    36  -50 , -49 , -48 , -47 , -46 , -45 , -44 , -43 , -42 , -41 , -40 , -39 , -38 ,
    +
    37  -37 , -36 , -35 , -34 , -33 , -32 , -31 , -30 , -29 , -28 , -27 , -26 , -25 ,
    +
    38  -24 , -23 , -22 , -21 , -20 , -19 , -18 , -17 , -16 , -15 , -14 , -13 , -12 ,
    +
    39  -11 , -10 , -9 , -8 , -7 , -6 , -5 , -4 , -3 , -2 , -1 , 0 , 1 , 2 , 3 , 4 , 5 ,
    +
    40  6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 , 16 , 17 , 18 , 19 , 20 , 21 , 22 ,
    +
    41  23 , 24 , 25 , 26 , 27 , 28 , 29 , 30 , 31 , 32 , 33 , 34 , 35 , 36 , 37 , 38 ,
    +
    42  39 , 40 , 41 , 42 , 43 , 44 , 45 , 46 , 47 , 48 , 49 , 50 , 51 , 52 , 53 , 54 ,
    +
    43  55 , 56 , 57 , 58 , 59 , 60 , 61 , 62 , 63 , 64 , 65 , 66 , 67 , 68 , 69 , 70 ,
    +
    44  71 , 72 , 73 , 74 , 75 , 76 , 77 , 78 , 79 , 80 , 81 , 82 , 83 , 84 , 85 , 86 ,
    +
    45  87 , 88 , 89 , 90 , 91 , 92 , 93 , 94 , 95 , 96 , 97 , 98 , 99 , 100 , 101 , 102
    +
    46  , 103 , 104 , 105 , 106 , 107 , 108 , 109 , 110 , 111 , 112 , 113 , 114 , 115 ,
    +
    47  116 , 117 , 118 , 119 , 120 , 121 , 122 , 123 , 124 , 125 , 126 , 127 , 128 ,
    +
    48  129 , 130 , 131 , 132 , 133 , 134 , 135 , 136 , 137 , 138 , 139 , 140 , 141 ,
    +
    49  142 , 143 , 144 , 145 , 146 , 147 , 148 , 149 , 150 , 151 , 152 , 153 , 154 ,
    +
    50  155 , 156 , 157 , 158 , 159 , 160 , 161 , 162 , 163 , 164 , 165 , 166 , 167 ,
    +
    51  168 , 169 , 170 , 171 , 172 , 173 , 174 , 175 , 176 , 177 , 178 , 179 , 180 ,
    +
    52  181 , 182 , 183 , 184 , 185 , 186 , 187 , 188 , 189 , 190 , 191 , 192 , 193 ,
    +
    53  194 , 195 , 196 , 197 , 198 , 199 , 200 , 201 , 202 , 203 , 204 , 205 , 206 ,
    +
    54  207 , 207 , 208 , 209 , 210 , 210 , 211 , 212 , 213 , 213 , 214 , 215 , 216 ,
    +
    55  216 , 217 , 218 , 219 , 219 , 220 , 221 , 222 , 222 , 223 , 224 , 225 , 226 ,
    +
    56  226 , 227 , 228 , 229 , 229 , 230 , 231 , 232 , 232 , 233 , 234 , 235 , 235 ,
    +
    57  236 , 237 , 238 , 238 , 239 , 240 , 241 , 241 , 242 , 243
    +
    58  };
    +
    59 
    +
    60 #endif /* WAVESHAPE_COMPRESS_512_TO_488_H_ */
    +
    + + + diff --git a/doc/html/waveshape__sigmoid__int8_8h_source.html b/doc/html/waveshape__sigmoid__int8_8h_source.html index aa283b4c0..0ed2023a9 100644 --- a/doc/html/waveshape__sigmoid__int8_8h_source.html +++ b/doc/html/waveshape__sigmoid__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: tables/waveshape_sigmoid_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,55 +99,57 @@
    -
    tables/waveshape_sigmoid_int8.h
    +
    waveshape_sigmoid_int8.h
    -
    00001 #ifndef WAVESHAPE_SIGMOID_H_
    -00002 #define WAVESHAPE_SIGMOID_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 #define WAVESHAPE_SIGMOID_NUM_CELLS 256
    -00012 
    -00019 const char __attribute__((progmem)) WAVESHAPE_SIGMOID_DATA [256] =
    -00020         {
    -00021                 -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    -00022                 -127, -127, -127, -127, -127, -127, -127, -127, -126, -126, -126,
    -00023                 -126, -126, -126, -126, -126, -126, -126, -126, -125, -125, -125,
    -00024                 -125, -125, -125, -125, -124, -124, -124, -124, -124, -124, -123,
    -00025                 -123, -123, -123, -122, -122, -122, -122, -121, -121, -121, -120,
    -00026                 -120, -120, -119, -119, -118, -118, -117, -117, -116, -116, -115,
    -00027                 -115, -114, -113, -113, -112, -111, -111, -110, -109, -108, -107,
    -00028                 -107, -106, -105, -104, -103, -101, -100, -99, -98, -97, -95, -94,
    -00029                 -93, -91, -90, -88, -86, -85, -83, -81, -79, -78, -76, -74, -72,
    -00030                 -70, -67, -65, -63, -61, -58, -56, -54, -51, -48, -46, -43, -41,
    -00031                 -38, -35, -32, -29, -27, -24, -21, -18, -15, -12, -9, -6, -3, 0, 3
    -00032                 , 6, 9, 12, 15, 18, 21, 24, 27, 29, 32, 35, 38, 41, 43, 46, 48,
    -00033                 51, 54, 56, 58, 61, 63, 65, 67, 70, 72, 74, 76, 78, 79, 81, 83,
    -00034                 85, 86, 88, 90, 91, 93, 94, 95, 97, 98, 99, 100, 101, 103, 104,
    -00035                 105, 106, 107, 107, 108, 109, 110, 111, 111, 112, 113, 113, 114,
    -00036                 115, 115, 116, 116, 117, 117, 118, 118, 119, 119, 120, 120, 120,
    -00037                 121, 121, 121, 122, 122, 122, 122, 123, 123, 123, 123, 124, 124,
    -00038                 124, 124, 124, 124, 125, 125, 125, 125, 125, 125, 125, 126, 126,
    -00039                 126, 126, 126, 126, 126, 126, 126, 126, 126, 127, 127, 127, 127,
    -00040                 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00041                 127
    -00042         };
    -00043 
    -00044 #endif /* WAVESHAPE_SIGMOID_H_ */
    -
    - - - - +
    1 #ifndef WAVESHAPE_SIGMOID_H_
    +
    2 #define WAVESHAPE_SIGMOID_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 #define WAVESHAPE_SIGMOID_NUM_CELLS 256
    +
    12 
    +
    19 const char __attribute__((progmem)) WAVESHAPE_SIGMOID_DATA [256] =
    +
    20  {
    +
    21  -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +
    22  -127, -127, -127, -127, -127, -127, -127, -127, -126, -126, -126,
    +
    23  -126, -126, -126, -126, -126, -126, -126, -126, -125, -125, -125,
    +
    24  -125, -125, -125, -125, -124, -124, -124, -124, -124, -124, -123,
    +
    25  -123, -123, -123, -122, -122, -122, -122, -121, -121, -121, -120,
    +
    26  -120, -120, -119, -119, -118, -118, -117, -117, -116, -116, -115,
    +
    27  -115, -114, -113, -113, -112, -111, -111, -110, -109, -108, -107,
    +
    28  -107, -106, -105, -104, -103, -101, -100, -99, -98, -97, -95, -94,
    +
    29  -93, -91, -90, -88, -86, -85, -83, -81, -79, -78, -76, -74, -72,
    +
    30  -70, -67, -65, -63, -61, -58, -56, -54, -51, -48, -46, -43, -41,
    +
    31  -38, -35, -32, -29, -27, -24, -21, -18, -15, -12, -9, -6, -3, 0, 3
    +
    32  , 6, 9, 12, 15, 18, 21, 24, 27, 29, 32, 35, 38, 41, 43, 46, 48,
    +
    33  51, 54, 56, 58, 61, 63, 65, 67, 70, 72, 74, 76, 78, 79, 81, 83,
    +
    34  85, 86, 88, 90, 91, 93, 94, 95, 97, 98, 99, 100, 101, 103, 104,
    +
    35  105, 106, 107, 107, 108, 109, 110, 111, 111, 112, 113, 113, 114,
    +
    36  115, 115, 116, 116, 117, 117, 118, 118, 119, 119, 120, 120, 120,
    +
    37  121, 121, 121, 122, 122, 122, 122, 123, 123, 123, 123, 124, 124,
    +
    38  124, 124, 124, 124, 125, 125, 125, 125, 125, 125, 125, 126, 126,
    +
    39  126, 126, 126, 126, 126, 126, 126, 126, 126, 127, 127, 127, 127,
    +
    40  127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    41  127
    +
    42  };
    +
    43 
    +
    44 #endif /* WAVESHAPE_SIGMOID_H_ */
    +
    + + + diff --git a/doc/html/waveshape__tanh__int8_8h_source.html b/doc/html/waveshape__tanh__int8_8h_source.html index 5eaabfafa..e3ca97dfb 100644 --- a/doc/html/waveshape__tanh__int8_8h_source.html +++ b/doc/html/waveshape__tanh__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: tables/waveshape_tanh_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,51 +99,53 @@
    -
    tables/waveshape_tanh_int8.h
    +
    waveshape_tanh_int8.h
    -
    00001 #ifndef WAVESHAPE_TANH_H_
    -00002 #define WAVESHAPE_TANH_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 #define WAVESHAPE_TANH_NUM_CELLS 256
    -00012 
    -00019 const char __attribute__((progmem))  WAVESHAPE_TANH_DATA [256]  =
    -00020         {
    -00021                 -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    -00022                 -127, -127, -127, -127, -127, -127, -126, -126, -126, -126, -126, -126, -126,
    -00023                 -126, -126, -126, -126, -125, -125, -125, -125, -125, -125, -125, -124, -124,
    -00024                 -124, -124, -124, -124, -123, -123, -123, -123, -122, -122, -122, -122, -121,
    -00025                 -121, -121, -120, -120, -120, -119, -119, -118, -118, -117, -117, -116, -116,
    -00026                 -115, -115, -114, -113, -113, -112, -111, -111, -110, -109, -108, -107, -107,
    -00027                 -106, -105, -104, -103, -101, -100, -99, -98, -97, -95, -94, -93, -91, -90, -88,
    -00028                 -86, -85, -83, -81, -79, -78, -76, -74, -72, -70, -67, -65, -63, -61, -58, -56,
    -00029                 -54, -51, -48, -46, -43, -41, -38, -35, -32, -29, -27, -24, -21, -18, -15, -12,
    -00030                 -9, -6, -3, 0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 29, 32, 35, 38, 41, 43, 46, 48,
    -00031                 51, 54, 56, 58, 61, 63, 65, 67, 70, 72, 74, 76, 78, 79, 81, 83, 85, 86, 88, 90,
    -00032                 91, 93, 94, 95, 97, 98, 99, 100, 101, 103, 104, 105, 106, 107, 107, 108, 109,
    -00033                 110, 111, 111, 112, 113, 113, 114, 115, 115, 116, 116, 117, 117, 118, 118, 119,
    -00034                 119, 120, 120, 120, 121, 121, 121, 122, 122, 122, 122, 123, 123, 123, 123, 124,
    -00035                 124, 124, 124, 124, 124, 125, 125, 125, 125, 125, 125, 125, 126, 126, 126, 126,
    -00036                 126, 126, 126, 126, 126, 126, 126, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    -00037                 127, 127, 127, 127, 127, 127, 127, 127, 127
    -00038         };
    -00039 
    -00040 #endif /* WAVESHAPE_TANH_H_ */
    -
    - - - - +
    1 #ifndef WAVESHAPE_TANH_H_
    +
    2 #define WAVESHAPE_TANH_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 #define WAVESHAPE_TANH_NUM_CELLS 256
    +
    12 
    +
    19 const char __attribute__((progmem)) WAVESHAPE_TANH_DATA [256] =
    +
    20  {
    +
    21  -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
    +
    22  -127, -127, -127, -127, -127, -127, -126, -126, -126, -126, -126, -126, -126,
    +
    23  -126, -126, -126, -126, -125, -125, -125, -125, -125, -125, -125, -124, -124,
    +
    24  -124, -124, -124, -124, -123, -123, -123, -123, -122, -122, -122, -122, -121,
    +
    25  -121, -121, -120, -120, -120, -119, -119, -118, -118, -117, -117, -116, -116,
    +
    26  -115, -115, -114, -113, -113, -112, -111, -111, -110, -109, -108, -107, -107,
    +
    27  -106, -105, -104, -103, -101, -100, -99, -98, -97, -95, -94, -93, -91, -90, -88,
    +
    28  -86, -85, -83, -81, -79, -78, -76, -74, -72, -70, -67, -65, -63, -61, -58, -56,
    +
    29  -54, -51, -48, -46, -43, -41, -38, -35, -32, -29, -27, -24, -21, -18, -15, -12,
    +
    30  -9, -6, -3, 0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 29, 32, 35, 38, 41, 43, 46, 48,
    +
    31  51, 54, 56, 58, 61, 63, 65, 67, 70, 72, 74, 76, 78, 79, 81, 83, 85, 86, 88, 90,
    +
    32  91, 93, 94, 95, 97, 98, 99, 100, 101, 103, 104, 105, 106, 107, 107, 108, 109,
    +
    33  110, 111, 111, 112, 113, 113, 114, 115, 115, 116, 116, 117, 117, 118, 118, 119,
    +
    34  119, 120, 120, 120, 121, 121, 121, 122, 122, 122, 122, 123, 123, 123, 123, 124,
    +
    35  124, 124, 124, 124, 124, 125, 125, 125, 125, 125, 125, 125, 126, 126, 126, 126,
    +
    36  126, 126, 126, 126, 126, 126, 126, 127, 127, 127, 127, 127, 127, 127, 127, 127,
    +
    37  127, 127, 127, 127, 127, 127, 127, 127, 127
    +
    38  };
    +
    39 
    +
    40 #endif /* WAVESHAPE_TANH_H_ */
    +
    + + + diff --git a/doc/html/whitenoise8192__int8_8h_source.html b/doc/html/whitenoise8192__int8_8h_source.html index 0c75b12a7..ebd388c43 100644 --- a/doc/html/whitenoise8192__int8_8h_source.html +++ b/doc/html/whitenoise8192__int8_8h_source.html @@ -3,46 +3,44 @@ + Mozzi: tables/whitenoise8192_int8.h Source File - - - - + + + + + + - + -
    - - +
    - - - - - -
    Mozzi -  alpha 0.01.2b +  alpha 0.01.2c
    sound synthesis library for Arduino
    - - + + @@ -51,7 +49,7 @@
  • Main Page
  • Modules
  • Classes
  • -
  • Files
  • +
  • Examples
  • @@ -70,18 +68,27 @@
  • - +
    + +
    + +
    @@ -92,516 +99,518 @@
    -
    tables/whitenoise8192_int8.h
    +
    whitenoise8192_int8.h
    -
    00001 #ifndef WHITENOISE8192_H_
    -00002 #define WHITENOISE8192_H_
    -00003 
    -00004 #if ARDUINO >= 100
    -00005  #include "Arduino.h"
    -00006 #else
    -00007  #include "WProgram.h"
    -00008 #endif
    -00009 #include <avr/pgmspace.h>
    -00010 
    -00011 #define WHITENOISE8192_NUM_CELLS 8192
    -00012 #define WHITENOISE8192_SAMPLERATE 8192
    -00013 
    -00018 const char __attribute__((progmem)) WHITENOISE8192_DATA []  =
    -00019         {
    -00020                 22, -14, 108, 2, -80, -99, 62, -62,
    -00021                 -11, -127, -102, -80, -114, -66, -2, 68, -63, -101, 0, -13, 37, 55, 104, 61,
    -00022                 125, 101, -54, 60, -91, -102, -127, 17, 26, -23, -97, 80, 43, -77, 117, -71, 66,
    -00023                 -59, 30, -86, 111, 112, 65, -49, 85, -95, 38, 27, -39, 80, 94, 44, 20, 116, 36,
    -00024                 -74, -106, -57, 57, 96, -37, 39, -72, 21, -80, 121, -127, 88, -84, 54, 120, -6,
    -00025                 -94, 41, -41, -22, 39, 113, 84, 85, -31, -49, 79, -13, -43, -25, 7, -27, -2,
    -00026                 -91, 85, 102, 82, 37, -28, 115, -82, -79, -33, -38, 80, 47, 68, 32, 36, -29, 30,
    -00027                 47, -36, -90, -2, -37, 46, -35, -49, -64, 81, 35, -87, 121, 121, -110, -44, -33,
    -00028                 9, 83, 70, 48, 10, 43, 85, 40, 48, 88, 122, -83, -22, -38, 78, 113, -91, 110,
    -00029                 -1, 114, 72, 2, 49, -92, 80, -30, 124, -15, 125, -116, 87, -76, 115, 84, -112,
    -00030                 107, -101, 109, -66, 27, -99, 59, -56, 91, 89, -18, -113, -57, 27, -110, -107,
    -00031                 -87, -14, -31, -54, -10, 1, 90, 91, 28, -9, -122, 31, -32, -128, 98, 25, 110,
    -00032                 -41, -97, 19, 17, 42, 5, 68, 123, 66, 22, -77, -43, -125, 86, 92, -4, -15, 33,
    -00033                 -79, -38, -128, 113, -102, -64, 94, -12, 14, 118, 106, -105, -86, -76, 27, -77,
    -00034                 -16, 46, -100, 22, 118, -31, -2, 36, 74, 85, 63, -81, 93, 114, 37, -29, -92,
    -00035                 104, 115, -89, 127, 81, -74, 8, -94, -29, -120, -50, -124, 53, 10, -1, 18, 121,
    -00036                 87, -72, 26, -49, -62, 43, 65, -57, 21, -61, 10, -88, -111, 54, 42, -5, 5, 50,
    -00037                 -72, 59, 116, 80, -4, -110, -103, -64, -71, 79, 124, -61, -58, 1, -113, 16, -75,
    -00038                 -125, 114, -97, -53, -30, -127, 101, -83, 70, -77, -42, 51, -15, -17, -123, 44,
    -00039                 19, 53, 40, 22, -95, -10, -84, -12, -102, 9, 44, 124, 82, -74, -112, 36, 5, 65,
    -00040                 9, 63, 73, 103, -15, 33, 90, -53, 60, 104, -72, 80, -23, 84, -75, 98, -63, 82,
    -00041                 61, 100, -28, -96, 68, -103, -124, -57, -1, 59, 6, -44, 34, -114, -83, 50, 103,
    -00042                 -120, -106, -75, -11, 92, -123, 115, -36, 116, -63, 1, -16, -13, -73, 33, 127,
    -00043                 -7, -10, 26, -20, 97, -72, 19, 77, 21, 28, 12, -17, -25, 33, 118, -69, -33, -36,
    -00044                 -46, 34, 96, 111, -14, -74, -51, -80, 2, -42, -71, -28, 74, 8, 111, -13, 33, 81,
    -00045                 68, -71, -88, 60, 36, 17, 123, 103, 46, 0, -63, -128, -44, 66, -92, 63, -102,
    -00046                 76, -25, -53, 67, -16, 4, -52, -70, -77, 74, 71, -51, -78, -36, -69, 35, -65,
    -00047                 26, 22, 7, 85, 36, -39, 17, 64, -47, -115, -58, 124, 92, 29, -103, -78, 64, 85,
    -00048                 49, 30, 57, -66, 65, -90, -78, -124, 38, 90, 11, -85, 73, -23, -42, -95, -71,
    -00049                 79, 106, 38, -7, -107, -19, 1, 91, 119, 103, -47, 124, -40, -96, -103, 88, -53,
    -00050                 18, -60, -77, -14, 54, -70, -82, -8, -49, 111, -76, -52, 105, 117, -11, -50,
    -00051                 -26, 111, -37, 48, 42, -71, 5, 3, -81, -51, -35, -24, -98, 83, -59, -38, -29,
    -00052                 18, 102, -126, -34, -60, 98, 0, 124, -113, 101, 55, -6, 69, -106, -96, 39, 49,
    -00053                 35, -4, 7, 27, -78, 89, 44, -47, 68, -23, -126, -36, 92, -12, -74, 117, -28, 30,
    -00054                 118, 52, -31, -126, 9, -2, -115, 6, 121, 106, -112, -37, 92, -85, -44, 102, 112,
    -00055                 47, 43, -57, -61, -19, -81, 112, 72, 19, 113, -72, 44, -53, -21, 94, 44, 0, 44,
    -00056                 -2, -121, 77, 89, -92, 98, 117, 100, -24, 33, 47, 20, -93, -103, -29, 29, -21,
    -00057                 18, 102, -27, -25, -93, 79, -18, 29, 53, 50, 26, -21, 104, 25, 73, -69, -70,
    -00058                 -31, 9, 53, -81, 27, 63, -61, -40, 49, 123, -31, 34, 32, -33, -117, -55, -47,
    -00059                 -17, 106, -34, -97, 117, 14, -124, -7, -97, -61, 121, -124, -48, 118, 12, -70,
    -00060                 52, -75, -68, -15, -6, 53, 121, -33, 122, -21, 23, 19, 86, -30, 101, -125, -81,
    -00061                 -27, -106, 17, 29, -101, -80, -92, -91, -66, 118, -44, 36, -127, 66, 71, -100,
    -00062                 119, 60, -111, -50, -74, -41, 97, 13, 55, -49, 9, 11, 8, 41, 27, 110, 127, 87,
    -00063                 56, 29, -34, 26, -48, 99, -125, 113, -99, -100, -73, -72, -4, -116, -93, 58,
    -00064                 -60, 20, 89, 82, 54, -35, -13, -13, 65, -92, -123, 106, -115, -20, -68, -123,
    -00065                 -46, 69, -110, -19, -82, 59, 54, -2, 4, 61, -96, 84, -106, -37, 72, 53, -92,
    -00066                 108, -80, -126, -85, 97, 21, 39, -26, -121, 101, 18, -67, -103, -9, 37, 45, -71,
    -00067                 58, 56, 41, 70, 76, -110, 51, 114, 40, -96, -35, 81, -12, -28, -15, -112, -114,
    -00068                 100, -82, 105, 80, 55, -36, 0, -30, 47, -46, -38, -22, 93, -4, -73, 114, 79, 16,
    -00069                 -40, 5, -116, 50, 24, -17, 94, 70, 53, -76, 70, 126, 15, -69, -118, 117, 75,
    -00070                 -122, 64, -17, 6, -83, -109, -87, 67, 106, 29, -30, 19, -20, 38, -123, 31, 84,
    -00071                 78, -3, -60, -87, -117, -110, -28, 14, -13, 120, -109, 19, 9, 88, 29, 26, -127,
    -00072                 -115, -33, -9, 93, 59, 38, 57, 80, 4, -63, -86, -127, -30, 16, -33, -9, -21, 81,
    -00073                 -102, -111, -127, -5, 95, 34, -46, 82, -102, 75, -95, 17, 10, 52, -106, -48, 39,
    -00074                 -114, -28, 126, -34, -62, 70, -47, 20, -110, 34, 46, -75, -115, 0, 45, -112,
    -00075                 -75, -72, -126, -73, 4, 79, 18, 70, -110, 45, 2, 40, 45, 11, 43, 13, -85, -58,
    -00076                 -18, 100, 111, 18, 10, -54, 94, 124, -36, -54, 23, -67, 113, 93, 101, -80, -115,
    -00077                 69, 124, 32, -108, 106, -12, -20, 26, 48, 123, -121, 59, 50, -67, 28, -62, 109,
    -00078                 -41, -117, 19, -113, 126, -51, 35, -102, -88, -36, -60, -74, 113, -49, -112,
    -00079                 -22, -22, -48, 7, 77, -53, -64, -86, -114, -91, -8, 3, -119, -79, 72, 120, -14,
    -00080                 15, -115, 80, 95, -39, 97, 100, 109, 77, -32, -22, 77, 124, 58, -106, 110, -93,
    -00081                 -39, 97, -70, 55, 38, 112, 108, 1, 19, -26, -127, 97, -69, -109, -58, -98, 53,
    -00082                 80, -36, 90, 94, 79, -13, 119, -126, 69, 15, -54, -104, 43, 8, 69, 92, -20, 23,
    -00083                 32, 49, -116, 53, 102, 96, 75, -15, -71, -92, -28, 94, -15, -52, -92, 73, 2,
    -00084                 -56, 93, 39, 103, -121, -90, -11, -110, 37, 40, -6, -52, 7, 79, -64, 100, 49,
    -00085                 -35, 74, -106, -93, 104, 55, -5, -72, 28, -109, -95, -32, 86, 15, 58, -13, 68,
    -00086                 -33, 106, 47, -97, 127, -73, 77, -47, 75, 106, -69, 48, -14, -78, 67, -107, 47,
    -00087                 -95, -75, -67, -110, -67, -121, -101, 104, -81, 33, -36, 95, -56, 104, 67, 25,
    -00088                 -53, -34, 92, 104, -10, 84, 26, 45, -31, 42, -32, 2, 49, 108, -82, 105, -56,
    -00089                 -80, -56, 101, -49, 80, 86, -96, -27, -103, 86, 77, -90, 73, 85, 40, 62, -100,
    -00090                 -95, 74, -81, 79, 10, -47, 77, 55, 35, 121, 46, -40, -36, 112, 49, -10, -104,
    -00091                 -13, 22, 38, 69, 37, -98, -59, -88, -37, 82, 109, -97, 69, -102, 114, -76, 23,
    -00092                 -34, -59, 11, -21, 10, -20, 127, -33, 26, 30, 115, -62, 93, 112, 59, -13, -118,
    -00093                 -101, 104, 5, 75, 70, 65, 11, 115, -120, -40, 60, -61, -17, -67, 30, 61, -45,
    -00094                 48, 96, -62, -125, -125, 77, -63, -15, -38, 81, 78, -28, 117, -16, -79, -54, 99,
    -00095                 7, -74, -9, 5, 51, -49, -119, 114, -106, -58, 27, 110, 105, 35, -33, 9, -108,
    -00096                 63, 22, -52, 89, -112, -125, 66, -66, -25, 66, 55, -126, 36, -63, 21, -69, -128,
    -00097                 -37, -93, 16, -53, 115, -5, 58, -86, 87, -93, 45, 55, 102, 2, 73, 78, 115, -94,
    -00098                 -76, 121, -40, 27, 55, 101, 5, -3, 110, 12, 87, 65, -18, -112, -87, 73, -57, 54,
    -00099                 94, 125, -73, -127, 97, -48, 8, -21, -98, 31, 50, -112, 90, -46, -127, 110, -9,
    -00100                 106, -104, -123, -72, 118, -44, 21, 14, 15, 126, -117, 45, -93, -27, -1, 127, 0,
    -00101                 -111, -24, -32, 101, -41, -72, 121, -86, -47, -111, 89, -42, 11, 17, -69, -40,
    -00102                 1, 14, 113, -30, 111, -117, -124, 98, -93, 94, -119, 96, -5, 102, 95, -102, -8,
    -00103                 44, 85, 119, 41, 98, 111, -8, 19, -80, -35, 10, 100, -84, -12, -128, -109, 3,
    -00104                 -123, 44, 36, 67, -101, 59, -81, 126, -103, 83, 120, -128, 61, 44, 6, 23, 17,
    -00105                 -119, -100, 105, -79, -6, -36, 76, -70, 78, -45, -20, 10, 109, -18, 47, -100,
    -00106                 75, -55, -62, -121, 108, 50, -41, 48, -84, 0, 70, 126, 1, -71, -94, 88, 31, 33,
    -00107                 -33, 12, -58, 86, 18, 26, 124, -98, 34, -18, -96, -99, 41, -21, 73, -80, -34,
    -00108                 -109, -124, -102, -34, -39, 122, 56, 98, 71, 124, 14, -72, 15, -78, 19, 123,
    -00109                 -59, 28, -90, -90, 21, 38, -114, -119, -106, 126, 11, -34, -61, 78, 102, 36, 67,
    -00110                 99, 66, -114, 68, 62, -128, 32, -102, -43, 7, -4, 96, 17, 21, -21, 28, 20, -74,
    -00111                 -98, -72, 45, -70, 31, 78, 46, -99, -13, -38, -48, 32, -123, -75, -93, -12, 66,
    -00112                 -1, -51, -80, -102, -88, -60, -86, -97, -80, -72, -116, 84, -32, -58, 67, 97,
    -00113                 -55, 19, 78, -85, 83, -4, -2, 81, -54, -38, -53, 76, 93, -104, 67, -98, 38, -78,
    -00114                 -6, 98, -19, 53, -30, 43, -32, 24, 94, 91, 66, -19, -123, -10, 113, 1, 89, -56,
    -00115                 -60, 27, 16, 7, -21, -128, -70, -64, -5, 27, 29, 39, 17, -33, 100, -41, 98, 80,
    -00116                 114, 28, -95, 94, -60, 122, 15, 124, -15, 73, -93, 58, -58, -29, -50, 34, -52,
    -00117                 104, 122, 46, -123, -97, 36, -11, 4, 3, 57, -76, -3, 35, -38, -74, 38, 116, -31,
    -00118                 -49, -97, -84, -28, -110, 50, -94, -106, 104, 6, -66, -37, -84, -88, -50, -92,
    -00119                 88, 113, 36, 99, 48, -6, 96, -101, -43, -47, -120, 83, 68, 34, -46, 91, -101,
    -00120                 -76, 28, 93, -34, -35, 57, -118, -91, -82, 21, -79, 55, -93, -67, 106, 122, 22,
    -00121                 -37, -37, 36, 110, -67, 99, -102, 75, 112, -103, -1, -68, -93, 43, 22, -116,
    -00122                 116, 65, 96, 45, -28, 46, -117, -93, -75, -113, 121, -14, 24, 9, -109, -36,
    -00123                 -121, -72, 8, -94, 29, -60, -108, 76, -32, 34, 79, -123, 65, -104, 122, 119,
    -00124                 117, 75, -54, 102, 108, 4, -75, -36, 4, -55, 115, -71, -118, 96, -34, 100, -5,
    -00125                 -43, -120, 61, -64, 42, -70, 82, 84, -67, 35, -100, 112, -16, -107, 118, -5, 58,
    -00126                 -52, 121, 71, 124, 93, 84, -26, 122, -73, 11, -92, 60, 45, -54, 113, 48, 126,
    -00127                 -29, 2, -125, 19, 33, -121, 27, -128, -85, -44, -111, -37, -113, -2, -68, -8,
    -00128                 -84, 8, 86, -75, 28, 17, 28, 109, 108, -113, 49, -5, -40, 97, 78, -18, -89, -88,
    -00129                 34, -106, 109, 17, 10, -112, -100, 84, 0, 24, 9, 126, 122, 55, 0, -28, 102,
    -00130                 -115, 108, 29, 84, -21, -18, -46, -78, -1, 110, -125, 65, 125, -106, -64, -89,
    -00131                 -90, -15, 9, -34, -90, -16, -59, 29, -128, 1, -8, 48, -79, 58, 119, 21, 56,
    -00132                 -126, -39, 72, 56, -81, 51, -98, 36, 2, -10, -9, -120, -110, -105, -9, 3, 62,
    -00133                 35, -71, -102, 74, 39, 120, 21, 37, 88, -44, -66, -59, 120, -67, 8, 108, 26, 82,
    -00134                 -121, -18, 118, 38, -61, 28, -44, -80, 104, 114, 117, 117, -4, 22, -89, 83, -4,
    -00135                 -4, 31, 60, -78, 37, 40, 75, 74, 48, 56, -76, 24, 99, -35, 111, 111, -66, -20,
    -00136                 15, 82, 92, 114, -31, 40, -42, 56, 9, -64, -91, 67, 16, -34, 93, -94, 29, 7,
    -00137                 -30, -24, -113, 85, -1, 21, 34, 78, 55, 114, -49, -90, -34, -113, 104, 8, 89, 7,
    -00138                 -38, -74, 119, 115, 78, 58, -69, 0, -123, 18, -5, 55, -36, -89, -115, 74, -94,
    -00139                 97, -22, -79, -69, -106, -87, 83, 94, 54, -82, 47, 73, -52, -58, 59, 97, -58,
    -00140                 -31, -49, -4, -48, -125, -42, 112, -70, -4, 59, -98, 99, -39, 51, -26, 61, -56,
    -00141                 -123, 7, 11, 23, -96, 83, 88, 24, -68, -42, -30, 59, 97, 112, 34, -34, 57, -12,
    -00142                 9, -70, 124, 81, -12, 73, 114, -109, -53, 94, 97, 23, -121, 65, 6, 62, -92,
    -00143                 -111, -16, -121, -16, -86, -19, 56, 109, -10, -90, -19, 79, 99, -21, 123, -12,
    -00144                 -79, -97, -61, -11, 82, 48, -88, 26, -42, 42, -77, -73, 1, -8, 25, -70, 8, 92,
    -00145                 121, 10, 77, -72, 43, -31, -11, -27, 103, 113, 63, 28, -110, 111, 124, 1, 66,
    -00146                 -17, -87, -110, 88, 12, 124, -63, 99, -80, 92, 26, 68, 111, -103, 78, 37, -102,
    -00147                 118, -3, -120, -67, -63, -28, 6, 56, 12, -75, -86, 78, -6, -42, 45, 26, -40,
    -00148                 -66, -93, -49, -126, 86, -34, -6, 24, 6, -84, -111, 20, 96, 6, -91, -16, 110,
    -00149                 35, -128, 39, 90, 58, -108, 28, 66, -8, 28, -82, -57, 45, 72, 35, -60, -107, 84,
    -00150                 -56, -84, -115, 25, -59, 32, 24, -78, 33, 67, -86, -56, -65, 83, 52, -103, 34,
    -00151                 -2, 92, -56, 95, -115, 105, 42, -25, -10, 104, 15, 115, 88, -17, -42, 15, -29,
    -00152                 113, 102, 112, 81, 28, -60, 33, 21, 113, 26, -7, 89, -69, 63, 1, -104, 81, -61,
    -00153                 -57, -1, -43, -45, -117, -16, -113, -85, 15, -100, 7, 37, 108, -126, 83, -21,
    -00154                 77, -21, 82, 7, -80, 39, -80, -82, -128, 34, 106, 125, 109, -62, -122, -82, 10,
    -00155                 122, -121, -102, 76, 82, 107, -106, -20, 112, -124, -87, 12, 108, -46, 89, 24,
    -00156                 -22, 10, 79, 94, 38, 19, -12, -126, -43, 4, 15, -7, -39, 2, -57, 92, -126, 61,
    -00157                 95, 3, 125, -61, -68, -105, -48, 110, -103, 42, -31, 34, 90, 83, 3, 82, -10,
    -00158                 113, -11, -95, -112, 5, -70, 46, -97, 102, -90, 127, 103, -83, 20, 23, 109, 119,
    -00159                 -106, 122, 9, 47, 59, -24, -101, -42, -109, -69, -117, -15, -78, 88, -28, -72,
    -00160                 71, -50, 87, -15, -85, 31, 52, 64, -19, 27, -126, 2, -24, -20, 107, 92, -46, 8,
    -00161                 -97, 96, 1, 67, 103, -25, 76, 13, -36, -53, -22, 123, 74, 40, 63, -4, -101, 58,
    -00162                 54, 31, -121, 123, -55, 124, -83, 50, -110, 74, -91, 22, -6, -96, 31, 38, 36,
    -00163                 107, -71, 80, -121, -56, 111, 88, 82, -71, -49, -110, -56, -103, -23, 38, 103,
    -00164                 -78, 18, -49, 3, 7, 87, -60, 54, 105, 95, -91, -6, -54, 13, 101, -41, 92, 94,
    -00165                 -8, 8, 114, -81, 24, 41, -13, 100, 59, 55, -90, -85, -56, 98, -105, 99, -88, 10,
    -00166                 110, -31, 127, -26, 125, -124, 56, 14, -64, 17, 75, -114, 107, -92, -57, 97,
    -00167                 -89, -107, 64, 69, 95, -122, 99, -118, -96, -127, 1, 2, 80, 86, 70, 60, 58,
    -00168                 -105, -128, 54, -18, 45, 10, 28, 56, -12, 99, -117, -23, -1, -118, 9, -124, -31,
    -00169                 -29, 58, -87, 90, -115, -100, 50, 86, -9, -120, -127, 41, -68, 37, -6, -17, 50,
    -00170                 -56, -21, 37, 0, -34, 78, 31, -61, 13, -80, -70, -74, 121, -114, -80, 61, -16,
    -00171                 -45, -107, -70, -3, -101, -71, -29, -23, 87, 110, 59, -123, -97, 41, -9, 35,
    -00172                 -23, 24, 126, 46, -97, 37, 99, -31, 62, -66, 100, 26, 0, 77, -117, 36, -38, -62,
    -00173                 57, -47, 113, 44, -70, 77, -113, 100, 8, -44, -109, -76, 106, -24, -113, 24, 57,
    -00174                 85, -61, -48, 103, -9, 74, -69, 42, 44, -127, 60, -59, 15, -88, -24, 82, 126,
    -00175                 -41, 115, -79, 7, -97, 119, -21, 3, -80, -114, -1, -22, 70, 28, -35, -73, -107,
    -00176                 108, -77, 80, 19, 114, -22, -40, 41, 117, 8, 107, 9, -30, -114, 46, 22, 109, -2,
    -00177                 -31, -59, 43, -79, -6, 67, 75, 39, -77, -115, -114, -60, -46, 100, -71, 24, -63,
    -00178                 76, -34, -70, 64, 5, -94, -98, 19, 124, 93, 96, -92, 113, -7, -60, 70, -54, 46,
    -00179                 24, 74, -4, 121, -41, 81, -65, -69, 58, 86, 71, -33, -126, -13, 86, -71, -73,
    -00180                 36, 4, 121, 105, 85, -42, -3, 87, 126, 58, 127, -73, -5, 114, -19, -16, -35,
    -00181                 -68, 28, 90, -72, -31, -55, 54, -74, 79, 114, 5, -62, 31, -126, -125, -35, -22,
    -00182                 125, -31, -19, -29, -43, 122, -19, -45, 113, -47, -113, 50, 59, 42, 16, -116,
    -00183                 -48, 11, 118, -126, 81, -81, 63, -86, 59, -1, 61, 100, 127, 88, -62, -64, -126,
    -00184                 27, 73, -14, -120, -29, 123, -47, -16, -30, -81, 77, 78, -70, -37, 70, -75, -74,
    -00185                 10, -36, 23, -90, 46, 17, 24, -45, -90, 101, -34, 117, -10, 115, -14, -16, -88,
    -00186                 -20, 15, 31, 115, 40, 68, -109, 32, -76, 67, -25, -1, -101, 96, -59, -84, 96,
    -00187                 45, -44, 79, -86, 12, 7, -30, 94, -51, -26, 95, 89, -1, -36, -22, -53, 6, 18,
    -00188                 -16, 101, 0, 39, -98, -17, -37, 19, 80, -94, -126, 76, -121, 73, -68, 97, 90,
    -00189                 87, 109, 38, -80, -21, -41, 76, -23, -120, 4, -124, 9, -87, 10, -72, -118, 13,
    -00190                 -9, 115, -56, -82, 63, -55, 51, 67, -49, -71, -34, -123, -7, -79, 16, 36, 8,
    -00191                 -19, -15, 81, 125, -19, -115, -87, 43, -104, 47, -67, -32, -49, -93, 7, 24, -28,
    -00192                 -85, 94, 46, 27, 122, 49, -13, -90, -93, 70, -61, -92, -4, 51, -75, 115, 119,
    -00193                 119, 79, -50, 111, -30, 6, 53, 97, 17, 106, 86, -54, -80, -77, -3, 17, -102, 31,
    -00194                 102, -59, 75, -120, 9, 123, -90, -72, -105, -126, -44, -41, -70, -127, -78, 114,
    -00195                 -117, 39, 24, -53, -84, 34, 10, -88, -11, -42, -122, 17, 28, 29, 96, 6, -7, 125,
    -00196                 -85, 25, -92, 63, -10, -74, -95, -115, 68, 19, 64, 3, 54, -78, -95, 59, -88, 81,
    -00197                 -120, -31, 74, 94, -118, 0, 113, 80, -53, 64, -20, 92, 0, 40, -58, -119, -113,
    -00198                 102, 120, 122, 97, -68, -49, 39, 100, -110, 26, -27, -94, -82, -9, -18, 22, 55,
    -00199                 50, 59, 10, -109, -127, -64, 51, 39, -78, -105, 45, -2, -74, -16, -2, -101, 20,
    -00200                 -68, -107, 6, 105, 43, -44, 99, -38, 116, 9, 38, -63, 13, 109, 71, 23, -85,
    -00201                 -107, -3, 40, 60, -89, -110, -34, 43, -105, -76, -62, -105, 83, 101, -22, 10,
    -00202                 110, 124, 54, 93, -101, -114, -102, -81, 122, 54, -40, 77, 11, -31, 18, 35, 14,
    -00203                 25, 81, 87, 15, -7, -79, -15, 2, -97, -4, 125, 103, 31, -92, 118, 9, 39, 34,
    -00204                 -23, 60, 90, 63, 69, 49, 68, -20, 91, -36, 28, 7, 104, -127, -112, 2, 48, -92,
    -00205                 -22, 98, 72, 86, 2, 117, 102, 27, -53, 20, -1, 96, -33, -31, -62, 0, 23, 83, 2,
    -00206                 11, 51, 38, 23, 0, -24, 93, 121, 4, 87, -104, -127, -2, -97, -85, -115, -44,
    -00207                 -43, -100, 120, 84, -99, 1, 18, 1, -29, -23, 119, -18, 73, 56, -77, -77, -81,
    -00208                 -18, 47, 117, -90, -29, 51, 32, 114, -1, -51, 88, -25, 2, 44, -80, 97, 127, 80,
    -00209                 -89, 127, -20, 39, 81, 94, 124, -74, -85, -28, -34, 113, 85, 67, 79, -32, -8,
    -00210                 -121, -36, 50, 123, 8, 54, -91, 7, -43, 32, -110, 51, -120, 59, -106, 70, 122,
    -00211                 71, 114, -95, -71, -6, 9, 38, 68, 124, -111, 26, 62, -47, 126, -1, 125, -128,
    -00212                 115, 29, -44, 40, 105, 78, -95, 49, -122, -110, 43, -19, 57, -14, 35, 30, 114,
    -00213                 -13, -50, -96, 65, -21, 84, -18, -4, 12, -100, -89, -123, -79, -44, 12, 90, -66,
    -00214                 -95, -13, -125, -110, 28, -50, -39, 46, -114, -33, 65, 28, -9, 38, -61, 24, 55,
    -00215                 55, 92, 63, 101, -56, -101, -83, -45, 87, 58, 63, 122, 53, -109, -128, -97, -48,
    -00216                 87, -20, -2, -62, -87, -117, 49, 89, 58, 127, 1, 2, 7, 76, 90, 54, 2, 96, -96,
    -00217                 84, -4, 47, -23, -118, -126, 36, 58, 47, 6, -46, -92, 86, 103, 72, 54, -34, -85,
    -00218                 47, 124, -8, -53, 117, -55, 102, -24, 43, -127, 126, 62, 121, -127, 123, -106,
    -00219                 126, 10, 57, -55, -124, 68, 16, -73, 91, 78, 122, 56, 25, -74, -80, -88, 19,
    -00220                 -74, -83, 96, -71, -99, -37, 36, 105, -5, 64, -2, -116, 19, -90, 78, 89, 93, 37,
    -00221                 -69, -8, -49, -46, -72, -71, 117, -118, 114, 12, -42, 63, 23, -114, -73, 25,
    -00222                 -32, -70, 75, -48, 46, -39, -122, -8, -108, 59, 63, -21, 44, -74, -96, 116,
    -00223                 -109, 126, 85, -62, -25, 27, -103, -113, -90, -39, -126, -46, 3, -57, -112, -21,
    -00224                 -48, 45, 59, 8, -29, 60, 12, -106, 124, 51, 50, -100, 103, 37, -42, 11, -110,
    -00225                 113, 39, -121, 44, -105, 99, -111, 100, -117, 92, 110, 123, 115, -45, 19, 96,
    -00226                 -127, -82, 113, 72, 40, -38, -116, -126, -122, -79, 11, -104, 40, 55, -26, -9,
    -00227                 -75, -120, 101, 73, -21, 60, 124, -26, -36, -83, -14, -4, -7, -73, -68, 5, 107,
    -00228                 -80, 101, -57, -42, -11, -120, 62, 65, -1, 91, -86, -102, 42, -10, 85, 102, 120,
    -00229                 103, 100, -68, 31, 74, -109, -27, -125, -104, -86, 78, -74, -64, 78, -27, -116,
    -00230                 -99, 36, 117, 75, -50, -96, -63, 1, 106, 46, 80, -33, -72, 61, -34, 65, 53, 95,
    -00231                 -101, -126, -92, 88, -3, 73, -114, 26, 63, -121, 61, -84, 3, -13, 80, -34, -10,
    -00232                 -97, 127, 65, -81, -90, -31, -10, 99, 30, -13, 125, 52, -38, -80, -61, -35, 124,
    -00233                 -102, 51, -49, 67, 116, -117, -51, 87, -4, -56, 73, 114, 114, -43, -113, -66,
    -00234                 51, -18, -14, -90, -47, 85, 40, -7, -127, -95, -43, 11, -90, -34, 57, 101, -29,
    -00235                 -51, 1, 117, 21, 61, -8, -70, 121, -24, 87, -89, -12, 121, 50, -28, -6, -6, -95,
    -00236                 -6, 38, 49, -99, 127, 120, 55, -55, 46, 39, -57, 33, -58, -4, -7, -86, 86, -31,
    -00237                 94, 25, 16, -126, 90, 80, 106, -33, 109, 82, -44, 109, -65, -69, 2, -72, -54,
    -00238                 -60, -119, -121, 111, 69, -69, -95, -21, -106, 37, 2, -18, -29, 30, 32, 127, 75,
    -00239                 32, -53, -58, 79, -36, -78, 110, 5, -111, 82, -5, 28, -62, 64, -52, 22, -96,
    -00240                 -30, 52, 22, 104, 126, -9, -72, 34, -118, 62, -90, 115, 63, -101, -26, 36, -32,
    -00241                 90, -62, -110, 100, 95, -8, -120, -113, -90, 3, -102, -27, -10, 110, -122, 18,
    -00242                 106, -69, 3, -64, -94, 118, 25, -99, -107, -24, -60, 71, -10, -93, -128, -121,
    -00243                 -76, 53, -42, -114, 20, -61, 77, 88, 81, -61, -81, 21, -27, 43, 99, -38, 111,
    -00244                 -33, 31, -109, 119, -110, -50, -96, -81, 95, -36, 63, 85, 16, 56, -74, 94, -43,
    -00245                 115, -87, -52, 109, -52, -49, -117, 82, -81, -16, -60, 39, 123, 125, 64, 29,
    -00246                 -107, -90, 119, -76, 101, 24, 67, 116, -82, -96, 3, -119, -57, -60, -53, -116,
    -00247                 -3, 87, 110, -25, 23, 93, 0, 106, -80, -19, -89, -87, -8, -94, 108, 115, -28,
    -00248                 -94, -20, -52, 5, 113, -101, -115, -47, 110, -121, -37, 37, -60, 70, -105, -28,
    -00249                 63, 91, -91, 108, -90, 119, 96, 34, 23, 11, 107, 42, -122, 42, 17, 124, 51, 93,
    -00250                 -88, -3, -113, 26, 97, -117, 28, -108, 7, -109, -128, 101, 35, -108, 102, 85,
    -00251                 -113, 20, 57, -81, 39, -27, -68, 23, 66, 4, -19, -35, 79, 21, -2, 82, 95, 1, 67,
    -00252                 57, 29, 88, 57, -84, 11, 81, -44, -26, 101, -128, -110, 52, 32, -7, 39, 70, -23,
    -00253                 -53, 101, 38, -97, -117, 106, -89, -92, 67, -77, -64, 77, -124, -75, 77, 94, 46,
    -00254                 -51, 57, 34, -15, 119, -71, 70, 63, -47, -84, 69, -10, 82, 115, -67, -73, -44,
    -00255                 -3, 48, 25, -88, -81, -105, 8, 55, -99, -5, -27, 100, 116, -103, -37, 114, 102,
    -00256                 -102, 51, 110, -64, -109, -101, 107, 37, 65, -8, 34, 91, 84, 21, 126, 67, -54,
    -00257                 63, 118, -59, -23, 59, -124, -84, 65, -55, -21, 122, 118, 105, -1, 83, 55, 12,
    -00258                 -100, 77, 3, 64, 104, -22, -18, 84, 114, -28, 108, 46, 50, -11, 28, 44, -76, 47,
    -00259                 -70, -115, -48, -19, -38, 127, 35, -69, 127, 103, -79, 62, 37, -91, 1, 99, -99,
    -00260                 126, -119, -14, -93, 39, -61, -111, -101, 17, -15, 104, 111, 55, 64, 35, 47,
    -00261                 119, -88, 113, -81, -126, 113, -76, 27, 58, -56, -2, -29, 97, 64, -48, -74, 118,
    -00262                 -29, 36, 98, 103, 64, 114, 70, -95, -87, 87, 4, 48, -104, -66, 77, 81, -127, 41,
    -00263                 50, 19, 67, -62, -34, -44, -11, 101, -66, -18, -40, -22, 65, -97, -44, 76, -87,
    -00264                 52, -52, 16, -86, -78, 77, 37, 87, -29, -54, -77, 34, 35, 95, 9, 111, 124, 18,
    -00265                 -84, -47, -31, 7, -81, -6, -80, 117, 1, 35, 104, -17, -125, -118, -97, -75, 35,
    -00266                 -95, -95, -34, -45, -96, -58, 86, -84, 92, -119, -48, -17, -28, 91, 80, 13, -51,
    -00267                 -104, -49, 26, 43, -72, -117, 65, -42, 36, 99, 14, 25, -54, -97, -12, -31, -52,
    -00268                 113, -43, 84, -56, -82, 73, 27, -39, -60, 113, -115, 68, -106, 41, -32, -28,
    -00269                 118, -21, -50, 24, 60, -12, 77, -80, 19, -6, -16, 79, 110, 44, 36, 44, 122, -67,
    -00270                 -20, -18, 88, 101, -121, -80, 22, 49, -100, -114, 37, -118, 105, 99, 2, -31, 42,
    -00271                 21, -81, 105, -104, 7, -26, -49, -117, 111, -40, -17, -28, 104, -78, 102, -97,
    -00272                 104, 62, 99, -12, -109, 38, 88, 44, -98, 101, 98, 11, -38, -95, 125, 124, -42,
    -00273                 -8, 29, -35, -101, -45, -126, -124, 104, -67, 83, -76, -60, -123, 37, 98, 59,
    -00274                 -87, -36, 59, -106, -87, -116, 74, 66, 36, 29, 53, 39, 126, 27, -21, -66, -8,
    -00275                 80, 57, -48, 26, 93, 39, 66, -87, -31, -11, -85, -111, -91, 121, 37, 65, 81, 62,
    -00276                 124, -70, -16, 127, -55, 55, 36, -116, -108, -31, -58, 54, -65, -106, 31, 34,
    -00277                 47, 30, -117, -68, -115, -23, 9, 122, 118, -74, 84, 3, -91, 51, -22, 17, -58,
    -00278                 -87, -25, 119, 44, -29, 111, 85, -43, -13, -57, -51, 58, 0, 114, 101, 87, -72,
    -00279                 -127, -20, -90, 7, 54, -17, -114, -23, -25, -27, 99, 69, 102, 68, 43, 66, -40,
    -00280                 -41, -105, 19, 93, -126, 50, 16, 68, 14, -9, -66, 104, 72, -52, -84, 24, 104,
    -00281                 17, -21, 47, -125, -39, 36, 57, 81, 33, 33, -78, 102, 47, 84, -76, 51, 70, -111,
    -00282                 18, 28, -50, -100, 26, 58, 28, -39, -37, 97, 96, -104, -36, 94, 120, 78, 90,
    -00283                 -48, -69, 76, 59, 59, 44, -90, 25, 30, 48, 99, 95, 14, 58, -92, 56, 38, -44, 48,
    -00284                 13, -13, -85, 0, 9, 6, -97, 87, -104, -92, -44, 126, 56, 73, -18, 89, 41, 2, 78,
    -00285                 -44, 105, 40, 52, 75, -14, -42, -119, 103, 69, 110, 47, 48, 127, 45, -22, 27,
    -00286                 -91, -13, 60, -64, -69, -71, 53, -90, -32, 15, 123, 27, -9, 31, 114, -23, -5, 8,
    -00287                 -60, 103, -94, -82, -16, 86, 4, -28, -74, -20, 73, -53, 126, 82, 111, -41, 2,
    -00288                 -71, 41, 70, 40, 15, 44, -128, 71, -117, 98, 52, -85, 12, -115, -121, 50, 7, 12,
    -00289                 48, 1, -114, -11, 95, 34, 107, 66, -102, -43, -104, 107, 75, -38, -93, 23, 21,
    -00290                 -43, -53, -4, 26, 83, 4, -51, 98, 97, 42, 73, 38, -90, -126, 48, 111, -8, -51,
    -00291                 63, -110, 28, 42, 122, -16, 20, -20, 113, 68, 11, -77, 90, 41, 58, -127, -38,
    -00292                 101, -70, 15, 10, -100, -54, 46, -31, -2, 90, -88, 51, 29, 15, -14, 119, 87, 59,
    -00293                 -118, 56, 75, 22, -22, -22, -47, 97, 77, -9, -86, -91, 90, -96, -89, 109, -28,
    -00294                 -23, 120, -94, 121, -17, 7, 12, -118, 70, 43, 96, -82, -100, -18, -30, -49, -45,
    -00295                 -5, -55, -126, 50, 65, -39, 69, -102, -56, 20, 61, 57, -16, -91, 64, 81, -36,
    -00296                 -103, 47, -113, -117, -45, 38, 27, -68, -50, -8, 27, -12, -119, 63, -101, 2, 5,
    -00297                 -31, 117, 18, -7, -51, -58, 103, 33, 54, -2, -43, 8, -14, -7, 89, -108, 88, -34,
    -00298                 -120, 81, -70, 57, 120, -106, -98, -22, 94, -94, 1, 36, 114, -25, -63, 26, 98,
    -00299                 -43, -115, -9, -119, -11, 13, -124, -65, -55, 39, -31, -32, -112, -118, -3, -92,
    -00300                 84, 98, 48, -27, -118, -21, 1, 114, 47, 15, 56, -16, -95, -6, 3, -84, -35, 91,
    -00301                 -10, -48, 62, -31, 38, -49, -71, -85, -123, -127, 37, -26, -22, -57, -32, 112,
    -00302                 14, 75, -59, 6, 125, -65, 58, 101, -10, -114, -43, -82, -9, -127, 4, -45, -15,
    -00303                 96, -61, 88, -66, 11, 95, 48, -9, -117, 40, 58, 77, 113, -83, 70, -58, 65, 14,
    -00304                 31, 112, -22, 113, 73, -117, 69, -17, 10, -58, -124, -120, 66, 61, 53, -81, 67,
    -00305                 -37, -27, 65, 5, 122, 5, -96, -66, -22, -31, -54, 31, -19, 99, -59, -76, 83,
    -00306                 -73, 127, 13, -11, -100, 122, -5, -69, -89, 34, 33, 32, 123, 28, -102, -35, -69,
    -00307                 95, 84, 16, 104, 29, -53, -124, -87, 37, 1, 65, 106, -8, -98, -46, 55, -14, 86,
    -00308                 -95, -23, -42, -125, 25, 26, 59, 118, -102, 38, -17, -35, 17, 49, 53, -17, -113,
    -00309                 -121, 54, 107, -36, -112, 103, 13, 36, 18, 115, 72, 98, -14, -23, 78, 91, -45,
    -00310                 26, -39, 51, -125, -59, -41, 106, 62, 5, 127, -123, 12, -83, -71, 46, 95, -94,
    -00311                 -127, -75, 109, -30, -27, -108, 78, 51, 83, -46, 73, -23, -60, 17, 0, -88, 53,
    -00312                 -2, -99, -74, 106, -50, 29, 13, 3, 60, -40, 20, 21, 21, -114, -76, 65, 54, -96,
    -00313                 -66, 58, 63, 96, -1, 65, 45, -120, 107, -38, 3, -46, 101, 83, -34, 111, 38, -19,
    -00314                 14, 32, -35, -96, -108, 39, 4, -19, 65, 31, 76, -30, 53, -69, 67, -9, 71, -93,
    -00315                 103, 64, -101, -100, -3, -116, 68, -78, 28, -104, -86, 110, -83, -107, -6, -68,
    -00316                 23, -107, -127, 64, 27, -48, 59, -53, -73, -59, 111, 22, 99, 74, -73, -90, -72,
    -00317                 94, -37, 57, -29, 33, 68, -33, -86, 118, 63, 75, -30, 55, -74, -55, 89, -30,
    -00318                 -70, -116, -78, -98, 108, -75, 24, 108, 88, 31, 47, -82, -35, -1, 79, -114, -8,
    -00319                 95, -31, -104, 123, 21, 61, -51, 61, 49, 12, 57, -76, -110, 68, -100, -41, -3,
    -00320                 -104, -121, -103, 99, -112, 31, 60, 2, -33, 43, 62, 6, -56, -5, 64, 116, -41,
    -00321                 -110, 36, -18, -34, 123, -37, 84, -103, -49, 12, -9, 85, 93, 75, -56, -79, 90,
    -00322                 -128, -107, -114, 35, -2, -32, 1, 84, -101, 113, 52, -54, -85, -128, -5, 20,
    -00323                 103, 62, -102, 92, -3, -60, -42, 102, -61, -59, -6, 19, 101, -93, 13, -76, -36,
    -00324                 9, -89, 94, 34, 35, -60, 70, -85, 50, 37, 14, 69, -102, 95, -17, 60, -124, 90,
    -00325                 -85, -38, -40, -25, -9, -86, 122, 31, 113, -90, -42, -62, 117, -107, 43, -84,
    -00326                 23, -89, -4, -1, 76, 40, -89, 69, -75, 127, 111, 101, 29, 53, -35, 46, -67, 100,
    -00327                 50, 19, -22, 102, 19, 121, 18, 103, 127, 8, -6, 81, 85, -54, 47, 120, -32, 3, 6,
    -00328                 24, -103, 35, -123, 77, -117, -128, 124, 46, -68, 75, -2, -94, 66, -13, -35,
    -00329                 -93, 75, -81, 111, -93, 112, 77, 28, 52, 93, 21, -56, 28, -3, 92, 64, 68, -119,
    -00330                 40, -120, -33, 113, 56, 122, -33, 19, 121, -89, -96, -24, -74, 82, -13, -61,
    -00331                 -20, 24, -101, -125, 27, 122, -66, -45, 3, 0, -80, -89, 100, 89, 86, -76, -38,
    -00332                 -128, -54, 66, 118, 33, 83, 32, -126, 30, -100, 19, -24, -120, 10, -73, -53,
    -00333                 -10, 63, -100, 103, 19, -48, -31, -10, 11, -95, -99, 72, 119, 4, 74, -43, 33,
    -00334                 -82, -74, -28, -108, 71, 12, -118, 43, -80, 126, 60, 18, -115, 26, -56, -16, 75,
    -00335                 100, -45, 84, 110, 108, -78, -48, 18, 101, -13, 6, -100, -87, -114, 113, -29,
    -00336                 -114, 60, 70, -103, -83, -50, 84, 86, 62, 92, -95, 107, 107, 24, -81, 29, -111,
    -00337                 35, 26, 50, -120, 24, -93, 11, 100, -12, -20, -11, 94, -4, -87, 66, -24, 124,
    -00338                 41, 64, 88, 62, -14, 4, -67, -110, -51, -90, -76, 94, 110, -62, 78, -24, -43,
    -00339                 116, 89, -128, 96, 69, 91, -96, -65, -73, -111, -62, -107, -109, 110, 41, 82,
    -00340                 42, 83, 59, 69, -98, 45, 55, -59, -40, -85, -43, 30, 54, -57, 44, 90, 12, 86,
    -00341                 -61, 97, -84, 102, 61, 2, 50, 58, 66, 49, -83, -122, 20, 36, 21, -71, 59, -99,
    -00342                 58, 65, 19, 32, -91, 4, 72, -101, 50, 39, 125, -67, -98, 114, -127, 74, -102,
    -00343                 59, -27, 6, -12, 6, 30, 58, 44, 95, -128, 116, -51, 27, 26, -65, 36, -28, -104,
    -00344                 -61, -32, -45, 99, -78, 46, -56, 40, -53, 97, -125, -115, 64, 53, 20, 120, 10,
    -00345                 90, 67, 48, -26, -115, -35, -33, -100, -40, 68, -24, -56, 95, 92, -67, -59, 84,
    -00346                 88, 55, 93, -65, 107, -58, 116, 87, -124, -116, -112, 75, 85, 79, -37, -80, -44,
    -00347                 98, -87, -126, 73, 82, 126, 37, -49, -34, -38, 59, 10, 17, -86, 63, 47, 61, 22,
    -00348                 29, 83, -108, -31, 45, -18, 28, 53, -121, -34, -23, 86, 114, -48, -124, -60, 53,
    -00349                 -94, -119, 108, 37, 36, 11, -9, 61, -26, -48, 124, 115, 89, -81, -70, -44, -83,
    -00350                 -35, -87, -37, -105, -45, -69, -128, 60, -109, -14, -33, -117, -1, -4, 68, -48,
    -00351                 17, 67, -107, 45, -63, -36, 57, 47, -110, 62, -51, 69, -99, 63, 88, -83, -70,
    -00352                 -86, -113, -72, -84, -106, 31, -14, 33, 94, -125, 42, 73, -22, -86, 109, 101,
    -00353                 -64, -50, -34, 66, 33, -33, 31, -97, 105, 20, -120, -123, 66, -47, -15, -87, 49,
    -00354                 18, -98, 1, 94, -82, 101, -117, -64, -118, 85, -128, -58, -19, -88, 83, 6, 59,
    -00355                 22, 26, -95, -112, -39, -33, -59, 87, 5, 49, -91, -8, -72, -47, -89, -107, -118,
    -00356                 -28, 15, 82, -11, 102, 96, -1, -82, -81, 81, 47, -89, 30, -126, -56, 92, 80, 56,
    -00357                 125, -9, -114, 107, 7, -100, -63, -44, -59, 21, -35, 79, -94, 54, 76, -119, 24,
    -00358                 31, 85, -97, 41, 92, -108, 78, -117, -69, -72, 112, 46, -101, -8, 17, 108, -22,
    -00359                 -105, -75, -34, -37, -50, 99, 30, 126, -40, -120, -127, 32, 19, -36, -93, -84,
    -00360                 116, 92, -74, -22, 44, -17, 31, 78, -121, 54, 11, -45, 115, 10, -74, 60, -42,
    -00361                 74, 12, 88, 73, -42, 65, -115, -17, -118, 44, 38, 2, -108, -9, -72, 71, -113,
    -00362                 33, 86, -122, 59, 84, -63, 120, -57, -85, 80, -30, -78, -1, 10, 37, -79, 82, 30,
    -00363                 -36, -7, 69, -74, 44, -112, 69, -43, -56, -100, -78, -103, -63, -68, 105, -98,
    -00364                 67, -83, -36, -30, 109, 104, 55, -3, 59, -62, -22, 94, 114, -89, 110, 74, 106,
    -00365                 68, 119, -2, 75, -56, -28, -103, -39, 125, 53, -80, -27, -59, 118, -80, -41,
    -00366                 100, 53, -19, -95, 45, -96, -120, 46, -82, 114, -82, 79, -41, -109, -98, 76,
    -00367                 -22, 73, -106, 103, -128, -52, 35, 67, 39, 45, -24, 43, -66, -48, 5, -126, -70,
    -00368                 -25, -115, 15, -44, 99, -1, 61, 62, 123, 19, 86, -84, -66, -38, -87, 98, 117,
    -00369                 -20, 91, -53, -59, -92, 116, 63, 62, -122, 24, 6, 61, -93, -56, 125, -94, 88,
    -00370                 -42, -71, 94, 78, 20, 17, -60, 56, 108, 71, 33, -119, -76, -68, 126, -76, -20,
    -00371                 -60, 10, -15, -127, 42, 5, -41, -46, 89, -94, -69, 82, -98, -104, -88, 106, -43,
    -00372                 -66, 61, -125, -126, 0, -50, -33, 73, -62, 10, -99, 66, 85, -108, 105, -88, -79,
    -00373                 13, 25, 73, 84, -112, 14, 14, -29, -34, 17, 23, -90, 49, -52, 68, 60, -42, 48,
    -00374                 83, -3, -119, -122, -60, -69, 32, -84, 13, -52, -74, -60, 57, -2, 103, -126,
    -00375                 -91, -57, -100, 49, 107, 22, 127, -54, 18, -50, -62, -30, 10, 109, 112, 1, -77,
    -00376                 -49, -18, 65, -115, 87, 14, 85, 81, -48, 1, 126, 104, -7, -24, -77, -122, -54,
    -00377                 84, 2, 123, 99, -91, -12, -68, 115, 14, -90, 11, -125, 34, 29, -21, -121, 86,
    -00378                 35, 2, -31, 53, 35, 38, -97, 94, -48, -28, -95, 112, 6, 114, 29, -112, -110,
    -00379                 -65, 52, 27, 105, -93, -54, -53, 74, -85, -10, -108, 59, 74, -17, -118, -63, 63,
    -00380                 -96, -46, 56, 26, 89, 9, 113, 85, 117, 58, -18, 127, 46, 9, -99, -88, -18, -31,
    -00381                 37, -100, 77, 39, 30, 51, -13, -55, -37, -98, 99, 113, 118, -55, 26, 9, 9, 39,
    -00382                 89, -69, -19, -23, -47, -1, 75, 64, 30, -103, 91, -85, 50, -56, -50, -90, 34,
    -00383                 -46, 125, 117, -69, -14, 102, 113, -73, 2, 34, -21, -104, 96, 112, -10, -77, 92,
    -00384                 63, -35, -16, -9, 20, -113, -66, 98, -81, -50, 79, -37, 119, 2, -121, -59, 99,
    -00385                 28, -100, 30, -77, -4, -91, -90, -70, -95, -5, -35, 26, -118, -12, 112, 3, 108,
    -00386                 -23, -5, -57, -128, 31, 125, 82, -30, 10, 35, -95, -14, 102, -39, -50, 31, 114,
    -00387                 -108, 14, 11, 30, 1, -48, 33, -2, 38, -118, 20, -73, -85, -128, 82, 12, -82,
    -00388                 -74, 105, -83, -7, 127, 36, -12, 52, -37, 83, 86, -64, 92, 92, 13, 36, 54, -9,
    -00389                 68, -100, 101, -40, -13, 64, -57, 13, 104, 106, -102, -25, 18, -55, -2, -96,
    -00390                 -79, 80, -27, -80, -8, -65, -55, 25, -78, -14, -102, -56, 50, 123, 113, -73,
    -00391                 -24, 32, -51, -72, -31, 89, -84, 82, 101, -99, -20, -18, 29, -17, -89, 74, 103,
    -00392                 -52, -123, -18, 107, -66, 80, 56, 113, -52, -69, -85, -86, 103, -101, 51, 109,
    -00393                 23, -105, 46, 13, -42, -51, -33, 106, 44, 20, -123, 32, 122, 24, 33, 88, -104,
    -00394                 -68, 82, 39, 31, -117, -41, -107, -116, -121, -113, 23, 28, -55, -85, 89, 22,
    -00395                 40, -42, 72, 16, 23, -16, -81, -57, -32, 104, 104, 47, 101, -117, 109, -42, 124,
    -00396                 48, -46, -115, -72, -58, 29, 50, 113, -67, -113, -114, -105, -117, 17, -66, 88,
    -00397                 -77, -24, -113, -98, -1, -78, 78, 40, -2, 58, -22, 29, 71, 117, 63, -96, 72,
    -00398                 -56, -111, -70, 17, -86, -16, 10, 34, -113, -50, -97, 31, 27, -43, 89, -59, 62,
    -00399                 -57, 4, 98, -104, 17, 106, 25, -76, -50, 108, -6, -82, 10, 82, 40, 27, -122,
    -00400                 -47, -5, 21, -100, 14, 125, 1, 78, 102, -55, 117, 51, 29, -10, -12, 29, -85,
    -00401                 -112, 102, 65, -97, -117, 74, -88, -86, -75, 70, 115, -64, -42, 117, -105, 15,
    -00402                 -23, -115, 4, -25, 29, -93, -125, -96, 94, 99, -64, 86, 37, 3, 110, 63, -16, 45,
    -00403                 76, 74, -98, -89, 124, -28, 100, 32, -27, 2, 34, 114, 58, 66, -31, -40, -118,
    -00404                 -10, 13, 19, 62, -74, -50, -89, -70, 104, 0, -122, 97, 37, -93, -48, -94, -39,
    -00405                 -98, -42, -39, -15, -53, -113, -74, 91, -103, -54, -103, 30, -113, 118, 43, -18,
    -00406                 58, 66, 62, -4, 3, -108, 58, -21, 54, 95, 30, 26, 57, 120, 41, -63, -99, 24,
    -00407                 -112, -51, -57, -53, 96, 93, 69, 11, 31, -70, 68, 7, 10, -16, 14, -30, -123,
    -00408                 -93, -12, 81, -17, 83, 25, -6, 110, 99, -7, 1, -17, -10, 33, -33, -76, -128,
    -00409                 -78, -98, -41, 17, 115, -123, 91, 33, -94, 39, -81, -118, -115, -67, 47, -53,
    -00410                 -56, -116, -7, -97, -124, -123, 49, -29, -104, 97, 109, 117, 30, 60, -73, 64,
    -00411                 96, 83, -93, 127, -110, -100, -91, 111, 65, -5, 32, 70, -1, -83, -25, -31, 118,
    -00412                 6, 18, -4, 113, -77, 115, 82, 65, -14, 127, 40, 53, 67, -107, -45, 28, 127, 30,
    -00413                 -98, 93, -53, -73, -20, -106, 15, 23, 88, -18, 3, -33, 61, 70, 15, 109, 66, -86,
    -00414                 -18, 71, -30, 67, 93, -95, -78, -107, -118, 62, 120, 50, 20, -73, 69, 61, -63,
    -00415                 21, -123, 46, 28, 65, -115, 66, 66, 44, -66, 67, 109, 62, -127, 62, -27, 120,
    -00416                 -106, 64, -54, 61, -85, -94, 41, 20, -35, 29, 9, -24, -16, 103, -74, 67, -83,
    -00417                 -49, 71, -103, 60, 98, 121, -92, 7, -32, 12, 95, -15, 86, -32, -88, -27, -107,
    -00418                 -5, 47, -126, -65, 46, 21, 72, 110, -41, -49, 63, -52, 0, 45, 44, 26, -86, 90,
    -00419                 -1, -47, 107, -82, 23, -30, -82, -44, -37, 111, 93, -108, 7, -109, -110, 106,
    -00420                 -55, -38, 113, -68, -103, -81, -120, -121, -67, -85, -85, -102, 27, 36, 88, 53,
    -00421                 -73, 61, 3, 99, -42, 36, 25, 95, -5, -110, -47, 84, -118, -125, -111, 43, 59,
    -00422                 37, -51, 53, 42, 71, 35, 9, -114, -86, -59, 90, 18, 90, 41, 62, -121, 44, 76,
    -00423                 86, 119, 102, -117, 120, 12, 35, 124, 37, 5, -67, -30, 125, -64, -38, 116, -52,
    -00424                 10, 35, -63, 94, 4, 126, 106, -86, -86, -125, 92, 79, -6, -128, 81, -111, -90,
    -00425                 -120, -121, -126, 89, -73, -29, -37, -120, 75, 124, 70, 96, -74, -113, -63, 32,
    -00426                 79, -53, -63, 112, -54, 11, -121, 88, 116, 17, 60, 52, 108, 1, 19, 103, -58,
    -00427                 -29, -30, 52, 53, 30, -38, 12, 8, 20, 13, -124, 22, -41, 118, -95, 48, 38, -43,
    -00428                 -44, 82, 76, -33, 71, -104, 20, -120, -17, -82, -47, -36, 93, 78, 9, 66, 2, 126,
    -00429                 -16, 76, -94, 51, -18, 28, 48, -118, 2, 58, 103, 59, -115, 55, 123, 32, 67, 70,
    -00430                 6, 21, -47, -84, 29, -23, -119, 81, 127, 63, 28, 45, -66, 102, -112, 7, 118,
    -00431                 118, 18, -54, -15, -15, -109, -68, -85, 108, 79, 82, 16, -32, -47, 123, -125, 6,
    -00432                 -15, -102, -89, 113, 120, 126, 119, -28, -44, 51, -25, -96, 23, 42, 122, -32, 9,
    -00433                 127, -99, -19, -14, -38, 71, 7, 66, -32, -59, -124, -121, 46, 125, 44, -103,
    -00434                 -109, 83, 121, -65, 39, -9, -78, 34, -10, -46, 53, -117, 5, 13, -17, -93, 44,
    -00435                 77, -75, -7, 5, 20, 53, 71, -81, 102, -99, -94, 68, -20, 27, 101, -19, 92, 89,
    -00436                 -17, 4, -124, -115, 21, -60, 36, 127, 62, -56, -93, -65, 41, -105, -76, -36,
    -00437                 -91, -66, 112, 75, 94, -94, 106, -79, 50, -118, 28, 82, -32, -23, -45, 86, -86,
    -00438                 34, -72, -91, 64, 85, -47, -93, 80, 1, 110, 6, 117, -34, -49, 118, 34, 123, 82,
    -00439                 83, -34, -19, 109, 66, 50, -70, -90, 89, -103, -84, 55, -77, 27, -65, -111,
    -00440                 -104, -10, -73, 72, 3, -50, 97, -90, 34, -4, 96, 8, -18, -36, -112, -119, 116,
    -00441                 -54, -52, 66, -67, -120, 7, -57, 92, -40, -70, 77, 43, -125, 100, -123, 116,
    -00442                 -108, -112, 105, 76, -108, 19, -125, 83, 12, 19, -33, 39, 31, -39, -36, 38,
    -00443                 -111, 118, 42, -31, -98, -87, 40, 22, 8, 23, 25, -43, -33, 115, -125, -94, 120,
    -00444                 108, -71, -88, -97, -12, 117, 14, 80, -70, 88, -99, 53, 14, 104, -58, 73, -60,
    -00445                 102, 56, 6, 111, -16, -62, -104, 109, 62, -116, -28, 120, 27, -124, -117, 66,
    -00446                 74, -9, 75, -88, -76, 54, 84, 44, 53, 19, 20, 125, -87, 80, -128, -125, 126,
    -00447                 -119, 69, -126, -99, 15, -111, 126, 63, -95, -14, 44, -78, 76, -74, 55, 75, 39,
    -00448                 77, -88, 37, 65, -32, 80, -114, -29, 18, -57, 9, 13, -93, 36, -21, -5, -59, -29,
    -00449                 -52, 72, 94, 101, -36, 32, -80, -65, -112, 57, -60, 107, 5, 76, -118, 46, 103,
    -00450                 -102, 106, -113, 23, -19, 121, -34, 46, 108, 56, -65, -50, 56, -85, -86, -6,
    -00451                 -34, -30, -11, -101, 8, 113, 112, -122, -92, 17, 116, -86, -103, -90, 82, 81,
    -00452                 -2, -1, -124, -120, -2, -105, 46, -111, -29, -106, 61, -99, 63, -80, -36, 86,
    -00453                 -42, 80, -34, -120, 23, 82, 6, 16, 95, 102, -95, 42, -41, 34, -34, -79, 26, -96,
    -00454                 55, 39, 65, 54, 82, -71, -87, 58, 112, 100, 119, -85, -88, -19, 29, 17, -29, 34,
    -00455                 -58, 15, 19, -108, -5, 93, -109, -116, 96, 36, -104, 26, 75, -57, -31, 35, 24,
    -00456                 -116, 101, -95, 78, 48, 80, -67, -105, 34, -60, -104, -37, 105, -99, -110, -12,
    -00457                 86, -108, -112, -61, -68, -93, -52, -40, 32, -76, -82, 15, 38, 64, -54, 122,
    -00458                 -21, 82, -54, -92, 39, 45, 91, 101, 100, 86, 101, 44, -120, -70, 49, 20, 20, 34,
    -00459                 -110, -124, 18, -5, 39, 111, 60, 80, -122, 10, -106, -74, -77, -93, -53, 41, 33,
    -00460                 -74, -42, -23, -31, -108, -127, -30, -34, -59, 80, -50, 87, -96, -86, 29, 12,
    -00461                 102, 49, -57, -54, -102, -11, 121, -26, 51, -95, -107, 80, -88, 89, 51, -102,
    -00462                 76, 10, 45, 24, 101, 24, 106, 59, 24, 1, 80, 104, 119, -41, 35, 3, 89, 71, -51,
    -00463                 72, 107, 33, 91, -60, 124, 103, 19, 40, -105, -94, -11, 80, 73, -114, 43, -91,
    -00464                 -98, 56, 90, 116, -26, -47, -55, 18, -53, 12, -29, 105, -41, -1, -3, 110, 18,
    -00465                 28, -74, 40, 41, -14, 45, 25, -25, -122, -17, -102, 18, -101, -80, -5, -40, -39,
    -00466                 -18, 118, 103, 101, -116, 110, 68, -23, -33, -116, 117, 118, -88, 48, 40, 18,
    -00467                 11, 111, -12, 46, -89, -50, 10, 58, 81, -95, 5, 2, 72, -107, 0, -30, 77, -63,
    -00468                 -109, -68, -108, -74, -61, 124, 1, 124, 39, -103, 103, -50, 25, -5, 74, 12,
    -00469                 -119, 2, 38, 115, 58, -24, -80, -37, -118, -97, -10, 84, -35, 23, 0, -28, -36,
    -00470                 -97, -95, -97, 112, -65, 2, -7, -70, -1, -59, -90, 59, 31, 95, 40, 100, 65, 38,
    -00471                 -12, -63, -11, 67, 124, -123, -113, -26, 70, -95, 69, 112, -48, -69, -94, 65,
    -00472                 -110, -71, 104, 29, -21, -34, 65, 36, 87, -63, 59, -35, 82, -57, 59, -36, 17,
    -00473                 35, 13, 96, 97, 28, 99, -32, -80, 30, -111, 21, -127, 24, -65, 19, -60, -107,
    -00474                 11, -46, 41, -116, 101, -101, 23, 21, 92, -70, -43, -85, 32, 20, 11, 54, 20, 45,
    -00475                 37, 74, -73, -83, 114, -59, -93, 26, -76, 28, -76, -59, -74, 69, 28, 49, 19, 5,
    -00476                 -53, -57, -4, 7, 67, -117, -55, 52, 100, 47, 0, -97, -49, 35, 40, 59, -102, 53,
    -00477                 -11, 18, -82, -89, -89, -20, -109, 18, -74, -16, 21, 68, 102, 39, 36, 68, -89,
    -00478                 -75, 32, -50, 33, -4, -45, 33, 23, -103, -2, 63, 109, -111, 77, 20, 56, 21, 15,
    -00479                 -78, -99, 69, 88, -96, -9, -116, 28, -61, -86, 55, 119, 22, 106, -59, -125, -99,
    -00480                 -117, -43, -7, -16, -71, -47, -9, -58, -23, -115, 77, 81, -85, -69, -34, 69,
    -00481                 106, -114, -23, -82, 47, -90, 50, -76, -63, -101, 4, 33, 84, -81, 76, -110, 76,
    -00482                 25, -44, -66, 121, 101, 16, 53, 27, -90, -31, -37, 40, -36, -67, -115, -86, -12,
    -00483                 -21, -124, -53, 96, -9, 41, -27, 36, -31, -95, -53, 78, -61, 84, 79, -73, -63,
    -00484                 -101, -17, -110, 55, -124, 8, 70, -32, 32, -18, 109, 44, -17, -121, -29, -112,
    -00485                 97, 13, 13, -13, -102, -70, -77, -62, -104, 2, 44, -109, 46, -94, -21, 2, -33,
    -00486                 77, 21, -87, 64, -57, -47, -33, -53, 42, 34, -3, 42, -14, 100, 7, -77, 103, -95,
    -00487                 28, 55, -77, -44, -106, 20, 81, 45, -14, -127, 46, 102, -56, 41, -35, 61, 91,
    -00488                 121, -65, -75, -98, -114, 27, 103, -80, -1, -7, -100, -44, -64, -89, -38, 114,
    -00489                 105, -33, 113, 55, 26, 31, 98, 55, -20, -81, 114, -110, 72, 37, -33, -50, -91,
    -00490                 -111, -107, -48, -39, 52, 57, 118, 111, 43, 68, -6, 67, 122, -5, 40, -103, -100,
    -00491                 86, -58, 51, 54, -120, 14, -70, -66, 35, 52, -73, -5, -69, 5, -7, -80, 86, 43,
    -00492                 -31, -59, -72, -29, 2, -117, -119, -33, 102, 50, 77, 50, -12, -79, -84, 72, -63,
    -00493                 53, -125, -26, 98, 117, -45, -102, -66, -73, -72, 61, 58, 51, 81, 52, -94, -102,
    -00494                 -50, 20, -41, 108, -18, -39, 44, -83, 75, -20, 3, -87, -24, 94, 52, 111, -19,
    -00495                 19, -79, -114, -63, 1, 106, -81, 111, -69, -51, -97, -33, -105, -111, -21, 72,
    -00496                 -59, 62, 89, 55, 111, -40, -116, -46, 101, -30, -28, 59, 45, 33, 11, 30, 35, -7,
    -00497                 122, 25, 53, 20, 72, 44, 51, -46, -15, 111, 10, -74, -37, -39, 83, 52, -46, 94,
    -00498                 23, 121, -116, -25, 98, 46, -31, 12, 78, 86, -27, -54, 78, -25, 2, -57, -57,
    -00499                 122, -80, 126, 119, 76, -17, -125, 55, 6, 44, 1, -101, 78, 87, -53, 17, 36, 84,
    -00500                 5, 91, 40, -38, 65, 7, -56, -99, -36, 119, 27, -99, -31, -69, 26, -85, -123,
    -00501         };
    -00502 
    -00503 #endif /* WHITENOISE8192_H_ */
    -
    - - - - +
    1 #ifndef WHITENOISE8192_H_
    +
    2 #define WHITENOISE8192_H_
    +
    3 
    +
    4 #if ARDUINO >= 100
    +
    5  #include "Arduino.h"
    +
    6 #else
    +
    7  #include "WProgram.h"
    +
    8 #endif
    +
    9 #include <avr/pgmspace.h>
    +
    10 
    +
    11 #define WHITENOISE8192_NUM_CELLS 8192
    +
    12 #define WHITENOISE8192_SAMPLERATE 8192
    +
    13 
    +
    18 const char __attribute__((progmem)) WHITENOISE8192_DATA [] =
    +
    19  {
    +
    20  22, -14, 108, 2, -80, -99, 62, -62,
    +
    21  -11, -127, -102, -80, -114, -66, -2, 68, -63, -101, 0, -13, 37, 55, 104, 61,
    +
    22  125, 101, -54, 60, -91, -102, -127, 17, 26, -23, -97, 80, 43, -77, 117, -71, 66,
    +
    23  -59, 30, -86, 111, 112, 65, -49, 85, -95, 38, 27, -39, 80, 94, 44, 20, 116, 36,
    +
    24  -74, -106, -57, 57, 96, -37, 39, -72, 21, -80, 121, -127, 88, -84, 54, 120, -6,
    +
    25  -94, 41, -41, -22, 39, 113, 84, 85, -31, -49, 79, -13, -43, -25, 7, -27, -2,
    +
    26  -91, 85, 102, 82, 37, -28, 115, -82, -79, -33, -38, 80, 47, 68, 32, 36, -29, 30,
    +
    27  47, -36, -90, -2, -37, 46, -35, -49, -64, 81, 35, -87, 121, 121, -110, -44, -33,
    +
    28  9, 83, 70, 48, 10, 43, 85, 40, 48, 88, 122, -83, -22, -38, 78, 113, -91, 110,
    +
    29  -1, 114, 72, 2, 49, -92, 80, -30, 124, -15, 125, -116, 87, -76, 115, 84, -112,
    +
    30  107, -101, 109, -66, 27, -99, 59, -56, 91, 89, -18, -113, -57, 27, -110, -107,
    +
    31  -87, -14, -31, -54, -10, 1, 90, 91, 28, -9, -122, 31, -32, -128, 98, 25, 110,
    +
    32  -41, -97, 19, 17, 42, 5, 68, 123, 66, 22, -77, -43, -125, 86, 92, -4, -15, 33,
    +
    33  -79, -38, -128, 113, -102, -64, 94, -12, 14, 118, 106, -105, -86, -76, 27, -77,
    +
    34  -16, 46, -100, 22, 118, -31, -2, 36, 74, 85, 63, -81, 93, 114, 37, -29, -92,
    +
    35  104, 115, -89, 127, 81, -74, 8, -94, -29, -120, -50, -124, 53, 10, -1, 18, 121,
    +
    36  87, -72, 26, -49, -62, 43, 65, -57, 21, -61, 10, -88, -111, 54, 42, -5, 5, 50,
    +
    37  -72, 59, 116, 80, -4, -110, -103, -64, -71, 79, 124, -61, -58, 1, -113, 16, -75,
    +
    38  -125, 114, -97, -53, -30, -127, 101, -83, 70, -77, -42, 51, -15, -17, -123, 44,
    +
    39  19, 53, 40, 22, -95, -10, -84, -12, -102, 9, 44, 124, 82, -74, -112, 36, 5, 65,
    +
    40  9, 63, 73, 103, -15, 33, 90, -53, 60, 104, -72, 80, -23, 84, -75, 98, -63, 82,
    +
    41  61, 100, -28, -96, 68, -103, -124, -57, -1, 59, 6, -44, 34, -114, -83, 50, 103,
    +
    42  -120, -106, -75, -11, 92, -123, 115, -36, 116, -63, 1, -16, -13, -73, 33, 127,
    +
    43  -7, -10, 26, -20, 97, -72, 19, 77, 21, 28, 12, -17, -25, 33, 118, -69, -33, -36,
    +
    44  -46, 34, 96, 111, -14, -74, -51, -80, 2, -42, -71, -28, 74, 8, 111, -13, 33, 81,
    +
    45  68, -71, -88, 60, 36, 17, 123, 103, 46, 0, -63, -128, -44, 66, -92, 63, -102,
    +
    46  76, -25, -53, 67, -16, 4, -52, -70, -77, 74, 71, -51, -78, -36, -69, 35, -65,
    +
    47  26, 22, 7, 85, 36, -39, 17, 64, -47, -115, -58, 124, 92, 29, -103, -78, 64, 85,
    +
    48  49, 30, 57, -66, 65, -90, -78, -124, 38, 90, 11, -85, 73, -23, -42, -95, -71,
    +
    49  79, 106, 38, -7, -107, -19, 1, 91, 119, 103, -47, 124, -40, -96, -103, 88, -53,
    +
    50  18, -60, -77, -14, 54, -70, -82, -8, -49, 111, -76, -52, 105, 117, -11, -50,
    +
    51  -26, 111, -37, 48, 42, -71, 5, 3, -81, -51, -35, -24, -98, 83, -59, -38, -29,
    +
    52  18, 102, -126, -34, -60, 98, 0, 124, -113, 101, 55, -6, 69, -106, -96, 39, 49,
    +
    53  35, -4, 7, 27, -78, 89, 44, -47, 68, -23, -126, -36, 92, -12, -74, 117, -28, 30,
    +
    54  118, 52, -31, -126, 9, -2, -115, 6, 121, 106, -112, -37, 92, -85, -44, 102, 112,
    +
    55  47, 43, -57, -61, -19, -81, 112, 72, 19, 113, -72, 44, -53, -21, 94, 44, 0, 44,
    +
    56  -2, -121, 77, 89, -92, 98, 117, 100, -24, 33, 47, 20, -93, -103, -29, 29, -21,
    +
    57  18, 102, -27, -25, -93, 79, -18, 29, 53, 50, 26, -21, 104, 25, 73, -69, -70,
    +
    58  -31, 9, 53, -81, 27, 63, -61, -40, 49, 123, -31, 34, 32, -33, -117, -55, -47,
    +
    59  -17, 106, -34, -97, 117, 14, -124, -7, -97, -61, 121, -124, -48, 118, 12, -70,
    +
    60  52, -75, -68, -15, -6, 53, 121, -33, 122, -21, 23, 19, 86, -30, 101, -125, -81,
    +
    61  -27, -106, 17, 29, -101, -80, -92, -91, -66, 118, -44, 36, -127, 66, 71, -100,
    +
    62  119, 60, -111, -50, -74, -41, 97, 13, 55, -49, 9, 11, 8, 41, 27, 110, 127, 87,
    +
    63  56, 29, -34, 26, -48, 99, -125, 113, -99, -100, -73, -72, -4, -116, -93, 58,
    +
    64  -60, 20, 89, 82, 54, -35, -13, -13, 65, -92, -123, 106, -115, -20, -68, -123,
    +
    65  -46, 69, -110, -19, -82, 59, 54, -2, 4, 61, -96, 84, -106, -37, 72, 53, -92,
    +
    66  108, -80, -126, -85, 97, 21, 39, -26, -121, 101, 18, -67, -103, -9, 37, 45, -71,
    +
    67  58, 56, 41, 70, 76, -110, 51, 114, 40, -96, -35, 81, -12, -28, -15, -112, -114,
    +
    68  100, -82, 105, 80, 55, -36, 0, -30, 47, -46, -38, -22, 93, -4, -73, 114, 79, 16,
    +
    69  -40, 5, -116, 50, 24, -17, 94, 70, 53, -76, 70, 126, 15, -69, -118, 117, 75,
    +
    70  -122, 64, -17, 6, -83, -109, -87, 67, 106, 29, -30, 19, -20, 38, -123, 31, 84,
    +
    71  78, -3, -60, -87, -117, -110, -28, 14, -13, 120, -109, 19, 9, 88, 29, 26, -127,
    +
    72  -115, -33, -9, 93, 59, 38, 57, 80, 4, -63, -86, -127, -30, 16, -33, -9, -21, 81,
    +
    73  -102, -111, -127, -5, 95, 34, -46, 82, -102, 75, -95, 17, 10, 52, -106, -48, 39,
    +
    74  -114, -28, 126, -34, -62, 70, -47, 20, -110, 34, 46, -75, -115, 0, 45, -112,
    +
    75  -75, -72, -126, -73, 4, 79, 18, 70, -110, 45, 2, 40, 45, 11, 43, 13, -85, -58,
    +
    76  -18, 100, 111, 18, 10, -54, 94, 124, -36, -54, 23, -67, 113, 93, 101, -80, -115,
    +
    77  69, 124, 32, -108, 106, -12, -20, 26, 48, 123, -121, 59, 50, -67, 28, -62, 109,
    +
    78  -41, -117, 19, -113, 126, -51, 35, -102, -88, -36, -60, -74, 113, -49, -112,
    +
    79  -22, -22, -48, 7, 77, -53, -64, -86, -114, -91, -8, 3, -119, -79, 72, 120, -14,
    +
    80  15, -115, 80, 95, -39, 97, 100, 109, 77, -32, -22, 77, 124, 58, -106, 110, -93,
    +
    81  -39, 97, -70, 55, 38, 112, 108, 1, 19, -26, -127, 97, -69, -109, -58, -98, 53,
    +
    82  80, -36, 90, 94, 79, -13, 119, -126, 69, 15, -54, -104, 43, 8, 69, 92, -20, 23,
    +
    83  32, 49, -116, 53, 102, 96, 75, -15, -71, -92, -28, 94, -15, -52, -92, 73, 2,
    +
    84  -56, 93, 39, 103, -121, -90, -11, -110, 37, 40, -6, -52, 7, 79, -64, 100, 49,
    +
    85  -35, 74, -106, -93, 104, 55, -5, -72, 28, -109, -95, -32, 86, 15, 58, -13, 68,
    +
    86  -33, 106, 47, -97, 127, -73, 77, -47, 75, 106, -69, 48, -14, -78, 67, -107, 47,
    +
    87  -95, -75, -67, -110, -67, -121, -101, 104, -81, 33, -36, 95, -56, 104, 67, 25,
    +
    88  -53, -34, 92, 104, -10, 84, 26, 45, -31, 42, -32, 2, 49, 108, -82, 105, -56,
    +
    89  -80, -56, 101, -49, 80, 86, -96, -27, -103, 86, 77, -90, 73, 85, 40, 62, -100,
    +
    90  -95, 74, -81, 79, 10, -47, 77, 55, 35, 121, 46, -40, -36, 112, 49, -10, -104,
    +
    91  -13, 22, 38, 69, 37, -98, -59, -88, -37, 82, 109, -97, 69, -102, 114, -76, 23,
    +
    92  -34, -59, 11, -21, 10, -20, 127, -33, 26, 30, 115, -62, 93, 112, 59, -13, -118,
    +
    93  -101, 104, 5, 75, 70, 65, 11, 115, -120, -40, 60, -61, -17, -67, 30, 61, -45,
    +
    94  48, 96, -62, -125, -125, 77, -63, -15, -38, 81, 78, -28, 117, -16, -79, -54, 99,
    +
    95  7, -74, -9, 5, 51, -49, -119, 114, -106, -58, 27, 110, 105, 35, -33, 9, -108,
    +
    96  63, 22, -52, 89, -112, -125, 66, -66, -25, 66, 55, -126, 36, -63, 21, -69, -128,
    +
    97  -37, -93, 16, -53, 115, -5, 58, -86, 87, -93, 45, 55, 102, 2, 73, 78, 115, -94,
    +
    98  -76, 121, -40, 27, 55, 101, 5, -3, 110, 12, 87, 65, -18, -112, -87, 73, -57, 54,
    +
    99  94, 125, -73, -127, 97, -48, 8, -21, -98, 31, 50, -112, 90, -46, -127, 110, -9,
    +
    100  106, -104, -123, -72, 118, -44, 21, 14, 15, 126, -117, 45, -93, -27, -1, 127, 0,
    +
    101  -111, -24, -32, 101, -41, -72, 121, -86, -47, -111, 89, -42, 11, 17, -69, -40,
    +
    102  1, 14, 113, -30, 111, -117, -124, 98, -93, 94, -119, 96, -5, 102, 95, -102, -8,
    +
    103  44, 85, 119, 41, 98, 111, -8, 19, -80, -35, 10, 100, -84, -12, -128, -109, 3,
    +
    104  -123, 44, 36, 67, -101, 59, -81, 126, -103, 83, 120, -128, 61, 44, 6, 23, 17,
    +
    105  -119, -100, 105, -79, -6, -36, 76, -70, 78, -45, -20, 10, 109, -18, 47, -100,
    +
    106  75, -55, -62, -121, 108, 50, -41, 48, -84, 0, 70, 126, 1, -71, -94, 88, 31, 33,
    +
    107  -33, 12, -58, 86, 18, 26, 124, -98, 34, -18, -96, -99, 41, -21, 73, -80, -34,
    +
    108  -109, -124, -102, -34, -39, 122, 56, 98, 71, 124, 14, -72, 15, -78, 19, 123,
    +
    109  -59, 28, -90, -90, 21, 38, -114, -119, -106, 126, 11, -34, -61, 78, 102, 36, 67,
    +
    110  99, 66, -114, 68, 62, -128, 32, -102, -43, 7, -4, 96, 17, 21, -21, 28, 20, -74,
    +
    111  -98, -72, 45, -70, 31, 78, 46, -99, -13, -38, -48, 32, -123, -75, -93, -12, 66,
    +
    112  -1, -51, -80, -102, -88, -60, -86, -97, -80, -72, -116, 84, -32, -58, 67, 97,
    +
    113  -55, 19, 78, -85, 83, -4, -2, 81, -54, -38, -53, 76, 93, -104, 67, -98, 38, -78,
    +
    114  -6, 98, -19, 53, -30, 43, -32, 24, 94, 91, 66, -19, -123, -10, 113, 1, 89, -56,
    +
    115  -60, 27, 16, 7, -21, -128, -70, -64, -5, 27, 29, 39, 17, -33, 100, -41, 98, 80,
    +
    116  114, 28, -95, 94, -60, 122, 15, 124, -15, 73, -93, 58, -58, -29, -50, 34, -52,
    +
    117  104, 122, 46, -123, -97, 36, -11, 4, 3, 57, -76, -3, 35, -38, -74, 38, 116, -31,
    +
    118  -49, -97, -84, -28, -110, 50, -94, -106, 104, 6, -66, -37, -84, -88, -50, -92,
    +
    119  88, 113, 36, 99, 48, -6, 96, -101, -43, -47, -120, 83, 68, 34, -46, 91, -101,
    +
    120  -76, 28, 93, -34, -35, 57, -118, -91, -82, 21, -79, 55, -93, -67, 106, 122, 22,
    +
    121  -37, -37, 36, 110, -67, 99, -102, 75, 112, -103, -1, -68, -93, 43, 22, -116,
    +
    122  116, 65, 96, 45, -28, 46, -117, -93, -75, -113, 121, -14, 24, 9, -109, -36,
    +
    123  -121, -72, 8, -94, 29, -60, -108, 76, -32, 34, 79, -123, 65, -104, 122, 119,
    +
    124  117, 75, -54, 102, 108, 4, -75, -36, 4, -55, 115, -71, -118, 96, -34, 100, -5,
    +
    125  -43, -120, 61, -64, 42, -70, 82, 84, -67, 35, -100, 112, -16, -107, 118, -5, 58,
    +
    126  -52, 121, 71, 124, 93, 84, -26, 122, -73, 11, -92, 60, 45, -54, 113, 48, 126,
    +
    127  -29, 2, -125, 19, 33, -121, 27, -128, -85, -44, -111, -37, -113, -2, -68, -8,
    +
    128  -84, 8, 86, -75, 28, 17, 28, 109, 108, -113, 49, -5, -40, 97, 78, -18, -89, -88,
    +
    129  34, -106, 109, 17, 10, -112, -100, 84, 0, 24, 9, 126, 122, 55, 0, -28, 102,
    +
    130  -115, 108, 29, 84, -21, -18, -46, -78, -1, 110, -125, 65, 125, -106, -64, -89,
    +
    131  -90, -15, 9, -34, -90, -16, -59, 29, -128, 1, -8, 48, -79, 58, 119, 21, 56,
    +
    132  -126, -39, 72, 56, -81, 51, -98, 36, 2, -10, -9, -120, -110, -105, -9, 3, 62,
    +
    133  35, -71, -102, 74, 39, 120, 21, 37, 88, -44, -66, -59, 120, -67, 8, 108, 26, 82,
    +
    134  -121, -18, 118, 38, -61, 28, -44, -80, 104, 114, 117, 117, -4, 22, -89, 83, -4,
    +
    135  -4, 31, 60, -78, 37, 40, 75, 74, 48, 56, -76, 24, 99, -35, 111, 111, -66, -20,
    +
    136  15, 82, 92, 114, -31, 40, -42, 56, 9, -64, -91, 67, 16, -34, 93, -94, 29, 7,
    +
    137  -30, -24, -113, 85, -1, 21, 34, 78, 55, 114, -49, -90, -34, -113, 104, 8, 89, 7,
    +
    138  -38, -74, 119, 115, 78, 58, -69, 0, -123, 18, -5, 55, -36, -89, -115, 74, -94,
    +
    139  97, -22, -79, -69, -106, -87, 83, 94, 54, -82, 47, 73, -52, -58, 59, 97, -58,
    +
    140  -31, -49, -4, -48, -125, -42, 112, -70, -4, 59, -98, 99, -39, 51, -26, 61, -56,
    +
    141  -123, 7, 11, 23, -96, 83, 88, 24, -68, -42, -30, 59, 97, 112, 34, -34, 57, -12,
    +
    142  9, -70, 124, 81, -12, 73, 114, -109, -53, 94, 97, 23, -121, 65, 6, 62, -92,
    +
    143  -111, -16, -121, -16, -86, -19, 56, 109, -10, -90, -19, 79, 99, -21, 123, -12,
    +
    144  -79, -97, -61, -11, 82, 48, -88, 26, -42, 42, -77, -73, 1, -8, 25, -70, 8, 92,
    +
    145  121, 10, 77, -72, 43, -31, -11, -27, 103, 113, 63, 28, -110, 111, 124, 1, 66,
    +
    146  -17, -87, -110, 88, 12, 124, -63, 99, -80, 92, 26, 68, 111, -103, 78, 37, -102,
    +
    147  118, -3, -120, -67, -63, -28, 6, 56, 12, -75, -86, 78, -6, -42, 45, 26, -40,
    +
    148  -66, -93, -49, -126, 86, -34, -6, 24, 6, -84, -111, 20, 96, 6, -91, -16, 110,
    +
    149  35, -128, 39, 90, 58, -108, 28, 66, -8, 28, -82, -57, 45, 72, 35, -60, -107, 84,
    +
    150  -56, -84, -115, 25, -59, 32, 24, -78, 33, 67, -86, -56, -65, 83, 52, -103, 34,
    +
    151  -2, 92, -56, 95, -115, 105, 42, -25, -10, 104, 15, 115, 88, -17, -42, 15, -29,
    +
    152  113, 102, 112, 81, 28, -60, 33, 21, 113, 26, -7, 89, -69, 63, 1, -104, 81, -61,
    +
    153  -57, -1, -43, -45, -117, -16, -113, -85, 15, -100, 7, 37, 108, -126, 83, -21,
    +
    154  77, -21, 82, 7, -80, 39, -80, -82, -128, 34, 106, 125, 109, -62, -122, -82, 10,
    +
    155  122, -121, -102, 76, 82, 107, -106, -20, 112, -124, -87, 12, 108, -46, 89, 24,
    +
    156  -22, 10, 79, 94, 38, 19, -12, -126, -43, 4, 15, -7, -39, 2, -57, 92, -126, 61,
    +
    157  95, 3, 125, -61, -68, -105, -48, 110, -103, 42, -31, 34, 90, 83, 3, 82, -10,
    +
    158  113, -11, -95, -112, 5, -70, 46, -97, 102, -90, 127, 103, -83, 20, 23, 109, 119,
    +
    159  -106, 122, 9, 47, 59, -24, -101, -42, -109, -69, -117, -15, -78, 88, -28, -72,
    +
    160  71, -50, 87, -15, -85, 31, 52, 64, -19, 27, -126, 2, -24, -20, 107, 92, -46, 8,
    +
    161  -97, 96, 1, 67, 103, -25, 76, 13, -36, -53, -22, 123, 74, 40, 63, -4, -101, 58,
    +
    162  54, 31, -121, 123, -55, 124, -83, 50, -110, 74, -91, 22, -6, -96, 31, 38, 36,
    +
    163  107, -71, 80, -121, -56, 111, 88, 82, -71, -49, -110, -56, -103, -23, 38, 103,
    +
    164  -78, 18, -49, 3, 7, 87, -60, 54, 105, 95, -91, -6, -54, 13, 101, -41, 92, 94,
    +
    165  -8, 8, 114, -81, 24, 41, -13, 100, 59, 55, -90, -85, -56, 98, -105, 99, -88, 10,
    +
    166  110, -31, 127, -26, 125, -124, 56, 14, -64, 17, 75, -114, 107, -92, -57, 97,
    +
    167  -89, -107, 64, 69, 95, -122, 99, -118, -96, -127, 1, 2, 80, 86, 70, 60, 58,
    +
    168  -105, -128, 54, -18, 45, 10, 28, 56, -12, 99, -117, -23, -1, -118, 9, -124, -31,
    +
    169  -29, 58, -87, 90, -115, -100, 50, 86, -9, -120, -127, 41, -68, 37, -6, -17, 50,
    +
    170  -56, -21, 37, 0, -34, 78, 31, -61, 13, -80, -70, -74, 121, -114, -80, 61, -16,
    +
    171  -45, -107, -70, -3, -101, -71, -29, -23, 87, 110, 59, -123, -97, 41, -9, 35,
    +
    172  -23, 24, 126, 46, -97, 37, 99, -31, 62, -66, 100, 26, 0, 77, -117, 36, -38, -62,
    +
    173  57, -47, 113, 44, -70, 77, -113, 100, 8, -44, -109, -76, 106, -24, -113, 24, 57,
    +
    174  85, -61, -48, 103, -9, 74, -69, 42, 44, -127, 60, -59, 15, -88, -24, 82, 126,
    +
    175  -41, 115, -79, 7, -97, 119, -21, 3, -80, -114, -1, -22, 70, 28, -35, -73, -107,
    +
    176  108, -77, 80, 19, 114, -22, -40, 41, 117, 8, 107, 9, -30, -114, 46, 22, 109, -2,
    +
    177  -31, -59, 43, -79, -6, 67, 75, 39, -77, -115, -114, -60, -46, 100, -71, 24, -63,
    +
    178  76, -34, -70, 64, 5, -94, -98, 19, 124, 93, 96, -92, 113, -7, -60, 70, -54, 46,
    +
    179  24, 74, -4, 121, -41, 81, -65, -69, 58, 86, 71, -33, -126, -13, 86, -71, -73,
    +
    180  36, 4, 121, 105, 85, -42, -3, 87, 126, 58, 127, -73, -5, 114, -19, -16, -35,
    +
    181  -68, 28, 90, -72, -31, -55, 54, -74, 79, 114, 5, -62, 31, -126, -125, -35, -22,
    +
    182  125, -31, -19, -29, -43, 122, -19, -45, 113, -47, -113, 50, 59, 42, 16, -116,
    +
    183  -48, 11, 118, -126, 81, -81, 63, -86, 59, -1, 61, 100, 127, 88, -62, -64, -126,
    +
    184  27, 73, -14, -120, -29, 123, -47, -16, -30, -81, 77, 78, -70, -37, 70, -75, -74,
    +
    185  10, -36, 23, -90, 46, 17, 24, -45, -90, 101, -34, 117, -10, 115, -14, -16, -88,
    +
    186  -20, 15, 31, 115, 40, 68, -109, 32, -76, 67, -25, -1, -101, 96, -59, -84, 96,
    +
    187  45, -44, 79, -86, 12, 7, -30, 94, -51, -26, 95, 89, -1, -36, -22, -53, 6, 18,
    +
    188  -16, 101, 0, 39, -98, -17, -37, 19, 80, -94, -126, 76, -121, 73, -68, 97, 90,
    +
    189  87, 109, 38, -80, -21, -41, 76, -23, -120, 4, -124, 9, -87, 10, -72, -118, 13,
    +
    190  -9, 115, -56, -82, 63, -55, 51, 67, -49, -71, -34, -123, -7, -79, 16, 36, 8,
    +
    191  -19, -15, 81, 125, -19, -115, -87, 43, -104, 47, -67, -32, -49, -93, 7, 24, -28,
    +
    192  -85, 94, 46, 27, 122, 49, -13, -90, -93, 70, -61, -92, -4, 51, -75, 115, 119,
    +
    193  119, 79, -50, 111, -30, 6, 53, 97, 17, 106, 86, -54, -80, -77, -3, 17, -102, 31,
    +
    194  102, -59, 75, -120, 9, 123, -90, -72, -105, -126, -44, -41, -70, -127, -78, 114,
    +
    195  -117, 39, 24, -53, -84, 34, 10, -88, -11, -42, -122, 17, 28, 29, 96, 6, -7, 125,
    +
    196  -85, 25, -92, 63, -10, -74, -95, -115, 68, 19, 64, 3, 54, -78, -95, 59, -88, 81,
    +
    197  -120, -31, 74, 94, -118, 0, 113, 80, -53, 64, -20, 92, 0, 40, -58, -119, -113,
    +
    198  102, 120, 122, 97, -68, -49, 39, 100, -110, 26, -27, -94, -82, -9, -18, 22, 55,
    +
    199  50, 59, 10, -109, -127, -64, 51, 39, -78, -105, 45, -2, -74, -16, -2, -101, 20,
    +
    200  -68, -107, 6, 105, 43, -44, 99, -38, 116, 9, 38, -63, 13, 109, 71, 23, -85,
    +
    201  -107, -3, 40, 60, -89, -110, -34, 43, -105, -76, -62, -105, 83, 101, -22, 10,
    +
    202  110, 124, 54, 93, -101, -114, -102, -81, 122, 54, -40, 77, 11, -31, 18, 35, 14,
    +
    203  25, 81, 87, 15, -7, -79, -15, 2, -97, -4, 125, 103, 31, -92, 118, 9, 39, 34,
    +
    204  -23, 60, 90, 63, 69, 49, 68, -20, 91, -36, 28, 7, 104, -127, -112, 2, 48, -92,
    +
    205  -22, 98, 72, 86, 2, 117, 102, 27, -53, 20, -1, 96, -33, -31, -62, 0, 23, 83, 2,
    +
    206  11, 51, 38, 23, 0, -24, 93, 121, 4, 87, -104, -127, -2, -97, -85, -115, -44,
    +
    207  -43, -100, 120, 84, -99, 1, 18, 1, -29, -23, 119, -18, 73, 56, -77, -77, -81,
    +
    208  -18, 47, 117, -90, -29, 51, 32, 114, -1, -51, 88, -25, 2, 44, -80, 97, 127, 80,
    +
    209  -89, 127, -20, 39, 81, 94, 124, -74, -85, -28, -34, 113, 85, 67, 79, -32, -8,
    +
    210  -121, -36, 50, 123, 8, 54, -91, 7, -43, 32, -110, 51, -120, 59, -106, 70, 122,
    +
    211  71, 114, -95, -71, -6, 9, 38, 68, 124, -111, 26, 62, -47, 126, -1, 125, -128,
    +
    212  115, 29, -44, 40, 105, 78, -95, 49, -122, -110, 43, -19, 57, -14, 35, 30, 114,
    +
    213  -13, -50, -96, 65, -21, 84, -18, -4, 12, -100, -89, -123, -79, -44, 12, 90, -66,
    +
    214  -95, -13, -125, -110, 28, -50, -39, 46, -114, -33, 65, 28, -9, 38, -61, 24, 55,
    +
    215  55, 92, 63, 101, -56, -101, -83, -45, 87, 58, 63, 122, 53, -109, -128, -97, -48,
    +
    216  87, -20, -2, -62, -87, -117, 49, 89, 58, 127, 1, 2, 7, 76, 90, 54, 2, 96, -96,
    +
    217  84, -4, 47, -23, -118, -126, 36, 58, 47, 6, -46, -92, 86, 103, 72, 54, -34, -85,
    +
    218  47, 124, -8, -53, 117, -55, 102, -24, 43, -127, 126, 62, 121, -127, 123, -106,
    +
    219  126, 10, 57, -55, -124, 68, 16, -73, 91, 78, 122, 56, 25, -74, -80, -88, 19,
    +
    220  -74, -83, 96, -71, -99, -37, 36, 105, -5, 64, -2, -116, 19, -90, 78, 89, 93, 37,
    +
    221  -69, -8, -49, -46, -72, -71, 117, -118, 114, 12, -42, 63, 23, -114, -73, 25,
    +
    222  -32, -70, 75, -48, 46, -39, -122, -8, -108, 59, 63, -21, 44, -74, -96, 116,
    +
    223  -109, 126, 85, -62, -25, 27, -103, -113, -90, -39, -126, -46, 3, -57, -112, -21,
    +
    224  -48, 45, 59, 8, -29, 60, 12, -106, 124, 51, 50, -100, 103, 37, -42, 11, -110,
    +
    225  113, 39, -121, 44, -105, 99, -111, 100, -117, 92, 110, 123, 115, -45, 19, 96,
    +
    226  -127, -82, 113, 72, 40, -38, -116, -126, -122, -79, 11, -104, 40, 55, -26, -9,
    +
    227  -75, -120, 101, 73, -21, 60, 124, -26, -36, -83, -14, -4, -7, -73, -68, 5, 107,
    +
    228  -80, 101, -57, -42, -11, -120, 62, 65, -1, 91, -86, -102, 42, -10, 85, 102, 120,
    +
    229  103, 100, -68, 31, 74, -109, -27, -125, -104, -86, 78, -74, -64, 78, -27, -116,
    +
    230  -99, 36, 117, 75, -50, -96, -63, 1, 106, 46, 80, -33, -72, 61, -34, 65, 53, 95,
    +
    231  -101, -126, -92, 88, -3, 73, -114, 26, 63, -121, 61, -84, 3, -13, 80, -34, -10,
    +
    232  -97, 127, 65, -81, -90, -31, -10, 99, 30, -13, 125, 52, -38, -80, -61, -35, 124,
    +
    233  -102, 51, -49, 67, 116, -117, -51, 87, -4, -56, 73, 114, 114, -43, -113, -66,
    +
    234  51, -18, -14, -90, -47, 85, 40, -7, -127, -95, -43, 11, -90, -34, 57, 101, -29,
    +
    235  -51, 1, 117, 21, 61, -8, -70, 121, -24, 87, -89, -12, 121, 50, -28, -6, -6, -95,
    +
    236  -6, 38, 49, -99, 127, 120, 55, -55, 46, 39, -57, 33, -58, -4, -7, -86, 86, -31,
    +
    237  94, 25, 16, -126, 90, 80, 106, -33, 109, 82, -44, 109, -65, -69, 2, -72, -54,
    +
    238  -60, -119, -121, 111, 69, -69, -95, -21, -106, 37, 2, -18, -29, 30, 32, 127, 75,
    +
    239  32, -53, -58, 79, -36, -78, 110, 5, -111, 82, -5, 28, -62, 64, -52, 22, -96,
    +
    240  -30, 52, 22, 104, 126, -9, -72, 34, -118, 62, -90, 115, 63, -101, -26, 36, -32,
    +
    241  90, -62, -110, 100, 95, -8, -120, -113, -90, 3, -102, -27, -10, 110, -122, 18,
    +
    242  106, -69, 3, -64, -94, 118, 25, -99, -107, -24, -60, 71, -10, -93, -128, -121,
    +
    243  -76, 53, -42, -114, 20, -61, 77, 88, 81, -61, -81, 21, -27, 43, 99, -38, 111,
    +
    244  -33, 31, -109, 119, -110, -50, -96, -81, 95, -36, 63, 85, 16, 56, -74, 94, -43,
    +
    245  115, -87, -52, 109, -52, -49, -117, 82, -81, -16, -60, 39, 123, 125, 64, 29,
    +
    246  -107, -90, 119, -76, 101, 24, 67, 116, -82, -96, 3, -119, -57, -60, -53, -116,
    +
    247  -3, 87, 110, -25, 23, 93, 0, 106, -80, -19, -89, -87, -8, -94, 108, 115, -28,
    +
    248  -94, -20, -52, 5, 113, -101, -115, -47, 110, -121, -37, 37, -60, 70, -105, -28,
    +
    249  63, 91, -91, 108, -90, 119, 96, 34, 23, 11, 107, 42, -122, 42, 17, 124, 51, 93,
    +
    250  -88, -3, -113, 26, 97, -117, 28, -108, 7, -109, -128, 101, 35, -108, 102, 85,
    +
    251  -113, 20, 57, -81, 39, -27, -68, 23, 66, 4, -19, -35, 79, 21, -2, 82, 95, 1, 67,
    +
    252  57, 29, 88, 57, -84, 11, 81, -44, -26, 101, -128, -110, 52, 32, -7, 39, 70, -23,
    +
    253  -53, 101, 38, -97, -117, 106, -89, -92, 67, -77, -64, 77, -124, -75, 77, 94, 46,
    +
    254  -51, 57, 34, -15, 119, -71, 70, 63, -47, -84, 69, -10, 82, 115, -67, -73, -44,
    +
    255  -3, 48, 25, -88, -81, -105, 8, 55, -99, -5, -27, 100, 116, -103, -37, 114, 102,
    +
    256  -102, 51, 110, -64, -109, -101, 107, 37, 65, -8, 34, 91, 84, 21, 126, 67, -54,
    +
    257  63, 118, -59, -23, 59, -124, -84, 65, -55, -21, 122, 118, 105, -1, 83, 55, 12,
    +
    258  -100, 77, 3, 64, 104, -22, -18, 84, 114, -28, 108, 46, 50, -11, 28, 44, -76, 47,
    +
    259  -70, -115, -48, -19, -38, 127, 35, -69, 127, 103, -79, 62, 37, -91, 1, 99, -99,
    +
    260  126, -119, -14, -93, 39, -61, -111, -101, 17, -15, 104, 111, 55, 64, 35, 47,
    +
    261  119, -88, 113, -81, -126, 113, -76, 27, 58, -56, -2, -29, 97, 64, -48, -74, 118,
    +
    262  -29, 36, 98, 103, 64, 114, 70, -95, -87, 87, 4, 48, -104, -66, 77, 81, -127, 41,
    +
    263  50, 19, 67, -62, -34, -44, -11, 101, -66, -18, -40, -22, 65, -97, -44, 76, -87,
    +
    264  52, -52, 16, -86, -78, 77, 37, 87, -29, -54, -77, 34, 35, 95, 9, 111, 124, 18,
    +
    265  -84, -47, -31, 7, -81, -6, -80, 117, 1, 35, 104, -17, -125, -118, -97, -75, 35,
    +
    266  -95, -95, -34, -45, -96, -58, 86, -84, 92, -119, -48, -17, -28, 91, 80, 13, -51,
    +
    267  -104, -49, 26, 43, -72, -117, 65, -42, 36, 99, 14, 25, -54, -97, -12, -31, -52,
    +
    268  113, -43, 84, -56, -82, 73, 27, -39, -60, 113, -115, 68, -106, 41, -32, -28,
    +
    269  118, -21, -50, 24, 60, -12, 77, -80, 19, -6, -16, 79, 110, 44, 36, 44, 122, -67,
    +
    270  -20, -18, 88, 101, -121, -80, 22, 49, -100, -114, 37, -118, 105, 99, 2, -31, 42,
    +
    271  21, -81, 105, -104, 7, -26, -49, -117, 111, -40, -17, -28, 104, -78, 102, -97,
    +
    272  104, 62, 99, -12, -109, 38, 88, 44, -98, 101, 98, 11, -38, -95, 125, 124, -42,
    +
    273  -8, 29, -35, -101, -45, -126, -124, 104, -67, 83, -76, -60, -123, 37, 98, 59,
    +
    274  -87, -36, 59, -106, -87, -116, 74, 66, 36, 29, 53, 39, 126, 27, -21, -66, -8,
    +
    275  80, 57, -48, 26, 93, 39, 66, -87, -31, -11, -85, -111, -91, 121, 37, 65, 81, 62,
    +
    276  124, -70, -16, 127, -55, 55, 36, -116, -108, -31, -58, 54, -65, -106, 31, 34,
    +
    277  47, 30, -117, -68, -115, -23, 9, 122, 118, -74, 84, 3, -91, 51, -22, 17, -58,
    +
    278  -87, -25, 119, 44, -29, 111, 85, -43, -13, -57, -51, 58, 0, 114, 101, 87, -72,
    +
    279  -127, -20, -90, 7, 54, -17, -114, -23, -25, -27, 99, 69, 102, 68, 43, 66, -40,
    +
    280  -41, -105, 19, 93, -126, 50, 16, 68, 14, -9, -66, 104, 72, -52, -84, 24, 104,
    +
    281  17, -21, 47, -125, -39, 36, 57, 81, 33, 33, -78, 102, 47, 84, -76, 51, 70, -111,
    +
    282  18, 28, -50, -100, 26, 58, 28, -39, -37, 97, 96, -104, -36, 94, 120, 78, 90,
    +
    283  -48, -69, 76, 59, 59, 44, -90, 25, 30, 48, 99, 95, 14, 58, -92, 56, 38, -44, 48,
    +
    284  13, -13, -85, 0, 9, 6, -97, 87, -104, -92, -44, 126, 56, 73, -18, 89, 41, 2, 78,
    +
    285  -44, 105, 40, 52, 75, -14, -42, -119, 103, 69, 110, 47, 48, 127, 45, -22, 27,
    +
    286  -91, -13, 60, -64, -69, -71, 53, -90, -32, 15, 123, 27, -9, 31, 114, -23, -5, 8,
    +
    287  -60, 103, -94, -82, -16, 86, 4, -28, -74, -20, 73, -53, 126, 82, 111, -41, 2,
    +
    288  -71, 41, 70, 40, 15, 44, -128, 71, -117, 98, 52, -85, 12, -115, -121, 50, 7, 12,
    +
    289  48, 1, -114, -11, 95, 34, 107, 66, -102, -43, -104, 107, 75, -38, -93, 23, 21,
    +
    290  -43, -53, -4, 26, 83, 4, -51, 98, 97, 42, 73, 38, -90, -126, 48, 111, -8, -51,
    +
    291  63, -110, 28, 42, 122, -16, 20, -20, 113, 68, 11, -77, 90, 41, 58, -127, -38,
    +
    292  101, -70, 15, 10, -100, -54, 46, -31, -2, 90, -88, 51, 29, 15, -14, 119, 87, 59,
    +
    293  -118, 56, 75, 22, -22, -22, -47, 97, 77, -9, -86, -91, 90, -96, -89, 109, -28,
    +
    294  -23, 120, -94, 121, -17, 7, 12, -118, 70, 43, 96, -82, -100, -18, -30, -49, -45,
    +
    295  -5, -55, -126, 50, 65, -39, 69, -102, -56, 20, 61, 57, -16, -91, 64, 81, -36,
    +
    296  -103, 47, -113, -117, -45, 38, 27, -68, -50, -8, 27, -12, -119, 63, -101, 2, 5,
    +
    297  -31, 117, 18, -7, -51, -58, 103, 33, 54, -2, -43, 8, -14, -7, 89, -108, 88, -34,
    +
    298  -120, 81, -70, 57, 120, -106, -98, -22, 94, -94, 1, 36, 114, -25, -63, 26, 98,
    +
    299  -43, -115, -9, -119, -11, 13, -124, -65, -55, 39, -31, -32, -112, -118, -3, -92,
    +
    300  84, 98, 48, -27, -118, -21, 1, 114, 47, 15, 56, -16, -95, -6, 3, -84, -35, 91,
    +
    301  -10, -48, 62, -31, 38, -49, -71, -85, -123, -127, 37, -26, -22, -57, -32, 112,
    +
    302  14, 75, -59, 6, 125, -65, 58, 101, -10, -114, -43, -82, -9, -127, 4, -45, -15,
    +
    303  96, -61, 88, -66, 11, 95, 48, -9, -117, 40, 58, 77, 113, -83, 70, -58, 65, 14,
    +
    304  31, 112, -22, 113, 73, -117, 69, -17, 10, -58, -124, -120, 66, 61, 53, -81, 67,
    +
    305  -37, -27, 65, 5, 122, 5, -96, -66, -22, -31, -54, 31, -19, 99, -59, -76, 83,
    +
    306  -73, 127, 13, -11, -100, 122, -5, -69, -89, 34, 33, 32, 123, 28, -102, -35, -69,
    +
    307  95, 84, 16, 104, 29, -53, -124, -87, 37, 1, 65, 106, -8, -98, -46, 55, -14, 86,
    +
    308  -95, -23, -42, -125, 25, 26, 59, 118, -102, 38, -17, -35, 17, 49, 53, -17, -113,
    +
    309  -121, 54, 107, -36, -112, 103, 13, 36, 18, 115, 72, 98, -14, -23, 78, 91, -45,
    +
    310  26, -39, 51, -125, -59, -41, 106, 62, 5, 127, -123, 12, -83, -71, 46, 95, -94,
    +
    311  -127, -75, 109, -30, -27, -108, 78, 51, 83, -46, 73, -23, -60, 17, 0, -88, 53,
    +
    312  -2, -99, -74, 106, -50, 29, 13, 3, 60, -40, 20, 21, 21, -114, -76, 65, 54, -96,
    +
    313  -66, 58, 63, 96, -1, 65, 45, -120, 107, -38, 3, -46, 101, 83, -34, 111, 38, -19,
    +
    314  14, 32, -35, -96, -108, 39, 4, -19, 65, 31, 76, -30, 53, -69, 67, -9, 71, -93,
    +
    315  103, 64, -101, -100, -3, -116, 68, -78, 28, -104, -86, 110, -83, -107, -6, -68,
    +
    316  23, -107, -127, 64, 27, -48, 59, -53, -73, -59, 111, 22, 99, 74, -73, -90, -72,
    +
    317  94, -37, 57, -29, 33, 68, -33, -86, 118, 63, 75, -30, 55, -74, -55, 89, -30,
    +
    318  -70, -116, -78, -98, 108, -75, 24, 108, 88, 31, 47, -82, -35, -1, 79, -114, -8,
    +
    319  95, -31, -104, 123, 21, 61, -51, 61, 49, 12, 57, -76, -110, 68, -100, -41, -3,
    +
    320  -104, -121, -103, 99, -112, 31, 60, 2, -33, 43, 62, 6, -56, -5, 64, 116, -41,
    +
    321  -110, 36, -18, -34, 123, -37, 84, -103, -49, 12, -9, 85, 93, 75, -56, -79, 90,
    +
    322  -128, -107, -114, 35, -2, -32, 1, 84, -101, 113, 52, -54, -85, -128, -5, 20,
    +
    323  103, 62, -102, 92, -3, -60, -42, 102, -61, -59, -6, 19, 101, -93, 13, -76, -36,
    +
    324  9, -89, 94, 34, 35, -60, 70, -85, 50, 37, 14, 69, -102, 95, -17, 60, -124, 90,
    +
    325  -85, -38, -40, -25, -9, -86, 122, 31, 113, -90, -42, -62, 117, -107, 43, -84,
    +
    326  23, -89, -4, -1, 76, 40, -89, 69, -75, 127, 111, 101, 29, 53, -35, 46, -67, 100,
    +
    327  50, 19, -22, 102, 19, 121, 18, 103, 127, 8, -6, 81, 85, -54, 47, 120, -32, 3, 6,
    +
    328  24, -103, 35, -123, 77, -117, -128, 124, 46, -68, 75, -2, -94, 66, -13, -35,
    +
    329  -93, 75, -81, 111, -93, 112, 77, 28, 52, 93, 21, -56, 28, -3, 92, 64, 68, -119,
    +
    330  40, -120, -33, 113, 56, 122, -33, 19, 121, -89, -96, -24, -74, 82, -13, -61,
    +
    331  -20, 24, -101, -125, 27, 122, -66, -45, 3, 0, -80, -89, 100, 89, 86, -76, -38,
    +
    332  -128, -54, 66, 118, 33, 83, 32, -126, 30, -100, 19, -24, -120, 10, -73, -53,
    +
    333  -10, 63, -100, 103, 19, -48, -31, -10, 11, -95, -99, 72, 119, 4, 74, -43, 33,
    +
    334  -82, -74, -28, -108, 71, 12, -118, 43, -80, 126, 60, 18, -115, 26, -56, -16, 75,
    +
    335  100, -45, 84, 110, 108, -78, -48, 18, 101, -13, 6, -100, -87, -114, 113, -29,
    +
    336  -114, 60, 70, -103, -83, -50, 84, 86, 62, 92, -95, 107, 107, 24, -81, 29, -111,
    +
    337  35, 26, 50, -120, 24, -93, 11, 100, -12, -20, -11, 94, -4, -87, 66, -24, 124,
    +
    338  41, 64, 88, 62, -14, 4, -67, -110, -51, -90, -76, 94, 110, -62, 78, -24, -43,
    +
    339  116, 89, -128, 96, 69, 91, -96, -65, -73, -111, -62, -107, -109, 110, 41, 82,
    +
    340  42, 83, 59, 69, -98, 45, 55, -59, -40, -85, -43, 30, 54, -57, 44, 90, 12, 86,
    +
    341  -61, 97, -84, 102, 61, 2, 50, 58, 66, 49, -83, -122, 20, 36, 21, -71, 59, -99,
    +
    342  58, 65, 19, 32, -91, 4, 72, -101, 50, 39, 125, -67, -98, 114, -127, 74, -102,
    +
    343  59, -27, 6, -12, 6, 30, 58, 44, 95, -128, 116, -51, 27, 26, -65, 36, -28, -104,
    +
    344  -61, -32, -45, 99, -78, 46, -56, 40, -53, 97, -125, -115, 64, 53, 20, 120, 10,
    +
    345  90, 67, 48, -26, -115, -35, -33, -100, -40, 68, -24, -56, 95, 92, -67, -59, 84,
    +
    346  88, 55, 93, -65, 107, -58, 116, 87, -124, -116, -112, 75, 85, 79, -37, -80, -44,
    +
    347  98, -87, -126, 73, 82, 126, 37, -49, -34, -38, 59, 10, 17, -86, 63, 47, 61, 22,
    +
    348  29, 83, -108, -31, 45, -18, 28, 53, -121, -34, -23, 86, 114, -48, -124, -60, 53,
    +
    349  -94, -119, 108, 37, 36, 11, -9, 61, -26, -48, 124, 115, 89, -81, -70, -44, -83,
    +
    350  -35, -87, -37, -105, -45, -69, -128, 60, -109, -14, -33, -117, -1, -4, 68, -48,
    +
    351  17, 67, -107, 45, -63, -36, 57, 47, -110, 62, -51, 69, -99, 63, 88, -83, -70,
    +
    352  -86, -113, -72, -84, -106, 31, -14, 33, 94, -125, 42, 73, -22, -86, 109, 101,
    +
    353  -64, -50, -34, 66, 33, -33, 31, -97, 105, 20, -120, -123, 66, -47, -15, -87, 49,
    +
    354  18, -98, 1, 94, -82, 101, -117, -64, -118, 85, -128, -58, -19, -88, 83, 6, 59,
    +
    355  22, 26, -95, -112, -39, -33, -59, 87, 5, 49, -91, -8, -72, -47, -89, -107, -118,
    +
    356  -28, 15, 82, -11, 102, 96, -1, -82, -81, 81, 47, -89, 30, -126, -56, 92, 80, 56,
    +
    357  125, -9, -114, 107, 7, -100, -63, -44, -59, 21, -35, 79, -94, 54, 76, -119, 24,
    +
    358  31, 85, -97, 41, 92, -108, 78, -117, -69, -72, 112, 46, -101, -8, 17, 108, -22,
    +
    359  -105, -75, -34, -37, -50, 99, 30, 126, -40, -120, -127, 32, 19, -36, -93, -84,
    +
    360  116, 92, -74, -22, 44, -17, 31, 78, -121, 54, 11, -45, 115, 10, -74, 60, -42,
    +
    361  74, 12, 88, 73, -42, 65, -115, -17, -118, 44, 38, 2, -108, -9, -72, 71, -113,
    +
    362  33, 86, -122, 59, 84, -63, 120, -57, -85, 80, -30, -78, -1, 10, 37, -79, 82, 30,
    +
    363  -36, -7, 69, -74, 44, -112, 69, -43, -56, -100, -78, -103, -63, -68, 105, -98,
    +
    364  67, -83, -36, -30, 109, 104, 55, -3, 59, -62, -22, 94, 114, -89, 110, 74, 106,
    +
    365  68, 119, -2, 75, -56, -28, -103, -39, 125, 53, -80, -27, -59, 118, -80, -41,
    +
    366  100, 53, -19, -95, 45, -96, -120, 46, -82, 114, -82, 79, -41, -109, -98, 76,
    +
    367  -22, 73, -106, 103, -128, -52, 35, 67, 39, 45, -24, 43, -66, -48, 5, -126, -70,
    +
    368  -25, -115, 15, -44, 99, -1, 61, 62, 123, 19, 86, -84, -66, -38, -87, 98, 117,
    +
    369  -20, 91, -53, -59, -92, 116, 63, 62, -122, 24, 6, 61, -93, -56, 125, -94, 88,
    +
    370  -42, -71, 94, 78, 20, 17, -60, 56, 108, 71, 33, -119, -76, -68, 126, -76, -20,
    +
    371  -60, 10, -15, -127, 42, 5, -41, -46, 89, -94, -69, 82, -98, -104, -88, 106, -43,
    +
    372  -66, 61, -125, -126, 0, -50, -33, 73, -62, 10, -99, 66, 85, -108, 105, -88, -79,
    +
    373  13, 25, 73, 84, -112, 14, 14, -29, -34, 17, 23, -90, 49, -52, 68, 60, -42, 48,
    +
    374  83, -3, -119, -122, -60, -69, 32, -84, 13, -52, -74, -60, 57, -2, 103, -126,
    +
    375  -91, -57, -100, 49, 107, 22, 127, -54, 18, -50, -62, -30, 10, 109, 112, 1, -77,
    +
    376  -49, -18, 65, -115, 87, 14, 85, 81, -48, 1, 126, 104, -7, -24, -77, -122, -54,
    +
    377  84, 2, 123, 99, -91, -12, -68, 115, 14, -90, 11, -125, 34, 29, -21, -121, 86,
    +
    378  35, 2, -31, 53, 35, 38, -97, 94, -48, -28, -95, 112, 6, 114, 29, -112, -110,
    +
    379  -65, 52, 27, 105, -93, -54, -53, 74, -85, -10, -108, 59, 74, -17, -118, -63, 63,
    +
    380  -96, -46, 56, 26, 89, 9, 113, 85, 117, 58, -18, 127, 46, 9, -99, -88, -18, -31,
    +
    381  37, -100, 77, 39, 30, 51, -13, -55, -37, -98, 99, 113, 118, -55, 26, 9, 9, 39,
    +
    382  89, -69, -19, -23, -47, -1, 75, 64, 30, -103, 91, -85, 50, -56, -50, -90, 34,
    +
    383  -46, 125, 117, -69, -14, 102, 113, -73, 2, 34, -21, -104, 96, 112, -10, -77, 92,
    +
    384  63, -35, -16, -9, 20, -113, -66, 98, -81, -50, 79, -37, 119, 2, -121, -59, 99,
    +
    385  28, -100, 30, -77, -4, -91, -90, -70, -95, -5, -35, 26, -118, -12, 112, 3, 108,
    +
    386  -23, -5, -57, -128, 31, 125, 82, -30, 10, 35, -95, -14, 102, -39, -50, 31, 114,
    +
    387  -108, 14, 11, 30, 1, -48, 33, -2, 38, -118, 20, -73, -85, -128, 82, 12, -82,
    +
    388  -74, 105, -83, -7, 127, 36, -12, 52, -37, 83, 86, -64, 92, 92, 13, 36, 54, -9,
    +
    389  68, -100, 101, -40, -13, 64, -57, 13, 104, 106, -102, -25, 18, -55, -2, -96,
    +
    390  -79, 80, -27, -80, -8, -65, -55, 25, -78, -14, -102, -56, 50, 123, 113, -73,
    +
    391  -24, 32, -51, -72, -31, 89, -84, 82, 101, -99, -20, -18, 29, -17, -89, 74, 103,
    +
    392  -52, -123, -18, 107, -66, 80, 56, 113, -52, -69, -85, -86, 103, -101, 51, 109,
    +
    393  23, -105, 46, 13, -42, -51, -33, 106, 44, 20, -123, 32, 122, 24, 33, 88, -104,
    +
    394  -68, 82, 39, 31, -117, -41, -107, -116, -121, -113, 23, 28, -55, -85, 89, 22,
    +
    395  40, -42, 72, 16, 23, -16, -81, -57, -32, 104, 104, 47, 101, -117, 109, -42, 124,
    +
    396  48, -46, -115, -72, -58, 29, 50, 113, -67, -113, -114, -105, -117, 17, -66, 88,
    +
    397  -77, -24, -113, -98, -1, -78, 78, 40, -2, 58, -22, 29, 71, 117, 63, -96, 72,
    +
    398  -56, -111, -70, 17, -86, -16, 10, 34, -113, -50, -97, 31, 27, -43, 89, -59, 62,
    +
    399  -57, 4, 98, -104, 17, 106, 25, -76, -50, 108, -6, -82, 10, 82, 40, 27, -122,
    +
    400  -47, -5, 21, -100, 14, 125, 1, 78, 102, -55, 117, 51, 29, -10, -12, 29, -85,
    +
    401  -112, 102, 65, -97, -117, 74, -88, -86, -75, 70, 115, -64, -42, 117, -105, 15,
    +
    402  -23, -115, 4, -25, 29, -93, -125, -96, 94, 99, -64, 86, 37, 3, 110, 63, -16, 45,
    +
    403  76, 74, -98, -89, 124, -28, 100, 32, -27, 2, 34, 114, 58, 66, -31, -40, -118,
    +
    404  -10, 13, 19, 62, -74, -50, -89, -70, 104, 0, -122, 97, 37, -93, -48, -94, -39,
    +
    405  -98, -42, -39, -15, -53, -113, -74, 91, -103, -54, -103, 30, -113, 118, 43, -18,
    +
    406  58, 66, 62, -4, 3, -108, 58, -21, 54, 95, 30, 26, 57, 120, 41, -63, -99, 24,
    +
    407  -112, -51, -57, -53, 96, 93, 69, 11, 31, -70, 68, 7, 10, -16, 14, -30, -123,
    +
    408  -93, -12, 81, -17, 83, 25, -6, 110, 99, -7, 1, -17, -10, 33, -33, -76, -128,
    +
    409  -78, -98, -41, 17, 115, -123, 91, 33, -94, 39, -81, -118, -115, -67, 47, -53,
    +
    410  -56, -116, -7, -97, -124, -123, 49, -29, -104, 97, 109, 117, 30, 60, -73, 64,
    +
    411  96, 83, -93, 127, -110, -100, -91, 111, 65, -5, 32, 70, -1, -83, -25, -31, 118,
    +
    412  6, 18, -4, 113, -77, 115, 82, 65, -14, 127, 40, 53, 67, -107, -45, 28, 127, 30,
    +
    413  -98, 93, -53, -73, -20, -106, 15, 23, 88, -18, 3, -33, 61, 70, 15, 109, 66, -86,
    +
    414  -18, 71, -30, 67, 93, -95, -78, -107, -118, 62, 120, 50, 20, -73, 69, 61, -63,
    +
    415  21, -123, 46, 28, 65, -115, 66, 66, 44, -66, 67, 109, 62, -127, 62, -27, 120,
    +
    416  -106, 64, -54, 61, -85, -94, 41, 20, -35, 29, 9, -24, -16, 103, -74, 67, -83,
    +
    417  -49, 71, -103, 60, 98, 121, -92, 7, -32, 12, 95, -15, 86, -32, -88, -27, -107,
    +
    418  -5, 47, -126, -65, 46, 21, 72, 110, -41, -49, 63, -52, 0, 45, 44, 26, -86, 90,
    +
    419  -1, -47, 107, -82, 23, -30, -82, -44, -37, 111, 93, -108, 7, -109, -110, 106,
    +
    420  -55, -38, 113, -68, -103, -81, -120, -121, -67, -85, -85, -102, 27, 36, 88, 53,
    +
    421  -73, 61, 3, 99, -42, 36, 25, 95, -5, -110, -47, 84, -118, -125, -111, 43, 59,
    +
    422  37, -51, 53, 42, 71, 35, 9, -114, -86, -59, 90, 18, 90, 41, 62, -121, 44, 76,
    +
    423  86, 119, 102, -117, 120, 12, 35, 124, 37, 5, -67, -30, 125, -64, -38, 116, -52,
    +
    424  10, 35, -63, 94, 4, 126, 106, -86, -86, -125, 92, 79, -6, -128, 81, -111, -90,
    +
    425  -120, -121, -126, 89, -73, -29, -37, -120, 75, 124, 70, 96, -74, -113, -63, 32,
    +
    426  79, -53, -63, 112, -54, 11, -121, 88, 116, 17, 60, 52, 108, 1, 19, 103, -58,
    +
    427  -29, -30, 52, 53, 30, -38, 12, 8, 20, 13, -124, 22, -41, 118, -95, 48, 38, -43,
    +
    428  -44, 82, 76, -33, 71, -104, 20, -120, -17, -82, -47, -36, 93, 78, 9, 66, 2, 126,
    +
    429  -16, 76, -94, 51, -18, 28, 48, -118, 2, 58, 103, 59, -115, 55, 123, 32, 67, 70,
    +
    430  6, 21, -47, -84, 29, -23, -119, 81, 127, 63, 28, 45, -66, 102, -112, 7, 118,
    +
    431  118, 18, -54, -15, -15, -109, -68, -85, 108, 79, 82, 16, -32, -47, 123, -125, 6,
    +
    432  -15, -102, -89, 113, 120, 126, 119, -28, -44, 51, -25, -96, 23, 42, 122, -32, 9,
    +
    433  127, -99, -19, -14, -38, 71, 7, 66, -32, -59, -124, -121, 46, 125, 44, -103,
    +
    434  -109, 83, 121, -65, 39, -9, -78, 34, -10, -46, 53, -117, 5, 13, -17, -93, 44,
    +
    435  77, -75, -7, 5, 20, 53, 71, -81, 102, -99, -94, 68, -20, 27, 101, -19, 92, 89,
    +
    436  -17, 4, -124, -115, 21, -60, 36, 127, 62, -56, -93, -65, 41, -105, -76, -36,
    +
    437  -91, -66, 112, 75, 94, -94, 106, -79, 50, -118, 28, 82, -32, -23, -45, 86, -86,
    +
    438  34, -72, -91, 64, 85, -47, -93, 80, 1, 110, 6, 117, -34, -49, 118, 34, 123, 82,
    +
    439  83, -34, -19, 109, 66, 50, -70, -90, 89, -103, -84, 55, -77, 27, -65, -111,
    +
    440  -104, -10, -73, 72, 3, -50, 97, -90, 34, -4, 96, 8, -18, -36, -112, -119, 116,
    +
    441  -54, -52, 66, -67, -120, 7, -57, 92, -40, -70, 77, 43, -125, 100, -123, 116,
    +
    442  -108, -112, 105, 76, -108, 19, -125, 83, 12, 19, -33, 39, 31, -39, -36, 38,
    +
    443  -111, 118, 42, -31, -98, -87, 40, 22, 8, 23, 25, -43, -33, 115, -125, -94, 120,
    +
    444  108, -71, -88, -97, -12, 117, 14, 80, -70, 88, -99, 53, 14, 104, -58, 73, -60,
    +
    445  102, 56, 6, 111, -16, -62, -104, 109, 62, -116, -28, 120, 27, -124, -117, 66,
    +
    446  74, -9, 75, -88, -76, 54, 84, 44, 53, 19, 20, 125, -87, 80, -128, -125, 126,
    +
    447  -119, 69, -126, -99, 15, -111, 126, 63, -95, -14, 44, -78, 76, -74, 55, 75, 39,
    +
    448  77, -88, 37, 65, -32, 80, -114, -29, 18, -57, 9, 13, -93, 36, -21, -5, -59, -29,
    +
    449  -52, 72, 94, 101, -36, 32, -80, -65, -112, 57, -60, 107, 5, 76, -118, 46, 103,
    +
    450  -102, 106, -113, 23, -19, 121, -34, 46, 108, 56, -65, -50, 56, -85, -86, -6,
    +
    451  -34, -30, -11, -101, 8, 113, 112, -122, -92, 17, 116, -86, -103, -90, 82, 81,
    +
    452  -2, -1, -124, -120, -2, -105, 46, -111, -29, -106, 61, -99, 63, -80, -36, 86,
    +
    453  -42, 80, -34, -120, 23, 82, 6, 16, 95, 102, -95, 42, -41, 34, -34, -79, 26, -96,
    +
    454  55, 39, 65, 54, 82, -71, -87, 58, 112, 100, 119, -85, -88, -19, 29, 17, -29, 34,
    +
    455  -58, 15, 19, -108, -5, 93, -109, -116, 96, 36, -104, 26, 75, -57, -31, 35, 24,
    +
    456  -116, 101, -95, 78, 48, 80, -67, -105, 34, -60, -104, -37, 105, -99, -110, -12,
    +
    457  86, -108, -112, -61, -68, -93, -52, -40, 32, -76, -82, 15, 38, 64, -54, 122,
    +
    458  -21, 82, -54, -92, 39, 45, 91, 101, 100, 86, 101, 44, -120, -70, 49, 20, 20, 34,
    +
    459  -110, -124, 18, -5, 39, 111, 60, 80, -122, 10, -106, -74, -77, -93, -53, 41, 33,
    +
    460  -74, -42, -23, -31, -108, -127, -30, -34, -59, 80, -50, 87, -96, -86, 29, 12,
    +
    461  102, 49, -57, -54, -102, -11, 121, -26, 51, -95, -107, 80, -88, 89, 51, -102,
    +
    462  76, 10, 45, 24, 101, 24, 106, 59, 24, 1, 80, 104, 119, -41, 35, 3, 89, 71, -51,
    +
    463  72, 107, 33, 91, -60, 124, 103, 19, 40, -105, -94, -11, 80, 73, -114, 43, -91,
    +
    464  -98, 56, 90, 116, -26, -47, -55, 18, -53, 12, -29, 105, -41, -1, -3, 110, 18,
    +
    465  28, -74, 40, 41, -14, 45, 25, -25, -122, -17, -102, 18, -101, -80, -5, -40, -39,
    +
    466  -18, 118, 103, 101, -116, 110, 68, -23, -33, -116, 117, 118, -88, 48, 40, 18,
    +
    467  11, 111, -12, 46, -89, -50, 10, 58, 81, -95, 5, 2, 72, -107, 0, -30, 77, -63,
    +
    468  -109, -68, -108, -74, -61, 124, 1, 124, 39, -103, 103, -50, 25, -5, 74, 12,
    +
    469  -119, 2, 38, 115, 58, -24, -80, -37, -118, -97, -10, 84, -35, 23, 0, -28, -36,
    +
    470  -97, -95, -97, 112, -65, 2, -7, -70, -1, -59, -90, 59, 31, 95, 40, 100, 65, 38,
    +
    471  -12, -63, -11, 67, 124, -123, -113, -26, 70, -95, 69, 112, -48, -69, -94, 65,
    +
    472  -110, -71, 104, 29, -21, -34, 65, 36, 87, -63, 59, -35, 82, -57, 59, -36, 17,
    +
    473  35, 13, 96, 97, 28, 99, -32, -80, 30, -111, 21, -127, 24, -65, 19, -60, -107,
    +
    474  11, -46, 41, -116, 101, -101, 23, 21, 92, -70, -43, -85, 32, 20, 11, 54, 20, 45,
    +
    475  37, 74, -73, -83, 114, -59, -93, 26, -76, 28, -76, -59, -74, 69, 28, 49, 19, 5,
    +
    476  -53, -57, -4, 7, 67, -117, -55, 52, 100, 47, 0, -97, -49, 35, 40, 59, -102, 53,
    +
    477  -11, 18, -82, -89, -89, -20, -109, 18, -74, -16, 21, 68, 102, 39, 36, 68, -89,
    +
    478  -75, 32, -50, 33, -4, -45, 33, 23, -103, -2, 63, 109, -111, 77, 20, 56, 21, 15,
    +
    479  -78, -99, 69, 88, -96, -9, -116, 28, -61, -86, 55, 119, 22, 106, -59, -125, -99,
    +
    480  -117, -43, -7, -16, -71, -47, -9, -58, -23, -115, 77, 81, -85, -69, -34, 69,
    +
    481  106, -114, -23, -82, 47, -90, 50, -76, -63, -101, 4, 33, 84, -81, 76, -110, 76,
    +
    482  25, -44, -66, 121, 101, 16, 53, 27, -90, -31, -37, 40, -36, -67, -115, -86, -12,
    +
    483  -21, -124, -53, 96, -9, 41, -27, 36, -31, -95, -53, 78, -61, 84, 79, -73, -63,
    +
    484  -101, -17, -110, 55, -124, 8, 70, -32, 32, -18, 109, 44, -17, -121, -29, -112,
    +
    485  97, 13, 13, -13, -102, -70, -77, -62, -104, 2, 44, -109, 46, -94, -21, 2, -33,
    +
    486  77, 21, -87, 64, -57, -47, -33, -53, 42, 34, -3, 42, -14, 100, 7, -77, 103, -95,
    +
    487  28, 55, -77, -44, -106, 20, 81, 45, -14, -127, 46, 102, -56, 41, -35, 61, 91,
    +
    488  121, -65, -75, -98, -114, 27, 103, -80, -1, -7, -100, -44, -64, -89, -38, 114,
    +
    489  105, -33, 113, 55, 26, 31, 98, 55, -20, -81, 114, -110, 72, 37, -33, -50, -91,
    +
    490  -111, -107, -48, -39, 52, 57, 118, 111, 43, 68, -6, 67, 122, -5, 40, -103, -100,
    +
    491  86, -58, 51, 54, -120, 14, -70, -66, 35, 52, -73, -5, -69, 5, -7, -80, 86, 43,
    +
    492  -31, -59, -72, -29, 2, -117, -119, -33, 102, 50, 77, 50, -12, -79, -84, 72, -63,
    +
    493  53, -125, -26, 98, 117, -45, -102, -66, -73, -72, 61, 58, 51, 81, 52, -94, -102,
    +
    494  -50, 20, -41, 108, -18, -39, 44, -83, 75, -20, 3, -87, -24, 94, 52, 111, -19,
    +
    495  19, -79, -114, -63, 1, 106, -81, 111, -69, -51, -97, -33, -105, -111, -21, 72,
    +
    496  -59, 62, 89, 55, 111, -40, -116, -46, 101, -30, -28, 59, 45, 33, 11, 30, 35, -7,
    +
    497  122, 25, 53, 20, 72, 44, 51, -46, -15, 111, 10, -74, -37, -39, 83, 52, -46, 94,
    +
    498  23, 121, -116, -25, 98, 46, -31, 12, 78, 86, -27, -54, 78, -25, 2, -57, -57,
    +
    499  122, -80, 126, 119, 76, -17, -125, 55, 6, 44, 1, -101, 78, 87, -53, 17, 36, 84,
    +
    500  5, 91, 40, -38, 65, 7, -56, -99, -36, 119, 27, -99, -31, -69, 26, -85, -123,
    +
    501  };
    +
    502 
    +
    503 #endif /* WHITENOISE8192_H_ */
    +
    + + + diff --git a/examples/_01_basics/Control_Gain/Control_Gain.mp3 b/examples/_01_basics/Control_Gain/Control_Gain.mp3 index d4f99c4dd5580b3032ca201c176eb75a27ec3e2d..7a3c931e83ca165efa3b612cfbba37716db6b7e5 100644 GIT binary patch literal 40229 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 literal 40229 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 diff --git a/examples/_01_basics/Control_Gain/Control_Gain.ogg b/examples/_01_basics/Control_Gain/Control_Gain.ogg index 0b50ebe587b656deb98fdc08f5ac876646c11800..9804d030feb69accbf7f01a046e2fd9cf480ae6f 100644 GIT binary patch delta 25056 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 KHRAP(8u=gaDI-|` delta 25426 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 DtWc(o diff --git a/examples/_01_basics/Sinewave/Sinewave.mp3 b/examples/_01_basics/Sinewave/Sinewave.mp3 index af67cfd12a715081f4c6747453f898dbc039d0fb..94cecb8fecd37ab83aa51830e39f4964cab73639 100644 GIT binary patch literal 40229 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 C^qKzv literal 40229 zcmZs?Wl&t<(yl$YI}9$tg1ZF^?hxFa;O+zo?h@QR=-?h8xO;F55(w^Y0lpdb`Sx4q zt-}v$)lkKnYjr;@clUa|66puv5Fy4}c#Z5lKl88F3lj+})~86Qb&bVzhR z=~lFk<`r9>V(ImTUnP#g^Yto~-??wd{|{xaay%E!>%9ySc1U0Woea_IEBFG$dzkYq zj{Pqh`V|a>gh!VufwZm-kPSG;O9D`+!;RCz%=LWnMWqri>w_gkMHHb&=mp>4%$N085^ z6d`7V0Ab+DyzoI^NhO-bH|7O=Kh4AyQo2&`%LQuk# zI985^8nqLT7foaBP*K2AOt+r19Gf@4=J>GQ4M;EbLeFCMBjsnP;Xyj@g|iMuxT2<;TH+u>f>%-fDbCO48@K(57#wn zg8-3X*2amzp09+w`vRmEatR)aCA*6<{9ZR^E4DE9X|E?Nr&er6y23GXNn?eGOK}>$0n@7(-fLeT z1c(DwLL*A@WuDx)^$Lc{6M&(GKsr%|9_lwE*P2MW<<*V1AlV}1Dbzhc;F+&KD z8a5KPAYdw08S57|2fy!MP=Iv?yenQAk+@zqsEQUjzA(@vg%C9zxt7PkE<71QheJd~ zB&1SR))oEE8(H4lm%Zf?G#dV4&BC_>FX@L^0E0QtJzeIGLeX$NV=#e5k-@K0WeAW3 zmU0~UMwt?tSwac(3vD*4%iI&el%^r!t6h3UeYW(Jl+%eCFgDvj2r;iXIAFS@f zxBIl{yuNB+wQBBOl?YfwO$kT{z8lAfC$}9u^(9T04fTtMgl^IzbmI`9cyzi%<;FC1 ziGrd8Il`(A%Ny*1A-Yk< z%D7%B^(Q^sr3vw@nLzfT;h=t{j>CTR_3L3yVMuW_4}ta*E-gZS6?)(Jz6f+l5t|Z} z)dUW$!amd75@kw)xbBe~?0Pi0D#hc=E;0%CcadO;kgYFN5TIo&Hi(5%l}A;QzPol) zEB%OMnNX~D4pVV08`bWt8a*j^760BO#J4;G{0qD{_Ch(odYq9kX0lm&?IsVC_^Hr_ z%+9GSk*m{t0CMyWffbU>IKB4FNsg<45x~QeO)#D|PJjTN<3nMCqt9rfPwFmxm6Ubm z^KXy1#rBitDoOt;?m`XgLfiqpr!LEGOSs1 zQeE-8sFd8XNVszAv6Yykal9|E+E6%Z$b3U)axhSSaWKezG_)Jcd~ z35)AsjvQaUO&`B5zP@HHD~Kveaj_YL2E5}NN%+M^QfXBwH^Eb0P9GJ3{+-+-DovAZ>Pl9C zw9AqCYl(~B={u&SZTVn98*bZ92@Dj5Lp=!49J*JWdG0q{2^jhsDWBprDNRkErRvNZ z8uPE;elE&ksho$Tt6rc=n)MuIi9>x>6FjJ5vYK~ou?mLjHi#9kDGLF_Y9{|cD(JN{ zO%nPRQ3mojtePQ0qHRmjeKJ_T8psuSj}HMl#SVy5;F(gF(BHM6nvB*kGdieQS~zn} z(424L{290VMfVrmTpu(-5f80U++*#HnFc5|%r|07N z;w`|0BsX8-!fu){!zO@=fVZG+1^{4vSo3xAs^Dj&Z18b^i9|1kb_mNucSQZ7W9d+h zyF~TJPDg)^=r+?U$Mo6GjEanu6#{faSn$FI00UvHfVz@S{)koK3Q=RwQS9XBgbtyw z!^$?&mg2I~g`)_=eEZY&Y`d|dNKkjh%eu#7Oo!%D7X641fH9KLhCY@_i&6DxgU+N- zq}Dmoi$<1JesQUzOi}&Z2Ok0fI>a7Mlt5oB6gfkqcDo1d$p2UxSV@BwX*o?h^cXyr zH(lY@n)tfjdBR){^xAWD4TJf^4CtHiA^?;;+jNq^F*o5dJoPq7|KRuQtjWt(_*mza zxx|FO8Z^NhEt&;0WVsDgfB-!ZUFfm_ZWY|p5oE`0AlJQyEPxDAaKL@bWY<~p44;p@fm~{QGD-` zsA?=hbbQcbNeeKBbuViUEN9aZ44P{o+x9C=W(=M96IVY(1TqWNy>-S;HbpOO9_6Fz zhU@;d%uEnF-!cw@0NoR-XtF_H$5ifRI@qX|_+&odJmr4fNt-Hd#PiDK4*WAET>tK2 zZPY@2yF2VH?3F#ke(#KoH`-T6G`Zm;CzLj#z^~lAsksTW6D1h4^iE=UCnPZ;N%+FM5EJFXoo>Tuec@5fKsW8LyW>mVws-F7RZZedG6SPZXs+c78$i0h z+-NR}H}^e2y$?2*OJ0&n9Y&_WLc^~2%V(yXtLymj2MmIC72&R)!Q%tW0u^hG1Xs;q z1zq(vIBy8hE5RW&I1j8UH~6 z^+{NX#EV#qc$Kw5uRc1X6AmCAry{55O7g{-o}M=pc?v)GxO1cISMYTy1JN>GGPt`U}2Z26d6guHh8Q>lJA}uLX|> zW$1@*#tX&y6z(r~mpLe~F(5)ujfnMMmJtEvm)~Agj8s~=B7pLBw+0o)TQ;B7W zn}qlj2Wbu^JR43}neBs|%OILals0-kCv31xM^DORlM+_s zbz7;=g;-w3Xww%5_KWVM2nl2LN8WCvP4hu0BQ{%FUYJ0Y-Ya^ZFFm}4b8Auf7r?e; zK?u-aEbUW4z?D=bEI%erSac@cSy+LL&$<-23J#(Ack!yOS47a2pX=A`&2wwIk|973B%&5f zkSJFphQrODQpV$6epQOyqI1U+hpa)M65}n)D=Wr<=S+8uT>74qa+rKOTJ-SjQSpC=eP!ot)jZy-n-a9N{eOT7W}oT^_kiSEOd)e*jn zpHxjDcc-r&nWN_G?riOz_yE~1SLzzs;F(4~XD6oV-TWBOf&lGfA;u{;gU?WtNDh75 ztZiNA05W^pgjKO!6JZM1zc>Mu%w}U~l3KIg2Ux&|RcDDL=+!I~&GmYDduSQ#R2!$F z_9k0c@r@OnV?Fn^mzI-C@z^Yn3v?i;kS-`iyN7jTP0Zo#3=x_X@}XY!$KPGnCn`kN zbme_g=qgjbIOEY@l|mKvGoSZ!WD=Jdf$O$u!TJ@pI|Rb4%V8C+%BPT#I?q+@^G+l} z$ahT5k(w8j2+^^oDL<4@ie#T7jmjH?olERQB(g&5g#evlZ^lXBk{40qCw);?F&(kr ziptJcTUFy_Z*EB($aU9OY14THdCq-41Od5UHUA_5;`^K^T}&UcuZRfFscJ@i#`=p= zW6-;E#!2^_IGGm6@4xRiqeu9{4^nD*FOdMTi7?~efZn3q)nGa{p>9-AP|=>KW}h83 zt8k7kD!G|bp4Ctmy(~hV!>Nb3rDL4ihSkdd?S2p!1i^n&)n5Our;bR`Wgh;Z^C9E> zX=V#5_G6&v*4LqXNpRmK2F`cC4&TlyGjI7%=fBDJL^iMAUrS%F_m0>kooab@RxwkO` z^K+_tdzotTe6f}W1n7dm_>c>n@Z#qQ{mA-kTAGKIcX`eNGXvEvH87_gND{T0*o>L* zQdqVDDZ2cK5bYVhTY4%dQE5pJTp@h* zSibAuE%@*DuOL8+s7rC5U-Hl;NFt-3c%pr8x-yDB+=8^csW{nhoHw)AcTgBoi#n}z zk7NU;ezyqPc_ZnKf7CJijuMwdIKauB%BrlD0CSwFzK>Y&&geLP1y7LBIT<;l>I~QU z-d^HBZn1Eb0Rr@dmq7dWkTtclZ)w=<0wX#^v zx7<#;yWv3)%Mn>lZE*Biz>^f7P+@RU(>Jol>xr()F>uQ|E}3&{3}{qsDig{@mQge& zfs00PEr(SWC&2`+<)}mz5euT9yz4s1EMLW+$6oz46a>7Icod-$mlTVY!r*)9WZ-@! zF%#!IG*SQQ<*BJ|R?ugpg+@(Mfrc8uX1I+ktWzsQ#8u~6{=;Nu*yDX7R^%FvSa8>6 z0=dr%NhCOdgTuD!S+QpHPALnstoApSq7UAK9Sr{uFMf07|M>;quDZ&}kItM^yo zUOirON~k;-L#^eInP2t!AD!Siys&buIpo1@VU&SIpT$fG&a&+myZvW!)5>z{&MyC# zxv#>9bq`CRzXT-kFt4&WuzO606UrK9~e=DR+B zFp2B?auKa1y?fq|1O^Qyy#Uj3rq3K)Z$LopL=n`|A`$g^K%hA-`vuCO>I5-KA)?o4 z?AEc1j`{fQv+fsu%xP~m(Kxr=@JiJ%Wqg3ErKCSpJ4tU_65nJDcLle1cV-2Lxyh-5BiJ7`W86#pSCfeoPkA?)~4hk16W{XNjV zPb+d@SN*Ld`$_F0q12-ibhga_0eU4gkpfrS@NQ)OYlCcCmDa6$>>!(3TF$Z zq#X^a>zb3JXFQ0xG&CsZl7qyfTLVoh>(?ZMh2{Me?u#2R=F_ndo~=QMG@5>|O>6T- zKvWk38E{Gd4R?hVmun6Jbd8q}4nB)TBJC?(w)=O^TJ!&Yy-)l-XU$)ukeL}PZ>ByA zkK7ZnGiVr3fkE;->pToyn)*pe%~F09PAuUYGLq+7(Ui8ryTO)~-r-{Hv*>}jw)On? zboV47w$eZ4qihCm9}giw4+J_cT!33tH+9_>P0&AG{r$D3sW$uHe#}mN$y|mARvCp; zDs0DF%(PGok6e`hAy~{8|^&g^m2xJZCw1*p(Z%O8a~4jZP&QlU){|S`HaWU+2_~2aGj{tzt-4jJcad> zsM!F=OoQ{}f)k6lWq@-nnOJ4sOVXt^A&7 zK^tW?C}fjDuvq7W4-GJ0z7-4UE+R)`~Iz-m9KE=HU3^U7b9>p0{2=&RnpA%gno+L_So{PmN4 zrSQkE6wimJ#S0bcyq+7;j(`|gMeTfC3h0d}Z^oOZe}}O&X)i(xz6R`&kJs1f{~Ai@ z%lOrl9uHkhObP~S=d36{jhF6`1yQJg`w7m|gpL`Vm>u!wXe}tAFFP&c{%=611j{d6 z0C1E;5{#YGG#p@=qE-AP>2Txx=*FP^5L0-p+wmdro^GV@Toe%{(?l#CVS6)6tchS6 zFThNtu8F%KyxSdK6lWx5X}fWbT80C*ZqPLvy=31%bKi7TI8CeJL;V8;Xb0Epk`J&L zrVWfc8Ut~!9~sy*@iSU-Hg&m8AH?sjbjJ02P%&sz7A~;vCFn=H^H2Zm^2z6~O;`_* z2GC8US-{4p!{kx~V@6T5Nj40c{fQnrn_Z9t{QDmZWdXtM5Ul%X@M*kWQJ#C3 z%XGnkq4?Lyqf>9l{|Dy+6p!rh8kz(LNKe$mmH^8*A!I;_an7OJBy!tJiA?akhDOV@ zN0lN63=-6cRwTMKDISI+ETivcyF-3&oQI4fxHuK*KgOkq6M^V*RFQUycyk5s7?Zlj z#GG4I=<(hvABY;q!maVYevlAuPtZi;Wzffe{hRrg8Qb1|!#R`2Cm`YNff-3-fbUTy zP{2(XR41!jMN;@yVx8mA#YsT!^D2kk-uc|R@}lu{Y|x6U{QD~VW{~ikURD;HDNLE# zMeeP$>R|p+&;{%!mi|XD`wqb9rs< zIg>hlCq> zLcy)KRz0bM(!uXW+Vp}MCYCHyB^INURXyb6|>7W0!e z%7Rqy z;gmK56@&$A=w)S7X5`;GPz&d&3}lSc=wmnHhK@)CbWC*|O7Nh%_wV{@%8g-T zc#X;>DR~8|Z%;dpeJB_Kp|u5x2v4m(`js%MNL_Hs9#?>Y}6Fft+v{5gOXD@!zF`w;3FCn zF$vhb5xr6#P`g|r# zG!#U=9Q+#+VHvybet=se=eL{qWu)VA?01vh*IzE&9M!@(X5~A1iX}DFr43xhAb?^e z>RK2eW`HG0B!gw5B7&{mbEz~)Zv=he+l>tLHqqUaxu#r-O<9$s|3~SQdUBt&{(@k;kSE z1q@|2rpgyFo0bvLNELwQi4%g5_mmv^r4eGGbAmu{dbk>O z6C2mOT+>gjI(YXyIh}jO{ZTQwN}hG!o_Wl2e`v?=A9Mb^D z9Lt)7;&oA`3f$#6YMN~1XkEonUSgp&ZFf1=rIq7s4Mk&h$=}5wK!H8z--Kj8+1nuVhGx0RTqB23d14f0ARG2 zx$N(o9J?~rg%V)ZR#lWE(VxNsgZJ>d$ja5%5ZizFc-;}y!2cWXDGIVm%s7q7LF{Q&Mhf?FLX1^9Uk zmn?VP#LR7WmT&}*2Ybv-|rgLRp?#45QGL_pYvI8%`nj8rHVfi7)3LnV^qCu8!d zpTny_e5(}xg6BgDJVU7>=Sos8JK1%D5hU~I z_^n#$1t*e0Zj$5ecblXWVsL7eBg<*!NcaG7lN3O~q85+35Q7F=YF(1#wn@&NI%}p@ z?j)u7j2F_Vj^V8X=eF~IH6u8x-gozNmxROn zbd6S#_TN(HO}+Y`cI)j5&D%wmruWDf8egiygX@yXx!i4du1Bjns}L5If6a=`!0AGr z6ct(5fH@mtp=&}Uh!`^%&#J+gH&yz`xLD^W^K8KKI{i3LB%G$BIyR0WYDyZG6(0dR zA-kDO0#)U$I*|2GQAB3wq58#LVacTDC&LN9PEv@LBHd5Sl9D(>>OU^!+-)Jc{mD|H z%yhV05TJc5Q3mB(40SrIyM6mp73#I7Y^H1aS^Lf)$@syoT@4~uwY{4?1@u6_l`tI{ zeb`t7@_h>EJY5@7f9DQ!XkOtK&SuwpSbNj2B^BG_!+ZQi7?upq80j-u^YNo)*|UUn z-)syZKwB7IamFvc+LepALLe)p15GsXo{bS7wkyTA|aXShM`eL-S?(qUo2+%8$N$y+6 zI?QYfOouL~_O!rvys#{M{P^!9!L+xErjZd245n|G`2-ySl*LljEhbD=qj@{$7Tmo` z0%7X){aTgFr|d`j3gDkMb}?P;v;kvb>QsKt_FS5O8S=k!XM!6kAwcKANL>-!Ygo6h zAM#q-h9(+Lq}#Qg+s6E3w!dD9J>9LJl6Sp)>6&_WaQ@#~2Gz@IkaZ#(fU2ZHZaA*9 z9RK>vqXa%&!{fZy@3}Zwx({j^QTKA-9X5DRL8Si(>qp$1Z#x2qxbzVUW4Gq~0TZ5~W25^d8Gek%NK?&ZHxPgT_wno5bmC6jDbxm$PmS-=*Q*L@;~y zU3o~`bE@0coNn^Iagz2B!=BU8D{~~TM`qG-< zKXXjbMZcHlpjkSj+4Z`!nm5IMCZsm?UZvziYJMVvrfNJdoj8>EsIIkYa^7rM5vuOR z0*H=-r0WdXoPeNBbMc$=a`QxGbaM7%pBcZrK=iL<qzINLa(l^oz%~V+qb92oFptdbGicrH}f*lNWXQwI?@Qxv5>B}{^U-Xj|O|da2-PVu7xL;CZ`*2@_qxtV?qY$S zZ93)|wf@+vTafO1{oZ|BDf;_MF8C@rh3ZJ=Z8iB?xd)o6ySqc-e8W7{5SuFOP!Frx z%R-Xz?Z4`w0_}UXG!URu+;s5F7(5=5x0`3yvarkZ>ujwYU(xa-)y%}Sw0&8hJ7u_G zD9Z3q7?l&!n@GZ+FK#IP*Ud(6HnWHa7{ZdKV}e(*)17kJ^qGH2vsb1dByw0kw|0E=qJ%#oDF$OZM)Z` zT*Z%xN7oCeP{C-uQH?W;BsYX?=QK>qg7wcji*A9t9aj9aGTeA|ep6J%|IV;H@hXGE z3^%mlBL7G(UX!GXDVQOHDY;d;_0%c8O@#Fv z*WF6*>Vavxs~&L=v96sAiG)Xl4;%`ep=Kgn(WlNBNJkeG9%y6Wg8&`lI|I1@*9w)( z49cQY)Wrh`{I!xyUvElTMsHGSbY(G$f1A|f)#w>ate}K(!M{o+;O;9J4)>VOAlm}( z)c9kS({s$8c3azTQ-^$3Zx5uJtORJR-s5^>4xFnry>B+Y2S)KgfL747<4kh%)Fp_~ zGJZTk^GM<_kgNy2OR^(eDH4!l1+mQgpFXCrUF3{jr+xn(_?{%WSN-n>fI0~D4v88^ zeJAvnflbUZt<7ZQ&k0$zc0Vd=MxYlm)27BB$zrG;FFSyO%G(a@DZ^mev`?yJk7ZXz~m-ucJ;g{!T{aX?ysUUIF2NgI+m<8VAkNOispS>U!y1}nKeLF*fSOgS!C|QDo zdCoKMA}>E{V|?j8&*l<|9z^)15MLKY<3u?r;P~qLjQ4*;Eu62bLD<;=978&yLmlx^ zSRaS%RVm=Lx|9j*JMaf3Sa@h+Ma3$s@^$&qAwZXSR)>PH;1TOEndUb+jT#%^=`>NL%}OWV*PhSkqmE}G1L>>Fs=omy3-Ykfg+hB zN*m`=VH}st-pi}2xeZR3*qFcPE;EVe5-?c;)fkBDZoWI6A_BjwTenXlO%om8zJ7JN zG=U}-vZNyY;5Tf$+geAcnmKamKQj4}{kB89h2a$UmcaiBUc~UtpE7OND2Id_NHmfZ zH_*2Q0aWGew~pc|rekdls%QWqzT$iz_$PLwNbva9nbXMyLDmTI3iPX0zg72{sg5RJ z)NnAg@4qUPE(r7G|FGf{p=>qJjDi5Y;`d0sbq`fm_QXZPyv110noT>)AWu%x1JOsq zc%ZZPun=yoP1-$LAty8 z3%9|iAkA*f8Ax;8bm4178fh?w-CDY~Ls>FkV^&Tq7fnAseC`~yW#b7{Wn|VBFG{Zr z;-qg)dut@mfb5V>(82f)BD+eD35Hp>FPO1DRiAY;a%lgi@YqhfZ2TpympC|ON1z+a zwmJNtp#9&zG60@owGqFzRyJ491AW>uz33I=C@8e68oLU8q4Nr*P9fv%4B-re6`U$_QQCyuMP93zF$1P^)MfV%KvpQ#Qan~$(sfP)=;=_^ z@F^_=cRdrnu+1dC>K#ZSqcGqqB}~vQI~u-bvl8hW`*en!S(fJ88G0thhG-X~@d{Bp zHRdR6mBUv29-{SwQIE4hNwNc4lxunLQKrUwz<)Zs5I7z;WM#(fG|<(bJu zsu=-vIJ@D?>sgVe-WfLwe6q!i32K>lVL>9&l~Dsch|J({D$>7Ca3oDhu1EXQ{^ z5)3z$=|x@ib+}?xVGM|3D51lZwBMQXpvJ^(lyss;4Zzz2;4?%V)hUR3+5cC?7s^Gs zA$TwwRdwK}9$T83$=#Z_mHc^n#sAAH|1}Tz!Z0~e+A3l$s0a0Yb>BbR^@}5#bx`QF zW6u$z(bscrXZUgm&_3o;oD4d6J~W2G1gD|3+6CT_suP}iHhTW}4Lmeq>)VTg7mXun zAz*E-qO=JVmO#3KJx;;A#CB^ts;x@ijVzk--OWjjI#+Bc3Gq(%6aNN7xT$<|Y;4;^ z$Vfm&Es3c9pP)bxfBV)Mo6Fg#erF)5gFE3j7;pQ0by|n{zcz2c-(4puk+-a<$O-mO zmwoph-$SO})}0KSfEwXOexT3u&8){^v!$8mif^H?E}2h8=ERhPqfdkW+C7O19;C+!i^!cYw7F6Qj*A--B`8<6YTP*VO z+ceaMRTXyo2s03%R}yPE@B|Oljoxr3@8dH;uyn_#_+_m{&lG1k{)^ay_C-!MX1Fxf zMyJov6AGEf6wrU7?JzgBFb}yx9mg3S{dRZY-Fe#Fid}d-4S$OjC2)w{t_M@tOUELp z7MP1i(#ceVT^p<}y$#mDQEu>8;pCSew`h7(;?z}ZRHCJ=p3$k|HP)@_jy@3#j9$4j z`$Sg#pRfo3W|AI=tP;FIHoBH1=Vh4l?waEi`{iplHFeWeL3S8rQa4yJrbI|7cA!Z; z-Q|0fYT^H!q0K}Y+$r$ODcDWYrDltMR6)te*>yR*OEF_MrD5cV9^TWzeDXiyuOyHI zzjV#tj-m{a^ySrX+j63A&!bIWq;OJ zXd+a5b2&m;7D0$CH#`5Wbj9?2M)7OIE^xQK)ANO_xnNR|(FcIS{}nC%llQQp_M@bW zbr&{msp(xah05fS-tcCxKT<+BET@?^b$9HNJ4+E3P&BivN{OUST>MNfOi=Td(B`}s zys;wEe}k($2;PUtl;9#~ImDjqy7iua^?$hoi!qkN8pzWY?DDMb9LAX_HRh!O>hKe~ zw6M?*u(acGg;93CYJsWFX?m2A0RhP+bOn8foD6AJ*)o^qybBz2BP^XA*|#B`8t#jw z5TF-QXUGs7)2;W+GUeelr{h^+b?l?rftBA5gMO!fi<9(1f9IGD7k%C~z~;YR$N4oY z_%2Mh`xi(6PqU}FtwFyfXuX9J{nyDO%opk#BXW2VXX#jN{RTThXw&y^iS;ig;(uf; z`5flk>zf#3=7lJ;8NBKv<)#;x zi0CM)3>8G@GnK;O(muH9p z5V^4dljmC3R^Otu1vO4FEI04U=jnOk3o{cXzpR{-$@4CEoW|b!NRbej!0(JR6d%|u z##He|HUrl>n`4647P`t0M{=;l(sH_pF9s7IDA;)t{}AEJzquSS6y&VJyKx)6TPP|F zIW1bb{q@^m%6{&dkiSHdfd{va9&SYqo`UboAEppx z#M1dxdt1Y3cE@GD?Yj%pVv1nBuot%PN!2HBji}bqozD=UGraRl5!|UvnZ`1Os>VbP zj>a4BTacg4==)_GS-KP54&~FVE_$x6aUrAupx<;qj>_7m)7o4GYpZ(qF`S|HY`+*Z zt;Dwyssq{w)-D=K-r&iHq3V`{#0K}y8h+J;f}5H*;jcA-=eeG-z(U>P4nE?}|W z7Lx`+0s^BBr~-iqb{TK~GYASEIfkjT%vNJz&ALoF%;vc=-ZdH9hY$^uG6YwLow^A@ z5?9%@1--)QYykpvjk^zS@T8NuUaf}=@7NQkOpMkgJ0c&wFEbhVA6C3m*@j6_m6^F< zWuQukPu2xAChCp6?xt0_FK9@aO3DBkYKaTu?VOAy2AOtZ+bAT^@`!RwDso)D zVFq?H3CwS2=!syu`mL7JY`>!3YoRUI>d=X8#d0fHBG4T*WxjR`L+=)D$sN!jgn^-F z)`m}nN>N*CxF$-)gI73fO})wEDEeu1YSbz_V-K2C=kt#G9`DqjMwDgIhCOioLK4WA zte^}oNx)|aJ03hVCeLKr9AOW7j})dD9>HcJMldUZppC>N5r~_#q-t-2lv5<+k(R6Z z;n7Ns03_fw=G%|4NfZ0M9{_I}RCYpZi{DNf#HQ5Y;befXvoks&S)o<88l-yMg`I+$vOhS|2cP$#OM6+RBXUVr4@%_xBO)z?wvC<(8&{+R z&(*+1Fi8OiI6a`cv97aS#rIjWT-rHfRwR4}skoLT{$fziDCOccX9j?Pym|)5sK!xn zDq07v$bgY_JL|NY+Xg+)oC&mUEoAeG8bL2=knXZb`?00Qd&=Xl;v_16l$ntb;3SLR z?QbRSqxa8}=^GxiZTFQQmjV6*r@ZABJfgAN zN~ubA?l{U!?OCly=2L3>Vl%yS63dBKn)tQb2iu@?D&%1}?pT zt8J-DgujW1T<_)LG>gmB;`&LQw->@n9>-6f$6WYv4(y40NOE$z=u-6y*p%RaA%_)K z`Uq$owCB(TDIA}%bmpdDFQi-}Xb%;q*|1=^GmE9=?iVLpt-_387IL&9Kv(!9kQbW! zJy`JJ*KzZh>{#f!k#s{eQmlFA@_@Rz2vudSzxi^gZNOVAT3RiS^N7>2EZXzU?mO=y zg?lMbIKNoB;bkV@k+f9aSJwM48mvSZ6N{sB%uQQnAABAqazg)V0uI|?*9KahzO@f3 zx0?(qSJW!b8dJ0HTfNnpRn^Y4+IKq2%b&p&0+Q{hqicW_e$v471S|z6TD}gTzh7bm z-%_oRvgQ-0M8Og}_vhZQ7Av1mb~w)U{g%Ts7aoG8Nc#!$?JWf8oB$I%)xSn{b3Nfo zjk`|s(OCRh;UL91+u=Q^(Lz!CFm1$Ujr1PRl}4EjRq^;-qFWiT#MKPld&;TBrww>q z$wC>-wqYD+K5WX9;|UrjnJ>?_-q~ zI_F+NehrArCyC-dRP)61jKyMcxcs$VyzH&;jUNOf{ek~nsu><8%zu|Fp8PpBNr;E# ztkfvtDK3$mDTnQ)@p#M-)6R@lT^NYalxR!m&=q-HFbIbLUE?CjN#GWTY4c)kmfju^9C2Hvu-whzA0CpzImr5jKgZU&x1fcCL!GvAi6+=flQixT3s(UXf2 zg7+$(zW!-fvpDHGeeCFHZ+=S-|7rC=bWCc&=XGJ{++L{*k(5X|nao8oHYv0VKddRL z+76h-vtww;Gn-CzZ9l`vYgRUOFxtGW%RQ6yLPJU)-{P0HC%>K>gVi=?{8w>R>2J{d z{3vvZr=N)_2HNU)XW<97xm48-cpxKWUuMqn4 z9sSF$DsD=IM7)m%8ecNC@sA$$O$g8qHdrHpUCfoZo_QZ+6Idzu#}gBJva+(xVAl3r z+T6k0J%?1Oq<|Zb_O41ToirpV@r)zi7&&XRD}oP6$F1qc%vNn237bmo`QHPh%Az*# zGPs9VvIAQ(RhYW%cpaI(z#RhsvCtuwQ=AMBc#VzRg9KiiVX&5}Em%$f&sKZr_gzWI zQZeY?T5e6j(kc)r=j770I)+0pOjiGrA2G8`5%5zf4I~y+Xvoee%l#M@EON_CU1I(% zO+=E(7NFyn=hW*+7AE)U<*llJCCt!$6Jyxt>Oz?aB9do~s;gtObECg~iYwznK>#u8 zOqknLPG|L?cTN6^04SQN%^^j?bGvEr6-R2Pb4of9br>C&J;Pd6ATFu?-Go>qYm_3;q z0p_@cc*tA%2x8Pv4&q3FW`pIZ(9N*QT~#ZwuT-))B@5^F_R4m+HZ_+`L60Codp8?M z*E?!M#%>3(&=W8oyoU~!%c$>Bq%S;A_PlDQukw5zbFSI({@eciuZ6}yYo!m&JuJNe zliJH}ahf(6O}RC?h@u$9EZE7y+}_i8@fn~0dPh(o{{-nt*>}DHJrSuw%wQh3XpdC}u5j!FU^M#7Lx)pvL-6Gx^30*j#a#S+D42oN~2f@?qDTInS#c4 zgCmLcDGkZBmrT8z3cYEQX~&8*p~Dvc-xVOB`v*Bnv}( zbh3K22rvG#!U+CS503IY{ih{hDJY*(w!;os;JmSo53vwfyNJ_&0n2i@J}w~vGt3OI zXsw94M2!rK@N1M!vGNlo9VyFI*_Nx1c7G4?1UttKbL#@`^**p983F)EW60%UL1SfQ z$Fn=n+mduRp6x2Z-@RZ$`K)7f?IHjgkx_E?{}uanbDzy zB#!FwT!k!a%jYVRefj^7s<&{fvU|RV>25fO5~KyBrAt~`y1QGtyIZ=uyBi6W?oI*e z4y8+e_u+Z3&-Z%&f^)4id+&Q@%~~_K%ENf!Dm!;Q0=J%p+f9k$_%pLwKhRllkniSG zshU5bB4sfkjHT#|w$nu^+#`NX!T9GQXQS<;ezlw=I5(ISP6z??2VYTw9p*}6XcHcm z+&G^N4GD}BgBwYb4~;CX#JrFwlA%`2<4Qg`Q8Te#`f~F0qqVZ`SEktE{OA!!ynpO-x|shKZ7Hk}pyj-u8e1Iw!D#0eY;`&I{~=MuL0O z(f2-{f|JTG_g2Fdm1KdtNz=2?1{*dCDUJpRP=m(9l2oX2RrGFZ70MdTYziksHhYWQLvU*>liuZU`>!#(@acGB8b<-VluJ-tPaN@H0lPfCy ze7A>*Qa`M3B@Fj%W`Bk?jI6+C!P3)H{qWzB7ST*B2(et&id3Cu(by675JijA*tFW> z4JHTbH6ye6+Gn%GFt^*LG$=}m)VB_j@0VJn3O5qz;_Kq1#|B9Da@^wIFVa*>TPMh8MU zF&Q;XdK_}7r~H*X3_n7BT>ZKIH}&Xo2%r=EO(vj$C+kc-x^Q|9QxRJF>tpiHOTm3cyp;u%1V}*#1WPV8P?nPfJ*pn}1?$>k8m(8_ zO1-7)!&AYb?NQo9Za9~jgcqwcaud$$qW}yA5Q4)mq9P>_q|!{V<%Oq8?~}%}R#npR zX^_O%cfxBSP^8k-Kd*dwRzw>ZzVy z5mf*EV!|}>@`hk^B`hXbGjkR2SU@5K^jLusJZ{wbOJ=DP`P9XCk%-KAu{-RU`hYp= zB1DF%4vIaU7*0N}!)BtT^WrihmUD-JsUfMpnjy9OZYZ-5c^0Y5;ffM2kpDXKH7^Bj zUNf(HE{+J*Dp81ixD1{H7y{@FuPjyw?NbpIo!JlcU)bd>A7(q7(a%bfcsmH!nda-! zgwEYu^(Yr7jI{>%@em>j%XiDH*WU`OP)`z*6))lk8jZ?XHFkt5B8U?!mXGGUQ;s{4 zOx=irOO9n~xjc)XbLCoIxrj32%EzSzjee^yUk^)b4h0v0-U$yqy4onw zg2?Yj+LNPO&TfLZ+L-N=y(-`y(nJB<;!>nN2nJAY3zI7mD2XQNcVQW_|`-WB@7EGu;d4VPAQ7VYoiq>5ygrLfNws4%Q zxI5n!kgbV0XLN|Dk9bycCb9#Yg8*vQZ3OUBArS2&R`E=dB8y0yCt**}gf!^~z`5|$6 zJV5x2XLM9&B`@~79|huQM25N{7U)f*<)w?! zHX)iGeB%tfP5eA#o=aCQ14A8V^WwDO;`iR{u2z`q_h`==PcN&xmZ*)&MT{Mw} zN|K82KM0@~f~g~*9zxjZ3+;(*!sKQNJST(iM=e9S72rURW@%Hb={6PBO6mSu_=Wxd zG6zU|C^s`fs;;EVK<(%+r^Dv@+=)vE6&^uBMUMj059WR*rZQdUHIQP=ZxjItpc{|} z8_?wlcAovBe^s4YTl-Vr^ZDAP>w)inaH}6`*zA0R6t}-MvN@FuzJ#MrM??5Ad6 zzt8j@3Iz>=qzA+f{eOrju!XWEGu5%p%INJ9y|=rbWjcQ*5&%)!4|mH3M0LwjN@nd< zh3+BUlX*|G<27lBqgx%7PrVU|AS!oIss)GPC0166H6Eb+*H|Mu{0E`S;@MO`b*>z{_@IAcL^P>k_M zpSdBuZKURq?w!82;#B$GJ6L(7fWZcgF7a&}db-zK?w-&PQl|{W3438%)P(1mg|?Cr z%EkKGY%ly);+gMSQT5@)k^|nm|K|Gq=On6|`&D3w77dGf;<|Myz_zI5oL-nM9Y|s2 zdw?p7tiC~l5t)Cn6Idc8wupt2NhxQ#qnjZ&;~BF#>b+6Onv!V@jIGn)BE z-vrH78YE$hiOs=Z1TbN=f2c5_Wj2R=2O83PEGpPuesp>BxS?xhDrF>BuMa(CTT2^q zg)1{hZSb~t9{bqJghFr9N=mfmK#trcSObu;0p$Zi!Isky=3WvZ$v|YffeVFVlm}d% z?0&c=bnF-K^734X>JH8XNi$<3r-3WZMZd*w71;5+x9p@h?aW<%M9EdF)HqpZr#X%r z=f@SzIyUM<=cJKLGm=(@BETJjG#?Cr!5V;U8|oAz5I)#6x;@OlQG9~F5pE)Rq5U2d zcpE8%g9@rb*?Buj`_=8=#JL=Nq`jNqi>X9d%DK9XsNfupn3NA?<3X7Uc;R@RRXnC% zYfR(fAz?Ti)&PW_BBUk-ISDVsJpUU30mzYa2LQca19QjyGXV-_4Db75Y1r z9%!KeG}h(-n`9`m4=i-XRm_Yz-n@VwNC+8xD@-?dIoT8Ft7K|S!U4LD^;SKydi;(y zo4sOPH@~n40dz({dj_OFD9*~PuI5WGOzMqVqCOnL@@G|7mIo+IG~sCNybBB` zgXK-zIU6EMWXt2GsiSB}0V2%98hNlpdNt6V6gLyjM_es$V`TjC1f#8zppot4+fX z97AS`Me1drYp?wY#gw4-_piJA)DozN`7rCtJql)|T~fok&Az;CxS$0rc2oIp_d11w z;B#J(#T5MOUHwPQ%lm3m;^3ayVNi|@bzD?k{>b4-U&smGgi&=bOr078xKdCX@~x7QkDB-BsCQf z8ayBjiO>novNXU1i^VzpCRY!M8~t%P!A(ObpqX*MT@rL+FdCvwv0teb+ew!D{LnPa zdP>!hC_q3J$KIC2Qijx{uP!oz$4SN_pT5#*Vxc(3>{vcNULZIn1o zfd$W2qm%skO-{r0dU4)3>mQO;B?d8<_UH`<7~qKSlO+hDu#H;%?)^OLJbqa% zNz$HjRbp9XGkQI6G?6oOG*d%ZlFWT9O8t4vL?kyOxkJ;I{@hg;Y2&q!yvEn+02+9~ z8goJiq&IO{?y`ZU6~txb=HhF@;veyugqf9O5o3bs!87)zTD2_GH|%N!VtEM0L&Yb8 zth$HlrU+JZbGHuu7`agNZTW_PGl_tKUr|hjbRt)=s5~&HO(iiD=Jip)@dvsoz-3it z$cH&!=*W3klAfqh3fcR&ep*-y{9W2S#%LTicaGxZfs#-{!_R-P*+Lcd?{hdCue6{2 zK8)89Zy?gVH*YA(bR3QmE=C^aiPaj3tWW$&-<-c8v9>cK#r68i5yt-$;=Js0?i$W3 zOw+Zl6%|GuRmk-)AJE9Z{{Me`UL~_)=QpRs!m&XCo(v_4PZO~uw?8dsj!2ekr)2d_ z&6cZGYKqM!%v>3b;r~Xk-?H_a(YSH7LjYaj0b}gIgBfB2v&O0)Wfj+BR&MQAo7?C3 znx$W(4|IdhdC0=-r+jGtVMF_y-Z~=I$)$ixHG^`gMFVR9>7OBsB*wH$XxdH`o$XuW zxcO>w=$H(eT`h}TLubavm8sWf`vH^&Wc834ni)P(dc1W!WR_~wu!%0vB+G`CLPz8mFB0xe^Kc|D$e^qp96%XZODlNO&*orjy`PD5R*(@XexnJ8CX4X?md+W}w zlG~5A&3nl?(7K5H-2JoyoNb`)!d}KvQ3Kee$!+eJm)!FgqfU>6TH_DTHO4(J*OjhZ zmX_r;nuu^Fv06*g{w#)r3npJX*+u-n6~fZw9XmstOc+F!l>Q+pRz=)|CqTz$ z9ms&!2PredwtB&-Uq!!``u8AzfR+QynD*P9?k>jTP0xD~1 zX=|`WILTH+sbn177*g&x`DygJ%Fo&2AAW4C-{0N$v1w;62*~FDk&_>$Gunrer`eLX zzra%ESyZ_t(>r~Y`n=%R0Yu|uhPYFlTl=q)n)Mb>XQQ9mG8v)#fk1@xX6%iP&N}P! z1mYDxNeW?o7gi;_a{Hvx!HF;KITzD0fQ$#Sd%$BZ_7)k&p|j+eMT0>@Wf4i5l`&aL z6-x};Nsyh5ha9;_u*P4YZ6lH3Bz9(aIH=p@`|u~KhdyJ>I7KBJY ziUF+|eYzfr-Yz?(+H7P_UxrP=W#h}g$aE})TfHrALKv7jh83cL5#FDLl=N{MeF4$V zgSOn}QdvPA5}|t#EpQZoUhbcfayb!j5ixuyBm5jo)Yv;?}ErN8j>Y>>BLm{FT>)b(o;bVDM9r^>dJE~Ic>e9F|ld! z4z5tSj1WLiU^*sA@TEi&##@v+gz2%QE@GEClI5|e)bNBIi#RXCrBhtmIn&SNBIEV) zJo2cV`moXjDepzapfHU7_8zTrba2qkg2Xv`7Bw8zK>R~^O>KJcshV8FDpqY8H+czRgO@hDv%jwG&bna@cc_a zq#w` zDgy%OFaCENezfsWjRYQP2ljTm%|A*(IdL#)R74USp-eTQ#+V7+P_%nS!CadhL7@M= z5}GmzpX}3lVEy0oD1Vscwu;k=Oey%T@U+(x{IPYE1Ybq=y98V^HW{7cZ8I5QNdWji zT!7og0Hi*vIQlCI=;m7+pN3CLVr#M)m69htR=+Q^7{Im2t~6jH;Sot_{f3j5<3P9e zp3m$Ls$r=8$FsP$x>TZStCu@_=*6()E&uD!w^j3I{3`v4g)iX)`|y$G0iu9_A2@PE zgkW~aNpKpYz>g&ufI=e;nM{|oe|)oTnI~Lv)ATS!!|alq?vJ0gIpX_uuOEJ^PS0Vb5T=H`b{_|mljP1>#y-7U<1uC`8Y}1ywW=c-ON7L$$Kf*wgv6s_!ZY%bmR zR-Osv>w)(H7kLEjYLW6#Az*(IBE#>BR?_lh^`Xb^`2eQ?=+KD*AT*YQce#-|S!ZAW zy5+P+_s;1)?z$(^4RT19ED?uxi?uufAq<0+(m|xZLxE^6l!`^YKtJoY4&Amjc;4mP zw%Cuk>bfUE9yOV7vV>6nMqfFQz@k;2O4(&hIo<1O5I~D)cYwbO7z(h@Y_xReg1?^` z8I#yWC19fXXBtFESI)B{wG9_%<)~Xc28K@5ClrMj|B*EHC2Qol;Jekfy1=cz+O1l) z^x}yrudC~LwtKjx!Kd3K{qD@jY{WTuWRzS$9mDi`hw$5u#5jQuE3C)Vk3cvET{R4mo4Do0}U} z$0FwWl6PrNC??kQd3owe2vdvyIlzs=Er@Y~;S~@uG!8o)pi>aZ>xwcEwYR;iJ#pk{46s-L|3|>`_tl)Tf4f|`TJX2Z-DOcbiegQX zORI9lEZ3TYuq#`Q?v%Z=A8Y%^qLw-+FvM3G7y=Dd?NY`}@ z5%q|t+csrAZogG0VZqQNu;sPNxJLK(z0FEJ%!Y^JUlso*3Kg=DvOV~%b5r7zk&L%q zWxi(=_nl93E1DS&FSCRv^o4xKxLdB&8@Q9A4%FK!PJW$^{l-_{N-10 zUr_GtJV)!pp+g6b1%C$-Pp(H+)ASeLg4!}2=$J@+dv3VwWrw3|OJZ0g_nMAllRlAU zc5nsBzC<0v#a0xL;lW!=ib_a?ZV18wT5d5#Aw_cqU$j|YU#!KHgMO!GrD~-UKmKvK z6?xTzCzqOPitFQJP34iBekO$} zW<*&kg^+N3qk#{2uO;|B5gijd+(xj*G)CF>YDF$g!_@tc6-wK{)b#3oRE5Uivb`w*{IQws zZ)hli%_}}yl2kCUJcQw7m}v|a1I8Knu%U#>rE`gS&b-PWN|!gg{p__gJ5{}jExM~8 zMv?HiHFz5!5rXi43Sb~-6b2U`8To&_FFZ9IIBlE0yM9={MfG1K z&UA;~sD0mnLs+?C!ZGn1QiD2lanl7pucPD7($T&R?b%Q!`vT*ODkdf@N2btXRlGFD zM*kf-O`r*Wg%-E0p>!cXg?iljbjV44qP6rbe-~r;%k-o7*{6Q>|BL@?4MDV;#Mcdn zj6vtZWcqIP`{7T4sFqgzV6Nu^dZ}@{$b{B9mm1++i8{KrWGxYW?^i$<`1yb}4tV7r z(F(m1rS-L*9ejq8=Lgum8Y<{h$99wHF49?$5H%|_Oi5!hVz5B@4c;9YD!M~czww;6 z)Xa()<_?!04=dN&gklNhf9Qs)svx2Xr^f%D)>&=G24UCi7ZgAMo#44cSga%k*SHP2 z!k%i*$zre0kB>*W5=14V+>?rl;He}W)gQao+OBBuKOT@%*|tWqW((Wm$XcgPx#&9( z_6LX9$i6mwB}CvX2xze11~1~3>*I%25gPo(zh8C3$qsi>S|&_B|b!?KMovJ}$}F5WcJadh%ZZZTMZ zh+Sxk$-=#)rQmdi@aYK)R2lRbrG}X_F79{{*a>J~GX=n23aRxas!*nsBU71NH1O>b zPyVvP9@w5z3HICi!UG7KqZGBf zs`VPA;iYNVkK4;Ho)kZnvQX%!Crng zT^CY*k}C%HDSS0cXc?nvjf6{*V{}w#cp?a(Q+zr|i&bLiJ4>Y{o9Tc`!&YVFFaPbm z_e3$xXI#zmobxDdehmYARxH!QnaSsa!G_dtlZ8f_)~`f_56Pv=>$6S=@+_;IzfTv< zlJk>Av7v9w6=qd?Bj5P`=xbtgCYecu06GRijy6{j)tRH#;_k`Dnb%ZkODmpuzG3*N z+B3dumMVSwxhf~xyv5vg>XQNMIxWYuRAIhB9wl9+Gs4?e{;|v zb8|qPCJP=y-!$zVGA;dxjw83U6$H>9aNNIFKppnf#s9pK9DVwrQT2k0%}<>Jey~n* zN(^*&wcdF8)_f}lQq_P~@PP_^dB)7%n3Wx@(2zh5m)SZOyhstQi*>B1h)74=-M0V} zR^eUbNL+&?COZ0#gya}c2%tY;VW3O_decd#^P@=>UGiQ@pRbOUE2ppW%N)<)=1Y9? zv#3&oDe$2MS?I8kNn_BENv+us!pv)qtZxEfOdK;NJIjBu6fr+%;xjl~=e=YIV+GUx zsSPR^?A?*5FXeD%ZpelJy23Aq%>R>cw#CL{N9pRV==})`bpisBdB9dW^sYvc3JHq^ z1rh|K-5pw(-kEiM==#)pB&xCp{+Nvgm$W8HXhysi*{c#{lf}t@%%-_Xj|uNf8R?G2 zOLY6`Er^e1uO$DK(7XWVT}X1iEuboj=sOdo41=%EhB?n)Et|MuIqtmo(H5M1c{t*| zA3l|;T|)_uW|iTs89zZ}Agx!?=8r#;q@W07%zP_ct&ucSbd=x-_qe!)QQp)9HsQq3~Bf3 zsN72YKB-uc2<_ltK?Vgc*a)`P2X)bEpUw=jx)o#|szz5+1xq)|@Vh=^#)C6Q-+{M; z^Jb|g{$^$zVGi*R<2rp3$-togi7PyR{Kou8v7OMiacCRAqtQuC>DmLsvsxis5c(oALj$8*vLWWH!CT`e*L0s<_#HceLy z$4Pe!Y=WzFE3?(nw%-Xv?a60W7^iaPlgJ9+nFwNHw0RfujCb^; zM7#rdMnItn5&|fN8$27CvC^jOk7Gqo#ldc+JSmPT8xL1qFV|Zy_gLrlW8ddCf9_lF z=yb>mbKli4PT3=|&8>y3TiYw-l_wxh``B%%a9X&`E8G+?7^}!8&PjHKn*L(=F8xDx zQm_-ywn7?szkx}?z-9e1eLuM|+WplfE;f|P+Vkvc2$*-PrYWkGJ0=qFGM9~vh*l=c zj)29l^unXBdJ{F7`m5FY^c>wXR)3xUul%K+5=H$VXh|vR_M9Ql#B=+Z<%$K(h^|JT zuGc&CkJzXKQW?h`t2Zaa9!f0eVwmgvb6(T_Gi{C4t6gh|e@e>(`FoUlz+4~?Ka1!IF~W@utd zUqD?3q;jy>_%NO}K88yt$UFmekHIsR!Yqu0330yMm&#_)2A!;KaQhraTyd&#BJKME zc|WKuN^X^Db)=W4E3eyAwBHo%{+&?pOFnQ=l$Pc#s#+>Q<+mfdCg5NXey<6M&?Rm< zpl!WUv6V^c`}{b8N~!^Ao~v7aS`Q0W#QAcz&H)~u83yzUUSoN z4Q^VZrg)0dT^VGRU`C3o_YQW7GCQ|=e%7v+lVT@dr%N*kmXlgSGksXd5!JVH3?!gR z#!*S(PAovfVb0iX_F>IgT%PDvBE~Ww1d30+D&8=#kg?`{5Mhgg06N2G#d+;=fG5hK zOgB(u-_Tdce2|Vf(jC#(sjGhvtpAW_P{f?FQoLo|`|&E;1tbbmiT1L0dvFMIx8(~^ z583g8?~Xp23yJah6$iK=e{H1*!O{(-O|aU=2)RW$dmYAh0u}<)Wmn*$^IKQy@aRtI zQ;}H`UE6D4&YIR~u6K;$46S*eltgkq>gaA6n2L{PQwo4Gc|Daf2((yPJ zx_+*c#5XL5D$)3S+f=demPK#V1%dbt8k3I1ujOP<#fsI&W#P2=kI~g|2w&-f0}`G{ zJ{_<@=ZSYry9lUbsV1`ha2l7EWa#xLrJ%%4bO&fTKopGS{+}6BR7>4{Bx?pHalNOx z^VeC=zm0$U4>R6S)G0Y#-JMn@rSh!qDAqw`m^~gGC-v;OuT#-^Xl~yJbt_anm zq+AbTJJZq)m^+0Z*>C=uaSh{Ko_kaSN;1$E=7fJ zGEjfzF!i?$^P_9P7jy8O5vIIBVEjC$xYoO3=d#PniiJpw_l=Aj{;j8!uJp^pj4$m( zvpS>s(*mkptL^^c)M5g1++7?Ri;lcEF-8>x&=C$6@c00Qq=V7GJK4Ozk(kg!{$#Zp zv2q>LafVV}@2_3nodUEs^f~rWx2i;V9*K#));6(dk}5Fc(!_8G4r5#_T5-ICeF{Qn zogGJRczuax)>*1{`|x^r76v+!4z>Z7WRM6w6MDRM@DivbtLd$ml`_whkNmq()>i$j z18qOQ`%~3YPR*I$cA|Bi2xs8zyTeT2kBFYW1BC{QM#{=J)E0#C0}0t$F^ANx>rCi17rxGzxYFdBLNuO`ZpYIY16&H#2;5XJ&Ba#KpTUR zQA#o?=z+mYk0BGQ6eVL2*LmnDjvD(vWpIUmp^_513kAYj#yd^%3B7}59~zskUlK@% zSA8&Jl~&g}v$EL=*=k5AmJ+Xb2+sg0!AtXm`sjSr#h+!`1(r7+)!bZPJYEt3D*M(k zMJI!W4bGC3^^ZRWyP*>q7U+U{;BDDIDgG93 zkfxJu4y{JU(1qboQooDj5m^Am=&CQZ6X;}9`)&#Ey_?P7iKbrcMcIv>4T6fIKMa=d z%Z)Pv;U)WHgPML2|AqkC!t{?-SO5&oqC?7kmB#FGWmZXj$^5&BLCTrIW8>}cPVnA} zbfWb^6{wmMyP?ius#5|7_fT+zQQy~=P}p>ILo@CbZ%!d33CKHWRbP@ zb_f>Qb4Yk69G_;G(_ty2aNBhgMGoXqt{JUF%Xp$hj?Q%}rz^!yV7%uGN})0mK*lS3 z6mjemSKEaXncCqHKz9U+;MWbPAG$&+m1$6*0$@9; zqwNu6koN0ZFn&2TGi^-tJNZ8iT+a;=7m#+cp#@X%spM5U2L3i~HuljU@KVTcv(SBt zfv(HHAw&Wya3I^p%LDX(fJd@GWnmAO?dt2yT>g9|crHP@xZL$fD2||Crix$7LmusX zt*0th)tq)qj10#_w#&-=&7}7EhkfU^7uUO^JE#b@E{7*uH;q$n5*j*zT5h-Mm zB7-NyX$frkWTpBOR6QHSmRU_?g~2OH6L@r^t*XisN05d=|J`^ni<^RBG^_nl zEO@aK5d!E2FCRw?V=_+Rt##zW*;+Z6m$&)PnbdkqpTVe4YZ2G&QEKPXqX|n>GBRt@ zY`={X0VPzBAGW)ckilS$U_hGNu&2ZXvq~EEZEBDD!#(BJ4A2OvOTddZH~s-nK{Vh( zviq9)Jc58}+mHxpoVeu|(Ya=2uB}S={JUPfkyzC_G__*RZvMCOBAjgdLBPDpqG{xR zv`nzNJm=nz=kH(-`Vm*7T}QHM*Ar&+o^_77&QCV(K2k=LRhX7+6xGF_OMnj^z%CI1 z%X;u8QxspWRS!FMm?lOLnuiQlyC|C)IZEBg!q=>n5e=Z6(noreg?{%lYlfk14%YmN zIWuN@&!g=n%oWRd*>kOQw0ERcn##2^?&xW`?9~g$UOuOiL#91?&cAfK`C5YiA)xO7 zc*Z{GPyv(HwAN=8a0VqW%upMJ4>I?(34+L$r2;V)CnNhqw91N3pSAHbvJnV$sy0d( z=>IjqmRnqikOe2MDLGcvsGB1^o&Nj2*O%?{Nkzl1ykkS#zn>83lfAv~Ab_?p+W-ZB zn2Jz1m9Hy;wp7^4io!B`s;FfpmJ4lnF!d9A=k){7VWHu`6R~5qOL_xhSYccHB;@`R zB?;@~-(caLao696@*w{+A2DI!!9_C15iVkct7uaz?zfQdVQ19jC@rO+inVVIB8vj+Xa)8IZ_c~*RNRS|W zl9XGm;79xA^*Z@mms0CrrBp!*%^Zy3V;p`b&s}c5#h~0#R&sx#%y-4%asI3k#t6)1 zr)DAt)#NJbm6fhIn}N zwkhqUJ^q5`8*{q6DP>=c1o(`dF?&wm%wmy&u9RjodxdHQ{#-z}GzJ*D` zbj?2A8;&S?%9}`XIa(LXvGS9)xaUQ5)obwEoHxN~bkI6zM~&DDWFH6$$Z%p7$J=tX zzG9K)pMzeu^*s7K{~9|6?dJ`{3-})^QtvT75eW8!Ab?JB4}iK0KZEvuM#x#Qk?g~J zV-4%(r1YhM(D6LulVS{`)Q+}7cE65hOBU(~*@V+}#lSRT-g+}QZa5l8c2X$k30qyO zcL5OrH1yvPFSS+I|1#Cx5^+qJ28aK=;8W`Lzu_!_0JwYND^Ek2MzJ_ zeuX}$EQd?ehMR9jS@s1%5prRq&)B|iI{T2%{7xaam9TPhl2&}gn6kB?x73Kl16 zL2H`eEpGW^8lL1fgGk(3u?tJwb;^y zSv};zn0=|>Y*Za)kXOZ7RQ4msrL1}G=BxhifS$$lj6bOwY2lq*f zmf;PR!8RthU~mG>el1OJn=Yr?g6)xG$z3_jHCSb?U9IXE*38mHc+bFvDhmW_eMi>)O$> zNVtnuSP%Qg^UKTsIq6ZIf90zZ2IM7YDiy79GY^}yFBKmR!csOpZ)t7lS2H&>6RO61 z%&o*_4aek?##B_)d%de9=>-gsK_NBjnv#Q4E4K(AS4lR^qU{Fg-Mg~ATK-C2uvj6b z5{8#c>Y&BUvE22_LZ#bSUiT>Nl&BZ+m_OonPmE902a$%cnV@qeXsa{O9<>gDyEpnAP>;`t{$ zrQSxAIA-0B$~QY&o3L4)kL(C1(Q2SN$C!!b1Ki+V`U*CbM^R<8e}#BNQaaHr3%W<( zY|F7rL>GJ}pZu%T=MdYH=2bXJcsR2wOVQVRB3;x_5cav{Lf@(CD*wxgVbQsxS9g!; z|Go?VGkZxWIg}ifR7}G%bFvnjNnEJQb1-S2^;ViMPJzjxic^ZogYg|zB^G%VA%I>; zwTu8WW*9BYovb>mq@CZtm#dlcmzT;b4itRn7x9ujSOk_5lUhe77^tGHl;4xz)fG;j zPT$cqGcX98judloh1spH?BE2~_z{v^K~(K!i;&~IQ} z2EZ;MID>j>Ll$TW9WGoFC?+XbqZFiq_ah=1;Lvs?1XOmK2s>5Im0`W)bx|hayVUCFqaCpvUm^msjTZ}P2PkKB0CN?dEtX>qs1 z+55R$1#wW?HliwpW_Il$kti&ghhO$0924}wEQTZ&temTR|0G}i1?VSb%ZO=FoE?=} zj8NV@usO@kJci_;pQ*HhmP))Zi~8S$@`veit=GqA10(Lg&6qu%f~VC~RV0>FQMD|c znk@mbo|L7&HZVzr7)YT1Z!=~rD7rd5mbpxm&t|WH@KL%|{vC_Ol@kw_Q}oi#nlN38Pv-BJ_`71_O9a#o{y{IsDXBO8<4Hi+C(=4FW&pf zpsn;X4mnm1+$UI}71(nW2%u{sLWnm7%^AyL3!O?X0D*yD&VBPMHJhZ3MS}u^VW4eL z;Q82&RqICPR0f|%M=SHb^N?z?wEoN`Q2;pVcj1i>n zXkYClV_`-Kn_o8<@<-=xwPx{WHJbq+w2i$NMz|sp+H#u2SgGiR<1|W?oGT2K40l*4*lKz4Hc~LKS)eU6 zu|4E(%Nsxdo#R~q!g^pmR3o+!!rc1ApUsM|`D*2?P%_hYjSj|F@S6GNAvERmGm;P1 zk0(04Neo0Mv%GLnQbV0kVbG)UVTS!NY04k*rame4=$~mzVAxvO$YX}Iukfvr&Cv-h z4ga2dfB?E7KnA)g0HB{J#57>q5j8ZWWa>!i#qhTxNg91dIMwsomHjUdej;FOnZF~_ z$}mvPj@hYHFi@XpQ6-7@v?;Pmiq_pXlpBIKouX}Ym4)DAWKUXX$~o5$Tm+eEKiZjR z?d(DT{Q>tvI)z0-I^%~w7v4z?Pow8~qW;`bk*b`#6k%r%m~V@4i-;9yYjSG*_;408 z70UE~4{L>WQUZ^~!aOt)#l7e|P_gZ4m3|E?60KWRuNF3(LPt$kUzWoW&{u1^34AN{V@a$Xi6ULKE7maU4TR{Uk*0z(Bz+++UNW zKGD|CU8@D8`8O>jFa|w5Mvo?W!;WKh<6P7b`qt?GnQcyW9J_m{Mb8B|1%S{bbYKH= zIk3&kx2$wKyW3l@KJ%NN9?VSe#^d`Vzn6n9(cR2n19$x($aYLW;!r5EVUivqnOSYN zRCuunQkQ0HqoF9ZB0v#SA1fYbmXN#A{p;4ec`Y_}TJ-lGg-p)<9t6-Dh62O{qasF= zs6?l%T)s`BxMwSEivPTH8Y>sRuz$rEBaO5ilH=C6hfItvtv{#670A*nK_2*-h}w*k zgElm-iDAUJ1=lu6I})2SpYRiEIE7ohV@g=?vb~I#h8eSj$vNQVfXL+z&LEpH@q3DRlIPU$}OjzWUkcJ90KSs$Px!&fb@a0$3x@C8F|Lue zDKb^>s+m2hW9pF~tWr00@7|QsWv#ZNO|md$sH)a}gaCRbjtArrH_|RE)>gWkpUC{) zO_=jMfF!x6gZ75Nu^I~q?`)7FQ?*iMbUF1_<0fNt9*CBct*+X}!vk)3up`SITCfV? z#kit8f-K{|Zz?5}^Ucw^G~4x~KI6O4ZD}}RmVJDsocFQv5+pJ33#ei=+~JZ${_v_B zox{}5&{mXNgp7MGw^l^zgd9Ae%npWIb){6P2L_Wz-~F7Np~yywjNq=mqR=1zcXC*V zhh6Ejao+mH*2L6__%7(zH*vV=xZih1bzz@lec2#@fT3^yUNaJ3O#(GGjWTMm$arpx z_p0<3JlgxN@(Pwc$JW+b{ReE`>FBwBPnjaA>h;}F?6}a%!Z{vZO6W)C@U1Db z`hI?2JM~s(D=uRA$SwVYmWQggtNsdCatTC2A_Qoc&H%^SfOC|U{`@2M?#8*ESq|ro z^m5rJ=T1fN;dArnCEGc1ldd+ijSfju07o-snzH+fQ=G6XQlcJDC;#ka(ofA;P$ zR`cqyGK~GpH3}V((tA%nkCB)AnQ-9}MZJi`j7wA`{=pz;S~@B2DwG%(=Spt)f;WSV z?CNUb)!Vo9;q~7e@(?(kVW!0BmcByYA#wY;CGD&J8pTFF8V3sH#5YjVkJ!5KS=q%@!pD} z;zl+xcu*5hnf$SyfkfySR0fE#xKh|VEfmpA=e0u>eP3vg9=gIey7pB6_Y42aumNF= z|LL!kNHYcQ=nw6klgp=4M9mW}U2%A5FO6`goV3*vw_$Us`JHHAwHFnPwD8-p7wjGJFx@{D^*(ZE1pwVsS6uNl5^O{+0A%MatQJG*-I)@{d)_Hyz!#b)#y;3fWS@udUA`Y>QZx zg}3swBRC`U`Y&n^78hre3pEddH%}o2p_Fy}cFw(df*JodK0pZ}@jDm;8@rX$#JxGP z)@yN~jK+TiCgf`WB<5Gh$avJi4ssY-<|K*}>lt|WX(XM`nQ%J)8>bnNkpPbZN&J70 zLVB>s3eLn%>Tpyw(q?|a?MowANa!$6%qk+h4;@D!KZ|o;pi$B-WOjWyHW1qM$!4Y8 zxmS#QLz+?Qwu^eMGY984{u27ze;6Nz5eL z&m=;oP@)lKIGT7>$JBVtBGjbndMn^!iE^|x&9|L%|931ZkmfQ2P6MEzQM%QZh4a$| z$xWVjraTiI6f2(-N#D1}C?crLX%RP&^O7mxsmQN>{|`_B% zs$@@7Cj!G!sX#~HKJyT_v=4sX`~0RI8U13?Ka2H0(>J3H#(b0Kl2ch$eK?@Lp|ja9 z!_6wa`-v8!pJPZH88%6GjGXD-39DdRi3tI;k9Cj$>_g0;twLy_Legz2!i_5{w7jxX zK`ur*USF zlYkgwR+g@;m@F~Qr8s9YMHtG-YG1@f0|E3x!luUn_4gAkdkEiHHmd%E5|51)_9rEk zrF6#&odl)tL`t#=6yGmH9Z-o*=u6-3|Js3@?659|ohM_xnp^fY(`NrD&Z#G=gI5J} z5tNFy45|hp+9%3+GF;)}A+`N2ETDa*%XV?FVqcY@=%GoeqDH?BaF7Ghk!MOYH9dXT zi?7^v{H{N~9DLDMa*JHNuMWWuT z1EU%RZ?40Y!^+@0664!@8zLlV%EY!j_&*V&v?t2u>MbatI-YsWYnxq$itN^|>tNY& z^<7t{FFen|2|e++tY7}+Un)*4vaF+3X1`{qnfQA1C#6h!5%g??4f1O=tP?J&CCJ;JCNn3qb$$uxl?MRc1w;xQ zT&zGuqV4N{xv)n_Xz}|&_d2^NM)A~pnx*YSdDE~~9F3|w$EK{Co3VW%tGM?^F9ys; zs{l;(25fT{w6(tr`YWU^l3u7I{@ze#ur%F4tsFIx>g4Qm*#dD9tup@OW@BLmLuTRy zZjl0k)-(+sD%)xu1@&Y0=GiABgof?&8wM7lO`8qIt=Q-69&sEEyi-_h|>{M4gmqp0-ismfN{7mH~4 z92~rscVR_l3K=M?$UAqRQy9}8xa{4jMb#0-$3v}ooMiam>)Xyspw382^}_&e6L83Z zdA^JHXwUg+#mIiNz_!d^w|4YYca!faC@U$R^83gVVXP$?ICYz!lHi{$B~SlkO!Is0 zsyN;)hAlX)>19C9fSmF05L&q6-IUtvxZ>9L>Gy4ZKyi<^>^Aku*TXt|N?T<# zs;5Ii(GOE)zqp_|yI`2XY+8BF>@oo_khVS5_`Nb&6bkGiptKFI$t9y4Q9%Td;Rj zcPeMWofxRHgx7sPkYl~CawX9o`yzGqJ%d}47uwLW`pV^_3Y-v=ugOui*#zFrR0Jyu zL@CA{(NU(&HNpf;ujV;gZTkKsE2r@u=3H`Vd*y6;f({daNKX8%!(A7**(n`3KDFDq zKKgq~igafy1}>~GEGjM}_CEdOM%g|dO<>YCmcHEJ_(GkBtqN%T=ZLf|eXcwn-Szec zSFhJQml>sa8olQQ;&CE6F2VD*+S2OeRG-Lg4Y(X|`1n42_zI<9vJPIL)> z0#q&;dxmFQloDvY6PxaSiNtup&&`2e($`Yv(AvyO^sg^QxM;OnSoHb`4%RD3sGZ5p zc=6nIkLE@P;gXI;IriiTo-ADwpk@eL+~;+XMX8F4>df{H-G#jQ@i+0CTll} z;i!MAA*JHT;K$3e9TI{x5z3{GQo_~}bwk(U2}XW)_;d@wq**Excmib05gFmA(^omR zffMudJ1FuSyC#jwoP3*e@oUc#`80)%3aXNXWPXpPmx4C*J>I>~=JY_w4*A>Ql&l&F(bP7?$Ky@Pvb=OU?uPc{# zjV1@3WXs^Q+WZlbPpH7LreBjV4w2;#FFi%My|SLzV9cL3g>TwK;??=X(nfe-NKNcf z8K2fZ=!Qu$AO#1~6xQDf#+K(&gqH)9&g&g;nDDO81ipA#f;xb0e(BrT|6VMe%mj>Y z`k{B=4ht_2X7?muw81!uSkW$4iH(##Lxh8kskE-{ELGTMmS78EF+hCb>fE>@b&d;R zd4yZ%+?fn^vO(PR-sFNNM=s}W);N3adIGsTou^jPNaU01os$l(^cp@sF2!^^IFI_+Y!BmzLx8Vpv5eD3tq zExH(S1bxk|#jktS7F?RI%Q;F~=G&SsiqF@sXTDaVL8$3rMdi3r+mp1)z8dP2WwHlX z046AjwvG7#B$B`$+7R4z)y-?UGF#)^%$f1BgC*fd*saqvR2x zzb5l(pG9nF8|`K=V{Je6Fyl7Z0NTL~^|0iuQ0ve<%SubR(jQypWxhcGVpE_(3y+Z^ zyPPY0`|i;~*cS={IQP)zg>wBNI#IcDzz2n`U8%GU-(;!i!KTy;qM;z_0!1;fHaI#g z`HOXN3$hzGzv(}s&t{Q*sW_Zz^686JS*hM$I<_uJPy>ioRDmHunPkv9iz<+@0+TUI z10na_qs;>}UL8nzbQK()Ot)BYWz=r#w^)8KE399dt#6z0DACR7>@BZZ>m_IB7VzYF z)JM=MOn+Rr`QC2-useA`rrc>7t8vDggDGGp!%OT6Z70c~zg*U2(wFa-Qd?W|mstBv%-dc#y7lUmWYAA|>^m8TU*O*BL2cqo>%$>@ z2A|8cI(>>pCYT<`%AGfhQ=T!Ilk-%W<}!#8j7B0xf3>Ar2ZmX}^_`5F+rb&{Yhyy} zHf`>$zor6~P6ogR*-@N9oj1+J^UN z#kM+Q14ssKv0Vmg^*~4Bq+4suXG?!FRIbu%I^`;gZDoM{e|Af*+sWo9KD!UsVKM736QKfBg9_Z`dH2N=?Qe%jHsv>QQ$V zIQgLZ_cUKj>=O6&U2FWx`X88&VW)$qBzA+9RHSupsL6R3Hhyz7GlfVySzBZq@_XIAVB*)0wu`x5Kq1`(%+AjK%E|I59D{BdLE>mIdu`YaiZ44| zMOSbGj6SQHZ(Eucwoal0k}2PPo13{v-6+MQU(w#BHMq*d2l?HlcRs!2q8(2@iiYHJ z`!KIeRS3YGgh@o)j&t05jX1-CW8r&W`Jluf*BPH!-gYc6^~1d$F4m76*!t|Yr|p`} zUk%Ret9@!u(>$6{xipFXE4MhbFqCbZ{aq++FQB=_f3l2ow$dd=TPq^&s=)x+pgp!Q zRaTYeGSv_rmqT6-up6R{ROx#U^)LRds=2omcvQ86s!}OijNtX#ZvYU}gcdrYo@Oxan+82dYhIJfWJ5QLQEZsdV1eAFR=2Fxqdn7lE!6Q+bCF6nA-tU+q*hE?p`Yxe?s9+_ zGfpX5bsMH{!WpErKH}SdW5pF~bURhBRf<~$A5gB7Q_m99DU_cK=C5`7u!*CV0IlD3Z=Ky^N!}_r#KV=ASONr%v9h22A<+^++3) zzk0u>0~7im*%43NxULT(hpdM;FhE~1Z4x@TAdtw0K;A+%yD2^pWkbK~2Ri@tGv0)( z&u_w{%AxB^q-x3?|`yn#pG zOgiMIKu}z8n0r*&tp1wcGKi@;=?V(2uck9Oj-3v$HI%yH>X44BVEr(_&Tzrn^3{G( zvE8|GuRXHMaX7F761-^Ng5^U=4L!>j8GfcGA|Oen<#A-NwV7y*zhD^+$i7#YMw_uc z+X2EM$j*;+5BCt{p}1*Z;=AEO%!KqW2 z&nlVa{Dqk_$%@p6HhP>}o+U_qBA0T=3cvMS6t5&u?-E-XAA!p%O9?nh_Sf=Ns0c ze3C(bU^4*90YIO=^Yd1bL8$YLkCNrpqOjNLI=U~bRO;~g%kW%~(b6^#fmq8EZKpC0 zigj3|m{fHOc{F-KCB%s#wL11)fdNhPOyLyWa8yW{C8Fyb@i5f+<9xp9rQ~Sr9-i!S z+yyArGqhKW0{Gbu`@*)Eutjq$&#{FwrXrGl4NN`Lxf6E z6g{a?S<+%DDwRemT4`6Qe&^hS>ht=&zOV0JUynS)%zdBxoO4~*`+dEy>&#od+6&;p z*jJ>#P#V2Fw!La8P6M}LU1UIT6#4@WaM1q%;QuH7e>rX*x^m(RU5SIgJ+dl(NnQNw zkFQ38_%?>{UGL!VAme$FtLbZk0~TR7r@PV3Oiay8%uLMb`t!op28TzkidwZcnt^Vn z4F5T-3k!q4+j>T>3tSZywQ40jAeQd6&KpM*-*%e4!y@eIl=s3>bd@53 zeJi6`-M(Gxh_=Iac9TW3a-d7y$~60HiS3yS0h&&++G5X0w;2O@QAd;)--sBb!&lGf zt8YX|>A+VRtbwe^3{&yD)JO*UTq4aSEuvHzzA9FOugcJ?Fw=8ck+)dz)pPnbUgSv& z^se%1YNRx}OB1@^D|F{{i*t9xpTj99Z-roiS7b_RTKY>&RnSoG64`2 z>Zd)?r^>0Grhpaz)OO1v}v4KC1)E7Ct$ zWN`d+aO-KK>!)9xH^we^1;BGYtudTN!me8h0NGzZ?TB^8Q}3*jB?Y9Ettaq+4}b*x z+$5JOn)^HLw)Zw|AO81SJS-h1_O~3$OOi#5 zRGq+1uM>7;t%M=lFTL?Y;w_K^Ua2N|v*) z&5OTY2d}`E0?tuLPm!~SpMgIZ#W_4z#?k!&X^dvIs2iru^yEoqgMw@i_O;?H4|c2e zkqllaqlV@+x9XWvU`0)LUeqZ&Mqs*Wlk)E$)3IfM6PA-yS(ynRFolNQG!ouVO*}35 zCUOroC!V%Tq_#_z_O&b{w``m1XVAC%9Y=S?g#S3T%jwQTRI zM>S!~x|c1xyZ-NQZ0dXoz|VLJR~>%4W)!!{F z4K4+Ik!|C4o9X_4`HdD951{eMWoL3dsunvlnzXC^42o&lcjC+T2h3%^DYutokm|N^ zwMqoHd(BERd6VKx_uIE9zbs77G)=9%+Y{AR|3w3Co;+}bfuf1tBp29Xs;iT%VA`y` zk~eK2FUNzcTT;Bp=SFeLe(ugaQ65}9oot?ubor_*Zm7;txTSbC_|GT>K8pmH55RU) zS4J_7$2Be8@4#g==LEVkp5;Y)u$uQr%NYzPM^m}QIguHx(!3}IGg598)m}FrZUZ2} zf6|5RnTj}09{fEsD$SHEA1G%p#Ypw!9m~t^v~w#@&f>Y1H)iqDbE9}{DaLvQo&lrL zo0m4DctK$BjJut@T{D{UeADZ<<^;?r@AC0EUf1XywbSBD3yYhd)6Hg7lyrx(UfP-s7T!#U|8OGFW|aG&HgBOD_US1qp2YDL|t=UvPnf(p3ikw zZR5T8w=CrcQNtD8BHx=%EqTf9bt6aPO`N-Wl5f}cFqLAUx)*AVTze&P)i!1djP&&3#&vq zh07oprsUY`GZv=1wd_yMGSw@|;rWntYT&LN2;`YH7pExr80b_haD&TpI(_s@YWDi1 zGisC^80D!vAH$OBy*|fGYZe7w-Jf%V#ei3E85OxapW|xTS*H5s$(dXRqmjqk3HRA- zuq;}RYfyf50WY|sxRb{yfd;UK(YU~OXU$f$)K?erLQHGmucmjmn=(}36$3D$@z5A7 zy^`b%?sGwL7B94z*|-2D4<&@ z&2fh&!!iHesE=CP}qpm5( zYj@4(JZKp;3(yx&RnN)zt7GpXqNgqXR*PR;T30<0%Z%Uz2U8j6$0UC z%Dx%pH9qi-qjv%-YCfy^uC*;u3f)=t99p==-QGZVmLdQqBIx)2_A2_!l{!EUVwdt2 zv~jWR^&Qr!bJiC)gi#OC?nqVfiFpI)e5z2={Pq z=nV)p@C|5;SrG11|~L$ zc{?ozdXwQ&9!$Pv+qDRV(7b>X@NZGjVKz44z-yuNo|{t6NfVPGqs6D~nuGoMUgGwf>eJNhdXvC#98}!5-Al@#Gokv z3IH+@PEK@paH-ogvZ>PnJsCz5y{6dcikw&0j(4=cbe6ue1J(3tj`9>PxiC4vMmN`? z)pLH`xjQUkqf%hPP}LMj3&?mNks<+<>H7O|K$1kBPQt6>B&cD4pGZC+HHlK#V5bXg zIF7DFutO@XGu4=^l@u+%@|`esvQ!oPU#`0~y|9s; zRaxuk@0yUY`bZw}rd9BH|1&3aBg?jD^+!%8KfK;yAxN?^d%~n>68vRGy(}Qt?U;AC+0APbUT>^EKdqzBB1XoKWtRW= zT(bQAL^KK|DQZ5bTqgnk(OjyYM2O}u@0Y|msr#Od|G4U;bm2P7MR1tWDD*z6X0 zWkpNFfnwYaDoEHco!hd52Qf;;OG;yyM6upZ@FRw2tqi_AWI8gy(=Y-UHt#l1v<)Ao0gZ4?5#s?S)=-nba&)a*Nq z-|WWg-vej5HY;-wa0Vo4S^AJblwJCw=#N`2#07abtRYd|Ulcff+Us>?2bDuW&;C>7 zuSew+$pXG?(yaNQ>^l*Nj;L+{gF;unp^5QLsf{uf9{cXMmefWcbNA?{Y3v{l;&Efo zmMwvHekjb*&J{YTu<49p1Ac?QI^KWb@Y!=A**!sPwC-7v4<<>#Eq`PeUa5f1MM!GU zp@6e4V7TK`ESYUW6Agv;=%gL8wpljZ+M2BS7~k`Am?SHwB%Y9Hu8pfh5dmzelB5MF zz!_P;TcRYQjN<0jl|D??-K>*cTD|l^^9T9Vs3c%F(^b_Pj87~BO$?+yb;Jo_5IXtx z;Wc0*lKe>GpGu7hE8O*UUK#!0rQ5>a4%v11E9{`+kwHTX<94F0|9QA|8?6ZL&+_A% zuHpPb{*m_isR@rZJvnrE0j)Q1#(I^5F@!XmH0?w@94{GKbiOu#mN~jlF%|7Af1q=Y zf{jSS2uN~D)I37(er$bGZN7eXaZ^ieU%@te`k$7D+zoA4HV(uDec4GAf$6wt*Y%72 zU4y@G^tIP^TsvJZoSLKc$IRf0T$7}wAnOc2Q)wt9dQbf-VTj59}ct^rCjfz0ip|{5^x}|C-flttkChQK! zZ(I8`S%emS|BsM8BHVO4tvBh{%z4Ex1U`E|tTSA5v6srDoPKiv1}dr7W4Y7!;$)K&%t)PKZ6f+yrjtafWHaw54)d)erG6Q zlcTe_M9%DPSnca?5(Y~6Li}Xsq|o=^ks)^P3+JAR?j%N=jxH* zzen-16o71fh-$Wig?!>ehqU-);o4Zab$4=izvK+8kp%As=>!?HZYbca6uTi@H~&ij zjIJ3`;*gy21%~bIE85v_c1XFkt*IZ(OL6lsbmbG!Y@kPFVIFv?T0Rvs)w^xJQYVE@ zgTSQxNW1!nuS&U*xqGa;@91?ckUB0PyzRS#867eQ+QcsTPs8)S2j0?1nmJ6AvnK23 z6<<4KNwIo;V42EoyC*a{AM*91WuJt#P?H3*+o<=c6npY& zmqmxvKdQF3-MU%?NG0TP3qKG86gI)MM0*FG{}q6xKSqObF+#=g3)FYQqi4)l zexsAVh|IWb8$BF7w#j45^3a*a-HtF~;1L9ga9MirQ5~!m~;I46@ zTS1@qA#h!ho7~%Q4sYYX+avL66sI0H_v+cuZmakMX@329$A#TqXV?m&3lpm;4(z<7 zIW+KkDo)t;u@|Q%B6)(;H-p#WWU4k_W6mf!tlLu^*(=M(6MRbP?bv!E2-L>ILGz0C z$hy&BfT|H$O8tcKdZ|FED(Fi(rDnseW}i(RRl5e6C={a5q~0aoZhJ@`HD$ns(Sb7@ z(gyG~;8X)S?8Nd1cg=nTCFm~qJfB1zM8R6?slT=v+U+LE*;;NexMzN$;gn2h91_V{ zU&HydRgc&Am66Zllg@0~-o)6;pf@B^F_#>(N#v6L9uNy>1EEXkMRK%AcKF1i>}6hp z=LYgE+u{y5Gp))NDQb)dt(msFOVxXRrH0fL2 ztWjF-rw!aQm2$h1HQLpFPYdG^n(%^_2h+jGf$w!3($=C^oFlT{LGI?k?q_DaG5$0d z>|bi@!BEI25XXXBHU_|LJ$!qG61adLhPco@2?gpcd%>*sM|+>;{QLgh9zHHeZfs5_ zS$KrP!qO*jlMzG?eC~qInIxGZStfK4re3t0{({#lw;@|K`W}JpI^kqCXrD%xP3Ouj zMF9D!u}fiT;!eJ#AW>&-?#D+`s;kHr^5M_@ zSNqM)D;Vc$pSHf~&yNZjoYuh_SChw{gBqd+vNg zdoVQiZXZF)By@~_<%-ej5;3(Fse~8jyp6%f^eK7lGNvY(c z+Btk4$9OzYiID`67k(XCU&Q`7*#Y7sVCxg_pZ~h-iPP~1i+dLKy)ADwk;5UjHxB)f zB$mmSpd|z`CpG5`^OxHZ)WK$-mQ5BnIy;LD7w%$K>GU?PSN;dI+Zm5L*chCcN&)`| zAd|nF>LIHpqKJSLbxPNR!2IJy{?&v1CW33Zl%7quB>)-^k{TUIY6##`w{Y8jG`q7i z9B>+y1Rx#fT{a|L7h-;rz_OU1qIt@CFzyQOk*7a-+%jN5MMN$Ofc1~bV0Or`p9p*b zU-hfiN%0$!9`ATDn%-{O*@a_D{XJB^>Q{O#%3AWS;S`Mgwe{7Ob7R(A78-9qB(kfW zKdG;|)ozo8HAk_fQEuYOF@gdgQD_Mr<;Q9QJ6xVml3!uEw3nIANMF3;P0p!<0f&-5 zi+*k-Lo)m4*(ZrDq%GLi(2*SL`k-* zHnhkwatM74W{-%l-GO+y`}sFx0YRFbwk=-wX-?R)_Uqf6X9XSnt`qE!LxUkU1aXM~ zO4mBtne2c@9PO*8?Jbl6vNC?XjVvcgmz>@2hwq;;eXeT6AxR;A0vmL~KlSsy`}wEgc!k+~Z;Xp#aSA2{kadTSg;Q(RA*o7! zJclGL7k4gmlc~qy=_(68pEn00|11`O1o3ZbBj$O2C+iKsa%dt|uI%#`a~so6Y&^a( zG|SLs<7JHSfR*X;@_GlyVH;Ix+^h-*oIMTw31>jdPzpV zSOAS{VSV~(4_&ie z<4I6!ka1dO4i3WG80%?I3|d*Y(;_lI-vZ^M4F zSH;%2E>(>9HUC2LQsv3O2AS}mSzI_w{m#lj8zvY_P{RqHZ})7C&WUETY%h23AW@7= zuqgFsT1C=A)-*|%O^gwGdb=))vmHwAf3)c5x47f$;$#k}g;N1UFF37psiUeaQ}<{6XCHleVWp(oc$ep)s3b_nSS6Ykmc+3w-fJPC6virR zH{hM|SJhLyIRl68HQyw5m71$@EF%v7J81=O9$`#-m;s#%ej)7v%3C1jXx|Zc3o9ne z6zU0EymrKy<()5;3!4Kpp-R_3!TnX_0XY^DW^ZD|HSG0TjJ1PDtjs5LMx zEG#WetW2#ft(n#qmZmIZfo&7)hL!?z(tDC%r0mN_nA*|n;wbe-A2t2F>Mb>&UE04C z*L8&6Fbl&Jt?+PNDddj%Q$5|ZAW;^*{0@oo%pfo*Vnv5o2vj}@R7a#jkJ!u%<;*wo zQjM8FN^!QW8IXY&gYuP4~)dI_(+DFV_XikuZ%4aaiGY9YCcp6Rhe zSyKeWLjt}e3NjOUE6^dsy}dyKqEA29Y4B%;6GVyj=Q3ptZ{)_tD{sEky}GfyJ&`!5 zY5;v0;~6?qC_(oB_0KMSZ6sI>+e9o!!ovt&DhY49@oS4$o}{%KAZm}9xELs(Upk>r zW^tiuT-@8s9p=Y-TJOz#++=>}sD+}_wYUh;nSDg}WT1#eiZPEu)KweemKgx0hhMEl z{tl?y)j6Mh{qn*NRb8;IQ`#4zI!SmIFa3w5V_FJV>Xs84>(W|@7@?B@?9YpCJMel7 z?}cF53#t6D2l;(#OuPnnkhn>w*?%k|j7{9_JMrL#6W>I5{nc?kApsXde9wPeCLoNc zc`VmH)$qY?F%w7pW2a!e{ZBp>A&LJ{BRI2v0ItBe%VR}eeW-2IqEqUW6foAsZJf|jKAR^J9s*T9mPv{dZve+`E>@6-nm=qTV`fx$`79udkm z=CGYBvGrwkX-8yy(h-8TB6$+ijj2aQ?J)5>QqBnj=zx1Emze6i-=-0*rDx_j7%Z zvW=fDJQ3qN3&N^zOj37Y{Ac zTS&k8Ck9s@_xVZwQ1}6YpTfm_;wa!WJRL|&zHF0t>(IOKhd^$ah$VTymk#Cn{PW8J zS?E&rn8Y?w5aQ%LUp!2gQG4U9{#1F7wj+-6*Q!B{MGA6v04%GPAt#Ix?1}5?-uEFV z*CXCAtbXy*9{h!6f@JDAB8q1NhXKORkj2EU|0Wmhug@nvq`eJl76cDeE{R&SFNi>K z*G-ieGlenrqEXdT?gk3Yc{ztCi@+Anme1a#%zanmJYD8bUY?)oc5zqZ{<}EYi4gmT zu7E_Af{!bqq(?w_FzYD0FH zriy@r9f5Yau-RbOw@0pC=Z_la|B}{Mngl3i5D$6%@=)Ch#*&0BOXl0dD}gYo8Hp^o zVPSXQPBy7ohPI6|om9FgX5rqeuk@7!gg;gh0izalcwMOewG(Gjgg9rs+8ocA0TpWX z!tG%XI`1<5eefJC(Eg4|Su*;Lu5fQf&!ZRfNlPXCxl?dG?~eu91Wc9kc{pnemB0QTe?F|+#xBZ_P^9i*~^>+ZnFRnXJP zS&q;FL(ZI+kX4qVK}RxKA?Q5(JxTUcMa-w~govvL(@);c-HH#7Mv($RJ@h6>RC!4e zQeuNWIeW@I!Yl!fv+X3ARy~dF$35(4`c#s0U_~2&o;d~|W6~qkS>z@|8qT?s4*69f zz?J!=Pm9ViS+Tg{^m+R)0levIo&T*vTLocCQ5?-Fh|E1A!Dzm4W+HWzqNLp@v?^48 zs2nkO&XU%tPuIl#Co|dk?OptCDifx3Vod|XU#dlsSk*acl#Nn4nQhwgp&QRSH~xEj zU+K2f)_M1e|69jV^F;ppJFxR*O^pGk7vkdm+<`>uYd)3Q{-JeSc8oR8)M0+_jlS&Y z7z)5Lez;p)7%E5rdZGfhkS}LEgPd4H9~kjBSCD({L}^&WQ`wHU4F%FUw&B>Q_Zm2UcVj#n zy<=-!kEdyHNWK_q!6XuqeWV4$y@t6R@O$<$TFYAK31qY{M4tG5S@`Asfg{i)_R4t| zs{Fj2%s+#LDFnu7G_Ym=bnD6aO5L58{?-O?zru~(j>5KPDzSgc9tn`zA zkhgJ5QOC!tc&Y!*SfRfl^JVR5hUN9#hWJQfj= zn?cl?I+9Y0tSQ!Y9-lag7!4Fg*H>8<)Hp8F3Tm6trL?+j^(kSsg*OMkgNQBRpHrg& z&o4MI+viIvhx8MuD$i!C%lBPq4GaC|`zWen%%}? zm(I7+)P*UTPrSZu>up?^T~Vgs3bWjCSsbY#3Efbv#>n01JTIiSv?N=Mi zb)h$&q^h8e1{zZ`Ad%4wfOh)<3gTa1h6o7LaW)4llM`02^`>7geKXCk>3w?t%`Z3J zsg8S>c>R8MI@2T;d!l^qO^w82(KP-HX^#zhlTHZs9##K(I6hu#ldy#Vr2d{$4s>8F zpHsaMPu3VF3a*&X)t3)?HTcHjS9V==+QBcl+T&O3kOC9%}{eV}4 zDL+qH*0PjJ=7gn-bGgS!NL>KK6~8=DD)$t(#P!vV{OHzu z*J3uQXFuJxp5{`dDD$TYLgYd+2Gs4r;>MT&GS!3@E;JpEKKPHo(d>%JP~{_=Azq!* zjJD?6t~F7RW8S%m1^E}13u2+ueE)3Zomb48*o#3IP}qw=8! zs?PxxcC4XJ#m=vLKNp?TDeivvu`_cP5t9hU*dW3$`y#+U56gd=7Ec}gWgjNvh1Wi% zM?W&vSm3*B+S%`)m)M2RyYeTD0%Gj%h)#4n%B#bBdh`#XE)FeCkpOp?zNGhy0v#`Tw|Q_^nw#(0u%8 z2Tnjx7&i?JyHuxoVi|F!<|hen;S^z^C;uPy&8zn=!cUh_B-Y?*P`Y3#9Qm~`QL(F7 zTq9U2LFC7&fRVxPUx2!|fH3^9(Nz4EJFfv*A{U+k|`q=fy<$6W1~{0~CO8 zB>)~b`V2mNFCN8cU@Ah?f2 zgCf0tyPEDK-4GwmUOucpAi$yuUIu_M`7CGl|k<({fdJgHTtg1h5I3cxGX>WH)56}3X!2i`D4x>S62)tdv zmuvpNb8hDTeSsZYT)LGO5k{~YpO%<1iBmaD6Py&?OdKIN*d3Xw=X?F(<)>#B zcsjkP32Q8&87Zg_3$b(#rNo%!g49}laXQC5`~{|S$)G!V+q$6jqh7jBu~mB)6Lu#V zAQy!2E3PkNb#kP2B((4Ihb2f-%6heHQy!mw-h9L?WWK6zb3-RleZhE;MePCNIwui4 zfFSazKx0to1S}ajU>D0~-8A#FE=;u;rgF*9d{f`v51cqdKuf2O@i{ET*Mwo^Wjvpn?wI6MxiZN=2>VxqxURKyj55k6oD3>Ff&3D%HAK#Z4c&72C`_PIr)6+hQ z`hbZzHGwuL--U+!3Dp%c0(EhdFyD~hq)hE|3?_)%4Lzo%_?oDV9jHue`3=9!XNx~dwp8GPvw0sunHft;FHvh zuq8n;7po3JS(PG>svi3*45c(G!93$P{KoGwt2+(!lq{bTJ?tF_0xSl?MI0+Z@{*Ro zGaj+ffJbk9jrEs(&6kw3Pb)3gH%bcf?kq2xb(uPgNzPtv_lSVuJ&K+%3X%XdR5V!v zOYN$sPWHz+bjLZE*LaFOP zXX6r&Suhbu?yW4u*<5BNdl~u(U8++z zKc{Gx;U>tY8`gUxH@QUI65uf`5iPiaqjm31wgItgU--1-ulBt-Cq609qFE6WSALHJ zYv^>$Q(kV=z$pzA1Z$GkDR0D`B6n7l*vi=l+;*4+hA|(RAQiA>hl>-ug{j=`fcmMh zlf|>$vokW+c1zd6php5dl}it^j34PS&j^c?#%*_^lSNAxWiPM#PD)7M!`W=4+r0=T z-SLtOb}s!`lLaZ6{f&Y17*&^t``o&#H~qGx}OdElQXMddHI|Dt00r}3Mtg7cZT1^wRf136$G~8Vit^psPK-8 zQcI!h!`QZX=BFIg$YKL_oyus^JfxT+x2)@q`p-ii4Y7$%eJDQ_XWy9heg0Jr=@P2B z{ru#cM3_XByP+WnYcYD+njhCuQ6JIxe7l#6l$tf5Age&5!NN37IQq=8NWAbDN3m4S zKl1RbQXBV<_wp(n-^;^77?G;>f|j-MEGYNXk-jhMW)VSG9yY zbKdl~zYp@e|6IbOEF>Dx{)e|iokeH=WEh^-J`aVZIudbke{}InMdGyb!9*p;lCvof z{TRdRy|wpXTZXa(aXNxg_f69U{C&&UQPo7!LV|`q$=cN8+u7Mmd)bGg)wbc?g@k&7xPCS-4!U`m8XmJ&` zojgp4_9sc*pG;d#Djj;_eN47f>w^J5$+$6)6|aR z`4)|@W=fdXM`JZC=)L2x6)+cy5Cqu$aRK$Q@csMxtPhmVSf;qpCiq=YZzs?<{pE5t z6CkZbA@JKDi5vwIX_&}8xDMe&#(TI+{=kLKrjILz3OYWpWj`kUGalK+lQ~R>YfWEA z$mAbh77GE=6KFV|2|8Y(=vn2nX9FqlEz`d4(DbCc@^V=3))iDzS(?ii)JSiXf0v)pj{Q8D1DfQ_xK|mQpNQA~%F8BSH zQVzDk!;wS#5PkGd1hY9E76sD#$$DBb*IML4r;5F5thWRzkgy(LjOQC0apJn9516*~}e`$hOAkwz&oO5}Fxp}<~NSZJ0? z{eu(aa`m?Tcx&~ES;6%aCpUHdRbq3ZR4E>F#`snQ)mQdX#$jhH+ng7*TCaAq5 zZxJViGC{$yX+c>f6^2k)Ha|g(5o*wf`0k#yTfea_2O~PA^5jjjJOv~%&;Q+?C;@v1 zq3k(dZ3r$PLAY0)wxoS);l5s%Qrlad)XoIF$PSBtXzj#WT}O)^YzPA2&RY@`ANGK} zt%Nr%#Jw+1^|h2$pNontXJ zwr;8C{n8b(k{*PrS!?5{bPKeK6MF?SIaC<|93@4ZQoFp|HmBo~aedN{=R~c4)jx3R zndR!5a9-`Kv3XsY^}9}f9SDE4U6dOXYElL)DY=WHa}J)(EZVpObP1L=HG|Imlv*3Xf#XRR;Ta09RYY3NXHn;XZoq~;}I<T0!~R)~3m!;-Qwzrs2_VdHG&asW0LEGI1Y*A^<()?e|_?b@-dVv5=`nfLgE zM0J?Yk5NGkL`G4W92KO(mp#lDQC{Onsydk`w|LGrZkZd#jqT0iJ7VGpgpcutRakow zI!XXp_N8rD{|ZZ1@9d)-%JXGE_b$EgL%OkFSGm0sgDOaS#0@!@68ao4Y2@^i3kW;> zarOi2PD{MWYl&U{YS81y#;eotvLk39#L31A7MF-)65z&mtjELJs9WIjPTBaB+MMlN z#j~N`Byws71(ZKF39-g3$dRJt!P4d!HROgi!-69cWv4c}sZU$L#5eXg>~X?N+`}Pb z_#KbtL$wU60A?J3Wir^j(teSCDt73pDyi$gsI*RyZM)*R9ckhJ;szwqn6O##?X?hh z670y3O}pJ_lJS0H55IHXI%3Z<4(E{=pC-aA>{}rGn(O43d? zSgXF$A(UsFd+u7K<{;#aV^}Ya>s%cvu>`34gaq50WhrE}U0XrzcEv3vmI8?iRztFm zv^&I(KcKAikz?ToH}mW>yWuDMsJ8^4rkjfL{H%`u+LdHRoqfr3)Lvp zv9f73PQ8{)Kj~j9Z}aPd?%H=|$u&dFHQI}wxW%0TCX#$?by~2*)bMK8g5RKoAm2mSlAH)LE}cJ=?l-!+&SA z+V_?CwhQ~QX^llBXcdRkGGWX^jmZMBroz9Sn6lw@R$4+#$?Ey*@gtQ`e-_uT#?(es zv4-Rsgul0iZ2J

    b8fYLEJjq%)LJ3XV-^>hgU5rd}Qe%cJU(y=`DL6H8SI1A-6Qj+7Yd>5c zt|ugH0Pm^#?ZrM@-)}j-Xrxd1pN$o?gQMl3BtRSXMgKN<6#wiqVEluc<3Il_vy>ny zQ`W}PB~^o~ac7twjJWPpE2Cr}qgsXy2Z^S5I9MZx0wP=wwSU@lVuYIQ3Pzs{UqA1@ z|G2oLsxISkq>0(qtr%GvW0^?YG}Xg{HB(_85^|W2703z02bvucZ*n;Y-lv2OKdby? zIfcDLa__Y9T{}>V9d0<9C=1IJussIfgoG8`6L51rg?nUK_*TMT_2zGy@{TWUU_K^B zMSFEDy8_VU??9+>d0a0WEz+PKjhEJ@%J}SJX*NLH^woBI>O(F`PM{kg^oB#hda@!t5_0cXlQ$l;c!)-o5GHaX#n8)0`z%K5b_|?V(T2 zL_I5*oUFawdYIID>;{7*HcA@Vj`C zVlA8^;JivmKKo_9a^JKy3^PXI5~Az4X^0z0;E{w(lqmk2?+#D?7zm>(T~B|q@U2LF zdFSOldWi4&)3>LDV`Kb|>=Y=LXP$%oX>ECjNuPyOzI)4Op~ajzt2gI`T%7&y?Q3<@ zOtZ`WvMvinQ};Z1NnuM_4yI&^s7=a!<;wcBcU2CCOkSq z?Ey8bytLwwHWO{kRcF6vD$SU8t!}n{mt~TkQCRQ5?S7=Iz?D;s?4h zs}`QqoN6h(Y+JLP4T^lwz|mnfB&9%_`5czFK52MJ2?ePp+&zOfG@w>)m-$Q1$0;`H(PqNq_mql1aN;zPi2aRCW&c znW*bvA@;+*2iwKfz7kub2EtpMjZ(?p`iR*Q&-MINo(NA&A9i*v>l-&Aqz#Xg(`?8N zMgooH5F!q@JH~D6WR_NB^q8pCE>=2`-4>ZHowN{@PQ(F8d?*ecL!g)CZTaun zH0CPBk8yVR5)5&)#JUSY#CHPPSi1@)qA-DMyYPj+{n7VYZ{pIVjUYtLzuxrDktXZ@ ze$Cxh1{VJ7{V*~&LGYoDf~}ta&$CNW-j+d?sI4xM_&9s!7B}B>pVkK*n|UoeaVrdC zVzU)1fG{b574&;EVK>J=mynRszK+G_uG6F#o-0~4syNf-LWP?3wY*zXDcD{i?7&1} zR20YBVotVg(5}VD3!|j+7YQnRpw0AO%oQX+_rAV5a+jV!D9$dA-m%5i@yZrcq$+GsY%F$o``$QR&M#R z`_^bHy8lK2NA?a=N?9SBS}To8Tq%@A5m4Xd; zsJ{62@L>X}7SEj{^P+GxEay}2cgDNCX}hbunJ>wIx6UpP<%sdOa@P=fm~Ts)`&`;a zc)s-6+R>v*S9Fx~UMN?p^1GqVi*X;(+!S$k1rIC=-ohh6E)f?<_Xx|up@eJrpQrQ> zyfH6*{+ZUY{gI_ybdNm}0Wk(>G7X9qKv>SawhiWGu!~GKL1%<8y#deRQ(Mb??9b~y zC~sg2$*vq6*7tzo?O2rzl}u3{muw86q$$K#OtOjWU<z1QVD{KskR~Ft9+`YVZs;6Nk0c*PXeHaxcaY$A#`wsK& zoAD&rjVnssI*T&%gk#2fcCcBGMj&{#fD490pNa}{| ztKKiMxgg-1PlRaH;m)Q#p-H!&xAI1m`y_&piDRecXjn<@nKZ13!wfEF$>!;(*YOt4i1e&}{==v4 z*N-ZG*7;)C`<8RNeXWG7Mj58vAc~5e`TBKEK!@A{h-MAK_S}0o*If!Tnw>N+oeN%T z%`PwBq^}=`cOC0b70n$hOCk<^!wC$Z-rA4+(DkCKq|=dfpR|KlX5Ux$zhFY5#b8?Z zpDrjafo2RTX~zgp0m(G`ucB*oe(srOpY6T7FOnI#S5IqXa$ti6)-sAxZUk4Y==3l; zYT$KP-5Q=m$x10XlhBd5uFNEGX1K$-EZt}&cwlba-C-!hD%D!pVevOZ9ykqn;#gf{ zNpklAsSj_mEml9?{WGu4k9S9F9z3n|+X4|wfU+FcP&KZm@J}Z{aads=?qzrFi_bdA zd&Ap+PXk`o6ARN5nJGMPAcghZc?4&o&SRQdrke}#^@5vE!fiDpPRS=tU4I9+$j%z( zrQ(^5H{FbTqgYkpA5ElwDVfHZbZ*-7FPAxC!X@g=8C6gFV^M+yrT=Vugja$n0;Lu8 zRq^B7rVH^G!Nv9*dk#4GIQdzd?ey3zxAppT9Bfg6S3nI~dE8D~E%EFcqx}#VoI^Q1%&o_}M$KQEt-ha3DXDao~ z(O(0e>en3R?Rb-=fll0u6FKo&6g@I@eZ=X$4_zR`LIYoN=fJTJo2~WaQNgZUi}(?z znn22l0cj#l-1#6en)q9Pkc2>T#4B}Fp2;*rx`L^-Inx3jt?-N*cSMY3{Vr|S9gqqq zZYD11d&;Sf_}X4@GsO7W0Zkdw$#PF2?(fY_g2FvI7QXpnJp&#WlH_O$^WH~&=6Npq zbhOc(SLjV?hefKt$AL!%^syXgc@O5nnNqe!MDB^6TSfN2XRn7MEca4G-o@0@26P zo-hDU@oBSRfb`K&&FB;iWV%7(ho!v5ppWWB~SYz>b!A1F)lIv5>HBK<>zt>Cp~-va>=qoQjhY z>He{H$Zy>g#5!o#pbFAKsj`~)5A%H5lH%HTMw9u8R6h literal 20872 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 SVj3Z4lXt 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 N@t@JY_<%s#{{XC5u)F{O literal 0 HcmV?d00001 diff --git a/examples/_01_basics/Skeleton/Skeleton.mp3 b/examples/_01_basics/Skeleton/Skeleton.mp3 index 3c2380c7bd2cd918f5133a9808fe0f094e344213..34be462da0b0ccdf07e8e8522f0687d27fa8d9b0 100644 GIT binary patch literal 40229 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 w*mfX}kXYIxIq54s5h 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%0Avqg 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

    ?(@(K=|g`|sQdKVn+>yVn$)i49S;K- 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 diff --git a/examples/_01_basics/Skeleton/Skeleton.ogg b/examples/_01_basics/Skeleton/Skeleton.ogg index 8a0a0e9c96f8e96f953862b776cf681a2cdfa200..86eb55d6b2b8e8b10c9c81731413a66bd9dd2540 100644 GIT binary patch delta 21961 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 HtHAR=AmB{c delta 21646 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 diff --git a/examples/_01_basics/Table_Resolution/Table_Resolution.mp3 b/examples/_01_basics/Table_Resolution/Table_Resolution.mp3 index 867b5aac0e033f72b08f1a2ff3541f066d894906..cabcbe07de8badfef1bd990a3d1f2a0f3858acc3 100644 GIT binary patch literal 40229 zcmZUa1yEc;m#7B~?(Xgo++7BDCqQs_4eoAde7_IbGz+CMg|872z>k1 z<{dA1MFw68qkva%P;V>LkifSUBmlhH-28uk`~Z|N#M0`)LQLw*$Burz6dypw5``3n z1OOngGFZR8Jqapr&)d%e@RxisF)^vPkC=FHaB$SyCpZiS1_t`S7T9lJU=ZFO`2V|* zkPZdZ2?wo8niV7_dlC=|)76xQAcc^>z5(H3kVQcQyg*3m$xTse`e+n(i)H50@uRs} zI96A^4mt@E&c5lOt0tA%6zk&JtFjYn(wB+UD$(3beZ-|Rdy>E%B34nh@@~==4W2Oh zz&RtbFB%_6$iBdN(T77>*@L3-B|X4E4Ctbn&;X+$s(klT|7(5Bk7F8_e+Lnja1>9> z8Qe7s%X62l%28G*Okw(eI{iZv!&*X*aP>gbA|W$^LqdfaC~#I0H3{y>bd&rVJXz95 zv&t*NMrT0L+)cL-=YG<5kSH*t*#!m?!>~$)27DQU_V5$Y$Z>WktG0#fjchj6LWT?E z9Yf;s3N(t0QWO-FrFZR@t8;$%hA^yuvzFhXz{Xu3QD1_}*{^*VnZkjW94IYqT%0IM^QZe&< z1tQJon{?Aj$Vi=ORkaCaIfr?!@k-V0#XW2ub*$CLdO0{)@N3GY(x%r)O3owu$*4;7y(i;}-Od;)F;B~M2Z0x@O%=Y?p1LwxN73wt- zTK!X}w)M-FN3eIF3mTirPxWIpt5&7>do0z=+(|_$|F+NtihY=(AmG|zcJSuF{C2xS z_cv!veXlz~f{g&LPm2)0z(8S`bO?Cdcta3#zciflLQ-F~A_DwZ*HPv%2O`l%}$>vgJ)pqH+X7BxE3W(!A~nB`)CKzsPX@!K;k0v3JQzOj-qjt9GR|iE6TlmYf12}$b`jnK^$h;8{_$v+!^JM=wr863<)hxQ zVU$Zz=Bc&K7SWd=ac%cZw(lM^zGoGD-|VY)1-Cvx!G&jwr77vMH`-FIRpH2EFfIS0 zKXdUN-<4yODvcm(e+R-QYk`KA0p-^)%XZBVH_PQGGT7)%;Xp4CWXE)nXJBemVZf!* zkhe=>E!`v`jr2lhNinwDHJjGj>H#p?CLfoDsu{j!49|-|ZHQ0Pv51NAJ6Tegn4b~9rly@B$j8qnzx*s% zWdDa#16F@}kE@R`{u>FOHE+Aj5IH_xoip7PMQ2Ud#O=2uE?g8)MOr6-Qvj1+O~NK za`=i|8%;6#-F({1W}@T)sjQB%nj`r1LIppF6=JFvA0~JNOK&WfI=|X=+t zW@eT`sc=#i4AhIcr3QdB8px*NrWTg;gIrQE8p23ZD`u9EIdE6MJ9i3dgDHxY zn%D9j)T3sNpo+Ewgb16WSg^*%hc!f1Ev5+=NKlqJne&8+4MrgqjWuRk3z0ApyEXWs zKSnI6Vh#oxL)+v>Led!m#MLu#9H~o7tm_Dz3BNDi`vKBcE@Wuc$Wq= zuI3Ner-#&!9J=VDiVlcOO9Vun)OFPt>A|C6>DWX7pRbiNqVmd8k$!zY_GyAjWqvYsHi$Y%-Ku`;^B*K-*YIM7pl z`v$*iFjoAuH{-MaS*IiFFXxkjtEI6lsZ`O(2ep#6TkcD?ZjqI9f@PZ1E#UrV_lO4U ztAH0U&=o=b$kp2!GQj+DM|;uZJojAQ?B}R4TqF3YKv`yUSCeOBoW_Bg&Jiyzs@#g^ zHdI6FQY%6wjRFR7cG@g8MQY(ChoUSOcU|gqh zLNQU+6-h#JIIM+Es>X*I<&Q}+i8I6K-Ku#5NBO90c#0fQVW{PTzF4PtvvIxv-O|St z40MS#g@E_MIs`$O)iN+QnWN<3loP;ID)=DTo>#6IHLG8-)R6EIqaPR7x5Gsb9+8k$ z4T_7}W?nO}0OXf8iYb^*@qt#!j=uBBFMJ`X`*k$Y{Cb_T^?vYg+VuU;jA@*K->tV` zphsM_4mc*AA&5uEI9H8`OKp~=p>wI8Mt>TY+ZT>s2tL4WZ8{w}{`z{tP%Ant;UDDu zdYf7?f>7F?IL6&c;tnAo7R!?nvuO{ez1k2K`lJDI`fSOM4DHHk7s7ex1?{Q3B4D69 z0x0A=u$9YsnBEa#-|+tVCqX~&uYSD1MRi45$&tSfVTitx*j6q->)^S$H8HSCx)(bakJ3UX>y+&@on7 zFdUN65HgonWY@)lU_V9WKw_e%)G*iTbkTe5L1-mVBzCq;nMuy z54>YJHFZOv!z@>bW^n#8C-Y;5_M_*@^IZIq6eAeu0`JGc9l#qlc{XZ{COR2Z+VS^! z?wV(%*<*+Sp{^RIUBx)~xtPR0gtjptySlpM z$q_Oex$6qvE;dq5q;V`x4fpT}$X-bZjJ@rg=)f%EFeGy>nj~O9$z-)pj(BOyFYUKg z4qpk?_me=M>`tkXMyi~@t`uepapJske{!t${hDb)Z$Prj>M9o*yt-H^(Yyuw+3o?= z-wf>8ir{1;@&`;BL1?SQRX}I>{4bS`No$2M9f)ahh>2I}pTZ;YmHi2(gr7ri zT0ed~)E%9z9rS_NL%KP=M3 zxC<;Ee7PboVhts-} z^Mr@P_I1VX`rzTws`9;0^Nxqmd7D}T(lX@?4h$d_9Y$s928A6DB3leioGn2tuAX97 zuC1nn_?O_D^${JILn1?=66OsCXn#lHQ@3(KJ{4A{VnU!3wxy}hX^`{rgLCL~9nDwg zdcg_d$qUcwcm1N5Y-r!``NDA+-*IIn)e&Wb{ccG0i?YIQ=f$$?#{i~;*YO`ZUP(SX zX7U3JjhefE-X%nGA@!!(z;-B;faQ)en0^864aETbplzJ#Wi1~jv&^2c3kLMe(CyH3 z&1rqYaLbjLd0UPmFn5JPNAtAJ6hdLG#Pe*RQs_CFtr& zUB{OV40MHqz>UUf1SB6N%1vuMW@)r0%158-OqzKXI1(04)tq-V6!PG^-L@x~jHmt| zdWLiAz++y3$Y}PXQm0^IvhGni$)1U^QO;Fb(L9#5BE_>ui!hpyi;5AI6CMQ&bc?NG z0*7TZ1kaaNC=U_!=SDi%9lEO=RKSNIh{KjCj zEo86cLiKeTa{UNin?Bw?&X;MDp+XCj(t7+)8v|C2O=57QN7V|eJM3T0V7QBLH#nR& zOLewi6Cjf-Q!ZWW^YCAeC^J0S*eVD1ZC*$Y_Ojzy1834K+$%fDaZynXN9NAGjtbMBQj)G zs(t5l6k=x0=Zrwt-r{OH^C4u-p$SJDUTmR^9`$m&k0MN2CcT~pOXvv)kphidRN7#r z@;rXe{qRe;oL%%q9=iQk`J<0d8wK9CwhwJ0&kYsLVb4y7;$nUld0)iwX>{;KBQp^! z+m*EBq#RVl0U8$6W#fgRE**6gp%($%ia(dM&7}hyfAuF15aLRJfnEs;RiB{Wi~<6L zo)8i|#gvi(l0*%92grGD*>aQ=AO1r#Jt=SwAXK zlVOU9McJ-tZ;!fuh!Thmi;TuszEP-~Ymvan$;HGy#&=;#&dG3NbkjF~4xh2d3qVo3^ z_4!yVRVQ>F6A>uJ*sBzLf@v`EYV`AS@I*D6{hsqEbpOGE?l3M$@WDS)uhOsbnY{?96Xj?GQAJhZ}Bxu%9GEC~&?rhzb zD@1&`BnRh$P0g8z^4+c|LahE#P=y8DIE(^~yBIkE&}J+NdYG92y2P!f3*-2XSpmPW%yqK4H_QH*s(X=!6wlpwKz8pP86TSIPGZ26`oySG{`Egsx9)pqkMV9g3{q z4dQX^Q9s1~tuSexV4+{CS;!IF_(1V;B2`NpFbB2|Z_xrmtrivXk$`a{ z6|7F@2F-$liDglAyCp$Q$Vju0-lUd zdGU2n`(U%4Q>&&-C!e63SRc(xb`-}93S=Kr$&^1$y zs|IN>BiJBArq6l7PEsaefn#w_YL1g8uA&4CbWO-_aP?-kg|c?H1^u=ztz5lO89d4# zT-BO(w&PBcGLyG_Qb7c_$EyF&% z;cTizSpN4v(xp?RIjOWMaH?ynsb_W&>%c&3C}_f1oH9VTU-GgH_I_;a8~aDl^G*4w zJ^^3+j|@he3zcm=m%SM;Xb7JTM!jx@Ur#Ml{7nm{pV3i zhsr#_u)%r+8KS=pm=)rm#%qr3-z7viCJRm@rj>Dg`W*~(guC>Xf_s68=gA+@8|hP>&3P!gy+~XV3A`?x1kpfY z-S%?=DmF-TI+3mfvP%P8%$y8vm;;@X@+7}GT+a-4$3BaP4%z-ylAja(cKUZ0;byBD zF@Tk^;}zc%GDu`u*oXK%)!#%}eA_ryAoRc3PY`9MesMo3y9;{4;dxC-y)Nhyze#m};0TG2su_BdO<#rY$Qx}<>0?Q;_S4G?DPpk_(yddSy zioIDPu|^FcmHr%R@W$QZ10~qKQ_mKroLk37bnROBa8fY8&#*0cRdRc-uM(=yqti;K}|Gl#uUBh6~3`<(O${ zMy!gr6k(O9V4zDv6BzIrGEinD7Z1HvkUJvnFyz|$rOG;1<65GzmGKSYh2cJjw9lF9 zxD>-pGA~o%0rrd>K0GA@=sdE{sR#Xs0(KVbgGz1~r>uLjX&3=1s@aGF#wvaqDY^8l z#KO;vOfb+Y3M&fP3*7)9CH(kyY@!09wz6g8ntbCl1yw)tI^enEaj#PL=`VG&|EMoF z4|uQsD^DTAUL4vki^scWUZFAPeisiLYqolJ_`nV zC4{`bd-Fr}zrEKwn1VXe6cx~p!&3YEkF11QdO6#MhhnqBrqnn=1jlf4MO*nU?qPPE zrztFo)%nJuyZB?Ud($Z}34z~?m7s&+V_WbM>Y?|^b$GNf{=fhV$P#I&MM;doK&LqO z^iPo9Ky(?*Y(~|^@4rVBf(t3w3xu5tYPyxbP?dnrHJU=@F#RHiU&iPL7vxHkIj~S1 z>fuW%@Dz8yBB`#j8hvAc-BEySzj6wq1PmKtp#%;iR{ayiLgj@PLPbuKHMIc)ZKHlc zq0YsV1fbKS<@SwIQXQqtoNh*?A%5kZt5d~&xhgKh8|H5&zuIs=W?SaVl?;NBjG^!) ziCknY51rutBwt`=jYwkSLq!7l1s-mZL2%&Wp`gbAelh3x5{tw{>nG4o|NRV+h@boe zTT@0To+v_*%CSyW(~Ynq^T%k3+V0m@>-udM9Bt-yq?6nI0RH3TvQDBo9ppu`@q+@b z+zd(&HehAXG)IXGwb8iMDTr=ep~*FF>bAxxwB34c2;@bc6Q?Zsr}-TSGtdHDE+bQ` z5nK4TQGc@>UnEMke0b!mq~quJdeXh)7aJgCu;S{tCVjj1$`3az2WgLpV~t3w)&M*6 zRVyC@c6O0c)XcD6VTkEx$s%Z%x~o;(U0YMQ(|HNw&IK&EHKak4m~{Bn&R&i*){l= zk?<)fzS=(allU~g{_*75UE1JDyZ!v7byvK^qMR37T{-pQxk z>#TKQC&tYI3j!(H(cK;Il|82wFL(QZT@gRU1rIj{8v!uT5l%!m0Bn3J=U?5~&W`rt zFD92(J^P6=A-far+h4@c6xAF6b)82c?HvEG0VuNCz0=UFu)+ z)naAXIZkg+i%QZ)`?rWDGrgw%5Y9zTB*erdWHju7fsV0_T%e&%kl@?*%NMvx(8POM zi!PKFV!FgFSgZ)g7#Y91tF|ZD5!9d?BbH)A=@lwcjLH}tk=tg#K!%Nx7>r7(o-$b4 z{eny3T%F2%=EO!hl#a2sb;@s-f!nZ47>sq+tl5rbb>&yK8__#;>yLOF%pz;SD`jpD{4_eS*7!Gogm#c#; zCX@9Rd+OI|N}ANUC=z%)o`!is7c`6I;DUlA_RDuG_lPec2RAP>BpHlJRntTA(dXQ$ zUUjduf_G;$h3;INwH*!xCaeddmxD@uRnD=}g(;-^POB*}#RXx@Qz$$l+d-n|9Ip;4%9M`+N7H?*4<2Ao0ql>4j z&0_=fMELrT*lB>{pLlXAG2b@{<z8fv?eqjSPaY#_&HvkUW?=v-vHed@b+f=W4U$ z4hN)&ciOY5usTk?2gvvG9N$4)H@BH|MIkes{bSf$&&&Y!)1AHCiQRqcMI| z0(D}6ju6I*#r#5dEe*?wFTRgX1!)LQvNKVr$6ONk_9wULvotW zB5J|@tZCt-q44YpVZhN+V?J3Nnq1?0BdKRv!^xD-S ze7~{u?=&6oU*+7$MfomvfR8x3LDHSVxwr5frXc%^!GK!5gq))(VJb z7_qTP(#@G2qjrz@4J%-vGd#BT_cL@u*Gj5Id+l%|)S5is`EvW{n4II)^WxrxjPj6@ zH5s(`GP$J*U@)*BCZU4B!Kjk~@L&9{%)ly+QPNqHSXO}3C`&gW2MP7FYjdlN_9^{2Rfb}W zv`4a5^6%n9uM4wP*&a}xBo%wj>R-ReLf`NWoas*i8;`8h;oapd%cz4gmC9zbmE2sSAcx( z@8H0PQKg(Pz{)ZZUy3o!AC_kaX2(b*O?^^F=OIwvLr1=C$IL{2ow0c>IdPy5k z_wI+#r$&*GzJQ=R?Cd^fnN>qkUiq#s#^bOgbbL}Djl$z_xg%AxO7k@Q@Z$2ac>oY; zj)Hlf4LF%y4T=*`qT+|vf!r%RxGRwt|HFAVpWM{nzqiPZTA<2~SgGH>Wgp1tu3rxZ zdc|{j05BPYV5kQs`Q+uu<&;Ksf)7oKaRz1%xc+A>`oD|j|KE3XDMA-nmQE+8q?%?% zMmcVi<`&mh+|=)sPVFHw!dO!@y0v%) z)7YvKhFRMRMp06Y*GR@vC>e&C=_*$&NXCP2Eh#b{6XH-(_mZoa%0tM)6v4V=+i-I)lvI_-bUndPd{pb?{pMG z+V)ssshUlHqZAA@gXjdwZ-@s32;5Da9)sFT1@3K5Tdt0YML+9p(wCEB-`ruNMv~#} z^s}bPaA<707;qEs$mc(fCV^oTN#k!3htO@qK4AGo)zGSQ7l3Pog@tK#_HSGgDZa z4mUhR25Z>#E+Il&%_l4`kp7+RR~f#_mtYIQScB4U6`qijKb@8lb4Yo9z6xmySmGvX zA!G2FSXi`U#(a)YLl@w7qL^BB(#X*>vry5ql#{@pi-$?OqVBc9pGBM$xMsu*f6F~E zUPOeOZQdR02^Jm$5|&IK%)`N_i1{9idA&lD=K#;&YtIZXd^j^SFNYp|{n~(;s7EE zi((lpp$nYhZLsx0rzIxO9-|r8pxRq)N=D!AEab7SpsI1{R-twCL$PZelT0B%LHA;< zrI(cVq&XTz(zUo>m1+MI_z1`%CLXO4+$9GC2qV4#1v z@>+nmav9$4#%MliozLLZMBMIeBh$rGr$~+FYP^tOoF_V(eV6CW4po;9Jpj(mvZTe} z;Uh!LEn!JHb91-l_w-&01)ywtFeQl^rggg7Z?wg2Gkgs?)TF<^_3MWxr4!yW)>CY> zzW3rqeCnP|89P(!@cQMFykWVm@AtM;zGSA$F}h`&=Zo9#l*5s*zj9pvcVp=PGeRi3 z`Yk7(8~?&|ZORG`ZAv=M^1wh>cu+Vr-q??DAuC~+K{nyWWU@KQ) ztF;o;oBgdJ=DgbDw5f~xYszeah?4#vjYdK~BThgLXw*U={l^A|tmGyi2eUhg;(pDo z=SAo4VVQqt`z|NRd?eJngzyN3p^;>yvD052eP;r)rlyq~xw)v|aQ?Il5gYIX98(%-p8)fg%G=vdQv8rTOiVWIq%Ca9QY(gpFti2mi>gwH z{l^#M-$JqR#5EDRVm=;*=AFllG(&;07m z-(^U04zfKC6w7MN`}785rIPdFXez;v)7B>3{o^pPhE8BIKdk*gPNY$}g`Fkg31^F@ zlCMl%vA9X8rNcC-#;$`W+)hp>5!$o{e4dCKqotD&b(~iy6d=;}wghX!5f)wCTeE$D zYjB4ip=;NDOJ@eSwNLt;UWC|nLgVg$vtp3&)dIL8a~|ed43paLWNx*8%E$>ro6o)- zTO}``>jBRd_vt8)^6X&&pEiE?(Vf7f(kL1>5eVn4&I<}Zn*Uif0|q+7C_}-UmjMD! z0@h!TE3aJd3q4Z|qq90rT_;+3eo|iO){Qp z4Ad|}N&Q^M>?O5Dqfxl4pCRL#T?~sS1}#D+4?i`C-_Y*8eV_madL`Jle=p0$Z$>%F zTxHew(xHvnl_ibklu17RiPB4HT~;2RSz;pohz z`NT^lz;y2kt~J-~UbpG(E;1s*4N`c{VNG+KZWM*}8%$M9A^dP(|CV9PNI)eX0w2qL z-^1;yH%+U~Tv3{!&J(vuw+z3siMaG=VKUJ&0imu=4+gp=SYdnD1SY-u;RN0AQ=u@s zxV^d3JO(Q-W`=;jp$nF!X}^n&G5kgEUAu&BzpCo}>HUcv=R+%m;2c5L+i?9y2Hm6* zg`JB&DIPC<;?a=36aD48m!)MQ44G(e-=I`v1uht94>KYa8d?^Fgk2vcX^caCwzzu0 zeYv8Tdw^oNbat*>B|`KP zdh>a#6)RnC^aDy!wu?%yP>r;;fozsUMkz8ourwo__1La-wJHLtkzrb9fBh-T;`t_o zSe#|M{J#6b`IYwN88(Gi?Iav5p;Z(-el(=Fvx?q=yb-^ecl0Qw`{#*~G#@D}?J->QaCE~^)5GMJMDK!E3U!dl2;s2YJmaP> z)a1X^4QJlCOwJi5r)@k316^Ysbm05b0lQdSHh3queyu%23%?5Z5dMmz=-ij+Xs&G; zGhKh=^g#E;V{9hK7-zbqS>4*^N&zY`_5Q_1FCM7+lb9|PIP}Rxj<>+9q5y{dHp`?Ae2+g=ia8e8FlOET}U{Kdv+h` zdq6BPcqY_;ofix=3ZEASE8BluE31X~PJ+(O;POYi;4lx{N|`F3X((*gRysrZW=cj! zNr%pJ0q*14MUg=VXXDdn&r0H^oI|E>bpPeuyDy@LV<|f6qTZ z+R%Rw2t^2r;7F%(<~;gX0%gZVrCK6?I$iCwt#~bIrGghG>B_qpLQe~)!)+$^w5qqr zc7IiIt-lci2D-wp4|*RTSgR;Ty8DFL6c4XaD5UtAd)|Z=4>BQt(P5`StFxFW&p7Ic(nKDCC>io^(cKW-!IlDX5&TPFQ7yCgQkT3PGB7^z5UwS zm^NFr!HXT&<<-A>hL-8^OSE(uR*Hx}6RKJV>Cgj^z#W5SvCp~`RXbKxfA6|h+gyG1 z`_R+hRgN$-4BRP9vG(38p0u_KcuG?0wAhJ)ZT(TfHKeBb?sp5~Fag`e>6`XpytLs31f*Ok2z*l4V zcL`x8u)hsXf*`nf+(P%lKgu=AJD90n8D?fHG}G=?Z&@I^XiLoUq~BWuV}FuyzpjX2*`_<|r9Sj+cC>okBB!aw(9K=~-K1i8jIJ-n{{9^^% zFeUsUa2}0{PwaOrx54vms3~%eG95^_nEeH}=#t&Va!hmf;W#okGglv^)zo-w0S0;{ z(%S|5A%hJ|jy122tj^wSE{D_%-Qe(f$6QbKA;QbyDEcJy99V0LW1Uj%(Tj^Zg90e@ zKC2FdfuGr=p=^;QB)P^KKR>N#Aa!M7jREx>R2bmMbUz*UB{vETr0-Y?ApEB(fT1Id z#jOK`!%ys^G@(!Ob&V!Tm9y**V7y}h25i01r+WE4a}iCE(ksyerJtSGAM%L8GnTcZ zJ`}(<|6?PxlhE>_Gu!dVw=$t=UTl|&0wlr(Rk&1ZKhOSlZH*LO{$~)V;d=#*33rX91aZ&vmoFmv)L4o27S*@FDG|yFN5NT3y zRxw}B23_?%*SGyJ1{*ILCkJ>fl4*ujpJ1$R@3A_VLk zD-b2bL1w-`#rX*Jx|PR7tQ4&y7Gida0@Q8H`skQF1Ke?fz7eX+eeha&(r1eOZ!07Q zW$W+(*;*HXo#G%GV4e2LH3$Yez>buAOH&3i*4?XPe%*3q`CONx zXsup1>qluyp{AIm=;8q@LlDdA7xG!$!t`^6*wy8_5VKr$iZmUDJlLJS#j5=p zNrV*u#m%~?K~qC-0#7w^DMT%+?r$P1(|9q!5;`GZ$iGAI0>#Ej6vtc-w^;S|!vL%) zk|}Tg=8tA{ntq&Je?16v$orr)u%Q4QgLxiaZS>PcJUt(GrotsC^07JdlelJG6Pft* za&AnH1@xdRPAW-f#gVKUQfHddjA1@hG`0~KXdX!gfoPs}2!LmbkRW=`c0mi1`UoXBcEL0!gA7Yb1gS|Epm@LTeCS-C8z zoL18qE2+;K?0oXc(acc??th>nv}d~)KD?hHLcW9dxr=(SY@>{w+jg>=TA>+p#JahJ zX7PFTfVr<5dGoIq3*Q&;TYda_3s4gPza*l7dPllIxoQ(Ks!wzlG&@PHwSShJg<9H= zok9q8(jIHGeH^%Q&(_Kw$&+q<*6zSSr#O-Cqdr6epHCU37ii&K71y#JC*pYK|IrFh zeXkJ=5IIw8ZtNX%8o-qKZHN#$>uzErw1b$r!r#f;%;oA&rRGwHDV;E0XNiu?f;9PS zxH`_?u;aEkbs;RX?`b%uK?oTPbc$GVOrRec}?px(l+@~4NJ$y@dKvG~_VLpiRZ{t{<~ zw(7Ea%X4?OLY}*+<^i01Vk~~pbWnG~xPmZxdTq5ECG(fA;qelW@$r1w!;n<-&!x3F z2lUTPjV@mw$obA6a67?3*LWsN@1^ZLg#~f~b{*xu#qv4!v8h^wSj)7%2Dt4wM!)mX z`+BZAb4OKk%JY{^A0}G5Rk6s78ad)Gq3u?K#`jG#aN?`Q8e5g{(&|a#c|zz~iE8U; zY}wGt4;-#Z*}fl7y<22T1I!R}jE9*{a*9@8bYooJX&C0Y-B4 z4FTv#i(K9}>+_~^*sA{ETQEdHd+W4{p|fb;3crSr%X!R`loe~XN2@FgJwlsGz??4uhEAG&Sm_-V;gBwK&PUY7UKGea13f7 z=54xoyTbqmx+J(L2m7J68Tzf3=y0oE``+LTn`LfnF^-Qyzw&T#2mj1hpcdsE$!jgg zv(|I7;Gj<11V1pjw&@$Wi>^+w1uD}jWviHYptNeqpu=t`nulRA6a1v79lYeV`WC#sKGT;RQ!&x!bArVBsEPW&U#jgStry%miDDGWzeJn?{T z1T3K=?5Ruu^cN5{hncCuv7JG)Grd{61)}dm=ANzTeQH{cO93nXkfvICryhYy%o-Pz zzY9z*K2$HX0hzC8*FJr9QUfN!QmRQmy*M?Eq>Z!l97q7>A4z-upnSSHT+S#RhaWQ- z=#hU+iEq%G~?;X-;_QAVP>ktd~vRGUNmIM!7wKMT3U=4?>7Zj zG0HrkA!R|5EX$;(W!zo!<;dz63qo6m>fQ|eK~NOJ2s!1VH;jXZ*fQqSwphWE^FjI` zSzp<7!&yQPq0dOufh{R&q%Q6BA!?MgWJM0AGM&)FT~g6MCFqo|p}nk3Z)Te!T78DdaDInswFkjfbAe$Q9bA8D$}-Uy`rKa>nH~)hAA1pjX1qx7npP z37z`+y*zlMY#8*#LvlP3%!Hbsrf1{xzE+Ov~I z+KRhdo;FS9?6vQNdM@YiDmA4s#Y?*s`nk3+)7QSV3mY{5Qlqa;GXIa+w$ekw`Z9o= z9Jcd0s{!ug*G-zzD`SJkwM0Wkpw?ert_j-D*J=i5j`8cVPI zB&!4Q1#K$V11d3pa*ogJ8kC~0M)J$mZj*Bi6&~8{=x4xA7@A}-&^7krJOG*hu4#ni(^x)=x3_C4JkGoccU2jimNk%unj(P;?Cjy2rh6fCk?bP#exL z%pmV}z2sEyKxZPPVA!A?kLXEf_2n((V$a9KV9}9Fv(7-!WFKzQjaclSsY}z^;wW$> zNczn)BQ>g{@@=SuLlED{J;;T2qUxZOudfK1@6gw(z@7IJ{GKap@6osFlH^*DWLeY< zXGm<8ihx&Sy<5jl)SbOaHGkM*YlBO)5_Lr&#ySz~V64+YtnN*&76);OM{GVzV5kEy zBbGcnp0BQYo!b}mk<&O?j4Gzi+%Jv0cM8osgFcfU?Y(w!PY{&@?yF@VtlK6GOJ>!m zoBWcKQeqCL;KS|J_>&K#NOO$*JuJmStg4kDwhG_SFJ=<-BQ5H$lgvt+8f?+oyzicG zG!Mp1Lz0r*YErcqeT_=(RHG>xX>{Y^4*dCKc___$SN{;Jw*wmN9u_J<&Q}_#C>^6s zdpCBMyCqdI31}(A3Rz*fl48JQSgC*Wuat^en*BuGf_dK$wGe{P(P=w7>#S71DNrCn z|HQ`j{wV<+Z9qkp6g11gr>d`J0FP@=5NWVE2iAlOoDd8+&bM@k*&Cg1)uBo^^`^5 zr6GIC4p>2B8N2i+JUhEJssBs(dS&~9>Cyc@cl=*NfSUAzD1xb_Vk-N#>BU8lw2D*&lK zzF=j*?kBQ`A@Ysj#j(p=Xu|cIPVAB$iDDbton+-`&{;HC#QAHLW4aYu%5yc%jMO3| zq~omeGJL{kbQ#%$`?Y;p^nOEo4@ac{+#W&};yiK2+E#5+KSRQ3kvw+k|gZzU8{=#O1D*Bl%=hrGN3hF z(@{O60@YBZTXf>zZG(4fN`R;Zz_JDjk(SeS>F@+6GWpv%K7pHY~< zaKAjsn>K$+o4Dnfd-hGSBGe6{kcpBBvVw+GK`=HpLuRB_wG@EDh$zI*sr<;!F`0y^ zo?%7uE5pOg-;^!G87!d-EGxCQ7V8j9iLn=` zfqr+v-Wy$9lY>5~5w#f2ilxR8YOm=$KpOND3SrmvuOe#db zTQ)m!3QizCjW6IsPd*IJ!JLYQUoI@NfA(;VjwP>gW5;8E_&KY;g-(G*c^jMRyZ9Yn z`NuY0Tdn^E80Z8CJ@_qQ9ZHdk{`8b3;%(2bu}0-_}S#Jy3^aU(8>D-!=Uc z+o!tfE4V`eyiCP#$o>E{ z$UXJh31Von=s~L2tW5zaeo-124!j~6%nxQEL0_Lvr%-;Y7ws7kLhpDSxa1QX5Hsbt zd+Ke1fiCbMApulxezm8{*zzxMJDX7l3WED-A$_5I?O|uO-_Z$2P77Z;s}&~szFsUD z&mj^8)ZZr+f<{Q2FF|D@+Ga2M<16(wl$43uhPipp?Yg;(D7gL8!>w#eJEpakNvcte#%E6|jWfe9 zeFmXG6R1WYl6r_>Wx;TEIfnJ`__O6^90iGR7GTXZIFNWY%I45W72jj}<2BR2&D(|F z_r`V)0_agj@5zhU>KN{w^3KjB20>Vg*c3sd%h&Va+HtBX$$0>r@(1wSOJ zhcrXNz{vEnUDA~?&Uk}8_q>iY@hN5CBGODu%6;&#D)fjEi&h5(y1j$u5F-Y&twVWI z++2cYos}BRKJuq!CXVlN1eLd}g&1;{dB!)vIv*kxb8&+HGJpqyygL8X1RM}Tfp&=4 zg<)X46!5rnn#WYi+1%|{-p|(#cS-)@#i5<1Q2UJIkhzUA zhdk{(C^wpSk!VDMEal3XGjC~LB#xjEEo_x-3do5ZA0cHVBoRwg9qI()P@F)47BC2i z2$<7*3b%8m^}d3DbPZ;BYc`hA{w>J_qRy<+8DVX3Sx(Q)v+uI%BixY z#O25g_ev#Zp6h?G;sZdlr&U*qUJ4gk?W@?QR59jQ=ud+MZ2`vixsZ-ENa#Z(U=4Kz z{Yiqc+)-are^i~Pe^v?Qu4#c%H(um%Kj+r>#)@sf4e%wlXx7qwko?(vE0RSvQ&>GFG1*0Hg z*gnoDwAfMaG%*E*Y&(W#!^}rwVuBsE$~nuUZN)~6;4A)96e!ROz8nVHv`im$;>&%3 zf6LsE&?WI((rUv;PO4aae-3pv(uEY36MU)+1$rXzT7_z8k=fBTnp!|` z;np54nLM;=jeYNL#8`8_rk6Bb5Tb~ts*@)Faw_Pab~4w-jrLDp_u(?oa!2MJ6q&zN zpXe|;qGXTD_|b-pjuKCLF}&lJM_(zS*MWC4--L^02nD(UtXD#W^-}FE6RdtO6A$#d zt;&b@vcrnW^-m4-MS*``eE-E9-`U4BXt-LWMQKqccqfO5XhLR1z|(}6goLI2rtv2a zbp+D!^PPai`C_t;(^&O(f=h2~^>_wy#b?OgviI;pfu2dk+M(BnwB=jtXBE}Iu<4?u zLD@^Vj%_-k->vMxI?VAl2IE@I7xAmo6m2!Wq&A#%8^0#=MMM;&hEUrTpSQ9~f_+LA z;ZkdH=lf;jrru7L#96O0nJSiE@#wtR7|6u1K!Nt~n$_STkpjAM8d*suqa8DIZ`Q`& zY~Zd7gU5{1hmi!84>`yt2gqf{x*`v zfG5h8*vxa>4-1E`gd@^Q1Woe(L#mbc@ket|pkw^BfY-48Sx@q(;?hj^!;4c(XJP(} z{!^TXccbUqWlSYlwePUEx8=KMzr(j{33&J3^odBBC>Imz@}0})XdE9i3jATqJR!!} zm=(}Mr`YygX^I+2Y(PbwIOI+UO%Qg20`22>?L#xPq^AEA7q!78@q zJa$CLA`)8!%zSLcvZ~aJI9^z?s$*3AByxS|0ek@gkD_U??F@Z0M)i@RT)XEF(nA@0 z8A*>C=d}^1^rs)T{R-0{D+ejt5Q-~8T~6<3vCs+Fm)iX3LZN@>iz#dIld5kq2!s6FbYgv$c;8eA$NJ%L?%Wo^v90uxe{#JM;Ez*4kwDq;b&yJh#CHZ`uKQP^i zE%E177w~Lw?tiETWW8#N*03CDupp^znCGv5aygr?5vpg+eD$BvrGMR(ge*Fk#=l&5 z%X}H4Ygs*>E5mk05(}?imgTwP$x@HDbLmbD1MP2Z>Y?gzA(KhQ^Qy`Pr8*s0)IGP9 zs}0C+%b5}95=~IKMni$_2|qDI<Q*IhqDO4n$3R(Y_x&+l!0XQl=n9$)IsQ}71 zGvUnu%^c}J`H&(wv|}w-7zPgF2?m*D(FYtJRk@#zCND&!UEOOg zx7PD|SIwN0n4mzXg#3^kx^YP6M1yd0h=e?50&5XQ&r>J;j`7%9pH4{>l2*9?C*p$N z$W{VQwuhUFC1dkbhgbSPG_}g5%85e>?>XxLFFTPl|Eg`AGQ&h2<&^u#eO# zbLkqe<0>RTfi^Hh;|ZVwkFg87M%RUZL;XLBHeg@yZCg=PLI;2$!;Gnq)irp1+#mR9J;4jM;`0&=dtS2P?yNx6nK+!A{>>bQ8e>^zV8 zEJ5?Y|D%QYUzOp1e*(8 zN3!+nXWZxLTexnUu4bI6oTR2IGU!nj=8v?!D!7H?1Q%1)Ha3E>+)Z(8l_h)V?N|{b zjR^r7dCIOF1c`f@c*@j0^JZ2u|p#T{!#$EL9+qu z0K)=6@b|V=4G__g@F-H-M2($ILNu;vKry5kF)X;~(U^RYgcF6<%}2(9g5WM^a!HcZ z=rYr0p>Z~W?J&zclp~*Uo7W7uajA&&Ty@(IG{;(n{?9l{KcavEk_61a5$5{mKSwRP ziB#E^)9*uLW>W-J1`34Zs1950lr~YL`)KHis^21iA;wXz9T!LcTc9sXVESGA_{_h6 z7|mv>i_)Nq|HP5uIIEmK&xaymz39sj`_NIRvtJi<;a&*nj$g&ce_oQ!^+-oPRp94$ zR456@T~|K&D$VMx{oQ%tIUS5BlMJ}~N8N2C5oJvsL(U}?T;8Ktl*Mo6h%OE^O^j@h z8taoj&k8_NiUz4E0N_JH*N!QhKi$p@XFPsCg#tYgwlYI!xnPs~5RZ=eF$5#NH$SdG zZL=;LxiY_e;!?e5iKwRrUwh5acRKw`)F)zj10*rF{S~+Od9M`BSd!W{GE=&!+*nNv zSM)1&f3-6ATtUkQ@t56;zD!;|o0nR@_RiP6iU(1#L8|)Lou7Dbq)r}-3uEq?EXXcc zoT4);l^WMEx(y%o*Vez&fyfhQcJ_7Nh_cd{ZUAJT!>e@=zw+n@fx{ zN{SFV&?2JcQEH}Sg3O|Owv-O>hX%*KLxC;{O1q$9EYh8*fTA30W6lq0-P5feCnqtd zsWH0CJX(Tg5kC%2_eP&p{){GMaquCos2^}WkUc~+hY*-^uqpKMQlcOrBLn3~TN}w2 z1(HnmN0_Co4L?WFfA|xu8TzC*^ePWO1l&c#!yEM>knq=x0j+@qM^!4YBjSBE8^k)5eQlpwwGMf!k%Tn5LROW;rZ4SmT zO&nKw6zuoEDaQ9w<0-#|U~%uhwpd&e)Qr4-hft!p;ka_n$C}aKRP@XUhZ>S^HAkTc z-Ly9E^}5ap+jbwo6!pLifeV(V@?`Mii-<#W*XkZAym(>}rr}ij>|yPY6}JU+mh`E%9Q82en-lz3uRF%dX$l zz!i`?m;nJ?i4X78N3mdm5Qxqk8+OWAZ^Aqs^KF+^D5o*~%Up)Al2%5sF@S^By?)N2 zSz=(dQ0S8BXI7R6r+^*QLOTGg7I+xh5Rx=Yj(beO<$v`w7t7@lYiN|YvTg3qHJ!Ru zgV`IED=5*99Y0gZ*reXG!iQnuH1%hJ$2c_kHSrB-B+@{~DI>DW1+X?@=_OeiRU zkNTY*F~*<{0l8jK)2t(je+|ja)=})2wyGR?!{;M&qFO}?Mmn&Ne0X3uRbEL{ZlI~Q z4Id!}W|vW{f{q-`**z5K3V2Y7Ru6H7k3vW&csjUnHMZeVh>R`{;=SWG3@H*-;*NEn zCKO%MtR&GF(n9-%;|)|2N!YFh!>f}ceqgO_2#gRk7%w0VZt zfA(B7x~PKOO%MvS0k9f{=KlcAAl&!0!k| zDRQK)zSmRk5Qr2G4+#{o;e*8B)OW>tdI9}qQr)I+ipGLKu))a#G^jZ$-eL64jC(2V z?-O5^qjR1uC}qfy*s1?iRIgzfJMfwv)h{BEGvElG>hZ_G!%&ca4g1!a)+5Fsi+A|l z#n!|QqHTp_mx#Jyp&?fGo7*DNeLrd6@@E$>Qoii!{3qofs+it%`Cl9y?oR{yV;cKv z_S>*;RILwQR!pfT;gFH3!i5_+ygkumd66Ya@^-;tLvg3%C8Mg87S=*R22qmRC4X~5 z1sr3c7Fq>VPeK=t01Mv~6}f`#uk9qlMo)k=C5yTSQ?+9nK)$*_`vQL;-xz)@$uaNk zY;69~$KxJ{ z*CO~XKD_`EC$*tLYzzJlQE3+A-M#X+#7f;J5 z1Sbv~SIYio&y!6lGf~MZ0*jXq4oUA%y?-FrGKCh(0Wv6`fVV;XmslB#rj(@kNYp$O zXd4*%00D}GNeN%Xbuz}bEs?x0(jT7G;p~W-JWd#qpQ98)MnA3<(ex}LW?GOgVB;DB z8FQPx-G{~ukc1ov0jw8G?iH$suhy+trrC-Sh6RT(dn*#pqvS{&<Su&uqK*k07VIy~P)FB@6t^c-gIyK`xesi!_l>=aZOS^5=Ej#kB2 znPFmDTvZL{y(;!InnK)O05~iG6lMI8iCU@=kM?fqv|Q#wr815iHb~q^3JP>U2p0tn z6xfiF963qu8 zBliD|gZ`6hL~@*Mk+;lSPV&1sBlq zmD#gYZ?ok(Z>B(Vp!AFWQE4EDyS-}0d^Qy57!OP7^}?#M#wlX=Xw9VSB$Ph3d->tg zPL&qY>g;EUG~Ue)qW!L+h&CW8w-8${fYBfprHurHM|=mm#E=S!m*6vb(+xMS12;&w z@;Rmc5-gtgmVEE8|1X^i#fB7SH_DGtperCd0}MoW!Oh8xk;YEQE}%VIgchiu`sw|} z4&PsRoYL=OH!2@_7r%^H$MS*if*Bk&nI1a5RUtF0{u|%_-_|RfkNWofl}kph@oJ9) z%yqr*jv#t>NHPWpV}PV!BqcgG^H5r|^5LknCF>9G-rUK}%QhYkAE`>xN_SQAgak=H ztqV_7e+X3_<_9iP;=qD5Gchs$ce&ZT)^e(1fJ+8BJsQN^-9T#g4a>I6&tc7kw8X4x z5og1NOD3UhbUl z57x#Y3kU7HibWJQfRTdfpRU6*=)UPYI@bL+Q25dE-%Awt%jVpJq$V~|)!Q7GNdH(| z+$5Y0b*D-lY7T%H((K%WeBq!0k~C+Nm1F*lFgxgzkoxpe_s)n?3dCe2zFpg`O8_TLm*7>GM$QH0Ia)DI%fw-JLQ+g< zR5#GmjUC2|`lEZ1&1nXQ&}Jaxf4S%Z{MGhvklMad5zf1M5yDe|NN_sDK&XfsUw#_| zd|`zGodIIwk(gw96w|7^yZUDi$r;VMZxfJ(>kg+a&si#9ZYO0#gUz4vQcIqtG*MHV zrDlN7ltW%_j=w;i;=ujd9)`ZX8IETe>B-GrEaC>fJ1 z6zGbuS@bok_Y#Bs=%L4U$5arD*2^-|1k_cz!l#u_szGxsNNO*u8cP~Q4UtR^*GKz| zawEB1?tm!z_HEPjK;pL~2`P<|T=s>!vR#}CJKuj)yuyK?$Wp}mpHQHE z!sge~=T+(p2M>W~J_Xj<51J%u=hBo+Or{S4d6mFVGBwK)yh@vkh3v~F2dFCFF*SN_ z(B(}qiO%P-_=4r5{7-N;c~ZV}t`f&R%OyWH`RopsY3v^xdw+RZow;YdoPh$Z;2J?^ z#zfNni=6y?tnqO8WveJ&#QCXymKd;>ozy)ZGJ56NTAG~hyxZ2hZjIsQGJZD5*8*&3 zBV4DXtK)T}?f&^4XIXyH+4f7$LhRZOrGfRAb{)JJTchMgFr)F4$MV_hcjyopmjqQG z>rvghe4$>sd8S_5d{VNx^NryQ+_d%}`?Ba1!g1`kxLQ=Nm_#&V0QV+RhCoc6j!JT{ zRQ&tLVg#73hgk%0w>1aTxZR&+qqd14;!LXv&Av1Q997njni^Pg3{ap$;9?8(f`@K3 z*+ea`BghkF+WWm!9SqYaKS}e$D@ik`G?Q)tBNkB2*5S0lRQJtgSl|zm2@qb@tixgc z#Y`$z5k55mqx8oR3Z0@Wd_SU%Nd@~G6}s=9GS1Xq((On)DPRexg%0ul9zX?+=sU7S z(G4=ri_2LG5m_3cTLpdU>F&=<8+gsKcN~LEg~XW550C$X6s%F>5C9^iB*yXqZ$y7f z;XKr6fn?oAFpRc~!I=eT{OSV~s9B({$Rv=6hKflLbxl_e6zBw3B^ry1KVSh-J*{&DTY#^N z1*?4fw^sjb_bV-|2wh0fV7l#0c6+~Xz@sn`^I1sfK!NrFzgFQ-fX)gA1 zD~SDkn8=BoF|-UMco5q%L&#cim%5BVVROo+nqoC0nh~W_y#H{F5Zi2;o= z*J7Hr$?}6&mz%1$ea4P%J^s19`-gOk+;{Ios2lw{g8u^e^9EWJAgmJ~%l9<8`FngZ zB&hU-W;tJTCcOHWfI(#jh|UKC8(-46$XW%Abg20;`gsrWg0W0HR#74xC*6{X#n&~o zrPZ0#dI4+I*Tv83WaEa$OQQVX96JK^L%(Rh0}6D3m&*e61T1NKySVhJ0&As2TIKY_ zJL~2|DnB;m$y5Fxvf;!Yfw}8-aG$xr}{2#Uz#|%=k6(Xjnm?L=m zzYWb{J9H$cbqtS9+1_$(JUprhbEv9q!WTZzE#Si9@?z4++<<%-C|Ks@aM*@CETgag zbd}H|IndkmItwT`Bph>1S!OnM5)ANjLV;cgBOo1Xo*}C2a;?v!O9QJgJ6@}kLY1@+ ztY573tGI|xU(#V+zP$Xg{{~lVqFp}yF-X2on=Lu(q(3MB8-r_A*aTG+QM3tjXu}R5f1I4$4lK@Fmj%}K@{QW)3{3cGJx%3 zv^c=^RDyUw?qia?eF$ni*1qld`cxx>KBDLRwybuD~1}#{%P3{&*oI)g z2lM7KlN_&)*MmutKP=|d#w;KeJjkH{-1mW=a@y)*Zv5xb$C#`fL+STD7qsI?mqVG) zm!cV@-g!5Y4b9&|+U2(O)`Ji5ql`<&-%)!HVhqw&*kSab+t=)h1{5Yex0rzjg<6P) zXS{D7eM!FA9KrLw& z;7q|CiB|b%Gj>dgZ-q;o!ry<)i)DQ^XB*RtTSocfYYv!&4?Io=_pO-%7$|6}pCoXD zJ<#mK^iiZLy(+z-3%3vGhY0u~r|F==QL<|d=mD={!Hc3Q2JsrnN7`_$9@6*9^h0GW zJ%hgPeAlV+$tC;ww)M2&fLIlaqMH>NvG=QKAF_XNT)JvG91Ek{Ms#;o&K8NqWOv?} z2@D+*7oyOpDb%&k2*kCZT|MXoi$NO^K-~ODF8XFUyITz7HjN8Y464aDKg-f-eUiSi z<-lr~rZDWEFIh6KmhGyOOG@0^W`b@QerfXfdNu1uke7jm4#M|Atmimm-k# z9U%#CKs*7W|HDZIL1uym!IWW5rnRW0&lW+#aJCvl!yKghu)8fvjTlb7l_ASiT{S@X_h%paOpO=SL(; z?ZWPmB0+(!NYoYYAS;*o>Ej>%qkf?Sj$%Zznst9?qnegCFje1D_l@4T;jkh}8rM2) z6}n=m4B?Td=}wk$@)uOhOX#4ZCVWeCVDY)+=3)M?67i6^EIe@>$B6VpE*w5Q%? zemMgXeL*4;?0zux?Ej=RYCb-c=qak_p@oiP!7|gdkF<*?AB7|GU45#ORXYFjRlCn^F#kx;(59^Vy{;Oe zmw9{u1vPZGEp__+PGF)^64is}?CY!c2Bp7@Vn8B+0FTy?obN zS9k@i(rV<@-~ccj3AHoM!x6T^F|JH3u5npHeWECLW8sOROz{S(%F*&iYaj3g#~6(S z&wozSDLGgLh;}K%(z1s!wEyBRi(qHEkgX*+cG&{vhQkkg)w(2&=fnEk75ogTV~$vb zkM5?U?1|tHED?Q_0dZuGXTfvdwKgngb6=Luo9EsavBL_M&gJhLa?`C}TCy^pI!=Y4 zK$p0GaUj!FLtsDiSMu*BbnGqqI6S<--usFngD=M`c<}%*gprwfta|(6{og%l--U$p zA|7@1a{?1n_JTSXbPenIMK7{I^G8Z2N}0+2+>aO}U~2R-WEqXfKpAsNvb2*>4=B(x zQ8=VF4Vg&tG{zZw%;D=9#F^$X9D!;7km%;k91#ybe;QiYn_n(m4|BO;+`{;o1OHEY{KosFhZr01+DNCDR?4Z|%VaU&>h`%13UrD) z4tbYDyGQb*dCvFt_JMb7=JIA@L3$;N{Z#kG=P|oTlo4`g#4GP2*D?O*^o_&_{FKz3 z6+Peln2Ng5d!rDWJK)6~CL?b0dWR|q6H zm4elm39)V#VxCgJrg@tZpS4b<>9Z#~oH6>2({SFk$TL!=F+<^wZJn;%?SJxD+K0Vw z7zq&>#W@x7IWR4oq7{@R;cYfQ`rb^Re9)KKv^ERuogTb&ld6VV=n6oG0g);6z-0+Z7}p9z(msT4bLpW=Qd2(Iu%~Ba zSNqee-p8iV7R0%xJyAV}x~1@cycfz+W$UpyESIYqf< zV=xo?9^E-vcLk1=;nX75$o3sJeGe#LpRTcXl8~x%07pMR4JFsG!Joz9SbB^O7>QG9 zFi_I57yen0@wPb`StS~Ct;T;T3{^U}(Xty%xG{rF4~OV3aA5+l&_qK3W8&@@H%5Mb zOQ&|rd#X+CUzj{zo?TxcqCmy5k5>Tz|H)qhV(hdU3EWt4C|I|5-@b5^Wsx)o%H@w( z773vBda)!6A=aXjjGf^|Tl+F>p;VELIZx3))7inj9twAaYOr@O0aAFTcM+$ajbKZk z6MDbao%Yd7JDt=_hZ~ zxP+N~X8kChs=iNEZEX-sgX+xmmq%vT&4p z5vBR<&4Qn-ZQf~H+j|F;y*?WKS#)TlYb>*sMqy za6`49{kM8RyXwYhDmdkc%-F~bh=b!mb=>N2UpQ6#Dc?9*Dn!F$Fkqwho7w)|T5N9n zWFV$2Mp#zyb_kPBEgcUEbV2MQdk4{>0}6I0(|HFlcY>)dbcn_{OgM(bIF;OOKmQ1g zDVApi-KKoNFPp5Np$&r}-Vg7glV?$T<3dLv#!YJYp~z7oJE9mf^mV8_`Hf=86rQVr2S=(f?vY7IKtFBC+SO=sAr!jn_u z3zB-mu^O*n_wi(h0=*DNh`t`%sR7Cr#?A%}|H4-smNBcl9+qED26wDyJ)ZXOQY-%H zo+i}YKAjynwEfc5EZNftzVBCSz?1i#33Lw~;R_7HpvZ^LOk2-Tf z;4T$Sr-J@bG99lxlMkOug6F>>8{i4PU)=q`f^(0xR|wzw68^;V(u*ff4HlG8I;{GX zU3FfiJFxirVLiYPQ-lVmLW@epG5>B(YjMyS67C#~O?F!GVLi{Ngy(Q$9nB6*&$8T& zyO6MCB4v9Lf<9of7){G*1HMvgh@$1mX~L(Pl$VPH01}7gFZAVOezJvFPc_;&5bu;{ z`6+R!Lps)=qfa0&ctQS%gu9N5p}>8Ao2x#e_$6(7=SxIY@&|y)%Yy3`xPq$qY~RCS z1&sSG5iYL{v5JAI!3(H{0TZKDX4ApXQ8qYg58gaTQ~qnGrnc~57wM8i?L_Cr{`>w~ zT-DeO)Iyg)9SkG@Wa0FFZpWKBa@`tLuD-&wRY)#6$kn z10ydP9E6D#=Z{1nU^Ef`%d`}^4TIUSyRiaC7yYX~8Pnfzai8_#LfzT3fXP<2W95p0 zI3`F1PXyA&YEuKP<)ZU3G?0X-aGMPzzfoE($_Yf;!t;lZQJPR^#xnZ$QG{4WyCyi5 zj2~x{cvq5EIEL%qM&7kYBR(k%5JKrBW1M@E_2JB4lCJhikyDhQ;T`6o+xOeTv8I=! zTu1>As*G`lh>s!BcD6H11<$XY1UmK7(8Av|DKV!LZSD=9yLE2o@jmT?7-DBPpTzt2 zg$9y8!QR6vsY(n1NT(}1B{qzCK%!*Ne}peUJ;}rX>KMj zSx}%eoNuUWHZuxuZV(L` z;#j&7t-E;&%Im*TF*pPNh7VV+%J)fPIYQDZIimCetj_+!;QTZ~x3G{>RXmAw(*NwC zn)54|ZUwvm>5P99iYP@+Br8Z5RC0`97mJITGj?fKq6}uw8p`wqP^+-Iwx`ggmTB_9 zN{0bO!+#GscsSVd-~LB1rBk%pUl}8}6JnL4-Mx>MkIJJ>@x9d~tzHXjM?marsBgdL ze#Cph1!+ov6{5FOoKGrZY8!}E)KPv=kWUg?#pTUBCV1M98kbI--A8(5kJV z>%S=1N4W-K3TNr+PmH*%60W+356Xk%g?prTM@W?(=Za$``nNbdpSP}}>IkM6+)V|} z4#jvUas}l6KrQq_%FzyuENnlIzkp zK&OuXwD3pY8cu6faZ%Nb`F&T)3M$q)`oiW;usXf)po~qS7^(aeyq@Bn;ycduX1Kx3 zgFV@8{?}uB1w#gd1Ul;LlQApii``s|LSubfDc*y;{&s^XW)j)FXHXy&0~gKkjMkf2 zI!&rHe`=<%H6?zksAlS-I%g{6T5NN%6qKlsv{FmCYgliq*G#-j`_rnVD^mYVU~b&2 z(;iAIz5)?=8(=}kHt_qdcNM9R_AJ@hiMD6&tpB^9)joAP44-!tQtoxKX<_4_uwAr= zB}aJwWk#$bjw9pY=yzI zDfUnc-4V$3LQhlez0u=Uow850u=tqrJo@ll#7a_Ky$)}kHDS6p3`aMQ78`E0x_VlHZng{5mY^e1j# zyKOFjdqvQMCf?YMLy6)sHT{-f#zI{01ZNxFXr(f((*|1k-$F9TEc)547 z<7^gf+U`;YrSs{Oe8!w`T%!KO=DgO4Lu>~As1o=0D;#KH*SP!5sh-;2Tz2ML_)ws8 z;FK`dtcaxIR4^(!47Nxr9QE5WmRQNs=4dONzh^~V)0sHqiXm~LrYq8qe$za_9?>9U zq$DqtsM;;$ea4>Y_oL|{=yZ8tKGd|vB65cKkXe*UG^sJm8jjrg4ajSf1S!4{SAbl> z2~1i@o<;hiP%^Pzn&$r;f9-9kS{z$84E#8Sa&e82u<7PBcN{GoQ@3CBZ{@%xm2q=f zix8$7cH%u!H=6u+e~p8VZ?!YcNJ-(?MUz4VYwz2om)9w-AtPR$@S`T8P~pS*oc%vp<7cuA{>bRjB<7pfbXA6Q z)vMDfYNWK-7T9)ZQB0}-{gKvx%E5O0TY}OLq#Sp2obBb@w4h(RuH4q&gC}bX1v(;N zhlq6{3C$SeCd-O6rnNPy^?6&7QBfu?wGYaiQ&aZL4X4u26X6kBTtlN}$gP9$SeArR znEaw5n&V#;{-vk9XL8ZGJxs!v9MUCPmyCp$CZtJ$j}}1BQpe!;H(LkPlSBV!2QYsE z56>S$K-a4;Vyr<-bTJSgE&s_ZbcWo9s5?m$8-|DhGKwKJ+7{)gJmoeKAuDWM>;!|x z=r=N8UgipE+PKlJFVxvQ6IuNxMDCrk1hF4ijySa_RdjgZx}yb?bQV)1)Dw>JQEXo2 zaz@_(_rs(`!<&?O4eh)>3u)E?Z=F%1P!q)IXN7+HZONUTEGZMJFJL0aBT~yOr1_?3 zMVw%=z`2y8P_lTTJ;oa<6jHzAoTX-Z5vD5{EMjD21?JF&`J2WBk-aV)PCp0$5D9_l zr7I84`eTf>m=a3^_t{m|(NkueA8%kFe@wUfL90F|-tKb$rw&4Tk3=|D2nrIviq}NH zLM+eJ%o**epk33g8*AFO&@&B6%ypFbn3s_I=3e{Kg~QH#+S;r5_>nYVA9~1TTE8s3 z$T`cC9Qp~JZd$%HU36Z=mvaX?@->~a8)4@zgy|({`chpy9!rcoE7^M`i< zC1j6M^IT=6ryi(rt?@zWe_R+Tw5^D&V4t=#roqkq?n+dXmWHU5jt9Ri<=G|Uw@ zw34r7sZtoII(g|Xjo%I~^Y{&~kgsqeO*)`vI>$hPPI14AVF4iJAOkWDMdy=s7y(1URUPj4!H<~!GfH-n! zVw`$+pRTztGl(Zo74NcwCI32k^+7??30p@q5D!Zz04@)0v_#W{Um65n??No2kq*da zknE0inV=#zAAiG_ggzDW3It4}c^wp7Bqi4qcY&Qa5%~AJq|nE%65q(FCEi$PzrV== z$s!)CxQ+WjuaQIzzGnG)`JL@~HW)4K-;+~@Oq=+v$e9ekMo=BY->&$>Eq~(CB8ac& z0%u!Dm6+YxY0q1tLV=di|6-7EiAcdnTt|AlkE@5wS6GjE?#2AkP1MDxQJQ-Fa@brb1RSXb1}?+et`pn*fiBT?*K))dD^|FdG8w@7nq zp!ef?6h#teYyPz;@Iq|k1RYaEYC+WcHVOBK%lEm&Hl3}#Mp;RX;_;x!_eE^+gev4; zH+&}XQU&thb*M6<2C5k@1WFlf{~?_MGVOVL*8A)DY3x<$Vkx*GLdwwnaR>& z7W{DV|MPE%r(=O-OP2lNwqTT0(0TH?$^lUZ9)yhR)9nsT4UABrJ0h4G+U#ARcB{mgPOO_m@xH&<&}?xYK&^N-j;m52a^(kHchw5dV&;W^08RYG@1ws)icDk$;a2r-+M;W|8P)12_2l!2vvH&)A7k}9(A z!z;P-QSZgm(4oAj8^;FI{X0MQWMz#S%3M_QJ}=7Wd2!M!!l@i|2`*nd zFv)5t$%ztrlY13LAN~1^jfN{S&Xriethf<1MA@f)3I#gFJs1RViAV|s_vpmz`|1)w zhF|SA@2*ogXKfu>GJwcQr*sSrE!QqQhT`3@&)8?Slz)Y63V5%}2#S5_=ExvZmdPGG zq7r{gB07q#V1_8ERk{V}7vaKx`wZ!%HK<#id4}8`pe+_+(MXVHOax{WMzbycWOBaY z^konQcCxl0Spg<|eB5=tp&UcLf>)l{iP`pBJfwamm}E&V#~Ywj3jCzQ$Dua5dv;bv(52K4;2Ux4?swHto%}=0)n(DV{sUt6M10J)yBb)VK9NOgh}JHR5)*``NE~ zw1q#ub2u=yb^50GM@wjmy8K?kz4d_rH8M`@`4d%ol++*xFT8s2Wq(*Gr?x{ZAGaG8 zQdDlV;`BG1no!eZ`=bRy%bmgj*DR?Joo+~;5n>^H)dpx(Phy3NcbR2U#&Yn(Z1ub< zeKmXktsf`_)nb%(fXCrQu-Fe#(_vif8@oO(pOrZSDnW$15{J4IPXO}}i2554Gl6Rc zGxmKSt|pZwN<+XV9$HI78-@(n-Bm~ukO1q*;UY}&@>_i;xe*D$P~ z-m$LzEZqp+)&mKu=0=VtmN;2uk24HEWOL|Ca_&?SQr-3kKlT+!mIvBq&1)L--@`Gw z%WNI!3=TT8#Wcw>va`YgQ7oEgjI{m(v|k1Tk!|Dc8nPBE@#rhf@{WaLbW7~f>ru-SkM??LOz|VQrXH{fa=Byc!fe^5c8cGIE{wKA{ye5?geaO zytA18HA^+AKixA_lTt zC7{*cATC&eynyBU#XczU;Dy$j1Vlwmuf9p?pj(`mj}kmg;IgFEK`BSo4Z&j3dA~6O zND&+o`Vh%NvP+&JK8fW1)^T9q7AR*Cj7 zs=OzB{~o9`s$k~$pt-5|i5=f`luYt(ghRU7YWq`vd~WTwTt$bCq!NQCBYu@}E;GMQ z^8yrT1cd;FJqxQ31|Y8iia~lNE^PPi9CW?n9BaE*$Tusfd+Kf3K(t>I*#eIt|> zu98HIqD`dQKe53DY+vo=kfNwiHwy^}i$KtfjSJ!tOG zFd)eu+hpk6^Rr!Xp?_KV4|xg)VZGCspy-BwNn=DL1?PSN&Q|b=dP)eSV@(87AJVpm z%vkOL4BfR(oy;qnI_M3Lxi?ju6jg#3e2!aYohUILyz}S!Dn!qvlZ5k)k4Vr`?MA4$m(}61m|g6#bw-bj)*8ptLh_ocFb; z1xTRADSX)2^FcJEfPx!thWswC4WtH+GZ_or`?k=Ch4iw%esYLlK@tjdiLb*BecKuv z&bp=$NC6i?E5%a22*!r_F)n%tjCHXNo+U^5U9hB7YrlrXl*@*Z0V)QhBhY#}YE~F9 z(zPuFI^I8TrOcQtG~3^2vNR`B9@~}0GS955Q;t8%^S*qD;Ms!$odKbvz92c0K>eo} zp8g}nI}6M2LADMkVqQk2w_LHS)^Q`c6>FBCnzI#;mSc)C$bY$+AR$zp!z3W#yUwHF z(wq%k6l6Le>ilZ=TFWkvY&^XYEeu||J(Q>X;CJa4{%_=V019*lybp#3rvR+`in;IJ zOwEDml39<0Gh2z&4bLLlar4#9tN0 z(+#-c!#& z698aX9K#ZKURD!tgMDi5^kJ%3khcDt*@nG`h=<`3K7k_a73#SxW#3!1IN>z@G=G0s zlj9D^(%0Sg-?Zdk@CGkp*CmLHG2xG|Jo81;(=jubs#J2QKCGwx0jU4X>inT!i5Z=& zmt4>GSWdxB>afuvJ;>7sjvt;QMI6NEQwP}^4Dw|tYhoWy`&%QXWM=s;(inItmzuU; z95~or-$RVg45&@a`bp3Te`kMQutQBKQdr~U&Dp`)uK({}SF#_4bEMI_-sdgu87s6g z`UBy8)%(1e^Xt3=OAQv{shKhF23qBK^?L7m`jRugB)^&RZag6-`f+9EPDVRJ3K`9> zTW??BD}-chc#GF5nCppiMXWE_^dYLk(7q;x7c&%xh0%Yqgf9c;Mh?6B;|!aqifUB$ z7}~TSFzcyF+zV2i_al3fO&h7IGPQ1ZtBbTL`~=oPDfhr@)LOL>Y~)R%*r#%$9LG|0 z&H5ndw`=ij8(`N&wNcikhcVov*tRSyM4B?lH;%pM_UL>n;-)iThUs6CD)>8r>+vvv zqWg(3JgPE8^-v;of90*hYN!(0eZB@65w+p$&JmoakkR=I!-_>V9r{(Rt!-kk*GVBr z#@OrRM7FD9*Byb%)u=w%^(kiuCgyf5kRxpE`J#CZc|`B2tOmf0PC|r`SIbQLQIBO| zPWTkr2CvaRLY?Bbe!_v2XI6anWmR3Gt0O9-&Y@MDJyaukBw?L3{+4Icwe03x8C;kdQw6SYt`YOxiG3d!X`KnV->8o*93949-K&uZX7qE z*|C@8b6}(S+C4!dNkN`=m8KDNJMwR*jzvY8RYkwFa~@`F#*+pbeqz3#u#xllgE09K z_rKQ(eQjnGoWhxPxlo3AXa?_+3LQU$Tp3^&dnU4TUFWcOM4f{9)Zu*rTI(r zC@pj$!*Xn4G*0m2uVt^q@{DjR2=;8b8`o6}5cxeH>ks+-;P`!JN~*7N>wCn@EMfq! zY1om_7Mr)VEycW$ERfQ4(89^(zUtEgaeuKb&n!5_CtESjY+TSFeoP?;A$~Un(Sm+1 zmcx2qp9pShZB%!%#|$!1AtmolKz1 z_Dq4INAcKxTLYaf@m)o>0l2`m4`S{dEEWVd(mB@idwmI z2I>^$PG0)+_U@!fH>(|NS)Rcuta+sh^L27Jm2O?0f5Zd&2fEnAkB0|I!Ze4J0t0id zGA~y5uBP^&Y%BU_fy`bzN#E(_D`^U^7C*Ly5?f1xXZRo5-iHcz#fX!x8mMB}{Nbq9)_c%7+?3BA_;?cEu~jiCyRB5^!;Oh#qV8*=gW zVP}I)gPXg7HhAvbws8OKs4gVx%fks4m`56=Lacp_LPvkaOAq}`Wug2hS(vn@$6|Nv zJ()6eJ*~bKDIV?hh#9&R(I2x+B%6-{>ovoheQEH35DXfNxbOi82x+q9-PR_5{>*h2 z8~LEEG)>CnG4?xCXbzXI;Ubg^3yj|{i0rHa(e!5Yt11aVj#eBG1^CmV0ASHU>F)cI zP;l+^tGR;s&->6*@3JH`<-bRKO9KupfiTaBx97o+LR8Pl?c{39^OU@ST7iTO4Z^8NL9&~$f1kdbN zBKoAF2i(iWMLs2Gw$7jiH5EE~M>oL=toGZa^4xH*`S<&by^iIZx zI|eNZTi$T+mxYIx*I<)D8XuT-xQO%iU$HKe{x*%;&|SEa}xK=i~67Wr-|QJg=y9hiNG z$E0H+ttjf$A&rCLkF)^~KTfcM6Yv8GZ1Jf+gi`$px$aPJU-h7%f6%evz`BNN?1g0D znDUp-AU@Tad+uW>mzO^JP!X~Gj7GY|`JqgA%i{(`{z8t37e|DdE zK!N?`a{V#j7)Yn2J@|T;yCZdqTL}q-Z64|N8!*8nz3`dr-%jw10g6xlO)sjbSx{G2 ze_r05ae7qVsVv<&-O}nyeV;E}-$2@ykUq{KXr|1Q;Z5Y?8be@N^@c&7Sd6sp1w8BJ z18Jf`WeTGA@66cm;~Z-^l{1i_mVm&PRBNN^`FNXG4tWIc(DNJpV%2?wArehy((Wcs z(?a*0%VtrLnkfeCJaEAqMYI!7=}6;gMH*&nsML+LUIR)wognIu_)=5)A?}uHNtwDt`wUySErn^fp z-1w4bdvf3B^9+b;;#^`O{M1rvRsxU$X7D$7B1Sjhl>%|~YJKQmf|(zRHRzTWW;n3; zdd$R&UHd1q*a%z01KI{U{>3MfNDW|TD+K@gc4Lq=b)5nmN7ZjL_O^aq__ZAD)qY-U zuL{eFATY#@wD!xgrs0L|A-bn~Z1q_7wYlp-^}w>Nq={f}YgIpIZHFE=mBo$d42yuv+7Te&2ANUrt5?S_iGUv&>i zt9sUR7F4HT6>tqX^&w^Ms6@pFO2w}X7`XC{(=?~-*fXKxj?2r#90(xY2mN9b;rUsN zOG%*HOC1;<&;d|mofvly-9(ufuRX&4tZq+p>L>`VYZvIGG!zZ=U)!xBy&1ON1j&)9 z4(jQXLhQFzel78@hyo|(^AbI<>cOPl6WO7$rV zh8}y7;Q<{pR5apK>_7p5TXq_UA3XPf!V`ecoC#lb?qU56M-pNOIWWh9fNkdxw(5kE zRZ2T~`V2xCG^}4xg}HBsg!bkbJr#>%x<1hjry!!OG>%^oKpGvZwV5ZmRD+UNCddTOYJ{I*|cyoQ{}PXs#3(+ZrnQZP7< z1V=eDGYkGBwpFw8@-4vR1RrSX7P^#K%^{^RGf3aWdt~5BcQBY>$VNd$^!E{Q+=R=} zjmPigKQrvGe|sgv1U^basG9#knmITyScR>6h`x7SE}2J5HA{$EeG%eQH%!!(InTbf z`XT73WpL5Q{ls!lAKIjFD3G?Y%_FxS@!1Ze+rRk;!}1e@&Y=Cqpu*zmsu_UzyKoOk z40okm9uT>xcvO5CJ@n{1@vsA#>7v5k*`^!fyx<1v_@Ksm!sfTaNB@_(e^-BC2l0ST z8JH!hadSq_lUJ79ZJLflu%|lhx~zNrbD=#_OqV;cu@9KS#g<>e;_gol1ui_w=EOY^4zK39RE7iCw$^IMrvM&+G-c5%eY zM9PytIRX$LUxR)(x*kkM_qVY7svmVd++_~Bp^Kx4dU^=I3-#1>9~zD1Xc~wvOuQS zR+yh<*izR>mY`vmTc#wGUz_U@(QwW;Vw|dPENJ*>zp~7bBC{u}H*o4>JVP74g9nr? z>UV2s_3t>m)1X#BYFWnW2w}y7kQ){_T~wkO2N!LqHcx)tclPo8o?e0GHuH)%T4*MF zp9A963Majg_T#6CgyyRy->nb?=s(uT)|w2G<#`$*aRrCXIbL%Yhm10W*D0sTMX#@Z z4ZlT)ZebvPA1#xL*$&!Gq_=a%o<%PGc4rr{IR5_8Stjf`D``0UIF}JE1)$)G^g<4xGP6s47U>SvrGAKw%iv{spo%UEcmkd z^05t8oQT#UB2W+|K_#h``QH<>%N(RLZHk&c#kl2UWkPdpF?$?Sn0Ddy09~vPb_?27MRj(?`HUD>fhkX^7Sfxf-YMr%)9#-g}Zkn+<@y8O$M-q)w?Kfv)pe7_4QkAZuyeZ1veh*kbn z5<7o(B|nOLm%f`Wse3DYY;Y!RZj8&06MaYv$y90!AUS9nRgjqLlt3cu|Q5;kTzuQLxF(aQaA54Fo zZ+HA_1Wbq|^yP9^6a~q>nf=B=C)1Gh%S!t>!}!DeDzkQt0c$O4nH}vMJ{Nc{IWPA& z8EJ08tqLPHdC)tz=df4aLX-=unM0}g3T@Mm1NaI=)CifmFME&kg6l<3)wp-#Dai1f#~%v_lGWk3Fqa25Gwg!U_NhJXJ`Ky5#Tr-tvae4 z?HQeYY4$t*8IgI{>tq{r!J&IKx_O3tocQ}~lXWPgHs_YKS&CI!iISrr$*@tBs=qV8 z?W|Hyo>e8xi}e2EkFWd8e)3AyUvn22MtB5X?@kl_ukp5whluODx>ej9Ls`~_=Nzh! zxEV;40`_#YtC;F%Svl*7LtLydlQD}YnG$r6l;*oBHmdcKYW;DWg7;6Z8V*a1Z-tmh z7|PKN^)mE+Z1Oq=YiGG*m*tl56*>hKb6hj0XD}U?@M)+leU zvcH8|VBPdST6e!gZSh^>&Ttn`)nfW)>TZomPr*n{#`?q=nXaDW3R$G?x~nGCE^Tb= zz~yE$%Q~5Yn;BZ+jqE7CLOXN=ySV1Vlk~GU{5{wMQw+hbwaDUt@JTD$z9FlERNqml zrFs|DW*o+_2hcJ+cUpS0b5nvz=q`V`okVspxFV5ztlu^&RwI&6LW;8C2G0P9H-eK{ z-(NV<78ti4Vj6po57!^UYiRLKfxswWy7A*BxC!Tv;syIXPq?;fC}dLe6S+RGsplL> z$qZcN+-+{t^R}D(_UGYL-eT=~=$$<8Rm^g=U4R(*5SN^dLm>}|v0maQVIWYiQB+yq zp#Ci028(~;sBK&y3i!T*T<|G1VfL-H>rZ3AG+zP&uQ)=nBGBoY%}3+?uf$NG&Q0O; z+S2pTqOwO>!%-OUszFOeO9plee{~*z%4f%KZIFBQ68HSyFE*qCYzOlUny4s;{qJNa tJRlUG*uo`IvIc>)^nWWZ|2vG~|8<22R7p$pVt}xVn(+ViOaI50{|6{^MY#X~ literal 40229 zcmYhi1yqzz)cC(kE+H(nEGaD|k_t#HDcv9?C5<46fD-N!0s=}%NOvPCAfPNQB}gnt z2}t)>Qfi;yuJ8N)&wtKgd6sjS`+Vlk+`0G89pDJj1ELdi_9j$%L4X3`nwePKfStWO^_Ky!upY#yan%4(EtF5tI=)=oA0PG zYu=_0ROgOpMq)!fDj;@5)|dCsUt$3q5E)E%(9XEC43v~jf?YJ-uiUxbFA1F7yiHj2 z-<5E_5-B|q0%UIhg0mKpq)UL)!w{1sLWnID4l386)xvb)i^}>-Bu*5r86|047`o6! zI@R0LJ*PuK#|Ndo7ONEKByW!RN{44hC;Mp}+Z$jOoik}?nyi4*; z)I;3a9QC;1cF2v{;|u}q2We^Q9&=Cs^*nh^8N~TZnUP~wIHJRfow$RcZ~rwV2N4p$ zM%`*nyNw;t99no7goUJ?>9fR;--Jb3pX<-EOVaGbS$wy&7Y z{5g=6|DI{!Sx)ox_5ENEOU`;QA$rn7~n%$Bb=O#`sj;^OCDLW61AR=ZeoGD>t-Epf< zdPBjxs?h*sYCVn7pC37LDN%N7{x*f+bq;vzNxkKXjY-bc}nt$#u?$Z;L9w zbI4n(1aVNtsIPE#m1b0@SOx+|iw!s;T)Q?2%;%?!4?~fML03(QsB1$(NPrgr`tt_g zJ;4J}({qbIxuPn~Q{mU4d$CzojBWUeMb4pJjH};2HsO;JYfEt91P7u%p%O{KqL!kW zAE*5;+AkHF@V(>O9Er>!L`eaNc4TY2V&z{?{??+d-Q4Y_;Ik1~}FWO2gJ_RW0&fYlEU#!b&Yd<9KrJVDLa7jg@EN8^GpgS3 zdci_1`6yP(e*KnjyAvb&|GK)y11Zo+*f^R~#dpGw9Z(Pv(mZ}^ZgyE!K2UEF^qsNWEz;yCyvVL}2hPhjln0e0`_-2j8mF1L>(Hq< zk|q!`bKIcwmf`6bfPwSFKC6(1!9&;XW1Ou1r}t~^J1PAyVZ1RsCR6@2KpZ0n@iih`uH`&`#Rvo3K#Hs{d3-?i)maHoMa$D^t@ znlZYA>0Z3Pk;Lz-fnxB32ys&J$A6BFOaXbI-A4OX7A2VHl@Jjg$b{jd+S;5dZJFjo zlMNJ}Fuh}Yg$Aac;Eb^<@u3r4w_M%dICbEBI4&QHykB|d;=C)3pixsT`A@Sl*l#5) zt-AM(S^T}O4J+HrzAXeq_NSxjcPH(k<8L zKXw7kOk)A`cOc+8JKmyoI_$OXvkAup%r}XZo@UA+j+UK+-oLvNjx=8@NQ@Ji27dM* z@h;!|ZzD5i==BCM$CsacckwiRFF#m?!kGY>qFKOMO<&id3XFFMs%Sg~ab z^U3O}27<*whM@&fkLt$rJe3Q=KEHDLI0if|S#I=F{pHF@i1n?Sj<7rdqU?yI>d`xm z8_;6lqLDL5vAX(lCZK+uLVyy{nEX27Q6I-K;dvw;D1t7--P)Y;q>Si;U1*FbtH7*W z1AT;3<@JwqXUPDH{ANMAV8JW()QmWvjq{2EAb0S4@Zu!7%k+HC%eBQbRVBqgSY?gZz~luv`kVk zqx;j`vHcTj9x`%Yfh#>7$8GU&U!5qKBD(jBM^0HsiaRVH__U%0?|Y@8)6(9zxJM34 z-T;Z4EQ%57iG$S>Km6F;_UC-Z7<}qZ{g*KbjR(r14f8h_C6`(T4w-lGc5!3wXRJg= zcOrvrMNR#eHW)XoYm-<5@@C}zbVk*n-;kNtVBz>Y4iwXln3g4N9G_3&04jTA{2l_(am0ho-^HQy?5+f_Ycm?%cEn$^=;zGh}<5EbV7pcYf$%tkr zO>N({?(}qnYnih4kNQ}NM)L1f3n4sEFDxn5tN`B`s_Ll zIPvX=AhJk?!VxsYn_(;hX}}iH`iKR&@G7|BVXA0|9m9B?a!*M_jMt>IuBy8$p8~lk zsLW{ZvqkLoyV6f16%4f~(a<}q)TqFjoeK$zDU)+^`#uK z4gz2@_~zShogfh@u8Ft6#ev>{)s9LgaB_uRxR`Ccrv|o&kmD+P`^mV&`ZAF(+MzR+ z@Vyo<6zzqQ4;n(!2~hs3mMP@{{-u|F%q& zKA(Q8`#d6O=8;rpR{5$F9_TBqtKH-i*-2RiQ68xO?Wpt3;UyqJqd2YRoD{&i5m7RI zRFBg9^I3)Lx3IqAk4LsA#;vWB8H)ATp_3UuBP)sW?=cU^U(@t3cigj+he{i-piWHW zTr`yLm>z&EN-^7ST>PMTpmun{h`AiuiBI~-bHV2AuhepDk485ZW-o+Vfw@cI^jCNo zV&04}%&?Y{0 zB`7(Pb6~+rp_TkK3S2RCazY0H1G!jL@KKjoqTQs4h}1hI{$ByicQr9v;|sk1wG;Gj z4bhHon~Re9$*uf7*x$yunaut7v4E?jwV&6gOE}uq>--01usvvj>z;67Vne}8k=G7{ zQpLH&qu0|xf|7ZPJkpF*B85i$fbVxpUixo1_Z0_UBCD^61c1deJ^y22ZQa%_;_KrMs^V2tDnESe0)7h&N@r&FsMPO%Z@nMLr%-YaxeMR6B541{K zNnkEXcH-ypQ4R}ipj&2bepO0tRC+jzc7BH@g}9^)as-S)LpNyO9-n@2qxaT7MyN4zG*a0Uqd>F^EeC z!gQusRTW8o>qUU@C9q?QMB}}t;Ez|83~t(05K0mA*(H)8+46_Xd}93sCn2_`k@s3@ zc251;J{;AIwLfmVX8SO+DQ!+l#BIp?RR_y#r*2X8wH-aHj| z(3sr*Mqinf5C#AI987S9o?M@uH+o~SF|?e3q_*P*h^PN$aK{Q;eS4F4)N|Sl-xkwR z7i9^FLU5S0VNO+?`z1CjQbN~u_@vmY3CKqSKxH}4epqXeARg#9!+mjc18IS!#`}iS ziJ3H91JLI0*l5ITDCS#DYX)?c?e6gRQ#Y%-k zbj}-2e(-yKl6ML0Mu?Ye;97b{agGnW_jvmWZvDuPVOE9C-4PJaNwK`!RFVrQYypj< z=f^HnahVlg8$&jqCu({Cw%fV55yQ8uYRBZ4w4!*Rb%t(b9SBsQH$0^`ft*wJw6Um5 zyz<6%q0;0^l;qklN<(I@nZKw_s8K$#e?F;MI1l8ry+raj%nqV@=dnSH|J+}!V*EYz}D8*iqGeHFI#x35w597Ee2gD@WK9R2=>^_KvY_wS8soRp9|MSaKCX6oP_{z zPUD}xI`E!PCqh+KRc!&+dY~Nki8KL0z+ON=0P^2E1J_eJknjXmwsl~ydTLj+1LVS) z|9d_1uYcy0xX!G2EwuY19%z@L(m@Bxc!I z`DN3Ga2ra`)UomB26YCl;X6ADN@XxnRGd141eoXhv+nLOV*gU)-Sj`MuAM&4IjJ9x zzSK;nAY!?E){IIk@IYg9d12!=>*|8R`BmyqZt+Wa?x3$^s2@k8+gI615IVt)_jFHI zX$>>=&x)nYBADztgorsFa(-dbHH{XyJqMtdz%uf*gYFoq;v}hBN@L-}q|P6V3%`N{ z*I3WlNC|o~32?a-M9%`fQck^1m%5Ei{7GZJpJ|Kebra{n#DR;^r$)cSd#w~GUdMyo z=k!5Q#z8ZSbw3Kcu2Md|6qy5>K#zw~tH15`w24;q7X=x#S##|R1w{seM_&{jo|@|o zO1)9mu?hI$tpk? zUhgy{Pc5wD@CpyKL_c=XYBLZsp)@4fNyrx|cWruHcg%#eol|m?=1#B?N+K^1XAE0*{POKK&ai{~li%y>HHOKFM8_hA`g}vQb%q%32|9kWhk}@BS?}Hg zBch`qcXT_F{{b;3o_=iaCaG2*i}Xu5yWcrr&mk2}^%+W=QyEd%dQE>AZg zRpgu;(N1`vRr*k`^!6^I@wbcJ76I3d@oIeIH%aa@q%9C7u{se)e=;1?fs$G; zaCwL)9%zPP%&Xewu6q64!R45w-6jzvdy?nC55TTB{-JyCRd{yx^Rx-@e+rzm$*s-g zr9+WvQdb7>Mc|xz$dtA}fyyf2C;0kNM~tp;?MPro$yZ&1KBz_5pEs+Lfjwz2EoNX| zFYrL~FixBtx}PzzA@G?*QS(kE)tVLHVB^%Y&bX3;nKZoQ@k#2(3%ldZ98;xD!Gq1E zm3AH)rrRK@qYoZgKwqWlopz%7H8UER%&}CL$C5}^CX9QuZID%2vPkv<$lq3 zc2(P`{8$fp9ijHB>bFX-0f4=i*_@@0Ajm!3!1C5;Ifr)xrHy2wfD_Biou}U&J2=-_UCbe)Wb}h$c5k zK&k`0cUbV702S9GtWdCQMJ*5&VD|CB?GSUrWOe8Vjz`2>$lMFFedMK{mpxuX3v@oX zwW=~iaNbI%Xw0Z*lA+2zocDv3)v#X_BcbOJ<8mbdU}^8pmlG*8mE4%Sw|$j_VMkDY zM-i%Fjhz~*s$sm=F`YJ6WhsId zOC&mDeN6guYda0dAN!5?q{B)v0QI-sMk2K{D+M#6WDvpOnjSM zj{d!X`)J)|orFBGT;1uFT>dQR9zoE(Y|;>EN!@vuK0!jpY5IaoUK|g!#i)tRuu)(n z6{!5uGO_f0{=3rg)q!cV{C96*VekK31*qoy ztH=)if=~EZ`M+7PCppmkZQ3tMHcowZwYIA&4z{BpC4CV2iooWJGwPp)7z(Jov9NgJ zAIzL1QGs>c4r*#d?oe>@H)oYMZw`blx-v+aYyY_{oq#DHK;3*nB&<^}i){g$}7&(NB z)^JL0b455VZ3>w9*$pxzi~z-bLu0Fi)t^pcOE2nWDd=PJ&$d#D+B!(hIw%yIXNcpA z$C9^HWs-`6?(7I%H|o+>v=4(O5W*drvifw(sdvg~rt=!U;+#`N&kCLR-Bud|eHX=z zGo7Hq+wIvYY2zjp`C%Ply8&~jBg%?r4)+IC6A&H$wba!jvOX~lhBGgPMn-&arNjgMVIuHyHB%qrX`E_M zWLx;STq0)EADIno#@ zr7o8FO8o0CF0HbU?)x@BzB^f76HSo5x%9LI%T!DuXqV{Lh6mb$S;qL~z+wfAGuM5m zT3*E{8b?Zbv?N*LKym&-RR*LKnJ8K67Awu6v&L zt9;h|KOypvi3kx$v}2Jox185K=L`pT=RD54eCV!~e?W{~tuNbQDXQVcecPLT+%q&8 zpR_|59&Kf7Mx(#8gS#|7FusWlS7zNfZK(bIU4(}6TqPGPNR9|V5T<(s0TVlKTy9&4 zJiJ|PWwD|fU-rqL?Ri*XT$ypAb+_Z)R()ne=s%;dMpyAW%tl1tK96>Kob{{zAdrK8 zRj!5H_OLh`(*!Qqm=pL2btq7dt`tCF(ZPmdwIxCV6u404QfgZuFF``Z`6#`ZFM3bh zG^TeYk$m#PW#b;wcJz6! zr?X-O(^dg1F3Mod=R&MLk+zRaV99b~!9|Lf1sE-95Q7eK40)h@%b8m!J)A}rBQqI&nT=iJQH*^fyFz@wLL!+F)#mhc?)^%Rqx{X z6c>3Gf;dEfP!e%?OY7slZAPmv3zAiW4oT(rQ=Ye0jJL9K!FYYI)0}0%ew1mh5LYY<}Dxt z=WlD7fFnB9I+PF%=&AU{Gh-SL1R25O7W=RgCB!dJpgZo>+qEO16xYC+tX-IY(qYmh zr%~B)z4zyVCNHiGY-FA&BBB>R<<=S8Exm(bv5pUjct3Y0vMX7COideB-EIGRJ%$V8 zuODb+81TX3a~Xgu#2RT+Acm~9;}7-5I}39D?V9!bqK{S*60{!=NB$Q4<#k!~rtD>L zY|ce?UAIWh$ak%sx_X1iKA#~x&@Qai+4Wc<7S-XwlhfOmcPI_&fYC5;i%d+{>(!f` z*%kur(QY{Q+zSR=P!?VQh0+1*Dc}~KrYWMn(DSdaH8yU|35KP-98HzW2cfccMl-wT z@&=ud)?1=ZR2&~dB}wr>yNtAfu2}YXl>G{BziE^JuFdZ1@)f+T(5g|!r2?;Ark9Fg#oOP3OttViI?sZosUv3d$BnoTgJt5)(emqp4o(%1K$Y?Hq2w%6k$^a5@G z&kGAQk^~4)CSKM)nl#c2cBCLm{dMGpU^YDLoxP#o;NFhGGQFF1KmT)XsDhePVFRyI z>+n)Obm?2Cg$^EQmEN+czy>nAUvTt@NCh%UAj$jVCS%Um$JC3B(>SAWd>sp3`PS^nQN&ija1IvztiVF8LMl6J8qBpWGmml4RB3!}IjVPNQ7$C( zERevSM_K1zGG-sH+-_&WJ{kcEBjpv+qKLBk@g|l*cFO~aom#x=-?If|+dl$8Vf0&K zS^{Arcaq8kusLY?&vR~;GemUWVI_NX(MK&?OFC|o-|>#z_370zgI2nG#p9Eh^QvF) zm0>&L3_Q>#Y}0N%!z-iE{{fqIZQ)s+( z-PTEhJD7Vg-!OxMPk5&}I6%l#dL72GOj<&d52ux%OW~vu&T-K9`me`G7TIo}))`(} z;DL7F?${?-k@$Smib~6MK~)dRpF#QMAf;N#Tgnk(J-zS*Q6-AY5VJ{4Nku9?=Yeb3 zrXm|%al7Li7%DPnbS)f(%*QA;63{%{YAt#E&Uq&%)y&Y~CXrGd)qs3=JuCx>2U=si zq;))2&&&s|C%25n=*k)p1a{6KwqGPaVxhZylOZ|)X8T|FXSmOCv!wTOo6N%CW}c)u zPy)@>aDR=705nCwDp0TdbHSq+RVTQ6_7DXb7aL`DS%6WBC!h!%;enPIwfSDQlk;P^ zUL;a!5Zm#hK2fPQVdMIDt{DIzA2$i`ZL-7%ynJ$_Q^ln?g%&Lz^0B@3)ne9YK|{H( zXPeym^AGO(FRQ0L*u+=|=;8<@X-}wBM2+67yjZWI9uKSp;eme9Un+#Q)84ufjfyIK z^wZ>ErfvLw%g+A_z{xna2v?`D+q@l`H*8?wmjbfOs?Vb&w!JorK|XU61TkcVm6e5s zW#4@`oMKtq9U9kUg~Vh6+Nb(xrDS)W;ke|aV?59rJ&RVVjgVURZV!2WRl$P0cW=;H zpi4*^a4ZH~|D(Z1MlW5}c|Uvp{7v2<=oU}20}03NMVti;xlHJfpvd)(y{Gu6@=f>S z_ogdf-MM*8Ha=KQUv6it1sw>thRcismR&Q@Pc;^LjB1q8*)5 z6S?|rI(}!baoWjryAT(5;WWf3BDE#Et(x zXWs_~{E&OV1UABvFkyMj)M^d|ryhyts#}n&3eek2d}j(3Q>WKVTrj2DtKhy)U(U_y z`wVr#Ag>kyxe8M}&^9wSiDNLWfUv#NM}$egmMel}{XZI6kbs{;FRSc0#n*$4YGls4 zsQomhDIga!%1;6A_)AOrd#v2ppn`}nsrKpMqs3t~P_rF3YS9NJQPpISxPKdd2x5(t zNP0GzTrn7M_7Jb31$tcirCoSv3Ajk12@QBI8UN|E?+3}gMpVY*BGdo}F}=U5)3GAb z`r9uo0Q?O0y2lXOCDy5Js%{-&`pKno2YIWqG>~Nx)B60eVY2AA7u<&C5`xUTn)A5_ zD(Psf%jV(~9%vmNGwWy#i(fu(qbV&%i)irDG^oN-NlrPL;a)f2Dc|`u6oLkB^11#b zAnhku7O-HRPoSH?=04l{u{?>smw~ukU?ATSsfu(XT8Sx_oO}T1CowsPoEVzw1MOS3 z>*oP1QvdRQiwuKJj(>525N1hC?H~bZmG3j$mXj}LUNK#@#?I$1Hl9rnOb|V#eVwjM zfV@!b7gS$OKmwx^f2PTFfvbdL)j{2vW=cWKtyC58a%}9D*LKdN{JmAKV&A53#sp@~ z707@2zu)v-6^`aOInPV6faTuEhQEd2TLFtWE$1$lnZ9z1bdt&s!PFe(*|*LV9;OYg zQO(zz0NSmsAVV))tr`>z0P%`gtfU$#vFh4*kp2~glr?73__=B2&%&|wsIMOGb*gt8 z@fzA;Bu{d*6nVeYqtzwkFZsf2v!*ojGLRK_-YWTmk)+ceOn;-wyzc16+9)xGSw4t^ zQfZ5jXF$cu!~YVlRa8p8`xg+5$SeeUeMvW@>+XpcW=q=3798yRWdq*(w(|g+%_v^Z z7Mv^0&K%JgowBcQX!My6Zb{A|8u>m_QkV=Cri5@y7_x1hDif_|_J|xG#HeN_1PM-7 zfAZ89a0vC0vc*)57Vtj2D$aU#X;bTZDd(bPwRXRamnIwzm5^n4ggq@E1*YHQXTl0S zxpTdZ(oCfyuyK~V;LA4qA!_w>@z$^Odmw=uUsOJQ*-M}`=rkw%!(Efru4c0*NDw)n z>Zu4EJKsjHlxU`X{apdBy~z1nEpXIXRCaVbMOsx$E1;!i?~=J!s>ME(p|l0(DIj|G zVdL&5P>le1>st%!PuQtIPe2(;#QZoaJFX(wW!9jBuiL?aMKnC#>Oa1RXYwA|i4jck ztG4}+nb73n_e{H?QoS$olsq3kr2NQL3>sf0QX%bV>3F=01P^Wnl*pY6zd>3NAPY@|;ojtSrZ^UqWi;*z#%G zQXREcfGL;jeV2+HI#xk&7*iA0MWZb;^l?drY}yNsnAjlK1FR;4iRNj9DF+^C8z$)G z^I6Ha_ZA4jXv~?<{iU1bT9>A8btqD;yW2tWv{iR;0aq4PN(pCWP3~6_mX~rx49M1;PUJAlKkqm_r+%fj;P5s8546GbEX?sj z>7+M1JGuO0YCkJ||6IarTL1%p%?Q6qkP^2DY#$#07uT;$YrfUF3G&l|)BE`Ao;45?^EnvGv^8y1{2s3ygZ?+I&exJEy&_itcb% zBkNv-`ii|nRFTYAL7KN69FXC&{3!k#=^wev?9=17E<;Y(I9^!cfo5PA1#Zkrz9un& z28}e+?M=1E8il4nbxit%p?61>>Ww!^4SInybR1W{;?**i1a*%M`j+zFu4R3MSyF8oJlr&|Zlf6TQY z*JRMMP>O`2nIknBLE_ZE34`}@<|h|hzEsCgBKEN5U;2LX|8ud%7@3=_=b>Ag2UxRQ zH0NwYduTbaM*j@9RBmy1@uadS4Y;^pY3gs4u1BY4pGkrt4JZG!3ghD$omrLMS##uL z5CBX~)iMbXL?3e>zS>mRoZfOeQREfyV2vB{51B;TyBDkEH1O_2Er01f?zYtx z48fe&^i$+dFtG7`)zPU1Mr_pia@zLJ;XCJm1E&|7?JP4GOlnbK1*0g(8 z20llwzDbiW|L=R`{kBH5Ao?mGrb!bS$J3wR3{k}cVPHn%*49FPs|?iIz=^4Isc{b~ z?6ty4h_!;u#HFi?8E%?QG-I19-qE&lf|P!84^#>3(_ld}AdsKm5zDpRs(DgnECv5W zHrvzmX#kMv=_Aj3Vf7FY%+?bjb*$G)geWiLfuNuwje#C++js`5R z0tTv<%v5vNM{;F@`Pol0Hq@Gn2_jZg+6qCq(pc|>(X-x~USoj=HzYrL{B6lz7D~5h zVT=HSQ2%Ag%jm{d4nj-;Pvu;fM|Z1o|E(c<*o7Jd-d;%AE{qC4~hR71^R+@S1iBJfRHh1x(tzN2rUhH&B?U?b(3zq zJNyy%*OQxX<0qz?uonQ3MIA;XoV!V>?b&SAJZX5ncx_f@5!xXI(Q^A%RohzzYt#R0 z7MovvCoqQ|mLs$GGFHd6u1-`Q4|Kqoap>8Os7rkL;U;r^6zASO#%~ht2t`W4AT;B+ zmip^mq@s5vytCPm1(49&!ELu?719uwB&KsmPkH}6|HT8~ul=Fta7a|1Nbpx~Zshmg zuYMp1U&Hn#mm^DL)SK}9wSN_wyNq3@)i$)$>~-HOehKSvs@vHmDJ^_N4hGxSoQrt; zc6onC5jPuvYt^VIvi|}Y?K|5{iKV!c9yM2i+eYJy!{Wy~%<1#bB=pP^j`r`5MXdDG zi}n0&NC^bGU|JuUN6PlJ@IaePLRyDh0DyoFXm@@ogDR%>&B(WgL0?z z8UFVWZg>4XTsjkPPftkmR%ywISClV7R-V&OfnzWrd!O>Ry%b4;&`4wZdK9-=(W?ve z_OfcGWpsu7iGRKU9%zG!g6o+LqSSBTftXO`{C|^KLVvXO4&IvF_swdvn4bJ{Xi%*A zu^Kyo3y5uTKS>b?PQ#aiP%E$LN6j6fSGq{=6OZ2Owmg5U16C((KtZ1757q5#5pPqRXu6Qky>r{^rI*OBG>x^ULY^DfE?|1pT&B2unl4 zsL_Liz<;OuOAPP%s%^-%F8BMx3&wY((~6~x95}Le3?Jy#kKU9AkgBqt3(Yt=*U#mi z8-c^UWr4lZ_PwSKkgUNC(XmcBU7xTHco-<+L9Z$b0f9utMJ%yu@JY|4r)Qq~FMeHJ z>gd4Yfz}u#?pD|!bhmd|2}sEasOZA?NjuNN>@Iu2(H!vb(CDoBn~EY{5GOYNZU42y zT%5>BwinNxn>@VcK%j2^;iiT_3+j)DlAPYe%rpsh9K=a)hTccy5r8-_+I)O`B1hWq z@EY1-eD6Auw)9>#h# zc%W^@j)EzhDRYv#8OgD%4QDM?m15&Gu`wAYd7qVct-@R+^pLVITy9)t-)WK9IU376 z)%Uesxndw5@!>qNWnW2GOTw(aPH}bjq&^D@L_U~oH%l4RH*2-YLz6?abZ0cZVG9qm z4)-n?$F9S-?kWe50%b z9aWd6mZfJ?srQmCZ?W0>w0MnvBa=5kMMZB-{#=chiFwutLTV|KVvk|*k|P*_-5D$? zI%wo>@pFNJA*>EGb!o=x+5+jn{yxzX8_bFfCWp_aZ8uRZSMF2Uue7>SR%KOzKg0K{{RabYrE z;P03(a~*qcC5Y}yePH$_&7|!5BFY}zE52e*6NjJ{CPbn5P-_nuSMflb49m~*+wVfX z>Z#w%zERXvEh8*!2-&S0aQ9=GF=Bv(ZJrr<^Q#)#D>?bkhx>4>x4a2qpzxQwJ##sE zQz_sRY*o(3K2kMatIRIp*_oJO@*H(T{H?fx2?=xW{?0rNon@n^|FecP1FhwjV|I%w zh~Ug{xeqJq95QxUTr^@qm6^HP2U+j^Xu)C+!bTZmRx)eC-0z<&sU=x)_5_F4(zA+= zw~g-7&k5GAKj0Q{l}hRUwlDV8_h+kAUN{3C1Bq!xpN7Rl0grM#&=#Wwt-0to+OqkO z)%S+0bR;VF)OSn$EjK1-MlMx%EZw!zaRBp=dw zjLM${<$Y_Zz(iApk)uRKSNk{+N}mZmMSK36>0hFQc7XD5Q7wKA!R(*eNv}hf051`h zOB=mkaLsMgUqfPCv^K6>KdW+H0>Ct&aPT&GxX4w}Fj9OmHn=0`DWFR%a3{&zbi z3m!{^iPDl;FN+V;OH?Qn^a1gvQZwhzo8`4k>CgO-?l4Y`e;R_d_&dVcr{0p<9r_Sw z#lB>}I~2Pu6>G4m=S@zv|!S_qgbAYuI^uk!bh<_o%wnDVyg+o+;Oh6!W1h^RPa zSf@ozAUB)m`KSk3A1zWjekJQN`sE=>{I=VEnf=;5HGlR zSfR=Ul#Glm@6>sLd%k|tN37k_6}R6?t4e}NXQV@i-pL0KG)Lbu`{XD4$fl@SKv^-h;PqwJ zbLo^OWX%stJ9-efvxi(x=k4`gfSInM6OBn8d0Cg&11(%#Z{fJeuO$Bjfsrx8hfIr& zDH*~=hcV72#li_Kk?KEupFcng2YHdQK9P(@K=42-3{3k4Hgsd8F*Nr|ZoYf0=o?uc zBwzBSF|OrUW=4uRy3ioc@Il|f#l2If0N~=?TaCKj?tXaT>NY|D50L2zNbw?lT@mU` z438jw&MGM1tw9wd^?n$Y1YRH4oKp7tole8yhzG(QtWnw7+#TH8?=xaPpPu{Zc}b-& zkD1zfnw|GEVY7dHNz}Fft(0Y^CAI{Z9T0svL&ZrXj{%YKqQE&f zmAtJKFkS@Gu}@X{TcVXx2>D4(LNUYGE7@Y-sfik{U-N5stA?-KA2X7O|86un6@^0^ zA{jZES$}z}aS+)&7A=oZdh_G7^^RPS03PT!j9JUC9Tv|c_f2pgtK*qge?H2rF>%G;F?Ygi47{;ee{D!P?V`lv66RzVo^KjwzCmw968W~0E?rI#O=ZJ|s%$)uv^$jX*NBS@M()BWFt(MdZey0C2~ ziXz(Qp%F!S+u}ScVuuIGlo$@pTF~#;k%z{nvVLlw!UtUC$!6OJAIGCj61zL?!;Yxx zsbZi~=Ty@Y^$_B`fw#njuV(+^f%f5?`{u&z82-Ocyt`?VeqA(`v@X`=mZV-y`Wloe zu%I|%bo)Z%alZCtF$O}qD!F^gBg^MQ)4HH55&bu zEnawpT9l1YiT^0`{yhN~ZVlo0yFmh1Ygnu*8H_M$KAP%LVDs&rw2-RChx(hlbHAQ7 zcml=->O2HtJ}4V7D)b%_=hq8Dm*5>$7uk1$%dM{0%M!;bWt&c&g$KxsNkWD6zdcbJ zp)hnTVMe$*tF!Ptd&-5M2|F-am|KoWyqyM>tZ==CxM75Tlhm;M-hS@b>2<3yaLNCN z(_DkDg@h(j5m&i(jA8B|P3xV zcr$tOfbj3V-#WER(5U7A8MqiOb5Yo+MzwW<$-?z+s)<$22cM5_A7|1P0YD{6$u-G< zUrJ<&`~xXS%k{7Mx(CSoEJvJAzCEzwxL!=m>{?{}?gxlyAjVGteh2Tie>Ns`#C zS{^d z)79B=6F;{hL@8P&F~!{Rj)Ru+kAPC`Hl1vtAc=HxahN28mVHN7IGrvIDoHQv!hI`3 z`T2gyFK0`se=}i+e%8p*5*F`dmnTx|{_SlH+^C|@=G0<9F$f0)0EQ-aR5ilLxN6I| zh{JV}K$*N;ElJK!U?p8?f?M0nl*=oOU%gkeg?YK4toQ?B3T=0L8@R^+t#vo4w8YEq zduh^z+<2fvIIX+2B-N;+IQyNL%@+b}8mnsxdr#9}-Ndv4fK3$pF)l($WF1FITg#FV z6?EohA+NF;FyMUNMzClea&xa{)9ibQph?1(j#b0=dwOS<#q!hlhCV-LH&|Yd6GOpb z=t=+8F6}Y4hM9|sU{IviZd3y++INlxANd1cC)@lgD{(yIP8mgSf_+LtKRetk-;Sgm z(3~w`q#s#T_4K^R+5o?~tbWMup%+r;B`zkYQdN@$TK_a|veHe8Ks=IjcuXbr4 z-r8kC&W?EvGM zm@59YjN7*;LCDo#IcN*9NLlC5w4@|GGsgfD~Bk4kzh2^>bGYSm#ht}c> zDf#KaTgRIV$o;1J3&Td`hH`)W$N`&nb(~5BGEx*E<>H&_Ay2E{-e^2(Ukj-FDIIIl zUjgn)O%4aAq0^M}kZ|)rSVAQNxU}^6sM7|9r;(;437!QlI#| z*KcU|Szc~7GhY6E#c~aNd~$7zyTiPWmv)?G5~#(f6zwhylB4J!Vb=p4A1np4*AqcZ z-kvj_GXO*3#iB+srW;+)IFqB1xXULYd$TF-EXGg-onYQj6CP-T&I%T3Lm68{77>um zvZ`j68bW-2uI_*G9gB|HGQpL0pmCD0ix;LNGI^gleW2`&?gU?n%D+ssAjKH`oG-833HIRi6{(Hd~e-E+a%lV z?3T!5Am{VD|KDBhx)E6l)jT;W7!_eB2LW5B*GP<`S5?*G(-UR))W;cXds6EH1C7nC z6>Y_mj+nukXFX+I{5F`R_(&6kHO=EQmYwx_v@1_qkiPOK;V9;+^g{rbRf+q=cm^g>(rN2A{@+I9MywHfwywD z&dxBoX0C1ysRr~88pIEn2c6~q?L#mLOFILF_)Y^3!p(g-{~`u4g=uZ%|H-&k^?udu zZI{eVxLo_60&}A)Y}@w3C;(fCesf|ASZ%j`P2Hw>sBa?P`fI=`qko5aW98_3Bs6c} z2??RN(~%=mil0LX546olh&ybDrF8Hc*mZ-MDX9tg|JJ>0YF%9XUr`Se-^W8h!Hm&} z0>;v$0#gL+3xwExKD(+h@YbDrVy5(;0uZu{pT_UT)4y zrNXd|V0i+&5-t&WCpM)=)J7tz`+nDoX8(_;_l$?@`x>`L?~FD^iD=P@9=-QEgecK_ zi(Z20CHNwGjb5S)f*=eMy%R*2qPIj1!gt&2`p3d#}CPzP)rS)HiAF z=t74MscTl(8V5_XoEwfl0G^!l=c9lQsF>A_ps=~#obip<5yc6)pV1K~4#HcIQOqKN zNYh$Lib?88o+)q%M~w@U7*p?+Si%%>%?txP!<9-Xrv7c!-GBPCU-{B74eDrLjX5ki zq~O_8d=)fO-oe(k_%j03fjLFsQJ>mI#Pke&auYeT%%!Oe+3@J17YyOuKG+5?nP9Aa zH1_&(YIW-tU`QDhG@m1)laux(?q!DyCpuj$!}_kC4*;By1q0XRFj>{$*! wOn1z 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 z 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 U^Y2%T#D93LhZClF7XE?%0Wr4)ga7~l literal 32325 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

    EWckZ;>kU;4lB3z@@v$Pi;5+(!VZ-uk(a;1B{ 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 diff --git a/examples/_01_basics/Vibrato/Vibrato.mp3 b/examples/_01_basics/Vibrato/Vibrato.mp3 index e13698d2cbca9a5bde8921f18142012f1bd6e76b..1fc0bc1827f069fca3eb16fb489ed3c1c57169ac 100644 GIT binary patch literal 40229 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 z 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 aQThM*!viX!0by0(6SkoL&jb_Po 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 delta 20886 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 diff --git a/examples/_02_control/Control_Echo_Theremin/Control_Echo_Theremin.ino b/examples/_02_control/Control_Echo_Theremin/Control_Echo_Theremin.ino new file mode 100644 index 000000000..dda955ce5 --- /dev/null +++ b/examples/_02_control/Control_Echo_Theremin/Control_Echo_Theremin.ino @@ -0,0 +1,76 @@ +/* Example of a simple light-sensing theremin-like + instrument with long echoes, + using Mozzi sonification library. + + Demonstrates ControlDelay() for echoing control values, + and smoothing an analog input from a sensor + signal with RecentAverage(). + + The circuit: + + * Audio output on digital pin 9 (on a Uno or similar), or + check the README or http://sensorium.github.com/Mozzi/ + + Light dependent resistor (LDR) and 5.1k resistor on analog pin 1: + * LDR from analog pin to +5V + * 5.1k resistor from analog pin to ground + + Mozzi help/discussion/announcements: + https://groups.google.com/forum/#!forum/mozzi-users + + Tim Barrass 2013. + This example code is in the public domain. + */ + +#include +#include // oscillator template +#include // sine table for oscillator +#include +#include + +#define INPUT_PIN 0 // analog control input + +unsigned int echo_cells_1 = 32; +unsigned int echo_cells_2 = 60; +unsigned int echo_cells_3 = 127; + +#define CONTROL_RATE 64 +ControlDelay <128, int> kDelay; // 2seconds + +// oscils to compare bumpy to averaged control input +Oscil aSin0(SIN2048_DATA); +Oscil aSin1(SIN2048_DATA); +Oscil aSin2(SIN2048_DATA); +Oscil aSin3(SIN2048_DATA); + +// use: RecentAverage myThing +RecentAverage kAverage; // how_many_to_average has to be power of 2 +int averaged; + +void setup(){ + kDelay.set(echo_cells_1); + startMozzi(); +} + + +void updateControl(){ + int bumpy_input = analogRead(INPUT_PIN); + averaged = kAverage.next(bumpy_input); + aSin0.setFreq(averaged); + aSin1.setFreq(kDelay.next(averaged)); + aSin2.setFreq(kDelay.read(echo_cells_2)); + aSin3.setFreq(kDelay.read(echo_cells_3)); +} + + +int updateAudio(){ + return 3*((int)aSin0.next()+aSin1.next()+(aSin2.next()>>1) + +(aSin3.next()>>2)) >>3; +} + + +void loop(){ + audioHook(); +} + + diff --git a/examples/_02_control/Control_Echo_Theremin/Control_Echo_Theremin.mp3 b/examples/_02_control/Control_Echo_Theremin/Control_Echo_Theremin.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..9dd51aae8d49c0faa329cce7dc0978724f8ea3a0 GIT binary patch literal 40229 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 literal 0 HcmV?d00001 diff --git a/examples/_02_control/Control_Echo_Theremin/Control_Echo_Theremin.ogg b/examples/_02_control/Control_Echo_Theremin/Control_Echo_Theremin.ogg new file mode 100644 index 0000000000000000000000000000000000000000..e7c5e676d9128bb8c9a3a0c64b79c7af214a3f2d GIT binary patch literal 15952 zcmch8d0bQ1_U}F?2_zsGC`Lqr2_}#rDku&_Z4W^!#HwjTj3}CdRzPtg4%MoM!D>Y@ z#b~J_H!3Ko)M!QP9Bl=sVjRG!DDAZpwGOpZdu?rhYo81xx9|Nv@2^J@Le9$CYp?0M z*4n#cXUrIfNaXnXrF29O{PJ7L#63h9v2f1(jO;x827xI23nBWL{dWy97Jt(9g+EEa zU*pQ|ru$F$+wJQt%g&}3Jk@5;&FV9D{tVHq?2J@~xhPrGFDABMOuv}^BH7s7+1YdF zPtTh^TQA4Vg5h7{oZMXadzgCuoXqKYdDEwfGCmTGo1-N-cDCWl#8gJQU?o3_Q=3_$ zIM+qIw%c}-@`AiUsI-cAND@~o>IXCgXO28FZH@ALzSS@u;q6q0PEgNJ?%h_NwiM2oVpD)LB`9UMs%-aZ=1bJU#F7Ril{XJ3K zv@XbikZGH2&5tsFe#ikIbPgdtH7{u7XF;R(hhDrQ@#FeUO zpX?URoE(DDb2h(Zf^ot{PDA4ukJ2=W;X#Jp$~!vug-6faK%L#L6O7f?G(YQpCsA~ zAK4__mO{Sr>++=+kH9AwRlpuCq9VQ$XyAvu(x^$2?<~t$BX0=JyA<0XD(uwHX4)`D zalW#2jN*c1M~P;pye??md;5P9WY*R-m*?$EkY}!qtq<<_(UVaFY?$xWZJGfDEDB_HDsK93G(~G?J0?B_m5E=S!oLHw?Y_75*N5efa1uZ=JfO%3p~G>t7!8Y9NCXl0e&~q#(G8_>qhOEMhF@-<{QkfN<0j-fjQ}M0 zt08YFe4htZz>5t-ldr{%{(t<&iX{;^AAf^EHD>>WcjfhxgHxg^gEm}WT3wd$p5jT3 z(o61rWR*%>Wx95^UzI`AY3Z&q<+-;cex{F{+5F%G9(=l|^N$;?MHNs3N5sG-|=RcV}G62GfFFR-8Y#yo#z z#8xl^@`iuD+pLBz1XT`y8}in~asx8?N}hbBTC=-+!_|c3n!-{|a?RON&DxE58U;_j zAW#z}KdaTO>0OzUnce%wRn5BI_2rY+p7_L=(YvN8Ep5+{v)a7k0k6)*tF{`O74q7u z=A6;BO}CS?dsjARWcRLb&iGDVU*2C{yK+-TubQ(rGcFFOE6W2`L7A83^%XPs9%(2q zjHzuZPrDd@wruI8{cUA=olEnKz-oaeZB%X3=CnNnHe5~1uB|tu730N=V`pg6qHE4- z)7HeEEz2wJeZ!jeC9E;7IKCmRuyp^+DQSB!t2MR2DrR6q#SqnzP0dUC)c!UluaC0% z`{JzLZP#-;N7Yy4HJ-lteIdX0r}CVihn>B-^l5zXoxJC@&8?HZ8*#3@(0b(eol9fh zZMt1}sgCFwHq~QdqOvq#>#36 z4Jx_(tVUA|cJ61Z*7H?SHQ%OavTG}^YUEYm0JG$0QzjMHeS%f}ZK@_GwhsP`y|Fr0 z-VHv{1{qC**NBg-DlAbwFjbanW>!@O^?y(a-giN?Ljx{T6*vy00#;R(&1q}vc3w~G zEv*Aq`;CE^m0;9pa2ZupEUYmz_QB?~;#hbfm)Do7X4RhEJZV`hEE(4WOm+m zPz$Uo12bW@;7KJlb!qTm=k<)*x|gAoW)G_p%q-sj06cuajk}qnt_Ws*E^j8fHmdSgOTO`Te$sy!=ECD+sm zd=Zk(1?Vy-jLVouGs%PrU{$Qww%B*&ZKAk(*;#Dt`tl8GIk>aBAGnKJ^`JbDui}Y~ z8kI_1qybhCup|!P?r~CqHwZMsE>LE9|3*@8dU-hwein2MNmZ8oR9w##r7-vlc`9 z8i0G)8-4�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 literal 40229 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 Fe*mNWUD5ym diff --git a/examples/_02_control/Control_Oscil_Wash/Control_Oscil_Wash.ogg b/examples/_02_control/Control_Oscil_Wash/Control_Oscil_Wash.ogg index effaae5b571d61718e681d508c010193dc2b2cc0..0d16d6cd63c89054a6ff102760c27f03b9b3d0fd 100644 GIT binary patch delta 22798 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 delta 21771 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 E0dyM-LI3~& diff --git a/examples/_02_control/Control_Tremelo/Control_Tremelo.mp3 b/examples/_02_control/Control_Tremelo/Control_Tremelo.mp3 index 417b3bb5443711132dda1e33433910303117d561..fc2accc74172362060d2e349a1ed867f302510e2 100644 GIT binary patch literal 40229 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 z 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 HKfd@s@BkW7 literal 40229 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�@=WS^DD<&; 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 JZ~lKT`wyk916cq7 diff --git a/examples/_02_control/Control_Tremelo/Control_Tremelo.ogg b/examples/_02_control/Control_Tremelo/Control_Tremelo.ogg index b4f2eccf1136f3bdc50ce761c8bd85ed7adaf399..66ab6d614b00fb525548e96decc434891cf4a1ef 100644 GIT binary patch delta 28619 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 Hj6(kh(vzj_ delta 28480 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%0D{F(<5GUm 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

    URK@_V8B-9N?@Z0XX!EDLxFOXKC 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 T3Qw)v#5}T6ko_YDzFpuSGM1>O diff --git a/examples/_02_control/Line_Gliss/Line_Gliss.mp3 b/examples/_02_control/Line_Gliss/Line_Gliss.mp3 index 59de174e3f977015146db3402a88847bd0b0a032..8285dc62866d2348a2a26beaf40807aa398161c7 100644 GIT binary patch literal 40229 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�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 N`%r-Y(-?<8`#)FoRcHVJ diff --git a/examples/_02_control/Line_Gliss/Line_Gliss.ogg b/examples/_02_control/Line_Gliss/Line_Gliss.ogg index ce2030e33da9f39e208975735babf2be9787989d..8f681ae8a4f1004405cffafc7cf0d776e3a82af0 100644 GIT binary patch delta 30704 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 diff --git a/examples/_02_control/Line_Gliss_Double/Line_Gliss_Double.ino b/examples/_02_control/Line_Gliss_Double/Line_Gliss_Double.ino deleted file mode 100644 index 0f0c09acb..000000000 --- a/examples/_02_control/Line_Gliss_Double/Line_Gliss_Double.ino +++ /dev/null @@ -1,119 +0,0 @@ -/* Example of a pair of detuned oscillators - * sliding smoothly between frequencies, - * using Mozzi sonification library. - * - * Demonstrates using Lines to efficiently change the - * frequency of each oscillator at audio rate. Calculating - * a new frequency for every step of a slide is a lot to - * do for every single sample, so instead this sketch works out the - * start and end frequencies for each control period and - * the phase increments (size of the steps through the sound table) - * required for the audio oscillators to generate those frequencies. - * Then, computationally cheap Lines are used to slide between the - * different phase increments smoothly at audio rate. - * Also shows how to use random offsets between the oscillators' - * frequencies to produce a chorusing/doubling effect. - * - * Circuit: Audio output on digital pin 9 (on a Uno or similar), or - * check the README or http://sensorium.github.com/Mozzi/ - * - * Mozzi help/discussion/announcements: - * https://groups.google.com/forum/#!forum/mozzi-users - * - * Tim Barrass 2012. - * This example code is in the public domain. - */ - -#include -#include // for smooth transitions -#include // oscillator template -#include // triangle table for oscillator -#include -#include -#include - - -// use: Oscil oscilName (wavetable) -Oscil aTriangle1(TRIANGLE_WARM8192_DATA); -Oscil aTriangle2(TRIANGLE_WARM8192_DATA); - - -// use: Line lineName -Line aGliss1; -Line aGliss2; - -#define CONTROL_RATE 64 // powers of 2 please - -unsigned char lo_note = 24; // midi note numbers -unsigned char hi_note = 46; - -long audio_steps_per_gliss = AUDIO_RATE / 4; // ie. 4 glisses per second -long control_steps_per_gliss = CONTROL_RATE / 4; - -// stuff for changing starting positions, probably just confusing really -int counter = 0; -unsigned char gliss_offset = 0; -unsigned char gliss_offset_step = 2; -unsigned char gliss_offset_max = 36; - - -void setup() { - randSeed(); - pinMode(0,OUTPUT); // without this, updateControl() gets interrupted ........?? - startMozzi(CONTROL_RATE); // optional control rate parameter -} - - -void loop(){ - audioHook(); -} - - -// variation between oscillator's phase increments -// looks like a big number, but they are high precision -// and this is just like a fractional part -long variation(){ - return rand(16383); -} - -void updateControl(){ // 900 us floats vs 160 fixed - if (--counter <= 0){ - - // start at a new note - gliss_offset += gliss_offset_step; - - if(gliss_offset >= gliss_offset_max) { - gliss_offset=0; - - // this is just confusing, you should ignore it! - // alternate between 2 and 3 steps per start note each time a new "run" starts - if(gliss_offset_step != 2){ - gliss_offset_step = 2; - } - else{ - gliss_offset_step = 3; - } - } - - // only need to calculate frequencies once each control update - int start_freq = mtof(lo_note+gliss_offset); - int end_freq = mtof(hi_note+gliss_offset); - - // find the phase increments (step sizes) through the audio table for those freqs - // they are big ugly numbers which the oscillator understands but you don't really want to know - long gliss_start = aTriangle1.phaseIncFromFreq(start_freq); - long gliss_end = aTriangle2.phaseIncFromFreq(end_freq); - - aGliss1.set(gliss_start, gliss_end, audio_steps_per_gliss); - aGliss2.set(gliss_start+(variation()*gliss_offset), gliss_end+(variation()*gliss_offset), audio_steps_per_gliss); - counter = control_steps_per_gliss; - } -} - - -int updateAudio(){ - aTriangle1.setPhaseInc(aGliss1.next()); - aTriangle2.setPhaseInc(aGliss2.next()); - return ((int)aTriangle1.next()+aTriangle2.next())/2; -} - diff --git a/examples/_02_control/Line_Gliss_Double/Line_Gliss_Double.mp3 b/examples/_02_control/Line_Gliss_Double/Line_Gliss_Double.mp3 deleted file mode 100644 index 89e729b6a0622209a90b931c90e11f927a25bb0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40229 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 diff --git a/examples/_02_control/Line_Gliss_Double/Line_Gliss_Double.ogg b/examples/_02_control/Line_Gliss_Double/Line_Gliss_Double.ogg deleted file mode 100644 index bf57a9833dc25b45976580557f461f2d9ce68dcf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36495 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%0A38>l2W& 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

    t!> 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%0AV{T07ix%+!kA@GjxU3+1nIsd5(1O9 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 R%+a-*6ZHQx#Q*;F{{V>r)lvWe literal 0 HcmV?d00001 diff --git a/examples/_02_control/Line_Gliss_Double_32k_HIFI/Line_Gliss_Double_32k_HIFI.ogg b/examples/_02_control/Line_Gliss_Double_32k_HIFI/Line_Gliss_Double_32k_HIFI.ogg new file mode 100644 index 0000000000000000000000000000000000000000..c10b83eb8a65dfd25b27a58099fa9a180c67968e GIT binary patch literal 37693 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 literal 0 HcmV?d00001 diff --git a/examples/_02_control/Line_Gliss_Double_HIFI_32k/Line_Gliss_Double_HIFI_32k.mp3 b/examples/_02_control/Line_Gliss_Double_HIFI_32k/Line_Gliss_Double_HIFI_32k.mp3 deleted file mode 100644 index 2d4e599f6b1733aba8a3e34179b082cf23b64c88..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40229 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 diff --git a/examples/_02_control/Line_Gliss_Double_HIFI_32k/Line_Gliss_Double_HIFI_32k.ogg b/examples/_02_control/Line_Gliss_Double_HIFI_32k/Line_Gliss_Double_HIFI_32k.ogg deleted file mode 100644 index 5716e03005cb480d2ee78c1c2632d9de22bc24a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46192 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 )={q8pBb6DT#4fc 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

    dS%+<%kcF}e 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 literal 40229 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