Lines Matching refs:matrix

137 	jas_matrix_t *matrix;
139 if (!(matrix = jas_matrix_create(yend - ystart, xend - xstart))) {
142 matrix->xstart_ = xstart;
143 matrix->ystart_ = ystart;
144 matrix->xend_ = xend;
145 matrix->yend_ = yend;
146 return matrix;
151 jas_matrix_t *matrix;
154 if (!(matrix = jas_malloc(sizeof(jas_matrix_t)))) {
157 matrix->flags_ = 0;
158 matrix->numrows_ = numrows;
159 matrix->numcols_ = numcols;
160 matrix->rows_ = 0;
161 matrix->maxrows_ = numrows;
162 matrix->data_ = 0;
163 matrix->datasize_ = numrows * numcols;
165 if (matrix->maxrows_ > 0) {
166 if (!(matrix->rows_ = jas_malloc(matrix->maxrows_ *
168 jas_matrix_destroy(matrix);
173 if (matrix->datasize_ > 0) {
174 if (!(matrix->data_ = jas_malloc(matrix->datasize_ *
176 jas_matrix_destroy(matrix);
182 matrix->rows_[i] = &matrix->data_[i * matrix->numcols_];
185 for (i = 0; i < matrix->datasize_; ++i) {
186 matrix->data_[i] = 0;
189 matrix->xstart_ = 0;
190 matrix->ystart_ = 0;
191 matrix->xend_ = matrix->numcols_;
192 matrix->yend_ = matrix->numrows_;
194 return matrix;
197 void jas_matrix_destroy(jas_matrix_t *matrix)
199 if (matrix->data_) {
200 assert(!(matrix->flags_ & JAS_MATRIX_REF));
201 jas_free(matrix->data_);
202 matrix->data_ = 0;
204 if (matrix->rows_) {
205 jas_free(matrix->rows_);
206 matrix->rows_ = 0;
208 jas_free(matrix);
306 void jas_matrix_divpow2(jas_matrix_t *matrix, int n)
314 rowstep = jas_matrix_rowstep(matrix);
315 for (i = matrix->numrows_, rowstart = matrix->rows_[0]; i > 0; --i,
317 for (j = matrix->numcols_, data = rowstart; j > 0; --j,
325 void jas_matrix_clip(jas_matrix_t *matrix, jas_seqent_t minval, jas_seqent_t maxval)
334 rowstep = jas_matrix_rowstep(matrix);
335 for (i = matrix->numrows_, rowstart = matrix->rows_[0]; i > 0; --i,
338 for (j = matrix->numcols_, data = rowstart; j > 0; --j,
350 void jas_matrix_asr(jas_matrix_t *matrix, int n)
359 rowstep = jas_matrix_rowstep(matrix);
360 for (i = matrix->numrows_, rowstart = matrix->rows_[0]; i > 0; --i,
362 for (j = matrix->numcols_, data = rowstart; j > 0; --j,
369 void jas_matrix_asl(jas_matrix_t *matrix, int n)
377 rowstep = jas_matrix_rowstep(matrix);
378 for (i = matrix->numrows_, rowstart = matrix->rows_[0]; i > 0; --i,
380 for (j = matrix->numcols_, data = rowstart; j > 0; --j,
391 int jas_matrix_resize(jas_matrix_t *matrix, int numrows, int numcols)
397 if (size > matrix->datasize_ || numrows > matrix->maxrows_) {
401 matrix->numrows_ = numrows;
402 matrix->numcols_ = numcols;
405 matrix->rows_[i] = &matrix->data_[numcols * i];
411 int jas_matrix_output(jas_matrix_t *matrix, FILE *out)
417 fprintf(out, "%d %d\n", jas_matrix_numrows(matrix), jas_matrix_numcols(matrix));
418 for (i = 0; i < jas_matrix_numrows(matrix); ++i) {
419 for (j = 0; j < jas_matrix_numcols(matrix); ++j) {
420 x = jas_matrix_get(matrix, i, j);
422 if (j < jas_matrix_numcols(matrix) - 1) {
431 void jas_matrix_setall(jas_matrix_t *matrix, jas_seqent_t val)
439 rowstep = jas_matrix_rowstep(matrix);
440 for (i = matrix->numrows_, rowstart = matrix->rows_[0]; i > 0; --i,
442 for (j = matrix->numcols_, data = rowstart; j > 0; --j,
451 jas_matrix_t *matrix;
460 if (!(matrix = jas_matrix_create(numrows, numcols)))
463 /* Get matrix data. */
464 for (i = 0; i < jas_matrix_numrows(matrix); i++) {
465 for (j = 0; j < jas_matrix_numcols(matrix); j++) {
467 jas_matrix_destroy(matrix);
470 jas_matrix_set(matrix, i, j, JAS_CAST(jas_seqent_t, x));
474 return matrix;