unum-cloud / usearch

Fast Open-Source Search & Clustering engine × for Vectors & 🔜 Strings × in C++, C, Python, JavaScript, Rust, Java, Objective-C, Swift, C#, GoLang, and Wolfram 🔍
https://unum-cloud.github.io/usearch/
Apache License 2.0
2.15k stars 130 forks source link

Bug: Test failure #332

Closed sroussey closed 7 months ago

sroussey commented 9 months ago

Describe the bug

I am running npm install && npm run tests

Steps to reproduce

npm install && npm run tests

Expected behavior

all tests complete ok. Instead I get this:

❯ npm run test

usearch@2.8.14 test node --test ./javascript/usearch.test.js

✔ Single-entry operations (0.960208ms) ✔ Batch operations (0.177917ms) ✖ Expected results (0.967083ms) AssertionError [ERR_ASSERTION]: Expected values to be loosely deep-equal:

Float32Array(1) [ -1.1920928955078125e-7 ]

should loosely deep-equal

Float32Array(1) [ -0 ] at TestContext. (/Users/steve/Code/usearch/javascript/usearch.test.js:50:12) at Test.runInAsyncScope (node:async_hooks:206:9) at Test.run (node:internal/test_runner/test:631:25) at Test.processPendingSubtests (node:internal/test_runner/test:374:18) at Test.postRun (node:internal/test_runner/test:715:19) at Test.run (node:internal/test_runner/test:673:12) at async Test.processPendingSubtests (node:internal/test_runner/test:374:7) { generatedMessage: true, code: 'ERR_ASSERTION', actual: Float32Array(1) [ -1.1920928955078125e-7 ], expected: Float32Array(1) [ -0 ], operator: 'deepEqual' }

✔ Operations with invalid values (0.083042ms) ℹ tests 4 ℹ suites 0 ℹ pass 3 ℹ fail 1 ℹ cancelled 0 ℹ skipped 0 ℹ todo 0 ℹ duration_ms 40.536125

✖ failing tests:

test at javascript/usearch.test.js:39:1 ✖ Expected results (0.967083ms) AssertionError [ERR_ASSERTION]: Expected values to be loosely deep-equal:

Float32Array(1) [ -1.1920928955078125e-7 ]

should loosely deep-equal

Float32Array(1) [ -0 ] at TestContext. (/Users/steve/Code/usearch/javascript/usearch.test.js:50:12) at Test.runInAsyncScope (node:async_hooks:206:9) at Test.run (node:internal/test_runner/test:631:25) at Test.processPendingSubtests (node:internal/test_runner/test:374:18) at Test.postRun (node:internal/test_runner/test:715:19) at Test.run (node:internal/test_runner/test:673:12) at async Test.processPendingSubtests (node:internal/test_runner/test:374:7) { generatedMessage: true, code: 'ERR_ASSERTION', actual: Float32Array(1) [ -1.1920928955078125e-7 ], expected: Float32Array(1) [ -0 ], operator: 'deepEqual' }

USearch version

2.8.14

Operating System

MacOS 14.2.1 / Darwin 23.2.0 arm64 arm

Hardware architecture

Arm

Which interface are you using?

Other bindings

Contact Details

No response

Is there an existing issue for this?

Code of Conduct

ashvardanian commented 8 months ago

That's related to #320. May be solved by a better choice of constants in SimSIMD.