groff: update vendor branch to v1.20.1
[dragonfly.git] / contrib / groff / src / libs / libgroff / matherr.c
CommitLineData
4d3e9548
JL
1/* Copyright (C) 1989, 1990, 1991, 1992, 2001, 2009
2 Free Software Foundation, Inc.
92d0a6a6
JR
3 Written by James Clark (jjc@jclark.com)
4
5This file is part of groff.
6
7groff is free software; you can redistribute it and/or modify it under
8the terms of the GNU General Public License as published by the Free
4d3e9548
JL
9Software Foundation, either version 3 of the License, or
10(at your option) any later version.
92d0a6a6
JR
11
12groff is distributed in the hope that it will be useful, but WITHOUT ANY
13WARRANTY; without even the implied warranty of MERCHANTABILITY or
14FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15for more details.
16
4d3e9548
JL
17You should have received a copy of the GNU General Public License
18along with this program. If not, see <http://www.gnu.org/licenses/>. */
92d0a6a6
JR
19
20#ifdef HAVE_CONFIG_H
21#include <config.h>
22#endif
23
24#include <math.h>
25#include <errno.h>
26
27#ifdef HAVE_STRUCT_EXCEPTION
28#ifdef TLOSS
29
30int matherr(exc)
31struct exception *exc;
32{
33 switch (exc->type) {
34 case SING:
35 case DOMAIN:
36 errno = EDOM;
37 break;
38 case OVERFLOW:
39 case UNDERFLOW:
40 case TLOSS:
41 case PLOSS:
42 errno = ERANGE;
43 break;
44 }
45 return 1;
46}
47
48#endif /* TLOSS */
49#endif /* HAVE_STRUCT_EXCEPTION */