pub struct RealKey {
value: f64,
label: String,
}Expand description
The key of one double-valued group (GroupKey::Real): the value plus
the text R prints for it.
§Equality
Keys compare and hash by value alone, with the rules vctrs uses and
therefore dplyr’s group_by(): -0.0 equals 0.0, and every NaN is the
same key. NA_real_ is never a RealKey: an NA cell keys as
GroupKey::Na, so NA and NaN rows form separate groups, as in dplyr.
The label takes no part in equality.
§Label
The grouping verbs label a key with R’s as.character() of its value,
called with the key column’s attributes (class, tzone, …): the same text
factor() and split() use for level names. So a plain double prints
with up to 15 significant digits ("0.1", "1e+05", "NaN"), a Date
prints as "2024-01-02", and a POSIXct prints in the column’s time zone
("2024-01-02 10:30:00", or just the date at midnight).
Fields§
§value: f64§label: StringImplementations§
Source§impl RealKey
impl RealKey
Sourcepub fn new(value: f64, label: impl Into<String>) -> Self
pub fn new(value: f64, label: impl Into<String>) -> Self
A key for value, printed as label. -0.0 is stored as 0.0 and
every NaN as one canonical NaN, so equal keys hold identical bits.
Trait Implementations§
Source§impl Eq for RealKey
impl Eq for RealKey
1.0.0 (const: unstable) · Source§#[doc(hidden)]fn assert_receiver_is_total_eq(&self)
#[doc(hidden)]fn assert_receiver_is_total_eq(&self)
implementation detail of #[derive(Eq)]
Source§#[doc(hidden)]fn assert_fields_are_eq(&self)
#[doc(hidden)]fn assert_fields_are_eq(&self)
derive_eq_internals)Auto Trait Implementations§
impl Freeze for RealKey
impl RefUnwindSafe for RealKey
impl Send for RealKey
impl Sync for RealKey
impl Unpin for RealKey
impl UnsafeUnpin for RealKey
impl UnwindSafe for RealKey
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> ConsumingFallible for Twhere
T: Clone,
Source§impl<T> RDebug for Twhere
T: Debug,
impl<T> RDebug for Twhere
T: Debug,
Source§impl<T> SizeHint for Twhere
T: ?Sized,
impl<T> SizeHint for Twhere
T: ?Sized,
Source§default fn lower_bound(&self) -> usize
default fn lower_bound(&self) -> usize
core_io_internals)[u8; 12] could return any value between 0 and
12 inclusively as a correct implementation. Read moreSource§impl<T> SizedTypeProperties for T
impl<T> SizedTypeProperties for T
Source§#[doc(hidden)]const SIZE: usize = _
#[doc(hidden)]const SIZE: usize = _
sized_type_properties)Source§#[doc(hidden)]const ALIGN: usize = _
#[doc(hidden)]const ALIGN: usize = _
sized_type_properties)Source§#[doc(hidden)]const ALIGNMENT: Alignment = _
#[doc(hidden)]const ALIGNMENT: Alignment = _
ptr_alignment_type)Source§#[doc(hidden)]const IS_ZST: bool = _
#[doc(hidden)]const IS_ZST: bool = _
sized_type_properties)Source§#[doc(hidden)]const LAYOUT: Layout = _
#[doc(hidden)]const LAYOUT: Layout = _
sized_type_properties)Source§#[doc(hidden)]const MAX_SLICE_LEN: usize = _
#[doc(hidden)]const MAX_SLICE_LEN: usize = _
sized_type_properties)[Self]. Read moreLayout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 32 bytes