// Copyright (C) 2000 Dominic Letourneau (doumdi@yahoo.com)
//
//////////////////////////////////////////////////////////////////////
#include "FuzzyOperators.h"
namespace FD {
/*
///Vector<ObjectRef> and Vector<ObjectRef> concatenation
ObjectRef ObjectRefConcatVectVect(ObjectRef x, ObjectRef y) {
Vector<ObjectRef> &vect1 = object_cast<Vector<ObjectRef> >(x);
Vector<ObjectRef> &vect2 = object_cast<Vector<ObjectRef> >(y);
Vector<ObjectRef> *output = new Vector<ObjectRef>;
for (int i = 0; i < vect1.size(); i++) {
(*output).push_back(vect1[i]->clone());
}
for (int i = 0; i < vect2.size(); i++) {
(*output).push_back(vect2[i]->clone());
}
return ObjectRef(output);
}
REGISTER_DOUBLE_VTABLE(concatVtable, ObjectRefConcatVectVect, Vector<ObjectRef>, Vector<ObjectRef>);
///Vector<FuzzyFunction*> and Vector<FuzzyFunction*> concatenation
ObjectRef RuleConcatVectVect(ObjectRef x, ObjectRef y) {
Vector<FuzzyRule*> &vect1 = object_cast<Vector<FuzzyRule*> >(x);
Vector<FuzzyRule*> &vect2 = object_cast<Vector<FuzzyRule*> >(y);
Vector<FuzzyRule*> *output = new Vector<FuzzyRule*>;
for (int i = 0; i < vect1.size(); i++) {
(*output).push_back(vect1[i]->clone());
}
for (int i = 0; i < vect2.size(); i++) {
(*output).push_back(vect2[i]->clone());
}
return ObjectRef(output);
}
REGISTER_DOUBLE_VTABLE(concatVtable, RuleConcatVectVect, Vector<FuzzyRule*>, Vector<FuzzyRule*>);
///Vector<FuzzyFunction*> and Vector<FuzzyFunction*> concatenation
ObjectRef FunctionConcatVectVect(ObjectRef x, ObjectRef y) {
Vector<FuzzyFunction*> &vect1 = object_cast<Vector<FuzzyFunction*> >(x);
Vector<FuzzyFunction*> &vect2 = object_cast<Vector<FuzzyFunction*> >(y);
Vector<FuzzyFunction*> *output = new Vector<FuzzyFunction*>;
for (int i = 0; i < vect1.size(); i++) {
(*output).push_back(vect1[i]->clone());
}
for (int i = 0; i < vect2.size(); i++) {
(*output).push_back(vect2[i]->clone());
}
return ObjectRef(output);
}
REGISTER_DOUBLE_VTABLE(concatVtable, FunctionConcatVectVect, Vector<FuzzyFunction*>, Vector<FuzzyFunction*>);
///Vector<FuzzySet*> and Vector<FuzzySet*> concatenation
ObjectRef SetConcatVectVect(ObjectRef x, ObjectRef y) {
Vector<FuzzySet*> &vect1 = object_cast<Vector<FuzzySet*> >(x);
Vector<FuzzySet*> &vect2 = object_cast<Vector<FuzzySet*> >(y);
Vector<FuzzySet*> *output = new Vector<FuzzySet*>;
for (int i = 0; i < vect1.size(); i++) {
(*output).push_back(vect1[i]->clone());
}
for (int i = 0; i < vect2.size(); i++) {
(*output).push_back(vect2[i]->clone());
}
return ObjectRef(output);
}
REGISTER_DOUBLE_VTABLE(concatVtable, SetConcatVectVect, Vector<FuzzySet*>, Vector<FuzzySet*>);
*/
}//namespace FD
syntax highlighted by Code2HTML, v. 0.9.1