use crate::{DataType, Tensor};
pub enum QuantizationArguments<'a> {
ScaleZeroPointDataType {
scale: f64,
zero_point: i64,
data_type: DataType,
},
ScaleTensorZeroPointDataTypeAxis {
scale_tensor: &'a Tensor,
zero_point: f64,
data_type: DataType,
axis: i64,
},
ScaleTensorZeroPointTensorDataTypeAxis {
scale_tensor: &'a Tensor,
zero_point_tensor: &'a Tensor,
data_type: DataType,
axis: i64,
},
}
pub enum DequantizationArguments<'a> {
ScaleZeroPointDataType {
scale: f64,
zero_point: i64,
data_type: DataType,
},
ScaleTensorZeroPointDataTypeAxis {
scale_tensor: &'a Tensor,
zero_point: f64,
data_type: DataType,
axis: i64,
},
ScaleTensorZeroPointTensorDataTypeAxis {
scale_tensor: &'a Tensor,
zero_point_tensor: &'a Tensor,
data_type: DataType,
axis: i64,
},
ScaleTensorZeroPointTensorDataType {
scale_tensor: &'a Tensor,
zero_point_tensor: &'a Tensor,
data_type: DataType,
},
ScaleTensorDataType {
scale_tensor: &'a Tensor,
data_type: DataType,
},
LutTensor {
lut_tensor: &'a Tensor,
},
LutTensorAxis {
lut_tensor: &'a Tensor,
axis: i64,
},
}