Skip to content

Commit

Permalink
Add coverage badges and release notes
Browse files Browse the repository at this point in the history
  • Loading branch information
lhelwerd committed Dec 6, 2023
1 parent 70d2d2d commit 0d15d0b
Show file tree
Hide file tree
Showing 2 changed files with 58 additions and 5 deletions.
15 changes: 10 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,20 @@
# Euler

[![coverage](https://github.com/lhelwerd/euler/actions/workflows/coverage.yml/badge.svg)](https://github.com/lhelwerd/euler/actions/workflows/coverage.yml)
[![Coverage Status](https://coveralls.io/repos/github/lhelwerd/euler/badge.svg?branch=main)](https://coveralls.io/github/lhelwerd/euler?branch=main)

This repository contains some Python modules that implement algorithms for
number theory and other fields of mathematics, but also some file processing
methods. Potential applications that these modules could be used for are
[Project Euler](https://projecteuler.net/) problems and [Advent of
Code](https://adventofcode.com/) puzzles.

The modules are written for Python 3.8+. Support for older versions is dropped
in version 0.0.2. The oldest versions of the modules support running on older
versions as well, which are from back when [PyPy](https://www.pypy.org/) was
only starting to support Python 3 code.
The modules are written for Python 3.8+ and for PyPy 3.10+. Support for older
versions is dropped in version 0.0.2. The oldest versions of the modules
support running on older versions as well, which are from back when
[PyPy](https://www.pypy.org/) was only starting to support Python 3 code.
Detailed information on changes for each version is found in the
[RELEASE_NOTES.md](release notes) file.

## Installation

Expand Down Expand Up @@ -43,5 +48,5 @@ Style checks are done by installing with `pip install pylint` and then using

## License

The Euler module is licensed under the MIT License. See the [LICENSE](LICENSE)
The Euler module is licensed under the MIT License. See the [LICENSE](license)
file for more information.
48 changes: 48 additions & 0 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# Release notes

This is an overview of new features and bug fixes made to the Euler module.
Versions are listed in reverse chronological order, likewise for changes
(date/time of commit or merge).

## v0.0.2

- Properly determine when to use miller test for totient function and raise
error if primes are exhausted
- Correct formula set sometimes trying to adding certain values during
expansion when it is not needed
- Formula set off by one errors from extending get items and updates
- Palindrome did not generate some with low limits
- Mark as typed package
- Module is now Python 3.8+ only

## v0.0.1

- Initial release of package
- Modular multiplicative inverse
- Tree-based coprime set generation
- Improve palindrome functions: Correct when limit is an odd-power of ten
(i.e., 1000 = 1e3)
- Add length to formula set
- Add range to prime set
- Improve prime set extension
- Correct prime factorization algorithm: E.g., for n=144, the remaining factor
was missed as it was both the divisor and the remaining value.
- PrimeSet always reversible
- Proper divisors from prime factorization
- Include Miller test for primality
- Allow Miller test for prime set extension
- Miller-aware totient function with formula speedups
- Totient function based on prime set
- Functions for converting Roman numerals
- Convergents of continued fractions
- Support slices in formula set
- Prime set length and index lookup
- Ensure sorted order in the prime set and formula set
- Prime factorization
- Sequences of numbers generated by a formula
- Text file reading
- Replace Sieve with PrimeSet
- Digit palindrome generation and check
- Proper divisors
- Triangle file reading and maximum path sum
- Initial Sieve module

0 comments on commit 0d15d0b

Please sign in to comment.