@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.
@@ -9119,7 +9119,7 @@ exports.NamedTle = NamedTle;
9119
9119
 
9120
9120
  /**
9121
9121
  * Which supported RINEX NAV message a broadcast record carries.
9122
- * @enum {0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8}
9122
+ * @enum {0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9}
9123
9123
  */
9124
9124
  const NavMessage = Object.freeze({
9125
9125
  /**
@@ -9142,22 +9142,26 @@ const NavMessage = Object.freeze({
9142
9142
  * QZSS CNAV-2.
9143
9143
  */
9144
9144
  QzssCnav2: 4, "4": "QzssCnav2",
9145
+ /**
9146
+ * QZSS LNAV.
9147
+ */
9148
+ QzssLnav: 5, "5": "QzssLnav",
9145
9149
  /**
9146
9150
  * Galileo I/NAV.
9147
9151
  */
9148
- GalileoInav: 5, "5": "GalileoInav",
9152
+ GalileoInav: 6, "6": "GalileoInav",
9149
9153
  /**
9150
9154
  * Galileo F/NAV.
9151
9155
  */
9152
- GalileoFnav: 6, "6": "GalileoFnav",
9156
+ GalileoFnav: 7, "7": "GalileoFnav",
9153
9157
  /**
9154
9158
  * BeiDou D1.
9155
9159
  */
9156
- BeidouD1: 7, "7": "BeidouD1",
9160
+ BeidouD1: 8, "8": "BeidouD1",
9157
9161
  /**
9158
9162
  * BeiDou D2.
9159
9163
  */
9160
- BeidouD2: 8, "8": "BeidouD2",
9164
+ BeidouD2: 9, "9": "BeidouD2",
9161
9165
  });
9162
9166
  exports.NavMessage = NavMessage;
9163
9167
 
@@ -12606,6 +12610,16 @@ class PppFixedSolution {
12606
12610
  const ret = wasm.pppfixedsolution_converged(this.__wbg_ptr);
12607
12611
  return ret !== 0;
12608
12612
  }
12613
+ /**
12614
+ * Epoch receiver clock states, metres.
12615
+ * @returns {Float64Array}
12616
+ */
12617
+ get epochClocksM() {
12618
+ const ret = wasm.pppfixedsolution_epochClocksM(this.__wbg_ptr);
12619
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
12620
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
12621
+ return v1;
12622
+ }
12609
12623
  /**
12610
12624
  * Fixed ambiguities, integer cycles, as an id-keyed object.
12611
12625
  * @returns {any}
@@ -12630,6 +12644,39 @@ class PppFixedSolution {
12630
12644
  const ret = wasm.pppfixedsolution_floatSolution(this.__wbg_ptr);
12631
12645
  return PppFloatSolution.__wrap(ret);
12632
12646
  }
12647
+ /**
12648
+ * Formal ECEF position covariance, row-major 3-by-3.
12649
+ * @returns {Float64Array}
12650
+ */
12651
+ get formalPositionCovarianceEcefM2() {
12652
+ const ret = wasm.pppfixedsolution_formalPositionCovarianceEcefM2(this.__wbg_ptr);
12653
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
12654
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
12655
+ return v1;
12656
+ }
12657
+ /**
12658
+ * Formal ENU position covariance, row-major 3-by-3.
12659
+ * @returns {Float64Array}
12660
+ */
12661
+ get formalPositionCovarianceEnuM2() {
12662
+ const ret = wasm.pppfixedsolution_formalPositionCovarianceEnuM2(this.__wbg_ptr);
12663
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
12664
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
12665
+ return v1;
12666
+ }
12667
+ /**
12668
+ * Formal north/east tropospheric-gradient covariance, row-major 2-by-2.
12669
+ * @returns {Float64Array | undefined}
12670
+ */
12671
+ get formalTropoGradientCovarianceM2() {
12672
+ const ret = wasm.pppfixedsolution_formalTropoGradientCovarianceM2(this.__wbg_ptr);
12673
+ let v1;
12674
+ if (ret[0] !== 0) {
12675
+ v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
12676
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
12677
+ }
12678
+ return v1;
12679
+ }
12633
12680
  /**
12634
12681
  * @returns {number}
12635
12682
  */
@@ -12674,6 +12721,33 @@ class PppFixedSolution {
12674
12721
  const ret = wasm.pppfixedsolution_phaseRmsM(this.__wbg_ptr);
12675
12722
  return ret;
12676
12723
  }
