GCC Code Coverage Report


Directory: ./
File: src/builtin/operators.cpp
Date: 2023-04-27 00:55:30
Exec Total Coverage
Lines: 242 246 98.4%
Functions: 14 14 100.0%
Branches: 685 697 98.3%

Line Branch Exec Source
1
2 #include "builtin/operators.inc"
3 #include "ast/nodes.h"
4 #include "dependencies/coz_wrap.h"
5 #include "utilities/names.h"
6
7 namespace lython {
8 Dict<StringRef, BinOp::NativeBinaryOp> build_native_binary_operators() {
9 // FIXME: add return type, the return type can be different
10 12 Dict<StringRef, BinOp::NativeBinaryOp> map;
11
12 // clang-format off
13 #define JOIN(op, t1, t2) op-t1-t2
14 #define JOIN1(op, t1) op-t1
15 // clang-format on
16
17 #define LAMBDA(op, type) op<type>::vm;
18
19 // clang-format off
20 // Float
21
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Add, f32, f32)))] = LAMBDA(Add, float32);
22
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Add, f64, f64)))] = LAMBDA(Add, float64);
23
24
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Sub, f32, f32)))] = LAMBDA(Sub, float32);
25
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Sub, f64, f64)))] = LAMBDA(Sub, float64);
26
27
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Mult, f32, f32)))] = LAMBDA(Mult, float32);
28
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Mult, f64, f64)))] = LAMBDA(Mult, float64);
29
30
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Div, f32, f32)))] = LAMBDA(Div, float32);
31
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Div, f64, f64)))] = LAMBDA(Div, float64);
32
33
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Mod, f32, f32)))] = LAMBDA(Mod, float32);
34
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Mod, f64, f64)))] = LAMBDA(Mod, float64);
35
36
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Pow, f32, f32)))] = LAMBDA(Pow, float32);
37
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Pow, f64, f64)))] = LAMBDA(Pow, float64);
38
39 // Integer
40
41
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Add, i8, i8)))] = LAMBDA(Add, int8);
42
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Add, i16, i16)))] = LAMBDA(Add, int16);
43
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Add, i32, i32)))] = LAMBDA(Add, int32);
44
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Add, i64, i64)))] = LAMBDA(Add, int64);
45
46
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Sub, i8, i8)))] = LAMBDA(Sub, int8);
47
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Sub, i16, i16)))] = LAMBDA(Sub, int16);
48
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Sub, i32, i32)))] = LAMBDA(Sub, int32);
49
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Sub, i64, i64)))] = LAMBDA(Sub, int64);
50
51
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Mult, i8, i8)))] = LAMBDA(Mult, int8);
52
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Mult, i16, i16)))] = LAMBDA(Mult, int16);
53
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Mult, i32, i32)))] = LAMBDA(Mult, int32);
54
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Mult, i64, i64)))] = LAMBDA(Mult, int64);
55
56
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Div, i8, i8)))] = LAMBDA(Div, int8);
57
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Div, i16, i16)))] = LAMBDA(Div, int16);
58
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Div, i32, i32)))] = LAMBDA(Div, int32);
59
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Div, i64, i64)))] = LAMBDA(Div, int64);
60
61
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Mod, i8, i8)))] = LAMBDA(Mod, int8);
62
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Mod, i16, i16)))] = LAMBDA(Mod, int16);
63
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Mod, i32, i32)))] = LAMBDA(Mod, int32);
64
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Mod, i64, i64)))] = LAMBDA(Mod, int64);
65
66
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Pow, i8, i8)))] = LAMBDA(Pow, int8);
67
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Pow, i16, i16)))] = LAMBDA(Pow, int16);
68
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Pow, i32, i32)))] = LAMBDA(Pow, int32);
69
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Pow, i64, i64)))] = LAMBDA(Pow, int64);
70
71
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(LShift, i8, i8)))] = LAMBDA(LShift, int8);
72
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(LShift, i16, i16)))] = LAMBDA(LShift, int16);
73
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(LShift, i32, i32)))] = LAMBDA(LShift, int32);
74
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(LShift, i64, i64)))] = LAMBDA(LShift, int64);
75
76
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(RShift, i8, i8)))] = LAMBDA(RShift, int8);
77
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(RShift, i16, i16)))] = LAMBDA(RShift, int16);
78
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(RShift, i32, i32)))] = LAMBDA(RShift, int32);
79
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(RShift, i64, i64)))] = LAMBDA(RShift, int64);
80
81
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(BitOr, i8, i8)))] = LAMBDA(BitOr, int8);
82
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(BitOr, i16, i16)))] = LAMBDA(BitOr, int16);
83
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(BitOr, i32, i32)))] = LAMBDA(BitOr, int32);
84
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(BitOr, i64, i64)))] = LAMBDA(BitOr, int64);
85
86
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(BitXor, i8, i8)))] = LAMBDA(BitXor, int8);
87
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(BitXor, i16, i16)))] = LAMBDA(BitXor, int16);
88
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(BitXor, i32, i32)))] = LAMBDA(BitXor, int32);
89
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(BitXor, i64, i64)))] = LAMBDA(BitXor, int64);
90
91
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(BitAnd, i8, i8)))] = LAMBDA(BitAnd, int8);
92
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(BitAnd, i16, i16)))] = LAMBDA(BitAnd, int16);
93
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(BitAnd, i32, i32)))] = LAMBDA(BitAnd, int32);
94
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(BitAnd, i64, i64)))] = LAMBDA(BitAnd, int64);
95
96 // Unsigned
97
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Add, u8, u8)))] = LAMBDA(Add, uint8);
98
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Add, u16, u16)))] = LAMBDA(Add, uint16);
99
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Add, u32, u32)))] = LAMBDA(Add, uint32);
100
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Add, u64, u64)))] = LAMBDA(Add, uint64);
101
102
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Sub, u8, u8)))] = LAMBDA(Sub, uint8);
103
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Sub, u16, u16)))] = LAMBDA(Sub, uint16);
104
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Sub, u32, u32)))] = LAMBDA(Sub, uint32);
105
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Sub, u64, u64)))] = LAMBDA(Sub, uint64);
106
107
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Mult, u8, u8)))] = LAMBDA(Mult, uint8);
108
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Mult, u16, u16)))] = LAMBDA(Mult, uint16);
109
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Mult, u32, u32)))] = LAMBDA(Mult, uint32);
110
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Mult, u64, u64)))] = LAMBDA(Mult, uint64);
111
112
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Div, u8, u8)))] = LAMBDA(Div, uint8);
113
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Div, u16, u16)))] = LAMBDA(Div, uint16);
114
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Div, u32, u32)))] = LAMBDA(Div, uint32);
115
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Div, u64, u64)))] = LAMBDA(Div, uint64);
116
117
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Mod, u8, u8)))] = LAMBDA(Mod, uint8);
118
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Mod, u16, u16)))] = LAMBDA(Mod, uint16);
119
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Mod, u32, u32)))] = LAMBDA(Mod, uint32);
120
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Mod, u64, u64)))] = LAMBDA(Mod, uint64);
121
122
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Pow, u8, u8)))] = LAMBDA(Pow, uint8);
123
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Pow, u16, u16)))] = LAMBDA(Pow, uint16);
124
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Pow, u32, u32)))] = LAMBDA(Pow, uint32);
125
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Pow, u64, u64)))] = LAMBDA(Pow, uint64);
126
127
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(LShift, u8, u8)))] = LAMBDA(LShift, uint8);
128
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(LShift, u16, u16)))] = LAMBDA(LShift, uint16);
129
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(LShift, u32, u32)))] = LAMBDA(LShift, uint32);
130
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(LShift, u64, u64)))] = LAMBDA(LShift, uint64);
131
132
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(RShift, u8, u8)))] = LAMBDA(RShift, uint8);
133
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(RShift, u16, u16)))] = LAMBDA(RShift, uint16);
134
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(RShift, u32, u32)))] = LAMBDA(RShift, uint32);
135
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(RShift, u64, u64)))] = LAMBDA(RShift, uint64);
136
137
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(BitOr, u8, u8)))] = LAMBDA(BitOr, uint8);
138
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(BitOr, u16, u16)))] = LAMBDA(BitOr, uint16);
139
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(BitOr, u32, u32)))] = LAMBDA(BitOr, uint32);
140
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(BitOr, u64, u64)))] = LAMBDA(BitOr, uint64);
141
142
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(BitXor, u8, u8)))] = LAMBDA(BitXor, uint8);
143
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(BitXor, u16, u16)))] = LAMBDA(BitXor, uint16);
144
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(BitXor, u32, u32)))] = LAMBDA(BitXor, uint32);
145
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(BitXor, u64, u64)))] = LAMBDA(BitXor, uint64);
146
147
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(BitAnd, u8, u8)))] = LAMBDA(BitAnd, uint8);
148
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(BitAnd, u16, u16)))] = LAMBDA(BitAnd, uint16);
149
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(BitAnd, u32, u32)))] = LAMBDA(BitAnd, uint32);
150
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(BitAnd, u64, u64)))] = LAMBDA(BitAnd, uint64);
151 // clang-format on
152
153 12 return map;
154 }
155
156 template <typename K, typename V>
157 V get(Dict<K, V> const& map, K key, V value) {
158 using Iterator = typename Dict<K, V>::const_iterator;
159
160
1/1
✓ Branch 1 taken 99 times.
198 Iterator maybe = map.find(key);
161
162
2/2
✓ Branch 2 taken 38 times.
✓ Branch 3 taken 61 times.
198 if (maybe == map.end()) {
163 76 return value;
164 }
165
166 122 return maybe->second;
167 }
168
169 Dict<StringRef, BinOp::NativeBinaryOp> const& native_binary_operators() {
170
4/7
✓ Branch 0 taken 12 times.
✓ Branch 1 taken 31 times.
✓ Branch 3 taken 12 times.
✗ Branch 4 not taken.
✓ Branch 6 taken 12 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
43 static Dict<StringRef, BinOp::NativeBinaryOp> ops = build_native_binary_operators();
171 43 return ops;
172 }
173
174 BinOp::NativeBinaryOp get_native_binary_operation(StringRef signature) {
175
3/3
✓ Branch 1 taken 31 times.
✓ Branch 4 taken 31 times.
✓ Branch 7 taken 31 times.
31 return get(native_binary_operators(), signature, BinOp::NativeBinaryOp());
176 }
177
178 // Bool
179 Dict<StringRef, BoolOp::NativeBoolyOp> build_native_bool_operators() {
180 12 Dict<StringRef, BoolOp::NativeBoolyOp> map;
181
182 // clang-format off
183
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(and, bool, bool)))] = LAMBDA(And, bool);
184
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(or, bool, bool)))] = LAMBDA(Or, bool);
185 // clang-format on
186 12 return map;
187 }
188
189 Dict<StringRef, BoolOp::NativeBoolyOp> const& native_bool_operators() {
190
4/7
✓ Branch 0 taken 12 times.
✓ Branch 1 taken 12 times.
✓ Branch 3 taken 12 times.
✗ Branch 4 not taken.
✓ Branch 6 taken 12 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
24 static auto ops = build_native_bool_operators();
191 24 return ops;
192 }
193
194 BoolOp::NativeBoolyOp get_native_bool_operation(StringRef signature) {
195
3/3
✓ Branch 1 taken 12 times.
✓ Branch 4 taken 12 times.
✓ Branch 7 taken 12 times.
12 return get(native_bool_operators(), signature, BoolOp::NativeBoolyOp());
196 }
197
198 // Unary
199 Dict<StringRef, UnaryOp::NativeUnaryOp> build_native_unary_operators() {
200 12 Dict<StringRef, UnaryOp::NativeUnaryOp> map;
201
202 // clang-format off
203
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN1(Invert, u8)))] = LAMBDA(Invert, uint8);
204
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN1(Invert, u16)))] = LAMBDA(Invert, uint16);
205
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN1(Invert, u32)))] = LAMBDA(Invert, uint32);
206
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN1(Invert, u64)))] = LAMBDA(Invert, uint64);
207
208
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN1(Not , u8)))] = LAMBDA(Not , uint8);
209
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN1(Not , u16)))] = LAMBDA(Not , uint16);
210
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN1(Not , u32)))] = LAMBDA(Not , uint32);
211
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN1(Not , u64)))] = LAMBDA(Not , uint64);
212
213
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN1(UAdd , u8)))] = LAMBDA(UAdd , uint8);
214
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN1(UAdd , u16)))] = LAMBDA(UAdd , uint16);
215
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN1(UAdd , u32)))] = LAMBDA(UAdd , uint32);
216
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN1(UAdd , u64)))] = LAMBDA(UAdd , uint64);
217
218
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN1(USub , u8)))] = LAMBDA(USub , uint8);
219
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN1(USub , u16)))] = LAMBDA(USub , uint16);
220
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN1(USub , u32)))] = LAMBDA(USub , uint32);
221
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN1(USub , u64)))] = LAMBDA(USub , uint64);
222
223
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN1(Invert, i8)))] = LAMBDA(Invert, int8);
224
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN1(Invert, i16)))] = LAMBDA(Invert, int16);
225
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN1(Invert, i32)))] = LAMBDA(Invert, int32);
226
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN1(Invert, i64)))] = LAMBDA(Invert, int64);
227
228
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN1(Not , i8)))] = LAMBDA(Not , int8);
229
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN1(Not , i16)))] = LAMBDA(Not , int16);
230
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN1(Not , i32)))] = LAMBDA(Not , int32);
231
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN1(Not , i64)))] = LAMBDA(Not , int64);
232
233
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN1(UAdd , i8)))] = LAMBDA(UAdd , int8);
234
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN1(UAdd , i16)))] = LAMBDA(UAdd , int16);
235
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN1(UAdd , i32)))] = LAMBDA(UAdd , int32);
236
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN1(UAdd , i64)))] = LAMBDA(UAdd , int64);
237
238
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN1(USub , i8)))] = LAMBDA(USub , int8);
239
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN1(USub , i16)))] = LAMBDA(USub , int16);
240
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN1(USub , i32)))] = LAMBDA(USub , int32);
241
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN1(USub , i64)))] = LAMBDA(USub , int64);
242
243 // Floats
244
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN1(UAdd , f32)))] = LAMBDA(UAdd , float32);
245
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN1(USub , f32)))] = LAMBDA(USub , float32);
246
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN1(UAdd , f64)))] = LAMBDA(UAdd , float64);
247
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN1(USub , f64)))] = LAMBDA(USub , float64);
248
249 // clang-format on
250
251 12 return map;
252 }
253
254 Dict<StringRef, UnaryOp::NativeUnaryOp> const& native_unary_operators() {
255
4/7
✓ Branch 0 taken 12 times.
✓ Branch 1 taken 11 times.
✓ Branch 3 taken 12 times.
✗ Branch 4 not taken.
✓ Branch 6 taken 12 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
23 static auto ops = build_native_unary_operators();
256 23 return ops;
257 }
258
259 UnaryOp::NativeUnaryOp get_native_unary_operation(StringRef signature) {
260
3/3
✓ Branch 1 taken 11 times.
✓ Branch 4 taken 11 times.
✓ Branch 7 taken 11 times.
11 return get(native_unary_operators(), signature, UnaryOp::NativeUnaryOp());
261 }
262
263 // Cmp
264 Dict<StringRef, Compare::NativeCompOp> build_native_cmp_operators() {
265 12 Dict<StringRef, Compare::NativeCompOp> map;
266
267 // clang-format off
268
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Eq , u8, u8)))] = LAMBDA(Eq , uint8);
269
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(NotEq, u8, u8)))] = LAMBDA(NotEq, uint8);
270
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Lt , u8, u8)))] = LAMBDA(Lt , uint8);
271
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(LtE , u8, u8)))] = LAMBDA(LtE , uint8);
272
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Gt , u8, u8)))] = LAMBDA(Gt , uint8);
273
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(GtE , u8, u8)))] = LAMBDA(GtE , uint8);
274
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Is , u8, u8)))] = LAMBDA(Is , uint8);
275
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(IsNot, u8, u8)))] = LAMBDA(IsNot, uint8);
276
277
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Eq , u16, u16)))] = LAMBDA(Eq , uint16);
278
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(NotEq, u16, u16)))] = LAMBDA(NotEq, uint16);
279
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Lt , u16, u16)))] = LAMBDA(Lt , uint16);
280
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(LtE , u16, u16)))] = LAMBDA(LtE , uint16);
281
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Gt , u16, u16)))] = LAMBDA(Gt , uint16);
282
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(GtE , u16, u16)))] = LAMBDA(GtE , uint16);
283
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Is , u16, u16)))] = LAMBDA(Is , uint16);
284
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(IsNot, u16, u16)))] = LAMBDA(IsNot, uint16);
285
286
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Eq , u32, u32)))] = LAMBDA(Eq , uint32);
287
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(NotEq, u32, u32)))] = LAMBDA(NotEq, uint32);
288
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Lt , u32, u32)))] = LAMBDA(Lt , uint32);
289
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(LtE , u32, u32)))] = LAMBDA(LtE , uint32);
290
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Gt , u32, u32)))] = LAMBDA(Gt , uint32);
291
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(GtE , u32, u32)))] = LAMBDA(GtE , uint32);
292
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Is , u32, u32)))] = LAMBDA(Is , uint32);
293
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(IsNot, u32, u32)))] = LAMBDA(IsNot, uint32);
294
295
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Eq , u64, u64)))] = LAMBDA(Eq , uint64);
296
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(NotEq, u64, u64)))] = LAMBDA(NotEq, uint64);
297
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Lt , u64, u64)))] = LAMBDA(Lt , uint64);
298
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(LtE , u64, u64)))] = LAMBDA(LtE , uint64);
299
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Gt , u64, u64)))] = LAMBDA(Gt , uint64);
300
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(GtE , u64, u64)))] = LAMBDA(GtE , uint64);
301
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Is , u64, u64)))] = LAMBDA(Is , uint64);
302
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(IsNot, u64, u64)))] = LAMBDA(IsNot, uint64);
303
304
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Eq , i8, i8)))] = LAMBDA(Eq , int8);
305
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(NotEq, i8, i8)))] = LAMBDA(NotEq, int8);
306
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Lt , i8, i8)))] = LAMBDA(Lt , int8);
307
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(LtE , i8, i8)))] = LAMBDA(LtE , int8);
308
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Gt , i8, i8)))] = LAMBDA(Gt , int8);
309
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(GtE , i8, i8)))] = LAMBDA(GtE , int8);
310
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Is , i8, i8)))] = LAMBDA(Is , int8);
311
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(IsNot, i8, i8)))] = LAMBDA(IsNot, int8);
312
313
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Eq , i16, i16)))] = LAMBDA(Eq , int16);
314
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(NotEq, i16, i16)))] = LAMBDA(NotEq, int16);
315
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Lt , i16, i16)))] = LAMBDA(Lt , int16);
316
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(LtE , i16, i16)))] = LAMBDA(LtE , int16);
317
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Gt , i16, i16)))] = LAMBDA(Gt , int16);
318
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(GtE , i16, i16)))] = LAMBDA(GtE , int16);
319
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Is , i16, i16)))] = LAMBDA(Is , int16);
320
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(IsNot, i16, i16)))] = LAMBDA(IsNot, int16);
321
322
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Eq , i32, i32)))] = LAMBDA(Eq , int32);
323
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(NotEq, i32, i32)))] = LAMBDA(NotEq, int32);
324
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Lt , i32, i32)))] = LAMBDA(Lt , int32);
325
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(LtE , i32, i32)))] = LAMBDA(LtE , int32);
326
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Gt , i32, i32)))] = LAMBDA(Gt , int32);
327
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(GtE , i32, i32)))] = LAMBDA(GtE , int32);
328
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Is , i32, i32)))] = LAMBDA(Is , int32);
329
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(IsNot, i32, i32)))] = LAMBDA(IsNot, int32);
330
331
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Eq , i64, i64)))] = LAMBDA(Eq , int64);
332
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(NotEq, i64, i64)))] = LAMBDA(NotEq, int64);
333
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Lt , i64, i64)))] = LAMBDA(Lt , int64);
334
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(LtE , i64, i64)))] = LAMBDA(LtE , int64);
335
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Gt , i64, i64)))] = LAMBDA(Gt , int64);
336
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(GtE , i64, i64)))] = LAMBDA(GtE , int64);
337
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Is , i64, i64)))] = LAMBDA(Is , int64);
338
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(IsNot, i64, i64)))] = LAMBDA(IsNot, int64);
339
340
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Eq , f32, f32)))] = LAMBDA(Eq , float32);
341
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(NotEq, f32, f32)))] = LAMBDA(NotEq, float32);
342
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Lt , f32, f32)))] = LAMBDA(Lt , float32);
343
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(LtE , f32, f32)))] = LAMBDA(LtE , float32);
344
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Gt , f32, f32)))] = LAMBDA(Gt , float32);
345
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(GtE , f32, f32)))] = LAMBDA(GtE , float32);
346
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Is , f32, f32)))] = LAMBDA(Is , float32);
347
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(IsNot, f32, f32)))] = LAMBDA(IsNot, float32);
348
349
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Eq , f64, f64)))] = LAMBDA(Eq , float64);
350
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(NotEq, f64, f64)))] = LAMBDA(NotEq, float64);
351
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Lt , f64, f64)))] = LAMBDA(Lt , float64);
352
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(LtE , f64, f64)))] = LAMBDA(LtE , float64);
353
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Gt , f64, i64)))] = LAMBDA(Gt , float64);
354
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(GtE , f64, f64)))] = LAMBDA(GtE , float64);
355
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(Is , f64, f64)))] = LAMBDA(Is , float64);
356
3/3
✓ Branch 2 taken 12 times.
✓ Branch 5 taken 12 times.
✓ Branch 8 taken 12 times.
12 map[StringRef(STR(JOIN(IsNot, f64, f64)))] = LAMBDA(IsNot, float64);
357
358 // clang-format on
359 12 return map;
360 }
361
362 Dict<StringRef, Compare::NativeCompOp> const& native_cmp_operators() {
363
4/7
✓ Branch 0 taken 12 times.
✓ Branch 1 taken 45 times.
✓ Branch 3 taken 12 times.
✗ Branch 4 not taken.
✓ Branch 6 taken 12 times.
✗ Branch 10 not taken.
✗ Branch 11 not taken.
57 static auto ops = build_native_cmp_operators();
364 57 return ops;
365 }
366
367 Compare::NativeCompOp get_native_cmp_operation(StringRef signature) {
368
3/3
✓ Branch 1 taken 45 times.
✓ Branch 4 taken 45 times.
✓ Branch 7 taken 45 times.
45 return get(native_cmp_operators(), signature, Compare::NativeCompOp());
369 }
370
371 } // namespace lython
372