lib: Float is a Comparable

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
nitg & niti: add intern methods `successor` and `predecessor`

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
c_src: update with new intern methods

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
lib: intro the Numeric class

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
nitg & niti: remove intern methods succ, prec and Char::+|-

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
lib: move up to_f and to_i in Number

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
lib: intro Number::zero and Number::is_zero

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
tests: migrate tests using Char::+|- and Int::succ|prec

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
tests: fix fixme/sav of nitg-g and nitg-e for base_gen_reassign

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
src/comp: force at least on entry in the trace-hashmap.

If there is no entry, `gperf` produce an error and the make fail.

Signed-off-by: Jean Privat <jean@pryen.org>
nitg: merge `-no-stacktrace` and `-nit-stacktrace` into a single `--stacktrace`

And make `gperf` the default (expect for nitg-g)

The C stack-trace only is unreadable for most users.

The dependence on gperf is fine since it is packaged if Debian.
The option `--stacktrace libunwind` disables it.
The option `--stacktrace none` disables the whole stacktrace.

Signed-off-by: Jean Privat <jean@pryen.org>
ballz: do not use --no-stacktrace in Makefile

The option is renamed but is useless anyway since plateform takes care of
these things nowadays.

Signed-off-by: Jean Privat <jean@pryen.org>
Merge branch 'privat' into numbers
tests: fix fixme/sav of base_gen_reassign for nitg-e (after merge)

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Merge: nitg: activate nit-stacktrace by default

The C stack-trace only is unreadable for most users.

The dependence on gperf is fine since it is packaged if Debian.
the option `--stacktrace` can be used to override the default behavior.

Pull-Request: #354
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Merge: Numeric, a super-class to Int and Float

Will be used by my implementation of the Bentley-Ottmann algorithm,
allowing to be used on either Int or Float. Could also be used to
revamp the API of mnit::Display and to implement QuadTree.

Pull-Request: #344
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Julien Pagès <julien.m.pages@gmail.com
tests: update base_gen_reassign for nitg-e

Signed-off-by: Jean Privat <jean@pryen.org>
nitg: use libunwind instead of gperf by default for stacktraces

f54e52e activate gperf by default, but gperf is in fact quite slow.
It was unnoticed since time regressions are
tracked by valgrind (and gperf was unmonitored because run in a subprocess).

However, the effect was noticeable:

~~~
$ time nitg nitg.nit --stacktrace gperf
user	1m13.377s

$ time nitg nitg.nit --stacktrace libunwind
user	0m14.189s
~~~

Signed-off-by: Jean Privat <jean@pryen.org>
Merge: nitg: use libunwind instead of gperf by default for stacktraces

f54e52e activate gperf by default, but gperf is in fact quite slow.
It was unnoticed since time regressions are
tracked by valgrind (and gperf was unmonitored because run in a subprocess).

However, the effect was noticeable:

~~~
$ time nitg nitg.nit --stacktrace gperf
user	1m13.377s

$ time nitg nitg.nit --stacktrace libunwind
user	0m14.189s
~~~

Pull-Request: #386
stdlib/pattern: Rendered Pattern compatible with all Text representations instead of just String.

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>