mageec  0.1.0
MAchine Guided Energy Efficient Compilation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
Classes | Macros | Typedefs | Functions
classify-defns.h File Reference
#include <stdio.h>
#include <math.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
#include <time.h>

Go to the source code of this file.

Classes

union  _def_val
 
struct  _def_elt
 
struct  _elt_rec
 
union  _attribute_value
 
struct  _treerec
 
struct  _condrec
 
struct  _rulerec
 
struct  _ruletreerec
 
struct  _rulesetrec
 
struct  _classify_environment
 

Macros

#define SEE5
 
#define Nil   0 /* null pointer */
 
#define false   0
 
#define true   1
 
#define None   -1
 
#define Epsilon   1E-4
 
#define EXCLUDE   1 /* special attribute status: do not use */
 
#define SKIP   2 /* do not use in classifiers */
 
#define DISCRETE   4 /* ditto: collect values as data read */
 
#define ORDERED   8 /* ditto: ordered discrete values */
 
#define DATEVAL   16 /* ditto: YYYY/MM/DD or YYYY-MM-DD */
 
#define STIMEVAL   32 /* ditto: HH:MM:SS */
 
#define TSTMPVAL   64 /* date time */
 
#define UNKNOWN   01600000000 /* 1.5777218104420236e-30 */
 
#define NA   01 /* 1.4012984643248171e-45 */
 
#define BrDiscr   1
 
#define BrThresh   2
 
#define BrSubset   3
 
#define Alloc(N, T)   (T *) Pmalloc((N)*sizeof(T))
 
#define AllocZero(N, T)   (T *) Pcalloc(N, sizeof(T))
 
#define Realloc(V, N, T)   V = (T *) Prealloc(V, (N)*sizeof(T))
 
#define Max(a, b)   ((a)>(b) ? (a) : (b))
 
#define Min(a, b)   ((a)<(b) ? (a) : (b))
 
#define Bit(b)   (1 << (b))
 
#define In(b, s)   ((s[(b) >> 3]) & Bit((b) & 07))
 
#define SetBit(b, s)   (s[(b) >> 3] |= Bit((b) & 07))
 
#define ForEach(v, f, l)   for(v=f ; v<=l ; ++v)
 
#define StatBit(a, b)   (SpecialStatus[a]&(b))
 
#define Exclude(a)   StatBit(a,EXCLUDE)
 
#define Skip(a)   StatBit(a,EXCLUDE|SKIP)
 
#define Discrete(a)   (MaxAttVal[a] || StatBit(a,DISCRETE))
 
#define Continuous(a)   (! MaxAttVal[a] && ! StatBit(a,DISCRETE))
 
#define Ordered(a)   StatBit(a,ORDERED)
 
#define DateVal(a)   StatBit(a,DATEVAL)
 
#define TimeVal(a)   StatBit(a,STIMEVAL)
 
#define TStampVal(a)   StatBit(a,TSTMPVAL)
 
#define Space(s)   (s==' ' || s=='\n' || s=='\r' || s=='\t')
 
#define SkipComment   while ( ( c = InChar(f) ) != '\n' && c != EOF )
 
#define FreeUnlessNil(p)   if((p)!=Nil) free(p)
 
#define Free(x)   free(x)
 
#define assert(x)
 
#define P1(x)   (rint((x)*10) / 10)
 
#define Of   stdout
 
#define Goodbye(x)   exit(x)
 
#define CharWidth(s)   ((int) strlen(s))
 
#define NOFILE   0
 
#define BADCLASSTHRESH   1
 
#define LEQCLASSTHRESH   2
 
#define BADATTNAME   3
 
#define EOFINATT   4
 
#define SINGLEATTVAL   5
 
#define BADATTVAL   6
 
#define BADNUMBER   7
 
#define BADCLASS   8
 
#define BADCOSTCLASS   9
 
#define BADCOST   10
 
#define NOMEM   11
 
#define TOOMANYVALS   12
 
#define BADDISCRETE   13
 
#define NOTARGET   14
 
#define BADCTARGET   15
 
#define BADDTARGET   16
 
#define LONGNAME   17
 
#define HITEOF   18
 
#define MISSNAME   19
 
#define BADDATE   20
 
#define BADTIME   21
 
#define BADTSTMP   22
 
#define DUPATTNAME   23
 
#define UNKNOWNATT   24
 
#define BADDEF1   25
 
#define BADDEF2   26
 
#define BADDEF3   27
 
#define BADDEF4   28
 
#define SAMEATT   29
 
#define MODELFILE   30
 
#define CWTATTERR   31
 
#define PREC   7 /* precision */
 
#define DefOp(DE)   DE._op_code
 
#define DefSVal(DE)   DE._operand._s_val
 
#define DefNVal(DE)   DE._operand._n_val
 
#define OP_ATT   0 /* opcodes */
 
#define OP_NUM   1
 
#define OP_STR   2
 
#define OP_MISS   3
 
#define OP_AND   10
 
#define OP_OR   11
 
#define OP_EQ   20
 
#define OP_NE   21
 
#define OP_GT   22
 
#define OP_GE   23
 
#define OP_LT   24
 
#define OP_LE   25
 
#define OP_SEQ   26
 
#define OP_SNE   27
 
