Home | History | Annotate | Download | only in libjasper

Lines Matching refs:matrix

65  * Sequence/Matrix Library
88 jas_matrix_t *matrix;
90 if (!(matrix = jas_matrix_create(yend - ystart, xend - xstart))) {
93 matrix->xstart_ = xstart;
94 matrix->ystart_ = ystart;
95 matrix->xend_ = xend;
96 matrix->yend_ = yend;
97 return matrix;
102 jas_matrix_t *matrix;
105 if (!(matrix = jas_malloc(sizeof(jas_matrix_t)))) {
108 matrix->flags_ = 0;
109 matrix->numrows_ = numrows;
110 matrix->numcols_ = numcols;
111 matrix->rows_ = 0;
112 matrix->maxrows_ = numrows;
113 matrix->data_ = 0;
114 matrix->datasize_ = numrows * numcols;
116 if (matrix->maxrows_ > 0) {
117 if (!(matrix->rows_ = jas_alloc2(matrix->maxrows_,
119 jas_matrix_destroy(matrix);
124 if (matrix->datasize_ > 0) {
125 if (!(matrix->data_ = jas_alloc2(matrix->datasize_,
127 jas_matrix_destroy(matrix);
133 matrix->rows_[i] = &matrix->data_[i * matrix->numcols_];
136 for (i = 0; i < matrix->datasize_; ++i) {
137 matrix->data_[i] = 0;
140 matrix->xstart_ = 0;
141 matrix->ystart_ = 0;
142 matrix->xend_ = matrix->numcols_;
143 matrix->yend_ = matrix->numrows_;
145 return matrix;
148 void jas_matrix_destroy(jas_matrix_t *matrix)
150 if (matrix->data_) {
151 assert(!(matrix->flags_ & JAS_MATRIX_REF));
152 jas_free(matrix->data_);
153 matrix->data_ = 0;
155 if (matrix->rows_) {
156 jas_free(matrix->rows_);
157 matrix->rows_ = 0;
159 jas_free(matrix);
257 void jas_matrix_divpow2(jas_matrix_t *matrix, int n)
265 rowstep = jas_matrix_rowstep(matrix);
266 for (i = matrix->numrows_, rowstart = matrix->rows_[0]; i > 0; --i,
268 for (j = matrix->numcols_, data = rowstart; j > 0; --j,
276 void jas_matrix_clip(jas_matrix_t *matrix, jas_seqent_t minval, jas_seqent_t maxval)
285 rowstep = jas_matrix_rowstep(matrix);
286 for (i = matrix->numrows_, rowstart = matrix->rows_[0]; i > 0; --i,
289 for (j = matrix->numcols_, data = rowstart; j > 0; --j,
301 void jas_matrix_asr(jas_matrix_t *matrix, int n)
310 rowstep = jas_matrix_rowstep(matrix);
311 for (i = matrix->numrows_, rowstart = matrix->rows_[0]; i > 0; --i,
313 for (j = matrix->numcols_, data = rowstart; j > 0; --j,
320 void jas_matrix_asl(jas_matrix_t *matrix, int n)
328 rowstep = jas_matrix_rowstep(matrix);
329 for (i = matrix->numrows_, rowstart = matrix->rows_[0]; i > 0; --i,
331 for (j = matrix->numcols_, data = rowstart; j > 0; --j,
342 int jas_matrix_resize(jas_matrix_t *matrix, int numrows, int numcols)
348 if (size > matrix->datasize_ || numrows > matrix->maxrows_) {
352 matrix->numrows_ = numrows;
353 matrix->numcols_ = numcols;
356 matrix->rows_[i] = &matrix->data_[numcols * i];
362 void jas_matrix_setall(jas_matrix_t *matrix, jas_seqent_t val)
370 rowstep = jas_matrix_rowstep(matrix);
371 for (i = matrix->numrows_, rowstart = matrix->rows_[0]; i > 0; --i,
373 for (j = matrix->numcols_, data = rowstart; j > 0; --j,
382 jas_matrix_t *matrix;
395 if (!(matrix = jas_seq2d_create(xoff, yoff, xoff + numcols, yoff + numrows)))
398 if (jas_matrix_numrows(matrix) != numrows || jas_matrix_numcols(matrix) != numcols) {
402 /* Get matrix data. */
403 for (i = 0; i < jas_matrix_numrows(matrix); i++) {
404 for (j = 0; j < jas_matrix_numcols(matrix); j++) {
406 jas_matrix_destroy(matrix);
409 jas_matrix_set(matrix, i, j, JAS_CAST(jas_seqent_t, x));
413 return matrix;
416 int jas_seq2d_output(jas_matrix_t *matrix, FILE *out)
426 fprintf(out, "%d %d\n", (int)jas_seq2d_xstart(matrix),
427 (int)jas_seq2d_ystart(matrix));
428 fprintf(out, "%d %d\n", (int)jas_matrix_numcols(matrix),
429 (int)jas_matrix_numrows(matrix));
432 for (i = 0; i < jas_matrix_numrows(matrix); ++i) {
433 for (j = 0; j < jas_matrix_numcols(matrix); ++j) {
434 x = jas_matrix_get(matrix, i, j);
444 if (j == jas_matrix_numcols(matrix) - 1) {