aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorMasaya Tojo <masaya@tojo.tokyo>2024-08-22 03:34:40 +0900
committerMasaya Tojo <masaya@tojo.tokyo>2024-08-22 03:42:34 +0900
commit274df27f641a0df9b26ac0537119b149fa0ba7d1 (patch)
tree72c9ae48261d3ef916c72e9d949f9f64ee666c30 /README.md
Initial commit
Diffstat (limited to 'README.md')
-rw-r--r--README.md68
1 files changed, 68 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..c01ed66
--- /dev/null
+++ b/README.md
@@ -0,0 +1,68 @@
+# AccelAsc for R7RS
+
+This library provides an implementation of the algorithm called `accel_asc` by Jerome Kelleher, which generates integer partitions in R7RS.
+For more details, please refer to [Jerome Keller's website](https://jeromekelleher.net/category/combinatorics.html).
+
+## Requirements
+
+- `(scheme generator)` of R7RS-large or `(srfi 158)`
+
+## Usage
+
+### Library `(integer-partition accel-asc)`
+
+#### `(accel-asc n) → <generator>`
+
+Returns a generator that produces a list of integers representing integer partitions for the given value of integer `n`.
+
+## Examples
+
+```scheme
+(import (scheme base)
+ (srfi 158)
+ (integer-partition accel-asc))
+
+(generator-for-each (lambda (lst) (display lst) (newline))
+ (accel-asc 8))
+```
+
+Output:
+
+```
+(1 1 1 1 1 1 1 1)
+(1 1 1 1 1 1 2)
+(1 1 1 1 1 3)
+(1 1 1 1 2 2)
+(1 1 1 1 4)
+(1 1 1 2 3)
+(1 1 1 5)
+(1 1 2 2 2)
+(1 1 2 4)
+(1 1 3 3)
+(1 1 6)
+(1 2 2 3)
+(1 2 5)
+(1 3 4)
+(1 7)
+(2 2 2 2)
+(2 2 4)
+(2 3 3)
+(2 6)
+(3 5)
+(4 4)
+(8)
+```
+
+## License
+
+This library is released under the Apache License Version 2.0.
+See the LICENSE file for more details.
+
+## References
+
+- Kelleher, J. (2006). *Encoding partitions as ascending compositions* [Doctoral dissertation, University College Cork]. [https://jeromekelleher.net/downloads/k06.pdf](https://jeromekelleher.net/downloads/k06.pdf)
+- Kelleher, J. (2014, May 26). *Generating Integer Partitions*. [https://jeromekelleher.net/generating-integer-partitions.html](https://jeromekelleher.net/generating-integer-partitions.html)
+
+## Copyright
+
+Copyright (c) 2024 Masaya Tojo <masaya@tojo.tokyo>