unsafe public override void WriteFloatText(float f)
{
long l;
if (f >= long.MinValue && f <= long.MaxValue && (l = (long)f) == f)
{
WriteInt64Text(l);
}
else
{
int offset;
byte[] buffer = GetTextNodeBuffer(1 + sizeof(float), out offset);
byte* bytes = (byte*)&f;
buffer[offset + 0] = (byte)XmlBinaryNodeType.FloatText;
buffer[offset + 1] = bytes[0];
buffer[offset + 2] = bytes[1];
buffer[offset + 3] = bytes[2];
buffer[offset + 4] = bytes[3];
Advance(1 + sizeof(float));
}
}