#define OP_PLUS   30
 
#define OP_MINUS   31
 
#define OP_UMINUS   32
 
#define OP_MULT   33
 
#define OP_DIV   34
 
#define OP_MOD   35
 
#define OP_POW   36
 
#define OP_SIN   40
 
#define OP_COS   41
 
#define OP_TAN   42
 
#define OP_LOG   43
 
#define OP_EXP   44
 
#define OP_INT   45
 
#define OP_END   99
 
#define CVal(Case, Attribute)   Case[Attribute]._cont_val
 
#define DVal(Case, Attribute)   Case[Attribute]._discr_val
 
#define XDVal(Case, Att)   (Case[Att]._discr_val & 077777777)
 
#define SVal(Case, Attribute)   Case[Attribute]._discr_val
 
#define Class(Case)   (*Case)._discr_val
 
#define Weight(Case)   (*(Case-1))._cont_val
 
#define Unknown(Case, Att)   (DVal(Case,Att)==UNKNOWN)
 
#define UnknownVal(AV)   (AV._discr_val==UNKNOWN)
 
#define NotApplic(Case, Att)   (DVal(Case,Att)==NA)
 
#define NotApplicVal(AV)   (AV._discr_val==NA)
 
#define TX_Line(l, f)   "\n*** line %d of `%s': ", l, f
 
#define E_NOFILE(f, e)   "cannot open file %s%s\n", f, e
 
#define E_BADATTNAME
 
#define E_EOFINATT   "unexpected eof while reading attribute `%s'\n"
 
#define E_SINGLEATTVAL(a, v)
 
#define E_DUPATTNAME   "multiple attributes with name `%s'\n"
 
#define E_CWTATTERR   "case weight attribute must be continuous\n"
 
#define E_BADATTVAL(v, a)   "bad value of `%s' for attribute `%s'\n", v, a
 
#define E_BADNUMBER(a)   "value of `%s' changed to `?'\n", a
 
#define E_BADCLASS   "bad class value `%s'l\n"
 
#define E_BADCLASSTHRESH   "bad class threshold `%s'\n"
 
#define E_LEQCLASSTHRESH   "class threshold `%s' <= previous threshold\n"
 
#define E_BADCOSTCLASS   "bad class `%s'\n"
 
#define E_BADCOST   "bad cost value `%s'\n"
 
#define E_NOMEM   "unable to allocate sufficient memory\n"
 
#define E_TOOMANYVALS(a, n)
 
#define E_BADDISCRETE
 
#define E_NOTARGET   "target attribute `%s' not found\n"
 
#define E_BADCTARGET
 
#define E_BADDTARGET
 
#define E_LONGNAME   "overlength name: check data file formats\n"
 
#define E_HITEOF   "unexpected end of file\n"
 
#define E_MISSNAME   "missing name or value before `%s'\n"
 
#define E_BADTSTMP(d, a)   "bad timestamp `%s' for attribute `%s'\n", d, a
 
#define E_BADDATE(d, a)   "bad date `%s' for attribute `%s'\n", d, a
 
#define E_BADTIME(d, a)   "bad time `%s' for attribute `%s'\n", d, a
 
#define E_UNKNOWNATT   "unknown attribute name `%s'\n"
 
#define E_BADDEF1(a, s, x)
 
#define E_BADDEF2(a, s, x)
 
#define E_BADDEF3   "cannot define target attribute `%s'\n"
 
#define E_BADDEF4
 
#define E_SAMEATT(a, b)
 
#define EX_MODELFILE(f)   "file %s incompatible with .names file\n", f
 
#define E_MFATT   "undefined or excluded attribute"
 
#define E_MFATTVAL   "undefined attribute value"
 
#define E_MFCLASS   "undefined class"
 
#define E_MFEOF   "unexpected eof"
 
#define T_ErrorLimit   "Error limit exceeded\n"
 

Typedefs

typedef unsigned char Boolean
 
typedef unsigned char BranchType
 
typedef unsigned char * Set
 
typedef unsigned char Byte
 
typedef char * String
 
typedef int CaseNo
 
typedef float CaseCount
 
typedef int ClassNo
 
typedef int DiscrValue
 
typedef int Attribute
 
typedef float ContValue
 
typedef union _def_val DefVal
 
typedef struct _def_elt DefElt
 
typedef struct _def_eltDefinition
 
typedef struct _elt_rec EltRec
 
typedef union _attribute_value AttValue
 
typedef union _attribute_valueDataRec
 
typedef struct _treerecTree
 
typedef struct _treerec TreeRec
 
typedef int RuleNo
 
typedef struct _condrec CondRec
 
typedef struct _condrecCondition
 
typedef struct _rulerec RuleRec
 
typedef struct _rulerecCRule
 
typedef struct _ruletreerecRuleTree
 
typedef struct _ruletreerec RuleTreeRec
 
typedef struct _rulesetrec RuleSetRec
 
typedef struct _rulesetrecCRuleSet
 
typedef struct
_classify_environment 
CEnvRec
 
typedef struct
_classify_environment
CEnv
 

Functions

Boolean ReadName (FILE *f, String s, int n, char ColonOpt)
 
void GetNames (FILE *Nf)
 
void ExplicitAtt (FILE *Nf)
 
