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 + -
显示快捷键?