etconsilium / php-complex-number
定义复数及其操作的类(覆盖 PEAR::Math_Complex,PHP7 及以上版本)
dev-main
2021-02-08 20:01 UTC
Requires
- php: >5
Requires (Dev)
- ext-bcmath: *
This package is auto-updated.
Last update: 2024-09-09 04:28:57 UTC
README
基于 PEAR::Math_Complex,定义复数及其操作的类
使用方法
命令式过程方法
use Math\Complex; use Math\Complex\Operation; $a = complex(0.3, 0.5); $b = complex(1.0, -M_PI_2); echo "a = " . $a->toString() . PHP_EOL; echo "b = " . $b->toString() . PHP_EOL; $z = Complex\sqrt($a); // namespace echo "sqrt(a) = " . $z->toString() . PHP_EOL; $z = Operation::log10($b); // or static call echo "log10(a) = " . $z->toString() . PHP_EOL; $z = Operation::add($a, $b); echo "add(a, b) = " . $z->toString() . PHP_EOL; $z = Complex\div($a, $b); echo "div(a, b) = " . $z->toString() . PHP_EOL;
@see also using_example.php
面向对象方法
use Math\Complex; use Math\Complex\Operation; $a = Complex::new(0.3, 0.5); // factory method contains syntactic sugar $b = new Complex(["real" => 1, "imaginary" => -M_PI_2]); // constructor does not $op = new Operation($a); // operands' FILO inside the class // Operation::add($a, $b); $c = $op->add($b)->fetch(); // first Complex element shift from heap's top and return print $c->asString() . PHP_EOL; print $op->mul($c,$a)() . PHP_EOL; // php double magic: __call alias fetch() & __toString print $op->atan(complex(1,2)) ->mul(complex(3,4)) // can be chained ->add(complex(5,6)) ->abs();