My omnium-gatherom of scripts and source code.
at main 126 lines 2.9 kB view raw
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}