Hi. Le lun. 28 sept. 2020 à 23:49, Nicola Vitucci <nicola.vitu...@gmail.com> a écrit : > > Hi all, > > Here is my article on Numbers as promised: > https://apothem.blog/apache-commons-numbers.html
Thanks for a nice presentation! > I hope it can be useful as a first comprehensive documentation and as an > outsider's perspective on the current status of the library. Please feel free > to comment and suggest improvements! There is a minor typo: "Angle between ..." instead of "Cosine of the angle between ..." Below I quote excerpts from the article that could elicit clarifications. >From the "Arrays" section: ---CUT--- It could be useful if some vector algebra functions were added [...] ---CUT--- If the meaning of vector is in the geometrical sense, the component to look at is "Apache Commons Geometry". If something else, perhaps more details are needed to understand what should be the focus of the "commons-numbers-arrays" module so as to maintain full generality, "array" being a sequence of numbers and not a more specific concept like "Cartesian coordinates". Wrt "MultidimensionalCounter", the originally intended purpose was to allow a (virtual) grid structure while saving storage (because in Java an array of arrays takes much more space than a one-dimensional array). There is a trade-off between speed and memory. >From the "Angle" section: ---CUT--- missing operations between angles, such as addition and multiplication by scalars. ---CUT--- Perhaps a feature request and a nice usage of the utilities in module "commons-numbers-field"? >From the section "Gamma": ---CUT--- this seems less connected to the concept of "number" and closer to the concept of "function". ---CUT--- Quite true, but there is a compromise between creating totally low-level components totally consistent with their main purpose (and name), and do some amount of grouping into a "library". ["Commons Math" was too much grouping (with the already mentioned consequence), and a component solely devoted to the Gamma function(s) might seem the other extreme.] This is still up for discussion... For example, should all those functions implement "DoubleUnaryOperator"[1]? >From the "Conclusion" section: ---CUT--- Java itself is still missing a much desired feature (operator overloading) ---CUT--- As as been mentioned in a recent thread on the "dev" ML, the "Commons" project could be the home to common utilities in other languages (preferably IMO if some "sharing" with the Java world is possible). Overloading is possible in Groovy[2], for example... ---CUT--- more operations for angles and vectors, close equality check for complex numbers ---CUT--- Feature requests welcome. Even more so, why not become an "insider"? After all, an Apache project is supposed to mean a "community" project. :-) You are also most welcome to provide a PR for an "official" user guide since most of the work is done. ;-) Best regards, Gilles [1] https://docs.oracle.com/javase/8/docs/api/java/util/function/DoubleUnaryOperator.html [2] http://groovy-lang.org/operators.html#Operator-Overloading > > Nicola --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@commons.apache.org For additional commands, e-mail: user-h...@commons.apache.org