Branch Coverage

SpeedyFx.xs
Criterion Covered Total %
branch 163 258 63.1


line true false branch
35 95 25 NEDTRIE_GENERATE(static, sfxaa_tree_s, sfxaa_s, link, sfxaakeyfunct, NEDTRIE_NOBBLEONES(sfxaa_tree_s))
184 5 NEDTRIE_GENERATE(static, sfxaa_tree_s, sfxaa_s, link, sfxaakeyfunct, NEDTRIE_NOBBLEONES(sfxaa_tree_s))
164 20 NEDTRIE_GENERATE(static, sfxaa_tree_s, sfxaa_s, link, sfxaakeyfunct, NEDTRIE_NOBBLEONES(sfxaa_tree_s))
5 20 NEDTRIE_GENERATE(static, sfxaa_tree_s, sfxaa_s, link, sfxaakeyfunct, NEDTRIE_NOBBLEONES(sfxaa_tree_s))
0 120 NEDTRIE_GENERATE(static, sfxaa_tree_s, sfxaa_s, link, sfxaakeyfunct, NEDTRIE_NOBBLEONES(sfxaa_tree_s))
0 120 NEDTRIE_GENERATE(static, sfxaa_tree_s, sfxaa_s, link, sfxaakeyfunct, NEDTRIE_NOBBLEONES(sfxaa_tree_s))
55 65 NEDTRIE_GENERATE(static, sfxaa_tree_s, sfxaa_s, link, sfxaakeyfunct, NEDTRIE_NOBBLEONES(sfxaa_tree_s))
65 55 NEDTRIE_GENERATE(static, sfxaa_tree_s, sfxaa_s, link, sfxaakeyfunct, NEDTRIE_NOBBLEONES(sfxaa_tree_s))
55 40 NEDTRIE_GENERATE(static, sfxaa_tree_s, sfxaa_s, link, sfxaakeyfunct, NEDTRIE_NOBBLEONES(sfxaa_tree_s))
30 25 NEDTRIE_GENERATE(static, sfxaa_tree_s, sfxaa_s, link, sfxaakeyfunct, NEDTRIE_NOBBLEONES(sfxaa_tree_s))
95 25 NEDTRIE_GENERATE(static, sfxaa_tree_s, sfxaa_s, link, sfxaakeyfunct, NEDTRIE_NOBBLEONES(sfxaa_tree_s))
1 6 NEDTRIE_GENERATE(static, sfxaa_tree_s, sfxaa_s, link, sfxaakeyfunct, NEDTRIE_NOBBLEONES(sfxaa_tree_s))
6 0 NEDTRIE_GENERATE(static, sfxaa_tree_s, sfxaa_s, link, sfxaakeyfunct, NEDTRIE_NOBBLEONES(sfxaa_tree_s))
163 0 NEDTRIE_GENERATE(static, sfxaa_tree_s, sfxaa_s, link, sfxaakeyfunct, NEDTRIE_NOBBLEONES(sfxaa_tree_s))
157 6 NEDTRIE_GENERATE(static, sfxaa_tree_s, sfxaa_s, link, sfxaakeyfunct, NEDTRIE_NOBBLEONES(sfxaa_tree_s))
0 0 NEDTRIE_GENERATE(static, sfxaa_tree_s, sfxaa_s, link, sfxaakeyfunct, NEDTRIE_NOBBLEONES(sfxaa_tree_s))
0 0 NEDTRIE_GENERATE(static, sfxaa_tree_s, sfxaa_s, link, sfxaakeyfunct, NEDTRIE_NOBBLEONES(sfxaa_tree_s))
0 0 NEDTRIE_GENERATE(static, sfxaa_tree_s, sfxaa_s, link, sfxaakeyfunct, NEDTRIE_NOBBLEONES(sfxaa_tree_s))
0 0 NEDTRIE_GENERATE(static, sfxaa_tree_s, sfxaa_s, link, sfxaakeyfunct, NEDTRIE_NOBBLEONES(sfxaa_tree_s))
0 0 NEDTRIE_GENERATE(static, sfxaa_tree_s, sfxaa_s, link, sfxaakeyfunct, NEDTRIE_NOBBLEONES(sfxaa_tree_s))
5 251 NEDTRIE_GENERATE(static, sfxaa_tree_s, sfxaa_s, link, sfxaakeyfunct, NEDTRIE_NOBBLEONES(sfxaa_tree_s))
17 234 NEDTRIE_GENERATE(static, sfxaa_tree_s, sfxaa_s, link, sfxaakeyfunct, NEDTRIE_NOBBLEONES(sfxaa_tree_s))
149 468 NEDTRIE_GENERATE(static, sfxaa_tree_s, sfxaa_s, link, sfxaakeyfunct, NEDTRIE_NOBBLEONES(sfxaa_tree_s))
85 383 NEDTRIE_GENERATE(static, sfxaa_tree_s, sfxaa_s, link, sfxaakeyfunct, NEDTRIE_NOBBLEONES(sfxaa_tree_s))
0 149 NEDTRIE_GENERATE(static, sfxaa_tree_s, sfxaa_s, link, sfxaakeyfunct, NEDTRIE_NOBBLEONES(sfxaa_tree_s))
0 1 NEDTRIE_GENERATE(static, sfxaa_tree_s, sfxaa_s, link, sfxaakeyfunct, NEDTRIE_NOBBLEONES(sfxaa_tree_s))
0 0 NEDTRIE_GENERATE(static, sfxaa_tree_s, sfxaa_s, link, sfxaakeyfunct, NEDTRIE_NOBBLEONES(sfxaa_tree_s))
0 1 NEDTRIE_GENERATE(static, sfxaa_tree_s, sfxaa_s, link, sfxaakeyfunct, NEDTRIE_NOBBLEONES(sfxaa_tree_s))
1 0 NEDTRIE_GENERATE(static, sfxaa_tree_s, sfxaa_s, link, sfxaakeyfunct, NEDTRIE_NOBBLEONES(sfxaa_tree_s))
0 1 NEDTRIE_GENERATE(static, sfxaa_tree_s, sfxaa_s, link, sfxaakeyfunct, NEDTRIE_NOBBLEONES(sfxaa_tree_s))
0 1 NEDTRIE_GENERATE(static, sfxaa_tree_s, sfxaa_s, link, sfxaakeyfunct, NEDTRIE_NOBBLEONES(sfxaa_tree_s))
0 0 NEDTRIE_GENERATE(static, sfxaa_tree_s, sfxaa_s, link, sfxaakeyfunct, NEDTRIE_NOBBLEONES(sfxaa_tree_s))
1 2 NEDTRIE_GENERATE(static, sfxaa_tree_s, sfxaa_s, link, sfxaakeyfunct, NEDTRIE_NOBBLEONES(sfxaa_tree_s))
1 1 NEDTRIE_GENERATE(static, sfxaa_tree_s, sfxaa_s, link, sfxaakeyfunct, NEDTRIE_NOBBLEONES(sfxaa_tree_s))
1 0 NEDTRIE_GENERATE(static, sfxaa_tree_s, sfxaa_s, link, sfxaakeyfunct, NEDTRIE_NOBBLEONES(sfxaa_tree_s))
1 0 NEDTRIE_GENERATE(static, sfxaa_tree_s, sfxaa_s, link, sfxaakeyfunct, NEDTRIE_NOBBLEONES(sfxaa_tree_s))
0 1 NEDTRIE_GENERATE(static, sfxaa_tree_s, sfxaa_s, link, sfxaakeyfunct, NEDTRIE_NOBBLEONES(sfxaa_tree_s))
22 82 NEDTRIE_GENERATE(static, sfxaa_tree_s, sfxaa_s, link, sfxaakeyfunct, NEDTRIE_NOBBLEONES(sfxaa_tree_s))
0 198 NEDTRIE_GENERATE(static, sfxaa_tree_s, sfxaa_s, link, sfxaakeyfunct, NEDTRIE_NOBBLEONES(sfxaa_tree_s))
0 0 NEDTRIE_GENERATE(static, sfxaa_tree_s, sfxaa_s, link, sfxaakeyfunct, NEDTRIE_NOBBLEONES(sfxaa_tree_s))
82 116 NEDTRIE_GENERATE(static, sfxaa_tree_s, sfxaa_s, link, sfxaakeyfunct, NEDTRIE_NOBBLEONES(sfxaa_tree_s))
54 0 3 PUSHMARK(SP);
55 0 3 XPUSHs(sv_2mortal(newSVpv("Text::SpeedyFx::Result", 0)));
61 0 3 if (count != 1)
67 3 0 FREETMPS;
80 3 0 if (SvRMAGICAL((SV *) hash)) {
81 3 0 if ((magic = mg_find((SV *) hash, PERL_MAGIC_tied)) != NULL) {
83 3 0 if (SvROK(attr)) {
84 3 0 pSpeedyFxResult = (SpeedyFxResult *) SvIV(SvRV(attr));
85 0 3 if (pSpeedyFxResult->signature != SFX_SIGNATURE) {
190 40 65 tmp.key = SvNV(key);
191 1 104 if ((p = NEDTRIE_FIND(sfxaa_tree_s, &(pSpeedyFxResult->root), &tmp)) == 0) {
206 0 40 tmp.key = SvNV(key);
207 0 40 tmp.val = SvNV(value);
208 0 40 if ((p = NEDTRIE_FIND(sfxaa_tree_s, &(pSpeedyFxResult->root), &tmp)) != 0)
211 0 40 if (pSpeedyFxResult->count++ >= MAX_TRIE_SIZE)
226 0 2 tmp.key = SvNV(key);
227 1 1 if ((p = NEDTRIE_FIND(sfxaa_tree_s, &(pSpeedyFxResult->root), &tmp)) == 0) {
249 40 2 tmp.key = SvNV(key);
250 1 41 if ((p = NEDTRIE_FIND(sfxaa_tree_s, &(pSpeedyFxResult->root), &tmp)) == 0) {
262 1 6 if ((p = NEDTRIE_MIN(sfxaa_tree_s, &(pSpeedyFxResult->root))) == 0) {
277 5 115 if ((p = NEDTRIE_NEXT(sfxaa_tree_s, &(pSpeedyFxResult->root), pSpeedyFxResult->last)) == 0) {
325 4 0 if (items > 1)
326 0 4 seed = SvNV(ST(1));
327 2 2 if (items > 2)
328 0 2 bits = SvNV(ST(2));
330 1 3 if (seed == 0)
333 2 1 if (bits <= 8)
335 1 0 else if (bits > 17)
341 0 3 Newxc(pSpeedyFx, 1 + length, U32, SpeedyFx);
347 3 0 if (fold_init < length) {
348 197116 3 for (i = fold_init + 1; i < length; i++) {
349 141311 55805 if (i >= 0xd800 && i <= 0xdfff) // high/low-surrogate code points
2048 139263 if (i >= 0xd800 && i <= 0xdfff) // high/low-surrogate code points
351 131631 63437 else if (i >= 0xfdd0 && i <= 0xfdef) // noncharacters
32 131599 else if (i >= 0xfdd0 && i <= 0xfdef) // noncharacters
353 3 195033 else if ((i & 0xffff) == 0xfffe) // noncharacters
355 2 195031 else if ((i & 0xffff) == 0xffff) // noncharacters
361 119837 75194 if (ChrIsAlphanum(s, t)) {
366 119837 0 c = ChrCode(u, v, &len);
369 0 119837 if (length < c)
379 0 3 if (pSpeedyFx->length != length) {
380 0 0 Renewc(pSpeedyFx, 1 + length, U32, SpeedyFx);
385 0 3 Zero(code_table, length, U32);
388 197116 3 for (i = 1; i < length; i++)
395 197119 3 for (i = 0; i < length; i++)
396 119837 77282 if (fold_table[i])
408 3 0 _SPEEDYFX_INIT;
415 0 3 if ((pSpeedyFxResult = result_addr(res)) == NULL)
422 1 2 if (length > 256) {
423 269 0 _SPEEDYFX(_NEDTRIE_STORE, _WALK_UTF8, length);
198 71 _SPEEDYFX(_NEDTRIE_STORE, _WALK_UTF8, length);
41 30 _SPEEDYFX(_NEDTRIE_STORE, _WALK_UTF8, length);
1 40 _SPEEDYFX(_NEDTRIE_STORE, _WALK_UTF8, length);
0 40 _SPEEDYFX(_NEDTRIE_STORE, _WALK_UTF8, length);
269 1 _SPEEDYFX(_NEDTRIE_STORE, _WALK_UTF8, length);
0 1 _SPEEDYFX(_NEDTRIE_STORE, _WALK_UTF8, length);
0 0 _SPEEDYFX(_NEDTRIE_STORE, _WALK_UTF8, length);
0 0 _SPEEDYFX(_NEDTRIE_STORE, _WALK_UTF8, length);
425 100 187 _SPEEDYFX(_NEDTRIE_STORE, _WALK_LATIN1, 256);
26 161 _SPEEDYFX(_NEDTRIE_STORE, _WALK_LATIN1, 256);
2 24 _SPEEDYFX(_NEDTRIE_STORE, _WALK_LATIN1, 256);
0 24 _SPEEDYFX(_NEDTRIE_STORE, _WALK_LATIN1, 256);
287 2 _SPEEDYFX(_NEDTRIE_STORE, _WALK_LATIN1, 256);
0 2 _SPEEDYFX(_NEDTRIE_STORE, _WALK_LATIN1, 256);
0 0 _SPEEDYFX(_NEDTRIE_STORE, _WALK_LATIN1, 256);
0 0 _SPEEDYFX(_NEDTRIE_STORE, _WALK_LATIN1, 256);
446 1 0 _SPEEDYFX_INIT;
452 1 0 if (length > 256) {
453 269 0 _SPEEDYFX(SetBit(fv, wordhash % n), _WALK_UTF8, length);
198 71 _SPEEDYFX(SetBit(fv, wordhash % n), _WALK_UTF8, length);
41 30 _SPEEDYFX(SetBit(fv, wordhash % n), _WALK_UTF8, length);
269 1 _SPEEDYFX(SetBit(fv, wordhash % n), _WALK_UTF8, length);
0 1 _SPEEDYFX(SetBit(fv, wordhash % n), _WALK_UTF8, length);
455 0 0 _SPEEDYFX(SetBit(fv, wordhash % n), _WALK_LATIN1, 256);
0 0 _SPEEDYFX(SetBit(fv, wordhash % n), _WALK_LATIN1, 256);
0 0 _SPEEDYFX(SetBit(fv, wordhash % n), _WALK_LATIN1, 256);
0 0 _SPEEDYFX(SetBit(fv, wordhash % n), _WALK_LATIN1, 256);
467 1 0 _SPEEDYFX_INIT;
470 1 0 if (length > 256) {
471 269 0 _SPEEDYFX(min = FastMin(min, wordhash), _WALK_UTF8, length);
198 71 _SPEEDYFX(min = FastMin(min, wordhash), _WALK_UTF8, length);
41 30 _SPEEDYFX(min = FastMin(min, wordhash), _WALK_UTF8, length);
269 1 _SPEEDYFX(min = FastMin(min, wordhash), _WALK_UTF8, length);
0 1 _SPEEDYFX(min = FastMin(min, wordhash), _WALK_UTF8, length);
473 0 0 _SPEEDYFX(min = FastMin(min, wordhash), _WALK_LATIN1, 256);
0 0 _SPEEDYFX(min = FastMin(min, wordhash), _WALK_LATIN1, 256);
0 0 _SPEEDYFX(min = FastMin(min, wordhash), _WALK_LATIN1, 256);
0 0 _SPEEDYFX(min = FastMin(min, wordhash), _WALK_LATIN1, 256);