internal unsafe static Boolean TryParseSingle(String value, NumberStyles options, NumberFormatInfo numfmt, out Single result) {
Byte * numberBufferBytes = stackalloc Byte[NumberBuffer.NumberBufferBytes];
NumberBuffer number = new NumberBuffer(numberBufferBytes);
result = 0;
Double d = 0;
if (!TryStringToNumber(value, options, ref number, numfmt, false)) {
return false;
}
if (!NumberBufferToDouble(number.PackForNative(), ref d)) {
return false;
}
Single castSingle = (Single)d;
if (Single.IsInfinity(castSingle)) {
return false;
}
result = castSingle;
return true;
}