#ifndef _mytimer_hpp_
#define _mytimer_hpp_

//@HEADER
// ************************************************************************
//
// MiniFE: Simple Finite Element Assembly and Solve
// Copyright (2006-2013) Sandia Corporation
//
// Under terms of Contract DE-AC04-94AL85000, there is a non-exclusive
// license for use of this work by or on behalf of the U.S. Government.
//
// This library is free software; you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as
// published by the Free Software Foundation; either version 2.1 of the
// License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful, but
// WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
// USA
//
// ************************************************************************
//@HEADER

namespace miniFE {

typedef double timer_type;

timer_type mytimer();

enum CG_TIMES {
  WAXPY = 0,
  DOT = 1,
  MATVEC = 2,
  MATVECDOT = 3,
  TOTAL = 4,
  NUM_TIMERS = 5
};

//Use TICK and TOCK to time a code section
#define TICK() t0 = mytimer();
#define TOCK(t) t += mytimer() - t0;

}//namespace miniFE

#endif
