[Ecls-list] [ecl][release][15.3.7]
Daniel Kochmański
jackdaniel at hellsgate.pl
Sun Mar 8 12:58:38 UTC 2015
Hey,
thanks for reporting. I'm aware about float formatting and it's on my
todo list. I think fix will be pretty straightforward, but didn't
investigate it enough to say for sure.
BR,
Daniel
Andrey G. Grozin writes:
> I've just committed ecls-15.3.7.ebuild to Gentoo linux. Compilation
> --with-sse now works. ecl compiles maxima-5.35.1 successfully. maxima runs
> its testsuite successfully, except
>
> Running tests in rtest16:
> ********************** Problem 50 ***************
> Input:
> block([L1 : [[1.2E-10, 1.2E-9, 1.2E-8, 1.2E-7, 1.2E-6, 1.2E-5, 1.2E-4,
> 0.0012,
> 0.012, 0.12, 1.2, 1.2E+1, 1.2E+2, 1.2E+3, 1.2E+4, 1.2E+5, 1.2E+6, 1.2E+7,
> 1.2E+8, 1.2E+9, 1.2E+10], [1.23E-10, 1.23E-9, 1.23E-8, 1.23E-7, 1.23E-6,
> 1.23E-5, 1.23E-4, 0.00123, 0.0123, 0.123, 1.23, 12.3, 1.23E+2, 1.23E+3,
> 1.23E+4, 1.23E+5, 1.23E+6, 1.23E+7, 1.23E+8, 1.23E+9, 1.23E+10],
> [1.234E-10, 1.234E-9, 1.234E-8, 1.234E-7, 1.234E-6, 1.234E-5, 1.234E-4,
> 0.001234, 0.01234, 0.1234, 1.234, 12.34, 123.4, 1.234E+3, 1.234E+4,
> 1.234E+5,
> 1.234E+6, 1.234E+7, 1.234E+8, 1.234E+9, 1.234E+10],
> [1.2344E-10, 1.2344E-9, 1.2344E-8, 1.2344E-7, 1.2344E-6, 1.2344E-5,
> 1.2344E-4,
> 0.0012344, 0.012344, 0.12344, 1.2344, 12.344, 123.44, 1234.4, 1.2344E+4,
> 1.2344E+5, 1.2344E+6, 1.2344E+7, 1.2344E+8, 1.2344E+9, 1.2344E+10],
> [1.23443E-10, 1.23443E-9, 1.23443E-8, 1.23443E-7, 1.23443E-6, 1.23443E-5,
> 1.23443E-4, 0.00123443, 0.0123443, 0.123443, 1.23443, 12.3443, 123.443,
> 1234.43, 12344.3, 1.23443E+5, 1.23443E+6, 1.23443E+7, 1.23443E+8,
> 1.23443E+9,
> 1.23443E+10], [1.234432E-10, 1.234432E-9, 1.234432E-8, 1.234432E-7,
> 1.234432E-6, 1.234432E-5, 1.234432E-4, 0.001234432, 0.01234432, 0.1234432,
> 1.234432, 12.34432, 123.4432, 1234.432, 12344.32, 123443.2, 1.234432E+6,
> 1.234432E+7, 1.234432E+8, 1.234432E+9, 1.234432E+10],
> [1.2344321E-10, 1.2344321E-9, 1.2344321E-8, 1.2344321E-7, 1.2344321E-6,
> 1.2344321E-5, 1.2344321E-4, 0.0012344321, 0.012344321, 0.12344321,
> 1.2344321,
> 12.344321, 123.44321, 1234.4321, 12344.321, 123443.21, 1234432.1,
> 1.2344321E+7, 1.2344321E+8, 1.2344321E+9, 1.2344321E+10],
> [1.23443211E-10, 1.23443211E-9, 1.23443211E-8, 1.23443211E-7,
> 1.23443211E-6,
> 1.23443211E-5, 1.23443211E-4, 0.00123443211, 0.0123443211, 0.123443211,
> 1.23443211, 12.3443211, 123.443211, 1234.43211, 12344.3211, 123443.211,
> 1234432.11, 1.23443211E+7, 1.23443211E+8, 1.23443211E+9, 1.23443211E+10],
> [1.234432112E-10, 1.234432112E-9, 1.234432112E-8, 1.234432112E-7,
> 1.234432112E-6, 1.234432112E-5, 1.234432112E-4, 0.001234432112,
> 0.01234432112,
> 0.1234432112, 1.234432112, 12.34432112, 123.4432112, 1234.432112,
> 12344.32112,
> 123443.2112, 1234432.112, 1.234432112E+7, 1.234432112E+8, 1.234432112E+9,
> 1.234432112E+10], [1.2344321123E-10, 1.2344321123E-9, 1.2344321123E-8,
> 1.2344321123E-7, 1.2344321123E-6, 1.2344321123E-5, 1.2344321123E-4,
> 0.0012344321123, 0.012344321123, 0.12344321123, 1.2344321123,
> 12.344321123,
> 123.44321123, 1234.4321123, 12344.321123, 123443.21123, 1234432.1123,
> 1.2344321123E+7, 1.2344321123E+8, 1.2344321123E+9, 1.2344321123E+10],
> [1.23443211234E-10, 1.23443211234E-9, 1.23443211234E-8, 1.23443211234E-7,
> 1.23443211234E-6, 1.23443211234E-5, 1.23443211234E-4, 0.00123443211234,
> 0.0123443211234, 0.123443211234, 1.23443211234, 12.3443211234,
> 123.443211234,
> 1234.43211234, 12344.3211234, 123443.211234, 1234432.11234,
> 1.23443211234E+7,
> 1.23443211234E+8, 1.23443211234E+9, 1.23443211234E+10],
> [1.234432112344E-10, 1.234432112344E-9, 1.234432112344E-8,
> 1.234432112344E-7,
> 1.234432112344E-6, 1.234432112344E-5, 1.234432112344E-4,
> 0.001234432112344,
> 0.01234432112344, 0.1234432112344, 1.234432112344, 12.34432112344,
> 123.4432112344, 1234.432112344, 12344.32112344, 123443.2112344,
> 1234432.112344, 1.234432112344E+7, 1.234432112344E+8, 1.234432112344E+9,
> 1.234432112344E+10], [1.2344321123443E-10, 1.2344321123443E-9,
> 1.2344321123443E-8, 1.2344321123443E-7, 1.2344321123443E-6,
> 1.2344321123443E-5, 1.2344321123443E-4, 0.0012344321123443,
> 0.012344321123443,
> 0.12344321123443, 1.2344321123443, 12.344321123443, 123.44321123443,
> 1234.4321123443, 12344.321123443, 123443.21123443, 1234432.1123443,
> 1.2344321123443E+7, 1.2344321123443E+8, 1.2344321123443E+9,
> 1.2344321123443E+10], [1.23443211234432E-10, 1.23443211234432E-9,
> 1.23443211234432E-8, 1.23443211234432E-7, 1.23443211234432E-6,
> 1.23443211234432E-5, 1.23443211234432E-4, 0.00123443211234432,
> 0.0123443211234432, 0.123443211234432, 1.23443211234432, 12.3443211234432,
> 123.443211234432, 1234.43211234432, 12344.3211234432, 123443.211234432,
> 1234432.11234432, 1.23443211234432E+7, 1.23443211234432E+8,
> 1.23443211234432E+9, 1.23443211234432E+10],
> [1.234432112344321E-10, 1.234432112344321E-9, 1.234432112344321E-8,
> 1.234432112344321E-7, 1.234432112344321E-6, 1.234432112344321E-5,
> 1.234432112344321E-4, 0.001234432112344321, 0.01234432112344321,
> 0.1234432112344321, 1.234432112344321, 12.34432112344321,
> 123.4432112344321,
> 1234.432112344321, 12344.32112344321, 123443.2112344321,
> 1234432.112344321,
> 1.234432112344321E+7, 1.234432112344321E+8, 1.234432112344321E+9,
> 1.234432112344321E+10], [1.234432112344321E-10, 1.234432112344321E-9,
> 1.234432112344321E-8, 1.234432112344321E-7, 1.234432112344321E-6,
> 1.234432112344321E-5, 1.234432112344321E-4, 0.001234432112344321,
> 0.01234432112344321, 0.1234432112344321, 1.234432112344321,
> 12.34432112344321,
> 123.4432112344321, 1234.432112344321, 12344.32112344321,
> 123443.2112344321,
> 1234432.112344321, 1.234432112344321E+7, 1.234432112344321E+8,
> 1.234432112344321E+9, 1.234432112344321E+10],
> [1.234432112344321E-10, 1.234432112344321E-9, 1.234432112344321E-8,
> 1.234432112344321E-7, 1.234432112344321E-6, 1.234432112344321E-5,
> 1.234432112344321E-4, 0.001234432112344321, 0.01234432112344321,
> 0.1234432112344321, 1.234432112344321, 12.34432112344321,
> 123.4432112344321,
> 1234.432112344321, 12344.32112344321, 123443.2112344321,
> 1234432.112344321,
> 1.234432112344321E+7, 1.234432112344321E+8, 1.234432112344321E+9,
> 1.234432112344321E+10], [1.234432112344321E-10, 1.234432112344321E-9,
> 1.234432112344321E-8, 1.234432112344321E-7, 1.234432112344321E-6,
> 1.234432112344321E-5, 1.234432112344321E-4, 0.001234432112344321,
> 0.01234432112344321, 0.1234432112344321, 1.234432112344321,
> 12.34432112344321,
> 123.4432112344321, 1234.432112344321, 12344.32112344321,
> 123443.2112344321,
> 1234432.112344321, 1.234432112344321E+7, 1.234432112344321E+8,
> 1.234432112344321E+9, 1.234432112344321E+10],
> [1.234432112344321E-10, 1.234432112344321E-9, 1.234432112344321E-8,
> 1.234432112344321E-7, 1.234432112344321E-6, 1.234432112344321E-5,
> 1.234432112344321E-4, 0.001234432112344321, 0.01234432112344321,
> 0.1234432112344321, 1.234432112344321, 12.34432112344321,
> 123.4432112344321,
> 1234.432112344321, 12344.32112344321, 123443.2112344321,
> 1234432.112344321,
> 1.234432112344321E+7, 1.234432112344321E+8, 1.234432112344321E+9,
> 1.234432112344321E+10]], L2 : block([foo : 1.234432112344321],
> n
> makelist(block([fpprintprec : m], makelist(string(foo 10 ), n, - 10, 10)),
> m,
> 2, 20))], map(lambda([s1, s2], if sequalignore(s1, s2) then true
> else s2 # s1), flatten(L1), flatten(L2)), delete(true, %%))
>
>
> Result:
> [12.3e-11 # 1.2E-10, 12.3e-10 # 1.2E-9, 12.3e-9 # 1.2E-8, 12.3e-8 #
> 1.2E-7,
> 12.3e-7 # 1.2E-6, 12.3e-6 # 1.2E-5, 12.3e-5 # 1.2E-4, 12.34e-11 #
> 1.23E-10,
> 12.34e-10 # 1.23E-9, 12.34e-9 # 1.23E-8, 12.34e-8 # 1.23E-7,
> 12.34e-7 # 1.23E-6, 12.34e-6 # 1.23E-5, 12.34e-5 # 1.23E-4,
> 12.344e-11 # 1.234E-10, 12.344e-10 # 1.234E-9, 12.344e-9 # 1.234E-8,
> 12.344e-8 # 1.234E-7, 12.344e-7 # 1.234E-6, 12.344e-6 # 1.234E-5,
> 12.344e-5 # 1.234E-4, 12.3443e-11 # 1.2344E-10, 12.3443e-10 # 1.2344E-9,
> 12.3443e-9 # 1.2344E-8, 12.3443e-8 # 1.2344E-7, 12.3443e-7 # 1.2344E-6,
> 12.3443e-6 # 1.2344E-5, 12.3443e-5 # 1.2344E-4, 12.34432e-11 #
> 1.23443E-10,
> 12.34432e-10 # 1.23443E-9, 12.34432e-9 # 1.23443E-8, 12.34432e-8 #
> 1.23443E-7,
> 12.34432e-7 # 1.23443E-6, 12.34432e-6 # 1.23443E-5, 12.34432e-5 #
> 1.23443E-4,
> 12.344321e-11 # 1.234432E-10, 12.344321e-10 # 1.234432E-9,
> 12.344321e-9 # 1.234432E-8, 12.344321e-8 # 1.234432E-7,
> 12.344321e-7 # 1.234432E-6, 12.344321e-6 # 1.234432E-5,
> 12.344321e-5 # 1.234432E-4, 12.3443211e-11 # 1.2344321E-10,
> 12.3443211e-10 # 1.2344321E-9, 12.3443211e-9 # 1.2344321E-8,
> 12.3443211e-8 # 1.2344321E-7, 12.3443211e-7 # 1.2344321E-6,
> 12.3443211e-6 # 1.2344321E-5, 12.3443211e-5 # 1.2344321E-4,
> 12.34432112e-11 # 1.23443211E-10, 12.34432112e-10 # 1.23443211E-9,
> 12.34432112e-9 # 1.23443211E-8, 12.34432112e-8 # 1.23443211E-7,
> 12.34432112e-7 # 1.23443211E-6, 12.34432112e-6 # 1.23443211E-5,
> 12.34432112e-5 # 1.23443211E-4, 12.344321123e-11 # 1.234432112E-10,
> 12.344321123e-10 # 1.234432112E-9, 12.344321123e-9 # 1.234432112E-8,
> 12.344321123e-8 # 1.234432112E-7, 12.344321123e-7 # 1.234432112E-6,
> 12.344321123e-6 # 1.234432112E-5, 12.344321123e-5 # 1.234432112E-4,
> 12.3443211234e-11 # 1.2344321123E-10, 12.3443211234e-10 # 1.2344321123E-9,
> 12.3443211234e-9 # 1.2344321123E-8, 12.3443211234e-8 # 1.2344321123E-7,
> 12.3443211234e-7 # 1.2344321123E-6, 12.3443211234e-6 # 1.2344321123E-5,
> 12.3443211234e-5 # 1.2344321123E-4, 12.34432112344e-11 #
> 1.23443211234E-10,
> 12.34432112344e-10 # 1.23443211234E-9, 12.34432112344e-9 #
> 1.23443211234E-8,
> 12.34432112344e-8 # 1.23443211234E-7, 12.34432112344e-7 #
> 1.23443211234E-6,
> 12.34432112344e-6 # 1.23443211234E-5, 12.34432112344e-5 #
> 1.23443211234E-4,
> 12.344321123443e-11 # 1.234432112344E-10,
> 12.344321123443e-10 # 1.234432112344E-9,
> 12.344321123443e-9 # 1.234432112344E-8,
> 12.344321123443e-8 # 1.234432112344E-7,
> 12.344321123443e-7 # 1.234432112344E-6,
> 12.344321123443e-6 # 1.234432112344E-5,
> 12.344321123443e-5 # 1.234432112344E-4,
> 12.3443211234432e-11 # 1.2344321123443E-10,
> 12.3443211234432e-10 # 1.2344321123443E-9,
> 12.3443211234432e-9 # 1.2344321123443E-8,
> 12.3443211234432e-8 # 1.2344321123443E-7,
> 12.3443211234432e-7 # 1.2344321123443E-6,
> 12.3443211234432e-6 # 1.2344321123443E-5,
> 12.3443211234432e-5 # 1.2344321123443E-4,
> 12.34432112344321e-11 # 1.23443211234432E-10,
> 12.34432112344321e-10 # 1.23443211234432E-9,
> 12.34432112344321e-9 # 1.23443211234432E-8,
> 12.34432112344321e-8 # 1.23443211234432E-7,
> 12.34432112344321e-7 # 1.23443211234432E-6,
> 12.34432112344321e-6 # 1.23443211234432E-5,
> 12.34432112344321e-5 # 1.23443211234432E-4,
> 12.344321123443212e-11 # 1.234432112344321E-10,
> 12.344321123443212e-10 # 1.234432112344321E-9,
> 12.344321123443211e-9 # 1.234432112344321E-8,
> 12.344321123443212e-8 # 1.234432112344321E-7,
> 12.34432112344321e-7 # 1.234432112344321E-6,
> 12.344321123443213e-6 # 1.234432112344321E-5,
> 12.344321123443212e-5 # 1.234432112344321E-4,
> 12.344321123443212e-11 # 1.234432112344321E-10,
> 12.344321123443212e-10 # 1.234432112344321E-9,
> 12.344321123443211e-9 # 1.234432112344321E-8,
> 12.344321123443212e-8 # 1.234432112344321E-7,
> 12.34432112344321e-7 # 1.234432112344321E-6,
> 12.344321123443213e-6 # 1.234432112344321E-5,
> 12.344321123443212e-5 # 1.234432112344321E-4,
> 12.344321123443212e-11 # 1.234432112344321E-10,
> 12.344321123443212e-10 # 1.234432112344321E-9,
> 12.344321123443211e-9 # 1.234432112344321E-8,
> 12.344321123443212e-8 # 1.234432112344321E-7,
> 12.34432112344321e-7 # 1.234432112344321E-6,
> 12.344321123443213e-6 # 1.234432112344321E-5,
> 12.344321123443212e-5 # 1.234432112344321E-4,
> 12.344321123443212e-11 # 1.234432112344321E-10,
> 12.344321123443212e-10 # 1.234432112344321E-9,
> 12.344321123443211e-9 # 1.234432112344321E-8,
> 12.344321123443212e-8 # 1.234432112344321E-7,
> 12.34432112344321e-7 # 1.234432112344321E-6,
> 12.344321123443213e-6 # 1.234432112344321E-5,
> 12.344321123443212e-5 # 1.234432112344321E-4,
> 12.344321123443212e-11 # 1.234432112344321E-10,
> 12.344321123443212e-10 # 1.234432112344321E-9,
> 12.344321123443211e-9 # 1.234432112344321E-8,
> 12.344321123443212e-8 # 1.234432112344321E-7,
> 12.34432112344321e-7 # 1.234432112344321E-6,
> 12.344321123443213e-6 # 1.234432112344321E-5,
> 12.344321123443212e-5 # 1.234432112344321E-4]
>
> This differed from the expected result:
> []
>
> 513/514 tests passed
>
> The following 1 problem failed: (50)
>
> This means that float numbers formatting in ecl does not quite correspond
> to the standard. A similar bug exists in ccl; sbcl, cmucl, gcl, clisp
> conform to the standard. Is it possible to fix the floats formatting,
> maybe borrowing some code from one of these free common lisps?
>
> Andrey
--
Daniel Kochmański | Poznań, Poland
;; aka jackdaniel
"Be the change that you wish to see in the world." - Mahatma Gandhi
More information about the ecl-devel
mailing list