X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=src%2FAST%2Ffunction.cc;fp=src%2FAST%2Ffunction.cc;h=9f43fbe4c0c2323da185568e05974fb864797358;hb=e8931de7f86b261c61d8b39a33df4c8bc54dc928;hp=ccd89dd28c624d32714df88787715ef83dbc84e3;hpb=666e594b6eb2aee28deaa02802141639569dfc89;p=satune.git diff --git a/src/AST/function.cc b/src/AST/function.cc index ccd89dd..9f43fbe 100644 --- a/src/AST/function.cc +++ b/src/AST/function.cc @@ -4,10 +4,9 @@ #include "csolver.h" #include "serializer.h" -FunctionOperator::FunctionOperator(ArithOp _op, Set **domain, uint numDomain, Set *_range, OverFlowBehavior _overflowbehavior) : +FunctionOperator::FunctionOperator(ArithOp _op, Set *_range, OverFlowBehavior _overflowbehavior) : Function(OPERATORFUNC), op(_op), - domains(domain, numDomain), range(_range), overflowbehavior(_overflowbehavior) { } @@ -41,12 +40,8 @@ Function *FunctionOperator::clone(CSolver *solver, CloneMap *map) { if (f != NULL) return f; - Set *array[domains.getSize()]; - for (uint i = 0; i < domains.getSize(); i++) { - array[i] = domains.get(i)->clone(solver, map); - } Set *rcopy = range->clone(solver, map); - f = solver->createFunctionOperator(op, array, domains.getSize(), rcopy, overflowbehavior); + f = solver->createFunctionOperator(op, rcopy, overflowbehavior); map->put(this, f); return f; } @@ -92,12 +87,6 @@ void FunctionOperator::serialize(Serializer *serializer) { if (serializer->isSerialized(this)) return; serializer->addObject(this); - - uint size = domains.getSize(); - for (uint i = 0; i < size; i++) { - Set *domain = domains.get(i); - domain->serialize(serializer); - } range->serialize(serializer); ASTNodeType nodeType = FUNCOPTYPE; @@ -105,11 +94,6 @@ void FunctionOperator::serialize(Serializer *serializer) { FunctionOperator *This = this; serializer->mywrite(&This, sizeof(FunctionOperator *)); serializer->mywrite(&op, sizeof(ArithOp)); - serializer->mywrite(&size, sizeof(uint)); - for (uint i = 0; i < size; i++) { - Set *domain = domains.get(i); - serializer->mywrite(&domain, sizeof(Set *)); - } serializer->mywrite(&range, sizeof(Set *)); serializer->mywrite(&overflowbehavior, sizeof(OverFlowBehavior)); }