That said. Why does wrap~ of fx. the signal -0.99 return 0.00999999? and wrap~ of fx. -5.99 return 0.0100002?
It seems that the precision is low: if wrap~ outputs the difference with the signal and the greatest integer, not larger than it, for -0.99 it should return 0.01.
BTW, if one wants to get frac part of the signal, then with the current implementation of wrap~ (returning 1 for each non-positive integer)
[wrap~] | [wrap~]
should do the work: 0 for any integer and the frac part for any other number.