anpcpp 0.4.0
Analytic Network Process computational library
Loading...
Searching...
No Matches
Classes | Namespaces | Enumerations | Functions | Variables
multiuser.hpp File Reference

Multi-user judgment participants, groups, scope, and aggregation. More...

#include <cmath>
#include <map>
#include <string>
#include <vector>
#include "anpcpp/pairwise.hpp"
#include "anpcpp/ratings.hpp"

Go to the source code of this file.

Classes

struct  anpcpp::JudgmentParticipant
 A judge on a model (model-scoped, not an app account). More...
 
struct  anpcpp::JudgmentGroup
 Named subset of participants for group-scope analysis. More...
 
struct  anpcpp::JudgmentSession
 Document session: which judgments are active for editing/calc. More...
 
struct  anpcpp::PairwiseCellDisagreement
 Disagreement stats for one pairwise upper-triangle cell. More...
 
struct  anpcpp::RatingsAltDisagreement
 Disagreement stats for one ratings alternative. More...
 
struct  anpcpp::JudgmentFillCounts
 Filled vs needed judgment counts for coverage grids. More...
 
struct  anpcpp::VoteSpreadSummary
 Summary of collected votes for one comparison / ratings alternative. More...
 

Namespaces

namespace  anpcpp
 Analytic Network Process computational library.
 

Enumerations

enum class  anpcpp::JudgmentScopeKind { anpcpp::Average , anpcpp::Participant , anpcpp::Group }
 Whose judgments feed the effective calc slot. More...
 

Functions

void anpcpp::aggregate_pairwise_geometric (const std::vector< const PairwiseJudgments * > &inputs, PairwiseJudgments &out)
 Geometric mean of pairwise ratios into out (same alternatives).
 
void anpcpp::aggregate_ratings_arithmetic (const std::vector< const RatingsPrioritizer * > &inputs, const RatingsPrioritizer &scale_template, RatingsPrioritizer &out)
 Arithmetic mean of rating intensity scores into out.
 
void anpcpp::copy_pairwise_into (const PairwiseJudgments &src, PairwiseJudgments &out)
 Copy src pairwise into out (alternatives aligned to out).
 
void anpcpp::copy_ratings_votes_into (const RatingsPrioritizer &src, RatingsPrioritizer &out)
 Copy votes from src into out, syncing mode/scale from src.
 
std::vector< std::vector< PairwiseCellDisagreement > > anpcpp::pairwise_disagreement (const std::vector< const PairwiseJudgments * > &inputs)
 Per upper-triangle cell max/min ratio across inputs.
 
std::vector< RatingsAltDisagreementanpcpp::ratings_disagreement (const std::vector< const RatingsPrioritizer * > &inputs, const std::vector< std::string > &alt_order={})
 Per-alternative intensity range across inputs.
 
JudgmentFillCounts anpcpp::pairwise_fill_counts (const PairwiseJudgments &pw)
 Count filled upper-triangle cells (comparison != 0) vs needed.
 
JudgmentFillCounts anpcpp::ratings_fill_counts (const RatingsPrioritizer &rt)
 Count present ratings votes vs number of alternatives.
 
double anpcpp::pairwise_alignment_pct (double min_v, double max_v)
 Pairwise alignment from min/max ratios.
 
double anpcpp::ratings_alignment_pct (double range, double full_scale)
 Ratings alignment from intensity range vs full_scale.
 
VoteSpreadSummary anpcpp::summarize_pairwise_votes (const std::vector< double > &values)
 Geometric mean / SD spread for positive pairwise ratios.
 
VoteSpreadSummary anpcpp::summarize_ratings_votes (const std::vector< double > &values, double full_scale=1.0)
 Arithmetic mean / SD spread for ratings intensities.
 

Variables

constexpr const char * anpcpp::kDefaultParticipantId = "default"
 Default participant id used when migrating single-user (v1) models.
 
constexpr double anpcpp::kPairwiseAlignmentSpanRatio = 81.0
 max/min span that maps to 0% alignment on the Saaty strip (9 รท 1/9).
 

Detailed Description

Multi-user judgment participants, groups, scope, and aggregation.