📄 rule.cc
字号:
#include "rule.h"#include "input.h"#include "output.h"rule::rule(int x1, int x2, int x3, int y1, float cf1){ a=x1; b=x2; c=x3; o=y1; cf=cf1;}rule::~rule(){}void rule::calc(vector<input*> inv, int flag){ if(flag==MIN){ if(inv.size()==1) mu=inv[0]->mu[a]*cf; if(inv.size()==2){ mu=((inv[0]->mu[a]>inv[1]->mu[b]) ? inv[1]->mu[b] : inv[0]->mu[a]); mu*=cf; } if(inv.size()==3){ mu=((inv[0]->mu[a]>inv[1]->mu[b]) ? inv[1]->mu[b] : inv[0]->mu[a]); mu=((mu > inv[2]->mu[c]) ? inv[2]->mu[c] : mu); mu*=cf; } if(inv.size()>3){ cerr << "only three inputs are allowed:" << inv.size() << endl; exit(2); } } if(flag==MUL){ if(inv.size()==1) mu=inv[0]->mu[a]*cf; if(inv.size()==2) mu=inv[0]->mu[a]*inv[1]->mu[b]*cf; if(inv.size()==3){ mu=inv[0]->mu[a]*inv[1]->mu[b]*inv[2]->mu[c]*cf; } if(inv.size()>3){ cerr << "only three inputs are allowed:" << inv.size() << endl; exit(2); } }}float rule::getm(){ return(mu);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -