From 19f7886e4423cd5ce3eef31092942f55ba770983 Mon Sep 17 00:00:00 2001 From: cristy Date: Sat, 5 Oct 2013 22:21:46 +0000 Subject: [PATCH] --- MagickCore/fourier.c | 18 ++++++++++++++++++ MagickCore/fourier.h | 4 +++- MagickCore/option.c | 2 ++ 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/MagickCore/fourier.c b/MagickCore/fourier.c index 6d77c7f8e..640437688 100644 --- a/MagickCore/fourier.c +++ b/MagickCore/fourier.c @@ -249,6 +249,12 @@ MagickExport Image *ComplexImages(const Image *images, { switch (operator) { + case AddComplexOperator: + { + Cr[i]=Ar[i]+Br[i]; + Ci[i]=Ai[i]+Bi[i]; + break; + } case ConjugateComplexOperator: default: { @@ -272,7 +278,19 @@ MagickExport Image *ComplexImages(const Image *images, Ci[i]=(Ai[i]*Br[i]-Ai[i]*Bi[i]); break; } + case SubtractComplexOperator: + { + Cr[i]=Ar[i]-Br[i]; + Ci[i]=Ai[i]-Bi[i]; + break; + } } + Ar+=GetPixelChannels(Ar_image); + Ai+=GetPixelChannels(Ai_image); + Br+=GetPixelChannels(Br_image); + Bi+=GetPixelChannels(Bi_image); + Cr+=GetPixelChannels(Cr_image); + Ci+=GetPixelChannels(Ci_image); } } if (SyncCacheViewAuthenticPixels(Ci_view,exception) == MagickFalse) diff --git a/MagickCore/fourier.h b/MagickCore/fourier.h index c74180aee..e0cca4fdd 100644 --- a/MagickCore/fourier.h +++ b/MagickCore/fourier.h @@ -25,9 +25,11 @@ extern "C" { typedef enum { UndefinedComplexOperator, + AddComplexOperator, ConjugateComplexOperator, DivideComplexOperator, - MultiplyComplexOperator + MultiplyComplexOperator, + SubtractComplexOperator } ComplexOperator; extern MagickExport Image diff --git a/MagickCore/option.c b/MagickCore/option.c index 949545f9d..23987077d 100644 --- a/MagickCore/option.c +++ b/MagickCore/option.c @@ -923,9 +923,11 @@ static const OptionInfo ComplexOptions[] = { { "Undefined", UndefinedComplexOperator, UndefinedOptionFlag, MagickTrue }, + { "Add", AddComplexOperator, UndefinedOptionFlag, MagickFalse }, { "Conjugate", ConjugateComplexOperator, UndefinedOptionFlag, MagickFalse }, { "Divide", DivideComplexOperator, UndefinedOptionFlag, MagickFalse }, { "Multiply", MultiplyComplexOperator, UndefinedOptionFlag, MagickFalse }, + { "Subtract", SubtractComplexOperator, UndefinedOptionFlag, MagickFalse }, { (char *) NULL, UndefinedComplexOperator, UndefinedOptionFlag, MagickFalse } }, DataTypeOptions[] = -- 2.40.0