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

1""" 

2DateSAT: A framework for symbolic analysis of date-based computations. 

3 

4This package provides implementations for expressing and solving date constraints using Z3. 

5""" 

6 

7from .api import DateSATBuilder 

8from .core import Date, Period 

9from .solver import solve, solve_from_json 

10 

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 

17 

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 

24 

25 

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]