Analytica Release Notes/Changes in Patch Build 4.4.4

Revision as of 16:45, 5 November 2012 by Lchrisman (talk | contribs) (identity matrix)

<< What's new in Analytica 4.4

This page lists changes that have been incorporated into the 4.4.4 patch release since the 4.4.3 patch release. In pages like What's new in Analytica 4.4?, we usually only list enhancements, not small bug fixes like the ones listed here. But because this is a patch release, and its only purpose is to provide fixes to lots of small bugs, we list them here.

Many of the fixes here are bugs were found to be new to the 4.4.3 patch. The 4.4.3 patch was an extensive patch release, with a very large number of fixes. The 4.4.4 is a much smaller one, improving on that patch.

Instabilities (crashes)

  • Fixed crash that occurred when matching records in the Uptime model. Requires a very special and complex set of circumstances to be present to reproduce.
  • Fixed a bug that caused Analytica to hang when SplitText was called with an array-valued parameter.
  • A crash occurred while trying to add an item to an index list-of-labels that has a ProbTable child.
  • A crash occurred when trying to view a DetermTable in expr mode after viewing its domain.
  • A crash when viewing the result of a multi-dimensional array with zero-length indexes, totals checked, and some other oddities.
  • A crash after deleting a module via typescript when object window is open.

Engine and Evaluation

  • The All in «module» syntax in [[DefineOptimization] was not parsing in 4.4.3. This has been fixed.
  • A node with CachingMethod is set to "Release when children computed" was being computed twice, when it should have been computed a single time.
  • The Npv function incorrectly reports "The second parameter, values, should be numeric, but the array passed contains a non-numeric value at Time=0..." when the array passed is a zero-length array.
  • The EvaluateScript command is supposed to consume any typescript output, including any error message. Error messages and some output (e.g., when creating an object) was not being grabbed in 4.4.3.
  • When using SubTable(A,fulDeterm:true) to obtain the contents of a DetermTable that has been loaded but not yet viewed or evaluated, the result was not right in 4.4.3. Some cells are blank where they should have zeroes, etc.
  • A certain DetermTable was evaluating to Undefined if its edit table has never been viewed since the model was loaded.
  • A certain DetermTable was not showing correctly until the model was saved and re-opened (when the Domain acts as self-index preference was checked).
  • In a certain model, a circular dependency is reported in the typescript when the model is loaded, but no circular dependency exists.
  • The result of a comparison (e.g., B=1 or B>1) no longer drops indexes when a zero-length index is present. Similarly, the evaluation of Table(zero_len,In1) now preserves In1 in the result.
  • The result of Concat([A],[B]), where Aand B are indexed by I, should be an array indexed by I and .K. When I is zero-length, the .K was missing, which would also cause any subsequent expression using res.K to have an error.
  • LogNormal(median:10%,mean:1%) crashes Analytica.
  • Uniform(date1,date2), where date1 and date2 are date-time numbers, now returns a sample of date-time numbers (not just numbers). This makes it convenient to pick a random date between two given dates without having to worry about number formatting (this applies just to the Uniform distribution, not to all distributions).
  • Preliminary versions of two new functions, SpreadsheetInfo and SpreadsheetSetInfo, have been added. They are present but not exposed, and targeted for release with 4.5. Until they are made official in 4.5, they are subject to change.
  • After duplicating a module containing a computed index and an edit table on that index, and then changing the length of the duplicated index, the duplicated table didn't splice correctly.

File Saving and Loading

  • In many models, the reformVal and reformDef attributes (which are used by Analytica internally to remember the pivot of edit and result tables) contain identifiers that don't exist any more in the model. When those models are loaded, those lines cause syntax errors that are reported in the typescript window. These don't impact anything, but they are confusing for users, so they have now been suppressed.
  • If you load a model created in Analytica 4.5 into 4.4.3, it fails to report that "this model was created in a newer version".
  • Immediately after adding a linked module to a new model, the File→Save menu option appears to save but doesn't ask for a filename. Apparenty the module was marked dirty (but shouldn't have been) and the model itself was not marked dirty (but should have been).

Influence Diagrams

  • When you are in arrow-drawing mode when an error occurs, pressing [Edit Definition] would needlessly change out of arrow mode to edit mode.
  • When adding variables to a list by drawing arrows, sometimes the title is not treated as a handle (until the file is saved).

Result Tables and Graphs

  • When a sample contains some «null» values, the Min and Max statistics used to display as «null». This has been changed to display the Min and Max when the «null» values are ignored.
  • A bar graph with manual axis scaling was coming out blank in 4.4.3.

Clipboard and OLE Linking

  • When copying multiple nodes from one module to another, if an identifier appears in the TableCellDefault ("Cell Default") attribute of one object, and that object is also being copied, the identifier is now updated so as to preserve the same relative relationship that existed originally.
  • When the target table of an OLE link uses a computed index which itself depends on an OLE link from the spreadsheet (such as is the case with the "trick" demonstrated OLE Linking), the data sometimes did not refresh correctly. The problem is related to the order in which OLE links are refreshed. To make this reliable, Analytica 4.4.4 now ensures that links are refreshed in an order consistent with the dependency ordering between variables.
  • A changes to the UpdateLink attribute from typescript or a button script would cause the attribute to change be a "Automatic" link (even if you were setting its value to 3, which should be manual).
  • A crash when you try to OLE link to a table that is indexed by a domain index and which has been previous pivoted.

Libraries and Example Models

  • The CallOption and PutOption functions in the Financial Library would return NaN when the time to expiration is zero and the stock price equals the strike price.

Crash Recovery

  • Certain changes to domain attributes were not correctly recovered following a crash and crash recovery.

Typescript

  • The Export command was not using the number format for the object being exported.

Windowing

  • When you leave window maximized mode after loading a model that had been built by someone in maximized mode, the unmaximized windows would open very small.

User Guide

  • Added info on how to create an identity matrix (@i=@j and unit vector Array(i,1) to the section on matrices.

ADE

  • When you use CAObject::GetAttribute("value") or CAObject::GetAttribute("probValue") to get the mid- or sample-value of a variable, and an evaluation error occurs when evaluating it, it was returning ErrorCode==1 ("Unimplemented"). The ErrorCode was wrong, it should have been (and now is) 62 ("Error evaluating expression").
Comments


You are not allowed to post comments.