1crate::ix!();
3
4#[derive(Debug, Clone, PartialEq, Eq)]
5pub enum RelationalAppreciation {
6 BalanceBetweenAutonomyAndCollaboration,
7 DedicationToPerfection,
8 DiplomaticAndPragmaticQualities,
9 EmpathyAndAdaptabilityInOthers,
10 GenuineGratitudeAndHumility,
11 IntelligenceAndKindness,
12 MindfulnessAndRespectForNature,
13 MutualRespectForPower,
14 PatienceAndPersistenceInInteractions,
15 QuietAndThoughtfulEngagement,
16 ReliabilityAndIntegrity,
17 SharedComfortWithAmbiguity,
18 SharedCommitmentToHeritagePreservation,
19 SharedCommitmentToNature,
20 SharedCuriosityAndPatience,
21 SharedReverenceAndReflection,
22 SharedSenseOfAdventure,
23 SharpWitAndHumor,
24 StrengthAndCourageInOthers,
25 WitAndCharmInRelationships,
26}
27
28#[derive(Clone, Debug, Serialize, Deserialize, Builder, Getters)]
29#[builder(pattern = "owned")]
30#[getset(get = "pub")]
31pub struct RelationalAppreciationIntrinsicDimensionRatings {
32 autonomy_collaboration_balance: f64,
33 intellectual_merit: f64,
34 moral_virtue: f64,
35 emotional_resonance: f64,
36 spiritual_alignment: f64,
37 adventurous_dynamism: f64,
38 social_charm: f64,
39 reliability_consistency: f64,
40}
41
42macro_rules! relational_appreciation_intrinsic_ratings {
43 (
44 $auto_collab:expr, $intel:expr, $moral:expr, $emotional:expr,
45 $spiritual:expr, $adventure:expr, $charm:expr, $reliable:expr
46 ) => {
47 RelationalAppreciationIntrinsicDimensionRatingsBuilder::default()
48 .autonomy_collaboration_balance(expand_spread($auto_collab))
49 .intellectual_merit(expand_spread($intel))
50 .moral_virtue(expand_spread($moral))
51 .emotional_resonance(expand_spread($emotional))
52 .spiritual_alignment(expand_spread($spiritual))
53 .adventurous_dynamism(expand_spread($adventure))
54 .social_charm(expand_spread($charm))
55 .reliability_consistency(expand_spread($reliable))
56 .build()
57 .unwrap()
58 };
59}
60
61impl RelationalAppreciation {
62 pub fn intrinsic_ratings(&self) -> RelationalAppreciationIntrinsicDimensionRatings {
64 trace!(variant = ?self, "Computing RelationalAppreciation intrinsic ratings");
65 use RelationalAppreciation::*;
66 match self {
67 BalanceBetweenAutonomyAndCollaboration => relational_appreciation_intrinsic_ratings!(1.00,0.70,0.80,0.70,0.60,0.65,0.60,0.80),
68 DedicationToPerfection => relational_appreciation_intrinsic_ratings!(0.65,0.95,0.85,0.60,0.55,0.55,0.55,0.95),
69 DiplomaticAndPragmaticQualities => relational_appreciation_intrinsic_ratings!(0.80,0.80,0.75,0.75,0.55,0.60,0.75,0.80),
70 EmpathyAndAdaptabilityInOthers => relational_appreciation_intrinsic_ratings!(0.75,0.70,0.80,0.90,0.60,0.70,0.70,0.75),
71 GenuineGratitudeAndHumility => relational_appreciation_intrinsic_ratings!(0.70,0.65,0.90,0.80,0.70,0.55,0.65,0.85),
72 IntelligenceAndKindness => relational_appreciation_intrinsic_ratings!(0.70,0.90,0.85,0.80,0.60,0.60,0.70,0.80),
73 MindfulnessAndRespectForNature => relational_appreciation_intrinsic_ratings!(0.75,0.70,0.85,0.75,0.85,0.60,0.60,0.80),
74 MutualRespectForPower => relational_appreciation_intrinsic_ratings!(0.85,0.80,0.80,0.70,0.65,0.65,0.70,0.80),
75 PatienceAndPersistenceInInteractions => relational_appreciation_intrinsic_ratings!(0.70,0.70,0.80,0.80,0.60,0.55,0.60,0.90),
76 QuietAndThoughtfulEngagement => relational_appreciation_intrinsic_ratings!(0.70,0.75,0.80,0.70,0.60,0.50,0.55,0.80),
77 ReliabilityAndIntegrity => relational_appreciation_intrinsic_ratings!(0.75,0.80,0.95,0.70,0.60,0.50,0.55,1.00),
78 SharedComfortWithAmbiguity => relational_appreciation_intrinsic_ratings!(0.80,0.80,0.70,0.75,0.65,0.70,0.70,0.70),
79 SharedCommitmentToHeritagePreservation => relational_appreciation_intrinsic_ratings!(0.70,0.80,0.90,0.75,0.80,0.55,0.60,0.85),
80 SharedCommitmentToNature => relational_appreciation_intrinsic_ratings!(0.75,0.75,0.80,0.80,0.85,0.70,0.65,0.85),
81 SharedCuriosityAndPatience => relational_appreciation_intrinsic_ratings!(0.75,0.85,0.80,0.80,0.60,0.70,0.70,0.80),
82 SharedReverenceAndReflection => relational_appreciation_intrinsic_ratings!(0.70,0.80,0.90,0.75,0.85,0.55,0.60,0.80),
83 SharedSenseOfAdventure => relational_appreciation_intrinsic_ratings!(0.80,0.75,0.75,0.80,0.65,1.00,0.80,0.70),
84 SharpWitAndHumor => relational_appreciation_intrinsic_ratings!(0.70,0.90,0.75,0.85,0.55,0.80,1.00,0.70),
85 StrengthAndCourageInOthers => relational_appreciation_intrinsic_ratings!(0.80,0.75,0.85,0.80,0.60,0.80,0.70,0.85),
86 WitAndCharmInRelationships => relational_appreciation_intrinsic_ratings!(0.70,0.85,0.75,0.85,0.55,0.75,1.00,0.70),
87 }
88 }
89}