Пример #1
0
vsip_tview_f *vsip_timagview_f(
    const vsip_ctview_f* v) {
    return vsip_tbind_f(
               v->block->I,
               v->offset,
               v->z_stride,
               v->z_length,
               v->y_stride,
               v->y_length,
               v->x_stride,
               v->x_length);
}
Пример #2
0
int
main(int argc, char **argv)
{
  size_t i, j;

  vsip_init(0);

  vsip_scalar_f data[27] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
                            16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26};
  vsip_block_f *block = vsip_blockbind_f(data, 27, VSIP_MEM_NONE);
  vsip_blockadmit_f(block, 1);
  vsip_tview_f *src = vsip_tbind_f(block, 0, 9, 3, 3, 3, 1, 3);

  vsip_tview_f *dest1 = vsip_tcreate_f(3, 3, 3, VSIP_TRAILING, VSIP_MEM_NONE);
  vsip_tview_f *dest2 = vsip_tcreate_f(3, 3, 3, VSIP_LEADING, VSIP_MEM_NONE);

  vsip_mview_f *plane_yx = vsip_tmatrixview_f(src, VSIP_TMYX, 1);
  vsip_mview_f *plane_zx = vsip_tmatrixview_f(src, VSIP_TMZX, 1);
  vsip_mview_f *plane_zy = vsip_tmatrixview_f(src, VSIP_TMZY, 1);

  vsip_tcopy_f_f(src, dest1);
  test_assert(tequal_f(src, dest1));

  vsip_tcopy_f_f(src, dest2);
  test_assert(tequal_f(src, dest2));

#if DEBUG
  printf("source:\n");
  toutput_f(src);
  printf("\n");

  printf("dest1:\n");
  toutput_f(dest1);
  printf("\n");

  printf("dest2:\n");
  toutput_f(dest2);
  printf("\n");

  printf("yx plane:\n");
  moutput_f(plane_yx);
  printf("\n");

  printf("zx plane:\n");
  moutput_f(plane_zx);
  printf("\n");

  printf("zy plane:\n");
  moutput_f(plane_zy);
  printf("\n");

#endif

  vsip_mdestroy_f(plane_yx);
  vsip_mdestroy_f(plane_zx);
  vsip_mdestroy_f(plane_zy);
  vsip_talldestroy_f(dest2);
  vsip_talldestroy_f(dest1);
  vsip_talldestroy_f(src);

  vsip_finalize(0);
  return 0;
};