mirror of
https://github.com/huggingface/candle.git
synced 2025-06-17 11:08:52 +00:00
Rename as_slice to storage_data and implement the cuda version.
This commit is contained in:
11
src/dtype.rs
11
src/dtype.rs
@ -26,6 +26,7 @@ pub trait WithDType: Sized + Copy {
|
||||
|
||||
fn cpu_storage_as_slice(s: &CpuStorage) -> Result<&[Self]>;
|
||||
fn cpu_storage_as_mut_slice(s: &mut CpuStorage) -> Result<&mut [Self]>;
|
||||
fn cpu_storage_data(s: CpuStorage) -> Result<Vec<Self>>;
|
||||
}
|
||||
|
||||
macro_rules! with_dtype {
|
||||
@ -37,6 +38,16 @@ macro_rules! with_dtype {
|
||||
CpuStorage::$dtype(data)
|
||||
}
|
||||
|
||||
fn cpu_storage_data(s: CpuStorage) -> Result<Vec<Self>> {
|
||||
match s {
|
||||
CpuStorage::$dtype(data) => Ok(data),
|
||||
_ => Err(Error::UnexpectedDType {
|
||||
expected: DType::$dtype,
|
||||
got: s.dtype(),
|
||||
}),
|
||||
}
|
||||
}
|
||||
|
||||
fn cpu_storage_as_slice(s: &CpuStorage) -> Result<&[Self]> {
|
||||
match s {
|
||||
CpuStorage::$dtype(data) => Ok(data),
|
||||
|
Reference in New Issue
Block a user