use crate::error::{Error, Result};
use crate::runtime::Runtime;
use crate::tensor::Tensor;
pub trait AdvancedRandomOps<R: Runtime> {
fn philox_randn(
&self,
shape: &[usize],
key: u64,
counter: u64,
dtype: crate::dtype::DType,
) -> Result<Tensor<R>> {
let _ = (shape, key, counter, dtype);
Err(Error::NotImplemented {
feature: "AdvancedRandomOps::philox_randn",
})
}
fn philox_uniform(
&self,
shape: &[usize],
key: u64,
counter: u64,
dtype: crate::dtype::DType,
) -> Result<Tensor<R>> {
let _ = (shape, key, counter, dtype);
Err(Error::NotImplemented {
feature: "AdvancedRandomOps::philox_uniform",
})
}
fn threefry_randn(
&self,
shape: &[usize],
key: u64,
counter: u64,
dtype: crate::dtype::DType,
) -> Result<Tensor<R>> {
let _ = (shape, key, counter, dtype);
Err(Error::NotImplemented {
feature: "AdvancedRandomOps::threefry_randn",
})
}
fn threefry_uniform(
&self,
shape: &[usize],
key: u64,
counter: u64,
dtype: crate::dtype::DType,
) -> Result<Tensor<R>> {
let _ = (shape, key, counter, dtype);
Err(Error::NotImplemented {
feature: "AdvancedRandomOps::threefry_uniform",
})
}
fn pcg64_randn(
&self,
shape: &[usize],
seed: u64,
stream: u64,
dtype: crate::dtype::DType,
) -> Result<Tensor<R>> {
let _ = (shape, seed, stream, dtype);
Err(Error::NotImplemented {
feature: "AdvancedRandomOps::pcg64_randn",
})
}
fn pcg64_uniform(
&self,
shape: &[usize],
seed: u64,
stream: u64,
dtype: crate::dtype::DType,
) -> Result<Tensor<R>> {
let _ = (shape, seed, stream, dtype);
Err(Error::NotImplemented {
feature: "AdvancedRandomOps::pcg64_uniform",
})
}
fn xoshiro256_randn(
&self,
shape: &[usize],
seed: u64,
dtype: crate::dtype::DType,
) -> Result<Tensor<R>> {
let _ = (shape, seed, dtype);
Err(Error::NotImplemented {
feature: "AdvancedRandomOps::xoshiro256_randn",
})
}
fn xoshiro256_uniform(
&self,
shape: &[usize],
seed: u64,
dtype: crate::dtype::DType,
) -> Result<Tensor<R>> {
let _ = (shape, seed, dtype);
Err(Error::NotImplemented {
feature: "AdvancedRandomOps::xoshiro256_uniform",
})
}
}