The Racket repository
Go to file
Neil Toronto f42cc6f14a Fixed major performance issue with matrix arithmetic; please merge to 5.3.2
The fix consists of three parts:

1. Rewriting `inline-matrix*'. The material change here is that the
   expansion now contains only direct applications of `+' and `*'.
   TR's optimizer replaces them with `unsafe-fx+' and `unsafe-fx*',
   which keeps intermediate flonum values from being boxed.

2. Making the types of all functions that operate on (Matrix Number)
   values more precise. Now TR can prove that matrix operations preserve
   inexactness. For example, matrix-conjugate : (Matrix Flonum) ->
   (Matrix Flonum) and three other cases for Real, Float-Complex, and
   Number.

3. Changing the return types of some functions that used to return
   things like (Matrix (U A 0)). Now that we worry about preserving
   inexactness, we can't have `matrix-upper-triangle' always return a
   matrix that contains exact zeros. It now accepts an optional `zero'
   argument of type A.
2013-01-21 22:04:04 -07:00
collects Fixed major performance issue with matrix arithmetic; please merge to 5.3.2 2013-01-21 22:04:04 -07:00
doc updated release notes for 5.3.2. 2013-01-21 10:13:14 -08:00
man/man1 Remove old packages 2012-07-13 15:43:59 -04:00
src New Racket version 5.3.2.2. 2013-01-19 03:30:14 -05:00
.gitattributes Don't include git files in archives. 2010-05-12 01:46:05 -04:00
.gitignore Moved default location for compiled-root for easier tab-completion of "collects/". 2012-09-26 14:50:31 -04:00
.mailmap Another email for Matthew. 2012-11-07 11:22:19 -05:00
README 2012 -> 2013 2013-01-09 01:17:26 -05:00

The Racket Programming Language
===============================

Instructions for building Racket from source are in src/README.

The main executables in this package:

* DrRacket: Racket's integrated development environment (start here!).

* racket: command-line tool for running Racket programs.

* raco: command-line tool for compilation, documentation, and more.


More Information
----------------

For Racket documentation, use DrRacket's `Help' menu, run the `Racket
Documentation' application (Windows or Mac OS X), or run `raco docs'
from a command line.

Visit us at
   http://racket-lang.org/ 
for more Racket resources.


License
-------

Racket
Copyright (c) 2010-2013 PLT Scheme Inc.

Racket is distributed under the GNU Lesser General Public License
(LGPL).  This means that you can link Racket into proprietary
applications, provided you follow the rules stated in the LGPL.  You can
also modify Racket; if you distribute a modified version, you must
distribute it under the terms of the LGPL, which in particular means
that you must release the source code for the modified software.  See
doc/release-notes/COPYING.txt for more information.