Details
-
Improvement
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
None
-
None
Description
Classes in package "o.a.c.m.transform" might require some changes in order to conform to goals set for the next major release.
Some observations:
- Exceptions done (see below)
- Should remove use of deprecated "MathRuntimeException"
- Should throw more specific "Math...Exception" instances instead of standard IAE
- Interface "RealTransformer" (and implementations) contain non-conformant method names (e.g. "inversetransform" instead of "inverseTransform"). Fixed in r1208293.
- "FastFourierTransformer":
- Methods "mdfft" and "verifyDataSet" take an argument of type "Object" (to allow an argument with an unspecified number of dimensions)
- The "RootsOfUnity" helper class could be moved to the "complex" package. Done in r1238898.
- For clarity, multidimensional transform should be moved to a class of its own (and I also wonder whether the "MultiDimensionalComplexMatrix" name is not misleading)
- "FastFourierTransformer", "FastSineTranformer" and "FastCosineTranformer" define public methods "tranform2" and "inversetransform2" but they are not part of an interface. As of r1213157, these methods have been removed, and replaced by factory methods create() and createUnitary() (FFT) or createOrthogonal() (FCT, FST).
- Code uses variables that start with an uppercase. Fixed, together with various formatting issues.
- "FastHadamardTransformer" contains illegible developer documentation (see Javadoc for protected method "fht"). Tried to improve things in r1208986, but things are still a bit obscure. Besides, the link provided is broken. Will look into that.