@@ -41,6 +41,10 @@ bindings for the ``Data Fitting``, ``Random Number Generation``,
41
41
not have time left under the current scope of GSoC, so I have decided to
42
42
continue with the project outside the scope of GSoC.)
43
43
44
+
45
+ Choosing proper tools
46
+ *********************
47
+
44
48
Let me take you to my 3 months journey. First step was to find a tool or
45
49
package to write the bindings. Several options were in principle available to
46
50
write the bindings for example in the beginning we tried to evaluate the
@@ -73,6 +77,9 @@ to go ahead with pybind11. Next step was to `familiarize myself`_ with pybind11.
73
77
.. _familiarize myself : https://github.com/Deepanshu2017/pybind11_practise
74
78
75
79
80
+ The Basic design problem
81
+ ************************
82
+
76
83
Now we needed to solve the basic design problem which is the `CRTP idiom `_.
77
84
Hydra library relies on the CRTP idiom to avoid runtime overhead. I
78
85
investigated a lot about CRTP and it took a little while to finally come up
@@ -93,6 +100,10 @@ writing additional 1 extra call to make it use with extra value of N.
93
100
94
101
.. _CRTP idiom : https://en.wikipedia.org/wiki/Curiously_recurring_template_pattern
95
102
103
+
104
+ The Hydra Binding
105
+ *****************
106
+
96
107
Now that the approach was decided, we jump into the bindings of Hydra.
97
108
(Finally after so many complications but unfortunately this was not the
98
109
end of them.) We decided to bind the most important classes first,
@@ -158,6 +169,10 @@ series of test cases and documentation and of-course the example of
158
169
PhaseSpace class in action. The remaining algorithms that I named at the
159
170
start of the article are left to implement.
160
171
172
+
173
+ The happy learning
174
+ ******************
175
+
161
176
GSoC 2017 was a really very learning experience for me. I learned a lot of
162
177
things not only related with programming but related with high energy physics.
163
178
I learned about *Monte Carlo Simulations *, and how they can be used to solve
@@ -169,6 +184,10 @@ python function and why simple python functions cannot be used in
169
184
multithreaded environments. Most importantly I learned how to structure
170
185
a project from scratch, how important documentation and test cases are.
171
186
187
+
188
+ Special Thanks
189
+ **************
190
+
172
191
Shoutout to my amazing mentors. I would like to thank
173
192
Dr. Antonio Augusto Alaves Jr. and Eduardo Rodrigues for being awesome
174
193
mentors and for all the time they invested in me during GSoC. I also would
0 commit comments