Analytica 4.0 beta Release Notes

Revision as of 18:22, 9 March 2007 by Lchrisman (talk | contribs) (hyperlinks to table splicing)

(Back to Beta Tester Page)

The following Release Notes apply to Build 4.0.0.32.

Installation Notes

  • Installing 4.0 beta with 3.1 already installed seems to work fine. Both can co-exist. After the 4.0 install, the .ana file extension, and OLE linking, will use Analytica 4.0.
  • Uninstalling 3.x after 4.0 has been installed wipes out the 4.0 registry tree. After uninstalling 3.x, you will need to re-run the 4.0 installer.

Using Models from Analytica 3.1

Most models created in Analyica 3.1 should load and evaluate fine in 4.0. We hope beta testers will validate that 4.0 works with their pre-existing models and computes the same results (unless there is a good reason why the result should be different). Note that there are a couple areas where results are expected to be different:

  • Graphing: Many Graph Setup settings will not transfer to 4.0. For example, axis range settings are structured entirely differently in 4.0. So, some tweaking of graphs is to be expected.
  • Multiplication of 0*NaN and 0*INF: The results of multiplying a value by zero when that value is INF, -INF or NaN has changed from 3.1 to 4.0. Analytica 4.0 is now in accordance with the IEEE 754 Binary Floating Point Arithmetic standard, so that 0*NaN or 0*INF results in NaN. In 3.1 the result was zero. If your model took advantage of the old behavior to zero out NaNs or INFs, you may find many NaNs or Nulls in downstream results that were not there in 3.1. We advise keeping the "Show result warnings" preference on since a warning is issued if your model relies on the old behavior, and will pinpoint where this is occurring.

A more comprehensive set of issues is maintained at Changes in 4.0 that could impact 3.x models.

Not Working

  • Printing and Print Preview are not working well. We advise not printing for now, and we do not need you to report bugs related to printing or previewing at this time.
  • There may be some problems saving models in XML format, especially related to system variable settings. For important stuff, it is safest to stick with the default Analytica file format for now.

Changes in 4.0.0.37

The notes here are for the next beta build that is expected to be released. For the current beta build, see Analytica 4.0 beta Release Notes/4.0.0.34.

(straight bug fixes and minor textual changes not listed)

Engine

  • attrib of Obj: Returns NULL if attribute value is not defined. (Formerly returned Undefined)
  • Fixed bug in which local index objects were not being reclaimed.
  • Introduced the MetaIndex..Do construct.
  • Several bug fixes impacting Meta-Inference.

Graphing

  • External values from variables having an explicit domain (list, list-of-labels or index domain) can be shown in Symbol and Color roles (as categorical).
  • Pivot controls use Blank, rather than "No Index", when no option selected.
  • XYbutton.jpg is hidden in browse mode.
  • For J:=X Do expr, now iterates over IndexValue(X), not over the value of X which occurred previously. These differ when X has a self-index. The new functionality means you can use A[X=J] from within the body expr.
  • For a:=X Do expr now allows X to be a general expression, not just an index as was previously required. When an array, a iterates over all elements of X. When X is an identifier, For a:=X Do ...' and For a[ ]:=X Do ... are the same unless X has a self-index, in which case For a:=X Do ... iterates over IndexValue(X), while For a[]:=X Do... iterates over the main value of X, computed in context.

Tables

  • It is possible to specify a default value, specific to a table, to be used as the default value when new rows are added to the table. The table-specific value can be an array, with a different default for each column. This must be set via typescript. See Table Splicing
  • You can control the global atomic default used as the default for table cells when new cells are added (and a table-specific default does not exist). Default now is 0.0. Can use blank -- new cells show up blank. See Table Splicing
  • A table definition accepts blank cells. For example: Table(Time)( 1, ,2) -- in this example, the second cell is blank. When this evaluates, a warning is issued, and if ignored, the blank cell evaluates to Null.
  • Legacy tables having no commas are now parsed, and re-written to have commas. For example: Table(Time)(1 2 3) is rewritten as Table(Time)(1,2,3), so that legacy models that omitted commas are accepted.
  • Bug fix to often seen problem in which non-functional scroll bars appear on tables when window is maximized.

Libraries

  • The profiling library has been reworked to use VarTerms rather than string identifiers. This has the benefit that you can double click on the row header when looking at a report and hyperlink to the object named.

ADE

  • Access to hidden definitions via the ADE API has been restricted. There is now a new error code, CAEngine::ErrorCode == 70, indicating that the requested definition is hidden, which may be returned by CAObject::DefTable or CAObject::GetAttribute.

Previous Beta Builds

Analytica 4.0 beta Release Notes/4.0.0.34

Comments


You are not allowed to post comments.