diff --git a/diskann-disk/src/build/configuration/quantization_types.rs b/diskann-disk/src/build/configuration/quantization_types.rs index bafae97895..5fa691d646 100644 --- a/diskann-disk/src/build/configuration/quantization_types.rs +++ b/diskann-disk/src/build/configuration/quantization_types.rs @@ -211,13 +211,10 @@ impl Display for QuantizationType { QuantizationType::SQ { nbits, standard_deviation, - } => { - let standard_deviation = match standard_deviation { - Some(sd) => sd.into_inner().to_string(), - None => "None".to_string(), - }; - write!(f, "SQ_{}_{}", nbits, standard_deviation) - } + } => match standard_deviation { + Some(sd) => write!(f, "SQ_{}_{}", nbits, sd.into_inner()), + None => write!(f, "SQ_{}", nbits), + }, } } } @@ -281,7 +278,7 @@ mod tests { #[case(QuantizationType::Spherical(SphericalBits::One), "SPHERICAL_1")] #[case( QuantizationType::SQ { nbits: 8, standard_deviation: None }, - "SQ_8_None" + "SQ_8" )] #[case( QuantizationType::SQ { @@ -331,11 +328,13 @@ mod tests { #[test] fn test_roundtrip_serialization() { - // Note: SQ with None standard_deviation is not included as it formats to "SQ_N_None" - // which the parser doesn't accept - this is a known limitation of the current implementation let types = vec![ QuantizationType::FP, QuantizationType::PQ { num_chunks: 256 }, + QuantizationType::SQ { + nbits: 8, + standard_deviation: None, + }, QuantizationType::SQ { nbits: 8, standard_deviation: Some(Positive::new(1.5).unwrap()),