/*======================================================================== Copyright (C) 2006 by Geir-Tore Lindsve, Torbjørn Meistad and Yngve Raudberget, hereby refered to as "the authors". All rights reserved Permission is hereby granted, without written agreement and without license or royalty fees, to use, reproduce, prepare derivative works, distribute, and display this software and its documentation for NONCOMMERCIAL RESEARCH AND EDUCATIONAL PURPOSES, provided that (1) the above copyright notice and the following two paragraphs appear in all copies of the source code and (2) redistributions, including without limitation binaries, reproduce these notices in the supporting documentation. IN NO EVENT SHALL THE AUTHORS, OR DISTRIBUTORS OF THIS SOFTWARE BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE AUTHORS OR ANY OF THE ABOVE PARTIES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. THE AUTHORS SPECIFICALLY DISCLAIM ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. ========================================================================*/ using System; using System.Collections.Generic; using System.Text; using CLab.Exceptions; namespace CLab { /// /// Defines common enum types and constant values used within CLab. /// public static class Common { /// /// Number of initial BDD nodes. /// public const int INITBDDNODES = 1000000; /// /// The initial cache used by BDD. /// public const int BDDINITDBCACHE = 100000; /// /// The max increase of BDD. /// public const int BDDMAXINCREASE = 50000; /// /// Defines enum values for expression types. /// public enum ExprType { /// /// Integer /// et_val, /// /// ID /// et_id, /// /// Negated expression (Neg) /// et_neg, /// /// Inverted expression (Not) /// et_not, /// /// Expression with imply operator /// et_impl, /// /// Expression with OR operator /// et_or, /// /// Expression with AND operator /// et_and, /// /// Expression with Less than or equal operator /// et_lte, /// /// Expression with Greater than or equal operator /// et_gte, /// /// Expression with Less than operator /// et_lt, /// /// Expression with Greater than operator /// et_gt, /// /// Expression with Not equal operator /// et_ne, /// /// Expression with Equal operator /// et_eq, /// /// Expression with substract operator /// et_minus, /// /// Expression with add operator /// et_plus, /// /// Expression with modulo operator /// et_mod, /// /// Expression with division operator /// et_div, /// /// Expression with multiply operator /// et_times }; } /// /// The different BDD compile types. /// public enum BddCompileMethod { /// /// Static compilation. /// cm_static, /// /// Dynamic compilation. /// cm_dynamic, /// /// Compile with ascending BDD sizes. /// cm_ascending }; /// /// The different csp variable orderings. /// public enum CspVariableOrdering { /// /// Static variable ordering. /// vo_static, /// /// Minimum width variable ordering. /// vo_minwidth }; /// /// The different CP types. /// public enum CPTypes { /// /// Bool type. /// bool_type, /// /// Enum type. /// enum_type, /// /// Range type. /// range_type }; /// /// The different moduses CLab can run under. /// public enum CLabModus { /// /// BDD modus. /// bdd_modus, /// /// CSP modus. /// csp_modus }; }