Coverage for datesat / __init__.py: 100.0%
15 statements
« prev ^ index » next coverage.py v7.13.4, created at 2026-02-10 23:47 +0000
« prev ^ index » next coverage.py v7.13.4, created at 2026-02-10 23:47 +0000
1"""
2DateSAT: A framework for symbolic analysis of date-based computations.
4This package provides implementations for expressing and solving date constraints using Z3.
5"""
7from .api import DateSATBuilder
8from .core import Date, Period
9from .solver import solve, solve_from_json
11# Import bitvector implementations
12from .symbolic_bitvector.naive_bv import NaiveSolver as BitVectorNaiveSolver
13from .symbolic_bitvector.epoch_days_bv import EpochDaysSolver as BitVectorEpochDaysSolver
14from .symbolic_bitvector.hybrid_bv import HybridSolver as BitVectorHybridSolver
15from .symbolic_bitvector.alpha_beta_bv import AlphaBetaSolver as BitVectorAlphaBetaSolver
16from .symbolic_bitvector.alpha_beta_table_bv import AlphaBetaTableSolver as BitVectorAlphaBetaTableSolver
18# Import integer implementations
19from .symbolic_int.naive_int import NaiveSolver as IntNaiveSolver
20from .symbolic_int.epoch_days_int import EpochDaysSolver as IntEpochDaysSolver
21from .symbolic_int.hybrid_int import HybridSolver as IntHybridSolver
22from .symbolic_int.alpha_beta_int import AlphaBetaSolver as IntAlphaBetaSolver
23from .symbolic_int.alpha_beta_table_int import AlphaBetaTableSolver as IntAlphaBetaTableSolver
26__version__ = "0.1.0"
27__all__ = [
28 "Date",
29 "Period",
30 "DateSATBuilder",
31 # High-level API
32 "solve",
33 "solve_from_json",
34 # Bitvector implementations
35 "BitVectorNaiveSolver",
36 "BitVectorEpochDaysSolver",
37 "BitVectorHybridSolver",
38 "BitVectorAlphaBetaSolver",
39 "BitVectorAlphaBetaTableSolver",
40 # Integer implementations
41 "IntNaiveSolver",
42 "IntEpochDaysSolver",
43 "IntHybridSolver",
44 "IntAlphaBetaSolver",
45 "IntAlphaBetaTableSolver",
46]