12724
+ /**
12725
+ * Posterior ECEF position covariance, row-major 3-by-3.
12726
+ * @returns {Float64Array}
12727
+ */
12728
+ get positionCovarianceEcefM2() {
12729
+ const ret = wasm.pppfixedsolution_positionCovarianceEcefM2(this.__wbg_ptr);
12730
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
12731
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
12732
+ return v1;
12733
+ }
12734
+ /**
12735
+ * Posterior ENU position covariance, row-major 3-by-3.
12736
+ * @returns {Float64Array}
12737
+ */
12738
+ get positionCovarianceEnuM2() {
12739
+ const ret = wasm.pppfixedsolution_positionCovarianceEnuM2(this.__wbg_ptr);
12740
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
12741
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
12742
+ return v1;
12743
+ }
12744
+ /**
12745
+ * @returns {number}
12746
+ */
12747
+ get positionCovarianceScaleFactor() {
12748
+ const ret = wasm.pppfixedsolution_positionCovarianceScaleFactor(this.__wbg_ptr);
12749
+ return ret;
12750
+ }
12677
12751
  /**
12678
12752
  * ECEF position as a `Float64Array` `[x, y, z]`, metres.
12679
12753
  * @returns {Float64Array}
@@ -12684,6 +12758,109 @@ class PppFixedSolution {
12684
12758
  wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
12685
12759
  return v1;
12686
12760
  }
12761
+ /**
12762
+ * @returns {number}
12763
+ */
12764
+ get posteriorVarianceFactor() {
12765
+ const ret = wasm.pppfixedsolution_posteriorVarianceFactor(this.__wbg_ptr);
12766
+ return ret;
12767
+ }
12768
+ /**
12769
+ * Residual ionosphere states, metres, as an id-keyed object.
12770
+ * @returns {any}
12771
+ */
12772
+ get residualIonosphereM() {
12773
+ const ret = wasm.pppfixedsolution_residualIonosphereM(this.__wbg_ptr);
12774
+ return ret;
12775
+ }
12776
+ /**
12777
+ * Post-fit PPP residual rows.
12778
+ * @returns {any}
12779
+ */
12780
+ get residuals() {
12781
+ const ret = wasm.pppfixedsolution_residuals(this.__wbg_ptr);
12782
+ return ret;
12783
+ }
12784
+ /**
12785
+ * Static PPP termination status.
12786
+ * @returns {string}
12787
+ */
12788
+ get status() {
12789
+ let deferred1_0;
12790
+ let deferred1_1;
12791
+ try {
12792
+ const ret = wasm.pppfixedsolution_status(this.__wbg_ptr);
12793
+ deferred1_0 = ret[0];
12794
+ deferred1_1 = ret[1];
12795
+ return getStringFromWasm0(ret[0], ret[1]);
12796
+ } finally {
12797
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
12798
+ }
12799
+ }
12800
+ /**
12801
+ * Temporal-correlation summary used by the conservative covariance.
12802
+ * @returns {any}
12803
+ */
12804
+ get temporalCorrelation() {
12805
+ const ret = wasm.pppfixedsolution_temporalCorrelation(this.__wbg_ptr);
12806
+ return ret;
12807
+ }
12808
+ /**
12809
+ * Temporal-correlation-deflated ECEF covariance, row-major 3-by-3.
12810
+ * @returns {Float64Array}
12811
+ */
12812
+ get temporalPositionCovarianceEcefM2() {
12813
+ const ret = wasm.pppfixedsolution_temporalPositionCovarianceEcefM2(this.__wbg_ptr);
12814
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
12815
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
12816
+ return v1;
12817
+ }
12818
+ /**
12819
+ * Temporal-correlation-deflated ENU covariance, row-major 3-by-3.
12820
+ * @returns {Float64Array}
12821
+ */
12822
+ get temporalPositionCovarianceEnuM2() {
12823
+ const ret = wasm.pppfixedsolution_temporalPositionCovarianceEnuM2(this.__wbg_ptr);
12824
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
12825
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
12826
+ return v1;
12827
+ }
12828
+ /**
12829
+ * @returns {number}
12830
+ */
12831
+ get temporalPositionCovarianceScaleFactor() {
12832
+ const ret = wasm.pppfixedsolution_temporalPositionCovarianceScaleFactor(this.__wbg_ptr);
12833
+ return ret;
12834
+ }
12835
+ /**
12836
+ * Posterior north/east tropospheric-gradient covariance, row-major 2-by-2.
12837
+ * @returns {Float64Array | undefined}
12838
+ */
12839
+ get tropoGradientCovarianceM2() {
12840
+ const ret = wasm.pppfixedsolution_tropoGradientCovarianceM2(this.__wbg_ptr);
12841
+ let v1;
12842
+ if (ret[0] !== 0) {
12843
+ v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
12844
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
12845
+ }
12846
+ return v1;
12847
+ }
12848
+ /**
12849
+ * Estimated east tropospheric gradient, metres, or `undefined`.
12850
+ * @returns {number | undefined}
12851
+ */
12852
+ get tropoGradientEastM() {
12853
+ const ret = wasm.pppfixedsolution_tropoGradientEastM(this.__wbg_ptr);
12854
+ return ret[0] === 0 ? undefined : ret[1];
12855
+ }
12856
+ /**
12857
+ * Estimated north tropospheric gradient, metres, or `undefined`.
12858
+ * @returns {number | undefined}
12859
+ */
12860
+ get tropoGradientNorthM() {
12861
+ const ret = wasm.pppfixedsolution_tropoGradientNorthM(this.__wbg_ptr);
12862
+ return ret[0] === 0 ? undefined : ret[1];
12863
+ }
12687
12864
  /**
12688
12865
  * Satellite tokens used in the accepted solution.
12689
12866
  * @returns {string[]}
@@ -12755,6 +12932,49 @@ class PppFloatSolution {
12755
12932
  const ret = wasm.pppfloatsolution_converged(this.__wbg_ptr);
12756
12933
  return ret !== 0;
12757
12934
  }
12935
+ /**
12936
+ * Epoch receiver clock states, metres.
12937
+ * @returns {Float64Array}
12938
+ */
12939
+ get epochClocksM() {
12940
+ const ret = wasm.pppfloatsolution_epochClocksM(this.__wbg_ptr);
12941
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
12942
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
12943
+ return v1;
12944
+ }
12945
+ /**
12946
+ * Formal ECEF position covariance, row-major 3-by-3.
12947
+ * @returns {Float64Array}
12948
+ */
12949
+ get formalPositionCovarianceEcefM2() {
12950
+ const ret = wasm.pppfloatsolution_formalPositionCovarianceEcefM2(this.__wbg_ptr);
12951
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
12952
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
12953
+ return v1;
12954
+ }
12955
+ /**
12956
+ * Formal ENU position covariance, row-major 3-by-3.
12957
+ * @returns {Float64Array}
12958
+ */
12959
+ get formalPositionCovarianceEnuM2() {
12960
+ const ret = wasm.pppfloatsolution_formalPositionCovarianceEnuM2(this.__wbg_ptr);
12961
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
12962
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
12963
+ return v1;
12964
+ }
12965
+ /**
12966
+ * Formal north/east tropospheric-gradient covariance, row-major 2-by-2.
12967
+ * @returns {Float64Array | undefined}
12968
+ */
12969
+ get formalTropoGradientCovarianceM2() {
12970
+ const ret = wasm.pppfloatsolution_formalTropoGradientCovarianceM2(this.__wbg_ptr);
12971
+ let v1;
12972
+ if (ret[0] !== 0) {
12973
+ v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
12974
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
12975
+ }
12976
+ return v1;
12977
+ }
12758
12978
  /**
12759
12979
  * @returns {number}
12760
12980
  */
