pub struct SearchsortedPlan<T: Element> { /* private fields */ }Expand description
searchsorted plan.
searchsorted(sorted_seq[L], values[N], right) -> output[N]
(PyTorch torch.searchsorted). right == false returns
lower_bound, right == true returns upper_bound.
When to use: per-query binary search into a sorted 1-D array. Useful for histogram-binning / quantile-bucketing. No BW.
Dtypes: {f32, f64, i32, i64} for both sorted_seq and
values; output always i32.
Shape limits: sorted_seq [len_sorted]; values, output
[num_queries].
Workspace: none.
Precision guarantee: deterministic, bit-stable. Pure binary search.
Implementations§
Source§impl<T: Element> SearchsortedPlan<T>
impl<T: Element> SearchsortedPlan<T>
Sourcepub fn select(
_stream: &Stream,
desc: &SearchsortedDescriptor,
_pref: PlanPreference,
) -> Result<Self>
pub fn select( _stream: &Stream, desc: &SearchsortedDescriptor, _pref: PlanPreference, ) -> Result<Self>
Pick a kernel for desc.
Sourcepub fn can_implement(&self, args: &SearchsortedArgs<'_, T>) -> Result<()>
pub fn can_implement(&self, args: &SearchsortedArgs<'_, T>) -> Result<()>
Validate args.
Sourcepub fn workspace_size(&self) -> usize
pub fn workspace_size(&self) -> usize
Workspace size in bytes.
Sourcepub fn precision_guarantee(&self) -> PrecisionGuarantee
pub fn precision_guarantee(&self) -> PrecisionGuarantee
Numerical guarantees for this plan’s kernel.
Auto Trait Implementations§
impl<T> Freeze for SearchsortedPlan<T>
impl<T> RefUnwindSafe for SearchsortedPlan<T>where
T: RefUnwindSafe,
impl<T> Send for SearchsortedPlan<T>where
T: Send,
impl<T> Sync for SearchsortedPlan<T>where
T: Sync,
impl<T> Unpin for SearchsortedPlan<T>where
T: Unpin,
impl<T> UnsafeUnpin for SearchsortedPlan<T>
impl<T> UnwindSafe for SearchsortedPlan<T>where
T: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more