pub struct ReferenceGroupPoint(pub ReferenceGroupPoint);Expand description
As per the basic
ReferenceGroupPoint. Each LUT used is up to 576 bytes in
length, and each operation is guaranteed to consist of a single look-up.
Tuple Fields§
§0: ReferenceGroupPointImplementations§
Source§impl ReferenceGroupPoint
impl ReferenceGroupPoint
Sourcepub const fn direction(self) -> Direction
pub const fn direction(self) -> Direction
Please refer to the function of the same name
in
CubeSurfacePoint.
Sourcepub const fn beside(self) -> OppositeGroupPoint
pub const fn beside(self) -> OppositeGroupPoint
Please refer to the function of the same name
in
CubeSurfacePoint.
Sourcepub const fn opposite(self) -> OppositeGroupPoint
pub const fn opposite(self) -> OppositeGroupPoint
Please refer to the function of the same name
in
CubeSurfacePoint.
Sourcepub const fn flip_sign_of_2(self) -> OppositeGroupPoint
pub const fn flip_sign_of_2(self) -> OppositeGroupPoint
Please refer to the function of the same name
in
CubeSurfacePoint.
Sourcepub const fn opposite_then_beside(self) -> ReferenceGroupPoint
pub const fn opposite_then_beside(self) -> ReferenceGroupPoint
Please refer to the function of the same name
in
CubeSurfacePoint.
Sourcepub const fn flip_2_and_3(self) -> ReferenceGroupPoint
pub const fn flip_2_and_3(self) -> ReferenceGroupPoint
Please refer to the function of the same name
in
CubeSurfacePoint.
Sourcepub const fn one_right_angle_cw(self) -> ReferenceGroupPoint
pub const fn one_right_angle_cw(self) -> ReferenceGroupPoint
Please refer to the function of the same name
in
CubeSurfacePoint.
Sourcepub const fn one_right_angle_acw(self) -> ReferenceGroupPoint
pub const fn one_right_angle_acw(self) -> ReferenceGroupPoint
Please refer to the function of the same name
in
CubeSurfacePoint.
Sourcepub const fn n_right_angles_cw(self, angle: u8) -> Self
pub const fn n_right_angles_cw(self, angle: u8) -> Self
Please refer to the function of the same name
in
CubeSurfacePoint.
Sourcepub const fn n_right_angles_acw(self, angle: u8) -> Self
pub const fn n_right_angles_acw(self, angle: u8) -> Self
Please refer to the function of the same name
in
CubeSurfacePoint.
Sourcepub const fn div_prop(self, other: ReferenceGroupPoint) -> ProperRotation
pub const fn div_prop(self, other: ReferenceGroupPoint) -> ProperRotation
Please refer to the function of the same name in the basic ReferenceGroupPoint.
Sourcepub const fn div_improp(self, other: OppositeGroupPoint) -> ImproperRotation
pub const fn div_improp(self, other: OppositeGroupPoint) -> ImproperRotation
Please refer to the function of the same name in the basic ReferenceGroupPoint.
Sourcepub const fn mul_prop(self, other: ProperRotation) -> ReferenceGroupPoint
pub const fn mul_prop(self, other: ProperRotation) -> ReferenceGroupPoint
Please refer to the function of the same name in the basic ReferenceGroupPoint.
Sourcepub const fn mul_improp(self, other: ImproperRotation) -> OppositeGroupPoint
pub const fn mul_improp(self, other: ImproperRotation) -> OppositeGroupPoint
Please refer to the function of the same name in the basic ReferenceGroupPoint.
Sourcepub fn div_alt(self, x: Self) -> ProperRotation
pub fn div_alt(self, x: Self) -> ProperRotation
An alternative implementation of division, that uses the same big LUT as multiplication does, but performs two look-ups instead of one.
Trait Implementations§
Source§impl Clone for ReferenceGroupPoint
impl Clone for ReferenceGroupPoint
Source§fn clone(&self) -> ReferenceGroupPoint
fn clone(&self) -> ReferenceGroupPoint
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ReferenceGroupPoint
impl Debug for ReferenceGroupPoint
Source§impl Div<OppositeGroupPoint> for ReferenceGroupPoint
Extracts the improper rotation that must occur so that the
divisorpoint ends up coinciding withself`, ie the dividend.
impl Div<OppositeGroupPoint> for ReferenceGroupPoint
Extracts the improper rotation that must occur so that the
divisorpoint ends up coinciding withself`, ie the dividend.
Source§type Output = ImproperRotation
type Output = ImproperRotation
This operation needs an improper rotation.
Source§fn div(self, x: OppositeGroupPoint) -> Self::Output
fn div(self, x: OppositeGroupPoint) -> Self::Output
A look-up on a 2-D LUT produces the result directly.
Source§impl Div<ReferenceGroupPoint> for OppositeGroupPoint
Extracts the improper rotation that must occur so that the
divisorpoint ends up coinciding withself`, ie the dividend.
impl Div<ReferenceGroupPoint> for OppositeGroupPoint
Extracts the improper rotation that must occur so that the
divisorpoint ends up coinciding withself`, ie the dividend.
Source§type Output = ImproperRotation
type Output = ImproperRotation
This operation needs an improper rotation.
Source§fn div(self, x: ReferenceGroupPoint) -> Self::Output
fn div(self, x: ReferenceGroupPoint) -> Self::Output
A look-up on a 2-D LUT produces the result directly.
Source§impl Div for ReferenceGroupPoint
Extracts the proper rotation that must occur so that the
divisorpoint ends up coinciding withself`, ie the dividend.
impl Div for ReferenceGroupPoint
Extracts the proper rotation that must occur so that the
divisorpoint ends up coinciding withself`, ie the dividend.
Source§impl From<ProperRotation> for ReferenceGroupPoint
impl From<ProperRotation> for ReferenceGroupPoint
Source§fn from(x: ProperRotation) -> Self
fn from(x: ProperRotation) -> Self
Source§impl From<ReferenceGroupPoint> for CratePt
Discards any knowledge of Geometric Group, producing a general
crate::CubeSurfacePoint.
impl From<ReferenceGroupPoint> for CratePt
Discards any knowledge of Geometric Group, producing a general
crate::CubeSurfacePoint.
Source§fn from(x: ReferenceGroupPoint) -> CratePt
fn from(x: ReferenceGroupPoint) -> CratePt
Source§impl From<ReferenceGroupPoint> for ProperRotation
impl From<ReferenceGroupPoint> for ProperRotation
Source§fn from(corresponding_point: ReferenceGroupPoint) -> Self
fn from(corresponding_point: ReferenceGroupPoint) -> Self
Source§impl Mul<ImproperRotation> for ReferenceGroupPoint
Rotates a copy of self according to an ImproperRotation.
Switches Geometric Group.
impl Mul<ImproperRotation> for ReferenceGroupPoint
Rotates a copy of self according to an ImproperRotation.
Switches Geometric Group.
Source§type Output = OppositeGroupPoint
type Output = OppositeGroupPoint
Output belongs to the other Geometric Group.
Source§fn mul(self, x: ImproperRotation) -> Self::Output
fn mul(self, x: ImproperRotation) -> Self::Output
The ImproperRotation is not examined bit-by-bit. Instead,
a look-up on a 2-D LUT produces the result directly.
Source§impl Mul<ProperRotation> for ReferenceGroupPoint
Rotates a copy of self according to a ProperRotation.
Maintains Geometric Group.
impl Mul<ProperRotation> for ReferenceGroupPoint
Rotates a copy of self according to a ProperRotation.
Maintains Geometric Group.
Source§type Output = ReferenceGroupPoint
type Output = ReferenceGroupPoint
Output belongs to the same Geometric Group.
Source§fn mul(self, x: ProperRotation) -> Self::Output
fn mul(self, x: ProperRotation) -> Self::Output
The ProperRotation is not examined bit-by-bit. Instead, a
look-up on a 2-D LUT produces the result directly.
Source§impl Mul<ReferenceGroupPoint> for ImproperRotation
impl Mul<ReferenceGroupPoint> for ImproperRotation
Source§type Output = OppositeGroupPoint
type Output = OppositeGroupPoint
Output belongs to the other Geometric Group.
Source§fn mul(self, x: ReferenceGroupPoint) -> Self::Output
fn mul(self, x: ReferenceGroupPoint) -> Self::Output
The ImproperRotation is not examined bit-by-bit. Instead,
a look-up on a 2-D LUT produces the result directly.
Source§impl Mul<ReferenceGroupPoint> for ProperRotation
impl Mul<ReferenceGroupPoint> for ProperRotation
Source§type Output = ReferenceGroupPoint
type Output = ReferenceGroupPoint
Output belongs to the same Geometric Group.
Source§fn mul(self, x: ReferenceGroupPoint) -> Self::Output
fn mul(self, x: ReferenceGroupPoint) -> Self::Output
The ProperRotation is not examined bit-by-bit. Instead,
a look-up on a 2-D LUT produces the result directly.
Source§impl MulAssign<ProperRotation> for ReferenceGroupPoint
Rotates self according to a ProperRotation. Maintains
Geometric Group.
impl MulAssign<ProperRotation> for ReferenceGroupPoint
Rotates self according to a ProperRotation. Maintains
Geometric Group.
Source§fn mul_assign(&mut self, x: ProperRotation)
fn mul_assign(&mut self, x: ProperRotation)
The data-type doesn’t change, so the result can be directly assigned.
The ProperRotation is not examined bit-by-bit. Instead, a
look-up on a 2-D LUT produces the result directly.
Source§impl OctahedrallySymmetricPoint for ReferenceGroupPoint
impl OctahedrallySymmetricPoint for ReferenceGroupPoint
Source§type OtherGroup = OppositeGroupPoint
type OtherGroup = OppositeGroupPoint
self belongs.Source§fn beside(self) -> Self::OtherGroup
fn beside(self) -> Self::OtherGroup
Source§fn opposite(self) -> Self::OtherGroup
fn opposite(self) -> Self::OtherGroup
Source§fn opposite_then_beside(self) -> Self
fn opposite_then_beside(self) -> Self
self.opposite().beside(). Also available
with the words swapped, as the order doesn’t matter. Read moreSource§fn one_right_angle_cw(self) -> Self
fn one_right_angle_cw(self) -> Self
self, as viewed from the face on which both are located.Source§fn one_right_angle_acw(self) -> Self
fn one_right_angle_acw(self) -> Self
self, as viewed from the face on which both are located.Source§fn flip_sign_of_2(self) -> Self::OtherGroup
fn flip_sign_of_2(self) -> Self::OtherGroup
Source§fn flip_2_and_3(self) -> Self
fn flip_2_and_3(self) -> Self
Source§fn n_right_angles_cw(self, angle: u8) -> Self
fn n_right_angles_cw(self, angle: u8) -> Self
self, as viewed from the face on which both are located.Source§fn n_right_angles_acw(self, angle: u8) -> Self
fn n_right_angles_acw(self, angle: u8) -> Self
self, as viewed from the face on which both are located.Source§fn odd_ones(self) -> bool
fn odd_ones(self) -> bool
Source§fn even_ones(self) -> bool
fn even_ones(self) -> bool
Self::odd_ones by definition.Source§fn n_right_angles<const CLOCKWISE: bool>(self, angle: u8) -> Self
fn n_right_angles<const CLOCKWISE: bool>(self, angle: u8) -> Self
self, as viewed from the face on which both are located.Source§fn beside_then_opposite(self) -> Self
fn beside_then_opposite(self) -> Self
CubeSurfacePoint::opposite_then_beside. Read moreSource§fn flip_1_and_3(self) -> Self
fn flip_1_and_3(self) -> Self
CubeSurfacePoint::opposite_then_beside. Read moreSource§fn flip_sign_of_1(self) -> Self::OtherGroup
fn flip_sign_of_1(self) -> Self::OtherGroup
CubeSurfacePoint::besideSource§fn flip_sign_of_3(self) -> Self::OtherGroup
fn flip_sign_of_3(self) -> Self::OtherGroup
CubeSurfacePoint::oppositeSource§fn flip_1_and_2(self) -> Self
fn flip_1_and_2(self) -> Self
Source§impl Ord for ReferenceGroupPoint
impl Ord for ReferenceGroupPoint
Source§fn cmp(&self, other: &ReferenceGroupPoint) -> Ordering
fn cmp(&self, other: &ReferenceGroupPoint) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for ReferenceGroupPoint
impl PartialEq for ReferenceGroupPoint
Source§impl PartialOrd for ReferenceGroupPoint
impl PartialOrd for ReferenceGroupPoint
Source§impl TryFrom<CubeSurfacePoint> for ReferenceGroupPoint
Please refer to crate::CubeSurfacePoint::determine_group.
impl TryFrom<CubeSurfacePoint> for ReferenceGroupPoint
Please refer to crate::CubeSurfacePoint::determine_group.
Source§type Error = OppositeGroupPoint
type Error = OppositeGroupPoint
If a certain CubeSurfacePoint does not belong to the ReferenceGroupPoints, it must by necessity belong to the OppositeGroupPoints.