@@ -12769,6 +12989,33 @@ class PppFloatSolution {
12769
12989
  const ret = wasm.pppfloatsolution_phaseRmsM(this.__wbg_ptr);
12770
12990
  return ret;
12771
12991
  }
12992
+ /**
12993
+ * Posterior ECEF position covariance, row-major 3-by-3.
12994
+ * @returns {Float64Array}
12995
+ */
12996
+ get positionCovarianceEcefM2() {
12997
+ const ret = wasm.pppfloatsolution_positionCovarianceEcefM2(this.__wbg_ptr);
12998
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
12999
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
13000
+ return v1;
13001
+ }
13002
+ /**
13003
+ * Posterior ENU position covariance, row-major 3-by-3.
13004
+ * @returns {Float64Array}
13005
+ */
13006
+ get positionCovarianceEnuM2() {
13007
+ const ret = wasm.pppfloatsolution_positionCovarianceEnuM2(this.__wbg_ptr);
13008
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
13009
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
13010
+ return v1;
13011
+ }
13012
+ /**
13013
+ * @returns {number}
13014
+ */
13015
+ get positionCovarianceScaleFactor() {
13016
+ const ret = wasm.pppfloatsolution_positionCovarianceScaleFactor(this.__wbg_ptr);
13017
+ return ret;
13018
+ }
12772
13019
  /**
12773
13020
  * ECEF position as a `Float64Array` `[x, y, z]`, metres.
12774
13021
  * @returns {Float64Array}
@@ -12779,6 +13026,109 @@ class PppFloatSolution {
12779
13026
  wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
12780
13027
  return v1;
12781
13028
  }
13029
+ /**
13030
+ * @returns {number}
13031
+ */
13032
+ get posteriorVarianceFactor() {
13033
+ const ret = wasm.pppfloatsolution_posteriorVarianceFactor(this.__wbg_ptr);
13034
+ return ret;
13035
+ }
13036
+ /**
13037
+ * Residual ionosphere states, metres, as an id-keyed object.
13038
+ * @returns {any}
13039
+ */
13040
+ get residualIonosphereM() {
13041
+ const ret = wasm.pppfloatsolution_residualIonosphereM(this.__wbg_ptr);
13042
+ return ret;
13043
+ }
13044
+ /**
13045
+ * Post-fit PPP residual rows.
13046
+ * @returns {any}
13047
+ */
13048
+ get residuals() {
13049
+ const ret = wasm.pppfloatsolution_residuals(this.__wbg_ptr);
13050
+ return ret;
13051
+ }
13052
+ /**
13053
+ * Static PPP termination status.
13054
+ * @returns {string}
13055
+ */
13056
+ get status() {
13057
+ let deferred1_0;
13058
+ let deferred1_1;
13059
+ try {
13060
+ const ret = wasm.pppfloatsolution_status(this.__wbg_ptr);
13061
+ deferred1_0 = ret[0];
13062
+ deferred1_1 = ret[1];
13063
+ return getStringFromWasm0(ret[0], ret[1]);
13064
+ } finally {
13065
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
13066
+ }
13067
+ }
13068
+ /**
13069
+ * Temporal-correlation summary used by the conservative covariance.
13070
+ * @returns {any}
13071
+ */
13072
+ get temporalCorrelation() {
13073
+ const ret = wasm.pppfloatsolution_temporalCorrelation(this.__wbg_ptr);
13074
+ return ret;
13075
+ }
13076
+ /**
13077
+ * Temporal-correlation-deflated ECEF covariance, row-major 3-by-3.
13078
+ * @returns {Float64Array}
13079
+ */
13080
+ get temporalPositionCovarianceEcefM2() {
13081
+ const ret = wasm.pppfloatsolution_temporalPositionCovarianceEcefM2(this.__wbg_ptr);
13082
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
13083
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
13084
+ return v1;
13085
+ }
13086
+ /**
13087
+ * Temporal-correlation-deflated ENU covariance, row-major 3-by-3.
13088
+ * @returns {Float64Array}
13089
+ */
13090
+ get temporalPositionCovarianceEnuM2() {
13091
+ const ret = wasm.pppfloatsolution_temporalPositionCovarianceEnuM2(this.__wbg_ptr);
13092
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
13093
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
13094
+ return v1;
13095
+ }
13096
+ /**
13097
+ * @returns {number}
13098
+ */
13099
+ get temporalPositionCovarianceScaleFactor() {
13100
+ const ret = wasm.pppfloatsolution_temporalPositionCovarianceScaleFactor(this.__wbg_ptr);
13101
+ return ret;
13102
+ }
13103
+ /**
13104
+ * Posterior north/east tropospheric-gradient covariance, row-major 2-by-2.
13105
+ * @returns {Float64Array | undefined}
13106
+ */
13107
+ get tropoGradientCovarianceM2() {
13108
+ const ret = wasm.pppfloatsolution_tropoGradientCovarianceM2(this.__wbg_ptr);
13109
+ let v1;
13110
+ if (ret[0] !== 0) {
13111
+ v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
13112
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
13113
+ }
13114
+ return v1;
13115
+ }
13116
+ /**
13117
+ * Estimated east tropospheric gradient, metres, or `undefined`.
13118
+ * @returns {number | undefined}
13119
+ */
13120
+ get tropoGradientEastM() {
13121
+ const ret = wasm.pppfloatsolution_tropoGradientEastM(this.__wbg_ptr);
13122
+ return ret[0] === 0 ? undefined : ret[1];
13123
+ }
13124
+ /**
13125
+ * Estimated north tropospheric gradient, metres, or `undefined`.
13126
+ * @returns {number | undefined}
13127
+ */
13128
+ get tropoGradientNorthM() {
13129
+ const ret = wasm.pppfloatsolution_tropoGradientNorthM(this.__wbg_ptr);
13130
+ return ret[0] === 0 ? undefined : ret[1];
13131
+ }
12782
13132
  /**
12783
13133
  * Satellite tokens used in the accepted solution.
12784
13134
  * @returns {string[]}
@@ -21528,7 +21878,9 @@ exports.decodeCrinexLines = decodeCrinexLines;
21528
21878
  * scan resynchronizes on the next preamble. Returns an array of message objects,
21529
21879
  * each tagged with a `type` discriminant (`"msm"`, `"stationCoordinates"`,
21530
21880
  * `"antennaDescriptor"`, `"gpsEphemeris"`, `"glonassEphemeris"`,
21531
- * `"unsupported"`). Delegates to `sidereon_core::rtcm::decode_messages`.
21881
+ * `"beidouEphemeris"`, `"qzssEphemeris"`, `"galileoFnavEphemeris"`,
21882
+ * `"galileoInavEphemeris"`, `"unsupported"`). Delegates to
21883
+ * `sidereon_core::rtcm::decode_messages`.
21532
21884
  * @param {Uint8Array} bytes
21533
21885
  * @returns {any}
21534
21886
  */
