Lines Matching defs:bv
46 wordptr bv; /* bit vector (for integers >=32 bits) */
87 intnum_frombv(/*@out@*/ yasm_intnum *intn, wordptr bv)
89 if (Set_Max(bv) < 31) {
91 intn->val.l = (long)BitVector_Chunk_Read(bv, 31, 0);
92 } else if (BitVector_msb_(bv)) {
95 BitVector_Negate(bv, bv);
96 if (Set_Max(bv) >= 32 ||
97 ((ul = BitVector_Chunk_Read(bv, 32, 0)) & 0x80000000)) {
99 BitVector_Negate(bv, bv);
101 intn->val.bv = BitVector_Clone(bv);
108 intn->val.bv = BitVector_Clone(bv);
112 /* If intnum is a BV, returns its bitvector directly.
113 * If not, converts into passed bv and returns that instead.
116 intnum_tobv(/*@returned@*/ wordptr bv, const yasm_intnum *intn)
119 return intn->val.bv;
121 BitVector_Empty(bv);
123 BitVector_Chunk_Store(bv, 32, 0, (unsigned long)intn->val.l);
125 BitVector_Chunk_Store(bv, 32, 0, (unsigned long)-intn->val.l);
126 BitVector_Negate(bv, bv);
128 return bv;
252 intn->val.bv = BitVector_Clone(conv_bv);
300 intn->val.bv = BitVector_Clone(conv_bv);
314 intn->val.bv = BitVector_Create(BITVECT_NATIVE_SIZE, TRUE);
316 BitVector_Chunk_Store(intn->val.bv, 32, 0, i);
404 n->val.bv = BitVector_Clone(intn->val.bv);
416 BitVector_Destroy(intn->val.bv);
606 BitVector_Destroy(acc->val.bv);
645 BitVector_Copy(intn->val.bv, val->val.bv);
651 BitVector_Destroy(intn->val.bv);
655 intn->val.bv = BitVector_Clone(val->val.bv);
667 intn->val.bv = BitVector_Create(BITVECT_NATIVE_SIZE, TRUE);
670 BitVector_Chunk_Store(intn->val.bv, 32, 0, val);
673 BitVector_Destroy(intn->val.bv);
684 BitVector_Destroy(intn->val.bv);
718 return BitVector_Sign(intn->val.bv);
730 if (BitVector_msb_(intn->val.bv))
732 if (Set_Max(intn->val.bv) > 32)
734 return BitVector_Chunk_Read(intn->val.bv, 32, 0);
749 if (BitVector_msb_(intn->val.bv)) {
755 BitVector_Negate(conv_bv, intn->val.bv);
765 /* it's positive, and since it's a BV, it must be >0x7FFFFFFF */
849 BitVector_Copy(val, intn->val.bv);
851 val = intn->val.bv;
1074 return (char *)BitVector_to_Dec(intn->val.bv);
1091 s = BitVector_to_Hex(intn->val.bv);