Exemplo n.º 1
0
        public static int[] GetSignToggleMultipliers(SIGN_TOGGLE_FUNCTION F, int nbEntries)
        {
            int[] result = new int[nbEntries];
            if (F == SIGN_TOGGLE_FUNCTION.NEGATION)
            {
                for (int i = 0; i < nbEntries; i++)
                {
                    result[i] = -1;
                }
            }
            else if (F == SIGN_TOGGLE_FUNCTION.REVERSION)
            {
                for (int i = 0; i < nbEntries; i++)
                {
                    result[i] = (((i >> 1) & 1) == 0) ? 1 : -1;
                }
            }
            else if (F == SIGN_TOGGLE_FUNCTION.GRADE_INVOLUTION)
            {
                for (int i = 0; i < nbEntries; i++)
                {
                    result[i] = ((i & 1) == 0) ? 1 : -1;
                }
            }
            else if (F == SIGN_TOGGLE_FUNCTION.CLIFFORD_CONJUGATION)
            {
                for (int i = 0; i < nbEntries; i++)
                {
                    result[i] = ((((i + 1) >> 1) & 1) == 0) ? 1 : -1;
                }
            }

            return(result);
        }
Exemplo n.º 2
0
        public static int[] GetSignToggleMultipliers(SIGN_TOGGLE_FUNCTION F, int nbEntries)
        {
            int[] result = new int[nbEntries];
            if (F == SIGN_TOGGLE_FUNCTION.NEGATION)
            {
                for (int i = 0; i < nbEntries; i++)
                    result[i] = -1;
            }
            else if (F == SIGN_TOGGLE_FUNCTION.REVERSION)
            {
                for (int i = 0; i < nbEntries; i++)
                    result[i] = (((i>>1)&1) == 0) ? 1 : -1;
            }
            else if (F == SIGN_TOGGLE_FUNCTION.GRADE_INVOLUTION)
            {
                for (int i = 0; i < nbEntries; i++)
                    result[i] = ((i & 1) == 0) ? 1 : -1;
            }
            else if (F == SIGN_TOGGLE_FUNCTION.CLIFFORD_CONJUGATION)
            {
                for (int i = 0; i < nbEntries; i++)
                    result[i] = ((((i+1) >> 1) & 1) == 0) ? 1 : -1;
            }

            return result;
        }