@neilberkman/sidereon 0.22.0 → 0.24.0

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/pkg/sidereon.js CHANGED
@@ -9012,7 +9012,7 @@ if (Symbol.dispose) NamedTle.prototype[Symbol.dispose] = NamedTle.prototype.free
9012
9012
 
9013
9013
  /**
9014
9014
  * Which supported RINEX NAV message a broadcast record carries.
9015
- * @enum {0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8}
9015
+ * @enum {0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9}
9016
9016
  */
9017
9017
  export const NavMessage = Object.freeze({
9018
9018
  /**
@@ -9035,22 +9035,26 @@ export const NavMessage = Object.freeze({
9035
9035
  * QZSS CNAV-2.
9036
9036
  */
9037
9037
  QzssCnav2: 4, "4": "QzssCnav2",
9038
+ /**
9039
+ * QZSS LNAV.
9040
+ */
9041
+ QzssLnav: 5, "5": "QzssLnav",
9038
9042
  /**
9039
9043
  * Galileo I/NAV.
9040
9044
  */
9041
- GalileoInav: 5, "5": "GalileoInav",
9045
+ GalileoInav: 6, "6": "GalileoInav",
9042
9046
  /**
9043
9047
  * Galileo F/NAV.
9044
9048
  */
9045
- GalileoFnav: 6, "6": "GalileoFnav",
9049
+ GalileoFnav: 7, "7": "GalileoFnav",
9046
9050
  /**
9047
9051
  * BeiDou D1.
9048
9052
  */
9049
- BeidouD1: 7, "7": "BeidouD1",
9053
+ BeidouD1: 8, "8": "BeidouD1",
9050
9054
  /**
9051
9055
  * BeiDou D2.
9052
9056
  */
9053
- BeidouD2: 8, "8": "BeidouD2",
9057
+ BeidouD2: 9, "9": "BeidouD2",
9054
9058
  });
9055
9059
 
9056
9060
  /**
@@ -12463,6 +12467,16 @@ export class PppFixedSolution {
12463
12467
  const ret = wasm.pppfixedsolution_converged(this.__wbg_ptr);
12464
12468
  return ret !== 0;
12465
12469
  }
12470
+ /**
12471
+ * Epoch receiver clock states, metres.
12472
+ * @returns {Float64Array}
12473
+ */
12474
+ get epochClocksM() {
12475
+ const ret = wasm.pppfixedsolution_epochClocksM(this.__wbg_ptr);
12476
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
12477
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
12478
+ return v1;
12479
+ }
12466
12480
  /**
12467
12481
  * Fixed ambiguities, integer cycles, as an id-keyed object.
12468
12482
  * @returns {any}
@@ -12487,6 +12501,39 @@ export class PppFixedSolution {
12487
12501
  const ret = wasm.pppfixedsolution_floatSolution(this.__wbg_ptr);
12488
12502
  return PppFloatSolution.__wrap(ret);
12489
12503
  }
12504
+ /**
12505
+ * Formal ECEF position covariance, row-major 3-by-3.
12506
+ * @returns {Float64Array}
12507
+ */
12508
+ get formalPositionCovarianceEcefM2() {
12509
+ const ret = wasm.pppfixedsolution_formalPositionCovarianceEcefM2(this.__wbg_ptr);
12510
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
12511
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
12512
+ return v1;
12513
+ }
12514
+ /**
12515
+ * Formal ENU position covariance, row-major 3-by-3.
12516
+ * @returns {Float64Array}
12517
+ */
12518
+ get formalPositionCovarianceEnuM2() {
12519
+ const ret = wasm.pppfixedsolution_formalPositionCovarianceEnuM2(this.__wbg_ptr);
12520
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
12521
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
12522
+ return v1;
12523
+ }
12524
+ /**
12525
+ * Formal north/east tropospheric-gradient covariance, row-major 2-by-2.
12526
+ * @returns {Float64Array | undefined}
12527
+ */
12528
+ get formalTropoGradientCovarianceM2() {
12529
+ const ret = wasm.pppfixedsolution_formalTropoGradientCovarianceM2(this.__wbg_ptr);
12530
+ let v1;
12531
+ if (ret[0] !== 0) {
12532
+ v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
12533
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
12534
+ }
12535
+ return v1;
12536
+ }
12490
12537
  /**
12491
12538
  * @returns {number}
12492
12539
  */
@@ -12531,6 +12578,33 @@ export class PppFixedSolution {
12531
12578
  const ret = wasm.pppfixedsolution_phaseRmsM(this.__wbg_ptr);
12532
12579
  return ret;
12533
12580
  }
