Skip to content
Snippets Groups Projects
Select Git revision
  • 561dcb74f4896f2a28086753a012fca1411060c1
  • master default protected
  • optimize_trapping
  • script_devel
  • parallel_trapping
  • unify_iterations
  • containers-m10
  • magma_refinement
  • release9
  • enable_svd
  • parallel_angles_gmu
  • containers-m8
  • parallel_angles
  • profile_omp_leonardo
  • test_nvidia_profiler
  • containers
  • shaditest
  • test1
  • main
  • 3-error-in-run-the-program
  • experiment
  • NP_TMcode-M10a.03
  • NP_TMcode-M10a.02
  • NP_TMcode-M10a.01
  • NP_TMcode-M10a.00
  • NP_TMcode-M9.01
  • NP_TMcode-M9.00
  • NP_TMcode-M8.03
  • NP_TMcode-M8.02
  • NP_TMcode-M8.01
  • NP_TMcode-M8.00
  • NP_TMcode-M7.00
  • v0.0
33 results

utils.h

Blame
  • tools.c 1.90 KiB
    /* ///////////////////////////////////////////////////////////////////// */
    /* Authors:  A. Mignone (mignone@to.infn.it)                             */
    /*           V. Cesare  (valentina.cesare@inaf.it)                       */
    /*           D. Goz     (david.goz@inaf.it)                              */
    /*                                                                       */
    /* Date   : June 2024                                                    */
    /*                                                                       */
    /* ///////////////////////////////////////////////////////////////////// */
    
    #include "tools.h"
    
    /* ********************************************************************* */
    MyData **Allocate_2DdblArray(const int nx, const int ny)
    /*
     * Allocate memory for a double precision array with
     * nx rows and ny columns
     *********************************************************************** */
    {
      MyData **buf = malloc(nx * sizeof(MyData *));
      assert(buf != NULL);
    
      buf[0] = (MyData *) malloc(nx * ny * sizeof(MyData));
      assert(buf[0] != NULL);
      
      for (int j=1 ; j<nx ; j++)
        buf[j] = buf[j-1] + ny;
        
      return buf;
    }
    
    /* ********************************************************************* */
    void Show_2DdblArray(const MyData **const A,
    		     const int            nx,
    		     const int            ny,
    		     const char *const    string)
    /* *********************************************************************** */
    {
      printf ("%s\n",string);
      printf ("------------------------------\n");
      for (int i=0 ; i<nx ; i++)
        {
          for (int j=0 ; j<ny ; j++)
    	{
    	  printf ("%8.2f  ", A[i][j]);
    	}
          printf ("\n");
        }
      printf ("------------------------------\n");
    }
    /* ********************************************************************* */
    
    double seconds()
    {
      struct timespec ts;
      return (clock_gettime( CLOCK_PROCESS_CPUTIME_ID, &ts ),
    	   (double)ts.tv_sec +
    	   (double)ts.tv_nsec * 1e-9);
    }