Parameter.cpp

Go to the documentation of this file.
00001 /*
00002  * This program is free software; you can redistribute it and/or modify
00003  * it under the terms of the GNU General Public License as published by
00004  * the Free Software Foundation; either version 3 of the License, or
00005  * (at your option) any later version.
00006  *
00007  * Written (W) 2010 Soeren Sonnenburg
00008  * Copyright (C) 2010 Berlin Institute of Technology
00009  */
00010 #include "lib/Parameter.h"
00011 
00012 using namespace shogun;
00013 
00014 void CParameter::add(float64_t* parameter, const char* name,
00015         CRange* range, const char* description)
00016 {
00017     TParameter* par=new TParameter[1];
00018     par->parameter=parameter;
00019     par->datatype=DT_SCALAR_REAL;
00020 
00021     if (name)
00022         par->name=strdup(name);
00023     else
00024         par->name=NULL;
00025 
00026     if (description)
00027         par->description=strdup(description);
00028     else
00029         par->description=NULL;
00030 
00031     if (range)
00032         par->range=range;
00033     else
00034         par->range=NULL;
00035 
00036     m_parameters->append_element(par);
00037 }
00038 
00039 void CParameter::list_parameters()
00040 {
00041     ASSERT(m_parameters);
00042 
00043     for (int32_t i=0; i<get_num_parameters(); i++)
00044     {
00045         TParameter* par=m_parameters->get_element(i);
00046         SG_PRINT("Parameter '%s'\n", par->name);
00047     }
00048 }
00049 
00050 void CParameter::free_parameters()
00051 {
00052     ASSERT(m_parameters);
00053 
00054     for (int32_t i=0; i<get_num_parameters(); i++)
00055     {
00056         TParameter* par=m_parameters->get_element(i);
00057         free(par->name);
00058         free(par->description);
00059         delete[] par;
00060     }
00061 
00062     delete m_parameters;
00063     m_parameters=NULL;
00064 }
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

SHOGUN Machine Learning Toolbox - Documentation