int Which (String Val, String *List, int First, int Last)
 
int InChar (FILE *f)
 
DataRec GetDataRec (FILE *Df, Boolean Train)
 
int StoreIVal (String S)
 
void CheckValue (DataRec DVec, Attribute Att)
 
void ImplicitAtt (FILE *Nf)
 
void ReadDefinition (FILE *f)
 
void Append (char c)
 
Boolean Expression ()
 
Boolean Conjunct ()
 
Boolean SExpression ()
 
Boolean AExpression ()
 
Boolean Term ()
 
Boolean Factor ()
 
Boolean Primary ()
 
Boolean Atom ()
 
Boolean Find (String S)
 
int FindOne (String *Alt)
 
Attribute FindAttName ()
 
void DefSyntaxError (String Msg)
 
void DefSemanticsError (int Fi, String Msg, int OpCode)
 
void Dump (char OpCode, ContValue F, String S, int Fi)
 
void DumpOp (char OpCode, int Fi)
 
Boolean UpdateTStack (char OpCode, ContValue F, String S, int Fi)
 
AttValue EvaluateDef (Definition D, DataRec Case)
 
void ReadFilePrefix (String Extension)
 
void ReadHeader ()
 
Tree GetTree (String Extension)
 
Tree InTree ()
 
CRuleSet GetRules (String Extension)
 
CRuleSet InRules ()
 
CRule InRule ()
 
Condition InCondition ()
 
void ConstructRuleTree (CRuleSet RS)
 
void SetTestIndex (Condition C)
 
RuleTree GrowRT (RuleNo *RR, int RRN, CRule *Rule)
 
int DesiredOutcome (CRule R, int TI)
 
int SelectTest (RuleNo *RR, int RRN, CRule *Rule)
 
int ReadProp (char *Delim)
 
String RemoveQuotes (String S)
 
Set MakeSubset (Attribute Att)
 
Tree Leaf (double *Freq, ClassNo NodeClass, CaseCount Cases, CaseCount Errors)
 
void GetMCosts (FILE *f)
 
ClassNo TreeClassify (DataRec CaseDesc, Tree DecisionTree, CEnv E)
 
void FollowAllBranches (DataRec CaseDesc, Tree T, float Fraction, double *Prob, Boolean *AttUsed)
 
void FindLeaf (DataRec CaseDesc, Tree T, Tree PT, float Wt, double *Prob, Boolean *AttUsed)
 
ClassNo RuleClassify (DataRec CaseDesc, CRuleSet RS, CEnv E)
 
int FindOutcome (DataRec Case, Condition OneCond)
 
Boolean Satisfies (DataRec CaseDesc, Condition OneCond)
 
Boolean Matches (CRule R, DataRec Case)
 
void CheckActiveSpace (int N, CEnv E)
 
void MarkActive (RuleTree RT, DataRec Case, CEnv E)
 
ClassNo BoostClassify (DataRec CaseDesc, int MaxTrial, CEnv E)
 
ClassNo SelectClass (ClassNo Default, Boolean UseCosts, double *Prob)
 
double MisclassCost (double *LocalFreq, ClassNo C)
 
ClassNo Classify (DataRec CaseDesc, CEnv E)
 
float Interpolate (Tree T, ContValue Val)
 
FILE * GetFile (String Extension, String RW)
 
void CheckFile (String Extension, Boolean Write)
 
char ProcessOption (int Argc, char *Argv[], char *Options)
 
void * Pmalloc (size_t Bytes)
 
void * Prealloc (void *Present, size_t Bytes)
 
void * Pcalloc (size_t Number, unsigned Size)
 
void Error (int ErrNo, String S1, String S2)
 
int Denominator (ContValue Val)
 
int GetInt (String S, int N)
 
int DateToDay (String DS)
 
int TimeToSecs (String TS)
 
void SetTSBase (int y)
 
int TStampToMins (String TS)
 
void FreeGlobals ()
 
void FreeCosts ()
 
void FreeNames ()
 
void FreeTree (Tree T)
 
void FreeRule (CRule R)
 
void FreeRuleTree (RuleTree RT)
 
void FreeRules (CRuleSet RS)
 
void FreeLastCase (DataRec DVec)
 
void FreeVector (void **V, int First, int Last)
 

Macro Definition Documentation

#define Alloc (   N,
 
)    (T *) Pmalloc((N)*sizeof(T))

Definition at line 57 of file classify-defns.h.

#define AllocZero (   N,
 
)    (T *) Pcalloc(N, sizeof(T))

Definition at line 58 of file classify-defns.h.

#define assert (   x)

Definition at line 86 of file classify-defns.h.

#define BADATTNAME   3

Definition at line 104 of file classify-defns.h.

#define BADATTVAL   6

Definition at line 107 of file classify-defns.h.

#define BADCLASS   8

Definition at line 109 of file classify-defns.h.

#define BADCLASSTHRESH   1

Definition at line 102 of file classify-defns.h.

#define BADCOST   10

Definition at line 111 of file classify-defns.h.

#define BADCOSTCLASS   9

Definition at line 110 of file classify-defns.h.

#define BADCTARGET   15

Definition at line 116 of file classify-defns.h.

#define BADDATE   20

Definition at line 121 of file classify-defns.h.