12581
+ /**
12582
+ * Posterior ECEF position covariance, row-major 3-by-3.
12583
+ * @returns {Float64Array}
12584
+ */
12585
+ get positionCovarianceEcefM2() {
12586
+ const ret = wasm.pppfixedsolution_positionCovarianceEcefM2(this.__wbg_ptr);
12587
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
12588
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
12589
+ return v1;
12590
+ }
12591
+ /**
12592
+ * Posterior ENU position covariance, row-major 3-by-3.
12593
+ * @returns {Float64Array}
12594
+ */
12595
+ get positionCovarianceEnuM2() {
12596
+ const ret = wasm.pppfixedsolution_positionCovarianceEnuM2(this.__wbg_ptr);
12597
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
12598
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
12599
+ return v1;
12600
+ }
12601
+ /**
12602
+ * @returns {number}
12603
+ */
12604
+ get positionCovarianceScaleFactor() {
12605
+ const ret = wasm.pppfixedsolution_positionCovarianceScaleFactor(this.__wbg_ptr);
12606
+ return ret;
12607
+ }
12534
12608
  /**
12535
12609
  * ECEF position as a `Float64Array` `[x, y, z]`, metres.
12536
12610
  * @returns {Float64Array}
@@ -12541,6 +12615,109 @@ export class PppFixedSolution {
12541
12615
  wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
12542
12616
  return v1;
12543
12617
  }
12618
+ /**
12619
+ * @returns {number}
12620
+ */
12621
+ get posteriorVarianceFactor() {
12622
+ const ret = wasm.pppfixedsolution_posteriorVarianceFactor(this.__wbg_ptr);
12623
+ return ret;
12624
+ }
12625
+ /**
12626
+ * Residual ionosphere states, metres, as an id-keyed object.
12627
+ * @returns {any}
12628
+ */
12629
+ get residualIonosphereM() {
12630
+ const ret = wasm.pppfixedsolution_residualIonosphereM(this.__wbg_ptr);
12631
+ return ret;
12632
+ }
12633
+ /**
12634
+ * Post-fit PPP residual rows.
12635
+ * @returns {any}
12636
+ */
12637
+ get residuals() {
12638
+ const ret = wasm.pppfixedsolution_residuals(this.__wbg_ptr);
12639
+ return ret;
12640
+ }
12641
+ /**
12642
+ * Static PPP termination status.
12643
+ * @returns {string}
12644
+ */
12645
+ get status() {
12646
+ let deferred1_0;
12647
+ let deferred1_1;
12648
+ try {
12649
+ const ret = wasm.pppfixedsolution_status(this.__wbg_ptr);
12650
+ deferred1_0 = ret[0];
12651
+ deferred1_1 = ret[1];
12652
+ return getStringFromWasm0(ret[0], ret[1]);
12653
+ } finally {
12654
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
12655
+ }
12656
+ }
12657
+ /**
12658
+ * Temporal-correlation summary used by the conservative covariance.
12659
+ * @returns {any}
12660
+ */
12661
+ get temporalCorrelation() {
12662
+ const ret = wasm.pppfixedsolution_temporalCorrelation(this.__wbg_ptr);
12663
+ return ret;
12664
+ }
12665
+ /**
12666
+ * Temporal-correlation-deflated ECEF covariance, row-major 3-by-3.
12667
+ * @returns {Float64Array}
12668
+ */
12669
+ get temporalPositionCovarianceEcefM2() {
12670
+ const ret = wasm.pppfixedsolution_temporalPositionCovarianceEcefM2(this.__wbg_ptr);
12671
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
12672
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
12673
+ return v1;
12674
+ }
12675
+ /**
12676
+ * Temporal-correlation-deflated ENU covariance, row-major 3-by-3.
12677
+ * @returns {Float64Array}
12678
+ */
12679
+ get temporalPositionCovarianceEnuM2() {
12680
+ const ret = wasm.pppfixedsolution_temporalPositionCovarianceEnuM2(this.__wbg_ptr);
12681
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
12682
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
12683
+ return v1;
12684
+ }
12685
+ /**
12686
+ * @returns {number}
12687
+ */
12688
+ get temporalPositionCovarianceScaleFactor() {
12689
+ const ret = wasm.pppfixedsolution_temporalPositionCovarianceScaleFactor(this.__wbg_ptr);
12690
+ return ret;
12691
+ }
12692
+ /**
12693
+ * Posterior north/east tropospheric-gradient covariance, row-major 2-by-2.
12694
+ * @returns {Float64Array | undefined}
12695
+ */
12696
+ get tropoGradientCovarianceM2() {
12697
+ const ret = wasm.pppfixedsolution_tropoGradientCovarianceM2(this.__wbg_ptr);
12698
+ let v1;
12699
+ if (ret[0] !== 0) {
12700
+ v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
12701
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
12702
+ }
12703
+ return v1;
12704
+ }
12705
+ /**
12706
+ * Estimated east tropospheric gradient, metres, or `undefined`.
12707
+ * @returns {number | undefined}
12708
+ */
12709
+ get tropoGradientEastM() {
12710
+ const ret = wasm.pppfixedsolution_tropoGradientEastM(this.__wbg_ptr);
12711
+ return ret[0] === 0 ? undefined : ret[1];
12712
+ }
12713
+ /**
12714
+ * Estimated north tropospheric gradient, metres, or `undefined`.
12715
+ * @returns {number | undefined}
12716
+ */
12717
+ get tropoGradientNorthM() {
12718
+ const ret = wasm.pppfixedsolution_tropoGradientNorthM(this.__wbg_ptr);
12719
+ return ret[0] === 0 ? undefined : ret[1];
12720
+ }
12544
12721
  /**
12545
12722
  * Satellite tokens used in the accepted solution.
12546
12723
  * @returns {string[]}
@@ -12611,6 +12788,49 @@ export class PppFloatSolution {
12611
12788
  const ret = wasm.pppfloatsolution_converged(this.__wbg_ptr);
12612
12789
  return ret !== 0;
12613
12790
  }
12791
+ /**
12792
+ * Epoch receiver clock states, metres.
12793
+ * @returns {Float64Array}
12794
+ */
12795
+ get epochClocksM() {
12796
+ const ret = wasm.pppfloatsolution_epochClocksM(this.__wbg_ptr);
12797
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
12798
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
12799
+ return v1;
12800
+ }
12801
+ /**
12802
+ * Formal ECEF position covariance, row-major 3-by-3.
12803
+ * @returns {Float64Array}
12804
+ */
12805
+ get formalPositionCovarianceEcefM2() {
12806
+ const ret = wasm.pppfloatsolution_formalPositionCovarianceEcefM2(this.__wbg_ptr);
12807
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
12808
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
12809
+ return v1;
12810
+ }
12811
+ /**
12812
+ * Formal ENU position covariance, row-major 3-by-3.
12813
+ * @returns {Float64Array}
12814
+ */
12815
+ get formalPositionCovarianceEnuM2() {
12816
+ const ret = wasm.pppfloatsolution_formalPositionCovarianceEnuM2(this.__wbg_ptr);
12817
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
12818
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
12819
+ return v1;
12820
+ }
12821
+ /**
12822
+ * Formal north/east tropospheric-gradient covariance, row-major 2-by-2.
12823
+ * @returns {Float64Array | undefined}
12824
+ */
12825
+ get formalTropoGradientCovarianceM2() {
12826
+ const ret = wasm.pppfloatsolution_formalTropoGradientCovarianceM2(this.__wbg_ptr);
12827
+ let v1;
12828
+ if (ret[0] !== 0) {
12829
+ v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
12830
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
12831
+ }
12832
+ return v1;
12833
+ }
12614
12834
  /**
12615
12835
  * @returns {number}
12616
12836
  */
@@ -12625,6 +12845,33 @@ export class PppFloatSolution {
12625
12845
  const ret = wasm.pppfloatsolution_phaseRmsM(this.__wbg_ptr);
12626
12846
  return ret;
12627
12847
  }
12848
+ /**
12849
+ * Posterior ECEF position covariance, row-major 3-by-3.
12850
+ * @returns {Float64Array}
12851
+ */
12852
+ get positionCovarianceEcefM2() {
12853
+ const ret = wasm.pppfloatsolution_positionCovarianceEcefM2(this.__wbg_ptr);
12854
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
12855
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
12856
+ return v1;
12857
+ }
12858
+ /**
12859
+ * Posterior ENU position covariance, row-major 3-by-3.
12860
+ * @returns {Float64Array}
12861
+ */
12862
+ get positionCovarianceEnuM2() {
12863
+ const ret = wasm.pppfloatsolution_positionCovarianceEnuM2(this.__wbg_ptr);
12864
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
12865
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
12866
+ return v1;
12867
+ }
12868
+ /**
12869
+ * @returns {number}
12870
+ */
12871
+ get positionCovarianceScaleFactor() {
12872
+ const ret = wasm.pppfloatsolution_positionCovarianceScaleFactor(this.__wbg_ptr);
12873
+ return ret;
12874
+ }
12628
12875
  /**
12629
12876
  * ECEF position as a `Float64Array` `[x, y, z]`, metres.
12630
12877
  * @returns {Float64Array}
@@ -12635,6 +12882,109 @@ export class PppFloatSolution {
12635
12882
  wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
12636
12883
  return v1;
12637
12884
  }
12885
+ /**
12886
+ * @returns {number}
12887
+ */
12888
+ get posteriorVarianceFactor() {
12889
+ const ret = wasm.pppfloatsolution_posteriorVarianceFactor(this.__wbg_ptr);
12890
+ return ret;
12891
+ }
12892
+ /**
12893
+ * Residual ionosphere states, metres, as an id-keyed object.
12894
+ * @returns {any}
12895
+ */
12896
+ get residualIonosphereM() {
12897
+ const ret = wasm.pppfloatsolution_residualIonosphereM(this.__wbg_ptr);
12898
+ return ret;
12899
+ }
12900
+ /**
12901
+ * Post-fit PPP residual rows.
12902
+ * @returns {any}
12903
+ */
12904
+ get residuals() {
12905
+ const ret = wasm.pppfloatsolution_residuals(this.__wbg_ptr);
12906
+ return ret;
12907
+ }
12908
+ /**
12909
+ * Static PPP termination status.
12910
+ * @returns {string}
12911
+ */
12912
+ get status() {
12913
+ let deferred1_0;
12914
+ let deferred1_1;
12915
+ try {
12916
+ const ret = wasm.pppfloatsolution_status(this.__wbg_ptr);
12917
+ deferred1_0 = ret[0];
12918
+ deferred1_1 = ret[1];
12919
+ return getStringFromWasm0(ret[0], ret[1]);
12920
+ } finally {
12921
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
12922
+ }
12923
+ }
12924
+ /**
12925
+ * Temporal-correlation summary used by the conservative covariance.
12926
+ * @returns {any}
12927
+ */
12928
+ get temporalCorrelation() {
12929
+ const ret = wasm.pppfloatsolution_temporalCorrelation(this.__wbg_ptr);
12930
+ return ret;
12931
+ }
12932
+ /**
12933
+ * Temporal-correlation-deflated ECEF covariance, row-major 3-by-3.
12934
+ * @returns {Float64Array}
12935
+ */
12936
+ get temporalPositionCovarianceEcefM2() {
12937
+ const ret = wasm.pppfloatsolution_temporalPositionCovarianceEcefM2(this.__wbg_ptr);
12938
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
12939
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
12940
+ return v1;
12941
+ }
12942
+ /**
12943
+ * Temporal-correlation-deflated ENU covariance, row-major 3-by-3.
12944
+ * @returns {Float64Array}
12945
+ */
12946
+ get temporalPositionCovarianceEnuM2() {
12947
+ const ret = wasm.pppfloatsolution_temporalPositionCovarianceEnuM2(this.__wbg_ptr);
12948
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
12949
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
12950
+ return v1;
12951
+ }
12952
+ /**
12953
+ * @returns {number}
12954
+ */
12955
+ get temporalPositionCovarianceScaleFactor() {
12956
+ const ret = wasm.pppfloatsolution_temporalPositionCovarianceScaleFactor(this.__wbg_ptr);
12957
+ return ret;
12958
+ }
12959
+ /**
12960
+ * Posterior north/east tropospheric-gradient covariance, row-major 2-by-2.
12961
+ * @returns {Float64Array | undefined}
12962
+ */
12963
+ get tropoGradientCovarianceM2() {
12964
+ const ret = wasm.pppfloatsolution_tropoGradientCovarianceM2(this.__wbg_ptr);
12965
+ let v1;
12966
+ if (ret[0] !== 0) {
12967
+ v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
12968
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
12969
+ }
12970
+ return v1;
12971
+ }
12972
+ /**
12973
+ * Estimated east tropospheric gradient, metres, or `undefined`.
12974
+ * @returns {number | undefined}
12975
+ */
12976
+ get tropoGradientEastM() {
12977
+ const ret = wasm.pppfloatsolution_tropoGradientEastM(this.__wbg_ptr);
12978
+ return ret[0] === 0 ? undefined : ret[1];
12979
+ }
12980
+ /**
12981
+ * Estimated north tropospheric gradient, metres, or `undefined`.
12982
+ * @returns {number | undefined}
12983
+ */
12984
+ get tropoGradientNorthM() {
12985
+ const ret = wasm.pppfloatsolution_tropoGradientNorthM(this.__wbg_ptr);
12986
+ return ret[0] === 0 ? undefined : ret[1];
12987
+ }
12638
12988
  /**
12639
12989
  * Satellite tokens used in the accepted solution.
12640
12990
  * @returns {string[]}
@@ -21244,7 +21594,9 @@ export function decodeCrinexLines(bytes) {
21244
21594
  * scan resynchronizes on the next preamble. Returns an array of message objects,
21245
21595
  * each tagged with a `type` discriminant (`"msm"`, `"stationCoordinates"`,
21246
21596
  * `"antennaDescriptor"`, `"gpsEphemeris"`, `"glonassEphemeris"`,
21247
- * `"unsupported"`). Delegates to `sidereon_core::rtcm::decode_messages`.
21597
+ * `"beidouEphemeris"`, `"qzssEphemeris"`, `"galileoFnavEphemeris"`,
21598
+ * `"galileoInavEphemeris"`, `"unsupported"`). Delegates to
21599
+ * `sidereon_core::rtcm::decode_messages`.
21248
21600
  * @param {Uint8Array} bytes
21249
21601
  * @returns {any}
21250
21602
  */
