layerzero/libi0 — pull request #1 by GuillaumeLeclerc (2014-09-22 12:45:25+00:00)
Title: Dev gpoleclerc

## Remainder operation
The remainder operation has been added to `math.h`. The signature is
```
long remainder(long dividend, long divisor);
```
It performs the operation `dividend % divisor`. This is the mathematical version. This means that the result is always positive.

The complexity is `O(1)`

## Random number generator (LCG)
Two files has been added `random.h` and `src/random.c`. It gives the ability to generate random numbers.
A new type has been added `random_t` that represent a random generator. The signatures of the function added are :
```
random_t create_random(long seed);
random_t create_random_no_seed();
long rand(random_t* random_generator, long from, long to);
```
The complexity of all the previous functions is `O(1)`.

The source of the algorithm is http://en.wikipedia.org/wiki/Linear_congruential_generator

## New version of strsplitter
The old version contained some bugs :
* Code contains tab instead of space before PRINTLN
* PRINTLN is not the only thing on the line
* There are escaped characters (\n, \t, etc...)

They has been corrected in the new version (written in Perl 5) the name has also changed from `strsplitter.bash` to `strsplitter`