The week 3 in GSoC started with a backlog coming from the second week. But I was able to end the week on a happier note, by catching up with that work, and almost finishing the work assigned for this week. Apart from that, I have started reading on implementing a feature, not present in the original timeline as well.
In order to complete the work from RealMPFR and ComplexMPC wrappers, I was able to get merged, PR #972 and PR #984 on symengine repository. The work from second week finally came to an end with PR #49 getting merged in the symengine.rb repository.
For the third week’s work, Series and Polynomials had to be postponed because, the symengine developers are still finalizing them. So, I was left with Derivatives, Substitutions and Abs. Those implementations were covered with PR #982 in symengine repository and PR #50 in symengine.rb repository. PR #51 is currently under review, and a discussion on probable methods to extend the FunctionSymbol initialization function is currently underway.
Speaking of the other extra work I am going to take, it is about the eval methods. Currently the symengine has four eval methods, one each for limited precision reals and complexes, and multiple precision reals and complexes. This needs to be provided through an interfacing method, which is of the following format:
RCP<const Number> eval(const Basic &b, unsigned long bits = 53, bool real=False)
This needs to be written in C++, then wrapped in C and later in Ruby. Though I was planning to start working on it during the weekend, it was only possible to read and plan how to write the code. So next week, along with starting on the Matrices, I will look into achieving this as well.
See you next week!