GCC Code Coverage Report


Directory: ./
Coverage: low: ≥ 0% medium: ≥ 75.0% high: ≥ 90.0%
Coverage Exec / Excl / Total
Lines: 0.0% 0 / 0 / 5
Functions: 0.0% 0 / 0 / 1
Branches: 0.0% 0 / 0 / 2

src/edh/gray_code/lib.hpp
Line Branch Exec Source
1 #pragma once
2
3 #include "../../util/alias/others/lib.hpp"
4
5 namespace tifa_libs {
6
7 // k-th n-digit Gray code
8 CEXP std::bitset<64> gray_code(u32 n, u64 k) NE {
9 std::bitset<64> res;
10 k ^= k >> 1;
11 while (~--n) res.set(n, k >> n & 1);
12 return res;
13 }
14 // all n-digit Gray code
15 CEXP vecu gray_code(u32 n) NE {
16 vecu ret(1 << n);
17 flt_ (u32, i, 0, (u32)ret.size()) ret[i] = i ^ (i >> 1);
18 return ret;
19 }
20
21 } // namespace tifa_libs
22