csvorbis.StaticCodeBook.float32_pack C# (CSharp) Method

float32_pack() static private method

static private float32_pack ( float val ) : long
val float
return long
        internal static long float32_pack(float val)
        {
            uint sign=0;
            int exp;
            int mant;
            if(val<0)
            {
                sign = 0x80000000;
                val = -val;
            }
            exp=(int)Math.Floor(Math.Log(val)/Math.Log(2));
            mant=(int)Math.Round(Math.Pow(val,(VQ_FMAN-1)-exp));
            exp=(exp+VQ_FEXP_BIAS)<<VQ_FMAN;
            return((int)sign | exp | mant);
        }