lib/realtime: Add Timespec::to_f (and to_s) so one can print them easyly

Signed-off-by: Jean Privat <jean@pryen.org>
lib/string_exp/utf8_no_index: Introducing utf8 variant without indexes

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>
lib/string_exp/utf8_no_index: Added new constructor for UnicodeChar

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>
lib/string_exp/utf8_no_index: Added char_at, does the same as [] but with UnicodeChar.

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>
lib/string_exp/utf8_no_index: Adapted String methods to UTF-8 string

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>
lib/string_exp/utf8_no_index: Bytelen now defined in Text

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>
lib/android: Intro of the Android Intent API

Signed-off-by: Frédéric Vachon <fredvac@gmail.com>
lib/ai: introduce the ai library with `backtrack` as the first module

For information, the logic is extracted from the solver of friendz.

Signed-off-by: Jean Privat <jean@pryen.org>
lib/ai: add the eight-queen problem as an example

Signed-off-by: Jean Privat <jean@pryen.org>
friendz: use ai::backtrack instead of the ad-hoc solver

Signed-off-by: Jean Privat <jean@pryen.org>
friendz: add solver_cmd for solve from command line

Signed-off-by: Jean Privat <jean@pryen.org>
Merge: AI backtrack

The first part of the artificial intelligence library.

This provides a framework for a basic backtracking algorithm.

It is used in a standard 8 queens problem (quite elegant!), but also replace the specific solver in friendz (the new solver is a little faster in fact)

Pull-Request: #642
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
lib/string_exp/utf8_no_index: FlatBuffer is compatible with UTF-8

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>
utf8_noindex/tests: Added a test for utf8 without index variant

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>
lib/string_exp/utf8_no_index: Updated README

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>
nitg: Replace memcpy by memmove for safety.

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>
lib/ai: add search.nit as the second module

Signed-off-by: Jean Privat <jean@pryen.org>
lib/ai: add the n-puzzle problem as an example of search

Signed-off-by: Jean Privat <jean@pryen.org>
nitg & lib: intro `Finalizable` to be called when an object is freed

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
tests: test finalization effect

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>