bcinr-cmca 26.10.11

CMCA-RDF deterministic substrate crate
Documentation
// This file is generated by generator.py. DO NOT EDIT.

use crate::fixed::{NonNegativeFixed, SignedFixed};

pub const N: usize = 8;
pub const F: usize = 10;
pub const K: usize = 4;
pub const Q: usize = 4;

pub const GENERATOR_VERSION: &str = "v1.1.0";
pub const RDF_INPUT_DIGEST: &str =
    "5f3b550a116aab25628f9e8272ac1348f21d19114eb2cbca11c7c4c9176ebf69";
pub const GENERATOR_SOURCE_DIGEST: &str =
    "bf159da344a6d4a2091d150c5a8c4eab5478ca43dafd3c6501d699e8a4027fb6";
pub const FACTOR_ACCESS_FREQUENCY: usize = 0;
pub const FACTOR_ACCESS_FREQUENCY_IRI: &str = "cmca:accessFrequency";
pub const FACTOR_BUSINESS_VALUE: usize = 1;
pub const FACTOR_BUSINESS_VALUE_IRI: &str = "cmca:businessValue";
pub const FACTOR_RECOMPUTATION_COST: usize = 2;
pub const FACTOR_RECOMPUTATION_COST_IRI: &str = "cmca:recomputationCost";
pub const FACTOR_RETRIEVAL_DEMAND: usize = 3;
pub const FACTOR_RETRIEVAL_DEMAND_IRI: &str = "cmca:retrievalDemand";
pub const FACTOR_SCHEDULING_DEMAND: usize = 4;
pub const FACTOR_SCHEDULING_DEMAND_IRI: &str = "cmca:schedulingDemand";
pub const FACTOR_SEARCH_DEMAND: usize = 5;
pub const FACTOR_SEARCH_DEMAND_IRI: &str = "cmca:searchDemand";
pub const FACTOR_STANDING: usize = 6;
pub const FACTOR_STANDING_IRI: &str = "cmca:standing";
pub const FACTOR_VALIDITY: usize = 7;
pub const FACTOR_VALIDITY_IRI: &str = "cmca:validity";
pub const FACTOR_VERIFICATION_COST: usize = 8;
pub const FACTOR_VERIFICATION_COST_IRI: &str = "cmca:verificationCost";
pub const FACTOR_DOWNSTREAM_CONSEQUENCE: usize = 9;
pub const FACTOR_DOWNSTREAM_CONSEQUENCE_IRI: &str = "cmca:downstreamConsequence";
pub const MEASURE_CACHE: usize = 0;
pub const MEASURE_CACHE_IRI: &str = "cmca:MeasureCache";
pub const MEASURE_SEARCH: usize = 1;
pub const MEASURE_SEARCH_IRI: &str = "cmca:MeasureSearch";
pub const MEASURE_RETRIEVAL: usize = 2;
pub const MEASURE_RETRIEVAL_IRI: &str = "cmca:MeasureRetrieval";
pub const MEASURE_SCHEDULING: usize = 3;
pub const MEASURE_SCHEDULING_IRI: &str = "cmca:MeasureScheduling";
pub const LENS_EXPLOITATION: usize = 0;
pub const LENS_EXPLOITATION_IRI: &str = "cmca:LensExploitation";
pub const LENS_PROPORTIONAL: usize = 1;
pub const LENS_PROPORTIONAL_IRI: &str = "cmca:LensProportional";
pub const LENS_COVERAGE: usize = 2;
pub const LENS_COVERAGE_IRI: &str = "cmca:LensCoverage";
pub const LENS_RARE: usize = 3;
pub const LENS_RARE_IRI: &str = "cmca:LensRare";
pub const OBJECT_ARTIFACT__A: usize = 0;
pub const OBJECT_ARTIFACT__A_IRI: &str = "cmca:Artifact_A";
pub const OBJECT_ARTIFACT__B: usize = 1;
pub const OBJECT_ARTIFACT__B_IRI: &str = "cmca:Artifact_B";
pub const OBJECT_OBJ__ACTIVITY: usize = 2;
pub const OBJECT_OBJ__ACTIVITY_IRI: &str = "cmca:Obj_Activity";
pub const OBJECT_OBJ__DEPLOYMENT: usize = 3;
pub const OBJECT_OBJ__DEPLOYMENT_IRI: &str = "cmca:Obj_Deployment";
pub const OBJECT_OBJ__OBLIGATION: usize = 4;
pub const OBJECT_OBJ__OBLIGATION_IRI: &str = "cmca:Obj_Obligation";
pub const OBJECT_OBJ__OUTCOME: usize = 5;
pub const OBJECT_OBJ__OUTCOME_IRI: &str = "cmca:Obj_Outcome";
pub const OBJECT_OBJ__SINGLE: usize = 6;
pub const OBJECT_OBJ__SINGLE_IRI: &str = "cmca:Obj_Single";
pub const OBJECT_OBJ__VALUE: usize = 7;
pub const OBJECT_OBJ__VALUE_IRI: &str = "cmca:Obj_Value";

