[Numbers][GSoC] Final Google Summer of Code submission 2022.

2022-09-12 Thread Sumanth Rajkumar
[1] https://gist.github.com/sumanth-rajkumar/705e0247c1b48f78bfded8fa58a98aa0

Re: [numbers][gsoc] GSoC 2022 - NUMBERS-186 Proposal

2022-08-03 Thread Sumanth Rajkumar
[1] https://github.com/sumanth-rajkumar/commons-numbers/tree/NUMBERS-186.complex_list_support/commons-numbers-complex/src On Tue, 2 Aug 2022 at 13:26, Sumanth Rajkumar wrote: > Thanks Alex for the feedback, > > I'll work on a ComplexList class that implements the List interface and is

Re: [numbers][gsoc] GSoC 2022 - NUMBERS-186 Proposal

2022-08-02 Thread Sumanth Rajkumar
Aug 2022 at 17:38, Sumanth Rajkumar > wrote: > > > Hi, > > > > > I think that Alex's suggestion still holds: Better focus on one > > > task at a time. Are the "list" and "matrix" features related? > > > > OK, Will focus

Re: [numbers][gsoc] GSoC 2022 - NUMBERS-186 Proposal

2022-08-01 Thread Sumanth Rajkumar
e) It looks like we will be implementing the SimpleMatrix style. Should we also consider other approaches? Thanks, Sumanth [1] http://ejml.org/wiki/index.php?title=Main_Page#:~:text=EJML%20has%20three,of%20writing%20equations On Fri, 29 Jul 2022 at 10:41, Gilles Sadowski wrote: > Hello. > &

Re: [numbers][gsoc] GSoC 2022 - NUMBERS-186 Proposal

2022-07-28 Thread Sumanth Rajkumar
using Buffers as well and so I was hoping if you can give a little more detail about this. If there are any other suggestions, please let me know. Thanks, Sumanth [1] https://github.com/sumanth-rajkumar/commons-numbers/tree/NUMBERS-186.complex_list_and_matrix_support On Tue, 12 Jul 2022 at 10

Re: [numbers][gsoc] GSoC 2022 - NUMBERS-186 Proposal

2022-07-12 Thread Sumanth Rajkumar
022 at 22:56, Gilles Sadowski > wrote: > > > Le lun. 11 juil. 2022 à 20:03, Sumanth Rajkumar > > a écrit : > > > > > > Hi, > > > > > > I have finished updating the test classes, but I am encountering a > > problem > > > in the Complex

Re: [numbers][gsoc] GSoC 2022 - NUMBERS-186 Proposal

2022-07-11 Thread Sumanth Rajkumar
, Sumanth Rajkumar wrote: > Thanks for the feedback Alex, > > > Not a problem. Just write a dedicated method for Complex and a generic > > method in ComplexFunctions. This small level of code duplication is > > acceptable where the efficiency of the method is greatly improved by

Re: [numbers][gsoc] GSoC 2022 - NUMBERS-186 Proposal

2022-07-05 Thread Sumanth Rajkumar
Thanks for the feedback Alex, > Not a problem. Just write a dedicated method for Complex and a generic > method in ComplexFunctions. This small level of code duplication is > acceptable where the efficiency of the method is greatly improved by > rewriting it, as has been done for the scalar

Re: [numbers][gsoc] GSoC 2022 - NUMBERS-186 Proposal

2022-07-04 Thread Sumanth Rajkumar
Thanks Alex for PR feedback. I have incorporated the majority of the requested changes to the PR. I would like to discuss the remaining points here. > In commons-numbers-complex/src/main/java/org/apache/commons/numbers/complex/ComplexUnaryOperator.java: > Note that by making this a default that

Re: [numbers][gsoc] GSoC 2022 - NUMBERS-186 Proposal

2022-06-26 Thread Sumanth Rajkumar
operations... Thanks, Sumanth PS: Noticed master branch unit test failures in numbers-fraction module On Fri, 24 Jun 2022 at 19:43, Gilles Sadowski wrote: > Hello. > > Le ven. 24 juin 2022 à 16:59, Sumanth Rajkumar > a écrit : > > > > Hi Alex, Gilles, and Matt, > &

