diff options
author | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2012-09-11 23:44:49 +0000 |
---|---|---|
committer | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2012-09-11 23:44:49 +0000 |
commit | 78482ce84a4652c69baa8a07d5d714408ab6cf03 (patch) | |
tree | d2dc79b21d7dc2c4d67fa1564978a403d327b963 /src/theory/model.cpp | |
parent | d8883776ce80199096f99d1088910d478fd0cd6e (diff) |
added getCardinality to model
Diffstat (limited to 'src/theory/model.cpp')
-rw-r--r-- | src/theory/model.cpp | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/theory/model.cpp b/src/theory/model.cpp index dc0ae7877..ed2d69308 100644 --- a/src/theory/model.cpp +++ b/src/theory/model.cpp @@ -59,6 +59,21 @@ Expr TheoryModel::getValue( const Expr& expr ){ return ret.toExpr(); } +/** get cardinality for sort */ +Cardinality TheoryModel::getCardinality( const Type& t ){ + TypeNode tn = TypeNode::fromType( t ); + //for now, we only handle cardinalities for uninterpreted sorts + if( tn.isSort() ){ + if( d_rep_set.hasType( tn ) ){ + return Cardinality( d_rep_set.d_type_reps[tn].size() ); + }else{ + return Cardinality( CardinalityUnknown() ); + } + }else{ + return Cardinality( CardinalityUnknown() ); + } +} + void TheoryModel::toStream( std::ostream& out ){ /*//for debugging eq::EqClassesIterator eqcs_i = eq::EqClassesIterator( &d_equalityEngine ); @@ -76,7 +91,7 @@ void TheoryModel::toStream( std::ostream& out ){ ++eqcs_i; } */ - //need this function? + out << this; } Node TheoryModel::getModelValue( TNode n ){ |