X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=src%2FASTTransform%2Ftransform.cc;h=99a181fd3c859d0865e517cace073b0cc07a0018;hb=ee69b0984366edd899227cc651ec272c8f77c66a;hp=312b450fe670acebf7dc310f118cef8f880fc436;hpb=efba7cfdb7c83f193689663a79873df81effabe4;p=satune.git diff --git a/src/ASTTransform/transform.cc b/src/ASTTransform/transform.cc index 312b450..99a181f 100644 --- a/src/ASTTransform/transform.cc +++ b/src/ASTTransform/transform.cc @@ -1,45 +1,16 @@ /* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ - -/* * File: transform.cc * Author: hamed - * + * * Created on August 26, 2017, 5:14 PM */ #include "transform.h" -#include "set.h" -#include "order.h" -#include "satencoder.h" -#include "csolver.h" -#include "integerencodingrecord.h" - -Transform::Transform() { - orderIntegerEncoding = new HashTableOrderIntegerEncoding; -} -void Transform:: orderIntegerEncodingSATEncoder(CSolver *This, BooleanOrder *boolOrder) { - Order *order = boolOrder->order; - if (!orderIntegerEncoding->contains(order)) { - orderIntegerEncoding->put(order, new IntegerEncodingRecord( - This->createRangeSet(order->set->type, 0, (uint64_t) order->set->getSize()-1))); - } - IntegerEncodingRecord* ierec = orderIntegerEncoding->get(order); - //getting two elements and using LT predicate ... - Element *elem1 = ierec->getOrderIntegerElement(This, boolOrder->first); - Element *elem2 = ierec->getOrderIntegerElement(This, boolOrder->second); - Set *sarray[] = {ierec->set, ierec->set}; - Predicate *predicate = This->createPredicateOperator(LT, sarray, 2); - Element *parray[] = {elem1, elem2}; - Boolean *boolean = This->applyPredicate(predicate, parray, 2); - This->addConstraint(boolean); - This->replaceBooleanWithBoolean(boolOrder, boolean); +Transform::Transform(CSolver *_solver) +{ + solver = _solver; } -Transform::~Transform(){ - delete orderIntegerEncoding; +Transform::~Transform() { }