Re: [numbers][gsoc] GSoC 2022 - NUMBERS-186 Proposal

2022-06-24 Thread Sumanth Rajkumar
, Sumanth Rajkumar wrote: > Hello Gilles, > Thanks! I will start a new thread for float support. > > Thanks > Sumanth > > > On Mon, Jun 20, 2022, 18:41 Gilles Sadowski wrote > >> >> > Also, should we add support for float data type for complex numbers?

[numbers] Complex Float Support

2022-06-23 Thread Sumanth Rajkumar
Hi, As part of NUMBERS-187 (Enhanced Support for complex numbers), should we add support for float types? If yes, for operations on float types, can we reuse functions (part of NUMBERS-188) that operate on double types and use Java float-double widening and narrowing conversions?

Re: [numbers][gsoc] GSoC 2022 - NUMBERS-186 Proposal

2022-06-20 Thread Sumanth Rajkumar
Hello Gilles, Thanks! I will start a new thread for float support. Thanks Sumanth On Mon, Jun 20, 2022, 18:41 Gilles Sadowski wrote > > > Also, should we add support for float data type for complex numbers? > > In the "dev" ML, we customarily aim at focussing each discussion, > Thus could

Re: [numbers][gsoc] GSoC 2022 - NUMBERS-186 Proposal

2022-06-19 Thread Sumanth Rajkumar
at 08:11, Sumanth Rajkumar wrote: > > EjML functional interface looks like this > > > > void apply(ComplexDouble in, MutableComplexDouble out) > > > Similar to the mutable cursor idea we have been discussing. The Mutable > object could be an interface? > >

Re: [numbers][gsoc] GSoC 2022 - NUMBERS-186 Proposal

2022-06-16 Thread Sumanth Rajkumar
will follow Alex's latest update to the Developer Guide for pull requests. Thanks, Sumanth On Wed, 15 Jun 2022 at 13:58, Alex Herbert wrote: > On Wed, 15 Jun 2022 at 17:38, Sumanth Rajkumar > > wrote: > > > Hi Alex, > > > > What do you intend to support as a &quo

Re: [numbers][gsoc] GSoC 2022 - NUMBERS-186 Proposal

2022-06-15 Thread Sumanth Rajkumar
return null; } public U popResult() { return (U) afterResult.pop(); } } Here is a link to the unit test class that ran successfully and the ComplexResultInterceptor class: https://github.com/sumanth-rajkumar/commons-numbers/blob/sumanth-gsoc-22-array_refactor/common

Re: [numbers][gsoc] GSoC 2022 - NUMBERS-186 Proposal

2022-06-13 Thread Sumanth Rajkumar
022 at 20:08, Alex Herbert wrote: > On Sun, 12 Jun 2022 at 16:55, Sumanth Rajkumar > > wrote: > > > > > > > I have provided both approaches. Functional interfaces that operate on > > single complex and on Arrays > > > > Thanks for the examples. >

Re: [numbers][gsoc] GSoC 2022 - NUMBERS-186 Proposal

2022-06-12 Thread Sumanth Rajkumar
ray input, ComplexDoubleArray result); } @FunctionalInterface public interface ComplexArrayResult { R set(int index, double r, double i); } interface ComplexDoubleArray extends Iterable, ComplexArrayResult { ... } 2) Implementation for conjugate example in ComplexFunctions https://github.com/s

Re: [numbers][gsoc] GSoC 2022 - NUMBERS-186 Proposal

2022-06-11 Thread Sumanth Rajkumar
On Sat, Jun 11, 2022, 18:02 Gilles Sadowski wrote: > I have a hard time figuring out whether these bits of code are > intended to become the application developer API... > What data-structure(s) will be visible (from the application)? > What will be hidden ("implementation details")? >

Re: [numbers][gsoc] GSoC 2022 - NUMBERS-186 Proposal

2022-06-11 Thread Sumanth Rajkumar
:00 Sumanth Rajkumar wrote: > > > On Fri, Jun 10, 2022, 19:30 Gilles Sadowski wrote: > >> The current implementation of "Complex" encapsulates two "double" fields >> (not >> a "double[]"). >> Should we make two, at first separ

Re: [numbers][gsoc] GSoC 2022 - NUMBERS-186 Proposal

2022-06-10 Thread Sumanth Rajkumar
On Fri, Jun 10, 2022, 19:30 Gilles Sadowski wrote: > The current implementation of "Complex" encapsulates two "double" fields > (not > a "double[]"). > Should we make two, at first separate, discussions: One for the > implementation > of the "complex number" concept, and another for

Re: [numbers][gsoc] GSoC 2022 - NUMBERS-186 Proposal

2022-06-10 Thread Sumanth Rajkumar
Thanks for the detailed explanation with example. Now I understand the difference between binary vs source backward compatibility. The type change would have been source compatible where existing applications would have to recompile (without any code changes) to run with the new version? So

Re: [numbers][gsoc] GSoC 2022 - NUMBERS-186 Proposal

2022-06-10 Thread Sumanth Rajkumar
[] for realAndImg parts (similar to all external implementations such as jtransform) Thanks Sumanth On Fri, 10 Jun 2022 at 08:58, Gilles Sadowski wrote: > Hello. > > Le ven. 10 juin 2022 à 14:43, Sumanth Rajkumar > a écrit : > > > > Thanks for the quick response > > &g

Re: [numbers][gsoc] GSoC 2022 - NUMBERS-186 Proposal

2022-06-10 Thread Sumanth Rajkumar
and get back to you with more > detailed feedback. Here are some quick thoughts: > > On Fri, 10 Jun 2022 at 12:55, Sumanth Rajkumar > > wrote: > > > Hi Alex and Giles, > > > > Thanks for the feedback. > > > > 1) Backward Compatibility and Complex Interface

Re: [numbers][gsoc] GSoC 2022 - NUMBERS-186 Proposal

2022-06-10 Thread Sumanth Rajkumar
< r.length) { cursor.apply(realFunc.applyAsDouble(cursor), imgFunc .applyAsDouble(cursor)); cursor.index++; } } ... } On Fri, 10 Jun 2022 at 07:55, Sumanth Rajkumar wrote: > Hi Alex and Giles, > > Thanks for the feedback. > > 1) Backward Compatibility and Compl

Re: [numbers][gsoc] GSoC 2022 - NUMBERS-186 Proposal

2022-06-10 Thread Sumanth Rajkumar
it as an interface. I was able to make the change along with a ComplexCartesianImpl class and run all unit tests successfully. I did not have to make any changes to unit tests. "mvn test" runs successfully on my local machine after the changes https://github.com/sumanth-rajkumar/commo

Re: [numbers][gsoc] GSoC 2022 - NUMBERS-186 Proposal

2022-05-25 Thread Sumanth Rajkumar
methods which can be viewed here [2] Thanks, Sumanth [1] https://issues.apache.org/jira/browse/NUMBERS-186 [2] https://github.com/sumanth-rajkumar/commons-numbers/tree/sumanth-gsoc-22/commons-numbers-complex/src/main/java/org/apache/commons/numbers/complex On Mon, Mar 28, 2022, 7:01 PM Gilles

Re: [numbers][gsoc] GSoC 2022 - NUMBERS-186 Proposal

2022-03-27 Thread Sumanth Rajkumar
Thanks Alex and Gilles for your feedback So currently Commons Math transform depends on Common complex numbers, and the API involves usage of Complex Object Arrays instead of primitive array data structures I also briefly looked into other library implementations besides Jtransform and EJML that

[numbers] GSoC 2022 - NUMBERS-186 Proposal

2022-03-12 Thread Sumanth Rajkumar
. https://github.com/sumanth-rajkumar/commons-numbers/blob/sumanth-gsoc-22/commons-numbers-complex/src/main/java/org/apache/commons/numbers/complex/ComplexList.java I would like to re-use the implementations from Complex class. For some of the simpler operations I exposed the private static methods