1 /* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 * or http://www.opensolaris.org/os/licensing. 10 * See the License for the specific language governing permissions 11 * and limitations under the License. 12 * 13 * When distributing Covered Code, include this CDDL HEADER in each 14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 * If applicable, add the following below this CDDL HEADER, with the 16 * fields enclosed by brackets "[]" replaced with your own identifying 17 * information: Portions Copyright [yyyy] [name of copyright owner] 18 * 19 * CDDL HEADER END 20 */ 21 22 /* 23 * Copyright 2011 Nexenta Systems, Inc. All rights reserved. 24 */ 25 /* 26 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. 27 * Use is subject to license terms. 28 */ 29 30 /* 31 * table of cosl(x) where x is 0.15625 + i*0.03125, i=0,1,...,74. 32 * {0x3ffc4000,0,0,0} --> (inc 0x800) --> {0x3ffe9000,0,0,0} 33 * 0.15625 0.03125 0.78125 (pi/4 = 0.785395663...) 34 */ 35 36 #include "libm.h" 37 38 const long double _TBL_cosl_hi[] = { 39 +9.878177838164719441005030343632113165093e-0001L, 40 +9.872023778548304903960885335116224443952e-0001L, 41 +9.865719083994975887573374074953084086015e-0001L, 42 +9.859263850706614357470592528694354441508e-0001L, 43 +9.852658177182138162042947097595789939359e-0001L, 44 +9.845902164215998060143951077820687364441e-0001L, 45 +9.838995914896639721783093514164872453367e-0001L, 46 +9.831939534604930725278757612989684275134e-0001L, 47 +9.824733131012552574873276832436224950147e-0001L, 48 +9.817376814080357763345961479047090031971e-0001L, 49 +9.809870696056691904693298964353096645569e-0001L, 50 +9.802214891475680962478518674217420182872e-0001L, 51 +9.794409517155483599985309545029874933258e-0001L, 52 +9.786454692196508678842676797432752842534e-0001L, 53 +9.778350537979597933319715729444545493330e-0001L, 54 +9.770097178164173848020456902145767884624e-0001L, 55 +9.761694738686352767239890354351355336967e-0001L, 56 +9.753143347757023264772798556222610938601e-0001L, 57 +9.744443135859889803497110560454343440501e-0001L, 58 +9.735594235749481714583125145098981012012e-0001L, 59 +9.726596782449127526709130582675652597851e-0001L, 60 +9.717450913248894676192664941325029643211e-0001L, 61 +9.708156767703494629474905457850460270255e-0001L, 62 +9.698714487630153449923440459169307761267e-0001L, 63 +9.689124217106447841445954494941892053405e-0001L, 64 +9.669500292306778220083416236105315034050e-0001L, 65 +9.649286191047710095810746653157483714001e-0001L, 66 +9.628483147093796998997010934802143646862e-0001L, 67 +9.607092430155619030666593505813134717046e-0001L, 68 +9.585115345812286273019694081549198217856e-0001L, 69 +9.562553235431752969755999422630283611690e-0001L, 70 +9.539407476088947339813247959876116228319e-0001L, 71 +9.515679480481722021454882173642709621657e-0001L, 72 +9.491370696844630276658474217621056230077e-0001L, 73 +9.466482608860533218460995072955329761108e-0001L, 74 +9.441016735570043456300176912531248599600e-0001L, 75 +9.414974631278810686445112360536708146537e-0001L, 76 +9.388357885462654886325783059847125541586e-0001L, 77 +9.361168122670552902942374110195085880318e-0001L, 78 +9.333407002425484356552992294699955265909e-0001L, 79 +9.305076219123142911494767922295554806411e-0001L, 80 +9.276177501928519096280307987999613501918e-0001L, 81 +9.246712614670360985021130145601387709996e-0001L, 82 +9.216683355733519181754113682027127142383e-0001L, 83 +9.186091557949182678378249777185498625801e-0001L, 84 +9.154939088483012285639177321802218816645e-0001L, 85 +9.123227848721178464920295420473417337577e-0001L, 86 +9.090959774154310516503817356844764174905e-0001L, 87 +9.058136834259364207445166606527002577088e-0001L, 88 +9.024761032379415049251832726758959994948e-0001L, 89 +8.990834405601384562165449292093793065380e-0001L, 90 +8.956359024631706989005700004462563503448e-0001L, 91 +8.921336993669944047239002537237885750767e-0001L, 92 +8.885770450280355433176090231160209800973e-0001L, 93 +8.849661565261432916972965369666479264236e-0001L, 94 +8.813012542513405991401619082981001728813e-0001L, 95 +8.775825618903727161162815826038296809401e-0001L, 96 +8.699847180584173888289155999014662429887e-0001L, 97 +8.621744799348805043671625102533242741250e-0001L, 98 +8.541537542773853851434517851051031764412e-0001L, 99 +8.459244992310679544597230785974932624246e-0001L, 100 +8.374887238505236853153533489172406171513e-0001L, 101 +8.288484876093257348101717901191166381510e-0001L, 102 +8.200058998972340082555506338765560425268e-0001L, 103 +8.109631195052179021895348039410807243520e-0001L, 104 +8.017223540984184506074926056529642078277e-0001L, 105 +7.922858596771785431415013237817093985302e-0001L, 106 +7.826559400262727969307874474281390259485e-0001L, 107 +7.728349461524715448108518459134251775639e-0001L, 108 +7.628252757105762505070987536254297918621e-0001L, 109 +7.526293724180664760545413248471431159893e-0001L, 110 +7.422497254585013069913472534496105367206e-0001L, 111 +7.316888688738208863118387530000845290150e-0001L, 112 +7.209493809456964180438127841484476879092e-0001L, 113 +7.100338835660796749741216439594902194333e-0001L, 114 }; 115 116 const long double _TBL_cosl_lo[] = { 117 +4.742713078367058978924681076205264183648e-0035L, 118 -3.400922580038153352909034207677181560093e-0035L, 119 -2.473279499369853624762524012127207246323e-0035L, 120 -3.902320877004518000716232064546238578734e-0035L, 121 +2.265680295058180661415174977785279521173e-0035L, 122 -2.254772246444203259170588302104662991085e-0036L, 123 +2.734143189480662078104863307237612648780e-0035L, 124 -3.701912560693446438656202168446355677822e-0035L, 125 -1.649243588915575846254638680142303422320e-0035L, 126 +2.725042655698714891044457001868653187367e-0035L, 127 -1.908992594100964198869963315362783449712e-0036L, 128 -1.465547554627127716918860559012698704471e-0035L, 129 +4.428780565915607570668447972900679899952e-0035L, 130 +1.439313657623768907227720140857454695843e-0035L, 131 -3.792074229051804169372108537791927020038e-0035L, 132 -2.610779485320152706286660129045188117210e-0036L, 133 -2.877279742494815830479448606269854599891e-0035L, 134 +3.991065835589256680020290949615723238476e-0035L, 135 +3.099479059550534193045145385925483327991e-0035L, 136 +1.146611686911982702287167679510021879695e-0035L, 137 -3.917592318193149049660769585602527582231e-0035L, 138 -1.951971321999985008371800682574139933978e-0035L, 139 +2.974588209723938591252776820212028367960e-0035L, 140 -2.038390756570426530537115267786908745116e-0036L, 141 -5.536347061134619893988732877493263844943e-0036L, 142 -4.389722144327924120620880599904805370946e-0035L, 143 -3.666858326708207750024755456027611364938e-0035L, 144 +4.889869663833434507994220130518213362272e-0036L, 145 -5.870115582315839607120133516012219562069e-0036L, 146 +2.507707793716364811457350893931543805685e-0035L, 147 +3.216165721908659970511036451358372071749e-0035L, 148 +2.880756890524786020083959729246571876109e-0035L, 149 +6.368426285981156583087492887998846060579e-0036L, 150 +6.844339659916371522503091904688601360028e-0037L, 151 -4.329063396630008909415294204988246215817e-0035L, 152 +1.038125352401202296098224611721455839121e-0035L, 153 +3.207093666031656020715902410548849578474e-0036L, 154 -3.987580687739740313485850727522454807713e-0035L, 155 +3.404815912367106584354098624390321615909e-0035L, 156 -4.752557072516798311248008988313821999362e-0035L, 157 +2.745410885517329825733352856854160918801e-0035L, 158 +7.585203719163457562812011671268547121453e-0036L, 159 -4.141871248600318251086493472511758380472e-0035L, 160 -1.835879954339576229487102635414793218992e-0035L, 161 +2.976082827782744334600577457984098492775e-0035L, 162 -3.507755179553069548150909011683056358498e-0035L, 163 +7.869038865563736742679481321788455681309e-0036L, 164 +1.208860140284441557337760250856779527931e-0035L, 165 -3.609503076059411697756765630044671398302e-0035L, 166 +2.262828995013444190183062956802106020046e-0035L, 167 -2.067726154909043706666702751547519756391e-0035L, 168 +3.735937416598668830886204955423117851511e-0035L, 169 -1.107719376025673147326930792646924920884e-0035L, 170 +4.123542789546647314438136551770221119198e-0036L, 171 +4.533705702883256304420378263134621416396e-0035L, 172 -1.434191923121166877839456190096294453634e-0035L, 173 -2.894849601813639248551925385406988512004e-0035L, 174 -4.681686383005756267827413197921838600437e-0035L, 175 -3.715568183175335822345624718357717998947e-0035L, 176 -1.687075340130951528732220617225731715663e-0035L, 177 +1.980549471419898781791643429252740528544e-0035L, 178 +2.727619978720845330457777186773261559081e-0035L, 179 +1.430825081004965817190481755062397701422e-0035L, 180 -1.720088119552308234167243322979912469421e-0035L, 181 +1.104812928567944364260514024188043464704e-0035L, 182 +6.094878513052330893256279394589637408556e-0036L, 183 +2.475195582284731678792488916738076213891e-0035L, 184 +1.693320456792379194278077712885062541662e-0035L, 185 +3.949752293412116642372415347411469162440e-0035L, 186 +4.220674118886015050047489393823250795070e-0035L, 187 +3.713069586576631896654508643111045710544e-0035L, 188 -3.789252700498009135399234738712875263543e-0035L, 189 +1.482556375489316971849917102931986196306e-0035L, 190 +4.786912857336733794995363260508118324272e-0035L, 191 -4.096232247636924432208967529079024417475e-0035L, 192 }; 193