This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import Control.Monad | |
import qualified Data.Foldable as F | |
import Data.Default.Class | |
import Data.List.Split | |
import Data.Maybe | |
import Data.IntMap (IntMap) | |
import qualified Data.IntMap as IntMap | |
import Data.Map (Map) | |
import qualified Data.Map as Map | |
import qualified ToySolver.Data.MIP as MIP |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{-# LANGUAGE PatternSynonyms, ViewPatterns #-} | |
type Var = Int | |
type Monomial k = (k, [Var]) | |
newtype Polynomial k = Polynomial [Monomial k] | |
pattern Var x = Polynomial [(1, [x])] | |
pattern Const k <- (asConst -> Just k) where | |
Const 0 = Polynomial [] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 失敗版 | |
sig Coin {} | |
abstract sig State { | |
candidates : set Coin, | |
} | |
sig Branch extends State { | |
left, right : set Coin, | |
eq, lt, gt : State |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{-# OPTIONS_GHC -Wall #-} | |
----------------------------------------------------------------------------- | |
-- | | |
-- Module : FourierMotzkin | |
-- Copyright : (c) Masahiro Sakai 2011 | |
-- License : BSD-style | |
-- | |
-- Maintainer : masahiro.sakai@gmail.com | |
-- Stability : provisional | |
-- Portability : portable |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{-# LANGUAGE ScopedTypeVariables #-} | |
{-# OPTIONS_GHC -Wall #-} | |
----------------------------------------------------------------------------- | |
-- | | |
-- Module : Simplex | |
-- Copyright : (c) Masahiro Sakai 2011 | |
-- License : BSD-style | |
-- | |
-- Maintainer : masahiro.sakai@gmail.com | |
-- Stability : provisional |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{-# OPTIONS_GHC -Wall #-} | |
----------------------------------------------------------------------------- | |
-- | | |
-- Module : Cooper | |
-- Copyright : (c) Masahiro Sakai 2011 | |
-- License : BSD-style | |
-- | |
-- Maintainer : masahiro.sakai@gmail.com | |
-- Stability : provisional | |
-- Portability : portable |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{-# OPTIONS_GHC -Wall -fno-warn-unused-do-bind #-} | |
----------------------------------------------------------------------------- | |
-- | | |
-- Module : LPFile | |
-- Copyright : (c) Masahiro Sakai 2011 | |
-- License : BSD-style | |
-- | |
-- Maintainer : masahiro.sakai@gmail.com | |
-- Stability : provisional | |
-- Portability : portable |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
type S = ((Int,Int),(Int,Int),(Int,Int)) | |
guess :: S -> S | |
guess ((a1,a2),(b1,b2),(c1,c2)) = | |
case (a1+b1) `compare` (b2+c1) of | |
EQ -> | |
if b1 < b2 | |
then ((100,99),(99,100),(99,100)) | |
else ((99,100),(100,99),(100,99)) | |
LT -> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class SATSolver | |
def initialize | |
@cnt = 0 | |
@ok = true | |
@clauses = [] | |
@model = Hash.new | |
@watches = Hash.new | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module TuplingExample where | |
import Prelude hiding (even, odd) | |
even :: Int -> Bool | |
even n = if n==0 then True else odd (n-1) | |
odd :: Int -> Bool | |
odd n = if n==0 then False else even (n-1) |