[vsipl++] [patch] Matrix product 'backend' for CML

Jules Bergmann jules at codesourcery.com
Wed May 14 23:40:53 UTC 2008


Don,

> You should also check that all three blocks have the same
> split/interleave format (using Is_split_block).  Otherwise, this would
> try to handle a product between a split-complex and
> interleaved-complex block.
> 

Such a check might look like

    Is_split_block<Block0>::value == Is_split_block<Block1>::value &&
    Is_split_block<Block0>::value == Is_split_block<Block2>::value &&

The danger of comparing Block_layout<BlockX>::complex_type directly is 
that scalar blocks actually have a complex format, but it doesn't mean 
anything.  If two scalar blocks happened to have different complex 
formats, ct_valid would be false.  It is an unlikely event, but using 
Is_split_block makes it an impossible event.

				-- Jules
-- 
Jules Bergmann
CodeSourcery
jules at codesourcery.com
(650) 331-3385 x705



More information about the vsipl++ mailing list