//
//	Copyright 1993, Center for Computer Vision and Visualization,
//	University of Florida.  All rights reserved.
//
//
// $Log:	float-convolutions.desc,v $
// Revision 1.1  93/09/15  13:02:58  thoth
// Initial revision
// 
// Revision 1.2  93/05/27  11:41:03  thoth
// Copyright Notices
// 
// Revision 1.1  93/05/26  17:16:30  thoth
// Initial revision
// 
// Revision 1.2  93/05/18  21:44:57  thoth
// New more descriptive names for standard convolutions.
// 
// Revision 1.1  93/03/18  11:23:20  thoth
// Initial revision
// 
// float linear_product float float zero=0
friend IA_FloatDiscreteImage linear_product(const IA_FloatDiscreteImage &img,
		const IA_FloatDDTemplate &templ,
		IA_Set<IA_IntPoint> dest_ps);

inline friend IA_FloatDiscreteImage linear_product(const IA_FloatDiscreteImage &img,
		const IA_FloatDDTemplate &templ) {
    return linear_product(img, templ, img.domain());
}

// float addmax_product float float  zero=-infinity()
friend IA_FloatDiscreteImage addmax_product(const IA_FloatDiscreteImage &img,
		const IA_FloatDDTemplate &templ,
		IA_Set<IA_IntPoint> dest_ps);

inline friend IA_FloatDiscreteImage addmax_product(const IA_FloatDiscreteImage &img,
		const IA_FloatDDTemplate &templ) {
    return addmax_product(img, templ, img.domain());
}

// float addmin_product float float  zero=infinity()
friend IA_FloatDiscreteImage addmin_product(const IA_FloatDiscreteImage &img,
		const IA_FloatDDTemplate &templ,
		IA_Set<IA_IntPoint> dest_ps);

inline friend IA_FloatDiscreteImage addmin_product(const IA_FloatDiscreteImage &img,
		const IA_FloatDDTemplate &templ) {
    return addmin_product(img, templ, img.domain());
}

