1570af302Sopenharmony_ci// Copyright (C) 1988-1994 Sun Microsystems, Inc. 2550 Garcia Avenue 2570af302Sopenharmony_ci// Mountain View, California 94043 All rights reserved. 3570af302Sopenharmony_ci// 4570af302Sopenharmony_ci// Any person is hereby authorized to download, copy, use, create bug fixes, 5570af302Sopenharmony_ci// and distribute, subject to the following conditions: 6570af302Sopenharmony_ci// 7570af302Sopenharmony_ci// 1. the software may not be redistributed for a fee except as 8570af302Sopenharmony_ci// reasonable to cover media costs; 9570af302Sopenharmony_ci// 2. any copy of the software must include this notice, as well as 10570af302Sopenharmony_ci// any other embedded copyright notices; and 11570af302Sopenharmony_ci// 3. any distribution of this software or derivative works thereof 12570af302Sopenharmony_ci// must comply with all applicable U.S. export control laws. 13570af302Sopenharmony_ci// 14570af302Sopenharmony_ci// THE SOFTWARE IS MADE AVAILABLE "AS IS" AND WITHOUT EXPRESS OR IMPLIED 15570af302Sopenharmony_ci// WARRANTY OF ANY KIND, INCLUDING BUT NOT LIMITED TO THE IMPLIED 16570af302Sopenharmony_ci// WARRANTIES OF DESIGN, MERCHANTIBILITY, FITNESS FOR A PARTICULAR 17570af302Sopenharmony_ci// PURPOSE, NON-INFRINGEMENT, PERFORMANCE OR CONFORMANCE TO 18570af302Sopenharmony_ci// SPECIFICATIONS. 19570af302Sopenharmony_ci// 20570af302Sopenharmony_ci// BY DOWNLOADING AND/OR USING THIS SOFTWARE, THE USER WAIVES ALL CLAIMS 21570af302Sopenharmony_ci// AGAINST SUN MICROSYSTEMS, INC. AND ITS AFFILIATED COMPANIES IN ANY 22570af302Sopenharmony_ci// JURISDICTION, INCLUDING BUT NOT LIMITED TO CLAIMS FOR DAMAGES OR 23570af302Sopenharmony_ci// EQUITABLE RELIEF BASED ON LOSS OF DATA, AND SPECIFICALLY WAIVES EVEN 24570af302Sopenharmony_ci// UNKNOWN OR UNANTICIPATED CLAIMS OR LOSSES, PRESENT AND FUTURE. 25570af302Sopenharmony_ci// 26570af302Sopenharmony_ci// IN NO EVENT WILL SUN MICROSYSTEMS, INC. OR ANY OF ITS AFFILIATED 27570af302Sopenharmony_ci// COMPANIES BE LIABLE FOR ANY LOST REVENUE OR PROFITS OR OTHER SPECIAL, 28570af302Sopenharmony_ci// INDIRECT AND CONSEQUENTIAL DAMAGES, EVEN IF IT HAS BEEN ADVISED OF THE 29570af302Sopenharmony_ci// POSSIBILITY OF SUCH DAMAGES. 30570af302Sopenharmony_ci// 31570af302Sopenharmony_ci// This file is provided with no support and without any obligation on the 32570af302Sopenharmony_ci// part of Sun Microsystems, Inc. ("Sun") or any of its affiliated 33570af302Sopenharmony_ci// companies to assist in its use, correction, modification or 34570af302Sopenharmony_ci// enhancement. Nevertheless, and without creating any obligation on its 35570af302Sopenharmony_ci// part, Sun welcomes your comments concerning the software and requests 36570af302Sopenharmony_ci// that they be sent to fdlibm-comments@sunpro.sun.com. 37570af302Sopenharmony_ci// atan2d(+-0,+anything but nan) is +-0 38570af302Sopenharmony_ciT(RN, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0) 39570af302Sopenharmony_ciT(RN, 0x0p+0, 0x1p-1074, 0x0p+0, 0x0p+0, 0) 40570af302Sopenharmony_ciT(RN, 0x0p+0, 0x1p-1022, 0x0p+0, 0x0p+0, 0) 41570af302Sopenharmony_ciT(RN, 0x0p+0, 0x1.fffffffffffffp+1023, 0x0p+0, 0x0p+0, 0) 42570af302Sopenharmony_ciT(RN, 0x0p+0, inf, 0x0p+0, 0x0p+0, 0) 43570af302Sopenharmony_ciT(RN, -0x0p+0, 0x0p+0, -0x0p+0, 0x0p+0, 0) 44570af302Sopenharmony_ciT(RN, -0x0p+0, 0x1p-1074, -0x0p+0, 0x0p+0, 0) 45570af302Sopenharmony_ciT(RN, -0x0p+0, 0x1p-1022, -0x0p+0, 0x0p+0, 0) 46570af302Sopenharmony_ciT(RN, -0x0p+0, 0x1.fffffffffffffp+1023, -0x0p+0, 0x0p+0, 0) 47570af302Sopenharmony_ciT(RN, -0x0p+0, inf, -0x0p+0, 0x0p+0, 0) 48570af302Sopenharmony_ciT(RZ, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0) 49570af302Sopenharmony_ciT(RZ, 0x0p+0, 0x1p-1074, 0x0p+0, 0x0p+0, 0) 50570af302Sopenharmony_ciT(RZ, 0x0p+0, 0x1p-1022, 0x0p+0, 0x0p+0, 0) 51570af302Sopenharmony_ciT(RZ, 0x0p+0, 0x1.fffffffffffffp+1023, 0x0p+0, 0x0p+0, 0) 52570af302Sopenharmony_ciT(RZ, 0x0p+0, inf, 0x0p+0, 0x0p+0, 0) 53570af302Sopenharmony_ciT(RZ, -0x0p+0, 0x0p+0, -0x0p+0, 0x0p+0, 0) 54570af302Sopenharmony_ciT(RZ, -0x0p+0, 0x1p-1074, -0x0p+0, 0x0p+0, 0) 55570af302Sopenharmony_ciT(RZ, -0x0p+0, 0x1p-1022, -0x0p+0, 0x0p+0, 0) 56570af302Sopenharmony_ciT(RZ, -0x0p+0, 0x1.fffffffffffffp+1023, -0x0p+0, 0x0p+0, 0) 57570af302Sopenharmony_ciT(RZ, -0x0p+0, inf, -0x0p+0, 0x0p+0, 0) 58570af302Sopenharmony_ciT(RU, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0) 59570af302Sopenharmony_ciT(RU, 0x0p+0, 0x1p-1074, 0x0p+0, 0x0p+0, 0) 60570af302Sopenharmony_ciT(RU, 0x0p+0, 0x1p-1022, 0x0p+0, 0x0p+0, 0) 61570af302Sopenharmony_ciT(RU, 0x0p+0, 0x1.fffffffffffffp+1023, 0x0p+0, 0x0p+0, 0) 62570af302Sopenharmony_ciT(RU, 0x0p+0, inf, 0x0p+0, 0x0p+0, 0) 63570af302Sopenharmony_ciT(RU, -0x0p+0, 0x0p+0, -0x0p+0, 0x0p+0, 0) 64570af302Sopenharmony_ciT(RU, -0x0p+0, 0x1p-1074, -0x0p+0, 0x0p+0, 0) 65570af302Sopenharmony_ciT(RU, -0x0p+0, 0x1p-1022, -0x0p+0, 0x0p+0, 0) 66570af302Sopenharmony_ciT(RU, -0x0p+0, 0x1.fffffffffffffp+1023, -0x0p+0, 0x0p+0, 0) 67570af302Sopenharmony_ciT(RU, -0x0p+0, inf, -0x0p+0, 0x0p+0, 0) 68570af302Sopenharmony_ciT(RD, 0x0p+0, 0x0p+0, 0x0p+0, 0x0p+0, 0) 69570af302Sopenharmony_ciT(RD, 0x0p+0, 0x1p-1074, 0x0p+0, 0x0p+0, 0) 70570af302Sopenharmony_ciT(RD, 0x0p+0, 0x1p-1022, 0x0p+0, 0x0p+0, 0) 71570af302Sopenharmony_ciT(RD, 0x0p+0, 0x1.fffffffffffffp+1023, 0x0p+0, 0x0p+0, 0) 72570af302Sopenharmony_ciT(RD, 0x0p+0, inf, 0x0p+0, 0x0p+0, 0) 73570af302Sopenharmony_ciT(RD, -0x0p+0, 0x0p+0, -0x0p+0, 0x0p+0, 0) 74570af302Sopenharmony_ciT(RD, -0x0p+0, 0x1p-1074, -0x0p+0, 0x0p+0, 0) 75570af302Sopenharmony_ciT(RD, -0x0p+0, 0x1p-1022, -0x0p+0, 0x0p+0, 0) 76570af302Sopenharmony_ciT(RD, -0x0p+0, 0x1.fffffffffffffp+1023, -0x0p+0, 0x0p+0, 0) 77570af302Sopenharmony_ciT(RD, -0x0p+0, inf, -0x0p+0, 0x0p+0, 0) 78570af302Sopenharmony_ci// atan2d(+-0,-anything but nan) is +-pi 79570af302Sopenharmony_ciT(RN, 0x0p+0, -inf, 0x1.921fb54442d18p+1, -0x1.1a6264p-2, INEXACT) 80570af302Sopenharmony_ciT(RN, 0x0p+0,-0x1.fffffffffffffp+1023, 0x1.921fb54442d18p+1, -0x1.1a6264p-2, INEXACT) 81570af302Sopenharmony_ciT(RN, 0x0p+0, -0x1p-1022, 0x1.921fb54442d18p+1, -0x1.1a6264p-2, INEXACT) 82570af302Sopenharmony_ciT(RN, 0x0p+0, -0x1p-1074, 0x1.921fb54442d18p+1, -0x1.1a6264p-2, INEXACT) 83570af302Sopenharmony_ciT(RN, 0x0p+0, -0x0p+0, 0x1.921fb54442d18p+1, -0x1.1a6264p-2, INEXACT) 84570af302Sopenharmony_ciT(RN, -0x0p+0, -inf, -0x1.921fb54442d18p+1, 0x1.1a6264p-2, INEXACT) 85570af302Sopenharmony_ciT(RN, -0x0p+0,-0x1.fffffffffffffp+1023, -0x1.921fb54442d18p+1, 0x1.1a6264p-2, INEXACT) 86570af302Sopenharmony_ciT(RN, -0x0p+0, -0x1p-1022, -0x1.921fb54442d18p+1, 0x1.1a6264p-2, INEXACT) 87570af302Sopenharmony_ciT(RN, -0x0p+0, -0x1p-1074, -0x1.921fb54442d18p+1, 0x1.1a6264p-2, INEXACT) 88570af302Sopenharmony_ciT(RN, -0x0p+0, -0x0p+0, -0x1.921fb54442d18p+1, 0x1.1a6264p-2, INEXACT) 89570af302Sopenharmony_ci// atan2d(+-anything but 0 and nan, 0) is +- pi/2 90570af302Sopenharmony_ciT(RN, inf, 0x0p+0, 0x1.921fb54442d18p+0, -0x1.1a6264p-2, INEXACT) 91570af302Sopenharmony_ciT(RN, inf, -0x0p+0, 0x1.921fb54442d18p+0, -0x1.1a6264p-2, INEXACT) 92570af302Sopenharmony_ciT(RN, 0x1.fffffffffffffp+1023, 0x0p+0, 0x1.921fb54442d18p+0, -0x1.1a6264p-2, INEXACT) 93570af302Sopenharmony_ciT(RN, 0x1.fffffffffffffp+1023, -0x0p+0, 0x1.921fb54442d18p+0, -0x1.1a6264p-2, INEXACT) 94570af302Sopenharmony_ciT(RN, 0x1p-1022, 0x0p+0, 0x1.921fb54442d18p+0, -0x1.1a6264p-2, INEXACT) 95570af302Sopenharmony_ciT(RN, 0x1p-1022, -0x0p+0, 0x1.921fb54442d18p+0, -0x1.1a6264p-2, INEXACT) 96570af302Sopenharmony_ciT(RN, 0x1p-1074, 0x0p+0, 0x1.921fb54442d18p+0, -0x1.1a6264p-2, INEXACT) 97570af302Sopenharmony_ciT(RN, 0x1p-1074, -0x0p+0, 0x1.921fb54442d18p+0, -0x1.1a6264p-2, INEXACT) 98570af302Sopenharmony_ciT(RN, -inf, 0x0p+0, -0x1.921fb54442d18p+0, 0x1.1a6264p-2, INEXACT) 99570af302Sopenharmony_ciT(RN, -inf, -0x0p+0, -0x1.921fb54442d18p+0, 0x1.1a6264p-2, INEXACT) 100570af302Sopenharmony_ciT(RN,-0x1.fffffffffffffp+1023, 0x0p+0, -0x1.921fb54442d18p+0, 0x1.1a6264p-2, INEXACT) 101570af302Sopenharmony_ciT(RN,-0x1.fffffffffffffp+1023, -0x0p+0, -0x1.921fb54442d18p+0, 0x1.1a6264p-2, INEXACT) 102570af302Sopenharmony_ciT(RN, -0x1p-1074, 0x0p+0, -0x1.921fb54442d18p+0, 0x1.1a6264p-2, INEXACT) 103570af302Sopenharmony_ciT(RN, -0x1p-1074, -0x0p+0, -0x1.921fb54442d18p+0, 0x1.1a6264p-2, INEXACT) 104570af302Sopenharmony_ciT(RN, -0x1p-1022, 0x0p+0, -0x1.921fb54442d18p+0, 0x1.1a6264p-2, INEXACT) 105570af302Sopenharmony_ciT(RN, -0x1p-1022, -0x0p+0, -0x1.921fb54442d18p+0, 0x1.1a6264p-2, INEXACT) 106570af302Sopenharmony_ci// atan2d(big,small) :=: +-pi/2 107570af302Sopenharmony_ciT(RN, 0x1.fffffffffffffp+1023, 0x1p-1022, 0x1.921fb54442d18p+0, -0x1.1a6264p-2, INEXACT) 108570af302Sopenharmony_ciT(RN, 0x1.fffffffffffffp+1023, -0x1p-1022, 0x1.921fb54442d18p+0, -0x1.1a6264p-2, INEXACT) 109570af302Sopenharmony_ciT(RN,-0x1.fffffffffffffp+1023, 0x1p-1022, -0x1.921fb54442d18p+0, 0x1.1a6264p-2, INEXACT) 110570af302Sopenharmony_ciT(RN,-0x1.fffffffffffffp+1023, -0x1p-1022, -0x1.921fb54442d18p+0, 0x1.1a6264p-2, INEXACT) 111570af302Sopenharmony_ciT(RZ, 0x1.fffffffffffffp+1023, 0x1p-1022, 0x1.921fb54442d18p+0, -0x1.1a6264p-2, INEXACT) 112570af302Sopenharmony_ciT(RZ, 0x1.fffffffffffffp+1023, -0x1p-1022, 0x1.921fb54442d18p+0, -0x1.1a6264p-2, INEXACT) 113570af302Sopenharmony_ciT(RZ,-0x1.fffffffffffffp+1023, 0x1p-1022, -0x1.921fb54442d18p+0, 0x1.1a6264p-2, INEXACT) 114570af302Sopenharmony_ciT(RZ,-0x1.fffffffffffffp+1023, -0x1p-1022, -0x1.921fb54442d18p+0, 0x1.1a6264p-2, INEXACT) 115570af302Sopenharmony_ciT(RU, 0x1.fffffffffffffp+1023, 0x1p-1022, 0x1.921fb54442d19p+0, 0x1.72cecep-1, INEXACT) 116570af302Sopenharmony_ciT(RU, 0x1.fffffffffffffp+1023, -0x1p-1022, 0x1.921fb54442d19p+0, 0x1.72cecep-1, INEXACT) 117570af302Sopenharmony_ciT(RU,-0x1.fffffffffffffp+1023, 0x1p-1022, -0x1.921fb54442d18p+0, 0x1.1a6264p-2, INEXACT) 118570af302Sopenharmony_ciT(RU,-0x1.fffffffffffffp+1023, -0x1p-1022, -0x1.921fb54442d18p+0, 0x1.1a6264p-2, INEXACT) 119570af302Sopenharmony_ciT(RD, 0x1.fffffffffffffp+1023, 0x1p-1022, 0x1.921fb54442d18p+0, -0x1.1a6264p-2, INEXACT) 120570af302Sopenharmony_ciT(RD, 0x1.fffffffffffffp+1023, -0x1p-1022, 0x1.921fb54442d18p+0, -0x1.1a6264p-2, INEXACT) 121570af302Sopenharmony_ciT(RD,-0x1.fffffffffffffp+1023, 0x1p-1022, -0x1.921fb54442d19p+0, -0x1.72cecep-1, INEXACT) 122570af302Sopenharmony_ciT(RD,-0x1.fffffffffffffp+1023, -0x1p-1022, -0x1.921fb54442d19p+0, -0x1.72cecep-1, INEXACT) 123570af302Sopenharmony_ci// atan2d(small,big) = small/big (big>0) 124570af302Sopenharmony_ciT(RN, 0x1p-1022, 0x1.fffffffffffffp+1023, 0x0p+0, -0x0p+0, INEXACT|UNDERFLOW) 125570af302Sopenharmony_ciT(RN, -0x1p-1022, 0x1.fffffffffffffp+1023, -0x0p+0, 0x0p+0, INEXACT|UNDERFLOW) 126570af302Sopenharmony_ciT(RN, 0x1p-1022,-0x1.fffffffffffffp+1023, 0x1.921fb54442d18p+1, -0x1.1a6264p-2, INEXACT) 127570af302Sopenharmony_ciT(RN, -0x1p-1022,-0x1.fffffffffffffp+1023, -0x1.921fb54442d18p+1, 0x1.1a6264p-2, INEXACT) 128570af302Sopenharmony_ciT(RZ, 0x1p-1022, 0x1.fffffffffffffp+1023, 0x0p+0, -0x0p+0, INEXACT|UNDERFLOW) 129570af302Sopenharmony_ciT(RZ, -0x1p-1022, 0x1.fffffffffffffp+1023, -0x0p+0, 0x0p+0, INEXACT|UNDERFLOW) 130570af302Sopenharmony_ciT(RZ, 0x1p-1022,-0x1.fffffffffffffp+1023, 0x1.921fb54442d18p+1, -0x1.1a6264p-2, INEXACT) 131570af302Sopenharmony_ciT(RZ, -0x1p-1022,-0x1.fffffffffffffp+1023, -0x1.921fb54442d18p+1, 0x1.1a6264p-2, INEXACT) 132570af302Sopenharmony_ciT(RU, 0x1p-1022, 0x1.fffffffffffffp+1023, 0x1p-1074, 0x1p+0, INEXACT|UNDERFLOW) 133570af302Sopenharmony_ciT(RU, -0x1p-1022, 0x1.fffffffffffffp+1023, -0x0p+0, 0x0p+0, INEXACT|UNDERFLOW) 134570af302Sopenharmony_ciT(RU, 0x1p-1022,-0x1.fffffffffffffp+1023, 0x1.921fb54442d19p+1, 0x1.72cecep-1, INEXACT) 135570af302Sopenharmony_ciT(RU, -0x1p-1022,-0x1.fffffffffffffp+1023, -0x1.921fb54442d18p+1, 0x1.1a6264p-2, INEXACT) 136570af302Sopenharmony_ciT(RD, 0x1p-1022, 0x1.fffffffffffffp+1023, 0x0p+0, -0x0p+0, INEXACT|UNDERFLOW) 137570af302Sopenharmony_ciT(RD, -0x1p-1022, 0x1.fffffffffffffp+1023, -0x1p-1074, -0x1p+0, INEXACT|UNDERFLOW) 138570af302Sopenharmony_ciT(RD, 0x1p-1022,-0x1.fffffffffffffp+1023, 0x1.921fb54442d18p+1, -0x1.1a6264p-2, INEXACT) 139570af302Sopenharmony_ciT(RD, -0x1p-1022,-0x1.fffffffffffffp+1023, -0x1.921fb54442d19p+1, -0x1.72cecep-1, INEXACT) 140570af302Sopenharmony_ci// atan2d(+-x,+x) = +-pi/4 for normal x 141570af302Sopenharmony_ciT(RN, 0x1p-1022, 0x1p-1022, 0x1.921fb54442d18p-1, -0x1.1a6264p-2, INEXACT) 142570af302Sopenharmony_ciT(RN, -0x1p-1022, 0x1p-1022, -0x1.921fb54442d18p-1, 0x1.1a6264p-2, INEXACT) 143570af302Sopenharmony_ciT(RN, 0x1.fffffffffffffp+1023, 0x1.fffffffffffffp+1023, 0x1.921fb54442d18p-1, -0x1.1a6264p-2, INEXACT) 144570af302Sopenharmony_ciT(RN,-0x1.fffffffffffffp+1023, 0x1.fffffffffffffp+1023, -0x1.921fb54442d18p-1, 0x1.1a6264p-2, INEXACT) 145570af302Sopenharmony_ci// atan2d(+-x,-x) = +-3pi/4 for normal x 146570af302Sopenharmony_ciT(RN, 0x1p-1022, -0x1p-1022, 0x1.2d97c7f3321d2p+1, -0x1.a79394p-3, INEXACT) 147570af302Sopenharmony_ciT(RN, -0x1p-1022, -0x1p-1022, -0x1.2d97c7f3321d2p+1, 0x1.a79394p-3, INEXACT) 148570af302Sopenharmony_ciT(RN, 0x1p+0, -0x1p+0, 0x1.2d97c7f3321d2p+1, -0x1.a79394p-3, INEXACT) 149570af302Sopenharmony_ciT(RN, -0x1p+0, -0x1p+0, -0x1.2d97c7f3321d2p+1, 0x1.a79394p-3, INEXACT) 150570af302Sopenharmony_ciT(RN, 0x1.fffffffffffffp+1023,-0x1.fffffffffffffp+1023, 0x1.2d97c7f3321d2p+1, -0x1.a79394p-3, INEXACT) 151570af302Sopenharmony_ciT(RN,-0x1.fffffffffffffp+1023,-0x1.fffffffffffffp+1023, -0x1.2d97c7f3321d2p+1, 0x1.a79394p-3, INEXACT) 152570af302Sopenharmony_ci// random arguments between -2.0 and 2.0 153570af302Sopenharmony_ciT(RN, -0x1.13284b2b5006dp-1, 0x1.6ca8dfb825911p+0, -0x1.716d1fa13dd6p-2, -0x1.31471ap-3, INEXACT) 154570af302Sopenharmony_ciT(RN, 0x1.c2ca609de7505p+0, -0x1.55f11fba96889p+0, 0x1.1c206d50867f1p+1, -0x1.d982d2p-2, INEXACT) 155570af302Sopenharmony_ciT(RN, -0x1.15679e27084ddp-1, -0x1.41e131b093c41p-4, -0x1.b6ff43cc0fa03p+0, 0x1.428fe2p-3, INEXACT) 156570af302Sopenharmony_ciT(RN, 0x1.281b0d18455f5p+0, 0x1.b5ce34a51b239p+0, 0x1.30789aa67a7b1p-1, 0x1.e13b2ap-2, INEXACT) 157570af302Sopenharmony_ciT(RN, -0x1.583481079de4dp-2, -0x1.ea8223103b871p+0, -0x1.7be5087e43d19p+1, 0x1.a6c422p-2, INEXACT) 158570af302Sopenharmony_ciT(RN, -0x1.aae17f24163e5p-1, 0x1.7a9da1468cce9p-4, -0x1.75db7c098be45p+0, 0x1.e9c708p-2, INEXACT) 159570af302Sopenharmony_ciT(RN, -0x1.844fff258fcbdp+0, 0x1.6ca321ace7da1p+0, -0x1.a237b131b62afp-1, -0x1.d5b568p-2, INEXACT) 160570af302Sopenharmony_ciT(RN, -0x1.fe09befde0ed5p+0, -0x1.ff6c7e8e5e899p+0, -0x1.2dc43c18871b1p+1, 0x1.ece6e2p-7, INEXACT) 161570af302Sopenharmony_ciT(RN, -0x1.d24c81412d02dp-1, 0x1.29b6828273bd1p+0, -0x1.5428a1a6caecfp-1, 0x1.9211bp-2, INEXACT) 162570af302Sopenharmony_ciT(RN, 0x1.25ea7e8b7c6c5p-1, 0x1.f99598e193549p-1, 0x1.0d9c960b4dda9p-1, -0x1.000c7p-3, INEXACT) 163570af302Sopenharmony_ci// atan2d involve nan 164570af302Sopenharmony_ciT(RN, 0x0p+0, nan, nan, 0x0p+0, 0) 165570af302Sopenharmony_ciT(RN, 0x1p+0, nan, nan, 0x0p+0, 0) 166570af302Sopenharmony_ciT(RN, nan, 0x1p-1074, nan, 0x0p+0, 0) 167570af302Sopenharmony_ciT(RN, nan,-0x1.fffffffffffffp+1023, nan, 0x0p+0, 0) 168570af302Sopenharmony_ciT(RN, nan, nan, nan, 0x0p+0, 0) 169570af302Sopenharmony_ciT(RN, nan, nan, nan, 0x0p+0, 0) 170570af302Sopenharmony_ciT(RZ, 0x0p+0, nan, nan, 0x0p+0, 0) 171570af302Sopenharmony_ciT(RZ, 0x1p+0, nan, nan, 0x0p+0, 0) 172570af302Sopenharmony_ciT(RZ, nan, 0x1p-1074, nan, 0x0p+0, 0) 173570af302Sopenharmony_ciT(RZ, nan,-0x1.fffffffffffffp+1023, nan, 0x0p+0, 0) 174570af302Sopenharmony_ciT(RZ, nan, nan, nan, 0x0p+0, 0) 175570af302Sopenharmony_ciT(RZ, nan, nan, nan, 0x0p+0, 0) 176570af302Sopenharmony_ciT(RU, 0x0p+0, nan, nan, 0x0p+0, 0) 177570af302Sopenharmony_ciT(RU, 0x1p+0, nan, nan, 0x0p+0, 0) 178570af302Sopenharmony_ciT(RU, nan, 0x1p-1074, nan, 0x0p+0, 0) 179570af302Sopenharmony_ciT(RU, nan,-0x1.fffffffffffffp+1023, nan, 0x0p+0, 0) 180570af302Sopenharmony_ciT(RU, nan, nan, nan, 0x0p+0, 0) 181570af302Sopenharmony_ciT(RU, nan, nan, nan, 0x0p+0, 0) 182570af302Sopenharmony_ciT(RD, 0x0p+0, nan, nan, 0x0p+0, 0) 183570af302Sopenharmony_ciT(RD, 0x1p+0, nan, nan, 0x0p+0, 0) 184570af302Sopenharmony_ciT(RD, nan, 0x1p-1074, nan, 0x0p+0, 0) 185570af302Sopenharmony_ciT(RD, nan,-0x1.fffffffffffffp+1023, nan, 0x0p+0, 0) 186570af302Sopenharmony_ciT(RD, nan, nan, nan, 0x0p+0, 0) 187570af302Sopenharmony_ciT(RD, nan, nan, nan, 0x0p+0, 0) 188570af302Sopenharmony_ci// atan2d(+-(anything but inf and nan), +inf) is +-0 189570af302Sopenharmony_ciT(RN, 0x1p-1074, inf, 0x0p+0, 0x0p+0, 0) 190570af302Sopenharmony_ciT(RN, 0x1.fffffffffffffp+1023, inf, 0x0p+0, 0x0p+0, 0) 191570af302Sopenharmony_ciT(RN, -0x1p-1074, inf, -0x0p+0, 0x0p+0, 0) 192570af302Sopenharmony_ciT(RN,-0x1.fffffffffffffp+1023, inf, -0x0p+0, 0x0p+0, 0) 193570af302Sopenharmony_ciT(RZ, 0x1p-1074, inf, 0x0p+0, 0x0p+0, 0) 194570af302Sopenharmony_ciT(RZ, 0x1.fffffffffffffp+1023, inf, 0x0p+0, 0x0p+0, 0) 195570af302Sopenharmony_ciT(RZ, -0x1p-1074, inf, -0x0p+0, 0x0p+0, 0) 196570af302Sopenharmony_ciT(RZ,-0x1.fffffffffffffp+1023, inf, -0x0p+0, 0x0p+0, 0) 197570af302Sopenharmony_ciT(RU, 0x1p-1074, inf, 0x0p+0, 0x0p+0, 0) 198570af302Sopenharmony_ciT(RU, 0x1.fffffffffffffp+1023, inf, 0x0p+0, 0x0p+0, 0) 199570af302Sopenharmony_ciT(RU, -0x1p-1074, inf, -0x0p+0, 0x0p+0, 0) 200570af302Sopenharmony_ciT(RU,-0x1.fffffffffffffp+1023, inf, -0x0p+0, 0x0p+0, 0) 201570af302Sopenharmony_ciT(RD, 0x1p-1074, inf, 0x0p+0, 0x0p+0, 0) 202570af302Sopenharmony_ciT(RD, 0x1.fffffffffffffp+1023, inf, 0x0p+0, 0x0p+0, 0) 203570af302Sopenharmony_ciT(RD, -0x1p-1074, inf, -0x0p+0, 0x0p+0, 0) 204570af302Sopenharmony_ciT(RD,-0x1.fffffffffffffp+1023, inf, -0x0p+0, 0x0p+0, 0) 205570af302Sopenharmony_ci// atan2d(+-(anything but inf and nan), -inf) is +-pi 206570af302Sopenharmony_ciT(RN, 0x1p-1074, -inf, 0x1.921fb54442d18p+1, -0x1.1a6264p-2, INEXACT) 207570af302Sopenharmony_ciT(RN, 0x1.fffffffffffffp+1023, -inf, 0x1.921fb54442d18p+1, -0x1.1a6264p-2, INEXACT) 208570af302Sopenharmony_ciT(RN, -0x1p-1074, -inf, -0x1.921fb54442d18p+1, 0x1.1a6264p-2, INEXACT) 209570af302Sopenharmony_ciT(RN,-0x1.fffffffffffffp+1023, -inf, -0x1.921fb54442d18p+1, 0x1.1a6264p-2, INEXACT) 210570af302Sopenharmony_ci// atan2d(+-inf,+inf ) is +-pi/4 211570af302Sopenharmony_ciT(RN, inf, inf, 0x1.921fb54442d18p-1, -0x1.1a6264p-2, INEXACT) 212570af302Sopenharmony_ciT(RN, -inf, inf, -0x1.921fb54442d18p-1, 0x1.1a6264p-2, INEXACT) 213570af302Sopenharmony_ci// atan2d(+-inf,-inf ) is +-3pi/4 214570af302Sopenharmony_ciT(RN, inf, -inf, 0x1.2d97c7f3321d2p+1, -0x1.a79394p-3, INEXACT) 215570af302Sopenharmony_ciT(RN, -inf, -inf, -0x1.2d97c7f3321d2p+1, 0x1.a79394p-3, INEXACT) 216570af302Sopenharmony_ci// atan2d(+-inf, (anything but,0,nan, and inf)) is +-pi/2 217570af302Sopenharmony_ciT(RN, inf, 0x1p-1074, 0x1.921fb54442d18p+0, -0x1.1a6264p-2, INEXACT) 218570af302Sopenharmony_ciT(RN, inf, -0x1p-1074, 0x1.921fb54442d18p+0, -0x1.1a6264p-2, INEXACT) 219570af302Sopenharmony_ciT(RN, inf, 0x1.fffffffffffffp+1023, 0x1.921fb54442d18p+0, -0x1.1a6264p-2, INEXACT) 220570af302Sopenharmony_ciT(RN, inf,-0x1.fffffffffffffp+1023, 0x1.921fb54442d18p+0, -0x1.1a6264p-2, INEXACT) 221570af302Sopenharmony_ciT(RN, -inf, 0x1p-1074, -0x1.921fb54442d18p+0, 0x1.1a6264p-2, INEXACT) 222570af302Sopenharmony_ciT(RN, -inf, -0x1p-1074, -0x1.921fb54442d18p+0, 0x1.1a6264p-2, INEXACT) 223570af302Sopenharmony_ciT(RN, -inf, 0x1.fffffffffffffp+1023, -0x1.921fb54442d18p+0, 0x1.1a6264p-2, INEXACT) 224570af302Sopenharmony_ciT(RN, -inf,-0x1.fffffffffffffp+1023, -0x1.921fb54442d18p+0, 0x1.1a6264p-2, INEXACT) 225