#define BADDEF1   25

Definition at line 126 of file classify-defns.h.

#define BADDEF2   26

Definition at line 127 of file classify-defns.h.

#define BADDEF3   27

Definition at line 128 of file classify-defns.h.

#define BADDEF4   28

Definition at line 129 of file classify-defns.h.

#define BADDISCRETE   13

Definition at line 114 of file classify-defns.h.

#define BADDTARGET   16

Definition at line 117 of file classify-defns.h.

#define BADNUMBER   7

Definition at line 108 of file classify-defns.h.

#define BADTIME   21

Definition at line 122 of file classify-defns.h.

#define BADTSTMP   22

Definition at line 123 of file classify-defns.h.

#define Bit (   b)    (1 << (b))

Definition at line 64 of file classify-defns.h.

#define BrDiscr   1

Definition at line 53 of file classify-defns.h.

#define BrSubset   3

Definition at line 55 of file classify-defns.h.

#define BrThresh   2

Definition at line 54 of file classify-defns.h.

#define CharWidth (   s)    ((int) strlen(s))

Definition at line 98 of file classify-defns.h.

#define Class (   Case)    (*Case)._discr_val

Definition at line 226 of file classify-defns.h.

#define Continuous (   a)    (! MaxAttVal[a] && ! StatBit(a,DISCRETE))

Definition at line 74 of file classify-defns.h.

#define CVal (   Case,
  Attribute 
)    Case[Attribute]._cont_val

Definition at line 222 of file classify-defns.h.

#define CWTATTERR   31

Definition at line 132 of file classify-defns.h.

#define DATEVAL   16 /* ditto: YYYY/MM/DD or YYYY-MM-DD */

Definition at line 43 of file classify-defns.h.

#define DateVal (   a)    StatBit(a,DATEVAL)

Definition at line 76 of file classify-defns.h.

#define DefNVal (   DE)    DE._operand._n_val

Definition at line 183 of file classify-defns.h.

#define DefOp (   DE)    DE._op_code

Definition at line 181 of file classify-defns.h.

#define DefSVal (   DE)    DE._operand._s_val

Definition at line 182 of file classify-defns.h.

#define DISCRETE   4 /* ditto: collect values as data read */

Definition at line 41 of file classify-defns.h.

#define Discrete (   a)    (MaxAttVal[a] || StatBit(a,DISCRETE))

Definition at line 73 of file classify-defns.h.

#define DUPATTNAME   23

Definition at line 124 of file classify-defns.h.

#define DVal (   Case,
  Attribute 
)    Case[Attribute]._discr_val

Definition at line 223 of file classify-defns.h.

#define E_BADATTNAME
Value:
"`:' or `:=' expected after attribute name"\
" `%s'\n"

Definition at line 433 of file classify-defns.h.

#define E_BADATTVAL (   v,
 
)    "bad value of `%s' for attribute `%s'\n", v, a

Definition at line 440 of file classify-defns.h.

#define E_BADCLASS   "bad class value `%s'l\n"

Definition at line 442 of file classify-defns.h.

#define E_BADCLASSTHRESH   "bad class threshold `%s'\n"

Definition at line 443 of file classify-defns.h.

#define E_BADCOST   "bad cost value `%s'\n"

Definition at line 446 of file classify-defns.h.

#define E_BADCOSTCLASS   "bad class `%s'\n"

Definition at line 445 of file classify-defns.h.

#define E_BADCTARGET
Value:
"target attribute `%s' must be"\
" type `continuous'\n"

Definition at line 453 of file classify-defns.h.

#define E_BADDATE (   d,
 
)    "bad date `%s' for attribute `%s'\n", d, a

Definition at line 461 of file classify-defns.h.

#define E_BADDEF1 (   a,
  s,
 
)
Value:
"in definition of attribute `%s':\n"\
"\tat `%.12s': expect %s\n", a, s, x

Definition at line 464 of file classify-defns.h.

#define E_BADDEF2 (   a,
  s,
 
)
Value:
"in definition of attribute `%s':\n"\
"\t`%s': %s\n", a, s, x

Definition at line 466 of file classify-defns.h.

#define E_BADDEF3   "cannot define target attribute `%s'\n"

Definition at line 468 of file classify-defns.h.

#define E_BADDEF4
Value:
"[warning] target attribute appears in"\
" definition of attribute `%s'\n"

Definition at line 469 of file classify-defns.h.

#define E_BADDISCRETE
Value:
"bad number of discrete values for attribute"\
" `%s'\n"

Definition at line 450 of file classify-defns.h.

#define E_BADDTARGET
Value:
"target attribute `%s' must be specified by"\
" a list of discrete values\n"

Definition at line 455 of file classify-defns.h.

#define E_BADNUMBER (   a)    "value of `%s' changed to `?'\n", a

Definition at line 441 of file classify-defns.h.

#define E_BADTIME (   d,
 
)    "bad time `%s' for attribute `%s'\n", d, a

Definition at line 462 of file classify-defns.h.

#define E_BADTSTMP (   d,
 
)    "bad timestamp `%s' for attribute `%s'\n", d, a

Definition at line 460 of file classify-defns.h.

#define E_CWTATTERR   "case weight attribute must be continuous\n"

