souffle  2.0.2-371-g6315b36
Namespaces | Macros | Enumerations | Functions
AggregateOp.h File Reference
#include "souffle/TypeAttribute.h"
#include "souffle/utility/MiscUtil.h"
#include <cstdint>
#include <ostream>
#include <utility>
Include dependency graph for AggregateOp.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 souffle
 

Macros

#define CASE_NUMERIC(op)
 

Enumerations

enum  souffle::AggregateOp {
  souffle::AggregateOp::MAX, souffle::AggregateOp::MIN, souffle::AggregateOp::SUM, souffle::AggregateOp::FMAX,
  souffle::AggregateOp::FMIN, souffle::AggregateOp::FSUM, souffle::AggregateOp::MEAN, souffle::AggregateOp::UMAX,
  souffle::AggregateOp::UMIN, souffle::AggregateOp::USUM, souffle::AggregateOp::COUNT
}
 Types of aggregation functions. More...
 

Functions

std::pair< uint8_t, uint8_t > souffle::aggregateArity (AggregateOp op)
 
AggregateOp souffle::convertOverloadedAggregator (const AggregateOp op, const TypeAttribute type)
 Convert aggregator to a give type. More...
 
TypeAttribute souffle::getTypeAttributeAggregate (const AggregateOp op)
 Get return type of the aggregate. More...
 
bool souffle::isOverloadedAggregator (const AggregateOp op)
 
std::ostream & souffle::operator<< (std::ostream &os, AggregateOp op)
 

Macro Definition Documentation

◆ CASE_NUMERIC

#define CASE_NUMERIC (   op)
Value:
case AggregateOp::op: \
if (type == TypeAttribute::Signed) return AggregateOp::op; \
if (type == TypeAttribute::Unsigned) return AggregateOp::U##op; \
if (type == TypeAttribute::Float) return AggregateOp::F##op; \
fatal("invalid overload");
std::type
ElementType type
Definition: span.h:640