head	1.8;
access;
symbols
	bobbase:1.8
	bob:1.8.1
	r2_1:1.7
	r2_0:1.7
	r1_1_beta:1.6
	r1_1_alpha:1.6
	r1_0:1.6
	r0_11:1.4
	r0_10:1.3
	r0_9:1.1;
locks
	fjsoria:1.8; strict;
comment	@# @;


1.8
date	94.12.19.19.58.48;	author ljr;	state Exp;
branches
	1.8.1.1;
next	1.7;

1.7
date	94.08.22.15.20.29;	author thoth;	state Exp;
branches;
next	1.6;

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

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

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

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

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

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

1.8.1.1
date	94.12.28.18.06.11;	author thoth;	state Exp;
branches;
next	1.8.1.2;

1.8.1.2
date	95.01.31.16.02.40;	author thoth;	state Exp;
branches;
next	;


desc
@ComplexDI operations.
@


1.8
log
@DOS-inspired name rework.
@
text
@prefix
#
#	Copyright 1993, Center for Computer Vision and Visualization,
#	University of Florida.  All rights reserved.
#

#
# $Log: cplx-operations.desc,v $
# Revision 1.7  1994/08/22  15:20:29  thoth
# DOS-inspired name rework.
#
# Revision 1.6  1994/05/27  15:33:15  thoth
# Pass-through C code wasn't passing through.
#
# Revision 1.5  1994/05/17  12:54:56  thoth
# Improved operations generation scheme.  Lines from the op.desc file can
# be quoted into the .c file to allow inclusion of infrastructure.  Also
# the op.desc output can be redirected to several files.  The prefix
# directive allows common information (include files) to be included in
# every generated source file.
#
# Revision 1.4  1994/02/03  16:22:48  thoth
# Arguments to binary operations were specified "lhs rhs return" but are
# now specified "return lhs rhs" to be consistent with function declaration
# syntax.
#
# Revision 1.3  1994/01/31  15:54:13  thoth
# chi_functions now return BitDIs.
# more pointwise complex functions.
#
# Revision 1.2  1993/12/29  17:27:24  thoth
# reductions require a zero now.
#
# Revision 1.1  1993/11/29  22:25:25  thoth
# Initial revision
#


#include <complex.h>
"C#include "CplxDI.h"
"C#include "VectorI.h"
"C#include "ConstI.h"
"C#include "ImageIter.h"
end

filename CIO-cnBit.c
constructor I(complex) I(IA_Bit)
filename CIO-cnuchar.c
constructor I(complex) I(u_char)
filename CIO-cnint.c
constructor I(complex) I(int)
filename CIO-cnfloat.c
constructor I(complex) I(float)

filename CIO-__pl.c
binary pointwise commutative operator+ I(complex) I(complex) I(complex)
binary pointwise commutative operator+ I(complex) I(complex) complex
pointwise operator+= I(complex) I(complex)
pointwise operator+= I(complex) complex

filename CIO-__mi.c
binary pointwise non-commutative operator- I(complex) I(complex) I(complex)
binary pointwise non-commutative operator- I(complex) I(complex) complex
binary pointwise non-commutative operator- I(complex) complex I(complex)
unary pointwise operator- I(complex) I(complex)
pointwise operator-= I(complex) I(complex)
pointwise operator-= I(complex) complex

filename CIO-__ml.c
binary pointwise commutative operator* I(complex) I(complex) I(complex)
binary pointwise commutative operator* I(complex) I(complex) complex
pointwise operator*= I(complex) I(complex)
pointwise operator*= I(complex) complex

#filename CIO-__mlBit.c
#binary pointwise commutative operator* I(complex) I(complex) I(IA_Bit)
#binary pointwise commutative operator* I(complex) complex I(IA_Bit)
#pointwise operator*= I(complex) I(IA_Bit)

filename CIO-__dv.c
binary pointwise non-commutative operator/ I(complex) I(complex) I(complex)
binary pointwise non-commutative operator/ I(complex) I(complex) complex
binary pointwise non-commutative operator/ I(complex) complex I(complex)
pointwise operator/= I(complex) I(complex)
pointwise operator/= I(complex) complex

#filename CIO-__polar.c
#binary pointwise non-commutative polar I(complex) I(float) I(float)
#binary pointwise non-commutative polar I(complex) I(float) float
#binary pointwise non-commutative polar I(complex) float I(float)

filename CIO-__eq.c
binary strictrel commutative operator== int I(complex) I(complex)
binary strictrel commutative operator== int I(complex) complex

filename CIO-strict_ne.c
binary strictrel commutative strict_ne subop=operator!= int I(complex) I(complex)
binary strictrel commutative strict_ne subop=operator!= int I(complex) complex



filename CIO-X_eq.c
binary pointwise commutative chi_eq subop=operator== I(IA_Bit) I(complex) I(complex)
binary pointwise commutative chi_eq subop=operator== I(IA_Bit) I(complex) complex

filename CIO-X_ne.c
binary pointwise commutative chi_ne subop=operator!= I(IA_Bit) I(complex) I(complex)
binary pointwise commutative chi_ne subop=operator!= I(IA_Bit) I(complex) complex


filename CIO-math.c
unary pointwise sqrt I(complex) I(complex)

