From f8a74e5e5640ccb7c592dbdf2ac095f963e4e70f Mon Sep 17 00:00:00 2001 From: Sebastien Brisard Date: Wed, 14 Dec 2011 05:06:01 +0000 Subject: [PATCH] Alterations to the javadoc (MATH-677). git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@1214057 13f79535-47bb-0310-9956-ffa450edef68 --- .../math/transform/FastCosineTransformer.java | 95 +++++++++++-------- 1 file changed, 57 insertions(+), 38 deletions(-) diff --git a/src/main/java/org/apache/commons/math/transform/FastCosineTransformer.java b/src/main/java/org/apache/commons/math/transform/FastCosineTransformer.java index 697418bd2..14ea0927c 100644 --- a/src/main/java/org/apache/commons/math/transform/FastCosineTransformer.java +++ b/src/main/java/org/apache/commons/math/transform/FastCosineTransformer.java @@ -31,9 +31,48 @@ import org.apache.commons.math.util.FastMath; *

* There are several variants of the discrete cosine transform. The present * implementation corresponds to DCT-I, with various normalization conventions, - * which are specified in the comments of the factory methods {@link #create()} - * and {@link #createOrthogonal()}. + * which are described below. *

+ *

Standard DCT-I

+ *

+ * The standard normalization convention is defined as follows + *

+ * where N is the size of the data sample. + *

+ *

{@link RealTransformer}s following this convention are returned by the + * factory method {@link #create()}. + *

+ *

Orthogonal DCT-I

+ *

+ * The orthogonal normalization convention is defined as follows + *

+ * which make the transform orthogonal. N is the size of the data sample. + *

+ *

{@link RealTransformer}s following this convention are returned by the + * factory method {@link #createOrthogonal()}. + *

+ *

Link with the DFT, and assumptions on the layout of the data set

*

* DCT-I is equivalent to DFT of an even extension of the data series. * More precisely, if x0, …, xN-1 is the data set @@ -41,16 +80,20 @@ import org.apache.commons.math.util.FastMath; * x0#, …, x2N-3# * is defined as follows *

*

*

- * Then, the "standard" DCT-I (as returned by {@link #create()}) of the real - * data set x0, …, xN-1 is equal to - * half of the N first elements of the DFT of the extended data set - * x0#, …, x2N-3#. + * Then, the standard DCT-I y0, …, yN-1 of the real + * data set x0, …, xN-1 is equal to half + * of the N first elements of the DFT of the extended data set + * x0#, …, x2N-3# + *
+ * 2yn = ∑k=02N-3 + * xk# exp[-2πi nk / (2N - 2)] + *     k = 0, …, N-1. *

*

* The present implementation of the fast cosine transform requires the length @@ -60,7 +103,8 @@ import org.apache.commons.math.util.FastMath; *

*

As of version 2.0 this no longer implements Serializable

* - * @version $Id$ + * @version $Id: FastCosineTransformer.java 1213585 2011-12-13 07:44:52Z + * celestin $ * @since 1.2 */ public class FastCosineTransformer implements RealTransformer { @@ -89,22 +133,10 @@ public class FastCosineTransformer implements RealTransformer { /** *

* Returns a new instance of this class. The returned transformer uses the - * "standard" normalizing conventions - *

- * where N is the size of the data sample. + * standard normalizing conventions. *

* - * @return a new DCT transformer, with "standard" normalizing conventions + * @return a new DCT transformer, with standard normalizing conventions */ public static FastCosineTransformer create() { return new FastCosineTransformer(false); @@ -113,23 +145,10 @@ public class FastCosineTransformer implements RealTransformer { /** *

* Returns a new instance of this class. The returned transformer uses the - * "orthogonal" normalizing conventions - *

- * which make the transform orthogonal. N is the size of the data sample. + * orthogonal normalizing conventions. *

* - * @return a new DCT transformer, with "orthogonal" normalizing conventions + * @return a new DCT transformer, with orthogonal normalizing conventions */ public static FastCosineTransformer createOrthogonal() { return new FastCosineTransformer(true);