#ifndef _CLOCK_
#define _CLOCK_ 
#include "memory.h"
#include <inttypes.h>
#include <sys/types.h>
#include <sys/time.h>
typedef enum {
  clock_OVERALL,
  clock_PARSING,
  clock_CNF_SIMP,
  clock_PREPROCESSING,
  clock_INIT,
  clock_SAT,
  clock_LA,
  clock_PROOF,
  clock_TYPESIZE
} CLOCKTYPE;
typedef struct timeval CLOCK_TMS;
typedef struct CLOCK_HELP {
  float akku[clock_TYPESIZE];
  CLOCK_TMS counters[clock_TYPESIZE];
} *CLOCK, CLOCK_NODE;
CLOCK clock_Create(MEMORY);
void clock_Delete(MEMORY, CLOCK);
void clock_Start(CLOCK, CLOCKTYPE);
void clock_StopPassedTime(CLOCK, CLOCKTYPE);
void clock_StopAddPassedTime(CLOCK, CLOCKTYPE);
float clock_GetSeconds(CLOCK, CLOCKTYPE);
float clock_GetAkku(CLOCK, CLOCKTYPE);
void clock_PrintTime(CLOCK, CLOCKTYPE);
#endif
