hyperoperator-rs
is a crate that supports different types of hyperoperations
(hyper exponention, hyper root (super root) and hyper log (super log)).
If you don't know about hyperoperations then see the article: Hyperoperation.
``` use num_bigfloat::BigFloat; use hyperoperator::pow::HyperPow;
let a = BigFloat::parse("2.4").unwrap(); let b = BigFloat::parse("2.6").unwrap(); // tetration asserteq!(a.hyperpow(b, 2).tostring(), "1.042500508439915903472643420925599720010e+2");
```
``` use num_bigfloat::BigFloat; use hyperoperator::root::HyperRoot;
let a = BigFloat::parse("27.0").unwrap(); let b = BigFloat::fromf64(std::f64::consts::E); // tetration asserteq!(a.hypersqrt(2).tostring(), "3.000000000000000000000000000000000000000"); asserteq!(b.hypersqrt(2).to_string(), "1.763222834351896654975492603088735114643");
```
``` use num_bigfloat::BigFloat; use hyperoperator::log::HyperLog;
let a = BigFloat::parse("1.2").unwrap(); // tetration asserteq!(a.hyperln(2).tostring(), "1.435727851007358140921528061434015461824e-2");
```