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// cosd(+-max) 38570af302Sopenharmony_ci// cosd(tiny) is ~1.0 39570af302Sopenharmony_ciT(RN, 0x1p-30, 0x1p+0, 0x1p-9, INEXACT) 40570af302Sopenharmony_ciT(RN, -0x1p-30, 0x1p+0, 0x1p-9, INEXACT) 41570af302Sopenharmony_ciT(RN, 0x1p-1022, 0x1p+0, 0x0p+0, INEXACT) 42570af302Sopenharmony_ciT(RN, -0x1p-1022, 0x1p+0, 0x0p+0, INEXACT) 43570af302Sopenharmony_ciT(RN, 0x1p-1074, 0x1p+0, 0x0p+0, INEXACT) 44570af302Sopenharmony_ciT(RN, -0x1p-1074, 0x1p+0, 0x0p+0, INEXACT) 45570af302Sopenharmony_ci// cosd(+-0) is 1.0 46570af302Sopenharmony_ciT(RN, 0x0p+0, 0x1p+0, 0x0p+0, 0) 47570af302Sopenharmony_ciT(RN, -0x0p+0, 0x1p+0, 0x0p+0, 0) 48570af302Sopenharmony_ciT(RZ, 0x0p+0, 0x1p+0, 0x0p+0, 0) 49570af302Sopenharmony_ciT(RZ, -0x0p+0, 0x1p+0, 0x0p+0, 0) 50570af302Sopenharmony_ciT(RU, 0x0p+0, 0x1p+0, 0x0p+0, 0) 51570af302Sopenharmony_ciT(RU, -0x0p+0, 0x1p+0, 0x0p+0, 0) 52570af302Sopenharmony_ciT(RD, 0x0p+0, 0x1p+0, 0x0p+0, 0) 53570af302Sopenharmony_ciT(RD, -0x0p+0, 0x1p+0, 0x0p+0, 0) 54570af302Sopenharmony_ci// cosd(nan or inf) is nan 55570af302Sopenharmony_ciT(RN, inf, nan, 0x0p+0, INVALID) 56570af302Sopenharmony_ciT(RN, -inf, nan, 0x0p+0, INVALID) 57570af302Sopenharmony_ciT(RN, nan, nan, 0x0p+0, 0) 58570af302Sopenharmony_ciT(RN, nan, nan, 0x0p+0, 0) 59570af302Sopenharmony_ciT(RD, 0x1p-1074, 0x1.fffffffffffffp-1, -0x1p+0, INEXACT) 60570af302Sopenharmony_ciT(RD, 0x1p-1073, 0x1.fffffffffffffp-1, -0x1p+0, INEXACT) 61570af302Sopenharmony_ciT(RD, 0x1p-1024, 0x1.fffffffffffffp-1, -0x1p+0, INEXACT) 62570af302Sopenharmony_ciT(RD, 0x1p-1023, 0x1.fffffffffffffp-1, -0x1p+0, INEXACT) 63570af302Sopenharmony_ciT(RD, 0x1.ffffffffffffcp-1023, 0x1.fffffffffffffp-1, -0x1p+0, INEXACT) 64570af302Sopenharmony_ciT(RD, 0x1.ffffffffffffep-1023, 0x1.fffffffffffffp-1, -0x1p+0, INEXACT) 65570af302Sopenharmony_ciT(RD, 0x1p-1022, 0x1.fffffffffffffp-1, -0x1p+0, INEXACT) 66570af302Sopenharmony_ciT(RD, 0x1.0000000000001p-1022, 0x1.fffffffffffffp-1, -0x1p+0, INEXACT) 67570af302Sopenharmony_ciT(RD, 0x1.0000000000002p-1022, 0x1.fffffffffffffp-1, -0x1p+0, INEXACT) 68570af302Sopenharmony_ciT(RD, 0x1p-1021, 0x1.fffffffffffffp-1, -0x1p+0, INEXACT) 69570af302Sopenharmony_ciT(RD, 0x1p-1020, 0x1.fffffffffffffp-1, -0x1p+0, INEXACT) 70570af302Sopenharmony_ciT(RD, 0x1p-26, 0x1.fffffffffffffp-1, -0x1.55554p-56, INEXACT) 71570af302Sopenharmony_ciT(RD, 0x1.8p-25, 0x1.ffffffffffff7p-1, -0x1.bp-50, INEXACT) 72570af302Sopenharmony_ciT(RD, -0x1p-1074, 0x1.fffffffffffffp-1, -0x1p+0, INEXACT) 73570af302Sopenharmony_ciT(RD, -0x1p-1073, 0x1.fffffffffffffp-1, -0x1p+0, INEXACT) 74570af302Sopenharmony_ciT(RD, -0x1.2p-1071, 0x1.fffffffffffffp-1, -0x1p+0, INEXACT) 75570af302Sopenharmony_ciT(RD, -0x1p-1024, 0x1.fffffffffffffp-1, -0x1p+0, INEXACT) 76570af302Sopenharmony_ciT(RD, -0x1p-1023, 0x1.fffffffffffffp-1, -0x1p+0, INEXACT) 77570af302Sopenharmony_ciT(RD,-0x1.ffffffffffffcp-1023, 0x1.fffffffffffffp-1, -0x1p+0, INEXACT) 78570af302Sopenharmony_ciT(RD,-0x1.ffffffffffffep-1023, 0x1.fffffffffffffp-1, -0x1p+0, INEXACT) 79570af302Sopenharmony_ciT(RD, -0x1p-1022, 0x1.fffffffffffffp-1, -0x1p+0, INEXACT) 80570af302Sopenharmony_ciT(RD,-0x1.0000000000001p-1022, 0x1.fffffffffffffp-1, -0x1p+0, INEXACT) 81570af302Sopenharmony_ciT(RD,-0x1.0000000000002p-1022, 0x1.fffffffffffffp-1, -0x1p+0, INEXACT) 82570af302Sopenharmony_ciT(RD,-0x1.ffffffffffffbp-1022, 0x1.fffffffffffffp-1, -0x1p+0, INEXACT) 83570af302Sopenharmony_ciT(RD, -0x1p-1021, 0x1.fffffffffffffp-1, -0x1p+0, INEXACT) 84570af302Sopenharmony_ciT(RD,-0x1.0000000000003p-1021, 0x1.fffffffffffffp-1, -0x1p+0, INEXACT) 85570af302Sopenharmony_ciT(RD, -0x1p-1020, 0x1.fffffffffffffp-1, -0x1p+0, INEXACT) 86570af302Sopenharmony_ciT(RD, -0x1p-26, 0x1.fffffffffffffp-1, -0x1.55554p-56, INEXACT) 87570af302Sopenharmony_ciT(RD, -0x1.8p-25, 0x1.ffffffffffff7p-1, -0x1.bp-50, INEXACT) 88570af302Sopenharmony_ciT(RD, nan, nan, 0x0p+0, 0) 89570af302Sopenharmony_ciT(RD, inf, nan, 0x0p+0, INVALID) 90570af302Sopenharmony_ciT(RD, nan, nan, 0x0p+0, 0) 91570af302Sopenharmony_ciT(RD, -inf, nan, 0x0p+0, INVALID) 92570af302Sopenharmony_ciT(RD, 0x1p-27, 0x1.fffffffffffffp-1, -0x1.8p-1, INEXACT) 93570af302Sopenharmony_ciT(RD, -0x1p-27, 0x1.fffffffffffffp-1, -0x1.8p-1, INEXACT) 94570af302Sopenharmony_ciT(RN, 0x1p-1073, 0x1p+0, 0x0p+0, INEXACT) 95570af302Sopenharmony_ciT(RN, 0x1.2p-1071, 0x1p+0, 0x0p+0, INEXACT) 96570af302Sopenharmony_ciT(RN, 0x1p-1024, 0x1p+0, 0x0p+0, INEXACT) 97570af302Sopenharmony_ciT(RN, 0x1p-1023, 0x1p+0, 0x0p+0, INEXACT) 98570af302Sopenharmony_ciT(RN, 0x1.ffffffffffffcp-1023, 0x1p+0, 0x0p+0, INEXACT) 99570af302Sopenharmony_ciT(RN, 0x1.ffffffffffffep-1023, 0x1p+0, 0x0p+0, INEXACT) 100570af302Sopenharmony_ciT(RN, 0x1.0000000000001p-1022, 0x1p+0, 0x0p+0, INEXACT) 101570af302Sopenharmony_ciT(RN, 0x1.0000000000002p-1022, 0x1p+0, 0x0p+0, INEXACT) 102570af302Sopenharmony_ciT(RN, 0x1.ffffffffffffbp-1022, 0x1p+0, 0x0p+0, INEXACT) 103570af302Sopenharmony_ciT(RN, 0x1p-1021, 0x1p+0, 0x0p+0, INEXACT) 104570af302Sopenharmony_ciT(RN, 0x1.0000000000003p-1021, 0x1p+0, 0x0p+0, INEXACT) 105570af302Sopenharmony_ciT(RN, 0x1p-1020, 0x1p+0, 0x0p+0, INEXACT) 106570af302Sopenharmony_ciT(RN, 0x1p-27, 0x1p+0, 0x1p-3, INEXACT) 107570af302Sopenharmony_ciT(RN, 0x1p-26, 0x1.fffffffffffffp-1, -0x1.55556p-56, INEXACT) 108570af302Sopenharmony_ciT(RN, 0x1.8p-25, 0x1.ffffffffffff7p-1, -0x1.bp-50, INEXACT) 109570af302Sopenharmony_ciT(RN, -0x1p-1073, 0x1p+0, 0x0p+0, INEXACT) 110570af302Sopenharmony_ciT(RN, -0x1.2p-1071, 0x1p+0, 0x0p+0, INEXACT) 111570af302Sopenharmony_ciT(RN, -0x1p-1024, 0x1p+0, 0x0p+0, INEXACT) 112570af302Sopenharmony_ciT(RN, -0x1p-1023, 0x1p+0, 0x0p+0, INEXACT) 113570af302Sopenharmony_ciT(RN,-0x1.ffffffffffffcp-1023, 0x1p+0, 0x0p+0, INEXACT) 114570af302Sopenharmony_ciT(RN,-0x1.ffffffffffffep-1023, 0x1p+0, 0x0p+0, INEXACT) 115570af302Sopenharmony_ciT(RN,-0x1.0000000000001p-1022, 0x1p+0, 0x0p+0, INEXACT) 116570af302Sopenharmony_ciT(RN,-0x1.0000000000002p-1022, 0x1p+0, 0x0p+0, INEXACT) 117570af302Sopenharmony_ciT(RN,-0x1.ffffffffffffbp-1022, 0x1p+0, 0x0p+0, INEXACT) 118570af302Sopenharmony_ciT(RN, -0x1p-1021, 0x1p+0, 0x0p+0, INEXACT) 119570af302Sopenharmony_ciT(RN,-0x1.0000000000003p-1021, 0x1p+0, 0x0p+0, INEXACT) 120570af302Sopenharmony_ciT(RN, -0x1p-1020, 0x1p+0, 0x0p+0, INEXACT) 121570af302Sopenharmony_ciT(RN, -0x1p-27, 0x1p+0, 0x1p-3, INEXACT) 122570af302Sopenharmony_ciT(RN, -0x1p-26, 0x1.fffffffffffffp-1, -0x1.55556p-56, INEXACT) 123570af302Sopenharmony_ciT(RN, -0x1.8p-25, 0x1.ffffffffffff7p-1, -0x1.bp-50, INEXACT) 124570af302Sopenharmony_ciT(RU, 0x1p-1074, 0x1p+0, 0x0p+0, INEXACT) 125570af302Sopenharmony_ciT(RU, 0x1p-1073, 0x1p+0, 0x0p+0, INEXACT) 126570af302Sopenharmony_ciT(RU, 0x1.2p-1071, 0x1p+0, 0x0p+0, INEXACT) 127570af302Sopenharmony_ciT(RU, 0x1p-1024, 0x1p+0, 0x0p+0, INEXACT) 128570af302Sopenharmony_ciT(RU, 0x1p-1023, 0x1p+0, 0x0p+0, INEXACT) 129570af302Sopenharmony_ciT(RU, 0x1.ffffffffffffcp-1023, 0x1p+0, 0x0p+0, INEXACT) 130570af302Sopenharmony_ciT(RU, 0x1.ffffffffffffep-1023, 0x1p+0, 0x0p+0, INEXACT) 131570af302Sopenharmony_ciT(RU, 0x1p-1022, 0x1p+0, 0x0p+0, INEXACT) 132570af302Sopenharmony_ciT(RU, 0x1.0000000000001p-1022, 0x1p+0, 0x0p+0, INEXACT) 133570af302Sopenharmony_ciT(RU, 0x1.0000000000002p-1022, 0x1p+0, 0x0p+0, INEXACT) 134570af302Sopenharmony_ciT(RU, 0x1.ffffffffffffbp-1022, 0x1p+0, 0x0p+0, INEXACT) 135570af302Sopenharmony_ciT(RU, 0x1p-1021, 0x1p+0, 0x0p+0, INEXACT) 136570af302Sopenharmony_ciT(RU, 0x1.0000000000003p-1021, 0x1p+0, 0x0p+0, INEXACT) 137570af302Sopenharmony_ciT(RU, 0x1p-1020, 0x1p+0, 0x0p+0, INEXACT) 138570af302Sopenharmony_ciT(RU, 0x1p-27, 0x1p+0, 0x1p-3, INEXACT) 139570af302Sopenharmony_ciT(RU, 0x1p-26, 0x1p+0, 0x1p-1, INEXACT) 140570af302Sopenharmony_ciT(RU, 0x1.8p-25, 0x1.ffffffffffff8p-1, 0x1p+0, INEXACT) 141570af302Sopenharmony_ciT(RU, -0x1p-1074, 0x1p+0, 0x0p+0, INEXACT) 142570af302Sopenharmony_ciT(RU, -0x1p-1073, 0x1p+0, 0x0p+0, INEXACT) 143570af302Sopenharmony_ciT(RU, -0x1p-1024, 0x1p+0, 0x0p+0, INEXACT) 144570af302Sopenharmony_ciT(RU, -0x1p-1023, 0x1p+0, 0x0p+0, INEXACT) 145570af302Sopenharmony_ciT(RU,-0x1.ffffffffffffcp-1023, 0x1p+0, 0x0p+0, INEXACT) 146570af302Sopenharmony_ciT(RU,-0x1.ffffffffffffep-1023, 0x1p+0, 0x0p+0, INEXACT) 147570af302Sopenharmony_ciT(RU, -0x1p-1022, 0x1p+0, 0x0p+0, INEXACT) 148570af302Sopenharmony_ciT(RU,-0x1.0000000000001p-1022, 0x1p+0, 0x0p+0, INEXACT) 149570af302Sopenharmony_ciT(RU,-0x1.0000000000002p-1022, 0x1p+0, 0x0p+0, INEXACT) 150570af302Sopenharmony_ciT(RU, -0x1p-1021, 0x1p+0, 0x0p+0, INEXACT) 151570af302Sopenharmony_ciT(RU, -0x1p-1020, 0x1p+0, 0x0p+0, INEXACT) 152570af302Sopenharmony_ciT(RU, -0x1p-27, 0x1p+0, 0x1p-3, INEXACT) 153570af302Sopenharmony_ciT(RU, -0x1p-26, 0x1p+0, 0x1p-1, INEXACT) 154570af302Sopenharmony_ciT(RU, -0x1.8p-25, 0x1.ffffffffffff8p-1, 0x1p+0, INEXACT) 155570af302Sopenharmony_ciT(RU, nan, nan, 0x0p+0, 0) 156570af302Sopenharmony_ciT(RU, nan, nan, 0x0p+0, 0) 157570af302Sopenharmony_ciT(RU, inf, nan, 0x0p+0, INVALID) 158570af302Sopenharmony_ciT(RU, -inf, nan, 0x0p+0, INVALID) 159570af302Sopenharmony_ciT(RZ, 0x1p-1074, 0x1.fffffffffffffp-1, -0x1p+0, INEXACT) 160570af302Sopenharmony_ciT(RZ, 0x1p-1073, 0x1.fffffffffffffp-1, -0x1p+0, INEXACT) 161570af302Sopenharmony_ciT(RZ, 0x1p-1024, 0x1.fffffffffffffp-1, -0x1p+0, INEXACT) 162570af302Sopenharmony_ciT(RZ, 0x1p-1023, 0x1.fffffffffffffp-1, -0x1p+0, INEXACT) 163570af302Sopenharmony_ciT(RZ, 0x1.ffffffffffffcp-1023, 0x1.fffffffffffffp-1, -0x1p+0, INEXACT) 164570af302Sopenharmony_ciT(RZ, 0x1.ffffffffffffep-1023, 0x1.fffffffffffffp-1, -0x1p+0, INEXACT) 165570af302Sopenharmony_ciT(RZ, 0x1p-1022, 0x1.fffffffffffffp-1, -0x1p+0, INEXACT) 166570af302Sopenharmony_ciT(RZ, 0x1.0000000000001p-1022, 0x1.fffffffffffffp-1, -0x1p+0, INEXACT) 167570af302Sopenharmony_ciT(RZ, 0x1.0000000000002p-1022, 0x1.fffffffffffffp-1, -0x1p+0, INEXACT) 168570af302Sopenharmony_ciT(RZ, 0x1p-1021, 0x1.fffffffffffffp-1, -0x1p+0, INEXACT) 169570af302Sopenharmony_ciT(RZ, 0x1p-1020, 0x1.fffffffffffffp-1, -0x1p+0, INEXACT) 170570af302Sopenharmony_ciT(RZ, 0x1p-26, 0x1.fffffffffffffp-1, -0x1.55554p-56, INEXACT) 171570af302Sopenharmony_ciT(RZ, 0x1.8p-25, 0x1.ffffffffffff7p-1, -0x1.bp-50, INEXACT) 172570af302Sopenharmony_ciT(RZ, -0x1p-1074, 0x1.fffffffffffffp-1, -0x1p+0, INEXACT) 173570af302Sopenharmony_ciT(RZ, -0x1p-1073, 0x1.fffffffffffffp-1, -0x1p+0, INEXACT) 174570af302Sopenharmony_ciT(RZ, -0x1p-1024, 0x1.fffffffffffffp-1, -0x1p+0, INEXACT) 175570af302Sopenharmony_ciT(RZ, -0x1p-1023, 0x1.fffffffffffffp-1, -0x1p+0, INEXACT) 176570af302Sopenharmony_ciT(RZ,-0x1.ffffffffffffcp-1023, 0x1.fffffffffffffp-1, -0x1p+0, INEXACT) 177570af302Sopenharmony_ciT(RZ,-0x1.ffffffffffffep-1023, 0x1.fffffffffffffp-1, -0x1p+0, INEXACT) 178570af302Sopenharmony_ciT(RZ, -0x1p-1022, 0x1.fffffffffffffp-1, -0x1p+0, INEXACT) 179570af302Sopenharmony_ciT(RZ,-0x1.0000000000001p-1022, 0x1.fffffffffffffp-1, -0x1p+0, INEXACT) 180570af302Sopenharmony_ciT(RZ,-0x1.0000000000002p-1022, 0x1.fffffffffffffp-1, -0x1p+0, INEXACT) 181570af302Sopenharmony_ciT(RZ, -0x1p-1021, 0x1.fffffffffffffp-1, -0x1p+0, INEXACT) 182570af302Sopenharmony_ciT(RZ, -0x1p-1020, 0x1.fffffffffffffp-1, -0x1p+0, INEXACT) 183570af302Sopenharmony_ciT(RZ, -0x1p-26, 0x1.fffffffffffffp-1, -0x1.55554p-56, INEXACT) 184570af302Sopenharmony_ciT(RZ, -0x1.8p-25, 0x1.ffffffffffff7p-1, -0x1.bp-50, INEXACT) 185570af302Sopenharmony_ciT(RZ, nan, nan, 0x0p+0, 0) 186570af302Sopenharmony_ciT(RZ, nan, nan, 0x0p+0, 0) 187570af302Sopenharmony_ciT(RZ, inf, nan, 0x0p+0, INVALID) 188570af302Sopenharmony_ciT(RZ, -inf, nan, 0x0p+0, INVALID) 189570af302Sopenharmony_ciT(RZ, 0x1p-27, 0x1.fffffffffffffp-1, -0x1.8p-1, INEXACT) 190570af302Sopenharmony_ciT(RZ, -0x1p-27, 0x1.fffffffffffffp-1, -0x1.8p-1, INEXACT) 191