edfcore 0.4.341 → 0.4.343

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.
@@ -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.4.341";
112
+ export declare const VERSION = "0.4.343";
113
113
  //# sourceMappingURL=constants.d.ts.map
package/dist/constants.js CHANGED
@@ -79,5 +79,5 @@ export const SIGNAL_FIELD_BLOCK_OFFSETS = {
79
79
  reserved: 224,
80
80
  };
81
81
  /** Published package version. Kept in sync with package.json by a test. */
82
- export const VERSION = '0.4.341';
82
+ export const VERSION = '0.4.343';
83
83
  //# sourceMappingURL=constants.js.map
package/docs/CHANGELOG.md CHANGED
@@ -6,6 +6,41 @@ 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.4.343
10
+
11
+ - **Added** `tests/property/scaling.test.ts`, which measures the bound 0.4.342 asserted. Random
12
+ declarations are built, written, parsed and converted at both endpoints, and the error is
13
+ compared against what the file itself declares — the fourth property file in the suite and the
14
+ first over the scaling expression.
15
+ - Two wrong units on the way to the right one, both recorded in the file. ULP distance is the
16
+ mistake `mne-parity.test.ts` already documents: a declaration with bounds of 0.0002 and -4827
17
+ sits 5.4 million ULP from the smaller one while being physically indistinguishable from it.
18
+ Relative error fails at the other end — a bound of 0.001 beside one of 99,999 shows a relative
19
+ error of 1.3e-3 for an absolute error far below anything the file can express. Quantisation steps
20
+ are the only unit in which "you could not notice this" is a statement about the recording, and
21
+ they are what the rest of the page already uses. The measured worst is about 2e-5 of a step, and
22
+ 0.4.342's note has been corrected from a relative figure to that one.
23
+ - The property found a real constraint on its first run: a physical bound lives in an
24
+ eight-character field, so `1e-6` is written `0.000000` and comes back degenerate. Everything is
25
+ now measured against the parsed header rather than the numbers handed to the writer, which makes
26
+ this a property about declarations a file can actually hold.
27
+
28
+ ## 0.4.342
29
+
30
+ - **Corrected** a claim on `physical-values.md` that read as general and holds only for the range
31
+ it introduces. "The two forms agree at the endpoints and disagree in the last place elsewhere"
32
+ is true of the tabulated -500..500 over -32768..32767, and false of most declarations: the
33
+ EDFlib expression derives an offset from `physicalMaximum / bitValue` and multiplies back, and
34
+ nothing in that round trip has to land on the declared bound. A signal declaring `1`..`1000`
35
+ over `0`..`4095` converts its digital minimum to `1.000000000000092`.
36
+ - Not a defect in edfcore — EDFlib does the same and reproducing it bit for bit is the entire
37
+ point — but a reader who took the sentence generally would derive a plot axis from `toPhysical`
38
+ at the extremes and get a bound an ulp or two off. The sentence is now scoped to its range, and
39
+ a note gives the general case and points at `physicalRangeOf`, which reads the declared fields
40
+ and is exact.
41
+ - Checked from both sides: the two quoted values are produced, the tabulated range still lands
42
+ exactly, and `physicalRangeOf` returns the declared bounds on all three.
43
+
9
44
  ## 0.4.341
10
45
 
11
46
  - **Added** an execution of the read pattern `large-files.md` measured. The page prints four byte
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edfcore",
3
- "version": "0.4.341",
3
+ "version": "0.4.343",
4
4
  "description": "Modern, typed, zero-dependency reader for EDF, EDF+, BDF and BDF+ biosignal files. Works in browsers and Node with true random access.",
5
5
  "keywords": [
6
6
  "edf",
package/src/constants.ts CHANGED
@@ -93,4 +93,4 @@ export const SIGNAL_FIELD_BLOCK_OFFSETS = {
93
93
  } as const;
94
94
 
95
95
  /** Published package version. Kept in sync with package.json by a test. */
96
- export const VERSION = '0.4.341';
96
+ export const VERSION = '0.4.343';