Skip to content

Commit 3bdadbd

Browse files
committed
Update artifacts
1 parent 72ce997 commit 3bdadbd

File tree

10 files changed

+306
-63
lines changed

10 files changed

+306
-63
lines changed

blas/base/dgemv/base.js.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -622,7 +622,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
622622
<div class='footer quiet pad2 space-top1 center small'>
623623
Code coverage generated by
624624
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
625-
at 2025-06-29T10:49:20.753Z
625+
at 2025-06-29T12:02:47.904Z
626626
</div>
627627
<script src="../../../../prettify.js"></script>
628628
<script>

blas/base/dgemv/coverage.ndjson

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
[667,668,99.8503,73,74,98.6486,6,6,100,667,668,99.8503,"02979c086d0d13af5d85231d95fe219bc3cea848","2025-06-29 03:47:01 -0700"]
1+
[744,749,99.3324,111,114,97.3684,6,6,100,744,749,99.3324,"e26ad2163e80871b241ec3ebf3692630a23b7dae","2025-06-29 05:00:38 -0700"]

blas/base/dgemv/dgemv.js.html

Lines changed: 48 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -23,16 +23,16 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
2323
<div class='clearfix'>
2424

2525
<div class='fl pad1y space-right2'>
26-
<span class="strong">100% </span>
26+
<span class="strong">98.47% </span>
2727
<span class="quiet">Statements</span>
28-
<span class='fraction'>119/119</span>
28+
<span class='fraction'>129/131</span>
2929
</div>
3030

3131

3232
<div class='fl pad1y space-right2'>
33-
<span class="strong">100% </span>
33+
<span class="strong">96.42% </span>
3434
<span class="quiet">Branches</span>
35-
<span class='fraction'>24/24</span>
35+
<span class='fraction'>27/28</span>
3636
</div>
3737

3838

@@ -44,9 +44,9 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
4444

4545

4646
<div class='fl pad1y space-right2'>
47-
<span class="strong">100% </span>
47+
<span class="strong">98.47% </span>
4848
<span class="quiet">Lines</span>
49-
<span class='fraction'>119/119</span>
49+
<span class='fraction'>129/131</span>
5050
</div>
5151

5252

