class CascadeClassifier{
protected:
struct _tree_branch_m;
typedef char *Set_m;
typedef _tree_branch_m *Tree_m;
struct _tree_branch_m
{
short NodeType; /* 0=leaf 1=branch 2=cut 3=subset */
short Leaf; /* most frequent class at this node */
float Items, /* no of items at this node */
*ClassDist, /* class distribution of items */
Errors; /* no of errors at this node */
short Tested; /* attribute referenced in test */
short Forks; /* number of branches at this node */
float Cut, /* threshold for continuous attribute */
Lower, /* lower limit of soft threshold */
Upper; /* upper limit ditto */
Set_m *Subset; /* subsets of discrete values */
Tree_m *Branch; /* Branch[x] = (sub)tree for outcome x */
};
virtual void ClassifyCase(Tree_m subtree, float Weight, float *LowClassSum, float *ClassSum);
};
void CascadeClassifier::ClassifyCase(Tree_m Subtree, float Weight, float *LowClassSum, float *ClassSum)
{
if ( ! Subtree->NodeType )//error
{
}
}
int main() {}
Y2xhc3MgQ2FzY2FkZUNsYXNzaWZpZXJ7CgoKcHJvdGVjdGVkOgoJc3RydWN0IF90cmVlX2JyYW5jaF9tOwogICAgdHlwZWRlZiAgY2hhciAgKlNldF9tOwogICAgdHlwZWRlZiBfdHJlZV9icmFuY2hfbSAqVHJlZV9tOwogICAgc3RydWN0IF90cmVlX2JyYW5jaF9tCiAgICB7CiAgICAgICAgICAgIHNob3J0ICAgTm9kZVR5cGU7ICAgLyogMD1sZWFmIDE9YnJhbmNoIDI9Y3V0IDM9c3Vic2V0ICovCiAgICAgICAgICAgIHNob3J0ICAgTGVhZjsgICAgICAgLyogbW9zdCBmcmVxdWVudCBjbGFzcyBhdCB0aGlzIG5vZGUgKi8KICAgICAgICAgICAgZmxvYXQgICBJdGVtcywgICAgICAvKiBubyBvZiBpdGVtcyBhdCB0aGlzIG5vZGUgKi8KICAgICAgICAgICAgICAgICAgICAqQ2xhc3NEaXN0LCAvKiBjbGFzcyBkaXN0cmlidXRpb24gb2YgaXRlbXMgKi8KICAgICAgICAgICAgICAgICAgICBFcnJvcnM7ICAgICAvKiBubyBvZiBlcnJvcnMgYXQgdGhpcyBub2RlICovCiAgICAgICAgICAgIHNob3J0ICAgVGVzdGVkOyAgICAgLyogYXR0cmlidXRlIHJlZmVyZW5jZWQgaW4gdGVzdCAqLwogICAgICAgICAgICBzaG9ydCAgIEZvcmtzOyAgICAgIC8qIG51bWJlciBvZiBicmFuY2hlcyBhdCB0aGlzIG5vZGUgKi8KICAgICAgICAgICAgZmxvYXQgICBDdXQsICAgICAgICAvKiB0aHJlc2hvbGQgZm9yIGNvbnRpbnVvdXMgYXR0cmlidXRlICovCiAgICAgICAgICAgICAgICAgICAgTG93ZXIsICAgICAgLyogbG93ZXIgbGltaXQgb2Ygc29mdCB0aHJlc2hvbGQgKi8KICAgICAgICAgICAgICAgICAgICBVcHBlcjsgICAgICAvKiB1cHBlciBsaW1pdCBkaXR0byAqLwogICAgICAgICAgICBTZXRfbSAgICpTdWJzZXQ7ICAgIC8qIHN1YnNldHMgb2YgZGlzY3JldGUgdmFsdWVzICAqLwogICAgICAgICAgICBUcmVlX20gICpCcmFuY2g7ICAgIC8qIEJyYW5jaFt4XSA9IChzdWIpdHJlZSBmb3Igb3V0Y29tZSB4ICovCiAgICB9OwoKCiAgICB2aXJ0dWFsIHZvaWQgQ2xhc3NpZnlDYXNlKFRyZWVfbSBzdWJ0cmVlLCBmbG9hdCBXZWlnaHQsIGZsb2F0ICpMb3dDbGFzc1N1bSwgZmxvYXQgKkNsYXNzU3VtKTsKCn07Cgp2b2lkIENhc2NhZGVDbGFzc2lmaWVyOjpDbGFzc2lmeUNhc2UoVHJlZV9tIFN1YnRyZWUsIGZsb2F0IFdlaWdodCwgZmxvYXQgKkxvd0NsYXNzU3VtLCBmbG9hdCAqQ2xhc3NTdW0pCnsKICAgICBpZiAoICEgU3VidHJlZS0+Tm9kZVR5cGUgKS8vZXJyb3IKICAgICB7CgogICAgIH0KCn0KCmludCBtYWluKCkge30=