[Javabdd-checkins] SF.net SVN: javabdd: [457] trunk/JavaBDD_tests/bdd/RangeTest.java
Brought to you by:
joewhaley
From: <joe...@us...> - 2006-07-17 05:20:09
|
Revision: 457 Author: joewhaley Date: 2006-07-16 22:20:06 -0700 (Sun, 16 Jul 2006) ViewCVS: http://svn.sourceforge.net/javabdd/?rev=457&view=rev Log Message: ----------- Upgraded to latest JavaBDD 2.0 and jwutil libraries. Added Paths: ----------- trunk/JavaBDD_tests/bdd/RangeTest.java Added: trunk/JavaBDD_tests/bdd/RangeTest.java =================================================================== --- trunk/JavaBDD_tests/bdd/RangeTest.java (rev 0) +++ trunk/JavaBDD_tests/bdd/RangeTest.java 2006-07-17 05:20:06 UTC (rev 457) @@ -0,0 +1,74 @@ +// RangeTest.java, created Jul 13, 2003 9:28:32 PM by John Whaley +// Copyright (C) 2003 John Whaley +// Licensed under the terms of the GNU LGPL; see COPYING for details. +package bdd; + +import java.util.Arrays; +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import net.sf.javabdd.BDD; +import net.sf.javabdd.BDDDomain; +import net.sf.javabdd.BDDFactory; + +/** + * RangeTest + * + * @author John Whaley + * @version $Id: RangeTest.java 2001 2004-10-16 03:03:56Z joewhaley $ + */ +public class RangeTest { + + public static void main(String[] args) throws IOException { + BDDFactory bdd = BDDFactory.init(1000000, 10000); + + BDDDomain[] domains = bdd.extDomain(new int[] { 10, 8 }); + int[] order = new int[bdd.varNum()]; + + BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); + for (;;) { + buildRandomPermutation(order); + printPermutation(order); + bdd.setVarOrder(order); + System.out.print("Enter low: "); + int lo = Integer.parseInt(in.readLine()); + System.out.print("Enter high: "); + int hi = Integer.parseInt(in.readLine()); + for (int i=0; i<domains.length; ++i) { + BDD b = domains[i].varRange(lo, hi); + System.out.println(b.toStringWithDomains()+" = "+b.nodeCount()+" nodes"); + buildRandomPermutation(order); + printPermutation(order); + bdd.setVarOrder(order); + System.out.println(b.toStringWithDomains()+" = "+b.nodeCount()+" nodes"); + buildRandomPermutation(order); + printPermutation(order); + bdd.setVarOrder(order); + System.out.println(b.toStringWithDomains()+" = "+b.nodeCount()+" nodes"); + buildRandomPermutation(order); + printPermutation(order); + bdd.setVarOrder(order); + System.out.println(b.toStringWithDomains()+" = "+b.nodeCount()+" nodes"); + } + } + } + + static void printPermutation(int[] a) { + for (int i=0; i<a.length; ++i) { + System.out.print(a[i]+" "); + } + System.out.println(); + } + + static void buildRandomPermutation(int[] a) { + Arrays.fill(a, -1); + int n = 0; + java.util.Random r = new java.util.Random(); + while (n < a.length) { + int k = r.nextInt(a.length); + if (a[k] == -1) { + a[k] = n++; + } + } + } +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |