Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
channel_multiply

Multiplying unsigned channel values of the same type. More...

Classes

struct  boost::gil::channel_multiplier_unsigned< ChannelValue >
 This is the default implementation. Performance specializatons are provided. More...
 
struct  boost::gil::channel_multiplier_unsigned< bits8 >
 Specialization of channel_multiply for 8-bit unsigned channels. More...
 
struct  boost::gil::channel_multiplier_unsigned< bits16 >
 Specialization of channel_multiply for 16-bit unsigned channels. More...
 
struct  boost::gil::channel_multiplier_unsigned< bits32f >
 Specialization of channel_multiply for float 0..1 channels. More...
 
struct  boost::gil::channel_multiplier< ChannelValue >
 A function object to multiply two channels. result = a * b / max_value. More...
 

Functions

template<typename Channel >
channel_traits< Channel >
::value_type 
boost::gil::channel_multiply (Channel a, Channel b)
 A function multiplying two channels. result = a * b / max_value. More...
 

Detailed Description

Multiplying unsigned channel values of the same type.

Performs scaled multiplication result = a * b / max_value

Example:

bits8 x=128;
bits8 y=128;
assert(mul == 64); // 64 = 128 * 128 / 255

Function Documentation

template<typename Channel >
channel_traits<Channel>::value_type boost::gil::channel_multiply ( Channel  a,
Channel  b 
)
inline