python-sat 1.9.dev8__cp313-cp313-win_amd64.whl → 1.9.dev11__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.

Potentially problematic release.


This version of python-sat might be problematic. Click here for more details.

Files changed (25) hide show
  1. pycard.cp313-win_amd64.pyd +0 -0
  2. pyformula.cp313-win_amd64.pyd +0 -0
  3. pysat/__init__.py +1 -1
  4. pysat/formula.py +23 -1
  5. pysolvers.cp313-win_amd64.pyd +0 -0
  6. {python_sat-1.9.dev8.dist-info → python_sat-1.9.dev11.dist-info}/METADATA +1 -1
  7. python_sat-1.9.dev11.dist-info/RECORD +50 -0
  8. {python_sat-1.9.dev8.dist-info → python_sat-1.9.dev11.dist-info}/WHEEL +1 -1
  9. python_sat-1.9.dev8.dist-info/RECORD +0 -50
  10. {python_sat-1.9.dev8.data → python_sat-1.9.dev11.data}/scripts/approxmc.py +0 -0
  11. {python_sat-1.9.dev8.data → python_sat-1.9.dev11.data}/scripts/bbscan.py +0 -0
  12. {python_sat-1.9.dev8.data → python_sat-1.9.dev11.data}/scripts/bica.py +0 -0
  13. {python_sat-1.9.dev8.data → python_sat-1.9.dev11.data}/scripts/fm.py +0 -0
  14. {python_sat-1.9.dev8.data → python_sat-1.9.dev11.data}/scripts/genhard.py +0 -0
  15. {python_sat-1.9.dev8.data → python_sat-1.9.dev11.data}/scripts/lbx.py +0 -0
  16. {python_sat-1.9.dev8.data → python_sat-1.9.dev11.data}/scripts/lsu.py +0 -0
  17. {python_sat-1.9.dev8.data → python_sat-1.9.dev11.data}/scripts/mcsls.py +0 -0
  18. {python_sat-1.9.dev8.data → python_sat-1.9.dev11.data}/scripts/models.py +0 -0
  19. {python_sat-1.9.dev8.data → python_sat-1.9.dev11.data}/scripts/musx.py +0 -0
  20. {python_sat-1.9.dev8.data → python_sat-1.9.dev11.data}/scripts/optux.py +0 -0
  21. {python_sat-1.9.dev8.data → python_sat-1.9.dev11.data}/scripts/primer.py +0 -0
  22. {python_sat-1.9.dev8.data → python_sat-1.9.dev11.data}/scripts/rc2.py +0 -0
  23. {python_sat-1.9.dev8.data → python_sat-1.9.dev11.data}/scripts/unigen.py +0 -0
  24. {python_sat-1.9.dev8.dist-info → python_sat-1.9.dev11.dist-info}/licenses/LICENSE.txt +0 -0
  25. {python_sat-1.9.dev8.dist-info → python_sat-1.9.dev11.dist-info}/top_level.txt +0 -0
Binary file
Binary file
pysat/__init__.py CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
  # current version
12
12
  #==============================================================================
13
- VERSION = (1, 9, 'dev', 8)
13
+ VERSION = (1, 9, 'dev', 11)
14
14
 
15
15
 
16
16
  # PEP440 Format
pysat/formula.py CHANGED
@@ -810,6 +810,13 @@ class Formula(object):
810
810
  :type type: :class:`FormulaType`
811
811
  """
812
812
 
813
+ # Formula.__new__ may return an existing structurally identical
814
+ # formula; by default, Python still invokes __init__ in that case,
815
+ # which is harmful; if an identical object exists, we should
816
+ # immediately return
817
+ if hasattr(self, 'type'):
818
+ return
819
+
813
820
  assert 'type' in kwargs, 'No \'type\' of the formula is provided'
814
821
  self.type = kwargs['type']
815
822
 
@@ -965,7 +972,7 @@ class Formula(object):
965
972
  return ('identity', type(obj), id(obj))
966
973
  return ('obj', type(obj), obj)
967
974
 
968
- def _formula_key(form):
975
+ def _formula_key_uncached(form):
969
976
  """
970
977
  Get a structural key without a formula's merge flag.
