Lines Matching refs:Bitvec

31 ** 5 and 500 set operations per Bitvec object, though the number of sets can
33 ** Bitvec object is the number of pages in the database file at the
39 /* Size of the Bitvec structure in bytes. */
43 ** it will be aligned within the Bitvec struct. */
44 #define BITVEC_USIZE (((BITVEC_SZ-(3*sizeof(u32)))/sizeof(Bitvec*))*sizeof(Bitvec*))
69 #define BITVEC_NPTR (BITVEC_USIZE/sizeof(Bitvec *))
79 ** If iSize<=BITVEC_NBIT, then Bitvec.u.aBitmap[] is a straight
82 ** If iSize>BITVEC_NBIT and iDivisor==0 then Bitvec.u.aHash[] is
86 ** sub-bitmaps pointed to by Bitvec.u.apSub[]. Each subbitmap
93 struct Bitvec {
105 Bitvec *apSub[BITVEC_NPTR]; /* Recursive representation */
114 Bitvec *sqlite3BitvecCreate(u32 iSize){
115 Bitvec *p;
129 int sqlite3BitvecTest(Bitvec *p, u32 i){
161 ** The calling function must ensure that p is a valid Bitvec object
162 ** and that the value for "i" is within range of the Bitvec object.
165 int sqlite3BitvecSet(Bitvec *p, u32 i){
236 void sqlite3BitvecClear(Bitvec *p, u32 i, void *pBuf){
273 void sqlite3BitvecDestroy(Bitvec *p){
285 ** Return the value of the iSize parameter specified when Bitvec *p
288 u32 sqlite3BitvecSize(Bitvec *p){
304 ** This routine runs an extensive test of the Bitvec code.
307 ** to test the Bitvec. The integers are opcodes followed
322 ** on both a Bitvec object and on a linear array of bits obtained from malloc.
323 ** Opcode 5 works on the linear array only, not on the Bitvec.
328 ** against the Bitvec object. If there are any differences,
334 Bitvec *pBitvec = 0;
340 /* Allocate the Bitvec to be tested and a linear array of
387 ** Bitvec object. Start with the assumption that they do