From 41c979385555ce5d0cfe6eb1424757f4ff069ec1 Mon Sep 17 00:00:00 2001 From: nakul-krishnakumar Date: Thu, 5 Mar 2026 11:48:06 +0530 Subject: [PATCH 01/10] feat: add `ml/cluster/base/kmeans/metrics` --- .../base/kmeans/metric-enum2str/README.md | 121 +++++++++++ .../metric-enum2str/benchmark/benchmark.js | 55 +++++ .../base/kmeans/metric-enum2str/docs/repl.txt | 23 +++ .../metric-enum2str/docs/types/index.d.ts | 41 ++++ .../kmeans/metric-enum2str/docs/types/test.ts | 39 ++++ .../kmeans/metric-enum2str/examples/index.js | 30 +++ .../base/kmeans/metric-enum2str/lib/index.js | 44 ++++ .../base/kmeans/metric-enum2str/lib/main.js | 60 ++++++ .../base/kmeans/metric-enum2str/package.json | 66 ++++++ .../base/kmeans/metric-enum2str/test/test.js | 66 ++++++ .../base/kmeans/metric-resolve-enum/README.md | 124 ++++++++++++ .../benchmark/benchmark.js | 81 ++++++++ .../kmeans/metric-resolve-enum/docs/repl.txt | 29 +++ .../metric-resolve-enum/docs/types/index.d.ts | 40 ++++ .../metric-resolve-enum/docs/types/test.ts | 28 +++ .../metric-resolve-enum/examples/index.js | 29 +++ .../kmeans/metric-resolve-enum/lib/index.js | 40 ++++ .../kmeans/metric-resolve-enum/lib/main.js | 57 ++++++ .../kmeans/metric-resolve-enum/package.json | 66 ++++++ .../kmeans/metric-resolve-enum/test/test.js | 75 +++++++ .../base/kmeans/metric-resolve-str/README.md | 121 +++++++++++ .../metric-resolve-str/benchmark/benchmark.js | 81 ++++++++ .../kmeans/metric-resolve-str/docs/repl.txt | 25 +++ .../metric-resolve-str/docs/types/index.d.ts | 38 ++++ .../metric-resolve-str/docs/types/test.ts | 28 +++ .../metric-resolve-str/examples/index.js | 30 +++ .../kmeans/metric-resolve-str/lib/index.js | 41 ++++ .../kmeans/metric-resolve-str/lib/main.js | 55 +++++ .../kmeans/metric-resolve-str/package.json | 66 ++++++ .../kmeans/metric-resolve-str/test/test.js | 75 +++++++ .../base/kmeans/metric-str2enum/README.md | 119 +++++++++++ .../metric-str2enum/benchmark/benchmark.js | 54 +++++ .../base/kmeans/metric-str2enum/docs/repl.txt | 27 +++ .../metric-str2enum/docs/types/index.d.ts | 40 ++++ .../kmeans/metric-str2enum/docs/types/test.ts | 39 ++++ .../kmeans/metric-str2enum/examples/index.js | 29 +++ .../base/kmeans/metric-str2enum/lib/index.js | 40 ++++ .../base/kmeans/metric-str2enum/lib/main.js | 56 ++++++ .../base/kmeans/metric-str2enum/package.json | 66 ++++++ .../base/kmeans/metric-str2enum/test/test.js | 67 +++++++ .../ml/cluster/base/kmeans/metrics/README.md | 188 ++++++++++++++++++ .../kmeans/metrics/benchmark/benchmark.js | 48 +++++ .../cluster/base/kmeans/metrics/docs/repl.txt | 23 +++ .../base/kmeans/metrics/docs/types/index.d.ts | 35 ++++ .../base/kmeans/metrics/docs/types/test.ts | 32 +++ .../base/kmeans/metrics/examples/index.js | 36 ++++ .../stdlib/ml/cluster/base/kmeans/metrics.h | 36 ++++ .../cluster/base/kmeans/metrics/lib/data.json | 5 + .../cluster/base/kmeans/metrics/lib/enum.js | 54 +++++ .../cluster/base/kmeans/metrics/lib/index.js | 47 +++++ .../cluster/base/kmeans/metrics/lib/main.js | 44 ++++ .../cluster/base/kmeans/metrics/manifest.json | 36 ++++ .../cluster/base/kmeans/metrics/package.json | 67 +++++++ .../cluster/base/kmeans/metrics/test/test.js | 75 +++++++ 54 files changed, 2937 insertions(+) create mode 100644 lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/README.md create mode 100644 lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/benchmark/benchmark.js create mode 100644 lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/docs/repl.txt create mode 100644 lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/docs/types/index.d.ts create mode 100644 lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/docs/types/test.ts create mode 100644 lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/examples/index.js create mode 100644 lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/lib/index.js create mode 100644 lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/lib/main.js create mode 100644 lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/package.json create mode 100644 lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/test/test.js create mode 100644 lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/README.md create mode 100644 lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/benchmark/benchmark.js create mode 100644 lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/docs/repl.txt create mode 100644 lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/docs/types/index.d.ts create mode 100644 lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/docs/types/test.ts create mode 100644 lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/examples/index.js create mode 100644 lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/lib/index.js create mode 100644 lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/lib/main.js create mode 100644 lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/package.json create mode 100644 lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/test/test.js create mode 100644 lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/README.md create mode 100644 lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/benchmark/benchmark.js create mode 100644 lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/docs/repl.txt create mode 100644 lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/docs/types/index.d.ts create mode 100644 lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/docs/types/test.ts create mode 100644 lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/examples/index.js create mode 100644 lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/lib/index.js create mode 100644 lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/lib/main.js create mode 100644 lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/package.json create mode 100644 lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/test/test.js create mode 100644 lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/README.md create mode 100644 lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/benchmark/benchmark.js create mode 100644 lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/docs/repl.txt create mode 100644 lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/docs/types/index.d.ts create mode 100644 lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/docs/types/test.ts create mode 100644 lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/examples/index.js create mode 100644 lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/lib/index.js create mode 100644 lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/lib/main.js create mode 100644 lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/package.json create mode 100644 lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/test/test.js create mode 100644 lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/README.md create mode 100644 lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/benchmark/benchmark.js create mode 100644 lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/docs/repl.txt create mode 100644 lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/docs/types/index.d.ts create mode 100644 lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/docs/types/test.ts create mode 100644 lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/examples/index.js create mode 100644 lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/include/stdlib/ml/cluster/base/kmeans/metrics.h create mode 100644 lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/lib/data.json create mode 100644 lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/lib/enum.js create mode 100644 lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/lib/index.js create mode 100644 lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/lib/main.js create mode 100644 lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/manifest.json create mode 100644 lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/package.json create mode 100644 lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/test/test.js diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/README.md b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/README.md new file mode 100644 index 000000000000..d6fc489af309 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/README.md @@ -0,0 +1,121 @@ + + +# enum2str + +> Return the KMeans distance metric string associated with a KMeans distance metric enumeration constant. + + + +
+ +
+ + + + + +
+ +## Usage + +```javascript +var enum2str = require( '@stdlib/ml/cluster/base/kmeans/metric-enum2str' ); +``` + +#### enum2str( value ) + +Returns the KMeans distance metric string associated with a KMeans distance metric enumeration constant. + +```javascript +var str2enum = require( '@stdlib/ml/cluster/base/kmeans/metric-str2enum' ); + +var v = str2enum( 'euclidean' ); +// returns + +var s = enum2str( v ); +// returns 'euclidean' +``` + +If unable to resolve a KMeans distance metric string, the function returns `null`. + +```javascript +var v = enum2str( -999999999 ); +// returns null +``` + +
+ + + + + +
+ +
+ + + + + +
+ +## Examples + + + +```javascript +var str2enum = require( '@stdlib/ml/cluster/base/kmeans/metric-str2enum' ); +var enum2str = require( '@stdlib/ml/cluster/base/kmeans/metric-enum2str' ); + +var str = enum2str( str2enum( 'euclidean' ) ); +// returns 'euclidean' + +str = enum2str( str2enum( 'cosine' ) ); +// returns 'cosine' +``` + +
+ + + + + +
+ +
+ + + + + + + + + + + + + + diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/benchmark/benchmark.js b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/benchmark/benchmark.js new file mode 100644 index 000000000000..fb4020f2cd7b --- /dev/null +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/benchmark/benchmark.js @@ -0,0 +1,55 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var bench = require( '@stdlib/bench' ); +var isString = require( '@stdlib/assert/is-string' ).isPrimitive; +var str2enum = require( '@stdlib/ml/cluster/base/kmeans/metric-str2enum' ); +var pkg = require( './../package.json' ).name; +var enum2str = require( './../lib' ); + + +// MAIN // + +bench( pkg, function benchmark( b ) { + var values; + var out; + var i; + + values = [ + str2enum( 'euclidean' ), + str2enum( 'cosine' ) + ]; + + b.tic(); + for ( i = 0; i < b.iterations; i++ ) { + out = enum2str( values[ i%values.length ] ); + if ( typeof out !== 'string' ) { + b.fail( 'should return a string' ); + } + } + b.toc(); + if ( !isString( out ) ) { + b.fail( 'should return a string' ); + } + b.pass( 'benchmark finished' ); + b.end(); +}); diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/docs/repl.txt b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/docs/repl.txt new file mode 100644 index 000000000000..dcc1e4ee916a --- /dev/null +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/docs/repl.txt @@ -0,0 +1,23 @@ + +{{alias}}( value ) + Returns the KMeans distance metric string associated with a KMeans + distance metric enumeration constant. + + Parameters + ---------- + value: integer + Distance metric enumeration constant. + + Returns + ------- + out: string|null + Distance metric string. + + Examples + -------- + > var out = {{alias}}( {{alias:@stdlib/ml/cluster/base/kmeans/metric-str2enum}}( 'euclidean' ) ) + 'euclidean' + + See Also + -------- + diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/docs/types/index.d.ts b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/docs/types/index.d.ts new file mode 100644 index 000000000000..b659e5454566 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/docs/types/index.d.ts @@ -0,0 +1,41 @@ +/* +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +// TypeScript Version: 4.1 + +/** +* Returns the KMeans distance metric string associated with a KMeans distance metric enumeration constant. +* +* @param value - enumeration constant +* @returns distance metric string +* +* @example +* var str2enum = require( '@stdlib/ml/cluster/base/kmeans/metric-str2enum' ); +* +* var v = str2enum( 'euclidean' ); +* // returns +* +* var s = enum2str( v ); +* // returns 'euclidean' +*/ +declare function enum2str( value: number ): string | null; + + +// EXPORTS // + +export = enum2str; diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/docs/types/test.ts b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/docs/types/test.ts new file mode 100644 index 000000000000..7090e6e7c105 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/docs/types/test.ts @@ -0,0 +1,39 @@ +/* +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +import enum2str = require( './index' ); + + +// TESTS // + +// The function returns a string or null... +{ + enum2str( 0 ); // $ExpectType string | null +} + +// The compiler throws an error if not provided a number... +{ + enum2str( '10' ); // $ExpectError + enum2str( true ); // $ExpectError + enum2str( false ); // $ExpectError + enum2str( null ); // $ExpectError + enum2str( undefined ); // $ExpectError + enum2str( [] ); // $ExpectError + enum2str( {} ); // $ExpectError + enum2str( ( x: number ): number => x ); // $ExpectError +} diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/examples/index.js b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/examples/index.js new file mode 100644 index 000000000000..393a1aea9596 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/examples/index.js @@ -0,0 +1,30 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +var str2enum = require( '@stdlib/ml/cluster/base/kmeans/metric-str2enum' ); +var enum2str = require( './../lib' ); + +var str = enum2str( str2enum( 'cosine' ) ); +console.log( str ); +// => 'cosine' + +str = enum2str( str2enum( 'euclidean' ) ); +console.log( str ); +// => 'euclidean' diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/lib/index.js b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/lib/index.js new file mode 100644 index 000000000000..68b11aa15da1 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/lib/index.js @@ -0,0 +1,44 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +/** +* Return the KMeans distance metric string associated with a KMeans distance metric enumeration constant. +* +* @module @stdlib/ml/cluster/base/kmeans/metric-enum2str +* +* @example +* var str2enum = require( '@stdlib/ml/cluster/base/kmeans/metric-str2enum' ); +* var enum2str = require( '@stdlib/ml/cluster/base/kmeans/metric-enum2str' ); +* +* var v = str2enum( 'euclidean' ); +* // returns +* +* var s = enum2str( v ); +* // returns 'euclidean' +*/ + +// MODULES // + +var main = require( './main.js' ); + + +// EXPORTS // + +module.exports = main; diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/lib/main.js b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/lib/main.js new file mode 100644 index 000000000000..801fb5b6cbdc --- /dev/null +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/lib/main.js @@ -0,0 +1,60 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var isString = require( '@stdlib/assert/is-string' ).isPrimitive; +var objectInverse = require( '@stdlib/object/inverse' ); +var enumeration = require( '@stdlib/ml/cluster/base/kmeans/metrics' ).enum; + + +// VARIABLES // + +var hash = objectInverse( enumeration(), { + 'duplicates': false +}); + + +// MAIN // + +/** +* Returns the KMeans distance metric string associated with a KMeans distance metric enumeration constant. +* +* @param {integer} value - distance metric enumeration constant +* @returns {(string|null)} distance metric string or null +* +* @example +* var str2enum = require( '@stdlib/ml/cluster/base/kmeans/metric-str2enum' ); +* +* var v = str2enum( 'euclidean' ); +* // returns +* +* var s = enum2str( v ); +* // returns 'euclidean' +*/ +function enum2str( value ) { + var v = hash[ value ]; + return ( isString( v ) ) ? v : null; // note: we include this guard to prevent walking the prototype chain +} + + +// EXPORTS // + +module.exports = enum2str; diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/package.json b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/package.json new file mode 100644 index 000000000000..1029550eab1c --- /dev/null +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/package.json @@ -0,0 +1,66 @@ +{ + "name": "@stdlib/ml/cluster/base/kmeans/metric-enum2str", + "version": "0.0.0", + "description": "Return the KMeans distance metric string associated with a KMeans distance metric enumeration constant.", + "license": "Apache-2.0", + "author": { + "name": "The Stdlib Authors", + "url": "https://github.com/stdlib-js/stdlib/graphs/contributors" + }, + "contributors": [ + { + "name": "The Stdlib Authors", + "url": "https://github.com/stdlib-js/stdlib/graphs/contributors" + } + ], + "main": "./lib", + "directories": { + "benchmark": "./benchmark", + "doc": "./docs", + "example": "./examples", + "lib": "./lib", + "test": "./test" + }, + "types": "./docs/types", + "scripts": {}, + "homepage": "https://github.com/stdlib-js/stdlib", + "repository": { + "type": "git", + "url": "git://github.com/stdlib-js/stdlib.git" + }, + "bugs": { + "url": "https://github.com/stdlib-js/stdlib/issues" + }, + "dependencies": {}, + "devDependencies": {}, + "engines": { + "node": ">=0.10.0", + "npm": ">2.7.0" + }, + "os": [ + "aix", + "darwin", + "freebsd", + "linux", + "macos", + "openbsd", + "sunos", + "win32", + "windows" + ], + "keywords": [ + "stdlib", + "ml", + "machine", + "learning", + "cluster", + "kmeans", + "metric", + "utilities", + "utility", + "utils", + "util", + "enum" + ], + "__stdlib__": {} +} diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/test/test.js b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/test/test.js new file mode 100644 index 000000000000..f09c7af82a77 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/test/test.js @@ -0,0 +1,66 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var tape = require( 'tape' ); +var str2enum = require( '@stdlib/ml/cluster/base/kmeans/metric-str2enum' ); +var enum2str = require( './../lib' ); + + +// VARIABLES // + +var VALUES = [ + 'euclidean', + 'cosine', + 'cityblock' +]; + + +// TESTS // + +tape( 'main export is a function', function test( t ) { + t.ok( true, __filename ); + t.strictEqual( typeof enum2str, 'function', 'main export is a function' ); + t.end(); +}); + +tape( 'the function returns the string associated with an enumeration constant', function test( t ) { + var i; + for ( i = 0; i < VALUES.length; i++ ) { + t.strictEqual( enum2str( str2enum( VALUES[ i ] ) ), VALUES[ i ], 'returns expected value' ); + } + t.end(); +}); + +tape( 'the function returns `null` if unable to resolve a string', function test( t ) { + var values; + var i; + + values = [ + -9999999, + -999999999, + -99999999999 + ]; + for ( i = 0; i < values.length; i++ ) { + t.strictEqual( enum2str( values[ i ] ), null, 'returns expected value' ); + } + t.end(); +}); diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/README.md b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/README.md new file mode 100644 index 000000000000..d5e142d3d36b --- /dev/null +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/README.md @@ -0,0 +1,124 @@ + + +# resolve + +> Return the enumeration constant associated with a supported KMeans clustering distance metric value. + + + +
+ +
+ + + + + +
+ +## Usage + +```javascript +var resolve = require( '@stdlib/ml/cluster/base/kmeans/metric-resolve-enum' ); +``` + +#### resolve( value ) + +Returns the enumeration constant associated with a KMeans clustering distance metric value. + +```javascript +var str2enum = require( '@stdlib/ml/cluster/base/kmeans/metric-str2enum' ); + +var v = resolve( 'euclidean' ); +// returns + +v = resolve( str2enum( 'cityblock' ) ); +// returns +``` + +If unable to resolve an enumeration constant, the function returns `null`. + +```javascript +var v = resolve( 'beep' ); +// returns null +``` + +
+ + + + + +
+ +## Notes + +- Downstream consumers of this function should **not** rely on specific integer values (e.g., `EUCLIDEAN == 0`). Instead, the function should be used in an opaque manner. + +
+ + + + + +
+ +## Examples + + + +```javascript +var resolve = require( '@stdlib/ml/cluster/base/kmeans/metric-resolve-enum' ); + +var v = resolve( 'euclidean' ); +// returns + +v = resolve( 'cosine' ); +// returns +``` + +
+ + + + + +
+ +
+ + + + + + + + + + + + + + diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/benchmark/benchmark.js b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/benchmark/benchmark.js new file mode 100644 index 000000000000..cc5d70a0980a --- /dev/null +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/benchmark/benchmark.js @@ -0,0 +1,81 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var bench = require( '@stdlib/bench' ); +var isInteger = require( '@stdlib/assert/is-integer' ).isPrimitive; +var str2enum = require( '@stdlib/ml/cluster/base/kmeans/metric-str2enum' ); +var format = require( '@stdlib/string/format' ); +var pkg = require( './../package.json' ).name; +var resolve = require( './../lib' ); + + +// MAIN // + +bench( format( '%s::string', pkg ), function benchmark( b ) { + var values; + var out; + var i; + + values = [ + 'euclidean', + 'cosine' + ]; + + b.tic(); + for ( i = 0; i < b.iterations; i++ ) { + out = resolve( values[ i%values.length ] ); + if ( typeof out !== 'number' ) { + b.fail( 'should return a number' ); + } + } + b.toc(); + if ( !isInteger( out ) ) { + b.fail( 'should return an integer' ); + } + b.pass( 'benchmark finished' ); + b.end(); +}); + +bench( format( '%s::integer', pkg ), function benchmark( b ) { + var values; + var out; + var i; + + values = [ + str2enum( 'euclidean' ), + str2enum( 'cosine' ) + ]; + + b.tic(); + for ( i = 0; i < b.iterations; i++ ) { + out = resolve( values[ i%values.length ] ); + if ( typeof out !== 'number' ) { + b.fail( 'should return a number' ); + } + } + b.toc(); + if ( !isInteger( out ) ) { + b.fail( 'should return an integer' ); + } + b.pass( 'benchmark finished' ); + b.end(); +}); diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/docs/repl.txt b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/docs/repl.txt new file mode 100644 index 000000000000..713e49a1f01f --- /dev/null +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/docs/repl.txt @@ -0,0 +1,29 @@ + +{{alias}}( value ) + Returns the enumeration constant associated with a supported KMeans + clustering distance metric value. + + Downstream consumers of this function should *not* rely on specific integer + values (e.g., `EUCLIDEAN == 0`). Instead, the function should be used in an + opaque manner. + + Parameters + ---------- + value: any + Distance metric value. + + Returns + ------- + out: integer|null + Enumeration constant. + + Examples + -------- + > var out = {{alias}}( 'euclidean' ) + + > out = {{alias}}( {{alias:@stdlib/ml/cluster/base/kmeans/metric-str2enum}}( 'euclidean' ) ) + + + See Also + -------- + diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/docs/types/index.d.ts b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/docs/types/index.d.ts new file mode 100644 index 000000000000..d658e17644d8 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/docs/types/index.d.ts @@ -0,0 +1,40 @@ +/* +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +// TypeScript Version: 4.1 + +/** +* Returns the enumeration constant associated with a KMeans clustering distance metric value. +* +* ## Notes +* +* - Downstream consumers of this function should **not** rely on specific integer values (e.g., `EUCLIDEAN == 0`). Instead, the function should be used in an opaque manner. +* +* @param value - distance metric value +* @returns enumeration constant +* +* @example +* var v = resolve( 'euclidean' ); +* // returns +*/ +declare function resolve( value: any ): number | null; + + +// EXPORTS // + +export = resolve; diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/docs/types/test.ts b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/docs/types/test.ts new file mode 100644 index 000000000000..1d1e2e49bc6b --- /dev/null +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/docs/types/test.ts @@ -0,0 +1,28 @@ +/* +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +import resolve = require( './index' ); + + +// TESTS // + +// The function returns a number or null... +{ + resolve( 0 ); // $ExpectType number | null + resolve( 'euclidean' ); // $ExpectType number | null +} diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/examples/index.js b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/examples/index.js new file mode 100644 index 000000000000..f96176a71a94 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/examples/index.js @@ -0,0 +1,29 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +var resolve = require( './../lib' ); + +var v = resolve( 'euclidean' ); +console.log( v ); +// => + +v = resolve( 'cosine' ); +console.log( v ); +// => diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/lib/index.js b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/lib/index.js new file mode 100644 index 000000000000..4d8a88708e57 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/lib/index.js @@ -0,0 +1,40 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +/** +* Return the enumeration constant associated with a supported KMeans clustering distance metric value. +* +* @module @stdlib/ml/cluster/base/kmeans/metric-resolve-enum +* +* @example +* var resolve = require( '@stdlib/ml/cluster/base/kmeans/metric-resolve-enum' ); +* +* var v = resolve( 'euclidean' ); +* // returns +*/ + +// MODULES // + +var main = require( './main.js' ); + + +// EXPORTS // + +module.exports = main; diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/lib/main.js b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/lib/main.js new file mode 100644 index 000000000000..40fb2b100b55 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/lib/main.js @@ -0,0 +1,57 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var enum2str = require( '@stdlib/ml/cluster/base/kmeans/metric-enum2str' ); +var str2enum = require( '@stdlib/ml/cluster/base/kmeans/metric-str2enum' ); + + +// MAIN // + +/** +* Returns the enumeration constant associated with a supported KMeans clustering distance metric value. +* +* ## Notes +* +* - Downstream consumers of this function should **not** rely on specific integer values (e.g., `EUCLIDEAN == 0`). Instead, the function should be used in an opaque manner. +* +* @param {*} value - distance metric value +* @returns {(integer|null)} enumeration constant or null +* +* @example +* var v = resolve( 'euclidean' ); +* // returns +*/ +function resolve( value ) { + var t = ( typeof value ); + if ( t === 'number' ) { + return ( enum2str( value ) ) ? value : null; + } + if ( t === 'string' ) { + return str2enum( value ); + } + return null; +} + + +// EXPORTS // + +module.exports = resolve; diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/package.json b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/package.json new file mode 100644 index 000000000000..55b2971de08e --- /dev/null +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/package.json @@ -0,0 +1,66 @@ +{ + "name": "@stdlib/ml/cluster/base/kmeans/metric-resolve-enum", + "version": "0.0.0", + "description": "Return the enumeration constant associated with a supported KMeans clustering distance metric value.", + "license": "Apache-2.0", + "author": { + "name": "The Stdlib Authors", + "url": "https://github.com/stdlib-js/stdlib/graphs/contributors" + }, + "contributors": [ + { + "name": "The Stdlib Authors", + "url": "https://github.com/stdlib-js/stdlib/graphs/contributors" + } + ], + "main": "./lib", + "directories": { + "benchmark": "./benchmark", + "doc": "./docs", + "example": "./examples", + "lib": "./lib", + "test": "./test" + }, + "types": "./docs/types", + "scripts": {}, + "homepage": "https://github.com/stdlib-js/stdlib", + "repository": { + "type": "git", + "url": "git://github.com/stdlib-js/stdlib.git" + }, + "bugs": { + "url": "https://github.com/stdlib-js/stdlib/issues" + }, + "dependencies": {}, + "devDependencies": {}, + "engines": { + "node": ">=0.10.0", + "npm": ">2.7.0" + }, + "os": [ + "aix", + "darwin", + "freebsd", + "linux", + "macos", + "openbsd", + "sunos", + "win32", + "windows" + ], + "keywords": [ + "stdlib", + "ml", + "machine", + "learning", + "cluster", + "kmeans", + "metric", + "utilities", + "utility", + "utils", + "util", + "enum" + ], + "__stdlib__": {} +} diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/test/test.js b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/test/test.js new file mode 100644 index 000000000000..9590e9be8879 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/test/test.js @@ -0,0 +1,75 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var tape = require( 'tape' ); +var str2enum = require( '@stdlib/ml/cluster/base/kmeans/metric-str2enum' ); +var resolve = require( './../lib' ); + + +// VARIABLES // + +var VALUES = [ + 'euclidean', + 'cosine', + 'cityblock' +]; + + +// TESTS // + +tape( 'main export is a function', function test( t ) { + t.ok( true, __filename ); + t.strictEqual( typeof resolve, 'function', 'main export is a function' ); + t.end(); +}); + +tape( 'the function returns the enumeration constant associated with a KMeans clustering distance metric value', function test( t ) { + var v; + var i; + for ( i = 0; i < VALUES.length; i++ ) { + v = str2enum( VALUES[ i ] ); + t.strictEqual( resolve( VALUES[ i ] ), v, 'returns expected value' ); + t.strictEqual( resolve( v ), v, 'returns expected value' ); + } + t.end(); +}); + +tape( 'the function returns `null` if unable to resolve an enumeration constant', function test( t ) { + var values; + var i; + + values = [ + 'beep', + 'boop', + 'foo', + 'bar', + -99999999, + -9999999999, + -9999999999999, + true, + false + ]; + for ( i = 0; i < values.length; i++ ) { + t.strictEqual( resolve( values[ i ] ), null, 'returns expected value' ); + } + t.end(); +}); diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/README.md b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/README.md new file mode 100644 index 000000000000..915e7e529a70 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/README.md @@ -0,0 +1,121 @@ + + +# resolve + +> Return the distance metric string associated with a supported KMeans clustering distance metric value. + + + +
+ +
+ + + + + +
+ +## Usage + +```javascript +var resolve = require( '@stdlib/ml/cluster/base/kmeans/metric-resolve-str' ); +``` + +#### resolve( value ) + +Returns the distance metric string associated with a KMeans clustering distance metric value. + +```javascript +var str2enum = require( '@stdlib/ml/cluster/base/kmeans/metric-str2enum' ); + +var v = resolve( 'cosine' ); +// returns 'cosine' + +v = resolve( str2enum( 'cosine' ) ); +// returns 'cosine' +``` + +If unable to resolve a KMeans distance metric string, the function returns `null`. + +```javascript +var v = resolve( 'beep' ); +// returns null +``` + +
+ + + + + +
+ +
+ + + + + +
+ +## Examples + + + +```javascript +var str2enum = require( '@stdlib/ml/cluster/base/kmeans/metric-str2enum' ); +var resolve = require( '@stdlib/ml/cluster/base/kmeans/metric-resolve-str' ); + +var v = resolve( str2enum( 'cosine' ) ); +// returns 'cosine' + +v = resolve( str2enum( 'euclidean' ) ); +// returns 'euclidean' +``` + +
+ + + + + +
+ +
+ + + + + + + + + + + + + + diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/benchmark/benchmark.js b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/benchmark/benchmark.js new file mode 100644 index 000000000000..965577adc14d --- /dev/null +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/benchmark/benchmark.js @@ -0,0 +1,81 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var bench = require( '@stdlib/bench' ); +var isString = require( '@stdlib/assert/is-string' ).isPrimitive; +var str2enum = require( '@stdlib/ml/cluster/base/kmeans/metric-str2enum' ); +var format = require( '@stdlib/string/format' ); +var pkg = require( './../package.json' ).name; +var resolve = require( './../lib' ); + + +// MAIN // + +bench( format( '%s::string', pkg ), function benchmark( b ) { + var values; + var out; + var i; + + values = [ + 'euclidean', + 'cosine' + ]; + + b.tic(); + for ( i = 0; i < b.iterations; i++ ) { + out = resolve( values[ i%values.length ] ); + if ( typeof out !== 'string' ) { + b.fail( 'should return a string' ); + } + } + b.toc(); + if ( !isString( out ) ) { + b.fail( 'should return a string' ); + } + b.pass( 'benchmark finished' ); + b.end(); +}); + +bench( format( '%s::integer', pkg ), function benchmark( b ) { + var values; + var out; + var i; + + values = [ + str2enum( 'euclidean' ), + str2enum( 'cosine' ) + ]; + + b.tic(); + for ( i = 0; i < b.iterations; i++ ) { + out = resolve( values[ i%values.length ] ); + if ( typeof out !== 'string' ) { + b.fail( 'should return a string' ); + } + } + b.toc(); + if ( !isString( out ) ) { + b.fail( 'should return a string' ); + } + b.pass( 'benchmark finished' ); + b.end(); +}); diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/docs/repl.txt b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/docs/repl.txt new file mode 100644 index 000000000000..16f2da511d87 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/docs/repl.txt @@ -0,0 +1,25 @@ + +{{alias}}( value ) + Returns the distance metric string associated with a supported KMeans + distance metric value. + + Parameters + ---------- + value: any + Distance metric value. + + Returns + ------- + out: string|null + Distance metric string. + + Examples + -------- + > var out = {{alias}}( 'cosine' ) + 'cosine' + > out = {{alias}}( {{alias:@stdlib/ml/cluster/base/kmeans/metric-str2enum}}( 'cosine' ) ) + 'cosine' + + See Also + -------- + diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/docs/types/index.d.ts b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/docs/types/index.d.ts new file mode 100644 index 000000000000..7faf1f29fc39 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/docs/types/index.d.ts @@ -0,0 +1,38 @@ +/* +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +// TypeScript Version: 4.1 + +/** +* Returns the distance metric string associated with a KMeans clustering distance metric value. +* +* @param value - distance metric value +* @returns distance metric string +* +* @example +* var str2enum = require( '@stdlib/ml/cluster/base/kmeans/metric-str2enum' ); +* +* var v = resolve( str2enum( 'cosine' ) ); +* // returns 'cosine' +*/ +declare function resolve( value: any ): string | null; + + +// EXPORTS // + +export = resolve; diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/docs/types/test.ts b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/docs/types/test.ts new file mode 100644 index 000000000000..0672534ef1a0 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/docs/types/test.ts @@ -0,0 +1,28 @@ +/* +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +import resolve = require( './index' ); + + +// TESTS // + +// The function returns a string or null... +{ + resolve( 0 ); // $ExpectType string | null + resolve( 'cosine' ); // $ExpectType string | null +} diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/examples/index.js b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/examples/index.js new file mode 100644 index 000000000000..60a5f1e9683c --- /dev/null +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/examples/index.js @@ -0,0 +1,30 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +var str2enum = require( '@stdlib/ml/cluster/base/kmeans/metric-str2enum' ); +var resolve = require( './../lib' ); + +var v = resolve( str2enum( 'cosine' ) ); +console.log( v ); +// => 'cosine' + +v = resolve( str2enum( 'euclidean' ) ); +console.log( v ); +// => 'euclidean' diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/lib/index.js b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/lib/index.js new file mode 100644 index 000000000000..41b37b5d8204 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/lib/index.js @@ -0,0 +1,41 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +/** +* Return the distance metric string associated with a supported KMeans clustering distance metric value. +* +* @module @stdlib/ml/cluster/base/kmeans/metric-resolve-str +* +* @example +* var str2enum = require( '@stdlib/ml/cluster/base/kmeans/metric-str2enum' ); +* var resolve = require( '@stdlib/ml/cluster/base/kmeans/metric-resolve-str' ); +* +* var v = resolve( str2enum( 'cosine' ) ); +* // returns 'cosine' +*/ + +// MODULES // + +var main = require( './main.js' ); + + +// EXPORTS // + +module.exports = main; diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/lib/main.js b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/lib/main.js new file mode 100644 index 000000000000..74ca8f50e721 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/lib/main.js @@ -0,0 +1,55 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var enum2str = require( '@stdlib/ml/cluster/base/kmeans/metric-enum2str' ); +var str2enum = require( '@stdlib/ml/cluster/base/kmeans/metric-str2enum' ); + + +// MAIN // + +/** +* Returns the distance metric string associated with a supported KMeans clustering distance metric value. +* +* @param {*} value - distance metric value +* @returns {(string|null)} distance metric string or null +* +* @example +* var str2enum = require( '@stdlib/ml/cluster/base/kmeans/metric-str2enum' ); +* +* var v = resolve( str2enum( 'cosine' ) ); +* // returns 'cosine' +*/ +function resolve( value ) { + var t = ( typeof value ); + if ( t === 'string' ) { + return ( str2enum( value ) === null ) ? null : value; + } + if ( t === 'number' ) { + return enum2str( value ); + } + return null; +} + + +// EXPORTS // + +module.exports = resolve; diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/package.json b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/package.json new file mode 100644 index 000000000000..933cd9c6b75a --- /dev/null +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/package.json @@ -0,0 +1,66 @@ +{ + "name": "@stdlib/ml/cluster/base/kmeans/metric-resolve-str", + "version": "0.0.0", + "description": "Return the distance metric string associated with a supported KMeans clustering distance metric value.", + "license": "Apache-2.0", + "author": { + "name": "The Stdlib Authors", + "url": "https://github.com/stdlib-js/stdlib/graphs/contributors" + }, + "contributors": [ + { + "name": "The Stdlib Authors", + "url": "https://github.com/stdlib-js/stdlib/graphs/contributors" + } + ], + "main": "./lib", + "directories": { + "benchmark": "./benchmark", + "doc": "./docs", + "example": "./examples", + "lib": "./lib", + "test": "./test" + }, + "types": "./docs/types", + "scripts": {}, + "homepage": "https://github.com/stdlib-js/stdlib", + "repository": { + "type": "git", + "url": "git://github.com/stdlib-js/stdlib.git" + }, + "bugs": { + "url": "https://github.com/stdlib-js/stdlib/issues" + }, + "dependencies": {}, + "devDependencies": {}, + "engines": { + "node": ">=0.10.0", + "npm": ">2.7.0" + }, + "os": [ + "aix", + "darwin", + "freebsd", + "linux", + "macos", + "openbsd", + "sunos", + "win32", + "windows" + ], + "keywords": [ + "stdlib", + "ml", + "machine", + "learning", + "cluster", + "kmeans", + "metric", + "utilities", + "utility", + "utils", + "util", + "enum" + ], + "__stdlib__": {} +} diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/test/test.js b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/test/test.js new file mode 100644 index 000000000000..d9075fd932bb --- /dev/null +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/test/test.js @@ -0,0 +1,75 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var tape = require( 'tape' ); +var str2enum = require( '@stdlib/ml/cluster/base/kmeans/metric-str2enum' ); +var resolve = require( './../lib' ); + + +// VARIABLES // + +var VALUES = [ + 'euclidean', + 'cosine', + 'cityblock' +]; + + +// TESTS // + +tape( 'main export is a function', function test( t ) { + t.ok( true, __filename ); + t.strictEqual( typeof resolve, 'function', 'main export is a function' ); + t.end(); +}); + +tape( 'the function returns the string associated with a KMeans clustering distance metric value', function test( t ) { + var v; + var i; + for ( i = 0; i < VALUES.length; i++ ) { + v = str2enum( VALUES[ i ] ); + t.strictEqual( resolve( VALUES[ i ] ), VALUES[ i ], 'returns expected value' ); + t.strictEqual( resolve( v ), VALUES[ i ], 'returns expected value' ); + } + t.end(); +}); + +tape( 'the function returns `null` if unable to resolve a string', function test( t ) { + var values; + var i; + + values = [ + 'beep', + 'boop', + 'foo', + 'bar', + -99999999, + -9999999999, + -9999999999999, + true, + false + ]; + for ( i = 0; i < values.length; i++ ) { + t.strictEqual( resolve( values[ i ] ), null, 'returns expected value' ); + } + t.end(); +}); diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/README.md b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/README.md new file mode 100644 index 000000000000..4dfb0615f235 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/README.md @@ -0,0 +1,119 @@ + + +# str2enum + +> Return the enumeration constant associated with a KMeans distance metric string. + + + +
+ +
+ + + + + +
+ +## Usage + +```javascript +var str2enum = require( '@stdlib/ml/cluster/base/kmeans/metric-str2enum' ); +``` + +#### str2enum( metric ) + +Returns the enumeration constant associated with a KMeans distance metric string. + +```javascript +var v = str2enum( 'cosine' ); +// returns +``` + +If unable to resolve an enumeration constant, the function returns `null`. + +```javascript +var v = str2enum( 'beep' ); +// returns null +``` + +
+ + + + + +
+ +## Notes + +- Downstream consumers of this function should **not** rely on specific integer values (e.g., `EUCLIDEAN == 0`). Instead, the function should be used in an opaque manner. + +
+ + + + + +
+ +## Examples + + + +```javascript +var str2enum = require( '@stdlib/ml/cluster/base/kmeans/metric-str2enum' ); + +var v = str2enum( 'cosine' ); +// returns + +v = str2enum( 'euclidean' ); +// returns +``` + +
+ + + + + +
+ +
+ + + + + + + + + + + + + + diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/benchmark/benchmark.js b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/benchmark/benchmark.js new file mode 100644 index 000000000000..0ff5d7719222 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/benchmark/benchmark.js @@ -0,0 +1,54 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var bench = require( '@stdlib/bench' ); +var isInteger = require( '@stdlib/assert/is-integer' ).isPrimitive; +var pkg = require( './../package.json' ).name; +var str2enum = require( './../lib' ); + + +// MAIN // + +bench( pkg, function benchmark( b ) { + var values; + var out; + var i; + + values = [ + 'cosine', + 'euclidean' + ]; + + b.tic(); + for ( i = 0; i < b.iterations; i++ ) { + out = str2enum( values[ i%values.length ] ); + if ( typeof out !== 'number' ) { + b.fail( 'should return a number' ); + } + } + b.toc(); + if ( !isInteger( out ) ) { + b.fail( 'should return an integer' ); + } + b.pass( 'benchmark finished' ); + b.end(); +}); diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/docs/repl.txt b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/docs/repl.txt new file mode 100644 index 000000000000..f056e2c96f2e --- /dev/null +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/docs/repl.txt @@ -0,0 +1,27 @@ + +{{alias}}( metric ) + Returns the enumeration constant associated with a KMeans distance metric + string. + + Downstream consumers of this function should *not* rely on specific integer + values (e.g., `EUCLIDEAN == 0`). Instead, the function should be used in an + opaque manner. + + Parameters + ---------- + metric: string + Distance metric. + + Returns + ------- + out: integer|null + Enumeration constant. + + Examples + -------- + > var out = {{alias}}( 'cosine' ) + + + See Also + -------- + diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/docs/types/index.d.ts b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/docs/types/index.d.ts new file mode 100644 index 000000000000..8ee8af05fdf2 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/docs/types/index.d.ts @@ -0,0 +1,40 @@ +/* +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +// TypeScript Version: 4.1 + +/** +* Returns the enumeration constant associated with a KMeans distance metric string. +* +* ## Notes +* +* - Downstream consumers of this function should **not** rely on specific integer values (e.g., `EUCLIDEAN == 0`). Instead, the function should be used in an opaque manner. +* +* @param metric - distance metric string +* @returns enumeration constant +* +* @example +* var v = str2enum( 'cosine' ); +* // returns +*/ +declare function str2enum( metric: string ): number | null; + + +// EXPORTS // + +export = str2enum; diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/docs/types/test.ts b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/docs/types/test.ts new file mode 100644 index 000000000000..4c3bbfbd5cf2 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/docs/types/test.ts @@ -0,0 +1,39 @@ +/* +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +import str2enum = require( './index' ); + + +// TESTS // + +// The function returns a number or null... +{ + str2enum( 'cosine' ); // $ExpectType number | null +} + +// The compiler throws an error if not provided a string... +{ + str2enum( 10 ); // $ExpectError + str2enum( true ); // $ExpectError + str2enum( false ); // $ExpectError + str2enum( null ); // $ExpectError + str2enum( undefined ); // $ExpectError + str2enum( [] ); // $ExpectError + str2enum( {} ); // $ExpectError + str2enum( ( x: number ): number => x ); // $ExpectError +} diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/examples/index.js b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/examples/index.js new file mode 100644 index 000000000000..2d0c5b821db9 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/examples/index.js @@ -0,0 +1,29 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +var str2enum = require( './../lib' ); + +var v = str2enum( 'cosine' ); +console.log( v ); +// => + +v = str2enum( 'euclidean' ); +console.log( v ); +// => diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/lib/index.js b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/lib/index.js new file mode 100644 index 000000000000..749fd6662e12 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/lib/index.js @@ -0,0 +1,40 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +/** +* Return the enumeration constant associated with a KMeans distance metric string. +* +* @module @stdlib/ml/cluster/base/kmeans/metric-str2enum +* +* @example +* var str2enum = require( '@stdlib/ml/cluster/base/kmeans/metric-str2enum' ); +* +* var v = str2enum( 'cosine' ); +* // returns +*/ + +// MODULES // + +var main = require( './main.js' ); + + +// EXPORTS // + +module.exports = main; diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/lib/main.js b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/lib/main.js new file mode 100644 index 000000000000..0b9d225553c1 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/lib/main.js @@ -0,0 +1,56 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var isNumber = require( '@stdlib/assert/is-number' ).isPrimitive; +var enumeration = require( '@stdlib/ml/cluster/base/kmeans/metrics' ).enum; + + +// VARIABLES // + +var ENUM = enumeration(); + + +// MAIN // + +/** +* Returns the enumeration constant associated with a KMeans distance metric string. +* +* ## Notes +* +* - Downstream consumers of this function should **not** rely on specific integer values (e.g., `EUCLIDEAN == 0`). Instead, the function should be used in an opaque manner. +* +* @param {string} metric - distance metric string +* @returns {(integer|null)} integer value or null +* +* @example +* var v = str2enum( 'cosine' ); +* // returns +*/ +function str2enum( metric ) { + var v = ENUM[ metric ]; + return ( isNumber( v ) ) ? v : null; // note: we include this guard to prevent walking the prototype chain +} + + +// EXPORTS // + +module.exports = str2enum; diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/package.json b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/package.json new file mode 100644 index 000000000000..b4ca882caf1a --- /dev/null +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/package.json @@ -0,0 +1,66 @@ +{ + "name": "@stdlib/ml/cluster/base/kmeans/metric-str2enum", + "version": "0.0.0", + "description": "Return the enumeration constant associated with a KMeans distance metric string.", + "license": "Apache-2.0", + "author": { + "name": "The Stdlib Authors", + "url": "https://github.com/stdlib-js/stdlib/graphs/contributors" + }, + "contributors": [ + { + "name": "The Stdlib Authors", + "url": "https://github.com/stdlib-js/stdlib/graphs/contributors" + } + ], + "main": "./lib", + "directories": { + "benchmark": "./benchmark", + "doc": "./docs", + "example": "./examples", + "lib": "./lib", + "test": "./test" + }, + "types": "./docs/types", + "scripts": {}, + "homepage": "https://github.com/stdlib-js/stdlib", + "repository": { + "type": "git", + "url": "git://github.com/stdlib-js/stdlib.git" + }, + "bugs": { + "url": "https://github.com/stdlib-js/stdlib/issues" + }, + "dependencies": {}, + "devDependencies": {}, + "engines": { + "node": ">=0.10.0", + "npm": ">2.7.0" + }, + "os": [ + "aix", + "darwin", + "freebsd", + "linux", + "macos", + "openbsd", + "sunos", + "win32", + "windows" + ], + "keywords": [ + "stdlib", + "ml", + "machine", + "learning", + "cluster", + "kmeans", + "metric", + "utilities", + "utility", + "utils", + "util", + "enum" + ], + "__stdlib__": {} +} diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/test/test.js b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/test/test.js new file mode 100644 index 000000000000..1091d7effcc0 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/test/test.js @@ -0,0 +1,67 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var tape = require( 'tape' ); +var enum2str = require( '@stdlib/ml/cluster/base/kmeans/metric-enum2str' ); +var str2enum = require( './../lib' ); + + +// VARIABLES // + +var VALUES = [ + 'cosine', + 'euclidean', + 'cityblock' +]; + + +// TESTS // + +tape( 'main export is a function', function test( t ) { + t.ok( true, __filename ); + t.strictEqual( typeof str2enum, 'function', 'main export is a function' ); + t.end(); +}); + +tape( 'the function returns the enumeration constant associated with a string', function test( t ) { + var i; + for ( i = 0; i < VALUES.length; i++ ) { + t.strictEqual( enum2str( str2enum( VALUES[ i ] ) ), VALUES[ i ], 'returns expected value' ); + } + t.end(); +}); + +tape( 'the function returns `null` if unable to resolve an enumeration constant', function test( t ) { + var values; + var i; + + values = [ + 'beep', + 'boop', + 'foo', + 'bar' + ]; + for ( i = 0; i < values.length; i++ ) { + t.strictEqual( str2enum( values[ i ] ), null, 'returns expected value' ); + } + t.end(); +}); diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/README.md b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/README.md new file mode 100644 index 000000000000..129f05b9fbe4 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/README.md @@ -0,0 +1,188 @@ + + +# Distance Metrics + +> KMeans distance metrics. + + + +
+ +
+ + + + + +
+ +## Usage + +```javascript +var metrics = require( '@stdlib/ml/cluster/base/kmeans/metrics' ); +``` + +#### metrics() + +Returns a list of KMeans distance metrics. + +```javascript +var out = metrics(); +// e.g., returns [ 'euclidean', 'cosine', 'cityblock' ] +``` + +The output array contains the following metrics: + +- `euclidean`: squared euclidean distance. +- `cosine`: cosine distance. +- `cityblock`: cityblock (taxicab) distance. + +
+ + + + + +
+ +
+ + + + + +
+ +## Examples + + + +```javascript +var contains = require( '@stdlib/array/base/assert/contains' ).factory; +var metrics = require( '@stdlib/ml/cluster/base/kmeans/metrics' ); + +var isMetric = contains( metrics() ); + +var bool = isMetric( 'euclidean' ); +// returns true + +bool = isMetric( 'cosine' ); +// returns true + +bool = isMetric( 'beep' ); +// returns false +``` + +
+ + + + + +* * * + +
+ +## C APIs + + + +
+ +
+ + + + + +
+ +### Usage + +```c +#include "stdlib/ml/cluster/base/kmeans/metrics.h" +``` + +#### STDLIB_ML_CLUSTER_KMEANS_METRIC + +An enumeration of KMeans distance metrics with the following fields: + +- **STDLIB_ML_CLUSTER_KMEANS_EUCLIDEAN**: squared euclidean distance. +- **STDLIB_ML_CLUSTER_KMEANS_COSINE**: cosine distance. +- **STDLIB_ML_CLUSTER_KMEANS_CITYBLOCK**: cityblock (taxicab) distance. + +```c +#include "stdlib/ml/cluster/base/kmeans/metrics.h" + +const enum STDLIB_ML_CLUSTER_KMEANS_METRIC v = STDLIB_ML_CLUSTER_KMEANS_EUCLIDEAN; +``` + +
+ + + + + +
+ +### Notes + +- Enumeration constants should be considered opaque values, and one should **not** rely on specific integer values. + +
+ + + + + +
+ +
+ + + +
+ + + + + +
+ +
+ + + + + + + + + + + + + + diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/benchmark/benchmark.js b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/benchmark/benchmark.js new file mode 100644 index 000000000000..6d712021696f --- /dev/null +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/benchmark/benchmark.js @@ -0,0 +1,48 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var bench = require( '@stdlib/bench' ); +var isStringArray = require( '@stdlib/assert/is-string-array' ).primitives; +var pkg = require( './../package.json' ).name; +var metrics = require( './../lib' ); + + +// MAIN // + +bench( pkg, function benchmark( b ) { + var out; + var i; + + b.tic(); + for ( i = 0; i < b.iterations; i++ ) { + out = metrics(); + if ( out.length < 2 ) { + b.fail( 'should return an array' ); + } + } + b.toc(); + if ( !isStringArray( out ) ) { + b.fail( 'should return an array of strings' ); + } + b.pass( 'benchmark finished' ); + b.end(); +}); diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/docs/repl.txt b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/docs/repl.txt new file mode 100644 index 000000000000..33a3dd64e03d --- /dev/null +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/docs/repl.txt @@ -0,0 +1,23 @@ + +{{alias}}() + Returns a list of distance metrics. + + The output array contains the following metrics: + + - euclidean: squared euclidean distance. + - cosine: cosine distance. + - cityblock: cityblock (taxicab) distance. + + Returns + ------- + out: Array + List of metrics. + + Examples + -------- + > var out = {{alias}}() + [ 'euclidean', 'cosine', 'cityblock' ] + + See Also + -------- + diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/docs/types/index.d.ts b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/docs/types/index.d.ts new file mode 100644 index 000000000000..9b815725ecca --- /dev/null +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/docs/types/index.d.ts @@ -0,0 +1,35 @@ +/* +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +// TypeScript Version: 4.1 + +/** +* Returns a list of distance metrics. +* +* @returns list of distance metrics +* +* @example +* var list = metrics(); +* // e.g., returns [ 'euclidean', 'cosine', 'cityblock' ] +*/ +declare function metrics(): Array; + + +// EXPORTS // + +export = metrics; diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/docs/types/test.ts b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/docs/types/test.ts new file mode 100644 index 000000000000..af36c7f73799 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/docs/types/test.ts @@ -0,0 +1,32 @@ +/* +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +import metrics = require( './index' ); + + +// TESTS // + +// The function returns an array of strings... +{ + metrics(); // $ExpectType string[] +} + +// The compiler throws an error if the function is provided any arguments... +{ + metrics( 9 ); // $ExpectError +} diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/examples/index.js b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/examples/index.js new file mode 100644 index 000000000000..fc89c5a66257 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/examples/index.js @@ -0,0 +1,36 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +var contains = require( '@stdlib/array/base/assert/contains' ).factory; +var metrics = require( './../lib' ); + +var isAlternative = contains( metrics() ); + +var bool = isAlternative( 'euclidean' ); +console.log( bool ); +// => true + +bool = isAlternative( 'cosine' ); +console.log( bool ); +// => true + +bool = isAlternative( 'beep' ); +console.log( bool ); +// => false diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/include/stdlib/ml/cluster/base/kmeans/metrics.h b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/include/stdlib/ml/cluster/base/kmeans/metrics.h new file mode 100644 index 000000000000..956533a29100 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/include/stdlib/ml/cluster/base/kmeans/metrics.h @@ -0,0 +1,36 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +#ifndef STDLIB_ML_CLUSTER_BASE_KMEANS_METRICS_H +#define STDLIB_ML_CLUSTER_BASE_KMEANS_METRICS_H + +/** +* Enumeration of distance metrics. +*/ +enum STDLIB_ML_CLUSTER_KMEANS_METRICS { + // Euclidean distance: + STDLIB_ML_CLUSTER_KMEANS_EUCLIDEAN = 0, + + // Cosine distance: + STDLIB_ML_CLUSTER_KMEANS_COSINE, + + // Cityblock (taxicab) distance: + STDLIB_ML_CLUSTER_KMEANS_CITYBLOCK +}; + +#endif // !STDLIB_ML_CLUSTER_BASE_KMEANS_METRICS_H diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/lib/data.json b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/lib/data.json new file mode 100644 index 000000000000..666d235f1c64 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/lib/data.json @@ -0,0 +1,5 @@ +[ + "euclidean", + "cosine", + "cityblock" +] diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/lib/enum.js b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/lib/enum.js new file mode 100644 index 000000000000..190b0d92b532 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/lib/enum.js @@ -0,0 +1,54 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MAIN // + +/** +* Returns an object mapping supported metrics to integer values for purposes of C inter-operation. +* +* ## Notes +* +* - Downstream consumers of this mapping should **not** rely on specific integer values (e.g., `EUCLIDEAN == 0`). Instead, the object should be used in an opaque manner. +* - The main purpose of this function is JavaScript and C inter-operation. +* +* @returns {Object} object mapping supported metrics to integer values +* +* @example +* var table = enumerated(); +* // returns +*/ +function enumerated() { + // NOTE: the following should match the C `metrics.h` enumeration!!!! + return { + // Euclidean distance: + 'euclidean': 0, + + // Cosine distance: + 'cosine': 1, + + // Cityblock (taxicab) distance: + 'cityblock': 2 + }; +} + + +// EXPORTS // + +module.exports = enumerated; diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/lib/index.js b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/lib/index.js new file mode 100644 index 000000000000..907814d0a7a7 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/lib/index.js @@ -0,0 +1,47 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +/** +* Return a list of KMeans distance metrics. +* +* @module @stdlib/ml/cluster/base/kmeans/metrics +* +* @example +* var metrics = require( '@stdlib/ml/cluster/base/kmeans/metrics' ); +* +* var list = metrics(); +* // e.g., returns [ 'euclidean', 'cosine', 'cityblock' ] +*/ + +// MODULES // + +var setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' ); +var main = require( './main.js' ); +var enumeration = require( './enum.js' ); + + +// MAIN // + +setReadOnly( main, 'enum', enumeration ); + + +// EXPORTS // + +module.exports = main; diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/lib/main.js b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/lib/main.js new file mode 100644 index 000000000000..d4b734f61f36 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/lib/main.js @@ -0,0 +1,44 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var DATA = require( './data.json' ); + + +// MAIN // + +/** +* Returns a list of KMeans distance metrics. +* +* @returns {StringArray} list of distance metrics +* +* @example +* var list = metrics(); +* // e.g., returns [ 'euclidean', 'cosine', 'cityblock' ] +*/ +function metrics() { + return DATA.slice(); +} + + +// EXPORTS // + +module.exports = metrics; diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/manifest.json b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/manifest.json new file mode 100644 index 000000000000..844d692f6439 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/manifest.json @@ -0,0 +1,36 @@ +{ + "options": {}, + "fields": [ + { + "field": "src", + "resolve": true, + "relative": true + }, + { + "field": "include", + "resolve": true, + "relative": true + }, + { + "field": "libraries", + "resolve": false, + "relative": false + }, + { + "field": "libpath", + "resolve": true, + "relative": false + } + ], + "confs": [ + { + "src": [], + "include": [ + "./include" + ], + "libraries": [], + "libpath": [], + "dependencies": [] + } + ] +} diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/package.json b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/package.json new file mode 100644 index 000000000000..5ac9161d250c --- /dev/null +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/package.json @@ -0,0 +1,67 @@ +{ + "name": "@stdlib/ml/cluster/base/kmeans/metrics", + "version": "0.0.0", + "description": "KMeans distance metrics.", + "license": "Apache-2.0", + "author": { + "name": "The Stdlib Authors", + "url": "https://github.com/stdlib-js/stdlib/graphs/contributors" + }, + "contributors": [ + { + "name": "The Stdlib Authors", + "url": "https://github.com/stdlib-js/stdlib/graphs/contributors" + } + ], + "main": "./lib", + "directories": { + "benchmark": "./benchmark", + "doc": "./docs", + "example": "./examples", + "include": "./include", + "lib": "./lib", + "test": "./test" + }, + "types": "./docs/types", + "scripts": {}, + "homepage": "https://github.com/stdlib-js/stdlib", + "repository": { + "type": "git", + "url": "git://github.com/stdlib-js/stdlib.git" + }, + "bugs": { + "url": "https://github.com/stdlib-js/stdlib/issues" + }, + "dependencies": {}, + "devDependencies": {}, + "engines": { + "node": ">=0.10.0", + "npm": ">2.7.0" + }, + "os": [ + "aix", + "darwin", + "freebsd", + "linux", + "macos", + "openbsd", + "sunos", + "win32", + "windows" + ], + "keywords": [ + "stdlib", + "ml", + "machine", + "learning", + "cluster", + "kmeans", + "metric", + "utilities", + "utility", + "utils", + "util", + "enum" + ], + "__stdlib__": {} +} diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/test/test.js b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/test/test.js new file mode 100644 index 000000000000..9b70b6b32ef8 --- /dev/null +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/test/test.js @@ -0,0 +1,75 @@ +/** +* @license Apache-2.0 +* +* Copyright (c) 2025 The Stdlib Authors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +'use strict'; + +// MODULES // + +var tape = require( 'tape' ); +var hasOwnProp = require( '@stdlib/assert/has-own-property' ); +var isNonNegativeInteger = require( '@stdlib/assert/is-nonnegative-integer' ).isPrimitive; +var metrics = require( './../lib' ); + + +// TESTS // + +tape( 'main export is a function', function test( t ) { + t.ok( true, __filename ); + t.strictEqual( typeof metrics, 'function', 'main export is a function' ); + t.end(); +}); + +tape( 'the function returns a list of metrics', function test( t ) { + var expected; + var actual; + + expected = [ + 'euclidean', + 'cosine', + 'cityblock' + ]; + actual = metrics(); + + t.deepEqual( actual, expected, 'returns expected value' ); + t.end(); +}); + +tape( 'attached to the main function is an `enum` method to return an object mapping metrics to integer values for C inter-operation', function test( t ) { + var obj; + var o; + var i; + + t.strictEqual( hasOwnProp( metrics, 'enum' ), true, 'has property' ); + t.strictEqual( typeof metrics.enum, 'function', 'has method' ); + + obj = metrics.enum(); + t.strictEqual( typeof obj, 'object', 'returns expected value type' ); + + // List of values which should be supported... + o = [ + 'euclidean', + 'cosine', + 'cityblock' + ]; + for ( i = 0; i < o.length; i++ ) { + t.strictEqual( hasOwnProp( obj, o[ i ] ), true, 'has property `' + o[ i ] + '`' ); + t.strictEqual( isNonNegativeInteger( obj[ o[i] ] ), true, 'returns expected value' ); + } + + t.end(); +}); From a1fa2ceb9a7711d38d830fe398cf26ac87990cfe Mon Sep 17 00:00:00 2001 From: stdlib-bot <82920195+stdlib-bot@users.noreply.github.com> Date: Thu, 5 Mar 2026 06:22:45 +0000 Subject: [PATCH 02/10] chore: update copyright years --- .../@stdlib/ml/cluster/base/kmeans/metric-enum2str/README.md | 2 +- .../cluster/base/kmeans/metric-enum2str/benchmark/benchmark.js | 2 +- .../cluster/base/kmeans/metric-enum2str/docs/types/index.d.ts | 2 +- .../ml/cluster/base/kmeans/metric-enum2str/docs/types/test.ts | 2 +- .../ml/cluster/base/kmeans/metric-enum2str/examples/index.js | 2 +- .../@stdlib/ml/cluster/base/kmeans/metric-enum2str/lib/index.js | 2 +- .../@stdlib/ml/cluster/base/kmeans/metric-enum2str/lib/main.js | 2 +- .../@stdlib/ml/cluster/base/kmeans/metric-enum2str/test/test.js | 2 +- .../ml/cluster/base/kmeans/metric-resolve-enum/README.md | 2 +- .../base/kmeans/metric-resolve-enum/benchmark/benchmark.js | 2 +- .../base/kmeans/metric-resolve-enum/docs/types/index.d.ts | 2 +- .../cluster/base/kmeans/metric-resolve-enum/docs/types/test.ts | 2 +- .../cluster/base/kmeans/metric-resolve-enum/examples/index.js | 2 +- .../ml/cluster/base/kmeans/metric-resolve-enum/lib/index.js | 2 +- .../ml/cluster/base/kmeans/metric-resolve-enum/lib/main.js | 2 +- .../ml/cluster/base/kmeans/metric-resolve-enum/test/test.js | 2 +- .../@stdlib/ml/cluster/base/kmeans/metric-resolve-str/README.md | 2 +- .../base/kmeans/metric-resolve-str/benchmark/benchmark.js | 2 +- .../base/kmeans/metric-resolve-str/docs/types/index.d.ts | 2 +- .../cluster/base/kmeans/metric-resolve-str/docs/types/test.ts | 2 +- .../ml/cluster/base/kmeans/metric-resolve-str/examples/index.js | 2 +- .../ml/cluster/base/kmeans/metric-resolve-str/lib/index.js | 2 +- .../ml/cluster/base/kmeans/metric-resolve-str/lib/main.js | 2 +- .../ml/cluster/base/kmeans/metric-resolve-str/test/test.js | 2 +- .../@stdlib/ml/cluster/base/kmeans/metric-str2enum/README.md | 2 +- .../cluster/base/kmeans/metric-str2enum/benchmark/benchmark.js | 2 +- .../cluster/base/kmeans/metric-str2enum/docs/types/index.d.ts | 2 +- .../ml/cluster/base/kmeans/metric-str2enum/docs/types/test.ts | 2 +- .../ml/cluster/base/kmeans/metric-str2enum/examples/index.js | 2 +- .../@stdlib/ml/cluster/base/kmeans/metric-str2enum/lib/index.js | 2 +- .../@stdlib/ml/cluster/base/kmeans/metric-str2enum/lib/main.js | 2 +- .../@stdlib/ml/cluster/base/kmeans/metric-str2enum/test/test.js | 2 +- .../@stdlib/ml/cluster/base/kmeans/metrics/README.md | 2 +- .../ml/cluster/base/kmeans/metrics/benchmark/benchmark.js | 2 +- .../ml/cluster/base/kmeans/metrics/docs/types/index.d.ts | 2 +- .../@stdlib/ml/cluster/base/kmeans/metrics/docs/types/test.ts | 2 +- .../@stdlib/ml/cluster/base/kmeans/metrics/examples/index.js | 2 +- .../metrics/include/stdlib/ml/cluster/base/kmeans/metrics.h | 2 +- .../@stdlib/ml/cluster/base/kmeans/metrics/lib/enum.js | 2 +- .../@stdlib/ml/cluster/base/kmeans/metrics/lib/index.js | 2 +- .../@stdlib/ml/cluster/base/kmeans/metrics/lib/main.js | 2 +- .../@stdlib/ml/cluster/base/kmeans/metrics/test/test.js | 2 +- 42 files changed, 42 insertions(+), 42 deletions(-) diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/README.md b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/README.md index d6fc489af309..584e85f846d7 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/README.md +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/README.md @@ -2,7 +2,7 @@ @license Apache-2.0 -Copyright (c) 2025 The Stdlib Authors. +Copyright (c) 2026 The Stdlib Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/benchmark/benchmark.js b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/benchmark/benchmark.js index fb4020f2cd7b..0d16ddc96a58 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/benchmark/benchmark.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2025 The Stdlib Authors. +* Copyright (c) 2026 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/docs/types/index.d.ts b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/docs/types/index.d.ts index b659e5454566..63fb60c5a3c6 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/docs/types/index.d.ts +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/docs/types/index.d.ts @@ -1,7 +1,7 @@ /* * @license Apache-2.0 * -* Copyright (c) 2025 The Stdlib Authors. +* Copyright (c) 2026 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/docs/types/test.ts b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/docs/types/test.ts index 7090e6e7c105..fe80992105ef 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/docs/types/test.ts +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/docs/types/test.ts @@ -1,7 +1,7 @@ /* * @license Apache-2.0 * -* Copyright (c) 2025 The Stdlib Authors. +* Copyright (c) 2026 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/examples/index.js b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/examples/index.js index 393a1aea9596..436b976c5844 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/examples/index.js +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/examples/index.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2025 The Stdlib Authors. +* Copyright (c) 2026 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/lib/index.js b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/lib/index.js index 68b11aa15da1..72ced34b3dab 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/lib/index.js +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/lib/index.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2025 The Stdlib Authors. +* Copyright (c) 2026 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/lib/main.js b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/lib/main.js index 801fb5b6cbdc..78c2fb34ad48 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/lib/main.js +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/lib/main.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2025 The Stdlib Authors. +* Copyright (c) 2026 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/test/test.js b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/test/test.js index f09c7af82a77..bea4694bd35a 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/test/test.js +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/test/test.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2025 The Stdlib Authors. +* Copyright (c) 2026 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/README.md b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/README.md index d5e142d3d36b..237308d160bf 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/README.md +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/README.md @@ -2,7 +2,7 @@ @license Apache-2.0 -Copyright (c) 2025 The Stdlib Authors. +Copyright (c) 2026 The Stdlib Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/benchmark/benchmark.js b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/benchmark/benchmark.js index cc5d70a0980a..0a9a787a0abc 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/benchmark/benchmark.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2025 The Stdlib Authors. +* Copyright (c) 2026 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/docs/types/index.d.ts b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/docs/types/index.d.ts index d658e17644d8..a3e0e54b20bf 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/docs/types/index.d.ts +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/docs/types/index.d.ts @@ -1,7 +1,7 @@ /* * @license Apache-2.0 * -* Copyright (c) 2025 The Stdlib Authors. +* Copyright (c) 2026 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/docs/types/test.ts b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/docs/types/test.ts index 1d1e2e49bc6b..6b7fffba68cb 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/docs/types/test.ts +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/docs/types/test.ts @@ -1,7 +1,7 @@ /* * @license Apache-2.0 * -* Copyright (c) 2025 The Stdlib Authors. +* Copyright (c) 2026 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/examples/index.js b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/examples/index.js index f96176a71a94..74a2b1b68bc2 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/examples/index.js +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/examples/index.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2025 The Stdlib Authors. +* Copyright (c) 2026 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/lib/index.js b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/lib/index.js index 4d8a88708e57..509cd64ff929 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/lib/index.js +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/lib/index.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2025 The Stdlib Authors. +* Copyright (c) 2026 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/lib/main.js b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/lib/main.js index 40fb2b100b55..dc2535c7519b 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/lib/main.js +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/lib/main.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2025 The Stdlib Authors. +* Copyright (c) 2026 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/test/test.js b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/test/test.js index 9590e9be8879..b734f5509dfa 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/test/test.js +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/test/test.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2025 The Stdlib Authors. +* Copyright (c) 2026 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/README.md b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/README.md index 915e7e529a70..7a6889bc3736 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/README.md +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/README.md @@ -2,7 +2,7 @@ @license Apache-2.0 -Copyright (c) 2025 The Stdlib Authors. +Copyright (c) 2026 The Stdlib Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/benchmark/benchmark.js b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/benchmark/benchmark.js index 965577adc14d..bff50ee39686 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/benchmark/benchmark.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2025 The Stdlib Authors. +* Copyright (c) 2026 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/docs/types/index.d.ts b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/docs/types/index.d.ts index 7faf1f29fc39..d1c7cb85cafd 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/docs/types/index.d.ts +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/docs/types/index.d.ts @@ -1,7 +1,7 @@ /* * @license Apache-2.0 * -* Copyright (c) 2025 The Stdlib Authors. +* Copyright (c) 2026 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/docs/types/test.ts b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/docs/types/test.ts index 0672534ef1a0..ca11e2f0806b 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/docs/types/test.ts +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/docs/types/test.ts @@ -1,7 +1,7 @@ /* * @license Apache-2.0 * -* Copyright (c) 2025 The Stdlib Authors. +* Copyright (c) 2026 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/examples/index.js b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/examples/index.js index 60a5f1e9683c..a9335f3cd48a 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/examples/index.js +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/examples/index.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2025 The Stdlib Authors. +* Copyright (c) 2026 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/lib/index.js b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/lib/index.js index 41b37b5d8204..f4c486d9f97b 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/lib/index.js +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/lib/index.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2025 The Stdlib Authors. +* Copyright (c) 2026 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/lib/main.js b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/lib/main.js index 74ca8f50e721..fa3d0c6bc224 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/lib/main.js +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/lib/main.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2025 The Stdlib Authors. +* Copyright (c) 2026 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/test/test.js b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/test/test.js index d9075fd932bb..08b2c82db8ed 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/test/test.js +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/test/test.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2025 The Stdlib Authors. +* Copyright (c) 2026 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/README.md b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/README.md index 4dfb0615f235..8fb5a005e689 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/README.md +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/README.md @@ -2,7 +2,7 @@ @license Apache-2.0 -Copyright (c) 2025 The Stdlib Authors. +Copyright (c) 2026 The Stdlib Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/benchmark/benchmark.js b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/benchmark/benchmark.js index 0ff5d7719222..d1c7aad74ac9 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/benchmark/benchmark.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2025 The Stdlib Authors. +* Copyright (c) 2026 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/docs/types/index.d.ts b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/docs/types/index.d.ts index 8ee8af05fdf2..ea526f5f4a00 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/docs/types/index.d.ts +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/docs/types/index.d.ts @@ -1,7 +1,7 @@ /* * @license Apache-2.0 * -* Copyright (c) 2025 The Stdlib Authors. +* Copyright (c) 2026 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/docs/types/test.ts b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/docs/types/test.ts index 4c3bbfbd5cf2..d51fc88a52c0 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/docs/types/test.ts +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/docs/types/test.ts @@ -1,7 +1,7 @@ /* * @license Apache-2.0 * -* Copyright (c) 2025 The Stdlib Authors. +* Copyright (c) 2026 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/examples/index.js b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/examples/index.js index 2d0c5b821db9..6105a6ceeed4 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/examples/index.js +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/examples/index.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2025 The Stdlib Authors. +* Copyright (c) 2026 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/lib/index.js b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/lib/index.js index 749fd6662e12..b3258b6ae8bc 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/lib/index.js +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/lib/index.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2025 The Stdlib Authors. +* Copyright (c) 2026 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/lib/main.js b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/lib/main.js index 0b9d225553c1..9ba86f851678 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/lib/main.js +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/lib/main.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2025 The Stdlib Authors. +* Copyright (c) 2026 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/test/test.js b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/test/test.js index 1091d7effcc0..a0cc51d409bb 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/test/test.js +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/test/test.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2025 The Stdlib Authors. +* Copyright (c) 2026 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/README.md b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/README.md index 129f05b9fbe4..9b114db776e6 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/README.md +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/README.md @@ -2,7 +2,7 @@ @license Apache-2.0 -Copyright (c) 2025 The Stdlib Authors. +Copyright (c) 2026 The Stdlib Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/benchmark/benchmark.js b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/benchmark/benchmark.js index 6d712021696f..a093b4477c7d 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/benchmark/benchmark.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2025 The Stdlib Authors. +* Copyright (c) 2026 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/docs/types/index.d.ts b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/docs/types/index.d.ts index 9b815725ecca..7fda8640d0c8 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/docs/types/index.d.ts +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/docs/types/index.d.ts @@ -1,7 +1,7 @@ /* * @license Apache-2.0 * -* Copyright (c) 2025 The Stdlib Authors. +* Copyright (c) 2026 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/docs/types/test.ts b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/docs/types/test.ts index af36c7f73799..531e81a7e007 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/docs/types/test.ts +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/docs/types/test.ts @@ -1,7 +1,7 @@ /* * @license Apache-2.0 * -* Copyright (c) 2025 The Stdlib Authors. +* Copyright (c) 2026 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/examples/index.js b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/examples/index.js index fc89c5a66257..474f4f4768f6 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/examples/index.js +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/examples/index.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2025 The Stdlib Authors. +* Copyright (c) 2026 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/include/stdlib/ml/cluster/base/kmeans/metrics.h b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/include/stdlib/ml/cluster/base/kmeans/metrics.h index 956533a29100..93a6a79b1923 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/include/stdlib/ml/cluster/base/kmeans/metrics.h +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/include/stdlib/ml/cluster/base/kmeans/metrics.h @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2025 The Stdlib Authors. +* Copyright (c) 2026 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/lib/enum.js b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/lib/enum.js index 190b0d92b532..95d404751d4e 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/lib/enum.js +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/lib/enum.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2025 The Stdlib Authors. +* Copyright (c) 2026 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/lib/index.js b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/lib/index.js index 907814d0a7a7..df1f3ffa1eda 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/lib/index.js +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/lib/index.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2025 The Stdlib Authors. +* Copyright (c) 2026 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/lib/main.js b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/lib/main.js index d4b734f61f36..5ad2baf53a3f 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/lib/main.js +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/lib/main.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2025 The Stdlib Authors. +* Copyright (c) 2026 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/test/test.js b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/test/test.js index 9b70b6b32ef8..a93f4e43b0ec 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/test/test.js +++ b/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/test/test.js @@ -1,7 +1,7 @@ /** * @license Apache-2.0 * -* Copyright (c) 2025 The Stdlib Authors. +* Copyright (c) 2026 The Stdlib Authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. From f830c7d6712a35d37bb0969335d9d7ba862e90c2 Mon Sep 17 00:00:00 2001 From: nakul-krishnakumar Date: Thu, 5 Mar 2026 16:10:08 +0530 Subject: [PATCH 03/10] fix!: migrate `ml/cluster/base/kmeans` to `ml/base/cluster/kmeans` --- .../cluster}/kmeans/metric-enum2str/README.md | 8 ++++---- .../kmeans/metric-enum2str/benchmark/benchmark.js | 2 +- .../cluster}/kmeans/metric-enum2str/docs/repl.txt | 2 +- .../cluster}/kmeans/metric-enum2str/docs/types/index.d.ts | 2 +- .../cluster}/kmeans/metric-enum2str/docs/types/test.ts | 0 .../cluster}/kmeans/metric-enum2str/examples/index.js | 2 +- .../cluster}/kmeans/metric-enum2str/lib/index.js | 6 +++--- .../cluster}/kmeans/metric-enum2str/lib/main.js | 4 ++-- .../cluster}/kmeans/metric-enum2str/package.json | 2 +- .../cluster}/kmeans/metric-enum2str/test/test.js | 2 +- .../cluster}/kmeans/metric-resolve-enum/README.md | 6 +++--- .../kmeans/metric-resolve-enum/benchmark/benchmark.js | 2 +- .../cluster}/kmeans/metric-resolve-enum/docs/repl.txt | 2 +- .../kmeans/metric-resolve-enum/docs/types/index.d.ts | 0 .../kmeans/metric-resolve-enum/docs/types/test.ts | 0 .../cluster}/kmeans/metric-resolve-enum/examples/index.js | 0 .../cluster}/kmeans/metric-resolve-enum/lib/index.js | 4 ++-- .../cluster}/kmeans/metric-resolve-enum/lib/main.js | 4 ++-- .../cluster}/kmeans/metric-resolve-enum/package.json | 2 +- .../cluster}/kmeans/metric-resolve-enum/test/test.js | 2 +- .../cluster}/kmeans/metric-resolve-str/README.md | 8 ++++---- .../kmeans/metric-resolve-str/benchmark/benchmark.js | 2 +- .../cluster}/kmeans/metric-resolve-str/docs/repl.txt | 2 +- .../kmeans/metric-resolve-str/docs/types/index.d.ts | 2 +- .../cluster}/kmeans/metric-resolve-str/docs/types/test.ts | 0 .../cluster}/kmeans/metric-resolve-str/examples/index.js | 2 +- .../cluster}/kmeans/metric-resolve-str/lib/index.js | 6 +++--- .../cluster}/kmeans/metric-resolve-str/lib/main.js | 6 +++--- .../cluster}/kmeans/metric-resolve-str/package.json | 2 +- .../cluster}/kmeans/metric-resolve-str/test/test.js | 2 +- .../cluster}/kmeans/metric-str2enum/README.md | 4 ++-- .../kmeans/metric-str2enum/benchmark/benchmark.js | 0 .../cluster}/kmeans/metric-str2enum/docs/repl.txt | 0 .../cluster}/kmeans/metric-str2enum/docs/types/index.d.ts | 0 .../cluster}/kmeans/metric-str2enum/docs/types/test.ts | 0 .../cluster}/kmeans/metric-str2enum/examples/index.js | 0 .../cluster}/kmeans/metric-str2enum/lib/index.js | 4 ++-- .../cluster}/kmeans/metric-str2enum/lib/main.js | 2 +- .../cluster}/kmeans/metric-str2enum/package.json | 2 +- .../cluster}/kmeans/metric-str2enum/test/test.js | 2 +- .../base => base/cluster}/kmeans/metrics/README.md | 8 ++++---- .../cluster}/kmeans/metrics/benchmark/benchmark.js | 0 .../base => base/cluster}/kmeans/metrics/docs/repl.txt | 0 .../cluster}/kmeans/metrics/docs/types/index.d.ts | 0 .../cluster}/kmeans/metrics/docs/types/test.ts | 0 .../cluster}/kmeans/metrics/examples/index.js | 0 .../include/stdlib/ml/cluster/base/kmeans/metrics.h | 0 .../base => base/cluster}/kmeans/metrics/lib/data.json | 0 .../base => base/cluster}/kmeans/metrics/lib/enum.js | 0 .../base => base/cluster}/kmeans/metrics/lib/index.js | 4 ++-- .../base => base/cluster}/kmeans/metrics/lib/main.js | 0 .../base => base/cluster}/kmeans/metrics/manifest.json | 0 .../base => base/cluster}/kmeans/metrics/package.json | 2 +- .../base => base/cluster}/kmeans/metrics/test/test.js | 0 54 files changed, 56 insertions(+), 56 deletions(-) rename lib/node_modules/@stdlib/ml/{cluster/base => base/cluster}/kmeans/metric-enum2str/README.md (91%) rename lib/node_modules/@stdlib/ml/{cluster/base => base/cluster}/kmeans/metric-enum2str/benchmark/benchmark.js (95%) rename lib/node_modules/@stdlib/ml/{cluster/base => base/cluster}/kmeans/metric-enum2str/docs/repl.txt (86%) rename lib/node_modules/@stdlib/ml/{cluster/base => base/cluster}/kmeans/metric-enum2str/docs/types/index.d.ts (94%) rename lib/node_modules/@stdlib/ml/{cluster/base => base/cluster}/kmeans/metric-enum2str/docs/types/test.ts (100%) rename lib/node_modules/@stdlib/ml/{cluster/base => base/cluster}/kmeans/metric-enum2str/examples/index.js (92%) rename lib/node_modules/@stdlib/ml/{cluster/base => base/cluster}/kmeans/metric-enum2str/lib/index.js (84%) rename lib/node_modules/@stdlib/ml/{cluster/base => base/cluster}/kmeans/metric-enum2str/lib/main.js (91%) rename lib/node_modules/@stdlib/ml/{cluster/base => base/cluster}/kmeans/metric-enum2str/package.json (95%) rename lib/node_modules/@stdlib/ml/{cluster/base => base/cluster}/kmeans/metric-enum2str/test/test.js (96%) rename lib/node_modules/@stdlib/ml/{cluster/base => base/cluster}/kmeans/metric-resolve-enum/README.md (93%) rename lib/node_modules/@stdlib/ml/{cluster/base => base/cluster}/kmeans/metric-resolve-enum/benchmark/benchmark.js (96%) rename lib/node_modules/@stdlib/ml/{cluster/base => base/cluster}/kmeans/metric-resolve-enum/docs/repl.txt (90%) rename lib/node_modules/@stdlib/ml/{cluster/base => base/cluster}/kmeans/metric-resolve-enum/docs/types/index.d.ts (100%) rename lib/node_modules/@stdlib/ml/{cluster/base => base/cluster}/kmeans/metric-resolve-enum/docs/types/test.ts (100%) rename lib/node_modules/@stdlib/ml/{cluster/base => base/cluster}/kmeans/metric-resolve-enum/examples/index.js (100%) rename lib/node_modules/@stdlib/ml/{cluster/base => base/cluster}/kmeans/metric-resolve-enum/lib/index.js (88%) rename lib/node_modules/@stdlib/ml/{cluster/base => base/cluster}/kmeans/metric-resolve-enum/lib/main.js (91%) rename lib/node_modules/@stdlib/ml/{cluster/base => base/cluster}/kmeans/metric-resolve-enum/package.json (95%) rename lib/node_modules/@stdlib/ml/{cluster/base => base/cluster}/kmeans/metric-resolve-enum/test/test.js (96%) rename lib/node_modules/@stdlib/ml/{cluster/base => base/cluster}/kmeans/metric-resolve-str/README.md (91%) rename lib/node_modules/@stdlib/ml/{cluster/base => base/cluster}/kmeans/metric-resolve-str/benchmark/benchmark.js (96%) rename lib/node_modules/@stdlib/ml/{cluster/base => base/cluster}/kmeans/metric-resolve-str/docs/repl.txt (86%) rename lib/node_modules/@stdlib/ml/{cluster/base => base/cluster}/kmeans/metric-resolve-str/docs/types/index.d.ts (94%) rename lib/node_modules/@stdlib/ml/{cluster/base => base/cluster}/kmeans/metric-resolve-str/docs/types/test.ts (100%) rename lib/node_modules/@stdlib/ml/{cluster/base => base/cluster}/kmeans/metric-resolve-str/examples/index.js (92%) rename lib/node_modules/@stdlib/ml/{cluster/base => base/cluster}/kmeans/metric-resolve-str/lib/index.js (83%) rename lib/node_modules/@stdlib/ml/{cluster/base => base/cluster}/kmeans/metric-resolve-str/lib/main.js (86%) rename lib/node_modules/@stdlib/ml/{cluster/base => base/cluster}/kmeans/metric-resolve-str/package.json (95%) rename lib/node_modules/@stdlib/ml/{cluster/base => base/cluster}/kmeans/metric-resolve-str/test/test.js (96%) rename lib/node_modules/@stdlib/ml/{cluster/base => base/cluster}/kmeans/metric-str2enum/README.md (95%) rename lib/node_modules/@stdlib/ml/{cluster/base => base/cluster}/kmeans/metric-str2enum/benchmark/benchmark.js (100%) rename lib/node_modules/@stdlib/ml/{cluster/base => base/cluster}/kmeans/metric-str2enum/docs/repl.txt (100%) rename lib/node_modules/@stdlib/ml/{cluster/base => base/cluster}/kmeans/metric-str2enum/docs/types/index.d.ts (100%) rename lib/node_modules/@stdlib/ml/{cluster/base => base/cluster}/kmeans/metric-str2enum/docs/types/test.ts (100%) rename lib/node_modules/@stdlib/ml/{cluster/base => base/cluster}/kmeans/metric-str2enum/examples/index.js (100%) rename lib/node_modules/@stdlib/ml/{cluster/base => base/cluster}/kmeans/metric-str2enum/lib/index.js (88%) rename lib/node_modules/@stdlib/ml/{cluster/base => base/cluster}/kmeans/metric-str2enum/lib/main.js (95%) rename lib/node_modules/@stdlib/ml/{cluster/base => base/cluster}/kmeans/metric-str2enum/package.json (95%) rename lib/node_modules/@stdlib/ml/{cluster/base => base/cluster}/kmeans/metric-str2enum/test/test.js (96%) rename lib/node_modules/@stdlib/ml/{cluster/base => base/cluster}/kmeans/metrics/README.md (94%) rename lib/node_modules/@stdlib/ml/{cluster/base => base/cluster}/kmeans/metrics/benchmark/benchmark.js (100%) rename lib/node_modules/@stdlib/ml/{cluster/base => base/cluster}/kmeans/metrics/docs/repl.txt (100%) rename lib/node_modules/@stdlib/ml/{cluster/base => base/cluster}/kmeans/metrics/docs/types/index.d.ts (100%) rename lib/node_modules/@stdlib/ml/{cluster/base => base/cluster}/kmeans/metrics/docs/types/test.ts (100%) rename lib/node_modules/@stdlib/ml/{cluster/base => base/cluster}/kmeans/metrics/examples/index.js (100%) rename lib/node_modules/@stdlib/ml/{cluster/base => base/cluster}/kmeans/metrics/include/stdlib/ml/cluster/base/kmeans/metrics.h (100%) rename lib/node_modules/@stdlib/ml/{cluster/base => base/cluster}/kmeans/metrics/lib/data.json (100%) rename lib/node_modules/@stdlib/ml/{cluster/base => base/cluster}/kmeans/metrics/lib/enum.js (100%) rename lib/node_modules/@stdlib/ml/{cluster/base => base/cluster}/kmeans/metrics/lib/index.js (90%) rename lib/node_modules/@stdlib/ml/{cluster/base => base/cluster}/kmeans/metrics/lib/main.js (100%) rename lib/node_modules/@stdlib/ml/{cluster/base => base/cluster}/kmeans/metrics/manifest.json (100%) rename lib/node_modules/@stdlib/ml/{cluster/base => base/cluster}/kmeans/metrics/package.json (96%) rename lib/node_modules/@stdlib/ml/{cluster/base => base/cluster}/kmeans/metrics/test/test.js (100%) diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/README.md b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/README.md similarity index 91% rename from lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/README.md rename to lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/README.md index 584e85f846d7..7f08e5621b87 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/README.md +++ b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/README.md @@ -37,7 +37,7 @@ limitations under the License. ## Usage ```javascript -var enum2str = require( '@stdlib/ml/cluster/base/kmeans/metric-enum2str' ); +var enum2str = require( '@stdlib/ml/base/cluster/kmeans/metric-enum2str' ); ``` #### enum2str( value ) @@ -45,7 +45,7 @@ var enum2str = require( '@stdlib/ml/cluster/base/kmeans/metric-enum2str' ); Returns the KMeans distance metric string associated with a KMeans distance metric enumeration constant. ```javascript -var str2enum = require( '@stdlib/ml/cluster/base/kmeans/metric-str2enum' ); +var str2enum = require( '@stdlib/ml/base/cluster/kmeans/metric-str2enum' ); var v = str2enum( 'euclidean' ); // returns @@ -82,8 +82,8 @@ var v = enum2str( -999999999 ); ```javascript -var str2enum = require( '@stdlib/ml/cluster/base/kmeans/metric-str2enum' ); -var enum2str = require( '@stdlib/ml/cluster/base/kmeans/metric-enum2str' ); +var str2enum = require( '@stdlib/ml/base/cluster/kmeans/metric-str2enum' ); +var enum2str = require( '@stdlib/ml/base/cluster/kmeans/metric-enum2str' ); var str = enum2str( str2enum( 'euclidean' ) ); // returns 'euclidean' diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/benchmark/benchmark.js b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/benchmark/benchmark.js similarity index 95% rename from lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/benchmark/benchmark.js rename to lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/benchmark/benchmark.js index 0d16ddc96a58..8900a02a75ef 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/benchmark/benchmark.js @@ -22,7 +22,7 @@ var bench = require( '@stdlib/bench' ); var isString = require( '@stdlib/assert/is-string' ).isPrimitive; -var str2enum = require( '@stdlib/ml/cluster/base/kmeans/metric-str2enum' ); +var str2enum = require( '@stdlib/ml/base/cluster/kmeans/metric-str2enum' ); var pkg = require( './../package.json' ).name; var enum2str = require( './../lib' ); diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/docs/repl.txt b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/docs/repl.txt similarity index 86% rename from lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/docs/repl.txt rename to lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/docs/repl.txt index dcc1e4ee916a..39234f64bce8 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/docs/repl.txt +++ b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/docs/repl.txt @@ -15,7 +15,7 @@ Examples -------- - > var out = {{alias}}( {{alias:@stdlib/ml/cluster/base/kmeans/metric-str2enum}}( 'euclidean' ) ) + > var out = {{alias}}( {{alias:@stdlib/ml/base/cluster/kmeans/metric-str2enum}}( 'euclidean' ) ) 'euclidean' See Also diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/docs/types/index.d.ts b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/docs/types/index.d.ts similarity index 94% rename from lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/docs/types/index.d.ts rename to lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/docs/types/index.d.ts index 63fb60c5a3c6..2f05af9829e2 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/docs/types/index.d.ts +++ b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/docs/types/index.d.ts @@ -25,7 +25,7 @@ * @returns distance metric string * * @example -* var str2enum = require( '@stdlib/ml/cluster/base/kmeans/metric-str2enum' ); +* var str2enum = require( '@stdlib/ml/base/cluster/kmeans/metric-str2enum' ); * * var v = str2enum( 'euclidean' ); * // returns diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/docs/types/test.ts b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/docs/types/test.ts similarity index 100% rename from lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/docs/types/test.ts rename to lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/docs/types/test.ts diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/examples/index.js b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/examples/index.js similarity index 92% rename from lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/examples/index.js rename to lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/examples/index.js index 436b976c5844..c253d18c1269 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/examples/index.js +++ b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/examples/index.js @@ -18,7 +18,7 @@ 'use strict'; -var str2enum = require( '@stdlib/ml/cluster/base/kmeans/metric-str2enum' ); +var str2enum = require( '@stdlib/ml/base/cluster/kmeans/metric-str2enum' ); var enum2str = require( './../lib' ); var str = enum2str( str2enum( 'cosine' ) ); diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/lib/index.js b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/lib/index.js similarity index 84% rename from lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/lib/index.js rename to lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/lib/index.js index 72ced34b3dab..47e1df48aaf7 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/lib/index.js +++ b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/lib/index.js @@ -21,11 +21,11 @@ /** * Return the KMeans distance metric string associated with a KMeans distance metric enumeration constant. * -* @module @stdlib/ml/cluster/base/kmeans/metric-enum2str +* @module @stdlib/ml/base/cluster/kmeans/metric-enum2str * * @example -* var str2enum = require( '@stdlib/ml/cluster/base/kmeans/metric-str2enum' ); -* var enum2str = require( '@stdlib/ml/cluster/base/kmeans/metric-enum2str' ); +* var str2enum = require( '@stdlib/ml/base/cluster/kmeans/metric-str2enum' ); +* var enum2str = require( '@stdlib/ml/base/cluster/kmeans/metric-enum2str' ); * * var v = str2enum( 'euclidean' ); * // returns diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/lib/main.js b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/lib/main.js similarity index 91% rename from lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/lib/main.js rename to lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/lib/main.js index 78c2fb34ad48..729622e02c83 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/lib/main.js +++ b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/lib/main.js @@ -22,7 +22,7 @@ var isString = require( '@stdlib/assert/is-string' ).isPrimitive; var objectInverse = require( '@stdlib/object/inverse' ); -var enumeration = require( '@stdlib/ml/cluster/base/kmeans/metrics' ).enum; +var enumeration = require( '@stdlib/ml/base/cluster/kmeans/metrics' ).enum; // VARIABLES // @@ -41,7 +41,7 @@ var hash = objectInverse( enumeration(), { * @returns {(string|null)} distance metric string or null * * @example -* var str2enum = require( '@stdlib/ml/cluster/base/kmeans/metric-str2enum' ); +* var str2enum = require( '@stdlib/ml/base/cluster/kmeans/metric-str2enum' ); * * var v = str2enum( 'euclidean' ); * // returns diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/package.json b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/package.json similarity index 95% rename from lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/package.json rename to lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/package.json index 1029550eab1c..3536718fbc15 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/package.json +++ b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/package.json @@ -1,5 +1,5 @@ { - "name": "@stdlib/ml/cluster/base/kmeans/metric-enum2str", + "name": "@stdlib/ml/base/cluster/kmeans/metric-enum2str", "version": "0.0.0", "description": "Return the KMeans distance metric string associated with a KMeans distance metric enumeration constant.", "license": "Apache-2.0", diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/test/test.js b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/test/test.js similarity index 96% rename from lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/test/test.js rename to lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/test/test.js index bea4694bd35a..ee4f9927a88c 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-enum2str/test/test.js +++ b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/test/test.js @@ -21,7 +21,7 @@ // MODULES // var tape = require( 'tape' ); -var str2enum = require( '@stdlib/ml/cluster/base/kmeans/metric-str2enum' ); +var str2enum = require( '@stdlib/ml/base/cluster/kmeans/metric-str2enum' ); var enum2str = require( './../lib' ); diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/README.md b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/README.md similarity index 93% rename from lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/README.md rename to lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/README.md index 237308d160bf..1aa9ebc8edeb 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/README.md +++ b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/README.md @@ -37,7 +37,7 @@ limitations under the License. ## Usage ```javascript -var resolve = require( '@stdlib/ml/cluster/base/kmeans/metric-resolve-enum' ); +var resolve = require( '@stdlib/ml/base/cluster/kmeans/metric-resolve-enum' ); ``` #### resolve( value ) @@ -45,7 +45,7 @@ var resolve = require( '@stdlib/ml/cluster/base/kmeans/metric-resolve-enum' ); Returns the enumeration constant associated with a KMeans clustering distance metric value. ```javascript -var str2enum = require( '@stdlib/ml/cluster/base/kmeans/metric-str2enum' ); +var str2enum = require( '@stdlib/ml/base/cluster/kmeans/metric-str2enum' ); var v = resolve( 'euclidean' ); // returns @@ -86,7 +86,7 @@ var v = resolve( 'beep' ); ```javascript -var resolve = require( '@stdlib/ml/cluster/base/kmeans/metric-resolve-enum' ); +var resolve = require( '@stdlib/ml/base/cluster/kmeans/metric-resolve-enum' ); var v = resolve( 'euclidean' ); // returns diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/benchmark/benchmark.js b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/benchmark/benchmark.js similarity index 96% rename from lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/benchmark/benchmark.js rename to lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/benchmark/benchmark.js index 0a9a787a0abc..366c91150a62 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/benchmark/benchmark.js @@ -22,7 +22,7 @@ var bench = require( '@stdlib/bench' ); var isInteger = require( '@stdlib/assert/is-integer' ).isPrimitive; -var str2enum = require( '@stdlib/ml/cluster/base/kmeans/metric-str2enum' ); +var str2enum = require( '@stdlib/ml/base/cluster/kmeans/metric-str2enum' ); var format = require( '@stdlib/string/format' ); var pkg = require( './../package.json' ).name; var resolve = require( './../lib' ); diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/docs/repl.txt b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/docs/repl.txt similarity index 90% rename from lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/docs/repl.txt rename to lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/docs/repl.txt index 713e49a1f01f..43cf80c1081a 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/docs/repl.txt +++ b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/docs/repl.txt @@ -21,7 +21,7 @@ -------- > var out = {{alias}}( 'euclidean' ) - > out = {{alias}}( {{alias:@stdlib/ml/cluster/base/kmeans/metric-str2enum}}( 'euclidean' ) ) + > out = {{alias}}( {{alias:@stdlib/ml/base/cluster/kmeans/metric-str2enum}}( 'euclidean' ) ) See Also diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/docs/types/index.d.ts b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/docs/types/index.d.ts similarity index 100% rename from lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/docs/types/index.d.ts rename to lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/docs/types/index.d.ts diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/docs/types/test.ts b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/docs/types/test.ts similarity index 100% rename from lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/docs/types/test.ts rename to lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/docs/types/test.ts diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/examples/index.js b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/examples/index.js similarity index 100% rename from lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/examples/index.js rename to lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/examples/index.js diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/lib/index.js b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/lib/index.js similarity index 88% rename from lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/lib/index.js rename to lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/lib/index.js index 509cd64ff929..d4138a203df6 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/lib/index.js +++ b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/lib/index.js @@ -21,10 +21,10 @@ /** * Return the enumeration constant associated with a supported KMeans clustering distance metric value. * -* @module @stdlib/ml/cluster/base/kmeans/metric-resolve-enum +* @module @stdlib/ml/base/cluster/kmeans/metric-resolve-enum * * @example -* var resolve = require( '@stdlib/ml/cluster/base/kmeans/metric-resolve-enum' ); +* var resolve = require( '@stdlib/ml/base/cluster/kmeans/metric-resolve-enum' ); * * var v = resolve( 'euclidean' ); * // returns diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/lib/main.js b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/lib/main.js similarity index 91% rename from lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/lib/main.js rename to lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/lib/main.js index dc2535c7519b..617d117f430c 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/lib/main.js +++ b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/lib/main.js @@ -20,8 +20,8 @@ // MODULES // -var enum2str = require( '@stdlib/ml/cluster/base/kmeans/metric-enum2str' ); -var str2enum = require( '@stdlib/ml/cluster/base/kmeans/metric-str2enum' ); +var enum2str = require( '@stdlib/ml/base/cluster/kmeans/metric-enum2str' ); +var str2enum = require( '@stdlib/ml/base/cluster/kmeans/metric-str2enum' ); // MAIN // diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/package.json b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/package.json similarity index 95% rename from lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/package.json rename to lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/package.json index 55b2971de08e..8fa0846d24f8 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/package.json +++ b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/package.json @@ -1,5 +1,5 @@ { - "name": "@stdlib/ml/cluster/base/kmeans/metric-resolve-enum", + "name": "@stdlib/ml/base/cluster/kmeans/metric-resolve-enum", "version": "0.0.0", "description": "Return the enumeration constant associated with a supported KMeans clustering distance metric value.", "license": "Apache-2.0", diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/test/test.js b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/test/test.js similarity index 96% rename from lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/test/test.js rename to lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/test/test.js index b734f5509dfa..5478021ae332 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-enum/test/test.js +++ b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/test/test.js @@ -21,7 +21,7 @@ // MODULES // var tape = require( 'tape' ); -var str2enum = require( '@stdlib/ml/cluster/base/kmeans/metric-str2enum' ); +var str2enum = require( '@stdlib/ml/base/cluster/kmeans/metric-str2enum' ); var resolve = require( './../lib' ); diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/README.md b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/README.md similarity index 91% rename from lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/README.md rename to lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/README.md index 7a6889bc3736..bbe8f0c65df3 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/README.md +++ b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/README.md @@ -37,7 +37,7 @@ limitations under the License. ## Usage ```javascript -var resolve = require( '@stdlib/ml/cluster/base/kmeans/metric-resolve-str' ); +var resolve = require( '@stdlib/ml/base/cluster/kmeans/metric-resolve-str' ); ``` #### resolve( value ) @@ -45,7 +45,7 @@ var resolve = require( '@stdlib/ml/cluster/base/kmeans/metric-resolve-str' ); Returns the distance metric string associated with a KMeans clustering distance metric value. ```javascript -var str2enum = require( '@stdlib/ml/cluster/base/kmeans/metric-str2enum' ); +var str2enum = require( '@stdlib/ml/base/cluster/kmeans/metric-str2enum' ); var v = resolve( 'cosine' ); // returns 'cosine' @@ -82,8 +82,8 @@ var v = resolve( 'beep' ); ```javascript -var str2enum = require( '@stdlib/ml/cluster/base/kmeans/metric-str2enum' ); -var resolve = require( '@stdlib/ml/cluster/base/kmeans/metric-resolve-str' ); +var str2enum = require( '@stdlib/ml/base/cluster/kmeans/metric-str2enum' ); +var resolve = require( '@stdlib/ml/base/cluster/kmeans/metric-resolve-str' ); var v = resolve( str2enum( 'cosine' ) ); // returns 'cosine' diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/benchmark/benchmark.js b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/benchmark/benchmark.js similarity index 96% rename from lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/benchmark/benchmark.js rename to lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/benchmark/benchmark.js index bff50ee39686..7a851a7fefc4 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/benchmark/benchmark.js +++ b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/benchmark/benchmark.js @@ -22,7 +22,7 @@ var bench = require( '@stdlib/bench' ); var isString = require( '@stdlib/assert/is-string' ).isPrimitive; -var str2enum = require( '@stdlib/ml/cluster/base/kmeans/metric-str2enum' ); +var str2enum = require( '@stdlib/ml/base/cluster/kmeans/metric-str2enum' ); var format = require( '@stdlib/string/format' ); var pkg = require( './../package.json' ).name; var resolve = require( './../lib' ); diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/docs/repl.txt b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/docs/repl.txt similarity index 86% rename from lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/docs/repl.txt rename to lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/docs/repl.txt index 16f2da511d87..e29a11a8c13f 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/docs/repl.txt +++ b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/docs/repl.txt @@ -17,7 +17,7 @@ -------- > var out = {{alias}}( 'cosine' ) 'cosine' - > out = {{alias}}( {{alias:@stdlib/ml/cluster/base/kmeans/metric-str2enum}}( 'cosine' ) ) + > out = {{alias}}( {{alias:@stdlib/ml/base/cluster/kmeans/metric-str2enum}}( 'cosine' ) ) 'cosine' See Also diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/docs/types/index.d.ts b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/docs/types/index.d.ts similarity index 94% rename from lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/docs/types/index.d.ts rename to lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/docs/types/index.d.ts index d1c7cb85cafd..61311095cffc 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/docs/types/index.d.ts +++ b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/docs/types/index.d.ts @@ -25,7 +25,7 @@ * @returns distance metric string * * @example -* var str2enum = require( '@stdlib/ml/cluster/base/kmeans/metric-str2enum' ); +* var str2enum = require( '@stdlib/ml/base/cluster/kmeans/metric-str2enum' ); * * var v = resolve( str2enum( 'cosine' ) ); * // returns 'cosine' diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/docs/types/test.ts b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/docs/types/test.ts similarity index 100% rename from lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/docs/types/test.ts rename to lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/docs/types/test.ts diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/examples/index.js b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/examples/index.js similarity index 92% rename from lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/examples/index.js rename to lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/examples/index.js index a9335f3cd48a..a9333899a78a 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/examples/index.js +++ b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/examples/index.js @@ -18,7 +18,7 @@ 'use strict'; -var str2enum = require( '@stdlib/ml/cluster/base/kmeans/metric-str2enum' ); +var str2enum = require( '@stdlib/ml/base/cluster/kmeans/metric-str2enum' ); var resolve = require( './../lib' ); var v = resolve( str2enum( 'cosine' ) ); diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/lib/index.js b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/lib/index.js similarity index 83% rename from lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/lib/index.js rename to lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/lib/index.js index f4c486d9f97b..8b7ad4ce883d 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/lib/index.js +++ b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/lib/index.js @@ -21,11 +21,11 @@ /** * Return the distance metric string associated with a supported KMeans clustering distance metric value. * -* @module @stdlib/ml/cluster/base/kmeans/metric-resolve-str +* @module @stdlib/ml/base/cluster/kmeans/metric-resolve-str * * @example -* var str2enum = require( '@stdlib/ml/cluster/base/kmeans/metric-str2enum' ); -* var resolve = require( '@stdlib/ml/cluster/base/kmeans/metric-resolve-str' ); +* var str2enum = require( '@stdlib/ml/base/cluster/kmeans/metric-str2enum' ); +* var resolve = require( '@stdlib/ml/base/cluster/kmeans/metric-resolve-str' ); * * var v = resolve( str2enum( 'cosine' ) ); * // returns 'cosine' diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/lib/main.js b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/lib/main.js similarity index 86% rename from lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/lib/main.js rename to lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/lib/main.js index fa3d0c6bc224..1aa7ba7a9d82 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/lib/main.js +++ b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/lib/main.js @@ -20,8 +20,8 @@ // MODULES // -var enum2str = require( '@stdlib/ml/cluster/base/kmeans/metric-enum2str' ); -var str2enum = require( '@stdlib/ml/cluster/base/kmeans/metric-str2enum' ); +var enum2str = require( '@stdlib/ml/base/cluster/kmeans/metric-enum2str' ); +var str2enum = require( '@stdlib/ml/base/cluster/kmeans/metric-str2enum' ); // MAIN // @@ -33,7 +33,7 @@ var str2enum = require( '@stdlib/ml/cluster/base/kmeans/metric-str2enum' ); * @returns {(string|null)} distance metric string or null * * @example -* var str2enum = require( '@stdlib/ml/cluster/base/kmeans/metric-str2enum' ); +* var str2enum = require( '@stdlib/ml/base/cluster/kmeans/metric-str2enum' ); * * var v = resolve( str2enum( 'cosine' ) ); * // returns 'cosine' diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/package.json b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/package.json similarity index 95% rename from lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/package.json rename to lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/package.json index 933cd9c6b75a..5002d6c73b4d 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/package.json +++ b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/package.json @@ -1,5 +1,5 @@ { - "name": "@stdlib/ml/cluster/base/kmeans/metric-resolve-str", + "name": "@stdlib/ml/base/cluster/kmeans/metric-resolve-str", "version": "0.0.0", "description": "Return the distance metric string associated with a supported KMeans clustering distance metric value.", "license": "Apache-2.0", diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/test/test.js b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/test/test.js similarity index 96% rename from lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/test/test.js rename to lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/test/test.js index 08b2c82db8ed..e2d3510780fb 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-resolve-str/test/test.js +++ b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/test/test.js @@ -21,7 +21,7 @@ // MODULES // var tape = require( 'tape' ); -var str2enum = require( '@stdlib/ml/cluster/base/kmeans/metric-str2enum' ); +var str2enum = require( '@stdlib/ml/base/cluster/kmeans/metric-str2enum' ); var resolve = require( './../lib' ); diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/README.md b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/README.md similarity index 95% rename from lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/README.md rename to lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/README.md index 8fb5a005e689..2b4e094bd88e 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/README.md +++ b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/README.md @@ -37,7 +37,7 @@ limitations under the License. ## Usage ```javascript -var str2enum = require( '@stdlib/ml/cluster/base/kmeans/metric-str2enum' ); +var str2enum = require( '@stdlib/ml/base/cluster/kmeans/metric-str2enum' ); ``` #### str2enum( metric ) @@ -81,7 +81,7 @@ var v = str2enum( 'beep' ); ```javascript -var str2enum = require( '@stdlib/ml/cluster/base/kmeans/metric-str2enum' ); +var str2enum = require( '@stdlib/ml/base/cluster/kmeans/metric-str2enum' ); var v = str2enum( 'cosine' ); // returns diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/benchmark/benchmark.js b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/benchmark/benchmark.js similarity index 100% rename from lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/benchmark/benchmark.js rename to lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/benchmark/benchmark.js diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/docs/repl.txt b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/docs/repl.txt similarity index 100% rename from lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/docs/repl.txt rename to lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/docs/repl.txt diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/docs/types/index.d.ts b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/docs/types/index.d.ts similarity index 100% rename from lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/docs/types/index.d.ts rename to lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/docs/types/index.d.ts diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/docs/types/test.ts b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/docs/types/test.ts similarity index 100% rename from lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/docs/types/test.ts rename to lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/docs/types/test.ts diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/examples/index.js b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/examples/index.js similarity index 100% rename from lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/examples/index.js rename to lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/examples/index.js diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/lib/index.js b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/lib/index.js similarity index 88% rename from lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/lib/index.js rename to lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/lib/index.js index b3258b6ae8bc..5e0aad9b7fc4 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/lib/index.js +++ b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/lib/index.js @@ -21,10 +21,10 @@ /** * Return the enumeration constant associated with a KMeans distance metric string. * -* @module @stdlib/ml/cluster/base/kmeans/metric-str2enum +* @module @stdlib/ml/base/cluster/kmeans/metric-str2enum * * @example -* var str2enum = require( '@stdlib/ml/cluster/base/kmeans/metric-str2enum' ); +* var str2enum = require( '@stdlib/ml/base/cluster/kmeans/metric-str2enum' ); * * var v = str2enum( 'cosine' ); * // returns diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/lib/main.js b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/lib/main.js similarity index 95% rename from lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/lib/main.js rename to lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/lib/main.js index 9ba86f851678..c0c6c35f4348 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/lib/main.js +++ b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/lib/main.js @@ -21,7 +21,7 @@ // MODULES // var isNumber = require( '@stdlib/assert/is-number' ).isPrimitive; -var enumeration = require( '@stdlib/ml/cluster/base/kmeans/metrics' ).enum; +var enumeration = require( '@stdlib/ml/base/cluster/kmeans/metrics' ).enum; // VARIABLES // diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/package.json b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/package.json similarity index 95% rename from lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/package.json rename to lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/package.json index b4ca882caf1a..b6fa14cb4b54 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/package.json +++ b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/package.json @@ -1,5 +1,5 @@ { - "name": "@stdlib/ml/cluster/base/kmeans/metric-str2enum", + "name": "@stdlib/ml/base/cluster/kmeans/metric-str2enum", "version": "0.0.0", "description": "Return the enumeration constant associated with a KMeans distance metric string.", "license": "Apache-2.0", diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/test/test.js b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/test/test.js similarity index 96% rename from lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/test/test.js rename to lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/test/test.js index a0cc51d409bb..d9314b142211 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metric-str2enum/test/test.js +++ b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/test/test.js @@ -21,7 +21,7 @@ // MODULES // var tape = require( 'tape' ); -var enum2str = require( '@stdlib/ml/cluster/base/kmeans/metric-enum2str' ); +var enum2str = require( '@stdlib/ml/base/cluster/kmeans/metric-enum2str' ); var str2enum = require( './../lib' ); diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/README.md b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/README.md similarity index 94% rename from lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/README.md rename to lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/README.md index 9b114db776e6..0e84e866c66e 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/README.md +++ b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/README.md @@ -37,7 +37,7 @@ limitations under the License. ## Usage ```javascript -var metrics = require( '@stdlib/ml/cluster/base/kmeans/metrics' ); +var metrics = require( '@stdlib/ml/base/cluster/kmeans/metrics' ); ``` #### metrics() @@ -77,7 +77,7 @@ The output array contains the following metrics: ```javascript var contains = require( '@stdlib/array/base/assert/contains' ).factory; -var metrics = require( '@stdlib/ml/cluster/base/kmeans/metrics' ); +var metrics = require( '@stdlib/ml/base/cluster/kmeans/metrics' ); var isMetric = contains( metrics() ); @@ -118,7 +118,7 @@ bool = isMetric( 'beep' ); ### Usage ```c -#include "stdlib/ml/cluster/base/kmeans/metrics.h" +#include "stdlib/ml/base/cluster/kmeans/metrics.h" ``` #### STDLIB_ML_CLUSTER_KMEANS_METRIC @@ -130,7 +130,7 @@ An enumeration of KMeans distance metrics with the following fields: - **STDLIB_ML_CLUSTER_KMEANS_CITYBLOCK**: cityblock (taxicab) distance. ```c -#include "stdlib/ml/cluster/base/kmeans/metrics.h" +#include "stdlib/ml/base/cluster/kmeans/metrics.h" const enum STDLIB_ML_CLUSTER_KMEANS_METRIC v = STDLIB_ML_CLUSTER_KMEANS_EUCLIDEAN; ``` diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/benchmark/benchmark.js b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/benchmark/benchmark.js similarity index 100% rename from lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/benchmark/benchmark.js rename to lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/benchmark/benchmark.js diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/docs/repl.txt b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/docs/repl.txt similarity index 100% rename from lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/docs/repl.txt rename to lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/docs/repl.txt diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/docs/types/index.d.ts b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/docs/types/index.d.ts similarity index 100% rename from lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/docs/types/index.d.ts rename to lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/docs/types/index.d.ts diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/docs/types/test.ts b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/docs/types/test.ts similarity index 100% rename from lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/docs/types/test.ts rename to lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/docs/types/test.ts diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/examples/index.js b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/examples/index.js similarity index 100% rename from lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/examples/index.js rename to lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/examples/index.js diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/include/stdlib/ml/cluster/base/kmeans/metrics.h b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/include/stdlib/ml/cluster/base/kmeans/metrics.h similarity index 100% rename from lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/include/stdlib/ml/cluster/base/kmeans/metrics.h rename to lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/include/stdlib/ml/cluster/base/kmeans/metrics.h diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/lib/data.json b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/lib/data.json similarity index 100% rename from lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/lib/data.json rename to lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/lib/data.json diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/lib/enum.js b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/lib/enum.js similarity index 100% rename from lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/lib/enum.js rename to lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/lib/enum.js diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/lib/index.js b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/lib/index.js similarity index 90% rename from lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/lib/index.js rename to lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/lib/index.js index df1f3ffa1eda..bd857c1c6f90 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/lib/index.js +++ b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/lib/index.js @@ -21,10 +21,10 @@ /** * Return a list of KMeans distance metrics. * -* @module @stdlib/ml/cluster/base/kmeans/metrics +* @module @stdlib/ml/base/cluster/kmeans/metrics * * @example -* var metrics = require( '@stdlib/ml/cluster/base/kmeans/metrics' ); +* var metrics = require( '@stdlib/ml/base/cluster/kmeans/metrics' ); * * var list = metrics(); * // e.g., returns [ 'euclidean', 'cosine', 'cityblock' ] diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/lib/main.js b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/lib/main.js similarity index 100% rename from lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/lib/main.js rename to lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/lib/main.js diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/manifest.json b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/manifest.json similarity index 100% rename from lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/manifest.json rename to lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/manifest.json diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/package.json b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/package.json similarity index 96% rename from lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/package.json rename to lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/package.json index 5ac9161d250c..929baeb098b9 100644 --- a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/package.json +++ b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/package.json @@ -1,5 +1,5 @@ { - "name": "@stdlib/ml/cluster/base/kmeans/metrics", + "name": "@stdlib/ml/base/cluster/kmeans/metrics", "version": "0.0.0", "description": "KMeans distance metrics.", "license": "Apache-2.0", diff --git a/lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/test/test.js b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/test/test.js similarity index 100% rename from lib/node_modules/@stdlib/ml/cluster/base/kmeans/metrics/test/test.js rename to lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/test/test.js From 5e9e1bad0f22dbf4f3c2f8570fc6ca181315bc5b Mon Sep 17 00:00:00 2001 From: Nakul Krishnakumar Date: Fri, 6 Mar 2026 00:52:13 +0530 Subject: [PATCH 04/10] chore: update according to code review Signed-off-by: Nakul Krishnakumar --- .../metrics/include/stdlib/ml/cluster/base/kmeans/metrics.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/include/stdlib/ml/cluster/base/kmeans/metrics.h b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/include/stdlib/ml/cluster/base/kmeans/metrics.h index 93a6a79b1923..de7cf498d2f6 100644 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/include/stdlib/ml/cluster/base/kmeans/metrics.h +++ b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/include/stdlib/ml/cluster/base/kmeans/metrics.h @@ -16,8 +16,8 @@ * limitations under the License. */ -#ifndef STDLIB_ML_CLUSTER_BASE_KMEANS_METRICS_H -#define STDLIB_ML_CLUSTER_BASE_KMEANS_METRICS_H +#ifndef STDLIB_ML_BASE_CLUSTER_KMEANS_METRICS_H +#define STDLIB_ML_BASE_CLUSTER_KMEANS_METRICS_H /** * Enumeration of distance metrics. @@ -33,4 +33,4 @@ enum STDLIB_ML_CLUSTER_KMEANS_METRICS { STDLIB_ML_CLUSTER_KMEANS_CITYBLOCK }; -#endif // !STDLIB_ML_CLUSTER_BASE_KMEANS_METRICS_H +#endif // !STDLIB_ML_BASE_CLUSTER_KMEANS_METRICS_H From 81539009c74da747134ec20c75fdcf27c959920c Mon Sep 17 00:00:00 2001 From: nakul-krishnakumar Date: Mon, 9 Mar 2026 21:52:03 +0530 Subject: [PATCH 05/10] feat: add new `correlation` metric --- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown status: passed - task: lint_package_json status: na - task: lint_repl_help status: passed - task: lint_javascript_src status: passed - task: lint_javascript_cli status: na - task: lint_javascript_examples status: passed - task: lint_javascript_tests status: passed - task: lint_javascript_benchmarks status: na - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: passed - task: lint_typescript_tests status: passed - task: lint_license_headers status: passed --- --- .../@stdlib/ml/base/cluster/kmeans/metrics/README.md | 10 +++++----- .../ml/base/cluster/kmeans/metrics/docs/repl.txt | 2 +- .../base/cluster/kmeans/metrics/docs/types/index.d.ts | 2 +- .../ml/base/cluster/kmeans/metrics/examples/index.js | 8 ++++---- .../include/stdlib/ml/cluster/base/kmeans/metrics.h | 4 ++-- .../ml/base/cluster/kmeans/metrics/lib/data.json | 5 +++-- .../ml/base/cluster/kmeans/metrics/lib/enum.js | 11 +++++++---- .../ml/base/cluster/kmeans/metrics/lib/index.js | 2 +- .../ml/base/cluster/kmeans/metrics/lib/main.js | 2 +- .../ml/base/cluster/kmeans/metrics/test/test.js | 10 ++++++---- 10 files changed, 31 insertions(+), 25 deletions(-) diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/README.md b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/README.md index 0e84e866c66e..a887e21b7ec9 100644 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/README.md +++ b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/README.md @@ -46,12 +46,12 @@ Returns a list of KMeans distance metrics. ```javascript var out = metrics(); -// e.g., returns [ 'euclidean', 'cosine', 'cityblock' ] +// e.g., returns [ 'sqeuclidean', 'cosine', 'cityblock' , 'correlation' ] ``` The output array contains the following metrics: -- `euclidean`: squared euclidean distance. +- `sqeuclidean`: squared euclidean distance. - `cosine`: cosine distance. - `cityblock`: cityblock (taxicab) distance. @@ -81,7 +81,7 @@ var metrics = require( '@stdlib/ml/base/cluster/kmeans/metrics' ); var isMetric = contains( metrics() ); -var bool = isMetric( 'euclidean' ); +var bool = isMetric( 'sqeuclidean' ); // returns true bool = isMetric( 'cosine' ); @@ -125,14 +125,14 @@ bool = isMetric( 'beep' ); An enumeration of KMeans distance metrics with the following fields: -- **STDLIB_ML_CLUSTER_KMEANS_EUCLIDEAN**: squared euclidean distance. +- **STDLIB_ML_CLUSTER_KMEANS_SQEUCLIDEAN**: squared euclidean distance. - **STDLIB_ML_CLUSTER_KMEANS_COSINE**: cosine distance. - **STDLIB_ML_CLUSTER_KMEANS_CITYBLOCK**: cityblock (taxicab) distance. ```c #include "stdlib/ml/base/cluster/kmeans/metrics.h" -const enum STDLIB_ML_CLUSTER_KMEANS_METRIC v = STDLIB_ML_CLUSTER_KMEANS_EUCLIDEAN; +const enum STDLIB_ML_CLUSTER_KMEANS_METRIC v = STDLIB_ML_CLUSTER_KMEANS_SQEUCLIDEAN; ``` diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/docs/repl.txt b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/docs/repl.txt index 33a3dd64e03d..33c4fac00fea 100644 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/docs/repl.txt +++ b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/docs/repl.txt @@ -16,7 +16,7 @@ Examples -------- > var out = {{alias}}() - [ 'euclidean', 'cosine', 'cityblock' ] + [ 'sqeuclidean', 'cosine', 'cityblock', 'correlation' ] See Also -------- diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/docs/types/index.d.ts b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/docs/types/index.d.ts index 7fda8640d0c8..7abbe1fa4e12 100644 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/docs/types/index.d.ts +++ b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/docs/types/index.d.ts @@ -25,7 +25,7 @@ * * @example * var list = metrics(); -* // e.g., returns [ 'euclidean', 'cosine', 'cityblock' ] +* // e.g., returns [ 'sqeuclidean', 'cosine', 'cityblock', 'correlation' ] */ declare function metrics(): Array; diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/examples/index.js b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/examples/index.js index 474f4f4768f6..bf828d8a4144 100644 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/examples/index.js +++ b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/examples/index.js @@ -21,16 +21,16 @@ var contains = require( '@stdlib/array/base/assert/contains' ).factory; var metrics = require( './../lib' ); -var isAlternative = contains( metrics() ); +var isMetric = contains( metrics() ); -var bool = isAlternative( 'euclidean' ); +var bool = isMetric( 'sqeuclidean' ); console.log( bool ); // => true -bool = isAlternative( 'cosine' ); +bool = isMetric( 'cosine' ); console.log( bool ); // => true -bool = isAlternative( 'beep' ); +bool = isMetric( 'beep' ); console.log( bool ); // => false diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/include/stdlib/ml/cluster/base/kmeans/metrics.h b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/include/stdlib/ml/cluster/base/kmeans/metrics.h index de7cf498d2f6..b51548c9eb86 100644 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/include/stdlib/ml/cluster/base/kmeans/metrics.h +++ b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/include/stdlib/ml/cluster/base/kmeans/metrics.h @@ -23,8 +23,8 @@ * Enumeration of distance metrics. */ enum STDLIB_ML_CLUSTER_KMEANS_METRICS { - // Euclidean distance: - STDLIB_ML_CLUSTER_KMEANS_EUCLIDEAN = 0, + // Squared euclidean distance: + STDLIB_ML_CLUSTER_KMEANS_SQEUCLIDEAN = 0, // Cosine distance: STDLIB_ML_CLUSTER_KMEANS_COSINE, diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/lib/data.json b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/lib/data.json index 666d235f1c64..9d38e90c954d 100644 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/lib/data.json +++ b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/lib/data.json @@ -1,5 +1,6 @@ [ - "euclidean", + "sqeuclidean", "cosine", - "cityblock" + "cityblock", + "correlation" ] diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/lib/enum.js b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/lib/enum.js index 95d404751d4e..5d7e7d3674d8 100644 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/lib/enum.js +++ b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/lib/enum.js @@ -25,7 +25,7 @@ * * ## Notes * -* - Downstream consumers of this mapping should **not** rely on specific integer values (e.g., `EUCLIDEAN == 0`). Instead, the object should be used in an opaque manner. +* - Downstream consumers of this mapping should **not** rely on specific integer values (e.g., `SQEUCLIDEAN == 0`). Instead, the object should be used in an opaque manner. * - The main purpose of this function is JavaScript and C inter-operation. * * @returns {Object} object mapping supported metrics to integer values @@ -37,14 +37,17 @@ function enumerated() { // NOTE: the following should match the C `metrics.h` enumeration!!!! return { - // Euclidean distance: - 'euclidean': 0, + // Squared euclidean distance: + 'sqeuclidean': 0, // Cosine distance: 'cosine': 1, // Cityblock (taxicab) distance: - 'cityblock': 2 + 'cityblock': 2, + + // Correlation distance: + 'correlation': 3 }; } diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/lib/index.js b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/lib/index.js index bd857c1c6f90..4ab25069e6c1 100644 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/lib/index.js +++ b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/lib/index.js @@ -27,7 +27,7 @@ * var metrics = require( '@stdlib/ml/base/cluster/kmeans/metrics' ); * * var list = metrics(); -* // e.g., returns [ 'euclidean', 'cosine', 'cityblock' ] +* // e.g., returns [ 'sqeuclidean', 'cosine', 'cityblock' , 'correlation' ] */ // MODULES // diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/lib/main.js b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/lib/main.js index 5ad2baf53a3f..fd2d667d9bb1 100644 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/lib/main.js +++ b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/lib/main.js @@ -32,7 +32,7 @@ var DATA = require( './data.json' ); * * @example * var list = metrics(); -* // e.g., returns [ 'euclidean', 'cosine', 'cityblock' ] +* // e.g., returns [ 'sqeuclidean', 'cosine', 'cityblock' , 'correlation' ] */ function metrics() { return DATA.slice(); diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/test/test.js b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/test/test.js index a93f4e43b0ec..48a94749b7f0 100644 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/test/test.js +++ b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/test/test.js @@ -39,9 +39,10 @@ tape( 'the function returns a list of metrics', function test( t ) { var actual; expected = [ - 'euclidean', + 'sqeuclidean', 'cosine', - 'cityblock' + 'cityblock', + 'correlation' ]; actual = metrics(); @@ -62,9 +63,10 @@ tape( 'attached to the main function is an `enum` method to return an object map // List of values which should be supported... o = [ - 'euclidean', + 'sqeuclidean', 'cosine', - 'cityblock' + 'cityblock', + 'correlation' ]; for ( i = 0; i < o.length; i++ ) { t.strictEqual( hasOwnProp( obj, o[ i ] ), true, 'has property `' + o[ i ] + '`' ); From 9c853984f604102dbb2ffbdf496da8cc7cc4fbd1 Mon Sep 17 00:00:00 2001 From: nakul-krishnakumar Date: Mon, 9 Mar 2026 21:58:52 +0530 Subject: [PATCH 06/10] remove: remove all wrapper functions --- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown status: na - task: lint_package_json status: na - task: lint_repl_help status: na - task: lint_javascript_src status: na - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: na - task: lint_javascript_benchmarks status: na - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: passed - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- .../cluster/kmeans/metric-enum2str/README.md | 121 ----------------- .../metric-enum2str/benchmark/benchmark.js | 55 -------- .../kmeans/metric-enum2str/docs/repl.txt | 23 ---- .../metric-enum2str/docs/types/index.d.ts | 41 ------ .../kmeans/metric-enum2str/docs/types/test.ts | 39 ------ .../kmeans/metric-enum2str/examples/index.js | 30 ----- .../kmeans/metric-enum2str/lib/index.js | 44 ------- .../kmeans/metric-enum2str/lib/main.js | 60 --------- .../kmeans/metric-enum2str/package.json | 66 ---------- .../kmeans/metric-enum2str/test/test.js | 66 ---------- .../kmeans/metric-resolve-enum/README.md | 124 ------------------ .../benchmark/benchmark.js | 81 ------------ .../kmeans/metric-resolve-enum/docs/repl.txt | 29 ---- .../metric-resolve-enum/docs/types/index.d.ts | 40 ------ .../metric-resolve-enum/docs/types/test.ts | 28 ---- .../metric-resolve-enum/examples/index.js | 29 ---- .../kmeans/metric-resolve-enum/lib/index.js | 40 ------ .../kmeans/metric-resolve-enum/lib/main.js | 57 -------- .../kmeans/metric-resolve-enum/package.json | 66 ---------- .../kmeans/metric-resolve-enum/test/test.js | 75 ----------- .../kmeans/metric-resolve-str/README.md | 121 ----------------- .../metric-resolve-str/benchmark/benchmark.js | 81 ------------ .../kmeans/metric-resolve-str/docs/repl.txt | 25 ---- .../metric-resolve-str/docs/types/index.d.ts | 38 ------ .../metric-resolve-str/docs/types/test.ts | 28 ---- .../metric-resolve-str/examples/index.js | 30 ----- .../kmeans/metric-resolve-str/lib/index.js | 41 ------ .../kmeans/metric-resolve-str/lib/main.js | 55 -------- .../kmeans/metric-resolve-str/package.json | 66 ---------- .../kmeans/metric-resolve-str/test/test.js | 75 ----------- .../cluster/kmeans/metric-str2enum/README.md | 119 ----------------- .../metric-str2enum/benchmark/benchmark.js | 54 -------- .../kmeans/metric-str2enum/docs/repl.txt | 27 ---- .../metric-str2enum/docs/types/index.d.ts | 40 ------ .../kmeans/metric-str2enum/docs/types/test.ts | 39 ------ .../kmeans/metric-str2enum/examples/index.js | 29 ---- .../kmeans/metric-str2enum/lib/index.js | 40 ------ .../kmeans/metric-str2enum/lib/main.js | 56 -------- .../kmeans/metric-str2enum/package.json | 66 ---------- .../kmeans/metric-str2enum/test/test.js | 67 ---------- 40 files changed, 2211 deletions(-) delete mode 100644 lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/README.md delete mode 100644 lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/benchmark/benchmark.js delete mode 100644 lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/docs/repl.txt delete mode 100644 lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/docs/types/index.d.ts delete mode 100644 lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/docs/types/test.ts delete mode 100644 lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/examples/index.js delete mode 100644 lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/lib/index.js delete mode 100644 lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/lib/main.js delete mode 100644 lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/package.json delete mode 100644 lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/test/test.js delete mode 100644 lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/README.md delete mode 100644 lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/benchmark/benchmark.js delete mode 100644 lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/docs/repl.txt delete mode 100644 lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/docs/types/index.d.ts delete mode 100644 lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/docs/types/test.ts delete mode 100644 lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/examples/index.js delete mode 100644 lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/lib/index.js delete mode 100644 lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/lib/main.js delete mode 100644 lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/package.json delete mode 100644 lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/test/test.js delete mode 100644 lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/README.md delete mode 100644 lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/benchmark/benchmark.js delete mode 100644 lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/docs/repl.txt delete mode 100644 lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/docs/types/index.d.ts delete mode 100644 lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/docs/types/test.ts delete mode 100644 lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/examples/index.js delete mode 100644 lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/lib/index.js delete mode 100644 lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/lib/main.js delete mode 100644 lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/package.json delete mode 100644 lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/test/test.js delete mode 100644 lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/README.md delete mode 100644 lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/benchmark/benchmark.js delete mode 100644 lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/docs/repl.txt delete mode 100644 lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/docs/types/index.d.ts delete mode 100644 lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/docs/types/test.ts delete mode 100644 lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/examples/index.js delete mode 100644 lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/lib/index.js delete mode 100644 lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/lib/main.js delete mode 100644 lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/package.json delete mode 100644 lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/test/test.js diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/README.md b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/README.md deleted file mode 100644 index 7f08e5621b87..000000000000 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/README.md +++ /dev/null @@ -1,121 +0,0 @@ - - -# enum2str - -> Return the KMeans distance metric string associated with a KMeans distance metric enumeration constant. - - - -
- -
- - - - - -
- -## Usage - -```javascript -var enum2str = require( '@stdlib/ml/base/cluster/kmeans/metric-enum2str' ); -``` - -#### enum2str( value ) - -Returns the KMeans distance metric string associated with a KMeans distance metric enumeration constant. - -```javascript -var str2enum = require( '@stdlib/ml/base/cluster/kmeans/metric-str2enum' ); - -var v = str2enum( 'euclidean' ); -// returns - -var s = enum2str( v ); -// returns 'euclidean' -``` - -If unable to resolve a KMeans distance metric string, the function returns `null`. - -```javascript -var v = enum2str( -999999999 ); -// returns null -``` - -
- - - - - -
- -
- - - - - -
- -## Examples - - - -```javascript -var str2enum = require( '@stdlib/ml/base/cluster/kmeans/metric-str2enum' ); -var enum2str = require( '@stdlib/ml/base/cluster/kmeans/metric-enum2str' ); - -var str = enum2str( str2enum( 'euclidean' ) ); -// returns 'euclidean' - -str = enum2str( str2enum( 'cosine' ) ); -// returns 'cosine' -``` - -
- - - - - -
- -
- - - - - - - - - - - - - - diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/benchmark/benchmark.js b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/benchmark/benchmark.js deleted file mode 100644 index 8900a02a75ef..000000000000 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/benchmark/benchmark.js +++ /dev/null @@ -1,55 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2026 The Stdlib Authors. -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -'use strict'; - -// MODULES // - -var bench = require( '@stdlib/bench' ); -var isString = require( '@stdlib/assert/is-string' ).isPrimitive; -var str2enum = require( '@stdlib/ml/base/cluster/kmeans/metric-str2enum' ); -var pkg = require( './../package.json' ).name; -var enum2str = require( './../lib' ); - - -// MAIN // - -bench( pkg, function benchmark( b ) { - var values; - var out; - var i; - - values = [ - str2enum( 'euclidean' ), - str2enum( 'cosine' ) - ]; - - b.tic(); - for ( i = 0; i < b.iterations; i++ ) { - out = enum2str( values[ i%values.length ] ); - if ( typeof out !== 'string' ) { - b.fail( 'should return a string' ); - } - } - b.toc(); - if ( !isString( out ) ) { - b.fail( 'should return a string' ); - } - b.pass( 'benchmark finished' ); - b.end(); -}); diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/docs/repl.txt b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/docs/repl.txt deleted file mode 100644 index 39234f64bce8..000000000000 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/docs/repl.txt +++ /dev/null @@ -1,23 +0,0 @@ - -{{alias}}( value ) - Returns the KMeans distance metric string associated with a KMeans - distance metric enumeration constant. - - Parameters - ---------- - value: integer - Distance metric enumeration constant. - - Returns - ------- - out: string|null - Distance metric string. - - Examples - -------- - > var out = {{alias}}( {{alias:@stdlib/ml/base/cluster/kmeans/metric-str2enum}}( 'euclidean' ) ) - 'euclidean' - - See Also - -------- - diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/docs/types/index.d.ts b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/docs/types/index.d.ts deleted file mode 100644 index 2f05af9829e2..000000000000 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/docs/types/index.d.ts +++ /dev/null @@ -1,41 +0,0 @@ -/* -* @license Apache-2.0 -* -* Copyright (c) 2026 The Stdlib Authors. -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -// TypeScript Version: 4.1 - -/** -* Returns the KMeans distance metric string associated with a KMeans distance metric enumeration constant. -* -* @param value - enumeration constant -* @returns distance metric string -* -* @example -* var str2enum = require( '@stdlib/ml/base/cluster/kmeans/metric-str2enum' ); -* -* var v = str2enum( 'euclidean' ); -* // returns -* -* var s = enum2str( v ); -* // returns 'euclidean' -*/ -declare function enum2str( value: number ): string | null; - - -// EXPORTS // - -export = enum2str; diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/docs/types/test.ts b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/docs/types/test.ts deleted file mode 100644 index fe80992105ef..000000000000 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/docs/types/test.ts +++ /dev/null @@ -1,39 +0,0 @@ -/* -* @license Apache-2.0 -* -* Copyright (c) 2026 The Stdlib Authors. -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -import enum2str = require( './index' ); - - -// TESTS // - -// The function returns a string or null... -{ - enum2str( 0 ); // $ExpectType string | null -} - -// The compiler throws an error if not provided a number... -{ - enum2str( '10' ); // $ExpectError - enum2str( true ); // $ExpectError - enum2str( false ); // $ExpectError - enum2str( null ); // $ExpectError - enum2str( undefined ); // $ExpectError - enum2str( [] ); // $ExpectError - enum2str( {} ); // $ExpectError - enum2str( ( x: number ): number => x ); // $ExpectError -} diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/examples/index.js b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/examples/index.js deleted file mode 100644 index c253d18c1269..000000000000 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/examples/index.js +++ /dev/null @@ -1,30 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2026 The Stdlib Authors. -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -'use strict'; - -var str2enum = require( '@stdlib/ml/base/cluster/kmeans/metric-str2enum' ); -var enum2str = require( './../lib' ); - -var str = enum2str( str2enum( 'cosine' ) ); -console.log( str ); -// => 'cosine' - -str = enum2str( str2enum( 'euclidean' ) ); -console.log( str ); -// => 'euclidean' diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/lib/index.js b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/lib/index.js deleted file mode 100644 index 47e1df48aaf7..000000000000 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/lib/index.js +++ /dev/null @@ -1,44 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2026 The Stdlib Authors. -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -'use strict'; - -/** -* Return the KMeans distance metric string associated with a KMeans distance metric enumeration constant. -* -* @module @stdlib/ml/base/cluster/kmeans/metric-enum2str -* -* @example -* var str2enum = require( '@stdlib/ml/base/cluster/kmeans/metric-str2enum' ); -* var enum2str = require( '@stdlib/ml/base/cluster/kmeans/metric-enum2str' ); -* -* var v = str2enum( 'euclidean' ); -* // returns -* -* var s = enum2str( v ); -* // returns 'euclidean' -*/ - -// MODULES // - -var main = require( './main.js' ); - - -// EXPORTS // - -module.exports = main; diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/lib/main.js b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/lib/main.js deleted file mode 100644 index 729622e02c83..000000000000 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/lib/main.js +++ /dev/null @@ -1,60 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2026 The Stdlib Authors. -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -'use strict'; - -// MODULES // - -var isString = require( '@stdlib/assert/is-string' ).isPrimitive; -var objectInverse = require( '@stdlib/object/inverse' ); -var enumeration = require( '@stdlib/ml/base/cluster/kmeans/metrics' ).enum; - - -// VARIABLES // - -var hash = objectInverse( enumeration(), { - 'duplicates': false -}); - - -// MAIN // - -/** -* Returns the KMeans distance metric string associated with a KMeans distance metric enumeration constant. -* -* @param {integer} value - distance metric enumeration constant -* @returns {(string|null)} distance metric string or null -* -* @example -* var str2enum = require( '@stdlib/ml/base/cluster/kmeans/metric-str2enum' ); -* -* var v = str2enum( 'euclidean' ); -* // returns -* -* var s = enum2str( v ); -* // returns 'euclidean' -*/ -function enum2str( value ) { - var v = hash[ value ]; - return ( isString( v ) ) ? v : null; // note: we include this guard to prevent walking the prototype chain -} - - -// EXPORTS // - -module.exports = enum2str; diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/package.json b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/package.json deleted file mode 100644 index 3536718fbc15..000000000000 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/package.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "name": "@stdlib/ml/base/cluster/kmeans/metric-enum2str", - "version": "0.0.0", - "description": "Return the KMeans distance metric string associated with a KMeans distance metric enumeration constant.", - "license": "Apache-2.0", - "author": { - "name": "The Stdlib Authors", - "url": "https://github.com/stdlib-js/stdlib/graphs/contributors" - }, - "contributors": [ - { - "name": "The Stdlib Authors", - "url": "https://github.com/stdlib-js/stdlib/graphs/contributors" - } - ], - "main": "./lib", - "directories": { - "benchmark": "./benchmark", - "doc": "./docs", - "example": "./examples", - "lib": "./lib", - "test": "./test" - }, - "types": "./docs/types", - "scripts": {}, - "homepage": "https://github.com/stdlib-js/stdlib", - "repository": { - "type": "git", - "url": "git://github.com/stdlib-js/stdlib.git" - }, - "bugs": { - "url": "https://github.com/stdlib-js/stdlib/issues" - }, - "dependencies": {}, - "devDependencies": {}, - "engines": { - "node": ">=0.10.0", - "npm": ">2.7.0" - }, - "os": [ - "aix", - "darwin", - "freebsd", - "linux", - "macos", - "openbsd", - "sunos", - "win32", - "windows" - ], - "keywords": [ - "stdlib", - "ml", - "machine", - "learning", - "cluster", - "kmeans", - "metric", - "utilities", - "utility", - "utils", - "util", - "enum" - ], - "__stdlib__": {} -} diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/test/test.js b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/test/test.js deleted file mode 100644 index ee4f9927a88c..000000000000 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-enum2str/test/test.js +++ /dev/null @@ -1,66 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2026 The Stdlib Authors. -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -'use strict'; - -// MODULES // - -var tape = require( 'tape' ); -var str2enum = require( '@stdlib/ml/base/cluster/kmeans/metric-str2enum' ); -var enum2str = require( './../lib' ); - - -// VARIABLES // - -var VALUES = [ - 'euclidean', - 'cosine', - 'cityblock' -]; - - -// TESTS // - -tape( 'main export is a function', function test( t ) { - t.ok( true, __filename ); - t.strictEqual( typeof enum2str, 'function', 'main export is a function' ); - t.end(); -}); - -tape( 'the function returns the string associated with an enumeration constant', function test( t ) { - var i; - for ( i = 0; i < VALUES.length; i++ ) { - t.strictEqual( enum2str( str2enum( VALUES[ i ] ) ), VALUES[ i ], 'returns expected value' ); - } - t.end(); -}); - -tape( 'the function returns `null` if unable to resolve a string', function test( t ) { - var values; - var i; - - values = [ - -9999999, - -999999999, - -99999999999 - ]; - for ( i = 0; i < values.length; i++ ) { - t.strictEqual( enum2str( values[ i ] ), null, 'returns expected value' ); - } - t.end(); -}); diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/README.md b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/README.md deleted file mode 100644 index 1aa9ebc8edeb..000000000000 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/README.md +++ /dev/null @@ -1,124 +0,0 @@ - - -# resolve - -> Return the enumeration constant associated with a supported KMeans clustering distance metric value. - - - -
- -
- - - - - -
- -## Usage - -```javascript -var resolve = require( '@stdlib/ml/base/cluster/kmeans/metric-resolve-enum' ); -``` - -#### resolve( value ) - -Returns the enumeration constant associated with a KMeans clustering distance metric value. - -```javascript -var str2enum = require( '@stdlib/ml/base/cluster/kmeans/metric-str2enum' ); - -var v = resolve( 'euclidean' ); -// returns - -v = resolve( str2enum( 'cityblock' ) ); -// returns -``` - -If unable to resolve an enumeration constant, the function returns `null`. - -```javascript -var v = resolve( 'beep' ); -// returns null -``` - -
- - - - - -
- -## Notes - -- Downstream consumers of this function should **not** rely on specific integer values (e.g., `EUCLIDEAN == 0`). Instead, the function should be used in an opaque manner. - -
- - - - - -
- -## Examples - - - -```javascript -var resolve = require( '@stdlib/ml/base/cluster/kmeans/metric-resolve-enum' ); - -var v = resolve( 'euclidean' ); -// returns - -v = resolve( 'cosine' ); -// returns -``` - -
- - - - - -
- -
- - - - - - - - - - - - - - diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/benchmark/benchmark.js b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/benchmark/benchmark.js deleted file mode 100644 index 366c91150a62..000000000000 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/benchmark/benchmark.js +++ /dev/null @@ -1,81 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2026 The Stdlib Authors. -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -'use strict'; - -// MODULES // - -var bench = require( '@stdlib/bench' ); -var isInteger = require( '@stdlib/assert/is-integer' ).isPrimitive; -var str2enum = require( '@stdlib/ml/base/cluster/kmeans/metric-str2enum' ); -var format = require( '@stdlib/string/format' ); -var pkg = require( './../package.json' ).name; -var resolve = require( './../lib' ); - - -// MAIN // - -bench( format( '%s::string', pkg ), function benchmark( b ) { - var values; - var out; - var i; - - values = [ - 'euclidean', - 'cosine' - ]; - - b.tic(); - for ( i = 0; i < b.iterations; i++ ) { - out = resolve( values[ i%values.length ] ); - if ( typeof out !== 'number' ) { - b.fail( 'should return a number' ); - } - } - b.toc(); - if ( !isInteger( out ) ) { - b.fail( 'should return an integer' ); - } - b.pass( 'benchmark finished' ); - b.end(); -}); - -bench( format( '%s::integer', pkg ), function benchmark( b ) { - var values; - var out; - var i; - - values = [ - str2enum( 'euclidean' ), - str2enum( 'cosine' ) - ]; - - b.tic(); - for ( i = 0; i < b.iterations; i++ ) { - out = resolve( values[ i%values.length ] ); - if ( typeof out !== 'number' ) { - b.fail( 'should return a number' ); - } - } - b.toc(); - if ( !isInteger( out ) ) { - b.fail( 'should return an integer' ); - } - b.pass( 'benchmark finished' ); - b.end(); -}); diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/docs/repl.txt b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/docs/repl.txt deleted file mode 100644 index 43cf80c1081a..000000000000 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/docs/repl.txt +++ /dev/null @@ -1,29 +0,0 @@ - -{{alias}}( value ) - Returns the enumeration constant associated with a supported KMeans - clustering distance metric value. - - Downstream consumers of this function should *not* rely on specific integer - values (e.g., `EUCLIDEAN == 0`). Instead, the function should be used in an - opaque manner. - - Parameters - ---------- - value: any - Distance metric value. - - Returns - ------- - out: integer|null - Enumeration constant. - - Examples - -------- - > var out = {{alias}}( 'euclidean' ) - - > out = {{alias}}( {{alias:@stdlib/ml/base/cluster/kmeans/metric-str2enum}}( 'euclidean' ) ) - - - See Also - -------- - diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/docs/types/index.d.ts b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/docs/types/index.d.ts deleted file mode 100644 index a3e0e54b20bf..000000000000 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/docs/types/index.d.ts +++ /dev/null @@ -1,40 +0,0 @@ -/* -* @license Apache-2.0 -* -* Copyright (c) 2026 The Stdlib Authors. -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -// TypeScript Version: 4.1 - -/** -* Returns the enumeration constant associated with a KMeans clustering distance metric value. -* -* ## Notes -* -* - Downstream consumers of this function should **not** rely on specific integer values (e.g., `EUCLIDEAN == 0`). Instead, the function should be used in an opaque manner. -* -* @param value - distance metric value -* @returns enumeration constant -* -* @example -* var v = resolve( 'euclidean' ); -* // returns -*/ -declare function resolve( value: any ): number | null; - - -// EXPORTS // - -export = resolve; diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/docs/types/test.ts b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/docs/types/test.ts deleted file mode 100644 index 6b7fffba68cb..000000000000 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/docs/types/test.ts +++ /dev/null @@ -1,28 +0,0 @@ -/* -* @license Apache-2.0 -* -* Copyright (c) 2026 The Stdlib Authors. -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -import resolve = require( './index' ); - - -// TESTS // - -// The function returns a number or null... -{ - resolve( 0 ); // $ExpectType number | null - resolve( 'euclidean' ); // $ExpectType number | null -} diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/examples/index.js b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/examples/index.js deleted file mode 100644 index 74a2b1b68bc2..000000000000 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/examples/index.js +++ /dev/null @@ -1,29 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2026 The Stdlib Authors. -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -'use strict'; - -var resolve = require( './../lib' ); - -var v = resolve( 'euclidean' ); -console.log( v ); -// => - -v = resolve( 'cosine' ); -console.log( v ); -// => diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/lib/index.js b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/lib/index.js deleted file mode 100644 index d4138a203df6..000000000000 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/lib/index.js +++ /dev/null @@ -1,40 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2026 The Stdlib Authors. -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -'use strict'; - -/** -* Return the enumeration constant associated with a supported KMeans clustering distance metric value. -* -* @module @stdlib/ml/base/cluster/kmeans/metric-resolve-enum -* -* @example -* var resolve = require( '@stdlib/ml/base/cluster/kmeans/metric-resolve-enum' ); -* -* var v = resolve( 'euclidean' ); -* // returns -*/ - -// MODULES // - -var main = require( './main.js' ); - - -// EXPORTS // - -module.exports = main; diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/lib/main.js b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/lib/main.js deleted file mode 100644 index 617d117f430c..000000000000 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/lib/main.js +++ /dev/null @@ -1,57 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2026 The Stdlib Authors. -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -'use strict'; - -// MODULES // - -var enum2str = require( '@stdlib/ml/base/cluster/kmeans/metric-enum2str' ); -var str2enum = require( '@stdlib/ml/base/cluster/kmeans/metric-str2enum' ); - - -// MAIN // - -/** -* Returns the enumeration constant associated with a supported KMeans clustering distance metric value. -* -* ## Notes -* -* - Downstream consumers of this function should **not** rely on specific integer values (e.g., `EUCLIDEAN == 0`). Instead, the function should be used in an opaque manner. -* -* @param {*} value - distance metric value -* @returns {(integer|null)} enumeration constant or null -* -* @example -* var v = resolve( 'euclidean' ); -* // returns -*/ -function resolve( value ) { - var t = ( typeof value ); - if ( t === 'number' ) { - return ( enum2str( value ) ) ? value : null; - } - if ( t === 'string' ) { - return str2enum( value ); - } - return null; -} - - -// EXPORTS // - -module.exports = resolve; diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/package.json b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/package.json deleted file mode 100644 index 8fa0846d24f8..000000000000 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/package.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "name": "@stdlib/ml/base/cluster/kmeans/metric-resolve-enum", - "version": "0.0.0", - "description": "Return the enumeration constant associated with a supported KMeans clustering distance metric value.", - "license": "Apache-2.0", - "author": { - "name": "The Stdlib Authors", - "url": "https://github.com/stdlib-js/stdlib/graphs/contributors" - }, - "contributors": [ - { - "name": "The Stdlib Authors", - "url": "https://github.com/stdlib-js/stdlib/graphs/contributors" - } - ], - "main": "./lib", - "directories": { - "benchmark": "./benchmark", - "doc": "./docs", - "example": "./examples", - "lib": "./lib", - "test": "./test" - }, - "types": "./docs/types", - "scripts": {}, - "homepage": "https://github.com/stdlib-js/stdlib", - "repository": { - "type": "git", - "url": "git://github.com/stdlib-js/stdlib.git" - }, - "bugs": { - "url": "https://github.com/stdlib-js/stdlib/issues" - }, - "dependencies": {}, - "devDependencies": {}, - "engines": { - "node": ">=0.10.0", - "npm": ">2.7.0" - }, - "os": [ - "aix", - "darwin", - "freebsd", - "linux", - "macos", - "openbsd", - "sunos", - "win32", - "windows" - ], - "keywords": [ - "stdlib", - "ml", - "machine", - "learning", - "cluster", - "kmeans", - "metric", - "utilities", - "utility", - "utils", - "util", - "enum" - ], - "__stdlib__": {} -} diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/test/test.js b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/test/test.js deleted file mode 100644 index 5478021ae332..000000000000 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-enum/test/test.js +++ /dev/null @@ -1,75 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2026 The Stdlib Authors. -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -'use strict'; - -// MODULES // - -var tape = require( 'tape' ); -var str2enum = require( '@stdlib/ml/base/cluster/kmeans/metric-str2enum' ); -var resolve = require( './../lib' ); - - -// VARIABLES // - -var VALUES = [ - 'euclidean', - 'cosine', - 'cityblock' -]; - - -// TESTS // - -tape( 'main export is a function', function test( t ) { - t.ok( true, __filename ); - t.strictEqual( typeof resolve, 'function', 'main export is a function' ); - t.end(); -}); - -tape( 'the function returns the enumeration constant associated with a KMeans clustering distance metric value', function test( t ) { - var v; - var i; - for ( i = 0; i < VALUES.length; i++ ) { - v = str2enum( VALUES[ i ] ); - t.strictEqual( resolve( VALUES[ i ] ), v, 'returns expected value' ); - t.strictEqual( resolve( v ), v, 'returns expected value' ); - } - t.end(); -}); - -tape( 'the function returns `null` if unable to resolve an enumeration constant', function test( t ) { - var values; - var i; - - values = [ - 'beep', - 'boop', - 'foo', - 'bar', - -99999999, - -9999999999, - -9999999999999, - true, - false - ]; - for ( i = 0; i < values.length; i++ ) { - t.strictEqual( resolve( values[ i ] ), null, 'returns expected value' ); - } - t.end(); -}); diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/README.md b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/README.md deleted file mode 100644 index bbe8f0c65df3..000000000000 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/README.md +++ /dev/null @@ -1,121 +0,0 @@ - - -# resolve - -> Return the distance metric string associated with a supported KMeans clustering distance metric value. - - - -
- -
- - - - - -
- -## Usage - -```javascript -var resolve = require( '@stdlib/ml/base/cluster/kmeans/metric-resolve-str' ); -``` - -#### resolve( value ) - -Returns the distance metric string associated with a KMeans clustering distance metric value. - -```javascript -var str2enum = require( '@stdlib/ml/base/cluster/kmeans/metric-str2enum' ); - -var v = resolve( 'cosine' ); -// returns 'cosine' - -v = resolve( str2enum( 'cosine' ) ); -// returns 'cosine' -``` - -If unable to resolve a KMeans distance metric string, the function returns `null`. - -```javascript -var v = resolve( 'beep' ); -// returns null -``` - -
- - - - - -
- -
- - - - - -
- -## Examples - - - -```javascript -var str2enum = require( '@stdlib/ml/base/cluster/kmeans/metric-str2enum' ); -var resolve = require( '@stdlib/ml/base/cluster/kmeans/metric-resolve-str' ); - -var v = resolve( str2enum( 'cosine' ) ); -// returns 'cosine' - -v = resolve( str2enum( 'euclidean' ) ); -// returns 'euclidean' -``` - -
- - - - - -
- -
- - - - - - - - - - - - - - diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/benchmark/benchmark.js b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/benchmark/benchmark.js deleted file mode 100644 index 7a851a7fefc4..000000000000 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/benchmark/benchmark.js +++ /dev/null @@ -1,81 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2026 The Stdlib Authors. -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -'use strict'; - -// MODULES // - -var bench = require( '@stdlib/bench' ); -var isString = require( '@stdlib/assert/is-string' ).isPrimitive; -var str2enum = require( '@stdlib/ml/base/cluster/kmeans/metric-str2enum' ); -var format = require( '@stdlib/string/format' ); -var pkg = require( './../package.json' ).name; -var resolve = require( './../lib' ); - - -// MAIN // - -bench( format( '%s::string', pkg ), function benchmark( b ) { - var values; - var out; - var i; - - values = [ - 'euclidean', - 'cosine' - ]; - - b.tic(); - for ( i = 0; i < b.iterations; i++ ) { - out = resolve( values[ i%values.length ] ); - if ( typeof out !== 'string' ) { - b.fail( 'should return a string' ); - } - } - b.toc(); - if ( !isString( out ) ) { - b.fail( 'should return a string' ); - } - b.pass( 'benchmark finished' ); - b.end(); -}); - -bench( format( '%s::integer', pkg ), function benchmark( b ) { - var values; - var out; - var i; - - values = [ - str2enum( 'euclidean' ), - str2enum( 'cosine' ) - ]; - - b.tic(); - for ( i = 0; i < b.iterations; i++ ) { - out = resolve( values[ i%values.length ] ); - if ( typeof out !== 'string' ) { - b.fail( 'should return a string' ); - } - } - b.toc(); - if ( !isString( out ) ) { - b.fail( 'should return a string' ); - } - b.pass( 'benchmark finished' ); - b.end(); -}); diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/docs/repl.txt b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/docs/repl.txt deleted file mode 100644 index e29a11a8c13f..000000000000 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/docs/repl.txt +++ /dev/null @@ -1,25 +0,0 @@ - -{{alias}}( value ) - Returns the distance metric string associated with a supported KMeans - distance metric value. - - Parameters - ---------- - value: any - Distance metric value. - - Returns - ------- - out: string|null - Distance metric string. - - Examples - -------- - > var out = {{alias}}( 'cosine' ) - 'cosine' - > out = {{alias}}( {{alias:@stdlib/ml/base/cluster/kmeans/metric-str2enum}}( 'cosine' ) ) - 'cosine' - - See Also - -------- - diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/docs/types/index.d.ts b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/docs/types/index.d.ts deleted file mode 100644 index 61311095cffc..000000000000 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/docs/types/index.d.ts +++ /dev/null @@ -1,38 +0,0 @@ -/* -* @license Apache-2.0 -* -* Copyright (c) 2026 The Stdlib Authors. -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -// TypeScript Version: 4.1 - -/** -* Returns the distance metric string associated with a KMeans clustering distance metric value. -* -* @param value - distance metric value -* @returns distance metric string -* -* @example -* var str2enum = require( '@stdlib/ml/base/cluster/kmeans/metric-str2enum' ); -* -* var v = resolve( str2enum( 'cosine' ) ); -* // returns 'cosine' -*/ -declare function resolve( value: any ): string | null; - - -// EXPORTS // - -export = resolve; diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/docs/types/test.ts b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/docs/types/test.ts deleted file mode 100644 index ca11e2f0806b..000000000000 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/docs/types/test.ts +++ /dev/null @@ -1,28 +0,0 @@ -/* -* @license Apache-2.0 -* -* Copyright (c) 2026 The Stdlib Authors. -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -import resolve = require( './index' ); - - -// TESTS // - -// The function returns a string or null... -{ - resolve( 0 ); // $ExpectType string | null - resolve( 'cosine' ); // $ExpectType string | null -} diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/examples/index.js b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/examples/index.js deleted file mode 100644 index a9333899a78a..000000000000 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/examples/index.js +++ /dev/null @@ -1,30 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2026 The Stdlib Authors. -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -'use strict'; - -var str2enum = require( '@stdlib/ml/base/cluster/kmeans/metric-str2enum' ); -var resolve = require( './../lib' ); - -var v = resolve( str2enum( 'cosine' ) ); -console.log( v ); -// => 'cosine' - -v = resolve( str2enum( 'euclidean' ) ); -console.log( v ); -// => 'euclidean' diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/lib/index.js b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/lib/index.js deleted file mode 100644 index 8b7ad4ce883d..000000000000 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/lib/index.js +++ /dev/null @@ -1,41 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2026 The Stdlib Authors. -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -'use strict'; - -/** -* Return the distance metric string associated with a supported KMeans clustering distance metric value. -* -* @module @stdlib/ml/base/cluster/kmeans/metric-resolve-str -* -* @example -* var str2enum = require( '@stdlib/ml/base/cluster/kmeans/metric-str2enum' ); -* var resolve = require( '@stdlib/ml/base/cluster/kmeans/metric-resolve-str' ); -* -* var v = resolve( str2enum( 'cosine' ) ); -* // returns 'cosine' -*/ - -// MODULES // - -var main = require( './main.js' ); - - -// EXPORTS // - -module.exports = main; diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/lib/main.js b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/lib/main.js deleted file mode 100644 index 1aa7ba7a9d82..000000000000 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/lib/main.js +++ /dev/null @@ -1,55 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2026 The Stdlib Authors. -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -'use strict'; - -// MODULES // - -var enum2str = require( '@stdlib/ml/base/cluster/kmeans/metric-enum2str' ); -var str2enum = require( '@stdlib/ml/base/cluster/kmeans/metric-str2enum' ); - - -// MAIN // - -/** -* Returns the distance metric string associated with a supported KMeans clustering distance metric value. -* -* @param {*} value - distance metric value -* @returns {(string|null)} distance metric string or null -* -* @example -* var str2enum = require( '@stdlib/ml/base/cluster/kmeans/metric-str2enum' ); -* -* var v = resolve( str2enum( 'cosine' ) ); -* // returns 'cosine' -*/ -function resolve( value ) { - var t = ( typeof value ); - if ( t === 'string' ) { - return ( str2enum( value ) === null ) ? null : value; - } - if ( t === 'number' ) { - return enum2str( value ); - } - return null; -} - - -// EXPORTS // - -module.exports = resolve; diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/package.json b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/package.json deleted file mode 100644 index 5002d6c73b4d..000000000000 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/package.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "name": "@stdlib/ml/base/cluster/kmeans/metric-resolve-str", - "version": "0.0.0", - "description": "Return the distance metric string associated with a supported KMeans clustering distance metric value.", - "license": "Apache-2.0", - "author": { - "name": "The Stdlib Authors", - "url": "https://github.com/stdlib-js/stdlib/graphs/contributors" - }, - "contributors": [ - { - "name": "The Stdlib Authors", - "url": "https://github.com/stdlib-js/stdlib/graphs/contributors" - } - ], - "main": "./lib", - "directories": { - "benchmark": "./benchmark", - "doc": "./docs", - "example": "./examples", - "lib": "./lib", - "test": "./test" - }, - "types": "./docs/types", - "scripts": {}, - "homepage": "https://github.com/stdlib-js/stdlib", - "repository": { - "type": "git", - "url": "git://github.com/stdlib-js/stdlib.git" - }, - "bugs": { - "url": "https://github.com/stdlib-js/stdlib/issues" - }, - "dependencies": {}, - "devDependencies": {}, - "engines": { - "node": ">=0.10.0", - "npm": ">2.7.0" - }, - "os": [ - "aix", - "darwin", - "freebsd", - "linux", - "macos", - "openbsd", - "sunos", - "win32", - "windows" - ], - "keywords": [ - "stdlib", - "ml", - "machine", - "learning", - "cluster", - "kmeans", - "metric", - "utilities", - "utility", - "utils", - "util", - "enum" - ], - "__stdlib__": {} -} diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/test/test.js b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/test/test.js deleted file mode 100644 index e2d3510780fb..000000000000 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-resolve-str/test/test.js +++ /dev/null @@ -1,75 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2026 The Stdlib Authors. -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -'use strict'; - -// MODULES // - -var tape = require( 'tape' ); -var str2enum = require( '@stdlib/ml/base/cluster/kmeans/metric-str2enum' ); -var resolve = require( './../lib' ); - - -// VARIABLES // - -var VALUES = [ - 'euclidean', - 'cosine', - 'cityblock' -]; - - -// TESTS // - -tape( 'main export is a function', function test( t ) { - t.ok( true, __filename ); - t.strictEqual( typeof resolve, 'function', 'main export is a function' ); - t.end(); -}); - -tape( 'the function returns the string associated with a KMeans clustering distance metric value', function test( t ) { - var v; - var i; - for ( i = 0; i < VALUES.length; i++ ) { - v = str2enum( VALUES[ i ] ); - t.strictEqual( resolve( VALUES[ i ] ), VALUES[ i ], 'returns expected value' ); - t.strictEqual( resolve( v ), VALUES[ i ], 'returns expected value' ); - } - t.end(); -}); - -tape( 'the function returns `null` if unable to resolve a string', function test( t ) { - var values; - var i; - - values = [ - 'beep', - 'boop', - 'foo', - 'bar', - -99999999, - -9999999999, - -9999999999999, - true, - false - ]; - for ( i = 0; i < values.length; i++ ) { - t.strictEqual( resolve( values[ i ] ), null, 'returns expected value' ); - } - t.end(); -}); diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/README.md b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/README.md deleted file mode 100644 index 2b4e094bd88e..000000000000 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/README.md +++ /dev/null @@ -1,119 +0,0 @@ - - -# str2enum - -> Return the enumeration constant associated with a KMeans distance metric string. - - - -
- -
- - - - - -
- -## Usage - -```javascript -var str2enum = require( '@stdlib/ml/base/cluster/kmeans/metric-str2enum' ); -``` - -#### str2enum( metric ) - -Returns the enumeration constant associated with a KMeans distance metric string. - -```javascript -var v = str2enum( 'cosine' ); -// returns -``` - -If unable to resolve an enumeration constant, the function returns `null`. - -```javascript -var v = str2enum( 'beep' ); -// returns null -``` - -
- - - - - -
- -## Notes - -- Downstream consumers of this function should **not** rely on specific integer values (e.g., `EUCLIDEAN == 0`). Instead, the function should be used in an opaque manner. - -
- - - - - -
- -## Examples - - - -```javascript -var str2enum = require( '@stdlib/ml/base/cluster/kmeans/metric-str2enum' ); - -var v = str2enum( 'cosine' ); -// returns - -v = str2enum( 'euclidean' ); -// returns -``` - -
- - - - - -
- -
- - - - - - - - - - - - - - diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/benchmark/benchmark.js b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/benchmark/benchmark.js deleted file mode 100644 index d1c7aad74ac9..000000000000 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/benchmark/benchmark.js +++ /dev/null @@ -1,54 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2026 The Stdlib Authors. -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -'use strict'; - -// MODULES // - -var bench = require( '@stdlib/bench' ); -var isInteger = require( '@stdlib/assert/is-integer' ).isPrimitive; -var pkg = require( './../package.json' ).name; -var str2enum = require( './../lib' ); - - -// MAIN // - -bench( pkg, function benchmark( b ) { - var values; - var out; - var i; - - values = [ - 'cosine', - 'euclidean' - ]; - - b.tic(); - for ( i = 0; i < b.iterations; i++ ) { - out = str2enum( values[ i%values.length ] ); - if ( typeof out !== 'number' ) { - b.fail( 'should return a number' ); - } - } - b.toc(); - if ( !isInteger( out ) ) { - b.fail( 'should return an integer' ); - } - b.pass( 'benchmark finished' ); - b.end(); -}); diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/docs/repl.txt b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/docs/repl.txt deleted file mode 100644 index f056e2c96f2e..000000000000 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/docs/repl.txt +++ /dev/null @@ -1,27 +0,0 @@ - -{{alias}}( metric ) - Returns the enumeration constant associated with a KMeans distance metric - string. - - Downstream consumers of this function should *not* rely on specific integer - values (e.g., `EUCLIDEAN == 0`). Instead, the function should be used in an - opaque manner. - - Parameters - ---------- - metric: string - Distance metric. - - Returns - ------- - out: integer|null - Enumeration constant. - - Examples - -------- - > var out = {{alias}}( 'cosine' ) - - - See Also - -------- - diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/docs/types/index.d.ts b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/docs/types/index.d.ts deleted file mode 100644 index ea526f5f4a00..000000000000 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/docs/types/index.d.ts +++ /dev/null @@ -1,40 +0,0 @@ -/* -* @license Apache-2.0 -* -* Copyright (c) 2026 The Stdlib Authors. -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -// TypeScript Version: 4.1 - -/** -* Returns the enumeration constant associated with a KMeans distance metric string. -* -* ## Notes -* -* - Downstream consumers of this function should **not** rely on specific integer values (e.g., `EUCLIDEAN == 0`). Instead, the function should be used in an opaque manner. -* -* @param metric - distance metric string -* @returns enumeration constant -* -* @example -* var v = str2enum( 'cosine' ); -* // returns -*/ -declare function str2enum( metric: string ): number | null; - - -// EXPORTS // - -export = str2enum; diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/docs/types/test.ts b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/docs/types/test.ts deleted file mode 100644 index d51fc88a52c0..000000000000 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/docs/types/test.ts +++ /dev/null @@ -1,39 +0,0 @@ -/* -* @license Apache-2.0 -* -* Copyright (c) 2026 The Stdlib Authors. -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -import str2enum = require( './index' ); - - -// TESTS // - -// The function returns a number or null... -{ - str2enum( 'cosine' ); // $ExpectType number | null -} - -// The compiler throws an error if not provided a string... -{ - str2enum( 10 ); // $ExpectError - str2enum( true ); // $ExpectError - str2enum( false ); // $ExpectError - str2enum( null ); // $ExpectError - str2enum( undefined ); // $ExpectError - str2enum( [] ); // $ExpectError - str2enum( {} ); // $ExpectError - str2enum( ( x: number ): number => x ); // $ExpectError -} diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/examples/index.js b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/examples/index.js deleted file mode 100644 index 6105a6ceeed4..000000000000 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/examples/index.js +++ /dev/null @@ -1,29 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2026 The Stdlib Authors. -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -'use strict'; - -var str2enum = require( './../lib' ); - -var v = str2enum( 'cosine' ); -console.log( v ); -// => - -v = str2enum( 'euclidean' ); -console.log( v ); -// => diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/lib/index.js b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/lib/index.js deleted file mode 100644 index 5e0aad9b7fc4..000000000000 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/lib/index.js +++ /dev/null @@ -1,40 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2026 The Stdlib Authors. -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -'use strict'; - -/** -* Return the enumeration constant associated with a KMeans distance metric string. -* -* @module @stdlib/ml/base/cluster/kmeans/metric-str2enum -* -* @example -* var str2enum = require( '@stdlib/ml/base/cluster/kmeans/metric-str2enum' ); -* -* var v = str2enum( 'cosine' ); -* // returns -*/ - -// MODULES // - -var main = require( './main.js' ); - - -// EXPORTS // - -module.exports = main; diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/lib/main.js b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/lib/main.js deleted file mode 100644 index c0c6c35f4348..000000000000 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/lib/main.js +++ /dev/null @@ -1,56 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2026 The Stdlib Authors. -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -'use strict'; - -// MODULES // - -var isNumber = require( '@stdlib/assert/is-number' ).isPrimitive; -var enumeration = require( '@stdlib/ml/base/cluster/kmeans/metrics' ).enum; - - -// VARIABLES // - -var ENUM = enumeration(); - - -// MAIN // - -/** -* Returns the enumeration constant associated with a KMeans distance metric string. -* -* ## Notes -* -* - Downstream consumers of this function should **not** rely on specific integer values (e.g., `EUCLIDEAN == 0`). Instead, the function should be used in an opaque manner. -* -* @param {string} metric - distance metric string -* @returns {(integer|null)} integer value or null -* -* @example -* var v = str2enum( 'cosine' ); -* // returns -*/ -function str2enum( metric ) { - var v = ENUM[ metric ]; - return ( isNumber( v ) ) ? v : null; // note: we include this guard to prevent walking the prototype chain -} - - -// EXPORTS // - -module.exports = str2enum; diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/package.json b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/package.json deleted file mode 100644 index b6fa14cb4b54..000000000000 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/package.json +++ /dev/null @@ -1,66 +0,0 @@ -{ - "name": "@stdlib/ml/base/cluster/kmeans/metric-str2enum", - "version": "0.0.0", - "description": "Return the enumeration constant associated with a KMeans distance metric string.", - "license": "Apache-2.0", - "author": { - "name": "The Stdlib Authors", - "url": "https://github.com/stdlib-js/stdlib/graphs/contributors" - }, - "contributors": [ - { - "name": "The Stdlib Authors", - "url": "https://github.com/stdlib-js/stdlib/graphs/contributors" - } - ], - "main": "./lib", - "directories": { - "benchmark": "./benchmark", - "doc": "./docs", - "example": "./examples", - "lib": "./lib", - "test": "./test" - }, - "types": "./docs/types", - "scripts": {}, - "homepage": "https://github.com/stdlib-js/stdlib", - "repository": { - "type": "git", - "url": "git://github.com/stdlib-js/stdlib.git" - }, - "bugs": { - "url": "https://github.com/stdlib-js/stdlib/issues" - }, - "dependencies": {}, - "devDependencies": {}, - "engines": { - "node": ">=0.10.0", - "npm": ">2.7.0" - }, - "os": [ - "aix", - "darwin", - "freebsd", - "linux", - "macos", - "openbsd", - "sunos", - "win32", - "windows" - ], - "keywords": [ - "stdlib", - "ml", - "machine", - "learning", - "cluster", - "kmeans", - "metric", - "utilities", - "utility", - "utils", - "util", - "enum" - ], - "__stdlib__": {} -} diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/test/test.js b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/test/test.js deleted file mode 100644 index d9314b142211..000000000000 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metric-str2enum/test/test.js +++ /dev/null @@ -1,67 +0,0 @@ -/** -* @license Apache-2.0 -* -* Copyright (c) 2026 The Stdlib Authors. -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ - -'use strict'; - -// MODULES // - -var tape = require( 'tape' ); -var enum2str = require( '@stdlib/ml/base/cluster/kmeans/metric-enum2str' ); -var str2enum = require( './../lib' ); - - -// VARIABLES // - -var VALUES = [ - 'cosine', - 'euclidean', - 'cityblock' -]; - - -// TESTS // - -tape( 'main export is a function', function test( t ) { - t.ok( true, __filename ); - t.strictEqual( typeof str2enum, 'function', 'main export is a function' ); - t.end(); -}); - -tape( 'the function returns the enumeration constant associated with a string', function test( t ) { - var i; - for ( i = 0; i < VALUES.length; i++ ) { - t.strictEqual( enum2str( str2enum( VALUES[ i ] ) ), VALUES[ i ], 'returns expected value' ); - } - t.end(); -}); - -tape( 'the function returns `null` if unable to resolve an enumeration constant', function test( t ) { - var values; - var i; - - values = [ - 'beep', - 'boop', - 'foo', - 'bar' - ]; - for ( i = 0; i < values.length; i++ ) { - t.strictEqual( str2enum( values[ i ] ), null, 'returns expected value' ); - } - t.end(); -}); From 21b7c373c69abeee4335d4862af3896a23481ed7 Mon Sep 17 00:00:00 2001 From: Nakul Krishnakumar Date: Mon, 9 Mar 2026 22:05:51 +0530 Subject: [PATCH 07/10] chore: update according to code review Signed-off-by: Nakul Krishnakumar --- .../@stdlib/ml/base/cluster/kmeans/metrics/README.md | 2 ++ .../@stdlib/ml/base/cluster/kmeans/metrics/docs/repl.txt | 3 ++- .../metrics/include/stdlib/ml/cluster/base/kmeans/metrics.h | 5 ++++- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/README.md b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/README.md index a887e21b7ec9..ae399b81622c 100644 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/README.md +++ b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/README.md @@ -54,6 +54,7 @@ The output array contains the following metrics: - `sqeuclidean`: squared euclidean distance. - `cosine`: cosine distance. - `cityblock`: cityblock (taxicab) distance. +- `correlation`: correlation distance. @@ -128,6 +129,7 @@ An enumeration of KMeans distance metrics with the following fields: - **STDLIB_ML_CLUSTER_KMEANS_SQEUCLIDEAN**: squared euclidean distance. - **STDLIB_ML_CLUSTER_KMEANS_COSINE**: cosine distance. - **STDLIB_ML_CLUSTER_KMEANS_CITYBLOCK**: cityblock (taxicab) distance. +- **STDLIB_ML_CLUSTER_KMEANS_CORRELATION**: correlation distance. ```c #include "stdlib/ml/base/cluster/kmeans/metrics.h" diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/docs/repl.txt b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/docs/repl.txt index 33c4fac00fea..5106571c9f40 100644 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/docs/repl.txt +++ b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/docs/repl.txt @@ -4,9 +4,10 @@ The output array contains the following metrics: - - euclidean: squared euclidean distance. + - sqeuclidean: squared euclidean distance. - cosine: cosine distance. - cityblock: cityblock (taxicab) distance. + - correlation: correlation distance. Returns ------- diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/include/stdlib/ml/cluster/base/kmeans/metrics.h b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/include/stdlib/ml/cluster/base/kmeans/metrics.h index b51548c9eb86..92412a0fbfc3 100644 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/include/stdlib/ml/cluster/base/kmeans/metrics.h +++ b/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/include/stdlib/ml/cluster/base/kmeans/metrics.h @@ -30,7 +30,10 @@ enum STDLIB_ML_CLUSTER_KMEANS_METRICS { STDLIB_ML_CLUSTER_KMEANS_COSINE, // Cityblock (taxicab) distance: - STDLIB_ML_CLUSTER_KMEANS_CITYBLOCK + STDLIB_ML_CLUSTER_KMEANS_CITYBLOCK, + + // Correlation distance: + STDLIB_ML_CLUSTER_KMEANS_CORRELATION }; #endif // !STDLIB_ML_BASE_CLUSTER_KMEANS_METRICS_H From f79f3e0638e3d962a6c1f9cb76ca2070d3aa6d3f Mon Sep 17 00:00:00 2001 From: nakul-krishnakumar Date: Thu, 21 May 2026 12:50:06 +0530 Subject: [PATCH 08/10] refactor: migrate `ml/base/cluster/kmeans/metrics` to `ml/base/kmeans/metrics` --- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown_pkg_readmes status: passed - task: lint_markdown_docs status: na - task: lint_markdown status: na - task: lint_package_json status: passed - task: lint_repl_help status: passed - task: lint_javascript_src status: passed - task: lint_javascript_cli status: na - task: lint_javascript_examples status: passed - task: lint_javascript_tests status: passed - task: lint_javascript_benchmarks status: passed - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: passed - task: lint_typescript_tests status: passed - task: lint_license_headers status: passed --- --- .../{cluster => }/kmeans/metrics/README.md | 26 +++++++++---------- .../kmeans/metrics/benchmark/benchmark.js | 0 .../kmeans/metrics/docs/repl.txt | 0 .../kmeans/metrics/docs/types/index.d.ts | 0 .../kmeans/metrics/docs/types/test.ts | 0 .../kmeans/metrics/examples/index.js | 0 .../stdlib/ml/cluster/base/kmeans/metrics.h | 16 ++++++------ .../kmeans/metrics/lib/data.json | 0 .../{cluster => }/kmeans/metrics/lib/enum.js | 0 .../{cluster => }/kmeans/metrics/lib/index.js | 6 ++--- .../{cluster => }/kmeans/metrics/lib/main.js | 2 +- .../kmeans/metrics/manifest.json | 0 .../{cluster => }/kmeans/metrics/package.json | 5 ++-- .../{cluster => }/kmeans/metrics/test/test.js | 0 14 files changed, 27 insertions(+), 28 deletions(-) rename lib/node_modules/@stdlib/ml/base/{cluster => }/kmeans/metrics/README.md (81%) rename lib/node_modules/@stdlib/ml/base/{cluster => }/kmeans/metrics/benchmark/benchmark.js (100%) rename lib/node_modules/@stdlib/ml/base/{cluster => }/kmeans/metrics/docs/repl.txt (100%) rename lib/node_modules/@stdlib/ml/base/{cluster => }/kmeans/metrics/docs/types/index.d.ts (100%) rename lib/node_modules/@stdlib/ml/base/{cluster => }/kmeans/metrics/docs/types/test.ts (100%) rename lib/node_modules/@stdlib/ml/base/{cluster => }/kmeans/metrics/examples/index.js (100%) rename lib/node_modules/@stdlib/ml/base/{cluster => }/kmeans/metrics/include/stdlib/ml/cluster/base/kmeans/metrics.h (69%) rename lib/node_modules/@stdlib/ml/base/{cluster => }/kmeans/metrics/lib/data.json (100%) rename lib/node_modules/@stdlib/ml/base/{cluster => }/kmeans/metrics/lib/enum.js (100%) rename lib/node_modules/@stdlib/ml/base/{cluster => }/kmeans/metrics/lib/index.js (86%) rename lib/node_modules/@stdlib/ml/base/{cluster => }/kmeans/metrics/lib/main.js (95%) rename lib/node_modules/@stdlib/ml/base/{cluster => }/kmeans/metrics/manifest.json (100%) rename lib/node_modules/@stdlib/ml/base/{cluster => }/kmeans/metrics/package.json (91%) rename lib/node_modules/@stdlib/ml/base/{cluster => }/kmeans/metrics/test/test.js (100%) diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/README.md b/lib/node_modules/@stdlib/ml/base/kmeans/metrics/README.md similarity index 81% rename from lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/README.md rename to lib/node_modules/@stdlib/ml/base/kmeans/metrics/README.md index ae399b81622c..51a55297598a 100644 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/README.md +++ b/lib/node_modules/@stdlib/ml/base/kmeans/metrics/README.md @@ -20,7 +20,7 @@ limitations under the License. # Distance Metrics -> KMeans distance metrics. +> k-means distance metrics. @@ -37,12 +37,12 @@ limitations under the License. ## Usage ```javascript -var metrics = require( '@stdlib/ml/base/cluster/kmeans/metrics' ); +var metrics = require( '@stdlib/ml/base/kmeans/metrics' ); ``` #### metrics() -Returns a list of KMeans distance metrics. +Returns a list of k-means distance metrics. ```javascript var out = metrics(); @@ -78,7 +78,7 @@ The output array contains the following metrics: ```javascript var contains = require( '@stdlib/array/base/assert/contains' ).factory; -var metrics = require( '@stdlib/ml/base/cluster/kmeans/metrics' ); +var metrics = require( '@stdlib/ml/base/kmeans/metrics' ); var isMetric = contains( metrics() ); @@ -119,22 +119,22 @@ bool = isMetric( 'beep' ); ### Usage ```c -#include "stdlib/ml/base/cluster/kmeans/metrics.h" +#include "stdlib/ml/base/kmeans/metrics.h" ``` -#### STDLIB_ML_CLUSTER_KMEANS_METRIC +#### STDLIB_ML_KMEANS_METRIC -An enumeration of KMeans distance metrics with the following fields: +An enumeration of k-means distance metrics with the following fields: -- **STDLIB_ML_CLUSTER_KMEANS_SQEUCLIDEAN**: squared euclidean distance. -- **STDLIB_ML_CLUSTER_KMEANS_COSINE**: cosine distance. -- **STDLIB_ML_CLUSTER_KMEANS_CITYBLOCK**: cityblock (taxicab) distance. -- **STDLIB_ML_CLUSTER_KMEANS_CORRELATION**: correlation distance. +- **STDLIB_ML_KMEANS_SQEUCLIDEAN**: squared euclidean distance. +- **STDLIB_ML_KMEANS_COSINE**: cosine distance. +- **STDLIB_ML_KMEANS_CITYBLOCK**: cityblock (taxicab) distance. +- **STDLIB_ML_KMEANS_CORRELATION**: correlation distance. ```c -#include "stdlib/ml/base/cluster/kmeans/metrics.h" +#include "stdlib/ml/base/kmeans/metrics.h" -const enum STDLIB_ML_CLUSTER_KMEANS_METRIC v = STDLIB_ML_CLUSTER_KMEANS_SQEUCLIDEAN; +const enum STDLIB_ML_KMEANS_METRIC v = STDLIB_ML_KMEANS_SQEUCLIDEAN; ``` diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/benchmark/benchmark.js b/lib/node_modules/@stdlib/ml/base/kmeans/metrics/benchmark/benchmark.js similarity index 100% rename from lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/benchmark/benchmark.js rename to lib/node_modules/@stdlib/ml/base/kmeans/metrics/benchmark/benchmark.js diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/docs/repl.txt b/lib/node_modules/@stdlib/ml/base/kmeans/metrics/docs/repl.txt similarity index 100% rename from lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/docs/repl.txt rename to lib/node_modules/@stdlib/ml/base/kmeans/metrics/docs/repl.txt diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/docs/types/index.d.ts b/lib/node_modules/@stdlib/ml/base/kmeans/metrics/docs/types/index.d.ts similarity index 100% rename from lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/docs/types/index.d.ts rename to lib/node_modules/@stdlib/ml/base/kmeans/metrics/docs/types/index.d.ts diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/docs/types/test.ts b/lib/node_modules/@stdlib/ml/base/kmeans/metrics/docs/types/test.ts similarity index 100% rename from lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/docs/types/test.ts rename to lib/node_modules/@stdlib/ml/base/kmeans/metrics/docs/types/test.ts diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/examples/index.js b/lib/node_modules/@stdlib/ml/base/kmeans/metrics/examples/index.js similarity index 100% rename from lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/examples/index.js rename to lib/node_modules/@stdlib/ml/base/kmeans/metrics/examples/index.js diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/include/stdlib/ml/cluster/base/kmeans/metrics.h b/lib/node_modules/@stdlib/ml/base/kmeans/metrics/include/stdlib/ml/cluster/base/kmeans/metrics.h similarity index 69% rename from lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/include/stdlib/ml/cluster/base/kmeans/metrics.h rename to lib/node_modules/@stdlib/ml/base/kmeans/metrics/include/stdlib/ml/cluster/base/kmeans/metrics.h index 92412a0fbfc3..ee7561ce77a6 100644 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/include/stdlib/ml/cluster/base/kmeans/metrics.h +++ b/lib/node_modules/@stdlib/ml/base/kmeans/metrics/include/stdlib/ml/cluster/base/kmeans/metrics.h @@ -16,24 +16,24 @@ * limitations under the License. */ -#ifndef STDLIB_ML_BASE_CLUSTER_KMEANS_METRICS_H -#define STDLIB_ML_BASE_CLUSTER_KMEANS_METRICS_H +#ifndef STDLIB_ML_BASE_KMEANS_METRICS_H +#define STDLIB_ML_BASE_KMEANS_METRICS_H /** * Enumeration of distance metrics. */ -enum STDLIB_ML_CLUSTER_KMEANS_METRICS { +enum STDLIB_ML_KMEANS_METRICS { // Squared euclidean distance: - STDLIB_ML_CLUSTER_KMEANS_SQEUCLIDEAN = 0, + STDLIB_ML_KMEANS_SQEUCLIDEAN = 0, // Cosine distance: - STDLIB_ML_CLUSTER_KMEANS_COSINE, + STDLIB_ML_KMEANS_COSINE, // Cityblock (taxicab) distance: - STDLIB_ML_CLUSTER_KMEANS_CITYBLOCK, + STDLIB_ML_KMEANS_CITYBLOCK, // Correlation distance: - STDLIB_ML_CLUSTER_KMEANS_CORRELATION + STDLIB_ML_KMEANS_CORRELATION }; -#endif // !STDLIB_ML_BASE_CLUSTER_KMEANS_METRICS_H +#endif // !STDLIB_ML_BASE_KMEANS_METRICS_H diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/lib/data.json b/lib/node_modules/@stdlib/ml/base/kmeans/metrics/lib/data.json similarity index 100% rename from lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/lib/data.json rename to lib/node_modules/@stdlib/ml/base/kmeans/metrics/lib/data.json diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/lib/enum.js b/lib/node_modules/@stdlib/ml/base/kmeans/metrics/lib/enum.js similarity index 100% rename from lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/lib/enum.js rename to lib/node_modules/@stdlib/ml/base/kmeans/metrics/lib/enum.js diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/lib/index.js b/lib/node_modules/@stdlib/ml/base/kmeans/metrics/lib/index.js similarity index 86% rename from lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/lib/index.js rename to lib/node_modules/@stdlib/ml/base/kmeans/metrics/lib/index.js index 4ab25069e6c1..383ee98b7637 100644 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/lib/index.js +++ b/lib/node_modules/@stdlib/ml/base/kmeans/metrics/lib/index.js @@ -19,12 +19,12 @@ 'use strict'; /** -* Return a list of KMeans distance metrics. +* Return a list of k-means distance metrics. * -* @module @stdlib/ml/base/cluster/kmeans/metrics +* @module @stdlib/ml/base/kmeans/metrics * * @example -* var metrics = require( '@stdlib/ml/base/cluster/kmeans/metrics' ); +* var metrics = require( '@stdlib/ml/base/kmeans/metrics' ); * * var list = metrics(); * // e.g., returns [ 'sqeuclidean', 'cosine', 'cityblock' , 'correlation' ] diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/lib/main.js b/lib/node_modules/@stdlib/ml/base/kmeans/metrics/lib/main.js similarity index 95% rename from lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/lib/main.js rename to lib/node_modules/@stdlib/ml/base/kmeans/metrics/lib/main.js index fd2d667d9bb1..52d3bca32132 100644 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/lib/main.js +++ b/lib/node_modules/@stdlib/ml/base/kmeans/metrics/lib/main.js @@ -26,7 +26,7 @@ var DATA = require( './data.json' ); // MAIN // /** -* Returns a list of KMeans distance metrics. +* Returns a list of k-means distance metrics. * * @returns {StringArray} list of distance metrics * diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/manifest.json b/lib/node_modules/@stdlib/ml/base/kmeans/metrics/manifest.json similarity index 100% rename from lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/manifest.json rename to lib/node_modules/@stdlib/ml/base/kmeans/metrics/manifest.json diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/package.json b/lib/node_modules/@stdlib/ml/base/kmeans/metrics/package.json similarity index 91% rename from lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/package.json rename to lib/node_modules/@stdlib/ml/base/kmeans/metrics/package.json index 929baeb098b9..6c1c4842baa3 100644 --- a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/package.json +++ b/lib/node_modules/@stdlib/ml/base/kmeans/metrics/package.json @@ -1,7 +1,7 @@ { - "name": "@stdlib/ml/base/cluster/kmeans/metrics", + "name": "@stdlib/ml/base/kmeans/metrics", "version": "0.0.0", - "description": "KMeans distance metrics.", + "description": "k-means distance metrics.", "license": "Apache-2.0", "author": { "name": "The Stdlib Authors", @@ -54,7 +54,6 @@ "ml", "machine", "learning", - "cluster", "kmeans", "metric", "utilities", diff --git a/lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/test/test.js b/lib/node_modules/@stdlib/ml/base/kmeans/metrics/test/test.js similarity index 100% rename from lib/node_modules/@stdlib/ml/base/cluster/kmeans/metrics/test/test.js rename to lib/node_modules/@stdlib/ml/base/kmeans/metrics/test/test.js From 685f4ea13b5e27ce707cc217eae55c67a62a3898 Mon Sep 17 00:00:00 2001 From: nakul-krishnakumar Date: Thu, 21 May 2026 12:51:50 +0530 Subject: [PATCH 09/10] refactor: migrate `ml/base/cluster/kmeans/metrics` to `ml/base/kmeans/metrics` --- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown_pkg_readmes status: na - task: lint_markdown_docs status: na - task: lint_markdown status: na - task: lint_package_json status: na - task: lint_repl_help status: na - task: lint_javascript_src status: na - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: na - task: lint_javascript_benchmarks status: na - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: passed - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- .../metrics/include/stdlib/ml/{cluster => }/base/kmeans/metrics.h | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename lib/node_modules/@stdlib/ml/base/kmeans/metrics/include/stdlib/ml/{cluster => }/base/kmeans/metrics.h (100%) diff --git a/lib/node_modules/@stdlib/ml/base/kmeans/metrics/include/stdlib/ml/cluster/base/kmeans/metrics.h b/lib/node_modules/@stdlib/ml/base/kmeans/metrics/include/stdlib/ml/base/kmeans/metrics.h similarity index 100% rename from lib/node_modules/@stdlib/ml/base/kmeans/metrics/include/stdlib/ml/cluster/base/kmeans/metrics.h rename to lib/node_modules/@stdlib/ml/base/kmeans/metrics/include/stdlib/ml/base/kmeans/metrics.h From 345521f3e559cacce4cc25cad8bd1e3550772304 Mon Sep 17 00:00:00 2001 From: nakul-krishnakumar Date: Thu, 21 May 2026 16:23:34 +0530 Subject: [PATCH 10/10] chore: update according to code review --- type: pre_commit_static_analysis_report description: Results of running static analysis checks when committing changes. report: - task: lint_filenames status: passed - task: lint_editorconfig status: passed - task: lint_markdown_pkg_readmes status: passed - task: lint_markdown_docs status: na - task: lint_markdown status: na - task: lint_package_json status: na - task: lint_repl_help status: na - task: lint_javascript_src status: passed - task: lint_javascript_cli status: na - task: lint_javascript_examples status: na - task: lint_javascript_tests status: passed - task: lint_javascript_benchmarks status: na - task: lint_python status: na - task: lint_r status: na - task: lint_c_src status: na - task: lint_c_examples status: na - task: lint_c_benchmarks status: na - task: lint_c_tests_fixtures status: na - task: lint_shell status: na - task: lint_typescript_declarations status: passed - task: lint_typescript_tests status: na - task: lint_license_headers status: passed --- --- lib/node_modules/@stdlib/ml/base/kmeans/metrics/README.md | 2 +- .../base/kmeans/metrics/include/stdlib/ml/base/kmeans/metrics.h | 2 +- lib/node_modules/@stdlib/ml/base/kmeans/metrics/lib/index.js | 2 +- lib/node_modules/@stdlib/ml/base/kmeans/metrics/lib/main.js | 2 +- lib/node_modules/@stdlib/ml/base/kmeans/metrics/test/test.js | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/node_modules/@stdlib/ml/base/kmeans/metrics/README.md b/lib/node_modules/@stdlib/ml/base/kmeans/metrics/README.md index 51a55297598a..7208171d174f 100644 --- a/lib/node_modules/@stdlib/ml/base/kmeans/metrics/README.md +++ b/lib/node_modules/@stdlib/ml/base/kmeans/metrics/README.md @@ -46,7 +46,7 @@ Returns a list of k-means distance metrics. ```javascript var out = metrics(); -// e.g., returns [ 'sqeuclidean', 'cosine', 'cityblock' , 'correlation' ] +// e.g., returns [ 'sqeuclidean', 'cosine', 'cityblock', 'correlation' ] ``` The output array contains the following metrics: diff --git a/lib/node_modules/@stdlib/ml/base/kmeans/metrics/include/stdlib/ml/base/kmeans/metrics.h b/lib/node_modules/@stdlib/ml/base/kmeans/metrics/include/stdlib/ml/base/kmeans/metrics.h index ee7561ce77a6..2c8a593f5631 100644 --- a/lib/node_modules/@stdlib/ml/base/kmeans/metrics/include/stdlib/ml/base/kmeans/metrics.h +++ b/lib/node_modules/@stdlib/ml/base/kmeans/metrics/include/stdlib/ml/base/kmeans/metrics.h @@ -22,7 +22,7 @@ /** * Enumeration of distance metrics. */ -enum STDLIB_ML_KMEANS_METRICS { +enum STDLIB_ML_KMEANS_METRIC { // Squared euclidean distance: STDLIB_ML_KMEANS_SQEUCLIDEAN = 0, diff --git a/lib/node_modules/@stdlib/ml/base/kmeans/metrics/lib/index.js b/lib/node_modules/@stdlib/ml/base/kmeans/metrics/lib/index.js index 383ee98b7637..30bd521ee439 100644 --- a/lib/node_modules/@stdlib/ml/base/kmeans/metrics/lib/index.js +++ b/lib/node_modules/@stdlib/ml/base/kmeans/metrics/lib/index.js @@ -27,7 +27,7 @@ * var metrics = require( '@stdlib/ml/base/kmeans/metrics' ); * * var list = metrics(); -* // e.g., returns [ 'sqeuclidean', 'cosine', 'cityblock' , 'correlation' ] +* // e.g., returns [ 'sqeuclidean', 'cosine', 'cityblock', 'correlation' ] */ // MODULES // diff --git a/lib/node_modules/@stdlib/ml/base/kmeans/metrics/lib/main.js b/lib/node_modules/@stdlib/ml/base/kmeans/metrics/lib/main.js index 52d3bca32132..7a35a7c16d82 100644 --- a/lib/node_modules/@stdlib/ml/base/kmeans/metrics/lib/main.js +++ b/lib/node_modules/@stdlib/ml/base/kmeans/metrics/lib/main.js @@ -32,7 +32,7 @@ var DATA = require( './data.json' ); * * @example * var list = metrics(); -* // e.g., returns [ 'sqeuclidean', 'cosine', 'cityblock' , 'correlation' ] +* // e.g., returns [ 'sqeuclidean', 'cosine', 'cityblock', 'correlation' ] */ function metrics() { return DATA.slice(); diff --git a/lib/node_modules/@stdlib/ml/base/kmeans/metrics/test/test.js b/lib/node_modules/@stdlib/ml/base/kmeans/metrics/test/test.js index 48a94749b7f0..664fff31ec6b 100644 --- a/lib/node_modules/@stdlib/ml/base/kmeans/metrics/test/test.js +++ b/lib/node_modules/@stdlib/ml/base/kmeans/metrics/test/test.js @@ -70,7 +70,7 @@ tape( 'attached to the main function is an `enum` method to return an object map ]; for ( i = 0; i < o.length; i++ ) { t.strictEqual( hasOwnProp( obj, o[ i ] ), true, 'has property `' + o[ i ] + '`' ); - t.strictEqual( isNonNegativeInteger( obj[ o[i] ] ), true, 'returns expected value' ); + t.strictEqual( isNonNegativeInteger( obj[ o[ i ] ] ), true, 'returns expected value' ); } t.end();