pub trait QuantizedType: Send + Sync {
// Required methods
fn dtype(&self) -> GgmlDType;
fn matmul_t(
&self,
mkn: (usize, usize, usize),
lhs: &[f32],
dst: &mut [f32],
) -> Result<()>;
fn matmul_t_f16(
&self,
mkn: (usize, usize, usize),
lhs: &[f16],
dst: &mut [f16],
) -> Result<()>;
fn dequantize(&self, elem_count: usize) -> Result<CpuStorage>;
fn storage_size_in_bytes(&self) -> usize;
fn as_ptr(&self) -> *const u8;
fn block_size(&self) -> usize;
fn from_float(&mut self, xs: &[f32]);
fn from_float_imatrix(
&mut self,
xs: &[f32],
imatrix_weights: &[f32],
n_per_row: usize,
);
fn size(&self) -> usize;
}Required Methods§
fn dtype(&self) -> GgmlDType
fn matmul_t( &self, mkn: (usize, usize, usize), lhs: &[f32], dst: &mut [f32], ) -> Result<()>
fn matmul_t_f16( &self, mkn: (usize, usize, usize), lhs: &[f16], dst: &mut [f16], ) -> Result<()>
fn dequantize(&self, elem_count: usize) -> Result<CpuStorage>
fn storage_size_in_bytes(&self) -> usize
fn as_ptr(&self) -> *const u8
fn block_size(&self) -> usize
fn from_float(&mut self, xs: &[f32])
fn from_float_imatrix( &mut self, xs: &[f32], imatrix_weights: &[f32], n_per_row: usize, )
fn size(&self) -> usize
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".