Version 0.5.16.xx consists of the following Builds: Build #2467 -- Version 0.5.16.xx -------------------------------- * Extend Zeta Function To Hypercomplex Numbers Directory branches/bsmith/NewTypes: COMMON.C: In , use instead of . In , append new parameter of ptr to data to copy. Change name to to reflect the fact that it allocates a YYSTYPE entry. Define new to allocate a global array and then populate it as a TOKEN variable. EXECMFN.C: EXECMFN.H: Define two new Magic Functions which implement the Zeta function extended to Hypercomplex numbers. MF_ZETA.H; Define a new file to contain the two new Magic Functions which implement the Zeta function extended to Hypercomplex numbers. PARSELINE.C: PF_DOMINO.C: PF_INDEX.C: PF_LSHOE.C: PF_QDOT.C: PO_COMB.C: PO_DERIV.C: PO_INTEGRAL.C: PO_INTEGRAL_VFP.C: PO_QUADJOT.C: PO_VARIANT.C: QF_CR.C: QF_DFT.C: QF_NFNS.C: QF_SI.C: QF_STRACE.C: QF_UCS.C: STRAND.C: TYPEMOTE.C: Extend calls to to reflect the new parameter. Switch macro to as it's simpler. Change name to to reflect the fact that it allocates a YYSTYPE entry. PN_PROC.C: Rename EXCEPTION_CODES variable from to to match all other uses. Implement extension of Zeta function to Hypercomplex numbers. Switch macro to as it's simpler. RESDEBUG.H: Fix typo in macro . WCOM.BAT: Fix typo. Build #2463 -- Version 0.5.16.xx -------------------------------- * Implement {chi} As AFO Axis Operator Directory branches/bsmith/NewTypes: AFOFNS.C: ASSIGN.C: DISPDBG.C: EXECMFN.H: MACROS.H: PRIMFNS.C: QF_NC.C: SAVEFCN.C: SAVEFCN.H: STRAND.C: SYMTAB.C: SYMTAB.H: TOKENIZE.C: TOKENS.H: TOKENSO.H: UNICODE.H: Implement {chi} as AFO Axis Operator. CUSTOMIZE.C: MAIN.RC: RESOURCE.H: Make room for {chi} in keyboard APL chars. EXECFNS.C: FH_PARSE.Y: PARSELINE.C: Allow niladic functions with Axis Operator. EXTERNS.H: Fix error in comment. KEYBOARDS_BI.H: Define position for {chi} on built-in keyboards. Directory branches/bsmith/NewTypes/htdocs: CONTRIBUTORS-BODY.AHTML: CONTRIBUTORS-LEFT.HTML: FOOTER-MON.HTML: FOOTER.HTML: INDEX-BODY.AHTML: INDEX-LEFT.HTML: LICENSE-BODY.HTML: LICENSE-LEFT.HTML: LICENSE-MENU.HTML: LICENSE.HTML: Miscellaneous changes. Directory branches/bsmith/NewTypes/htdocs/download: DOWNLOAD-BODY.PHP: DOWNLOAD-LEFT.HTML: DOWNLOAD.HTML: Miscellaneous changes. Build #2461 -- Version 0.5.16.xx -------------------------------- * Miscellaneous Changes For Compatibility With Bison 3.8.2 Directory branches/bsmith/NewTypes: CS_PARSE.Y: FH_PARSE.Y: PN_PARSE.Y: Miscellaneous changes for compatibility with bison 3.8.2. EXTERNS.H: MACROS.H: Remove spurious ARB references. Build #2459 -- Version 0.5.16.xx -------------------------------- * Miscellaneous Changes For Compatibility With VS Community 2022 Directory branches/bsmith/NewTypes: BISON.PROPS: COMMON.C: CR_PROC.C: CS_PARSE.PROTO: CS_PARSE.Y: CUSTOMIZE.C: DEBUG.C: DEFINES.H: DISPDBG.C: DISPLAY.C: DTOA.C: EDITFCN.C: EXCEPT.C: EXECDFN.C: EXTERNS.H: FH_PARSE.PROTO: FH_PARSE.Y: INIPARSER.C: MACROS.H: MAIN.C: MAIN.RC: MAKEFILE.INC: MAKEFILE.W32: MAKEFILE.W64: MAKEVER.C: MK32.BAT: MK32D.BAT: MK64.BAT: MK64D.BAT: NARS2000.VCXPROJ: NARS2000.VCXPROJ.FILTERS: PARSELINE.C: PF_DTACKJOT.C: PL_PROC.C: PN_PARSE.PROTO: PN_PARSE.Y: PN_PROC.C: PROGBAR.C: QF_A.C: QF_CS.C: QF_NC.C: QF_NFNS.C: REBAR.C: RESDEBUG.C: SAVEFCN.C: SC_LOAD.C: SC_OUT.C: SESSMAN.C: SYMTAB.C: SYSVARS.C: VER.C: W32.BAT: W64.BAT: WCOM.BAT: Miscellaneous changes for compatibility with VS Community 2022. Directory branches/bsmith/NewTypes/WineHQ: EDITCTRL.C: BASETSD.H: WINNT.H: Miscellaneous changes for compatibility with VS Community 2022. Build #2457 -- Version 0.5.16.xx -------------------------------- * Miscellaneous Changes Directory branches/bsmith/NewTypes: CRASH.C: DEBUG.C: PERFMON.C: Change unused window parameter from 0 to NULL. DEFINES.H: Remove duplicate #defines. MAKEFILE.DEP: MAKEFILE.PRO: NARS2000.VCXPROJ: NARS2000.VCXPROJ.FILTERS: WCOM.BAT: Remove references to as we no longer use it. STARTADDR.H Include more file names. STRAND.C: Align text on tab boundary. Build #2455 -- Version 0.5.16.xx -------------------------------- * Preface "SAVED ..." Message With ")SAVE" If Activated By A Button Directory branches/bsmith/NewTypes: SC_SAVE.C: SESSMAN.C: When clicking on the "Save WS" button, display ")SAVE" before the "SAVED ..." message so it may be re-executed from the output display. Build #2453 -- Version 0.5.16.xx -------------------------------- * Fix Bugs In Text Caret Handling Directory branches/bsmith/NewTypes: EDITCTRL.H: Define separate window properties for INSERT and REPLACE text caret handles. EDITFCN.C: More debugging to handle text caret problems. Use separate text carets for INSERT and REPLACE modes. Implement PadPlus and PadMinus to scroll the client area of Session Manager and Function Editor. MAIN.C: SESSMAN.C: TABCTRL.C: WINEHQ\EDITCTRL.C: WINEHQ\LOCAL.H: More debugging to handle text caret problems. Build #2451 -- Version 0.5.16.xx -------------------------------- * Allow "A FR" and "DOP DOP" As Valid Syntax Directory branches/bsmith/NewTypes: PARSELINE.C: PARSELINE.H: YYFNS.C: Allow "A FR" as valid syntax. Allow "DOP DOP" as valid syntax. Build #2449 -- Version 0.5.16.xx -------------------------------- * Re-initialize PTD Vars When []FPC Changes Directory branches/bsmith/NewTypes: GETFNS.C: In , re-initialize PTD vars when we change []FPC. INITDATA.C: Split off the code to free PTD vars for use separately. Build #2447 -- Version 0.5.16.xx -------------------------------- * Fix Bug In DotDot When Calculating VFP NELM If Either Arg Was Promoted From FLT To VFP Directory branches/bsmith/NewTypes: PF_DOTDOT.C: In when calculating the NELM of the VFP result, if either arg was FLT and prmoted to VFP, use a smaller []CT when extracting an integer from a VFP value. Build #2445 -- Version 0.5.16.xx -------------------------------- * Fix Bug In {domino}{variant]N When Calculating Eigenvalues/Eigenvectors/... Directory branches/bsmith/NewTypes: PO_VARIANT.C: After calculating Eigenvalues, etc. via {domino}{variant}, break out of the SWITCH stmt instead of falling through to the default behavior. Build #2443 -- Version 0.5.16.xx -------------------------------- * Fix Bug Handling Booleans In Dyadic []DC Directory branches/bsmith/NewTypes: HC_PROC.H: Define new translate table converting to Simple leaving Boolean alone. QF_DC.C: Fix error in comment. Check result from . Build #2441 -- Version 0.5.16.xx -------------------------------- * Fix Bug In Display Of Non-erased Names Directory branches/bsmith/NewTypes: SC_ERASE.C: Fix bug in display of non-erased names. Build #2439 -- Version 0.5.16.xx -------------------------------- * Fix Bug In Rounding Of Fractional Pi With Infinities And NaNs Directory branches/bsmith/NewTypes: PF_STAR.C: In the routines and for handle Infinity and NaN separately. Build #2437 -- Version 0.5.16.xx -------------------------------- * Implement Early Termination For Numerical Integration Directory branches/bsmith/NewTypes: EXTERNS.H: Fix typo in comment. Include ptr to right arg token in LCL_PARAMS for use in Numerical Integration. PO_INTEGRAL.C: Set ptr to right arg token for use in Range Limit error handling. PO_INTEGRAL_VFP.C: Define early termination code for Numerical Integration if the epsilons are small enough. Change the RangeLimit code to double the ULP each time through the loop and return a TRUE/FALSE result. Re-organize the initialization code in . Build #2435 -- Version 0.5.16.xx -------------------------------- * Implement Variants of {domino} To Calculate The Hermite and Smith Normal Forms Directory branches/bsmith/NewTypes: PO_VARIANT.C: PO_VARIANT.H: STARTADDR.H: SYSVARS.H: Implement variants of {domino} to calculate the Hermite and Smith Normal Forms. Build #2433 -- Version 0.5.16.xx -------------------------------- * Fix Bug When []DC Converts a Boolean Arg To A Global Numeric Directory branches/bsmith/NewTypes: QF_DC.C: Fix bug when converting a Boolean arg to a Global Numeric. Build #2431 -- Version 0.5.16.xx -------------------------------- * Implement PadPlus And PadMinus To Scroll The Session Manager And Function Editor Screens Directory branches/bsmith/NewTypes: EDITFCN.C: SESSMAN.C: Implement PadPlus and PadMinus to scroll the Session Manager and Function Editor screens. Build #2429 -- Version 0.5.16.xx -------------------------------- * Avoid Using Special Sin|Cos|tan Rounding Code For Integral Multiples Of Pi/4 When Inside Numerical Integration * Move Code To Handle Infinite Integral Bounds To Where It Is Used Directory branches/bsmith/NewTypes: MPCHO.H: Call [sin|cos|tan]CT_Flt instead of [sin|cos|tan]. PERTAB.H: Delete unnecessary code in . Define new bit value to indicate whether we're inside Numerical Integration . PF_CIRCLE.C: Remove <#if FALSE/#endif> around <[sin|cos|tan]Vfp> as we now need it. PF_STAR.C: In <[sin|cos|tan][_Flt|_Vfp]>, test for and call <[sin|cos|tan]> if set. PO_INTEGRAL.C: Save old and set new value for bInIntegral> inside and restore old value upon exit. Move code to handle infinite integral bounds to where it is used. Build #2427 -- Version 0.5.16.xx -------------------------------- * Delete Trailing Blanks In Command Line Directory branches/bsmith/NewTypes: COMMON.C: Define new function to Delete Trailing Blanks in a string. MAIN.C: In , handle leading blanks in SWITCH stmt. In , delete trailing blanks when appending a workspace name. Build #2425 -- Version 0.5.16.xx -------------------------------- * Allow []TRACE And []STOP On '{del}' Directory branches/bsmith/NewTypes: QF_STRACE.C: Move test for {del} to before test for DOMAIN ERROR. Build #2423 -- Version 0.5.16.xx -------------------------------- * Fix Bugs In INTERRUPT Message Directory branches/bsmith/NewTypes: ERRMSG.C: Clean up to just set the error message to INTERRUPT. PARSELINE.C: In , check for and set the caret to the function's char index. In , if is detected, copy the error caret index to common location. In , remove dependency on whether or not was called when creating []DM and setting the interrupt line's text. Build #2421 -- Version 0.5.16.xx -------------------------------- * Stabilize The Text Caret Directory branches/bsmith/NewTypes: DEFINES.H: Define a new Window property to hold the Window's Caret Count. EDITFCN.C: SetFocus to Edit Ctrl, not the EC parent (SM or FE). Implement debugging routines (protected by CHECK_CARET). In , replace call to with to avoid double call to . Define and as cov er function so as to centralize those function. In functions that draw directly to the screen, first hide the caret and then show it at the end so avoid screen flicker. EXTERNS.H: Define global Caret Index as a DEBUGging aid. SESSMAN.C: In functions that draw directly to the screen, first hide the caret and then show it at the end so avoid screen flicker. SetFocus to Edit Ctrl, not the EC parent (SM or FE). Implement debugging routines (protected by CHECK_CARET). Directory branches/bsmith/NewTypes/WineHQ: EDITCTRL.C: Implement debugging routines (protected by CHECK_CARET). Use a Window property to hold the . Define to handle common code to Create, Position, and Show the caret. LOCAL.H: Define externs needed to Show/Hide the caret. WINECOM.H: Define DEBUGging aids for the caret functions. Build #2419 -- Version 0.5.16.xx -------------------------------- * Replace [LO|HI][WORD|SHORT] In Mouse Message Handlers With More Modern GET_[X|Y]_LPARAM Directory branches/bsmith/NewTypes: CRASH.C: CUSTOMIZE.C: DEBUG.C: EDITFCN.C: MAIN.C: PERFMON.C: REBAR.C: SESSMAN.C: STATUSBAR.C: TABCTRL.C: VER.C: Replace [LO|HI][WORD|SHORT] in mouse message handlers with more modern GET_[X|Y]_LPARAM Directory branches/bsmith/NewTypes/WineHQ: EDITCTRL.C: Replace [LO|HI][WORD|SHORT] in mouse message handlers with more modern GET_[X|Y]_LPARAM Build #2417 -- Version 0.5.16.xx -------------------------------- * Implement Vertical Maximize On Double-Click Of Top/Bottom Window Edge Directory branches/bsmith/NewTypes: EDITFCN.C: SESSMAN.C: Implement vertical maximize on double-click of top/bottom window edge. Build #2415 -- Version 0.5.16.xx -------------------------------- * Fix Display Bug In )SINL Directory branches/bsmith/NewTypes: SC_SI.C: Fix display bug in )SINL where there are too many Line Continuations. Build #2413 -- Version 0.5.16.xx -------------------------------- * Extend 2{pi} To Handle Powers Of 10 From 1E0 Through 1E27 Directory branches/bsmith/NewTypes: DISPDBG.C: Ignore global numerics in when displaying heap allocations. In , delete commented out lines. INITDATA.C In , initialize the global numerics in . MPFNS.C: Fix mistake in comment. Define DEBUG function . PF_PI.C: Fix typos in comments. In , if the arg is outside the s, use . Define to look for a match in . PRIMES.H: Extend comments. Define struc. Redefine to include MPIs and extend the table to 1E27. Build #2411 -- Version 0.5.16.xx -------------------------------- * Handle Syntax Of "DOP )" -> "DOR" So That "DOR" Can Curry Its Right Operand Directory branches/bsmith/NewTypes: PARSELINE.C: PARSELINE.H: Handle syntax of "DOP )" -> "DOR" so that "DOR" can curry its right operand. Build #2409 -- Version 0.5.16.xx -------------------------------- * Rename And To And As Per The Associated Context * Expand Macros To Accommodate Diferent Datatypes * Special Case Trig Functions (sin, cos, tan) When The Arg Is Near An Integer Multiple Of Pi/4 Directory branches/bsmith/NewTypes: CONVERT.C: DATATYPE.H: ENUMS.H: PF_DCARET.C: PF_UCARET.C: SYSVARS.H: TYPEMOTE.C: Rename and to and as per the associated context. DEFINES.H: MACROS.H: PF_STILE.C: Expand macros to accommodate diferent datatypes. FPCHO_COM.C: MPCHO_COM.C: PF_CIRCLE.C: PF_CIRCLE.MAC: PF_ROOT.C: PN_PROC.C: Special case trig functions (sin, cos, tan) when the arg is near an integer multiple of Pi/4. INITDATA.C: Initialize new PerTabData vars used in macros. MPFNS.C: Define new functions for macros, etc. PERTAB.H: Define new PerTabData vars for various System and GCD comparisons. PF_DSTILE.C: PF_EPSILON.C: PF_EQUAL.C: PF_EQUALUND.C: Rename and to and as per the associated context. Expand macros to accommodate diferent datatypes. PF_EPSUND.C: Make RAT_EXACT the default. Expand macros to accommodate diferent datatypes. PF_LCARET.C: Remove duplicate code. Expand macros to accommodate diferent datatypes. PF_LCARETUND.C: PF_NEQUAL.C: PF_RCARET.C: PF_RCARETUND.C: Expand macros to accommodate diferent datatypes. PF_STAR.C: Special case trig functions (sin, cos, tan) when the arg is near an integer multiple of Pi/4. Expand macros to accommodate diferent datatypes. STARTADDR.H: Remove reference to unused function. Build #2407 -- Version 0.5.16.xx -------------------------------- * Speedup Factoring So As To Handle 50-Digit Numbers By Using FLINT * Provide A Choice Of Factoring Algorithms Directory branches/bsmith/NewTypes: HEADERS.H: #include fmpz.h. MAKEFILE.INC: MAKEFILE.SRC: Remove MSieve modules. MPFNS.C: Define mpq_init_set_fmpz. NARS2000.VCXPROJ: Define preprocessor constants. Remove old files. PF_PI.C: Remove old factoring and include new FLINT factoring. PO_VARIANT.C: PO_VARIANT.H: Allow a choice of FLINT factoring algorithms. PRIMES.H: Include table from . SYSVARS.H: Define allowed values for Factoring Algorithms. Build #2405 -- Version 0.5.16.xx -------------------------------- * Define Axis Operator for Numerical Partial Derivative's Major Values Directory branches/bsmith/NewTypes: EXECMFN.C: EXECMFN.H: Include Magic Function for Numerical Partial Derivative's major values. MF_DERIV.H: Define Magic Function for Numerical Partial Derivative's major values. PO_DERIV.C: Handle Axis Operator for Numerical Partial Derivative's major values. VER.RC: Increment version # to 0.5.16.xx.