}
static void HSBComposite(const double hue,const double saturation,
- const double brightness,MagickRealType *red,MagickRealType *green,
- MagickRealType *blue)
+ const double brightness,double *red,double *green,
+ double *blue)
{
- MagickRealType
+ double
f,
h,
p,
/*
Convert HSB to RGB colorspace.
*/
- assert(red != (MagickRealType *) NULL);
- assert(green != (MagickRealType *) NULL);
- assert(blue != (MagickRealType *) NULL);
+ assert(red != (double *) NULL);
+ assert(green != (double *) NULL);
+ assert(blue != (double *) NULL);
if (saturation == 0.0)
{
- *red=(MagickRealType) QuantumRange*brightness;
+ *red=(double) QuantumRange*brightness;
*green=(*red);
*blue=(*red);
return;
case 0:
default:
{
- *red=(MagickRealType) QuantumRange*brightness;
- *green=(MagickRealType) QuantumRange*t;
- *blue=(MagickRealType) QuantumRange*p;
+ *red=(double) QuantumRange*brightness;
+ *green=(double) QuantumRange*t;
+ *blue=(double) QuantumRange*p;
break;
}
case 1:
{
- *red=(MagickRealType) QuantumRange*q;
- *green=(MagickRealType) QuantumRange*brightness;
- *blue=(MagickRealType) QuantumRange*p;
+ *red=(double) QuantumRange*q;
+ *green=(double) QuantumRange*brightness;
+ *blue=(double) QuantumRange*p;
break;
}
case 2:
{
- *red=(MagickRealType) QuantumRange*p;
- *green=(MagickRealType) QuantumRange*brightness;
- *blue=(MagickRealType) QuantumRange*t;
+ *red=(double) QuantumRange*p;
+ *green=(double) QuantumRange*brightness;
+ *blue=(double) QuantumRange*t;
break;
}
case 3:
{
- *red=(MagickRealType) QuantumRange*p;
- *green=(MagickRealType) QuantumRange*q;
- *blue=(MagickRealType) QuantumRange*brightness;
+ *red=(double) QuantumRange*p;
+ *green=(double) QuantumRange*q;
+ *blue=(double) QuantumRange*brightness;
break;
}
case 4:
{
- *red=(MagickRealType) QuantumRange*t;
- *green=(MagickRealType) QuantumRange*p;
- *blue=(MagickRealType) QuantumRange*brightness;
+ *red=(double) QuantumRange*t;
+ *green=(double) QuantumRange*p;
+ *blue=(double) QuantumRange*brightness;
break;
}
case 5:
{
- *red=(MagickRealType) QuantumRange*brightness;
- *green=(MagickRealType) QuantumRange*p;
- *blue=(MagickRealType) QuantumRange*q;
+ *red=(double) QuantumRange*brightness;
+ *green=(double) QuantumRange*p;
+ *blue=(double) QuantumRange*q;
break;
}
}
}
case ModulateCompositeOp:
{
+ double
+ blue,
+ green,
+ red;
+
ssize_t
offset;
&saturation,&brightness);
brightness+=(0.01*percent_brightness*offset)/midpoint;
saturation*=0.01*percent_saturation;
- HSBComposite(hue,saturation,brightness,&composite.red,
- &composite.green,&composite.blue);
+ HSBComposite(hue,saturation,brightness,&red,&green,&blue);
+ composite.red=red;
+ composite.green=green;
+ composite.blue=blue;
break;
}
case HueCompositeOp:
format[MaxTextExtent],
*message;
- register const double
+ register const MagickRealType
*k;
register ssize_t
convolve_traits,
traits;
- register const double
+ register const MagickRealType
*restrict k;
register const Quantum
ThrowImageException(ResourceLimitError,"MemoryAllocationFailed");
kernel_info->width=width;
kernel_info->height=width;
- kernel_info->values=(double *) AcquireAlignedMemory(kernel_info->width,
- kernel_info->width*sizeof(*kernel_info->values));
- if (kernel_info->values == (double *) NULL)
+ kernel_info->values=(MagickRealType *) AcquireAlignedMemory(
+ kernel_info->width,kernel_info->width*sizeof(*kernel_info->values));
+ if (kernel_info->values == (MagickRealType *) NULL)
{
kernel_info=DestroyKernelInfo(kernel_info);
ThrowImageException(ResourceLimitError,"MemoryAllocationFailed");
ThrowImageException(ResourceLimitError,"MemoryAllocationFailed");
kernel_info->width=width;
kernel_info->height=width;
- kernel_info->values=(double *) AcquireAlignedMemory(kernel_info->width,
- kernel_info->width*sizeof(*kernel_info->values));
- if (kernel_info->values == (double *) NULL)
+ kernel_info->values=(MagickRealType *) AcquireAlignedMemory(
+ kernel_info->width,kernel_info->width*sizeof(*kernel_info->values));
+ if (kernel_info->values == (MagickRealType *) NULL)
{
kernel_info=DestroyKernelInfo(kernel_info);
ThrowImageException(ResourceLimitError,"MemoryAllocationFailed");
kernel_info->height=width;
kernel_info->bias=bias; /* FUTURE: user bias on Gaussian Blur! non-sense */
kernel_info->signature=MagickSignature;
- kernel_info->values=(double *) AcquireAlignedMemory(kernel_info->width,
- kernel_info->width*sizeof(*kernel_info->values));
- if (kernel_info->values == (double *) NULL)
+ kernel_info->values=(MagickRealType *) AcquireAlignedMemory(
+ kernel_info->width,kernel_info->width*sizeof(*kernel_info->values));
+ if (kernel_info->values == (MagickRealType *) NULL)
{
kernel_info=DestroyKernelInfo(kernel_info);
ThrowImageException(ResourceLimitError,"MemoryAllocationFailed");
kernel_info->height=width;
kernel_info->bias=bias; /* FUTURE: user bias - non-sensical! */
kernel_info->signature=MagickSignature;
- kernel_info->values=(double *) AcquireAlignedMemory(kernel_info->width,
- kernel_info->width*sizeof(*kernel_info->values));
- if (kernel_info->values == (double *) NULL)
+ kernel_info->values=(MagickRealType *) AcquireAlignedMemory(
+ kernel_info->width,kernel_info->width*sizeof(*kernel_info->values));
+ if (kernel_info->values == (MagickRealType *) NULL)
{
kernel_info=DestroyKernelInfo(kernel_info);
ThrowImageException(ResourceLimitError,"MemoryAllocationFailed");
}
/* Read in the kernel values from rest of input string argument */
- kernel->values=(double *) AcquireAlignedMemory(kernel->width,
+ kernel->values=(MagickRealType *) AcquireAlignedMemory(kernel->width,
kernel->height*sizeof(*kernel->values));
- if (kernel->values == (double *) NULL)
+ if (kernel->values == (MagickRealType *) NULL)
return(DestroyKernelInfo(kernel));
kernel->minimum = +MagickHuge;
kernel->maximum = -MagickHuge;
{
kernel->height = kernel->width = (size_t) 1;
kernel->x = kernel->y = (ssize_t) 0;
- kernel->values=(double *) AcquireAlignedMemory(1,
+ kernel->values=(MagickRealType *) AcquireAlignedMemory(1,
sizeof(*kernel->values));
- if (kernel->values == (double *) NULL)
+ if (kernel->values == (MagickRealType *) NULL)
return(DestroyKernelInfo(kernel));
kernel->maximum = kernel->values[0] = args->rho;
break;
kernel->width = GetOptimalKernelWidth2D(args->rho,sigma2);
kernel->height = kernel->width;
kernel->x = kernel->y = (ssize_t) (kernel->width-1)/2;
- kernel->values=(double *) AcquireAlignedMemory(kernel->width,
+ kernel->values=(MagickRealType *) AcquireAlignedMemory(kernel->width,
kernel->height*sizeof(*kernel->values));
- if (kernel->values == (double *) NULL)
+ if (kernel->values == (MagickRealType *) NULL)
return(DestroyKernelInfo(kernel));
/* WARNING: The following generates a 'sampled gaussian' kernel.
kernel->x = (ssize_t) (kernel->width-1)/2;
kernel->y = 0;
kernel->negative_range = kernel->positive_range = 0.0;
- kernel->values=(double *) AcquireAlignedMemory(kernel->width,
+ kernel->values=(MagickRealType *) AcquireAlignedMemory(kernel->width,
kernel->height*sizeof(*kernel->values));
- if (kernel->values == (double *) NULL)
+ if (kernel->values == (MagickRealType *) NULL)
return(DestroyKernelInfo(kernel));
#if 1
kernel->x = kernel->y = 0;
kernel->height = 1;
kernel->negative_range = kernel->positive_range = 0.0;
- kernel->values=(double *) AcquireAlignedMemory(kernel->width,
+ kernel->values=(MagickRealType *) AcquireAlignedMemory(kernel->width,
kernel->height*sizeof(*kernel->values));
- if (kernel->values == (double *) NULL)
+ if (kernel->values == (MagickRealType *) NULL)
return(DestroyKernelInfo(kernel));
/* A comet blur is half a 1D gaussian curve, so that the object is
kernel->width = kernel->height = ((size_t)args->rho)*2+1;
kernel->x = kernel->y = (ssize_t) (kernel->width-1)/2;
- kernel->values=(double *) AcquireAlignedMemory(kernel->width,
+ kernel->values=(MagickRealType *) AcquireAlignedMemory(kernel->width,
kernel->height*sizeof(*kernel->values));
- if (kernel->values == (double *) NULL)
+ if (kernel->values == (MagickRealType *) NULL)
return(DestroyKernelInfo(kernel));
/* set all kernel values within diamond area to scale given */
kernel->y = (ssize_t) args->psi;
scale = 1.0;
}
- kernel->values=(double *) AcquireAlignedMemory(kernel->width,
+ kernel->values=(MagickRealType *) AcquireAlignedMemory(kernel->width,
kernel->height*sizeof(*kernel->values));
- if (kernel->values == (double *) NULL)
+ if (kernel->values == (MagickRealType *) NULL)
return(DestroyKernelInfo(kernel));
/* set all kernel values to scale given */
kernel->width = kernel->height = ((size_t)args->rho)*2+1;
kernel->x = kernel->y = (ssize_t) (kernel->width-1)/2;
- kernel->values=(double *) AcquireAlignedMemory(kernel->width,
+ kernel->values=(MagickRealType *) AcquireAlignedMemory(kernel->width,
kernel->height*sizeof(*kernel->values));
- if (kernel->values == (double *) NULL)
+ if (kernel->values == (MagickRealType *) NULL)
return(DestroyKernelInfo(kernel));
for ( i=0, v=-kernel->y; v <= (ssize_t)kernel->y; v++)
kernel->width = kernel->height = (size_t)fabs(args->rho)*2+1;
kernel->x = kernel->y = (ssize_t) (kernel->width-1)/2;
- kernel->values=(double *) AcquireAlignedMemory(kernel->width,
+ kernel->values=(MagickRealType *) AcquireAlignedMemory(kernel->width,
kernel->height*sizeof(*kernel->values));
- if (kernel->values == (double *) NULL)
+ if (kernel->values == (MagickRealType *) NULL)
return(DestroyKernelInfo(kernel));
for ( i=0, v=-kernel->y; v <= (ssize_t)kernel->y; v++)
kernel->width = kernel->height = ((size_t)args->rho)*2+1;
kernel->x = kernel->y = (ssize_t) (kernel->width-1)/2;
- kernel->values=(double *) AcquireAlignedMemory(kernel->width,
+ kernel->values=(MagickRealType *) AcquireAlignedMemory(kernel->width,
kernel->height*sizeof(*kernel->values));
- if (kernel->values == (double *) NULL)
+ if (kernel->values == (MagickRealType *) NULL)
return(DestroyKernelInfo(kernel));
/* set all kernel values along axises to given scale */
kernel->width = kernel->height = ((size_t)args->rho)*2+1;
kernel->x = kernel->y = (ssize_t) (kernel->width-1)/2;
- kernel->values=(double *) AcquireAlignedMemory(kernel->width,
+ kernel->values=(MagickRealType *) AcquireAlignedMemory(kernel->width,
kernel->height*sizeof(*kernel->values));
- if (kernel->values == (double *) NULL)
+ if (kernel->values == (MagickRealType *) NULL)
return(DestroyKernelInfo(kernel));
/* set all kernel values along axises to given scale */
kernel->height = kernel->width;
kernel->x = kernel->y = (ssize_t) (kernel->width-1)/2;
- kernel->values=(double *) AcquireAlignedMemory(kernel->width,
+ kernel->values=(MagickRealType *) AcquireAlignedMemory(kernel->width,
kernel->height*sizeof(*kernel->values));
- if (kernel->values == (double *) NULL)
+ if (kernel->values == (MagickRealType *) NULL)
return(DestroyKernelInfo(kernel));
/* set a ring of points of 'scale' ( 0.0 for PeaksKernel ) */
kernel->width = kernel->height = ((size_t)args->rho)*2+1;
kernel->x = kernel->y = (ssize_t) (kernel->width-1)/2;
- kernel->values=(double *) AcquireAlignedMemory(kernel->width,
+ kernel->values=(MagickRealType *) AcquireAlignedMemory(kernel->width,
kernel->height*sizeof(*kernel->values));
- if (kernel->values == (double *) NULL)
+ if (kernel->values == (MagickRealType *) NULL)
return(DestroyKernelInfo(kernel));
for ( i=0, v=-kernel->y; v <= (ssize_t)kernel->y; v++)
kernel->width = kernel->height = ((size_t)args->rho)*2+1;
kernel->x = kernel->y = (ssize_t) (kernel->width-1)/2;
- kernel->values=(double *) AcquireAlignedMemory(kernel->width,
+ kernel->values=(MagickRealType *) AcquireAlignedMemory(kernel->width,
kernel->height*sizeof(*kernel->values));
- if (kernel->values == (double *) NULL)
+ if (kernel->values == (MagickRealType *) NULL)
return(DestroyKernelInfo(kernel));
for ( i=0, v=-kernel->y; v <= (ssize_t)kernel->y; v++)
kernel->width = kernel->height = ((size_t)args->rho)*2+1;
kernel->x = kernel->y = (ssize_t) (kernel->width-1)/2;
- kernel->values=(double *) AcquireAlignedMemory(kernel->width,
+ kernel->values=(MagickRealType *) AcquireAlignedMemory(kernel->width,
kernel->height*sizeof(*kernel->values));
- if (kernel->values == (double *) NULL)
+ if (kernel->values == (MagickRealType *) NULL)
return(DestroyKernelInfo(kernel));
for ( i=0, v=-kernel->y; v <= (ssize_t)kernel->y; v++)
kernel->width = kernel->height = ((size_t)args->rho)*2+1;
kernel->x = kernel->y = (ssize_t) (kernel->width-1)/2;
- kernel->values=(double *) AcquireAlignedMemory(kernel->width,
+ kernel->values=(MagickRealType *) AcquireAlignedMemory(kernel->width,
kernel->height*sizeof(*kernel->values));
- if (kernel->values == (double *) NULL)
+ if (kernel->values == (MagickRealType *) NULL)
return(DestroyKernelInfo(kernel));
for ( i=0, v=-kernel->y; v <= (ssize_t)kernel->y; v++)
*new_kernel=(*kernel); /* copy values in structure */
/* replace the values with a copy of the values */
- new_kernel->values=(double *) AcquireAlignedMemory(kernel->width,
+ new_kernel->values=(MagickRealType *) AcquireAlignedMemory(kernel->width,
kernel->height*sizeof(*kernel->values));
- if (new_kernel->values == (double *) NULL)
+ if (new_kernel->values == (MagickRealType *) NULL)
return(DestroyKernelInfo(new_kernel));
for (i=0; i < (ssize_t) (kernel->width*kernel->height); i++)
new_kernel->values[i]=kernel->values[i];
assert(kernel != (KernelInfo *) NULL);
if ( kernel->next != (KernelInfo *) NULL )
kernel->next=DestroyKernelInfo(kernel->next);
- kernel->values=(double *) RelinquishAlignedMemory(kernel->values);
+ kernel->values=(MagickRealType *) RelinquishAlignedMemory(kernel->values);
kernel=(KernelInfo *) RelinquishMagickMemory(kernel);
return(kernel);
}
register ssize_t
v;
- register const double
+ register const MagickRealType
*restrict k;
register const Quantum
register ssize_t
u;
- register const double
+ register const MagickRealType
*restrict k;
register const Quantum
register ssize_t
u;
- register const double
+ register const MagickRealType
*restrict k;
register const Quantum
register ssize_t
u;
- register const double
+ register const MagickRealType
*restrict k;
register const Quantum
* Basically all that is needed is a reversal of the kernel data!
* And a reflection of the origon
*/
- size_t
- i,j;
- register double
- *k,t;
+ double
+ t;
+
+ register MagickRealType
+ *k;
+
+ ssize_t
+ i,
+ j;
k=kernel->values;
for ( i=0, j=kernel->width*kernel->height-1; i<j; i++, j--)