text: #ifndef _FLOYD_WARSHALL_H
  # define _FLOYD_WARSHALL_H
  
  /* Default to LARGE_DATASET. */
  # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(MEDIUM_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET)
  #  define LARGE_DATASET
  # endif
  
  # if !defined(N)
  /* Define sample dataset sizes. */
  #  ifdef MINI_DATASET
  #   define N 60
  #  endif 
  
  #  ifdef SMALL_DATASET
  #   define N 180
  #  endif 
  
  #  ifdef MEDIUM_DATASET
  #   define N 500
  #  endif 
  
  #  ifdef LARGE_DATASET
  #   define N 2800
  #  endif 
  
  #  ifdef EXTRALARGE_DATASET
  #   define N 5600
  #  endif 
  
  
  #endif /* !(N) */
  
  # define _PB_N POLYBENCH_LOOP_BOUND(N,n)
  
  
  /* Default data type */
  # if !defined(DATA_TYPE_IS_INT) && !defined(DATA_TYPE_IS_FLOAT) && !defined(DATA_TYPE_IS_DOUBLE)
  #  define DATA_TYPE_IS_INT
  # endif
  
  #ifdef DATA_TYPE_IS_INT
  #  define DATA_TYPE int
  #  define DATA_PRINTF_MODIFIER "%d "
  #endif 
  
  #ifdef DATA_TYPE_IS_FLOAT
  #  define DATA_TYPE float
  #  define DATA_PRINTF_MODIFIER "%0.2f "
  #  define SCALAR_VAL(x) x##f
  #  define SQRT_FUN(x) sqrtf(x)
  #  define EXP_FUN(x) expf(x)
  #  define POW_FUN(x,y) powf(x,y)
  # endif
  
  #ifdef DATA_TYPE_IS_DOUBLE
  #  define DATA_TYPE double
  #  define DATA_PRINTF_MODIFIER "%0.2lf "
  #  define SCALAR_VAL(x) x
  #  define SQRT_FUN(x) sqrt(x)
  #  define EXP_FUN(x) exp(x)
  #  define POW_FUN(x,y) pow(x,y)
  # endif
  
  #endif /* !_FLOYD_WARSHALL_H */
  
  