Ejemplo n.º 1
0
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.");
	}
}
Ejemplo n.º 2
0
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.");
	}
}