parameter_expr.cc

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

CC
73
字号
#include "Parameter_expr.h"#include "Param_symbol.h"#include "Affine_func.h"#include "CNF_clause.h"#include "Bool_number.h"#include "Cmd_options.h"#include "Globals.h"Parameter_expr::Parameter_expr(const Param_symbol * s,	const Globals * glob) : Terminal_expr(glob) {		value = s;}Expr * Parameter_expr::shallow_copy() const {	return new Parameter_expr(value, globals);}string Parameter_expr::to_matlab() const {	return value->to_matlab();}bool Parameter_expr::is_real() const {	return value->get_type() == REAL_TYPE;}bool Parameter_expr::is_logic() const {	return value->get_type() == BOOL_TYPE;}Affine_func * Parameter_expr::compute_affine() const {	assert(is_affine()); //fine	return new Affine_func(clone(), globals);}bool Parameter_expr::is_affine() const {	return value->get_type() == REAL_TYPE;}bool Parameter_expr::is_symbolic() const {	return value->is_symbolic();}CNF_clause * Parameter_expr::compute_CNF() const {	CNF_clause * res;	Bool_number * n;	assert(is_logic()); //fine	assert(is_number()); //fine	n = (Bool_number *) compute_number();	res = new CNF_clause(n->get_value());	return res;}bool Parameter_expr::is_number() const {	if (globals->cmd_options->all_params_symbolic()) return false;	return !(value->is_symbolic());}Number * Parameter_expr::compute_number() const {	return value->compute_number();}void Parameter_expr::semantic_checks() {}

⌨️ 快捷键说明

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