diff --git a/hyper.h b/hyper.h index 64c51481..38990bf3 100644 --- a/hyper.h +++ b/hyper.h @@ -551,7 +551,7 @@ struct cell : gcell { // do not add any fields after connection_table (see tailored_alloc) }; -namespace arcm { int degree(heptagon *h); } +namespace arcm { int degree(heptagon *h); int valence(); } int heptagon::degree() { if(archimedean) return arcm::degree(this); else return S7; } @@ -4152,6 +4152,10 @@ struct bignum { return leading() * pow(BASE, isize(digits) - 1); } + ld log_approx() const { + return log(leading()) * log(BASE) * (isize(digits) - 1); + } + ld operator / (const bignum& b) const { return leading() / b.leading() * pow(BASE, isize(digits) - isize(b.digits)); }