971
978
  """
@@ -994,6 +1001,21 @@ class Formula(object):
994
1001
  counts = collections.Counter(_formula_key(subform) for subform in form.subformulas)
995
1002
  return (form.type, frozenset(counts.items()))
996
1003
 
1004
+ def _formula_key(form):
1005
+ """
1006
+ Get a cached structural key for an immutable formula.
1007
+ """
1008
+
1009
+ if isinstance(form, Formula):
1010
+ key = getattr(form, '_key_cache', None)
1011
+ if key is None:
1012
+ key = _formula_key_uncached(form)
1013
+ form._key_cache = key
1014
+
1015
+ return key
1016
+
1017
+ return _formula_key_uncached(form)
1018
+
997
1019
  def _merged_operands(operands, formula_type):
998
1020
  """Flatten same-type operands for a merged connective."""
999
1021
  result = []
Binary file
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-sat
3
- Version: 1.9.dev8
3
+ Version: 1.9.dev11
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,50 @@
1
+ pycard.cp313-win_amd64.pyd,sha256=KTxT0_2BfQXeJef89wcNI0c33pNTMrLe7r2FQrUNU-U,71680
2
+ pyformula.cp313-win_amd64.pyd,sha256=qXGgLCGzkgr2bDJ6sAbzsdpNA8Giu79CGUy6XcztVf0,31232
3
+ pysolvers.cp313-win_amd64.pyd,sha256=PqolFJ3gObnBUcp_PxJ5KF8ZU1BiU6vUD7blLG373l4,3340288
4
+ pysat/__init__.py,sha256=MF-e8DZ7gPOAaKw-wrAajiALxYk-PNDmNHcHKf660bI,681
5
+ pysat/_fileio.py,sha256=pXRGGAaP7U8r3bpn5ShseCSHROXqi7ygaYe6T6QORto,6700
6
+ pysat/_utils.py,sha256=4cv40p70FKvjCTKq8GqzS_jlxF74cp_lojTZSim_qJE,1340
7
+ pysat/card.py,sha256=rav3_t_mCzbLw8SAdXcOh-PNbFtaATVSAJzpbygqiQ4,30066
8
+ pysat/engines.py,sha256=yAYA_PzIGr_uRF85M7kL2bipjpLbY7jdfFKTdY-yW8I,46364
9
+ pysat/formula.py,sha256=9NYTLnKICzNeG5XJFaJHrmslZsXktQEVg-InkwMW3no,215539
10
+ pysat/integer.py,sha256=um6FXUzmBHUFlWXNKs0xLh9Jss3jiEin2Er_U41KtkA,90203
11
+ pysat/pb.py,sha256=DMy8UfbbpfJo5cTZul9W1o_mlr-B0lCIEseZjrQYd8A,17816
12
+ pysat/process.py,sha256=8lNbpEKipFZjbQ9DCJPfdL8eZHx-ltNuu7h4geWWdJY,12739
13
+ pysat/solvers.py,sha256=JTZU2O-rrmUKDRNq0vLm0wtXIGsftwhGxxQZdGiij34,277199
14
+ pysat/allies/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
+ pysat/allies/approxmc.py,sha256=LtUss6PiqmgvFwLTe4KUHmhavdzlotRii2UUOSb9gTU,13586
16
+ pysat/allies/unigen.py,sha256=qOGc_WwcIi-AgFSJDBhhY2n6Q6UeYVMpMPuem4-Vf6c,16718
17
+ pysat/examples/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
+ pysat/examples/bbscan.py,sha256=E4Y5j3Llr0-jIn-RDZIk-f02Sbujg4wX7uysoiFRnLg,22046
19
+ pysat/examples/bica.py,sha256=OGcGQGQnMepCCurwRbygokFgoDkI7eBhjmsYvr3FM1M,27098
20
+ pysat/examples/fm.py,sha256=e_s6wNBstEeoMw9zYyyDRgkE-Hqa902Iy_CxCS961CE,18136
21
+ pysat/examples/genhard.py,sha256=DFXtSVQ4qn78y0-ZMr2D6gBCLizZSzgkvcbDsjqjnKI,19017
22
+ pysat/examples/hitman.py,sha256=vHJEeSfoMQlDD3D3Poofaryv-k_dMH37XoqVXJUUuUg,26360
23
+ pysat/examples/lbx.py,sha256=InMjqY-9UvWKznIXOEwfBsM4spfkduDld6gUkr1jCqo,23249
24
+ pysat/examples/lsu.py,sha256=qyN2TvXG61EtMy-IrX5EYmLPM_iNOhtOkGTY5nHO_zo,16198
25
+ pysat/examples/mcsls.py,sha256=bP47P56OOP_uy0MuFA7TGxMdkAis7gX4E9AEEI0tSec,22093
26
+ pysat/examples/models.py,sha256=cdIR8iOrYu2ibqfcb_kEKXQMCfmFiz7cvZ3y1dur3Qw,5741
27
+ pysat/examples/musx.py,sha256=hswVGkjm95lhOyrtl1e4ouDyNSy-hWvQ05084Xnck9I,10946
28
+ pysat/examples/optux.py,sha256=8eYHO_uhL_4ugb-hRv2s6cnOwTurfqkpbdnK9T4iDtw,27697
29
+ pysat/examples/primer.py,sha256=0OeV9R6mWyIr2BKIitkrfgY3q2XE-sV1ZLSiybGRFXw,23375
30
+ pysat/examples/rc2.py,sha256=7-FuygxAbgNYb9QmKsNhkK5EG5OW8mpHOpoA8GnDs28,76998
31
+ pysat/examples/usage.py,sha256=x9luw6pyKAAndlxAeUWFhS4aLSVmD2t_j_5uA9YddHg,2183
32
+ python_sat-1.9.dev11.data/scripts/approxmc.py,sha256=h6aMnSpIaYXkTMq-tCSzNWwKb0AG-vTH4vuLWGn5Q4s,13958
33
+ python_sat-1.9.dev11.data/scripts/bbscan.py,sha256=xGxklG6Gc_UBaM8QvEJDOtQhEamxAncfsd65E-0JcAc,22696
34
+ python_sat-1.9.dev11.data/scripts/bica.py,sha256=q6fQGsFp1EaaYRZGBsDFOIJPVScr5k42XFskBzW69mA,27776
35
+ python_sat-1.9.dev11.data/scripts/fm.py,sha256=ek1QDsuxiq1zm1PBLbrSXXEE89RP9_DYwVNnyB3eO4s,18650
36
+ python_sat-1.9.dev11.data/scripts/genhard.py,sha256=YswufT272W4xTJrSBlOC2ucJx4RK4ntfRv73rASrx30,19520
37
+ python_sat-1.9.dev11.data/scripts/lbx.py,sha256=rCQ6zH_DXoVjBrzhZHSDJMfP92-hz2JVwh6e4m44AUc,23874
38
+ python_sat-1.9.dev11.data/scripts/lsu.py,sha256=cAATg2x0Cu1LC8KszMctHqywjq7pygkb9vWNBrbUEZs,16681
39
+ python_sat-1.9.dev11.data/scripts/mcsls.py,sha256=cTJQMIO-4iho412wG0JhvhqXWy81U0RQV8wwOgkri3Q,22690
40
+ python_sat-1.9.dev11.data/scripts/models.py,sha256=UmMmklExzyXAIhh-0i038nQb7hTK6CbdV1M6m2GxxSI,5917
41
+ python_sat-1.9.dev11.data/scripts/musx.py,sha256=LwK10YuQ8pIf1TJwp0HKp54O0hdk8zBy3TIfGsF1yW0,11277
42
+ python_sat-1.9.dev11.data/scripts/optux.py,sha256=t20YBZH4_axTkRMapq-DL-fq-9tBybPWo0pkhIyGhDw,28394
43
+ python_sat-1.9.dev11.data/scripts/primer.py,sha256=iE9Vy0XyeySIY-7-L_VMwRahsIVCEmm9k04OhLwDvuw,23982
44
+ python_sat-1.9.dev11.data/scripts/rc2.py,sha256=vvB7GlzssovGtnyk-COK-1bxmPh4zpj8Y7GqQa9dC9U,79020
45
+ python_sat-1.9.dev11.data/scripts/unigen.py,sha256=e-HC2UxWA8MTN90VslkHX1ZlTPjdhI4etzkn6G8YAX4,17140
46
+ python_sat-1.9.dev11.dist-info/licenses/LICENSE.txt,sha256=6QMvEzxqdPXEoiAZUBaZLeLF4hW2S81fjKz_THER0uQ,1109
47
+ python_sat-1.9.dev11.dist-info/METADATA,sha256=QVce9RKRjYlmFd4xR33CaP3pJcPRog41-m2MVEY1ElA,1784
48
+ python_sat-1.9.dev11.dist-info/WHEEL,sha256=0LUNoHxLvcpw9db_x0XozE5jW73-_GOAO7fDDJ4Xt4Q,101
49
+ python_sat-1.9.dev11.dist-info/top_level.txt,sha256=0SLg3yVqNpeiqOwFcAo3OxXhqAnflCmb5Fjl6gsl-Do,33
50
+ python_sat-1.9.dev11.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (83.0.0)
2
+ Generator: setuptools (84.0.0)
3
3
  Root-Is-Purelib: false
4
4
  Tag: cp313-cp313-win_amd64
5
5
 
@@ -1,50 +0,0 @@
1
- pycard.cp313-win_amd64.pyd,sha256=_voIGCx_18yyEut1hwFyQQOXXx0cpK7SUk9XUk1FeJg,71680
2
- pyformula.cp313-win_amd64.pyd,sha256=IM84nhDX6glnVN5r00up53DLBbEcnvYiu0_obtp1IhU,31232
3
- pysolvers.cp313-win_amd64.pyd,sha256=euQwMYwmZ2b0O2vmc0kt9TaoL5FtGz14WOQmtA858d0,3340288
4
- pysat/__init__.py,sha256=QTCb8kNOCtmIuJySA5yDeowVukzE_yj5qxdVTBdzgaM,680
5
- pysat/_fileio.py,sha256=pXRGGAaP7U8r3bpn5ShseCSHROXqi7ygaYe6T6QORto,6700
6
- pysat/_utils.py,sha256=4cv40p70FKvjCTKq8GqzS_jlxF74cp_lojTZSim_qJE,1340
7
- pysat/card.py,sha256=rav3_t_mCzbLw8SAdXcOh-PNbFtaATVSAJzpbygqiQ4,30066
8
- pysat/engines.py,sha256=yAYA_PzIGr_uRF85M7kL2bipjpLbY7jdfFKTdY-yW8I,46364
9
- pysat/formula.py,sha256=qCT-1__FtpTNemKFnixKOEi7Pwt3EIUnY_3TgQUcDWw,214793
10
- pysat/integer.py,sha256=um6FXUzmBHUFlWXNKs0xLh9Jss3jiEin2Er_U41KtkA,90203
11
- pysat/pb.py,sha256=DMy8UfbbpfJo5cTZul9W1o_mlr-B0lCIEseZjrQYd8A,17816
12
- pysat/process.py,sha256=8lNbpEKipFZjbQ9DCJPfdL8eZHx-ltNuu7h4geWWdJY,12739
13
- pysat/solvers.py,sha256=JTZU2O-rrmUKDRNq0vLm0wtXIGsftwhGxxQZdGiij34,277199
14
- pysat/allies/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
- pysat/allies/approxmc.py,sha256=LtUss6PiqmgvFwLTe4KUHmhavdzlotRii2UUOSb9gTU,13586
16
- pysat/allies/unigen.py,sha256=qOGc_WwcIi-AgFSJDBhhY2n6Q6UeYVMpMPuem4-Vf6c,16718
17
- pysat/examples/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
- pysat/examples/bbscan.py,sha256=E4Y5j3Llr0-jIn-RDZIk-f02Sbujg4wX7uysoiFRnLg,22046
19
- pysat/examples/bica.py,sha256=OGcGQGQnMepCCurwRbygokFgoDkI7eBhjmsYvr3FM1M,27098
20
- pysat/examples/fm.py,sha256=e_s6wNBstEeoMw9zYyyDRgkE-Hqa902Iy_CxCS961CE,18136
21
- pysat/examples/genhard.py,sha256=DFXtSVQ4qn78y0-ZMr2D6gBCLizZSzgkvcbDsjqjnKI,19017
22
- pysat/examples/hitman.py,sha256=vHJEeSfoMQlDD3D3Poofaryv-k_dMH37XoqVXJUUuUg,26360
23
- pysat/examples/lbx.py,sha256=InMjqY-9UvWKznIXOEwfBsM4spfkduDld6gUkr1jCqo,23249
24
- pysat/examples/lsu.py,sha256=qyN2TvXG61EtMy-IrX5EYmLPM_iNOhtOkGTY5nHO_zo,16198
25
- pysat/examples/mcsls.py,sha256=bP47P56OOP_uy0MuFA7TGxMdkAis7gX4E9AEEI0tSec,22093
26
- pysat/examples/models.py,sha256=cdIR8iOrYu2ibqfcb_kEKXQMCfmFiz7cvZ3y1dur3Qw,5741
27
- pysat/examples/musx.py,sha256=hswVGkjm95lhOyrtl1e4ouDyNSy-hWvQ05084Xnck9I,10946
28
- pysat/examples/optux.py,sha256=8eYHO_uhL_4ugb-hRv2s6cnOwTurfqkpbdnK9T4iDtw,27697
29
- pysat/examples/primer.py,sha256=0OeV9R6mWyIr2BKIitkrfgY3q2XE-sV1ZLSiybGRFXw,23375
30
- pysat/examples/rc2.py,sha256=7-FuygxAbgNYb9QmKsNhkK5EG5OW8mpHOpoA8GnDs28,76998
31
- pysat/examples/usage.py,sha256=x9luw6pyKAAndlxAeUWFhS4aLSVmD2t_j_5uA9YddHg,2183
32
- python_sat-1.9.dev8.data/scripts/approxmc.py,sha256=h6aMnSpIaYXkTMq-tCSzNWwKb0AG-vTH4vuLWGn5Q4s,13958
33
- python_sat-1.9.dev8.data/scripts/bbscan.py,sha256=xGxklG6Gc_UBaM8QvEJDOtQhEamxAncfsd65E-0JcAc,22696
34
- python_sat-1.9.dev8.data/scripts/bica.py,sha256=q6fQGsFp1EaaYRZGBsDFOIJPVScr5k42XFskBzW69mA,27776
35
- python_sat-1.9.dev8.data/scripts/fm.py,sha256=ek1QDsuxiq1zm1PBLbrSXXEE89RP9_DYwVNnyB3eO4s,18650
36
- python_sat-1.9.dev8.data/scripts/genhard.py,sha256=YswufT272W4xTJrSBlOC2ucJx4RK4ntfRv73rASrx30,19520
37
- python_sat-1.9.dev8.data/scripts/lbx.py,sha256=rCQ6zH_DXoVjBrzhZHSDJMfP92-hz2JVwh6e4m44AUc,23874
38
- python_sat-1.9.dev8.data/scripts/lsu.py,sha256=cAATg2x0Cu1LC8KszMctHqywjq7pygkb9vWNBrbUEZs,16681
39
- python_sat-1.9.dev8.data/scripts/mcsls.py,sha256=cTJQMIO-4iho412wG0JhvhqXWy81U0RQV8wwOgkri3Q,22690
40
- python_sat-1.9.dev8.data/scripts/models.py,sha256=UmMmklExzyXAIhh-0i038nQb7hTK6CbdV1M6m2GxxSI,5917
41
- python_sat-1.9.dev8.data/scripts/musx.py,sha256=LwK10YuQ8pIf1TJwp0HKp54O0hdk8zBy3TIfGsF1yW0,11277
42
- python_sat-1.9.dev8.data/scripts/optux.py,sha256=t20YBZH4_axTkRMapq-DL-fq-9tBybPWo0pkhIyGhDw,28394
43
- python_sat-1.9.dev8.data/scripts/primer.py,sha256=iE9Vy0XyeySIY-7-L_VMwRahsIVCEmm9k04OhLwDvuw,23982
44
- python_sat-1.9.dev8.data/scripts/rc2.py,sha256=vvB7GlzssovGtnyk-COK-1bxmPh4zpj8Y7GqQa9dC9U,79020
45
- python_sat-1.9.dev8.data/scripts/unigen.py,sha256=e-HC2UxWA8MTN90VslkHX1ZlTPjdhI4etzkn6G8YAX4,17140
46
- python_sat-1.9.dev8.dist-info/licenses/LICENSE.txt,sha256=6QMvEzxqdPXEoiAZUBaZLeLF4hW2S81fjKz_THER0uQ,1109
47
- python_sat-1.9.dev8.dist-info/METADATA,sha256=G0u3A0QEHYeubjJ5xFClVKTkS7cNKvB_3FtDjjXfaTw,1783
48
- python_sat-1.9.dev8.dist-info/WHEEL,sha256=AP_wkikJcUkDPUGvTNydv7g0R7BhW1u_fVHNKW7TJyI,101
49
- python_sat-1.9.dev8.dist-info/top_level.txt,sha256=0SLg3yVqNpeiqOwFcAo3OxXhqAnflCmb5Fjl6gsl-Do,33
50
- python_sat-1.9.dev8.dist-info/RECORD,,