/*******************************************************************************
 * Copyright (c) 2016 CEA LIST.
 *
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Created on: 11 sept. 2015
 *
 * Contributors:
 *  Arnault Lapitre (CEA LIST) arnault.lapitre@cea.fr
 *   - Initial API and implementation
 ******************************************************************************/

#ifndef AVM_COMPUTE_PRIMITIVE_AVMEXPRESSIONPRIMITIVE_H_
#define AVM_COMPUTE_PRIMITIVE_AVMEXPRESSIONPRIMITIVE_H_

#include <computer/primitive/BaseAvmPrimitive.h>


namespace sep
{


AVM_PRIMITIVE_EVAL_CLASS(EvalExpressionALU, BaseAvmPrimitive)


} /* namespace sep */

#endif /* AVM_COMPUTE_PRIMITIVE_AVMEXPRESSIONPRIMITIVE_H_ */