Definition at line 439 of file classify-defns.h.

#define E_DUPATTNAME   "multiple attributes with name `%s'\n"

Definition at line 438 of file classify-defns.h.

#define E_EOFINATT   "unexpected eof while reading attribute `%s'\n"

Definition at line 435 of file classify-defns.h.

#define E_HITEOF   "unexpected end of file\n"

Definition at line 458 of file classify-defns.h.

#define E_LEQCLASSTHRESH   "class threshold `%s' <= previous threshold\n"

Definition at line 444 of file classify-defns.h.

#define E_LONGNAME   "overlength name: check data file formats\n"

Definition at line 457 of file classify-defns.h.

#define E_MFATT   "undefined or excluded attribute"

Definition at line 474 of file classify-defns.h.

#define E_MFATTVAL   "undefined attribute value"

Definition at line 475 of file classify-defns.h.

#define E_MFCLASS   "undefined class"

Definition at line 476 of file classify-defns.h.

#define E_MFEOF   "unexpected eof"

Definition at line 477 of file classify-defns.h.

#define E_MISSNAME   "missing name or value before `%s'\n"

Definition at line 459 of file classify-defns.h.

#define E_NOFILE (   f,
 
)    "cannot open file %s%s\n", f, e

Definition at line 432 of file classify-defns.h.

#define E_NOMEM   "unable to allocate sufficient memory\n"

Definition at line 447 of file classify-defns.h.

#define E_NOTARGET   "target attribute `%s' not found\n"

Definition at line 452 of file classify-defns.h.

#define E_SAMEATT (   a,
 
)
Value:
"[warning] attribute `%s' is identical to"\
" attribute `%s'\n", a, b

Definition at line 471 of file classify-defns.h.

#define E_SINGLEATTVAL (   a,
 
)
Value:
"attribute `%s' has only one value `%s'\n",\
a, v

Definition at line 436 of file classify-defns.h.

#define E_TOOMANYVALS (   a,
 
)
Value:
"too many values for attribute `%s'"\
" (max %d)\n", a, n

Definition at line 448 of file classify-defns.h.

#define E_UNKNOWNATT   "unknown attribute name `%s'\n"

Definition at line 463 of file classify-defns.h.

#define EOFINATT   4

Definition at line 105 of file classify-defns.h.

#define Epsilon   1E-4

Definition at line 37 of file classify-defns.h.

#define EX_MODELFILE (   f)    "file %s incompatible with .names file\n", f

Definition at line 473 of file classify-defns.h.

#define EXCLUDE   1 /* special attribute status: do not use */

Definition at line 39 of file classify-defns.h.

#define Exclude (   a)    StatBit(a,EXCLUDE)

Definition at line 71 of file classify-defns.h.

#define false   0

Definition at line 34 of file classify-defns.h.

#define ForEach (   v,
  f,
 
)    for(v=f ; v<=l ; ++v)

Definition at line 68 of file classify-defns.h.

#define Free (   x)    free(x)

Definition at line 84 of file classify-defns.h.

#define FreeUnlessNil (   p)    if((p)!=Nil) free(p)

Definition at line 83 of file classify-defns.h.

#define Goodbye (   x)    exit(x)

Definition at line 97 of file classify-defns.h.

#define HITEOF   18

Definition at line 119 of file classify-defns.h.

#define In (   b,
 
)    ((s[(b) >> 3]) & Bit((b) & 07))

Definition at line 65 of file classify-defns.h.

#define LEQCLASSTHRESH   2

Definition at line 103 of file classify-defns.h.

#define LONGNAME   17

Definition at line 118 of file classify-defns.h.

#define Max (   a,
 
)    ((a)>(b) ? (a) : (b))

Definition at line 61 of file classify-defns.h.

#define Min (   a,
 
)    ((a)<(b) ? (a) : (b))

Definition at line 62 of file classify-defns.h.

#define MISSNAME   19

Definition at line 120 of file classify-defns.h.

#define MODELFILE   30

Definition at line 131 of file classify-defns.h.

#define NA   01 /* 1.4012984643248171e-45 */

Definition at line 51 of file classify-defns.h.

#define Nil   0 /* null pointer */

Definition at line 33 of file classify-defns.h.

#define NOFILE   0

Definition at line 101 of file classify-defns.h.

#define NOMEM   11

Definition at line 112 of file classify-defns.h.

#define None   -1

Definition at line 36 of file classify-defns.h.

#define NotApplic (   Case,
  Att 
)    (DVal(Case,Att)==NA)

Definition at line 231 of file classify-defns.h.

#define NotApplicVal (   AV)    (AV._discr_val==NA)

Definition at line 232 of file classify-defns.h.

#define NOTARGET   14

Definition at line 115 of file classify-defns.h.

#define Of   stdout

Definition at line 96 of file classify-defns.h.

#define OP_AND   10

Definition at line 189 of file classify-defns.h.

#define OP_ATT   0 /* opcodes */

Definition at line 185 of file classify-defns.h.

#define OP_COS   41

Definition at line 207 of file classify-defns.h.

#define OP_DIV   34

Definition at line 203 of file classify-defns.h.

#define OP_END   99

Definition at line 212 of file classify-defns.h.

#define OP_EQ   20

