Actual source code: rs6000_time.c

  1: #define PETSC_DLL

 3:  #include petsc.h
  4: #if defined (PETSC_USE_READ_REAL_TIME)
  5: #include <sys/time.h>
  6: #include <sys/systemcfg.h>

 10: PetscLogDouble  rs6000_time(void)
 11: {
 12:    timebasestruct_t t;
 13:    PetscLogDouble   time;


 17:    /* read in the register values */
 18:    read_real_time(&t,TIMEBASE_SZ);
 19: 
 20:    /*
 21:     * Call the conversion routines unconditionally, to ensure
 22:     * that both values are in seconds and nanoseconds regardless
 23:     * of the hardware platform. 
 24:     */
 25:    time_base_to_time(&t,TIMEBASE_SZ);
 26: 
 27:    time = t.tb_high + t.tb_low*1.0e-9;
 28:    PetscFunctionReturn(time);
 29: }
 30: #endif