VariablePtr YEqCGs::findY(CGraphPtr cg) { double hash = evalHash_(cg->getOut(), 1); for (UInt i=0; i<y_.size(); ++i) { if (fabs(hash-hash_[i])<1e-10 && cg->isIdenticalTo(cg_[i])) { return y_[i]; } } return VariablePtr(); }
VariablePtr YEqUCGs::findY(CGraphPtr cg) { double hash = evalHash_(cg->getOut(), 1); OpCode op = cg->getOut()->getOp(); VariablePtr x = *(cg->varsBegin()); for (UInt i=0; i<y_.size(); ++i) { if (fabs(hash-hash_[i])<1e-10 && op == op_[i] && x == x_[i] && cg->isIdenticalTo(cg_[i])) { return y_[i]; } } return VariablePtr(); }