11 #ifndef __PARAMETER_H__ 12 #define __PARAMETER_H__ 35 const char* name,
const char* description);
43 void print(
const char* prefix);
101 static bool compare_ptype(EPrimitiveType ptype,
void* data1,
void* data2,
117 static bool compare_stype(EStructType stype, EPrimitiveType ptype,
118 void* data1,
void* data2,
floatmax_t accuracy=0.0);
126 static bool copy_ptype(EPrimitiveType ptype,
void* source,
void* target);
135 static bool copy_stype(EStructType stype, EPrimitiveType ptype,
136 void* source,
void* target);
186 uint32_t& hash, uint32_t& carry, uint32_t& total_length);
194 char* new_prefix(
const char* s1,
const char* s2);
197 bool new_sgserial(
CSGObject** param, EPrimitiveType
generic,
198 const char* sgserializable_name,
227 virtual void print(
const char* prefix=
"");
246 return m_params.get_num_elements();
257 void set_from_parameters(
Parameter* params);
270 bool contains_parameter(
const char* name);
279 return m_params.get_element(idx);
291 for (
index_t i=0; i<m_params.get_num_elements(); ++i)
293 result=m_params.get_element(i);
294 if (!strcmp(name, result->
m_name))
311 void add(
bool* param,
const char* name,
312 const char* description=
"");
318 void add(
char* param,
const char* name,
319 const char* description=
"");
325 void add(int8_t* param,
const char* name,
326 const char* description=
"");
332 void add(uint8_t* param,
const char* name,
333 const char* description=
"");
339 void add(int16_t* param,
const char* name,
340 const char* description=
"");
346 void add(uint16_t* param,
const char* name,
347 const char* description=
"");
353 void add(int32_t* param,
const char* name,
354 const char* description=
"");
360 void add(uint32_t* param,
const char* name,
361 const char* description=
"");
367 void add(int64_t* param,
const char* name,
368 const char* description=
"");
374 void add(uint64_t* param,
const char* name,
375 const char* description=
"");
381 void add(
float32_t* param,
const char* name,
382 const char* description=
"");
388 void add(
float64_t* param,
const char* name,
389 const char* description=
"");
396 const char* description=
"");
403 const char* description=
"");
410 const char* name,
const char* description=
"");
417 const char* description=
"");
424 const char* description=
"");
431 const char* description=
"");
438 const char* description=
"");
445 const char* description=
"");
452 const char* description=
"");
459 const char* description=
"");
466 const char* description=
"");
473 const char* description=
"");
480 const char* description=
"");
487 const char* description=
"");
494 const char* description=
"");
501 const char* description=
"");
508 const char* description=
"");
515 const char* description=
"");
522 const char* description=
"");
529 const char* description=
"");
536 const char* description=
"");
543 const char* description=
"");
550 const char* description=
"");
557 const char* description=
"");
564 const char* description=
"");
571 const char* description=
"");
578 const char* description=
"");
585 const char* description=
"");
592 const char* description=
"");
599 const char* description=
"");
610 void add_vector(
bool** param,
index_t* length,
611 const char* name,
const char* description=
"");
618 void add_vector(
char** param,
index_t* length,
619 const char* name,
const char* description=
"");
626 void add_vector(int8_t** param,
index_t* length,
627 const char* name,
const char* description=
"");
634 void add_vector(uint8_t** param,
index_t* length,
635 const char* name,
const char* description=
"");
642 void add_vector(int16_t** param,
index_t* length,
643 const char* name,
const char* description=
"");
650 void add_vector(uint16_t** param,
index_t* length,
651 const char* name,
const char* description=
"");
658 void add_vector(int32_t** param,
index_t* length,
659 const char* name,
const char* description=
"");
666 void add_vector(uint32_t** param,
index_t* length,
667 const char* name,
const char* description=
"");
674 void add_vector(int64_t** param,
index_t* length,
675 const char* name,
const char* description=
"");
682 void add_vector(uint64_t** param,
index_t* length,
683 const char* name,
const char* description=
"");
691 const char* name,
const char* description=
"");
699 const char* name,
const char* description=
"");
707 const char* name,
const char* description=
"");
715 const char* name,
const char* description=
"");
723 const char* name,
const char* description=
"");
731 const char* name,
const char* description=
"");
739 const char* name,
const char* description=
"");
747 const char* name,
const char* description=
"");
755 const char* name,
const char* description=
"");
763 const char* name,
const char* description=
"");
771 const char* name,
const char* description=
"");
779 const char* name,
const char* description=
"");
787 const char* name,
const char* description=
"");
795 const char* name,
const char* description=
"");
803 const char* name,
const char* description=
"");
811 const char* name,
const char* description=
"");
819 const char* name,
const char* description=
"");
827 const char* name,
const char* description=
"");
835 const char* name,
const char* description=
"");
843 const char* name,
const char* description=
"");
851 const char* name,
const char* description=
"");
859 const char* name,
const char* description=
"");
867 const char* name,
const char* description=
"");
875 const char* name,
const char* description=
"");
883 const char* name,
const char* description=
"");
891 const char* name,
const char* description=
"");
899 const char* name,
const char* description=
"");
907 const char* name,
const char* description=
"");
915 const char* name,
const char* description=
"");
923 const char* name,
const char* description=
"");
931 const char* name,
const char* description=
"");
939 const char* name,
const char* description=
"");
948 const char* description=
"");
955 const char* description=
"");
962 const char* description=
"");
969 const char* description=
"");
976 const char* description=
"");
983 const char* description=
"");
990 const char* description=
"");
997 const char* description=
"");
1004 const char* description=
"");
1011 const char* description=
"");
1018 const char* description=
"");
1025 const char* description=
"");
1032 const char* description=
"");
1039 const char* description=
"");
1046 const char* description=
"");
1053 const char* description=
"");
1060 const char* description=
"");
1067 const char* description=
"");
1074 const char* description=
"");
1081 const char* description=
"");
1088 const char* description=
"");
1095 const char* description=
"");
1102 const char* description=
"");
1109 const char* description=
"");
1116 const char* description=
"");
1123 const char* description=
"");
1130 const char* description=
"");
1137 const char* description=
"");
1144 const char* description=
"");
1151 const char* description=
"");
1158 const char* description=
"");
1165 const char* description=
"");
1172 const char* description=
"");
1179 const char* name,
const char* description=
"");
1186 const char* description=
"");
1193 const char* description=
"");
1200 const char* description=
"");
1207 const char* name,
const char* description=
"");
1214 const char* name,
const char* description=
"");
1221 const char* name,
const char* description=
"");
1228 const char* name,
const char* description=
"");
1235 const char* name,
const char* description=
"");
1247 void add_matrix(
bool** param,
1249 const char* name,
const char* description=
"");
1257 void add_matrix(
char** param,
1259 const char* name,
const char* description=
"");
1267 void add_matrix(int8_t** param,
1269 const char* name,
const char* description=
"");
1277 void add_matrix(uint8_t** param,
1279 const char* name,
const char* description=
"");
1287 void add_matrix(int16_t** param,
1289 const char* name,
const char* description=
"");
1297 void add_matrix(uint16_t** param,
1299 const char* name,
const char* description=
"");
1307 void add_matrix(int32_t** param,
1309 const char* name,
const char* description=
"");
1317 void add_matrix(uint32_t** param,
1319 const char* name,
const char* description=
"");
1327 void add_matrix(int64_t** param,
1329 const char* name,
const char* description=
"");
1337 void add_matrix(uint64_t** param,
1339 const char* name,
const char* description=
"");
1349 const char* name,
const char* description=
"");
1359 const char* name,
const char* description=
"");
1369 const char* name,
const char* description=
"");
1379 const char* name,
const char* description=
"");
1389 const char* name,
const char* description=
"");
1399 const char* name,
const char* description=
"");
1409 const char* name,
const char* description=
"");
1419 const char* name,
const char* description=
"");
1429 const char* name,
const char* description=
"");
1439 const char* name,
const char* description=
"");
1449 const char* name,
const char* description=
"");
1459 const char* name,
const char* description=
"");
1469 const char* name,
const char* description=
"");
1479 const char* name,
const char* description=
"");
1489 const char* name,
const char* description=
"");
1499 const char* name,
const char* description=
"");
1509 const char* name,
const char* description=
"");
1519 const char* name,
const char* description=
"");
1529 const char* name,
const char* description=
"");
1539 const char* name,
const char* description=
"");
1549 const char* name,
const char* description=
"");
1559 const char* name,
const char* description=
"");
1569 const char* name,
const char* description=
"");
1579 const char* name,
const char* description=
"");
1589 const char* name,
const char* description=
"");
1599 const char* name,
const char* description=
"");
1609 const char* name,
const char* description=
"");
1619 const char* name,
const char* description=
"");
1629 const char* name,
const char* description=
"");
1639 const char* name,
const char* description=
"");
1649 const char* name,
const char* description=
"");
1659 const char* name,
const char* description=
"");
1666 const char* description=
"");
1673 const char* description=
"");
1680 const char* description=
"");
1687 const char* description=
"");
1694 const char* description=
"");
1701 const char* description=
"");
1708 const char* description=
"");
1715 const char* description=
"");
1722 const char* description=
"");
1729 const char* description=
"");
1736 const char* description=
"");
1743 const char* description=
"");
1750 const char* description=
"");
1757 const char* description=
"");
1764 const char* description=
"");
1771 const char* description=
"");
1778 const char* description=
"");
1785 const char* description=
"");
1792 const char* description=
"");
1799 const char* description=
"");
1806 const char* description=
"");
1813 const char* description=
"");
1820 const char* description=
"");
1827 const char* description=
"");
1834 const char* description=
"");
1841 const char* description=
"");
1848 const char* description=
"");
1855 const char* description=
"");
1862 const char* description=
"");
1869 const char* description=
"");
1876 const char* description=
"");
1883 const char* description=
"");
1890 const char* description=
"");
1897 const char* name,
const char* description=
"");
1904 const char* description=
"");
1911 const char* description=
"");
1918 const char* description=
"");
1925 const char* name,
const char* description=
"");
1932 const char* name,
const char* description=
"");
1939 const char* name,
const char* description=
"");
1946 const char* name,
const char* description=
"");
1953 const char* name,
const char* description=
"");
1961 const char* name,
const char* description=
"");
1968 const char* name,
const char* description=
"");
1975 const char* name,
const char* description=
"");
1982 const char* name,
const char* description=
"");
1989 const char* name,
const char* description=
"");
1996 const char* name,
const char* description=
"");
2003 const char* name,
const char* description=
"");
2010 const char* name,
const char* description=
"");
2017 const char* name,
const char* description=
"");
2024 const char* name,
const char* description=
"");
2031 const char* name,
const char* description=
"");
2038 const char* name,
const char* description=
"");
2045 const char* name,
const char* description=
"");
2052 const char* name,
const char* description=
"");
2059 const char* name,
const char* description=
"");
2071 virtual void add_type(
const TSGDataType* type,
void* param,
2073 const char* description);
2076 #endif //__PARAMETER_H__
template class SGSparseMatrix
TParameter * get_parameter(const char *name)
std::complex< float64_t > complex128_t
virtual int32_t get_num_parameters()
bool operator==(const TParameter &other) const
TParameter * get_parameter(int32_t idx)
static bool compare_stype(EStructType stype, EPrimitiveType ptype, void *data1, void *data2, floatmax_t accuracy=0.0)
static bool compare_ptype(EPrimitiveType ptype, void *data1, void *data2, floatmax_t accuracy=0.0)
Datatypes that shogun supports.
bool operator<(const TParameter &other) const
template class SGSparseVector The assumtion is that the stored SGSparseVectorEntry<T>* vector is orde...
bool save(CSerializableFile *file, const char *prefix="")
TParameter(const TSGDataType *datatype, void *parameter, const char *name, const char *description)
DynArray< TParameter * > m_params
Class SGObject is the base class of all shogun objects.
Template Dynamic array class that creates an array that can be used like a list or an array...
bool m_was_allocated_from_scratch
void print(const char *prefix)
static bool copy_ptype(EPrimitiveType ptype, void *source, void *target)
void get_incremental_hash(uint32_t &hash, uint32_t &carry, uint32_t &total_length)
all of classes and functions are contained in the shogun namespace
bool load(CSerializableFile *file, const char *prefix="")
bool equals(TParameter *other, float64_t accuracy=0.0)
bool copy(TParameter *target)
void copy_data(const TParameter *source)
void allocate_data_from_scratch(SGVector< index_t > dims, bool new_cont_call=true)
static bool copy_stype(EStructType stype, EPrimitiveType ptype, void *source, void *target)
bool operator>(const TParameter &other) const