#pragma once

#include <stdio.h>
#include <stdlib.h>
#include <sys/time.h>
#include <time.h>
#include <limits.h>
#include <string.h>

#define TRUE  1
#define FALSE 0

struct get_time
{
  double start, end;
};

struct get_time exe;

double wall_time ()
{
   struct timespec ts;
   clock_gettime(CLOCK_MONOTONIC,&ts);
   const double ret = (double) (ts.tv_sec) + (double) ts.tv_nsec * 1.0e-9;
   return ret;
}

#define REPEAT_KERNEL 10

/*********************************** PARAMETERS **************************************/
#define BLOCK  32
#define BLOCK2 (BLOCK * BLOCK)
typedef int32_t MyData;
const char TYPE[] = "int32";
const unsigned int BSIZE = BLOCK;
/*************************************************************************************/
