OpenCoverage

bitvec.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/sqlite/src/src/bitvec.c
Switch to Source codePreprocessed file
LineSourceCount
1struct Bitvec {-
2 u32 iSize;-
3 u32 nSet;-
4-
5-
6 u32 iDivisor;-
7-
8-
9-
10 union {-
11 u8 aBitmap[((((512 -(3*sizeof(u32)))/sizeof(Bitvec*))*sizeof(Bitvec*))/sizeof(u8))];-
12 u32 aHash[((((512 -(3*sizeof(u32)))/sizeof(Bitvec*))*sizeof(Bitvec*))/sizeof(u32))];-
13 Bitvec *apSub[((((512 -(3*sizeof(u32)))/sizeof(Bitvec*))*sizeof(Bitvec*))/sizeof(Bitvec *))];-
14 } u;-
15};-
16-
17-
18-
19-
20-
21-
22Bitvec *sqlite3BitvecCreate(u32 iSize){-
23 Bitvec *p;-
24 -
25 ((void) (0))-
26 ;-
27 p = sqlite3MallocZero( sizeof(*p) );-
28 if( p
pDescription
TRUEevaluated 351440 times by 380 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • ...
FALSEevaluated 136 times by 1 test
Evaluated by:
  • Self test (438)
){
136-351440
29 p->iSize = iSize;-
30 }
executed 351440 times by 380 tests: end of block
Executed by:
  • Self test
  • Self test (10)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • ...
351440
31 return
executed 351576 times by 380 tests: return p;
Executed by:
  • Self test
  • Self test (10)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • ...
p;
executed 351576 times by 380 tests: return p;
Executed by:
  • Self test
  • Self test (10)
  • Self test (101)
  • Self test (104)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • ...
351576
32}-
33-
34-
35-
36-
37-
38-
39int sqlite3BitvecTestNotNull(Bitvec *p, u32 i){-
40 -
41 ((void) (0))-
42 ;-
43 i--;-
44 if( i>=p->iSize
i>=p->iSizeDescription
TRUEevaluated 830574 times by 289 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (101)
  • Self test (104)
  • Self test (11)
  • Self test (12)
  • Self test (13)
  • Self test (14)
  • Self test (15)
  • Self test (17)
  • Self test (18)
  • Self test (185)
  • Self test (186)
  • Self test (187)
  • Self test (188)
  • Self test (189)
  • Self test (19)
  • Self test (190)
  • Self test (191)
  • Self test (192)
  • Self test (193)
  • Self test (194)
  • Self test (195)
  • Self test (196)
  • Self test (197)
  • ...
FALSEevaluated 42788765 times by 377 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (104)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
) return
executed 830574 times by 289 tests: return 0;
Executed by:
  • Self test
  • Self test (10)
  • Self test (101)
  • Self test (104)
  • Self test (11)
  • Self test (12)
  • Self test (13)
  • Self test (14)
  • Self test (15)
  • Self test (17)
  • Self test (18)
  • Self test (185)
  • Self test (186)
  • Self test (187)
  • Self test (188)
  • Self test (189)
  • Self test (19)
  • Self test (190)
  • Self test (191)
  • Self test (192)
  • Self test (193)
  • Self test (194)
  • Self test (195)
  • Self test (196)
  • Self test (197)
  • ...
0;
executed 830574 times by 289 tests: return 0;
Executed by:
  • Self test
  • Self test (10)
  • Self test (101)
  • Self test (104)
  • Self test (11)
  • Self test (12)
  • Self test (13)
  • Self test (14)
  • Self test (15)
  • Self test (17)
  • Self test (18)
  • Self test (185)
  • Self test (186)
  • Self test (187)
  • Self test (188)
  • Self test (189)
  • Self test (19)
  • Self test (190)
  • Self test (191)
  • Self test (192)
  • Self test (193)
  • Self test (194)
  • Self test (195)
  • Self test (196)
  • Self test (197)
  • ...
830574-42788765
45 while( p->iDivisor
p->iDivisorDescription
TRUEevaluated 54979520 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 42393679 times by 377 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (104)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
){
42393679-54979520
46 u32 bin = i/p->iDivisor;-
47 i = i%p->iDivisor;-
48 p = p->u.apSub[bin];-
49 if (!p
!pDescription
TRUEevaluated 395086 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 54584434 times by 1 test
Evaluated by:
  • Self test (438)
) {
395086-54584434
50 return
executed 395086 times by 1 test: return 0;
Executed by:
  • Self test (438)
0;
executed 395086 times by 1 test: return 0;
Executed by:
  • Self test (438)
395086
51 }-
52 }
executed 54584434 times by 1 test: end of block
Executed by:
  • Self test (438)
54584434
53 if( p->iSize<=(((((512 -(3*sizeof(u32)))/sizeof(Bitvec*))*sizeof(Bitvec*))/sizeof(u8))*8)
p->iSize<=((((...sizeof(u8))*8)Description
TRUEevaluated 41799885 times by 377 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (104)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
FALSEevaluated 593794 times by 1 test
Evaluated by:
  • Self test (438)
){
593794-41799885
54 return
executed 41799885 times by 377 tests: return (p->u.aBitmap[i/8] & (1<<(i&(8 -1))))!=0;
Executed by:
  • Self test
  • Self test (10)
  • Self test (104)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
(p->u.aBitmap[i/8] & (1<<(i&(8 -1))))!=0;
executed 41799885 times by 377 tests: return (p->u.aBitmap[i/8] & (1<<(i&(8 -1))))!=0;
Executed by:
  • Self test
  • Self test (10)
  • Self test (104)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • ...
41799885
55 } else{-
56 u32 h = (((i++)*1)%((((512 -(3*sizeof(u32)))/sizeof(Bitvec*))*sizeof(Bitvec*))/sizeof(u32)));-
57 while( p->u.aHash[h]
p->u.aHash[h]Description
TRUEevaluated 92777 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 549566 times by 1 test
Evaluated by:
  • Self test (438)
){
92777-549566
58 if( p->u.aHash[h]==i
p->u.aHash[h]==iDescription
TRUEevaluated 44228 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 48549 times by 1 test
Evaluated by:
  • Self test (438)
) return
executed 44228 times by 1 test: return 1;
Executed by:
  • Self test (438)
1;
executed 44228 times by 1 test: return 1;
Executed by:
  • Self test (438)
44228-48549
59 h = (h+1) % ((((512 -(3*sizeof(u32)))/sizeof(Bitvec*))*sizeof(Bitvec*))/sizeof(u32));-
60 }
executed 48549 times by 1 test: end of block
Executed by:
  • Self test (438)
48549
61 return
executed 549566 times by 1 test: return 0;
Executed by:
  • Self test (438)
0;
executed 549566 times by 1 test: return 0;
Executed by:
  • Self test (438)
549566
62 }-
63}-
64int sqlite3BitvecTest(Bitvec *p, u32 i){-
65 return
executed 20241311 times by 38 tests: return p!=0 && sqlite3BitvecTestNotNull(p,i);
Executed by:
  • Self test (10)
  • Self test (100)
  • Self test (11)
  • Self test (12)
  • Self test (13)
  • Self test (14)
  • Self test (15)
  • Self test (16)
  • Self test (17)
  • Self test (18)
  • Self test (19)
  • Self test (2)
  • Self test (20)
  • Self test (21)
  • Self test (22)
  • Self test (23)
  • Self test (3)
  • Self test (32)
  • Self test (33)
  • Self test (39)
  • Self test (4)
  • Self test (438)
  • Self test (5)
  • Self test (54)
  • Self test (55)
  • ...
p!=0
p!=0Description
TRUEevaluated 20139815 times by 26 tests
Evaluated by:
  • Self test (10)
  • Self test (11)
  • Self test (12)
  • Self test (13)
  • Self test (14)
  • Self test (15)
  • Self test (16)
  • Self test (17)
  • Self test (18)
  • Self test (19)
  • Self test (2)
  • Self test (20)
  • Self test (21)
  • Self test (22)
  • Self test (23)
  • Self test (3)
  • Self test (32)
  • Self test (33)
  • Self test (4)
  • Self test (438)
  • Self test (5)
  • Self test (54)
  • Self test (6)
  • Self test (7)
  • Self test (8)
  • ...
FALSEevaluated 101496 times by 26 tests
Evaluated by:
  • Self test (10)
  • Self test (100)
  • Self test (12)
  • Self test (14)
  • Self test (16)
  • Self test (18)
  • Self test (2)
  • Self test (20)
  • Self test (22)
  • Self test (3)
  • Self test (39)
  • Self test (4)
  • Self test (438)
  • Self test (5)
  • Self test (55)
  • Self test (6)
  • Self test (8)
  • Self test (91)
  • Self test (92)
  • Self test (93)
  • Self test (94)
  • Self test (95)
  • Self test (96)
  • Self test (97)
  • Self test (98)
  • ...
&& sqlite3BitvecTestNotNull(p,i)
sqlite3BitvecTestNotNull(p,i)Description
TRUEevaluated 1231053 times by 13 tests
Evaluated by:
  • Self test (10)
  • Self test (12)
  • Self test (14)
  • Self test (16)
  • Self test (18)
  • Self test (20)
  • Self test (22)
  • Self test (32)
  • Self test (33)
  • Self test (438)
  • Self test (54)
  • Self test (6)
  • Self test (8)
FALSEevaluated 18908762 times by 23 tests
Evaluated by:
  • Self test (10)
  • Self test (11)
  • Self test (12)
  • Self test (13)
  • Self test (14)
  • Self test (15)
  • Self test (16)
  • Self test (17)
  • Self test (18)
  • Self test (19)
  • Self test (2)
  • Self test (20)
  • Self test (21)
  • Self test (22)
  • Self test (23)
  • Self test (3)
  • Self test (4)
  • Self test (438)
  • Self test (5)
  • Self test (6)
  • Self test (7)
  • Self test (8)
  • Self test (9)
;
executed 20241311 times by 38 tests: return p!=0 && sqlite3BitvecTestNotNull(p,i);
Executed by:
  • Self test (10)
  • Self test (100)
  • Self test (11)
  • Self test (12)
  • Self test (13)
  • Self test (14)
  • Self test (15)
  • Self test (16)
  • Self test (17)
  • Self test (18)
  • Self test (19)
  • Self test (2)
  • Self test (20)
  • Self test (21)
  • Self test (22)
  • Self test (23)
  • Self test (3)
  • Self test (32)
  • Self test (33)
  • Self test (39)
  • Self test (4)
  • Self test (438)
  • Self test (5)
  • Self test (54)
  • Self test (55)
  • ...
101496-20241311
66}-
67int sqlite3BitvecSet(Bitvec *p, u32 i){-
68 u32 h;-
69 if( p==0
p==0Description
TRUEevaluated 9272 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 38360328 times by 374 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (104)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • Self test (127)
  • Self test (128)
  • Self test (129)
  • ...
) return
executed 9272 times by 1 test: return 0;
Executed by:
  • Self test (438)
0;
executed 9272 times by 1 test: return 0;
Executed by:
  • Self test (438)
9272-38360328
70 -
71 ((void) (0))-
72 ;-
73 -
74 ((void) (0))-
75 ;-
76 i--;-
77 while((
(p->iSize > ((...izeof(u8))*8))Description
TRUEevaluated 56666595 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 37827562 times by 374 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (104)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • Self test (127)
  • Self test (128)
  • Self test (129)
  • ...
p->iSize > (((((512 -(3*sizeof(u32)))/sizeof(Bitvec*))*sizeof(Bitvec*))/sizeof(u8))*8))
(p->iSize > ((...izeof(u8))*8))Description
TRUEevaluated 56666595 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 37827562 times by 374 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (104)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • Self test (127)
  • Self test (128)
  • Self test (129)
  • ...
&& p->iDivisor
p->iDivisorDescription
TRUEevaluated 56133953 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 532642 times by 1 test
Evaluated by:
  • Self test (438)
) {
532642-56666595
78 u32 bin = i/p->iDivisor;-
79 i = i%p->iDivisor;-
80 if( p->u.apSub[bin]==0
p->u.apSub[bin]==0Description
TRUEevaluated 264392 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 55869561 times by 1 test
Evaluated by:
  • Self test (438)
){
264392-55869561
81 p->u.apSub[bin] = sqlite3BitvecCreate( p->iDivisor );-
82 if( p->u.apSub[bin]==0
p->u.apSub[bin]==0Description
TRUEevaluated 124 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 264268 times by 1 test
Evaluated by:
  • Self test (438)
) return
executed 124 times by 1 test: return 7;
Executed by:
  • Self test (438)
7;
executed 124 times by 1 test: return 7;
Executed by:
  • Self test (438)
124-264268
83 }
executed 264268 times by 1 test: end of block
Executed by:
  • Self test (438)
264268
84 p = p->u.apSub[bin];-
85 }
executed 56133829 times by 1 test: end of block
Executed by:
  • Self test (438)
56133829
86 if( p->iSize<=(((((512 -(3*sizeof(u32)))/sizeof(Bitvec*))*sizeof(Bitvec*))/sizeof(u8))*8)
p->iSize<=((((...sizeof(u8))*8)Description
TRUEevaluated 37827562 times by 374 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (104)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • Self test (127)
  • Self test (128)
  • Self test (129)
  • ...
FALSEevaluated 532642 times by 1 test
Evaluated by:
  • Self test (438)
){
532642-37827562
87 p->u.aBitmap[i/8] |= 1 << (i&(8 -1));-
88 return
executed 37827562 times by 374 tests: return 0;
Executed by:
  • Self test
  • Self test (10)
  • Self test (104)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • Self test (127)
  • Self test (128)
  • Self test (129)
  • ...
0;
executed 37827562 times by 374 tests: return 0;
Executed by:
  • Self test
  • Self test (10)
  • Self test (104)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • Self test (121)
  • Self test (122)
  • Self test (123)
  • Self test (124)
  • Self test (125)
  • Self test (126)
  • Self test (127)
  • Self test (128)
  • Self test (129)
  • ...
37827562
89 }-
90 h = (((i++)*1)%((((512 -(3*sizeof(u32)))/sizeof(Bitvec*))*sizeof(Bitvec*))/sizeof(u32)));-
91-
92-
93-
94 if( !p->u.aHash[h]
!p->u.aHash[h]Description
TRUEevaluated 530515 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 2127 times by 1 test
Evaluated by:
  • Self test (438)
){
2127-530515
95 if (p->nSet<(((((512 -(3*sizeof(u32)))/sizeof(Bitvec*))*sizeof(Bitvec*))/sizeof(u32))-1)
p->nSet<(((((5...izeof(u32))-1)Description
TRUEevaluated 526280 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 4235 times by 1 test
Evaluated by:
  • Self test (438)
) {
4235-526280
96 goto
executed 526280 times by 1 test: goto bitvec_set_end;
Executed by:
  • Self test (438)
bitvec_set_end;
executed 526280 times by 1 test: goto bitvec_set_end;
Executed by:
  • Self test (438)
526280
97 } else {-
98 goto
executed 4235 times by 1 test: goto bitvec_set_rehash;
Executed by:
  • Self test (438)
bitvec_set_rehash;
executed 4235 times by 1 test: goto bitvec_set_rehash;
Executed by:
  • Self test (438)
4235
99 }-
100 }-
101-
102-
103 do {-
104 if( p->u.aHash[h]==i
p->u.aHash[h]==iDescription
TRUEevaluated 196 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 11449 times by 1 test
Evaluated by:
  • Self test (438)
) return
executed 196 times by 1 test: return 0;
Executed by:
  • Self test (438)
0;
executed 196 times by 1 test: return 0;
Executed by:
  • Self test (438)
196-11449
105 h++;-
106 if( h>=((((512 -(3*sizeof(u32)))/sizeof(Bitvec*))*sizeof(Bitvec*))/sizeof(u32))
h>=((((512 -(3...)/sizeof(u32))Description
TRUEevaluated 79 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 11370 times by 1 test
Evaluated by:
  • Self test (438)
) h = 0;
executed 79 times by 1 test: h = 0;
Executed by:
  • Self test (438)
79-11370
107 }
executed 11449 times by 1 test: end of block
Executed by:
  • Self test (438)
while( p->u.aHash[h]
p->u.aHash[h]Description
TRUEevaluated 9518 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 1931 times by 1 test
Evaluated by:
  • Self test (438)
);
1931-11449
108-
109-
110-
111bitvec_set_rehash:
code before this statement executed 1931 times by 1 test: bitvec_set_rehash:
Executed by:
  • Self test (438)
1931
112 if( p->nSet>=(((((512 -(3*sizeof(u32)))/sizeof(Bitvec*))*sizeof(Bitvec*))/sizeof(u32))/2)
p->nSet>=(((((...izeof(u32))/2)Description
TRUEevaluated 4319 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 1847 times by 1 test
Evaluated by:
  • Self test (438)
){
1847-4319
113 unsigned int j;-
114 int rc;-
115 u32 *aiValues = sqlite3DbMallocRaw(0,sizeof(p->u.aHash));-
116 if( aiValues==0
aiValues==0Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 4317 times by 1 test
Evaluated by:
  • Self test (438)
){
2-4317
117 return
executed 2 times by 1 test: return 7;
Executed by:
  • Self test (438)
7;
executed 2 times by 1 test: return 7;
Executed by:
  • Self test (438)
2
118 }else{-
119 memcpy(aiValues, p->u.aHash, sizeof(p->u.aHash));-
120 memset(p->u.apSub, 0, sizeof(p->u.apSub));-
121 p->iDivisor = (p->iSize + ((((512 -(3*sizeof(u32)))/sizeof(Bitvec*))*sizeof(Bitvec*))/sizeof(Bitvec *)) - 1)/((((512 -(3*sizeof(u32)))/sizeof(Bitvec*))*sizeof(Bitvec*))/sizeof(Bitvec *));-
122 rc = sqlite3BitvecSet(p, i);-
123 for(j=0; j<((((512 -(3*sizeof(u32)))/sizeof(Bitvec*))*sizeof(Bitvec*))/sizeof(u32))
j<((((512 -(3*...)/sizeof(u32))Description
TRUEevaluated 535308 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 4317 times by 1 test
Evaluated by:
  • Self test (438)
; j++){
4317-535308
124 if( aiValues[j]
aiValues[j]Description
TRUEevaluated 526580 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 8728 times by 1 test
Evaluated by:
  • Self test (438)
) rc |= sqlite3BitvecSet(p, aiValues[j]);
executed 526580 times by 1 test: rc |= sqlite3BitvecSet(p, aiValues[j]);
Executed by:
  • Self test (438)
8728-526580
125 }
executed 535308 times by 1 test: end of block
Executed by:
  • Self test (438)
535308
126 sqlite3DbFree(0,aiValues);-
127 return
executed 4317 times by 1 test: return rc;
Executed by:
  • Self test (438)
rc;
executed 4317 times by 1 test: return rc;
Executed by:
  • Self test (438)
4317
128 }-
129 }-
130bitvec_set_end:
code before this statement executed 1847 times by 1 test: bitvec_set_end:
Executed by:
  • Self test (438)
1847
131 p->nSet++;-
132 p->u.aHash[h] = i;-
133 return
executed 528127 times by 1 test: return 0;
Executed by:
  • Self test (438)
0;
executed 528127 times by 1 test: return 0;
Executed by:
  • Self test (438)
528127
134}-
135-
136-
137-
138-
139-
140-
141-
142void sqlite3BitvecClear(Bitvec *p, u32 i, void *pBuf){-
143 if( p==0
p==0Description
TRUEevaluated 172 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 18465827 times by 1 test
Evaluated by:
  • Self test (438)
) return;
executed 172 times by 1 test: return;
Executed by:
  • Self test (438)
172-18465827
144 -
145 ((void) (0))-
146 ;-
147 i--;-
148 while( p->iDivisor
p->iDivisorDescription
TRUEevaluated 53123904 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 18070914 times by 1 test
Evaluated by:
  • Self test (438)
){
18070914-53123904
149 u32 bin = i/p->iDivisor;-
150 i = i%p->iDivisor;-
151 p = p->u.apSub[bin];-
152 if (!p
!pDescription
TRUEevaluated 394913 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 52728991 times by 1 test
Evaluated by:
  • Self test (438)
) {
394913-52728991
153 return;
executed 394913 times by 1 test: return;
Executed by:
  • Self test (438)
394913
154 }-
155 }
executed 52728991 times by 1 test: end of block
Executed by:
  • Self test (438)
52728991
156 if( p->iSize<=(((((512 -(3*sizeof(u32)))/sizeof(Bitvec*))*sizeof(Bitvec*))/sizeof(u8))*8)
p->iSize<=((((...sizeof(u8))*8)Description
TRUEevaluated 17916889 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 154025 times by 1 test
Evaluated by:
  • Self test (438)
){
154025-17916889
157 p->u.aBitmap[i/8] &= ~(1 << (i&(8 -1)));-
158 }
executed 17916889 times by 1 test: end of block
Executed by:
  • Self test (438)
else{
17916889
159 unsigned int j;-
160 u32 *aiValues = pBuf;-
161 memcpy(aiValues, p->u.aHash, sizeof(p->u.aHash));-
162 memset(p->u.aHash, 0, sizeof(p->u.aHash));-
163 p->nSet = 0;-
164 for(j=0; j<((((512 -(3*sizeof(u32)))/sizeof(Bitvec*))*sizeof(Bitvec*))/sizeof(u32))
j<((((512 -(3*...)/sizeof(u32))Description
TRUEevaluated 19099100 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 154025 times by 1 test
Evaluated by:
  • Self test (438)
; j++){
154025-19099100
165 if( aiValues[j]
aiValues[j]Description
TRUEevaluated 3700904 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 15398196 times by 1 test
Evaluated by:
  • Self test (438)
&& aiValues[j]!=(i+1)
aiValues[j]!=(i+1)Description
TRUEevaluated 3699809 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 1095 times by 1 test
Evaluated by:
  • Self test (438)
){
1095-15398196
166 u32 h = (((aiValues[j]-1)*1)%((((512 -(3*sizeof(u32)))/sizeof(Bitvec*))*sizeof(Bitvec*))/sizeof(u32)));-
167 p->nSet++;-
168 while( p->u.aHash[h]
p->u.aHash[h]Description
TRUEevaluated 12219756 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 3699809 times by 1 test
Evaluated by:
  • Self test (438)
){
3699809-12219756
169 h++;-
170 if( h>=((((512 -(3*sizeof(u32)))/sizeof(Bitvec*))*sizeof(Bitvec*))/sizeof(u32))
h>=((((512 -(3...)/sizeof(u32))Description
TRUEevaluated 65592 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 12154164 times by 1 test
Evaluated by:
  • Self test (438)
) h = 0;
executed 65592 times by 1 test: h = 0;
Executed by:
  • Self test (438)
65592-12154164
171 }
executed 12219756 times by 1 test: end of block
Executed by:
  • Self test (438)
12219756
172 p->u.aHash[h] = aiValues[j];-
173 }
executed 3699809 times by 1 test: end of block
Executed by:
  • Self test (438)
3699809
174 }
executed 19099100 times by 1 test: end of block
Executed by:
  • Self test (438)
19099100
175 }
executed 154025 times by 1 test: end of block
Executed by:
  • Self test (438)
154025
176}-
177-
178-
179-
180-
181void sqlite3BitvecDestroy(Bitvec *p){-
182 if( p==0
p==0Description
TRUEevaluated 703291 times by 438 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
FALSEevaluated 351079 times by 43 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (101)
  • Self test (104)
  • Self test (11)
  • Self test (12)
  • Self test (14)
  • Self test (15)
  • Self test (16)
  • Self test (18)
  • Self test (19)
  • Self test (2)
  • Self test (20)
  • Self test (22)
  • Self test (23)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (3)
  • Self test (31)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (38)
  • ...
) return;
executed 703291 times by 438 tests: return;
Executed by:
  • Self test
  • Self test (10)
  • Self test (100)
  • Self test (101)
  • Self test (102)
  • Self test (103)
  • Self test (104)
  • Self test (105)
  • Self test (106)
  • Self test (107)
  • Self test (108)
  • Self test (109)
  • Self test (11)
  • Self test (110)
  • Self test (111)
  • Self test (112)
  • Self test (113)
  • Self test (114)
  • Self test (115)
  • Self test (116)
  • Self test (117)
  • Self test (118)
  • Self test (119)
  • Self test (12)
  • Self test (120)
  • ...
351079-703291
183 if( p->iDivisor
p->iDivisorDescription
TRUEevaluated 4317 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 346762 times by 43 tests
Evaluated by:
  • Self test
  • Self test (10)
  • Self test (101)
  • Self test (104)
  • Self test (11)
  • Self test (12)
  • Self test (14)
  • Self test (15)
  • Self test (16)
  • Self test (18)
  • Self test (19)
  • Self test (2)
  • Self test (20)
  • Self test (22)
  • Self test (23)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (3)
  • Self test (31)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (38)
  • ...
){
4317-346762
184 unsigned int i;-
185 for(i=0; i<((((512 -(3*sizeof(u32)))/sizeof(Bitvec*))*sizeof(Bitvec*))/sizeof(Bitvec *))
i<((((512 -(3*...eof(Bitvec *))Description
TRUEevaluated 267654 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 4317 times by 1 test
Evaluated by:
  • Self test (438)
; i++){
4317-267654
186 sqlite3BitvecDestroy(p->u.apSub[i]);-
187 }
executed 267654 times by 1 test: end of block
Executed by:
  • Self test (438)
267654
188 }
executed 4317 times by 1 test: end of block
Executed by:
  • Self test (438)
4317
189 sqlite3_free(p);-
190}
executed 351079 times by 43 tests: end of block
Executed by:
  • Self test
  • Self test (10)
  • Self test (101)
  • Self test (104)
  • Self test (11)
  • Self test (12)
  • Self test (14)
  • Self test (15)
  • Self test (16)
  • Self test (18)
  • Self test (19)
  • Self test (2)
  • Self test (20)
  • Self test (22)
  • Self test (23)
  • Self test (24)
  • Self test (26)
  • Self test (27)
  • Self test (28)
  • Self test (3)
  • Self test (31)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (38)
  • ...
351079
191-
192-
193-
194-
195-
196u32 sqlite3BitvecSize(Bitvec *p){-
197 return
executed 387681 times by 15 tests: return p->iSize;
Executed by:
  • Self test
  • Self test (14)
  • Self test (16)
  • Self test (18)
  • Self test (20)
  • Self test (22)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (438)
  • Self test (54)
  • Self test (57)
  • Self test (58)
  • Self test (6)
  • Self test (8)
p->iSize;
executed 387681 times by 15 tests: return p->iSize;
Executed by:
  • Self test
  • Self test (14)
  • Self test (16)
  • Self test (18)
  • Self test (20)
  • Self test (22)
  • Self test (32)
  • Self test (33)
  • Self test (34)
  • Self test (438)
  • Self test (54)
  • Self test (57)
  • Self test (58)
  • Self test (6)
  • Self test (8)
387681
198}-
199int sqlite3BitvecBuiltinTest(int sz, int *aOp){-
200 Bitvec *pBitvec = 0;-
201 unsigned char *pV = 0;-
202 int rc = -1;-
203 int i, nx, pc, op;-
204 void *pTmpSpace;-
205-
206-
207-
208 pBitvec = sqlite3BitvecCreate( sz );-
209 pV = sqlite3MallocZero( (sz+7)/8 + 1 );-
210 pTmpSpace = sqlite3_malloc64(512);-
211 if( pBitvec==0
pBitvec==0Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 178 times by 1 test
Evaluated by:
  • Self test (438)
|| pV==0
pV==0Description
TRUEevaluated 3 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 175 times by 1 test
Evaluated by:
  • Self test (438)
|| pTmpSpace==0
pTmpSpace==0Description
TRUEevaluated 3 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 172 times by 1 test
Evaluated by:
  • Self test (438)
) goto
executed 8 times by 1 test: goto bitvec_end;
Executed by:
  • Self test (438)
bitvec_end;
executed 8 times by 1 test: goto bitvec_end;
Executed by:
  • Self test (438)
2-178
212-
213-
214 sqlite3BitvecSet(0, 1);-
215 sqlite3BitvecClear(0, 1, pTmpSpace);-
216-
217-
218 pc = 0;-
219 while( (
(op = aOp[pc])!=0Description
TRUEevaluated 38841234 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 46 times by 1 test
Evaluated by:
  • Self test (438)
op = aOp[pc])!=0
(op = aOp[pc])!=0Description
TRUEevaluated 38841234 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 46 times by 1 test
Evaluated by:
  • Self test (438)
){
46-38841234
220 switch( op ){-
221 case
executed 20359981 times by 1 test: case 1:
Executed by:
  • Self test (438)
1:
executed 20359981 times by 1 test: case 1:
Executed by:
  • Self test (438)
20359981
222 case
executed 18457825 times by 1 test: case 2:
Executed by:
  • Self test (438)
2:
executed 18457825 times by 1 test: case 2:
Executed by:
  • Self test (438)
18457825
223 case
executed 2 times by 1 test: case 5:
Executed by:
  • Self test (438)
5:
executed 2 times by 1 test: case 5:
Executed by:
  • Self test (438)
{
2
224 nx = 4;-
225 i = aOp[pc+2] - 1;-
226 aOp[pc+2] += aOp[pc+3];-
227 break;
executed 38817808 times by 1 test: break;
Executed by:
  • Self test (438)
38817808
228 }-
229 case
executed 15426 times by 1 test: case 3:
Executed by:
  • Self test (438)
3:
executed 15426 times by 1 test: case 3:
Executed by:
  • Self test (438)
15426
230 case
executed 8000 times by 1 test: case 4:
Executed by:
  • Self test (438)
4:
executed 8000 times by 1 test: case 4:
Executed by:
  • Self test (438)
8000
231 default
never executed: default:
:
never executed: default:
{
0
232 nx = 2;-
233 sqlite3_randomness(sizeof(i), &i);-
234 break;
executed 23426 times by 1 test: break;
Executed by:
  • Self test (438)
23426
235 }-
236 }-
237 if( (--
(--aOp[pc+1]) > 0Description
TRUEevaluated 38841135 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 99 times by 1 test
Evaluated by:
  • Self test (438)
aOp[pc+1]) > 0
(--aOp[pc+1]) > 0Description
TRUEevaluated 38841135 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 99 times by 1 test
Evaluated by:
  • Self test (438)
) nx = 0;
executed 38841135 times by 1 test: nx = 0;
Executed by:
  • Self test (438)
99-38841135
238 pc += nx;-
239 i = (i & 0x7fffffff)%sz;-
240 if( (
(op & 1)!=0Description
TRUEevaluated 20375409 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 18465825 times by 1 test
Evaluated by:
  • Self test (438)
op & 1)!=0
(op & 1)!=0Description
TRUEevaluated 20375409 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 18465825 times by 1 test
Evaluated by:
  • Self test (438)
){
18465825-20375409
241 pV[(i+1)>>3] |= (1<<((i+1)&7));-
242 if( op!=5
op!=5Description
TRUEevaluated 20375407 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 2 times by 1 test
Evaluated by:
  • Self test (438)
){
2-20375407
243 if( sqlite3BitvecSet(pBitvec, i+1)
sqlite3BitvecSet(pBitvec, i+1)Description
TRUEevaluated 126 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 20375281 times by 1 test
Evaluated by:
  • Self test (438)
) goto
executed 126 times by 1 test: goto bitvec_end;
Executed by:
  • Self test (438)
bitvec_end;
executed 126 times by 1 test: goto bitvec_end;
Executed by:
  • Self test (438)
126-20375281
244 }
executed 20375281 times by 1 test: end of block
Executed by:
  • Self test (438)
20375281
245 }
executed 20375283 times by 1 test: end of block
Executed by:
  • Self test (438)
else{
20375283
246 pV[(i+1)>>3] &= ~(1<<((i+1)&7));-
247 sqlite3BitvecClear(pBitvec, i+1, pTmpSpace);-
248 }
executed 18465825 times by 1 test: end of block
Executed by:
  • Self test (438)
18465825
249 }-
250-
251-
252-
253-
254-
255-
256 rc = sqlite3BitvecTest(0,0) + sqlite3BitvecTest(pBitvec, sz+1)-
257 + sqlite3BitvecTest(pBitvec, 0)-
258 + (sqlite3BitvecSize(pBitvec) - sz);-
259 for(i=1; i<=sz
i<=szDescription
TRUEevaluated 19789835 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 44 times by 1 test
Evaluated by:
  • Self test (438)
; i++){
44-19789835
260 if( ((
((pV[i>>3]&(1<...est(pBitvec,i)Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 19789833 times by 1 test
Evaluated by:
  • Self test (438)
pV[i>>3]&(1<<(i&7)))!=0)!=sqlite3BitvecTest(pBitvec,i)
((pV[i>>3]&(1<...est(pBitvec,i)Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • Self test (438)
FALSEevaluated 19789833 times by 1 test
Evaluated by:
  • Self test (438)
){
2-19789833
261 rc = i;-
262 break;
executed 2 times by 1 test: break;
Executed by:
  • Self test (438)
2
263 }-
264 }
executed 19789833 times by 1 test: end of block
Executed by:
  • Self test (438)
19789833
265-
266-
267bitvec_end:
code before this statement executed 46 times by 1 test: bitvec_end:
Executed by:
  • Self test (438)
46
268 sqlite3_free(pTmpSpace);-
269 sqlite3_free(pV);-
270 sqlite3BitvecDestroy(pBitvec);-
271 return
executed 180 times by 1 test: return rc;
Executed by:
  • Self test (438)
rc;
executed 180 times by 1 test: return rc;
Executed by:
  • Self test (438)
180
272}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2