edfcore 0.2.50 → 0.2.52
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +32 -0
- package/dist/constants.d.ts +1 -1
- package/dist/constants.js +1 -1
- package/package.json +1 -1
- package/src/constants.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,38 @@ alone does not tell you whether you were affected.
|
|
|
6
6
|
edfcore is pre-1.0. Patch releases have carried behaviour changes where the old behaviour was a
|
|
7
7
|
defect; those are called out below.
|
|
8
8
|
|
|
9
|
+
## 0.2.52
|
|
10
|
+
|
|
11
|
+
- **Added** streaming equivalence on the 22-hour recording. The documented claim is that a streamed
|
|
12
|
+
chunk and a read chunk are the same object in every respect; on a 40-record fixture a chunking
|
|
13
|
+
mistake often cancels out, and over 2,650 records it cannot. 7,950,000 samples are concatenated
|
|
14
|
+
from 42 streamed chunks and compared element by element with a single `readWindow`, and no chunk
|
|
15
|
+
is allowed to hold more than its own records.
|
|
16
|
+
- Also pins that streaming yields its first chunk after reading under one percent of a 48 MB file.
|
|
17
|
+
Bounded memory is half the claim; not having to read the whole file before yielding anything is
|
|
18
|
+
the other half, and a byte counter is the evidence.
|
|
19
|
+
- The comparison is a loop rather than `toEqual`. Deep equality over two 7.95-million-element typed
|
|
20
|
+
arrays took 45 seconds and, on failure, printed a diff nobody could read; the loop takes under a
|
|
21
|
+
second and names the first differing sample, which is the only part anyone would look at.
|
|
22
|
+
|
|
23
|
+
## 0.2.51
|
|
24
|
+
|
|
25
|
+
- **Added** the tests only a real, large recording can support, against the 22-hour sleep-edfx
|
|
26
|
+
polysomnogram. Three claims edfcore advertises are invisible on a hundred-byte fixture:
|
|
27
|
+
- **Envelope decimation is faithful.** 7,950,000 samples reduced to 1,000 buckets, compared with
|
|
28
|
+
an EXHAUSTIVE reduction of every one of them — not a spot check. This is the case the feature
|
|
29
|
+
exists for, and until now it was only demonstrated on 40 records.
|
|
30
|
+
- **The bucket grid does not move with the read chunk size.** 265 chunks versus a handful. A fold
|
|
31
|
+
that computed its bucket on the chunk's grid rather than the run's would diverge here and agree
|
|
32
|
+
on a two-record fixture.
|
|
33
|
+
- **Memory is bounded by the chunk, not the window.** The 22-hour envelope is produced under a
|
|
34
|
+
512 KiB budget; materialising the window would need ~32 MB, so the budget makes the claim
|
|
35
|
+
falsifiable rather than asserted.
|
|
36
|
+
- Also pins that a 100 Hz and a 1 Hz channel keep their own sample grids across the whole file,
|
|
37
|
+
checked at the LAST 30 seconds — where a shared-grid error is largest, and nowhere else.
|
|
38
|
+
- **Fixed** an unnecessary biome suppression added in 0.2.50 that was itself the only warning in
|
|
39
|
+
the tree.
|
|
40
|
+
|
|
9
41
|
## 0.2.50
|
|
10
42
|
|
|
11
43
|
- **Added** a corpus-coverage report that always runs. Every other test in `tests/corpus/` skips
|
package/dist/constants.d.ts
CHANGED
|
@@ -109,5 +109,5 @@ export declare const SIGNAL_FIELD_BLOCK_OFFSETS: {
|
|
|
109
109
|
readonly reserved: 224;
|
|
110
110
|
};
|
|
111
111
|
/** Published package version. Kept in sync with package.json by a test. */
|
|
112
|
-
export declare const VERSION = "0.2.
|
|
112
|
+
export declare const VERSION = "0.2.52";
|
|
113
113
|
//# sourceMappingURL=constants.d.ts.map
|
package/dist/constants.js
CHANGED
package/package.json
CHANGED
package/src/constants.ts
CHANGED