expr.cc

来自「由matlab开发的hybrid系统的描述语言」· CC 代码 · 共 82 行

CC
82
字号
/*	HYSDEL	Copyright (C) 1999-2002  Fabio D. Torrisi	This file is part of HYSDEL.    	HYSDEL is free software; you can redistribute it and/or	modify it under the terms of the GNU General Public	License as published by the Free Software Foundation; either	version 2 of the License, or (at your option) any later version.	HYSDEL is distributed in the hope that it will be useful,	but WITHOUT ANY WARRANTY; without even the implied warranty of	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU	General Public License for more details.	You should have received a copy of the GNU General Public	License along with this library; if not, write to the Free Software	Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA	CONTACT INFORMATION	===================	Fabio D. Torrisi	ETH Zentrum	Physikstrasse. 3 ETL,	CH-8032 Zurich	Switzerland	mailto:torrisi@aut.ee.ethz.ch (preferred)*/#include "Expr.h"#include "Real_number.h"#include "Number_expr.h"bool Expr::is_zero() const{  Real_number *rn;  bool res;  if (is_number() && is_real()) {    rn=(Real_number*)compute_number();    if (rn->get_double() == 0.0)      res=true;    else      res=false;    delete rn;    return res;  } else    return false;}bool Expr::is_one() const{  Real_number *rn;  bool res;  if (is_number() && is_real()) {    rn=(Real_number*)compute_number();    if (rn->get_double() == 1.0)      res=true;    else      res=false;    delete rn;    return res;  } else    return false;}Expr*Expr::simpl(Expr* in){	Expr *out;	if (in->is_number())	{		out=new Number_expr(in->compute_number(), in->globals);		delete in;	} else {		out=in;	}	return out;}	

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?