1crate::ix!();
3
4#[derive(Debug, Clone, PartialEq, Eq)]
5pub enum RelationalSeeking {
6 AlliesWhoShareVision,
7 CharmIntelligenceAmbitionInRelationships,
8 CollaborationAndOpennessInRelationships,
9 ComplexIntellectualAndEmotionalEngagement,
10 CourageEmpathyAndIntelligenceInRelationships,
11 CourageIntegrityAndCommitment,
12 DeeplyEngagingAndPassionateConnections,
13 EmotionallyIntelligentConnections,
14 EqualsInSpiritualStrength,
15 HonestyWithoutManipulation,
16 IntellectualAndMagicalEquality,
17 IntellectualAndStrategicCompatibility,
18 IntellectualStimulationAndCuriosityInRelationships,
19 MutualRespect,
20 MutualRespectAndEquality,
21 PartnersCommittedToFamily,
22 PartnersCommittedToSocialJustice,
23 PartnersWhoAppreciateComplexityAndNuance,
24 PartnersWhoBalancePragmatismAndGenerosity,
25 PartnersWhoShareCuriosityAndHumility,
26 PartnersWhoUnderstandSacrifice,
27 PartnersWhoValueCourtesyAndPoliteness,
28 RecognitionAndAppreciationOfPerfectionism,
29 SkillInStrategyAndManipulationInPartners,
30 StrategicAndIntellectualMatch,
31 SupportiveAndReflectiveRelationships,
32 UnderstandingOfNeedForControl,
33}
34
35#[derive(Clone, Debug, Serialize, Deserialize, Builder, Getters)]
36#[builder(pattern = "owned")]
37#[getset(get = "pub")]
38pub struct RelationalSeekingIntrinsicDimensionRatings {
39 mutual_respect: f64,
40 intellectual_compatibility:f64,
41 emotional_intelligence: f64,
42 spiritual_alignment: f64,
43 adventure_passion: f64,
44 social_justice_alignment: f64,
45 strategic_capability: f64,
46 loyalty_commitment: f64,
47 honesty_authenticity: f64,
48 empathy_compassion: f64,
49}
50
51macro_rules! relational_seeking_intrinsic_ratings {
52 (
53 $respect:expr, $intel:expr, $emotion:expr, $spirit:expr, $adventure:expr,
54 $justice:expr, $strategy:expr, $loyalty:expr, $honesty:expr, $empathy:expr
55 ) => {
56 RelationalSeekingIntrinsicDimensionRatingsBuilder::default()
57 .mutual_respect(expand_spread($respect))
58 .intellectual_compatibility(expand_spread($intel))
59 .emotional_intelligence(expand_spread($emotion))
60 .spiritual_alignment(expand_spread($spirit))
61 .adventure_passion(expand_spread($adventure))
62 .social_justice_alignment(expand_spread($justice))
63 .strategic_capability(expand_spread($strategy))
64 .loyalty_commitment(expand_spread($loyalty))
65 .honesty_authenticity(expand_spread($honesty))
66 .empathy_compassion(expand_spread($empathy))
67 .build()
68 .unwrap()
69 };
70}
71
72impl RelationalSeeking {
73 pub fn intrinsic_ratings(&self) -> RelationalSeekingIntrinsicDimensionRatings {
74 trace!(variant=?self,"Computing RelationalSeeking intrinsic ratings");
75 use RelationalSeeking::*;
76 match self {
77 AlliesWhoShareVision => relational_seeking_intrinsic_ratings!(0.90,0.80,0.80,0.75,0.80,0.90,0.85,0.85,0.85,0.80),
78 CharmIntelligenceAmbitionInRelationships => relational_seeking_intrinsic_ratings!(0.80,0.90,0.80,0.70,0.85,0.75,0.90,0.80,0.80,0.75),
79 CollaborationAndOpennessInRelationships => relational_seeking_intrinsic_ratings!(0.95,0.80,0.85,0.75,0.80,0.80,0.80,0.85,0.85,0.85),
80 ComplexIntellectualAndEmotionalEngagement => relational_seeking_intrinsic_ratings!(0.85,0.95,0.90,0.75,0.80,0.80,0.85,0.80,0.80,0.90),
81 CourageEmpathyAndIntelligenceInRelationships => relational_seeking_intrinsic_ratings!(0.85,0.90,0.90,0.75,0.80,0.75,0.85,0.85,0.85,0.90),
82 CourageIntegrityAndCommitment => relational_seeking_intrinsic_ratings!(0.90,0.85,0.85,0.75,0.80,0.75,0.85,0.95,0.90,0.85),
83 DeeplyEngagingAndPassionateConnections => relational_seeking_intrinsic_ratings!(0.85,0.85,0.95,0.75,0.90,0.75,0.80,0.85,0.85,0.90),
84 EmotionallyIntelligentConnections => relational_seeking_intrinsic_ratings!(0.90,0.80,1.00,0.75,0.80,0.75,0.80,0.80,0.85,0.95),
85 EqualsInSpiritualStrength => relational_seeking_intrinsic_ratings!(0.85,0.80,0.80,1.00,0.80,0.80,0.80,0.85,0.85,0.80),
86 HonestyWithoutManipulation => relational_seeking_intrinsic_ratings!(0.85,0.80,0.85,0.75,0.80,0.80,0.75,0.85,1.00,0.85),
87 IntellectualAndMagicalEquality => relational_seeking_intrinsic_ratings!(0.85,1.00,0.80,0.85,0.80,0.80,0.85,0.85,0.85,0.80),
88 IntellectualAndStrategicCompatibility => relational_seeking_intrinsic_ratings!(0.85,1.00,0.80,0.75,0.80,0.80,1.00,0.85,0.85,0.80),
89 IntellectualStimulationAndCuriosityInRelationships => relational_seeking_intrinsic_ratings!(0.85,1.00,0.85,0.75,0.85,0.80,0.90,0.80,0.80,0.85),
90 MutualRespect => relational_seeking_intrinsic_ratings!(1.00,0.80,0.80,0.75,0.80,0.80,0.75,0.85,0.85,0.85),
91 MutualRespectAndEquality => relational_seeking_intrinsic_ratings!(1.00,0.85,0.80,0.75,0.80,0.80,0.80,0.85,0.85,0.85),
92 PartnersCommittedToFamily => relational_seeking_intrinsic_ratings!(0.90,0.80,0.85,0.80,0.75,0.75,0.75,0.95,0.85,0.85),
93 PartnersCommittedToSocialJustice => relational_seeking_intrinsic_ratings!(0.90,0.80,0.85,0.80,0.80,1.00,0.80,0.90,0.85,0.90),
94 PartnersWhoAppreciateComplexityAndNuance => relational_seeking_intrinsic_ratings!(0.85,0.95,0.90,0.75,0.80,0.80,0.85,0.80,0.80,0.90),
95 PartnersWhoBalancePragmatismAndGenerosity => relational_seeking_intrinsic_ratings!(0.90,0.85,0.85,0.75,0.80,0.80,0.80,0.85,0.85,0.85),
96 PartnersWhoShareCuriosityAndHumility => relational_seeking_intrinsic_ratings!(0.90,0.90,0.85,0.75,0.80,0.80,0.80,0.85,0.85,0.90),
97 PartnersWhoUnderstandSacrifice => relational_seeking_intrinsic_ratings!(0.85,0.85,0.85,0.80,0.75,0.80,0.80,0.90,0.85,0.90),
98 PartnersWhoValueCourtesyAndPoliteness => relational_seeking_intrinsic_ratings!(0.90,0.80,0.85,0.75,0.75,0.80,0.75,0.85,0.90,0.85),
99 RecognitionAndAppreciationOfPerfectionism => relational_seeking_intrinsic_ratings!(0.85,0.85,0.80,0.75,0.80,0.75,0.85,0.80,0.80,0.75),
100 SkillInStrategyAndManipulationInPartners => relational_seeking_intrinsic_ratings!(0.80,0.90,0.80,0.75,0.80,0.80,1.00,0.80,0.75,0.75),
101 StrategicAndIntellectualMatch => relational_seeking_intrinsic_ratings!(0.85,1.00,0.80,0.75,0.80,0.80,1.00,0.85,0.85,0.80),
102 SupportiveAndReflectiveRelationships => relational_seeking_intrinsic_ratings!(0.90,0.85,0.90,0.75,0.80,0.80,0.75,0.90,0.85,0.95),
103 UnderstandingOfNeedForControl => relational_seeking_intrinsic_ratings!(0.85,0.90,0.85,0.75,0.80,0.80,0.90,0.80,0.80,0.80),
104 }
105 }
106}