pub(crate) fn cast_decimal_to_float<D: DecimalType, T: ArrowPrimitiveType, F>( array: &dyn Array, op: F, ) -> Result<ArrayRef, ArrowError>where F: Fn(D::Native) -> T::Native,