number_expr.cc

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

CC
67
字号
#include "Number_expr.h"#include "Real_number.h"#include "Bool_number.h"#include "CNF_clause.h"#include "Affine_func.h"/** maybe copy n, so n could be modified */Number_expr::Number_expr(Number * n, const Globals * glob) :	Terminal_expr(glob) {		value = n;}Expr * Number_expr::shallow_copy() const {	return new Number_expr(value->clone(), globals);}Number_expr::Number_expr(double dbl, const Globals * glob) :	Terminal_expr(glob) {		value = new Real_number(dbl);}Number_expr::Number_expr(bool bol, const Globals * glob) :	Terminal_expr(glob) {		value = new Bool_number(bol);}string Number_expr::to_matlab() const {	return value->to_matlab();}CNF_clause * Number_expr::compute_CNF() const {	CNF_clause * res;	assert(value->get_type() == BOOL_TYPE); //fine	res = new CNF_clause(((Bool_number *) value)->get_value());	return res;}Affine_func * Number_expr::compute_affine() const {	return new Affine_func(clone(), globals);}bool Number_expr::is_affine() const {	return value->get_type() == REAL_TYPE;}bool Number_expr::is_real() const {	return value->get_type() == REAL_TYPE;}bool Number_expr::is_logic() const {	return value->get_type() == BOOL_TYPE;}Number * Number_expr::compute_number() const {	return value->clone();}void Number_expr::semantic_checks() {}

⌨️ 快捷键说明

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