#ifndef ARF_TYPES_H
#define ARF_TYPES_H
#include "flint.h"
#ifdef __cplusplus
extern "C" {
#endif
#define ARF_NOPTR_LIMBS 2
typedef struct
{
ulong d[ARF_NOPTR_LIMBS];
}
mantissa_noptr_struct;
typedef struct
{
slong alloc;
nn_ptr d;
}
mantissa_ptr_struct;
typedef union
{
mantissa_noptr_struct noptr;
mantissa_ptr_struct ptr;
}
mantissa_struct;
typedef struct
{
fmpz exp;
slong size;
mantissa_struct d;
}
arf_struct;
typedef arf_struct arf_t[1];
typedef arf_struct * arf_ptr;
typedef const arf_struct * arf_srcptr;
typedef struct
{
arf_struct a;
arf_struct b;
}
arf_interval_struct;
typedef arf_interval_struct arf_interval_t[1];
typedef arf_interval_struct * arf_interval_ptr;
typedef const arf_interval_struct * arf_interval_srcptr;
#ifdef __cplusplus
}
#endif
#endif