Ejemplo n.º 1
0
 /*---  evaluate predictions  ---*/                                        
 virtual void eval_pred(int argc, const char *argv[]) const {
   const char *eyec = "eval_pred"; 
   AzX::throw_if((argc != 4 && argc != 5), AzInputError, "AzpEv::eval_pred", "Arguments: y_fn is_y_text pred_fn Regression|Multicat|_  [th_fn]"); 
   int argx = 0; 
   const char *y_fn = argv[argx++]; 
   const char *p_fn = argv[argx++];     
   const char *typ = argv[argx++]; 
   const char *th_fn = (argx < argc) ? argv[argx++] : ""; 
   eval_pred(y_fn, p_fn, typ, th_fn, log_out); 
 }
Ejemplo n.º 2
0
// Compute the multi-step evaluation of the term t. 
Term*
eval(Term* t) {
  switch (t->kind) {
  case if_term: return eval_if(as<If>(t));
  case succ_term: return eval_succ(as<Succ>(t));
  case pred_term: return eval_pred(as<Pred>(t));
  case iszero_term: return eval_iszero(as<Iszero>(t));
  case app_term: return eval_app(as<App>(t));
  case call_term: return eval_call(as<Call>(t));
  case ref_term: return eval_ref(as<Ref>(t));
  case print_term: return eval_print(as<Print>(t));
  case def_term: return eval_def(as<Def>(t));
  case prog_term: return eval_prog(as<Prog>(t));
  case comma_term: return eval_comma(as<Comma>(t));
  default: break;
  }
  return t;
}