@@ -22199,10 +22551,12 @@ exports.encodeCrinex = encodeCrinex;
22199
22551
  *
22200
22552
  * `message` is a `type`-tagged plain object of the same shape [`decodeRtcm`]
22201
22553
  * returns (`"stationCoordinates"`, `"antennaDescriptor"`, `"gpsEphemeris"`,
22202
- * `"glonassEphemeris"`, `"msm"`, `"unsupported"`), carrying the raw transmitted
22203
- * field integers (large fields as `bigint`). Returns the encoded body as a
22204
- * `Uint8Array`. Delegates to `sidereon_core::rtcm::Message::encode`. Throws a
22205
- * `TypeError` for a malformed object or unknown type.
22554
+ * `"glonassEphemeris"`, `"beidouEphemeris"`, `"qzssEphemeris"`,
22555
+ * `"galileoFnavEphemeris"`, `"galileoInavEphemeris"`, `"msm"`,
22556
+ * `"unsupported"`), carrying the raw transmitted field integers (large fields
22557
+ * as `bigint`). Returns the encoded body as a `Uint8Array`. Delegates to
22558
+ * `sidereon_core::rtcm::Message::encode`. Throws a `TypeError` for a malformed
22559
+ * object or unknown type.
22206
22560
  * @param {any} message
