Exemplo n.º 1
0
static void write_expression(const expression_t *expression)
{
	/* TODO */
	switch(expression->kind) {
	case EXPR_LITERAL_INTEGER:
		write_integer(&expression->literal);
		break;

	case EXPR_ENUM_CONSTANT: {
		/* UHOH... hacking */
		entity_t *entity = expression->reference.entity;
		write_enum_name(entity->enum_value.enume);
		fprintf(out, ".%s.val", entity->base.symbol->string);
		break;
	}
	case EXPR_UNARY_CASES:
		write_unary_expression(&expression->unary);
		break;
	case EXPR_BINARY_CASES:
		write_binary_expression(&expression->binary);
		break;
	default:
		panic("not implemented expression");
	}
}
Exemplo n.º 2
0
std::string ProbabilisticLayer::write_expression(const Vector<std::string>& inputs_names, const Vector<std::string>& outputs_names) const
{	
   switch(probabilistic_method)
   {
      case Binary:
      {
          return(write_binary_expression(inputs_names, outputs_names));
      }
      break;

      case Probability:
      {
          return(write_probability_expression(inputs_names, outputs_names));
      }
      break;

      case Competitive:
      {   
		  return(write_competitive_expression(inputs_names, outputs_names));
      }
      break;

      case Softmax:
      {
		  return(write_softmax_expression(inputs_names, outputs_names));
      }
      break;       

       case NoProbabilistic:
       {
           return(write_no_probabilistic_expression(inputs_names, outputs_names));
       }
       break;

      default:
      {
         std::ostringstream buffer;

         buffer << "OpenNN Exception: ProbabilisticLayer class.\n"
                << "std::string write_expression(const Vector<std::string>&, const Vector<std::string>&) const method.\n"               
                << "Unknown probabilistic method.\n";
 
	  throw std::logic_error(buffer.str());
      }// end default
      break;
   }// end switch
}