1crate::ix!();
3
4#[derive(Debug, Clone, PartialEq, Eq)]
5pub enum RelationalPreference {
6 BoldnessAndDirectness,
7 CulturallySensitiveAndRespectfulPartners,
8 DeepMeaningfulConnections,
9 DeepMutualRespect,
10 DeepMutualTrustInRelationships,
11 DeepMutualUnderstanding,
12 DeepUnderstandingOfJusticeAndIndependence,
13 EmotionalDepth,
14 GentlenessAndAdaptabilityInRelationships,
15 GenuineIntentionsAndTrustworthiness,
16 HarmoniousRelationships,
17 HonestyAndDirectCommunication,
18 HumbleAndSelflessPartners,
19 InsightOverCharm,
20 IntellectualAndCulturalEngagement,
21 IntellectualAndRealisticEngagement,
22 IntellectualEngagement,
23 IntellectualStimulation,
24 IntellectuallyEngagingPartners,
25 IntelligentAndStimulatingPartners,
26 MeaningfulDeepConnections,
27 MutualRespectAndDiscretion,
28 MutualRespectAndIntellectualPartnership,
29 MutualTrustAndDependability,
30 OpenAndFlexibleRelationships,
31 OpenMindedAndDigitallyAdaptivePartners,
32 PartnersAttunedToNatureAndPerformance,
33 PartnersComfortableWithEmotionalDistance,
34 PartnersCommittedToInnovation,
35 PartnersCommittedToJusticeAndWisdom,
36 PartnersEngagedInLearningAndExploration,
37 PartnersUnderstandingOfIntensity,
38 PartnersWhoAcceptDualNature,
39 PartnersWhoAppreciateDualNature,
40 PartnersWhoAppreciateSpontaneity,
41 PartnersWhoEmbraceMystery,
42 PartnersWhoMatchIntensity,
43 PartnersWhoUnderstandCommunityDynamics,
44 PartnersWhoUnderstandComplexEmotions,
45 PartnersWhoUnderstandComplexity,
46 PartnersWillingToEmbraceTransformation,
47 QuietMutualRespectInRelationships,
48 RelationshipsBasedOnHumilityAndCompassion,
49 RelationshipsBasedOnMeritAndAbility,
50 RespectfulAndEmpatheticPartners,
51 Sincerity,
52 StraightforwardAndHonestPartners,
53 SupportiveAndCompliantPartners,
54}
55
56#[derive(Clone, Debug, Serialize, Deserialize, Builder, Getters)]
57#[builder(pattern = "owned")]
58#[getset(get = "pub")]
59pub struct RelationalPreferenceIntrinsicDimensionRatings {
60 intellectual_stimulation: f64,
61 emotional_depth: f64,
62 virtue_authenticity: f64,
63 independence_flexibility: f64,
64 cultural_alignment: f64,
65 spiritual_alignment: f64,
66 novelty_adventure: f64,
67 empathy_compassion: f64,
68 communication_style: f64,
69 loyalty_trust: f64,
70}
71
72macro_rules! relational_preference_intrinsic_ratings {
73 (
74 $intel:expr, $emotion:expr, $virtue:expr, $independence:expr,
75 $culture:expr, $spirit:expr, $novel:expr, $empathy:expr,
76 $comm:expr, $loyal:expr
77 ) => {
78 RelationalPreferenceIntrinsicDimensionRatingsBuilder::default()
79 .intellectual_stimulation(expand_spread($intel))
80 .emotional_depth(expand_spread($emotion))
81 .virtue_authenticity(expand_spread($virtue))
82 .independence_flexibility(expand_spread($independence))
83 .cultural_alignment(expand_spread($culture))
84 .spiritual_alignment(expand_spread($spirit))
85 .novelty_adventure(expand_spread($novel))
86 .empathy_compassion(expand_spread($empathy))
87 .communication_style(expand_spread($comm))
88 .loyalty_trust(expand_spread($loyal))
89 .build()
90 .unwrap()
91 };
92}
93
94impl RelationalPreference {
95 pub fn intrinsic_ratings(&self) -> RelationalPreferenceIntrinsicDimensionRatings {
96 trace!(variant = ?self, "Computing RelationalPreference intrinsic ratings");
97 use RelationalPreference::*;
98 match self {
99 BoldnessAndDirectness => relational_preference_intrinsic_ratings!(0.75,0.70,0.70,0.85,0.70,0.60,0.80,0.65,1.00,0.70),
100 CulturallySensitiveAndRespectfulPartners => relational_preference_intrinsic_ratings!(0.75,0.75,0.80,0.75,1.00,0.70,0.70,0.80,0.80,0.80),
101 DeepMeaningfulConnections => relational_preference_intrinsic_ratings!(0.80,0.95,0.85,0.70,0.75,0.70,0.70,0.85,0.80,0.85),
102 DeepMutualRespect => relational_preference_intrinsic_ratings!(0.75,0.85,0.90,0.75,0.80,0.70,0.70,0.85,0.80,0.90),
103 DeepMutualTrustInRelationships => relational_preference_intrinsic_ratings!(0.75,0.85,0.90,0.75,0.80,0.70,0.70,0.85,0.80,1.00),
104 DeepMutualUnderstanding => relational_preference_intrinsic_ratings!(0.80,0.90,0.85,0.75,0.80,0.70,0.70,0.90,0.80,0.90),
105 DeepUnderstandingOfJusticeAndIndependence => relational_preference_intrinsic_ratings!(0.85,0.90,0.90,0.90,0.80,0.75,0.70,0.85,0.80,0.90),
106 EmotionalDepth => relational_preference_intrinsic_ratings!(0.75,1.00,0.80,0.70,0.70,0.60,0.70,0.90,0.80,0.80),
107 GentlenessAndAdaptabilityInRelationships => relational_preference_intrinsic_ratings!(0.70,0.80,0.80,0.85,0.75,0.70,0.70,0.90,0.75,0.80),
108 GenuineIntentionsAndTrustworthiness => relational_preference_intrinsic_ratings!(0.75,0.80,0.90,0.75,0.75,0.70,0.70,0.85,0.80,1.00),
109 HarmoniousRelationships => relational_preference_intrinsic_ratings!(0.70,0.80,0.80,0.80,0.80,0.70,0.70,0.85,0.80,0.85),
110 HonestyAndDirectCommunication => relational_preference_intrinsic_ratings!(0.75,0.75,0.85,0.80,0.75,0.70,0.70,0.80,1.00,0.85),
111 HumbleAndSelflessPartners => relational_preference_intrinsic_ratings!(0.75,0.80,0.90,0.75,0.75,0.70,0.70,0.85,0.80,0.85),
112 InsightOverCharm => relational_preference_intrinsic_ratings!(0.85,0.75,0.85,0.80,0.75,0.70,0.70,0.80,0.80,0.80),
113 IntellectualAndCulturalEngagement => relational_preference_intrinsic_ratings!(0.95,0.80,0.80,0.75,0.95,0.70,0.70,0.80,0.80,0.80),
114 IntellectualAndRealisticEngagement => relational_preference_intrinsic_ratings!(0.95,0.80,0.80,0.75,0.80,0.70,0.70,0.80,0.80,0.80),
115 IntellectualEngagement => relational_preference_intrinsic_ratings!(0.95,0.75,0.80,0.75,0.80,0.70,0.70,0.75,0.80,0.80),
116 IntellectualStimulation => relational_preference_intrinsic_ratings!(1.00,0.75,0.80,0.75,0.80,0.70,0.80,0.75,0.80,0.80),
117 IntellectuallyEngagingPartners => relational_preference_intrinsic_ratings!(0.95,0.80,0.80,0.75,0.80,0.70,0.70,0.80,0.80,0.80),
118 IntelligentAndStimulatingPartners => relational_preference_intrinsic_ratings!(0.95,0.80,0.80,0.75,0.80,0.70,0.80,0.80,0.80,0.80),
119 MeaningfulDeepConnections => relational_preference_intrinsic_ratings!(0.80,0.95,0.85,0.70,0.75,0.70,0.70,0.85,0.80,0.85),
120 MutualRespectAndDiscretion => relational_preference_intrinsic_ratings!(0.75,0.80,0.85,0.80,0.80,0.70,0.70,0.85,0.85,0.90),
121 MutualRespectAndIntellectualPartnership => relational_preference_intrinsic_ratings!(0.90,0.85,0.85,0.80,0.85,0.70,0.70,0.85,0.85,0.90),
122 MutualTrustAndDependability => relational_preference_intrinsic_ratings!(0.80,0.85,0.90,0.75,0.80,0.70,0.70,0.85,0.80,1.00),
123 OpenAndFlexibleRelationships => relational_preference_intrinsic_ratings!(0.75,0.75,0.80,1.00,0.75,0.70,0.80,0.80,0.80,0.80),
124 OpenMindedAndDigitallyAdaptivePartners => relational_preference_intrinsic_ratings!(0.80,0.75,0.80,1.00,0.80,0.70,0.90,0.80,0.80,0.80),
125 PartnersAttunedToNatureAndPerformance => relational_preference_intrinsic_ratings!(0.80,0.80,0.80,0.80,0.85,0.80,0.80,0.80,0.75,0.80),
126 PartnersComfortableWithEmotionalDistance => relational_preference_intrinsic_ratings!(0.70,0.65,0.70,0.80,0.75,0.65,0.70,0.70,0.75,0.70),
127 PartnersCommittedToInnovation => relational_preference_intrinsic_ratings!(0.90,0.75,0.80,0.85,0.80,0.70,0.90,0.75,0.80,0.80),
128 PartnersCommittedToJusticeAndWisdom => relational_preference_intrinsic_ratings!(0.90,0.85,0.90,0.80,0.80,0.80,0.75,0.85,0.80,0.90),
129 PartnersEngagedInLearningAndExploration => relational_preference_intrinsic_ratings!(0.90,0.80,0.80,0.80,0.80,0.75,0.90,0.80,0.80,0.80),
130 PartnersUnderstandingOfIntensity => relational_preference_intrinsic_ratings!(0.85,0.85,0.80,0.80,0.75,0.70,0.80,0.85,0.80,0.80),
131 PartnersWhoAcceptDualNature => relational_preference_intrinsic_ratings!(0.85,0.80,0.80,0.85,0.80,0.75,0.80,0.80,0.80,0.80),
132 PartnersWhoAppreciateDualNature => relational_preference_intrinsic_ratings!(0.85,0.80,0.80,0.85,0.80,0.75,0.80,0.80,0.80,0.80),
133 PartnersWhoAppreciateSpontaneity => relational_preference_intrinsic_ratings!(0.80,0.80,0.75,0.85,0.75,0.70,0.90,0.80,0.85,0.75),
134 PartnersWhoEmbraceMystery => relational_preference_intrinsic_ratings!(0.85,0.85,0.80,0.85,0.80,0.75,0.90,0.80,0.80,0.80),
135 PartnersWhoMatchIntensity => relational_preference_intrinsic_ratings!(0.85,0.85,0.80,0.80,0.75,0.70,0.85,0.80,0.80,0.80),
136 PartnersWhoUnderstandCommunityDynamics => relational_preference_intrinsic_ratings!(0.85,0.80,0.85,0.80,0.85,0.75,0.75,0.85,0.80,0.90),
137 PartnersWhoUnderstandComplexEmotions => relational_preference_intrinsic_ratings!(0.85,0.90,0.85,0.80,0.80,0.70,0.75,0.90,0.80,0.85),
138 PartnersWhoUnderstandComplexity => relational_preference_intrinsic_ratings!(0.90,0.85,0.85,0.80,0.80,0.70,0.75,0.85,0.80,0.85),
139 PartnersWillingToEmbraceTransformation => relational_preference_intrinsic_ratings!(0.90,0.80,0.80,0.85,0.80,0.75,0.90,0.80,0.80,0.80),
140 QuietMutualRespectInRelationships => relational_preference_intrinsic_ratings!(0.70,0.80,0.80,0.80,0.80,0.70,0.70,0.85,0.70,0.85),
141 RelationshipsBasedOnHumilityAndCompassion => relational_preference_intrinsic_ratings!(0.75,0.90,0.90,0.75,0.75,0.70,0.70,0.95,0.80,0.90),
142 RelationshipsBasedOnMeritAndAbility => relational_preference_intrinsic_ratings!(0.90,0.80,0.85,0.80,0.80,0.70,0.75,0.80,0.80,0.85),
143 RespectfulAndEmpatheticPartners => relational_preference_intrinsic_ratings!(0.75,0.85,0.85,0.80,0.80,0.70,0.70,0.90,0.80,0.85),
144 Sincerity => relational_preference_intrinsic_ratings!(0.75,0.80,0.90,0.75,0.75,0.70,0.70,0.85,0.80,0.90),
145 StraightforwardAndHonestPartners => relational_preference_intrinsic_ratings!(0.75,0.80,0.90,0.80,0.75,0.70,0.70,0.80,0.95,0.90),
146 SupportiveAndCompliantPartners => relational_preference_intrinsic_ratings!(0.70,0.75,0.80,0.80,0.75,0.70,0.70,0.85,0.80,0.90),
147 }
148 }
149}