Skip to content

Releases: dasmig/interest-generator

v3.0.1

Choose a tag to compare

@dasmig dasmig released this 18 Oct 13:19
7d31f01

Uses the shared dasmig::sex and country helpers from dasmig-core 1.2.0 instead of private copies. Generated output is unchanged.

v3.0.0

Choose a tag to compare

@dasmig dasmig released this 18 Oct 06:11
3f6c89b

Breaking: the JSON key is country_code (was country), as in the other libraries.

v2.1.1

Choose a tag to compare

@dasmig dasmig released this 17 Oct 01:30
11847cd

Syncs dasmig-core 1.1.1. Output unchanged.

v2.1.0

Choose a tag to compare

@dasmig dasmig released this 16 Oct 22:24
3751a3f

What's Changed

  • feat: batch generation (2.1.0) by @dasmig in #5

Full Changelog: v2.0.1...v2.1.0

v2.0.1

Choose a tag to compare

@dasmig dasmig released this 16 Oct 21:53
91aaf0b

What's Changed

  • docs: put the MIT notice in every header by @dasmig in #2
  • bench: add benchmarks (make bench) and a CI report job by @dasmig in #3
  • perf: resolve affinity factors and build item tables at load (get_interest 27x faster) by @dasmig in #4

Full Changelog: v2.0.0...v2.0.1

v2.0.0

Choose a tag to compare

@dasmig dasmig released this 14 Oct 22:58

Makes a request the only way to call a getter.

Breaking

  • get_interest(const interest_request&) and get_interest(request, seed); get_interest({}) for a random country, unknown age and sex, three hobbies and two genres per medium.
  • The country-only, seed-only and no-argument overloads and instance seed()/unseed() are removed. Data loading and layers stay on the instance.

See the documentation for the request type and examples.

v1.0.0

Choose a tag to compare

@dasmig dasmig released this 13 Oct 00:29

First release. Religion by country, and hobbies and favourite film, game, book and music genres by sex, age and country, built on dasmig-core 1.0.0.

Added

  • dasmig::intg (dasmig/interestgen.hpp): get_interest(interest_request), with (request, seed) and shorthands for a country, a seed or neither. interest_request{country, age, person_sex, hobbies, media}; every field is optional.
  • interest: country_code, religion, religion_group, hobbies, films, games, books, music, to_json(), signature(), seed().
  • Five layered tables (religion, interests, affinity, age_bands, regions), extended with extend() / extend_from_string(table, ...); a directory layer applies to all its tables or none.
  • lite (195 countries, 104 hobbies and genres) and full (248 countries, 188 items) tiers; DASMIG_INTEREST_EMBED compiles lite in.
  • Known-answer tests identical on clang 18 (libc++), gcc 14 (x86-64 with FMA, ARM64), Apple clang (ARM64), MSVC and Emscripten.

Data: read before relying on it

  • Religion comes from the CIA World Factbook (public domain; frozen copy, the CIA closed it in Feb 2026). 13 countries' shares are rough estimates, not citations (basis = approximate; listed in doc/data.md).
  • Measured: the sex, age and country differences for 17 activity classes, from Eurostat time-use surveys (22 European countries, 2000 and 2010). They are applied worldwide.
  • Curated: the hobby and genre catalogue, base popularities, factors for children under 15, genre tastes by sex and age, regional tastes and religion factors. These are plausible generalisations, not fitted to data. Each factor row's basis says which.
  • US ATUS is not included (the Bureau of Labor Statistics blocks scripted downloads).

See Data and Method for every column's source and the model's limits.