Skip to main content

BitTensor

Struct BitTensor 

Source
pub struct BitTensor { /* private fields */ }
Expand description

A boolean tensor stored as bit-packed u64 words.

Each element occupies a single bit, so an n-element tensor is held in ceil(n / 64) words. The logical shape and element count drive layout; bitwise operations work directly on the packed words.

Implementations§

Source§

impl BitTensor

Source

pub fn from_bools(shape: Vec<usize>, bits: &[bool]) -> Option<Self>

Packs a slice of booleans into a bit tensor of the given shape.

Returns None when bits.len() does not match the element count implied by shape.

Source

pub fn to_bools(&self) -> Vec<bool>

Unpacks the tensor back into one boolean per element, in flat order.

Source

pub fn bit_or(&self, other: &Self) -> Option<Self>

Element-wise bitwise OR with another bit tensor of the same shape.

Returns None when the shapes differ.

Source

pub fn bit_xor(&self, other: &Self) -> Option<Self>

Element-wise bitwise XOR with another bit tensor of the same shape.

Returns None when the shapes differ.

Source

pub fn bit_and(&self, other: &Self) -> Option<Self>

Element-wise bitwise AND with another bit tensor of the same shape.

Returns None when the shapes differ.

Trait Implementations§

Source§

impl Clone for BitTensor

Source§

fn clone(&self) -> BitTensor

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for BitTensor

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for BitTensor

Source§

impl PartialEq for BitTensor

Source§

fn eq(&self, other: &BitTensor) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl SpecTensor for BitTensor

Source§

fn shape(&self) -> &[usize]

The length of each axis of the specialized tensor, outermost first.
Source§

fn dtype(&self) -> Symbol

The element number domain (dtype) of the specialized tensor’s cells.
Source§

fn to_uniform(&self) -> Tensor

Converts this specialized tensor into the uniform Tensor storage.
Source§

fn from_uniform(tensor: &Tensor) -> Option<Self>

Rebuilds a specialized tensor from uniform storage, or None if the uniform tensor’s dtype or shape does not fit this backend.
Source§

impl StructuralPartialEq for BitTensor

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.