Actions

icon Post
text/html Subscribe
text/html Unsubscribe

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


  • To: Don McCoy <don@xxxxxxxxxxxxxxxx>
  • Subject: Re: [vsipl++] [patch] Matrix product 'backend' for CML
  • From: Jules Bergmann <jules@xxxxxxxxxxxxxxxx>
  • Date: Wed, 14 May 2008 19:40:53 -0400

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@xxxxxxxxxxxxxxxx
(650) 331-3385 x705