 
         var returnResult: Float = 0
 
-        if mantissa >= kFirstSFloatReservedValue && mantissa <= DecoderSFloatValues.negativeInfinity.rawValue {
-            returnResult = Float(kReservedFloatValues[mantissa - kFirstSFloatReservedValue])
+        if mantissa >= DecoderSFloatValues.positiveInfinity.rawValue && mantissa <= DecoderSFloatValues.negativeInfinity.rawValue {
+            returnResult = Float(kReservedFloatValues[mantissa - DecoderSFloatValues.positiveInfinity.rawValue])
         } else {
 
             if mantissa >= 0x0800 {


        var returnResult: Float = 0

        if mantissa >= kFirstFloatResrvedValue && mantissa <= Int32(DecoderFloatValues.negativeInfinity.rawValue) {
            returnResult = Float(kReservedFloatValues[mantissa - kFirstFloatResrvedValue])
        } else {

            if mantissa >= 0x800000 {
                mantissa = -((0xFFFFFF + 1) - mantissa)
            }

            let magnitude = pow(10.0, Double(exponent))
            returnResult = Float(mantissa) * Float(magnitude)

        }

        return returnResult
    }

    
}


            returnResult = Float(mantissa) * Float(magnitude)

        }

        return returnResult
    }

