GCC Middle and Back End API Reference
Main Page
Namespaces
Data Structures
Files
File List
Globals
dfp.h
Go to the documentation of this file.
1
/* Decimal floating point support functions for GNU compiler.
2
Copyright (C) 2005-2013 Free Software Foundation, Inc.
3
4
This file is part of GCC.
5
6
GCC is free software; you can redistribute it and/or modify it under
7
the terms of the GNU General Public License as published by the Free
8
Software Foundation; either version 3, or (at your option) any later
9
version.
10
11
GCC is distributed in the hope that it will be useful, but WITHOUT ANY
12
WARRANTY; without even the implied warranty of MERCHANTABILITY or
13
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14
for more details.
15
16
You should have received a copy of the GNU General Public License
17
along with GCC; see the file COPYING3. If not see
18
<http://www.gnu.org/licenses/>. */
19
20
#ifndef GCC_DFP_H
21
#define GCC_DFP_H
22
23
/* Encode REAL_VALUE_TYPEs into 32/64/128-bit IEEE 754 encoded values. */
24
void
encode_decimal32
(
const
struct
real_format
*fmt,
long
*,
const
REAL_VALUE_TYPE *);
25
void
encode_decimal64
(
const
struct
real_format
*fmt,
long
*,
const
REAL_VALUE_TYPE *);
26
void
decode_decimal128
(
const
struct
real_format
*, REAL_VALUE_TYPE *,
const
long
*);
27
28
/* Decode 32/64/128-bit IEEE 754 encoded values into REAL_VALUE_TYPEs. */
29
void
decode_decimal32
(
const
struct
real_format
*, REAL_VALUE_TYPE *,
const
long
*);
30
void
decode_decimal64
(
const
struct
real_format
*, REAL_VALUE_TYPE *,
const
long
*);
31
void
encode_decimal128
(
const
struct
real_format
*fmt,
long
*,
const
REAL_VALUE_TYPE *);
32
33
/* Arithmetic and conversion functions. */
34
int
decimal_do_compare
(
const
REAL_VALUE_TYPE *,
const
REAL_VALUE_TYPE *,
int
);
35
void
decimal_real_from_string
(REAL_VALUE_TYPE *,
const
char
*);
36
void
decimal_round_for_format
(
const
struct
real_format
*, REAL_VALUE_TYPE *);
37
void
decimal_real_convert
(REAL_VALUE_TYPE *,
enum
machine_mode,
const
REAL_VALUE_TYPE *);
38
void
decimal_real_to_decimal
(
char
*,
const
REAL_VALUE_TYPE *,
size_t
,
size_t
,
int
);
39
void
decimal_do_fix_trunc
(REAL_VALUE_TYPE *,
const
REAL_VALUE_TYPE *);
40
void
decimal_real_maxval
(REAL_VALUE_TYPE *,
int
,
enum
machine_mode);
41
void
decimal_real_to_integer2
(
HOST_WIDE_INT
*,
HOST_WIDE_INT
*,
const
REAL_VALUE_TYPE *);
42
HOST_WIDE_INT
decimal_real_to_integer
(
const
REAL_VALUE_TYPE *);
43
44
#ifdef TREE_CODE
45
bool
decimal_real_arithmetic
(REAL_VALUE_TYPE *,
enum
tree_code
,
const
REAL_VALUE_TYPE *,
46
const
REAL_VALUE_TYPE *);
47
#endif
48
49
#endif
/* GCC_DFP_H */
gcc
dfp.h
Generated by
1.8.1.1