Commit 458a2c4
committed
Extend
Implement `sign(::Factorization)` to easily check if the number
represented by a Factorization is lt, gt, or eq to 0, and use it when
identifying special cases in `divisors` and `totient`.
In the `divisors` function:
- No more wasteful allocations from pointlessly `collect`ing factors.
- Make `divisors(0)` return an empty vector instead of throwing.
- Remove unnecessary type annotations and let return types be inferred.sign to Factorization. Improve divisors
1 parent 7e968b5 commit 458a2c4
3 files changed
+41
-27
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
4 | | - | |
| 4 | + | |
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
| |||
591 | 591 | | |
592 | 592 | | |
593 | 593 | | |
594 | | - | |
| 594 | + | |
595 | 595 | | |
596 | 596 | | |
597 | 597 | | |
| |||
908 | 908 | | |
909 | 909 | | |
910 | 910 | | |
911 | | - | |
| 911 | + | |
912 | 912 | | |
913 | 913 | | |
914 | 914 | | |
| |||
918 | 918 | | |
919 | 919 | | |
920 | 920 | | |
| 921 | + | |
| 922 | + | |
921 | 923 | | |
922 | 924 | | |
923 | 925 | | |
| |||
935 | 937 | | |
936 | 938 | | |
937 | 939 | | |
| 940 | + | |
| 941 | + | |
| 942 | + | |
| 943 | + | |
| 944 | + | |
| 945 | + | |
| 946 | + | |
| 947 | + | |
| 948 | + | |
| 949 | + | |
938 | 950 | | |
939 | 951 | | |
940 | | - | |
941 | | - | |
| 952 | + | |
| 953 | + | |
942 | 954 | | |
943 | | - | |
| 955 | + | |
944 | 956 | | |
945 | | - | |
| 957 | + | |
946 | 958 | | |
947 | 959 | | |
948 | 960 | | |
949 | 961 | | |
950 | 962 | | |
951 | 963 | | |
952 | | - | |
| 964 | + | |
953 | 965 | | |
954 | 966 | | |
955 | 967 | | |
956 | 968 | | |
957 | | - | |
958 | | - | |
959 | | - | |
960 | | - | |
961 | | - | |
962 | | - | |
963 | | - | |
964 | | - | |
965 | | - | |
966 | | - | |
967 | | - | |
968 | | - | |
969 | | - | |
| 969 | + | |
| 970 | + | |
| 971 | + | |
| 972 | + | |
| 973 | + | |
| 974 | + | |
970 | 975 | | |
971 | 976 | | |
972 | | - | |
973 | | - | |
974 | | - | |
| 977 | + | |
| 978 | + | |
| 979 | + | |
975 | 980 | | |
976 | 981 | | |
977 | | - | |
| 982 | + | |
978 | 983 | | |
979 | 984 | | |
980 | 985 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
65 | 65 | | |
66 | 66 | | |
67 | 67 | | |
| 68 | + | |
| 69 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
236 | 236 | | |
237 | 237 | | |
238 | 238 | | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
239 | 246 | | |
240 | 247 | | |
241 | 248 | | |
| |||
319 | 326 | | |
320 | 327 | | |
321 | 328 | | |
322 | | - | |
| 329 | + | |
323 | 330 | | |
324 | 331 | | |
325 | 332 | | |
| |||
333 | 340 | | |
334 | 341 | | |
335 | 342 | | |
336 | | - | |
| 343 | + | |
337 | 344 | | |
338 | 345 | | |
339 | 346 | | |
| |||
0 commit comments