Definition at line 191 of file classify-defns.h.

#define OP_EXP   44

Definition at line 210 of file classify-defns.h.

#define OP_GE   23

Definition at line 194 of file classify-defns.h.

#define OP_GT   22

Definition at line 193 of file classify-defns.h.

#define OP_INT   45

Definition at line 211 of file classify-defns.h.

#define OP_LE   25

Definition at line 196 of file classify-defns.h.

#define OP_LOG   43

Definition at line 209 of file classify-defns.h.

#define OP_LT   24

Definition at line 195 of file classify-defns.h.

#define OP_MINUS   31

Definition at line 200 of file classify-defns.h.

#define OP_MISS   3

Definition at line 188 of file classify-defns.h.

#define OP_MOD   35

Definition at line 204 of file classify-defns.h.

#define OP_MULT   33

Definition at line 202 of file classify-defns.h.

#define OP_NE   21

Definition at line 192 of file classify-defns.h.

#define OP_NUM   1

Definition at line 186 of file classify-defns.h.

#define OP_OR   11

Definition at line 190 of file classify-defns.h.

#define OP_PLUS   30

Definition at line 199 of file classify-defns.h.

#define OP_POW   36

Definition at line 205 of file classify-defns.h.

#define OP_SEQ   26

Definition at line 197 of file classify-defns.h.

#define OP_SIN   40

Definition at line 206 of file classify-defns.h.

#define OP_SNE   27

Definition at line 198 of file classify-defns.h.

#define OP_STR   2

Definition at line 187 of file classify-defns.h.

#define OP_TAN   42

Definition at line 208 of file classify-defns.h.

#define OP_UMINUS   32

Definition at line 201 of file classify-defns.h.

#define ORDERED   8 /* ditto: ordered discrete values */

Definition at line 42 of file classify-defns.h.

#define Ordered (   a)    StatBit(a,ORDERED)

Definition at line 75 of file classify-defns.h.

#define P1 (   x)    (rint((x)*10) / 10)

Definition at line 95 of file classify-defns.h.

#define PREC   7 /* precision */

Definition at line 153 of file classify-defns.h.

#define Realloc (   V,
  N,
 
)    V = (T *) Prealloc(V, (N)*sizeof(T))

Definition at line 59 of file classify-defns.h.

#define SAMEATT   29

Definition at line 130 of file classify-defns.h.

#define SEE5

Definition at line 31 of file classify-defns.h.

#define SetBit (   b,
 
)    (s[(b) >> 3] |= Bit((b) & 07))

Definition at line 66 of file classify-defns.h.

#define SINGLEATTVAL   5

Definition at line 106 of file classify-defns.h.

#define SKIP   2 /* do not use in classifiers */

Definition at line 40 of file classify-defns.h.

#define Skip (   a)    StatBit(a,EXCLUDE|SKIP)

Definition at line 72 of file classify-defns.h.

#define SkipComment   while ( ( c = InChar(f) ) != '\n' && c != EOF )

Definition at line 81 of file classify-defns.h.

#define Space (   s)    (s==' ' || s=='\n' || s=='\r' || s=='\t')

Definition at line 80 of file classify-defns.h.

#define StatBit (   a,
 
)    (SpecialStatus[a]&(b))

Definition at line 70 of file classify-defns.h.

#define STIMEVAL   32 /* ditto: HH:MM:SS */

Definition at line 44 of file classify-defns.h.

#define SVal (   Case,
  Attribute 
)    Case[Attribute]._discr_val

Definition at line 225 of file classify-defns.h.

#define T_ErrorLimit   "Error limit exceeded\n"

Definition at line 478 of file classify-defns.h.

#define TimeVal (   a)    StatBit(a,STIMEVAL)

Definition at line 77 of file classify-defns.h.

#define TOOMANYVALS   12

Definition at line 113 of file classify-defns.h.

#define true   1

Definition at line 35 of file classify-defns.h.

#define TStampVal (   a)    StatBit(a,TSTMPVAL)

Definition at line 78 of file classify-defns.h.

#define TSTMPVAL   64 /* date time */

Definition at line 45 of file classify-defns.h.

#define TX_Line (   l,
 
)    "\n*** line %d of `%s': ", l, f

Definition at line 431 of file classify-defns.h.

#define UNKNOWN   01600000000 /* 1.5777218104420236e-30 */

Definition at line 50 of file classify-defns.h.

#define Unknown (   Case,
  Att 
)    (DVal(Case,Att)==UNKNOWN)

Definition at line 229 of file classify-defns.h.

#define UNKNOWNATT   24

Definition at line 125 of file classify-defns.h.

#define UnknownVal (   AV)    (AV._discr_val==UNKNOWN)

Definition at line 230 of file classify-defns.h.

#define Weight (   Case)    (*(Case-1))._cont_val

Definition at line 227 of file classify-defns.h.

#define XDVal (   Case,
  Att 
)    (Case[Att]._discr_val & 077777777)

Definition at line 224 of file classify-defns.h.

Typedef Documentation

typedef int Attribute

Definition at line 148 of file classify-defns.h.

typedef union _attribute_value AttValue
typedef unsigned char Boolean

Definition at line 142 of file classify-defns.h.

typedef unsigned char BranchType

