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); }
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; }