kernel.cpp

Go to the documentation of this file.
00001 
00006 #include "kernel.h"
00007 
00008 REGISTER_CREATOR2(lemga::kernel::Linear,     k_lin);
00009 REGISTER_CREATOR2(lemga::kernel::Polynomial, k_pol);
00010 REGISTER_CREATOR2(lemga::kernel::Stump,      k_stu);
00011 REGISTER_CREATOR2(lemga::kernel::Perceptron, k_per);
00012 REGISTER_CREATOR2(lemga::kernel::RBF,        k_rbf);
00013 REGISTER_CREATOR2(lemga::kernel::Sigmoid,    k_sig);
00014 
00015 namespace lemga {
00016 namespace kernel {
00017 
00018 bool Kernel::serialize (std::ostream& os, ver_list& vl) const {
00019     SERIALIZE_PARENT(Object, os, vl, 1);
00020     return os;
00021 }
00022 
00023 bool Kernel::unserialize (std::istream& is, ver_list& vl, const id_t& d) {
00024     if (d != id() && d != NIL_ID) return false;
00025     UNSERIALIZE_PARENT(Object, is, vl, 1, v);
00026     assert(v > 0);
00027     return true;
00028 }
00029 
00030 bool Polynomial::serialize (std::ostream& os, ver_list& vl) const {
00031     SERIALIZE_PARENT(Kernel, os, vl, 1);
00032     return (os << degree << ' ' << gamma << ' ' << coef0 << '\n');
00033 }
00034 
00035 bool
00036 Polynomial::unserialize (std::istream& is, ver_list& vl, const id_t& d) {
00037     if (d != id() && d != NIL_ID) return false;
00038     UNSERIALIZE_PARENT(Kernel, is, vl, 1, v);
00039     assert(v > 0);
00040     return (is >> degree >> gamma >> coef0) && (gamma > 0);
00041 }
00042 
00043 bool RBF::serialize (std::ostream& os, ver_list& vl) const {
00044     SERIALIZE_PARENT(Kernel, os, vl, 1);
00045     return (os << gamma << '\n');
00046 }
00047 
00048 bool RBF::unserialize (std::istream& is, ver_list& vl, const id_t& d) {
00049     if (d != id() && d != NIL_ID) return false;
00050     UNSERIALIZE_PARENT(Kernel, is, vl, 1, v);
00051     assert(v > 0);
00052     return (is >> gamma) && (gamma > 0);
00053 }
00054 
00055 bool Sigmoid::serialize (std::ostream& os, ver_list& vl) const {
00056     SERIALIZE_PARENT(Kernel, os, vl, 1);
00057     return (os << gamma << ' ' << coef0 << '\n');
00058 }
00059 
00060 bool Sigmoid::unserialize (std::istream& is, ver_list& vl, const id_t& d) {
00061     if (d != id() && d != NIL_ID) return false;
00062     UNSERIALIZE_PARENT(Kernel, is, vl, 1, v);
00063     assert(v > 0);
00064     return (is >> gamma >> coef0) && (gamma > 0);
00065 }
00066 
00067 }} // namespace lemga::kernel

Generated on Wed Nov 8 08:15:21 2006 for LEMGA by  doxygen 1.4.6