Poplar and PopLibs
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ExprOp.hpp
Go to the documentation of this file.
1// Copyright (c) 2017 Graphcore Ltd. All rights reserved.
8#ifndef _popops_ExprOp_hpp_
9#define _popops_ExprOp_hpp_
10
11namespace popops {
12namespace expr {
13
16enum class TernaryOpType { CLAMP, SELECT };
17
18enum class BinaryOpType {
19 ADD,
20 ATAN2,
21 BITWISE_AND,
22 BITWISE_OR,
23 BITWISE_XOR,
24 BITWISE_XNOR,
25 DIVIDE,
26 EQUAL,
27 GREATER_THAN_EQUAL,
28 GREATER_THAN,
29 INV_STD_DEV_TO_VARIANCE,
30 LESS_THAN_EQUAL,
31 LOGICAL_AND,
32 LOGICAL_OR,
33 LESS_THAN,
34 MAXIMUM,
35 MINIMUM,
36 MULTIPLY,
37 NOT_EQUAL,
38 POWER,
39 REMAINDER,
40 SHIFT_LEFT,
41 SHIFT_RIGHT,
42 SHIFT_RIGHT_SIGN_EXTEND,
43 SUBTRACT,
44 VARIANCE_TO_INV_STD_DEV
45};
46
47enum class UnaryOpType {
48 ABSOLUTE,
49 ASIN,
50 BITWISE_NOT,
51 CBRT,
52 CEIL,
53 COS,
54 COUNT_LEADING_ZEROS,
55 ERF,
56 EXPONENT,
57 EXPONENT_MINUS_ONE,
58 FLOOR,
59 GELU_ERF,
60 INVERSE,
61 IS_FINITE,
62 IS_INF,
63 IS_NAN,
64 LOGARITHM,
65 LOGARITHM_ONE_PLUS,
66 LOGICAL_NOT,
67 NEGATE,
68 POPCOUNT,
69 RELU,
70 SIGNUM,
71 SIN,
72 TAN,
73 TANH,
74 ROUND,
75 SQRT,
76 SQUARE,
77 SIGMOID,
78 RSQRT,
79 TRUNC
80};
81
82} // namespace expr
83} // namespace popops
84
85#endif // _popops_ExprOp_hpp_
TernaryOpType
Enumeration defining operators used by Expr for building expressions.
Definition: ExprOp.hpp:16
Common functions, such as elementwise and reductions.
Definition: AllTrue.hpp:15