reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
96 if (!mat) 99 if (mat->max_col >= n_col && mat->n_row >= n_row) { 99 if (mat->max_col >= n_col && mat->n_row >= n_row) { 100 if (mat->n_col < n_col) 101 mat->n_col = n_col; 102 return mat; 105 if (mat->max_col < n_col) { 108 if (n_row < mat->n_row) 109 n_row = mat->n_row; 110 new_mat = isl_mat_alloc(mat->ctx, n_row, n_col); 113 for (i = 0; i < mat->n_row; ++i) 114 isl_seq_cpy(new_mat->row[i], mat->row[i], mat->n_col); 114 isl_seq_cpy(new_mat->row[i], mat->row[i], mat->n_col); 115 isl_mat_free(mat); 119 mat = isl_mat_cow(mat); 119 mat = isl_mat_cow(mat); 120 if (!mat) 123 old = mat->block.data; 124 mat->block = isl_blk_extend(mat->ctx, mat->block, n_row * mat->max_col); 124 mat->block = isl_blk_extend(mat->ctx, mat->block, n_row * mat->max_col); 124 mat->block = isl_blk_extend(mat->ctx, mat->block, n_row * mat->max_col); 124 mat->block = isl_blk_extend(mat->ctx, mat->block, n_row * mat->max_col); 125 if (isl_blk_is_error(mat->block)) 127 row = isl_realloc_array(mat->ctx, mat->row, isl_int *, n_row); 127 row = isl_realloc_array(mat->ctx, mat->row, isl_int *, n_row); 130 mat->row = row; 132 for (i = 0; i < mat->n_row; ++i) 133 mat->row[i] = mat->block.data + (mat->row[i] - old); 133 mat->row[i] = mat->block.data + (mat->row[i] - old); 133 mat->row[i] = mat->block.data + (mat->row[i] - old); 134 for (i = mat->n_row; i < n_row; ++i) 135 mat->row[i] = mat->block.data + i * mat->max_col; 135 mat->row[i] = mat->block.data + i * mat->max_col; 135 mat->row[i] = mat->block.data + i * mat->max_col; 136 mat->n_row = n_row; 137 if (mat->n_col < n_col) 138 mat->n_col = n_col; 140 return mat; 142 isl_mat_free(mat);