Skip to content

Commit 8c66724

Browse files
committed
Update artifacts
1 parent be52805 commit 8c66724

File tree

9 files changed

+409
-27
lines changed

9 files changed

+409
-27
lines changed

math/base/special/coverage.ndjson

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
[2319,2319,100,1,1,100,0,0,100,2319,2319,100,"3647160d05a7d09856a61e5194da484114d24372","2025-06-17 17:09:42 +0530"]
1+
[2319,2319,100,1,1,100,0,0,100,2319,2319,100,"255187f64c355920aca18994a37e3a911d701467","2025-06-27 16:20:45 +0530"]
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
[167,167,100,5,5,100,2,2,100,167,167,100,"3647160d05a7d09856a61e5194da484114d24372","2025-06-17 17:09:42 +0530"]
1+
[259,261,99.2337,15,16,93.75,3,3,100,259,261,99.2337,"255187f64c355920aca18994a37e3a911d701467","2025-06-27 16:20:45 +0530"]

math/base/special/exp10f/index.html

Lines changed: 26 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -23,30 +23,30 @@ <h1><a href="../../../../../index.html">All files</a> math/base/special/exp10f/l
2323
<div class='clearfix'>
2424

2525
<div class='fl pad1y space-right2'>
26-
<span class="strong">100% </span>
26+
<span class="strong">99.23% </span>
2727
<span class="quiet">Statements</span>
28-
<span class='fraction'>167/167</span>
28+
<span class='fraction'>259/261</span>
2929
</div>
3030

3131

3232
<div class='fl pad1y space-right2'>
33-
<span class="strong">100% </span>
33+
<span class="strong">93.75% </span>
3434
<span class="quiet">Branches</span>
35-
<span class='fraction'>5/5</span>
35+
<span class='fraction'>15/16</span>
3636
</div>
3737

3838

3939
<div class='fl pad1y space-right2'>
4040
<span class="strong">100% </span>
4141
<span class="quiet">Functions</span>
42-
<span class='fraction'>2/2</span>
42+
<span class='fraction'>3/3</span>
4343
</div>
4444

4545

4646
<div class='fl pad1y space-right2'>
47-
<span class="strong">100% </span>
47+
<span class="strong">99.23% </span>
4848
<span class="quiet">Lines</span>
49-
<span class='fraction'>167/167</span>
49+
<span class='fraction'>259/261</span>
5050
</div>
5151

5252

@@ -99,13 +99,13 @@ <h1><a href="../../../../../index.html">All files</a> math/base/special/exp10f/l
9999
<div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
100100
</td>
101101
<td data-value="100" class="pct high">100%</td>
102-
<td data-value="67" class="abs high">67/67</td>
102+
<td data-value="114" class="abs high">114/114</td>
103103
<td data-value="100" class="pct high">100%</td>
104-
<td data-value="2" class="abs high">2/2</td>
104+
<td data-value="10" class="abs high">10/10</td>
105105
<td data-value="100" class="pct high">100%</td>
106106
<td data-value="1" class="abs high">1/1</td>
107107
<td data-value="100" class="pct high">100%</td>
108-
<td data-value="67" class="abs high">67/67</td>
108+
<td data-value="114" class="abs high">114/114</td>
109109
</tr>
110110

111111
<tr>
@@ -123,6 +123,21 @@ <h1><a href="../../../../../index.html">All files</a> math/base/special/exp10f/l
123123
<td data-value="54" class="abs high">54/54</td>
124124
</tr>
125125

126+
<tr>
127+
<td class="file high" data-value="polyval.js"><a href="polyval.js.html">polyval.js</a></td>
128+
<td data-value="95.74" class="pic high">
129+
<div class="chart"><div class="cover-fill" style="width: 95%"></div><div class="cover-empty" style="width: 5%"></div></div>
130+
</td>
131+
<td data-value="95.74" class="pct high">95.74%</td>
132+
<td data-value="47" class="abs high">45/47</td>
133+
<td data-value="66.66" class="pct medium">66.66%</td>
134+
<td data-value="3" class="abs medium">2/3</td>
135+
<td data-value="100" class="pct high">100%</td>
136+
<td data-value="1" class="abs high">1/1</td>
137+
<td data-value="95.74" class="pct high">95.74%</td>
138+
<td data-value="47" class="abs high">45/47</td>
139+
</tr>
140+
126141
</tbody>
127142
</table>
128143
</div>
@@ -131,7 +146,7 @@ <h1><a href="../../../../../index.html">All files</a> math/base/special/exp10f/l
131146
<div class='footer quiet pad2 space-top1 center small'>
132147
Code coverage generated by
133148
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
134-
at 2025-06-17T11:41:40.023Z
149+
at 2025-06-27T10:53:47.899Z
135150
</div>
136151
<script src="../../../../../prettify.js"></script>
137152
<script>

