typedef struct _interval
{
    double low, high;
    int inf;
    struct _interval *next;
} Interval;

typedef struct _mask
{
    Interval *list;
} Mask;

typedef struct _d_interval
{
    double low, high;
    int inf;
    struct _d_interval *next;
} d_Interval;

typedef struct _d_mask
{
    d_Interval *list;
} d_Mask;

#ifdef MAIN
d_Mask d_mask;
Mask mask;
#else
extern d_Mask d_mask;
extern Mask mask;
#endif
