mathhook_core/
functions.rs

1//! Function Intelligence System
2//!
3//! This module implements the revolutionary universal function intelligence system
4//! that provides mathematical properties, high-performance evaluation, and
5//! educational explanations for ALL functions in MathHook.
6//!
7//! ## Architecture
8//!
9//! - **Single Function Representation**: All functions use `Expression::Function`
10//! - **Intelligence Registry**: O(1) property lookup for mathematical properties
11//! - **Performance Optimized**: Compliant with SIMD support
12//! - **Educational Integration**: Step-by-step explanations for all operations
13//!
14
15// Core function
16pub mod accuracy;
17pub mod education;
18pub mod evaluation;
19pub mod extensibility;
20pub mod intelligence;
21pub mod properties;
22pub mod traits;
23
24// Modular function
25pub mod elementary;
26pub mod number_theory;
27pub mod number_theory_eval;
28pub mod polynomials;
29pub mod special;
30
31pub use accuracy::{AccuracyVerifier, VerifiedConstant, VerifiedRelationship, ACCURACY_VERIFIER};
32pub use education::{FunctionEducator, StepGenerator};
33pub use evaluation::EvaluationResult;
34pub use extensibility::{
35    DefaultValidator, ExtensionError, ExtensionRegistry, FunctionFamilyExtension,
36    FunctionValidator, ValidationMetrics, ValidationResult,
37};
38pub use intelligence::UniversalFunctionRegistry;
39pub use properties::{
40    ElementaryProperties, FunctionProperties, PolynomialProperties, SpecialProperties,
41};
42pub use traits::{
43    CompatibilityInfo, CompleteFunctionIntelligence, ComplexityEstimate, EvaluationStrategy,
44    FunctionEducator as FunctionEducatorTrait, FunctionIntelligence, FunctionOptimizer,
45    IntelligenceConfig, IntelligenceFactory, IntelligenceReport, IssueSeverity, MetadataProvider,
46    PropertyValidator, Reference, ValidationIssue, ValidationLevel,
47    ValidationResult as TraitValidationResult, Version,
48};
49
50// Re-export modular intelligence systems
51pub use elementary::ElementaryIntelligence;
52pub use number_theory::NumberTheoryIntelligence;
53pub use polynomials::PolynomialIntelligence;
54pub use special::SpecialIntelligence;