Boost logo

Boost Users :

Subject: Re: [Boost-users] [Proto] Reducing domain check in operator
From: Eric Niebler (eric_at_[hidden])
Date: 2009-02-27 13:40:51


Joel Falcou wrote:
> Eric Niebler a écrit :
>> joel falcou wrote:
>>> OK.
>>>
>>> Last question. I changed my make_expr to use domain_of and it worked
>>> nice for the base case.
>>
>> I'm confused. You *were* using domain_of and I told you not to. ???
> No, I wasn't and you did ;)

Still confused.

<snip>
> Here is a small test case :
>
> http://codepad.org/x1U86VS9

Hey, that codepad thing is pretty cool. OK, I see the following in your
simd_context class:

   template<class This,class X>
   struct result<This(bp::tag::terminal,X)>
   {
     // NOTE! I added the following assertion:
     BOOST_MPL_ASSERT_NOT((boost::is_reference<X>));
     typedef typename SimdDesc::type type;
   };

   template<class This,class X>
   struct result<This(bp::tag::terminal,simd_value<X>)>
   {
     typedef typename X::type type;
   };

The MPL assertion I added fired, and the type of X was "const
simd_value<simd_info<int,4>> &". You probably mean for terminals of that
type to be handled by the following specialization, but its not because
of the cv qualifier and the reference.

-- 
Eric Niebler
BoostPro Computing
http://www.boostpro.com

Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net