diff options
| author | Adrien Hopkins <adrien.p.hopkins@gmail.com> | 2023-09-07 11:38:32 -0500 |
|---|---|---|
| committer | Adrien Hopkins <adrien.p.hopkins@gmail.com> | 2023-09-07 11:42:21 -0500 |
| commit | 7fa8cf9666cd3427dd078bb4a5fdb9fa30c94b09 (patch) | |
| tree | 0ff7b1349bdf132702b05753af2f0d8044d19a5e /args.go | |
| parent | 73a5964d665920eee6dd68ae78bb3aeec18b1bde (diff) | |
Calculate type of all radices without -l
factors.Type now supports all numbers; I have used lookup arrays instead
of determining whether a number is SAN or not. There are only 117
elements to store, and this makes the algorithm Θ(1), so it's an
improvement.
Also, I have changed the size of some integer values to correspond to
this change - they now indicate the size of numbers they can accept.
The only outputs that are hidden for large radices are:
- The digit map, which goes up to 36 because I don't have any more
digits beyond that point
- The multiplication table complexity, which is estimated above 2^16
(for performance), and can optionally be extended to 2^32 (above this,
the output could overflow a uint64).
Diffstat (limited to 'args.go')
| -rw-r--r-- | args.go | 13 |
1 files changed, 7 insertions, 6 deletions
@@ -11,10 +11,10 @@ const ProgramVersion = "1.0.0-alpha+dev" // The arguments to this program type args struct { - Radix uint - Compact bool - FullMap bool - LargeCalc bool + Radix uint + Compact bool + FullMap bool + ExactMTCLarge bool // If true, exit the program immediately after parsing args. Exit bool } @@ -25,8 +25,9 @@ func parseArgs() (args, error) { flag.BoolVar(&a.FullMap, "f", false, fmt.Sprintf("Show full digit map (up to %d) for every radix", maxSmallRadix)) - flag.BoolVar(&a.LargeCalc, "l", false, - "Calculate exact MTC and radix class for very large radices, which may take a while.") + flag.BoolVar(&a.ExactMTCLarge, "m", false, + fmt.Sprintf("Calculate exact MTC for very large radices (up to %d instead of %d), which may take a while.", + maxExtended, maxNormal)) help := flag.Bool("?", false, "Get information about program usage then exit") version := flag.Bool("V", false, |
