LARA

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
comfusy-examples [2009/12/14 00:55]
vkuncak
comfusy-examples [2012/05/12 13:11]
losa
Line 3: Line 3:
   * ''​ScaleWeights''​   * ''​ScaleWeights''​
  
-++++click to reveal the code| 
 <code scala> <code scala>
 import synthesis.Definitions._ import synthesis.Definitions._
Line 38: Line 37:
 } }
 </​code>​ </​code>​
-++++ 
  
   * ''​SecondsToTime''​   * ''​SecondsToTime''​
  
-++++click to reveal the code| 
 <code scala> <code scala>
 import synthesis.Definitions._ import synthesis.Definitions._
Line 63: Line 60:
 } }
 </​code>​ </​code>​
-++++ 
  
   * ''​SetConstraints''​   * ''​SetConstraints''​
  
-++++click to reveal the code| 
 <code scala> <code scala>
 import synthesis.Definitions._ import synthesis.Definitions._
Line 91: Line 86:
 } }
 </​code>​ </​code>​
-++++ 
  
   * ''​SplitSetsInABalancedWay''​   * ''​SplitSetsInABalancedWay''​
  
-++++click to reveal the code| 
 <code scala> <code scala>
 import synthesis.Definitions._ import synthesis.Definitions._
Line 122: Line 115:
 } }
 </​code>​ </​code>​
-++++ 
  
   * ''​FastExponentiation''​   * ''​FastExponentiation''​
  
-++++click to reveal the code| 
 <code scala> <code scala>
 import synthesis.Definitions._ import synthesis.Definitions._
Line 149: Line 140:
 } }
 </​code>​ </​code>​
-++++ 
  
   * ''​PrimeHeuristic''​   * ''​PrimeHeuristic''​
  
-++++click to reveal the code| 
 <code scala> <code scala>
 import synthesis.Definitions._ import synthesis.Definitions._
Line 173: Line 162:
 } }
 </​code>​ </​code>​
-++++ 
  
 +  * ''​NewYearSong''​ (similar code with fewer variables was used to compute the distribution of names in [[http://​www.youtube.com/​watch?​v=E2aPFdu0FNA|this song]])
 +
 +<code scala>
 +import synthesis.Definitions._
 +object NewYearSong {
 +    def main(args : Array[String]) : Unit = {
 +        println("​eLines (6) ?")
 +        val eLines: Int = Console.readInt
 +        println("​iLines (2) ?")
 +        val iLines: Int = Console.readInt
 +        println("​iSyls (5) ?")
 +        val iSyls: Int  = Console.readInt
 +        println("​nSyls (952) ?")
 +        val nSyls: Int = Console.readInt
 +
 +        val (line7, line8, nsLines, nLines, tLines, _) =
 +            choose((line7:​ Int, line8: Int, nsLines: Int, nLines: Int, tLines: Int, tLinesFact: Int) => (
 +                   ​tLines == eLines + nLines
 +                && nLines == iLines + nsLines
 +                && nLines == line7 + line8
 +                && nSyls + iSyls == 7 * line7 + 8 * line8
 +                && tLines == 4 * tLinesFact // expresses (4 | tLines)
 +                && line8 >= 0
 +                && line7 >= 0
 +                && tLines >= 0
 +            ))
 +
 +        println("​line7 : " + line7)
 +        println("​line8 : " + line8)
 +        println("​nsLines : " + nsLines)
 +        println("​nLines : " + nLines)
 +        println("​tLines : " + tLines)
 +    }
 +}
 +</​code>​