diff --git a/mkdocs/docs/manual/options.md b/mkdocs/docs/manual/options.md index 7b7056876f..a891106feb 100644 --- a/mkdocs/docs/manual/options.md +++ b/mkdocs/docs/manual/options.md @@ -1,5 +1,5 @@ # Faust Compiler Options -## FAUST compiler version 2.72.13 +## FAUST compiler version 2.74.6 ~~~faust-options usage : faust [options] file1 [file2 ...]. where options represent zero or more compiler options @@ -33,6 +33,7 @@ usage : faust [options] file1 [file2 ...]. -double --double-precision-floats use double precision floats for internal computations. -quad --quad-precision-floats use quad precision floats for internal computations. -fx --fixed-point use fixed-point for internal computations. + -fx-size --fixed-point-size fixed-point number total size in bits (-1 is used to generate a unique fixpoint_t type). -es 1|0 --enable-semantics 1|0 use enable semantics when 1 (default), and simple multiplication otherwise. -lcc --local-causality-check check causality also at local level. -light --light-mode do not generate the entire DSP API. @@ -41,11 +42,8 @@ usage : faust [options] file1 [file2 ...]. -fp --full-parentheses always add parentheses around binops. -cir --check-integer-range check float to integer range conversion. -exp10 --generate-exp10 pow(10,x) replaced by possibly faster exp10(x). - -os --one-sample generate one sample computation (same as -os0). - -os0 --one-sample0 generate one sample computation (0 = separated control). - -os1 --one-sample1 generate one sample computation (1 = separated control and DSP struct). - -os2 --one-sample2 generate one sample computation (2 = separated control and DSP struct. Separation in short and long delay lines). - -os3 --one-sample3 generate one sample computation (3 = like 2 but with external memory pointers kept in the DSP struct). + -os --one-sample generate one sample computation. + -ec --external-control separated 'control' and 'compute' functions. -it --inline-table inline rdtable/rwtable code in the main class. -cm --compute-mix mix in outputs buffers. -ct --check-table check rtable/rwtable index range and generate safe access code [0/1: 1 by default]. @@ -56,7 +54,10 @@ usage : faust [options] file1 [file2 ...]. -mdd --max-dense-delay use a dense delay up to max delay (if enough density) and a ring buffer delay above (ocpp only, default 1024). -mdy --min-density minimal density (100*number of delays/max delay) to use a dense delays (ocpp only, default 33). -dlt --delay-line-threshold use a mask-based ring buffer delays up to max delay and a select based ring buffers above (default INT_MAX samples). - -mem --memory-manager allocate static in global state using a custom memory manager. + -mem --memory-manager allocations done using a custom memory manager. + -mem1 --memory-manager1 allocations done using a custom memory manager, using the iControl/fControl and iZone/fZone model. + -mem2 --memory-manager2 use iControl/fControl, iZone/fZone model and no explicit memory manager. + -mem3 --memory-manager3 use iControl/fControl, iZone/fZone model and no explicit memory manager with access as function parameters. -ftz --flush-to-zero code added to recursive signals [0:no (default), 1:fabs based, 2:mask based (fastest)]. -rui --range-ui whether to generate code to constraint vslider/hslider/nentry values in [min..max] range. -fui --freeze-ui whether to freeze vslider/hslider/nentry to a given value (init value by default). @@ -65,7 +66,7 @@ usage : faust [options] file1 [file2 ...]. -inpl --in-place generates code working when input and output buffers are the same (scalar mode only). -vec --vectorize generate easier to vectorize code. -vs --vec-size size of the vector (default 32 samples). - -lv --loop-variant [0:fastest, fixed vector size and a remaining loop (default), 1:simple, variable vector size]. + -lv --loop-variant [0:fastest, fixed vector size and a remaining loop (default), 1:simple, variable vector size, 2:fixed, fixed vector size]. -omp --openmp generate OpenMP pragmas, activates --vectorize option. -pl --par-loop generate parallel loops in --openmp mode. -sch --scheduler generate tasks and use a Work Stealing scheduler, activates --vectorize option. @@ -81,7 +82,7 @@ usage : faust [options] file1 [file2 ...]. -vhdl-trace --vhdl-trace activate trace. -vhdl-float --vhdl-float uses IEEE-754 format for samples instead of fixed point. -vhdl-components --vhdl-components path to a file describing custom components for the VHDL backend. - -fpga-mem --fpga-mem FPGA block ram max size, used in -os2/-os3 mode. + -fpga-mem --fpga-mem FPGA block ram max size, used in -mem1/-mem2 mode. -wi --widening-iterations number of iterations before widening in signal bounding. -ni --narrowing-iterations number of iterations before stopping narrowing in signal bounding. ~~~ diff --git a/quick-reference/chapters/installation.tex b/quick-reference/chapters/installation.tex index 6ccc224195..9ca26df2aa 100644 --- a/quick-reference/chapters/installation.tex +++ b/quick-reference/chapters/installation.tex @@ -1,16 +1,15 @@ -2.72.13\chapter{Compiling and installing \faust} +\chapter{Compiling and installing \faust} \label{install} - -The \faust source distribution \lstinline'faust-2.72.13.tar.gz' can be downloaded from GitHub (\myurl{https://github.com/grame-cncm/faust/releases}). +The \faust source distribution \lstinline'faust-2.74.6.tar.gz' can be downloaded from GitHub (\myurl{https://github.com/grame-cncm/faust/releases}). \section{Organization of the distribution} The first thing is to decompress the downloaded archive. \begin{lstlisting} - tar xzf faust-2.72.13.tar.gz + tar xzf faust-2.74.6.tar.gz \end{lstlisting} -The resulting \lstinline'faust-2.72.13/' folder should contain the following elements: +The resulting \lstinline'faust-2.74.6/' folder should contain the following elements: \begin{tabular}{ll} \lstinline'architecture/' &\faust libraries and architecture files\\ @@ -28,18 +27,18 @@ \section{Organization of the distribution} \section{Compilation} \faust has no dependencies outside standard libraries. Therefore the compilation should be straightforward. There is no configuration phase, to compile the \faust compiler simply do : \begin{lstlisting} - cd faust-2.72.13/ + cd faust-2.74.6/ make \end{lstlisting} If the compilation was successful you can test the compiler before installing it: \begin{lstlisting} - [cd faust-2.72.13/] + [cd faust-2.74.6/] ./build/bin/faust -v \end{lstlisting} It should output: \begin{lstlisting} -FAUST Version 2.72.13 +FAUST Version 2.74.6 Embedded backends: DSP to C DSP to C++ @@ -50,6 +49,7 @@ \section{Compilation} DSP to Java DSP to JAX DSP to Julia + DSP to JSFX DSP to old C++ DSP to Rust DSP to WebAssembly (wast/wasm) @@ -58,7 +58,7 @@ \section{Compilation} Then you can also try to compile one of the examples : \begin{lstlisting} - [cd faust-2.72.13/] + [cd faust-2.74.6/] ./build/bin/faust examples/generator/noise.dsp \end{lstlisting} It should produce some C++ code on the standard output. @@ -66,12 +66,12 @@ \section{Compilation} \section{Installation} You can install \faust with: \begin{lstlisting} - [cd faust-2.72.13/] + [cd faust-2.74.6/] sudo make install \end{lstlisting} or \begin{lstlisting} - [cd faust-2.72.13/] + [cd faust-2.74.6/] su make install \end{lstlisting} diff --git a/quick-reference/faust-quick-reference.pdf b/quick-reference/faust-quick-reference.pdf index 91e91b1d77..a82608ebfd 100644 Binary files a/quick-reference/faust-quick-reference.pdf and b/quick-reference/faust-quick-reference.pdf differ diff --git a/quick-reference/faust-quick-reference.tex b/quick-reference/faust-quick-reference.tex index e670766407..27e262a9c2 100644 --- a/quick-reference/faust-quick-reference.tex +++ b/quick-reference/faust-quick-reference.tex @@ -134,9 +134,9 @@ % \titlepic{ % \includegraphics[width=15cm]{images/bandeau-faust} % } -\title{\Huge\color{yoheader}FAUST Quick Reference\\\Large(version 2.72.13)} +\title{\Huge\color{yoheader}FAUST Quick Reference\\\Large(version 2.74.6)} \author{\textsc{GRAME}\\Centre National de Cr\'eation Musicale} -\date{March 31, 2024} +\date{June 18, 2024} \railalias{recur}{$\sim$} \railalias{lbrace}{\{}