úÎH¢Aó1      !"#$%&'()*+,-./0(c) Masahiro Sakai 2012-2014 BSD-stylemasahiro.sakai@gmail.com provisionalnon-portable (BangPatterns) Safe-Inferred1 allocate too many intermediate 2². Therefore we use this optimized implementation instead. Many intermediate values in this implementation will be optimized away by worker-wrapper transformation and unboxing.(c) Masahiro Sakai 2011-2015 BSD-stylemasahiro.sakai@gmail.com>non-portable (BangPatterns, DeriveDataTypeable, DeriveGeneric) Safe-Inferred+0.Variable are repserented as positive integers.YPositive (resp. negative) literals are represented as positive (resp. negative) integers.)List of variables interpreted as productsCoefficient and Sum of  A pair of weight and constraint. A pair of top cost and a list of soft constraints. Relational operatorsequalgreater than or equal!Lhs, relational operator and rhs.Pair of objective function and a list of constraints.3_Utility function for computing number of variables in given objective function and constraints.4_Utility function for computing number of variables in given objective function and constraints.! 3456789:;<= 34567 3456789:;<=(c) Masahiro Sakai 2011-2015 BSD-stylemasahiro.sakai@gmail.comportableNone8A builder which renders a OPB format in any String-like >.8A builder which renders a WBO format in any String-like >.?Generate a OPB format string containing pseudo boolean problem.NGenerate a WBO format string containing weighted boolean optimization problem. ?@ABC ?@ABC(c) Masahiro Sakai 2011-2015 BSD-stylemasahiro.sakai@gmail.comportable Safe-Inferred^A ByteString Builder which renders a OPB format byte-string containing pseudo boolean problem.mA ByteString Builder which renders a WBO format byte-string containing weighted boolean optimization problem.DGenerate a OPB format byte-string containing pseudo boolean problem.SGenerate a WBO format byte-string containing weighted boolean optimization problem.4Output a OPB file containing pseudo boolean problem. COutput a WBO file containing weighted boolean optimization problem.!Output a OPB file to a D using E.It is recommended that the D is set to binary and F mode. See G and H.%This function is more efficient than hPut . < because in many cases no buffer allocation has to be done."Output a WBO file to a D using E.It is recommended that the D is set to binary and F mode. See G and H.%This function is more efficient than hPut . < because in many cases no buffer allocation has to be done. IJKLM !" !" !" IJKLM !"(c) Masahiro Sakai 2011-2015 BSD-stylemasahiro.sakai@gmail.com.non-portable (BangPatterns, OverloadedStrings) Safe-Inferred#Parser for OPB files$Parser for WBO files%<Parse a OPB format string containing pseudo boolean problem.&3Parse a OPB file containing pseudo boolean problem.'KParse a WBO format string containing weighted boolean optimization problem.(BParse a WBO file containing weighted boolean optimization problem.!#$NOPQRSTUVWXYZ[\]^_`ab%&cdefg'(h#$%&'(#%&$'(!#$NOPQRSTUVWXYZ[\]^_`ab%&cdefg'(h(c) Masahiro Sakai 2011-2015 BSD-stylemasahiro.sakai@gmail.com-non-portable (BangPatterns, FlexibleContexts) Safe-Inferred3)Parser for OPB files*Parser for WBO files+<Parse a OPB format string containing pseudo boolean problem.,EParse a OPB format lazy bytestring containing pseudo boolean problem.-3Parse a OPB file containing pseudo boolean problem..KParse a WBO format string containing weighted boolean optimization problem./EParse a WBO format lazy bytestring containing pseudo boolean problem.0BParse a WBO file containing weighted boolean optimization problem.")*ijklmnopqrstuvwxyz{|}+,-~€‚./0)*+,-./0)+,-*./0")*ijklmnopqrstuvwxyz{|}+,-~€‚./0(c) Masahiro Sakai 2011-2015 BSD-stylemasahiro.sakai@gmail.comnon-portable (BangPatterns)None$  !"+,-./0$  +,-./0! "ƒ      !"#$%&'()*+,'(-)*.+,/0123456789:;<=>?/@ABCDEF/GHIJK/GL/MN/MOBCDEFPQRSTUVWXYZ[\]^_`abcdefghijPQRSTUVWXYZ[\]^_`abcdefghikpseudo-boolean-0.1.2.0$Data.PseudoBoolean.Internal.TextUtilData.PseudoBooleanData.PseudoBoolean.Builder$Data.PseudoBoolean.ByteStringBuilderData.PseudoBoolean.AttoparsecData.PseudoBoolean.ParsecData.PseudoBoolean.TypesreadUnsignedIntegerVarLitTerm WeightedTermSumSoftConstraint SoftFormula wboTopCostwboConstraints wboNumVarswboNumConstraintsOpEqGe ConstraintFormulapbObjectiveFunction pbConstraints pbNumVarspbNumConstraints opbBuilder wboBuilder toOPBString toWBOStringtoOPBByteStringtoWBOByteString writeOPBFile writeWBOFilehPutOPBhPutWBO opbParser wboParserparseOPBByteString parseOPBFileparseWBOByteString parseWBOFileparseOPBStringparseWBOStringbase Text.Readread integer-gmpGHC.Integer.TypeIntegerpbComputeNumVarswboComputeNumVars pbProducts wboProducts wboNumSoft$fHashableSoftFormula$fNFDataSoftFormula $fHashableOp $fNFDataOp$fHashableFormula$fNFDataFormula Data.MonoidMonoidshowSumshowWeightedTermshowLitshowConstraintshowSoftConstraintGHC.IO.Handle.TypesHandlebytestring-0.10.4.0Data.ByteString.Builder hPutBuilderBlockBuffering GHC.IO.HandlehSetBinaryMode hSetBufferingformulahintsequence_of_commentscomment#sequence_of_comments_or_constraintscomment_or_constraint objective constraintsum weightedtermintegerunsigned_integerrelational_operator variablenameoneOrMoreSpacezeroOrMoreSpaceeolsemitermoneOrMoreLiteralsliteral softformula softheader'wbo_sequence_of_comments_or_constraintswbo_comment_or_constraintsoftconstraint optionMaybe