head	1.6;
access;
symbols
	bobbase:1.6
	bob:1.6
	r2_1:1.6
	r2_0:1.6
	r1_1_beta:1.6
	r1_1_alpha:1.5
	r1_0:1.5
	r0_11:1.5
	r0_10:1.4
	r0_9:1.2;
locks; strict;
comment	@// @;


1.6
date	94.07.25.17.26.39;	author thoth;	state Exp;
branches;
next	1.5;

1.5
date	94.02.12.19.46.56;	author thoth;	state Exp;
branches;
next	1.4;

1.4
date	94.01.07.15.10.00;	author thoth;	state Exp;
branches;
next	1.3;

1.3
date	93.12.29.17.33.18;	author thoth;	state Exp;
branches;
next	1.2;

1.2
date	93.11.17.18.45.07;	author thoth;	state Exp;
branches;
next	1.1;

1.1
date	93.10.20.18.32.02;	author thoth;	state Exp;
branches;
next	;


desc
@meta-code for the template reduction operations.
@


1.6
log
@Name sanitization
@
text
@// Emacs: -*- C++ -*-

//
//	Copyright 1993, Center for Computer Vision and Visualization,
//	University of Florida.  All rights reserved.
//


//
// $Log: template-reduction,v $
// Revision 1.5  1994/02/12  19:46:56  thoth
// *** empty log message ***
//
// Revision 1.4  1994/01/07  15:10:00  thoth
// Image class is now CoreImage and named image types are
// Image<P,T>.
//
// Revision 1.3  1993/12/29  17:33:18  thoth
// New operator scheme that prevents the need for trivial Image conversions.
//
// Revision 1.2  1993/11/17  18:45:07  thoth
// IPSIter is now PSIter<IntPoint>.
//
// Revision 1.1  1993/10/20  18:32:02  thoth
// Initial revision
//

IA_Image<IA_Point<int>, RTYPE>
REDUCT(IA_Set<IA_Point<int> > domain,
       IA_DDTemplate<TITYPE > templ,
       IA_Set<IA_Point<int> > dest_domain)
{
    IA_Image<IA_Point<int>, RTYPE>	rval(dest_domain, (RTYPE)ZERO);

    IA_PSIter<IA_Point<int> >	psiter(domain);
    IA_Point<int>	scan;

    while (psiter(scan)) {
	TITYPE	curr = templ(scan);
	IA_IPIter<IA_Point<int>, TBTYPE>	iiter(curr);
	IA_Point<int>	p;
	TBTYPE	val;
	// _IRESULT_=rval[p]
	// _TVAL_=val

	while (iiter(p,val)) {
	    if (rval.domain().contains(p)) {
		ACCUMULATE ;
	    }
	}
    }
    return rval;
}

// end reduction
@


1.5
log
@*** empty log message ***
@
text
@d11 3
d28 2
a29 2
IA_Image<IA_IntPoint, RTYPE>
REDUCT(IA_IntPointSet domain,
d31 1
a31 1
       IA_IntPointSet dest_domain)
d33 1
a33 1
    IA_Image<IA_IntPoint, RTYPE>	rval(dest_domain, (RTYPE)ZERO);
d35 2
a36 2
    IA_PSIter<IA_IntPoint>	psiter(domain);
    IA_IntPoint	scan;
d40 2
a41 2
	IA_IPIter<IA_IntPoint, TBTYPE>	iiter(curr);
	IA_IntPoint	p;
@


1.4
log
@Image class is now CoreImage and named image types are
Image<P,T>.
@
text
@d11 4
d52 1
a52 1
// end
@


1.3
log
@New operator scheme that prevents the need for trivial Image conversions.
@
text
@d11 3
d21 1
a21 1
/*PROMOTE*/IA_Image<IA_IntPoint, RTYPE>
@


1.2
log
@IPSIter is now PSIter<IntPoint>.
@
text
@d11 3
d18 1
a18 1
IA_Image<IA_IntPoint, RTYPE>
@


1.1
log
@Initial revision
@
text
@d10 4
a13 1
// $Log: absorber,v $
d22 1
a22 1
    IA_IPSIter	psiter(domain);
@
