Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 7 Feb 2003 10:49:35 -0500
From:      Mike Barcroft <mike@FreeBSD.org>
To:        Tim Robbins <tjr@FreeBSD.ORG>
Cc:        standards@FreeBSD.ORG, Bruce Evans <bde@zeta.org.au>
Subject:   Re: fpclassify() for review
Message-ID:  <20030207104935.A88550@espresso.q9media.com>
In-Reply-To: <20030207171402.A99670@dilbert.robbins.dropbear.id.au>; from tjr@FreeBSD.ORG on Fri, Feb 07, 2003 at 05:14:02PM %2B1100
References:  <20030206224455.B78590@espresso.q9media.com> <20030207171402.A99670@dilbert.robbins.dropbear.id.au>

next in thread | previous in thread | raw e-mail | index | archive | help

--OXfL5xGRrasGEqWY
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Tim Robbins <tjr@FreeBSD.ORG> writes:
> On Thu, Feb 06, 2003 at 10:44:55PM -0500, Mike Barcroft wrote:
> 
> > o Add a MI header private to libc called fpmath.h; this header
> >   contains bitfield layouts of MI floating-point types.
> 
> This file seems to be missing from the diff.

Oops, forgot to lcvs add.  It's attached to this e-mail.

Best regards,
Mike Barcroft

--OXfL5xGRrasGEqWY
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="fpmath.diff"

Index: lib/libc/include/fpmath.h
===================================================================
RCS file: lib/libc/include/fpmath.h
diff -N lib/libc/include/fpmath.h
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ lib/libc/include/fpmath.h	5 Feb 2003 16:21:55 -0000
@@ -0,0 +1,63 @@
+/*-
+ * Copyright (c) 2003 Mike Barcroft <mike@FreeBSD.org>
+ * Copyright (c) 2002 David Schultz <dschultz@uclink.Berkeley.EDU>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ */
+
+#include <sys/endian.h>
+#include "_fpmath.h"
+
+union IEEEf2bits {
+	float f;
+	struct {
+#if _BYTE_ORDER == _LITTLE_ENDIAN
+		unsigned int man  : 23;
+		unsigned int exp  : 8;
+		unsigned int sign : 1;
+#else /* _BIG_ENDIAN */
+		unsigned int sign : 1;
+		unsigned int exp  : 8;
+		unsigned int man  : 23;
+#endif
+	} bits;
+};
+
+union IEEEd2bits {
+	double d;
+	struct {
+#if _BYTE_ORDER == _LITTLE_ENDIAN
+		unsigned int manl : 32;
+		unsigned int manh : 20;
+		unsigned int exp  : 11;
+		unsigned int sign : 1;
+#else /* _BIG_ENDIAN */
+		unsigned int sign : 1;
+		unsigned int exp  : 11;
+		unsigned int manh : 20;
+		unsigned int manl : 32;
+#endif
+	} bits;
+};

--OXfL5xGRrasGEqWY--

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-standards" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030207104935.A88550>