#[derive(Copy, Clone, Debug)]
pub struct PackedSemanticState {
    pub id: u32,
    pub factors: [NonNegativeFixed; F],
}

#[derive(Copy, Clone, Debug)]
pub struct LensSpec {
    pub id: u32,
    pub q: SignedFixed,
}

pub static ETA: NonNegativeFixed = NonNegativeFixed::from_bits(32768); // 0.50000

pub static LAMBDA: [[NonNegativeFixed; Q]; K] = [
    [
        NonNegativeFixed::from_bits(26214),
        NonNegativeFixed::from_bits(19661),
        NonNegativeFixed::from_bits(13107),
        NonNegativeFixed::from_bits(6554),
    ], // MeasureCache
    [
        NonNegativeFixed::from_bits(6554),
        NonNegativeFixed::from_bits(13107),
        NonNegativeFixed::from_bits(19661),
        NonNegativeFixed::from_bits(26214),
    ], // MeasureSearch
    [
        NonNegativeFixed::from_bits(16384),
        NonNegativeFixed::from_bits(16384),
        NonNegativeFixed::from_bits(16384),
        NonNegativeFixed::from_bits(16384),
    ], // MeasureRetrieval
    [
        NonNegativeFixed::from_bits(32768),
        NonNegativeFixed::from_bits(0),
        NonNegativeFixed::from_bits(32768),
        NonNegativeFixed::from_bits(0),
    ], // MeasureScheduling
];

