/////////////////////////////////////////////////////////////////////////// // Copyright (C) 2011 Wizardry and Steamworks - License: GNU GPLv3 // /////////////////////////////////////////////////////////////////////////// list wasMatrixAdjugate(list m, integer ord) { list result = []; integer i = 0; do { integer j = 0; integer o = -1; if(i % 2 == 0) jump compute; o = 0; @compute; do { list cof = wasMatrixCofactor(m, i, j, ord); if(o = ~o) { result += -wasDeterminant(cof, ord-1); jump next; } result += wasDeterminant(cof, ord-1); @next; } while(++j<ord); } while(++i<ord); return wasMatrixTranspose(result, ord); }