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

index 6e18dcb5a848d7faa172758e7743a9a8f04fa127..6d77c7f8e0cda60b4a20be9964cebe8929752d96 100644 (file)
@@ -242,6 +242,38 @@ MagickExport Image *ComplexImages(const Image *images,
       }
     for (x=0; x < (ssize_t) images->columns; x++)
     {
+      register ssize_t
+        i;
+
+      for (i=0; i < (ssize_t) GetPixelChannels(images); i++)
+      {
+        switch (operator)
+        {
+          case ConjugateComplexOperator:
+          default:
+          {
+            Cr[i]=Ar[i];
+            Ci[i]=(-Bi[i]);
+            break;
+          }
+          case DivideComplexOperator:
+          {
+            double
+              gamma;
+
+            gamma=PerceptibleReciprocal(Br[i]*Br[i]+Bi[i]*Bi[i]);
+            Cr[i]=gamma*(Ar[i]*Br[i]+Ai[i]*Bi[i]);
+            Ci[i]=gamma*(Ai[i]*Br[i]-Ai[i]*Bi[i]);
+            break;
+          }
+          case MultiplyComplexOperator:
+          {
+            Cr[i]=(Ar[i]*Br[i]+Ai[i]*Bi[i]);
+            Ci[i]=(Ai[i]*Br[i]-Ai[i]*Bi[i]);
+            break;
+          }
+        }
+      }
     }
     if (SyncCacheViewAuthenticPixels(Ci_view,exception) == MagickFalse)
       status=MagickFalse;