static char help[] = "Tests PetscRandom functions.\n\n"; #include /* Usage: mpiexec -n ./ex1 -n -random_type -log_view -view_randomvalues -random_view ascii -random_view :filename */ int main(int argc,char **argv) { PetscInt i,n = 1000,*values; PetscRandom rnd; PetscScalar value,avg = 0.0; PetscMPIInt rank; PetscInt view_rank=-1; #if defined(PETSC_USE_LOG) PetscLogEvent event; #endif CHKERRQ(PetscInitialize(&argc,&argv,(char*)0,help)); CHKERRMPI(MPI_Comm_rank(PETSC_COMM_WORLD,&rank)); CHKERRQ(PetscOptionsGetInt(NULL,NULL,"-n",&n,NULL)); CHKERRQ(PetscOptionsGetInt(NULL,NULL,"-view_randomvalues",&view_rank,NULL)); CHKERRQ(PetscRandomCreate(PETSC_COMM_WORLD,&rnd)); /* force imaginary part of random number to always be zero; thus obtain reproducible results with real and complex numbers */ CHKERRQ(PetscRandomSetInterval(rnd,0.0,1.0)); CHKERRQ(PetscRandomSetFromOptions(rnd)); CHKERRQ(PetscMalloc1(n,&values)); for (i=0; i