creativity  v1.3.0
Agent-based model of creativity and piracy
Classes | Namespaces | Macros | Functions
simdata.hpp File Reference

Various routines for generating data from stored creativity results. More...

#include <string>
#include <functional>
#include <vector>
#include <algorithm>
#include <type_traits>
#include <eris/types.hpp>
#include <Eigen/Core>
Include dependency graph for simdata.hpp:

Go to the source code of this file.

Classes

struct  creativity::data::initial_datum
 Struct for holding a simulator parameter. More...
 
struct  creativity::data::datum
 Struct for holding a simulation data value calculator. More...
 

Namespaces

 creativity
 Primary namespace for all Creativity library code.
 
 creativity::state
 Namespace for all simulation state classes.
 
 creativity::data
 Namespace for classes related to generating and processing simulation data.
 

Macros

#define DIST_FNS(variable)
 Macro to generate mean, sd, and quantile functions for a given variable. More...
 

Functions

double creativity::data::book_market_periods (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Calculates the average market life of books written between from and to, in simulation periods. More...
 
double creativity::data::book_p0 (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Returns the average first-sale-period price of books written in the given period range. More...
 
double creativity::data::book_p1 (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Returns the average second-period price of books written in the given period range. More...
 
double creativity::data::book_p2 (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Returns the average third-period price of books. More...
 
double creativity::data::book_sales (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Average copies sold per book. More...
 
double creativity::data::book_revenue (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Average per-book revenue over the given period. More...
 
double creativity::data::book_gross_margin (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Average gross margin (i.e. More...
 
double creativity::data::book_profit (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Average profit (i.e. More...
 
double creativity::data::books_written_pc (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Average number of books written per 100 agents per period.
 
double creativity::data::books_bought (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Average number of books purchased per reader per period.
 
double creativity::data::books_pirated (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Average number of books pirated per reader per period. More...
 
double creativity::data::books_public_copies (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Average number of books obtained from the public provider per reader per period.
 
double creativity::data::reader_market_spending (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Average per-reader private market spending on books, averaged over the given period. More...
 
double creativity::data::reader_piracy_spending (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Average per-reader piracy cost expenditure for obtaining pirated copies of books, averaged over the given period.
 
double creativity::data::reader_public_spending (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Average per-reader public sharing expenditure for obtaining public provider copies of books, averaged over the given period. More...
 
double creativity::data::reader_spending (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Average per-reader expenditure for obtaining books from any source. More...
 
double creativity::data::reader_taxes (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Returns the average per-reader lump-sum taxes collected, averaged over the given period. More...
 
double creativity::data::reader_spending_total (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Average per-reader expenditure on books, including lump-sum taxes (e.g. More...
 
std::vector< initial_datum > creativity::data::initial_data_fields ()
 Average number of readers caught per 100 readers per period for piracy. More...
 
std::vector< datum > creativity::data::data_fields ()
 Returns a vector of all supported calculated datum values. More...
 
std::string creativity::data::csv_fix (std::string val)
 Takes a string, manipulates it into our simplified CSV-suitable value by replacing any special characters (such as commas, newline, etc.) with underscores.
 
double creativity::data::book_quality (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Distribution values (mean, standard deviation, min, max, quantiles) for quality of books written during the period range.
 
double creativity::data::book_quality_sd (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Distribution values (mean, standard deviation, min, max, quantiles) for quality of books written during the period range.
 
double creativity::data::book_quality_min (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Distribution values (mean, standard deviation, min, max, quantiles) for quality of books written during the period range.
 
double creativity::data::book_quality_5th (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Distribution values (mean, standard deviation, min, max, quantiles) for quality of books written during the period range.
 
double creativity::data::book_quality_10th (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Distribution values (mean, standard deviation, min, max, quantiles) for quality of books written during the period range.
 
double creativity::data::book_quality_25th (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Distribution values (mean, standard deviation, min, max, quantiles) for quality of books written during the period range.
 
double creativity::data::book_quality_median (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Distribution values (mean, standard deviation, min, max, quantiles) for quality of books written during the period range.
 
double creativity::data::book_quality_75th (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Distribution values (mean, standard deviation, min, max, quantiles) for quality of books written during the period range.
 
double creativity::data::book_quality_90th (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Distribution values (mean, standard deviation, min, max, quantiles) for quality of books written during the period range.
 
double creativity::data::book_quality_95th (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Distribution values (mean, standard deviation, min, max, quantiles) for quality of books written during the period range.
 
double creativity::data::book_quality_max (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Distribution values (mean, standard deviation, min, max, quantiles) for quality of books written during the period range.
 
double creativity::data::book_author_level (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Distribution values (mean, standard deviation, min, max, quantiles) for author creation scale of the author of each book created during the period range.
 
double creativity::data::book_author_level_sd (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Distribution values (mean, standard deviation, min, max, quantiles) for author creation scale of the author of each book created during the period range.
 
double creativity::data::book_author_level_min (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Distribution values (mean, standard deviation, min, max, quantiles) for author creation scale of the author of each book created during the period range.
 
double creativity::data::book_author_level_5th (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Distribution values (mean, standard deviation, min, max, quantiles) for author creation scale of the author of each book created during the period range.
 
double creativity::data::book_author_level_10th (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Distribution values (mean, standard deviation, min, max, quantiles) for author creation scale of the author of each book created during the period range.
 
double creativity::data::book_author_level_25th (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Distribution values (mean, standard deviation, min, max, quantiles) for author creation scale of the author of each book created during the period range.
 
double creativity::data::book_author_level_median (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Distribution values (mean, standard deviation, min, max, quantiles) for author creation scale of the author of each book created during the period range.
 
double creativity::data::book_author_level_75th (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Distribution values (mean, standard deviation, min, max, quantiles) for author creation scale of the author of each book created during the period range.
 
double creativity::data::book_author_level_90th (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Distribution values (mean, standard deviation, min, max, quantiles) for author creation scale of the author of each book created during the period range.
 
double creativity::data::book_author_level_95th (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Distribution values (mean, standard deviation, min, max, quantiles) for author creation scale of the author of each book created during the period range.
 
double creativity::data::book_author_level_max (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Distribution values (mean, standard deviation, min, max, quantiles) for author creation scale of the author of each book created during the period range.
 
double creativity::data::book_author_effort (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Distribution values (mean, standard deviation, min, max, quantiles) for author effort level of each book created during the period range.
 
double creativity::data::book_author_effort_sd (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Distribution values (mean, standard deviation, min, max, quantiles) for author effort level of each book created during the period range.
 
double creativity::data::book_author_effort_min (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Distribution values (mean, standard deviation, min, max, quantiles) for author effort level of each book created during the period range.
 
double creativity::data::book_author_effort_5th (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Distribution values (mean, standard deviation, min, max, quantiles) for author effort level of each book created during the period range.
 
double creativity::data::book_author_effort_10th (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Distribution values (mean, standard deviation, min, max, quantiles) for author effort level of each book created during the period range.
 
double creativity::data::book_author_effort_25th (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Distribution values (mean, standard deviation, min, max, quantiles) for author effort level of each book created during the period range.
 
double creativity::data::book_author_effort_median (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Distribution values (mean, standard deviation, min, max, quantiles) for author effort level of each book created during the period range.
 
double creativity::data::book_author_effort_75th (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Distribution values (mean, standard deviation, min, max, quantiles) for author effort level of each book created during the period range.
 
double creativity::data::book_author_effort_90th (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Distribution values (mean, standard deviation, min, max, quantiles) for author effort level of each book created during the period range.
 
double creativity::data::book_author_effort_95th (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Distribution values (mean, standard deviation, min, max, quantiles) for author effort level of each book created during the period range.
 
double creativity::data::book_author_effort_max (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Distribution values (mean, standard deviation, min, max, quantiles) for author effort level of each book created during the period range.
 
double creativity::data::net_u (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Distribution of reader net utility values over the period range. More...
 
double creativity::data::net_u_sd (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Distribution of reader net utility values over the period range. More...
 
double creativity::data::net_u_min (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Distribution of reader net utility values over the period range. More...
 
double creativity::data::net_u_5th (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Distribution of reader net utility values over the period range. More...
 
double creativity::data::net_u_10th (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Distribution of reader net utility values over the period range. More...
 
double creativity::data::net_u_25th (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Distribution of reader net utility values over the period range. More...
 
double creativity::data::net_u_median (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Distribution of reader net utility values over the period range. More...
 
double creativity::data::net_u_75th (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Distribution of reader net utility values over the period range. More...
 
double creativity::data::net_u_90th (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Distribution of reader net utility values over the period range. More...
 
double creativity::data::net_u_95th (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Distribution of reader net utility values over the period range. More...
 
double creativity::data::net_u_max (const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to)
 Distribution of reader net utility values over the period range. More...
 

Detailed Description

Various routines for generating data from stored creativity results.

Macro Definition Documentation

§ DIST_FNS

#define DIST_FNS (   variable)
Value:
double variable(const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to); \
double variable##_sd(const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to); \
double variable##_min(const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to); \
double variable##_5th(const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to); \
double variable##_10th(const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to); \
double variable##_25th(const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to); \
double variable##_median(const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to); \
double variable##_75th(const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to); \
double variable##_90th(const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to); \
double variable##_95th(const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to); \
double variable##_max(const state::Storage &cs, eris::eris_time_t from, eris::eris_time_t to);

Macro to generate mean, sd, and quantile functions for a given variable.