math/base/special/exp10f/index.js.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ <h1><a href="../../../../../index.html">All files</a> / <a href="index.html">mat
208208
<div class='footer quiet pad2 space-top1 center small'>
209209
Code coverage generated by
210210
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
211-
at 2025-06-17T11:41:40.023Z
211+
at 2025-06-27T10:53:47.899Z
212212
</div>
213213
<script src="../../../../../prettify.js"></script>
214214
<script>

math/base/special/exp10f/main.js.html

Lines changed: 151 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,14 @@ <h1><a href="../../../../../index.html">All files</a> / <a href="index.html">mat
2525
<div class='fl pad1y space-right2'>
2626
<span class="strong">100% </span>
2727
<span class="quiet">Statements</span>
28-
<span class='fraction'>67/67</span>
28+
<span class='fraction'>114/114</span>
2929
</div>
3030

3131

3232
<div class='fl pad1y space-right2'>
3333
<span class="strong">100% </span>
3434
<span class="quiet">Branches</span>
35-
<span class='fraction'>2/2</span>
35+
<span class='fraction'>10/10</span>
3636
</div>
3737

3838

@@ -46,7 +46,7 @@ <h1><a href="../../../../../index.html">All files</a> / <a href="index.html">mat
4646
<div class='fl pad1y space-right2'>
4747
<span class="strong">100% </span>
4848
<span class="quiet">Lines</span>
49-
<span class='fraction'>67/67</span>
49+
<span class='fraction'>114/114</span>
5050
</div>
5151

5252

