| line |
true |
false |
branch |
|
17
|
0 |
1607 |
if (Matrix == NULL) return &PL_sv_undef; |
|
20
|
0 |
1607 |
if (Matrix->values == NULL) { free(Matrix); return NULL; } |
|
38
|
1607 |
0 |
gf2_matrix_t *m=(gf2_matrix_t*)SvIV(SvRV(Self)); |
|
39
|
1607 |
0 |
if (m->alloc_bits & 1) |
|
41
|
1607 |
0 |
if (m->alloc_bits & 2) |
|
47
|
4124 |
0 |
return ((gf2_matrix_t*)SvIV(SvRV(Self)))->rows; |
|
51
|
14781 |
0 |
return ((gf2_matrix_t*)SvIV(SvRV(Self)))->cols; |
|
55
|
5260 |
0 |
return ((gf2_matrix_t*)SvIV(SvRV(Self)))->width; |
|
59
|
2602 |
0 |
return ((gf2_matrix_t*)SvIV(SvRV(Self)))->organisation; |
|
63
|
41070 |
0 |
gf2_matrix_t *m=(gf2_matrix_t*)SvIV(SvRV(Self)); |
|
72
|
41070 |
0 |
if ((row < 0) || (row >= m->rows)) { |
|
|
0 |
41070 |
if ((row < 0) || (row >= m->rows)) { |
|
76
|
41070 |
0 |
if ((col < 0) || (col >= m->cols)) { |
|
|
0 |
41070 |
if ((col < 0) || (col >= m->cols)) { |
|
98
|
30436 |
0 |
gf2_matrix_t *m=(gf2_matrix_t*)SvIV(SvRV(Self)); |
|
107
|
30436 |
0 |
if ((row < 0) || (row >= m->rows)) { |
|
|
0 |
30436 |
if ((row < 0) || (row >= m->rows)) { |
|
112
|
30436 |
0 |
if ((col < 0) || (col >= m->cols)) { |
|
|
0 |
30436 |
if ((col < 0) || (col >= m->cols)) { |
|
154
|
14 |
0 |
gf2_matrix_t *self = (gf2_matrix_t*) SvIV(SvRV(Self)); |
|
155
|
14 |
0 |
gf2_matrix_t *xform = (gf2_matrix_t*) SvIV(SvRV(Transform)); |
|
156
|
14 |
0 |
gf2_matrix_t *result = (gf2_matrix_t*) SvIV(SvRV(Result)); |
|
171
|
2 |
12 |
if ((self->width == 1) && (iright == 1) && |
|
|
2 |
0 |
if ((self->width == 1) && (iright == 1) && |
|
|
2 |
0 |
if ((self->width == 1) && (iright == 1) && |
|
173
|
2 |
0 |
((tright == 1) && (odown == 1)) /* combine */ |
|
174
|
0 |
2 |
|| ((tdown == 1) && (oright == 1)) /* split */ |
|
|
0 |
0 |
|| ((tdown == 1) && (oright == 1)) /* split */ |
|
180
|
0 |
0 |
if ((tright == 1) && (odown == 1)) { |
|
|
0 |
0 |
if ((tright == 1) && (odown == 1)) { |
|
185
|
0 |
0 |
for (r=0, |
|
190
|
0 |
0 |
for (c=0, |
|
195
|
0 |
0 |
for (v=0, |
|
210
|
0 |
0 |
for (r=0, |
|
215
|
0 |
0 |
for (c=0, |
|
220
|
0 |
0 |
for (v=0, |
|
242
|
16 |
2 |
for (r=0, |
|
247
|
128 |
16 |
for (c=0, |
|
252
|
896 |
128 |
for (v=0, |
|
274
|
28 |
6 |
for (r=0, |
|
279
|
144 |
28 |
for (c=0, |
|
284
|
688 |
144 |
for (v=0, |
|
297
|
28 |
6 |
for (r=0, |
|
302
|
144 |
28 |
for (c=0, |
|
307
|
688 |
144 |
for (v=0, |
|
328
|
470 |
0 |
gf2_matrix_t *this = (gf2_matrix_t*) SvIV(SvRV(This)); |
|
329
|
470 |
0 |
gf2_matrix_t *that = (gf2_matrix_t*) SvIV(SvRV(That)); |
|
338
|
465 |
5 |
if (this->organisation == that->organisation) { |
|
340
|
5321 |
255 |
for (i=this->rows * this->cols * this->width; |
|
343
|
210 |
5111 |
if (*thisp != *thatp) return 0; |
|
351
|
18 |
4 |
for (i=0; |
|
356
|
68 |
17 |
for (j=0; |
|
363
|
0 |
0 |
if (*thisp++ != *thatp++) return 0; |
|
364
|
0 |
0 |
if (*thisp++ != *thatp++) return 0; |
|
366
|
0 |
60 |
if (*thisp++ != *thatp++) return 0; |
|
368
|
1 |
67 |
if (*thisp++ != *thatp++) return 0; |
|
378
|
2226 |
0 |
gf2_matrix_t *self = (gf2_matrix_t*) SvIV(SvRV(Self)); |
|
390
|
127 |
2099 |
if ( (width > 1) && byteorder && |
|
|
12 |
115 |
if ( (width > 1) && byteorder && |
|
|
5 |
7 |
if ( (width > 1) && byteorder && |
|
393
|
5 |
0 |
to_start=SvPV(Str,len) + width - 1; |
|
394
|
14 |
5 |
for (i=width ; i-- ; --to_start, ++from_start) { |
|
396
|
18 |
14 |
for (j=words; j--; to += width, from += width) { |
|
412
|
0 |
0 |
gf2_matrix_t *self = (gf2_matrix_t*) SvIV(SvRV(Self)); |
|
415
|
0 |
0 |
if ((byteorder < 0) || (byteorder > 2)) ++errors; |
|
|
0 |
0 |
if ((byteorder < 0) || (byteorder > 2)) ++errors; |
|
416
|
0 |
0 |
if ((row < 0) || (row >= self->rows)) ++errors; |
|
|
0 |
0 |
if ((row < 0) || (row >= self->rows)) ++errors; |
|
417
|
0 |
0 |
if ((col < 0) || (col >= self->cols)) ++errors; |
|
|
0 |
0 |
if ((col < 0) || (col >= self->cols)) ++errors; |
|
418
|
0 |
0 |
if (errors) return &PL_sv_undef; |
|
431
|
0 |
0 |
if ( (width > 1) && byteorder && |
|
|
0 |
0 |
if ( (width > 1) && byteorder && |
|
|
0 |
0 |
if ( (width > 1) && byteorder && |
|
434
|
0 |
0 |
to_start=SvPV(Str,len) + width - 1; |
|
435
|
0 |
0 |
for (i=width ; i-- ; --to_start, ++from_start) { |
|
437
|
0 |
0 |
for (j=words; j--; to += width, from += width) { |
|
451
|
2228 |
0 |
gf2_matrix_t *self = (gf2_matrix_t*) SvIV(SvRV(Self)); |
|
462
|
127 |
2101 |
if ( (width > 1) && byteorder && |
|
|
12 |
115 |
if ( (width > 1) && byteorder && |
|
|
6 |
6 |
if ( (width > 1) && byteorder && |
|
464
|
6 |
0 |
from_start=SvPV(Str,len) + width - 1; |
|
465
|
16 |
6 |
for (i=width ; i-- ; --from_start, ++to_start) { |
|
467
|
24 |
16 |
for (j=words; j--; to += width, from += width) { |
|
472
|
2222 |
0 |
from_start=SvPV(Str,len); |
|
481
|
0 |
0 |
gf2_matrix_t *self = (gf2_matrix_t*) SvIV(SvRV(Self)); |
|
484
|
0 |
0 |
if ((byteorder < 0) || (byteorder > 2)) ++errors; |
|
|
0 |
0 |
if ((byteorder < 0) || (byteorder > 2)) ++errors; |
|
485
|
0 |
0 |
if ((row < 0) || (row >= self->rows)) ++errors; |
|
|
0 |
0 |
if ((row < 0) || (row >= self->rows)) ++errors; |
|
486
|
0 |
0 |
if ((col < 0) || (col >= self->cols)) ++errors; |
|
|
0 |
0 |
if ((col < 0) || (col >= self->cols)) ++errors; |
|
487
|
0 |
0 |
if (errors) return; |
|
499
|
0 |
0 |
if ( (width > 1) && byteorder && |
|
|
0 |
0 |
if ( (width > 1) && byteorder && |
|
|
0 |
0 |
if ( (width > 1) && byteorder && |
|
502
|
0 |
0 |
from_start=SvPV(Str,len) + width - 1; |
|
504
|
0 |
0 |
for (i=width ; i-- ; --from_start, ++to_start) { |
|
506
|
0 |
0 |
for (j=words; j--; to += width, from += width) { |
|
511
|
0 |
0 |
from_start=SvPV(Str,len); |
|
521
|
12 |
0 |
gf2_matrix_t *self = (gf2_matrix_t*) SvIV(SvRV(Self)); |
|
527
|
0 |
12 |
if (offset % width) errors++; else offset /= width;; |
|
528
|
12 |
0 |
if ((offset < 0) || (offset >= rows * cols)) errors++; |
|
|
0 |
12 |
if ((offset < 0) || (offset >= rows * cols)) errors++; |
|
529
|
0 |
12 |
if (errors) { |
|
534
|
4 |
8 |
if (self->organisation == 1) { // ROWWISE |