Generic Image Library: channel_multiply

Modules | Alphabetical List | Class List | Directories | File List | GIL Home Page # channel_multiply [Algorithms and Utility Functions] ## 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;
    bits8 mul = channel_multiply(x,y);
    assert(mul == 64);    // 64 = 128 * 128 / 255
## Classes
struct | channel_multiplier_unsigned
| This is the default implementation. Performance specializatons are provided. More...
struct | channel_multiplier_unsigned< bits8 >
| Specialization of channel_multiply for 8-bit unsigned channels. More...
struct | channel_multiplier_unsigned< bits16 >
| Specialization of channel_multiply for 16-bit unsigned channels. More...
struct | channel_multiplier_unsigned< bits32f >
| Specialization of channel_multiply for float 0..1 channels. More...
struct | channel_multiplier
| A function object to multiply two channels. result = a * b / max_value. More...
## Functions
template<typename Channel>
channel_traits< Channel > ::value_type | channel_multiply (Channel a, Channel b)
| A function multiplying two channels. result = a * b / max_value.