• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

boxes/H29-Oct-2021-2,5381,685

documentator/H29-Oct-2021-4,4302,462

draw/H29-Oct-2021-5,1902,946

errors/H29-Oct-2021-407248

evaluate/H29-Oct-2021-2,0841,190

extended/H29-Oct-2021-2,7291,742

generator/H03-May-2022-66,09845,717

normalize/H29-Oct-2021-1,8411,068

parallelize/H29-Oct-2021-1,315763

parser/H29-Oct-2021-9,9217,280

patternmatcher/H29-Oct-2021-798565

propagate/H29-Oct-2021-904541

signals/H29-Oct-2021-6,0604,123

tlib/H29-Oct-2021-4,1992,353

transform/H29-Oct-2021-2,4571,732

utils/H29-Oct-2021-714363

DoxyfileH A D29-Oct-202162.4 KiB1,5141,087

README.mdH A D29-Oct-20219.9 KiB235122

dsp_factory.hhH A D29-Oct-20216.5 KiB193118

garbageable.hhH A D29-Oct-20211.8 KiB6127

global.cppH A D29-Oct-202129.4 KiB885697

global.hhH A D29-Oct-202117.7 KiB623457

libcode.cppH A D29-Oct-2021113.9 KiB3,8123,019

lock_api.cppH A D29-Oct-20211.5 KiB4418

lock_api.hhH A D29-Oct-20211.3 KiB316

main.cppH A D29-Oct-20211.7 KiB5627

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