Definition at line 142 of file classify-defns.h.

typedef unsigned char Byte

Definition at line 142 of file classify-defns.h.

typedef float CaseCount

Definition at line 146 of file classify-defns.h.

typedef int CaseNo

Definition at line 145 of file classify-defns.h.

typedef struct _classify_environment * CEnv
typedef int ClassNo

Definition at line 148 of file classify-defns.h.

typedef struct _condrec * Condition
typedef struct _condrec CondRec
typedef float ContValue

Definition at line 152 of file classify-defns.h.

typedef struct _rulerec * CRule
typedef struct _rulesetrec * CRuleSet
typedef union _attribute_value * DataRec
typedef struct _def_elt DefElt
typedef struct _def_elt * Definition
typedef union _def_val DefVal
typedef int DiscrValue

Definition at line 148 of file classify-defns.h.

typedef struct _elt_rec EltRec
typedef int RuleNo

Definition at line 255 of file classify-defns.h.

typedef struct _rulerec RuleRec
typedef struct _rulesetrec RuleSetRec
typedef struct _ruletreerec* RuleTree

Definition at line 285 of file classify-defns.h.

typedef struct _ruletreerec RuleTreeRec
typedef unsigned char * Set

Definition at line 142 of file classify-defns.h.

typedef char* String

Definition at line 143 of file classify-defns.h.

typedef struct _treerec* Tree

Definition at line 235 of file classify-defns.h.

typedef struct _treerec TreeRec

Function Documentation

Boolean AExpression ( )

Definition at line 1151 of file classify-hooks.c.

void Append ( char  c)

Definition at line 1049 of file classify-hooks.c.

Boolean Atom ( )

Definition at line 1251 of file classify-hooks.c.

ClassNo BoostClassify ( DataRec  CaseDesc,
int  MaxTrial,
CEnv  E 
)

Definition at line 3364 of file classify-hooks.c.

void CheckActiveSpace ( int  N,
CEnv  E 
)

Definition at line 3304 of file classify-hooks.c.

void CheckFile ( String  Extension,
Boolean  Write 
)

Definition at line 3536 of file classify-hooks.c.

void CheckValue ( DataRec  DVec,
Attribute  Att 
)

Definition at line 849 of file classify-hooks.c.

ClassNo Classify ( DataRec  CaseDesc,
CEnv  E 
)

Definition at line 3480 of file classify-hooks.c.

Boolean Conjunct ( )

Definition at line 1099 of file classify-hooks.c.

void ConstructRuleTree ( CRuleSet  RS)

Definition at line 2431 of file classify-hooks.c.

int DateToDay ( String  DS)

Definition at line 3940 of file classify-hooks.c.

void DefSemanticsError ( int  Fi,
String  Msg,
int  OpCode 
)

Definition at line 1501 of file classify-hooks.c.

void DefSyntaxError ( String  Msg)

Definition at line 1471 of file classify-hooks.c.

int Denominator ( ContValue  Val)

Definition at line 3892 of file classify-hooks.c.

int DesiredOutcome ( CRule  R,
int  TI 
)

Definition at line 2631 of file classify-hooks.c.

void Dump ( char  OpCode,
ContValue  F,
String  S,
int  Fi 
)

Definition at line 1563 of file classify-hooks.c.

void DumpOp ( char  OpCode,
int  Fi 
)

Definition at line 1592 of file classify-hooks.c.

void Error ( int  ErrNo,
String  S1,
String  S2 
)

Definition at line 3668 of file classify-hooks.c.

AttValue EvaluateDef ( Definition  D,
DataRec  Case 
)

Definition at line 1722 of file classify-hooks.c.

void ExplicitAtt ( FILE *  Nf)

Definition at line 394 of file classify-hooks.c.

Boolean Expression ( )

Definition at line 1076 of file classify-hooks.c.

Boolean Factor ( )

Definition at line 1204 of file classify-hooks.c.

Boolean Find ( String  S)

Definition at line 1395 of file classify-hooks.c.

Attribute FindAttName ( )

Definition at line 1434 of file classify-hooks.c.

void FindLeaf ( DataRec  CaseDesc,
Tree  T,
Tree  PT,
float  Wt,
double *  Prob,
Boolean AttUsed 
)

Definition at line 2995 of file classify-hooks.c.

int FindOne ( String Alt)

Definition at line 1412 of file classify-hooks.c.

int FindOutcome ( DataRec  Case,
Condition  OneCond 
)

Definition at line 3220 of file classify-hooks.c.

void FollowAllBranches ( DataRec  CaseDesc,
Tree  T,
float  Fraction,
double *  Prob,
Boolean AttUsed 
)

Definition at line 2969 of file classify-hooks.c.

void FreeCosts ( )
void FreeGlobals ( )

Definition at line 4064 of file classify-hooks.c.

void FreeLastCase ( DataRec  DVec)

Definition at line 4048 of file classify-hooks.c.

void FreeNames ( )

Definition at line 4119 of file classify-hooks.c.

void FreeRule ( CRule  R)

Definition at line 4209 of file classify-hooks.c.

void FreeRules ( CRuleSet  RS)

Definition at line 4253 of file classify-hooks.c.

void FreeRuleTree ( RuleTree  RT)

Definition at line 4228 of file classify-hooks.c.