"Ctemplate <class T>
"Cinline T sqr(T v)
"C{
"C    return v*v;
"C}
unary pointwise sqr I(complex) I(complex)


unary pointwise abs_f subop=abs I(float) I(complex)
unary pointwise arg_f subop=abs I(float) I(complex)
unary pointwise conj subop=conj I(complex) I(complex)
unary pointwise imag_f subop=imag I(float) I(complex)
unary pointwise real_f subop=real I(float) I(complex) 

filename CIO-reduce.c
reduction sum zero=0 subop=operator+ complex I(complex)
reduction product zero=1 subop=operator* complex I(complex)
@


1.8.1.1
log
@image operations are now friendly with FBI.
image ops now use operations table instead of switch.
@
text
@a8 3
# Revision 1.8  1994/12/19  19:58:48  ljr
# DOS-inspired name rework.
#
a43 2
"C#include "FBI.h"
"C#include "../valueset/OpTable.h"
@


1.8.1.2
log
@Need to replace the upward conversions with something...
@
text
@a8 4
# Revision 1.8.1.1  1994/12/28  18:06:11  thoth
# image operations are now friendly with FBI.
# image ops now use operations table instead of switch.
#
d50 9
@


1.7
log
@DOS-inspired name rework.
@
text
@d8 4
a11 1
# $Log: complex-operations.desc,v $
d102 1
a102 1
filename CIO-chi_eq.c
d106 1
a106 1
filename CIO-chi_ne.c
@


1.6
log
@Pass-through C code wasn't passing through.
@
text
@d9 3
d37 1
a37 1
"C#include "ComplexDI.h"
@


1.5
log
@Improved operations generation scheme.  Lines from the op.desc file can
be quoted into the .c file to allow inclusion of infrastructure.  Also
the op.desc output can be redirected to several files.  The prefix
directive allows common information (include files) to be included in
every generated source file.
@
text
@d9 7
d108 1
a108 1
template <class T>
@


1.4
log
@Arguments to binary operations were specified "lhs rhs return" but are
now specified "return lhs rhs" to be consistent with function declaration
syntax.
@
text
@d1 1
d9 5
d25 7
a31 1
# Integer operations for the Int Discrete Image
d33 1
d35 1
d37 1
d39 1
d42 1
a42 3
##unary pointwise to_int subop=int I(int) I(complex)
##unary pointwise to_uchar subop=u_char I(u_char) I(complex)

d48 1
d56 1
d62 1
d67 1
d74 1
d79 1
d83 1
d89 1
d93 1
d98 1
d100 6
d115 1
@


1.3
log
@chi_functions now return BitDIs.
more pointwise complex functions.
@
text
@d8 4
d30 1
a30 1
binary pointwise commutative operator+ I(complex) complex I(complex)
d35 1
a36 1
binary pointwise non-commutative operator- complex I(complex) I(complex)
d42 1
a42 1
binary pointwise commutative operator* I(complex) complex I(complex)
d46 2
a47 2
#binary pointwise commutative operator* I(complex) I(IA_Bit) I(complex)
#binary pointwise commutative operator* complex I(IA_Bit) I(complex)
d51 1
a52 1
binary pointwise non-commutative operator/ complex I(complex) I(complex)
d56 3
a58 3
#binary pointwise non-commutative polar I(float) I(float) I(complex)
#binary pointwise non-commutative polar I(float) float I(complex)
#binary pointwise non-commutative polar float I(float) I(complex)
d60 2
a61 2
binary strictrel commutative operator== I(complex) I(complex) int
binary strictrel commutative operator== I(complex) complex int
d63 2
a64 2
binary strictrel commutative strict_ne subop=operator!= I(complex) I(complex) int
binary strictrel commutative strict_ne subop=operator!= I(complex) complex int
d68 2
a69 2
binary pointwise commutative chi_eq subop=operator== I(complex) I(complex) I(IA_Bit)
binary pointwise commutative chi_eq subop=operator== I(complex) complex I(IA_Bit)
d71 2
a72 2
binary pointwise commutative chi_ne subop=operator!= I(complex) I(complex) I(IA_Bit)
binary pointwise commutative chi_ne subop=operator!= I(complex) complex I(IA_Bit)
@


1.2
log
@reductions require a zero now.
@
text
@d8 3
d17 4
a20 3
conversion I(complex) I(u_char)
conversion I(complex) I(int)
conversion I(complex) I(float)
d42 4
d52 3
d64 2
a65 2
binary pointwise commutative chi_eq subop=operator== I(complex) I(complex) I(int)
binary pointwise commutative chi_eq subop=operator== I(complex) complex I(int)
d67 2
a68 2
binary pointwise commutative chi_ne subop=operator!= I(complex) I(complex) I(int)
binary pointwise commutative chi_ne subop=operator!= I(complex) complex I(int)
a73 2
# get a float image thats the real part of a complex image
unary pointwise real_f subop=real I(float) I(complex) 
d75 3
a77 1
# get a float image thats the imaginary part of a complex image
d79 1
@


1.1
log
@Initial revision
@
text
@d7 4
a10 1
# $Log$
d69 2
a70 2
reduction sum subop=operator+ complex I(complex)
reduction product subop=operator* complex I(complex)
@
