[pooma-dev] UserFunction yet...

Renato Fernandes Cantão cantao at ime.unicamp.br
Tue Sep 3 21:01:22 UTC 2002


Hi Jeffrey!

Yes, I've tried that too, but it just throws the problem ahead. Applying
the change you sugested:

typedef
UserFunctionEngine< SmallOperation, Array< 2, Vector< 2 > > >
UF_Engine_t;

struct BigOperation
{
      inline Array< 2, Vector< 2 >, UF_Engine_t >
      operator()( const Array< 2, Vector< 2 > >& in ) const
      { ... }
};

the problem appears at

cout << F( V ) << endl;

I'm gonna check the template instantiations of UserFunction to see if I
figure out what's going on. I guess that some specialization of
FunctorResult could help, but I really don't know...

Again, thanks a lot, Cantao!


> 
> Because of default template parameters, the return type of
> BigOperation::operator() is listed as
> 
>     Array< 2, Vector< 2 > >
> 
> which is equivalent to
> 
>     Array< 2, Vector< 2 >, Brick>.
> 
> A UserFunction returns a UserFunction engine, not a Brick engine, so
> the compiler complains.  One solution is to make
> BigOperation::operator()'s engine type explicit: Copy the engine type
> from the error message:
> 
>     Array< 2, Vector< 2 >, UserFunction< ... > >
> 
> Perhaps others know better solutions?
> 
> Thanks,
> Jeffrey D. Oldham
> oldham at codesourcery.com
-- 
                     '''
                    (o o)
+--------------oOOO--(_)----------------------+
| Renato F. Cantao!                           |
| Depto. de Matematica Aplicada               |
| IMECC - UNICAMP                             |
| Sala 215 - Predio da Pos-graduacao - Lado B |
+--------------------------OOOo---------------+
                   |__|__|
                    || ||
                   ooO Ooo   Linux User #207462





More information about the pooma-dev mailing list