public function __invoke($size, $rand) { $value = (double) $rand(0, $size) / (double) $rand(1, $size); $signedValue = $rand(0, 1) === 0 ? $value : $value * -1; return GeneratedValue::fromJustValue($signedValue, 'float'); }