///////////////////////////////////////////////////////////////////////////
//    Copyright (C) 2011 Wizardry and Steamworks - License: GNU GPLv3    //
///////////////////////////////////////////////////////////////////////////
// transposes a square matrix of ord columns
list wasMatrixTranspose(list matrix, integer ord) {
    list result = [];
    integer mLength = llGetListLength(matrix);
    integer j = 0;
    do {
        integer i = j;
        do {
            result += llList2String(matrix, i);
            i += ord;
        } while(i<mLength);
    } while(++j<ord);
    return result;
}