This commit is contained in:
John Cupitt 2009-09-21 16:39:41 +00:00
parent 70ae9f7751
commit af1cb6e7ad
2 changed files with 36 additions and 5 deletions
libvips

@ -61,7 +61,7 @@
* the two n-band images are operated upon. * the two n-band images are operated upon.
* *
* In the same way, for operations that take an array constant, such as * In the same way, for operations that take an array constant, such as
* im_remainderconst_vec(), you can mix single-element arrays or single-band * im_remainder_vec(), you can mix single-element arrays or single-band
* images freely. * images freely.
* *
* Arithmetic operations try to preserve precision by increasing the number of * Arithmetic operations try to preserve precision by increasing the number of
@ -1176,7 +1176,7 @@ static im_function remainderconst_desc = {
remainderconst_args /* Arg list */ remainderconst_args /* Arg list */
}; };
/* Call im_remainderconst_vec via arg vector. /* Call im_remainder_vec via arg vector.
*/ */
static int static int
remainder_vec_vec( im_object *argv ) remainder_vec_vec( im_object *argv )
@ -1194,9 +1194,9 @@ static im_arg_desc remainder_vec_args[] = {
IM_INPUT_DOUBLEVEC( "x" ) IM_INPUT_DOUBLEVEC( "x" )
}; };
/* Description of im_remainderconst_vec. /* Description of im_remainder_vec.
*/ */
static im_function remainderconst_vec_desc = { static im_function remainder_vec_desc = {
"im_remainder_vec", /* Name */ "im_remainder_vec", /* Name */
N_( "remainder after integer division by a vector of constants" ), N_( "remainder after integer division by a vector of constants" ),
/* Description */ /* Description */
@ -1425,7 +1425,7 @@ static im_function *arith_list[] = {
&powtra_vec_desc, &powtra_vec_desc,
&remainder_desc, &remainder_desc,
&remainderconst_desc, &remainderconst_desc,
&remainderconst_vec_desc, &remainder_vec_desc,
&rint_desc, &rint_desc,
&sign_desc, &sign_desc,
&sintra_desc, &sintra_desc,

@ -296,10 +296,41 @@ static im_function similarity_area_desc = {
similarity_area_args /* Arg list */ similarity_area_args /* Arg list */
}; };
/* Call im_remainderconst_vec via arg vector.
*/
static int
remainderconst_vec_vec( im_object *argv )
{
im_doublevec_object *dv = (im_doublevec_object *) argv[2];
return( im_remainder_vec( argv[0], argv[1], dv->n, dv->vec ) );
}
/* Args for im_remainderconst_vec().
*/
static im_arg_desc remainderconst_vec_args[] = {
IM_INPUT_IMAGE( "in" ),
IM_OUTPUT_IMAGE( "out" ),
IM_INPUT_DOUBLEVEC( "x" )
};
/* Description of im_remainderconst_vec.
*/
static im_function remainderconst_vec_desc = {
"im_remainderconst_vec", /* Name */
N_( "remainder after integer division by a vector of constants" ),
/* Description */
IM_FN_PIO | IM_FN_PTOP, /* Flags */
remainderconst_vec_vec, /* Dispatch function */
IM_NUMBER( remainderconst_vec_args ),/* Size of arg list */
remainderconst_vec_args /* Arg list */
};
/* Package up all these functions. /* Package up all these functions.
*/ */
static im_function *deprecated_list[] = { static im_function *deprecated_list[] = {
&cmulnorm_desc, &cmulnorm_desc,
&remainderconst_vec_desc,
&fav4_desc, &fav4_desc,
&gadd_desc, &gadd_desc,
&litecor_desc, &litecor_desc,