Commit graph

5618 commits

Author SHA1 Message Date
Daniel Kochmański
03efe83b99 random-state: use byte32 array for internal representation
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-21 17:09:39 +02:00
Daniel Kochmański
3e3423bce4 random: add comment for 64 rng
Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
2015-09-21 10:30:07 +02:00
Daniel Kochmański
07ad0fc2f2 init-random: fix #$ for fixnums (allow providing seed)
Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
2015-09-21 10:22:51 +02:00
Daniel Kochmański
783f4730a8 init-random: move array allocation to init_genrand
Signed-off-by: Daniel Kochmański <dkochmanski@turtle-solutions.eu>
2015-09-21 10:21:44 +02:00
Daniel Kochmański
fc7443732b init-random-state: factor out function taking seed argument
We want this to be able to initialize random state from the fixnum and
from the array (following commits). This also simplifies code a
little.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-20 18:37:18 +02:00
Daniel Kochmański
079976263c cosmetic: add copyright and fix whitespaces
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-20 16:30:53 +02:00
Daniel Kochmański
f1d256f2ea random: correct Mersenne-Twister RNG initializer
Previous code had some deviations from the original algorithm and a
bug preventing the use of the value acquired from /dev/urandom. This
is the corrected version.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-20 13:04:42 +02:00
Daniel Kochmański
ba758250da init_random: fix typo affecting random state seed
Implementation of random seed buffer filler for windows were shadowing
using /dev/urandom source. I'm convinced that author's intention was
to put there "else".

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-20 12:00:28 +02:00
Daniel Kochmański
f6524873c7 num_random: remove dead code
Removal of obsolete number generator working on fixnum. It was
conditionally defined with 0 so it's a dead code.
2015-09-20 11:57:01 +02:00
Matthew Mondor
bff9aced44 Merge branch 'broken-symlinks' into 'develop'
directories: don't break on broken symlinks

ECL when asked for a truename of a broken symbolic link signalled an
`file-error'. This isn't non-conformity, because spec doesn't specify
such situation, but lead to annoying errors with DIRECTORIES when even
irrelevant files were broken symlinks.

New behavior is as follows - broken symlinks are treated as regular
files (of :LINK kind) and no error is signalled. They aren't ignored
due to a few corner cases related to PROBE-FILE, OPEN and such.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>

See merge request !13
2015-09-18 19:31:55 +00:00
Matthew Mondor
b56eb93532 Merge branch 'backquote-reader-fix' into 'develop'
reader: fix backquote reader if the input is incomplete

This makes behaviour consistent with single-quote reader. Fixes #159.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>

See merge request !12
2015-09-18 19:22:47 +00:00
Daniel Kochmański
ac918e981f doc: typo
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-18 18:26:14 +02:00
Daniel Kochmański
22b647144c directories: don't break on broken symlinks
ECL when asked for a truename of a broken symbolic link signalled an
`file-error'. This isn't non-conformity, because spec doesn't specify
such situation, but lead to annoying errors with DIRECTORIES when even
irrelevant files were broken symlinks.