void FreeTree ( Tree  T)

Definition at line 4173 of file classify-hooks.c.

void FreeVector ( void **  V,
int  First,
int  Last 
)

Definition at line 4269 of file classify-hooks.c.

DataRec GetDataRec ( FILE *  Df,
Boolean  Train 
)

Definition at line 603 of file classify-hooks.c.

FILE* GetFile ( String  Extension,
String  RW 
)

Definition at line 3518 of file classify-hooks.c.

int GetInt ( String  S,
int  N 
)

Definition at line 3923 of file classify-hooks.c.

void GetMCosts ( FILE *  f)

Definition at line 2859 of file classify-hooks.c.

void GetNames ( FILE *  Nf)

Definition at line 139 of file classify-hooks.c.

CRuleSet GetRules ( String  Extension)

Definition at line 2244 of file classify-hooks.c.

Tree GetTree ( String  Extension)

Definition at line 2124 of file classify-hooks.c.

RuleTree GrowRT ( RuleNo RR,
int  RRN,
CRule Rule 
)

Definition at line 2520 of file classify-hooks.c.

void ImplicitAtt ( FILE *  Nf)

Definition at line 915 of file classify-hooks.c.

int InChar ( FILE *  f)

Definition at line 566 of file classify-hooks.c.

Condition InCondition ( )

Definition at line 2358 of file classify-hooks.c.

CRule InRule ( )

Definition at line 2302 of file classify-hooks.c.

CRuleSet InRules ( )

Definition at line 2254 of file classify-hooks.c.

float Interpolate ( Tree  T,
ContValue  Val 
)

Definition at line 3499 of file classify-hooks.c.

Tree InTree ( )

Definition at line 2134 of file classify-hooks.c.

Tree Leaf ( double *  Freq,
ClassNo  NodeClass,
CaseCount  Cases,
CaseCount  Errors 
)

Definition at line 2826 of file classify-hooks.c.

Set MakeSubset ( Attribute  Att)

Definition at line 2791 of file classify-hooks.c.

void MarkActive ( RuleTree  RT,
DataRec  Case,
CEnv  E 
)

Definition at line 3322 of file classify-hooks.c.

Boolean Matches ( CRule  R,
DataRec  Case 
)

Definition at line 3279 of file classify-hooks.c.

double MisclassCost ( double *  LocalFreq,
ClassNo  C 
)

Definition at line 3454 of file classify-hooks.c.

void* Pcalloc ( size_t  Number,
unsigned  Size 
)
void* Pmalloc ( size_t  Bytes)

Definition at line 3600 of file classify-hooks.c.

void* Prealloc ( void *  Present,
size_t  Bytes 
)

Definition at line 3619 of file classify-hooks.c.

Boolean Primary ( )

Definition at line 1225 of file classify-hooks.c.

char ProcessOption ( int  Argc,
char *  Argv[],
char *  Options 
)

Definition at line 3566 of file classify-hooks.c.

void ReadDefinition ( FILE *  f)

Definition at line 995 of file classify-hooks.c.

void ReadFilePrefix ( String  Extension)

Definition at line 2024 of file classify-hooks.c.

void ReadHeader ( )

Definition at line 2045 of file classify-hooks.c.

Boolean ReadName ( FILE *  f,
String  s,
int  n,
char  ColonOpt 
)

Definition at line 31 of file classify-hooks.c.

int ReadProp ( char *  Delim)

Definition at line 2719 of file classify-hooks.c.

String RemoveQuotes ( String  S)

Definition at line 2771 of file classify-hooks.c.

ClassNo RuleClassify ( DataRec  CaseDesc,
CRuleSet  RS,
CEnv  E 
)

Definition at line 3109 of file classify-hooks.c.

Boolean Satisfies ( DataRec  CaseDesc,
Condition  OneCond 
)

Definition at line 3264 of file classify-hooks.c.

ClassNo SelectClass ( ClassNo  Default,
Boolean  UseCosts,
double *  Prob 
)

Definition at line 3410 of file classify-hooks.c.

int SelectTest ( RuleNo RR,
int  RRN,
CRule Rule 
)

Definition at line 2673 of file classify-hooks.c.

void SetTestIndex ( Condition  C)

Definition at line 2467 of file classify-hooks.c.

void SetTSBase ( int  y)

Definition at line 4000 of file classify-hooks.c.

Boolean SExpression ( )

Definition at line 1122 of file classify-hooks.c.

int StoreIVal ( String  S)

Definition at line 814 of file classify-hooks.c.

Boolean Term ( )

Definition at line 1183 of file classify-hooks.c.

int TimeToSecs ( String  TS)

Definition at line 3978 of file classify-hooks.c.

ClassNo TreeClassify ( DataRec  CaseDesc,
Tree  DecisionTree,
CEnv  E 
)

Definition at line 2924 of file classify-hooks.c.

int TStampToMins ( String  TS)

Definition at line 4009 of file classify-hooks.c.

Boolean UpdateTStack ( char  OpCode,
ContValue  F,
String  S,
int  Fi 
)

Definition at line 1600 of file classify-hooks.c.

int Which ( String  Val,
String List,
int  First,
int  Last 
)

Definition at line 547 of file classify-hooks.c.