testmultishift.c

来自「shpf 1.9一个并行编译器」· C语言 代码 · 共 42 行

C
42
字号


#include <iostream.h>
#include <stdio.h>
#include "ad++.h"
#include "admacros.h"


void main(int argc, char* argv[]) {
  AdlibInit(argc, argv) ;

  Procs2 p(3, 2) ;

  Range t1(30, p.dim(0), BLK) ;
  Range t2(30, p.dim(1), BLK) ;

  Range x = t1.subrng(5, 5, 6) ;
  Range y = t2.subrng(6, 4, 5) ;

  Array2<int> a(p, x, y), result(p, x, y) ;

  on(p) {
    where(x) {
      where(y) {
	a(x, y) = 10 * (x + 1) + y + 1 ;
      } erewh(y) ;
    } erewh(x) ;
  } no(p) ;

  aprintf("%4d%*N", a, y.size()) ;

  multiShift(result, a, Seq2<int>(2, 2), Seq2<int>(CYCL, CYCL)) ;
  copy(a, result) ;
  
  gprintf("\n") ;
  aprintf("%4d%*N", a, y.size()) ;

  AdlibFinalize() ;
}


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?