Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- start = this->is_negative = input[0] == '-';
- len = current_bit = 0;
- Block *current_block = create_new_block(current_alloc_size);
- int64_t *current_elements = current_block->get_bits_array();
- int64_t current_element = 0;
- uint32_t BITS_PER_ELEMENT = sizeof(uint64_t) * Architecture::PlatformChecks::bits_per_byte(); // should move to header
- while (start < input_len - 1 || input[input_len - 1] != '0') {
- if (current_bit > BITS_PER_ELEMENT) {
- current_bit = 0;
- if (current_element == current_alloc_size) {
- blocks.push_back(*current_block);
- current_alloc_size = current_alloc_size << 1;
- current_block = create_new_block(current_alloc_size);
- current_elements = current_block->get_bits_array();
- current_element = 0;
- }
- else {
- ++len;
- ++current_element;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement