1. Changes
---------- 1.1 The anonymous put/get cells are now initialized to 0 at the start of every filter run. Previously, they retained any values left over from a previous run. This may affect the operation of some filters that depended on such uninitialized values. 1.2 In Advanced Edit Mode, the symbol table dump is now displayed only if the 'Dump SDL' checkbox is checked during the Codegen phase. 2. Bug Fixes ------------ 2.1 rnd(a,b) can now return any value in the range a to b, inclusive. Previously, it always returned a value in the range a to b-1. Also, rnd(a,b) now returns a value in the range [b,a] if a > b. 3. New Features --------------- 3.1 The Filter Factory built-in function rst(n) is now implemented in FM. Calling rst(n) sets the pseudo-random number generator to a new state which is a function of both the value of 'n' and the previous state of the pseudo-random number generator. The C run-time library routine srand(1) is implicitly called at the start of each filter run to set the pseudo-random number generator to a fixed known state, so the result of each run with otherwise identical parameters will generally produce exactly the same result. If you want the result to be different on each run, then call rst(n) with some unpredictable value of 'n'; e.g., call rst(clock()) to seed the pseudo-random number generator from the elapsed time clock; or call rst(ctl(k)) to seed the pseudo-random number generator with the current value of control k; etc. 3.2 When importing a *.8bf file, FM now honors Michael Johannhanwahr's "Protect" flag in the PARM resource, and will not import the filter if this flag is set. (Plugin Manager 2.0 uses this flag to prevent casual users from viewing the filter source code.) |