pub static OBJECT_REGISTRY: [PackedSemanticState; N] = [
    // Artifact_A (cmca:Artifact_A)
    PackedSemanticState {
        id: 0,
        factors: [
            NonNegativeFixed::from_bits(32768),  // accessFrequency: 0.50000
            NonNegativeFixed::from_bits(655360), // businessValue: 10.00000
            NonNegativeFixed::from_bits(58982),  // recomputationCost: 0.90000
            NonNegativeFixed::from_bits(0),      // retrievalDemand: 0.00000
            NonNegativeFixed::from_bits(0),      // schedulingDemand: 0.00000
            NonNegativeFixed::from_bits(0),      // searchDemand: 0.00000
            NonNegativeFixed::from_bits(65536),  // standing: 1.00000
            NonNegativeFixed::from_bits(65536),  // validity: 1.00000
            NonNegativeFixed::from_bits(6554),   // verificationCost: 0.10000
            NonNegativeFixed::from_bits(655360), // downstreamConsequence: 10.00000
        ],
    },
    // Artifact_B (cmca:Artifact_B)
    PackedSemanticState {
        id: 1,
        factors: [
            NonNegativeFixed::from_bits(32768),  // accessFrequency: 0.50000
            NonNegativeFixed::from_bits(655360), // businessValue: 10.00000
            NonNegativeFixed::from_bits(6554),   // recomputationCost: 0.10000
            NonNegativeFixed::from_bits(0),      // retrievalDemand: 0.00000
            NonNegativeFixed::from_bits(0),      // schedulingDemand: 0.00000
            NonNegativeFixed::from_bits(0),      // searchDemand: 0.00000
            NonNegativeFixed::from_bits(65536),  // standing: 1.00000
            NonNegativeFixed::from_bits(65536),  // validity: 1.00000
            NonNegativeFixed::from_bits(58982),  // verificationCost: 0.90000
            NonNegativeFixed::from_bits(655360), // downstreamConsequence: 10.00000
        ],
    },
    // Obj_Activity (cmca:Obj_Activity)
    PackedSemanticState {
        id: 2,
        factors: [
            NonNegativeFixed::from_bits(32768),    // accessFrequency: 0.50000
            NonNegativeFixed::from_bits(0),        // businessValue: 0.00000
            NonNegativeFixed::from_bits(32768),    // recomputationCost: 0.50000
            NonNegativeFixed::from_bits(32768),    // retrievalDemand: 0.50000
            NonNegativeFixed::from_bits(32768),    // schedulingDemand: 0.50000
            NonNegativeFixed::from_bits(32768),    // searchDemand: 0.50000
            NonNegativeFixed::from_bits(65536),    // standing: 1.00000
            NonNegativeFixed::from_bits(65536),    // validity: 1.00000
            NonNegativeFixed::from_bits(32768),    // verificationCost: 0.50000
            NonNegativeFixed::from_bits(65536000), // downstreamConsequence: 1000.00000
        ],
    },
    // Obj_Deployment (cmca:Obj_Deployment)
    PackedSemanticState {
        id: 3,
        factors: [
            NonNegativeFixed::from_bits(32768),    // accessFrequency: 0.50000
            NonNegativeFixed::from_bits(0),        // businessValue: 0.00000
            NonNegativeFixed::from_bits(32768),    // recomputationCost: 0.50000
            NonNegativeFixed::from_bits(32768),    // retrievalDemand: 0.50000
            NonNegativeFixed::from_bits(32768),    // schedulingDemand: 0.50000
            NonNegativeFixed::from_bits(32768),    // searchDemand: 0.50000
            NonNegativeFixed::from_bits(65536),    // standing: 1.00000
            NonNegativeFixed::from_bits(65536),    // validity: 1.00000
            NonNegativeFixed::from_bits(32768),    // verificationCost: 0.50000
            NonNegativeFixed::from_bits(65536000), // downstreamConsequence: 1000.00000
        ],
    },
    // Obj_Obligation (cmca:Obj_Obligation)
    PackedSemanticState {
        id: 4,
        factors: [
            NonNegativeFixed::from_bits(32768),    // accessFrequency: 0.50000
            NonNegativeFixed::from_bits(0),        // businessValue: 0.00000
            NonNegativeFixed::from_bits(32768),    // recomputationCost: 0.50000
            NonNegativeFixed::from_bits(32768),    // retrievalDemand: 0.50000
            NonNegativeFixed::from_bits(32768),    // schedulingDemand: 0.50000
            NonNegativeFixed::from_bits(32768),    // searchDemand: 0.50000
            NonNegativeFixed::from_bits(65536),    // standing: 1.00000
            NonNegativeFixed::from_bits(65536),    // validity: 1.00000
            NonNegativeFixed::from_bits(32768),    // verificationCost: 0.50000
            NonNegativeFixed::from_bits(65536000), // downstreamConsequence: 1000.00000
        ],
    },
    // Obj_Outcome (cmca:Obj_Outcome)
    PackedSemanticState {
        id: 5,
        factors: [
            NonNegativeFixed::from_bits(32768),    // accessFrequency: 0.50000
            NonNegativeFixed::from_bits(0),        // businessValue: 0.00000
            NonNegativeFixed::from_bits(32768),    // recomputationCost: 0.50000
            NonNegativeFixed::from_bits(32768),    // retrievalDemand: 0.50000
            NonNegativeFixed::from_bits(32768),    // schedulingDemand: 0.50000
            NonNegativeFixed::from_bits(32768),    // searchDemand: 0.50000
            NonNegativeFixed::from_bits(65536),    // standing: 1.00000
            NonNegativeFixed::from_bits(65536),    // validity: 1.00000
            NonNegativeFixed::from_bits(32768),    // verificationCost: 0.50000
            NonNegativeFixed::from_bits(65536000), // downstreamConsequence: 1000.00000
        ],
    },
    // Obj_Single (cmca:Obj_Single)
    PackedSemanticState {
        id: 6,
        factors: [
            NonNegativeFixed::from_bits(52429),   // accessFrequency: 0.80000
            NonNegativeFixed::from_bits(6553600), // businessValue: 100.00000
            NonNegativeFixed::from_bits(52429),   // recomputationCost: 0.80000
            NonNegativeFixed::from_bits(58982),   // retrievalDemand: 0.90000
            NonNegativeFixed::from_bits(0),       // schedulingDemand: 0.00000
            NonNegativeFixed::from_bits(6554),    // searchDemand: 0.10000
            NonNegativeFixed::from_bits(65536),   // standing: 1.00000
            NonNegativeFixed::from_bits(65536),   // validity: 1.00000
            NonNegativeFixed::from_bits(52429),   // verificationCost: 0.80000
            NonNegativeFixed::from_bits(6553600), // downstreamConsequence: 100.00000
        ],
    },
    // Obj_Value (cmca:Obj_Value)
    PackedSemanticState {
        id: 7,
        factors: [
            NonNegativeFixed::from_bits(32768),    // accessFrequency: 0.50000
            NonNegativeFixed::from_bits(65536000), // businessValue: 1000.00000
            NonNegativeFixed::from_bits(32768),    // recomputationCost: 0.50000
            NonNegativeFixed::from_bits(32768),    // retrievalDemand: 0.50000
            NonNegativeFixed::from_bits(32768),    // schedulingDemand: 0.50000
            NonNegativeFixed::from_bits(32768),    // searchDemand: 0.50000
            NonNegativeFixed::from_bits(65536),    // standing: 1.00000
            NonNegativeFixed::from_bits(65536),    // validity: 1.00000
            NonNegativeFixed::from_bits(32768),    // verificationCost: 0.50000
            NonNegativeFixed::from_bits(65536000), // downstreamConsequence: 1000.00000
        ],
    },
];

pub static LENS_REGISTRY: [LensSpec; Q] = [
    // LensExploitation (cmca:LensExploitation)
    LensSpec {
        id: 0,
        q: SignedFixed::from_bits(131072),
    },
    // LensProportional (cmca:LensProportional)
    LensSpec {
        id: 1,
        q: SignedFixed::from_bits(65536),
    },
    // LensCoverage (cmca:LensCoverage)
    LensSpec {
        id: 2,
        q: SignedFixed::from_bits(0),
    },
    // LensRare (cmca:LensRare)
    LensSpec {
        id: 3,
        q: SignedFixed::from_bits(-65536),
    },
];