@@ -130,7 +130,54 @@ <h1><a href="../../../../../index.html">All files</a> / <a href="index.html">mat
130130
<a name='L65'></a><a href='#L65'>65</a>
131131
<a name='L66'></a><a href='#L66'>66</a>
132132
<a name='L67'></a><a href='#L67'>67</a>
133-
<a name='L68'></a><a href='#L68'>68</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
133+
<a name='L68'></a><a href='#L68'>68</a>
134+
<a name='L69'></a><a href='#L69'>69</a>
135+
<a name='L70'></a><a href='#L70'>70</a>
136+
<a name='L71'></a><a href='#L71'>71</a>
137+
<a name='L72'></a><a href='#L72'>72</a>
138+
<a name='L73'></a><a href='#L73'>73</a>
139+
<a name='L74'></a><a href='#L74'>74</a>
140+
<a name='L75'></a><a href='#L75'>75</a>
141+
<a name='L76'></a><a href='#L76'>76</a>
142+
<a name='L77'></a><a href='#L77'>77</a>
143+
<a name='L78'></a><a href='#L78'>78</a>
144+
<a name='L79'></a><a href='#L79'>79</a>
145+
<a name='L80'></a><a href='#L80'>80</a>
146+
<a name='L81'></a><a href='#L81'>81</a>
147+
<a name='L82'></a><a href='#L82'>82</a>
148+
<a name='L83'></a><a href='#L83'>83</a>
149+
<a name='L84'></a><a href='#L84'>84</a>
150+
<a name='L85'></a><a href='#L85'>85</a>
151+
<a name='L86'></a><a href='#L86'>86</a>
152+
<a name='L87'></a><a href='#L87'>87</a>
153+
<a name='L88'></a><a href='#L88'>88</a>
154+
<a name='L89'></a><a href='#L89'>89</a>
155+
<a name='L90'></a><a href='#L90'>90</a>
156+
<a name='L91'></a><a href='#L91'>91</a>
157+
<a name='L92'></a><a href='#L92'>92</a>
158+
<a name='L93'></a><a href='#L93'>93</a>
159+
<a name='L94'></a><a href='#L94'>94</a>
160+
<a name='L95'></a><a href='#L95'>95</a>
161+
<a name='L96'></a><a href='#L96'>96</a>
162+
<a name='L97'></a><a href='#L97'>97</a>
163+
<a name='L98'></a><a href='#L98'>98</a>
164+
<a name='L99'></a><a href='#L99'>99</a>
165+
<a name='L100'></a><a href='#L100'>100</a>
166+
<a name='L101'></a><a href='#L101'>101</a>
167+
<a name='L102'></a><a href='#L102'>102</a>
168+
<a name='L103'></a><a href='#L103'>103</a>
169+
<a name='L104'></a><a href='#L104'>104</a>
170+
<a name='L105'></a><a href='#L105'>105</a>
171+
<a name='L106'></a><a href='#L106'>106</a>
172+
<a name='L107'></a><a href='#L107'>107</a>
173+
<a name='L108'></a><a href='#L108'>108</a>
174+
<a name='L109'></a><a href='#L109'>109</a>
175+
<a name='L110'></a><a href='#L110'>110</a>
176+
<a name='L111'></a><a href='#L111'>111</a>
177+
<a name='L112'></a><a href='#L112'>112</a>
178+
<a name='L113'></a><a href='#L113'>113</a>
179+
<a name='L114'></a><a href='#L114'>114</a>
180+
<a name='L115'></a><a href='#L115'>115</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
134181
<span class="cline-any cline-yes">1x</span>
135182
<span class="cline-any cline-yes">1x</span>
136183
<span class="cline-any cline-yes">1x</span>
@@ -189,11 +236,58 @@ <h1><a href="../../../../../index.html">All files</a> / <a href="index.html">mat
189236
<span class="cline-any cline-yes">1x</span>
190237
<span class="cline-any cline-yes">1x</span>
191238
<span class="cline-any cline-yes">1x</span>
239+
<span class="cline-any cline-yes">1x</span>
240+
<span class="cline-any cline-yes">1x</span>
241+
<span class="cline-any cline-yes">1x</span>
242+
<span class="cline-any cline-yes">1x</span>
243+
<span class="cline-any cline-yes">1x</span>
244+
<span class="cline-any cline-yes">1x</span>
245+
<span class="cline-any cline-yes">1x</span>
246+
<span class="cline-any cline-yes">1x</span>
247+
<span class="cline-any cline-yes">1x</span>
248+
<span class="cline-any cline-yes">1x</span>
249+
<span class="cline-any cline-yes">1x</span>
250+
<span class="cline-any cline-yes">1x</span>
251+
<span class="cline-any cline-yes">1x</span>
252+
<span class="cline-any cline-yes">1x</span>
253+
<span class="cline-any cline-yes">1x</span>
254+
<span class="cline-any cline-yes">1x</span>
255+
<span class="cline-any cline-yes">1x</span>
256+
<span class="cline-any cline-yes">1x</span>
257+
<span class="cline-any cline-yes">7038x</span>
258+
<span class="cline-any cline-yes">7038x</span>
259+
<span class="cline-any cline-yes">7038x</span>
192260
<span class="cline-any cline-yes">7038x</span>
193261
<span class="cline-any cline-yes">7038x</span>
194262
<span class="cline-any cline-yes">7038x</span>
195263
<span class="cline-any cline-yes">1x</span>
196264
<span class="cline-any cline-yes">1x</span>
265+
<span class="cline-any cline-yes">7038x</span>
266+
<span class="cline-any cline-yes">3x</span>
267+
<span class="cline-any cline-yes">3x</span>
268+
<span class="cline-any cline-yes">7038x</span>
269+
<span class="cline-any cline-yes">4x</span>
270+
<span class="cline-any cline-yes">4x</span>
271+
<span class="cline-any cline-yes">7038x</span>
272+
<span class="cline-any cline-yes">4x</span>
273+
<span class="cline-any cline-yes">4x</span>
274+
<span class="cline-any cline-yes">7026x</span>
275+
<span class="cline-any cline-yes">7026x</span>
276+
<span class="cline-any cline-yes">7026x</span>
277+
<span class="cline-any cline-yes">7026x</span>
278+
<span class="cline-any cline-yes">7026x</span>
279+
<span class="cline-any cline-yes">7026x</span>
280+
<span class="cline-any cline-yes">7026x</span>
281+
<span class="cline-any cline-yes">7026x</span>
282+
<span class="cline-any cline-yes">7026x</span>
283+
<span class="cline-any cline-yes">7026x</span>
284+
<span class="cline-any cline-yes">7026x</span>
285+
<span class="cline-any cline-yes">7026x</span>
286+
<span class="cline-any cline-yes">7026x</span>
287+
<span class="cline-any cline-yes">7026x</span>
288+
<span class="cline-any cline-yes">7038x</span>
289+
<span class="cline-any cline-yes">1x</span>
290+
<span class="cline-any cline-yes">1x</span>
197291
<span class="cline-any cline-yes">1x</span>
198292
<span class="cline-any cline-yes">1x</span>
199293
<span class="cline-any cline-yes">1x</span>
@@ -214,6 +308,7 @@ <h1><a href="../../../../../index.html">All files</a> / <a href="index.html">mat
214308
* See the License for the specific language governing permissions and
215309
* limitations under the License.
216310
*
311+
*
217312
* ## Notice
218313
*
219314
* The original C code, long comment, copyright, license, and constants are from [Cephes]{@link http://www.netlib.org/cephes}. The implementation follows the original, but has been modified for JavaScript.
@@ -232,23 +327,40 @@ <h1><a href="../../../../../index.html">All files</a> / <a href="index.html">mat
232327
&nbsp;
233328
// MODULES //
234329
&nbsp;
235-
var exp10 = require( '@stdlib/math/base/special/exp10' );
236-
var float64ToFloat32 = require( '@stdlib/number/float64/base/to-float32' );
330+
var floorf = require( '@stdlib/math/base/special/floorf' );
331+
var ldexpf = require( '@stdlib/math/base/special/ldexpf' );
332+
var isnanf = require( '@stdlib/math/base/assert/is-nanf' );
333+
var PINF = require( '@stdlib/constants/float32/pinf' );
334+
var f32 = require( '@stdlib/number/float64/base/to-float32' );
335+
var toInt32 = require( '@stdlib/number/float64/base/to-int32' );
336+
var polyval = require( './polyval.js' );
337+
&nbsp;
338+
&nbsp;
339+
// VARIABLES //
340+
&nbsp;
341+
var LOG210 = 3.32192809488736234787;
342+
var LG102A = 0.30078125000000000000;
343+
var LG102B = 0.000248745663981195213739;
344+
var MAXL10 = 38.230809449325611792;
237345
&nbsp;
238346
&nbsp;
239347
// MAIN //
240348
&nbsp;
241349
/**
242-
* Computes `10^x` for a single-precision floating-point number.
350+
* Returns `10` raised to the `x` power.
243351
*
244352
* @param {number} x - input value
245-
* @returns {number} single-precision result
353+
* @returns {number} function value
246354
*
247355
* @example
248356
* var v = exp10f( 3.0 );
249357
* // returns 1000.0
250358
*
251359
* @example
360+
* var v = exp10f( -9.0 );
361+
* // returns 9.999999717180685e-10
362+
*
363+
* @example
252364
* var v = exp10f( 0.0 );
253365
* // returns 1.0
254366
*
@@ -257,7 +369,36 @@ <h1><a href="../../../../../index.html">All files</a> / <a href="index.html">mat
257369
* // returns NaN
258370
*/
259371
function exp10f( x ) {
260-
return float64ToFloat32( exp10( float64ToFloat32( x ) ) );
372+
var xc;
373+
var px;
374+
var n;
375+
&nbsp;
376+
if ( isnanf( x ) ) {
377+
return x;
378+
}
379+
if ( x === 0.0 ) {
380+
return 1.0;
381+
}
382+
if ( x &gt; MAXL10 ) {
383+
return PINF;
384+
}
385+
if ( x &lt; (-1 * MAXL10) ) {
386+
return 0.0;
387+
}
388+
&nbsp;
389+
// Express 10^x = 10^g 2^n = 10^g 10^( n log10(2) ) = 10^( g + n log10(2) )
390+
px = floorf( ( LOG210 * f32(x) ) + 0.5 );
391+
n = toInt32( px );
392+
xc = f32(x);
393+
xc = xc - ( px * LG102A );
394+
xc = xc - ( px * LG102B );
395+
&nbsp;
396+
// Polynomial approximation for fractional part: 10^f ≈ 1 + f * P(f)
397+
px = xc * polyval( xc );
398+
xc = 1.0 + px;
399+
&nbsp;
400+
// Multiply by power of 2:
401+
return ldexpf( xc, n );
261402
}
262403
&nbsp;
263404
&nbsp;
@@ -271,7 +412,7 @@ <h1><a href="../../../../../index.html">All files</a> / <a href="index.html">mat
271412
<div class='footer quiet pad2 space-top1 center small'>
272413
Code coverage generated by
273414
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
274-
at 2025-06-17T11:41:40.023Z
415+
at 2025-06-27T10:53:47.899Z
275416
</div>
276417
<script src="../../../../../prettify.js"></script>
277418
<script>

math/base/special/exp10f/native.js.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,7 @@ <h1><a href="../../../../../index.html">All files</a> / <a href="index.html">mat
232232
<div class='footer quiet pad2 space-top1 center small'>
233233
Code coverage generated by
234234
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
235-
at 2025-06-17T11:41:40.023Z
235+
at 2025-06-27T10:53:47.899Z
236236
</div>
237237
<script src="../../../../../prettify.js"></script>
238238
<script>

0 commit comments

Comments
 (0)