python-sat 1.8.dev30__cp313-cp313-win_amd64.whl → 1.9.dev2__cp313-cp313-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (24) hide show
  1. pycard.cp313-win_amd64.pyd +0 -0
  2. pysat/__init__.py +1 -1
  3. pysat/solvers.py +354 -1
  4. pysolvers.cp313-win_amd64.pyd +0 -0
  5. {python_sat-1.8.dev30.dist-info → python_sat-1.9.dev2.dist-info}/METADATA +1 -1
  6. python_sat-1.9.dev2.dist-info/RECORD +49 -0
  7. {python_sat-1.8.dev30.dist-info → python_sat-1.9.dev2.dist-info}/WHEEL +1 -1
  8. python_sat-1.8.dev30.dist-info/RECORD +0 -49
  9. {python_sat-1.8.dev30.data → python_sat-1.9.dev2.data}/scripts/approxmc.py +0 -0
  10. {python_sat-1.8.dev30.data → python_sat-1.9.dev2.data}/scripts/bbscan.py +0 -0
  11. {python_sat-1.8.dev30.data → python_sat-1.9.dev2.data}/scripts/bica.py +0 -0
  12. {python_sat-1.8.dev30.data → python_sat-1.9.dev2.data}/scripts/fm.py +0 -0
  13. {python_sat-1.8.dev30.data → python_sat-1.9.dev2.data}/scripts/genhard.py +0 -0
  14. {python_sat-1.8.dev30.data → python_sat-1.9.dev2.data}/scripts/lbx.py +0 -0
  15. {python_sat-1.8.dev30.data → python_sat-1.9.dev2.data}/scripts/lsu.py +0 -0
  16. {python_sat-1.8.dev30.data → python_sat-1.9.dev2.data}/scripts/mcsls.py +0 -0
  17. {python_sat-1.8.dev30.data → python_sat-1.9.dev2.data}/scripts/models.py +0 -0
  18. {python_sat-1.8.dev30.data → python_sat-1.9.dev2.data}/scripts/musx.py +0 -0
  19. {python_sat-1.8.dev30.data → python_sat-1.9.dev2.data}/scripts/optux.py +0 -0
  20. {python_sat-1.8.dev30.data → python_sat-1.9.dev2.data}/scripts/primer.py +0 -0
  21. {python_sat-1.8.dev30.data → python_sat-1.9.dev2.data}/scripts/rc2.py +0 -0
  22. {python_sat-1.8.dev30.data → python_sat-1.9.dev2.data}/scripts/unigen.py +0 -0
  23. {python_sat-1.8.dev30.dist-info → python_sat-1.9.dev2.dist-info}/licenses/LICENSE.txt +0 -0
  24. {python_sat-1.8.dev30.dist-info → python_sat-1.9.dev2.dist-info}/top_level.txt +0 -0
Binary file
pysat/__init__.py CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
  # current version
12
12
  #==============================================================================
13
- VERSION = (1, 8, 'dev', 30)
13
+ VERSION = (1, 9, 'dev', 2)
14
14
 
15
15
 
16
16
  # PEP440 Format
pysat/solvers.py CHANGED
@@ -246,6 +246,7 @@ class SolverNames(object):
246
246
  glucose3 = ('g3', 'g30', 'glucose3', 'glucose30')
247
247
  glucose4 = ('g4', 'g41', 'glucose4', 'glucose41')
248
248
  glucose42 = ('g42', 'g421', 'glucose42', 'glucose421')
249
+ kissat404 = ('ks', 'ks4', 'kissat', 'kissat4', 'kissat404')
249
250
  lingeling = ('lgl', 'lingeling')
250
251
  maplechrono = ('mcb', 'chrono', 'chronobt', 'maplechrono')
251
252
  maplecm = ('mcm', 'maplecm')
@@ -429,6 +430,8 @@ class Solver(object):
429
430
  self.solver = Glucose4(bootstrap_with, use_timer, **kwargs)
430
431
  elif name_ in SolverNames.glucose42:
431
432
  self.solver = Glucose42(bootstrap_with, use_timer, **kwargs)
433
+ elif name_ in SolverNames.kissat404:
434
+ self.solver = Kissat404(bootstrap_with, use_timer, **kwargs)
432
435
  elif name_ in SolverNames.lingeling:
433
436
  self.solver = Lingeling(bootstrap_with, use_timer, **kwargs)
434
437
  elif name_ in SolverNames.maplechrono:
@@ -7387,7 +7390,7 @@ class CryptoMinisat(object):
7387
7390
 
7388
7391
  self.status, self.model = self.cryptosat.solve(assumptions,
7389
7392
  time_limit=self.time_limit,
7390
- conf_limit=self.conf_limit)
7393
+ confl_limit=self.conf_limit)
7391
7394
 
7392
7395
  # limit values must be reset again for each new limited call
7393
7396
  self.time_limit = None
@@ -7589,3 +7592,353 @@ class CryptoMinisat(object):
7589
7592
  """
7590
7593
 
7591
7594
  return False
7595
+
7596
+
7597
+ #
7598
+ #==============================================================================
7599
+ class Kissat404(object):
7600
+ """
7601
+ Kissat 4.0.4 SAT solver.
7602
+
7603
+ Kissat is a non-incremental SAT solver, winner of the SAT Competition
7604
+ 2024. It does not support assumption-based solving or unsatisfiable
7605
+ core extraction. However, it supports conflict and decision limits
7606
+ for limited solving.
7607
+
7608
+ Note that Kissat is a **non-incremental** solver. This means:
7609
+
7610
+ - Assumptions are NOT supported (solve() ignores assumptions parameter)
7611
+ - Unsatisfiable core extraction is NOT available
7612
+ - Once solved, the solver state cannot be reused for incremental calls
7613
+
7614
+ :param bootstrap_with: a list of clauses for solver initialization.
7615
+ :param use_timer: whether or not to measure SAT solving time.
7616
+
7617
+ :type bootstrap_with: iterable(iterable(int))
7618
+ :type use_timer: bool
7619
+
7620
+ Usage example:
7621
+
7622
+ .. code-block:: python
7623
+
7624
+ >>> from pysat.solvers import Kissat404
7625
+ >>>
7626
+ >>> with Kissat404(bootstrap_with=[[-1, 2], [-2, 3]]) as ks:
7627
+ ... ks.solve()
7628
+ True
7629
+ ... print(ks.get_model())
7630
+ [-1, -2, -3]
7631
+ """
7632
+
7633
+ def __init__(self, bootstrap_with=None, use_timer=False, incr=False,
7634
+ with_proof=False, warm_start=False):
7635
+ """
7636
+ Basic constructor.
7637
+ """
7638
+
7639
+ if incr:
7640
+ raise NotImplementedError('Incremental mode is not supported by Kissat.')
7641
+
7642
+ if warm_start:
7643
+ raise NotImplementedError('Warm-start mode is not supported by Kissat.')
7644
+
7645
+ if with_proof:
7646
+ raise NotImplementedError('Proof logging is not supported by Kissat in PySAT.')
7647
+
7648
+ self.kissat = None
7649
+ self.status = None
7650
+
7651
+ self.new(bootstrap_with, use_timer)
7652
+
7653
+ def __del__(self):
7654
+ """
7655
+ Standard destructor.
7656
+ """
7657
+
7658
+ self.delete()
7659
+
7660
+ def __enter__(self):
7661
+ """
7662
+ 'with' constructor.
7663
+ """
7664
+
7665
+ return self
7666
+
7667
+ def __exit__(self, exc_type, exc_value, traceback):
7668
+ """
7669
+ 'with' destructor.
7670
+ """
7671
+
7672
+ self.delete()
7673
+
7674
+ def new(self, bootstrap_with=None, use_timer=False):
7675
+ """
7676
+ Actual constructor of the solver.
7677
+ """
7678
+
7679
+ if not self.kissat:
7680
+ self.kissat = pysolvers.kissat404_new()
7681
+
7682
+ if bootstrap_with:
7683
+ if type(bootstrap_with) == CNFPlus and bootstrap_with.atmosts:
7684
+ raise NotImplementedError('Atmost constraints are not supported by Kissat')
7685
+
7686
+ for clause in bootstrap_with:
7687
+ self.add_clause(clause)
7688
+
7689
+ self.use_timer = use_timer
7690
+ self.call_time = 0.0 # time spent for the last call to oracle
7691
+ self.accu_time = 0.0 # time accumulated for all calls to oracle
7692
+
7693
+ def delete(self):
7694
+ """
7695
+ Destructor.
7696
+ """
7697
+
7698
+ if self.kissat:
7699
+ pysolvers.kissat404_del(self.kissat)
7700
+ self.kissat = None
7701
+
7702
+ def solve(self, assumptions=[]):
7703
+ """
7704
+ Solve internal formula.
7705
+
7706
+ Note: Kissat does NOT support assumption-based solving.
7707
+ The assumptions parameter is ignored. If you need incremental
7708
+ solving with assumptions, use a different solver like CaDiCaL or Glucose.
7709
+ """
7710
+
7711
+ if self.kissat:
7712
+ if assumptions:
7713
+ import warnings
7714
+ warnings.warn('Kissat does not support assumptions. '
7715
+ 'The assumptions parameter will be ignored.',
7716
+ RuntimeWarning)
7717
+
7718
+ if self.use_timer:
7719
+ start_time = process_time()
7720
+
7721
+ self.status = pysolvers.kissat404_solve(self.kissat, int(MainThread.check()))
7722
+
7723
+ if self.use_timer:
7724
+ self.call_time = process_time() - start_time
7725
+ self.accu_time += self.call_time
7726
+
7727
+ return self.status
7728
+
7729
+ def solve_limited(self, assumptions=[], expect_interrupt=False):
7730
+ """
7731
+ Solve internal formula using given budgets for conflicts and
7732
+ decisions.
7733
+
7734
+ Note: Kissat does NOT support assumption-based solving.
7735
+ The assumptions parameter is ignored.
7736
+ """
7737
+
7738
+ if self.kissat:
7739
+ if assumptions:
7740
+ import warnings
7741
+ warnings.warn('Kissat does not support assumptions. '
7742
+ 'The assumptions parameter will be ignored.',
7743
+ RuntimeWarning)
7744
+
7745
+ if self.use_timer:
7746
+ start_time = process_time()
7747
+
7748
+ self.status = pysolvers.kissat404_solve_lim(self.kissat, int(MainThread.check()))
7749
+
7750
+ self.status = None if self.status == 0 else bool((self.status + 1) / 2)
7751
+
7752
+ if self.use_timer:
7753
+ self.call_time = process_time() - start_time
7754
+ self.accu_time += self.call_time
7755
+
7756
+ return self.status
7757
+
7758
+ def conf_budget(self, budget):
7759
+ """
7760
+ Set limit on the number of conflicts.
7761
+ """
7762
+
7763
+ if self.kissat:
7764
+ pysolvers.kissat404_cbudget(self.kissat, budget)
7765
+
7766
+ def dec_budget(self, budget):
7767
+ """
7768
+ Set limit on the number of decisions.
7769
+ """
7770
+
7771
+ if self.kissat:
7772
+ pysolvers.kissat404_dbudget(self.kissat, budget)
7773
+
7774
+ def start_mode(self, warm=False):
7775
+ """
7776
+ Set start mode: either warm or standard.
7777
+ """
7778
+
7779
+ raise NotImplementedError('Warm-start mode is not supported by Kissat.')
7780
+
7781
+ def prop_budget(self, budget):
7782
+ """
7783
+ Set limit on the number of propagations.
7784
+ """
7785
+
7786
+ raise NotImplementedError('Propagation budget is not supported by Kissat.')
7787
+
7788
+ def interrupt(self):
7789
+ """
7790
+ Interrupt solver execution.
7791
+ """
7792
+
7793
+ raise NotImplementedError('Interrupt is not supported by Kissat in PySAT.')
7794
+
7795
+ def clear_interrupt(self):
7796
+ """
7797
+ Clears an interruption.
7798
+ """
7799
+
7800
+ raise NotImplementedError('Interrupt is not supported by Kissat in PySAT.')
7801
+
7802
+ def propagate(self, assumptions=[], phase_saving=0):
7803
+ """
7804
+ Propagate a given set of assumption literals.
7805
+ """
7806
+
7807
+ raise NotImplementedError('Propagation is not supported by Kissat.')
7808
+
7809
+ def set_phases(self, literals=[]):
7810
+ """
7811
+ Sets polarities of a given list of variables.
7812
+ """
7813
+
7814
+ raise NotImplementedError('Setting phases is not supported by Kissat in PySAT.')
7815
+
7816
+ def get_status(self):
7817
+ """
7818
+ Returns solver's status.
7819
+ """
7820
+
7821
+ if self.kissat:
7822
+ return self.status
7823
+
7824
+ def get_model(self):
7825
+ """
7826
+ Get a model if the formula was previously satisfied.
7827
+ """
7828
+
7829
+ if self.kissat and self.status == True:
7830
+ model = pysolvers.kissat404_model(self.kissat)
7831
+ return model if model != None else []
7832
+
7833
+ def get_core(self):
7834
+ """
7835
+ Get an unsatisfiable core if the formula was previously
7836
+ unsatisfied.
7837
+
7838
+ Note: Kissat does NOT support UNSAT core extraction because
7839
+ it does not support assumption-based solving.
7840
+ """
7841
+
7842
+ raise NotImplementedError('UNSAT core extraction is not supported by Kissat.')
7843
+
7844
+ def get_proof(self):
7845
+ """
7846
+ Get a proof produced when deciding the formula.
7847
+ """
7848
+
7849
+ raise NotImplementedError('Proof logging is not supported by Kissat in PySAT.')
7850
+
7851
+ def time(self):
7852
+ """
7853
+ Get time spent for the last call to oracle.
7854
+ """
7855
+
7856
+ if self.kissat:
7857
+ return self.call_time
7858
+
7859
+ def time_accum(self):
7860
+ """
7861
+ Get time accumulated for all calls to oracle.
7862
+ """
7863
+
7864
+ if self.kissat:
7865
+ return self.accu_time
7866
+
7867
+ def nof_vars(self):
7868
+ """
7869
+ Get number of variables currently used by the solver.
7870
+ """
7871
+
7872
+ if self.kissat:
7873
+ return pysolvers.kissat404_nof_vars(self.kissat)
7874
+
7875
+ def nof_clauses(self):
7876
+ """
7877
+ Get number of clauses currently used by the solver.
7878
+ """
7879
+
7880
+ raise NotImplementedError('Number of clauses query is not supported by Kissat.')
7881
+
7882
+ def accum_stats(self):
7883
+ """
7884
+ Get accumulated low-level stats from the solver.
7885
+ """
7886
+
7887
+ raise NotImplementedError('Statistics are not exposed by Kissat in PySAT.')
7888
+
7889
+ def enum_models(self, assumptions=[]):
7890
+ """
7891
+ Iterate over models of the internal formula.
7892
+
7893
+ Note: Kissat is a non-incremental solver and does NOT support
7894
+ model enumeration. Clauses cannot be added after solve() is called.
7895
+ Use an incremental solver like CaDiCaL or Glucose for model enumeration.
7896
+ """
7897
+
7898
+ raise NotImplementedError('Model enumeration is not supported by Kissat. '
7899
+ 'Kissat is non-incremental and cannot add blocking clauses after solve().')
7900
+
7901
+ def add_clause(self, clause, no_return=True):
7902
+ """
7903
+ Add a new clause to solver's internal formula.
7904
+
7905
+ WARNING: Kissat is non-incremental. You cannot add clauses after
7906
+ calling solve(). Doing so will cause undefined behavior.
7907
+ """
7908
+
7909
+ if self.kissat:
7910
+ pysolvers.kissat404_add_cl(self.kissat, clause)
7911
+
7912
+ def add_atmost(self, lits, k, weights=[], no_return=True):
7913
+ """
7914
+ Atmost constraints are not supported by Kissat.
7915
+ """
7916
+
7917
+ raise NotImplementedError('Atmost constraints are not supported by Kissat.')
7918
+
7919
+ def add_xor_clause(self, lits, value=True):
7920
+ """
7921
+ Add a new XOR clause to solver's internal formula. Not supported.
7922
+ """
7923
+
7924
+ raise NotImplementedError('XOR clauses are not supported by Kissat.')
7925
+
7926
+ def append_formula(self, formula, no_return=True):
7927
+ """
7928
+ Appends list of clauses to solver's internal formula.
7929
+ """
7930
+
7931
+ if self.kissat:
7932
+ if type(formula) == CNFPlus and formula.atmosts:
7933
+ raise NotImplementedError('Atmost constraints are not supported by Kissat')
7934
+
7935
+ for clause in formula:
7936
+ self.add_clause(clause)
7937
+
7938
+ def supports_atmost(self):
7939
+ """
7940
+ This method can be called to determine whether the solver supports
7941
+ native AtMostK (see :mod:`pysat.card`) constraints.
7942
+ """
7943
+
7944
+ return False
Binary file
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-sat
3
- Version: 1.8.dev30
3
+ Version: 1.9.dev2
4
4
  Summary: A Python library for prototyping with SAT oracles
5
5
  Home-page: https://github.com/pysathq/pysat
6
6
  Author: Alexey Ignatiev, Joao Marques-Silva, Antonio Morgado
@@ -0,0 +1,49 @@
1
+ pycard.cp313-win_amd64.pyd,sha256=70mWHJlKAotKMkQ2Emci0nG2a7HZ0CSNZluHzrdt1ZI,69632
2
+ pysolvers.cp313-win_amd64.pyd,sha256=3n8ssGO6zz7Q4QarTple9k6u0zSIQKoMH2lCES0-8y4,2532864
3
+ pysat/__init__.py,sha256=4FViEWslIy95kCIKPW59Etpyr_EvTnJUIWK7bWlqvZM,680
4
+ pysat/_fileio.py,sha256=cmrqvhPXxC87lpvLlFDG7EWpusQOaqCGPMDfWhqT6dg,6373
5
+ pysat/_utils.py,sha256=4cv40p70FKvjCTKq8GqzS_jlxF74cp_lojTZSim_qJE,1340
6
+ pysat/card.py,sha256=rav3_t_mCzbLw8SAdXcOh-PNbFtaATVSAJzpbygqiQ4,30066
7
+ pysat/engines.py,sha256=PzcZJ4zFXDHfcSSHF7iPadtrwSVEt4t9B_cO5epwTZk,45182
8
+ pysat/formula.py,sha256=eMa4LDzWG-8Tg4xNivjcHdcRW4Ku7RumIoB9Jr-sVSs,207193
9
+ pysat/integer.py,sha256=aSWPlE7t-3fP1bSj-qSNoUr1RmQgkBtv1g3KqTRhi8o,68408
10
+ pysat/pb.py,sha256=DMy8UfbbpfJo5cTZul9W1o_mlr-B0lCIEseZjrQYd8A,17816
11
+ pysat/process.py,sha256=8lNbpEKipFZjbQ9DCJPfdL8eZHx-ltNuu7h4geWWdJY,12739
12
+ pysat/solvers.py,sha256=jglSeCD_sfE-QxeSKVhO4ZNMMyAY10Q8D2q7ARMTLIQ,240692
13
+ pysat/allies/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
+ pysat/allies/approxmc.py,sha256=LtUss6PiqmgvFwLTe4KUHmhavdzlotRii2UUOSb9gTU,13586
15
+ pysat/allies/unigen.py,sha256=qOGc_WwcIi-AgFSJDBhhY2n6Q6UeYVMpMPuem4-Vf6c,16718
16
+ pysat/examples/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
+ pysat/examples/bbscan.py,sha256=E4Y5j3Llr0-jIn-RDZIk-f02Sbujg4wX7uysoiFRnLg,22046
18
+ pysat/examples/bica.py,sha256=OGcGQGQnMepCCurwRbygokFgoDkI7eBhjmsYvr3FM1M,27098
19
+ pysat/examples/fm.py,sha256=e_s6wNBstEeoMw9zYyyDRgkE-Hqa902Iy_CxCS961CE,18136
20
+ pysat/examples/genhard.py,sha256=DFXtSVQ4qn78y0-ZMr2D6gBCLizZSzgkvcbDsjqjnKI,19017
21
+ pysat/examples/hitman.py,sha256=vHJEeSfoMQlDD3D3Poofaryv-k_dMH37XoqVXJUUuUg,26360
22
+ pysat/examples/lbx.py,sha256=InMjqY-9UvWKznIXOEwfBsM4spfkduDld6gUkr1jCqo,23249
23
+ pysat/examples/lsu.py,sha256=qyN2TvXG61EtMy-IrX5EYmLPM_iNOhtOkGTY5nHO_zo,16198
24
+ pysat/examples/mcsls.py,sha256=bP47P56OOP_uy0MuFA7TGxMdkAis7gX4E9AEEI0tSec,22093
25
+ pysat/examples/models.py,sha256=cdIR8iOrYu2ibqfcb_kEKXQMCfmFiz7cvZ3y1dur3Qw,5741
26
+ pysat/examples/musx.py,sha256=hswVGkjm95lhOyrtl1e4ouDyNSy-hWvQ05084Xnck9I,10946
27
+ pysat/examples/optux.py,sha256=8eYHO_uhL_4ugb-hRv2s6cnOwTurfqkpbdnK9T4iDtw,27697
28
+ pysat/examples/primer.py,sha256=0OeV9R6mWyIr2BKIitkrfgY3q2XE-sV1ZLSiybGRFXw,23375
29
+ pysat/examples/rc2.py,sha256=QjN-LbLWNnDwSyZKn10_INniPpIK8dv_0BGPZzbXxa8,75763
30
+ pysat/examples/usage.py,sha256=x9luw6pyKAAndlxAeUWFhS4aLSVmD2t_j_5uA9YddHg,2183
31
+ python_sat-1.9.dev2.data/scripts/approxmc.py,sha256=h6aMnSpIaYXkTMq-tCSzNWwKb0AG-vTH4vuLWGn5Q4s,13958
32
+ python_sat-1.9.dev2.data/scripts/bbscan.py,sha256=xGxklG6Gc_UBaM8QvEJDOtQhEamxAncfsd65E-0JcAc,22696
33
+ python_sat-1.9.dev2.data/scripts/bica.py,sha256=q6fQGsFp1EaaYRZGBsDFOIJPVScr5k42XFskBzW69mA,27776
34
+ python_sat-1.9.dev2.data/scripts/fm.py,sha256=ek1QDsuxiq1zm1PBLbrSXXEE89RP9_DYwVNnyB3eO4s,18650
35
+ python_sat-1.9.dev2.data/scripts/genhard.py,sha256=YswufT272W4xTJrSBlOC2ucJx4RK4ntfRv73rASrx30,19520
36
+ python_sat-1.9.dev2.data/scripts/lbx.py,sha256=rCQ6zH_DXoVjBrzhZHSDJMfP92-hz2JVwh6e4m44AUc,23874
37
+ python_sat-1.9.dev2.data/scripts/lsu.py,sha256=cAATg2x0Cu1LC8KszMctHqywjq7pygkb9vWNBrbUEZs,16681
38
+ python_sat-1.9.dev2.data/scripts/mcsls.py,sha256=cTJQMIO-4iho412wG0JhvhqXWy81U0RQV8wwOgkri3Q,22690
39
+ python_sat-1.9.dev2.data/scripts/models.py,sha256=UmMmklExzyXAIhh-0i038nQb7hTK6CbdV1M6m2GxxSI,5917
40
+ python_sat-1.9.dev2.data/scripts/musx.py,sha256=LwK10YuQ8pIf1TJwp0HKp54O0hdk8zBy3TIfGsF1yW0,11277
41
+ python_sat-1.9.dev2.data/scripts/optux.py,sha256=t20YBZH4_axTkRMapq-DL-fq-9tBybPWo0pkhIyGhDw,28394
42
+ python_sat-1.9.dev2.data/scripts/primer.py,sha256=iE9Vy0XyeySIY-7-L_VMwRahsIVCEmm9k04OhLwDvuw,23982
43
+ python_sat-1.9.dev2.data/scripts/rc2.py,sha256=yFieB6_5sYLLfIRo6Al9DXt3V5Y-qIUYH5E89xoaLN4,77749
44
+ python_sat-1.9.dev2.data/scripts/unigen.py,sha256=e-HC2UxWA8MTN90VslkHX1ZlTPjdhI4etzkn6G8YAX4,17140
45
+ python_sat-1.9.dev2.dist-info/licenses/LICENSE.txt,sha256=6QMvEzxqdPXEoiAZUBaZLeLF4hW2S81fjKz_THER0uQ,1109
46
+ python_sat-1.9.dev2.dist-info/METADATA,sha256=y-WoRAl4BnIbEBdwmKEp2akRrJEIbCTZvzsPKQ1Uh0w,1783
47
+ python_sat-1.9.dev2.dist-info/WHEEL,sha256=Xr-hSQu17ZxKorLWItir4Mz0GplQpPFz9u2i9sztbpM,101
48
+ python_sat-1.9.dev2.dist-info/top_level.txt,sha256=fgEEGhMLivlF1ExCX8Y3niWsr4pDPRb5HdaWjNtabFI,23
49
+ python_sat-1.9.dev2.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.10.2)
2
+ Generator: setuptools (82.0.0)
3
3
  Root-Is-Purelib: false
4
4
  Tag: cp313-cp313-win_amd64
5
5
 
@@ -1,49 +0,0 @@
1
- pycard.cp313-win_amd64.pyd,sha256=Ium9bf2cnCb5T415FxCoSjfFEJja2fnFg4KZ7Gwtu0s,69632
2
- pysolvers.cp313-win_amd64.pyd,sha256=74-wWkPjHk8mkVJ8TJPZ3hzMmMaN6yler43J2jJIegU,2232320
3
- pysat/__init__.py,sha256=g5sNbIxu3NQHKEfmF83NBULSybCzIEuGGdoPrQyxMjs,681
4
- pysat/_fileio.py,sha256=cmrqvhPXxC87lpvLlFDG7EWpusQOaqCGPMDfWhqT6dg,6373
5
- pysat/_utils.py,sha256=4cv40p70FKvjCTKq8GqzS_jlxF74cp_lojTZSim_qJE,1340
6
- pysat/card.py,sha256=rav3_t_mCzbLw8SAdXcOh-PNbFtaATVSAJzpbygqiQ4,30066
7
- pysat/engines.py,sha256=PzcZJ4zFXDHfcSSHF7iPadtrwSVEt4t9B_cO5epwTZk,45182
8
- pysat/formula.py,sha256=eMa4LDzWG-8Tg4xNivjcHdcRW4Ku7RumIoB9Jr-sVSs,207193
9
- pysat/integer.py,sha256=aSWPlE7t-3fP1bSj-qSNoUr1RmQgkBtv1g3KqTRhi8o,68408
10
- pysat/pb.py,sha256=DMy8UfbbpfJo5cTZul9W1o_mlr-B0lCIEseZjrQYd8A,17816
11
- pysat/process.py,sha256=8lNbpEKipFZjbQ9DCJPfdL8eZHx-ltNuu7h4geWWdJY,12739
12
- pysat/solvers.py,sha256=00Y6yKNXvJOLA7l4aIDgueFbNM9lt3PkmT2OxB43aQ8,229975
13
- pysat/allies/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
- pysat/allies/approxmc.py,sha256=LtUss6PiqmgvFwLTe4KUHmhavdzlotRii2UUOSb9gTU,13586
15
- pysat/allies/unigen.py,sha256=qOGc_WwcIi-AgFSJDBhhY2n6Q6UeYVMpMPuem4-Vf6c,16718
16
- pysat/examples/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
- pysat/examples/bbscan.py,sha256=E4Y5j3Llr0-jIn-RDZIk-f02Sbujg4wX7uysoiFRnLg,22046
18
- pysat/examples/bica.py,sha256=OGcGQGQnMepCCurwRbygokFgoDkI7eBhjmsYvr3FM1M,27098
19
- pysat/examples/fm.py,sha256=e_s6wNBstEeoMw9zYyyDRgkE-Hqa902Iy_CxCS961CE,18136
20
- pysat/examples/genhard.py,sha256=DFXtSVQ4qn78y0-ZMr2D6gBCLizZSzgkvcbDsjqjnKI,19017
21
- pysat/examples/hitman.py,sha256=vHJEeSfoMQlDD3D3Poofaryv-k_dMH37XoqVXJUUuUg,26360
22
- pysat/examples/lbx.py,sha256=InMjqY-9UvWKznIXOEwfBsM4spfkduDld6gUkr1jCqo,23249
23
- pysat/examples/lsu.py,sha256=qyN2TvXG61EtMy-IrX5EYmLPM_iNOhtOkGTY5nHO_zo,16198
24
- pysat/examples/mcsls.py,sha256=bP47P56OOP_uy0MuFA7TGxMdkAis7gX4E9AEEI0tSec,22093
25
- pysat/examples/models.py,sha256=cdIR8iOrYu2ibqfcb_kEKXQMCfmFiz7cvZ3y1dur3Qw,5741
26
- pysat/examples/musx.py,sha256=hswVGkjm95lhOyrtl1e4ouDyNSy-hWvQ05084Xnck9I,10946
27
- pysat/examples/optux.py,sha256=8eYHO_uhL_4ugb-hRv2s6cnOwTurfqkpbdnK9T4iDtw,27697
28
- pysat/examples/primer.py,sha256=0OeV9R6mWyIr2BKIitkrfgY3q2XE-sV1ZLSiybGRFXw,23375
29
- pysat/examples/rc2.py,sha256=QjN-LbLWNnDwSyZKn10_INniPpIK8dv_0BGPZzbXxa8,75763
30
- pysat/examples/usage.py,sha256=x9luw6pyKAAndlxAeUWFhS4aLSVmD2t_j_5uA9YddHg,2183
31
- python_sat-1.8.dev30.data/scripts/approxmc.py,sha256=h6aMnSpIaYXkTMq-tCSzNWwKb0AG-vTH4vuLWGn5Q4s,13958
32
- python_sat-1.8.dev30.data/scripts/bbscan.py,sha256=xGxklG6Gc_UBaM8QvEJDOtQhEamxAncfsd65E-0JcAc,22696
33
- python_sat-1.8.dev30.data/scripts/bica.py,sha256=q6fQGsFp1EaaYRZGBsDFOIJPVScr5k42XFskBzW69mA,27776
34
- python_sat-1.8.dev30.data/scripts/fm.py,sha256=ek1QDsuxiq1zm1PBLbrSXXEE89RP9_DYwVNnyB3eO4s,18650
35
- python_sat-1.8.dev30.data/scripts/genhard.py,sha256=YswufT272W4xTJrSBlOC2ucJx4RK4ntfRv73rASrx30,19520
36
- python_sat-1.8.dev30.data/scripts/lbx.py,sha256=rCQ6zH_DXoVjBrzhZHSDJMfP92-hz2JVwh6e4m44AUc,23874
37
- python_sat-1.8.dev30.data/scripts/lsu.py,sha256=cAATg2x0Cu1LC8KszMctHqywjq7pygkb9vWNBrbUEZs,16681
38
- python_sat-1.8.dev30.data/scripts/mcsls.py,sha256=cTJQMIO-4iho412wG0JhvhqXWy81U0RQV8wwOgkri3Q,22690
39
- python_sat-1.8.dev30.data/scripts/models.py,sha256=UmMmklExzyXAIhh-0i038nQb7hTK6CbdV1M6m2GxxSI,5917
40
- python_sat-1.8.dev30.data/scripts/musx.py,sha256=LwK10YuQ8pIf1TJwp0HKp54O0hdk8zBy3TIfGsF1yW0,11277
41
- python_sat-1.8.dev30.data/scripts/optux.py,sha256=t20YBZH4_axTkRMapq-DL-fq-9tBybPWo0pkhIyGhDw,28394
42
- python_sat-1.8.dev30.data/scripts/primer.py,sha256=iE9Vy0XyeySIY-7-L_VMwRahsIVCEmm9k04OhLwDvuw,23982
43
- python_sat-1.8.dev30.data/scripts/rc2.py,sha256=yFieB6_5sYLLfIRo6Al9DXt3V5Y-qIUYH5E89xoaLN4,77749
44
- python_sat-1.8.dev30.data/scripts/unigen.py,sha256=e-HC2UxWA8MTN90VslkHX1ZlTPjdhI4etzkn6G8YAX4,17140
45
- python_sat-1.8.dev30.dist-info/licenses/LICENSE.txt,sha256=6QMvEzxqdPXEoiAZUBaZLeLF4hW2S81fjKz_THER0uQ,1109
46
- python_sat-1.8.dev30.dist-info/METADATA,sha256=WtlTd1cYPghe2ZUjJbzjvDSNELDjRrLUApFNct_E1MQ,1784
47
- python_sat-1.8.dev30.dist-info/WHEEL,sha256=-WvvtQtdhM1F5HMi-4hSXLQ_1Tg6qJRWO1HnLNr4mCU,102
48
- python_sat-1.8.dev30.dist-info/top_level.txt,sha256=fgEEGhMLivlF1ExCX8Y3niWsr4pDPRb5HdaWjNtabFI,23
49
- python_sat-1.8.dev30.dist-info/RECORD,,