From c73733fd0ec3447030bff32a6d166a07b8822e8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ali=20Sinan=20K=C3=B6ksal?= <alisinan@gmail.com> Date: Tue, 12 Jul 2011 19:20:29 +0000 Subject: [PATCH] . --- cp-demo/PaperExamples.scala | 37 ++++++++++++++++++++++++------------- 1 file changed, 24 insertions(+), 13 deletions(-) diff --git a/cp-demo/PaperExamples.scala b/cp-demo/PaperExamples.scala index f80d42334..9ceff1d00 100644 --- a/cp-demo/PaperExamples.scala +++ b/cp-demo/PaperExamples.scala @@ -93,30 +93,41 @@ object PaperExamples extends App { val letters : List[Letter] = List(D(), E(), M(), N(), O(), R(), S(), Y()) def run : Unit = { - val anyInt = ((n : Int) => true) + val anyInt : Constraint1[Int] = ((n : Int) => true) val letters @ Seq(s,e,n,d,m,o,r,y) = Seq.fill(8)(anyInt.lazySolve) + // val s : L[Int] = anyInt.lazySolve + // val e : L[Int] = anyInt.lazySolve + // val n : L[Int] = anyInt.lazySolve + // val d : L[Int] = anyInt.lazySolve + // val m : L[Int] = anyInt.lazySolve + // val o : L[Int] = anyInt.lazySolve + // val r : L[Int] = anyInt.lazySolve + // val y : L[Int] = anyInt.lazySolve + // val letters : Seq[L[Int]] = Seq(s,e,n,d,m,o,r,y) for(l <- letters) { - when(l >= 0 && l <= 0) { + when(l >= 0 && l <= 9) { ; } otherwise { println("Couldn't constrain letter.") } } - //assuming(distinct(s,e,n,d,m,o,r,y)) { - assuming( - s != e && s != n && s != d && s != m && s != o && s != r && s != y && - e != s && e != n && e != d && e != m && e != o && e != r && e != y && - n != s && n != e && n != d && n != m && n != o && n != r && n != y && - d != s && d != e && d != n && d != m && d != o && d != r && d != y && - m != s && m != e && m != n && m != d && m != o && m != r && m != y && - o != s && o != e && o != n && o != d && o != m && o != r && o != y && - r != s && r != e && r != n && r != d && r != m && r != o && r != y && - y != s && y != e && y != n && y != d && y != m && y != o && y != r ) - { + when(distinct[Int](s,e,n,d,m,o,r,y)) { + // assuming( + // s != e && s != n && s != d && s != m && s != o && s != r && s != y && + // e != s && e != n && e != d && e != m && e != o && e != r && e != y && + // n != s && n != e && n != d && n != m && n != o && n != r && n != y && + // d != s && d != e && d != n && d != m && d != o && d != r && d != y && + // m != s && m != e && m != n && m != d && m != o && m != r && m != y && + // o != s && o != e && o != n && o != d && o != m && o != r && o != y && + // r != s && r != e && r != n && r != d && r != m && r != o && r != y && + // y != s && y != e && y != n && y != d && y != m && y != o && y != r ) + // { println("Letters now have distinct values.") + } otherwise { + println("Couldn't make it happen :(") } val solution = letters.map(_.value) -- GitLab