@@ -21881,10 +22233,12 @@ export function encodeCrinex(rinex_text) {
21881
22233
  *
21882
22234
  * `message` is a `type`-tagged plain object of the same shape [`decodeRtcm`]
21883
22235
  * returns (`"stationCoordinates"`, `"antennaDescriptor"`, `"gpsEphemeris"`,
21884
- * `"glonassEphemeris"`, `"msm"`, `"unsupported"`), carrying the raw transmitted
21885
- * field integers (large fields as `bigint`). Returns the encoded body as a
21886
- * `Uint8Array`. Delegates to `sidereon_core::rtcm::Message::encode`. Throws a
21887
- * `TypeError` for a malformed object or unknown type.
22236
+ * `"glonassEphemeris"`, `"beidouEphemeris"`, `"qzssEphemeris"`,
22237
+ * `"galileoFnavEphemeris"`, `"galileoInavEphemeris"`, `"msm"`,
22238
+ * `"unsupported"`), carrying the raw transmitted field integers (large fields
22239
+ * as `bigint`). Returns the encoded body as a `Uint8Array`. Delegates to
22240
+ * `sidereon_core::rtcm::Message::encode`. Throws a `TypeError` for a malformed
22241
+ * object or unknown type.
21888
22242
  * @param {any} message
21889
22243
  * @returns {Uint8Array}
