8
8
// Created by Hedzr Yeh on 2021/10/13.
9
9
//
10
10
11
- #include " undo_cxx.hh"
11
+ #include " undo_cxx/undo-common .hh"
12
12
13
- #include < iomanip >
13
+ #include < cmath >
14
14
#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
- }
56
15
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
+ }
58
33
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 () {
59
49
test_partial ();
60
50
test_curry ();
61
-
62
51
return 0 ;
63
52
}
0 commit comments