Current section
Files
Jump to
Current section
Files
CHANGELOG
# Feature Release steps
- tests passing
- mix format
- inline documentation
- top of module documentation
- OEIS Stats in lib/sequence/oeis.ex
- version bump in mix.exs
- version bump in README.md
- version bump in CHANGELOG
- version bump in library.md
- update OEIS stats for release version in CHANGELOG
- git tag -a v0.x.x -m "v0.x.x - summary"
- git push
- git push --tags
- mix hex.publish
# CHANGELOG
## v0.11.3
```
OEIS Coverage
561 total sequences
By Module
Elixir.Chunky.Sequence.OEIS - 1 sequences
Elixir.Chunky.Sequence.OEIS.Combinatorics - 7 sequences
Elixir.Chunky.Sequence.OEIS.Constants - 31 sequences
Elixir.Chunky.Sequence.OEIS.Core - 93 sequences
Elixir.Chunky.Sequence.OEIS.Factors - 119 sequences
Elixir.Chunky.Sequence.OEIS.Multiples - 60 sequences
Elixir.Chunky.Sequence.OEIS.Powers - 47 sequences
Elixir.Chunky.Sequence.OEIS.Primes - 1 sequences
Elixir.Chunky.Sequence.OEIS.Repr - 182 sequences
Elixir.Chunky.Sequence.OEIS.Sigma - 20 sequences
Sequence Groups
OEIS Core Sequences - 92 / 177 (51.98%)
OEIS Core::Easy Sequences - 78 / 146 (53.42%)
OEIS Core::Hard Sequences - 12 / 12 (100.0%)
OEIS Core::Multiplicative Sequences - 22 / 22 (100.0%)
OEIS Core::Eigen Sequences - 5 / 5 (100.0%)
```
### Enhancements
- Fractions
- power/3 now handles coercion values for string, int, and float
- fixed reducable values not having proper fractional results (previously returned :no_fractional_power)
- Added absolute_value/1
- Added near_equal?/3
- Added floor/1 and ceiling/1
- Added increment/2 and decrement/2
- increment/2 and decrement/2 support `:both` option
- Added within?/3 and within?/2
- added type guard: is_coercible?
- all new fraction functions from this release support type coercion (using is_coercible?/1)
- added round/1 for rounding to nearest whole value
- Sequence
- added `start/1` function as alias to `next!/1`
- added `restart/1` function
- added `at/2` similar to Enum.at
- added `create/1` to initialize a new sequence from a description bundle.
- Sequence.OEIS
- added `find_sequence/1`, `find_sequence!/1`, and `has_sequence?/1`
- new module Chunky.Timeout
- macro: with_timeout/2
- Math
- digit_sum/1
- contains_digit?/2
- remove_digits!/2
- is_rhonda_to_base?/2
- get_rhonda_to/2
- is_rhonda_to_base_*?/1
- is_multiple_rhonda?/1
- to_base/2
- digit_count/3
- is_plaindrome?/1
- is_plaindrome_in_base?/2
### Sequences
- Added new sequence module OEIS.Powers
- Added new sequence module OEIS.Repr
- Added new sequence module OEIS.Combinatorics
- New Sequences
- A000051 - a(n) = 2^n + 1
- A000351 - a(n) = 5^n
- A000400 - a(n) = 6^n
- A000420 - a(n) = 7^n
- A001018 - a(n) = 8^n
- A001019 - a(n) = 9^n
- A011557 - a(n) = 10^n
- A001020 - a(n) = 11^n
- A001021 - a(n) = 12^n
- A001022 - a(n) = 13^n
- A001023 - a(n) = 14^n
- A001024 - Powers of 15.
- A001025 - Powers of 16: a(n) = 16^n.
- A001026 - Powers of 17.
- A001027 - Powers of 18.
- A001029 - Powers of 19.
- A009964 - Powers of 20.
- A009965 - Powers of 21.
- A009966 - Powers of 22.
- A009967 - Powers of 23.
- A009968 - Powers of 24: a(n) = 24^n.
- A009969 - Powers of 25.
- A009970 - Powers of 26.
- A009971 - Powers of 27.
- A009972 - Powers of 28.
- A009973 - Powers of 29.
- A009974 - Powers of 30.
- A009975 - Powers of 31.
- A009976 - Powers of 32.
- A009977 - Powers of 33.
- A009978 - Powers of 34.
- A009979 - Powers of 35.
- A009980 - Powers of 36.
- A009981 - Powers of 37.
- A009982 - Powers of 38.
- A009983 - Powers of 39.
- A009984 - Powers of 40.
- A009985 - Powers of 41.
- A009986 - Powers of 42.
- A009987 - Powers of 43.
- A009988 - Powers of 44.
- A009989 - Powers of 45.
- A009990 - Powers of 46.
- A009991 - Powers of 47.
- A009992 - Powers of 48: a(n) = 48^n.
- A008585 - a(n) = 3*n.
- A008586 - Multiples of 4.
- A008587 - Multiples of 5.
- A008588 - Nonnegative multiples of 6.
- A008589 - Multiples of 7.
- A008590 - Multiples of 8.
- A008591 - Multiples of 9.
- A008592 - Multiples of 10: a(n) = 10 * n.
- A008593 - Multiples of 11.
- A008594 - Multiples of 12.
- A008595 - Multiples of 13.
- A008596 - Multiples of 14.
- A008597 - Multiples of 15.
- A008598 - Multiples of 16.
- A008599 - Multiples of 17.
- A008600 - Multiples of 18.
- A008601 - Multiples of 19.
- A008602 - Multiples of 20.
- A008603 - Multiples of 21.
- A008604 - Multiples of 22.
- A008605 - Multiples of 23.
- A008606 - Multiples of 24.
- A008607 - Multiples of 25.
- A005843 - The nonnegative even numbers: a(n) = 2n.
- A087752 - Powers of 49.
- A159991 - Powers of 60.
- A169823 - Multiples of 60.
- A169825 - Multiples of 420.
- A169827 - Multiples of 840.
- A018253 - Divisors of 24.
- A018256 - Divisors of 36.
- A018261 - Divisors of 48.
- A018266 - Divisors of 60.
- A018293 - Divisors of 120.
- A018321 - Divisors of 180.
- A018350 - Divisors of 240.
- A018412 - Divisors of 360.
- A018609 - Divisors of 720.
- A018676 - Divisors of 840.
- A165412 - Divisors of 2520.
- A178858 - Divisors of 5040.
- A178859 - Divisors of 7560.
- A178860 - Divisors of 10080.
- A178861 - Divisors of 15120.
- A178862 - Divisors of 20160.
- A178863 - Divisors of 25200.
- A178864 - Divisors of 27720.
- A178877 - Divisors of 1260.
- A178878 - Divisors of 1680.
- A252994 - Multiples of 26.
- A305548 - a(n) = 27*n.
- A135628 - Multiples of 28.
- A195819 - Multiples of 29.
- A249674 - a(n) = 30*n.
- A135631 - Multiples of 31.
- A174312 - 32*n.
- A044102 - Multiples of 36.
- A085959 - Multiples of 37.
- A152691 - Multiples of 64.
- A121023 - Multiples of 3 containing a 3 in their decimal representation.
- A121024 - Multiples of 4 containing a 4 in their decimal representation.
- A121025 - Multiples of 5 containing a 5 in their decimal representation.
- A121026 - Multiples of 6 containing a 6 in their decimal representation.
- A121027 - Multiples of 7 containing a 7 in their decimal representation.
- A121028 - Multiples of 8 containing an 8 in their decimal representation.
- A121029 - Multiples of 9 containing a 9 in their decimal representation.
- A121030 - Multiples of 10 containing a 10 in their decimal representation.
- A121031 - Multiples of 11 containing an 11 in their decimal representation.
- A121032 - Multiples of 12 containing a 12 in their decimal representation.
- A121033 - Multiples of 13 containing a 13 in their decimal representation.
- A121034 - Multiples of 14 containing a 14 in their decimal representation.
- A121035 - Multiples of 15 containing a 15 in their decimal representation.
- A121036 - Multiples of 16 containing a 16 in their decimal representation.
- A121037 - Multiples of 17 containing a 17 in their decimal representation.
- A121038 - Multiples of 18 containing a 18 in their decimal representation.
- A121039 - Multiples of 19 containing a 19 in their decimal representation.
- A121040 - Multiples of 20 containing a 20 in their decimal representation.
- A062768 - Multiples of 6 such that the sum of the digits is equal to 6.
- A063416 - Multiples of 7 whose sum of digits is equal to 7.
- A063997 - Multiples of 4 whose digits add to 4.
- A069537 - Multiples of 2 with digit sum = 2.
- A069540 - Multiples of 5 with digit sum 5.
- A069543 - Multiples of 8 with digit sum 8.
- A011531 - Numbers that contain a digit 1 in their decimal representation.
- A011532 - Numbers that contain a 2.
- A011533 - Numbers that contain a 3.
- A011534 - Numbers that contain a 4.
- A011535 - Numbers that contain a 5.
- A011536 - Numbers that contain a 6.
- A011537 - Numbers that contain at least one 7.
- A011538 - Numbers that contain an 8.
- A011539 - "9ish numbers": decimal representation contains at least one nine.
- A011540 - Numbers that contain a digit 0.
- A007395 - Constant sequence: the all 2's sequence.
- A010701 - Constant sequence: the all 3's sequence.
- A010709 - Constant sequence: the all 4's sequence.
- A010716 - Constant sequence: the all 5's sequence.
- A010722 - Constant sequence: the all 6's sequence.
- A010727 - Constant sequence: the all 7's sequence.
- A010731 - Constant sequence: the all 8's sequence.
- A010734 - Constant sequence: the all 9's sequence.
- A010692 - Constant sequence: a(n) = 10.
- A010850 - Constant sequence: a(n) = 11.
- A010851 - Constant sequence: a(n) = 12.
- A010852 - Constant sequence: a(n) = 13.
- A010853 - Constant sequence: a(n) = 14.
- A010854 - Constant sequence: a(n) = 15.
- A010855 - Constant sequence: a(n) = 16.
- A010856 - Constant sequence: a(n) = 17.
- A010857 - Constant sequence: a(n) = 18.
- A010858 - Constant sequence: a(n) = 19.
- A010859 - Constant sequence: a(n) = 20.
- A010860 - Constant sequence: a(n) = 21.
- A010861 - Constant sequence: a(n) = 22.
- A010862 - Constant sequence: a(n) = 23.
- A010863 - Constant sequence: a(n) = 24.
- A010864 - Constant sequence: a(n) = 25.
- A010865 - Constant sequence: a(n) = 26.
- A010866 - Constant sequence: a(n) = 27.
- A010867 - Constant sequence: a(n) = 28.
- A010868 - Constant sequence: a(n) = 29.
- A010869 - Constant sequence: a(n) = 30.
- A010870 - Constant sequence: a(n) = 31.
- A010871 - Constant sequence: a(n) = 32.
- A052382 - Numbers without 0 as a digit, a.k.a. zeroless numbers.
- A052383 - Numbers without 1 as a digit.
- A052404 - Numbers without 2 as a digit.
- A052405 - Numbers without 3 as a digit.
- A052406 - Numbers without 4 as a digit.
- A052413 - Numbers without 5 as a digit.
- A052414 - Numbers without 6 as a digit.
- A052419 - Numbers without 7 as a digit.
- A052421 - Numbers without 8 as a digit.
- A004176 - Omit 1's from n.
- A004177 - Omit 2's from n.
- A004178 - Omit 3's from n.
- A004179 - Omit 4's from n.
- A004180 - Omit 5's from n.
- A004181 - Omit 6's from n.
- A004182 - Omit 7's from n.
- A004183 - Omit 8's from n.
- A004184 - Omit 9's from n.
- A004719 - Delete all 0's from n.
- A004720 - Delete all digits '1' from the sequence of nonnegative integers.
- A004721 - Delete all 2's from the sequence of nonnegative integers.
- A004722 - Delete all digits 3 from the terms of the sequence of nonnegative integers.
- A004723 - Delete all 4's from the sequence of nonnegative integers.
- A004724 - Delete all 5's from the sequence of nonnegative integers.
- A004725 - Delete all 6's from the sequence of nonnegative integers.
- A004726 - Delete all 7's from the sequence of nonnegative integers.
- A004727 - Delete all 8's from the sequence of nonnegative integers.
- A004728 - Delete all 9's from the sequence of nonnegative integers.
- A007088 - The binary numbers (or binary words, or binary vectors): numbers written in base 2.
- A007089 - Numbers in base 3.
- A007090 - Numbers in base 4.
- A007091 - Numbers in base 5.
- A007092 - Numbers in base 6.
- A007093 - Numbers in base 7.
- A007094 - Numbers in base 8.
- A007095 - Numbers in base 9.
- A121022 - Even numbers containing a 2 in their decimal representation.
- A100968 - Integers n that are Rhonda numbers to base 4.
- A100969 - Integers n that are Rhonda numbers to base 6.
- A100970 - Integers n that are Rhonda numbers to base 8.
- A100973 - Integers that are Rhonda numbers to base 9.
- A099542 - Rhonda numbers to base 10.
- A100971 - Integers n that are Rhonda numbers to base 12.
- A100972 - Integers that are Rhonda numbers to base 14.
- A100974 - Integers that are Rhonda numbers to base 15.
- A100975 - Integers that are Rhonda numbers to base 16.
- A255732 - Rhonda numbers in vigesimal number system.
- A255736 - Integers that are Rhonda numbers to base 30.
- A255731 - Rhonda numbers in sexagesimal number system.
- A100988 - Integers that are Rhonda numbers to more than one base.
- A100987 - Integers that are Rhonda numbers to some base.
- A159981 - Catalan numbers read modulo 4 .
- A159984 - Catalan numbers read modulo 5 .
- A159986 - Catalan numbers read modulo 7 .
- A159987 - Catalan numbers read modulo 8.
- A159988 - Catalan numbers read modulo 11 .
- A159989 - Catalan numbers read modulo 12.
- A289682 - Catalan numbers read modulo 16.
- A002808 - The composite numbers: numbers n of the form x*y for x > 1 and y > 1.
- A255735 - Integers that are Rhonda numbers to base 18.
- A000788 - Total number of 1's in binary expansions of 0, ..., n.
- A005823 - Numbers whose ternary expansion contains no 1's.
- A005836 - Numbers n whose base 3 representation contains no 2.
- A007954 - Product of decimal digits of n.
- A010872 - a(n) = n mod 3.
- A023416 - Number of 0's in binary expansion of n.
- A023705 - Numbers with no 0's in base 4 expansion.
- A032924 - Numbers whose ternary expansion contains no 0.
- A052040 - Numbers n such that n^2 lacks the digit zero in its decimal expansion.
- A055640 - Number of nonzero digits in decimal expansion of n.
- A055641 - Number of zero digits in n.
- A055642 - Number of digits in decimal expansion of n.
- A067251 - Numbers with no trailing zeros in decimal representation.
- A071858 - (Number of 1's in binary expansion of n) mod 3.
- A122840 - a(n) is the number of 0s at the end of n when n is written in base 10.
- A160093 - Number of digits in n, excluding any trailing zeros.
- A179868 - (Number of 1's in binary expansion of n) mod 4.
- A193238 - Number of prime digits in decimal representation of n.
- A196563 - Number of even digits in decimal representation of n.
- A248910 - Numbers with no zeros in base-6 representation.
- A255805 - Numbers with no zeros in base-8 representation.
- A255808 - Numbers with no zeros in base-9 representation.
- A001414 - Integer log of n: sum of primes dividing n (with repetition). Also called sopfr(n).
- A001489 - a(n) = -n.
- A007953 - Digital sum (i.e., sum of digits) of n; also called digsum(n).
- A014263 - Numbers that contain even digits only.
- A023692 - Numbers with a single 1 in their ternary expansion.
- A023693 - Numbers with exactly 2 1's in ternary expansion.
- A023694 - Numbers with exactly 3 1's in ternary expansion.
- A023695 - Numbers with exactly 4 1's in ternary expansion.
- A023696 - Numbers with exactly 5 1's in ternary expansion.
- A023697 - Numbers with exactly 6 1's in ternary expansion.
- A043321 - Numbers n such that number of 0's in base 3 is 1.
- A059015 - Total number of 0's in binary expansions of 0, ..., n.
- A062756 - Number of 1's in ternary (base 3) expansion of n.
- A074940 - Numbers having at least one 2 in their ternary representation.
- A077267 - Number of zeros in base 3 expansion of n.
- A081603 - Number of 2's in ternary representation of n.
- A081605 - Numbers having at least one 0 in their ternary representation.
- A081606 - Numbers having at least one 1 in their ternary representation.
- A097251 - Numbers whose set of base 5 digits is {0,4}.
- A097252 - Numbers whose set of base 6 digits is {0,5}.
- A097253 - Numbers whose set of base 7 digits is {0,6}.
- A097254 - Numbers whose set of base 8 digits is {0,7}.
- A097255 - Numbers whose set of base 9 digits is {0,8}.
- A097256 - Numbers whose set of base 10 digits is {0,9}.
- A097257 - Numbers whose set of base 11 digits is {0,A}, where A base 11 = 10 base 10.
- A097258 - Numbers whose set of base 12 digits is {0,B}, where B base 12 = 11 base 10.
- A097259 - Numbers whose set of base 13 digits is {0,C}, where C base 13 = 12 base 10.
- A097260 - Numbers whose set of base 14 digits is {0,D}, where D base 14 = 13 base 10.
- A097261 - Numbers whose set of base 15 digits is {0,E}, where E base 15 = 14 base 10.
- A097262 - Numbers whose set of base 16 digits is {0,F}, where F base 16 = 15 base 10.
- A102669 - Number of digits >= 2 in decimal representation of n.
- A102670 - Number of digits >= 2 in the decimal representations of all integers from 0 to n.
- A102671 - Number of digits >= 3 in decimal representation of n.
- A102672 - Number of digits >= 3 in the decimal representations of all integers from 0 to n.
- A102673 - Number of digits >= 4 in decimal representation of n.
- A102674 - Number of digits >= 4 in the decimal representations of all integers from 0 to n.
- A102675 - Number of digits >= 5 in decimal representation of n.
- A102676 - Number of digits >= 5 in the decimal representations of all integers from 0 to n.
- A102677 - Number of digits >= 6 in decimal representation of n.
- A102678 - Number of digits >= 6 in the decimal representations of all integers from 0 to n.
- A102679 - Number of digits >= 7 in decimal representation of n.
- A102680 - Number of digits >= 7 in the decimal representations of all integers from 0 to n.
- A102681 - Number of digits >= 8 in decimal representation of n.
- A102682 - Number of digits >= 8 in the decimal representations of all integers from 0 to n.
- A102683 - Number of digits 9 in decimal representation of n.
- A102684 - Number of times the digit 9 appears in the decimal representations of all integers from 0 to n.
- A023698 - Numbers with exactly 7 1's in ternary expansion.
- A023699 - Numbers with a single 2 in their ternary expansion.
- A023700 - Numbers with exactly 2 2's in ternary expansion.
- A023701 - Numbers with exactly 3 2's in their ternary expansion.
- A023702 - Numbers with exactly 4 2's in ternary expansion of n.
- A023703 - Numbers with exactly 5 2's in ternary expansion.
- A023704 - Numbers with exactly 6 2's in ternary expansion.
- A023706 - Numbers with a single 0 in their base 4 expansion.
- A023707 - Numbers with exactly 2 0's in base 4 expansion.
- A023708 - Numbers with exactly 3 0's in base 4 expansion.
- A023709 - Numbers with no 1's in base 4 expansion.
- A023710 - Numbers with a single 1 in their base 4 expansion.
- A023711 - Numbers with exactly 2 1's in base 4 expansion.
- A023712 - Numbers with exactly 3 1's in base 4 expansion.
- A023713 - Numbers with no 2's in base 4 expansion.
- A023714 - Numbers with a single 2 in their base 4 expansion.
- A023715 - Numbers with exactly 2 2's in base 4 expansion.
- A023716 - Numbers with exactly 3 2's in base 4 expansion.
- A023717 - Numbers with no 3's in base 4 expansion.
- A023718 - Numbers with a single 3 in their base 4 expansion.
- A023719 - Numbers with exactly two 3's in base 4 expansion.
- A023720 - Numbers with exactly 3 3's in base 4 expansion.
- A023721 - Numbers with no 0's in their base-5 expansion.
- A023722 - Numbers with a single 0 in their base 5 expansion.
- A023723 - Numbers with exactly 2 0's in base 5 expansion.
- A023724 - Numbers with exactly 3 0's in base 5 expansion.
- A023725 - Numbers with no 1's in their base-5 expansion.
- A023726 - Numbers with a single 1 in their base 5 expansion.
- A023727 - Numbers with exactly 2 1's in their base 5 expansion.
- A023728 - Numbers with exactly 3 1's in base 5 expansion.
- A023729 - Numbers with no 2's in their base-5 expansion.
- A023730 - Numbers with a single 2 in their base 5 expansion.
- A023731 - Numbers with exactly two 2's in base 5 expansion.
- A023732 - Numbers with exactly 3 2's in base 5 expansion.
- A023733 - Numbers with no 3's in base-5 expansion.
- A023734 - Numbers with a single 3 in their base-5 expansion.
- A023735 - Numbers with exactly 2 3's in their base-5 expansion.
- A023736 - Numbers with exactly 3 3's in their base-5 expansion.
- A023738 - Numbers with a single 4 in their base 5 expansion.
- A023739 - Numbers with exactly 2 4's in base 5 expansion.
- A023740 - Numbers with exactly 3 4's in base 5 expansion.
- A023745 - Plaindromes: numbers whose digits in base 3 are in nondecreasing order.
- A023746 - Plaindromes: numbers whose digits in base 4 are in nondecreasing order.
- A023747 - Plaindromes: numbers whose digits in base 5 are in nondecreasing order.
- A023748 - Plaindromes: numbers whose digits in base 6 are in nondecreasing order.
- A023749 - Plaindromes: numbers whose digits in base 7 are in nondecreasing order.
- A023750 - Plaindromes: numbers whose digits in base 8 are in nondecreasing order.
- A023751 - Plaindromes: numbers whose digits in base 9 are in nondecreasing order.
- A023752 - Plaindromes: numbers whose digits in base 11 are in nondecreasing order.
- A023753 - Plaindromes: numbers whose digits in base 12 are in nondecreasing order.
- A023754 - Plaindromes: numbers whose digits in base 13 are in nondecreasing order.
- A023755 - Plaindromes: numbers whose digits in base 14 are in nondecreasing order.
- A023756 - Plaindromes: numbers whose digits in base 15 are in nondecreasing order.
- A023757 - Plaindromes: numbers whose digits in base 16 are in nondecreasing order.
## v0.11.2
### Build/Development changes
- Module requiring HTTPoison and Jason excluded from packaging
- HTTPoison and Jason moved to `dev` and `test` only requirements
- Credo is now being used for style/consistency checks (with specific configuration to make credo run in a reasonable time frame)
- new documentation as main page for hexdocs (library.md)
### Libraries
- Refactored Fractions.lcm/1 and Fractions.lcm/2 to Math.lcm/1 and Math.lcm/2
- Refactored nth_root/3, integer_nth_root?/3, and floats_equal?/3 from Fractions to Math
- Updated all cached Math functions to use CacheAgent.cache_as macro
### Sequences
- Moved A000045/Fibonacci from Sequence.OEIS to Sequence.OEIS.Core
## v0.11.1
### Enhancements
- Chunky.Math
- `analyze_number/2` - Run all predicates against `n` to generate labels for `n`
- `is_odd?/1` - New predicate
- `is_even?/1` - New predicate
- `is_zero?/1` - New predicate
- `is_positive?/1` - New predicate
- `is_negative?/1` - New predicate
- all predicates of form `is_*?/1` now work for all integers in range `(-∞..+∞)
## v0.11.0
```
OEIS Coverage
210 total sequences
By Module
Elixir.Chunky.Sequence.OEIS - 3 sequences
Elixir.Chunky.Sequence.OEIS.Core - 88 sequences
Elixir.Chunky.Sequence.OEIS.Factors - 98 sequences
Elixir.Chunky.Sequence.OEIS.Primes - 1 sequences
Elixir.Chunky.Sequence.OEIS.Sigma - 20 sequences
Sequence Groups
OEIS Core Sequences - 89 / 177 (50.28%)
OEIS Core::Easy Sequences - 75 / 146 (51.37%)
OEIS Core::Hard Sequences - 12 / 12 (100.0%)
OEIS Core::Multiplicative Sequences - 22 / 22 (100.0%)
OEIS Core::Eigen Sequences - 5 / 5 (100.0%)
```
### Enhancements
- added Chunky.CacheAgent - caching agent for particularly recursive functions
- Chunky.Math
- ramanujan_tau/1 - Find the ramanujan tau error value for `n`
- partition_count/1 - Recursive (and cached) Partition Function for `n`
- abelian_group_count/1 - Number of Abelian groups of order `n`
- p_adic_valuation/2 - The _p-adic_ valuation function (for prime `p` and integer `n`)
- rooted_tree_count/1 - Rooted trees of N nodes
- is_of_form_mx_plus_b/3 - Does number have form `mx + b` for strict values of `m` and `b`?
- divisors_of_form_mx_plus_b/3 - Find divisors of `n` that are of form `mx + b`
- hurwitz_radon_number/1 - find the hurwitz-radon number of `n`
- catalan_number/1 - Find `C(n)`, the Catalan number, of `n`
- euler_zig_zag/1 - Permutation set sizes
- factorial/1 - Factorial `n!`
- binomial/2 - Binomial coefficient over `(n k)`
- wedderburn_etherington_number/1 - Count of permutations of binary rooted trees of size `n`
- functions for calculating positions in euler/pascal/element triangles
- eulerian_number/2
- euler_number
- combinatorics counting methods
- ...
### New Sequences
- OEIS Core
- A000001 - Number of groups of order n
- A000002 - Kolakoski sequence
- A000004 - The zero sequence
- A000007 - The characteristic function of {0}: a(n) = 0^n
- A000012 - The simplest sequence of positive numbers: the all 1's sequence
- A000027 - The positive integers
- A000032 - Lucas numbers beginning at 2
- A000035 - Period 2: repeat [0, 1]
- A000040 - The prime numbers.
- A000043 - Mersenne exponents: primes p such that 2^p - 1 is prime.
- A000069 - Odious numbers: numbers with an odd number of 1's in their binary expansion
- A000081 - Number of unlabeled rooted trees with n nodes
- A000085 - Number of self-inverse permutations on n letters, also known as involutions
- A000105 - Number of free polyominoes (or square animals) with n cells
- A000108 - Catalan numbers: C(n), Also called Segner numbers.
- A000109 - Number of simplicial polyhedra with n nodes
- A000110 - Bell or exponential numbers: number of ways to partition a set of n labeled elements
- A000111 - Euler or up/down numbers
- A000112 - Number of partially ordered sets ("posets") with n unlabeled elements
- A000120 - 1's-counting sequence: number of 1's in binary expansion of n (or the binary weight of n)
- A000124 - Central polygonal numbers (the Lazy Caterer's sequence)
- A000129 - Pell numbers: a(n) = 2*a(n-1) + a(n-2)
- A000142 - Factorial numbers: n! = 1*2*3*4*...*n
- A000166 - Subfactorial or rencontres numbers, or derangements of `n`
- A000169 - Number of labeled rooted trees with n nodes: n^(n-1)
- A000204 - Lucas numbers (beginning with 1)
- A000217 - Triangular numbers: a(n) = binomial(n+1,2)
- A000219 - Number of planar partitions (or plane partitions) of n
- A000225 - a(n) = 2^n - 1
- A000262 - Number of "sets of lists"
- A000272 - Number of trees on n labeled nodes
- A000292 - Tetrahedral (or triangular pyramidal) numbers
- A000312 - a(n) = n^n; number of labeled mappings from n points to themselves
- A000326 - Pentagonal numbers: a(n) = n*(3*n-1)/2.
- A000330 - Square pyramidal numbers
- A000364 - Euler (or secant or "Zig") numbers
- A000521 - Coefficients of modular function j as power series in q = e^(2 Pi i t)
- A000583 - Fourth powers: a(n) = n^4.
- A000594 - Ramanujan's tau function
- A000609 - Number of threshold functions of n or fewer variables
- A000670 - Fubini numbers
- A000688 - Number of Abelian groups of order n
- A000720 - pi(n), the number of primes <= n.
- A000796 - Decimal expansion of Pi
- A000798 - Number of different quasi-orders (or topologies, or transitive digraphs) with n labeled elements
- A001190 - Wedderburn-Etherington numbers: unlabeled binary rooted trees
- A001227 - Number of odd divisors of n.
- A001477 - The nonnegative integers.
- A001511 - The ruler function: 2^a(n) divides 2n
- A002106 - Number of transitive permutation groups of degree n
- A002654 - Number of ways of writing n as a sum of at most two nonzero squares, where order matters
- A003094 - Number of unlabeled connected planar simple graphs with n nodes
- A003484 - Radon function, also called Hurwitz-Radon numbers
- A005470 - Number of unlabeled planar simple graphs with n nodes
- A006966 - Number of lattices on n unlabeled nodes
- A008292 - Triangle of Eulerian numbers T(n,k)
- A055512 - Lattices with n labeled elements
- OEIS Factors
- A001826 - Number of divisors of n of form 4k+1
- A001842 - Expansion of Sum_{n>=0} x^(4*n+3)/(1 - x^(4*n+3))
## v0.10.0
```
OEIS Coverage
144 total sequences
By Module
Elixir.Chunky.Sequence.OEIS - 3 sequences
Elixir.Chunky.Sequence.OEIS.Core - 24 sequences
Elixir.Chunky.Sequence.OEIS.Factors - 96 sequences
Elixir.Chunky.Sequence.OEIS.Primes - 1 sequences
Elixir.Chunky.Sequence.OEIS.Sigma - 20 sequences
Sequence Groups
OEIS Core Sequences - 25 / 177 (14.12%)
```
### Enhancements
- Chunky.Math
- jordan_totient/2 - Jordan totient `J-k(n)`
- mobius_function/1 - Classical mobius function
- omega/1 - Count of distinct prime factors
- bigomega/1 - Count of distinct prime factors, with multiplicity
- greatest_prime_factor/1 - largest prime factor of `n`
- least_prime_factor/1 - smallest prime factor of `n`
- tau/1 - Tau function, number of divisors of `n`
- is_squarefree?/1 - Are any factors of `n` perfect squares?
- is_cubefree?/1 - Are any factors of `n` perfect cubes?
- radical/1 - Square-free kernel, or `rad(n)` - product of distict prime factors
- prime_factor_exponents/1 - Find the exponents of all prime factors of `n`
- is_power_of?/2 - Is `n` a power of `m`?
- is_sphenic_number?/1 - Is `n` the product of three distinct primes?
### New Sequences
- A007434 - Jordan-2 totient `J_2(n)`
- A059376 - Jordan function J_3(n)
- A059377 - Jordan function J_4(n)
- A059378 - Jordan function J_5(n)
- A065958 - a(n) = n^2*Product_{distinct primes p dividing n} (1+1/p^2)
- A065959 - a(n) = n^3*Product_{distinct primes p dividing n} (1+1/p^3)
- A065960 - a(n) = n^4*Product_{distinct primes p dividing n} (1+1/p^4)
- A069091 - Jordan function J_6(n)
- A069092 - Jordan function J_7(n)
- A069093 - Jordan function J_8(n)
- A069094 - Jordan function J_9(n)
- A069095 - Jordan function J_10(n)
- A160889 - a(n) = Sum_{d|n} Moebius(n/d)*d^(b-1)/phi(n) for b = 4
- A160891 - a(n) = Sum_{d|n} Moebius(n/d)*d^(b-1)/phi(n) for b = 5
- A160893 - a(n) = Sum_{d|n} Möbius(n/d)*d^5/phi(n)
- A160895 - a(n) = Sum_{d|n} Moebius(n/d)*d^(b-1)/phi(n) for b = 7
- A160897 - a(n) = Sum_{d|n} Moebius(n/d)*d^(b-1)/phi(n) for b = 8
- A160908 - a(n) = Sum_{d|n} Moebius(n/d)*d^(b-1)/phi(n) for b = 9
- A160953 - a(n) = Sum_{d|n} Moebius(n/d)*d^(b-1)/phi(n) for b = 10
- A160957 - a(n) = Sum_{d|n} Moebius(n/d)*d^(b-1)/phi(n) for b = 11
- A160960 - a(n) = Sum_{d|n} Moebius(n/d)*d^(b-1)/phi(n) for b = 12
- A001615 - Dedekind psi function
- A008683 - Möbius (or Moebius) function mu(n)
- A001221 - Number of distinct primes dividing n (also called omega(n))
- A001222 - Number of prime divisors of n counted with multiplicity (also called bigomega(n) or Omega(n))
- A006530 - Gpf(n): greatest prime dividing n
- A020639 - Lpf(n): least prime dividing n
- A000244 - Powers of 3
- A000290 - The squares: a(n) = n^2
- A000302 - Powers of 4: a(n) = 4^n
- A000578 - The cubes: a(n) = n^3.
- A001358 - Semiprimes (or biprimes): products of two primes
- A005117 - Squarefree numbers: numbers that are not divisible by a square greater than 1
- A000037 - Numbers that are not squares
- A000977 - Numbers that are divisible by at least three different primes
- A004709 - Cubefree numbers: numbers that are not divisible by any cube > 1
- A006881 - Squarefree semiprimes: Numbers that are the product of two distinct primes
- A007018 - a(n) = a(n-1)^2 + a(n-1), a(0)=1
- A007304 - Sphenic numbers: products of 3 distinct primes
- A007412 - The noncubes: n + [ (n + [ n^{1/3} ])^{1/3} ]
- A007774 - Numbers that are divisible by exactly 2 different primes
- A007947 - Largest squarefree number dividing n
- A008966 - 1 if n is squarefree, else 0.
- A013929 - Numbers that are not squarefree.
- A014612 - Numbers that are the product of exactly three primes, including multiplicity.
- A014613 - Numbers that are products of 4 primes
- A014614 - Numbers that are products of 5 primes
- A030513 - Numbers with 4 divisors
- A030515 - Numbers with exactly 6 divisors
- A033273 - Number of nonprime divisors of n
- A033942 - At least 3 prime factors (counted with multiplicity).
- A033987 - Numbers that are divisible by at least 4 primes (counted with multiplicity)
- A033992 - Numbers that are divisible by exactly three different primes
- A033993 - Numbers that are divisible by exactly four different primes
- A036537 - Numbers whose number of divisors is a power of 2.
- A037143 - Numbers with at most 2 prime factors (counted with multiplicity).
- A038109 - Divisible exactly by the square of a prime.
- A039956 - Even squarefree numbers.
- A046099 - Numbers that are not cubefree. Numbers divisible by a cube greater than 1.
- A046306 - Numbers that are divisible by exactly 6 primes with multiplicity.
- A046308 - Numbers that are divisible by exactly 7 primes counting multiplicity.
- A046310 - Numbers that are divisible by exactly 8 primes counting multiplicity
- A046312 - Numbers that are divisible by exactly 9 primes with multiplicity
- A046314 - Numbers that are divisible by exactly 10 primes with multiplicity
- A046321 - Odd numbers divisible by exactly 8 primes (counted with multiplicity)
- A046386 - Products of four distinct primes
- A046387 - Products of 5 distinct primes
- A046660 - Excess of n = Ω(n) - ω(n)
- A048272 - Number of odd divisors of n minus number of even divisors of n
- A051270 - Numbers that are divisible by exactly 5 different primes
- A056911 - Odd squarefree numbers.
- A059269 - Numbers n for which tau(n) is divisible by 3.
- A067259 - Cubefree numbers which are not squarefree
- A067885 - Product of 6 distinct primes
- A069272 - 11-almost primes (generalization of semiprimes)
- A069273 - 12-almost primes (generalization of semiprimes)
- A069274 - 13-almost primes (generalization of semiprimes)
- A069275 - 14-almost primes (generalization of semiprimes)
- A069276 - 15-almost primes (generalization of semiprimes)
- A069277 - 16-almost primes (generalization of semiprimes)
- A069278 - 17-almost primes (generalization of semiprimes)
- A069279 - Products of exactly 18 primes (generalization of semiprimes)
- A069280 - 19-almost primes (generalization of semiprimes)
- A069281 - 20-almost primes (generalization of semiprimes)
- A074969 - Numbers with six distinct prime divisors
- A076479 - a(n) = mu(rad(n)), where mu is the Moebius-function
- A117805 - Start with 3. Square the previous term and subtract it.
- A123321 - Products of 7 distinct primes
- A123322 - Products of 8 distinct primes
- A130897 - Numbers that are not exponentially squarefree.
- A162643 - Numbers such that their number of divisors is not a power of 2.
- A209061 - Exponentially squarefree numbers
- A211337 - Numbers n for which the number of divisors, tau(n), is congruent to 1 modulo 3
- A211338 - Numbers n for which the number of divisors, tau(n), is congruent to 2 modulo 3
## v0.9.0
### Changes/Refactorizations
### Enhancements
- Chunky.Math
- is_abundant?/1 - Is a number `n` an Abundant number
- next_abundant/1 - Find the next abundant number after `n`
- is_perfect?/1 - Is a number `n` a perfect number
- is_deficient?/1 - Is a number `n` a deficient number
- next_deficient/1 - Find the next deficient number
- is_arithmetic_number?/1 - Is a number `n` an arithmetic number
- aliquot_sum/1 - Aliquot Sum of `n`
- is_highly_abundant?/1` - Is a number `n` highly abundant?
- is_powerful_number?/1 - Is a number `n` a powerful number?
- product_of_prime_factors/1 - Number theoretical function for product of prime factor exponents of `n`
- is_highly_powerful_number?/1 - Is a number a _highly powerful_ number?
- is_perfect_power?/1 - Is integer `n` a perfect power?
- is_perfect_square?/1 - Is integer `n` a perfect square?
- is_perfect_cube?/1 - Is integer `n` a perfect cube?
- is_root_of?/2 - Is integer `n` any k-th root of `m`?
- is_achilles_number?/1 - Is integer `n` an achilles number?
- is_coprime?/2 - Test if `m` and `n` are co-prime
- totient/1 - Calculate Euler's totient for `n`
- Chunky.Sequence
- drop/2 - Like Enum.drop
### New Sequences
- A001065 - Aliquot parts of N
- A005101 - Abundant Numbers
- A000396 - Perfect Numbers
- A005100 - Deficient Numbers
- A003601 - Arithmetic Numbers
- A002093 - Highly Abundant Numbers
- Added Sequences.OEIS.Factors module
- A001694 - Powerful Numbers
- A005361 - Product of Prime Exponents of factors of N
- A005934 - Highly powerful numbers: numbers with record value
- A001597 - Perfect Powers
- A052486 - Achilles Numbers
- A000010 - Euler's totient function
## v0.8.0
### Changes/Refactorizations
### Enhancements
- Chunky.Sequence
- sequences are now marked as finite or infinite (as computable/stored in Squence library)
- sequences can now have initial index/offset other than 0 (like A000593)
- New Functions:
- `is_finite?/1` - Is a sequence finite or infinite is sequence library?
- Chunky.Math
- `factors/1` - All divisors of N
- `sigma/1` - Sigma-1 function of factors of N
- `sigma/2` - Generalized Sigma function
- `pow/2` - Pure integer exponentiation
### New Sequences
- A000593 - Sum of Odd Divisors of N
- A000009 - Number of partitions of n into distinct parts
- A000079 - Powers of 2
- A000203 - Sigma-1 of N
- A001057 through A001060 - sigma2 through sigma5 of N
- A013954 through A013968 - sigma6 through sigma20 of N
## v0.7.0
### Enhancements
- `Chunky.Math` - Extended math for integers and floating point
- `pow/3` - Modular arithmetic exponentiation
- `is_prime?/1` - Primality test for integers
- `prime_factors/1` - Factorize an integer to prime factors
- `Chunky.Sequences` - Create, inspect, manipulate, iterate, and compare finite and infinite value sequences
- New functions:
- `create/3` - Create a new sequence instance
- `available/0` - List all loaded sequences from all loaded applications and modules
- `available/1` - List available sequences from a module
- `has_next?/1` - Check that a sequence has at least one more available value
- `is_available?/2` - Check if a specific sequence is available
- `is_instance/2` - Check if a sequence is an instance of a specific sequence identifier
- `is_instance/3` - Check if a sequence is an instance of a specific sequence identifier
- `get_references/1` - Retrieve reference sources and links for a sequence
- `has_reference?/2 - Check if a sequence has a specific reference source
- `readable_name/1` - Find the human readable name of a sequence
- `next/1` - Retrieve the next sequence value and updated sequence struct as a tuple
- `next!/1` - Retrieve the next sequence as just an updated sequence struct
- `take/2` - Like `Enum.take/2` - retrieve a list of values from a sequence
- `take!/2` - Like `take/2`, but only return the updated sequence struct
- `sequence_for_function/1` - Wrap a function as a sequence - see Developing New Sequences
- `sequence_for_list/1` - Wrap a list as a sequence - see Developing New Sequences
- `map/2` - Apply a function to values in a sequence, and collect the result
- New Sequences:
- `{Basic, :whole_numbers}` - Whole number sequence, starting from `1` or any other digit
- `{Basic, :empty}` - The empty sequence
- `{Basic, :decimal_digits}` - The decimal digits
- `{OEIS, :a000045}` - OEIS - Fibonacci sequence
- `{OEIS, :fibonacci}` - OEIS - alternate name, Fibonacci sequence
- `{OEIS, :keyword_core}` - OEIS - List of core sequences, according to OEIS
- `{OEIS, :a000041}` - OEIS - Partitions of Integers
- Various test sequences
## v0.6.5
### Enhancements
- `Chunky.Fractions`
- added `uniq/2` for finding distinct fractions in a list
- added `sort/2` for sorting value lists
- added `clamp/2` for constraining value lists
## v0.6.4
### Enhancements
- `Chunky.Fraction`
- Most functions now use type coercion to handle any value that can be converted to a fraction via `new/1`
## v0.6.3
### Enhancements
- `Chunky.Fraction`
- `to_float/2` - convert to a float, with optional precision rounding
- `min_of/1` - find the smallest from a list of fractions
- `min_of/2` - find the smallest of two fractions
- `Chunky.Grid`
- `put_all/2` - basic function for putting `{x, y, v}` tuples or `%{x: x, y: y, value: value}` maps into the grid
- `find_index/2` - Find coordinates in grid of a value
## v0.6.2
### Documentation
- `Chunky.Fraction` - Enhancements to documentation. Extended doctests
## v0.6.1
### Enhancements
- `Chunky.Grid`
- `put_at/3` and `put_at/4` - put values into the grid
## v0.6.0
### Enhancements
- `Chunky.Fraction` module for manipulating fractions
- `new/2` - create a new fraction
- `new/1` - create a new fraction from a tuple or integer
- `has_whole?/1` - fractions is greater than 1, and has a whole component
- `is_whole?/1` - does a fraction exactly represent a whole number
- `components/1` - tuple of numerator an denominator
- `get_whole/1` - get reduced whole component of a fraction
- `get_remainder/1` - get remainder of fraction after removing whole components
- `split/1` - combine `get_whole/1` and `get_remainder/1` into one call
- `is_simplified?/1` - is fraction in reduced form?
- `simplify/1` - reduce fraction
- `is_zero?/1` - does fraction represent zero?
- `add/3` - Add two fractions, or a fraction and an integer
- `subtract/3` - Subtract two fractions, or a fraction and an integer
- `String.Chars` - Fractions now work properly with IO functions
- `multiply/3` - Multiply two fractions, or a fraction and an integer
- `reciprocal/2` - Take the reciprocal of a fraction
- `divide/3` - Divide two fractions, or a fraction and an integer
- `normalize/2` - Normalize two fractions to a common denominator
- `is_positive?/1` - Test if a fraction is positive
- `is_negative?/2` - Test if a fraction is negative
- `power/3` - Fractional and integer powers of integers and fractions
- `gt?/2`, `gte?/2`, `lt?/2`, `lte?/2`, and `eq?/2` added for comparison between fractions and fractions and integers
- `normalize_all/1` - normalize a list of fractions and integers, like `normalize/2`
- `sum/2` - sum a list of fractions and integers
- `lcm/1` - find Least Common Multiple from a list of integers
- `Chunky.Grid` module for working with two dimensional data
- `Grid.new/3` - generate a grid from a value or a function
- `Grid.get_at/2` and `Grid.get_at/3` - access cell value by 2d index
- `Grid.valid_coordinate/*` and `Grid.valid_coordinate?/*` - determine if a coordinate is within grid bounds
## v0.5.0
### Enhancements
- `Chunky.combinations_size/2` - pre-calculate the size of a combination using a closed form equation, instead of running the combination
## v0.4.1
### Documentation
- Fixes for embedded `@moduledoc` for better Hexdocs layout
## v0.4.0
### Enhancements
- `Chunky.permutations_size/1` - pre-calculate the size of a permutation using a closed form equation, instead of running the permutation
## v0.3.0
### Enhancements
- Added `Chunky.combinations/2` for nCr unordered set generation
### Documentation
- move all TODO items out of Chunky module
- remove references to incomplete/unimplemented functions
## v0.2.1
### Documentation
- Fix reference to `Chunky.chunk_length/2` in moduledoc
## v0.2.0
### Enhancements
- `Chunky.chunk_length/2` added. Supports `list`, `tuple`, `binary`, and `range` types
### Documentation
- Cleanup of readme and top level documentation
- Hexdocs now have embedded readme data
## v0.1.1
### Documentation
- Expanded documentation for `Chunky.permutations/1`
## v0.1.0
### Enhancements
- `Chunky.permutations/1` added. Supports `list`, `tuple`, `binary`, and `range` types