reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
1134 for (row = 0; row < mat->n_row; ++row) { 1134 for (row = 0; row < mat->n_row; ++row) { 1134 for (row = 0; row < mat->n_row; ++row) { 1136 pivot = isl_seq_abs_min_non_zero(mat->row[row]+row, mat->n_col-row); 1136 pivot = isl_seq_abs_min_non_zero(mat->row[row]+row, mat->n_col-row); 1136 pivot = isl_seq_abs_min_non_zero(mat->row[row]+row, mat->n_col-row); 1142 pivot += row; 1143 if (pivot != row) 1144 exchange(mat, &inv, NULL, row, pivot, row); 1144 exchange(mat, &inv, NULL, row, pivot, row); 1145 if (isl_int_is_neg(mat->row[row][row])) 1145 if (isl_int_is_neg(mat->row[row][row])) 1146 oppose(mat, &inv, NULL, row, row); 1146 oppose(mat, &inv, NULL, row, row); 1147 first = row+1; 1148 while ((off = isl_seq_first_non_zero(mat->row[row]+first, 1151 isl_int_fdiv_q(a, mat->row[row][first], 1152 mat->row[row][row]); 1152 mat->row[row][row]); 1153 subtract(mat, &inv, NULL, row, row, first, a); 1153 subtract(mat, &inv, NULL, row, row, first, a); 1154 if (!isl_int_is_zero(mat->row[row][first])) 1155 exchange(mat, &inv, NULL, row, row, first); 1155 exchange(mat, &inv, NULL, row, row, first); 1159 for (i = 0; i < row; ++i) { 1160 if (isl_int_is_zero(mat->row[row][i])) 1162 isl_int_gcd(a, mat->row[row][row], mat->row[row][i]); 1162 isl_int_gcd(a, mat->row[row][row], mat->row[row][i]); 1162 isl_int_gcd(a, mat->row[row][row], mat->row[row][i]); 1163 isl_int_divexact(b, mat->row[row][i], a); 1164 isl_int_divexact(a, mat->row[row][row], a); 1164 isl_int_divexact(a, mat->row[row][row], a); 1166 isl_mat_col_combine(mat, i, a, i, b, row); 1167 isl_mat_col_combine(inv, i, a, i, b, row); 1173 for (row = 1; row < mat->n_row; ++row) 1173 for (row = 1; row < mat->n_row; ++row) 1173 for (row = 1; row < mat->n_row; ++row) 1174 isl_int_lcm(a, a, mat->row[row][row]); 1174 isl_int_lcm(a, a, mat->row[row][row]); 1179 for (row = 0; row < mat->n_row; ++row) { 1179 for (row = 0; row < mat->n_row; ++row) { 1179 for (row = 0; row < mat->n_row; ++row) { 1180 isl_int_divexact(mat->row[row][row], a, mat->row[row][row]); 1180 isl_int_divexact(mat->row[row][row], a, mat->row[row][row]); 1180 isl_int_divexact(mat->row[row][row], a, mat->row[row][row]); 1180 isl_int_divexact(mat->row[row][row], a, mat->row[row][row]); 1181 if (isl_int_is_one(mat->row[row][row])) 1181 if (isl_int_is_one(mat->row[row][row])) 1183 isl_mat_col_scale(inv, row, mat->row[row][row]); 1183 isl_mat_col_scale(inv, row, mat->row[row][row]); 1183 isl_mat_col_scale(inv, row, mat->row[row][row]);