Added array calc support. This generalizes EPICS standard calc support in much the same way that the string calc support did, but with arrays instead of strings.
Added a python program to test string-calc software.
Interp support uses different genSub-record fields, and has acquired a mode switch and a success indicator. See calc/documentation/interp.README.
sCalcout record has two new functions:
interp.c, interp.db, interp.adl - no longer supports spline interpolation. Array length no longer limited to 2000 elements. Added range checking. Now the number of elements must be specified at load time, with the macro, N. Polynomial order is now forced to be in [0..10].
All databases have been converted to vdct.
Swait-record documentation added
New string operators '-|' and '|-' (delete first/last occurrence of substring).
Added arrayTest.c, a gensub-based support for producing unique arrays at runtime, e.g., for verifying that sscanRecord/saveData are storing data exactly as it was acquired. Also added arrayTest.db and arrayTest.adl.
Complete list of stringCalc functions, operators, and constants, with examples, is available as a set of medm displays, starting with the top-level display "calcExamples.adl". All medm displays that display calc expressions call up these doc displays.
stringCalc record now uses device support. Supplied soft device support allows the user to specify whether or not to wait for completion of the operation started by the OUT link.
EPICS base no longer contains the code required to check calc expressions for the sCalcout and transform records at boot time or DCT time. (At run time, the expressions are checked by sCalcPostfix.)
This is the first release of the synApps calc module. Version numbering for this module begins with 2.3 because this module was split from version 2.2 of the std module, and I wanted to retain the CVS histories of module contents.
This version is intended to build with EPICS base 3.14.5. Differences from software as previously released in std 2.2:interp.c, interp.db, interp.adl - now supports spline and polynomial interpolation.
subAve.c - registry stuff
Suggestions and Comments to: