<
Next version of Ox>
<
Previous version of Ox>
Ox 3.30: new features and fixes
New features and enhancements
- intersection index, exclusion index
- Improved MaxSimplex error messages; check for vDelta=0
- Threes example for mingw C/C++ compiler
- dayofcalender and dayofweek can now be used in the
opposite direction
- set default fuzziness to 1e-13, and made range()
for non-integer arguments independent of fuzziness settings.
- extended QuadPack with QAW? functions and QPWARN
- added oxprintlevel to switch printing off
- extended oxwarning
- third/fourth argument of many random
number generators can now be an r x c matrix.
- Can now do indexed assignment to int/double,
e.g. decl x = 1; x[0] = 2;
- String concatenation and substring now use
actual size, rather than up to ending \0.
- Now allowing string with embedded \0 as well
as octal escape sequences.
- feof previously returned non-zero after an attempt
to read past the end of the file. Now it will return TRUE
if the next read will be past the end of the file.
Problems in version 3.20 which have been fixed in version 3.30:
- sortc(zeros(0,1)) leads to crash
- ranwishart was incomplete and useless.
- vech of scalar returned zero.
- Database::RemoveObsIf() and Database::Grow()
would result in GetYear2() and GetSample2() to be out by
one observation.
- Use of -i.. switch under Linux/Unix could lead to a crash.
- MaxSQP: equality constraints only: merit function
could become .NaN if the weights of the inequality constraints
(eventhough they should be irrelevant) end up at zero.
- Database class: for monthly data, the first seasonal
variable did not correspond to January.
- calls of type var->class::function was not allowed
inside other classes.
- Calls to SetDraw before any drawing functions would
be ignored when running via oxl.
- outer(mx,<>,'o') gave empty matrix error message
- deleter(x, 0); also deletes missing values,
but should only delete rows with zeros. Same for deletec.
- densities/probabilities of distributions
defined over (0,Inf) sometimes returned
the wrong value for arguments in (-Inf,0].
- invert,invertsym,invertgen return empty matrix
if argument is empty matrix.
-
OxGauss (thanks to Sébastien Laurent)
- seqm is wrong; seqa(10,0,3) is wrong
- "string"$x; didn't work
- loadd for dat or dht/dat datafile didn't work
- string * ones(r,c) was not allowed.
- improved dstat, scalerr, indcv, indices
- a[b[j]] type expressions could go wrong
- format with precision 0 didn't work
- load x,y; didn't work
- load at external level now also declares variables if necessary
- token(" ") would have index error
- added screen off; screen on;
- added ndpchk, ndpclex, ndpcntrl back in
- ismiss({}) should return TRUE
- clear,clearg,close,declare,delete,external: separating , is optional
- quoted string with linebreaks was not treated correctly yet.
- ignoring Ctrl+Z (\x1a)
- save path=^spath AA; didn't work (aa would be OK)
- trace 0; skipped
- "aap" -noot; now allowed
- indices, indices2, import, ols
- eqsolve, qnewton
- some more pgraph improvements
- following didn't work:
declare _penalt ?= 1;
declare _penalt ?= 0;
- 1./x now doesn't give warning anymore
- column_vector .^ row_vector is allowed
- implicit let with matrix dimensions now allowed, e.g.: m[2,2] = {1 2,3 4};
- undefined variable now treated as function unless followed
by = or [. This allows (e.g.) forward reference to graphset
or function without arguments.
- fixed bug with declaration of library variables when loading a
library inside a function.
- declare and external now allowed inside function
- created autoloading of undefined functions (as .src, .g or .oxgauss)
- ftos didn't allow leading and trailing text;
- shiftr didn't shift left properly (negative shift)
- shiftr didn't do `tabular' version
- xpnd was wrong (not equivalent to unvech)
- load/loadd/loads had fclose missing
- 0$+x didn't work of x was matrix with strings
- lnpdfn was wrong; added lnpdfnmvn
- load/loadm/loads/loadd now allow filename without extension
- some improvements in graphp: improved bar,hist,histp;
added loglog,logx,logy; all graphs now shown in new windows
- load would only accept constant matrix dimensions
- ^Filename in load/save would not work because of uppercase
- declare matrix b, c; was not allowed, only single declaration.
- format always expected width,precision arguments
- proc(0) foo(a); would print 0.000 if called as: foo(a); instead of call foo(a);
- for loop would not work with negative increments
- x[1 ] would give error message (cause by space before ])
- x = 1; x[1] = 2; would give an error message:
Runtime error: 'int' cannot index this type
- \000 in a string was not recognized
- .NE/.LE/.GE didn't work, while .ne/.le/.ge did
- filesa,files
Ox version 3.30.
©
JA Doornik
This file last changed .