|
Name |
|
Date |
Size |
#Lines |
LOC |
| .. | | 03-May-2022 | - |
| boxes/ | H | 29-Oct-2021 | - | 2,538 | 1,685 |
| documentator/ | H | 29-Oct-2021 | - | 4,430 | 2,462 |
| draw/ | H | 29-Oct-2021 | - | 5,190 | 2,946 |
| errors/ | H | 29-Oct-2021 | - | 407 | 248 |
| evaluate/ | H | 29-Oct-2021 | - | 2,084 | 1,190 |
| extended/ | H | 29-Oct-2021 | - | 2,729 | 1,742 |
| generator/ | H | 03-May-2022 | - | 66,098 | 45,717 |
| normalize/ | H | 29-Oct-2021 | - | 1,841 | 1,068 |
| parallelize/ | H | 29-Oct-2021 | - | 1,315 | 763 |
| parser/ | H | 29-Oct-2021 | - | 9,921 | 7,280 |
| patternmatcher/ | H | 29-Oct-2021 | - | 798 | 565 |
| propagate/ | H | 29-Oct-2021 | - | 904 | 541 |
| signals/ | H | 29-Oct-2021 | - | 6,060 | 4,123 |
| tlib/ | H | 29-Oct-2021 | - | 4,199 | 2,353 |
| transform/ | H | 29-Oct-2021 | - | 2,457 | 1,732 |
| utils/ | H | 29-Oct-2021 | - | 714 | 363 |
| Doxyfile | H A D | 29-Oct-2021 | 62.4 KiB | 1,514 | 1,087 |
| README.md | H A D | 29-Oct-2021 | 9.9 KiB | 235 | 122 |
| dsp_factory.hh | H A D | 29-Oct-2021 | 6.5 KiB | 193 | 118 |
| garbageable.hh | H A D | 29-Oct-2021 | 1.8 KiB | 61 | 27 |
| global.cpp | H A D | 29-Oct-2021 | 29.4 KiB | 885 | 697 |
| global.hh | H A D | 29-Oct-2021 | 17.7 KiB | 623 | 457 |
| libcode.cpp | H A D | 29-Oct-2021 | 113.9 KiB | 3,812 | 3,019 |
| lock_api.cpp | H A D | 29-Oct-2021 | 1.5 KiB | 44 | 18 |
| lock_api.hh | H A D | 29-Oct-2021 | 1.3 KiB | 31 | 6 |
| main.cpp | H A D | 29-Oct-2021 | 1.7 KiB | 56 | 27 |
README.md
1% man(1) Version 2.37.3 (22-October-2021) | Faust man page
2
3NAME
4====
5
6Faust - DSP to C/C++, CSharp, DLang, Interpreter, Java, LLVM IR, Rust, SOUL, and WebAssembly (wast/wasm)
7
8SYNOPSIS
9========
10
11 **faust** \[options] file1 \[file2 ...]
12
13DESCRIPTION
14===========
15
16Faust (Functional Audio Stream) is a functional programming language specifically designed for real-time signal processing and synthesis. Faust targets high-performance signal processing applications and audio plug-ins for a variety of platforms and standards.
17
18OPTIONS
19===========
20
21Input options:
22---------------------------------------
23
24 **-a** \<file> wrapper architecture file.
25
26 **-i** **--inline-architecture-files** inline architecture files.
27
28 **-A** \<dir> **--architecture-dir** \<dir> add the directory \<dir> to the architecture search path.
29
30 **-I** \<dir> **--import-dir** \<dir> add the directory \<dir> to the import search path.
31
32 **-L** \<file> **--library** \<file> link with the LLVM module \<file>.
33
34 **-t** \<sec> **--timeout** \<sec> abort compilation after \<sec> seconds (default 120).
35
36
37Output options:
38---------------------------------------
39
40 **-o** \<file> the output file.
41
42 **-e** **--export-dsp** export expanded DSP (with all included libraries).
43
44 **-uim** **--user-interface-macros** add user interface macro definitions to the output code.
45
46 **-xml** generate an XML description file.
47
48 **-json** generate a JSON description file.
49
50 **-O** \<dir> **--output-dir** \<dir> specify the relative directory of the generated output code and of additional generated files (SVG, XML...).
51
52
53Code generation options:
54---------------------------------------
55
56 **-lang** \<lang> **--language** select output language,
57 'lang' should be c, cpp (default), csharp, dlang, fir, interp, java, julia, llvm, ocpp, rust, soul or wast/wasm.
58
59 **-single** **--single-precision-floats** use single precision floats for internal computations (default).
60
61 **-double** **--double-precision-floats** use double precision floats for internal computations.
62
63 **-quad** **--quad-precision-floats** use quad precision floats for internal computations.
64
65 **-fx** **--fixed-point** use fixed-point for internal computations.
66
67 **-es** 1|0 **--enable-semantics** 1|0 use enable semantics when 1 (default), and simple multiplication otherwise.
68
69 **-lcc** **--local-causality-check** check causality also at local level.
70
71 **-light** **--light-mode** do not generate the entire DSP API.
72
73 **-clang** **--clang** when compiled with clang/clang++, adds specific #pragma for auto-vectorization.
74
75 **-exp10** **--generate-exp10** pow(10,x) replaced by possibly faster exp10(x).
76
77 **-os** **--one-sample** generate one sample computation (same as -os0).
78
79 **-os0** **--one-sample0** generate one sample computation (0 = separated control).
80
81 **-os1** **--one-sample1** generate one sample computation (1 = separated control and DSP struct).
82
83 **-cm** **--compute-mix** mix in outputs buffers.
84
85 **-cn** \<name> **--class-name** \<name> specify the name of the dsp class to be used instead of mydsp.
86
87 **-scn** \<name> **--super-class-name** \<name> specify the name of the super class to be used instead of dsp.
88
89 **-pn** \<name> **--process-name** \<name> specify the name of the dsp entry-point instead of process.
90
91 **-mcd** \<n> **--max-copy-delay** \<n> threshold between copy and ring buffer implementation (default 16 samples).
92
93 **-dlt** \<n> **--delay-line-threshold** \<n> threshold between 'mask' and 'select' ring buffer implementation (default INT_MAX samples).
94
95 **-mem** **--memory** allocate static in global state using a custom memory manager.
96
97 **-ftz** \<n> **--flush-to-zero** \<n> code added to recursive signals [0:no (default), 1:fabs based, 2:mask based (fastest)].
98
99 **-rui** **--range-ui** whether to generate code to limit vslider/hslider/nentry values in [min..max] range.
100
101 **-inj** \<f> **--inject** \<f> inject source file \<f> into architecture file instead of compiling a dsp file.
102
103 **-scal** **--scalar** generate non-vectorized code.
104
105 **-inpl** **--in-place** generates code working when input and output buffers are the same (scalar mode only).
106
107 **-vec** **--vectorize** generate easier to vectorize code.
108
109 **-vs** \<n> **--vec-size** \<n> size of the vector (default 32 samples).
110
111 **-lv** \<n> **--loop-variant** \<n> [0:fastest (default), 1:simple].
112
113 **-omp** **--openmp** generate OpenMP pragmas, activates --vectorize option.
114
115 **-pl** **--par-loop** generate parallel loops in --openmp mode.
116
117 **-sch** **--scheduler** generate tasks and use a Work Stealing scheduler, activates --vectorize option.
118
119 **-ocl** **--opencl** generate tasks with OpenCL (experimental).
120
121 **-cuda** **--cuda** generate tasks with CUDA (experimental).
122
123 **-dfs** **--deep-first-scheduling** schedule vector loops in deep first order.
124
125 **-g** **--group-tasks** group single-threaded sequential tasks together when -omp or -sch is used.
126
127 **-fun** **--fun-tasks** separate tasks code as separated functions (in -vec, -sch, or -omp mode).
128
129 **-fm** \<file> **--fast-math** \<file> use optimized versions of mathematical functions implemented in \<file>, use 'faust/dsp/fastmath.cpp' when file is 'def'.
130
131 **-mapp** **--math-approximation** simpler/faster versions of 'floor/ceil/fmod/remainder' functions.
132
133 **-ns** \<name> **--namespace** \<name> generate C++ or D code in a namespace \<name>.
134
135 **-vhdl** **--vhdl** output vhdl file.
136
137 **-wi** \<n> **--widening-iterations** \<n> number of iterations before widening in signal bounding.
138
139 **-ni** \<n> **--narrowing-iterations** \<n> number of iterations before stopping narrowing in signal bounding.
140
141
142Block diagram options:
143---------------------------------------
144
145 **-ps** **--postscript** print block-diagram to a postscript file.
146
147 **-svg** **--svg** print block-diagram to a svg file.
148
149 **-sd** **--simplify-diagrams** try to further simplify diagrams before drawing.
150
151 **-drf** **--draw-route-frame** draw route frames instead of simple cables.
152
153 **-f** \<n> **--fold** \<n> threshold to activate folding mode during block-diagram generation (default 25 elements).
154
155 **-fc** \<n> **--fold-complexity** \<n> complexity threshold to fold an expression in folding mode (default 2).
156
157 **-mns** \<n> **--max-name-size** \<n> threshold during block-diagram generation (default 40 char).
158
159 **-sn** **--simple-names** use simple names (without arguments) during block-diagram generation.
160
161 **-blur** **--shadow-blur** add a shadow blur to SVG boxes.
162
163
164Math doc options:
165---------------------------------------
166
167 **-mdoc** **--mathdoc** print math documentation of the Faust program in LaTeX format in a -mdoc folder.
168
169 **-mdlang** \<l> **--mathdoc-lang** \<l> if translation file exists (\<l> = en, fr, ...).
170
171 **-stripmdoc** **--strip-mdoc-tags** strip mdoc tags when printing Faust -mdoc listings.
172
173
174Debug options:
175---------------------------------------
176
177 **-d** **--details** print compilation details.
178
179 **-time** **--compilation-time** display compilation phases timing information.
180
181 **-flist** **--file-list** print file list (including libraries) used to eval process.
182
183 **-tg** **--task-graph** print the internal task graph in dot format.
184
185 **-sg** **--signal-graph** print the internal signal graph in dot format.
186
187 **-norm** **--normalized-form** print signals in normalized form and exit.
188
189 **-ct** **--check-table** check table index range and exit at first failure.
190
191 **-cat** **--check-all-table** check all table index range.
192
193 **-me** **--math-exceptions** check / for 0 as denominator and remainder, fmod, sqrt, log10, log, acos, asin functions domain.
194
195
196Information options:
197---------------------------------------
198
199 **-h** **--help** print this help message.
200
201 **-v** **--version** print version information and embedded backends list.
202
203 **-libdir** **--libdir** print directory containing the Faust libraries.
204
205 **-includedir** **--includedir** print directory containing the Faust headers.
206
207 **-archdir** **--archdir** print directory containing the Faust architectures.
208
209 **-dspdir** **--dspdir** print directory containing the Faust dsp libraries.
210
211 **-pathslist** **--pathslist** print the architectures and dsp library paths.
212
213
214Example:
215---------------------------------------
216
217faust **-a** jack-gtk.cpp -o myfx.cpp myfx.dsp
218
219SEE ALSO
220========
221
222Grame Faust site at: **<https://faust.grame.fr>**
223
224BUGS
225====
226
227Please report bugs to: **<https://github.com/grame-cncm/faust/issues>**
228
229AUTHOR
230======
231
232Copyright (C) 2002-2021, GRAME - Centre National de Creation Musicale.
233All rights reserved.
234
235