jasonlarkin / p3dfft

Automatically exported from code.google.com/p/p3dfft
GNU General Public License v3.0
0 stars 0 forks source link

Make the C sample test single and double compatible #33

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Make the C sample test single and double compatible

Original issue reported on code.google.com by dan.djc...@gmail.com on 7 May 2010 at 9:05

GoogleCodeExporter commented 9 years ago
C rand test double precision

max diff =1.06859e-15
Time per loop=0.0504949

Original comment by dan.djc...@gmail.com on 7 May 2010 at 10:16

GoogleCodeExporter commented 9 years ago
C sine test

Double precision
 (128 128 128) grid
 2 proc. dimensions
1 repetitions
Reading proc. grid from file dims
Using processor grid 2 x 2
Iteration 0
(4,128,2) -262144.000000
Result of forward transform
(4,2,2) 262144.000000
(4,128,128) 262144.000000
(4,2,128) -262144.000000
max diff =9.99201e-16
Time per loop=0.0509338

Original comment by dan.djc...@gmail.com on 7 May 2010 at 10:17

GoogleCodeExporter commented 9 years ago
C test sine_inplace double precision

Double precision
 (128 128 128) grid
 2 proc. dimensions
1 repetitions
Reading proc. grid from file dims
Using processor grid 2 x 2
Iteration 0
Result of forward transform
(4,2,2) 262144.000000
(4,128,2) -262144.000000
(4,2,128) -262144.000000
(4,128,128) 262144.000000
max diff =9.99201e-16
Time per loop=0.0526638

Original comment by dan.djc...@gmail.com on 7 May 2010 at 10:24

GoogleCodeExporter commented 9 years ago
This is here for future reference:
$ diff driver_rand.c driver_rand.c.orig 
61,68c61,64
<       ndim = 2;
<       if((fp=fopen("stdin", "r"))==NULL){
<          printf("Cannot open file. Setting to default nx=ny=nz=128, ndim=2, 
n=1.\n");
<          nx=ny=nz=128; n=1;
<       } else {
<          fscanf(fp,"%d %d %d %d %d\n",&nx,&ny,&nz,&ndim,&n);
<          fclose(fp);
<       }
---
>      fp = fopen("stdin","r");
>      ndim = 2;
>      fscanf(fp,"%d,%d,%d,%d,%d\n",&nx,&ny,&nz,&ndim,&n);
>      fclose(fp);
134c130
<           r = 1.0*rand()/RAND_MAX;
---
>           r = rand()/RAND_MAX;

Original comment by dan.djc...@gmail.com on 12 May 2010 at 9:02

GoogleCodeExporter commented 9 years ago
C/driver_spec.c needs to be updated as well. 

Original comment by dmitry...@gmail.com on 3 Jun 2010 at 9:02

GoogleCodeExporter commented 9 years ago

Original comment by dan.djc...@gmail.com on 4 Jun 2010 at 8:39