2{      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz None{+Instance for special casing null pointers. |;Given a bit pattern, yield all bit masks that it contains. I This does *not* attempt to compute a minimal set of bit masks that when G combined yield the bit pattern, instead all contained bit masks are  produced. }Integral conversion ~Floating conversion Obtain C value from Haskell . Obtain Haskell  from C value. $Convert a C enumeration to Haskell. $Convert a Haskell enumeration to C. {|}~x      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~{|}~{|}~2representing functions that can be differentiated None+RealFloat gives most numerical operations,  1 is involved to allow using definitions from the   *http://hackage.haskell.org/package/splinessplines package AnyRF cb6 is a function that uses variables from the nonlinear  program in a way supported by . The cb is  usually  None _negative (above NLOPT_SUCCESS) values of these are thrown as exceptions. The positive ones are  return values. )an exact hessian calculated with AD. See  ' XXX BFGS approx could also be done... see  ahttp://ab-initio.mit.edu/wiki/index.php/NLopt_Reference#Preconditioning_with_approximate_Hessians  only applies to  n and m, type variables indicate the vector size as 5 number of inputs and number of outputs respectively "where the gradient happens via AD &should not need to be called manually -c2hs generates CDouble peek a Double instead naive matrix vector  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~given x,v calculate H(x)v where H the hessian  f grad(f)  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~KJIHGFECDBA@?>=<;:9876543210/.-,+*)('&%$#"!   ~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONML  ,BA@?>=<;:9876543210/.-,+*)('&%$#"! CDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ unstableAdam Vogt <vogt.adam@gmail.com>Nonelenses are in Ipopt.PP Vector of numbers  &likely an unsafe method for getting a Data.Vector.Storable.Mutable out of a   Set-up an . to be solved later. Only objective function (f) and constraint functions (g4) need to be specified. Derivatives needed by ipopt are computed by  Numeric.AD. #To solve the optimization problem:   min f(x)  such that  xL <= x <= xU  gL <= g(x) <= gU First create an opaque  object (nlp):  - nlp <- createIpOptProblemAD xL xU gL gU f g Then pass it off to .   ipoptSolve nlp x0 Refer to the example Test2.hs1 for details of setting up the vectors supplied.  indexes the same as http:www.coin-or.orgIpopt documentation/ node40.html  indexes the same as http:www.coin-or.orgIpopt documentation/ node41.html f   alg_mod (0 regular, 1 is resto)  iter count  obj value inf_pr inf_du mu d_norm regularization_size  alpha_du  alpha_pr  ls_trials user_data (usually null)  ! "#     $%&'starting point x4. Note that the value is overwritten with the final x. (xL   4 of lower bounds for decision variables with length n xU   ( of upper bounds for decision variables gL   * of lower bounds for constraint functions g(x) with length m gU   * of upper bounds for constraint functions g(x) objective function  f : R^n -> R constraint functions g : R^n -> R^m )n number of variables m number of constraints objective function R^n -> R constraint functions  R^n -> R^m   *+,C     C     F  ! "#     $%&'()  *+,)a EDSL for describing nonlinear programs NoneFthe solver deals with arrays. This type is for indexes into the array > for the current variables that the solver is trying to find.  current maximum index !(what namespace are we currently in (see V) "fully qualified (see V) name #invert _variables $>human-readable descriptions for the constraint, objective and  variables %>human-readable descriptions for the constraint, objective and  variables '*in what environments is a given var used? + the default (xL,xU) for xL < x < xU ,for nlopt (lower/upper) .%inital state variable for the solver 5=the initial state to use when you actually have to get to IO  with the solution K/should be a way to write an instance of At that'll make the normal  atix work with the IxMap  Ix (as opposed to IntMap/Int) Mto is one of F, ;, D Nto should be <, E, G Ocalls  and . To be used at the  end of a do-block. Padd a constraint QBadd a piece of the objective function, which is added in the form `f_1 + f_2 + ...`2, to make it easier to understand (at some point) Cwhich components are responsible for the majority of the cost, and which are irrelevant. RFadd a variable, or get a reference to the the same variable if it has  already been used Sa combination of R and Z TS7, except this causes the solver to get a new variable, so that you can use:  ; [a,b,c,d,e] <- replicateM 5 (varFresh (Just (0, 10)) "x") Gand the different letters can take different values (between 0 and 10) 7in the optimal solution (depending on what you do with a and similar 2in the objective function and other constraints). Usee T Vcombination of W and X Ysplits a variable x' into two positive variables such that  x = x^+ - x^-7 the new variables represent the positive and negative  parts of x - b  ! (xMinus, xPlus) <- splitVar b x Using  max (x-b) 03 instead of xPlus (ie. not telling the solver that b is Ja special point) seems to work just as well: additional special treatment *is needed. For example see chapter 11 of  U Nonlinear Programming: Concepts, Algorithms, and Applications to Chemical Processes  Lorenz T. Biegler  SIAM 2010 @which discusses several ways to reformulate the problem so that Gan ordinary NLP solver will not have trouble with the fact that one of the pair of constraints (x+ = 0 | x- = 0) is tight at an optimum. [-override bounds. Should be unnecessary given S takes bounds. \7shrink the interval in which that variable is allowed. I !"#$%&'()*+,-./012345-.6789:;<=>?@ABCDEFGHIJKLMNO(set ipopt options (using functions from  Ipopt.Raw) Poptional description bounds (gl,gu) for the single inequality gl_i < = g_i(x) <= gu_i  g_i(x)Q description `f_i(x)` Rbounds (xl,xu) to request that xl <= x <= xu. $ if Nothing, you get whatever is in ? optional longer description "variable name (namespace from the W / X can  make an x) you request here different from one you  previously requested Athe index (into the rawvector of variables that the solver sees) STUVWXY b index for x  (b-x)_+, (x-b)_+Z[\]G !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]G/01234 !"#$%&'()*+,-.59876:IHGFEDCBA@?>=<;JKLMNOPQRSTUVWXYZ[\]1 !"#$%&'()*+,-./012345-.6789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]None^set additional options  x,objective,exitCode^^^a quasiquote for the solver' s options None`!actually string yes or string no e $xiEan expression-only quasiquote intended to be the second argument for   (so solveNLP [ipopts| tol = 1e-3 |]). This is a shortcut  for calling   or .  Refer to  6http://www.coin-or.org/Ipopt/documentation/node39.htmlipopt's options reference, the syntax is like $option_name = value;option2 = value2". The semicolons are optional and \whitespace alone can separate the option name from the value. A few examples of the parser: :set -XQuasiQuotes/let f = [ipopts| tol = 1e-3; print_level = 0 |]:t ff :: IpProblem -> IO ()!let p x = uuParseTest parseOpts x p "tol = 3"([("tol",ANum 3.0)],[])Ap "tol = 3 tol = 4" -- the last one wins. No warnings done (yet).(([("tol",ANum 3.0),("tol",ANum 4.0)],[])p "tol = 3\n\ntol = 4"(([("tol",ANum 3.0),("tol",ANum 4.0)],[])Jp "acceptable_iter = 25; output_file = foobar" -- quotation marks optional@([("acceptable_iter",AInt 25),("output_file",AStr "foobar")],[])0p "output_file = \"foo bar\"" -- but needed here%([("output_file",AStr "foo bar")],[])NputStrLn $ (++"...") $ take 100 $ show $ p "atol = 1.8" -- typo gets correctedg([("tol",ANum 1.8)],[-- Deleted 'a' at position LineColPos 0 0 0 expecting one of [Whitespace, ...0p "tol = $xY" -- interpolating haskell variables"([("tol",AVar OptionNum "xY")],[])lwhat / should do for Double oa list of all the options in   6http://www.coin-or.org/Ipopt/documentation/node39.html _`abcdefghijklmno_`abcdefghijklmnoijklmndhgfe_cba`o _cba`dhgfeijklmnoNone pqrstuvwxyz pqrstuvwxyz vutsrqpwxyz pqrstuvwxyz%exports most things you should need Nonev0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqr5OPQRSTUiw3RSTUPQw5Ois    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !""#$$%%&'()*+,-./01234556789:;<=>?@ABCDEFGHIJKLMNOPQRS TUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                            !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFFGHGIGJGKGLGMGNGOGPGQGRGSGTGUGVGWGXGYGZG[G\G]G^G_G`GaGbGcGdefegeheiejekelemeneoepeqereseteuevewexeyz{z|z}z~zzzzzz     W !"#$%&'()*+,-./01232425262789:;:<2=2>8?:@:A:BCD:E:F:G:H:I:J:K:L:M:N:O:P:Q:R:S:T::U:V:W:X:Y:Z:[:\:]:^:_:` ab acdefdegdeh ij i1 kl kmdendeodep aq aq ar as at au av aw ax ay az{ipopt-hs-0.4.2.0Ipopt Ipopt.AnyRF Nlopt.Raw Ipopt.Raw Ipopt.NLP Nlopt.NLP Ipopt.OptionsIpopt.PPC2HSVMVector solveNLP'transformers-0.3.0.0Data.Functor.Identity runIdentityIdentityAnyRFCxtAnyRFliftOp0liftOp1liftOp2Vec NloptResultNLOPT_MAXTIME_REACHEDNLOPT_MAXEVAL_REACHEDNLOPT_XTOL_REACHEDNLOPT_FTOL_REACHEDNLOPT_STOPVAL_REACHED NLOPT_SUCCESSNLOPT_FORCED_STOPNLOPT_ROUNDOFF_LIMITEDNLOPT_OUT_OF_MEMORYNLOPT_INVALID_ARGS NLOPT_FAILURENloptAlgorithmNLOPT_NUM_ALGORITHMS NLOPT_GN_ESCHNLOPT_LD_CCSAQNLOPT_LD_SLSQPNLOPT_G_MLSL_LDS NLOPT_G_MLSLNLOPT_AUGLAG_EQ NLOPT_AUGLAGNLOPT_GN_ISRESNLOPT_LN_BOBYQANLOPT_LD_AUGLAG_EQNLOPT_LN_AUGLAG_EQNLOPT_LD_AUGLAGNLOPT_LN_AUGLAGNLOPT_LN_SBPLXNLOPT_LN_NELDERMEADNLOPT_LN_NEWUOA_BOUNDNLOPT_LN_NEWUOANLOPT_LN_COBYLA NLOPT_LD_MMANLOPT_GD_MLSL_LDSNLOPT_GN_MLSL_LDS NLOPT_GD_MLSL NLOPT_GN_MLSLNLOPT_GN_CRS2_LM NLOPT_LD_TNEWTON_PRECOND_RESTARTNLOPT_LD_TNEWTON_PRECONDNLOPT_LD_TNEWTON_RESTARTNLOPT_LD_TNEWTON NLOPT_LD_VAR2 NLOPT_LD_VAR1NLOPT_LN_PRAXISNLOPT_LD_LBFGSNLOPT_LD_LBFGS_NOCEDALNLOPT_GD_STOGO_RANDNLOPT_GD_STOGONLOPT_GN_ORIG_DIRECT_LNLOPT_GN_ORIG_DIRECTNLOPT_GN_DIRECT_L_RAND_NOSCALNLOPT_GN_DIRECT_L_NOSCALNLOPT_GN_DIRECT_NOSCALNLOPT_GN_DIRECT_L_RANDNLOPT_GN_DIRECT_LNLOPT_GN_DIRECTNLOpt FunPtrPrecond FunPtrMFunc FunPtrFuncPrecondMFuncFuncUnFunPtrnloptSetInitialStep1'_nloptGetInitialStep'_nloptSetInitialStep'_nloptGetVectorStorage'_nloptSetVectorStorage'_nloptGetPopulation'_nloptSetPopulation'_nloptSetLocalOptimizer'_nloptGetForceStop'_nloptSetForceStop'_nloptForceStop'_nloptGetMaxtime'_nloptSetMaxtime'_nloptGetMaxeval'_nloptSetMaxeval'_nloptGetXtolAbs'_nloptSetXtolAbs'_nloptSetXtolAbs1'_nloptGetXtolRel'_nloptSetXtolRel'_nloptGetFtolAbs'_nloptSetFtolAbs'_nloptGetFtolRel'_nloptSetFtolRel'_nloptGetStopval'_nloptSetStopval'_nloptAddEqualityMconstraint'_#nloptAddPrecondEqualityConstraint'_nloptAddEqualityConstraint'_ nloptRemoveEqualityConstraints'_nloptAddInequalityMconstraint'_%nloptAddPrecondInequalityConstraint'_nloptAddInequalityConstraint'_"nloptRemoveInequalityConstraints'_nloptSetUpperBounds1'_nloptSetLowerBounds1'_nloptGetUpperBounds'_nloptGetLowerBounds'_nloptSetUpperBounds'_nloptSetLowerBounds'_nloptGetDimension'_nloptGetAlgorithm'_nloptSetPrecondMaxObjective'_nloptSetPrecondMinObjective'_nloptSetMaxObjective'_nloptSetMinObjective'_nloptOptimize'_nloptDestroy'_ nloptCopy'_ nloptCreate'_nloptVersion'_nloptSrandTime'_ nloptSrand'_mkMFunc mkPrecondmkFuncnloptDestroyFPmkNloptFinalizer toPrecondAD toPrecondGtoFuncMtoFuncMG toFuncMADtoFunctoFuncADtoFuncG withNLOptcheckEC nloptSrandnloptSrandTime nloptVersion nloptCreate nloptCopy nloptDestroy nloptOptimizenloptSetMinObjectivenloptSetMaxObjectivenloptSetPrecondMinObjectivenloptSetPrecondMaxObjectivenloptGetAlgorithmnloptGetDimensionnloptSetLowerBoundsnloptSetUpperBoundsnloptGetLowerBoundsnloptGetUpperBoundsnloptSetLowerBounds1nloptSetUpperBounds1 nloptRemoveInequalityConstraintsnloptAddInequalityConstraint#nloptAddPrecondInequalityConstraintnloptAddInequalityMconstraintnloptRemoveEqualityConstraintsnloptAddEqualityConstraint!nloptAddPrecondEqualityConstraintnloptAddEqualityMconstraintnloptSetStopvalnloptGetStopvalnloptSetFtolRelnloptGetFtolRelnloptSetFtolAbsnloptGetFtolAbsnloptSetXtolRelnloptGetXtolRelnloptSetXtolAbs1nloptSetXtolAbsnloptGetXtolAbsnloptSetMaxevalnloptGetMaxevalnloptSetMaxtimenloptGetMaxtimenloptForceStopnloptSetForceStopnloptGetForceStopnloptSetLocalOptimizernloptSetPopulationnloptGetPopulationnloptSetVectorStoragenloptGetVectorStoragenloptSetInitialStepnloptGetInitialStepnloptSetInitialStep1 withNLOpt_ vmUnsafeWithptrToVSptrToVcopyIntotoCIntfromCIntpeekInt ptrToNLOptwithFunc withPrecond withMFuncwithNull peekDoublemXv IpOptSolved_ipOptSolved_status_ipOptSolved_objective_ipOptSolved_x_ipOptSolved_g_ipOptSolved_mult_g_ipOptSolved_mult_x_L_ipOptSolved_mult_x_U IpProblemApplicationReturnStatus InternalErrorInsufficientMemoryNonipoptExceptionThrownUnrecoverableExceptionInvalidNumberDetected InvalidOptionInvalidProblemDefinitionNotEnoughDegreesOfFreedomMaximumCputimeExceededErrorInStepComputationRestorationFailedMaximumIterationsExceededFeasiblePointFoundUserRequestedStopDivergingIteratesSearchDirectionBecomesTooSmallInfeasibleProblemDetectedSolvedToAcceptableLevelSolveSucceededIntermediateCBIpHIpJacGIpGIpGradFIpFIpBoolIpIntIpIndexIpNumberfreeIpoptProblemwrapIpH1 wrapIpJacG1 wrapIpGradF1wrapIpG1wrapIpF1wrapIpF2wrapIpG2 wrapIpGradF2 wrapIpJacG2wrapIpH2wrapIpFwrapIpG wrapIpGradF wrapIpJacGwrapIpHcreateIpoptProblemaddIpoptNumOptionaddIpoptStrOptionaddIpoptIntOptionopenIpoptOutputFilesetIpoptProblemScalingsetIntermediateCallback ipoptSolvecreateIpoptProblemADNLPNLPTIx_varIxIxMapNLPState_nMax _currentEnv _variables _variablesInv_constraintLabels _objLabels _varLabels_varEnv_constraintEnv_objEnv_nlpfun_defaultBounds_defaultConstraintTol_constraintTol_initXNLPFun_funF_funG_boundX_boundG nlpstate0boundGboundXfunFfunGvarIx constraintEnvconstraintLabels constraintTol currentEnv defaultBoundsdefaultConstraintTolinitXnMaxnlpfunobjEnv objLabelsvarEnv varLabels variables variablesInvixMapix_at_copyEnvaddDescaddGaddFvar'var varFresh'varFreshinEnvpushEnvpopEnvsplitVarixToVar setBounds narrowBounds seqToVecs solveNlopt OptionType OptionBool OptionInt OptionStr OptionNum OptionValAVarAIntAStrANumipopts uuParseTest addIpoptOpt liftDouble parseOptsparseOpt ipoptOptionsgmult_gmult_x_Lmult_x_U objectivestatusxppSolnstatusOk colorStatusbr nothingIfNullextractBitMaskscIntConv cFloatConv cFromBoolghc-prim GHC.TypesBoolcToBoolcToEnum cFromEnumwithCStringLenIntConvpeekCStringLenIntConv withIntConv withFloatConv peekIntConv peekFloatConvwithBoolpeekBoolwithEnumpeekEnum nothingIfcombineBitMaskscontainsBitMask$fStorableMaybebase GHC.Stable newStablePtrIntGHC.IntInt8Int16Int32Int64 StablePtrWordGHC.WordWord8Word16Word32Word64GHC.PtrPtrFunPtrGHC.ForeignPtr ForeignPtrForeignunsafePerformIOForeign.MarshalunsafeLocalStateForeign.Marshal.PoolpooledNewArray0pooledNewArray pooledNewpooledReallocArray0pooledReallocArraypooledMallocArray0pooledMallocArraypooledReallocBytes pooledReallocpooledMallocBytes pooledMallocwithPoolfreePoolnewPoolPoolForeign.Marshal.Errorvoid throwIfNull throwIfNeg_ throwIfNegthrowIf_throwIfForeign.C.ErrorerrnoToIOErrorthrowErrnoPathIfMinus1_throwErrnoPathIfMinus1throwErrnoPathIfNullthrowErrnoPathIf_throwErrnoPathIfthrowErrnoPaththrowErrnoIfNullRetryMayBlockthrowErrnoIfNullRetrythrowErrnoIfNull throwErrnoIfMinus1RetryMayBlock_throwErrnoIfMinus1RetryMayBlockthrowErrnoIfMinus1Retry_throwErrnoIfMinus1RetrythrowErrnoIfMinus1_throwErrnoIfMinus1throwErrnoIfRetryMayBlock_throwErrnoIfRetry_throwErrnoIfRetryMayBlockthrowErrnoIfRetry throwErrnoIf_ throwErrnoIf throwErrno resetErrnogetErrno isValidErrnoeXDEV eWOULDBLOCKeUSERSeTXTBSY eTOOMANYREFS eTIMEDOUTeTIMEeSTALEeSRMNTeSRCHeSPIPEeSOCKTNOSUPPORT eSHUTDOWNeRREMOTE eRPCMISMATCHeROFSeREMOTEeREMCHGeRANGE ePROTOTYPEePROTONOSUPPORTePROTO ePROGUNAVAIL ePROGMISMATCH ePROCUNAVAILePROCLIMePIPE ePFNOSUPPORTePERM eOPNOTSUPPeNXIOeNOTTYeNOTSOCK eNOTEMPTYeNOTDIReNOTCONNeNOTBLKeNOSYSeNOSTReNOSReNOSPC eNOPROTOOPTeNONETeNOMSGeNOMEMeNOLINKeNOLCKeNOEXECeNOENTeNODEVeNODATAeNOBUFSeNFILE eNETUNREACH eNETRESETeNETDOWN eNAMETOOLONG eMULTIHOPeMSGSIZEeMLINKeMFILEeLOOPeISDIReISCONNeIOeINVALeINTR eINPROGRESSeILSEQeIDRM eHOSTUNREACH eHOSTDOWNeFTYPEeFBIGeFAULTeEXISTeDQUOTeDOMeDIRTY eDESTADDRREQeDEADLK eCONNRESET eCONNREFUSED eCONNABORTEDeCOMMeCHILDeBUSYeBADRPCeBADMSGeBADFeALREADYeAGAIN eAFNOSUPPORTeADV eADDRNOTAVAIL eADDRINUSEeACCESe2BIGeOKErrnoForeign.C.StringwithCWStringLen withCWStringnewCWStringLen newCWStringpeekCWStringLen peekCWStringwithCAStringLen withCAStringnewCAStringLen newCAStringpeekCAStringLen peekCAStringcastCharToCSCharcastCSCharToCharcastCharToCUCharcastCUCharToCharcastCharToCCharcastCCharToCharcharIsRepresentablewithCStringLen withCString newCStringLen newCStringpeekCStringLen peekCStringCString CStringLenCWString CWStringLenForeign.Marshal.Array advancePtr lengthArray0 moveArray copyArray withArrayLen0 withArray0 withArrayLen withArray newArray0newArray pokeArray0 pokeArray peekArray0 peekArray reallocArray0 reallocArray allocaArray0 allocaArray mallocArray0 mallocArrayForeign.Marshal.Utils moveBytes copyByteswithMany maybePeek maybeWithmaybeNewtoBoolfromBoolwithnewForeign.Marshal.Allocfree reallocBytesreallocallocaBytesAligned allocaBytesalloca mallocBytesmalloc finalizerFreeForeign.ForeignPtrunsafeForeignPtrToPtrForeign.ForeignPtr.ImpmallocForeignPtrArray0mallocForeignPtrArraynewForeignPtrEnvwithForeignPtr newForeignPtr Foreign.Ptr intPtrToPtr ptrToIntPtr wordPtrToPtr ptrToWordPtrfreeHaskellFunPtrWordPtrIntPtrfinalizeForeignPtrcastForeignPtrtouchForeignPtrnewForeignPtr_addForeignPtrFinalizerEnvaddForeignPtrFinalizermallocForeignPtrBytesmallocForeignPtr FinalizerPtrFinalizerEnvPtrForeign.C.TypesCCharCSCharCUCharCShortCUShortCIntCUIntCLongCULongCLLongCULLongCFloatCDoubleCPtrdiffCSizeCWchar CSigAtomicCClockCTime CUSeconds CSUSecondsCFileCFposCJmpBufCIntPtrCUIntPtrCIntMaxCUIntMaxForeign.Storablepokepeek pokeByteOff peekByteOff pokeElemOff peekElemOff alignmentsizeOfStorablecastPtrToStablePtrcastStablePtrToPtrdeRefStablePtr freeStablePtrcastPtrToFunPtrcastFunPtrToPtr castFunPtr nullFunPtrminusPtralignPtrplusPtrcastPtrnullPtr Data.BitspopCountDefaulttestBitDefault bitDefaultpopCountrotateRrotateL unsafeShiftRshiftR unsafeShiftLshiftLisSignedbitSizetestBit complementBitclearBitsetBitbitrotateshift complementxor.|..&.Bitsvector-space-0.8.6Data.VectorSpace VectorSpace$fVectorSpaceReverse$fAdditiveGroupReverse$fVectorSpaceOn$fAdditiveGroupOn$fVectorSpaceAD$fAdditiveGroupAD$fAdditiveGroupAnyRF$fVectorSpaceAnyRF $fMonoidAnyRF$fRealFloatAnyRF$fRealFracAnyRF $fEqAnyRF $fOrdAnyRF $fRealAnyRF$fFloatingAnyRF$fFractionalAnyRF $fNumAnyRF$fExceptionNloptResult$fEnumNloptResult$fEnumNloptAlgorithmdenseIJdenseIJhIpBoolTIpFalseIpTrue AlgorithmModeRestorationphasemode RegularmodeIpIntermediateCB ipoptSolve2'_setIntermediateCallback1'_setIpoptProblemScaling'_openIpoptOutputFile'_addIpoptIntOption'_addIpoptStrOption'_addIpoptNumOption'_createIpoptProblem3'_wrapIpIntermediateCB withIpProblemippipTrueipFalsetoB wrapIpF2'fromVeccreateIpoptProblem3setIntermediateCallback1 ipoptSolve2mkFs $fEnumIpBoolT$fEnumAlgorithmMode$fEnumApplicationReturnStatus$fMonoidNLPFun $fShowNLPFuntemplate-haskellLanguage.Haskell.TH.SyntaxliftGHC.Basefail>>=>>fmapreturnControl.Monad.Fixmfix Control.MonadguardliftMMonadFunctorMonadFix MonadPlusmplusmzero Data.FunctionfixmfilterapliftM5liftM4liftM3liftM2unlesswhen replicateM_ replicateMfoldM_foldM zipWithM_zipWithM mapAndUnzipMjoinforever<=<>=>msumforM_forMfilterMmapM_mapM sequence_sequence=<<Control.Monad.Trans.State.LazyrunStateState mtl-2.1.2Control.Monad.State.Classgetsstate MonadStateControl.Monad.Trans.Class MonadTransControl.Monad.IO.ClassMonadIOliftIOmodifyputgetStateT runStateT evalState execStatemapState withState evalStateT execStateT mapStateT withStateT