/* This script is part of radix_info. Copyright (C) 2025 Adrien Hopkins This program is free software: you can redistribute it and/or modify it under the terms of version 3 of the GNU General Public License as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ package factors import ( "math" ) func PrimeRegularComplexities(radix uint) map[uint]float64 { var factorization = PrimeFactorize(radix) var complexities = make(map[uint]float64, len(factorization.exponents)) for p, e := range factorization.exponents { var part = float64(uintpow(p, e)) var complexity = math.Pow(float64(radix)/part, 1/float64(e)) complexities[p] = complexity } return complexities }