ArrayAlign | ArrayAlignHierarchy | ArrayAlign_ConstantRange | ArrayAlign_Equal | ArrayAlign_Multiply | ArrayAlign_PermutationCycle | ArrayAlign_Power | AudivolvNetwork | AudivolvSummary | Brainwaves | CodeSimian | CodeTree | Func | FuncPurpose_MeasureOtherFunc | FuncPurpose_SoundColorMouse | FuncPurpose_Unknown | HardCoded_CodeTree_BreedFunction | HeapQueue | HighStandards | Hypercube | Javassist | LongTermGoalsOfAudivolvDesign | MindReadingHelmet | MovementScore | NeatVsScruffy | NoSpying | Node | NormedCodeTree | PermutationCompilerAndInterpreter | Plugin | ShortTermGoalsOfAudivolvDesign | SoundCardPart | Template | TuringTests_per_second | flo | int | ob

Audivolv - ArrayAlign_PermutationCycle


ArrayAlign_PermutationCycle ( quantityOfIntArrays=X, sizeOfEachIntArray=Y ) {
    An alignment of arrays in a Node.
    The strangest type of array aligning. It only works on int arrays and it makes requirements on the ints in them.
    It is only useful in combinations with other arrays.
    There are X int arrays, each size Y, each containing ints range 0 to Y-1.
    Each int value is index in the next array.
    Cycles are always size X.
    There are always Y cycles.
    Example, where X is 2 and Y is 5: B=[2, 0, 4, 3, 1] and C=[1, 4, 0, 3, 2].
    In B, index 2 has value 4, and in C, index 4 has value 2.
    If X was 3, then B would point at C would point at D would point at B. B and C would not point at eachother.
    The most common sizes of X are 1 and 2.
    If X is 1, it simply counts up from 0, which is useful for describing math but usually not useful for efficiently running it.
    If X is 2, it can be used to define reorderings of many arrays the same size without reordering them all. Instead reorder only 1 of the 2 int arrays.
}

REVERSE LINKS: ArrayAlign | HeapQueue AUDIVOLV WEBSITES: http://audivolv.com | http://audivolv.sourceforge.net | http://audioevolve.com | http://instrumentsplaythemusicians.com