Version 0.5.6.xx consists of the following Builds: Build #1856 -- Version 0.5.6.xx -------------------------------- * Fix Bug In MFOs Not Initializing System Vars With Current Values Directory branches/bsmith/NewTypes: EXECMFN.C: In and , if there's a local HTS, copy current values of system vars to it. Move global to local PerTabData struc. EXTERNS.H: Move global to local PerTabData struc. MAIN.C: Move code to delete local HTS system vars to . PERTAB.H: PF_SQUAD.C: QF_VR.C: Move global to local PerTabData struc. SESSMAN.C: Move code to delete local HTS system vars to . SYSVARS.C: Define function to delete MFO system vars from their local HTSs. Build #1855 -- Version 0.5.6.xx -------------------------------- * Change (Ctrl-)PgUp/PgDn/Home/End To Adhere To CUA Better Directory branches/bsmith/NewTypes: EDITCTRL.H: Rename to . Define new message . EDITFCN.C: Pass PgUp, PgDn, Home, and End to the Session Manager. Rename to . SESSMAN.C: In , handle (Ctrl-)PgUp/PgDn/Home/End so that we keep track of what the EditCtrl is doing. Directory branches/bsmith/NewTypes/WineHQ: EDITCTRL.C: Change the behavior of (Ctrl-)PgUp/PgDn/Home/End to adhere to CUA better. Rename to . Implement to return the # lines per page. Build #1854 -- Version 0.5.6.xx -------------------------------- * Miscellaneous Changes Directory branches/bsmith/NewTypes: CONVERT.C: Don't convert ' ' to {space} when saving text in a workspace. CS_PARSE.Y: IMMEXEC.C: PL_PROC.C: In IF/WHILE stmts always compare ptr against NULL and value against 0. REBAR.C: Improve documentation in the language bar for the matrix operator. SC_FNOV.C: Include )FOP and )FOPS in the header. STRAND.C: Define which takes a argument. Split into common and . TOKENIZE.C: In IF/WHILE stmts always compare ptr against NULL and value against 0. Include "Hdr" in name of result of . In , use instead of . In , delete code to copy old to new as that's already done by . VER.RC: Increment version # to 0.5.6.xx. Directory branches/bsmith/NewTypes/Extensions/aplchars: UPD.BAT: Change %NMAKE% to nmake in case wcustomize.bat hasn't been run as yet. Directory branches/bsmith/NewTypes/MediaWiki/extensions: APL.CSS: Change to as that's the correct name. Build #1853 -- Version 0.5.6.xx -------------------------------- * Miscellaneous DEBUG Changes Directory branches/bsmith/NewTypes: CRASH.C: When displaying the Crash Window MessageBox, use the same window handle as the parent so we might avoid keyboard lock within the MessageBox. EXECFNS.C: Whenever we are about to signal a LIMIT ERROR due to an unrecognized error in a more deeply nested function, within <#ifdef DEBUG/#endif> statements, trigger a Debug Break and display info about the exception. Build #1852 -- Version 0.5.6.xx -------------------------------- * Serialize Linked List Code Directory branches/bsmith/NewTypes: EDITFCN.C: In , at the end when we're updating the linked list of Function Editor windows, serialize it. Build #1851 -- Version 0.5.6.xx -------------------------------- * Improve Documentation In The Language Bar For The Matrix Operator Directory branches/bsmith/NewTypes: REBAR.C: Improve documentation in the language bar for the matrix operator. Build #1850 -- Version 0.5.6.xx -------------------------------- * Fix Bug In TabCtrl When )LOAD Fails With Error In Workspace File Directory branches/bsmith/NewTypes: TABCTRL.C: In , if a )LOAD fails due to an error in the workspace file and has not been set as yet, set it to the index of the current tab before deleting the tab that failed. In IF/WHILE stmts always compare ptr against NULL and value against 0. In , if there are still tabs, use on the outgoing tan thread id. Otherwise, use to terminate the last TabCtrl thread. Build #1849 -- Version 0.5.6.xx -------------------------------- * Fix Various RefCnt Bugs Directory branches/bsmith/NewTypes: PARSELINE.C: Pass new flag to to mark whether or not the RefCnt of the named Fop should be incremented. In , act on new flag. SC_LOAD.C: In , do not increment the RefCnt if the object loaded already exists in the workspace. In , handle the case where the outgoing object is a Function Array. In , accept new flag which marks whether or not the object loaded already exists in the workspace. TOKENIZE.C: In , note whether or not the object loaded by already exists in the workspace. If it does, don't increment the RefCnt that matches the decrement RefCnt in WORKSPACE.H: Update the typedef for to include the above-mentioned new flag. YYFNS.C: In , pass a flag to indicate not to increment the RefCnt for the named functions in a Train. Build #1848 -- Version 0.5.6.xx -------------------------------- * Use A Local HTS For The Dyadic Squad MFO * Fix Bug When Saving An Edited AFO Directory branches/bsmith/NewTypes: EXECMFN.C: Delete parameter passed to as it is no longer needed. Use a local HSHTABSTR for the Dyadic Squad Magic Function/Operator. Move the local HSHTABSTRs for MFOs from to a global in . EXTERNS.H: PERTAB.H: Move the local HSHTABSTRs for MFOs from to a global in . MAIN.C: Set parent window of Crash Control Window to NULL so as to avoid locking out the keyboard. At the end of , attempt to delete all of the tabs. At the end of , delete the sys vars for the MFO local structs. PF_SQUAD.C: Use the global HTS for the Dyadic Squad MFO. QF_VR.C: Use the global HTS for the Monadic []VR MFO. SAVEFCN.C: Delete parameter passed to as it is no longer needed. In when the caller is , save the new as a window long ptr so as to provide a previous HGLOBAL when AFOs are edited. SESSMAN.C: Delete parameter passed to as it is no longer needed. Delete call to for local HTS structs as they are handled at the end of . SYMTAB.C: Delete parameter passed to as it is no longer needed. TABCTRL.C: In , handle message. Use instead of as the former doesn't need a valid thread id. Build #1847 -- Version 0.5.6.xx -------------------------------- * Fix Bug In Magic Function For The Permanent Of A Zero Column Matrix Directory branches/bsmith/NewTypes: EXECMFN.H: Delete as it's no longer needed. MF_DOT.H: Rewrite MF lines to new format. Rewrite to use Combinatorial Operator instead of . Delete as it's no longer needed. Fix bug in to handle zero column matrices. Build #1846 -- Version 0.5.6.xx -------------------------------- * Fix Incorrect SYNTAX ERRORs Directory branches/bsmith/NewTypes: PARSELINE.C: PARSELINE.H: Fix SYNTAX bug with "LO {DOP} RO A" where the Binding Strength (BS) between "}" and "F" was lower than the BS between "F" and "A", and so "F A" was evaluated first. Fix SYNTAX bug with "(LO {DOP} RO) A" where the Reduction of "DOP" and "FR" to "MR" was missing. Fix memory leak in where after an error from evaluating "NF", "A" was not freed. Build #1845 -- Version 0.5.6.xx -------------------------------- * Fix Timing Problem When Closing A Tab Directory branches/bsmith/NewTypes: PERTAB.H: Define a bit flag to indicate whether or not )RESET is in progress via . TABCTRL.C: In IF/WHILE stmts always compare ptr against NULL and value against 0. In , if there are any outstanding SIS layers, execute )RESET and repeat the message until it finishes. In , we no longer need to test for suspensions as that's handled by the message. Build #1844 -- Version 0.5.6.xx -------------------------------- * Define CSO For LinkMVS/UnlinkMVS Directory branches/bsmith/NewTypes: EXCEPT.C: In IF/WHILE stmts always compare ptr against NULL and value against 0. Use around the code in and so as to serialize them. EXTERNS.H: Define to serialize and . MAIN.C: Initialize and delete . Build #1843 -- Version 0.5.6.xx -------------------------------- * Miscellaneous DEBUG Changes Directory branches/bsmith/NewTypes: DEBUG.C: Insert commented out code in an unsuccessful attempt to wait until the DEBUG window is ready to receive messages. That goal is still elusive. In ensure the DEBUG window is up-to-date with its messages. In , invalidate the DEBUG window handle. In both and , if the DEBUG window isn't up as yet, send the message to the System Output Debugger. EXTERNS.H: Define EXTERN of hNULL to use in a call to . MAIN.C: In , if the DEBUG window was created, WM_CLOSE it. MAKEFILE.INC: NARS2000.VCXPROJ: For DEBUG builds, include the library which contains and friends. SESSMAN.C: In , delete the code that destroys the DEBUG window if it was created as that task is done elsewhere. Build #1842 -- Version 0.5.6.xx -------------------------------- * Fix Bug In Monadic IotaUnderbar On Scalars Directory branches/bsmith/NewTypes: PF_IOTAUND.C: Fix bug in monadic IotaUnderbar on S a scalar where it should produce a result of S{rho}{enclose}{zilde}. Build #1841 -- Version 0.5.6.xx -------------------------------- * Widen []FEATURE Edit Ctrl In "Edit | Customize | CLEAR WS Values" Dialog Box Directory branches/bsmith/NewTypes: EXTERNS.H: Shorten the text for []FEATURE as displayed in the dialog box for "Edit | Customize | CLEAR WS Values". MAIN.RC: In the dialog box for "Edit | Customize | CLEAR WS Values", widen the edit ctrl box for []FEATURE so as to display the widest choice. Build #1840 -- Version 0.5.6.xx -------------------------------- * Implement Short Left Argument To Dyadic Squad, UpArrow, and DownArrow Directory branches/bsmith/NewTypes: MF_SQUAD.H: PF_DARROW.C: PF_UARROW.C: Implement short left arg to dyadic Squad, UpArrow, and DownArrow. Build #1839 -- Version 0.5.6.xx -------------------------------- * Include New Chars In Thunderbird Extensions Directory branches/bsmith/NewTypes/Extensions/aplchars: INSTALL.RDF: UPDATE.RDF: Increment version #. Directory branches/bsmith/NewTypes/Extensions/aplchars/chrome/content/aplchars: ABOUT.XUL: Increment version #. EDITOROVERLAY.JS: Include Del-Tilde and Matrix Operator characters for Alt-K and Alt-F. Build #1838 -- Version 0.5.6.xx -------------------------------- * Handle NoDisplay Result From An Identity Function Directory branches/bsmith/NewTypes: EXTERNS.H: Redefine as a struct from a union. Append a new to to hold the NoDisplay state. IDENTFNS.C: In , return the NoDisplay state of the identity element. In IF/WHILE stmts always compare ptr against NULL and value against 0. In , return in a parameter the NoDisplay state of the identity element. PO_DOT.C: In , capture the NoDisplay state of the identity element and save it in the result token. PO_SLASH.C: In and , capture the NoDisplay state of the identity element and save it in the result token. Build #1837 -- Version 0.5.6.xx -------------------------------- * Fix Bug When Handling Inline System Labels In An AFO Directory branches/bsmith/NewTypes: PARSELINE.C: After if we're not at EOL and the leftmost token is an AFO NOP, skip back over the NOP to the EOS/EOL. After if we're not at EOL, skip over the next stmt if it's a System Label. Build #1836 -- Version 0.5.6.xx -------------------------------- * Fix Bug In =/'abc' Directory branches/bsmith/NewTypes: PO_SLASH.C: A test for whether or not to promote an argument to the result fails in the above case as the temp result is Boolean and the argument is character. No promotion is necessary if the function is immediate and is either Equal of NotEqual. Build #1835 -- Version 0.5.6.xx -------------------------------- * Empty Commit To Counter Mistaken Update To A Revision Directory branches/bsmith/NewTypes: Build #1834 -- Version 0.5.6.xx -------------------------------- * Commit To Counter Mistaken Update To A Revision Directory branches/bsmith/NewTypes: MAIN.C: MF_SQUAD.H: REFCNT.C: Commit to counter a mistaken update. NARSARRAYEDITOR.H: Delete mistakenly added file. Build #1833 -- Version 0.5.6.xx -------------------------------- * Mistaken Update To A Revision Directory branches/bsmith/NewTypes: MAIN.C: MF_SQUAD.H: NARSARRAYEDITOR.H: REFCNT.C: Mistaken update. Build #1832 -- Version 0.5.6.xx -------------------------------- * Fix Bug In Grade of A Scalar Directory branches/bsmith/NewTypes: PF_DELTASTILE.C: In when grading a scalar, be sure to set the PV0/1 bits in the result without which the right arg may be misidentified as a Permutation Vector. Build #1831 -- Version 0.5.6.xx -------------------------------- * Miscellaneous Changes Directory branches/bsmith/NewTypes: DEFINES.H: PF_PLUS.C: Delete DBGENTER and DBGLEAVE macros as they are no longer used. DISPDBG.C: Change #ifdef RESDEBUG to #if RESDEBUG as that var is defined as 0 or 1. EDITFCN.C: In <_MySetFocus>, comment out DEBUG stmts as they are no longer of interest. RESDEBUG.C: Use proper format for ending comment to a function. SC_FNOV.C In , include new system commands )FOP and )FOPS in the header documentation. Build #1830 -- Version 0.5.6.xx -------------------------------- * Finish Build #1824 Directory branches/bsmith/NewTypes: REFCNT.C: In both and , handle the third debug RefCnt variable. Build #1829 -- Version 0.5.6.xx -------------------------------- * Demote Complex Arrays Of Eigenvalues, EigenVectors, And Schur Vectors Directory branches/bsmith/NewTypes: PO_VARIANT.C: When calculating Eigenvalues, Eigenvectors, and Schur vectors, attempt to demote an array of Complex numbers all of whose imaginary parts are zero to a Real array. Build #1828 -- Version 0.5.6.xx -------------------------------- * Fix Bug In Unified Indexing Directory branches/bsmith/NewTypes: MF_SQUAD.H: Redefine the Magic Function for Squad to handle indexing of scalars. PF_INDEX.C: In when indexing a global array, loop through the list argument checking for Reach indexing in which case the result starts out as nested. If the list argument is nested, loop through the list arg splitting out Scatter from Reach indexing. In , use instead of writing out the same code. In , if the name arg is a HGLOBAL and the list subitem is an empty vector, set the value in the name arg as the Disclose of the right arg. Build #1827 -- Version 0.5.6.xx -------------------------------- * Fix Bug In Convert Named UDFO To Unnamed Directory branches/bsmith/NewTypes: PARSELINE.C: Delete the trailing parameter passed to as we no longer need it. In , if the fop is a UDFO, don't convert to unnamed, just increment the RefCnt. SAVEFCN.C: In when replacing a suspended/pendent function, if we're called from skip the test as we're defining a new function anyway. YYFNS.C: Delete the trailing parameter passed to as we no longer need it. Build #1826 -- Version 0.5.6.xx -------------------------------- * Fix Bug In []TRACE/[]STOP When Checking Functions Such As {Del} And {DelDel} Directory branches/bsmith/NewTypes: QF_STRACE.C: In when checking a SYMENTRY, ensure that the ObjName is valid and that it has a Value. Build #1825 -- Version 0.5.6.xx -------------------------------- * Fix Bug In []NL When Checking Functions Such As {Del} And {DelDel} Directory branches/bsmith/NewTypes: QF_NL.C: In IF/WHILE stmts always compare ptr against NULL and value against 0. In when checking a SYMENTRY, ensure that the ObjName is valid and that it has a Value. Build #1824 -- Version 0.5.6.xx -------------------------------- * Fix Bug When Passing A Function Array Including Monadic Operators To An Operator Directory branches/bsmith/NewTypes: EXECDFN.C: In when localizing an unnamed UDFO, increment the RefCnt on the UDFO. In when localizing a named UDFO, copy the UDFO to a different named UDFO using . FH_PARSE.H: Define a new bit flag to indicate that the UDFO has been run through . PARSELINE.C: Append a new parameter to . In , pass new parameter to access the current PTD struc. In when converting a UDFO, if it's not a MFO, copy the UDFO using . SAVEFCN.C: Define an additional variable for debugging. In , skip the copy if the object is a MFO or has already been run through . In at the end, mark as run through if appropriate. YYFNS.C: In , pass new parameter to access the current PTD struc. Build #1823 -- Version 0.5.6.xx -------------------------------- * Include New Chars In Thunderbird Extensions Directory branches/bsmith/NewTypes/Extensions: INVCER.PHP: Auxiliary file for incrementing a version #. Directory branches/bsmith/NewTypes/Extensions/aplchars: INSTALL.RDF: UPDATE.RDF: Increment version #. MK.BAT: UPD.BAT: UPD.INP: Auxiliary files for making the result. Directory branches/bsmith/NewTypes/Extensions/aplchars/chrome/content/aplchars: ABOUT.XUL: Increment version #. EDITOROVERLAY.JS: Include Double-Exclamation Point character for Alt-k. Build #1822 -- Version 0.5.6.xx -------------------------------- * Fix Bug In []EA/[]EC '[]' Directory branches/bsmith/NewTypes: ERRMSG.C: Catch timing problem when []DM has already been erased. QF_EC.C: QF_EC.H: Handle the case of )RESET in []EC '[]'. SC_SI.C: Handle the case of )SI in []EC '[]'. SYMTAB.C: Fix typo in comment. TRANSLATE.C: Handle the case of )SI or )RESET in []EC '[]'. Build #1821 -- Version 0.5.6.xx -------------------------------- * Fix Bug In UDFO When The Function Name Is Localized Directory branches/bsmith/NewTypes: QF_EX.C: In IF/WHILE stmts always compare ptr against NULL and value against 0. In , if the name is localized, mark as not suspended/pendent. Define function to detect if a name is localized at a given level. Build #1820 -- Version 0.5.6.xx -------------------------------- * Document Extended Generate Flag In Language Bar For Combinatorial Operator Directory branches/bsmith/NewTypes: REBAR.C: Document extended Generate Flag in Language Bar for the Combinatorial Operator. Increase size of static text var which holds the Language Bar Tooltips. Build #1819 -- Version 0.5.6.xx -------------------------------- * Allow {del} As Argument []AT, []CR, []STOP, []TRACE, []VR Directory branches/bsmith/NewTypes: MACROS.H: Include in macro. PARSELINE.C: PRIMFNS.C: Pass additional parameter to to indicate whether or not to skip over Magic Functions. PL_PROC.C: In IF/WHILE stmts always compare ptr against NULL and value against 0. Pass additional parameter to to indicate whether or not to skip over Magic Functions. QF_AT.C: In , if the SYMENTRY is {del}, substitute the actual LPSYMENTRY of the suspended/pendent function. QF_CR.C: QF_STRACE.C: Allow {del} as argument to []AT, []CR, []STOP, []TRACE, []VR QF_NC.C: Allow {del} as argument to []AT, []CR, []STOP, []TRACE, []VR Define to detect if a SYMENTRY is the character scalar . Define to return the actual LPSYMENTRY of the suspended/pendent function. In , check for first and return name class . Build #1818 -- Version 0.5.6.xx -------------------------------- * Change Definition Of []CS To Sort Numbers Before Letters Directory branches/bsmith/NewTypes: QF_CS.C: Use #defines instead of numeric constants. Reduce the last dimension of []CS from 28 to 27 by moving the digits to the first column. Change the definition of []CS to sort numbers before letters. SORT.C: In , substitute a four-dimensional collating sequence which includes accented vowels. Build #1817 -- Version 0.5.6.xx -------------------------------- * Support FLT32 In []NFNS Directory branches/bsmith/NewTypes: MACROS.H: Define macro. QF_DR.C: QF_DR.H: Rename to and define as 4-byte float. QF_NFNS.C: Support FLT32 in []NFNS when reading in from FLT32 or writing out to FLT32. Rename to and define as 4-byte float. SYMTAB.H: Fix typo in comment. TYPES.H: Define APLFLT[32|64] and related names. Build #1816 -- Version 0.5.6.xx -------------------------------- * Make A Copy of A UDFO When Assigning It or Passing It As An Operand Directory branches/bsmith/NewTypes: ASSIGN.C: EXECDFN.C: SAVEFCN.C: Make a copy of a UDFO when assigning it or passing it as an operand. COMMON.C: Use to avoid problems with x64. EDITFCN.C: Save value in case fails. FH_PARSE.H: Define new struct member for the text offset to the function name so we may change it when copying a UDFO. FH_PARSE.Y: FH_PROC.C: Save the text offset to the function name so we may change it when copying a UDFO. GETFNS.C: Define new functions to manage global handles. INIPARSER.C: Change the prototypes for functions used by this file. SAVEFCN.H: Define equates and strucs for when copying a UDFO. SYMTAB.H: Define additional element in omitted from a previous build. Build #1815 -- Version 0.5.6.xx -------------------------------- * Change Name Of []DQ To []LR To Reflect Its Wider Usage Directory branches/bsmith/NewTypes: CUSTOMIZE.C: DEFINES.H: EXTERNS.H: GETFNS.C: INIFILE.C: MAIN.RC: PF_COLONBAR.C: PF_DOMINO.MAC: PF_DTACK.C: PF_STILE.C: PO_QUADJOT.C: PO_VARIANT.C: RESOURCE.H: SYSVARS.C: SYSVARS.H: Change the name of []DQ to []LR to reflect its wider usage as both Left/Right Division Quotient and Left/Right Octonion Matrix Representation Build #1814 -- Version 0.5.6.xx -------------------------------- * Remove Mistaken DEBUG Statement Directory branches/bsmith/NewTypes: PO_COMB.C: Remove mistaken DEBUG statement. Build #1813 -- Version 0.5.6.xx -------------------------------- * Provide Additional DEBUG Information For Directory branches/bsmith/NewTypes: EDITFCN.C: Define <_MySetFocus> in DEBUG mode only to replace and to provide additional DEBUG information. MACROS.H: Define depending pon the DEBUG mode. Directory branches/bsmith/NewTypes/WineHQ: LOCAL.H: Declare <_MySetFocus> as an extern. Build #1812 -- Version 0.5.6.xx -------------------------------- * Implement Conforming Disclose In The Monadic Primitive {rightshoe} * Remove Magic Function For Conforming Disclose From Call To Rank Operator * Adjust The Magic Function For The Rank operator Directory branches/bsmith/NewTypes: EXECMFN.C: EXECMFN.H: Remove magic function for conforming Disclose. MF_DIJOT.H: In both monadic and dyadic Rank operator, handle non-result returning left operands. Remove magic function for conforming Disclose. Adjust the magic function for the Rank operator. PF_RSHOE.C: Implement conforming Disclose in the monadic primitive {rightshoe}. PO_DIJOT.C: Remove magic function for conforming Disclose from call to Rank operator. Build #1811 -- Version 0.5.6.xx -------------------------------- * Fix Bug In Complex Named Operator Operands Directory branches/bsmith/NewTypes: EXECDFN.C: MACROS.H: PO_CMIDDOT.C: PO_COMB.C: PO_DICIRCLE.C: PO_DIDTACK.C: PO_DIERESIS.C: PO_DIJOT.C: PO_DITILDE.C: PO_DOT.C: PO_JOT.C: PO_JOTDOT.C: PO_MULTISET.C: PO_QUADJOT.C: PO_SLASH.C: PO_SLOPE.C: PO_VARIANT.C: Allow macros to retrieve ptrs to left and right operands as NULLs, and ensure it doesn't happen. Fix bug in retrieving the left operand from a complex dyadic operator. PARSELINE.C: In , remove Assert stmt for FCNARRAY_HEADERs as the SynObj can sometimes be SPM. PL_PARSE.H: Define additional field to hold the offset to the previous operator which we need in otder to handle complex named operator operands. PRIMFNS.C: Define needed in . Handle Direct Functions in . Define to detect direct functions/operators. PRIMSPEC.C: In , fix bug trying to free non-existent vars. STARTADDR.H: Include more entries. STRAND.C: Pass additional parameter to so as to keep track of the location of the root operator. YYFNS.C: Pass additional parameter to so as to keep track of the location of the root operator. Keep track of the location of the root operator and pass it back to the caller except for the right operand. Build #1810 -- Version 0.5.6.xx -------------------------------- * Implement Lexicographic And Gray Code Combinatorial Results Directory branches/bsmith/NewTypes: EXTERNS.H: Define struct for Special Combinatorial Function Define new elements of CombArgs struct. PO_COMB.C: Improve comments. Implement Lexicographic and Gray Code combinatorial results. Build #1809 -- Version 0.5.6.xx -------------------------------- * Change URL For "Browse Code" * Fix Typo In Comments Directory branches/bsmith/NewTypes: PF_STAR.MAC: Fix typo in comments in macros for Exponentiation. Directory branches/bsmith/NewTypes/htdocs: CONTRIBUTORS-MENU.HTML: INDEX-MENU.HTML: LICENSE-MENU.HTML: Change URL for "Browse Code". Directory branches/bsmith/NewTypes/htdocs/download: DOWNLOAD-MENU.HTML: Change URL for "Browse Code". Build #1808 -- Version 0.5.6.xx -------------------------------- * Fix Bug In Monadic/Dyadic Operator Operand Macros Directory branches/bsmith/NewTypes: MACROS.H: Fix bug in macros for Monadic/Dyadic Operator operand specifications. PO_SLASH.C: Test for NULL from and handle the error message caret appropriately. PO_VARIANT.C: Fix compiler bug that didn't catch '.' vs. '->'. Build #1807 -- Version 0.5.6.xx -------------------------------- * Fix Bug In Previous Build On Infinity & NaN Directory branches/bsmith/NewTypes: MPFNS.C: Fix bug in and not handling Infs & NaNs. Build #1806 -- Version 0.5.6.xx -------------------------------- * Fix Bug In Parsing F {DOP} A A Directory branches/bsmith/NewTypes: PARSELINE.H: Set the binding strength of "} A" and "} SA" to the same as "A A" so as to defer parsing until we know whether or not the object inside braces is a DOP. Build #1805 -- Version 0.5.6.xx -------------------------------- * Fix Bug In 3 []DR Where We Don't Trundle Through A Hetero Array To Find Lowest Precision Directory branches/bsmith/NewTypes: QF_DR.C: In , handle HETERO arrays element-by-element to find the lowest precision. Build #1804 -- Version 0.5.6.xx -------------------------------- * Fix Bug When Copying 1v64 In A Strand As We Lose Its Precision Directory branches/bsmith/NewTypes: MPFNS.C: Revert to and to preserve the source precision in the target. STRAND.C: In , use instead of so we preserve the source precision in the target. Build #1803 -- Version 0.5.6.xx -------------------------------- * Fix Bug When Comparing NaN FLT With Finite FLT Directory branches/bsmith/NewTypes: CONVERT.C: In when comparing FLTs, ensure that both are finite (not INF nor NaN). NARS2000.TXT: Include file in version control. Build #1802 -- Version 0.5.6.xx -------------------------------- * Fix Omissions In The Language Bar Directory branches/bsmith/NewTypes: REBAR.C: Fix omissions in the Language Bar. Build #1801 -- Version 0.5.6.xx -------------------------------- * Fix Bugs In 12{circle}{±infinity}J{±infinity} * Fix Bug in 12{circle}'a' Directory branches/bsmith/NewTypes: PF_CIRCLE.C: In , handle in the switch stmt. PF_CSTAR.C: Fix bug in both fixed- and multiple-precision handling of 12{circle}{±infinity}J{±infinity}. Build #1800 -- Version 0.5.6.xx -------------------------------- * Fix Bug In 12{circle}0J{infinity} Directory branches/bsmith/NewTypes: PF_CSTAR.C: Fix bug in both fixed- and multiple-precision handling of 12{circle}0J{infinity}. Build #1799 -- Version 0.5.6.xx -------------------------------- * Handle Factorial Of Quaternions Directory branches/bsmith/NewTypes: PF_QDOT.C: Call Magic Function for Quaternion Factorials. Use common tables and macros to expand Complex & Quaternion numbers into their matrix representations. PO_QUADJOT.C: Allow nested arrays into the Diagonal function. Move Matrix Representation typedefs into . PO_QUADJOT.H: Move Matrix Representation typedefs into . Build #1798 -- Version 0.5.6.xx -------------------------------- * Handle More Infinity and NaN Special cases Directory branches/bsmith/NewTypes: PF_BAR.C: Remove special casing in favor of handling in common functions. PF_CIRCLE.C: PF_CIRCLE.MAC: Handle -4{circle} specially for infinities as the Standard expression doesn't work. PF_COLONBAR.C: Handle special cases in Reciprocal and Divide. PF_EQUAL.C: Use incoming instead of global []CT. Define to handle Equal comparisons with NaNs. PF_IOTA.C: Use to handle Equal comparisons with NaNs. PF_PLUS.C: Remove special casing in favor of handling in common functions. PF_ROOT.C: Handle special cases in Root function. PF_STAR.C: Handle special case of 0*0J1 and the like. PF_STILE.C: Change back to handling Residue on MP INTs/RATs as exact. PF_TIMES.C: Remove special casing in favor of handling in common functions. PRIMSPEC.C: Handle comparison functions with NaNs specially in functions. Build #1797 -- Version 0.5.6.xx -------------------------------- * Allow Magic Functions In Scalar Functions. Directory branches/bsmith/NewTypes: ENUMS.H: Define new exception code. EXCEPT.C: Define associated entries for new exception code. MF_SHRIEK.H: Include []ERROR call if the Eigenvalues are not distinct. PF_QDOT.C: In use new exception code if the call to the Magic Function fails. With this new code, the proper response is to use the existing error message in lpMemPTD->lpwszErrorMessage and the caret is set to the function. PRIMSPEC.C: Handle new exception code as described above. Build #1796 -- Version 0.5.6.xx -------------------------------- * Fix Bugs When Inverting FLT and MP Non-commutative Matrices. Directory branches/bsmith/NewTypes: MAKEFILE.INC: Include file omitted from the last build. PF_DOMINO.C: Fix bug not allowing Quaternion and Octonion Matrix Inverse on FLTs. PF_DOMINO.MAC: Fix bug in macro used for inverting Multiple-Precision matrices in the non-commutative cases. PO_VARIANT.C: Allow a Variant operator short form for []DQ applied to Matrix Inverse/Divide. Build #1795 -- Version 0.5.6.xx -------------------------------- * Define And Display A Menu For the DEBUG Window * Show The GSL Version # In The About Box * Define A Handler For GSL Errors * Rename The GSL Include And Library Directories And Libraries Directory branches/bsmith/NewTypes: DEBUG.C: Handle responses for the DEBUG window menu. MAIN.C: Use instead of as the two windows have the same parent. Define a separate DEBUG window menu. Define and place into service a handler for GSL errors. MAIN.RC: Show the GSL version # in the About box display. NARS2000.VCXPROJ: Rename the GSL include and library directories and the libraries. RESOURCE.H: Define the resource for the DEBUG window menu. VER.C: Show the GSL version # in the About box display. Build #1794 -- Version 0.5.6.xx -------------------------------- * Implement Permanent Of A Matrix As Special Case Of Determinant Operator Directory branches/bsmith/NewTypes: EXECMFN.C: EXECMFN.H: Include entries for a new Magic Function. MF_DOT.H: Define the new Magic Function. PO_DOT.C: Recognize +.x and call the new Magic Function. Build #1793 -- Version 0.5.6.xx -------------------------------- * Signal DOMAIN ERROR on Non-numeric Args * Change Error Message For Non-distinct Eigenvalues Directory branches/bsmith/NewTypes: MF_QUADJOT.H: Change error message for QuadJot operator when the eigenvalues are not distinct. PO_QUADJOT.C: Check for DOMAIN ERROR earlier than before. Fix bug of mistakenly calling a RANK ERROR a DOMAIN ERROR. Build #1792 -- Version 0.5.6.xx -------------------------------- * Finish Drag & Move/Copy Directory branches/bsmith/NewTypes: EDITCTRL.C: In , if the cursor is inside the Selection Region, release the selection and set the caret position back to the start of the selection. Build #1791 -- Version 0.5.6.xx -------------------------------- * Implement Matrix Operator * Obtain Schur Vectors and QR Matrices From Variant Operator On Domino Directory branches/bsmith/NewTypes: COMPRO.H: Include prototype file in header. CUSTOMIZE.C: Include new symbol in Keyboard Customize preferences. Use local function instead of API so we can check the return code more easily. In IF/WHILE stmts always compare ptr against NULL and value against 0. EXECFNS.C: Handle QuadJot as a Monadic Operator. EXECMFN.C: EXECMFN.H: Convert calls to static messages to Unicode. Include Magic Operator for Matrix Operator in Magic Function/Operator tables. INITDATA.C: Change documentation for QuadJot from Alt-D to Alt-F. Define entry in for QuadJot. Define entry in for QuadJot. KEYBOARDS_BI.H: Note that Alt-F is no longer an available keystroke. Define QuadJot for the built-in for both Alt- and Ctrl- keyboard tables . MAKEFILE.INC: MAKEFILE.SRC: Alphabetize the file names. Include the file name for QuadJot. Note that depends upon . MF_QUADJOT.H: Define Magic Operator to handle Matrix Operator. MF_VARIANT.H: Document a Magic Function. NARS2000.VCXPROJ: NARS2000.VCXPROJ.FILTERS: Document new source file . PF_DOMINO.C: Consolidate code into subroutines so they may be called multiple times. Attempt to demote HCxF matrices to HC1F so we can use GSL Real code instead of GSL Complex. Attempt to demote HC2F matrix using GSL Complex instead of Gauss-Jordan on RATs. If Gauss-Jordan on HC4F/HC8F fails, attempt to demote to HC2F so we can use GSL Complex. PO_QUADJOT.C: PO_QUADJOT.H: Implement Matrix Operator. PO_VARIANT.C: Extend Variant operator on QuadJot operator to be sensitive to []DQ. Extend Variant operator on Domino function to return Schur vectors and QR matrices. If the left operand is the Domino function, allow the right operand to be a function. If the left operand is the Domino function and the right operand is a function, call a Magic Operator to execute it. If the right arg is not a simple integer or float, see if it can be demoted to that type. PRIMFNS.C: Define function to returns attributes of either a SYMENTRY or HGLOBAL. PRIMSPEC.C: Fix typo in comment. REBAR.C: Document the QuadJot operator on the Language Bar. TOKENIZE.C: Include QuadJot as a monadic operator in various tables. TYPEMOTE.C: Improve comments. Define routines to demote data as appropriate. UNICODE.H: Define Unicode value for QuadJot symbol. Improve comments. Build #1790 -- Version 0.5.6.xx -------------------------------- * Miscellaneous Minor Changes, Part II Directory branches/bsmith/NewTypes/WineHQ: WINECOM.H: File omitted from a previous build. Build #1789 -- Version 0.5.6.xx -------------------------------- * Miscellaneous Minor Changes Directory branches/bsmith/NewTypes: DATATYPE.H: Fix bug in comment about offset of the data in APAs. PF_EPSUND.C: Use macro from instead of local . PO_CMIDDOT.C: Fix incorrect names in comments. PRIMSPEC.C: Fix typo in comment. QF_DR.C: Return # bits in a character for character arguments. SYSVARS.H: Change minimum/maximum values for []FPC to the corresponding equates from MPFR. Build #1788 -- Version 0.5.6.xx -------------------------------- * Fix Bug In Multiple Indexing Of A Function Directory branches/bsmith/NewTypes: NARS2000.VCXPROJ: Note GSL dependency of . This file was omitted from the previous build. PARSELINE.C: In , handle multiple indices as in F[A][A][A] A by collapsing the IDX chain. PARSELINE.H: In order to allow the above code to work, we need to increase the binding of IDX v. IDX. Build #1787 -- Version 0.5.6.xx -------------------------------- * Debug Non-blinking Text Caret Directory branches/bsmith/NewTypes: DEBUG.C: Delete call to which links the message queues of the Debug and Main windows as they no longer are shared. Format the code better. DEFINES.H: Define common macro for displaying a File, Line #, and Function name. Include common file of equates for WineHQ and the main code. EDITFCN.C: Convert calls to static messages to Unicode. Use local function instead of API so we can check the return code more easily. Omit from as it should be done by the routine that handles . Include Text Caret DEBUG code in and . MACROS.H: Define macro for which executes the expression and validates the result. Define various Boolean macros to aid in dealing with them. MAIN.C: Declare an extern so we can reference it. Use when setting the font for the DEBUG window. Delete call to from as it should be called from only. Handle message in . SAVEFCN.C: Use local function instead of API so we can check the return code more easily. SESSMAN.C: Include Text Caret DEBUG code in and . Use local function instead of API so we can check the return code more easily. TABCTRL.C: Use local function instead of API so we can check the return code more easily. Directory branches/bsmith/NewTypes/WineHQ: EDITCTRL.C: Include Text Caret DEBUG code in and . Use local function instead of API so we can check the return code more easily. LOCAL.H: Include which contains common equates. Define prototypes for various external functions. WINECOM.H: Define common equate for checking Text Carets. Build #1786 -- Version 0.5.6.xx -------------------------------- * Move GSL Call To Global Location Directory branches/bsmith/NewTypes: MAIN.C: PF_DOMINO.C: PO_DOT.C: Move call to to as we need to call it only once. Build #1785 -- Version 0.5.6.xx -------------------------------- * Implement Octonion Digraph Notation Directory branches/bsmith/NewTypes: CUSTOMIZE.C: Define checkbox for Octonion Digraph display choice. DEFINES.H: Define Default and Digraph Octonion separators. Define default setting for Octonion Digraph display. DISPLAY.C: Display Octonions with Digraphs is the user asks to. Fix bug in display of Quaternion floats ignoring Postfix notation. Save, set to a common state, and restore HC states over )LOAD. EXTERNS.H: Define Option Flags for Octonion Digraph display. HC_PROC.H: Define macro to choose the Octonion number display. Define alternate Octonion number separators. INIFILE.C: Define inifile keynames when saving Octonion Digraph state choice. Read in saved Octonion Digraph state choice. Write out any changes to the Octonion Digraph state choice. MAIN.RC: Define checkbox for Octonion Digraph state choice. PN_PARSE.Y: Parse Octonion Digraph separators for both Infix and Postfix notation. PN_PROC.C: Fix typo in comment. RESOURCE.H: define Control ID for Octonion Digraph state checkbox. SC_COPY.C: Save, set to a common state, and restore HC states over )COPY. SC_LOAD.C: Save, set to a common state, and restore HC states over )LOAD. SC_SAVE.C: Save, set to a common state, and restore HC states over )SAVE. TOKENIZE.C: Set the Syntax Color for Octonion Digraph separators. Build #1784 -- Version 0.5.6.xx -------------------------------- * Implement Factorial On Fixed-Precision Quaternion Numbers Directory branches/bsmith/NewTypes: EXECMFN.C: EXECMFN.H: Include Magic Function for Shriek function in Magic Function/Operator tables. MF_SHRIEK.H: Define Magic Function to finish Monadic Shriek on Quaternions. PF_QDOT.C: Delete entries for Monadic and Dyadic Shriek functions for Octonions as they are not defined on that datatype. Define routine to return the factorial of a Quaternion Floating Point number. Include Magic Function file to finish the calculation of Factorial on Quaternions. Build #1783 -- Version 0.5.6.xx -------------------------------- * Extend The Variant Operator To Domino To Calculate Eigenvalues And Eigenvectors Directory branches/bsmith/NewTypes: NARS2000.VCXPROJ: Change the #includes for the Variant operator source file. PO_VARIANT.C: Extend the Variant operator to the Domino function to calculate Eigenvalues and Eigenvectors. Rename to remove the trailing _EM as it no longers sets an error message. Build #1782 -- Version 0.5.6.xx -------------------------------- * Fix Bug In Inner Product With Empty Hypercomplex Arrays Directory branches/bsmith/NewTypes: PO_DOT.C: Fix bug in , where Hypercomplex numbers are not handled in all cases. Build #1781 -- Version 0.5.6.xx -------------------------------- * Fix Bug In Indexed Assignment Of Hypercomplex Numbers Directory branches/bsmith/NewTypes: PF_RSHOE.C: In , when assigning a Hypercomplex number into an array, assign all parts, not just the Real part. Build #1780 -- Version 0.5.6.xx -------------------------------- * Fix Bug In Member Of With Nested Hypercomplex Numbers Directory branches/bsmith/NewTypes: PF_EPSILON.C: In , handle more cases. Build #1779 -- Version 0.5.6.xx -------------------------------- * Define Separate Syntax Color For Output Debugging Directory branches/bsmith/NewTypes: EXTERNS.H: INIFILE.C: MAIN.RC: RESOURCE.H: SYNTAXCOLORS.H: TOKENIZE.C: Define separate syntax color for Output Debugging. Build #1778 -- Version 0.5.6.xx -------------------------------- * Use A Single Debug Window Instead Of One per Tab Directory branches/bsmith/NewTypes: DEBUG.C: Create the Debugger Window as a separate window in a separate thread, not a child MDI window. DEFINES.H: Delete DB-specific window message as it is no longer used. DISPDBG.C: PERTAB.H: Remove PTD-specific DEBUG info as it is not tab-specific anymore. EXTERNS.H: Define global DEBUG window handle as it is not tab-specific anymore. MAIN.C: Remove PTD-specific DEBUG info as it is not tab-specific anymore. Move code to create the Debugger Window from the Tab Ctrl to the Master Frame Window. SESSMAN.C: Remove PTD-specific DEBUG info as it is not tab-specific anymore. Remove F9 DEBUG window positioning. TABCTRL.C: Move code to create the Debugger Window from the Tab Ctrl to the Master Frame Window. Delete code to destroy the Debugger Window from the Tab Ctrl as it is no longer created there. THREADS.H: Define parameters passed to the Debugger Window thread. Directory branches/bsmith/NewTypes/htdocs/download: DOWNLOAD-BODY.PHP: Exclude VC redistribution files from the list of files in the Downloads Section. Build #1777 -- Version 0.5.6.xx -------------------------------- * Fix Bug In Build #1773 With Uninitialized Var Directory branches/bsmith/NewTypes: SC_LOAD.C: In , initialize the var to FALSE. Build #1776 -- Version 0.5.6.xx -------------------------------- * Implement Drag/Copy Of A Selection In Any Edit Ctrl Directory branches/bsmith/NewTypes: EXTERNS.H: Define new cursor handle. MAIN.C: Load new cursor handle. MAIN.RC: Define new cursor resource. MAKEFILE.INC: Define new cursor dependency. RESOURCE.H: Define new cursor ID. Directory branches/bsmith/NewTypes/Images: DRAG_COPY.CUR: Include cursor file. Directory branches/bsmith/NewTypes/WineHQ: EDITCTRL.C: Implement drag/copy of a selection in any edit ctrl including the function and session editors. LOCAL.H: Define extern for the Drag/Copy cursor. Build #1775 -- Version 0.5.6.xx -------------------------------- * Change Variant Operator Operand Names For Times To Interior And Exterior Directory branches/bsmith/NewTypes: ENUMS.H: PF_TIMES.C: PO_VARIANT.C: Change the names for Variant Operator operand for the Times function to Interior and Exterior. Directory branches/bsmith/NewTypes/MediaWiki/extensions: APL.CSS: Document the destination directory for this file. Include a font-face to define and load the Fallback00-1F.ttf font. Build #1774 -- Version 0.5.6.xx -------------------------------- * Fix Bug When Selecting Both "Keyboards" And "User Preferences" In Customize Dialog Directory branches/bsmith/NewTypes: CUSTOMIZE.C: Use separate save areas for the subclassed WNDPROC for "Keyboards" and "User Preferences" edit ctrls. After calls to DestroyWindow () always return a result as that function doesn't, by itself, end the window. When subclassing the edit ctrl for "User Preferences", use a different WNDPROC from when subclassing the edit ctrl for "Keyboards". After calls to EndDialog, always return a result as that function doesn't, by itself, end the dialog. Build #1773 -- Version 0.5.6.xx -------------------------------- * Fix Bug When A Var In A Saved Workspace Is Referenced But Not Defined Directory branches/bsmith/NewTypes: SC_COPY.C: Define new return parameter to to indicate that the var was deleted. SC_LOAD.C: Handle the unusual case where a var in a saved workspace is referenced but not defined by deleting the var and notifying the user. Build #1772 -- Version 0.5.6.xx -------------------------------- * Fix Bug When Saving Update Check Date Directory branches/bsmith/NewTypes: INIFILE.C: In , change the local var to to better reflect its usage. In , fix bug when saving the Update Check date by use parens to limit the scope of the cast. Build #1771 -- Version 0.5.6.xx -------------------------------- * Fix Bug When Saving A Maximized Program Directory branches/bsmith/NewTypes: DEFINES.H: Define a new user local Window message. MAIN.C: Rename to to better reflect its meaning. In define and save the initial alue of from the .ini fileto test later on as the latter value can change before we need the original value. If the original value of says to maximize the initial window, do so after the message. Build #1770 -- Version 0.5.6.xx -------------------------------- * Fix Bug When Attempting To Save A Suspended Function Directory branches/bsmith/NewTypes: SAVEFCN.C: Fix bug when attempting to save a suspended function (introduced In Build #1670). Build #1769 -- Version 0.5.6.xx -------------------------------- * Implement []SI Directory branches/bsmith/NewTypes: COMPRO.H: MAKEFILE.INC: MAKEFILE.SRC: NARS2000.VCXPROJ: NARS2000.VCXPROJ.FILTERS: SYSVARS.C: Include definition for []SI. QF_SI.C: Implement []SI. Build #1768 -- Version 0.5.6.xx -------------------------------- * Change Semantics Of Set Function Timestamp Directory branches/bsmith/NewTypes: QF_FX.C: Change the semantics of the Set Function Timestamp function as per the wiki. Build #1767 -- Version 0.5.6.xx -------------------------------- * Define And Implement Set Function Properties For Dyadic []FX Directory branches/bsmith/NewTypes: EXTERNS.H: MAIN.RC: QF_AT.C: QF_NFNS.C: SC_COMMON.C: SC_LOAD.C: Change GMT to UTC. QF_FX.C: Define and implement Set Function Properties for dyadic []FX. Build #1766 -- Version 0.5.6.xx -------------------------------- * Support New Syntax Such As (MOPN MOPN) And Related * When Converting A Hybrid Symbol, Handle More Cases * Define New Tokens For Unnamed UDFOs * Allow Tokenize To Be Re-entrant * Fix Bug When Displaying Trains * Handle Global Function Entries In Saved Workspaces Directory branches/bsmith/NewTypes: ASSIGN.C: Handle new TKT_xxxDFN tokens. When assigning a Fcn Array into a name, calculate the token type from the source. Fix typos in comments. DISPDBG.C: Define three new tokens for unnamed UDFOs (TKT_FCNDFN, TKT_OP1DFN, and TKT_OP2DFN). Re-order the existing tokens to group related objects. In , fix bug of displaying the right most function in a Train separately to the left of the start of the Train. In , use to fill in the UDFO name so as to handle <:g> entries in a loaded workspace. Handle new TKT_xxxDFN tokens. EXECDFN.C: EXECFNS.C: FREE.C: GETFNS.C: PRIMFNS.C: STRAND.C: Handle new TKT_xxxDFN tokens. EXTERNS.H: MAIN.C: Allow to be re-entrant. PARSELINE.C: Define reduction actions for new syntax of (MOPN MOPN) and related. In , handle more source tokens, and define a new argument for Fcn Array items. Improve some comments. Always set the token count in a PL_YYSTYPE. In , consolidate blocks of similar code into a function. Handle new TKT_xxxDFN tokens. PARSELINE.H: Define new syntax such as (MOPN MOPN) and related. Fix bug in syntax of nested Trains by making Trans and MOPs at the same level. QF_AT.C: In separate Fcn Arrays from UDFOs solely as a DEBUG aid. REFCNT.C: In , remove for nested Trains as that expression triggers this case. Handle new TKT_xxxDFN tokens. TOKENIZE.C: Allow to be re-entrant. In , handle trailing comments on Line Continuations. Delete stmts no longer needed. Delete stmts to get that are no longer needed. In IF/WHILE stmts always compare ptr against NULL and value against 0. In , fill in Fcn Array case even though I'm not sure how it can occur. Handle new TKT_xxxDFN tokens. TOKENS.H: Define three new tokens for unnamed UDFOs (TKT_FCNDFN, TKT_OP1DFN, and TKT_OP2DFN). Re-order the existing tokens to group related objects. Fix mistakes in comments. TOKENSO.H: Number the entries in for DEBUGging purposes. Define three new tokens for unnamed UDFOs (TKT_FCNDFN, TKT_OP1DFN, and TKT_OP2DFN). Re-order the existing tokens to group related objects. TRANSLATE.C: Define new routine to translate an type to a named token type. YYFNS.C: In , initialize the token count in the result. In , split cases based upon the token type. Build #1765 -- Version 0.5.6.xx -------------------------------- * Remove Window Handle From Call To MessageBox Directory branches/bsmith/NewTypes: EDITFCN.C: In , remove the window handle from the call to in case that's what is hanging the system when DEBUGging. Build #1764 -- Version 0.5.6.xx -------------------------------- * Document Permanence Of NAMETYPE_xxx * Fix Typos In Comments Directory branches/bsmith/NewTypes: AFOFNS.C: CONVERT.C: SYMTAB.H: Fix typos in comments. SYMTAB.H: Document the permanence of NAMETYPE_xxx as it's saved in workspaces. Build #1763 -- Version 0.5.6.xx -------------------------------- * Fix Memory Leak In Demotion To Real Code Directory branches/bsmith/NewTypes: PRIMSPEC.C: Improve comments. In and , move code that frees and out of into as it needs to be freed on all exits not just errors. Build #1762 -- Version 0.5.6.xx -------------------------------- * Document Poorly Designed Calculation Directory branches/bsmith/NewTypes: SC_LOAD.C: SC_SAVE.C: In IF/WHILE stmts always compare ptr against NULL and value against 0. Document poorly designed calculation. Build #1761 -- Version 0.5.6.xx -------------------------------- * Fix Memory Leak In Outer Product With Scalars Directory branches/bsmith/NewTypes: PO_JOTDOT.C: Switch IF stmts for left and right calls to avoid memory leak with scalar left or right args.