[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: bignum branch
Re: bignum branch
Sun, 05 Aug 2018 11:46:17 +0100
Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (windows-nt)
On Sat 04 Aug 2018, Tom Tromey wrote:
>>>>>> "Andy" == Andy Moreton <address@hidden> writes:
> Andy> The patch has been tested with the attached ccl-tests.el ERT tests to
> Andy> check that ash/lsh shifts behave properly, and that the CCL machinery
> Andy> uses its 28bit codewords correctly in a bignum build.
> Andy> Please check this works for you, and feel free to commit it to the
> Andy> bignum branch.
> I've applied the patch but the new test fails for me.
> I've appended the log.
The test failure is caused by a missing space in the expected CCL dump
output. The following (add a single space) works for me:
diff --git a/test/lisp/international/ccl-tests.el
index d0c254ce91..ba6d2040e8 100644
@@ -162,7 +162,7 @@ prog-midi-dump
2:[read-jump-cond-expr-const] read r0, if !(r0 < 128), jump to 22(+20)
5:[branch] jump to array[r3] of length 4
- 11 12 15 18 22
+ 11 12 15 18 22
11:[jump] jump to 2(-9)
12:[set-register] r1 = r0
13:[set-register] r0 = r4
> I fixed a couple of trivial formatting issues in your patch, and I also
> added a comment by ccl-fixnum, but otherwise it's what you wrote.
Thanks. I was going to add the explanation I gave to Eli earlier in this
;; The CCL compiled codewords are 28bits, but the CCL implementation
;; assumes that the codewords are sign-extended, so that data constants in
;; the upper part of the codeword are signed. This function truncates a
;; codeword to 28bits, and then sign extends the result to a fixnum.
Perhaps you could add that to give a more detailed explanation.
Hopefully nobody else will need to do anything further to CCL until it
is deprecated and removed. :-)
Re: bignum branch, Tom Tromey, 2018/08/03
Re: bignum branch, Tom Tromey, 2018/08/04
Re: bignum branch, Charles A. Roelli, 2018/08/09