Boost logo

Boost :

Subject: Re: [boost] [gil] undocumented/unintended concept requirements in color_convert
From: Michael Marcin (mike.marcin_at_[hidden])
Date: 2013-03-18 23:20:12


Christian Henning wrote:
> Hi Michael,
>
> On Mon, Mar 18, 2013 at 12:28 AM, Michael Marcin <mike.marcin_at_[hidden]> wrote:
>> I was trying to add other color spaces support and noticed that the rgb to
>> cmyk converter contains:
>
> In case you haven't noticed there are some more color spaces in the
> toolbox which has been added to boost trunk.
>
>>
>> typedef typename channel_type<P2>::type T2;
>> T2 x = channel_traits<T2>::max_value()-get_color(dst,black_t());
>> if (x>0.0001f) {
>> float x1 = channel_traits<T2>::max_value()/float(x);
>>
>> T2 should model:
>> http://www.boost.org/doc/libs/1_53_0/libs/gil/doc/html/g_i_l_0264.html
>>
>> but this code additionally requires T2 to be greater-than comparable to
>> float and convertible to float.
>
> Do you propose to change gil_concept.hpp and just add those
> requirements? By any chance do you have a patch?

No I think this code is broken and shouldn't rely upon those features
that aren't part of the concept.

It should be possible to implement the color conversions without
requiring the channel to be convertible to float.

I'll see if I can come up with a patch for you.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk