Project

General

Profile

Actions

Bug #985

closed

float_t and double_t (C99)

Added by hasso over 16 years ago. Updated over 16 years ago.

Status:
Closed
Priority:
Low
Assignee:
-
Category:
-
Target version:
-
Start date:
Due date:
% Done:

0%

Estimated time:

Description

We don't have float_t and double_t typedefs required by C99 in math.h. As
my knowledge about all consequences are limited, I'd take safest path for
now and would commit this patch (btw, OpenBSD has the same code for now):

diff --git a/include/math.h b/include/math.h
--- a/include/math.h
+++ b/include/math.h
@ -77,6 +77,11 @ * ISO C99
/
#if __ISO_C_VISIBLE >= 1999
/
7.12#2 double_t, float_t XXX /
+typedef float float_t;
+typedef double double_t;
#define FLT_EVAL_METHOD (-1)
+
/
7.12#3 HUGE_VAL, HUGELF, HUGE_VALL */
extern const union __float_u __infinityf;
#ifdef __MATH_BUILTIN_CONSTANTS

Making this change in math.h is maybe wrong as well (cpu/types.h?). For
all not familiar with what standards says:

==========================================================================
2 The types
float_t
double_t
are floating types at least as wide as float and double, respectively,
and such that double_t is at least as wide as float_t. If
FLT_EVAL_METHOD equals 0, float_t and double_t are float and double,
respectively; if FLT_EVAL_METHOD equals 1, they are both double; if
FLT_EVAL_METHOD equals 2, they are both long double; and for other
values of FLT_EVAL_METHOD, they are otherwise implementation-defined. ==========================================================================

The types float_t and double_t are intended to be the implementation’s 
most efficient types at least as wide as float and double, respectively.
For FLT_EVAL_METHOD equal 0, 1, or 2, the type float_t is the narrowest
type used by the implementation to evaluate floating expressions.

FreeBSD changed both to long double recently, but looking at commit
message (http://hg.fr.freebsd.org/freebsd-src-head/rev/c60e41c6690f) I'm
afraid that I'm not able to consider all consequences if I'd introduce
similar change in DragonFly.


Files

float_and_double_t.patch (1.72 KB) float_and_double_t.patch hasso, 04/07/2008 08:22 PM
Actions

Also available in: Atom PDF