/* RCS $Id: q_errm.c,v 1.1 1997/05/16 13:36:31 ae13 Exp $ */
/*
$Log: q_errm.c,v $
 * Revision 1.1  1997/05/16  13:36:31  ae13
 * Initial revision
 *
 */
/****************************************************************/
/*                                                              */
/*      Filename        : q_errm.c                              */
/*                                                              */
/*      Date            : 1996-03-08                            */
/*                                                              */
/****************************************************************/
#ifndef ALL_IN_ONE
#ifdef AIX
#include "/u/p88c/runtime/o_defs.h"
#else
#include "o_defs.h"
#endif
#define local
#endif

#include "q_defs.h"
#include "q_fcth.h"

/* ------------- Fehlerroutine fuer Argument = NaN ----------------*/
#ifdef LINT_ARGS
local double q_abortnan(int n, double *x, int fctn)
#else
local double q_abortnan(n,x,fctn)

int n;
double *x;
int fctn;
#endif
{
  /* if (((a_diee) *x).ieee.mant0 >= 8) */
  /*  ieee_abortr1(n,x);                */  /* Abbruch da sNaN */
  /* else                               */
  /*  return(*x);                       */  /* Rueckgabe von x, da qNaN */

  ieee_abortr1(n,x);
  return(*x); 
}

/* ------------- Fehlerroutine fuer Punktargumente ----------------*/
#ifdef LINT_ARGS
local double q_abortr1(int n, double *x, int fctn)
#else
local double q_abortr1(n,x,fctn)

int n;
double *x;
int fctn;
#endif
{
  ieee_abortr1(n,x);
  return(*x);
}


/* ------------- Fehlerroutine fuer Intervallargumente -------------*/
#ifdef LINT_ARGS
local a_intv q_abortr2(int n, double *x1, double *x2, int fctn)
#else
local a_intv q_abortr2(n,x1,x2,fctn)

int n;
double *x1;
double *x2;
int fctn;
#endif
{
  a_intv res;
  ieee_abortr2(n,x1,x2);

  res.INF=*x1; res.SUP=*x2;
  return(res);
}

