SHOGUN
4.0.0
|
parameter struct
在文件 Parameter.h 第 32 行定义.
Public 成员函数 | |
TParameter (const TSGDataType *datatype, void *parameter, const char *name, const char *description) | |
~TParameter () | |
void | print (const char *prefix) |
bool | save (CSerializableFile *file, const char *prefix="") |
bool | load (CSerializableFile *file, const char *prefix="") |
void | allocate_data_from_scratch (SGVector< index_t > dims, bool new_cont_call=true) |
void | copy_data (const TParameter *source) |
bool | equals (TParameter *other, float64_t accuracy=0.0, bool tolerant=false) |
bool | copy (TParameter *target) |
bool | operator== (const TParameter &other) const |
bool | operator< (const TParameter &other) const |
bool | operator> (const TParameter &other) const |
void | get_incremental_hash (uint32_t &hash, uint32_t &carry, uint32_t &total_length) |
bool | is_valid () |
静态 Public 成员函数 | |
static bool | compare_ptype (EPrimitiveType ptype, void *data1, void *data2, float64_t accuracy=0.0, bool tolerant=false) |
static bool | compare_stype (EStructType stype, EPrimitiveType ptype, void *data1, void *data2, float64_t accuracy=0.0, bool tolerant=false) |
static bool | copy_ptype (EPrimitiveType ptype, void *source, void *target) |
static bool | copy_stype (EStructType stype, EPrimitiveType ptype, void *source, void *target) |
Public 属性 | |
TSGDataType | m_datatype |
void * | m_parameter |
char * | m_name |
char * | m_description |
bool | m_delete_data |
bool | m_was_allocated_from_scratch |
|
explicit |
explicit constructor
datatype | datatype |
parameter | pointer to parameter |
name | name of parameter |
description | description of parameter |
在文件 Parameter.cpp 第 1782 行定义.
~TParameter | ( | ) |
destructor
在文件 Parameter.cpp 第 1793 行定义.
Allocates data for this instance from scratch. This is one of the core methods in parameter migration. It is used if parameters have to be loaded from file without having a class instance to put the data into. Namely, the data length variables are allocated, for numeric scalars, the memory is allocated, for SG_OBJECT scalars, a pointer to an CSGObject is allocated, for non-scalars, the pointer to the data is allocated for non-scalars, the actual data is also allocated via cont_new()
dims | desired length of the data |
new_cont_call | whether new_cont should be called, if false, only scalar non-sgobject data will be allocated (needed for migration) |
在文件 Parameter.cpp 第 2999 行定义.
|
static |
Given two pointers to a scalar element of a given primitive-type, this method compares the values up to a given accuracy.
If the type of the data is SGObject, recursively calls equals on the object.
ptype | primitive type of both data |
data1 | pointer 1 |
data2 | pointer 2 |
accuracy | accuracy to compare |
tolerant | allows linient check on float equality (within accuracy) |
ensure that no NULL data are de-referenced
在文件 Parameter.cpp 第 3293 行定义.
|
static |
Given two pointers to a string element of a given primitive-type, this method compares the values up to a given accuracy.
If the type of the data is SGObject, recursively calls equals on the object.
stype | string type of both data |
ptype | primitive type of both data |
data1 | pointer 1 |
data2 | pointer 2 |
accuracy | accuracy to compare |
tolerant | allows linient check on float equality (within accuracy) |
在文件 Parameter.cpp 第 3682 行定义.
bool copy | ( | TParameter * | target | ) |
void copy_data | ( | const TParameter * | source | ) |
Given another TParameter instance (with same type, except for lengths) all its data is copied to the current one. This means in case of numeric scalars that the value is copied and in SG_OBJECT scalars and any arrays that the pointer to the data is copied. The old data is overwritten. Old SG_OBJECTS are SG_UNREF'ed and the new ones are SG_REF'ed.
source | source TParameter instance to copy from |
在文件 Parameter.cpp 第 3088 行定义.
|
static |
copy primitive type from source to target
ptype | the primitive type |
source | from where to copy |
target | where to copy to |
在文件 Parameter.cpp 第 3538 行定义.
|
static |
copy structured type from source to target
stype | the structured type |
ptype | the primitive type that the structured objects use |
source | from where to copy |
target | where to copy to |
在文件 Parameter.cpp 第 3810 行定义.
bool equals | ( | TParameter * | other, |
float64_t | accuracy = 0.0 , |
||
bool | tolerant = false |
||
) |
Numerically this instance with another instance. Compares recursively in case of non-numerical parameters
other | other instance to compare with |
accuracy | accuracy for numerical comparison |
tolerant | allows linient check on float equality (within accuracy) |
在文件 Parameter.cpp 第 3148 行定义.
void get_incremental_hash | ( | uint32_t & | hash, |
uint32_t & | carry, | ||
uint32_t & | total_length | ||
) |
Incrementally get a hash from parameter value
hash | current hash value |
carry | value for incremental murmur hashing |
total_length | byte length of parameters. Function will add byte length to received value |
在文件 Parameter.cpp 第 2460 行定义.
bool is_valid | ( | ) |
test if parameter can be validly accessed, e.g., in case of a list/vector/matrix of objects the list/vector/matrix has non-zero length
在文件 Parameter.cpp 第 2544 行定义.
bool load | ( | CSerializableFile * | file, |
const char * | prefix = "" |
||
) |
bool operator< | ( | const TParameter & | other | ) | const |
operator for comparison (by string m_name)
在文件 Parameter.cpp 第 2989 行定义.
bool operator== | ( | const TParameter & | other | ) | const |
operator for comparison, (by string m_name)
在文件 Parameter.cpp 第 2982 行定义.
bool operator> | ( | const TParameter & | other | ) | const |
operator for comparison (by string m_name)
在文件 Parameter.cpp 第 2994 行定义.
void print | ( | const char * | prefix | ) |
bool save | ( | CSerializableFile * | file, |
const char * | prefix = "" |
||
) |
TSGDataType m_datatype |
type of parameter
在文件 Parameter.h 第 165 行定义.
bool m_delete_data |
if this is set true, the data, m_parameter points to, m_parameter itself, and possible lengths of the type will be deleted in destructor. This is needed because in data migration, TParameter instances are created from scratch without having a class instance and allocated data has to ne deleted in this case. The only way to set this is via an alternate constructor, false by default
在文件 Parameter.h 第 180 行定义.
char* m_description |
description of parameter
在文件 Parameter.h 第 171 行定义.
char* m_name |
name of parameter
在文件 Parameter.h 第 169 行定义.
void* m_parameter |
pointer to parameter
在文件 Parameter.h 第 167 行定义.
bool m_was_allocated_from_scratch |
在文件 Parameter.h 第 184 行定义.