// Emacs -*- C++ -*-

// Machine generated include file, do not modify.

//filename RGBIOps.c

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


//  $Log: rgb-operations.desc,v $
//  Revision 1.3.1.1  1994/12/28  18:20:26  thoth
//  Image operations are now friendly with FBI
//  Image ops now use operations table instead of switch.

//  Revision 1.3  1994/08/22  15:20:29  thoth
//  DOS-inspired name rework.

//  Revision 1.2  1994/05/17  12:58:54  thoth
//  modifications to work with new operations generation scheme.

//  RGB operations for the RGB Discrete Image
//constructor I(IA_RGB) I(IA_Bit)
//** constructors are obsolete?

//constructor I(IA_RGB) I(u_char)
//** constructors are obsolete?


//  Need to be able to construct an RGB from three u_chars

// constructor I(IA_RGB) I(u_char) I(u_char) I(u_char)
//unary pointwise to_int I(int) I(IA_RGB)
IA_Image<IA_Point<int>,int> to_int(const IA_Image<IA_Point<int>,IA_RGB> & rhs);

//unary pointwise to_float I(float) I(IA_RGB)
IA_Image<IA_Point<int>,float> to_float(const IA_Image<IA_Point<int>,IA_RGB> & rhs);

//unary pointwise red I(u_char) I(IA_RGB)
IA_Image<IA_Point<int>,u_char> red(const IA_Image<IA_Point<int>,IA_RGB> & rhs);

//unary pointwise green I(u_char) I(IA_RGB)
IA_Image<IA_Point<int>,u_char> green(const IA_Image<IA_Point<int>,IA_RGB> & rhs);

//unary pointwise blue I(u_char) I(IA_RGB)
IA_Image<IA_Point<int>,u_char> blue(const IA_Image<IA_Point<int>,IA_RGB> & rhs);

//binary strictrel commutative operator== int I(IA_RGB) I(IA_RGB)
int operator==(const IA_Image<IA_Point<int>,IA_RGB> &,const IA_Image<IA_Point<int>,IA_RGB> &);

//binary strictrel commutative operator== int I(IA_RGB) IA_RGB
int operator==(const IA_Image<IA_Point<int>,IA_RGB> &,IA_RGB);
inline int operator==(IA_RGB lhs,const IA_Image<IA_Point<int>,IA_RGB> & rhs) {
    return rhs==lhs;
}

//binary strictrel commutative strict_ne subop=operator!= int I(IA_RGB) I(IA_RGB)
int strict_ne(const IA_Image<IA_Point<int>,IA_RGB> &,const IA_Image<IA_Point<int>,IA_RGB> &);

//binary strictrel commutative strict_ne subop=operator!= int I(IA_RGB) IA_RGB
int strict_ne(const IA_Image<IA_Point<int>,IA_RGB> &,IA_RGB);
inline int strict_ne(IA_RGB lhs,const IA_Image<IA_Point<int>,IA_RGB> & rhs) {
    return strict_ne(rhs,lhs);
}

//binary pointwise commutative chi_eq subop=operator== I(IA_Bit) I(IA_RGB) I(IA_RGB)
IA_Image<IA_Point<int>,IA_Bit> chi_eq(const IA_Image<IA_Point<int>,IA_RGB> &,const IA_Image<IA_Point<int>,IA_RGB> &);

//binary pointwise commutative chi_eq subop=operator== I(IA_Bit) I(IA_RGB) IA_RGB
IA_Image<IA_Point<int>,IA_Bit> chi_eq(const IA_Image<IA_Point<int>,IA_RGB> &,IA_RGB);
inline IA_Image<IA_Point<int>,IA_Bit> chi_eq(IA_RGB lhs,const IA_Image<IA_Point<int>,IA_RGB> & rhs) {
    return chi_eq(rhs,lhs);
}

//binary pointwise commutative chi_ne subop=operator!= I(IA_Bit) I(IA_RGB) I(IA_RGB)
IA_Image<IA_Point<int>,IA_Bit> chi_ne(const IA_Image<IA_Point<int>,IA_RGB> &,const IA_Image<IA_Point<int>,IA_RGB> &);

//binary pointwise commutative chi_ne subop=operator!= I(IA_Bit) I(IA_RGB) IA_RGB
IA_Image<IA_Point<int>,IA_Bit> chi_ne(const IA_Image<IA_Point<int>,IA_RGB> &,IA_RGB);
inline IA_Image<IA_Point<int>,IA_Bit> chi_ne(IA_RGB lhs,const IA_Image<IA_Point<int>,IA_RGB> & rhs) {
    return chi_ne(rhs,lhs);
}

