Permutation Permutations_multiply (Collection me) { try { if (my size < 2) { Melder_throw ("There must be at least 2 Permutations in the set."); } autoPermutation thee = Permutations_multiply2 ( (Permutation) my item[1], (Permutation) my item[2]); for (long i = 3; i <= my size; i++) { thee.reset (Permutations_multiply2 (thee.peek(), (Permutation) my item[i])); } return thee.transfer(); } catch (MelderError) { Melder_throw ("Permutations not multiplied."); } }
autoPermutation Permutations_multiply (OrderedOf<structPermutation>* me) { try { if (my size < 2) { Melder_throw (U"There must be at least 2 Permutations in the set."); } autoPermutation thee = Permutations_multiply2 (my at [1], my at [2]); for (long i = 3; i <= my size; i ++) { thee = Permutations_multiply2 (thee.get(), my at [i]); } return thee; } catch (MelderError) { Melder_throw (U"Permutations not multiplied."); } }