Skip to content

Commit 4ff2408

Browse files
committed
improved partial-curry.cc
1 parent d3a4c01 commit 4ff2408

File tree

1 file changed

+34
-45
lines changed

1 file changed

+34
-45
lines changed

tests/partial-curry.cc

+34-45
Original file line numberDiff line numberDiff line change
@@ -8,56 +8,45 @@
88
// Created by Hedzr Yeh on 2021/10/13.
99
//
1010

11-
#include "undo_cxx.hh"
11+
#include "undo_cxx/undo-common.hh"
1212

13-
#include <iomanip>
13+
#include <cmath>
1414
#include <iostream>
15-
#include <math.h>
16-
#include <string>
17-
18-
#include <functional>
19-
#include <memory>
20-
#include <random>
21-
22-
#include <deque>
23-
#include <list>
24-
#include <optional>
25-
#include <queue>
26-
#include <stack>
27-
#include <vector>
28-
29-
int test(int x, int y, int z) {
30-
return x + y + z;
31-
}
32-
33-
void test_partial() {
34-
using namespace undo_cxx::util::cool;
35-
std::cout << '\n';
36-
37-
auto f = partial(test, 5, 3);
38-
std::cout << f(7) << '\n';
39-
40-
std::cout << partial(test)(5, 3, 7) << '\n';
41-
std::cout << partial(test, 5)(3, 7) << '\n';
42-
std::cout << partial(test, 5, 3)(7) << '\n';
43-
}
44-
45-
void test_curry() {
46-
using namespace undo_cxx::util::cool;
47-
std::cout << '\n';
48-
49-
auto f = curry(test)(1);
50-
auto g = f(2);
51-
auto result = g(3);
52-
auto result1 = curry(test)(1)(2)(3);
53-
std::cout << "result: " << result << '\n';
54-
std::cout << "result1: " << result1 << '\n';
55-
}
5615

57-
int main() {
16+
namespace {
17+
18+
static int test(int x, int y, int z) {
19+
return x + y + z;
20+
}
21+
22+
static void test_partial() {
23+
using namespace undo_cxx::util::cool;
24+
std::cout << '\n';
25+
26+
auto f = partial(test, 5, 3);
27+
std::cout << f(7) << '\n';
28+
29+
std::cout << partial(test)(5, 3, 7) << '\n';
30+
std::cout << partial(test, 5)(3, 7) << '\n';
31+
std::cout << partial(test, 5, 3)(7) << '\n';
32+
}
5833

34+
static void test_curry() {
35+
using namespace undo_cxx::util::cool;
36+
std::cout << '\n';
37+
38+
auto f = curry(test)(1);
39+
auto g = f(2);
40+
auto result = g(3);
41+
auto result1 = curry(test)(1)(2)(3);
42+
std::cout << "result: " << result << '\n';
43+
std::cout << "result1: " << result1 << '\n';
44+
}
45+
46+
} // namespace
47+
48+
int main() {
5949
test_partial();
6050
test_curry();
61-
6251
return 0;
6352
}

0 commit comments

Comments
 (0)