cyfaust 0.1.0__cp311-cp311-macosx_15_0_arm64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- cyfaust/CMakeLists.txt +93 -0
- cyfaust/__init__.py +0 -0
- cyfaust/__main__.py +819 -0
- cyfaust/box.pxd +46 -0
- cyfaust/box.pyx +2459 -0
- cyfaust/common.pxd +5 -0
- cyfaust/common.pyx +61 -0
- cyfaust/cyfaust.cpython-311-darwin.so +0 -0
- cyfaust/faust_box.pxd +298 -0
- cyfaust/faust_box_oo.pyx +66 -0
- cyfaust/faust_gui.pxd +261 -0
- cyfaust/faust_interp.pxd +160 -0
- cyfaust/faust_player.pxd +80 -0
- cyfaust/faust_signal.pxd +257 -0
- cyfaust/gui_statics.cpp +15 -0
- cyfaust/interp.pyx +673 -0
- cyfaust/player.cpp +32519 -0
- cyfaust/player.pyx +191 -0
- cyfaust/resources/architecture/AU/AUPublic/AUBase/AUBase.cpp +2327 -0
- cyfaust/resources/architecture/AU/AUPublic/AUBase/AUBase.h +1019 -0
- cyfaust/resources/architecture/AU/AUPublic/AUBase/AUDispatch.cpp +423 -0
- cyfaust/resources/architecture/AU/AUPublic/AUBase/AUDispatch.h +82 -0
- cyfaust/resources/architecture/AU/AUPublic/AUBase/AUInputElement.cpp +151 -0
- cyfaust/resources/architecture/AU/AUPublic/AUBase/AUInputElement.h +119 -0
- cyfaust/resources/architecture/AU/AUPublic/AUBase/AUOutputElement.cpp +62 -0
- cyfaust/resources/architecture/AU/AUPublic/AUBase/AUOutputElement.h +66 -0
- cyfaust/resources/architecture/AU/AUPublic/AUBase/AUPlugInDispatch.cpp +615 -0
- cyfaust/resources/architecture/AU/AUPublic/AUBase/AUPlugInDispatch.h +128 -0
- cyfaust/resources/architecture/AU/AUPublic/AUBase/AUScopeElement.cpp +512 -0
- cyfaust/resources/architecture/AU/AUPublic/AUBase/AUScopeElement.h +544 -0
- cyfaust/resources/architecture/AU/AUPublic/AUBase/ComponentBase.cpp +370 -0
- cyfaust/resources/architecture/AU/AUPublic/AUBase/ComponentBase.h +340 -0
- cyfaust/resources/architecture/AU/AUPublic/AUEffectBase/AUEffectBase.cpp +463 -0
- cyfaust/resources/architecture/AU/AUPublic/AUEffectBase/AUEffectBase.h +391 -0
- cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/AUInstrumentBase.cpp +837 -0
- cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/AUInstrumentBase.h +267 -0
- cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/AUMIDIBase.cpp +495 -0
- cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/AUMIDIBase.h +213 -0
- cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/LockFreeFIFO.h +168 -0
- cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/MIDIControlHandler.h +92 -0
- cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/MusicDeviceBase.cpp +354 -0
- cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/MusicDeviceBase.h +126 -0
- cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/SynthElement.cpp +419 -0
- cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/SynthElement.h +227 -0
- cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/SynthEvent.h +145 -0
- cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/SynthNote.cpp +138 -0
- cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/SynthNote.h +186 -0
- cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/SynthNoteList.cpp +93 -0
- cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/SynthNoteList.h +232 -0
- cyfaust/resources/architecture/AU/AUPublic/Utility/AUBaseHelper.cpp +134 -0
- cyfaust/resources/architecture/AU/AUPublic/Utility/AUBaseHelper.h +80 -0
- cyfaust/resources/architecture/AU/AUPublic/Utility/AUBuffer.cpp +217 -0
- cyfaust/resources/architecture/AU/AUPublic/Utility/AUBuffer.h +267 -0
- cyfaust/resources/architecture/AU/AUPublic/Utility/AUMIDIDefs.h +136 -0
- cyfaust/resources/architecture/AU/AUPublic/Utility/AUSilentTimeout.h +93 -0
- cyfaust/resources/architecture/AU/English.lproj/InfoPlist.strings +0 -0
- cyfaust/resources/architecture/AU/FaustAU.exp +2 -0
- cyfaust/resources/architecture/AU/FaustAU.xcodeproj/project.pbxproj +968 -0
- cyfaust/resources/architecture/AU/FaustAU.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
- cyfaust/resources/architecture/AU/FaustAUCustomView.plist +14 -0
- cyfaust/resources/architecture/AU/Info.plist +47 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAAtomic.h +305 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAAtomicStack.h +239 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAAudioChannelLayout.cpp +153 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAAudioChannelLayout.h +199 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAAutoDisposer.h +508 -0
- cyfaust/resources/architecture/AU/PublicUtility/CABufferList.cpp +264 -0
- cyfaust/resources/architecture/AU/PublicUtility/CABufferList.h +319 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAByteOrder.h +161 -0
- cyfaust/resources/architecture/AU/PublicUtility/CADebugMacros.cpp +88 -0
- cyfaust/resources/architecture/AU/PublicUtility/CADebugMacros.h +580 -0
- cyfaust/resources/architecture/AU/PublicUtility/CADebugPrintf.cpp +89 -0
- cyfaust/resources/architecture/AU/PublicUtility/CADebugPrintf.h +115 -0
- cyfaust/resources/architecture/AU/PublicUtility/CADebugger.cpp +77 -0
- cyfaust/resources/architecture/AU/PublicUtility/CADebugger.h +56 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAException.h +83 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAGuard.cpp +339 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAGuard.h +133 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAHostTimeBase.cpp +110 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAHostTimeBase.h +231 -0
- cyfaust/resources/architecture/AU/PublicUtility/CALogMacros.h +140 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAMath.h +68 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAMutex.cpp +345 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAMutex.h +163 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAReferenceCounted.h +87 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAStreamBasicDescription.cpp +795 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAStreamBasicDescription.h +409 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAThreadSafeList.h +255 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAVectorUnit.cpp +191 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAVectorUnit.h +100 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAVectorUnitTypes.h +59 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAXException.cpp +49 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAXException.h +338 -0
- cyfaust/resources/architecture/AU/SectionPatternLight.tiff +0 -0
- cyfaust/resources/architecture/AU/Source/AUSource/FaustAU.h +38 -0
- cyfaust/resources/architecture/AU/Source/AUSource/FaustAU.r +153 -0
- cyfaust/resources/architecture/AU/Source/AUSource/FaustAUVersion.h +64 -0
- cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_Bargraph.h +18 -0
- cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_Bargraph.m +21 -0
- cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_Button.h +20 -0
- cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_Button.m +56 -0
- cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_CustomView.h +87 -0
- cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_CustomView.m +834 -0
- cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_CustomViewFactory.h +13 -0
- cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_CustomViewFactory.m +22 -0
- cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_Knob.h +81 -0
- cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_Knob.m +199 -0
- cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_Slider.h +18 -0
- cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_Slider.m +21 -0
- cyfaust/resources/architecture/AU/version.plist +16 -0
- cyfaust/resources/architecture/VST/Info.plist +28 -0
- cyfaust/resources/architecture/VST/PkgInfo +1 -0
- cyfaust/resources/architecture/VST/README +11 -0
- cyfaust/resources/architecture/VST/VST.xcode/project.pbxproj +655 -0
- cyfaust/resources/architecture/alsa-console.cpp +246 -0
- cyfaust/resources/architecture/alsa-gtk.cpp +220 -0
- cyfaust/resources/architecture/alsa-qt.cpp +229 -0
- cyfaust/resources/architecture/api/DspFaust.cpp +612 -0
- cyfaust/resources/architecture/api/DspFaust.h +511 -0
- cyfaust/resources/architecture/api/README.md +237 -0
- cyfaust/resources/architecture/api/doc/Generic.md +38 -0
- cyfaust/resources/architecture/au-effect.cpp +487 -0
- cyfaust/resources/architecture/au-instrument.cpp +573 -0
- cyfaust/resources/architecture/bench.cpp +91 -0
- cyfaust/resources/architecture/c-jack-gtk.c +227 -0
- cyfaust/resources/architecture/ca-gtk.cpp +284 -0
- cyfaust/resources/architecture/ca-qt.cpp +424 -0
- cyfaust/resources/architecture/cpal.rs +195 -0
- cyfaust/resources/architecture/csound.cpp +245 -0
- cyfaust/resources/architecture/csvplot.cpp +227 -0
- cyfaust/resources/architecture/daisy/Makefile +14 -0
- cyfaust/resources/architecture/daisy/README.md +50 -0
- cyfaust/resources/architecture/daisy/ex_faust.cpp +173 -0
- cyfaust/resources/architecture/dssi.cpp +1262 -0
- cyfaust/resources/architecture/dummy-mem.cpp +186 -0
- cyfaust/resources/architecture/dummy.cpp +294 -0
- cyfaust/resources/architecture/faust/au/AUUI.h +404 -0
- cyfaust/resources/architecture/faust/audio/alsa-dsp.h +693 -0
- cyfaust/resources/architecture/faust/audio/android-dsp.h +583 -0
- cyfaust/resources/architecture/faust/audio/audio.h +115 -0
- cyfaust/resources/architecture/faust/audio/channels.h +122 -0
- cyfaust/resources/architecture/faust/audio/coreaudio-dsp.h +1543 -0
- cyfaust/resources/architecture/faust/audio/coreaudio-ios-dsp.h +743 -0
- cyfaust/resources/architecture/faust/audio/dummy-audio.h +255 -0
- cyfaust/resources/architecture/faust/audio/esp32-dsp.h +284 -0
- cyfaust/resources/architecture/faust/audio/fpe.h +164 -0
- cyfaust/resources/architecture/faust/audio/jack-dsp.h +534 -0
- cyfaust/resources/architecture/faust/audio/juce-dsp.h +119 -0
- cyfaust/resources/architecture/faust/audio/netjack-dsp.h +354 -0
- cyfaust/resources/architecture/faust/audio/oboe-dsp.h +308 -0
- cyfaust/resources/architecture/faust/audio/ofaudio-dsp.h +155 -0
- cyfaust/resources/architecture/faust/audio/opensles-android-dsp.h +631 -0
- cyfaust/resources/architecture/faust/audio/osc-dsp.h +120 -0
- cyfaust/resources/architecture/faust/audio/portaudio-dsp.h +236 -0
- cyfaust/resources/architecture/faust/audio/rtaudio-dsp.h +241 -0
- cyfaust/resources/architecture/faust/audio/samAudio.h +140 -0
- cyfaust/resources/architecture/faust/audio/teensy-dsp.h +171 -0
- cyfaust/resources/architecture/faust/dsp/cmajor-cpp-dsp.h +253 -0
- cyfaust/resources/architecture/faust/dsp/cmajorpatch-dsp.h +483 -0
- cyfaust/resources/architecture/faust/dsp/cpp-dsp-adapter.h +38 -0
- cyfaust/resources/architecture/faust/dsp/dsp-adapter.h +836 -0
- cyfaust/resources/architecture/faust/dsp/dsp-bench.h +611 -0
- cyfaust/resources/architecture/faust/dsp/dsp-checker.h +115 -0
- cyfaust/resources/architecture/faust/dsp/dsp-combiner.h +810 -0
- cyfaust/resources/architecture/faust/dsp/dsp-compute-adapter.h +159 -0
- cyfaust/resources/architecture/faust/dsp/dsp-multi.h +702 -0
- cyfaust/resources/architecture/faust/dsp/dsp-multifun.h +90 -0
- cyfaust/resources/architecture/faust/dsp/dsp-optimizer.h +511 -0
- cyfaust/resources/architecture/faust/dsp/dsp-tools.h +229 -0
- cyfaust/resources/architecture/faust/dsp/dsp.h +321 -0
- cyfaust/resources/architecture/faust/dsp/fastmath.cpp +301 -0
- cyfaust/resources/architecture/faust/dsp/faust-dynamic-engine.cpp +494 -0
- cyfaust/resources/architecture/faust/dsp/faust-dynamic-engine.h +386 -0
- cyfaust/resources/architecture/faust/dsp/faust-engine.h +75 -0
- cyfaust/resources/architecture/faust/dsp/faust-poly-engine.h +638 -0
- cyfaust/resources/architecture/faust/dsp/interpreter-dsp-c.h +288 -0
- cyfaust/resources/architecture/faust/dsp/interpreter-dsp.h +362 -0
- cyfaust/resources/architecture/faust/dsp/interpreter-machine-dsp.h +233 -0
- cyfaust/resources/architecture/faust/dsp/libfaust-box-c.h +817 -0
- cyfaust/resources/architecture/faust/dsp/libfaust-box.h +889 -0
- cyfaust/resources/architecture/faust/dsp/libfaust-c.h +116 -0
- cyfaust/resources/architecture/faust/dsp/libfaust-signal-c.h +649 -0
- cyfaust/resources/architecture/faust/dsp/libfaust-signal.h +731 -0
- cyfaust/resources/architecture/faust/dsp/llvm-dsp-adapter.h +160 -0
- cyfaust/resources/architecture/faust/dsp/llvm-dsp-c.h +524 -0
- cyfaust/resources/architecture/faust/dsp/llvm-dsp.h +575 -0
- cyfaust/resources/architecture/faust/dsp/llvm-machine-dsp.h +215 -0
- cyfaust/resources/architecture/faust/dsp/one-sample-dsp.h +477 -0
- cyfaust/resources/architecture/faust/dsp/poly-dsp.h +1079 -0
- cyfaust/resources/architecture/faust/dsp/poly-interpreter-dsp.h +143 -0
- cyfaust/resources/architecture/faust/dsp/poly-llvm-dsp.h +249 -0
- cyfaust/resources/architecture/faust/dsp/poly-wasm-dsp.h +257 -0
- cyfaust/resources/architecture/faust/dsp/proxy-dsp.h +108 -0
- cyfaust/resources/architecture/faust/dsp/proxy-osc-dsp.h +109 -0
- cyfaust/resources/architecture/faust/dsp/rnbo-dsp.h +187 -0
- cyfaust/resources/architecture/faust/dsp/sound-player.h +428 -0
- cyfaust/resources/architecture/faust/dsp/timed-dsp.h +279 -0
- cyfaust/resources/architecture/faust/dsp/wasm-dsp-imp.h +188 -0
- cyfaust/resources/architecture/faust/dsp/wasm-dsp.h +309 -0
- cyfaust/resources/architecture/faust/dsp/ysfx-dsp.h +188 -0
- cyfaust/resources/architecture/faust/export.h +61 -0
- cyfaust/resources/architecture/faust/gui/APIUI.h +726 -0
- cyfaust/resources/architecture/faust/gui/BelaOSCUI.h +170 -0
- cyfaust/resources/architecture/faust/gui/CGlue.h +667 -0
- cyfaust/resources/architecture/faust/gui/CInterface.h +142 -0
- cyfaust/resources/architecture/faust/gui/ControlSequenceUI.h +197 -0
- cyfaust/resources/architecture/faust/gui/ControlUI.h +137 -0
- cyfaust/resources/architecture/faust/gui/DaisyControlUI.h +283 -0
- cyfaust/resources/architecture/faust/gui/DaisyPatchInitControlUI.h +254 -0
- cyfaust/resources/architecture/faust/gui/DecoratorUI.h +115 -0
- cyfaust/resources/architecture/faust/gui/Esp32ControlUI.h +341 -0
- cyfaust/resources/architecture/faust/gui/Esp32Reader.h +102 -0
- cyfaust/resources/architecture/faust/gui/Esp32SensorUI.h +137 -0
- cyfaust/resources/architecture/faust/gui/FUI.h +147 -0
- cyfaust/resources/architecture/faust/gui/GTKUI.h +1414 -0
- cyfaust/resources/architecture/faust/gui/GUI.h +465 -0
- cyfaust/resources/architecture/faust/gui/JSONControl.h +48 -0
- cyfaust/resources/architecture/faust/gui/JSONUI.h +722 -0
- cyfaust/resources/architecture/faust/gui/JSONUIDecoder.h +589 -0
- cyfaust/resources/architecture/faust/gui/JuceGUI.h +2061 -0
- cyfaust/resources/architecture/faust/gui/JuceOSCUI.h +163 -0
- cyfaust/resources/architecture/faust/gui/JuceParameterUI.h +158 -0
- cyfaust/resources/architecture/faust/gui/JuceReader.h +103 -0
- cyfaust/resources/architecture/faust/gui/JuceStateUI.h +88 -0
- cyfaust/resources/architecture/faust/gui/LayoutUI.h +423 -0
- cyfaust/resources/architecture/faust/gui/LibsndfileReader.h +366 -0
- cyfaust/resources/architecture/faust/gui/MapUI.h +370 -0
- cyfaust/resources/architecture/faust/gui/MemoryReader.h +111 -0
- cyfaust/resources/architecture/faust/gui/MetaDataUI.h +357 -0
- cyfaust/resources/architecture/faust/gui/MidiUI.h +939 -0
- cyfaust/resources/architecture/faust/gui/OCVUI.h +688 -0
- cyfaust/resources/architecture/faust/gui/OSCUI.h +219 -0
- cyfaust/resources/architecture/faust/gui/PathBuilder.h +228 -0
- cyfaust/resources/architecture/faust/gui/PresetUI.h +337 -0
- cyfaust/resources/architecture/faust/gui/PrintCUI.h +152 -0
- cyfaust/resources/architecture/faust/gui/PrintUI.h +121 -0
- cyfaust/resources/architecture/faust/gui/QTUI.h +1891 -0
- cyfaust/resources/architecture/faust/gui/RosCI.h +493 -0
- cyfaust/resources/architecture/faust/gui/RosUI.h +488 -0
- cyfaust/resources/architecture/faust/gui/SaveUI.h +163 -0
- cyfaust/resources/architecture/faust/gui/SimpleParser.h +583 -0
- cyfaust/resources/architecture/faust/gui/SoundUI.h +217 -0
- cyfaust/resources/architecture/faust/gui/Soundfile.h +342 -0
- cyfaust/resources/architecture/faust/gui/Styles/Blue.qrc +5 -0
- cyfaust/resources/architecture/faust/gui/Styles/Blue.qss +177 -0
- cyfaust/resources/architecture/faust/gui/Styles/Default.qrc +5 -0
- cyfaust/resources/architecture/faust/gui/Styles/Default.qss +117 -0
- cyfaust/resources/architecture/faust/gui/Styles/Grey.qrc +5 -0
- cyfaust/resources/architecture/faust/gui/Styles/Grey.qss +174 -0
- cyfaust/resources/architecture/faust/gui/Styles/Salmon.qrc +5 -0
- cyfaust/resources/architecture/faust/gui/Styles/Salmon.qss +171 -0
- cyfaust/resources/architecture/faust/gui/UI.h +87 -0
- cyfaust/resources/architecture/faust/gui/ValueConverter.h +543 -0
- cyfaust/resources/architecture/faust/gui/WaveReader.h +364 -0
- cyfaust/resources/architecture/faust/gui/console.h +322 -0
- cyfaust/resources/architecture/faust/gui/httpdUI.h +372 -0
- cyfaust/resources/architecture/faust/gui/meta.h +39 -0
- cyfaust/resources/architecture/faust/gui/mspUI.h +580 -0
- cyfaust/resources/architecture/faust/gui/qrcodegen.h +269 -0
- cyfaust/resources/architecture/faust/gui/qrcodegen.impl.h +1025 -0
- cyfaust/resources/architecture/faust/gui/ring-buffer.h +414 -0
- cyfaust/resources/architecture/faust/midi/RtMidi.cpp +3054 -0
- cyfaust/resources/architecture/faust/midi/RtMidi.h +1034 -0
- cyfaust/resources/architecture/faust/midi/bela-midi.h +266 -0
- cyfaust/resources/architecture/faust/midi/daisy-midi.h +116 -0
- cyfaust/resources/architecture/faust/midi/esp32-midi.h +185 -0
- cyfaust/resources/architecture/faust/midi/gramophone-midi.h +107 -0
- cyfaust/resources/architecture/faust/midi/iplug2-midi.h +148 -0
- cyfaust/resources/architecture/faust/midi/jack-midi.h +247 -0
- cyfaust/resources/architecture/faust/midi/juce-midi.h +275 -0
- cyfaust/resources/architecture/faust/midi/midi.h +475 -0
- cyfaust/resources/architecture/faust/midi/rt-midi.h +315 -0
- cyfaust/resources/architecture/faust/midi/teensy-midi.h +89 -0
- cyfaust/resources/architecture/faust/misc.h +106 -0
- cyfaust/resources/architecture/faust/sound-file.h +132 -0
- cyfaust/resources/architecture/faust/unity/AudioPluginInterface.h +301 -0
- cyfaust/resources/architecture/faust/vst/faust.h +141 -0
- cyfaust/resources/architecture/faust/vst/voice.h +43 -0
- cyfaust/resources/architecture/faust/vst/vstui.h +524 -0
- cyfaust/resources/architecture/faustvst.cpp +3435 -0
- cyfaust/resources/architecture/faustvstqt.h +91 -0
- cyfaust/resources/architecture/gen-json.cpp +76 -0
- cyfaust/resources/architecture/jack-console.cpp +267 -0
- cyfaust/resources/architecture/jack-gtk-ros.cpp +139 -0
- cyfaust/resources/architecture/jack-gtk.cpp +282 -0
- cyfaust/resources/architecture/jack-internal.cpp +560 -0
- cyfaust/resources/architecture/jack-qt-chain-footer.cpp +87 -0
- cyfaust/resources/architecture/jack-qt-chain-header.cpp +92 -0
- cyfaust/resources/architecture/jack-qt.cpp +281 -0
- cyfaust/resources/architecture/jack.rs +171 -0
- cyfaust/resources/architecture/juce/README.md +84 -0
- cyfaust/resources/architecture/juce/juce-plugin.cpp +809 -0
- cyfaust/resources/architecture/juce/juce-standalone.cpp +413 -0
- cyfaust/resources/architecture/juce/plugin/plugin-llvm.jucer +184 -0
- cyfaust/resources/architecture/juce/plugin/plugin.jucer +159 -0
- cyfaust/resources/architecture/juce/standalone/standalone-llvm.jucer +216 -0
- cyfaust/resources/architecture/juce/standalone/standalone.jucer +191 -0
- cyfaust/resources/architecture/ladspa.cpp +543 -0
- cyfaust/resources/architecture/latexheader.tex +65 -0
- cyfaust/resources/architecture/lv2.cpp +2090 -0
- cyfaust/resources/architecture/lv2qtgui.h +62 -0
- cyfaust/resources/architecture/lv2ui.cpp +1966 -0
- cyfaust/resources/architecture/max-msp/README.md +109 -0
- cyfaust/resources/architecture/max-msp/faustgen-wrapper-poly.maxpat +184 -0
- cyfaust/resources/architecture/max-msp/faustgen-wrapper.maxpat +163 -0
- cyfaust/resources/architecture/max-msp/max-msp.cpp +734 -0
- cyfaust/resources/architecture/max-msp/max-msp64.cpp +789 -0
- cyfaust/resources/architecture/max-msp/py2max/README.md +277 -0
- cyfaust/resources/architecture/max-msp/py2max/py2max/__init__.py +3 -0
- cyfaust/resources/architecture/max-msp/py2max/py2max/common.py +7 -0
- cyfaust/resources/architecture/max-msp/py2max/py2max/core.py +1387 -0
- cyfaust/resources/architecture/max-msp/py2max/py2max/maxclassdb.py +318 -0
- cyfaust/resources/architecture/max-msp/py2max/py2max/utils.py +20 -0
- cyfaust/resources/architecture/max-msp/rnbo.py +1591 -0
- cyfaust/resources/architecture/max-msp/sndfile/sndfile.h +857 -0
- cyfaust/resources/architecture/max-msp/ui.js +230 -0
- cyfaust/resources/architecture/max-msp/wrapper-poly.maxpat +153 -0
- cyfaust/resources/architecture/max-msp/wrapper.maxpat +131 -0
- cyfaust/resources/architecture/minimal-bench.cpp +100 -0
- cyfaust/resources/architecture/minimal-effect.c +149 -0
- cyfaust/resources/architecture/minimal-effect.cpp +70 -0
- cyfaust/resources/architecture/minimal-fixed-point.cpp +195 -0
- cyfaust/resources/architecture/minimal-static.cpp +160 -0
- cyfaust/resources/architecture/minimal.c +103 -0
- cyfaust/resources/architecture/minimal.cpp +84 -0
- cyfaust/resources/architecture/minimal.rs +223 -0
- cyfaust/resources/architecture/module.cpp +91 -0
- cyfaust/resources/architecture/octave.cpp +471 -0
- cyfaust/resources/architecture/oscio-gtk.cpp +115 -0
- cyfaust/resources/architecture/oscio-qt.cpp +121 -0
- cyfaust/resources/architecture/owl.cpp +345 -0
- cyfaust/resources/architecture/pa-gtk.cpp +119 -0
- cyfaust/resources/architecture/pa-qt.cpp +261 -0
- cyfaust/resources/architecture/path-printer.cpp +100 -0
- cyfaust/resources/architecture/plot.cpp +128 -0
- cyfaust/resources/architecture/portaudio.rs +192 -0
- cyfaust/resources/architecture/puredata.cpp +636 -0
- cyfaust/resources/architecture/ra-qt.cpp +238 -0
- cyfaust/resources/architecture/sam/fast_pow2.h +69 -0
- cyfaust/resources/architecture/sam/fastexp.h +140 -0
- cyfaust/resources/architecture/sam/samFaustDSP.cpp +125 -0
- cyfaust/resources/architecture/sam/samFaustDSP.h +107 -0
- cyfaust/resources/architecture/scheduler.cpp +1391 -0
- cyfaust/resources/architecture/sndfile.cpp +291 -0
- cyfaust/resources/architecture/supercollider.cpp +611 -0
- cyfaust/resources/architecture/teensy/README.md +13 -0
- cyfaust/resources/architecture/teensy/teensy.cpp +214 -0
- cyfaust/resources/architecture/teensy/teensy.h +71 -0
- cyfaust/resources/architecture/thread.h +373 -0
- cyfaust/resources/architecture/vcvrack/README.md +78 -0
- cyfaust/resources/architecture/vcvrack/template/.gitignore +6 -0
- cyfaust/resources/architecture/vcvrack/template/Makefile +22 -0
- cyfaust/resources/architecture/vcvrack/template/res/FaustModule.svg +299 -0
- cyfaust/resources/architecture/vcvrack/template/src/FaustModule.cpp +942 -0
- cyfaust/resources/architecture/vst.cpp +947 -0
- cyfaust/resources/libraries/aanl.lib +900 -0
- cyfaust/resources/libraries/all.lib +36 -0
- cyfaust/resources/libraries/analyzers.lib +980 -0
- cyfaust/resources/libraries/basics.lib +2681 -0
- cyfaust/resources/libraries/compressors.lib +1341 -0
- cyfaust/resources/libraries/delays.lib +401 -0
- cyfaust/resources/libraries/demos.lib +1556 -0
- cyfaust/resources/libraries/dx7.lib +1036 -0
- cyfaust/resources/libraries/effect.lib +1645 -0
- cyfaust/resources/libraries/envelopes.lib +666 -0
- cyfaust/resources/libraries/examples/README.md +13 -0
- cyfaust/resources/libraries/examples/ambisonics/fourSourcesToOcto.dsp +20 -0
- cyfaust/resources/libraries/examples/ambisonics/oneSourceToStereo.dsp +12 -0
- cyfaust/resources/libraries/examples/analysis/FFT.dsp +26 -0
- cyfaust/resources/libraries/examples/analysis/dbmeter.dsp +19 -0
- cyfaust/resources/libraries/examples/analysis/spectralLevel.dsp +8 -0
- cyfaust/resources/libraries/examples/analysis/spectralTiltLab.dsp +20 -0
- cyfaust/resources/libraries/examples/analysis/vumeter.dsp +18 -0
- cyfaust/resources/libraries/examples/autodiff/delay/diff.dsp +2 -0
- cyfaust/resources/libraries/examples/autodiff/delay/gt.dsp +2 -0
- cyfaust/resources/libraries/examples/autodiff/gain/diff.dsp +7 -0
- cyfaust/resources/libraries/examples/autodiff/gain/gt.dsp +1 -0
- cyfaust/resources/libraries/examples/autodiff/gain_dc/diff.dsp +7 -0
- cyfaust/resources/libraries/examples/autodiff/gain_dc/gt.dsp +4 -0
- cyfaust/resources/libraries/examples/autodiff/gain_exp/diff.dsp +9 -0
- cyfaust/resources/libraries/examples/autodiff/gain_exp/gt.dsp +1 -0
- cyfaust/resources/libraries/examples/autodiff/gain_pow/diff.dsp +9 -0
- cyfaust/resources/libraries/examples/autodiff/gain_pow/gt.dsp +1 -0
- cyfaust/resources/libraries/examples/autodiff/gain_pow_trig/diff.dsp +12 -0
- cyfaust/resources/libraries/examples/autodiff/gain_pow_trig/gt.dsp +1 -0
- cyfaust/resources/libraries/examples/autodiff/gain_sq/diff.dsp +7 -0
- cyfaust/resources/libraries/examples/autodiff/gain_sq/gt.dsp +1 -0
- cyfaust/resources/libraries/examples/autodiff/mem/diff.dsp +1 -0
- cyfaust/resources/libraries/examples/autodiff/mem/gt.dsp +1 -0
- cyfaust/resources/libraries/examples/autodiff/noise.dsp +2 -0
- cyfaust/resources/libraries/examples/autodiff/noop.dsp +2 -0
- cyfaust/resources/libraries/examples/autodiff/one_zero/diff.dsp +2 -0
- cyfaust/resources/libraries/examples/autodiff/one_zero/gt.dsp +2 -0
- cyfaust/resources/libraries/examples/autodiff/ramp.dsp +1 -0
- cyfaust/resources/libraries/examples/autodiff/recursion/diff.dsp +2 -0
- cyfaust/resources/libraries/examples/autodiff/recursion/gt.dsp +1 -0
- cyfaust/resources/libraries/examples/autodiff/recursion/target.dsp +13 -0
- cyfaust/resources/libraries/examples/autodiff/tremolo/diff.dsp +14 -0
- cyfaust/resources/libraries/examples/autodiff/tremolo/diffable.lib +7 -0
- cyfaust/resources/libraries/examples/autodiff/tremolo/gt.dsp +11 -0
- cyfaust/resources/libraries/examples/delayEcho/echo.dsp +15 -0
- cyfaust/resources/libraries/examples/delayEcho/quadEcho.dsp +21 -0
- cyfaust/resources/libraries/examples/delayEcho/smoothDelay.dsp +26 -0
- cyfaust/resources/libraries/examples/delayEcho/stereoEcho.dsp +16 -0
- cyfaust/resources/libraries/examples/delayEcho/tapiir.dsp +44 -0
- cyfaust/resources/libraries/examples/dynamic/compressor.dsp +8 -0
- cyfaust/resources/libraries/examples/dynamic/distortion.dsp +8 -0
- cyfaust/resources/libraries/examples/dynamic/gateCompressor.dsp +10 -0
- cyfaust/resources/libraries/examples/dynamic/noiseGate.dsp +8 -0
- cyfaust/resources/libraries/examples/dynamic/volume.dsp +15 -0
- cyfaust/resources/libraries/examples/filtering/APF.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/BPF.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/DNN.dsp +25 -0
- cyfaust/resources/libraries/examples/filtering/HPF.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/LPF.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/bandFilter.dsp +44 -0
- cyfaust/resources/libraries/examples/filtering/cryBaby.dsp +4 -0
- cyfaust/resources/libraries/examples/filtering/diodeLadder.dsp +12 -0
- cyfaust/resources/libraries/examples/filtering/filterBank.dsp +6 -0
- cyfaust/resources/libraries/examples/filtering/graphicEqLab.dsp +10 -0
- cyfaust/resources/libraries/examples/filtering/highShelf.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/korg35HPF.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/korg35LPF.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/lfBoost.dsp +40 -0
- cyfaust/resources/libraries/examples/filtering/lowBoost.dsp +40 -0
- cyfaust/resources/libraries/examples/filtering/lowCut.dsp +40 -0
- cyfaust/resources/libraries/examples/filtering/lowShelf.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/moogHalfLadder.dsp +12 -0
- cyfaust/resources/libraries/examples/filtering/moogLadder.dsp +12 -0
- cyfaust/resources/libraries/examples/filtering/moogVCF.dsp +6 -0
- cyfaust/resources/libraries/examples/filtering/multibandFilter.dsp +14 -0
- cyfaust/resources/libraries/examples/filtering/notch.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/oberheim.dsp +14 -0
- cyfaust/resources/libraries/examples/filtering/oberheimBPF.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/oberheimBSF.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/oberheimHPF.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/oberheimLPF.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/parametricEqLab.dsp +10 -0
- cyfaust/resources/libraries/examples/filtering/parametricEqualizer.dsp +6 -0
- cyfaust/resources/libraries/examples/filtering/peakNotch.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/peakingEQ.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/sallenKey2ndOrder.dsp +14 -0
- cyfaust/resources/libraries/examples/filtering/sallenKey2ndOrderBPF.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/sallenKey2ndOrderHPF.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/sallenKey2ndOrderLPF.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/sallenKeyOnePole.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/sallenKeyOnePoleHPF.dsp +12 -0
- cyfaust/resources/libraries/examples/filtering/sallenKeyOnePoleLPF.dsp +12 -0
- cyfaust/resources/libraries/examples/filtering/spectralTilt.dsp +8 -0
- cyfaust/resources/libraries/examples/filtering/vcfWahLab.dsp +12 -0
- cyfaust/resources/libraries/examples/filtering/vocoder.dsp +8 -0
- cyfaust/resources/libraries/examples/filtering/wahPedal.dsp +6 -0
- cyfaust/resources/libraries/examples/gameaudio/bubble.dsp +42 -0
- cyfaust/resources/libraries/examples/gameaudio/door.dsp +58 -0
- cyfaust/resources/libraries/examples/gameaudio/fire.dsp +46 -0
- cyfaust/resources/libraries/examples/gameaudio/insects.dsp +148 -0
- cyfaust/resources/libraries/examples/gameaudio/rain.dsp +27 -0
- cyfaust/resources/libraries/examples/gameaudio/wind.dsp +23 -0
- cyfaust/resources/libraries/examples/generator/filterOsc.dsp +8 -0
- cyfaust/resources/libraries/examples/generator/noise.dsp +52 -0
- cyfaust/resources/libraries/examples/generator/noiseMetadata.dsp +74 -0
- cyfaust/resources/libraries/examples/generator/osc.dsp +17 -0
- cyfaust/resources/libraries/examples/generator/osci.dsp +17 -0
- cyfaust/resources/libraries/examples/generator/sawtoothLab.dsp +8 -0
- cyfaust/resources/libraries/examples/generator/virtualAnalog.dsp +8 -0
- cyfaust/resources/libraries/examples/generator/virtualAnalogLab.dsp +10 -0
- cyfaust/resources/libraries/examples/misc/UITester.dsp +71 -0
- cyfaust/resources/libraries/examples/misc/autopan.dsp +59 -0
- cyfaust/resources/libraries/examples/misc/capture.dsp +24 -0
- cyfaust/resources/libraries/examples/misc/drumkit.dsp +36 -0
- cyfaust/resources/libraries/examples/misc/guitarix.dsp +184 -0
- cyfaust/resources/libraries/examples/misc/matrix.dsp +17 -0
- cyfaust/resources/libraries/examples/misc/midiTester.dsp +122 -0
- cyfaust/resources/libraries/examples/misc/mixer.dsp +27 -0
- cyfaust/resources/libraries/examples/misc/statespace.dsp +39 -0
- cyfaust/resources/libraries/examples/misc/switcher.dsp +20 -0
- cyfaust/resources/libraries/examples/misc/tester.dsp +32 -0
- cyfaust/resources/libraries/examples/misc/tester2.dsp +31 -0
- cyfaust/resources/libraries/examples/old/README.md +5 -0
- cyfaust/resources/libraries/examples/old/freeverb.dsp +109 -0
- cyfaust/resources/libraries/examples/old/rewriting/Makefile +21 -0
- cyfaust/resources/libraries/examples/old/rewriting/fact.dsp +3 -0
- cyfaust/resources/libraries/examples/old/rewriting/fold.dsp +61 -0
- cyfaust/resources/libraries/examples/old/rewriting/mesh.dsp +43 -0
- cyfaust/resources/libraries/examples/old/rewriting/mesh.pd +37 -0
- cyfaust/resources/libraries/examples/old/rewriting/sample.pd +12 -0
- cyfaust/resources/libraries/examples/old/rewriting/serial.dsp +7 -0
- cyfaust/resources/libraries/examples/old/rewriting/sum.dsp +55 -0
- cyfaust/resources/libraries/examples/old/rewriting/test.pd +48 -0
- cyfaust/resources/libraries/examples/phasing/flanger.dsp +8 -0
- cyfaust/resources/libraries/examples/phasing/phaser.dsp +8 -0
- cyfaust/resources/libraries/examples/phasing/phaserFlangerLab.dsp +12 -0
- cyfaust/resources/libraries/examples/physicalModeling/brass.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/brassMIDI.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/churchBell.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/clarinet.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/clarinetMIDI.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/djembeMIDI.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/elecGuitarMIDI.dsp +10 -0
- cyfaust/resources/libraries/examples/physicalModeling/englishBell.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/NLFeks.dsp +91 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/NLFfm.dsp +70 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/README +125 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/bass.dsp +84 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/bass.h +91 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/blowBottle.dsp +102 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/bowed.dsp +114 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/brass.dsp +103 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/clarinet.dsp +110 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/flute.dsp +116 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/fluteStk.dsp +121 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/glassHarmonica.dsp +131 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/harpsi.dsp +90 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/harpsichord.h +185 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/instrument.h +114 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/modalBar.dsp +122 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/modalBar.h +48 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/audio-out.pd +33 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/bottle.pd +10 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/clarinets.pd +15 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/canon/audio-out.pd +33 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/canon/bass.pd +162 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/canon/canon.pd +55 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/canon/flute.pd +343 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/canon/pachelbel.mid +0 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/daisy/audio-out.pd +33 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/daisy/daisy.mid +0 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/daisy/daisy.pd +45 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/daisy/piano.pd +205 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/daisy/voiceForm.pd +340 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/take5/audio-out.pd +33 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/take5/blowHole.pd +330 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/take5/piano.pd +205 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/take5/take5.mid +0 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/take5/take5.pd +45 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/turkish-march/audio-out.pd +33 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/turkish-march/harpsi.pd +204 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/turkish-march/turkish-march.mid +0 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/turkish-march/turkish-march.pd +31 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/what-a-friend/audio-out.pd +33 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/what-a-friend/bass.pd +162 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/what-a-friend/modalBar.pd +258 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/what-a-friend/piano.pd +205 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/what-a-friend/what-a-friend.pd +52 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/what-a-friend/what_a_friend.mid +0 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/flutes.pd +15 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fm.pd +10 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/glassBare.pd +10 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/harpsichord-poly.pd +10 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/ironBare.pd +10 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/midi-in.pd +111 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/modal.pd +10 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/osc.pd +26 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/piano-poly.pd +10 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/plucked.pd +20 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/saxophone.pd +10 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/tibetan.pd +10 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/trumpet.pd +10 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/violin.pd +10 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/voiceSynth.pd +10 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/woodenBare.pd +10 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/phonemes.h +189 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/piano.dsp +255 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/piano.h +751 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/saxophony.dsp +114 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/sitar.dsp +48 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/tibetanBowl.dsp +155 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/tunedBar.dsp +123 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/uniBar.dsp +100 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/voiceForm.dsp +125 -0
- cyfaust/resources/libraries/examples/physicalModeling/fds/1dDampedWaveEquation.dsp +43 -0
- cyfaust/resources/libraries/examples/physicalModeling/fds/2dKirchhoffThinPlate.dsp +75 -0
- cyfaust/resources/libraries/examples/physicalModeling/fds/BowedString.dsp +61 -0
- cyfaust/resources/libraries/examples/physicalModeling/fds/ControllableNonPhysicalString.dsp +72 -0
- cyfaust/resources/libraries/examples/physicalModeling/fds/HammeredString.dsp +74 -0
- cyfaust/resources/libraries/examples/physicalModeling/fds/PianoHammeredString.dsp +85 -0
- cyfaust/resources/libraries/examples/physicalModeling/fds/StiffString.dsp +54 -0
- cyfaust/resources/libraries/examples/physicalModeling/flute.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/fluteMIDI.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/frenchBell.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/germanBell.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/guitarMIDI.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/karplus.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/marimbaMIDI.dsp +10 -0
- cyfaust/resources/libraries/examples/physicalModeling/mi-faust/00_BasicOscillator/harmonicOscillator.dsp +58 -0
- cyfaust/resources/libraries/examples/physicalModeling/mi-faust/00_BasicOscillator/harmonicOscillator2.dsp +62 -0
- cyfaust/resources/libraries/examples/physicalModeling/mi-faust/00_BasicOscillator/harmonicOscillator3.dsp +65 -0
- cyfaust/resources/libraries/examples/physicalModeling/mi-faust/01_ParamControl/paramOsc.dsp +63 -0
- cyfaust/resources/libraries/examples/physicalModeling/mi-faust/02_AudioParamControl/audioParamOsc.dsp +63 -0
- cyfaust/resources/libraries/examples/physicalModeling/mi-faust/03_HammerTime/hammerOsc.dsp +71 -0
- cyfaust/resources/libraries/examples/physicalModeling/mi-faust/04_Gravity/bouncingOsc.dsp +64 -0
- cyfaust/resources/libraries/examples/physicalModeling/mi-faust/05_PluckedOscillator/pluckedOsc.dsp +57 -0
- cyfaust/resources/libraries/examples/physicalModeling/mi-faust/06_BowedOscillator/bowedOsc.dsp +65 -0
- cyfaust/resources/libraries/examples/physicalModeling/mi-faust/07_NonLinearOscillator/nlOsc.dsp +78 -0
- cyfaust/resources/libraries/examples/physicalModeling/mi-faust/08_TwoMassChain/2massChain.dsp +75 -0
- cyfaust/resources/libraries/examples/physicalModeling/mi-faust/09_TinyString/tinyString.dsp +101 -0
- cyfaust/resources/libraries/examples/physicalModeling/mi-faust/10_PluckedString/pluckedString.dsp +678 -0
- cyfaust/resources/libraries/examples/physicalModeling/mi-faust/11_BowedString/bowedString.dsp +671 -0
- cyfaust/resources/libraries/examples/physicalModeling/mi-faust/12_TriangleMesh/triangleMesh.dsp +448 -0
- cyfaust/resources/libraries/examples/physicalModeling/mi-faust/13_Construction/construction.dsp +1036 -0
- cyfaust/resources/libraries/examples/physicalModeling/mi-faust/14_Polyphonic/polyTriangle.dsp +79 -0
- cyfaust/resources/libraries/examples/physicalModeling/mi-faust/15_PhysicalLFO/physicalLFO.dsp +107 -0
- cyfaust/resources/libraries/examples/physicalModeling/modularInterpInstrMIDI.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/nylonGuitarMIDI.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/old/harpe.dsp +45 -0
- cyfaust/resources/libraries/examples/physicalModeling/old/karplus.dsp +34 -0
- cyfaust/resources/libraries/examples/physicalModeling/old/karplus32.dsp +47 -0
- cyfaust/resources/libraries/examples/physicalModeling/russianBell.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/standardBell.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/violin.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/violinMIDI.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/vocalBP.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/vocalBPMIDI.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/vocalFOF.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/vocalFOFMIDI.dsp +8 -0
- cyfaust/resources/libraries/examples/pitchShifting/pitchShifter.dsp +20 -0
- cyfaust/resources/libraries/examples/psychoacoustic/harmonicExciter.dsp +10 -0
- cyfaust/resources/libraries/examples/quantizing/quantizedChords.dsp +49 -0
- cyfaust/resources/libraries/examples/reverb/dattorro.dsp +8 -0
- cyfaust/resources/libraries/examples/reverb/fdnRev.dsp +8 -0
- cyfaust/resources/libraries/examples/reverb/freeverb.dsp +8 -0
- cyfaust/resources/libraries/examples/reverb/greyhole.dsp +8 -0
- cyfaust/resources/libraries/examples/reverb/jprev.dsp +8 -0
- cyfaust/resources/libraries/examples/reverb/reverbDesigner.dsp +12 -0
- cyfaust/resources/libraries/examples/reverb/reverbTester.dsp +8 -0
- cyfaust/resources/libraries/examples/reverb/zitaRev.dsp +8 -0
- cyfaust/resources/libraries/examples/reverb/zitaRevFDN.dsp +8 -0
- cyfaust/resources/libraries/examples/smartKeyboard/acGuitar.dsp +100 -0
- cyfaust/resources/libraries/examples/smartKeyboard/associatedEffects/elecGuitarEffect.dsp +8 -0
- cyfaust/resources/libraries/examples/smartKeyboard/associatedEffects/myEffect.dsp +5 -0
- cyfaust/resources/libraries/examples/smartKeyboard/associatedEffects/reverb.dsp +5 -0
- cyfaust/resources/libraries/examples/smartKeyboard/bells.dsp +80 -0
- cyfaust/resources/libraries/examples/smartKeyboard/bowed.dsp +87 -0
- cyfaust/resources/libraries/examples/smartKeyboard/brass.dsp +82 -0
- cyfaust/resources/libraries/examples/smartKeyboard/clarinet.dsp +113 -0
- cyfaust/resources/libraries/examples/smartKeyboard/crazyGuiro.dsp +96 -0
- cyfaust/resources/libraries/examples/smartKeyboard/drums.dsp +74 -0
- cyfaust/resources/libraries/examples/smartKeyboard/dubDub.dsp +87 -0
- cyfaust/resources/libraries/examples/smartKeyboard/elecGuitar.dsp +67 -0
- cyfaust/resources/libraries/examples/smartKeyboard/fm.dsp +78 -0
- cyfaust/resources/libraries/examples/smartKeyboard/frog.dsp +74 -0
- cyfaust/resources/libraries/examples/smartKeyboard/harp.dsp +84 -0
- cyfaust/resources/libraries/examples/smartKeyboard/midiOnly.dsp +62 -0
- cyfaust/resources/libraries/examples/smartKeyboard/multiSynth.dsp +75 -0
- cyfaust/resources/libraries/examples/smartKeyboard/toy.dsp +71 -0
- cyfaust/resources/libraries/examples/smartKeyboard/trumpet.dsp +59 -0
- cyfaust/resources/libraries/examples/smartKeyboard/turenas.dsp +114 -0
- cyfaust/resources/libraries/examples/smartKeyboard/violin.dsp +91 -0
- cyfaust/resources/libraries/examples/smartKeyboard/violin2.dsp +84 -0
- cyfaust/resources/libraries/examples/smartKeyboard/vocal.dsp +43 -0
- cyfaust/resources/libraries/examples/spat/panpot.dsp +17 -0
- cyfaust/resources/libraries/examples/spat/spat.dsp +25 -0
- cyfaust/resources/libraries/fds.lib +535 -0
- cyfaust/resources/libraries/filter.lib +1710 -0
- cyfaust/resources/libraries/filters.lib +3125 -0
- cyfaust/resources/libraries/hoa.lib +1081 -0
- cyfaust/resources/libraries/instruments.lib +263 -0
- cyfaust/resources/libraries/interpolators.lib +675 -0
- cyfaust/resources/libraries/math.lib +602 -0
- cyfaust/resources/libraries/maths.lib +798 -0
- cyfaust/resources/libraries/maxmsp.lib +237 -0
- cyfaust/resources/libraries/mi.lib +528 -0
- cyfaust/resources/libraries/misceffects.lib +998 -0
- cyfaust/resources/libraries/music.lib +496 -0
- cyfaust/resources/libraries/noises.lib +487 -0
- cyfaust/resources/libraries/oscillator.lib +450 -0
- cyfaust/resources/libraries/oscillators.lib +1838 -0
- cyfaust/resources/libraries/phaflangers.lib +235 -0
- cyfaust/resources/libraries/physmodels.lib +3990 -0
- cyfaust/resources/libraries/platform.lib +59 -0
- cyfaust/resources/libraries/quantizers.lib +310 -0
- cyfaust/resources/libraries/reducemaps.lib +235 -0
- cyfaust/resources/libraries/reverbs.lib +686 -0
- cyfaust/resources/libraries/routes.lib +262 -0
- cyfaust/resources/libraries/sf.lib +53 -0
- cyfaust/resources/libraries/signals.lib +570 -0
- cyfaust/resources/libraries/soundfiles.lib +234 -0
- cyfaust/resources/libraries/spats.lib +173 -0
- cyfaust/resources/libraries/stdfaust.lib +38 -0
- cyfaust/resources/libraries/synths.lib +322 -0
- cyfaust/resources/libraries/tonestacks.lib +427 -0
- cyfaust/resources/libraries/tubes.lib +5039 -0
- cyfaust/resources/libraries/vaeffects.lib +984 -0
- cyfaust/resources/libraries/version.lib +22 -0
- cyfaust/resources/libraries/wdmodels.lib +2276 -0
- cyfaust/resources/libraries/webaudio.lib +402 -0
- cyfaust/signal.pxd +44 -0
- cyfaust/signal.pyx +1993 -0
- cyfaust-0.1.0.dist-info/METADATA +355 -0
- cyfaust-0.1.0.dist-info/RECORD +693 -0
- cyfaust-0.1.0.dist-info/WHEEL +5 -0
- cyfaust-0.1.0.dist-info/entry_points.txt +3 -0
- cyfaust-0.1.0.dist-info/licenses/LICENSE +26 -0
|
@@ -0,0 +1,900 @@
|
|
|
1
|
+
//################################ aanl.lib ##########################################
|
|
2
|
+
// A library for antialiased nonlinearities. Its official prefix is `aa`.
|
|
3
|
+
//
|
|
4
|
+
// This library provides aliasing-suppressed nonlinearities through first-order
|
|
5
|
+
// and second-order approximations of continuous-time signals, functions,
|
|
6
|
+
// and convolution based on antiderivatives. This technique is particularly
|
|
7
|
+
// effective if combined with low-factor oversampling, for example, operating
|
|
8
|
+
// at 96 kHz or 192 kHz sample-rate.
|
|
9
|
+
//
|
|
10
|
+
// The library contains trigonometric functions as well as other nonlinear
|
|
11
|
+
// functions such as bounded and unbounded saturators.
|
|
12
|
+
//
|
|
13
|
+
// Due to their limited domains or ranges, some of these functions may not
|
|
14
|
+
// suitable for audio nonlinear processing or waveshaping, although
|
|
15
|
+
// they have been included for completeness. Some other functions,
|
|
16
|
+
// for example, tan() and tanh(), are only available with first-order
|
|
17
|
+
// antialiasing due to the complexity of the antiderivative of the
|
|
18
|
+
// x * f(x) term, particularly because of the necessity of the dilogarithm
|
|
19
|
+
// function, which requires special implementation.
|
|
20
|
+
//
|
|
21
|
+
// Future improvements to this library may include an adaptive
|
|
22
|
+
// mechanism to set the ill-conditioned cases threshold to improve
|
|
23
|
+
// performance in varying cases.
|
|
24
|
+
//
|
|
25
|
+
// Note that the antialiasing functions introduce a delay in the path,
|
|
26
|
+
// respectively half and one-sample delay for first and second-order functions.
|
|
27
|
+
//
|
|
28
|
+
// Also note that due to division by differences, it is vital to use
|
|
29
|
+
// double-precision or more to reduce errors.
|
|
30
|
+
//
|
|
31
|
+
// The environment identifier for this library is `aa`. After importing
|
|
32
|
+
// the standard libraries in Faust, the functions below can be called as `aa.function_name`.
|
|
33
|
+
//
|
|
34
|
+
// #### References
|
|
35
|
+
// * <https://github.com/grame-cncm/faustlibraries/blob/master/aanl.lib>
|
|
36
|
+
// * Reducing the Aliasing in Nonlinear Waveshaping Using Continuous-time Convolution,
|
|
37
|
+
// Julian Parker, Vadim Zavalishin, Efflam Le Bivic, DAFX, 2016
|
|
38
|
+
// * <http://dafx16.vutbr.cz/dafxpapers/20-DAFx-16_paper_41-PN.pdf>
|
|
39
|
+
//########################################################################################
|
|
40
|
+
|
|
41
|
+
ba = library("basics.lib");
|
|
42
|
+
ma = library("maths.lib");
|
|
43
|
+
|
|
44
|
+
declare name "Faust Antialiased Nonlinearities";
|
|
45
|
+
declare version "1.3.0";
|
|
46
|
+
|
|
47
|
+
//==============================Auxiliary Functions=======================================
|
|
48
|
+
//========================================================================================
|
|
49
|
+
|
|
50
|
+
//-------`(aa.)clip`-----------
|
|
51
|
+
// Clipping function.
|
|
52
|
+
//-----------------------------
|
|
53
|
+
clip(l, h, x) = max(l, min(h, x));
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
//-------`(aa.)Rsqrt`----------
|
|
57
|
+
// Real-valued sqrt().
|
|
58
|
+
//-----------------------------
|
|
59
|
+
Rsqrt(x) = sqrt(max(0.0, x));
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
//-------`(aa.)Rlog`-----------
|
|
63
|
+
// Real-valued log().
|
|
64
|
+
//-----------------------------
|
|
65
|
+
Rlog(x) = log(max(ma.EPSILON, x));
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
//-------`(aa.)Rtan`-----------
|
|
69
|
+
// Real-valued tan().
|
|
70
|
+
//-----------------------------
|
|
71
|
+
Rtan(x) = tan(clip(-ma.MAX, ma.MAX, x));
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
//-------`(aa.)Racos`----------
|
|
75
|
+
// Real-valued acos().
|
|
76
|
+
//-----------------------------
|
|
77
|
+
Racos(x) = acos(clip(-1.0, 1.0, x));
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
//-------`(aa.)Rasin`----------
|
|
81
|
+
// Real-valued asin().
|
|
82
|
+
//-----------------------------
|
|
83
|
+
Rasin(x) = asin(clip(-1.0, 1.0, x));
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
//-------`(aa.)Racosh`----------
|
|
87
|
+
// Real-valued acosh()
|
|
88
|
+
//------------------------------
|
|
89
|
+
Racosh(x) = ma.acosh(clip(1.0, ma.MAX, x));
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
//-------`(aa.)Rcosh`----------
|
|
93
|
+
// Real-valued cosh().
|
|
94
|
+
//-----------------------------
|
|
95
|
+
Rcosh(x) = min(ma.MAX, ma.cosh(x));
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
//-------`(aa.)Rsinh`-----------
|
|
99
|
+
// Real-valued sinh().
|
|
100
|
+
//------------------------------
|
|
101
|
+
Rsinh(x) = clip(-ma.MAX, ma.MAX, ma.sinh(x));
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
//-------`(aa.)Ratanh`----------
|
|
105
|
+
// Real-valued atanh().
|
|
106
|
+
//------------------------------
|
|
107
|
+
Ratanh(x) = ma.atanh(clip(-1.0 + ma.EPSILON, 1.0 - ma.EPSILON, x));
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
//-------`(aa.)ADAA1`---------------------
|
|
111
|
+
// Generalised first-order ADAA function.
|
|
112
|
+
//
|
|
113
|
+
// #### Usage
|
|
114
|
+
//
|
|
115
|
+
// ```
|
|
116
|
+
// _ : ADAA1(EPS, f, F1) : _
|
|
117
|
+
// ```
|
|
118
|
+
//
|
|
119
|
+
// Where:
|
|
120
|
+
//
|
|
121
|
+
// * `EPS`: a threshold to handle ill-conditioned cases
|
|
122
|
+
// * `f`: a function that we want to process with ADAA
|
|
123
|
+
// * `F1`: f's first antiderivative
|
|
124
|
+
|
|
125
|
+
declare ADAA1 author "Dario Sanfilippo";
|
|
126
|
+
declare ADAA1 copyright "Copyright (C) 2021 Dario Sanfilippo
|
|
127
|
+
<sanfilippo.dario@gmail.com>";
|
|
128
|
+
declare ADAA1 license "LGPL v3.0 license";
|
|
129
|
+
ADAA1(EPS, f, F1, x) = D1q
|
|
130
|
+
with {
|
|
131
|
+
D1q = ba.if(abs(x - x') <= EPS, ill_D1q, safe_D1q)
|
|
132
|
+
with {
|
|
133
|
+
ill_D1q = f(x_m);
|
|
134
|
+
safe_D1q = (F1(x) - F1(x')) / (x - x');
|
|
135
|
+
x_m = .5 * (x + x');
|
|
136
|
+
};
|
|
137
|
+
};
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
//-------`(aa.)ADAA2`---------------------
|
|
141
|
+
// Generalised second-order ADAA function.
|
|
142
|
+
//
|
|
143
|
+
// #### Usage
|
|
144
|
+
//
|
|
145
|
+
// ```
|
|
146
|
+
// _ : ADAA2(EPS, f, F1, F2) : _
|
|
147
|
+
// ```
|
|
148
|
+
//
|
|
149
|
+
// Where:
|
|
150
|
+
//
|
|
151
|
+
// * `EPS`: a threshold to handle ill-conditioned cases
|
|
152
|
+
// * `f`: a function that we want to process with ADAA
|
|
153
|
+
// * `F1`: f's first antiderivative
|
|
154
|
+
// * `F2`: f's second antiderivative
|
|
155
|
+
|
|
156
|
+
declare ADAA2 author "Dario Sanfilippo";
|
|
157
|
+
declare ADAA2 copyright "Copyright (C) 2021 Dario Sanfilippo
|
|
158
|
+
<sanfilippo.dario@gmail.com>";
|
|
159
|
+
declare ADAA2 license "LGPL v3.0 license";
|
|
160
|
+
ADAA2(EPS, f, F1, F2, x) = T1 + T2
|
|
161
|
+
with {
|
|
162
|
+
T1 = ba.if((x - x') ^ 2.0 <= EPS, ill_T1, safe_T1)
|
|
163
|
+
with {
|
|
164
|
+
ill_T1 = .5 * f((x + 2.0 * x') / 3.0);
|
|
165
|
+
safe_T1 = (x * (F1(x) - F1(x')) - (F2(x) - F2(x'))) /
|
|
166
|
+
((x - x') ^ 2.0);
|
|
167
|
+
};
|
|
168
|
+
T2 = ba.if((x' - x'') ^ 2.0 <= EPS, ill_T2, safe_T2)
|
|
169
|
+
with {
|
|
170
|
+
ill_T2 = .5 * f((x'' + 2.0 * x') / 3.0);
|
|
171
|
+
safe_T2 = (x'' * (F1(x'') - F1(x')) - (F2(x'') - F2(x'))) /
|
|
172
|
+
((x'' - x') ^ 2.0);
|
|
173
|
+
};
|
|
174
|
+
};
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
//==============================Main functions============================================
|
|
178
|
+
//========================================================================================
|
|
179
|
+
|
|
180
|
+
//================= Saturators ===============
|
|
181
|
+
//
|
|
182
|
+
// These antialiased saturators perform best with high-amplitude input
|
|
183
|
+
// signals. If the input is only slightly saturated, hence producing
|
|
184
|
+
// negligible aliasing, the trivial saturator may result in a better
|
|
185
|
+
// overall output, as noise can be introduced by first and second ADAA
|
|
186
|
+
// at low amplitudes.
|
|
187
|
+
//
|
|
188
|
+
// Once determining the lowest saturation level for which the antialiased
|
|
189
|
+
// functions perform adequately, it might be sensible to cross-fade
|
|
190
|
+
// between the trivial and the antialiased saturators according to the
|
|
191
|
+
// amplitude profile of the input signal.
|
|
192
|
+
//==============================================
|
|
193
|
+
|
|
194
|
+
//-------`(aa.)hardclip`---------------------
|
|
195
|
+
//
|
|
196
|
+
// First-order ADAA hard-clip.
|
|
197
|
+
//
|
|
198
|
+
// The domain of this function is ℝ; its theoretical range is [-1.0; 1.0].
|
|
199
|
+
//
|
|
200
|
+
// #### Usage
|
|
201
|
+
// ```
|
|
202
|
+
// _ : aa.hardclip : _
|
|
203
|
+
// ```
|
|
204
|
+
//---------------------------------------------
|
|
205
|
+
declare hardclip author "Dario Sanfilippo";
|
|
206
|
+
declare hardclip copyright "Copyright (C) 2021 Dario Sanfilippo
|
|
207
|
+
<sanfilippo.dario@gmail.com>";
|
|
208
|
+
declare hardclip license "LGPL v3.0 license";
|
|
209
|
+
hardclip(x) = ADAA1(EPS, f, F1, x)
|
|
210
|
+
with {
|
|
211
|
+
EPS = 1.0 / ma.SR;
|
|
212
|
+
f(x_f) = clip(-1.0, 1.0, x_f);
|
|
213
|
+
F1(x_F1) = ba.if( (x_F1 <= 1.0) & (x_F1 >= -1.0),
|
|
214
|
+
.5 * x_F1 ^ 2.0,
|
|
215
|
+
x_F1 * ma.signum(x_F1) - .5);
|
|
216
|
+
};
|
|
217
|
+
|
|
218
|
+
|
|
219
|
+
//-------`(aa.)hardclip2`---------------------
|
|
220
|
+
//
|
|
221
|
+
// Second-order ADAA hard-clip.
|
|
222
|
+
//
|
|
223
|
+
// The domain of this function is ℝ; its theoretical range is [-1.0; 1.0].
|
|
224
|
+
//
|
|
225
|
+
// #### Usage
|
|
226
|
+
// ```
|
|
227
|
+
// _ : aa.hardclip2 : _
|
|
228
|
+
// ```
|
|
229
|
+
//---------------------------------------------
|
|
230
|
+
declare hardclip2 author "Dario Sanfilippo";
|
|
231
|
+
declare hardclip2 copyright "Copyright (C) 2021 Dario Sanfilippo
|
|
232
|
+
<sanfilippo.dario@gmail.com>";
|
|
233
|
+
declare hardclip2 license "LGPL v3.0 license";
|
|
234
|
+
hardclip2(x) = ADAA2(EPS, f, F1, F2, x)
|
|
235
|
+
with {
|
|
236
|
+
EPS = 1.0 / ma.SR;
|
|
237
|
+
f(x_f) = clip(-1.0, 1.0, x_f);
|
|
238
|
+
F1(x_F1) = ba.if( (x_F1 <= 1.0) & (x_F1 >= -1.0),
|
|
239
|
+
.5 * x_F1 ^ 2.0,
|
|
240
|
+
x_F1 * ma.signum(x_F1) - .5);
|
|
241
|
+
F2(x_F2) = ba.if( (x_F2 <= 1.0) & (x_F2 >= -1.0),
|
|
242
|
+
(1.0 / 3.0) * x_F2 ^ 3.0,
|
|
243
|
+
((.5 * x_F2 ^ 2.0) - 1.0 / 6.0) *
|
|
244
|
+
ma.signum(x_F2));
|
|
245
|
+
};
|
|
246
|
+
|
|
247
|
+
|
|
248
|
+
//-------`(aa.)cubic1`---------------------
|
|
249
|
+
//
|
|
250
|
+
// First-order ADAA cubic saturator.
|
|
251
|
+
//
|
|
252
|
+
// The domain of this function is ℝ; its theoretical range is
|
|
253
|
+
// [-2.0/3.0; 2.0/3.0].
|
|
254
|
+
//
|
|
255
|
+
// #### Usage
|
|
256
|
+
// ```
|
|
257
|
+
// _ : aa.cubic1 : _
|
|
258
|
+
// ```
|
|
259
|
+
//-------------------------------------------
|
|
260
|
+
declare cubic1 author "Dario Sanfilippo";
|
|
261
|
+
declare cubic1 copyright "Copyright (C) 2021 Dario Sanfilippo
|
|
262
|
+
<sanfilippo.dario@gmail.com>";
|
|
263
|
+
declare cubic1 license "LGPL v3.0 license";
|
|
264
|
+
cubic1(x) = ADAA1(EPS, f, F1, x)
|
|
265
|
+
with {
|
|
266
|
+
EPS = 1.0 / ma.SR;
|
|
267
|
+
f(x_f) = ba.if( (x_f < 1.0) & (x_f > -1.0),
|
|
268
|
+
x_f - x_f ^ 3.0 / 3.0,
|
|
269
|
+
(2.0 / 3.0) * ma.signum(x_f));
|
|
270
|
+
F1(x_F1) = ba.if( x_F1 <= -1.0,
|
|
271
|
+
x_F1 * -2.0 / 3.0,
|
|
272
|
+
ba.if( x_F1 >= 1.0,
|
|
273
|
+
x_F1 * 2.0 / 3.0,
|
|
274
|
+
x_F1 ^ 2.0 / 2.0 - x_F1 ^ 4.0 / 12.0));
|
|
275
|
+
};
|
|
276
|
+
|
|
277
|
+
|
|
278
|
+
//-------`(aa.)parabolic`---------------------
|
|
279
|
+
//
|
|
280
|
+
// First-order ADAA parabolic saturator.
|
|
281
|
+
//
|
|
282
|
+
// The domain of this function is ℝ; its theoretical range is [-1.0; 1.0].
|
|
283
|
+
//
|
|
284
|
+
// #### Usage
|
|
285
|
+
// ```
|
|
286
|
+
// _ : aa.parabolic : _
|
|
287
|
+
// ```
|
|
288
|
+
//--------------------------------------------
|
|
289
|
+
declare parabolic author "Dario Sanfilippo";
|
|
290
|
+
declare parabolic copyright "Copyright (C) 2021 Dario Sanfilippo
|
|
291
|
+
<sanfilippo.dario@gmail.com>";
|
|
292
|
+
declare parabolic license "LGPL v3.0 license";
|
|
293
|
+
parabolic(x) = ADAA1(EPS, f, F1, x)
|
|
294
|
+
with {
|
|
295
|
+
EPS = 1.0 / ma.SR;
|
|
296
|
+
f(x_f) = ba.if( abs(x_f) <= 2.0,
|
|
297
|
+
x_f * (1.0 - abs(x_f) / 4.0),
|
|
298
|
+
ma.signum(x_f));
|
|
299
|
+
F1(x_F1) = ba.if( abs(x_F1) <= 2.0,
|
|
300
|
+
(-1.0 / 12.0) * x_F1 ^ 2.0 *
|
|
301
|
+
(x_F1 * ma.signum(x_F1) - 6.0),
|
|
302
|
+
abs(x_F1));
|
|
303
|
+
};
|
|
304
|
+
|
|
305
|
+
|
|
306
|
+
//-------`(aa.)parabolic2`---------------------
|
|
307
|
+
//
|
|
308
|
+
// Second-order ADAA parabolic saturator.
|
|
309
|
+
//
|
|
310
|
+
// The domain of this function is ℝ; its theoretical range is [-1.0; 1.0].
|
|
311
|
+
//
|
|
312
|
+
// #### Usage
|
|
313
|
+
// ```
|
|
314
|
+
// _ : aa.parabolic : _
|
|
315
|
+
// ```
|
|
316
|
+
//---------------------------------------------
|
|
317
|
+
declare parabolic2 author "Dario Sanfilippo";
|
|
318
|
+
declare parabolic2 copyright "Copyright (C) 2021 Dario Sanfilippo
|
|
319
|
+
<sanfilippo.dario@gmail.com>";
|
|
320
|
+
declare parabolic2 license "LGPL v3.0 license";
|
|
321
|
+
parabolic2(x) = ADAA2(EPS, f, F1, F2, x)
|
|
322
|
+
with {
|
|
323
|
+
EPS = 1.0 / ma.SR;
|
|
324
|
+
f(x_f) = ba.if( abs(x_f) <= 2.0,
|
|
325
|
+
x_f * (1.0 - abs(x_f) / 4.0),
|
|
326
|
+
ma.signum(x_f));
|
|
327
|
+
F1(x_F1) = ba.if( abs(x_F1) <= 2.0,
|
|
328
|
+
(-1.0 / 12.0) * x_F1 ^ 2.0 *
|
|
329
|
+
(x_F1 * ma.signum(x_F1) - 6.0),
|
|
330
|
+
abs(x_F1));
|
|
331
|
+
F2(x_F2) = ba.if( abs(x_F2) <= 2.0,
|
|
332
|
+
(1.0 / 48.0) * x_F2 ^ 3.0 *
|
|
333
|
+
(16.0 - 3.0 * x_F2 * ma.signum(x_F2)),
|
|
334
|
+
.5 * x_F2 ^ 2.0 * ma.signum(x_F2));
|
|
335
|
+
};
|
|
336
|
+
|
|
337
|
+
|
|
338
|
+
//-------`(aa.)hyperbolic`---------------------
|
|
339
|
+
//
|
|
340
|
+
// First-order ADAA hyperbolic saturator.
|
|
341
|
+
//
|
|
342
|
+
// The domain of this function is ℝ; its theoretical range is ]-1.0; 1.0[.
|
|
343
|
+
//
|
|
344
|
+
// #### Usage
|
|
345
|
+
// ```
|
|
346
|
+
// _ : aa.hyperbolic : _
|
|
347
|
+
// ```
|
|
348
|
+
//---------------------------------------------
|
|
349
|
+
declare hyperbolic author "Dario Sanfilippo";
|
|
350
|
+
declare hyperbolic copyright "Copyright (C) 2021 Dario Sanfilippo
|
|
351
|
+
<sanfilippo.dario@gmail.com>";
|
|
352
|
+
declare hyperbolic license "LGPL v3.0 license";
|
|
353
|
+
hyperbolic(x) = ADAA1(EPS, f, F1, x)
|
|
354
|
+
with {
|
|
355
|
+
EPS = 1.0 / ma.SR;
|
|
356
|
+
f(x_f) = x_f / (1.0 + abs(x_f));
|
|
357
|
+
F1(x_F1) = abs(x_F1) - log(1.0 + abs(x_F1));
|
|
358
|
+
};
|
|
359
|
+
|
|
360
|
+
|
|
361
|
+
//-------`(aa.)hyperbolic2`---------------------
|
|
362
|
+
//
|
|
363
|
+
// Second-order ADAA hyperbolic saturator.
|
|
364
|
+
//
|
|
365
|
+
// The domain of this function is ℝ; its theoretical range is ]-1.0; 1.0[.
|
|
366
|
+
//
|
|
367
|
+
// #### Usage
|
|
368
|
+
// ```
|
|
369
|
+
// _ : aa.hyperbolic2 : _
|
|
370
|
+
// ```
|
|
371
|
+
//----------------------------------------------
|
|
372
|
+
declare hyperbolic2 author "Dario Sanfilippo";
|
|
373
|
+
declare hyperbolic2 copyright "Copyright (C) 2021 Dario Sanfilippo
|
|
374
|
+
<sanfilippo.dario@gmail.com>";
|
|
375
|
+
declare hyperbolic2 license "LGPL v3.0 license";
|
|
376
|
+
hyperbolic2(x) = ADAA2(EPS, f, F1, F2, x)
|
|
377
|
+
with {
|
|
378
|
+
EPS = 1.0 / ma.SR;
|
|
379
|
+
f(x_f) = x_f / (1.0 + abs(x_f));
|
|
380
|
+
F1(x_F1) = abs(x_F1) - log(1.0 + abs(x_F1));
|
|
381
|
+
F2(x_F2) = ma.signum(x_F2) * (.5 * (3.0 - 2.0 * abs(x_F2) + x_F2 ^ 2.0 +
|
|
382
|
+
2.0 * log(1.0 + abs(x_F2))) - 3.0 / 2.0) + 3.0 / 2.0;
|
|
383
|
+
};
|
|
384
|
+
|
|
385
|
+
|
|
386
|
+
//-------`(aa.)sinarctan`---------------------
|
|
387
|
+
//
|
|
388
|
+
// First-order ADAA sin(atan()) saturator.
|
|
389
|
+
//
|
|
390
|
+
// The domain of this function is ℝ; its theoretical range is ]-1.0; 1.0[.
|
|
391
|
+
//
|
|
392
|
+
// #### Usage
|
|
393
|
+
// ```
|
|
394
|
+
// _ : aa.sinatan : _
|
|
395
|
+
// ```
|
|
396
|
+
//----------------------------------------------
|
|
397
|
+
declare sinarctan author "Dario Sanfilippo";
|
|
398
|
+
declare sinarctan copyright "Copyright (C) 2021 Dario Sanfilippo
|
|
399
|
+
<sanfilippo.dario@gmail.com>";
|
|
400
|
+
declare sinarctan license "LGPL v3.0 license";
|
|
401
|
+
sinarctan(x) = ADAA1(EPS, f, F1, x)
|
|
402
|
+
with {
|
|
403
|
+
EPS = 1.0 / ma.SR;
|
|
404
|
+
f(x_f) = x_f / sqrt(1.0 + x_f ^ 2.0);
|
|
405
|
+
F1(x_F1) = sqrt(x_F1 ^ 2.0 + 1.0) + const
|
|
406
|
+
with {
|
|
407
|
+
const = -1.0; // for F1(0) = 0 to minimise precision loss
|
|
408
|
+
};
|
|
409
|
+
};
|
|
410
|
+
|
|
411
|
+
|
|
412
|
+
//-------`(aa.)sinarctan2`---------------------
|
|
413
|
+
//
|
|
414
|
+
// Second-order ADAA sin(atan()) saturator.
|
|
415
|
+
//
|
|
416
|
+
// The domain of this function is ℝ; its theoretical range is ]-1.0; 1.0[.
|
|
417
|
+
//
|
|
418
|
+
// #### Usage
|
|
419
|
+
// ```
|
|
420
|
+
// _ : aa.sinarctan2 : _
|
|
421
|
+
// ```
|
|
422
|
+
//----------------------------------------------
|
|
423
|
+
declare sinarctan2 author "Dario Sanfilippo";
|
|
424
|
+
declare sinarctan2 copyright "Copyright (C) 2021 Dario Sanfilippo
|
|
425
|
+
<sanfilippo.dario@gmail.com>";
|
|
426
|
+
declare sinarctan2 license "LGPL v3.0 license";
|
|
427
|
+
sinarctan2(x) = ADAA2(EPS, f, F1, F2, x)
|
|
428
|
+
with {
|
|
429
|
+
EPS = 1.0 / ma.SR;
|
|
430
|
+
f(x_f) = x_f / sqrt(1.0 + x_f ^ 2.0);
|
|
431
|
+
F1(x_F1) = sqrt(x_F1 ^ 2.0 + 1.0) + const
|
|
432
|
+
with {
|
|
433
|
+
const = -1.0; // for F1(0) = 0 to minimise precision loss
|
|
434
|
+
};
|
|
435
|
+
F2(x_F2) = .5 * x_F2 * sqrt(x_F2 ^ 2.0 + 1.0) - .5 * ma.asinh(x_F2);
|
|
436
|
+
};
|
|
437
|
+
|
|
438
|
+
|
|
439
|
+
//-------`(aa.)tanh1`---------------------
|
|
440
|
+
//
|
|
441
|
+
// First-order ADAA tanh() saturator.
|
|
442
|
+
//
|
|
443
|
+
// The domain of this function is ℝ; its theoretical range is ]-1.0; 1.0[.
|
|
444
|
+
//
|
|
445
|
+
// #### Usage
|
|
446
|
+
// ```
|
|
447
|
+
// _ : aa.tanh1 : _
|
|
448
|
+
// ```
|
|
449
|
+
//----------------------------------------------
|
|
450
|
+
declare tanh1 author "Dario Sanfilippo";
|
|
451
|
+
declare tanh1 copyright "Copyright (C) 2021 Dario Sanfilippo
|
|
452
|
+
<sanfilippo.dario@gmail.com>";
|
|
453
|
+
declare tanh1 license "LGPL v3.0 license";
|
|
454
|
+
tanh1(x) = ADAA1(EPS, f, F1, x)
|
|
455
|
+
with {
|
|
456
|
+
EPS = 1.0 / ma.SR;
|
|
457
|
+
f(x_f) = ma.tanh(x_f);
|
|
458
|
+
F1(x_F1) = log(Rcosh(x_F1));
|
|
459
|
+
};
|
|
460
|
+
|
|
461
|
+
|
|
462
|
+
//-------`(aa.)arctan`---------------------
|
|
463
|
+
//
|
|
464
|
+
// First-order ADAA atan().
|
|
465
|
+
//
|
|
466
|
+
// The domain of this function is ℝ; its theoretical range is ]-π/2.0; π/2.0[.
|
|
467
|
+
//
|
|
468
|
+
// #### Usage
|
|
469
|
+
// ```
|
|
470
|
+
// _ : aa.arctan : _
|
|
471
|
+
// ```
|
|
472
|
+
//-------------------------------------------
|
|
473
|
+
declare arctan author "Dario Sanfilippo";
|
|
474
|
+
declare arctan copyright "Copyright (C) 2021 Dario Sanfilippo
|
|
475
|
+
<sanfilippo.dario@gmail.com>";
|
|
476
|
+
declare arctan license "LGPL v3.0 license";
|
|
477
|
+
arctan(x) = ADAA1(EPS, f, F1, x)
|
|
478
|
+
with {
|
|
479
|
+
EPS = 1.0 / ma.SR;
|
|
480
|
+
f(x_f) = atan(x_f);
|
|
481
|
+
F1(x_F1) = x_F1 * f(x_F1) - .5 * log(x_F1 ^ 2.0 + 1.0);
|
|
482
|
+
};
|
|
483
|
+
|
|
484
|
+
|
|
485
|
+
//-------`(aa.)arctan2`---------------------
|
|
486
|
+
//
|
|
487
|
+
// Second-order ADAA atan().
|
|
488
|
+
//
|
|
489
|
+
// The domain of this function is ℝ; its theoretical range is ]-π/2.0; π/2.0[.
|
|
490
|
+
//
|
|
491
|
+
// #### Usage
|
|
492
|
+
// ```
|
|
493
|
+
// _ : aa.arctan2 : _
|
|
494
|
+
// ```
|
|
495
|
+
//-------------------------------------------
|
|
496
|
+
declare arctan2 author "Dario Sanfilippo";
|
|
497
|
+
declare arctan2 copyright "Copyright (C) 2021 Dario Sanfilippo
|
|
498
|
+
<sanfilippo.dario@gmail.com>";
|
|
499
|
+
declare arctan2 license "LGPL v3.0 license";
|
|
500
|
+
arctan2(x) = ADAA2(EPS, f, F1, F2, x)
|
|
501
|
+
with {
|
|
502
|
+
EPS = 1.0 / ma.SR;
|
|
503
|
+
f(x_f) = atan(x_f);
|
|
504
|
+
F1(x_F1) = x_F1 * f(x_F1) - .5 * log(x_F1 ^ 2.0 + 1.0);
|
|
505
|
+
F2(x_F2) = .5 * x_F2 ^ 2.0 * f(x_F2) - x_F2 / 2.0 + .5 * f(x_F2);
|
|
506
|
+
};
|
|
507
|
+
|
|
508
|
+
|
|
509
|
+
//-------`(aa.)asinh1`---------------------
|
|
510
|
+
//
|
|
511
|
+
// First-order ADAA asinh() saturator (unbounded).
|
|
512
|
+
//
|
|
513
|
+
// The domain of this function is ℝ; its theoretical range is ℝ.
|
|
514
|
+
//
|
|
515
|
+
// #### Usage
|
|
516
|
+
// ```
|
|
517
|
+
// _ : aa.asinh1 : _
|
|
518
|
+
// ```
|
|
519
|
+
//-------------------------------------------
|
|
520
|
+
declare asinh1 author "Dario Sanfilippo";
|
|
521
|
+
declare asinh1 copyright "Copyright (C) 2021 Dario Sanfilippo
|
|
522
|
+
<sanfilippo.dario@gmail.com>";
|
|
523
|
+
declare asinh1 license "LGPL v3.0 license";
|
|
524
|
+
asinh1(x) = ADAA1(EPS, f, F1, x)
|
|
525
|
+
with {
|
|
526
|
+
EPS = 1.0 / ma.SR;
|
|
527
|
+
f(x_f) = ma.asinh(x_f);
|
|
528
|
+
F1(x_F1) = x_F1 * f(x_F1) - sqrt(1.0 + x_F1 ^ 2.0) + const
|
|
529
|
+
with {
|
|
530
|
+
const = 1.0; // for F1(0) = 0 to minimise precision loss
|
|
531
|
+
};
|
|
532
|
+
};
|
|
533
|
+
|
|
534
|
+
|
|
535
|
+
//-------`(aa.)asinh2`---------------------
|
|
536
|
+
//
|
|
537
|
+
// Second-order ADAA asinh() saturator (unbounded).
|
|
538
|
+
//
|
|
539
|
+
// The domain of this function is ℝ; its theoretical range is ℝ.
|
|
540
|
+
//
|
|
541
|
+
// #### Usage
|
|
542
|
+
// ```
|
|
543
|
+
// _ : aa.asinh2 : _
|
|
544
|
+
// ```
|
|
545
|
+
//-------------------------------------------
|
|
546
|
+
declare asinh2 author "Dario Sanfilippo";
|
|
547
|
+
declare asinh2 copyright "Copyright (C) 2021 Dario Sanfilippo
|
|
548
|
+
<sanfilippo.dario@gmail.com>";
|
|
549
|
+
declare asinh2 license "LGPL v3.0 license";
|
|
550
|
+
asinh2(x) = ADAA2(EPS, f, F1, F2, x)
|
|
551
|
+
with {
|
|
552
|
+
EPS = 1.0 / ma.SR;
|
|
553
|
+
f(x_f) = ma.asinh(x_f);
|
|
554
|
+
F1(x_F1) = x_F1 * f(x_F1) - sqrt(1.0 + x_F1 ^ 2.0) + const
|
|
555
|
+
with {
|
|
556
|
+
const = 1.0; // for F1(0) = 0 to minimise precision loss
|
|
557
|
+
};
|
|
558
|
+
F2(x_F2) = .25 * (2.0 * x_F2 ^ 2.0 * f(x_F2) + f(x_F2) -
|
|
559
|
+
sqrt(x_F2 ^ 2.0 + 1.0) * x_F2);
|
|
560
|
+
};
|
|
561
|
+
|
|
562
|
+
|
|
563
|
+
//================= Trigonometry ===============
|
|
564
|
+
// These functions are reliable if input signals are within their domains.
|
|
565
|
+
//============================================
|
|
566
|
+
|
|
567
|
+
|
|
568
|
+
//-------`(aa.)cosine1`---------------------
|
|
569
|
+
//
|
|
570
|
+
// First-order ADAA cos().
|
|
571
|
+
//
|
|
572
|
+
// The domain of this function is ℝ; its theoretical range is [-1.0; 1.0].
|
|
573
|
+
//
|
|
574
|
+
// #### Usage
|
|
575
|
+
// ```
|
|
576
|
+
// _ : aa.cosine1 : _
|
|
577
|
+
// ```
|
|
578
|
+
//-------------------------------------------
|
|
579
|
+
declare cosine1 author "Dario Sanfilippo";
|
|
580
|
+
declare cosine1 copyright "Copyright (C) 2021 Dario Sanfilippo
|
|
581
|
+
<sanfilippo.dario@gmail.com>";
|
|
582
|
+
declare cosine1 license "LGPL v3.0 license";
|
|
583
|
+
cosine1(x) = ADAA1(EPS, f, F1, x)
|
|
584
|
+
with {
|
|
585
|
+
EPS = 1.0 / ma.SR;
|
|
586
|
+
f(x_f) = cos(x_f);
|
|
587
|
+
F1(x_F1) = sin(x_F1);
|
|
588
|
+
};
|
|
589
|
+
|
|
590
|
+
|
|
591
|
+
//-------`(aa.)cosine2`---------------------
|
|
592
|
+
//
|
|
593
|
+
// Second-order ADAA cos().
|
|
594
|
+
//
|
|
595
|
+
// The domain of this function is ℝ; its theoretical range is [-1.0; 1.0].
|
|
596
|
+
//
|
|
597
|
+
// #### Usage
|
|
598
|
+
// ```
|
|
599
|
+
// _ : aa.cosine2 : _
|
|
600
|
+
// ```
|
|
601
|
+
//-------------------------------------------
|
|
602
|
+
declare cosine2 author "Dario Sanfilippo";
|
|
603
|
+
declare cosine2 copyright "Copyright (C) 2021 Dario Sanfilippo
|
|
604
|
+
<sanfilippo.dario@gmail.com>";
|
|
605
|
+
declare cosine2 license "LGPL v3.0 license";
|
|
606
|
+
cosine2(x) = ADAA2(EPS, f, F1, F2, x)
|
|
607
|
+
with {
|
|
608
|
+
EPS = 1.0 / ma.SR;
|
|
609
|
+
f(x_f) = cos(x_f);
|
|
610
|
+
F1(x_F1) = sin(x_F1);
|
|
611
|
+
F2(x_F2) = x_F2 * sin(x_F2) + cos(x_F2);
|
|
612
|
+
};
|
|
613
|
+
|
|
614
|
+
|
|
615
|
+
//-------`(aa.)arccos`---------------------
|
|
616
|
+
//
|
|
617
|
+
// First-order ADAA acos().
|
|
618
|
+
//
|
|
619
|
+
// The domain of this function is [-1.0; 1.0]; its theoretical range is
|
|
620
|
+
// [π; 0.0].
|
|
621
|
+
//
|
|
622
|
+
// #### Usage
|
|
623
|
+
// ```
|
|
624
|
+
// _ : aa.arccos : _
|
|
625
|
+
// ```
|
|
626
|
+
//------------------------------------------
|
|
627
|
+
declare arccos author "Dario Sanfilippo";
|
|
628
|
+
declare arccos copyright "Copyright (C) 2021 Dario Sanfilippo
|
|
629
|
+
<sanfilippo.dario@gmail.com>";
|
|
630
|
+
declare arccos license "LGPL v3.0 license";
|
|
631
|
+
arccos(x) = ADAA1(EPS, f, F1, x)
|
|
632
|
+
with {
|
|
633
|
+
EPS = 1.0 / ma.SR;
|
|
634
|
+
f(x_f) = Racos(x_f);
|
|
635
|
+
F1(x_F1) = x_F1 * f(x_F1) - Rsqrt(1.0 - x_F1 ^ 2.0) + const
|
|
636
|
+
with {
|
|
637
|
+
const = 1.0; // for F1(0) = 0 to minimise precision loss
|
|
638
|
+
};
|
|
639
|
+
};
|
|
640
|
+
|
|
641
|
+
|
|
642
|
+
//-------`(aa.)arccos2`---------------------
|
|
643
|
+
//
|
|
644
|
+
// Second-order ADAA acos().
|
|
645
|
+
//
|
|
646
|
+
// The domain of this function is [-1.0; 1.0]; its theoretical range is
|
|
647
|
+
// [π; 0.0].
|
|
648
|
+
//
|
|
649
|
+
// Note that this function is not accurate for low-amplitude or low-frequency
|
|
650
|
+
// input signals. In that case, the first-order ADAA arccos() can be used.
|
|
651
|
+
//
|
|
652
|
+
// #### Usage
|
|
653
|
+
// ```
|
|
654
|
+
// _ : aa.arccos2 : _
|
|
655
|
+
// ```
|
|
656
|
+
//--------------------------------------------
|
|
657
|
+
declare arccos2 author "Dario Sanfilippo";
|
|
658
|
+
declare arccos2 copyright "Copyright (C) 2021 Dario Sanfilippo
|
|
659
|
+
<sanfilippo.dario@gmail.com>";
|
|
660
|
+
declare arccos2 license "LGPL v3.0 license";
|
|
661
|
+
arccos2(x) = ADAA2(EPS, f, F1, F2, x)
|
|
662
|
+
with {
|
|
663
|
+
EPS = 1.0 / ma.SR;
|
|
664
|
+
f(x_f) = Racos(x_f);
|
|
665
|
+
F1(x_F1) = x_F1 * f(x_F1) - Rsqrt(1.0 - x_F1 ^ 2.0) + const
|
|
666
|
+
with {
|
|
667
|
+
const = 1.0; // for F1(0) = 0 to minimise precision loss
|
|
668
|
+
};
|
|
669
|
+
F2(x_F2) = .25 * (2.0 * x_F2 ^ 2.0 * f(x_F2) + Rasin(x_F2) -
|
|
670
|
+
Rsqrt(1.0 - x_F2 ^ 2.0));
|
|
671
|
+
};
|
|
672
|
+
|
|
673
|
+
|
|
674
|
+
//-------`(aa.)acosh1`---------------------
|
|
675
|
+
//
|
|
676
|
+
// First-order ADAA acosh().
|
|
677
|
+
//
|
|
678
|
+
// The domain of this function is ℝ >= 1.0; its theoretical range is ℝ >= 0.0.
|
|
679
|
+
//
|
|
680
|
+
// #### Usage
|
|
681
|
+
// ```
|
|
682
|
+
// _ : aa.acosh1 : _
|
|
683
|
+
// ```
|
|
684
|
+
//------------------------------------------
|
|
685
|
+
declare acosh1 author "Dario Sanfilippo";
|
|
686
|
+
declare acosh1 copyright "Copyright (C) 2021 Dario Sanfilippo
|
|
687
|
+
<sanfilippo.dario@gmail.com>";
|
|
688
|
+
declare acosh1 license "LGPL v3.0 license";
|
|
689
|
+
acosh1(x) = ADAA1(EPS, f, F1, x)
|
|
690
|
+
with {
|
|
691
|
+
EPS = 1.0 / ma.SR;
|
|
692
|
+
f(x_f) = Racosh(x_f);
|
|
693
|
+
F1(x_F1) = x_F1 * f(x_F1) - Rsqrt(x_F1 - 1.0) * Rsqrt(x_F1 + 1.0);
|
|
694
|
+
};
|
|
695
|
+
|
|
696
|
+
|
|
697
|
+
//-------`(aa.)acosh2`---------------------
|
|
698
|
+
//
|
|
699
|
+
// Second-order ADAA acosh().
|
|
700
|
+
//
|
|
701
|
+
// The domain of this function is ℝ >= 1.0; its theoretical range is ℝ >= 0.0.
|
|
702
|
+
//
|
|
703
|
+
// Note that this function is not accurate for low-frequency input signals.
|
|
704
|
+
// In that case, the first-order ADAA acosh() can be used.
|
|
705
|
+
//
|
|
706
|
+
// #### Usage
|
|
707
|
+
// ```
|
|
708
|
+
// _ : aa.acosh2 : _
|
|
709
|
+
// ```
|
|
710
|
+
//-------------------------------------------
|
|
711
|
+
declare acosh2 author "Dario Sanfilippo";
|
|
712
|
+
declare acosh2 copyright "Copyright (C) 2021 Dario Sanfilippo
|
|
713
|
+
<sanfilippo.dario@gmail.com>";
|
|
714
|
+
declare acosh2 license "LGPL v3.0 license";
|
|
715
|
+
acosh2(x) = ADAA2(EPS, f, F1, F2, x)
|
|
716
|
+
with {
|
|
717
|
+
EPS = 1.0 / ma.SR;
|
|
718
|
+
f(x_f) = Racosh(x_f);
|
|
719
|
+
F1(x_F1) = x_F1 * f(x_F1) - Rsqrt(x_F1 - 1.0) * Rsqrt(x_F1 + 1.0);
|
|
720
|
+
F2(x_F2) = .5 * x_F2 ^ 2.0 * f(x_F2) - .25 *
|
|
721
|
+
Rsqrt(x_F2 - 1.0) * Rsqrt(x_F2 + 1.0) * x_F2 -
|
|
722
|
+
.25 * Rlog(x_F2 + Rsqrt(x_F2 - 1.0) * Rsqrt(x_F2 + 1.0));
|
|
723
|
+
};
|
|
724
|
+
|
|
725
|
+
|
|
726
|
+
//-------`(aa.)sine`---------------------
|
|
727
|
+
//
|
|
728
|
+
// First-order ADAA sin().
|
|
729
|
+
//
|
|
730
|
+
// The domain of this function is ℝ; its theoretical range is ℝ.
|
|
731
|
+
//
|
|
732
|
+
// #### Usage
|
|
733
|
+
// ```
|
|
734
|
+
// _ : aa.sine : _
|
|
735
|
+
// ```
|
|
736
|
+
//----------------------------------------
|
|
737
|
+
declare sine author "Dario Sanfilippo";
|
|
738
|
+
declare sine copyright "Copyright (C) 2021 Dario Sanfilippo
|
|
739
|
+
<sanfilippo.dario@gmail.com>";
|
|
740
|
+
declare sine license "LGPL v3.0 license";
|
|
741
|
+
sine(x) = ADAA1(EPS, f, F1, x)
|
|
742
|
+
with {
|
|
743
|
+
EPS = 1.0 / ma.SR;
|
|
744
|
+
f(x_f) = sin(x_f);
|
|
745
|
+
F1(x_F1) = -1.0 * cos(x_F1);
|
|
746
|
+
};
|
|
747
|
+
|
|
748
|
+
|
|
749
|
+
//-------`(aa.)sine2`---------------------
|
|
750
|
+
//
|
|
751
|
+
// Second-order ADAA sin().
|
|
752
|
+
//
|
|
753
|
+
// The domain of this function is ℝ; its theoretical range is ℝ.
|
|
754
|
+
//
|
|
755
|
+
// #### Usage
|
|
756
|
+
// ```
|
|
757
|
+
// _ : aa.sine2 : _
|
|
758
|
+
// ```
|
|
759
|
+
//----------------------------------------
|
|
760
|
+
declare sine2 author "Dario Sanfilippo";
|
|
761
|
+
declare sine2 copyright "Copyright (C) 2021 Dario Sanfilippo
|
|
762
|
+
<sanfilippo.dario@gmail.com>";
|
|
763
|
+
declare sine2 license "LGPL v3.0 license";
|
|
764
|
+
sine2(x) = ADAA2(EPS, f, F1, F2, x)
|
|
765
|
+
with {
|
|
766
|
+
EPS = 1.0 / ma.SR;
|
|
767
|
+
f(x_f) = sin(x_f);
|
|
768
|
+
F1(x_F1) = 1.0 - cos(x_F1);
|
|
769
|
+
F2(x_F2) = sin(x_F2) - x_F2 * cos(x_F2);
|
|
770
|
+
};
|
|
771
|
+
|
|
772
|
+
|
|
773
|
+
//-------`(aa.)arcsin`---------------------
|
|
774
|
+
//
|
|
775
|
+
// First-order ADAA asin().
|
|
776
|
+
//
|
|
777
|
+
// The domain of this function is [-1.0, 1.0]; its theoretical range is
|
|
778
|
+
// [-π/2.0; π/2.0].
|
|
779
|
+
//
|
|
780
|
+
// #### Usage
|
|
781
|
+
// ```
|
|
782
|
+
// _ : aa.arcsin : _
|
|
783
|
+
// ```
|
|
784
|
+
//------------------------------------------
|
|
785
|
+
declare arcsin author "Dario Sanfilippo";
|
|
786
|
+
declare arcsin copyright "Copyright (C) 2021 Dario Sanfilippo
|
|
787
|
+
<sanfilippo.dario@gmail.com>";
|
|
788
|
+
declare arcsin license "LGPL v3.0 license";
|
|
789
|
+
arcsin(x) = ADAA1(EPS, f, F1, x)
|
|
790
|
+
with {
|
|
791
|
+
EPS = 1.0 / ma.SR;
|
|
792
|
+
f(x_f) = Rasin(x_f);
|
|
793
|
+
F1(x_F1) = x_F1 * f(x_F1) + Rsqrt(1.0 - x_F1 ^ 2.0) + const
|
|
794
|
+
with {
|
|
795
|
+
const = -1.0; // for F1(0) = 0 to minimise precision loss
|
|
796
|
+
};
|
|
797
|
+
};
|
|
798
|
+
|
|
799
|
+
|
|
800
|
+
//-------`(aa.)arcsin2`---------------------
|
|
801
|
+
//
|
|
802
|
+
// Second-order ADAA asin().
|
|
803
|
+
//
|
|
804
|
+
// The domain of this function is [-1.0, 1.0]; its theoretical range is
|
|
805
|
+
// [-π/2.0; π/2.0].
|
|
806
|
+
//
|
|
807
|
+
// Note that this function is not accurate for low-frequency input signals.
|
|
808
|
+
// In that case, the first-order ADAA asin() can be used.
|
|
809
|
+
//
|
|
810
|
+
// #### Usage
|
|
811
|
+
// ```
|
|
812
|
+
// _ : aa.arcsin2 : _
|
|
813
|
+
// ```
|
|
814
|
+
//------------------------------------------
|
|
815
|
+
declare arcsin2 author "Dario Sanfilippo";
|
|
816
|
+
declare arcsin2 copyright "Copyright (C) 2021 Dario Sanfilippo
|
|
817
|
+
<sanfilippo.dario@gmail.com>";
|
|
818
|
+
declare arcsin2 license "LGPL v3.0 license";
|
|
819
|
+
arcsin2(x) = ADAA2(EPS, f, F1, F2, x)
|
|
820
|
+
with {
|
|
821
|
+
EPS = 1.0 / ma.SR;
|
|
822
|
+
f(x_f) = Rasin(x_f);
|
|
823
|
+
F1(x_F1) = x_F1 * f(x_F1) + Rsqrt(1.0 - x_F1 ^ 2.0) + const
|
|
824
|
+
with {
|
|
825
|
+
const = -1.0; // for F1(0) = 0 to minimise precision loss
|
|
826
|
+
};
|
|
827
|
+
F2(x_F2) = .25 * (Rsqrt(1.0 - x_F2 ^ 2.0) * x_F2 +
|
|
828
|
+
(2.0 * x_F2 ^ 2.0 - 1.0) * f(x_F2));
|
|
829
|
+
};
|
|
830
|
+
|
|
831
|
+
|
|
832
|
+
//-------`(aa.)tangent`---------------------
|
|
833
|
+
//
|
|
834
|
+
// First-order ADAA tan().
|
|
835
|
+
//
|
|
836
|
+
// The domain of this function is [-π/2.0; π/2.0]; its theoretical range is ℝ.
|
|
837
|
+
//
|
|
838
|
+
// #### Usage
|
|
839
|
+
// ```
|
|
840
|
+
// _ : aa.tangent : _
|
|
841
|
+
// ```
|
|
842
|
+
//------------------------------------------
|
|
843
|
+
declare tangent author "Dario Sanfilippo";
|
|
844
|
+
declare tangent copyright "Copyright (C) 2021 Dario Sanfilippo
|
|
845
|
+
<sanfilippo.dario@gmail.com>";
|
|
846
|
+
declare tangent license "LGPL v3.0 license";
|
|
847
|
+
tangent(x) = ADAA1(EPS, f, F1, x)
|
|
848
|
+
with {
|
|
849
|
+
EPS = 1.0 / ma.SR;
|
|
850
|
+
f(x_f) = Rtan(x_f);
|
|
851
|
+
F1(x_F1) = -1.0 * Rlog(cos(x_F1));
|
|
852
|
+
};
|
|
853
|
+
|
|
854
|
+
|
|
855
|
+
//-------`(aa.)atanh1`---------------------
|
|
856
|
+
//
|
|
857
|
+
// First-order ADAA atanh().
|
|
858
|
+
//
|
|
859
|
+
// The domain of this function is ]-1.0; 1.0[; its theoretical range is ℝ.
|
|
860
|
+
//
|
|
861
|
+
// #### Usage
|
|
862
|
+
// ```
|
|
863
|
+
// _ : aa.atanh1 : _
|
|
864
|
+
// ```
|
|
865
|
+
//------------------------------------------
|
|
866
|
+
declare atanh1 author "Dario Sanfilippo";
|
|
867
|
+
declare atanh1 copyright "Copyright (C) 2021 Dario Sanfilippo
|
|
868
|
+
<sanfilippo.dario@gmail.com>";
|
|
869
|
+
declare atanh1 license "LGPL v3.0 license";
|
|
870
|
+
atanh1(x) = ADAA1(EPS, f, F1, x)
|
|
871
|
+
with {
|
|
872
|
+
EPS = 1.0 / ma.SR;
|
|
873
|
+
f(x_f) = Ratanh(x_f);
|
|
874
|
+
F1(x_F1) = .5 * Rlog(1.0 - x_F1 ^ 2.0) + x_F1 * f(x_F1);
|
|
875
|
+
};
|
|
876
|
+
|
|
877
|
+
|
|
878
|
+
//-------`(aa.)atanh2`---------------------
|
|
879
|
+
//
|
|
880
|
+
// Second-order ADAA atanh().
|
|
881
|
+
//
|
|
882
|
+
// The domain of this function is ]-1.0; 1.0[; its theoretical range is ℝ.
|
|
883
|
+
//
|
|
884
|
+
// #### Usage
|
|
885
|
+
// ```
|
|
886
|
+
// _ : aa.atanh2 : _
|
|
887
|
+
// ```
|
|
888
|
+
//------------------------------------------
|
|
889
|
+
declare atanh2 author "Dario Sanfilippo";
|
|
890
|
+
declare atanh2 copyright "Copyright (C) 2021 Dario Sanfilippo
|
|
891
|
+
<sanfilippo.dario@gmail.com>";
|
|
892
|
+
declare atanh2 license "LGPL v3.0 license";
|
|
893
|
+
atanh2(x) = ADAA2(EPS, f, F1, F2, x)
|
|
894
|
+
with {
|
|
895
|
+
EPS = 1.0 / ma.SR;
|
|
896
|
+
f(x_f) = Ratanh(x_f);
|
|
897
|
+
F1(x_F1) = .5 * Rlog(1.0 - x_F1 ^ 2.0) + x_F1 * f(x_F1);
|
|
898
|
+
F2(x_F2) = .5 * x_F2 ^ 2.0 * f(x_F2) + x_F2 / 2.0 + .25 *
|
|
899
|
+
Rlog(1.0 - x_F2) - .25 * Rlog(1.0 + x_F2);
|
|
900
|
+
};
|