22207
22561
  * @returns {Uint8Array}
22208
22562
  */
@@ -26642,6 +26996,27 @@ function pseudorangeVariance(elevation_deg, options) {
26642
26996
  }
26643
26997
  exports.pseudorangeVariance = pseudorangeVariance;
26644
26998
 
26999
+ /**
27000
+ * Run direct post-solve residual RAIM.
27001
+ *
27002
+ * `input` is `{ usedSats, residualsM }`. Use `options` fields `pFa`,
27003
+ * `nSystems`, and either `weights` or `weightEntries` with `varianceOptions`.
27004
+ * The result has the fault flag, chi-square statistic, threshold, largest
27005
+ * normalized residual satellite, reduced chi-square, normalized residual map,
27006
+ * RMS residual, and degrees of freedom.
27007
+ * @param {any} input
27008
+ * @param {any} options
27009
+ * @returns {any}
27010
+ */
27011
+ function raim(input, options) {
27012
+ const ret = wasm.raim(input, options);
27013
+ if (ret[2]) {
27014
+ throw takeFromExternrefTable0(ret[1]);
27015
+ }
27016
+ return takeFromExternrefTable0(ret[0]);
27017
+ }
27018
+ exports.raim = raim;
27019
+
26645
27020
  /**
26646
27021
  * Run standalone range RAIM/FDE over a linearized measurement set.
26647
27022
  *
@@ -26650,9 +27025,10 @@ exports.pseudorangeVariance = pseudorangeVariance;
26650
27025
  * estimated state dimension). `options` is an optional `{ pFa?, maxExclusions?,
26651
27026
  * minRedundancy? }` object (pass `undefined` for the core defaults). Returns the
26652
27027
  * protected state correction, covariance, global chi-square test, the excluded
26653
- * ids, the per-measurement diagnostics, and the exclusion count. Delegates to
26654
- * `sidereon_core::quality::raim_fde_design`. Throws a `TypeError` for malformed
26655
- * input and an `Error` for a rank-deficient or otherwise rejected set.
27028
+ * ids, the per-measurement diagnostics, and the exclusion count. FDE
27029
+ * computation runs in `sidereon_core::quality::raim_fde_design`.
27030
+ * Malformed input throws a `TypeError`; a rank-deficient or rejected set throws
27031
+ * an `Error`.
26656
27032
  * @param {any} rows
26657
27033
  * @param {any} options
26658
27034
  * @returns {any}
Binary file