This reverts commit c2468f1f9a.
The libjpeg documentation claims that it has no static state,
so atomic mode shouldn't be necessary. Also, the stress test is
still failing on some platforms, so there must be a different
problem than I thought.
Revert "do a little bit better job compressing the bytes"
This reverts commit 099a35881e.
Revert "adjust file to use the literal bytes for the ufo image"
This reverts commit fdd9344b27.
* Consolidated Gauss and Gauss-Jordan elimination
* Fixed Gaussian elimination to return all indexes for pivotless columns,
not just those < m
* Consolidated `matrix-row-echelon' and `matrix-reduced-row-echelon'
* Specialized row reduction for determinants; removed option to not do
partial pivoting (it's never necessary otherwise)
* Added `matrix-invertible?'
* Removed `matrix-solve-many'; now `matrix-solve' solves for multiple
columns
* Gave `matrix-inverse' and `matrix-solve' optional failure thunk arguments
* Made some functions that return multiple columns return arrays instead
(i.e. `matrix-column-space')
* Added more tests
The version number is included as the query part of the constructed
URL, so it is easily ignored by a server. The intent is that the
PLT PNRs will eventually support version-specific results.
* Split "matrix-constructors.rkt" into three parts:
* "matrix-constructors.rkt"
* "matrix-conversion.rkt"
* "matrix-syntax.rkt"
* Made `matrix-map' automatically inline (it's dirt simple)
* Renamed a few things, changed some type signatures
* Fixed error in `matrix-dot' caught by testing (it was broadcasting)
* Rewrote matrix comprehensions in terms of array comprehensions
* Removed `in-column' and `in-row' (can use `in-array', `matrix-col' and
`matrix-row')
* Tons of new rackunit tests: only "matrix-2d.rkt" and
"matrix-operations.rkt" are left (though the latter is large)
* Finally added `array-axis-expand' as a dual for `array-axis-reduce'
in order to implement `vandermonde-matrix' elegantly
* Better, shorter matrix multiply; reworked all matrix arithmetic
* Split "matrix-operations.rkt" into at least 5 parts:
* "matrix-operations.rkt"
* "matrix-basic.rkt"
* "matrix-comprehension.rkt"
* "matrix-sequences.rkt"
* "matrix-column.rkt"
Added "matrix-constructors.rkt"
Added `matrix', `row-matrix', and `col-matrix' macros
A lot of other little changes
Currently, `in-row' and `in-column' are broken. I intend to implement
them in a way that makes them work in untyped and Typed Racket.
JPEG reading and writing involve callbacks that need to be
atomic, since the stack-swapping games that a Racket thread
switch plays may not be ok with the JPEG library (as exposed
by the stress test). So, the JPEG reading and writing code
must read/write a string port, instead of directly from/to
the source/destination port, since a string port can be
used in atomic mode.