My omnium-gatherom of scripts and source code.
1/* ========================================================================
2 *
3 * Filename:
4 * Description:
5 * Author:
6 * Version: 0.0.1
7 *
8 * ======================================================================== */
9#include <iostream>
10#include <vector>
11
12/*
13auto b = [](auto a, auto b, auto c) {
14 return a(b(c));
15};
16
17auto b1 = [](auto a, auto b, auto c, auto d) {
18 return a(b(c, d));
19};
20
21auto b2 = [](auto a, auto b, auto c, auto d, auto e) {
22 return [a, b, c, d, e](auto x) { return a(b(c(x), d(x), e(x))); };
23};
24auto b3 = [](auto a, auto b, auto c, auto d) {
25 return [a, b, c, d](auto x) { return a(b(c(d(x)))); };
26};
27auto c = [](auto a, auto b, auto c) {
28 return [a, b, c](auto x) { return a(c(x), b(x)); };
29};
30auto d = [](auto a, auto b, auto c, auto d) {
31 return [a, b, c, d](auto x) { return a(b(x), c(d(x))); };
32};
33auto d1 = [](auto a, auto b, auto c, auto d, auto e) {
34 return [a, b, c, d, e](auto x) { return a(b(x), c(x), d(e(x))); };
35};
36auto d2 = [](auto a, auto b, auto c, auto d, auto e) {
37 return [a, b, c, d, e](auto x) { return a(b(c(x), d(e(x)))); };
38};
39auto e = [](auto a, auto b, auto c, auto d, auto e) {
40 return [a, b, c, d, e](auto x) { return a(b(x), c(d(e(x)))); };
41};
42auto e_ = [](auto a, auto b, auto c, auto d, auto e, auto f, auto g) {
43 return [a, b, c, d, e, f, g](auto x) {
44 return a(b(c(x), d(x)), e(f(x), g(x)));
45 };
46};
47auto f = [](auto a, auto b, auto c) {
48 return [a, b, c](auto x) { return c(b(a(x))); };
49};
50auto g = [](auto a, auto b, auto c, auto d) {
51 return [a, b, c, d](auto x) { return a(d(x)); };
52};
53auto h = [](auto a, auto b, auto c) {
54 return [a, b, c](auto x) { return a(b(x), c(x), b(x)); };
55};
56auto i = [](auto a) { return a; };
57auto j = 0;
58auto k = [](auto a, auto b) { return [a](auto x) { return a(x); }; };
59auto l = 0;
60auto m = 0;
61auto m2 = 0;
62auto o = 0;
63auto q = 0;
64auto q1 = 0;
65auto q2 = 0;
66auto q3 = 0;
67auto q4 = 0;
68auto r = 0;
69auto s = [](auto a, auto b, auto c) {
70 return [a, b, c](auto x) { return a(c(x), b(c(x))); };
71};
72auto t = 0;
73auto u = 0;
74auto v = 0;
75auto w = 0;
76auto w1 = 0;
77auto y = 0;
78auto w_ = 0;
79auto c_ = 0;
80auto r_ = 0;
81auto f_ = 0;
82auto v_ = 0;
83auto i__ = 0;
84auto w__ = 0;
85auto c__ = 0;
86auto r__ = 0;
87auto f__ = 0;
88auto v__ = 0;
89auto ki = 0;
90auto omega = 0;
91auto km = 0;
92auto ckm = 0;
93auto theta = 0;
94*/
95
96#include "combinators.cpp"
97#include <algorithm>
98#include <cmath>
99#include <ranges>
100#include <tuple>
101#include <vector>
102
103auto main() -> int
104{
105 namespace ra = std::ranges;
106 namespace vi = std::views;
107
108 constexpr auto pow16 = [](auto p) {
109 auto [x, y] = p;
110 return powl(16, x) * y;
111 };
112
113 constexpr auto add = [](auto a, auto b) { return a + b; };
114
115 static constexpr auto to_hex = [pow16, add](auto range) {
116 return ra::fold_left(range
117 | vi::reverse
118 | vi::enumerate
119 | vi::transform(pow16), 0, add);
120 };
121
122 constexpr static auto v = {2, 5};
123 std::cout << to_hex(v) << std::endl;
124
125 return 0;
126}