From b29eed0aae59f3cf0015ec128d974db32818dcd2 Mon Sep 17 00:00:00 2001 From: Saki Takamachi Date: Mon, 27 Jan 2025 13:45:31 +0900 Subject: [PATCH 01/13] =?UTF-8?q?=E7=BF=BB=E8=A8=B3=E8=80=85=E3=81=AB?= =?UTF-8?q?=E8=87=AA=E8=BA=AB=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- translation.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/translation.xml b/translation.xml index bcda3c1d3d..30983a198a 100644 --- a/translation.xml +++ b/translation.xml @@ -31,6 +31,7 @@ + From 2156628494e98f229ff441488bd5c2b303459442 Mon Sep 17 00:00:00 2001 From: Saki Takamachi Date: Mon, 27 Jan 2025 13:45:35 +0900 Subject: [PATCH 02/13] =?UTF-8?q?bcmath.number=E3=81=AE=E3=82=AF=E3=83=A9?= =?UTF-8?q?=E3=82=B9=E3=83=9A=E3=83=BC=E3=82=B8=E7=BF=BB=E8=A8=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- reference/bc/bcmath.number.xml | 123 +++++++++++++++++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 reference/bc/bcmath.number.xml diff --git a/reference/bc/bcmath.number.xml b/reference/bc/bcmath.number.xml new file mode 100644 index 0000000000..4b37b30d76 --- /dev/null +++ b/reference/bc/bcmath.number.xml @@ -0,0 +1,123 @@ + + + + + + + BcMath\Number クラス + BcMath\Number + + +
+ &reftitle.intro; + + 任意精度数値のクラスです。 + このオブジェクトは、オーバーロードされた + 算術演算子, + 比較演算子 + をサポートしています。 + + + + + This class is not affected by the + このクラスは、&php.ini;で設定された + bcmath.scale + INI ディレクティブの影響を受けません。 + + + + + + オーバーロードされた演算子の動作は、対応するメソッドで + scale パラメータに &null; を指定した場合と同じです。 + + +
+ +
+ &reftitle.classsynopsis; + + + + final + readonly + BcMath\Number + + + + implements + Stringable + + + &Properties; + + public + string + value + + + public + int + scale + + + &Methods; + + + + + + + +
+ +
+ &reftitle.properties; + + + value + + + 任意精度数値の文字表現。 + + + + + scale + + + オブジェクトに設定されているスケールの値。 + 計算メソッドで明示的に scale パラメータが設定されていない場合、 + この値は自動的に計算されて設定されます。 + + + + +
+ +
+ + &reference.bc.bcmath.entities.number; + +
+ From 1ac559620aeb6a03d13994d441ea2a9829108068 Mon Sep 17 00:00:00 2001 From: Saki Takamachi Date: Wed, 29 Jan 2025 13:30:00 +0900 Subject: [PATCH 03/13] =?UTF-8?q?BcMath\Number=E9=96=A2=E9=80=A3=E3=82=92?= =?UTF-8?q?=E7=BF=BB=E8=A8=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- reference/bc/bcmath/number/add.xml | 195 +++++++ reference/bc/bcmath/number/ceil.xml | 105 ++++ reference/bc/bcmath/number/compare.xml | 142 ++++++ reference/bc/bcmath/number/construct.xml | 117 +++++ reference/bc/bcmath/number/div.xml | 246 +++++++++ reference/bc/bcmath/number/divmod.xml | 221 ++++++++ reference/bc/bcmath/number/floor.xml | 100 ++++ reference/bc/bcmath/number/mod.xml | 174 +++++++ reference/bc/bcmath/number/mul.xml | 184 +++++++ reference/bc/bcmath/number/pow.xml | 225 +++++++++ reference/bc/bcmath/number/powmod.xml | 200 ++++++++ reference/bc/bcmath/number/round.xml | 561 +++++++++++++++++++++ reference/bc/bcmath/number/serialize.xml | 55 ++ reference/bc/bcmath/number/sqrt.xml | 136 +++++ reference/bc/bcmath/number/sub.xml | 177 +++++++ reference/bc/bcmath/number/tostring.xml | 53 ++ reference/bc/bcmath/number/unserialize.xml | 71 +++ 17 files changed, 2962 insertions(+) create mode 100644 reference/bc/bcmath/number/add.xml create mode 100644 reference/bc/bcmath/number/ceil.xml create mode 100644 reference/bc/bcmath/number/compare.xml create mode 100644 reference/bc/bcmath/number/construct.xml create mode 100644 reference/bc/bcmath/number/div.xml create mode 100644 reference/bc/bcmath/number/divmod.xml create mode 100644 reference/bc/bcmath/number/floor.xml create mode 100644 reference/bc/bcmath/number/mod.xml create mode 100644 reference/bc/bcmath/number/mul.xml create mode 100644 reference/bc/bcmath/number/pow.xml create mode 100644 reference/bc/bcmath/number/powmod.xml create mode 100644 reference/bc/bcmath/number/round.xml create mode 100644 reference/bc/bcmath/number/serialize.xml create mode 100644 reference/bc/bcmath/number/sqrt.xml create mode 100644 reference/bc/bcmath/number/sub.xml create mode 100644 reference/bc/bcmath/number/tostring.xml create mode 100644 reference/bc/bcmath/number/unserialize.xml diff --git a/reference/bc/bcmath/number/add.xml b/reference/bc/bcmath/number/add.xml new file mode 100644 index 0000000000..348ee6bb70 --- /dev/null +++ b/reference/bc/bcmath/number/add.xml @@ -0,0 +1,195 @@ + + + + + + + BcMath\Number::add + 任意精度の数値を加算する + + + + &reftitle.description; + + public BcMath\NumberBcMath\Number::add + BcMath\Numberstringintnum + intnullscale&null; + + + $thisnum を加算します。 + + + + + &reftitle.parameters; + + + num + + + 加数を表す値。 + + + + + scale + + + 計算結果オブジェクトの BcMath\Number::scale を明示的に指定します。 + &null; の場合、計算結果の BcMath\Number::scale は自動的に設定されます。 + + + + + + + + &reftitle.returnvalues; + + 加算結果を新しい BcMath\Number オブジェクトとして返します。 + + + 加算結果オブジェクトの BcMath\Number::scale が自動的に設定される場合、加算に使用する2つの数値のうち、 + 大きい方の BcMath\Number::scale が使用されます。 + + + つまり、2つの値の BcMath\Number::scale がそれぞれ 25 の場合、 + 加算結果オブジェクトの BcMath\Number::scale5 になります。 + + + + + &reftitle.errors; + + このメソッドは、以下の場合に ValueError をスローします: + + num が、BCMath で有効でない数値形式の文字列である場合 + scale が範囲外の値である場合 + + + + + + &reftitle.examples; + + <methodname>BcMath\Number::add</methodname> で <parameter>scale</parameter> を指定しない例 + +add(new BcMath\Number('2.34567')); +$ret2 = $number->add('-3.456'); +$ret3 = $number->add(7); + +var_dump($number, $ret1, $ret2, $ret3); +?> +]]> + + &example.outputs; + + + string(5) "1.234" + ["scale"]=> + int(3) +} +object(BcMath\Number)#3 (2) { + ["value"]=> + string(7) "3.57967" + ["scale"]=> + int(5) +} +object(BcMath\Number)#2 (2) { + ["value"]=> + string(6) "-2.222" + ["scale"]=> + int(3) +} +object(BcMath\Number)#4 (2) { + ["value"]=> + string(5) "8.234" + ["scale"]=> + int(3) +} +]]> + + + + + <methodname>BcMath\Number::add</methodname> で <parameter>scale</parameter> を指定する例 + +add(new BcMath\Number('2.34567'), 1); +$ret2 = $number->add('-3.456', 10); +$ret3 = $number->add(7, 0); + +var_dump($number, $ret1, $ret2, $ret3); +?> +]]> + + &example.outputs; + + + string(5) "1.234" + ["scale"]=> + int(3) +} +object(BcMath\Number)#3 (2) { + ["value"]=> + string(3) "3.5" + ["scale"]=> + int(1) +} +object(BcMath\Number)#2 (2) { + ["value"]=> + string(13) "-2.2220000000" + ["scale"]=> + int(10) +} +object(BcMath\Number)#4 (2) { + ["value"]=> + string(1) "8" + ["scale"]=> + int(0) +} +]]> + + + + + + &reftitle.seealso; + + bcadd + BcMath\Number::sub + + + + + diff --git a/reference/bc/bcmath/number/ceil.xml b/reference/bc/bcmath/number/ceil.xml new file mode 100644 index 0000000000..bf9c2820b7 --- /dev/null +++ b/reference/bc/bcmath/number/ceil.xml @@ -0,0 +1,105 @@ + + + + + + + BcMath\Number::ceil + 任意精度数値を切り上げる + + + + &reftitle.description; + + public BcMath\NumberBcMath\Number::ceil + + + + 必要に応じて $this を切り上げ、 $this の次に大きい整数値を返します。 + + + + + &reftitle.parameters; + &no.function.parameters; + + + + &reftitle.returnvalues; + + 結果を新しい BcMath\Number オブジェクトとして返します。 + 結果の BcMath\Number::scale は常に 0 になります。 + + + + + &reftitle.examples; + + <methodname>BcMath\Number::ceil</methodname> の例 + +ceil(); +$num2 = new BcMath\Number('9.999')->ceil(); +$num3 = new BcMath\Number('-3.14')->ceil(); + +var_dump($num1, $num2, $num3); +?> +]]> + + &example.outputs; + + + string(1) "5" + ["scale"]=> + int(0) +} +object(BcMath\Number)#3 (2) { + ["value"]=> + string(2) "10" + ["scale"]=> + int(0) +} +object(BcMath\Number)#4 (2) { + ["value"]=> + string(2) "-3" + ["scale"]=> + int(0) +} +]]> + + + + + + &reftitle.seealso; + + bcceil + BcMath\Number::floor + BcMath\Number::round + + + + + diff --git a/reference/bc/bcmath/number/compare.xml b/reference/bc/bcmath/number/compare.xml new file mode 100644 index 0000000000..409fbf5eca --- /dev/null +++ b/reference/bc/bcmath/number/compare.xml @@ -0,0 +1,142 @@ + + + + + + + BcMath\Number::compare + 任意精度数値を比較する + + + + &reftitle.description; + + public intBcMath\Number::compare + BcMath\Numberstringintnum + intnullscale&null; + + + 任意精度数値を比較します。 + このメソッドは、 宇宙船演算子 と同じように動作します。 + + + + + &reftitle.parameters; + + + num + + + 比較する値。 + + + + + scale + + + 比較に使用する scale を指定します。 + &null; の場合、比較にはすべての桁が使用されます。 + + + + + + + + &reftitle.returnvalues; + + 2つの値が等しい場合は 0$thisnum + より大きい場合は 1、小さければ -1 を返します。 + + + + + + + + &reftitle.examples; + + <methodname>BcMath\Number::compare</methodname> で <parameter>scale</parameter> を指定しない例 + +compare(new BcMath\Number('1.234')), + $number->compare('1.23400'), + $number->compare('1.23401'), + $number->compare(1), +); +?> +]]> + + &example.outputs; + + + + + + + <methodname>BcMath\Number::compare</methodname> で <parameter>scale</parameter> を指定する例 + +compare(new BcMath\Number('1.299'), 1), + $number->compare('1.24', 2), + $number->compare('1.22', 2), + $number->compare(1, 0), +); +?> +]]> + + &example.outputs; + + + + + + + + &reftitle.seealso; + + bccomp + + + + + diff --git a/reference/bc/bcmath/number/construct.xml b/reference/bc/bcmath/number/construct.xml new file mode 100644 index 0000000000..4cc7854531 --- /dev/null +++ b/reference/bc/bcmath/number/construct.xml @@ -0,0 +1,117 @@ + + + + + + + BcMath\Number::__construct + BcMath\Number オブジェクトを作成する + + + + &reftitle.description; + + public BcMath\Number::__construct + stringintnum + + + int もしくは string の値から BcMath\Number オブジェクトを作成します。 + + + + + &reftitle.parameters; + + + num + + + int もしくは string の値。 + numint の場合、BcMath\Number::scale + は常に 0 に設定されます。 + numstring の場合、有効な BCMath 数値文字列である必要があり、 + BcMath\Number::scale は自動的に文字列を解析して設定されます。 + + + + + + + + &reftitle.errors; + + このメソッドは、 numstring であり、BCMath で有効でない + 数値形式の文字列である場合、ValueError をスローします。 + + + + + &reftitle.examples; + + <methodname>BcMath\Number::__construct</methodname> の例 + + +]]> + + &example.outputs; + + + string(3) "100" + ["scale"]=> + int(0) +} +object(BcMath\Number)#2 (2) { + ["value"]=> + string(4) "-200" + ["scale"]=> + int(0) +} +object(BcMath\Number)#3 (2) { + ["value"]=> + string(6) "300.00" + ["scale"]=> + int(2) +} +]]> + + + + + + &reftitle.seealso; + + BcMath\Number::__serialize + BcMath\Number::__unserialize + + + + + diff --git a/reference/bc/bcmath/number/div.xml b/reference/bc/bcmath/number/div.xml new file mode 100644 index 0000000000..56bba35ee6 --- /dev/null +++ b/reference/bc/bcmath/number/div.xml @@ -0,0 +1,246 @@ + + + + + + + BcMath\Number::div + 任意精度数値の除算を行う + + + + &reftitle.description; + + public BcMath\NumberBcMath\Number::div + BcMath\Numberstringintnum + intnullscale&null; + + + $thisnum で割ります。 + + + + + &reftitle.parameters; + + + num + + + 除数を表す値。 + + + + + + + + + &reftitle.returnvalues; + + 除算結果を新しい BcMath\Number オブジェクトとして返します。 + + + 除算結果オブジェクトの BcMath\Number::scale が自動的に設定される場合、被除数の + BcMath\Number::scale が使用されます。ただし、割り切れない除算の場合は、 + 除算結果オブジェクトの BcMath\Number::scale が拡張されます。 + 拡張は必要に応じてのみ行われ、最大で +10 まで拡張されます。 + + + つまり、被除数の BcMath\Number::scale5 の場合、 + 除算結果オブジェクトの BcMath\Number::scale5 から + 15 の間になります。 + + + 割り切れない除算の場合でも、除算結果オブジェクトの BcMath\Number::scale は常に +10 + まで拡張されるわけではありません。 + 末尾が 0 である場合は拡張の必要がないと見なされるため、 BcMath\Number::scale + はその分だけ少なくなります。 + また、最終的な BcMath\Number::scale は、拡張前の BcMath\Number::scale + よりも小さくなることはありません。 + コード例 も参照してください。 + + + + + &reftitle.errors; + + このメソッドは、以下の場合に ValueError をスローします: + + num が、BCMath で有効でない数値形式の文字列である場合 + scale が範囲外の値である場合 + 結果オブジェクトの BcMath\Number::scale が範囲外の値である場合 + + + + このメソッドは、 num0 である場合、 + DivisionByZeroError exception をスローします。 + + + + + &reftitle.examples; + + <methodname>BcMath\Number::div</methodname> で <parameter>scale</parameter> を指定しない例 + +div(new BcMath\Number('2.000')); +$ret2 = $number->div('-3'); +$ret3 = $number->div(32); + +var_dump($number, $ret1, $ret2, $ret3); +?> +]]> + + &example.outputs; + + + string(5) "0.002" + ["scale"]=> + int(3) +} +object(BcMath\Number)#3 (2) { + ["value"]=> + string(5) "0.001" + ["scale"]=> + int(3) +} +object(BcMath\Number)#2 (2) { + ["value"]=> + string(16) "-0.0006666666666" + ["scale"]=> + int(13) +} +object(BcMath\Number)#4 (2) { + ["value"]=> + string(9) "0.0000625" + ["scale"]=> + int(7) +} +]]> + + + + + <methodname>BcMath\Number::div</methodname> で <parameter>scale</parameter> を指定する例</parameter> + +div(new BcMath\Number('2.000'), 15); +$ret2 = $number->div('-3', 5); +$ret3 = $number->div(32, 2); + +var_dump($number, $ret1, $ret2, $ret3); +?> +]]> + + &example.outputs; + + + string(5) "0.002" + ["scale"]=> + int(3) +} +object(BcMath\Number)#3 (2) { + ["value"]=> + string(17) "0.001000000000000" + ["scale"]=> + int(15) +} +object(BcMath\Number)#2 (2) { + ["value"]=> + string(8) "-0.00066" + ["scale"]=> + int(5) +} +object(BcMath\Number)#4 (2) { + ["value"]=> + string(4) "0.00" + ["scale"]=> + int(2) +} +]]> + + + + + <methodname>BcMath\Number::div</methodname> の結果の <property>BcMath\Number::scale</property> が拡張される例 + +div('10001'), + new BcMath\Number('0.001')->div('10001', 13), + new BcMath\Number('0.001')->div('100000000000001'), +); +?> +]]> + + &example.outputs; + + + string(13) "0.00000009999" + ["scale"]=> + int(11) +} +object(BcMath\Number)#3 (2) { + ["value"]=> + string(15) "0.0000000999900" + ["scale"]=> + int(13) +} +object(BcMath\Number)#4 (2) { + ["value"]=> + string(5) "0.000" + ["scale"]=> + int(3) +} +]]> + + + + + + &reftitle.seealso; + + bcdiv + BcMath\Number::divmod + BcMath\Number::mod + BcMath\Number::sqrt + BcMath\Number::pow + BcMath\Number::mul + + + + + diff --git a/reference/bc/bcmath/number/divmod.xml b/reference/bc/bcmath/number/divmod.xml new file mode 100644 index 0000000000..37e08fbfde --- /dev/null +++ b/reference/bc/bcmath/number/divmod.xml @@ -0,0 +1,221 @@ + + + + + + + BcMath\Number::divmod + 任意精度数値の商と剰余を取得する + + + + &reftitle.description; + + public arrayBcMath\Number::divmod + BcMath\Numberstringintnum + intnullscale&null; + + + $thisnum で割った商と剰余を取得します。 + + + + + + + + &reftitle.returnvalues; + + 1つ目の要素に商として新しい BcMath\Number オブジェクトが、 + 2つ目の要素に剰余として新しい BcMath\Number オブジェクトが格納された配列を返します。 + + + 商は常に整数値となるため、商オブジェクトの BcMath\Number::scalescale + の指定に関わらず、常に 0 になります。 + + + scale を明示的に指定した場合、剰余オブジェクトの BcMath\Number::scale は指定された値になります。 + 剰余オブジェクトの BcMath\Number::scale が自動的に設定される場合、計算に使用された2つの数値のうち、大きい方の + BcMath\Number::scale が使用されます。 + + + つまり、2つの値の BcMath\Number::scale がそれぞれ 25 の場合、 + 剰余オブジェクトの BcMath\Number::scale5 になります。 + + + + + &reftitle.errors; + + + + + + + + &reftitle.examples; + + <methodname>BcMath\Number::divmod</methodname> で <parameter>scale</parameter> を指定しない例 + +divmod(new BcMath\Number('2.22')); +var_dump($quot, $rem); + +echo PHP_EOL . '8.3 / 8.3' . PHP_EOL; +[$quot, $rem] = new BcMath\Number('8.3')->divmod('8.3'); +var_dump($quot, $rem); + +echo PHP_EOL . '10 / -3' . PHP_EOL; +[$quot, $rem] = new BcMath\Number('10')->divmod(-3); +var_dump($quot, $rem); +?> +]]> + + &example.outputs; + + + string(1) "3" + ["scale"]=> + int(0) +} +object(BcMath\Number)#4 (2) { + ["value"]=> + string(4) "1.34" + ["scale"]=> + int(2) +} + +8.3 / 8.3 +object(BcMath\Number)#2 (2) { + ["value"]=> + string(1) "1" + ["scale"]=> + int(0) +} +object(BcMath\Number)#5 (2) { + ["value"]=> + string(3) "0.0" + ["scale"]=> + int(1) +} + +10 / -3 +object(BcMath\Number)#3 (2) { + ["value"]=> + string(2) "-3" + ["scale"]=> + int(0) +} +object(BcMath\Number)#1 (2) { + ["value"]=> + string(1) "1" + ["scale"]=> + int(0) +} +]]> + + + + + <methodname>BcMath\Number::divmod</methodname> で <parameter>scale</parameter> を指定する例</parameter> + +divmod(new BcMath\Number('2.22'), 1); +var_dump($quot, $rem); + +echo PHP_EOL . '8.3 / 8.3' . PHP_EOL; +[$quot, $rem] = new BcMath\Number('8.3')->divmod('8.3', 4); +var_dump($quot, $rem); + +echo PHP_EOL . '10 / -3' . PHP_EOL; +[$quot, $rem] = new BcMath\Number('10')->divmod(-3, 5); +var_dump($quot, $rem); +?> +]]> + + &example.outputs; + + + string(1) "3" + ["scale"]=> + int(0) +} +object(BcMath\Number)#4 (2) { + ["value"]=> + string(3) "1.3" + ["scale"]=> + int(1) +} + +8.3 / 8.3 +object(BcMath\Number)#2 (2) { + ["value"]=> + string(1) "1" + ["scale"]=> + int(0) +} +object(BcMath\Number)#5 (2) { + ["value"]=> + string(6) "0.0000" + ["scale"]=> + int(4) +} + +10 / -3 +object(BcMath\Number)#3 (2) { + ["value"]=> + string(2) "-3" + ["scale"]=> + int(0) +} +object(BcMath\Number)#1 (2) { + ["value"]=> + string(7) "1.00000" + ["scale"]=> + int(5) +} +]]> + + + + + + &reftitle.seealso; + + bcdivmod + BcMath\Number::div + BcMath\Number::mod + + + + + diff --git a/reference/bc/bcmath/number/floor.xml b/reference/bc/bcmath/number/floor.xml new file mode 100644 index 0000000000..416e0f4824 --- /dev/null +++ b/reference/bc/bcmath/number/floor.xml @@ -0,0 +1,100 @@ + + + + + + + BcMath\Number::floor + 任意精度数値を切り下げる + + + + &reftitle.description; + + public BcMath\NumberBcMath\Number::floor + + + + 必要に応じて $this を切り下げ、 $this の次に小さい整数値を返します。 + + + + + &reftitle.parameters; + &no.function.parameters; + + + + + + + &reftitle.examples; + + <methodname>BcMath\Number::floor</methodname> の例 + +floor(); +$num2 = new BcMath\Number('9.999')->floor(); +$num3 = new BcMath\Number('-3.14')->floor(); + +var_dump($num1, $num2, $num3); +?> +]]> + + &example.outputs; + + + string(1) "4" + ["scale"]=> + int(0) +} +object(BcMath\Number)#3 (2) { + ["value"]=> + string(1) "9" + ["scale"]=> + int(0) +} +object(BcMath\Number)#4 (2) { + ["value"]=> + string(2) "-4" + ["scale"]=> + int(0) +} +]]> + + + + + + &reftitle.seealso; + + bcfloor + BcMath\Number::ceil + BcMath\Number::round + + + + + diff --git a/reference/bc/bcmath/number/mod.xml b/reference/bc/bcmath/number/mod.xml new file mode 100644 index 0000000000..3841109ffe --- /dev/null +++ b/reference/bc/bcmath/number/mod.xml @@ -0,0 +1,174 @@ + + + + + + + BcMath\Number::mod + 任意精度数値の剰余を取得する + + + + &reftitle.description; + + public BcMath\NumberBcMath\Number::mod + BcMath\Numberstringintnum + intnullscale&null; + + + $thisnum で割った剰余を取得します。 + num0 でない限り, 結果は $this + と同じ符号になります。 + + + + + + + + &reftitle.returnvalues; + + 剰余オブジェクトを新しい BcMath\Number オブジェクトとして返します。 + + + 剰余オブジェクトの BcMath\Number::scale が自動的に設定される場合、剰余計算に使用する2つの数値のうち、 + 大きい方の BcMath\Number::scale が使用されます。 + + + + + + + &reftitle.errors; + + + + + + + + &reftitle.examples; + + <methodname>BcMath\Number::mod</methodname> で <parameter>scale</parameter> を指定しない例 + +mod(new BcMath\Number('2.22')); +$ret2 = $number->mod('8.3'); +$ret3 = $number->mod(-5); + +var_dump($number, $ret1, $ret2, $ret3); +?> +]]> + + &example.outputs; + + + string(3) "8.3" + ["scale"]=> + int(1) +} +object(BcMath\Number)#3 (2) { + ["value"]=> + string(4) "1.64" + ["scale"]=> + int(2) +} +object(BcMath\Number)#2 (2) { + ["value"]=> + string(3) "0.0" + ["scale"]=> + int(1) +} +object(BcMath\Number)#4 (2) { + ["value"]=> + string(3) "3.3" + ["scale"]=> + int(1) +} +]]> + + + + + <methodname>BcMath\Number::mod</methodname> で <parameter>scale</parameter> を指定する例</parameter> + +mod(new BcMath\Number('2.22'), 1); +$ret2 = $number->mod('8.3', 3); +$ret3 = $number->mod(-5, 0); + +var_dump($number, $ret1, $ret2, $ret3); +?> +]]> + + &example.outputs; + + + string(3) "8.3" + ["scale"]=> + int(1) +} +object(BcMath\Number)#3 (2) { + ["value"]=> + string(3) "1.6" + ["scale"]=> + int(1) +} +object(BcMath\Number)#2 (2) { + ["value"]=> + string(5) "0.000" + ["scale"]=> + int(3) +} +object(BcMath\Number)#4 (2) { + ["value"]=> + string(1) "3" + ["scale"]=> + int(0) +} +]]> + + + + + + &reftitle.seealso; + + bcmod + BcMath\Number::div + BcMath\Number::divmod + BcMath\Number::powmod + + + + + diff --git a/reference/bc/bcmath/number/mul.xml b/reference/bc/bcmath/number/mul.xml new file mode 100644 index 0000000000..3faa8e0a03 --- /dev/null +++ b/reference/bc/bcmath/number/mul.xml @@ -0,0 +1,184 @@ + + + + + + + BcMath\Number::mul + 任意精度数値の乗算を行う + + + + &reftitle.description; + + public BcMath\NumberBcMath\Number::mul + BcMath\Numberstringintnum + intnullscale&null; + + + $thisnum を掛けます。 + + + + + &reftitle.parameters; + + + num + + + 乗数を表す値。 + + + + + + + + + &reftitle.returnvalues; + + 乗算結果を新しい BcMath\Number オブジェクトとして返します。 + + + 乗算結果オブジェクトの BcMath\Number::scale が自動的に設定される場合、乗算に使用する2つの数値の + BcMath\Number::scale の合計値が使用されます。 + + + つまり、2つの値の BcMath\Number::scale がそれぞれ 25 の場合、 + 乗算結果オブジェクトの BcMath\Number::scale7 になります。 + + + + + &reftitle.errors; + + + + + + &reftitle.examples; + + <methodname>BcMath\Number::mul</methodname> で <parameter>scale</parameter> を指定しない例 + +mul(new BcMath\Number('2.3456')); +$ret2 = $number->mul('-3.4'); +$ret3 = $number->mul(7); + +var_dump($number, $ret1, $ret2, $ret3); +?> +]]> + + &example.outputs; + + + string(5) "1.234" + ["scale"]=> + int(3) +} +object(BcMath\Number)#3 (2) { + ["value"]=> + string(9) "2.8944704" + ["scale"]=> + int(7) +} +object(BcMath\Number)#2 (2) { + ["value"]=> + string(7) "-4.1956" + ["scale"]=> + int(4) +} +object(BcMath\Number)#4 (2) { + ["value"]=> + string(5) "8.638" + ["scale"]=> + int(3) +} +]]> + + + + + <methodname>BcMath\Number::mul</methodname> で <parameter>scale</parameter> を指定する例 + +mul(new BcMath\Number('2.3456'), 1); +$ret2 = $number->mul('-3.4', 10); +$ret3 = $number->mul(7, 0); + +var_dump($number, $ret1, $ret2, $ret3); +?> +]]> + + &example.outputs; + + + string(5) "1.234" + ["scale"]=> + int(3) +} +object(BcMath\Number)#3 (2) { + ["value"]=> + string(3) "2.8" + ["scale"]=> + int(1) +} +object(BcMath\Number)#2 (2) { + ["value"]=> + string(13) "-4.1956000000" + ["scale"]=> + int(10) +} +object(BcMath\Number)#4 (2) { + ["value"]=> + string(1) "8" + ["scale"]=> + int(0) +} +]]> + + + + + + &reftitle.seealso; + + bcmul + BcMath\Number::div + BcMath\Number::pow + BcMath\Number::powmod + + + + + diff --git a/reference/bc/bcmath/number/pow.xml b/reference/bc/bcmath/number/pow.xml new file mode 100644 index 0000000000..e7869d7b49 --- /dev/null +++ b/reference/bc/bcmath/number/pow.xml @@ -0,0 +1,225 @@ + + + + + + + BcMath\Number::pow + 任意精度数値をべき乗する + + + + &reftitle.description; + + public BcMath\NumberBcMath\Number::pow + BcMath\Numberstringintexponent + intnullscale&null; + + + $this の + exponent 乗を求めます。 + + + + + &reftitle.parameters; + + + exponent + + + 指数を表す値。整数値でなければなりません。 + exponent の有効な範囲はプラットフォームに依存しますが、少なくとも + -2147483648 から 2147483647 までの範囲を持ちます。 + + + + + + + + + &reftitle.returnvalues; + + べき乗の結果を新しい BcMath\Number オブジェクトとして返します。 + + + べき乗結果オブジェクトの BcMath\Number::scale が自動的に設定される場合、 + exponent の値に応じて、結果の BcMath\Number::scale が以下のようになります: + + + + + exponent + べき乗結果オブジェクトの BcMath\Number::scale + + + + + 正の値 + (基数の BcMath\Number::scale) * (exponent の値) + + + 0 + 0 + + + 負の値 + (基数の BcMath\Number::scale) と (基数の BcMath\Number::scale + + 10) の間 + + + + + + + 負の exponent を指定し割り切れない除算が発生した場合、べき乗結果オブジェクトの + BcMath\Number::scale が拡張されます。拡張は必要な場合にのみ行われ、最大で +10 まで拡張されます。 + この動作は BcMath\Number::div と同じですので、詳しくはそちらを参照して下さい。 + + + + + &reftitle.errors; + + このメソッドは、以下の場合に ValueError をスローします: + + exponent が、BCMath で有効でない数値形式の文字列である場合 + exponent が整数値でない場合 + exponent もしくは scale が範囲外の値である場合 + 結果オブジェクトの BcMath\Number::scale が範囲外の値である場合 + + + + このメソッドは、$this の値が 0 かつ exponent が負の値である場合、 + DivisionByZeroError exception をスローします。 + + + + + &reftitle.examples; + + <methodname>BcMath\Number::pow</methodname> で <parameter>scale</parameter> を指定しない例 + +pow(new BcMath\Number('5')); +$ret2 = $number->pow('-1'); +$ret3 = $number->pow(0); + +var_dump($number, $ret1, $ret2, $ret3); +?> +]]> + + &example.outputs; + + + string(3) "3.0" + ["scale"]=> + int(1) +} +object(BcMath\Number)#3 (2) { + ["value"]=> + string(9) "243.00000" + ["scale"]=> + int(5) +} +object(BcMath\Number)#2 (2) { + ["value"]=> + string(13) "0.33333333333" + ["scale"]=> + int(11) +} +object(BcMath\Number)#4 (2) { + ["value"]=> + string(1) "1" + ["scale"]=> + int(0) +} +]]> + + + + + <methodname>BcMath\Number::pow</methodname> で <parameter>scale</parameter> を指定する例</parameter> + +pow(new BcMath\Number('5'), 0); +$ret2 = $number->pow('-1', 2); +$ret3 = $number->pow(0, 10); + +var_dump($number, $ret1, $ret2, $ret3); +?> +]]> + + &example.outputs; + + + string(3) "3.0" + ["scale"]=> + int(1) +} +object(BcMath\Number)#3 (2) { + ["value"]=> + string(3) "243" + ["scale"]=> + int(0) +} +object(BcMath\Number)#2 (2) { + ["value"]=> + string(4) "0.33" + ["scale"]=> + int(2) +} +object(BcMath\Number)#4 (2) { + ["value"]=> + string(12) "1.0000000000" + ["scale"]=> + int(10) +} +]]> + + + + + + &reftitle.seealso; + + bcpow + BcMath\Number::powmod + BcMath\Number::mul + BcMath\Number::sqrt + BcMath\Number::div + + + + + diff --git a/reference/bc/bcmath/number/powmod.xml b/reference/bc/bcmath/number/powmod.xml new file mode 100644 index 0000000000..349d487a16 --- /dev/null +++ b/reference/bc/bcmath/number/powmod.xml @@ -0,0 +1,200 @@ + + + + + + + BcMath\Number::powmod + 任意精度数値のべき乗の、指定した数値による剰余 + + + + &reftitle.description; + + public BcMath\NumberBcMath\Number::powmod + BcMath\Numberstringintexponent + BcMath\Numberstringintmodulus + intnullscale&null; + + + modulus で割った余りを求めることを考慮して、 + $this の + exponent 乗を高速に計算します。 + + + + + &reftitle.parameters; + + + exponent + + + 基数を表す整数の値。 + (つまり、scale は 0 でなければいけません) + + + + + modulus + + + 指数を表す、負でない、整数の値。 + (つまり、scale は 0 でなければいけません) + + + + + + + + + &reftitle.returnvalues; + + 計算結果を新しい BcMath\Number オブジェクトとして返します。 + + + 計算結果オブジェクトの BcMath\Number::scale が自動的に設定される場合、常に 0 になります。 + + + + + &reftitle.errors; + + このメソッドは、以下の場合に ValueError をスローします: + + exponent もしくは modulus が、BCMath で有効でない数値形式の文字列である場合 + $thisexponentmodulus のうち、どれか一つでも整数値でない場合 + exponent が負の値である場合 + scale が範囲外の値である場合 + + + + このメソッドは、 modulus0 である場合、 + DivisionByZeroError exception をスローします。 + + + + + &reftitle.examples; + + <methodname>BcMath\Number::powmod</methodname> で <parameter>scale</parameter> を指定しない例 + +powmod(new BcMath\Number('3'), 5), + new BcMath\Number('-8')->powmod(new BcMath\Number('3'), 5), + new BcMath\Number('8')->powmod('2', -3), + new BcMath\Number('-8')->powmod(5, 7), +); +?> +]]> + + &example.outputs; + + + string(1) "2" + ["scale"]=> + int(0) +} +object(BcMath\Number)#4 (2) { + ["value"]=> + string(2) "-2" + ["scale"]=> + int(0) +} +object(BcMath\Number)#2 (2) { + ["value"]=> + string(1) "1" + ["scale"]=> + int(0) +} +object(BcMath\Number)#5 (2) { + ["value"]=> + string(2) "-1" + ["scale"]=> + int(0) +} +]]> + + + + + <methodname>BcMath\Number::powmod</methodname> で <parameter>scale</parameter> を指定する例 + +powmod(new BcMath\Number('3'), 5, 1), + new BcMath\Number('-8')->powmod(new BcMath\Number('3'), 5, 2), + new BcMath\Number('8')->powmod('2', -3, 3), + new BcMath\Number('-8')->powmod(5, 7, 4), +); +?> +]]> + + &example.outputs; + + + string(3) "2.0" + ["scale"]=> + int(1) +} +object(BcMath\Number)#4 (2) { + ["value"]=> + string(5) "-2.00" + ["scale"]=> + int(2) +} +object(BcMath\Number)#2 (2) { + ["value"]=> + string(5) "1.000" + ["scale"]=> + int(3) +} +object(BcMath\Number)#5 (2) { + ["value"]=> + string(7) "-1.0000" + ["scale"]=> + int(4) +} +]]> + + + + + + &reftitle.seealso; + + bcpowmod + BcMath\Number::pow + BcMath\Number::mod + + + + + diff --git a/reference/bc/bcmath/number/round.xml b/reference/bc/bcmath/number/round.xml new file mode 100644 index 0000000000..06291f3712 --- /dev/null +++ b/reference/bc/bcmath/number/round.xml @@ -0,0 +1,561 @@ + + + + + + + BcMath\Number::round + 任意精度数値を丸める + + + + &reftitle.description; + + public BcMath\NumberBcMath\Number::round + intprecision0 + RoundingModemodeRoundingMode::HalfAwayFromZero + + + $this を、指定した precision(小数点以下の桁数)に丸めた値を返します。 + precision を負またはゼロ(デフォルト) とすることも可能です。 + + + + + &reftitle.parameters; + + + + + mode + + + 指定する丸めモード。 + + + + + + + + &reftitle.returnvalues; + + 結果を新しい BcMath\Number オブジェクトとして返します。 + + + + + &reftitle.examples; + + <methodname>BcMath\Number::round</methodname> の例 + +round(), + new BcMath\Number('3.5')->round(), + new BcMath\Number('3.6')->round(), + new BcMath\Number('3.6')->round(0), + new BcMath\Number('5.045')->round(2), + new BcMath\Number('5.055')->round(2), + new BcMath\Number('345')->round(-2), + new BcMath\Number('345')->round(-3), + new BcMath\Number('678')->round(-2), + new BcMath\Number('678')->round(-3), +); +?> +]]> + + &example.outputs; + + + string(1) "3" + ["scale"]=> + int(0) +} +object(BcMath\Number)#3 (2) { + ["value"]=> + string(1) "4" + ["scale"]=> + int(0) +} +object(BcMath\Number)#4 (2) { + ["value"]=> + string(1) "4" + ["scale"]=> + int(0) +} +object(BcMath\Number)#5 (2) { + ["value"]=> + string(1) "4" + ["scale"]=> + int(0) +} +object(BcMath\Number)#6 (2) { + ["value"]=> + string(4) "5.05" + ["scale"]=> + int(2) +} +object(BcMath\Number)#7 (2) { + ["value"]=> + string(4) "5.06" + ["scale"]=> + int(2) +} +object(BcMath\Number)#8 (2) { + ["value"]=> + string(3) "300" + ["scale"]=> + int(0) +} +object(BcMath\Number)#9 (2) { + ["value"]=> + string(1) "0" + ["scale"]=> + int(0) +} +object(BcMath\Number)#10 (2) { + ["value"]=> + string(3) "700" + ["scale"]=> + int(0) +} +object(BcMath\Number)#11 (2) { + ["value"]=> + string(4) "1000" + ["scale"]=> + int(0) +} +]]> + + + + + Example of using <methodname>BcMath\Number::round</methodname> で異なる <parameter>precision</parameter> を指定した例 + + +round(3), + $number->round(2), + $number->round(1), + $number->round(0), + $number->round(-1), + $number->round(-2), + $number->round(-3), +); +?> +]]> + + &example.outputs; + + + string(6) "123.45" + ["scale"]=> + int(2) +} +object(BcMath\Number)#3 (2) { + ["value"]=> + string(6) "123.45" + ["scale"]=> + int(2) +} +object(BcMath\Number)#4 (2) { + ["value"]=> + string(5) "123.5" + ["scale"]=> + int(1) +} +object(BcMath\Number)#5 (2) { + ["value"]=> + string(3) "123" + ["scale"]=> + int(0) +} +object(BcMath\Number)#6 (2) { + ["value"]=> + string(3) "120" + ["scale"]=> + int(0) +} +object(BcMath\Number)#7 (2) { + ["value"]=> + string(3) "100" + ["scale"]=> + int(0) +} +object(BcMath\Number)#8 (2) { + ["value"]=> + string(1) "0" + ["scale"]=> + int(0) +} +]]> + + + + + Example of using <methodname>BcMath\Number::round</methodname> で異なる <parameter>mode</parameter> を指定した例 + + +round(0, RoundingMode::HalfAwayFromZero), + $number->round(0, RoundingMode::HalfTowardsZero), + $number->round(0, RoundingMode::HalfEven), + $number->round(0, RoundingMode::HalfOdd), + $number->round(0, RoundingMode::TowardsZero), + $number->round(0, RoundingMode::AwayFromZero), + $number->round(0, RoundingMode::NegativeInfinity), + $number->round(0, RoundingMode::PositiveInfinity), +); + +echo PHP_EOL; +echo 'Rounding modes with 8.5' . PHP_EOL; +$number = new BcMath\Number('8.5'); +var_dump( + $number->round(0, RoundingMode::HalfAwayFromZero), + $number->round(0, RoundingMode::HalfTowardsZero), + $number->round(0, RoundingMode::HalfEven), + $number->round(0, RoundingMode::HalfOdd), + $number->round(0, RoundingMode::TowardsZero), + $number->round(0, RoundingMode::AwayFromZero), + $number->round(0, RoundingMode::NegativeInfinity), + $number->round(0, RoundingMode::PositiveInfinity), +); +?> +]]> + + &example.outputs; + + + string(2) "10" + ["scale"]=> + int(0) +} +object(BcMath\Number)#5 (2) { + ["value"]=> + string(1) "9" + ["scale"]=> + int(0) +} +object(BcMath\Number)#7 (2) { + ["value"]=> + string(2) "10" + ["scale"]=> + int(0) +} +object(BcMath\Number)#9 (2) { + ["value"]=> + string(1) "9" + ["scale"]=> + int(0) +} +object(BcMath\Number)#11 (2) { + ["value"]=> + string(1) "9" + ["scale"]=> + int(0) +} +object(BcMath\Number)#13 (2) { + ["value"]=> + string(2) "10" + ["scale"]=> + int(0) +} +object(BcMath\Number)#15 (2) { + ["value"]=> + string(1) "9" + ["scale"]=> + int(0) +} +object(BcMath\Number)#17 (2) { + ["value"]=> + string(2) "10" + ["scale"]=> + int(0) +} + +Rounding modes with 8.5 +object(BcMath\Number)#1 (2) { + ["value"]=> + string(1) "9" + ["scale"]=> + int(0) +} +object(BcMath\Number)#15 (2) { + ["value"]=> + string(1) "8" + ["scale"]=> + int(0) +} +object(BcMath\Number)#13 (2) { + ["value"]=> + string(1) "8" + ["scale"]=> + int(0) +} +object(BcMath\Number)#11 (2) { + ["value"]=> + string(1) "9" + ["scale"]=> + int(0) +} +object(BcMath\Number)#9 (2) { + ["value"]=> + string(1) "8" + ["scale"]=> + int(0) +} +object(BcMath\Number)#7 (2) { + ["value"]=> + string(1) "9" + ["scale"]=> + int(0) +} +object(BcMath\Number)#5 (2) { + ["value"]=> + string(1) "8" + ["scale"]=> + int(0) +} +object(BcMath\Number)#3 (2) { + ["value"]=> + string(1) "9" + ["scale"]=> + int(0) +} +]]> + + + + + Example of using <methodname>BcMath\Number::round</methodname> で <parameter>precision</parameter> を指定し、 + 異なる <parameter>mode</parameter> を指定した例 + + +round(1, RoundingMode::HalfAwayFromZero), + $negative->round(1, RoundingMode::HalfAwayFromZero), +); + +echo PHP_EOL; +echo 'Using RoundingMode::HalfTowardsZero with 1 decimal digit precision' . PHP_EOL; +var_dump( + $positive->round(1, RoundingMode::HalfTowardsZero), + $negative->round(1, RoundingMode::HalfTowardsZero), +); + +echo PHP_EOL; +echo 'Using RoundingMode::HalfEven with 1 decimal digit precision' . PHP_EOL; +var_dump( + $positive->round(1, RoundingMode::HalfEven), + $negative->round(1, RoundingMode::HalfEven), +); + +echo PHP_EOL; +echo 'Using RoundingMode::HalfOdd with 1 decimal digit precision' . PHP_EOL; +var_dump( + $positive->round(1, RoundingMode::HalfOdd), + $negative->round(1, RoundingMode::HalfOdd), +); + +echo PHP_EOL; +echo 'Using RoundingMode::TowardsZero with 1 decimal digit precision' . PHP_EOL; +var_dump( + $positive->round(1, RoundingMode::TowardsZero), + $negative->round(1, RoundingMode::TowardsZero), +); + +echo PHP_EOL; +echo 'Using RoundingMode::AwayFromZero with 1 decimal digit precision' . PHP_EOL; +var_dump( + $positive->round(1, RoundingMode::AwayFromZero), + $negative->round(1, RoundingMode::AwayFromZero), +); + +echo PHP_EOL; +echo 'Using RoundingMode::NegativeInfinity with 1 decimal digit precision' . PHP_EOL; +var_dump( + $positive->round(1, RoundingMode::NegativeInfinity), + $negative->round(1, RoundingMode::NegativeInfinity), +); + +echo PHP_EOL; +echo 'Using RoundingMode::PositiveInfinity with 1 decimal digit precision' . PHP_EOL; +var_dump( + $positive->round(1, RoundingMode::PositiveInfinity), + $negative->round(1, RoundingMode::PositiveInfinity), +); +?> +]]> + + &example.outputs; + + + string(3) "1.6" + ["scale"]=> + int(1) +} +object(BcMath\Number)#5 (2) { + ["value"]=> + string(4) "-1.6" + ["scale"]=> + int(1) +} + +Using RoundingMode::HalfTowardsZero with 1 decimal digit precision +object(BcMath\Number)#4 (2) { + ["value"]=> + string(3) "1.5" + ["scale"]=> + int(1) +} +object(BcMath\Number)#6 (2) { + ["value"]=> + string(4) "-1.5" + ["scale"]=> + int(1) +} + +Using RoundingMode::HalfEven with 1 decimal digit precision +object(BcMath\Number)#4 (2) { + ["value"]=> + string(3) "1.6" + ["scale"]=> + int(1) +} +object(BcMath\Number)#7 (2) { + ["value"]=> + string(4) "-1.6" + ["scale"]=> + int(1) +} + +Using RoundingMode::HalfOdd with 1 decimal digit precision +object(BcMath\Number)#4 (2) { + ["value"]=> + string(3) "1.5" + ["scale"]=> + int(1) +} +object(BcMath\Number)#8 (2) { + ["value"]=> + string(4) "-1.5" + ["scale"]=> + int(1) +} + +Using RoundingMode::TowardsZero with 1 decimal digit precision +object(BcMath\Number)#4 (2) { + ["value"]=> + string(3) "1.5" + ["scale"]=> + int(1) +} +object(BcMath\Number)#9 (2) { + ["value"]=> + string(4) "-1.5" + ["scale"]=> + int(1) +} + +Using RoundingMode::AwayFromZero with 1 decimal digit precision +object(BcMath\Number)#4 (2) { + ["value"]=> + string(3) "1.6" + ["scale"]=> + int(1) +} +object(BcMath\Number)#10 (2) { + ["value"]=> + string(4) "-1.6" + ["scale"]=> + int(1) +} + +Using RoundingMode::NegativeInfinity with 1 decimal digit precision +object(BcMath\Number)#4 (2) { + ["value"]=> + string(3) "1.5" + ["scale"]=> + int(1) +} +object(BcMath\Number)#11 (2) { + ["value"]=> + string(4) "-1.6" + ["scale"]=> + int(1) +} + +Using RoundingMode::PositiveInfinity with 1 decimal digit precision +object(BcMath\Number)#4 (2) { + ["value"]=> + string(3) "1.6" + ["scale"]=> + int(1) +} +object(BcMath\Number)#12 (2) { + ["value"]=> + string(4) "-1.5" + ["scale"]=> + int(1) +} +]]> + + + + + + &reftitle.seealso; + + bcround + BcMath\Number::ceil + BcMath\Number::floor + + + + + diff --git a/reference/bc/bcmath/number/serialize.xml b/reference/bc/bcmath/number/serialize.xml new file mode 100644 index 0000000000..2718261758 --- /dev/null +++ b/reference/bc/bcmath/number/serialize.xml @@ -0,0 +1,55 @@ + + + + + + + BcMath\Number::__serialize + BcMath\Number オブジェクトをシリアライズする + + + + &reftitle.description; + + public arrayBcMath\Number::__serialize + + + + $this をシリアライズします。 + + + + + &reftitle.parameters; + &no.function.parameters; + + + + &reftitle.seealso; + + BcMath\Number::__construct + BcMath\Number::__unserialize + + + + + diff --git a/reference/bc/bcmath/number/sqrt.xml b/reference/bc/bcmath/number/sqrt.xml new file mode 100644 index 0000000000..fa8336587e --- /dev/null +++ b/reference/bc/bcmath/number/sqrt.xml @@ -0,0 +1,136 @@ + + + + + + + BcMath\Number::sqrt + 任意精度数値の平方根を取得する + + + + &reftitle.description; + + public BcMath\NumberBcMath\Number::sqrt + intnullscale&null; + + + $this の平方根を返します。 + + + + + &reftitle.parameters; + + + + + + + &reftitle.returnvalues; + + 平方根を新しい BcMath\Number オブジェクトとして返します。 + + + 計算結果オブジェクトの BcMath\Number::scale が自動的に設定される場合、$this の + BcMath\Number::scale が使用されます。ただし、割り切れない除算が発生した場合は、 + 計算結果オブジェクトの BcMath\Number::scale が拡張されます。 + 拡張は必要に応じてのみ行われ、最大で +10 まで拡張されます。 + + + つまり、$thisBcMath\Number::scale5 の場合、 + 計算結果オブジェクトの BcMath\Number::scale5 から + 15 の間になります。 + + + + + &reftitle.errors; + + このメソッドは、以下の場合に ValueError をスローします: + + $this が負の値である場合 + scale が範囲外の値である場合 + 結果オブジェクトの BcMath\Number::scale が範囲外の値である場合 + + + + + + &reftitle.examples; + + <methodname>BcMath\Number::sqrt</methodname> の例 + +sqrt(), + new BcMath\Number('2')->sqrt(3), + new BcMath\Number('4')->sqrt(), + new BcMath\Number('4')->sqrt(3), +); +?> +]]> + + &example.outputs; + + + string(12) "1.4142135623" + ["scale"]=> + int(10) +} +object(BcMath\Number)#3 (2) { + ["value"]=> + string(5) "1.414" + ["scale"]=> + int(3) +} +object(BcMath\Number)#4 (2) { + ["value"]=> + string(1) "2" + ["scale"]=> + int(0) +} +object(BcMath\Number)#5 (2) { + ["value"]=> + string(5) "2.000" + ["scale"]=> + int(3) +} +]]> + + + + + + &reftitle.seealso; + + bcsqrt + BcMath\Number::div + BcMath\Number::pow + + + + + diff --git a/reference/bc/bcmath/number/sub.xml b/reference/bc/bcmath/number/sub.xml new file mode 100644 index 0000000000..e577386706 --- /dev/null +++ b/reference/bc/bcmath/number/sub.xml @@ -0,0 +1,177 @@ + + + + + + + BcMath\Number::sub + 任意精度数値の減算を行う + + + + &reftitle.description; + + public BcMath\NumberBcMath\Number::sub + BcMath\Numberstringintnum + intnullscale&null; + + + $thisnum を減算します。 + + + + + &reftitle.parameters; + + + num + + + 減数を表す値。 + + + + + + + + + &reftitle.returnvalues; + + 減算結果を新しい BcMath\Number オブジェクトとして返します。 + + + 減算結果オブジェクトの BcMath\Number::scale が自動的に設定される場合、減算に使用する2つの数値のうち、 + 大きい方の BcMath\Number::scale が使用されます。 + + + + + + + + + + &reftitle.examples; + + <methodname>BcMath\Number::sub</methodname> で <parameter>scale</parameter> を指定しない例 + +sub(new BcMath\Number('2.34567')); +$ret2 = $number->sub('-3.456'); +$ret3 = $number->sub(7); + +var_dump($number, $ret1, $ret2, $ret3); +?> +]]> + + &example.outputs; + + + string(5) "1.234" + ["scale"]=> + int(3) +} +object(BcMath\Number)#3 (2) { + ["value"]=> + string(8) "-1.11167" + ["scale"]=> + int(5) +} +object(BcMath\Number)#2 (2) { + ["value"]=> + string(5) "4.690" + ["scale"]=> + int(3) +} +object(BcMath\Number)#4 (2) { + ["value"]=> + string(6) "-5.766" + ["scale"]=> + int(3) +} +]]> + + + + + <methodname>BcMath\Number::sub</methodname> で <parameter>scale</parameter> を指定する例 + +sub(new BcMath\Number('2.34567'), 1); +$ret2 = $number->sub('-3.456', 10); +$ret3 = $number->sub(7, 0); + +var_dump($number, $ret1, $ret2, $ret3); +?> +]]> + + &example.outputs; + + + string(5) "1.234" + ["scale"]=> + int(3) +} +object(BcMath\Number)#3 (2) { + ["value"]=> + string(4) "-1.1" + ["scale"]=> + int(1) +} +object(BcMath\Number)#2 (2) { + ["value"]=> + string(12) "4.6900000000" + ["scale"]=> + int(10) +} +object(BcMath\Number)#4 (2) { + ["value"]=> + string(2) "-5" + ["scale"]=> + int(0) +} +]]> + + + + + + &reftitle.seealso; + + bcsub + BcMath\Number::add + + + + + diff --git a/reference/bc/bcmath/number/tostring.xml b/reference/bc/bcmath/number/tostring.xml new file mode 100644 index 0000000000..5a3aeb7d1b --- /dev/null +++ b/reference/bc/bcmath/number/tostring.xml @@ -0,0 +1,53 @@ + + + + + + + BcMath\Number::__toString + BcMath\Number オブジェクトを文字列に変換する + + + + &reftitle.description; + + public stringBcMath\Number::__toString + + + + BcMath\Numberstring に変換します。 + + + + + &reftitle.parameters; + &no.function.parameters; + + + + &reftitle.returnvalues; + + BcMath\Number::valuestring として返します。 + + + + diff --git a/reference/bc/bcmath/number/unserialize.xml b/reference/bc/bcmath/number/unserialize.xml new file mode 100644 index 0000000000..42954cdbdc --- /dev/null +++ b/reference/bc/bcmath/number/unserialize.xml @@ -0,0 +1,71 @@ + + + + + + + BcMath\Number::__unserialize + data 引数を BcMath\Number オブジェクトとして復元する + + + + &reftitle.description; + + public voidBcMath\Number::__unserialize + arraydata + + + data 引数を BcMath\Number オブジェクトとして復元します。 + + + + + &reftitle.parameters; + + + data + + + 連想配列としてシリアライズされたデータ。 + + + + + + + + &reftitle.errors; + + このメソッドは、不正なシリアライズデータが渡された場合、ValueError をスローします。 + + + + + &reftitle.seealso; + + BcMath\Number::__construct + BcMath\Number::serialize + + + + + From bf6dad6d92d7b5303e096ee72fc0dc97710ea3ed Mon Sep 17 00:00:00 2001 From: Saki Takamachi Date: Wed, 29 Jan 2025 15:17:08 +0900 Subject: [PATCH 04/13] =?UTF-8?q?=E6=96=B0=E3=81=97=E3=81=844=E3=81=A4?= =?UTF-8?q?=E3=81=AEBCMath=E9=96=A2=E6=95=B0=E3=81=AE=E7=BF=BB=E8=A8=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- reference/bc/functions/bcceil.xml | 102 ++++++++++ reference/bc/functions/bcdivmod.xml | 108 ++++++++++ reference/bc/functions/bcfloor.xml | 87 ++++++++ reference/bc/functions/bcround.xml | 298 ++++++++++++++++++++++++++++ 4 files changed, 595 insertions(+) create mode 100644 reference/bc/functions/bcceil.xml create mode 100644 reference/bc/functions/bcdivmod.xml create mode 100644 reference/bc/functions/bcfloor.xml create mode 100644 reference/bc/functions/bcround.xml diff --git a/reference/bc/functions/bcceil.xml b/reference/bc/functions/bcceil.xml new file mode 100644 index 0000000000..130742f983 --- /dev/null +++ b/reference/bc/functions/bcceil.xml @@ -0,0 +1,102 @@ + + + + + + + bcceil + 任意精度数値を切り上げる + + + + &reftitle.description; + + stringbcceil + stringnum + + + 必要に応じて num を切り上げ、 num の次に大きい整数値を返します。 + + + + + &reftitle.parameters; + + + num + + + 切り上げる値を表す文字列。 + + + + + + + + &reftitle.returnvalues; + + num に最も近い整数に切り上げられた数値を表す数値文字列を返します。 + + + + + &reftitle.errors; + + この関数は、num が BCMath で有効でない数値形式の文字列である場合、ValueError をスローします。 + + + + + &reftitle.examples; + + <function>bcceil</function> の例 + + +]]> + + &example.outputs; + + + + + + + + &reftitle.seealso; + + bcfloor + bcround + BcMath\Number::ceil + + + + diff --git a/reference/bc/functions/bcdivmod.xml b/reference/bc/functions/bcdivmod.xml new file mode 100644 index 0000000000..a66e1abbe5 --- /dev/null +++ b/reference/bc/functions/bcdivmod.xml @@ -0,0 +1,108 @@ + + + + + + + + bcdivmod + 任意精度数値の商と剰余を取得する + + + + &reftitle.description; + + arraybcdivmod + stringnum1 + stringnum2 + intnullscale&null; + + + num1num2 で割った商と剰余を取得します。 + + + + + + + + + &reftitle.returnvalues; + + 1つ目の要素に商の値を表す string が、2つ目の要素に剰余の値を表す string が格納された配列を返します。 + + + + + + + &reftitle.examples; + + <function>bcdivmod</function> の例 + + +]]> + + + + <function>bcdivmod</function> に小数の値を指定する + + +]]> + + + + + + &reftitle.seealso; + + bcdiv + bcmod + BcMath\Number::divmod + + + + diff --git a/reference/bc/functions/bcfloor.xml b/reference/bc/functions/bcfloor.xml new file mode 100644 index 0000000000..912eec25c0 --- /dev/null +++ b/reference/bc/functions/bcfloor.xml @@ -0,0 +1,87 @@ + + + + + + + bcfloor + 任意精度数値を切り下げる + + + + &reftitle.description; + + stringbcfloor + stringnum + + + 必要に応じて num を切り下げ、 num の次に小さい整数値を返します。 + + + + + + + + + &reftitle.returnvalues; + + num に最も近い整数に切り下げられた数値を表す数値文字列を返します。 + + + + + + + &reftitle.examples; + + <function>bcfloor</function> の例 + + +]]> + + &example.outputs; + + + + + + + + &reftitle.seealso; + + bcceil + bcround + BcMath\Number::floor + + + + diff --git a/reference/bc/functions/bcround.xml b/reference/bc/functions/bcround.xml new file mode 100644 index 0000000000..959b6c5194 --- /dev/null +++ b/reference/bc/functions/bcround.xml @@ -0,0 +1,298 @@ + + + + + + + bcround + 任意精度数値を丸める + + + + &reftitle.description; + + stringbcround + stringnum + intprecision0 + RoundingModemodeRoundingMode::HalfAwayFromZero + + + num を、指定した precision(小数点以下の桁数)に丸めた値を返します。 + precision を負またはゼロ(デフォルト) とすることも可能です。 + + + + + &reftitle.parameters; + + + + + mode + + + 指定する丸めモード。 + + + + + + + + &reftitle.returnvalues; + + num を指定された精度へ丸めた数値を表す文字列を返します。 + + + + + &reftitle.errors; + + この関数は、以下の場合に ValueError をスローします: + + num が、BCMath で有効でない数値形式の文字列である場合 + 無効な mode を指定した場合 + + + + + + &reftitle.examples; + + <function>bcround</function> の例 + + +]]> + + &example.outputs; + + + + + + + <function>bcround</function> で異なる <parameter>precision</parameter> を指定した例 + + + +]]> + + &example.outputs; + + + + + + + <function>bcround</function> で異なる <parameter>mode</parameter> を指定した例 + + + +]]> + + &example.outputs; + + + + + + + <function>bcround</function> で <parameter>precision</parameter> を指定し、 + 異なる <parameter>mode</parameter> を指定した例 + + + +]]> + + &example.outputs; + + + + + + + + &reftitle.seealso; + + bcceil + bcfloor + BcMath\Number::round + + + + From 933b10058c43d3288465a7b9f40e9fdbeeb53941 Mon Sep 17 00:00:00 2001 From: Saki Takamachi Date: Wed, 29 Jan 2025 15:33:00 +0900 Subject: [PATCH 05/13] =?UTF-8?q?=E6=97=A2=E5=AD=98=E9=96=A2=E6=95=B0?= =?UTF-8?q?=E3=81=AE=E6=9B=B4=E6=96=B0=E5=88=86=E3=82=92=E7=BF=BB=E8=A8=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- reference/bc/functions/bcadd.xml | 26 ++++++++++++++++---------- reference/bc/functions/bccomp.xml | 9 ++++++++- reference/bc/functions/bcdiv.xml | 7 ++++--- reference/bc/functions/bcmod.xml | 6 ++++-- reference/bc/functions/bcmul.xml | 3 ++- reference/bc/functions/bcpow.xml | 24 +++++++++++++----------- reference/bc/functions/bcpowmod.xml | 22 ++++++++++++---------- reference/bc/functions/bcsqrt.xml | 3 ++- reference/bc/functions/bcsub.xml | 5 +++-- 9 files changed, 64 insertions(+), 41 deletions(-) diff --git a/reference/bc/functions/bcadd.xml b/reference/bc/functions/bcadd.xml index 5fe0165cb8..8662792e7b 100644 --- a/reference/bc/functions/bcadd.xml +++ b/reference/bc/functions/bcadd.xml @@ -1,6 +1,6 @@ - + @@ -42,7 +42,17 @@ - &bc.scale.description; + + scale + + + 結果の小数点以下の桁数を指定します。&null; の場合は、 bcscale 関数でグローバルに + 設定した桁数をデフォルトとして使用します。 + それも設定されていない場合は bcmath.scale + INI ディレクティブの値を使用します。 + + + @@ -58,15 +68,10 @@ &reftitle.errors; - This function throws a ValueError in the following cases: + この関数は、以下の場合に ValueError をスローします: - - num1 or num2 - is not a well-formed BCMath numeric string. - - - scale is outside the valid range. - + num1 もしくは num1 が、BCMath で有効でない数値形式の文字列である場合 + scale が範囲外の値である場合 @@ -118,6 +123,7 @@ echo bcadd($a, $b, 4); // 6.2340 bcsub + BcMath\Number::add diff --git a/reference/bc/functions/bccomp.xml b/reference/bc/functions/bccomp.xml index 5bf0bf6e72..c93016b4df 100644 --- a/reference/bc/functions/bccomp.xml +++ b/reference/bc/functions/bccomp.xml @@ -1,6 +1,6 @@ - + @@ -77,6 +77,13 @@ echo bccomp('1.00001', '1', 5); // 1 + + + &reftitle.seealso; + + BcMath\Number::compare + + - + @@ -60,8 +60,8 @@ - This function throws a DivisionByZeroError - exception if num2 is 0. + この関数は、 num20 である場合、 + DivisionByZeroError exception をスローします。 @@ -108,6 +108,7 @@ echo bcdiv('105', '6.55957', 3); // 16.007 bcmul + BcMath\Number::div diff --git a/reference/bc/functions/bcmod.xml b/reference/bc/functions/bcmod.xml index cee36b6cb4..902fa93f0a 100644 --- a/reference/bc/functions/bcmod.xml +++ b/reference/bc/functions/bcmod.xml @@ -1,6 +1,6 @@ - + @@ -57,7 +57,8 @@ 8.0.0 - Dividing by 0 now throws a DivisionByZeroError exception instead of returning null. + 0 除算を行うと、DivisionByZeroError + exception がスローされるようになりました。以前は &null; が返されていました。 @@ -115,6 +116,7 @@ echo bcmod('5.7', '1.3'); // 0.5 as of PHP 7.2.0; 0 previously bcdiv + BcMath\Number::mod diff --git a/reference/bc/functions/bcmul.xml b/reference/bc/functions/bcmul.xml index d07a12fba4..a38c3364f2 100644 --- a/reference/bc/functions/bcmul.xml +++ b/reference/bc/functions/bcmul.xml @@ -1,6 +1,6 @@ - + @@ -108,6 +108,7 @@ echo bcmul('5', '2', 2); // prints "10", not "10.00" bcdiv + BcMath\Number::mul diff --git a/reference/bc/functions/bcpow.xml b/reference/bc/functions/bcpow.xml index 81bbe8b1ca..772eaa5aa6 100644 --- a/reference/bc/functions/bcpow.xml +++ b/reference/bc/functions/bcpow.xml @@ -1,6 +1,6 @@ - + @@ -61,16 +61,16 @@ &reftitle.errors; - This function throws a ValueError in the following cases: + この関数は、以下の場合に ValueError をスローします: - num or exponent is not a well-formed BCMath numeric string - exponent has a fractional part - exponent or scale is outside the valid range + num もしくは exponent が、BCMath で有効でない数値形式の文字列である場合 + exponent が整数値でない場合 + exponent もしくは scale が範囲外の値である場合 - This function throws a DivisionByZeroError exception if num - is 0 and exponent is a negative value. + この関数は、num の値が 0 かつ exponent が負の値である場合、 + DivisionByZeroError exception をスローします。 @@ -88,15 +88,16 @@ 8.4.0 - Negative powers of 0 previously returned 0, but now throw a DivisionByZeroError - exception. + 0 の負のべき乗を行った場合、0 を返す代わりに + DivisionByZeroError がスローされるようになりました。 8.0.0 - When exponent has a fractional part, it now throws a ValueError - instead of truncating. + exponent が小数部を持つ場合、ValueError + がスローされるようになりました。 + 以前は、小数部を切り捨てて整数として計算を行っていました。 @@ -156,6 +157,7 @@ echo bcpow('5', '2', 2); // 結果は "25.00" ではなく "25" となりま bcpowmod bcsqrt + BcMath\Number::pow diff --git a/reference/bc/functions/bcpowmod.xml b/reference/bc/functions/bcpowmod.xml index 0f289e1121..07a052d810 100644 --- a/reference/bc/functions/bcpowmod.xml +++ b/reference/bc/functions/bcpowmod.xml @@ -1,6 +1,6 @@ - + @@ -70,17 +70,17 @@ &reftitle.errors; - This function throws a ValueError in the following cases: + この関数は、以下の場合に ValueError をスローします: - num, exponent or modulus is not a well-formed BCMath numeric string - num, exponent or modulus has a fractional part - exponent is a negative value - scale is outside the valid range + numexponentmodulus のいずれかが、BCMath で有効でない数値形式の文字列である場合 + numexponentmodulus のいずれかが整数値でない場合 + exponent が負の値である場合 + scale が範囲外の値である場合 - This function throws a DivisionByZeroError exception if modulus - is 0. + この関数は、modulus の値が 0 である場合、 + DivisionByZeroError exception をスローします。 @@ -104,13 +104,14 @@ 8.0.0 - Now throws a ValueError instead of returning &false; if exponent is a negative value. + exponent が負の値の場合、&false; を返す代わりに ValueError をスローするようになりました。 8.0.0 - Dividing by 0 now throws a DivisionByZeroError exception instead of returning &false;. + 0 除算を行うと、DivisionByZeroError + exception がスローされるようになりました。以前は &false; が返されていました。 @@ -157,6 +158,7 @@ $b = bcmod(bcpow($x, $y), $mod); bcpow bcmod + BcMath\Number::powmod diff --git a/reference/bc/functions/bcsqrt.xml b/reference/bc/functions/bcsqrt.xml index c131abf7eb..ff4a320d07 100644 --- a/reference/bc/functions/bcsqrt.xml +++ b/reference/bc/functions/bcsqrt.xml @@ -1,6 +1,6 @@ - + @@ -116,6 +116,7 @@ echo bcsqrt('2', 3); // 1.414 bcpow + BcMath\Number::sqrt diff --git a/reference/bc/functions/bcsub.xml b/reference/bc/functions/bcsub.xml index 1f0cf6061e..f23ea8e16c 100644 --- a/reference/bc/functions/bcsub.xml +++ b/reference/bc/functions/bcsub.xml @@ -1,6 +1,6 @@ - + @@ -48,7 +48,7 @@ 8.0.0 - scale is now nullable. + scale は nullable になりました。 @@ -81,6 +81,7 @@ echo bcsub($a, $b, 4); // -3.7660 bcadd + BcMath\Number::sub From 825525d589e013e611ff4a884c4cc2ef653bdf53 Mon Sep 17 00:00:00 2001 From: Saki Takamachi Date: Wed, 29 Jan 2025 15:38:59 +0900 Subject: [PATCH 06/13] =?UTF-8?q?BCMath=E3=81=AEbook=E3=81=A8ini=E3=81=AE?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=88=86=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- reference/bc/book.xml | 3 ++- reference/bc/ini.xml | 5 ++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/reference/bc/book.xml b/reference/bc/book.xml index 86023d9966..c819a9aca4 100644 --- a/reference/bc/book.xml +++ b/reference/bc/book.xml @@ -1,6 +1,6 @@ - + @@ -55,6 +55,7 @@ echo bcsub($num1, $num2, 1); // => '0.0' &reference.bc.setup; &reference.bc.reference; + &reference.bc.bcmath.number; diff --git a/reference/bc/ini.xml b/reference/bc/ini.xml index 78484462ab..afd5470a45 100644 --- a/reference/bc/ini.xml +++ b/reference/bc/ini.xml @@ -1,6 +1,6 @@ - +
&reftitle.runtime; @@ -44,6 +44,9 @@ 全ての bcmath 関数に関する 10 進桁数。 bcscale も参照ください。 + + BcMath\Number クラスは、この設定の影響を受けません。 + From 4754845feb9fee54c0d990865f4105bc3a4c8294 Mon Sep 17 00:00:00 2001 From: Saki Takamachi Date: Wed, 29 Jan 2025 15:46:33 +0900 Subject: [PATCH 07/13] =?UTF-8?q?=E6=A7=8B=E6=96=87=E3=82=A8=E3=83=A9?= =?UTF-8?q?=E3=83=BC=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- reference/bc/bcmath/number/div.xml | 2 +- reference/bc/bcmath/number/divmod.xml | 2 +- reference/bc/bcmath/number/mod.xml | 2 +- reference/bc/bcmath/number/pow.xml | 2 +- reference/bc/bcmath/number/powmod.xml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/reference/bc/bcmath/number/div.xml b/reference/bc/bcmath/number/div.xml index 56bba35ee6..22367a23e7 100644 --- a/reference/bc/bcmath/number/div.xml +++ b/reference/bc/bcmath/number/div.xml @@ -127,7 +127,7 @@ object(BcMath\Number)#4 (2) { - <methodname>BcMath\Number::div</methodname> で <parameter>scale</parameter> を指定する例</parameter> + <methodname>BcMath\Number::div</methodname> で <parameter>scale</parameter> を指定する例 - <methodname>BcMath\Number::divmod</methodname> で <parameter>scale</parameter> を指定する例</parameter> + <methodname>BcMath\Number::divmod</methodname> で <parameter>scale</parameter> を指定する例 - <methodname>BcMath\Number::mod</methodname> で <parameter>scale</parameter> を指定する例</parameter> + <methodname>BcMath\Number::mod</methodname> で <parameter>scale</parameter> を指定する例 - <methodname>BcMath\Number::pow</methodname> で <parameter>scale</parameter> を指定する例</parameter> + <methodname>BcMath\Number::pow</methodname> で <parameter>scale</parameter> を指定する例 ValueError をスローします: exponent もしくは modulus が、BCMath で有効でない数値形式の文字列である場合 - $thisexponentmodulus のうち、どれか一つでも整数値でない場合 + $thisexponentmodulus のうち、どれか一つでも整数値でない場合 exponent が負の値である場合 scale が範囲外の値である場合 From 36b7be79fab05b1f92207a5866fe3b7f2908d4f3 Mon Sep 17 00:00:00 2001 From: Saki Takamachi Date: Wed, 29 Jan 2025 15:55:39 +0900 Subject: [PATCH 08/13] =?UTF-8?q?status=E3=81=8Cworking=E3=81=AE=E3=82=82?= =?UTF-8?q?=E3=81=AE=E3=82=92ready=E3=81=AB=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- reference/bc/functions/bcadd.xml | 2 +- reference/bc/functions/bcdiv.xml | 2 +- reference/bc/functions/bcmod.xml | 2 +- reference/bc/functions/bcpow.xml | 2 +- reference/bc/functions/bcpowmod.xml | 2 +- reference/bc/functions/bcscale.xml | 2 +- reference/bc/functions/bcsub.xml | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/reference/bc/functions/bcadd.xml b/reference/bc/functions/bcadd.xml index 8662792e7b..775fdad80b 100644 --- a/reference/bc/functions/bcadd.xml +++ b/reference/bc/functions/bcadd.xml @@ -1,6 +1,6 @@ - + diff --git a/reference/bc/functions/bcdiv.xml b/reference/bc/functions/bcdiv.xml index 268d3f4adf..6a61869f49 100644 --- a/reference/bc/functions/bcdiv.xml +++ b/reference/bc/functions/bcdiv.xml @@ -1,6 +1,6 @@ - + diff --git a/reference/bc/functions/bcmod.xml b/reference/bc/functions/bcmod.xml index 902fa93f0a..049f2b6bf4 100644 --- a/reference/bc/functions/bcmod.xml +++ b/reference/bc/functions/bcmod.xml @@ -1,6 +1,6 @@ - + diff --git a/reference/bc/functions/bcpow.xml b/reference/bc/functions/bcpow.xml index 772eaa5aa6..6237492d29 100644 --- a/reference/bc/functions/bcpow.xml +++ b/reference/bc/functions/bcpow.xml @@ -1,6 +1,6 @@ - + diff --git a/reference/bc/functions/bcpowmod.xml b/reference/bc/functions/bcpowmod.xml index 07a052d810..aab1868d7a 100644 --- a/reference/bc/functions/bcpowmod.xml +++ b/reference/bc/functions/bcpowmod.xml @@ -1,6 +1,6 @@ - + diff --git a/reference/bc/functions/bcscale.xml b/reference/bc/functions/bcscale.xml index dcb6ce5e6b..fa4dda6c2a 100644 --- a/reference/bc/functions/bcscale.xml +++ b/reference/bc/functions/bcscale.xml @@ -1,6 +1,6 @@ - + diff --git a/reference/bc/functions/bcsub.xml b/reference/bc/functions/bcsub.xml index f23ea8e16c..f8aa2029f6 100644 --- a/reference/bc/functions/bcsub.xml +++ b/reference/bc/functions/bcsub.xml @@ -1,6 +1,6 @@ - + From c76e10cd862809966929e6c86a297557b824ca43 Mon Sep 17 00:00:00 2001 From: Saki Takamachi Date: Thu, 30 Jan 2025 09:36:10 +0900 Subject: [PATCH 09/13] =?UTF-8?q?=E6=9C=80=E6=96=B0=E3=81=AEen=E3=81=AEBCM?= =?UTF-8?q?ath=E9=96=A2=E9=80=A3=E3=81=AE=E5=A4=89=E6=9B=B4=E3=82=92?= =?UTF-8?q?=E9=81=A9=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- language-snippets.ent | 16 +--------------- reference/bc/bcmath/number/add.xml | 2 +- reference/bc/bcmath/number/construct.xml | 2 +- reference/bc/bcmath/number/div.xml | 2 +- reference/bc/bcmath/number/divmod.xml | 2 +- reference/bc/bcmath/number/powmod.xml | 2 +- reference/bc/bcmath/number/round.xml | 9 ++++++++- reference/bc/bcmath/number/sqrt.xml | 3 ++- reference/bc/functions/bcadd.xml | 4 ++-- reference/bc/functions/bcdiv.xml | 4 ++-- reference/bc/functions/bcpow.xml | 6 +++--- reference/bc/functions/bcpowmod.xml | 6 +++--- reference/bc/functions/bcround.xml | 2 +- reference/bc/functions/bcsqrt.xml | 6 +++--- 14 files changed, 30 insertions(+), 36 deletions(-) diff --git a/language-snippets.ent b/language-snippets.ent index b748b5c6ec..fa38f0735d 100644 --- a/language-snippets.ent +++ b/language-snippets.ent @@ -1,6 +1,6 @@ - + @@ -2121,20 +2121,6 @@ PECL 拡張モジュールのインストール という章にありま SQL セーフモード'> - - - - scale - - - This parameter is used to set the number of digits after the decimal place in the result. - If &null;, it will default to the default scale set with bcscale, - or fallback to the value of the - bcmath.scale INI directive. - - -'> - -128 から 255 までの int を渡すと、ひとつの文字の ASCII 値とみなします diff --git a/reference/bc/bcmath/number/add.xml b/reference/bc/bcmath/number/add.xml index 348ee6bb70..e2546177c1 100644 --- a/reference/bc/bcmath/number/add.xml +++ b/reference/bc/bcmath/number/add.xml @@ -1,6 +1,6 @@ - + diff --git a/reference/bc/bcmath/number/construct.xml b/reference/bc/bcmath/number/construct.xml index 4cc7854531..e126528ea7 100644 --- a/reference/bc/bcmath/number/construct.xml +++ b/reference/bc/bcmath/number/construct.xml @@ -1,6 +1,6 @@ - + diff --git a/reference/bc/bcmath/number/div.xml b/reference/bc/bcmath/number/div.xml index 22367a23e7..6c63ac336c 100644 --- a/reference/bc/bcmath/number/div.xml +++ b/reference/bc/bcmath/number/div.xml @@ -1,6 +1,6 @@ - + diff --git a/reference/bc/bcmath/number/divmod.xml b/reference/bc/bcmath/number/divmod.xml index 59c2add161..20c1e9b37a 100644 --- a/reference/bc/bcmath/number/divmod.xml +++ b/reference/bc/bcmath/number/divmod.xml @@ -1,6 +1,6 @@ - + diff --git a/reference/bc/bcmath/number/powmod.xml b/reference/bc/bcmath/number/powmod.xml index 666f744d14..2bbcda4375 100644 --- a/reference/bc/bcmath/number/powmod.xml +++ b/reference/bc/bcmath/number/powmod.xml @@ -1,6 +1,6 @@ - + diff --git a/reference/bc/bcmath/number/round.xml b/reference/bc/bcmath/number/round.xml index 06291f3712..98c5b96d0a 100644 --- a/reference/bc/bcmath/number/round.xml +++ b/reference/bc/bcmath/number/round.xml @@ -1,6 +1,6 @@ - + @@ -44,6 +44,13 @@ + + &reftitle.errors; + + このメソッドは、無効な mode が指定された場合に ValueError をスローします。 + + + &reftitle.examples; diff --git a/reference/bc/bcmath/number/sqrt.xml b/reference/bc/bcmath/number/sqrt.xml index fa8336587e..c93f6995a2 100644 --- a/reference/bc/bcmath/number/sqrt.xml +++ b/reference/bc/bcmath/number/sqrt.xml @@ -1,6 +1,6 @@ - + @@ -36,6 +36,7 @@ BcMath\Number::scale が使用されます。ただし、割り切れない除算が発生した場合は、 計算結果オブジェクトの BcMath\Number::scale が拡張されます。 拡張は必要に応じてのみ行われ、最大で +10 まで拡張されます。 + この動作は BcMath\Number::div と同じですので、詳しくはそちらを参照して下さい。 つまり、$thisBcMath\Number::scale5 の場合、 diff --git a/reference/bc/functions/bcadd.xml b/reference/bc/functions/bcadd.xml index 775fdad80b..cfb9dfa81f 100644 --- a/reference/bc/functions/bcadd.xml +++ b/reference/bc/functions/bcadd.xml @@ -1,6 +1,6 @@ - + @@ -42,7 +42,7 @@ - + scale diff --git a/reference/bc/functions/bcdiv.xml b/reference/bc/functions/bcdiv.xml index 6a61869f49..d31d21040c 100644 --- a/reference/bc/functions/bcdiv.xml +++ b/reference/bc/functions/bcdiv.xml @@ -1,6 +1,6 @@ - + @@ -42,7 +42,7 @@ - &bc.scale.description; + diff --git a/reference/bc/functions/bcpow.xml b/reference/bc/functions/bcpow.xml index 6237492d29..49aad88115 100644 --- a/reference/bc/functions/bcpow.xml +++ b/reference/bc/functions/bcpow.xml @@ -1,8 +1,8 @@ - + - + bcpow 任意精度数値をべき乗する @@ -46,7 +46,7 @@ - &bc.scale.description; + diff --git a/reference/bc/functions/bcpowmod.xml b/reference/bc/functions/bcpowmod.xml index aab1868d7a..978efae229 100644 --- a/reference/bc/functions/bcpowmod.xml +++ b/reference/bc/functions/bcpowmod.xml @@ -1,8 +1,8 @@ - + - + bcpowmod 任意精度数値のべき乗の、指定した数値による剰余 @@ -55,7 +55,7 @@ - &bc.scale.description; + diff --git a/reference/bc/functions/bcround.xml b/reference/bc/functions/bcround.xml index 959b6c5194..d9b90f87be 100644 --- a/reference/bc/functions/bcround.xml +++ b/reference/bc/functions/bcround.xml @@ -1,6 +1,6 @@ - + diff --git a/reference/bc/functions/bcsqrt.xml b/reference/bc/functions/bcsqrt.xml index ff4a320d07..48fe2b452e 100644 --- a/reference/bc/functions/bcsqrt.xml +++ b/reference/bc/functions/bcsqrt.xml @@ -1,8 +1,8 @@ - + - + bcsqrt 任意精度数値の平方根を取得する @@ -32,7 +32,7 @@ - &bc.scale.description; + From 5d1b04f66624704182835a488955c605fc61d00e Mon Sep 17 00:00:00 2001 From: Saki Takamachi Date: Thu, 30 Jan 2025 12:09:39 +0900 Subject: [PATCH 10/13] =?UTF-8?q?=E6=AE=8B=E3=81=A3=E3=81=A6=E3=81=84?= =?UTF-8?q?=E3=81=9F=E8=8B=B1=E8=AA=9E=E5=89=8A=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- reference/bc/bcmath.number.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/reference/bc/bcmath.number.xml b/reference/bc/bcmath.number.xml index 4b37b30d76..3d11c61dcc 100644 --- a/reference/bc/bcmath.number.xml +++ b/reference/bc/bcmath.number.xml @@ -20,7 +20,6 @@ - This class is not affected by the このクラスは、&php.ini;で設定された bcmath.scale INI ディレクティブの影響を受けません。 From 179f1b5c14ac226f6afbad345ebf59df9d19b86c Mon Sep 17 00:00:00 2001 From: Saki Takamachi Date: Sun, 2 Feb 2025 13:10:33 +0900 Subject: [PATCH 11/13] =?UTF-8?q?s/exception/=E4=BE=8B=E5=A4=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- reference/bc/bcmath/number/div.xml | 2 +- reference/bc/bcmath/number/pow.xml | 2 +- reference/bc/bcmath/number/powmod.xml | 2 +- reference/bc/functions/bcdiv.xml | 2 +- reference/bc/functions/bcmod.xml | 2 +- reference/bc/functions/bcpow.xml | 2 +- reference/bc/functions/bcpowmod.xml | 4 ++-- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/reference/bc/bcmath/number/div.xml b/reference/bc/bcmath/number/div.xml index 6c63ac336c..ffb8c279e7 100644 --- a/reference/bc/bcmath/number/div.xml +++ b/reference/bc/bcmath/number/div.xml @@ -74,7 +74,7 @@ このメソッドは、 num0 である場合、 - DivisionByZeroError exception をスローします。 + DivisionByZeroError 例外をスローします。 diff --git a/reference/bc/bcmath/number/pow.xml b/reference/bc/bcmath/number/pow.xml index 82740a00b1..dbb6a72388 100644 --- a/reference/bc/bcmath/number/pow.xml +++ b/reference/bc/bcmath/number/pow.xml @@ -92,7 +92,7 @@ このメソッドは、$this の値が 0 かつ exponent が負の値である場合、 - DivisionByZeroError exception をスローします。 + DivisionByZeroError 例外をスローします。 diff --git a/reference/bc/bcmath/number/powmod.xml b/reference/bc/bcmath/number/powmod.xml index 2bbcda4375..05344160fd 100644 --- a/reference/bc/bcmath/number/powmod.xml +++ b/reference/bc/bcmath/number/powmod.xml @@ -71,7 +71,7 @@ このメソッドは、 modulus0 である場合、 - DivisionByZeroError exception をスローします。 + DivisionByZeroError 例外をスローします。 diff --git a/reference/bc/functions/bcdiv.xml b/reference/bc/functions/bcdiv.xml index d31d21040c..7a364848b2 100644 --- a/reference/bc/functions/bcdiv.xml +++ b/reference/bc/functions/bcdiv.xml @@ -61,7 +61,7 @@ この関数は、 num20 である場合、 - DivisionByZeroError exception をスローします。 + DivisionByZeroError 例外をスローします。 diff --git a/reference/bc/functions/bcmod.xml b/reference/bc/functions/bcmod.xml index 049f2b6bf4..da59ddd1bb 100644 --- a/reference/bc/functions/bcmod.xml +++ b/reference/bc/functions/bcmod.xml @@ -58,7 +58,7 @@ 8.0.0 0 除算を行うと、DivisionByZeroError - exception がスローされるようになりました。以前は &null; が返されていました。 + 例外がスローされるようになりました。以前は &null; が返されていました。 diff --git a/reference/bc/functions/bcpow.xml b/reference/bc/functions/bcpow.xml index 49aad88115..fee6a8e2fa 100644 --- a/reference/bc/functions/bcpow.xml +++ b/reference/bc/functions/bcpow.xml @@ -70,7 +70,7 @@ この関数は、num の値が 0 かつ exponent が負の値である場合、 - DivisionByZeroError exception をスローします。 + DivisionByZeroError 例外をスローします。 diff --git a/reference/bc/functions/bcpowmod.xml b/reference/bc/functions/bcpowmod.xml index 978efae229..6f59e0eae5 100644 --- a/reference/bc/functions/bcpowmod.xml +++ b/reference/bc/functions/bcpowmod.xml @@ -80,7 +80,7 @@ この関数は、modulus の値が 0 である場合、 - DivisionByZeroError exception をスローします。 + DivisionByZeroError 例外をスローします。 @@ -111,7 +111,7 @@ 8.0.0 0 除算を行うと、DivisionByZeroError - exception がスローされるようになりました。以前は &false; が返されていました。 + 例外がスローされるようになりました。以前は &false; が返されていました。 From c57ee8ef2c661848f17e5143e80124a165255a60 Mon Sep 17 00:00:00 2001 From: Saki Takamachi Date: Sun, 2 Feb 2025 13:11:44 +0900 Subject: [PATCH 12/13] =?UTF-8?q?Example=20of=20using=20=E5=89=8A=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- reference/bc/bcmath/number/round.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/reference/bc/bcmath/number/round.xml b/reference/bc/bcmath/number/round.xml index 98c5b96d0a..9aed0bb0d3 100644 --- a/reference/bc/bcmath/number/round.xml +++ b/reference/bc/bcmath/number/round.xml @@ -141,7 +141,7 @@ object(BcMath\Number)#11 (2) { - Example of using <methodname>BcMath\Number::round</methodname> で異なる <parameter>precision</parameter> を指定した例 + <methodname>BcMath\Number::round</methodname> で異なる <parameter>precision</parameter> を指定した例 - Example of using <methodname>BcMath\Number::round</methodname> で異なる <parameter>mode</parameter> を指定した例 + <methodname>BcMath\Number::round</methodname> で異なる <parameter>mode</parameter> を指定した例 - Example of using <methodname>BcMath\Number::round</methodname> で <parameter>precision</parameter> を指定し、 + <methodname>BcMath\Number::round</methodname> で <parameter>precision</parameter> を指定し、 異なる <parameter>mode</parameter> を指定した例 From 797acdee367242c63f7fa902528b98b431f97e2f Mon Sep 17 00:00:00 2001 From: Saki Takamachi Date: Sun, 2 Feb 2025 13:13:07 +0900 Subject: [PATCH 13/13] =?UTF-8?q?s/,/=E3=80=81/?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- reference/bc/bcmath/number/mod.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/reference/bc/bcmath/number/mod.xml b/reference/bc/bcmath/number/mod.xml index cb718d124c..c1efe07cf8 100644 --- a/reference/bc/bcmath/number/mod.xml +++ b/reference/bc/bcmath/number/mod.xml @@ -17,7 +17,7 @@ $thisnum で割った剰余を取得します。 - num0 でない限り, 結果は $this + num0 でない限り、 結果は $this と同じ符号になります。