The GSoC coding period started earlier this week. I have been coding for 6 days untils now, and am taking a break on Sunday!
For this week, according to GSoC proposal I started with wrapping the Complex Numbers class into Ruby. This week and the next are supposed to be for Complex numbers and Doubles.
Straight from my proposal :
Complex Numbers in the SymEngine can be of three different types.
- Complex Double
- Complex Int
- Complex mpc
Apart from wrapping these three different types into Ruby, this part will also include converting between the SymEngine Complex types and the Ruby Complex types.
Like wise, for floating point representation there are two types:
- Real Double
- Real mpfr
These classes will be wrapped during this week of the project, as well as converting between these types and Ruby’s Float and BigDecimal data types.
The Complex Numbers (excluding Complex Double and Complex mpc) was wrapped successfully with PR #39, while also fixing a couple of issues (Issue #19 and Issue #21). Interestingly, the Ruby Spec was updated by @zverok during this week and I had the opportunity to learn a lot about Specs as I had to re-write the specs in the new style.
On the other side, in the symengine/symengine repo, the CWrappers were updated to accommodate both Complex and Double numbers and successfully merged with PR #954.
The work on Doubles and Complex Doubles have already started in PR #46, and is almost completed. This should be ready to merge by mid next week, and by the end of next week I am hoping to complete mpc and mpfr for Complex and Doubles, and move on to the actual 3rd week work. Being ahead of the schedule is always great as it reduces pressure on my self!
See you next week!