コンテンツにスキップ

数値の加算

浮動小数点数を完全な精度で加算します。

new Adder()

js
const adder = new d3.Adder();

· ソース · 初期値0の新しい加算器を作成します。

adder.add(number)

js
adder.add(42)

指定された *数値* を加算器の現在の値に加算し、加算器を返します。

adder.valueOf()

js
adder.valueOf() // 42

加算器の現在の値のIEEE 754倍精度浮動小数点表現を返します。短縮表記`+adder`、または`Number(adder)`として強制変換する場合に最も役立ちます。

fsum(values, accessor)

js
d3.fsum([0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1]) // 1

· ソース · 指定された*値*の完全精度加算を返します。低速ですが、d3.fsumは、より高い精度が必要な場合はどこでもd3.sumを置き換えることができます。

js
d3.fsum(penguins, (d) => d.body_mass_g) // 1437000

*アクセサー*が指定されている場合、入力*値*の各要素に対して指定された関数を呼び出し、要素`d`、インデックス`i`、および配列`data`を3つの引数として渡します。返された値が加算されます。

fcumsum(values, accessor)

js
d3.fcumsum([1, 1e-14, -1]) // [1, 1.00000000000001, 1e-14]

· ソース · 指定された*値*の完全精度累積和をFloat64Arrayとして返します。低速ですが、d3.fcumsumは、より高い精度が必要な場合はd3.cumsumを置き換えることができます。

js
d3.fcumsum(penguins, (d) => d.body_mass_g) // [3750, 7550, 10800, 10800, 14250, …]

*アクセサー*が指定されている場合、入力*値*の各要素に対して指定された関数を呼び出し、要素`d`、インデックス`i`、および配列`data`を3つの引数として渡します。返された値が加算されます。