@@ -182,7 +182,19 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
182182
<a name='L117'></a><a href='#L117'>117</a>
183183
<a name='L118'></a><a href='#L118'>118</a>
184184
<a name='L119'></a><a href='#L119'>119</a>
185-
<a name='L120'></a><a href='#L120'>120</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">2x</span>
185+
<a name='L120'></a><a href='#L120'>120</a>
186+
<a name='L121'></a><a href='#L121'>121</a>
187+
<a name='L122'></a><a href='#L122'>122</a>
188+
<a name='L123'></a><a href='#L123'>123</a>
189+
<a name='L124'></a><a href='#L124'>124</a>
190+
<a name='L125'></a><a href='#L125'>125</a>
191+
<a name='L126'></a><a href='#L126'>126</a>
192+
<a name='L127'></a><a href='#L127'>127</a>
193+
<a name='L128'></a><a href='#L128'>128</a>
194+
<a name='L129'></a><a href='#L129'>129</a>
195+
<a name='L130'></a><a href='#L130'>130</a>
196+
<a name='L131'></a><a href='#L131'>131</a>
197+
<a name='L132'></a><a href='#L132'>132</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">2x</span>
186198
<span class="cline-any cline-yes">2x</span>
187199
<span class="cline-any cline-yes">2x</span>
188200
<span class="cline-any cline-yes">2x</span>
@@ -248,6 +260,9 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
248260
<span class="cline-any cline-yes">2x</span>
249261
<span class="cline-any cline-yes">2x</span>
250262
<span class="cline-any cline-yes">2x</span>
263+
<span class="cline-any cline-yes">2x</span>
264+
<span class="cline-any cline-yes">38x</span>
265+
<span class="cline-any cline-yes">38x</span>
251266
<span class="cline-any cline-yes">38x</span>
252267
<span class="cline-any cline-yes">38x</span>
253268
<span class="cline-any cline-yes">38x</span>
@@ -276,6 +291,15 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
276291
<span class="cline-any cline-yes">1x</span>
277292
<span class="cline-any cline-yes">22x</span>
278293
<span class="cline-any cline-yes">38x</span>
294+
<span class="cline-any cline-yes">11x</span>
295+
<span class="cline-any cline-yes">11x</span>
296+
<span class="cline-any cline-yes">11x</span>
297+
<span class="cline-any cline-yes">11x</span>
298+
<span class="cline-any cline-yes">38x</span>
299+
<span class="cline-any cline-no">&nbsp;</span>
300+
<span class="cline-any cline-no">&nbsp;</span>
301+
<span class="cline-any cline-yes">22x</span>
302+
<span class="cline-any cline-yes">38x</span>
279303
<span class="cline-any cline-yes">6x</span>
280304
<span class="cline-any cline-yes">6x</span>
281305
<span class="cline-any cline-yes">38x</span>
@@ -327,6 +351,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
327351
var isLayout = require( '@stdlib/blas/base/assert/is-layout' );
328352
var isMatrixTranspose = require( '@stdlib/blas/base/assert/is-transpose-operation' );
329353
var isColumnMajor = require( '@stdlib/ndarray/base/assert/is-column-major-string' );
354+
var max = require( '@stdlib/math/base/special/fast/max' );
330355
var format = require( '@stdlib/string/format' );
331356
var base = require( './base.js' );
332357
&nbsp;
@@ -352,7 +377,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
352377
* @throws {TypeError} second argument must be a valid transpose operation
353378
* @throws {RangeError} third argument must be a nonnegative integer
354379
* @throws {RangeError} fourth argument must be a nonnegative integer
355-
* @throws {RangeError} seventh argument must be greater than or equal to max(1,M)
380+
* @throws {RangeError} seventh argument must be a valid stride
356381
* @throws {RangeError} ninth argument must be non-zero
357382
* @throws {RangeError} twelfth argument must be non-zero
358383
* @returns {Float64Array} `y`
@@ -368,6 +393,8 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
368393
* // y =&gt; &lt;Float64Array&gt;[ 7.0, 16.0 ]
369394
*/
370395
function dgemv( order, trans, M, N, alpha, A, LDA, x, strideX, beta, y, strideY ) { // eslint-disable-line max-params, max-len
396+
var iscm;
397+
var vala;
371398
var xlen;
372399
var ylen;
373400
var sa1;
@@ -388,11 +415,20 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
388415
throw new RangeError( format( 'invalid argument. Fourth argument must be a nonnegative integer. Value: `%d`.', N ) );
389416
}
390417
if ( strideX === 0 ) {
391-
throw new RangeError( format( 'invalid argument. Ninth argument must be non-zero.' ) );
418+
throw new RangeError( format( 'invalid argument. Ninth argument must be non-zero. Value: `%d`.', strideX ) );
392419
}
393420
if ( strideY === 0 ) {
394-
throw new RangeError( format( 'invalid argument. Twelfth argument must be non-zero.' ) );
421+
throw new RangeError( format( 'invalid argument. Twelfth argument must be non-zero. Value: `%d`.', strideY ) );
422+
}
423+
iscm = isColumnMajor( order );
424+
if ( iscm ) {
425+
vala = M;
426+
} else {
427+
vala = N;
395428
}
429+
if ( LDA &lt; max( 1, vala ) ) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
430+
<span class="cstat-no" title="statement not covered" > throw new RangeError( format( 'invalid argument. Seventh argument must be greater than or equal to max(1,%d). Value: `%d`.', vala, LDA ) );</span>
431+
<span class="cstat-no" title="statement not covered" > }</span>
396432
// Check if we can early return...
397433
if ( M === 0 || N === 0 || ( alpha === 0.0 &amp;&amp; beta === 1.0 ) ) {
398434
return y;
@@ -406,7 +442,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
406442
}
407443
ox = stride2offset( xlen, strideX );
408444
oy = stride2offset( ylen, strideY );
409-
if ( isColumnMajor( order ) ) {
445+
if ( iscm ) {
410446
sa1 = 1;
411447
sa2 = LDA;
412448
} else { // order === 'row-major'
@@ -427,7 +463,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
427463
<div class='footer quiet pad2 space-top1 center small'>
428464
Code coverage generated by
429465
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
430-
at 2025-06-29T10:49:20.753Z
466+
at 2025-06-29T12:02:47.904Z
431467
</div>
432468
<script src="../../../../prettify.js"></script>
433469
<script>

blas/base/dgemv/dgemv.native.js.html

Lines changed: 140 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -23,16 +23,16 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
2323
<div class='clearfix'>
2424

2525
<div class='fl pad1y space-right2'>
26-
<span class="strong">100% </span>
26+
<span class="strong">98.14% </span>
2727
<span class="quiet">Statements</span>
28-
<span class='fraction'>65/65</span>
28+
<span class='fraction'>106/108</span>
2929
</div>
3030

3131

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

3838

@@ -44,9 +44,9 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
4444

4545

4646
<div class='fl pad1y space-right2'>
47-
<span class="strong">100% </span>
47+
<span class="strong">98.14% </span>
4848
<span class="quiet">Lines</span>
49-
<span class='fraction'>65/65</span>
49+
<span class='fraction'>106/108</span>
5050
</div>
5151

5252

@@ -128,7 +128,50 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
128128
<a name='L63'></a><a href='#L63'>63</a>
129129
<a name='L64'></a><a href='#L64'>64</a>
130130
<a name='L65'></a><a href='#L65'>65</a>
131-
<a name='L66'></a><a href='#L66'>66</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">2x</span>
131+
<a name='L66'></a><a href='#L66'>66</a>
132+
<a name='L67'></a><a href='#L67'>67</a>
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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">2x</span>
132175
<span class="cline-any cline-yes">2x</span>
133176
<span class="cline-any cline-yes">2x</span>
134177
<span class="cline-any cline-yes">2x</span>
@@ -184,10 +227,53 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
184227
<span class="cline-any cline-yes">2x</span>
185228
<span class="cline-any cline-yes">2x</span>
186229
<span class="cline-any cline-yes">2x</span>
230+
<span class="cline-any cline-yes">2x</span>
231+
<span class="cline-any cline-yes">2x</span>
232+
<span class="cline-any cline-yes">2x</span>
233+
<span class="cline-any cline-yes">2x</span>
234+
<span class="cline-any cline-yes">2x</span>
235+
<span class="cline-any cline-yes">2x</span>
236+
<span class="cline-any cline-yes">2x</span>
237+
<span class="cline-any cline-yes">2x</span>
238+
<span class="cline-any cline-yes">2x</span>
239+
<span class="cline-any cline-yes">2x</span>
240+
<span class="cline-any cline-yes">2x</span>
241+
<span class="cline-any cline-yes">2x</span>
242+
<span class="cline-any cline-yes">38x</span>
243+
<span class="cline-any cline-yes">38x</span>
244+
<span class="cline-any cline-yes">38x</span>
245+
<span class="cline-any cline-yes">4x</span>
246+
<span class="cline-any cline-yes">4x</span>
247+
<span class="cline-any cline-yes">38x</span>
248+
<span class="cline-any cline-yes">4x</span>
249+
<span class="cline-any cline-yes">4x</span>
250+
<span class="cline-any cline-yes">38x</span>
251+
<span class="cline-any cline-yes">3x</span>
252+
<span class="cline-any cline-yes">3x</span>
253+
<span class="cline-any cline-yes">38x</span>
254+
<span class="cline-any cline-yes">3x</span>
255+
<span class="cline-any cline-yes">3x</span>
256+
<span class="cline-any cline-yes">38x</span>
257+
<span class="cline-any cline-yes">1x</span>
258+
<span class="cline-any cline-yes">1x</span>
259+
<span class="cline-any cline-yes">38x</span>
260+
<span class="cline-any cline-yes">1x</span>
261+
<span class="cline-any cline-yes">1x</span>
262+
<span class="cline-any cline-yes">38x</span>
263+
<span class="cline-any cline-yes">11x</span>
264+
<span class="cline-any cline-yes">11x</span>
265+
<span class="cline-any cline-yes">11x</span>
266+
<span class="cline-any cline-yes">11x</span>
267+
<span class="cline-any cline-yes">38x</span>
268+
<span class="cline-any cline-no">&nbsp;</span>
269+
<span class="cline-any cline-no">&nbsp;</span>
187270
<span class="cline-any cline-yes">22x</span>
188-
<span class="cline-any cline-yes">22x</span>
189-
<span class="cline-any cline-yes">22x</span>
190-
<span class="cline-any cline-yes">22x</span>
271+
<span class="cline-any cline-yes">38x</span>
272+
<span class="cline-any cline-yes">6x</span>
273+
<span class="cline-any cline-yes">6x</span>
274+
<span class="cline-any cline-yes">16x</span>
275+
<span class="cline-any cline-yes">16x</span>
276+
<span class="cline-any cline-yes">38x</span>
191277
<span class="cline-any cline-yes">2x</span>
192278
<span class="cline-any cline-yes">2x</span>
193279
<span class="cline-any cline-yes">2x</span>
@@ -215,8 +301,13 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
215301
&nbsp;
216302
// MODULES //
217303
&nbsp;
304+
var isLayout = require( '@stdlib/blas/base/assert/is-layout' );
305+
var isMatrixTranspose = require( '@stdlib/blas/base/assert/is-transpose-operation' );
306+
var isColumnMajor = require( '@stdlib/ndarray/base/assert/is-column-major-string' );
307+
var max = require( '@stdlib/math/base/special/fast/max' );
218308
var resolveOrder = require( '@stdlib/blas/base/layout-resolve-enum' );
219309
var resolveTrans = require( '@stdlib/blas/base/transpose-operation-resolve-enum' );
310+
var format = require( '@stdlib/string/format' );
220311
var addon = require( './../src/addon.node' );
221312
&nbsp;
222313
&nbsp;
@@ -237,6 +328,13 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
237328
* @param {number} beta - scalar constant
238329
* @param {Float64Array} y - second input vector
239330
* @param {integer} strideY - `y` stride length
331+
* @throws {TypeError} first argument must be a valid order
332+
* @throws {TypeError} second argument must be a valid transpose operation
333+
* @throws {RangeError} third argument must be a nonnegative integer
334+
* @throws {RangeError} fourth argument must be a nonnegative integer
335+
* @throws {RangeError} seventh argument must be a valid stride
336+
* @throws {RangeError} ninth argument must be non-zero
337+
* @throws {RangeError} twelfth argument must be non-zero
240338
* @returns {Float64Array} `y`
241339
*
242340
* @example
@@ -250,6 +348,37 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
250348
* // y =&gt; &lt;Float64Array&gt;[ 7.0, 16.0 ]
251349
*/
252350
function dgemv( order, trans, M, N, alpha, A, LDA, x, strideX, beta, y, strideY ) { // eslint-disable-line max-params, max-len
351+
var vala;
352+
if ( !isLayout( order ) ) {
353+
throw new TypeError( format( 'invalid argument. First argument must be a valid order. Value: `%s`.', order ) );
354+
}
355+
if ( !isMatrixTranspose( trans ) ) {
356+
throw new TypeError( format( 'invalid argument. Second argument must be a valid transpose operation. Value: `%s`.', trans ) );
357+
}
358+
if ( M &lt; 0 ) {
359+
throw new RangeError( format( 'invalid argument. Third argument must be a nonnegative integer. Value: `%d`.', M ) );
360+
}
361+
if ( N &lt; 0 ) {
362+
throw new RangeError( format( 'invalid argument. Fourth argument must be a nonnegative integer. Value: `%d`.', N ) );
363+
}
364+
if ( strideX === 0 ) {
365+
throw new RangeError( format( 'invalid argument. Ninth argument must be non-zero. Value: `%d`.', strideX ) );
366+
}
367+
if ( strideY === 0 ) {
368+
throw new RangeError( format( 'invalid argument. Twelfth argument must be non-zero. Value: `%d`.', strideY ) );
369+
}
370+
if ( isColumnMajor( order ) ) {
371+
vala = M;
372+
} else {
373+
vala = N;
374+
}
375+
if ( LDA &lt; max( 1, vala ) ) <span class="branch-0 cbranch-no" title="branch not covered" >{</span>
376+
<span class="cstat-no" title="statement not covered" > throw new RangeError( format( 'invalid argument. Seventh argument must be greater than or equal to max(1,%d). Value: `%d`.', vala, LDA ) );</span>
377+
<span class="cstat-no" title="statement not covered" > }</span>
378+
// Check if we can early return...
379+
if ( M === 0 || N === 0 || ( alpha === 0.0 &amp;&amp; beta === 1.0 ) ) {
380+
return y;
381+
}
253382
addon( resolveOrder( order ), resolveTrans( trans ), M, N, alpha, A, LDA, x, strideX, beta, y, strideY ); // eslint-disable-line max-len
254383
return y;
255384
}
@@ -265,7 +394,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">blas/b
265394
<div class='footer quiet pad2 space-top1 center small'>
266395
Code coverage generated by
267396
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
268-
at 2025-06-29T10:49:20.753Z
397+
at 2025-06-29T12:02:47.904Z
269398
</div>
270399
<script src="../../../../prettify.js"></script>
271400
<script>

0 commit comments

Comments
 (0)