All pastes #2110979 Raw Edit

Float magic

public text v1 · immutable
#2110979 ·published 2012-02-08 00:20 UTC
rendered paste body
    [StructLayout(LayoutKind.Explicit)]
    public struct IncrementableFloat
    {
        [FieldOffset(0)]
        int mAsInt;
        [FieldOffset(0)]
        float mAsFloat;

        public float Value
        {
            get
            {
                return mAsFloat;
            }
            set
            {
                mAsFloat = value;
            }
        }

        public float IncreaseByMinimum()
        {
            mAsInt++;
            return mAsFloat;
        }

        public float DecreaseByMinimum()
        {
            mAsInt--;
            return mAsFloat;
        }
    }