Skip to content

Commit 5e53df9

Browse files
committed
Update artifacts
1 parent a2c1f9c commit 5e53df9

19 files changed

+2142
-899
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
[297,297,100,32,32,100,3,3,100,297,297,100,"37476e85975a88bf2418bcd55f3aedd7b588db43","2025-05-09 02:08:49 -0700"]
22
[121,121,100,16,16,100,1,1,100,121,121,100,"ad9966a5d6c560c6a4b2c785f2caafdd472b8399","2025-05-10 00:51:02 -0700"]
3+
[89,89,100,3,3,100,1,1,100,89,89,100,"26d65cd0dc57249b45b35032a3c251e715a9b8ce","2025-05-10 03:58:55 -0700"]

ndarray/base/binary-output-dtype/index.html

+7-7
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,14 @@ <h1><a href="../../../../index.html">All files</a> ndarray/base/binary-output-dt
2525
<div class='fl pad1y space-right2'>
2626
<span class="strong">100% </span>
2727
<span class="quiet">Statements</span>
28-
<span class='fraction'>121/121</span>
28+
<span class='fraction'>89/89</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'>16/16</span>
35+
<span class='fraction'>3/3</span>
3636
</div>
3737

3838

@@ -46,7 +46,7 @@ <h1><a href="../../../../index.html">All files</a> ndarray/base/binary-output-dt
4646
<div class='fl pad1y space-right2'>
4747
<span class="strong">100% </span>
4848
<span class="quiet">Lines</span>
49-
<span class='fraction'>121/121</span>
49+
<span class='fraction'>89/89</span>
5050
</div>
5151

5252

@@ -99,13 +99,13 @@ <h1><a href="../../../../index.html">All files</a> ndarray/base/binary-output-dt
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="81" class="abs high">81/81</td>
102+
<td data-value="49" class="abs high">49/49</td>
103103
<td data-value="100" class="pct high">100%</td>
104-
<td data-value="15" class="abs high">15/15</td>
104+
<td data-value="2" class="abs high">2/2</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="81" class="abs high">81/81</td>
108+
<td data-value="49" class="abs high">49/49</td>
109109
</tr>
110110

111111
</tbody>
@@ -116,7 +116,7 @@ <h1><a href="../../../../index.html">All files</a> ndarray/base/binary-output-dt
116116
<div class='footer quiet pad2 space-top1 center small'>
117117
Code coverage generated by
118118
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119-
at 2025-05-10T07:53:00.416Z
119+
at 2025-05-10T11:02:15.489Z
120120
</div>
121121
<script src="../../../../prettify.js"></script>
122122
<script>

ndarray/base/binary-output-dtype/index.js.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">ndarra
190190
<div class='footer quiet pad2 space-top1 center small'>
191191
Code coverage generated by
192192
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
193-
at 2025-05-10T07:53:00.416Z
193+
at 2025-05-10T11:02:15.489Z
194194
</div>
195195
<script src="../../../../prettify.js"></script>
196196
<script>

ndarray/base/binary-output-dtype/main.js.html

+9-105
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,14 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">ndarra
2525
<div class='fl pad1y space-right2'>
2626
<span class="strong">100% </span>
2727
<span class="quiet">Statements</span>
28-
<span class='fraction'>81/81</span>
28+
<span class='fraction'>49/49</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'>15/15</span>
35+
<span class='fraction'>2/2</span>
3636
</div>
3737

3838

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

5252

