Small bug fixes

Hi,

The first fix just gets rid of an annoying warning that comes if asserts are turned off. If asserts are turned off, the p object in value.hpp is never used.

The second is in the floating point generator and was causing serious problems. The code was taking the negative of a size_t, which on most platforms is an unsigned int. The negative of an unsigned int is undefined. So, I first convert to a generic floating point value and then negate that.

Cheers,
Ben
Please use `static_cast` instead of C-style cast. Otherwise, looks good.