⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test_field2d_threads.c

📁 波浪数值模拟
💻 C
字号:
#include <stdlib.h>#include <stdio.h>#include <glib.h>#include "field.h"field2D *AA;field2D *CC;field2D *BB;void error_message(char *s){  fprintf(stderr,"%s\n",s);  exit(-1);}void zero_all(int nx,int ny ){   AA = allocate_field2D(nx,ny);   CC = allocate_field2D(nx,ny);   BB = allocate_field2D(nx,ny);   field2D_set_to_value(AA,0.0);   field2D_set_to_value(BB,1.0);   field2D_set_to_value(CC,2.0);}void set_field2D_to_random(field2D *AA){  int nx = AA->N;  int ny = AA->M;  double *dd = AA->data;  int i;  for (i=0;i<nx*ny;i++) {    *dd++ = rand()/RAND_MAX;  }}int main(int argc, char *argv[]){  int nx, ny;  int i,num;  int flag;  nx = atoi(argv[1]);  ny = atoi(argv[2]);  num = atoi(argv[3]);  flag = atoi(argv[4]);  zero_all(nx,ny);  fprintf(stderr," ** test_field2D_threads **\n");  if (flag == 1) {  // use threads     fprintf(stderr,"Using thread w/ cpu=2 version\n");    field2D_init_threads(2);    for (i=0;i<num;i++) {      field2D_self_add_threads(AA,BB);    }  }  else {  // don't use threads    fprintf(stderr,"Using no threads\n");    for (i=0;i<num;i++) {      field2D_self_add(AA,BB);    }  }  printf("AA(1,1) = %g\n",DR2(AA,1,1));}

⌨️ 快捷键说明

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