palindromeda 0.2.0

Palindrome number generator and checker
Documentation

Crates.io Docs.rs MIT License

Palindrome generator and checker for numbers.

A palindrome is a letter, number or any other sequence that is the exact same forwards and backwards. This crate is specifically for palindromic numbers.

Checking for palindromes

If you want to check whether an unsigned integer is a palindrome, use the is_palindrome function:

let pal1: u64 = 8008; // This is a palindrome.
println!("Is {pal1} a palindrome? {}", pal1.is_palindrome());

let pal2: u8 = 69; // This is NOT a palindrome.
println!("Is {pal2} a palindrome? {}", pal2.is_palindrome());

Output:

Is 8008 a palindrome? true
Is 69 a palindrome? false

Generating palindromes

Generating a palindrome is as easy as using either Palindrome::le or Palindrome::ge for the nearest palindrome to your number:

let number1: u64 = 420; // This number is too high.
// Let's get a palindrome that's lower.
println!("Palindrome that's lower: {}", Palindrome::le(number1));

let number2: u64 = 1337;
// Let's get a palindrome that's higher.
println!("Palindrome that's higher: {}", Palindrome::ge(number2));

Output:

Palindrome that's lower: 414
Palindrome that's higher: 1441

And if you want, you can go from palindrome to palindrome with the Palindrome::previous and Palindrome::next functions.

Iterating over palindromes

With PalindromeIter you can also iterate over a large swathe of palindromes.