I don't think this works as intended - the rand() function can return only ints, thus making this either add or subtract 0.5. We should provide a wider spectrum of values, for example
```cpp
(double)(r1.rand(256) - 128) / 128;
```