1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
//! # Bodh — Psychology Engine
//!
//! **बोध** (Sanskrit: awareness, understanding)
//!
//! A Rust library for computational psychology: cognition, perception,
//! learning, decision-making, psychometrics, and psychophysics.
//!
//! ## Modules
//!
//! - [`psychophysics`] — Weber-Fechner, Stevens' power law, Fitts' law, Hick's law
//! - [`cognition`] — Working memory, dual process theory, cognitive load
//! - [`learning`] — Ebbinghaus forgetting curve, spaced repetition, conditioning
//! - [`decision`] — Prospect theory, expected utility, bounded rationality
//! - [`perception`] — Signal detection theory (d'), Gestalt principles
//! - [`psychometrics`] — Cronbach's alpha, reliability, Big Five measurement
//! - [`development`] — Piaget stages, Erikson stages
//! - [`emotion`] — Russell circumplex, Ekman basic emotions, appraisal, regulation
//! - [`memory`] — ACT-R base-level activation, spreading activation, retrieval
//! - [`bayesian`] — Bayes' theorem, belief updating, base rate neglect
//! - [`social`] — Asch conformity, social impact, attribution, comparison
//! - [`motivation`] — Self-determination theory, expectancy-value, flow state
//! - [`attention`] — Posner cueing, feature integration, attentional blink
//! - [`irt`] — Item Response Theory (1PL/2PL/3PL), information functions
//! - [`stress`] — Transactional stress model, coping, stress-performance
//! - [`bridge`] — Cross-crate bridges for pramana statistics integration
//!
//! ## Example
//!
//! ```
//! use bodh::psychophysics;
//!
//! // Fitts' law: index of difficulty for a mouse target
//! let id = psychophysics::fitts_law(256.0, 4.0).unwrap();
//! assert!((id - 7.0).abs() < 1e-10); // 7 bits
//!
//! // Ebbinghaus forgetting curve
//! let retention = bodh::learning::ebbinghaus_forgetting(0.0, 1.0).unwrap();
//! assert!((retention - 1.0).abs() < 1e-10); // perfect at t=0
//! ```
pub use BodhError;