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
I'm assuming this just needs something larger than an id expression? I'd prefer to not use C-style casts anywhere, even for this, for code linting purposes. Does `!p` work?