Hello,

On Wednesday 9 January 2013 Thiago Macieira wrote:
> I'm not sure it's out of scope for Qt. In fact, I don't know yet whether it
> should be part of Qt Core or not. I guess I am the person to make that
> particular call.
> 
> So what I need from Glen is, at least, the proposed API docs with some
> proposed examples of how it will work.
> 
> I need to review that to decide whether it fits Qt Core's purpose in life.

<snip>

> To be accepted in QtCore, the contribution must be of a handful[*] of files in
> src/corelib/tools, including the documentation, with examples in examples/,
> tests in tests/auto/corelib/tools/qndarray.
> 
> [*] by "handful", I mean it literally: counted with the fingers of one hand.
> And I do not mean binary counting (2⁵ = 32 files).

Yes, well there certainly are still quite a few files in this patch (perhaps 
it's more like a new shed than a patch), although I *have* consolidated several 
files together in the commit that I made a few minutes ago.

I suppose that when I first brought up this concept, many of you envisioned a 
single header file and one or two .cpp files.  That's funny because it's the 
same thing *I* envisioned when I started working on this effort some number of 
years ago.  ;-)

I didn't think it would be that hard to replicate in C++ the basic operations 
("yeah, I'll just stick with the basic operations, and it won't be too bad or 
take too long") available on numpy.ndarray class instances -- you've got to 
keep track of shape and strides, index appropriately, and provide a few 
mathematical operations.  Famous last words.

Anyway, as I contemplated Thiago's formal request for API docs, I concluded 
that this effort has become complicated enough that a quick cursory explanation 
would not do justice to the complexity of the implementation.  At least, I 
think that the code has gotten progressively complicated, in order to cover the 
basic modes of operation that numpy provides.  And without an ernest 
explanation of how it all fits together, I think that I would continue to meet 
with "this patch is way to big" or "this patch has way too many files" or "I 
don't understand why you're submitting this to Qt".  

Now, I realize that there are situations where these answers are valid reasons 
for rejecting a patch, and I'm under no illusion that my efforts might yet be 
excluded from Qt; my current objective is still to just explain what I've done.

To that end, I began formalizing the documentation into real .qdoc files (no, 
it's not finished yet -- it's still a WIP).  Most notably, I have pushed 
numeric.qdoc which gives an explanation "from the very beginning" and tries to 
define all of the QNDArray-specific terms for the user (actually, they are 
numpy terms).

So, I sincerely hope that several of you on this list will build and read the 
docs I have written -- I look forward to hearing what you think.

Best Regards,
Glen Mabey

P.S. Yes, I have pushed these files to the dev branch prior to the cutoff date 
for 5.1, but no, I do not intend to request that it be merged for the 5.1 
release -- it's still a WIP.
P.P.S. Yes, I am certainly open to consolidating more of the source files -- I 
am very happy to receive specific feedback on this issue.
_______________________________________________
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development

Reply via email to