本文整理汇总了C++中DataNode::double_val方法的典型用法代码示例。如果您正苦于以下问题:C++ DataNode::double_val方法的具体用法?C++ DataNode::double_val怎么用?C++ DataNode::double_val使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DataNode
的用法示例。
在下文中一共展示了DataNode::double_val方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: compare_DataNode
int compare_DataNode(const void* A,const void* B)
{
DataNode *x = (DataNode *)A;
DataNode *y = (DataNode *)B;
if (x->missing && y->missing) {
return 0;
}
else if (x->missing && !y->missing) {
return 1;
}
else if (!x->missing && y->missing) {
return -1;
}
else {
if (x->double_val() < y->double_val()) {
return -1;
}
else if (x->double_val() == y->double_val()) {
return 0;
}
else {
return 1;
}
}
}
示例2: covariance
DataNode Field::covariance(const Field *B) const
{
if (B) throw exception("Field::covariance(B): not yet implemented");
DataNode retval;
retval.missing = 1;
if (col_struct.type() != 'S') {
unsigned i,k;
for (k=0,i=0; i<ne; i++) if (!dat_vec[i].missing) k++;
if (k >= 2) {
Vector<double> tmp(k);
for (k=0,i=0; i<ne; i++) {
if (!dat_vec[i].missing) tmp[k++] = dat_vec[i].double_val();
}
retval.double_val(tmp.variance());
retval.missing = 0;
}
}
return retval;
}
示例3: product
DataNode Field::product(void) const
{
DataNode retval;
retval.missing = 1;
if (col_struct.type() != 'S') {
unsigned i,k=0;
double x;
for (x=1.0,k=0,i=0; i<ne; i++) {
if (!dat_vec[i].missing) {
k++;
x *= dat_vec[i].double_val();
}
}
if (k) {
retval.missing = 0;
retval.double_val(x);
}
}
return retval;
}
示例4: sumsq
DataNode Field::sumsq(void) const
{
DataNode retval;
retval.missing = 1;
if (col_struct.type() !='S') {
unsigned i,k;
double y,x;
for (x=0.0, k=0,i=0; i<ne; i++) {
if (!dat_vec[i].missing) {
k++;
y = dat_vec[i].double_val();
x += y*y;
}
}
if (k) {
retval.missing = 0;
retval.double_val(x);
}
}
return retval;
}
示例5: min
DataNode Field::min(void) const
{
DataNode retval;
retval.missing = 1;
if (col_struct.type() != 'S') {
unsigned i, k=0;
while (dat_vec[k].missing) k++;
double y,mx = dat_vec[k].double_val();
for (i=k; i<ne; i++) {
if (!dat_vec[i].missing) {
y = dat_vec[i].double_val();
if ( y < mx) mx = y;
}
}
if (k < ne) {
retval.missing = 0;
retval.double_val(mx);
}
}
return retval;
}