]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Sat, 5 Oct 2013 22:21:46 +0000 (22:21 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Sat, 5 Oct 2013 22:21:46 +0000 (22:21 +0000)
MagickCore/fourier.c
MagickCore/fourier.h
MagickCore/option.c

index 6d77c7f8e0cda60b4a20be9964cebe8929752d96..6404376886c50fe0de975678c7ab2c9e0a21ef89 100644 (file)
@@ -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)
index c74180aeeba88a546d144511a8509e4a9578b18a..e0cca4fddb00893713cd42b62d23fb4afba848a6 100644 (file)
@@ -25,9 +25,11 @@ extern "C" {
 typedef enum
 {
   UndefinedComplexOperator,
+  AddComplexOperator,
   ConjugateComplexOperator,
   DivideComplexOperator,
-  MultiplyComplexOperator
+  MultiplyComplexOperator,
+  SubtractComplexOperator
 } ComplexOperator;
 
 extern MagickExport Image
index 949545f9d8ec7898565b13be4b64ebc649b258d4..23987077d96be346a5cf01f43b7902bc3d0d8ccc 100644 (file)
@@ -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[] =