@@ -112,39 +112,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">ndarra
112112
<a name='L47'></a><a href='#L47'>47</a>
113113
<a name='L48'></a><a href='#L48'>48</a>
114114
<a name='L49'></a><a href='#L49'>49</a>
115-
<a name='L50'></a><a href='#L50'>50</a>
116-
<a name='L51'></a><a href='#L51'>51</a>
117-
<a name='L52'></a><a href='#L52'>52</a>
118-
<a name='L53'></a><a href='#L53'>53</a>
119-
<a name='L54'></a><a href='#L54'>54</a>
120-
<a name='L55'></a><a href='#L55'>55</a>
121-
<a name='L56'></a><a href='#L56'>56</a>
122-
<a name='L57'></a><a href='#L57'>57</a>
123-
<a name='L58'></a><a href='#L58'>58</a>
124-
<a name='L59'></a><a href='#L59'>59</a>
125-
<a name='L60'></a><a href='#L60'>60</a>
126-
<a name='L61'></a><a href='#L61'>61</a>
127-
<a name='L62'></a><a href='#L62'>62</a>
128-
<a name='L63'></a><a href='#L63'>63</a>
129-
<a name='L64'></a><a href='#L64'>64</a>
130-
<a name='L65'></a><a href='#L65'>65</a>
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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
115+
<a name='L50'></a><a href='#L50'>50</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
148116
<span class="cline-any cline-yes">1x</span>
149117
<span class="cline-any cline-yes">1x</span>
150118
<span class="cline-any cline-yes">1x</span>
@@ -185,40 +153,8 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">ndarra
185153
<span class="cline-any cline-yes">1x</span>
186154
<span class="cline-any cline-yes">1x</span>
187155
<span class="cline-any cline-yes">1x</span>
188-
<span class="cline-any cline-yes">1x</span>
189-
<span class="cline-any cline-yes">1x</span>
190-
<span class="cline-any cline-yes">1x</span>
191-
<span class="cline-any cline-yes">235x</span>
192-
<span class="cline-any cline-yes">235x</span>
193-
<span class="cline-any cline-yes">235x</span>
194156
<span class="cline-any cline-yes">235x</span>
195157
<span class="cline-any cline-yes">235x</span>
196-
<span class="cline-any cline-yes">7x</span>
197-
<span class="cline-any cline-yes">7x</span>
198-
<span class="cline-any cline-yes">7x</span>
199-
<span class="cline-any cline-yes">235x</span>
200-
<span class="cline-any cline-yes">14x</span>
201-
<span class="cline-any cline-yes">14x</span>
202-
<span class="cline-any cline-yes">7x</span>
203-
<span class="cline-any cline-yes">7x</span>
204-
<span class="cline-any cline-yes">7x</span>
205-
<span class="cline-any cline-yes">7x</span>
206-
<span class="cline-any cline-yes">235x</span>
207-
<span class="cline-any cline-yes">14x</span>
208-
<span class="cline-any cline-yes">14x</span>
209-
<span class="cline-any cline-yes">200x</span>
210-
<span class="cline-any cline-yes">200x</span>
211-
<span class="cline-any cline-yes">235x</span>
212-
<span class="cline-any cline-yes">22x</span>
213-
<span class="cline-any cline-yes">22x</span>
214-
<span class="cline-any cline-yes">178x</span>
215-
<span class="cline-any cline-yes">178x</span>
216-
<span class="cline-any cline-yes">178x</span>
217-
<span class="cline-any cline-yes">235x</span>
218-
<span class="cline-any cline-yes">14x</span>
219-
<span class="cline-any cline-yes">14x</span>
220-
<span class="cline-any cline-yes">14x</span>
221-
<span class="cline-any cline-yes">164x</span>
222158
<span class="cline-any cline-yes">235x</span>
223159
<span class="cline-any cline-yes">1x</span>
224160
<span class="cline-any cline-yes">1x</span>
@@ -247,10 +183,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">ndarra
247183
&nbsp;
248184
// MODULES //
249185
&nbsp;
250-
var unaryOutputDataType = require( '@stdlib/ndarray/base/unary-output-dtype' );
251-
var isDataType = require( '@stdlib/ndarray/base/assert/is-data-type' );
252-
var promotionRules = require( '@stdlib/ndarray/promotion-rules' );
253-
var format = require( '@stdlib/string/format' );
186+
var outputDataType = require( '@stdlib/ndarray/base/output-dtype' );
254187
&nbsp;
255188
&nbsp;
256189
// MAIN //
@@ -261,45 +194,16 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">ndarra
261194
* @param {string} xdtype - first input ndarray data type
262195
* @param {string} ydtype - second input ndarray data type
263196
* @param {string} policy - output ndarray data type policy
264-
* @throws {TypeError} second argument must be a recognized data type policy
265-
* @throws {Error} unexpected error
197+
* @throws {TypeError} third argument must be a recognized data type policy
198+
* @throws {Error} must provide data types amenable to type promotion
266199
* @returns {string} output ndarray data type
267200
*
268201
* @example
269202
* var dt = resolve( 'float64', 'float32', 'complex_floating_point' );
270203
* // returns &lt;string&gt;
271204
*/
272205
function resolve( xdtype, ydtype, policy ) {
273-
var dt;
274-
&nbsp;
275-
// Check for a policy mandating an explicit data type...
276-
if ( isDataType( policy ) ) {
277-
// When the policy is a specific data type, the output data type should always be the specified data type without consideration for the input data types:
278-
return policy;
279-
}
280-
if ( policy === 'same' ) {
281-
// When the policy is "same", we require that all data types (both input and output) be the same...
282-
if ( xdtype !== ydtype ) {
283-
throw new Error( format( 'invalid arguments. Unable to resolve an output data type. The output data type policy is "same" and yet the input data types are not equal. Data types: [%s, %s].', xdtype, ydtype ) );
284-
}
285-
return xdtype;
286-
}
287-
if ( policy === 'default' || policy === 'default_index' ) {
288-
return unaryOutputDataType( xdtype, policy ); // note: these policies are independent of the input data type, so it doesn't matter what data type we provide as the first argument
289-
}
290-
// For all other policies, we always apply type promotion rules...
291-
dt = promotionRules( xdtype, ydtype );
292-
if ( dt === null || dt === -1 ) {
293-
throw new Error( format( 'invalid arguments. Unable to apply type promotion rules when resolving a data type to which the input data types can be safely cast. Data types: [%s, %s].', xdtype, ydtype ) );
294-
}
295-
// Resolve the output data type by treating this scenario as equivalent to passing the promoted data type as an input to a unary function...
296-
try {
297-
dt = unaryOutputDataType( dt, policy );
298-
} catch ( err ) { // eslint-disable-line no-unused-vars
299-
// We should only get here if the policy is invalid...
300-
throw new TypeError( format( 'invalid argument. Third argument must be a supported data type policy. Value: `%s`.', policy ) );
301-
}
302-
return dt;
206+
return outputDataType( [ xdtype, ydtype ], policy );
303207
}
304208
&nbsp;
305209
&nbsp;
@@ -313,7 +217,7 @@ <h1><a href="../../../../index.html">All files</a> / <a href="index.html">ndarra
313217
<div class='footer quiet pad2 space-top1 center small'>
314218
Code coverage generated by
315219
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
316-
at 2025-05-10T07:53:00.416Z
220+
at 2025-05-10T11:02:15.489Z
317221
</div>
318222
<script src="../../../../prettify.js"></script>
319223
<script>

ndarray/base/coverage.ndjson

+1
Original file line numberDiff line numberDiff line change
@@ -61,3 +61,4 @@
6161
[1027,1027,100,1,1,100,0,0,100,1027,1027,100,"6464a4ba00ba9579a2da77a0e2282a0f03bfdc01","2025-04-28 19:50:15 -0700"]
6262
[1108,1108,100,1,1,100,0,0,100,1108,1108,100,"37476e85975a88bf2418bcd55f3aedd7b588db43","2025-05-09 02:08:49 -0700"]
6363
[1108,1108,100,1,1,100,0,0,100,1108,1108,100,"0973f6fd8117253edf90c856b82c97b4e3a9181b","2025-05-09 23:54:16 -0700"]
64+
[1126,1126,100,1,1,100,0,0,100,1126,1126,100,"26d65cd0dc57249b45b35032a3c251e715a9b8ce","2025-05-10 03:58:55 -0700"]

ndarray/base/index.html

+5-5
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ <h1><a href="../../../index.html">All files</a> ndarray/base/lib</h1>
2525
<div class='fl pad1y space-right2'>
2626
<span class="strong">100% </span>
2727
<span class="quiet">Statements</span>
28-
<span class='fraction'>1108/1108</span>
28+
<span class='fraction'>1126/1126</span>
2929
</div>
3030

3131

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

5252

@@ -84,13 +84,13 @@ <h1><a href="../../../index.html">All files</a> ndarray/base/lib</h1>
8484
<div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
8585
</td>
8686
<td data-value="100" class="pct high">100%</td>
87-
<td data-value="1108" class="abs high">1108/1108</td>
87+
<td data-value="1126" class="abs high">1126/1126</td>
8888
<td data-value="100" class="pct high">100%</td>
8989
<td data-value="1" class="abs high">1/1</td>
9090
<td data-value="100" class="pct high">100%</td>
9191
<td data-value="0" class="abs high">0/0</td>
9292
<td data-value="100" class="pct high">100%</td>
93-
<td data-value="1108" class="abs high">1108/1108</td>
93+
<td data-value="1126" class="abs high">1126/1126</td>
9494
</tr>
9595

9696
</tbody>
@@ -101,7 +101,7 @@ <h1><a href="../../../index.html">All files</a> ndarray/base/lib</h1>
101101
<div class='footer quiet pad2 space-top1 center small'>
102102
Code coverage generated by
103103
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104-
at 2025-05-10T06:55:21.022Z
104+
at 2025-05-10T11:02:18.741Z
105105
</div>
106106
<script src="../../../prettify.js"></script>
107107
<script>

ndarray/base/index.js.html

+58-4
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ <h1><a href="../../../index.html">All files</a> / <a href="index.html">ndarray/b
2525
<div class='fl pad1y space-right2'>
2626
<span class="strong">100% </span>
2727
<span class="quiet">Statements</span>
28-
<span class='fraction'>1108/1108</span>
28+
<span class='fraction'>1126/1126</span>
2929
</div>
3030

3131

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

5252

@@ -1171,7 +1171,43 @@ <h1><a href="../../../index.html">All files</a> / <a href="index.html">ndarray/b
11711171
<a name='L1106'></a><a href='#L1106'>1106</a>
11721172
<a name='L1107'></a><a href='#L1107'>1107</a>
11731173
<a name='L1108'></a><a href='#L1108'>1108</a>
1174-
<a name='L1109'></a><a href='#L1109'>1109</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
1174+
<a name='L1109'></a><a href='#L1109'>1109</a>
1175+
<a name='L1110'></a><a href='#L1110'>1110</a>
1176+
<a name='L1111'></a><a href='#L1111'>1111</a>
1177+
<a name='L1112'></a><a href='#L1112'>1112</a>
1178+
<a name='L1113'></a><a href='#L1113'>1113</a>
1179+
<a name='L1114'></a><a href='#L1114'>1114</a>
1180+
<a name='L1115'></a><a href='#L1115'>1115</a>
1181+
<a name='L1116'></a><a href='#L1116'>1116</a>
1182+
<a name='L1117'></a><a href='#L1117'>1117</a>
1183+
<a name='L1118'></a><a href='#L1118'>1118</a>
1184+
<a name='L1119'></a><a href='#L1119'>1119</a>
1185+
<a name='L1120'></a><a href='#L1120'>1120</a>
1186+
<a name='L1121'></a><a href='#L1121'>1121</a>
1187+
<a name='L1122'></a><a href='#L1122'>1122</a>
1188+
<a name='L1123'></a><a href='#L1123'>1123</a>
1189+
<a name='L1124'></a><a href='#L1124'>1124</a>
1190+
<a name='L1125'></a><a href='#L1125'>1125</a>
1191+
<a name='L1126'></a><a href='#L1126'>1126</a>
1192+
<a name='L1127'></a><a href='#L1127'>1127</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
1193+
<span class="cline-any cline-yes">1x</span>
1194+
<span class="cline-any cline-yes">1x</span>
1195+
<span class="cline-any cline-yes">1x</span>
1196+
<span class="cline-any cline-yes">1x</span>
1197+
<span class="cline-any cline-yes">1x</span>
1198+
<span class="cline-any cline-yes">1x</span>
1199+
<span class="cline-any cline-yes">1x</span>
1200+
<span class="cline-any cline-yes">1x</span>
1201+
<span class="cline-any cline-yes">1x</span>
1202+
<span class="cline-any cline-yes">1x</span>
1203+
<span class="cline-any cline-yes">1x</span>
1204+
<span class="cline-any cline-yes">1x</span>
1205+
<span class="cline-any cline-yes">1x</span>
1206+
<span class="cline-any cline-yes">1x</span>
1207+
<span class="cline-any cline-yes">1x</span>
1208+
<span class="cline-any cline-yes">1x</span>
1209+
<span class="cline-any cline-yes">1x</span>
1210+
<span class="cline-any cline-yes">1x</span>
11751211
<span class="cline-any cline-yes">1x</span>
11761212
<span class="cline-any cline-yes">1x</span>
11771213
<span class="cline-any cline-yes">1x</span>
@@ -2952,6 +2988,15 @@ <h1><a href="../../../index.html">All files</a> / <a href="index.html">ndarray/b
29522988
setReadOnly( ns, 'order', require( '@stdlib/ndarray/base/order' ) );
29532989
&nbsp;
29542990
/**
2991+
* @name outputDataType
2992+
* @memberof ns
2993+
* @readonly
2994+
* @type {Function}
2995+
* @see {@link module:@stdlib/ndarray/base/output-dtype}
2996+
*/
2997+
setReadOnly( ns, 'outputDataType', require( '@stdlib/ndarray/base/output-dtype' ) );
2998+
&nbsp;
2999+
/**
29553000
* @name outputPolicyEnum2Str
29563001
* @memberof ns
29573002
* @readonly
@@ -2997,6 +3042,15 @@ <h1><a href="../../../index.html">All files</a> / <a href="index.html">ndarray/b
29973042
setReadOnly( ns, 'prependSingletonDimensions', require( '@stdlib/ndarray/base/prepend-singleton-dimensions' ) );
29983043
&nbsp;
29993044
/**
3045+
* @name promoteDataTypes
3046+
* @memberof ns
3047+
* @readonly
3048+
* @type {Function}
3049+
* @see {@link module:@stdlib/ndarray/base/promote-dtypes}
3050+
*/
3051+
setReadOnly( ns, 'promoteDataTypes', require( '@stdlib/ndarray/base/promote-dtypes' ) );
3052+
&nbsp;
3053+
/**
30003054
* @name removeSingletonDimensions
30013055
* @memberof ns
30023056
* @readonly
@@ -3394,7 +3448,7 @@ <h1><a href="../../../index.html">All files</a> / <a href="index.html">ndarray/b
33943448
<div class='footer quiet pad2 space-top1 center small'>
33953449
Code coverage generated by
33963450
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
3397-
at 2025-05-10T06:55:21.022Z
3451+
at 2025-05-10T11:02:18.741Z
33983452
</div>
33993453
<script src="../../../prettify.js"></script>
34003454
<script>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
[372,372,100,29,29,100,8,8,100,372,372,100,"26d65cd0dc57249b45b35032a3c251e715a9b8ce","2025-05-10 03:58:55 -0700"]

0 commit comments

Comments
 (0)