1.0.45.25: better constant folding in arithmetic functions
authorNikodemus Siivola <nikodemus@random-state.net>
Sat, 12 Feb 2011 15:42:48 +0000 (15:42 +0000)
committerNikodemus Siivola <nikodemus@random-state.net>
Sat, 12 Feb 2011 15:42:48 +0000 (15:42 +0000)
commit8466309b55b6d28e0b850384362d255b969fceef
tree8d3c61a1be58be0004d660cc3b473f0e970ad436
parentb96ec9c06831fd5b3cee650196681663f0fed7ad
1.0.45.25: better constant folding in arithmetic functions

 Patch by Heka Deep, lp#676414, edited to retain identities
 and added a random-tester.

 * Folds constants in expressions such as (+ 3 a 5 b 7 c).

 * Constants are collected by calling the `reduce-constants' function
   from the `source-transform-transitive' and
   `source-transform-intransitive' functions. Constants adding up to
   identities are retained so that SNaNs don't sneak past.
NEWS
src/compiler/srctran.lisp
tests/arith.pure.lisp
version.lisp-expr