From 52045f3af84924e5a1cbc3283ade98a962514089 Mon Sep 17 00:00:00 2001 From: jacques Perrault Date: Sat, 29 Jun 2024 17:45:47 -0700 Subject: [PATCH] add try from for floats --- libraries/arrow-convert/src/from_impls.rs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/libraries/arrow-convert/src/from_impls.rs b/libraries/arrow-convert/src/from_impls.rs index 01e8a951..eb586473 100644 --- a/libraries/arrow-convert/src/from_impls.rs +++ b/libraries/arrow-convert/src/from_impls.rs @@ -107,6 +107,25 @@ impl TryFrom<&ArrowData> for i64 { } } +impl TryFrom<&ArrowData> for f32 { + type Error = eyre::Report; + fn try_from(value: &ArrowData) -> Result { + let array = value + .as_primitive_opt::() + .context("not a primitive Float32Type array")?; + extract_single_primitive(array) + } +} +impl TryFrom<&ArrowData> for f64 { + type Error = eyre::Report; + fn try_from(value: &ArrowData) -> Result { + let array = value + .as_primitive_opt::() + .context("not a primitive Float64Type array")?; + extract_single_primitive(array) + } +} + impl<'a> TryFrom<&'a ArrowData> for &'a str { type Error = eyre::Report; fn try_from(value: &'a ArrowData) -> Result {