21890
22244
  */
@@ -26100,6 +26454,26 @@ export function pseudorangeVariance(elevation_deg, options) {
26100
26454
  return ret[0];
26101
26455
  }
26102
26456
 
26457
+ /**
26458
+ * Run direct post-solve residual RAIM.
26459
+ *
26460
+ * `input` is `{ usedSats, residualsM }`. Use `options` fields `pFa`,
26461
+ * `nSystems`, and either `weights` or `weightEntries` with `varianceOptions`.
26462
+ * The result has the fault flag, chi-square statistic, threshold, largest
26463
+ * normalized residual satellite, reduced chi-square, normalized residual map,
26464
+ * RMS residual, and degrees of freedom.
26465
+ * @param {any} input
26466
+ * @param {any} options
26467
+ * @returns {any}
26468
+ */
26469
+ export function raim(input, options) {
26470
+ const ret = wasm.raim(input, options);
26471
+ if (ret[2]) {
26472
+ throw takeFromExternrefTable0(ret[1]);
26473
+ }
26474
+ return takeFromExternrefTable0(ret[0]);
26475
+ }
26476
+
26103
26477
  /**
26104
26478
  * Run standalone range RAIM/FDE over a linearized measurement set.
26105
26479
  *
@@ -26108,9 +26482,10 @@ export function pseudorangeVariance(elevation_deg, options) {
26108
26482
  * estimated state dimension). `options` is an optional `{ pFa?, maxExclusions?,
26109
26483
  * minRedundancy? }` object (pass `undefined` for the core defaults). Returns the
26110
26484
  * protected state correction, covariance, global chi-square test, the excluded
26111
- * ids, the per-measurement diagnostics, and the exclusion count. Delegates to
26112
- * `sidereon_core::quality::raim_fde_design`. Throws a `TypeError` for malformed
26113
- * input and an `Error` for a rank-deficient or otherwise rejected set.
26485
+ * ids, the per-measurement diagnostics, and the exclusion count. FDE
26486
+ * computation runs in `sidereon_core::quality::raim_fde_design`.
26487
+ * Malformed input throws a `TypeError`; a rank-deficient or rejected set throws
26488
+ * an `Error`.
26114
26489
  * @param {any} rows
26115
26490
  * @param {any} options
26116
26491
  * @returns {any}
Binary file