-
Notifications
You must be signed in to change notification settings - Fork 46
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merge with rb-gsl #14
Comments
I think the issue you encountered is related to #13. |
I'd love to join forces somehow. Unfortunately, both our implementations deviated pretty extensively from the original code base which won't make it any easier to merge the two. Also, I have a feeling that This means we might want to try and find a way to either combine both What do you think? |
NMatrix is on its way to be very easily installable. We're working on removing all the dependencies and making it an independent, dependency-free gem. Thus I think gsl-nmatrix can potentially replace rb-gsl once that is done (I think it will be a GSOC project). |
That sounds awesome! I'll be sure to keep an eye on it (ref). |
Yep, there's a lot of work going into making NMatrix easy to install. This fork was created to allow both NArray and NMatrix to coexist afaik, so it should be possible (but not necessarily easy) to implement the same changes in the current rb-gsl repository. @blackwinter the GSoC students are going to be announced today, so there's going to be some posts on our mailing list regarding that project soon. :) |
Hi Sameer, first of all, I'm really glad that you've taken on the task to make the current Regarding your recent work on gsl-nmatrix I have a few comments. I'll keep them in this issue for now, but we can move the discussion elsewhere if you prefer.
I don't want to come across as too nitpicky, but seeing as this should also be an opportunity to learn, I hope you take my comments in good faith. As for the path forward, I'm excited that your fork might become the new SciRuby/rb-gsl, as John already indicated, and hence the canonical implementation. As soon as Would that be agreeable to everyone? Cheers, |
I really appreciated your comments. They're very useful for me to learn more. The thing is, my GSOC project is primarily concerned with statsample and daru, and statsample heavily depends on rb-gsl (and narray) and I cannot properly integrate daru and statsample if that is the case. The reason why the gem seems to be in a shabby state is because I just wanted to make sure that it works with nmatrix and statsample, so that I can begin my work ASAP. I have committed to @agarie that I will be porting the narray dependency to nmatrix completely in the next few weeks, whenever I get a breather from my main GSOC work. As such you can expect gsl-nmatrix upto your standards in 3 or 4 months max. I've addressed all your concerns in the points that follow:
Cheers! |
We've been struggling with (5) for a while. No one seems to know what to do about it. If you have an idea, we'd love to implement it. I suspect, though, that it requires a change in NArray, and the author is not eager to do that since his gem predates ours. |
@v0dro: I totally understand that this is only tangential to your project. What I don't understand is, why can't you work with @MohawkJohn: I would say that A few ideas spring to mind, though:
|
gsl-nmatrix in its current form was outdated, and I was facing big problems working with the setup.rb file and making the tests run, ensuring consistent builds and making changes etc. To top it all John's code depended on a very old version of nmatrix and the nmatrix C API has changed quite a bit since then. Once I saw that you had sufficiently updated rb-gsl to be a modern and robust gem, I was eager to port this stuff there. Plus my official coding period begins next week so this was a good opportunity to get familiar with the code base. |
I see, thanks for the background. Good luck with your project! |
@blackwinter (3) is an interesting idea. Could we do |
That would be equivalent to But I can prepare a pull request if you like, although it would probably have to wait till Monday. |
That'd be great.
|
@blackwinter @v0dro @MohawkJohn It seems there are now three different diverging repositories (gems):
Would it be possible to make blackwinter's rb-gsl compatible with both narray/nmatrix and compile support depending on what is available? I think that would be the best to keep compatibility with both libraries and to avoid such diverging repositories in the future. |
Hmmm...compatibility with both narray and nmatrix seems interesting, but it would lead to a lot of messy code in rb-gsl. Also, what if nmatrix and narray diverge in functionality is some aspects? IMO changing @blackwinter's rb-gsl to support nmatrix would be the way to go. |
Hi Sameer, I think the only narray/nmatrix specific part is the conversion between those and gsl matrices. So I think this can be done in a clean way using some macro functions. My main point is that the current situation is unsatisfactory. As I said there are the thee forks of yours around and not to forget the original gsl gem. All are incompatible and diverged quite a lot. Lost effort? Under the assumption that both narray/nmatrix will continue to exist we need one single implementation which can be released and maintained by all the current contributors to rb-gsl/gsl-nmatrix/gsl. I think it is much less effort to maintain the binding by itself + a few narray/nmatrix specifics instead of maintaining 2 different gsl bindings. However I haven't worked on the codebase. Those who have can judge better. Maybe you could try to cleanup your fork in such a way that you avoid doing the trivial things like readme whitespace etc so to merge cleanly. Daniel Am 12. Juni 2015 09:06:44 MESZ, schrieb Sameer Deshmukh notifications@github.com:
|
I agree with Daniel in that, if both NArray and NMatrix continue to exist, By the way, if this discussion interests you, take a look at Daniel's PR to Carlos Agarie 2015-06-12 6:28 GMT-03:00 Daniel Mendler notifications@github.com:
|
I also agree that a well-abstracted code base with support for both NArray and NMatrix would be the best solution overall. I just can't put in the necessary work right now. If others step up to do it, I'd be more than happy to assist in any way I can. |
Hi folks,
I'm using a Ruby gem that depends on
rb-gsl
(glove) and decided to see if it would work withgsl-nmatrix
as well. Turns out I couldn't even install it correctly:I don't have time to find why it isn't working right now (IIRC @v0dro had the same problem with travis-ci), but that made me think: was there a very strong reason to not merge this fork with the current
rb-gsl
gem?Apparently, the current maintainer is @blackwinter: the rubygems page points to blackwater/rb-gsl.
The text was updated successfully, but these errors were encountered: