|
2 | 2 |
|
3 | 3 | @license Apache-2.0 |
4 | 4 |
|
5 | | -Copyright (c) 2026 The Stdlib Authors. |
| 5 | +Copyright (c) 2025 The Stdlib Authors. |
6 | 6 |
|
7 | 7 | Licensed under the Apache License, Version 2.0 (the "License"); |
8 | 8 | you may not use this file except in compliance with the License. |
@@ -95,153 +95,6 @@ console.log( v ); |
95 | 95 |
|
96 | 96 | <!-- /.examples --> |
97 | 97 |
|
98 | | -<!-- C interface documentation. --> |
99 | | - |
100 | | -* * * |
101 | | - |
102 | | -<section class="c"> |
103 | | - |
104 | | -## C APIs |
105 | | - |
106 | | -<!-- Section to include introductory text. Make sure to keep an empty line after the intro `section` element and another before the `/section` close. --> |
107 | | - |
108 | | -<section class="intro"> |
109 | | - |
110 | | -</section> |
111 | | - |
112 | | -<!-- /.intro --> |
113 | | - |
114 | | -<!-- C usage documentation. --> |
115 | | - |
116 | | -<section class="usage"> |
117 | | - |
118 | | -### Usage |
119 | | - |
120 | | -```c |
121 | | -#include "stdlib/stats/base/ndarray/smin.h" |
122 | | -``` |
123 | | - |
124 | | -#### stdlib_stats_smin( arrays ) |
125 | | - |
126 | | -Computes the minimum value of a one-dimensional single-precision floating-point ndarray. |
127 | | - |
128 | | -```c |
129 | | -#include "stdlib/ndarray/ctor.h" |
130 | | -#include "stdlib/ndarray/dtypes.h" |
131 | | -#include "stdlib/ndarray/index_modes.h" |
132 | | -#include "stdlib/ndarray/orders.h" |
133 | | -#include "stdlib/ndarray/base/bytes_per_element.h" |
134 | | -#include <stdint.h> |
135 | | - |
136 | | -// Create an ndarray: |
137 | | -const float data[] = { 1.0f, 2.0f, 3.0f, 4.0f }; |
138 | | -int64_t shape[] = { 4 }; |
139 | | -int64_t strides[] = { STDLIB_NDARRAY_FLOAT32_BYTES_PER_ELEMENT }; |
140 | | -int8_t submodes[] = { STDLIB_NDARRAY_INDEX_ERROR }; |
141 | | - |
142 | | -struct ndarray *x = stdlib_ndarray_allocate( STDLIB_NDARRAY_FLOAT32, (uint8_t *)data, 1, shape, strides, 0, STDLIB_NDARRAY_ROW_MAJOR, STDLIB_NDARRAY_INDEX_ERROR, 1, submodes ); |
143 | | - |
144 | | -// Compute the minimum value: |
145 | | -const struct ndarray *arrays[] = { x }; |
146 | | -float v = stdlib_stats_smin( arrays ); |
147 | | -// returns 1.0f |
148 | | - |
149 | | -// Free allocated memory: |
150 | | -stdlib_ndarray_free( x ); |
151 | | -``` |
152 | | -
|
153 | | -The function accepts the following arguments: |
154 | | -
|
155 | | -- **arrays**: `[in] struct ndarray**` list containing a one-dimensional input ndarray. |
156 | | -
|
157 | | -```c |
158 | | -float stdlib_stats_smin( const struct ndarray *arrays[] ); |
159 | | -``` |
160 | | - |
161 | | -</section> |
162 | | - |
163 | | -<!-- /.usage --> |
164 | | - |
165 | | -<!-- C API usage notes. Make sure to keep an empty line after the `section` element and another before the `/section` close. --> |
166 | | - |
167 | | -<section class="notes"> |
168 | | - |
169 | | -</section> |
170 | | - |
171 | | -<!-- /.notes --> |
172 | | - |
173 | | -<!-- C API usage examples. --> |
174 | | - |
175 | | -<section class="examples"> |
176 | | - |
177 | | -### Examples |
178 | | - |
179 | | -```c |
180 | | -#include "stdlib/stats/base/ndarray/smin.h" |
181 | | -#include "stdlib/ndarray/ctor.h" |
182 | | -#include "stdlib/ndarray/dtypes.h" |
183 | | -#include "stdlib/ndarray/index_modes.h" |
184 | | -#include "stdlib/ndarray/orders.h" |
185 | | -#include "stdlib/ndarray/base/bytes_per_element.h" |
186 | | -#include <stdint.h> |
187 | | -#include <stdlib.h> |
188 | | -#include <stdio.h> |
189 | | - |
190 | | -int main( void ) { |
191 | | - // Create a data buffer: |
192 | | - const float data[] = { 1.0f, -2.0f, 3.0f, -4.0f, 5.0f, -6.0f, 7.0f, -8.0f }; |
193 | | - |
194 | | - // Specify the number of array dimensions: |
195 | | - const int64_t ndims = 1; |
196 | | - |
197 | | - // Specify the array shape: |
198 | | - int64_t shape[] = { 4 }; |
199 | | - |
200 | | - // Specify the array strides: |
201 | | - int64_t strides[] = { 2*STDLIB_NDARRAY_FLOAT32_BYTES_PER_ELEMENT }; |
202 | | - |
203 | | - // Specify the byte offset: |
204 | | - const int64_t offset = 0; |
205 | | - |
206 | | - // Specify the array order: |
207 | | - const enum STDLIB_NDARRAY_ORDER order = STDLIB_NDARRAY_ROW_MAJOR; |
208 | | - |
209 | | - // Specify the index mode: |
210 | | - const enum STDLIB_NDARRAY_INDEX_MODE imode = STDLIB_NDARRAY_INDEX_ERROR; |
211 | | - |
212 | | - // Specify the subscript index modes: |
213 | | - int8_t submodes[] = { STDLIB_NDARRAY_INDEX_ERROR }; |
214 | | - const int64_t nsubmodes = 1; |
215 | | - |
216 | | - // Create an ndarray: |
217 | | - struct ndarray *x = stdlib_ndarray_allocate( STDLIB_NDARRAY_FLOAT32, (uint8_t *)data, ndims, shape, strides, offset, order, imode, nsubmodes, submodes ); |
218 | | - if ( x == NULL ) { |
219 | | - fprintf( stderr, "Error allocating memory.\n" ); |
220 | | - exit( 1 ); |
221 | | - } |
222 | | - |
223 | | - // Define a list of ndarrays: |
224 | | - const struct ndarray *arrays[] = { x }; |
225 | | - |
226 | | - // Compute the minimum value: |
227 | | - float v = stdlib_stats_smin( arrays ); |
228 | | - |
229 | | - // Print the result: |
230 | | - printf( "min: %f\n", v ); |
231 | | - |
232 | | - // Free allocated memory: |
233 | | - stdlib_ndarray_free( x ); |
234 | | -} |
235 | | -``` |
236 | | -
|
237 | | -</section> |
238 | | -
|
239 | | -<!-- /.examples --> |
240 | | -
|
241 | | -</section> |
242 | | -
|
243 | | -<!-- /.c --> |
244 | | -
|
245 | 98 | <!-- Section for related `stdlib` packages. Do not manually edit this section, as it is automatically populated. --> |
246 | 99 |
|
247 | 100 | <section class="related"> |
|
0 commit comments