110385Savstepan/* $NetBSD: gedf2.c,v 1.1 2000/06/06 08:15:05 bjh21 Exp $ */
210385Savstepan
310385Savstepan/*
410385Savstepan * Written by Richard Earnshaw, 2003.  This file is in the Public Domain.
510385Savstepan */
610385Savstepan
710385Savstepan#include "softfloat-for-gcc.h"
810385Savstepan#include "milieu.h"
910385Savstepan#include "softfloat.h"
1010385Savstepan
1110385Savstepan#include <sys/cdefs.h>
1210385Savstepan#if defined(LIBC_SCCS) && !defined(lint)
1310385Savstepan__RCSID("$NetBSD: gedf2.c,v 1.1 2000/06/06 08:15:05 bjh21 Exp $");
1410385Savstepan#endif /* LIBC_SCCS and not lint */
1510385Savstepan
1610385Savstepanflag __unorddf2(float64, float64);
1710385Savstepan
1810385Savstepanflag
1910385Savstepan__unorddf2(float64 a, float64 b)
2010385Savstepan{
2110385Savstepan	/*
2210385Savstepan	 * The comparison is unordered if either input is a NaN.
2310385Savstepan	 * Test for this by comparing each operand with itself.
2410385Savstepan	 * We must perform both comparisons to correctly check for
2510385Savstepan	 * signalling NaNs.
2610385Savstepan	 */
2710385Savstepan	return 1 ^ (float64_eq(a, a) & float64_eq(b, b));
2815235Sgoetz}
2910385Savstepan