
    \h                     D    S r SSKJr  SSKJrJr  SSKrSSKJr  S r	S r
g)z[For reading in DIMACS file format

www.cs.ubc.ca/~hoos/SATLIB/Benchmarks/SAT/satformat.ps

    )Symbol)AndOrN)Pathc                    / nU R                  S5      n[        R                  " S5      n[        R                  " S5      n[        U5      S:  Ga&  UR	                  S5      nUR                  U5      (       d  UR                  U5      nU(       d  UR                  S5      R                  S5      n/ nU H  n	U	S:w  d  M  [        U	5      S:X  a  M  [        [        U	5      5      n
Sn[        U	5      S:  a  SnU(       a  UR                  [        S	U
-  5      5        Mi  UR                  [        S	U
-  5      ) 5        M     [        U5      S:  a  UR                  [        U6 5        [        U5      S:  a  GM&  [        U6 $ )
zLoads a boolean expression from a string.

Examples
========

>>> from sympy.logic.utilities.dimacs import load
>>> load('1')
cnf_1
>>> load('1 2')
cnf_1 | cnf_2
>>> load('1 \n 2')
cnf_1 & cnf_2
>>> load('1 2 \n 3')
cnf_3 & (cnf_1 | cnf_2)

zc.*zp\s*cnf\s*(\d*)\s*(\d*)r     TFzcnf_%s)splitrecompilelenpopmatchrstripintabsappendr   r   r   )sclauseslinespCommentpStatslinemnumslistlitnumsigns               T/var/www/auris/envauris/lib/python3.13/site-packages/sympy/logic/utilities/dimacs.pyloadr"      s2     GGGDMEzz&!HZZ23F
e*q.yy| ~~d##T"A{{4(..s3Cbys8q=$!#c(m#s8a<#(D KKx#~(>? KK3)?(?@   t9q=NN2t9-3 e*q.6 =    c                 J    [        U 5      R                  5       n[        U5      $ )z'Loads a boolean expression from a file.)r   	read_textr"   )locationr   s     r!   	load_filer'   B   s    X  "A7Nr#   )__doc__
sympy.corer   sympy.logic.boolalgr   r   r   pathlibr   r"   r'    r#   r!   <module>r-      s#     ' 	 2jr#   