1========================================================================== 2 *** BuDDy *** 3 Binary Decision Diagrams 4 Library Package v2.0 5-------------------------------------------------------------------------- 6 Copyright (C) 1996-2001 by Jorn Lind-Nielsen 7 All rights reserved 8 9 Permission is hereby granted, without written agreement and without 10 license or royalty fees, to use, reproduce, prepare derivative 11 works, distribute, and display this software and its documentation 12 for any purpose, provided that (1) the above copyright notice and 13 the following two paragraphs appear in all copies of the source code 14 and (2) redistributions, including without limitation binaries, 15 reproduce these notices in the supporting documentation. Substantial 16 modifications to this software may be copyrighted by their authors 17 and need not follow the licensing terms described here, provided 18 that the new terms are clearly indicated in all files where they apply. 19 20 IN NO EVENT SHALL JORN LIND-NIELSEN, OR DISTRIBUTORS OF THIS 21 SOFTWARE BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, 22 INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF THIS 23 SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE AUTHORS OR ANY OF THE 24 ABOVE PARTIES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 26 JORN LIND-NIELSEN SPECIFICALLY DISCLAIM ANY WARRANTIES, INCLUDING, 27 BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND 28 FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS 29 ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE NO 30 OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR 31 MODIFICATIONS. 32========================================================================== 33 34 35 36--------------------------------------------------------------------- 37--- REQUIREMENTS ---------------------------------------------------- 38--------------------------------------------------------------------- 39 40* A (not to old) C++ compiler 41* A machine that supports 32 bit integers 42 43 44--------------------------------------------------------------------- 45--- INSTALLING ------------------------------------------------------ 46--------------------------------------------------------------------- 47 482) Edit the file "config" to specify your compiler options and 49where the package is to be installed. 50 513) type "make" to make the binary. 52 534) type "make install" to copy the BDD files to their appropriate 54directories. 55 565) type "make examples" to make the examples 57 58 59--------------------------------------------------------------------- 60--- USING ----------------------------------------------------------- 61--------------------------------------------------------------------- 62 63Assuming that the files "bdd.h" and "libbdd.a" are in directories 64"/usr/local/include" and "/usr/local/lib" then the compile command 65could be: 66 67 g++ -I/usr/local/include myfile.cc -o myfile -L/usr/local/lib -lbdd 68 69Your machine may be setup to use the above directories auto- 70matically, so you might be able to do: 71 72 g++ myfile.cc -o myfile -lbdd 73 74 75--------------------------------------------------------------------- 76--- FILES ----------------------------------------------------------- 77--------------------------------------------------------------------- 78 79src: All files needed for the BuDDy package. 80examples: Example files 81 fdd: An example of use of the FDD interface. 82 calculator: An example of a BDD calculator. Uses reordering. 83 adder: Construction of a N-bit adder. Uses reordering. 84 milner: A calculation of the reachable statespace for Milner's 85 scheduler. C++. 86 cmilner: As above but purely in ANSI-C. 87 queen: Solution to the N-queen chess problem. 88 solitare: Solution to a solitare game. 89 money: Solution to the send-more-money problem (bvec demo). 90doc: Documentation. 91 buddy.ps: Package documentation. 92 bddnotes.ps: BDD introduction notes. 93 94 95--------------------------------------------------------------------- 96--- FEEDBACK -------------------------------------------------------- 97--------------------------------------------------------------------- 98 99Please do not hesitate to send any questions or bug reports to: 100 101 Jorn Lind-Nielsen: buddy@itu.dk 102 (or maybe jorn_lind_nielsen@hotmail.com) 103 104New updates and other info can be found at: 105 106 http://www.it-c.dk/research/buddy/ 107 (or http://www.itu.dk/research/buddy) 108 109 110Hope you find some use for this software 111 112 Jorn Lind-Nielsen 113 114