Actual source code: randomimpl.h

  2: #ifndef __PETSCRANDOMIMPL_H

 5:  #include petscsys.h

  7: typedef struct _PetscRandomOps *PetscRandomOps;
  8: struct _PetscRandomOps {
  9:   /* 0 */
 10:   PetscErrorCode  (*seed)(PetscRandom);
 11:   PetscErrorCode  (*getvalue)(PetscRandom,PetscScalar*);
 12:   PetscErrorCode  (*getvaluereal)(PetscRandom,PetscReal*);
 13:   PetscErrorCode  (*getvalueimaginary)(PetscRandom,PetscScalar*);
 14:   PetscErrorCode  (*destroy)(PetscRandom);
 15:   PetscErrorCode  (*setfromoptions)(PetscRandom);
 16: };

 18: struct _p_PetscRandom {
 19:   PETSCHEADER(struct _PetscRandomOps);
 20:   void        *data;           /* implementation-specific data */
 21:   unsigned    long seed;
 22:   PetscScalar low,width;       /* lower bound and width of the interval over
 23:                                   which the random numbers are distributed */
 24:   PetscTruth  iset;            /* if true, indicates that the user has set the interval */
 25:   /* array for shuffling ??? */
 26: };

 28: #endif