AForge.Math.Tools.Pow2 C# (CSharp) Method

Pow2() public static method

Calculates power of 2.
public static Pow2 ( int power ) : int
power int Power to raise in.
return int
        public static int Pow2(int power)
        {
            return ((power >= 0) && (power <= 30)) ? (1 << power) : 0;
        }

Usage Example

        // Get array, indicating which data members should be swapped before FFT
        private static int[] GetReversedBits(int numberOfBits)
        {
            if ((numberOfBits < minBits) || (numberOfBits > maxBits))
            {
                throw new ArgumentOutOfRangeException();
            }

            // check if the array is already calculated
            if (reversedBits[numberOfBits - 1] == null)
            {
                int   n     = Tools.Pow2(numberOfBits);
                int[] rBits = new int[n];

                // calculate the array
                for (int i = 0; i < n; i++)
                {
                    int oldBits = i;
                    int newBits = 0;

                    for (int j = 0; j < numberOfBits; j++)
                    {
                        newBits = (newBits << 1) | (oldBits & 1);
                        oldBits = (oldBits >> 1);
                    }
                    rBits[i] = newBits;
                }
                reversedBits[numberOfBits - 1] = rBits;
            }
            return(reversedBits[numberOfBits - 1]);
        }