naywhayare changed the topic of #mlpack to: http://www.mlpack.org/ -- We don't respond instantly... but we will respond. Give it a few minutes. Or hours. -- Channel logs: http://www.mlpack.org/irc/
< naywhayare>
535 bcenterdiv
< naywhayare>
30122 blockquotediv
< naywhayare>
sorry... bad paste into the wrong window
< jenkins-mlpack>
Marcus Edel: Add test for the nystroem method.
andrewmw94 has quit [Quit: Leaving.]
Anand has joined #mlpack
Anand has quit [Ping timeout: 246 seconds]
sumedhghaisas has joined #mlpack
andrewmw94 has joined #mlpack
udit_s has joined #mlpack
< sumedhghaisas>
naywhayare: you there??
< sumedhghaisas>
arma::iterator can be changed without changing the user interface...
< naywhayare>
sumedhghaisas: can you explain what you mean further?
< sumedhghaisas>
conrad said that there is already a huge codebase using that iterator... but we are not going o change any user interace...
< sumedhghaisas>
so is there a problem still??
< naywhayare>
I think he meant that there is a lot of code depending on iterator == eT*
< naywhayare>
it is possible to emulate the functionality of a pointer though
< naywhayare>
with a function eT*() or something like that that allows implicit casts to pointers
< sumedhghaisas>
I did not get this... even normal STL pointer can be considered a normal pointer...
< naywhayare>
yeah, that is a good point
< naywhayare>
I was confused by his idea that writing generic code to handle both mat and sp_mat is a bad idea
< naywhayare>
in my view that was kind of the point of having sp_mat in armadillo... so that a user could use a sparse or dense matrix and most of the time it wouldn't matter
< sumedhghaisas>
yes... exactly...
< naywhayare>
anyway it is often very hard to change his opinion so I need to think about the right way to respond :)
< naywhayare>
if worst comes to worst, we can pursue his second idea, which is to create an alternately-named iterator class
< naywhayare>
but I don't like that idea very much... it seems needlessly complex
< sumedhghaisas>
I am just confused about one thing... if we convert current pointer type iterator... to a proper wrapper type iterator...
< sumedhghaisas>
and iterator == *eT to be valid...
< sumedhghaisas>
what do we need to implement??
< sumedhghaisas>
this is implicit cast right??
< naywhayare>
I'm not completely sure
< naywhayare>
I haven't thought about it enough yet
< naywhayare>
an implicit cast *might* be good enough, but I'm not certain
< naywhayare>
when you have the iterator as eT*, the only things you can do to it are dereference, add, and subtract, I think
< naywhayare>
and assignment too
< sumedhghaisas>
naywhayare: lets try with a test class...
< sumedhghaisas>
anyway do you know the file where mat::iterator is implemented??
sumedh_ has joined #mlpack
sumedhghaisas has quit [Ping timeout: 245 seconds]
< naywhayare>
sumedh_: Mat_bones.hpp and Mat_meat.hpp
< naywhayare>
actually there is probably no implementation, so just Mat_bones
< sumedh_>
An expression e is said to be implicitly convertible to T2 if and only if T2 can be copy-initialized from e, that is the declaration T2 t=e; is well-formed (can be compiled), for some invented temporary t.
< sumedh_>
this might help??
< naywhayare>
yeah, that just means you need to create the function eT*() in the iterator class you make
< sumedh_>
operator eT*() right?? or am I missing something??
< naywhayare>
yeah, I believe that's correct
< sumedh_>
naywhayare: works :)
< sumedh_>
with operator
< sumedh_>
is there any other thing we are missing??
< sumedh_>
ahh copy constructor from eT*..
< sumedh_>
and copy assigned operator too
< sumedh_>
so that will take care of iterator = eT*;
< sumedh_>
but then how to compute row and column...
udit_s has quit [Quit: Leaving]
< jenkins-mlpack>
Starting build #2030 for job mlpack - svn checkin test (previous build: SUCCESS)