<?php

require_once '../fuzzy-logic-class.php';
/*--------------------------- start tank demo controll --------*/
$x = new Fuzzy_Logic();
$x->clearMembers();
/* ---------- set input members ---------*/
$x->setInputNames(array('ERROR', 'RATE'));
$x->addMember($x->getInputName(0), 'E_NEG', -1, -0.9, 0, LINFINITY);
$x->addMember($x->getInputName(0), 'E_OK', -0.1, 0, 0.1, TRIANGLE);
$x->addMember($x->getInputName(0), 'E_POS', 0, 0.9, 1, RINFINITY);
$x->addMember($x->GetInputName(1), 'R_NEG', -0.1, -0.07000000000000001, 0, LINFINITY);
$x->addMember($x->GetInputName(1), 'R_OK', -0.07000000000000001, 0, 0.07000000000000001, TRIANGLE);
$x->addMember($x->GetInputName(1), 'R_POS', 0, 0.07000000000000001, 0.1, RINFINITY);
/* ---------- set output members ---------*/
$x->setOutputNames(array('OUT'));
$x->addMember($x->getOutputName(0), 'CF', -1.0, -0.9, -0.8, TRIANGLE);
$x->addMember($x->getOutputName(0), 'CS', -0.6, -0.5, -0.4, TRIANGLE);
$x->addMember($x->getOutputName(0), 'NC', -0.1, 0.0, 0.1, TRIANGLE);
$x->addMember($x->getOutputName(0), 'OS', 0.4, 0.5, 0.6, TRIANGLE);
$x->addMember($x->getOutputName(0), 'OF', 0.8, 0.9, 1.0, TRIANGLE);
/* ---------- set rule table ------------ */
/* ---------- set rule table ------------ */
/* ---------- set rule table ------------ */
$x->clearRules();
$x->addRule('IF ERROR.E_NEG THEN OUT.CF');
$x->addRule('IF ERROR.E_OK THEN OUT.NC');
$x->addRule('IF ERROR.E_POS THEN OUT.OF');
$x->addRule('IF ERROR.E_OK AND RATE.R_POS THEN OUT.CS');
$x->addRule('IF ERROR.E_OK AND RATE.R_NEG THEN OUT.OS');
$x->setFuzzyTable(array(array('E_NEG', NULL, 'CF'), array('E_OK', NULL, 'NC'), array('E_POS', NULL, 'OF'), array('E_OK', 'R_POS', 'CS'), array('E_OK', 'R_NEG', 'OS')));