pub(crate) fn offset(self, by: isize) -> (isize, Self) {
		/* Signed-add `self.idx` to the jump distance. This will almost
		 * certainly not wrap (as the crate imposes restrictions well below
		 * `isize::MAX`), but correctness never hurts. The resulting sum is a
		 * bit distance that is then broken into an element distance and final
		 * bit index.
		 */
		let far = by.wrapping_add(self.into_inner() as isize);

		let (elts, head) = (far >> R::INDX, far as u8 & R::MASK);

		(elts, unsafe { Self::new_unchecked(head) })
	}
/// Computes the jump distance for some number of bits away from a starting
/// index.
///
/// This computes the number of elements by which to adjust a base pointer,
/// and then the bit index of the destination bit in the new referent
/// register element.
///
/// # Parameters
///
/// - `self`: An index within some element, from which the offset is
///   computed.
/// - `by`: The distance by which to jump. Negative values move lower in the
///   index and element-pointer space; positive values move higher.
///
/// # Returns
///
/// - `.0`: The number of elements `R` by which to adjust a base pointer.
///   This value can be passed directly into [`ptr::offset`].
/// - `.1`: The index of the destination bit within the destination element.
///
/// [`ptr::offset`]: https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.offset
Computes the jump distance for some number of bits away from a starting
index.

This computes the number of elements by which to adjust a base pointer,
and then the bit index of the destination bit in the new referent
register element.
Computes the jump distance for some number of bits away from a starting index . This computes the number of elements by which to adjust a base pointer and then the bit index of the destination bit in the new referent register element .
pub(crate) fn offset(self, by: isize) -> (isize, Self) {
		/* Signed-add `self.idx` to the jump distance. This will almost
		 * certainly not wrap (as the crate imposes restrictions well below
		 * `isize::MAX`), but correctness never hurts. The resulting sum is a
		 * bit distance that is then broken into an element distance and final
		 * bit index.
		 */
		let far = by.wrapping_add(self.into_inner() as isize);
		let (elts, head) = (far >> R::INDX, far as u8 & R::MASK);
		(elts, unsafe { Self::new_unchecked(head) })
	}
pub ( crate ) fn offset ( self , by : isize ) -> ( isize , Self ) { /* Signed-add `self.idx` to the jump distance. This will almost
		 * certainly not wrap (as the crate imposes restrictions well below
		 * `isize::MAX`), but correctness never hurts. The resulting sum is a
		 * bit distance that is then broken into an element distance and final
		 * bit index.
		 */ let far = by . wrapping_add ( self . into_inner ( ) as isize ) ; let ( elts , head ) = ( far >> R :: INDX , far as u8 & R :: MASK ) ; ( elts , unsafe { Self :: new_unchecked ( head ) } ) }
Computes the jump distance for some number of bits away from a starting
index.
Computes the jump distance for some number of bits away from a starting index .
self
by
isize
: The number of elements `R` by which to adjust a base pointer.
This value can be passed directly into [`ptr::offset`].
: The number of elements ` R ` by which to adjust a base pointer . This value can be passed directly into [ ` ptr :: offset ` ] .
: The index of the destination bit within the destination element.


: The index of the destination bit within the destination element .
self
An index within some element, from which the offset is
computed.
An index within some element from which the offset is computed .
by
isize
The distance by which to jump. Negative values move lower in the
index and element-pointer space; positive values move higher.
The distance by which to jump . Negative values move lower in the index and element - pointer space ; positive values move higher .