Changes in 4.0 that could impact 3.x models
Syntactic Differences
For uses Index Values
(beginning 4.0.0.35)
When X is a self-indexed variable,
For j := X do expr
assigns j successively to be element of IndexValue(X). Formerly, in the 1-D self-indexed case, Analytica would assign j from the actual value of X (Mid or Sample). Note: If you really do want to iterate over the value of a self-indexed variable, rather than over its index, use:
For j[] := X do expr
Table syntax
(For builds 4.0.0.31 thru 4.0.0.34)
The Syntax for a Table (or ProbTable, DetermTable) is, and has always been:
Table(I,J)( expr1, expr2, expr3, ... )
with commas between each cell expression. However, Analytica 3.1 would accept expressions separated by spaces only, i.e.:
Table(I,J)( expr1 expr2 expr3 ... )
Analytica 4.0 no longer accepts tables definitions where the commas are missing.
Previous models that have created sensitivity nodes using the "Make Importance" feature may encounter this problem. The list of inputs index created by Analytica 3.1 and earlier did not have commas. The fix: edit the index definition using expression mode and insert commas between the table elements.
This incompatibility has been resolved in build 4.0.0.35 beta. Tables without commas are converted to tables with commas in that build.
Evaluation Differences
Multiplication of NaN or INF by zero
See Ana:IEEE 754 Binary Floating Point Arithmetic. In 3.1, (0*INF) or (0*NaN) returned 0. Now it returns NaN and issues a warning (if Show Result Warnings is on).
Enable comment auto-refresher