| souffle
    2.0.2-371-g6315b36
    | 
 
 
 
Go to the documentation of this file.
  119         default: 
return false;
 
  128 #define CASE_NUMERIC(op)                                                \ 
  129     case AggregateOp::op:                                               \ 
  130         if (type == TypeAttribute::Signed) return AggregateOp::op;      \ 
  131         if (type == TypeAttribute::Unsigned) return AggregateOp::U##op; \ 
  132         if (type == TypeAttribute::Float) return AggregateOp::F##op;    \ 
  133         fatal("invalid overload"); 
  137             fatal(
"agg op is not overloadable");
 
  
#define UNREACHABLE_BAD_CASE_ANALYSIS
AggregateOp convertOverloadedAggregator(const AggregateOp op, const TypeAttribute type)
Convert aggregator to a give type.
AggregateOp
Types of aggregation functions.
std::pair< uint8_t, uint8_t > aggregateArity(AggregateOp op)
std::ostream & operator<<(std::ostream &os, AggregateOp op)
TypeAttribute getTypeAttributeAggregate(const AggregateOp op)
Get return type of the aggregate.
void fatal(const char *format, const Args &... args)
bool isOverloadedAggregator(const AggregateOp op)