New behavior is as follows - broken symlinks are treated as regular
files (of :LINK kind) and no error is signalled. They aren't ignored
due to a few corner cases related to PROBE-FILE, OPEN and such.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-18 18:18:06 +02:00
Daniel Kochmański
9513d70fd2 doc: mention directory additional key argument
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-18 18:16:18 +02:00
Daniel Kochmański
36b90075af reader: fix backquote reader if the input is incomplete
This makes behaviour consistent with single-quote reader. Fixes #159.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-18 11:51:21 +02:00
Daniel Kochmański
8b27c69374 run-program: declare additional keys in symbols_list.h
Each key used in core environment has to be declared beforehand in
`symbols_list.h'. Fixes #166. Fixes #149.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-18 11:31:26 +02:00
Matthew Mondor
c5c606cc01 - User-defined heap sizes can now exceed the size of a fixnum on 32-bit
Fixes issue #140

- The heap size limit was intended to be 1GB on 32-bit or 4GB on 64-bit
  but inconsistency between ECL_FIXNUM_BITS and FIXNUM_BITS in the code
  prevented the heap to grow for 64-bit.  This now occurs, and a few
  other less visible bugs were fixed by restoring consistency to
  ECL_FIXNUM_BITS.
2015-09-11 16:54:18 -04:00
Daniel Kochmański
d413390541 annotation: turn annotation logic on
This was disabled from outside of ecl-min (not sure why). Achieved
with bounding ext::*register-with-pde-hook* to already defined

Works ok with swank for both macros and functions.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-11 16:25:44 +02:00
Daniel Kochmański
10e1120535 external-process-wait: check code after status change
Related to #149

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-11 11:49:02 +02:00
Denis Martinez
2b8bfc2825 fix a minor typo 2015-09-07 15:27:06 +02:00
Daniel Kochmański
c8d3836f56 infinity: add regression tests
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-04 21:32:09 +02:00
Daniel Kochmański
a461f561df internal.h: fake ISO C99 INFINITY and NAN if not defined
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-04 21:32:09 +02:00
Daniel Kochmański
899f51106e cmpc: when infinity is used, emit macro "INFINITY"
and "-INFINITY" for negative infinity. These corner-cases lead to
compilation error, so no regression will be imposed even against
non-c99 compilers.

INFINITY and NAN macros are introduced by C99 standard, so such code
requires C-backend to support this math extension. Fixes #156.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-04 21:32:08 +02:00
Daniel Kochmański
0d25eccfb8 regression: add back removed interfaces
Adds back ecl_import_current_thread and ecl_release_current_thread.
Closes #8.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-04 21:29:08 +02:00
Daniel Kochmański
aaa62d4a24 format: float: use prin1 when passed NaN or infinity
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-04 08:58:27 +02:00
Daniel Kochmański
ac6a446af8 style: fix broken modeline
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-04 06:45:50 +02:00
Matthew Mondor
385b8d04a8 Merge branch 'develop' of gitlab.com:embeddable-common-lisp/ecl into develop 2015-09-03 16:18:01 -04:00
Matthew Mondor
4f89d66d41 Fix some fallout from the script to correct/add Emacs and ViM syntax
directives.  Some files had more than one existing Emacs directives,
breaking the script which didn't expect this.
2015-09-03 16:16:12 -04:00
Daniel Kochmański
faf26ab48a cosmetic: bdwgc: remove autom4te.cache
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-03 21:48:21 +02:00
Daniel Kochmański
c80e3cad11 Merge branch 'style' into 'develop'
"style" temporary branch

The ECL code no longer uses tabulator characters, they were replaced
by spaces.

A custom script was used to insert/replace Emacs and ViM per-file editor
settings according to their type and the new ECL coding style.

See merge request !8
2015-09-03 18:07:04 +00:00
Matthew Mondor
8f07cd58d8 The ECL code no longer uses tabulator characters, they were replaced
by spaces.

A custom script was used to insert/replace Emacs and ViM per-file editor
settings according to their type and the new ECL coding style.
2015-09-03 07:35:47 -04:00
Daniel Kochmański
527be2a017 printer: coerce float infinity more roboustly
Basically use C function instead of a generic Lisp one.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-03 08:47:00 +02:00
Daniel Kochmański
d15c42d2a1 printer: float infinity/nan: coerce printed form to base-string
CLOS printer uses normal strings while float_to_string.d calls
push_base_string to cache printable form of infinity (and nan). Coerce
clos strings to base-string. Fixes #153. Related to #114.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-03 08:12:08 +02:00
Daniel Kochmański
9720adf0c0 tests: add stress tests submitted by James M. Lawrence
This suite needs integration and tweaking to avoid infinite loop.

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-02 21:29:30 +02:00
Daniel Kochmański
ee2cab9c6e Merge branch 'develop' of gitlab.com:embeddable-common-lisp/ecl into develop 2015-09-02 15:59:35 +02:00
Daniel Kochmański
5f702cf071 gmp: issue autoreconf -ivf (fixes ppc64le builds)
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-02 15:59:18 +02:00
Philipp Marek
98faa3c60c Merge branch 'cleanup-testing' into 'develop'
Cleanup testing

Separated tests from auxiliary tools, merged tests into files corresponding to interface (aspects are separated with ^L, navigable with C-x [ and C-x ]), renamed "bugs" to "regressions" - what these tests really are.

TODO (in indefinete future):
- some tests have auxiliary functions, these should be moved to auxiliary/ directory and loaded from there, so test files contain only tests

- add back ansi-tests suite as git subtree (to keep in sync with upstream on demand)

- add mop-features suite (subtree)

- modify deftest macro to "remember" file, from which test was load and report that back

- keep test suites / interfaces in separate packages

- make running tests possible without installing ECL (not tests thing though, rather buildsystem)

See merge request !7
2015-09-02 10:22:45 +00:00
Daniel Kochmański
dc89946ae5 tests: rename 'bugs' to 'regressions'
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-02 10:51:51 +02:00
Daniel Kochmański
0ca316c2f4 Merge branch 'develop' into cleanup-testing 2015-09-02 10:38:54 +02:00
Daniel Kochmański
6b0ccedf08 tests: fix remaing things
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-02 10:36:27 +02:00
Daniel Kochmański
ee77d6a1a9 tests: adjust files
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-02 09:33:16 +02:00
Daniel Kochmański
1d8fb039fa tests: Move tests to separate directory
Don't keep them in same directory as aux tools

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-02 09:22:24 +02:00
Zack Piper
00521d869a Untabify everything. 2015-09-01 20:10:10 +00:00
Daniel Kochmański
8b24477fda tests: rename ffi and emb tests
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-01 18:13:53 +02:00
Daniel Kochmański
37bebe172e tests: merge reported bugs and mixed regressions
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-01 18:11:55 +02:00
Daniel Kochmański
1b39e1fcf5 tests: merge compiler tests to compiler.lsp (missing files)
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-01 18:03:27 +02:00
Daniel Kochmański
a36d40d863 tests: merge compiler tests to compiler.lsp
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-01 17:32:03 +02:00
Daniel Kochmański
1173538d85 tests: merge sourceforge reports to reported-bugs
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-01 17:19:41 +02:00
Daniel Kochmański
2609765524 tests: merge multiprocessing tests (a few left)
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-01 17:08:14 +02:00
Daniel Kochmański
5da6743f3f tests: merge multiprocessing tests
Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
2015-09-01 16:54:46 +02:00