Commit Graph

25 Commits

Author SHA1 Message Date
Vincent St-Amour
56fde8109f Fixed unboxing of let bindings.
original commit: 5892ef2fad2c92346cd2871e25846696f3312185
2010-07-23 18:52:46 -04:00
Vincent St-Amour
5c75aa1793 Fixed typo.
original commit: 12ce9abda6916bd590ac76666a6f3db4a63dd2f3
2010-07-23 18:52:45 -04:00
Vincent St-Amour
a479e9d5e3 The optimizer now ignores expressions ignored by the typechecker.
original commit: 82b064a520405575ea69e453dfd768ac2df2b17c
2010-07-23 18:52:44 -04:00
Vincent St-Amour
eb60ac080a let bindings of inexact-complex numbers can be replaced by bindings
for each of their components.

This allows unboxing of intermediate results that are bound and only
ever used in positions where they would be unboxed.

original commit: 83987fffac7719ab0c35d3df49ea0a7adf4bc9b6
2010-07-23 18:52:42 -04:00
Vincent St-Amour
fe68e29caa Optimized extracting parts of inexact complexes.
original commit: 063b87697a333b2b8f53e6d2b8a43e8f500e2762
2010-07-23 18:52:42 -04:00
Vincent St-Amour
2ef2641a4d Refactoring of the optimizer.
original commit: 0493e6f7623361a289989654d25deac19e552de6
2010-07-23 18:52:41 -04:00
Sam Tobin-Hochstadt
69476bba24 Optimize (apply + (map f l)) to avoid the intermediate list.
original commit: 5bb730f72c91f52166009d1e5fbe52a346c91edf
2010-07-23 14:11:40 -04:00
Vincent St-Amour
9bef097987 Optimizations on one-argument cases of arithmetic operations.
original commit: 0ee0886cab6989843a9bef1eb3797657e0f1d0c2
2010-07-21 21:09:43 -04:00
Vincent St-Amour
6c0c6b3f65 Added optimization for string-length and bytes-length.
original commit: 4e944f73abc138b7d283020bf5c577fe6ecf6e95
2010-07-21 21:09:42 -04:00
Vincent St-Amour
19f4d78569 Added box optimizations.
original commit: d6ce6e664f0bd361207725fb3ea9b2a265f39374
2010-07-21 21:09:42 -04:00
Vincent St-Amour
9fea49db55 Added optimization for zero?.
original commit: 47195410cbbe7d19ac6e33175fd57bfce6e6c4b3
2010-07-21 21:09:40 -04:00
Vincent St-Amour
1657089284 Added mutable pair optimizations.
original commit: fc29e7e8562e4b00c6e7de5882d8ccf374051ca1
2010-07-16 12:22:16 -04:00
Vincent St-Amour
295b5daa2d Fixed an infinite loop.
original commit: f21454e71141feb491c88cf7f83636ee55c76775
2010-07-16 12:22:16 -04:00
Vincent St-Amour
210446e679 The imaginary parts of reals are ignored when doing complex division.
original commit: c587038b339b98ea14f90d683706c470aed05f24
2010-07-16 12:22:15 -04:00
Vincent St-Amour
4da58f05c4 Fixnums and integers can now be coerced for complex operations.
original commit: 443d8b9f917055d051844bb1cd4078a75dcdd592
2010-07-16 12:22:15 -04:00
Vincent St-Amour
b6597e15ed The imaginary parts of inexact reals are ignored when doing complex multiplication.
original commit: c645aa7ebcb6f53686bee78caf3a66af51c36142
2010-07-16 12:22:15 -04:00
Vincent St-Amour
5f878b83bc The imaginary parts of inexact reals are ignored when doing complex
addition or subtraction.

original commit: 748e9e47ad65c31d653907623b17689b47c76269
2010-07-16 12:22:13 -04:00
Vincent St-Amour
6ec1b3686b Added coercions for floats with unboxed complex operations.
However, this generates superfluous operations involving their
imaginary part of 0.

original commit: 025af5b815503cb4aa64f0a253204016ccba7383
2010-07-16 12:22:13 -04:00
Vincent St-Amour
f5c518398f Enabled optimization of complex conjugate at the top level of complex operations.
original commit: fff71e6a1d5746bf30ec7b3d64ec63ccd43f8065
2010-07-16 12:22:12 -04:00
Vincent St-Amour
4e3f1c1e4b Added unboxed complex conjugate.
original commit: 063211d92263267b8e6b2703af70d9a46e7186bf
2010-07-16 12:22:12 -04:00
Vincent St-Amour
19781fc153 Added optimizations for iterating over vectors and strings.
original commit: 0b0da84eba4fe7dcab87e4e5eed5dd213de2dc9f
2010-07-16 12:22:12 -04:00
Vincent St-Amour
70cfe1b953 Added dead code elimination.
original commit: 1e550139aa67631ffc965027584284b61453b634
2010-07-16 12:22:11 -04:00
Vincent St-Amour
a128800e24 Pushed optimizations to auxiliary syntax classes.
original commit: dbda43ac6ba5d7e001cde75b16e39fcf3f60b5e1
2010-07-08 18:29:15 -04:00
Vincent St-Amour
8deff8c920 Refactoring of the optimizer.
original commit: c3f46cc8a6512379ead3cf99cf94fe426bec3f5a
2010-07-08 18:29:15 -04:00
Vincent St-Amour
e9ff5ae34d Moved Typed Scheme's optimizer to its own subdirectory.
original commit: 24aad77da3e3c2e411642cdb08fffaaa31a0b1cb
2010-07-08 18:29:15 -04:00