linux: shared memory interface - link with librt
[supercollider.git] / HelpSource / Classes / NAryOpFunction.schelp
blob6765ff76d793c8bf6531ee82bd5268174c5e01e6
1 class::NAryOpFunction
2 summary::represent a n-ary oparation on a function
3 categories::Core
4 related::Classes/BinaryOpFunction, Classes/UnaryOpFunction, Classes/NAryOpStream, Classes/Pnaryop
6 description::
7 Operating on functions instead of numbers, what results is not a result of the calculation, but a structure that represents that calculation.
9 examples::
10 code::
11 // example
12 a = 0.8.linexp(0, 1, 40, 20000); // map (0..1) to exponentially to human frequency hearing range
13 a = { b }.linexp(0, 1, 40, 20000); // result is  a NAryOpFunction
14 b = 0.1;
15 a.value; // now it is evaluated, and the result is calculated
16 b = 0.5;
17 a.value; // again, with a different value.
20 code::
21 // sound example
23 var a = { 1.0.rand };
24 var b = a.linexp(0, 1, 40, 20000);
25 fork {
26         15.do {
27                 (instrument: \default, freq: b.value).play;
28                 0.3.wait;
29         }