public float ToSingle() { switch (this.type) { case ValueHandleType.Single: return(this.GetSingle()); case ValueHandleType.Double: { double d = this.GetDouble(); if (((d >= -3.4028234663852886E+38) && (d <= 3.4028234663852886E+38)) || (double.IsInfinity(d) || double.IsNaN(d))) { return((float)d); } break; } case ValueHandleType.Zero: return(0f); case ValueHandleType.One: return(1f); case ValueHandleType.Int8: return((float)this.GetInt8()); case ValueHandleType.Int16: return((float)this.GetInt16()); case ValueHandleType.UTF8: return(XmlConverter.ToSingle(this.bufferReader.Buffer, this.offset, this.length)); } return(XmlConverter.ToSingle(this.GetString())); }
public float ToSingle() { ValueHandleType type = _type; if (type == ValueHandleType.Single) { return(GetSingle()); } if (type == ValueHandleType.Double) { double value = GetDouble(); if ((value >= float.MinValue && value <= float.MaxValue) || !double.IsFinite(value)) { return((float)value); } } if (type == ValueHandleType.Zero) { return(0); } if (type == ValueHandleType.One) { return(1); } if (type == ValueHandleType.Int8) { return(GetInt8()); } if (type == ValueHandleType.Int16) { return(GetInt16()); } if (type == ValueHandleType.UTF8) { return(XmlConverter.ToSingle(_bufferReader.Buffer, _offset, _length)); } return(XmlConverter.ToSingle(GetString())); }
public Single ToSingle() { ValueHandleType type = this.type; if (type == ValueHandleType.Single) { return(GetSingle()); } if (type == ValueHandleType.Double) { double value = GetDouble(); if ((value >= Single.MinValue && value <= Single.MaxValue) || double.IsInfinity(value) || double.IsNaN(value)) { return((Single)value); } } if (type == ValueHandleType.Zero) { return(0); } if (type == ValueHandleType.One) { return(1); } if (type == ValueHandleType.Int8) { return(GetInt8()); } if (type == ValueHandleType.Int16) { return(GetInt16()); } if (type == ValueHandleType.UTF8) { return(XmlConverter.ToSingle(bufferReader.Buffer, offset, length)); } return(XmlConverter.ToSingle(GetString())); }