- Jul 04, 2018
-
-
Raymond Toy authored
Update tests to reflect the change in names.
-
Raymond Toy authored
The current bignum multiplier creates temp space to hold the absolute value of the bignums and then negates the result (in-place) at the end. Instead, use the algorithm from Hacker's Delight that pretends the numbers are unsigned, does the unsigned multiply and finally corrects the result. No extra memory is needed for this.
-
- May 12, 2018
-
-
Raymond Toy authored
-
- Mar 14, 2018
-
-
Raymond Toy authored
Just change the date on the manual to the date of the 21c release. Now that we can create the html pages again with hevea, we can update this.
-
- Mar 05, 2018
-
-
Philip Fominykh authored
-
Philip Fominykh authored
Added argument #5 to \layout to act as prelude. Putting index and spacing commands there eliminates extra paragraph.
-
- Feb 19, 2018
-
-
Raymond Toy authored
Fixes #61 and #62. The `ARRAY-HAS-FILL-POINTER-P` and `ARRAY-DISPLACEMENT` functions are declared inline and the compiler tries to constant-fold these inlined functions operating on simple arrays. Thus don't allow the compiler to constant-fold calls to `%ARRAY-FILL-POINTER-P`. This is normally protected by a call to `ARRAY-HEADER-P`, but when it's inlined, the compiler tries to constant-fold `%ARRAY-FILL-POINTER-P` on an array without such a slot. Likewise `ARRAY-DISPLACEMENT` calls `%ARRAY-DISPLACED-P`, `%ARRAY-DATA-VECTOR`, and `%ARRAY-DISPLACEMENT`, and the calls are protected by `ARRAY-HEADER-P`. So don't constant-fold these either. Maybe we could also make CONSTANT-FOLD-CALL be smarter about this? * src/compiler/generic/objdef.lisp * Remove flushable from these ref-trans methods. * src/general-info/release-21d.md * Update * tests/issues.lisp * Add tests from the bug reports.
-
- Feb 18, 2018
-
-
Raymond Toy authored
The deftransforms `upgraded-complex-real-contagion-arg1` and `upgraded-complex-real-contagion-arg2` were coercing the complex number to the exact type of the float number. Because of the `THE` form, the type of the float was `(member 1d0)`, so the compiler was coercing `#c(1/2 1/2)` to `(complex (double-float 1d0))`, which is wrong. Therefore, coerce the complex to just the type format of the real part, ignoring any bounds. * src/compiler/float-tran.lisp * Coerce to format type, discarding any bounds * src/general-info/release-21d.md * Update notes * tests/issues.lisp * Added test for this
-
Raymond Toy authored
Remove the symbol `C::%UNARY-FROUND` and just let the compiler package inherit it from the kernel package. * src/bootfiles/21c/boot-2018-02-1.lisp * Use this to bootstrap the change (by uninterning the symbol) * src/code/float.lisp * Just export %unary-fround * src/general-info/release-21d.md * Update * tests/issues.lisp * Add test for this issue
-
- Feb 13, 2018
-
-
Philip Fominykh authored
-
Philip Fominykh authored
-
- Feb 10, 2018
-
- Feb 04, 2018
-
-
Raymond Toy authored
If 0 is the lower bound then the smallest exponent is not for 0, but for the least positive float because of denormals. Also handle exclusive bounds.
-
- Feb 03, 2018
-
-
Raymond Toy authored
Type derivation for exponent part of decode-float was incorrect. We need to take the absolute value of the argument before deriving the type since the exponent is, of course, independent of the sign of the number. In the test case, the negative interval caused the lower and upper bounds to be reversed, resulting in an invalid interval.
-
- Jan 29, 2018
-
-
Raymond Toy authored
* Print multiple splices correclty without the extra set of parenthesis around each splice. * Add test for this.
-
- Jan 28, 2018
-
-
Raymond Toy authored
- src/tools/worldbuild.lisp - only compile rand-xoroshiro if :random-xoroshiro is a feature - src/tools/worldload.lisp - only load rand-xoroshiro if :random-xoroshiro is a feature - tests/rng.lisp - Add a quick test that the state vector of the *random-state* has the correct type.
-
Raymond Toy authored
The previous commit worked for search lists, but the program could be a string. Take care to convert pathnames to strings so that spawn is always called with a string.
-
- Jan 27, 2018
-
-
Raymond Toy authored
When invoking motifd, the program name is #p:'library:motifd". This is passed directly to spawn (a C routine), which only accepts strings. So, before calling spawn, convert the program path to a unix namestring. This allows the example from the bug to run without crashing.
-
Raymond Toy authored
-
Raymond Toy authored
[skip-ci]
-
Raymond Toy authored
Some files were moved to clx/extensions, so need to update the build paths appropriately.
-
Raymond Toy authored
[skip-ci]
-
Raymond Toy authored
[skip-ci]
-
- Jan 24, 2018
-
-
Raymond Toy authored
Don't know why this doesn't work, but removing it makes the macro compile correctly.
-
Raymond Toy authored
Brought back from the master branch.
-
Raymond Toy authored
bin/build-utils.sh: * Temporarily turn off -batch clx/dependent.lisp: * WITH-ARRAY-DATA is in the LISP package, not KERNEL clx/provide.lisp: * For cmucl, don't compile anything else after (provide :clx)
-
Raymond Toy authored
This is an import from https://github.com/sharplispers/clx, revision 6e39a0d, unchanged. git describe --tags says: 0.7.4-19-g6e39a0d Not yet tested with cmucl.
-
- Jan 13, 2018
-
- Dec 29, 2017
-
-
Raymond Toy authored
Make RANDOM compute the value the same way as the deftransform would do when the arg is a 32-bit integer. The deftransform is still currently disabled for random-xoroshiro, though.
-
Raymond Toy authored
-
Raymond Toy authored
Don't use the portable xoroshiro-gen on x86 and sparc!
-
Raymond Toy authored
-
Raymond Toy authored
-
- Dec 28, 2017
-
-
Raymond Toy authored
Add comment for %random-double-float to use xoroshiro-gen directly instead of random-chunk twice. A minor micro optimization.
-
Raymond Toy authored
The vop greatly speeds up the generator on sparc. The time to generate 10,000,000 single-floats (on a 1 GHz Ultrasparc 3i) is: mt19937: 1.32 sec xoroshiro: 1.03 sec So xoroshiro is 22% faster than mt19937.
-
Raymond Toy authored
-
Raymond Toy authored
Also compute the array offsets just once so we're consistent between loading and storing.
-
- Dec 27, 2017
-
-
Raymond Toy authored
-
Raymond Toy authored
Not yet working. Cross-compile works and generates appropriate code, but can't rebuild lisp using the cross-compiled lisp.
-
Raymond Toy authored
Set default value for state in VEC-INIT-XORO-STATE. If not given, initialize it to the correct array.
-