packages feed

cao-0.1: backend_lib/C_generic/CAO_rint.h

#ifndef CAO_RINT_H
#define CAO_RINT_H

#include "CAO_globals.h"

#ifdef __cplusplus

#include <NTL/ZZ.h>
#include <iostream>

NTL_CLIENT

extern "C" {
#endif

	#define CAO_rint_init(a,b) a = b
	#define CAO_rint_assign(a,b) a = b
	#define CAO_rint_add(a,b,c) a = ((b) + (c))
	#define CAO_rint_sub(a,b,c) a = ((b) - (c))
	#define CAO_rint_sym(a,b) a = (-(b))
	#define CAO_rint_mul(a,b,c) a = ((b) * (c))
	#define CAO_rint_div(a,b,c) a = ((b) / (c))
	#define CAO_rint_mod(a,b,c) a = ((b) % (c))
	#define CAO_rint_equal(a,b,c) a = ((b) == (c))
	#define CAO_rint_nequal(a,b,c) a = ((b) != (c))
	#define CAO_rint_lt(a,b,c) a = ((b) < (c))
	#define CAO_rint_lte(a,b,c) a = ((b) <= (c))
	#define CAO_rint_gt(a,b,c) a = ((b) > (c))
	#define CAO_rint_gte(a,b,c) a = ((b) >= (c))
	CAO_RES CAO_rint_cast_int(CAO_int, CAO_rint);
	CAO_RES CAO_rint_dump(CAO_rint);

#ifdef __cplusplus
}
#endif

#endif