<Next version of Ox>
<Previous version of Ox>
Ox: Fixes and new features in version 1.07
New features and remarks, version 1.07

Matrix cache enhancements. Ox 1.07 can be up to 3 times faster
than version 1.06. The speed improvement is obtained by optimization
of the runtime engine, and introduction of an internal cache.
The size of the cache can be controlled. To switch off caching,
use rc0,0 as a command line argument.

There are changes in the command line switches, run Ox without source code
to see.

New functions: exit, fft,
isdotfeq, lower, limits, vecr,
prodc, prodr, setdiagonal, setlower, setupper,
strlwr, strupper, sumsqrc, sumsqrr, upper.

invert() now optionally returns the logarithm of the absolute
determinant, and the sign (not the determinant anymore).

determinant() will now print a message if the result is deemed unreliable.
Remaining LU based routines (declu, logdet, invert) can signal
in the return code that the result could be unreliable.

Now interpreting m[a] as m[vecr(a)] if a is a matrix.

Introduction of dotrelational operators (. .&& .!= .== .>= .>
.< .<=). These will al return a matrix of zeros and ones.
The operators without a dot will return the scalar 1 or 0.
Most code will be unaffected, but if you use dotconditional
expressions, you will have to use the dotrelational operators in it.

Rudimentary Gauss to Ox translator.

The loadmat() and savemat() functions can now
directly load/save the following file types: PcGive (.in7.bn7),
Excel (.xls, up to version 4), Lotus (wks, wk1), Gauss data (.xht/.dat)
and Gauss matrix (.fmt) files.
These can also be loaded directly into a database.

An external declaration can now specify matrix size, e.g:
decl x[5][5] = 1;

Introduction of 'How to' chapter.
Fixed bugs in version 1.07
There was a partial rewrite of the runtime engine
(especially matrix indexing and function calling).

When assigning x, when x is
const decl x;
at external level, to a class member, the class member would
suddenly become static.

Fixed bug in x[][] = , and in ing from [0][1] matrix.

There was a problem with declu when giving a upper triangular
matrix as input (could think it was singular). Changed the
algorithm. Also, returned U didn't have lower triangular part
set to zero.

olsc() and olsr() return the wrong (X'X)^1 matrix (ols2c
and ols2r are correct).

simnor.ox works fine in OxRun, but gives out of memory message
in Oxlw. This is caused by the graphics, but I haven't been able to
locate the problem yet.