Skip to content

Conversation

@laura-abro
Copy link
Owner

Implement Prime Number Checker Function

Description

Task

Implement Prime Number Checker

Acceptance Criteria

  • Function should return boolean indicating if number is prime
  • Implement efficient primality test
  • Handle edge cases (negative numbers, 0, 1)
  • Include unit tests for various cases

Summary of Work

Overview

This pull request implements a robust prime number checking function with comprehensive test coverage.

Changes Made

  • Created is_prime(n) function in src/prime_checker.py
  • Implemented efficient primality testing algorithm
  • Added comprehensive test suite in tests/test_prime_checker.py

Implementation Details

Prime Number Checker Function

  • Uses an efficient algorithm to check primality
  • Handles various edge cases:
    • Validates input type (must be integer)
    • Correctly identifies numbers ≤ 1 as non-prime
    • Special handling for 2 (only even prime)
    • Quickly eliminates even numbers > 2
    • Checks odd divisors up to square root of the number

Key Features

  • O(√n) time complexity for primality testing
  • Strict input validation
  • Handles positive and negative integers
  • Raises ValueError for invalid inputs

Testing Approach

Tests cover multiple scenarios:

  • Known prime numbers
  • Known non-prime numbers
  • Large prime and non-prime numbers
  • Invalid input types
  • Negative numbers

Test Coverage

  • 6 test cases
  • Tests invalid inputs
  • Verifies primality for various number ranges

Acceptance Criteria

✅ Correctly identifies prime numbers
✅ Handles edge cases
✅ Provides clear error handling
✅ Efficient implementation
✅ Comprehensive test coverage

Notes

  • Optimized for performance with square root method
  • Simple and readable implementation
  • Easily extensible for future requirements

Changes Made

  • Created is_prime() function in src/prime_checker.py
  • Implemented input validation
  • Added efficient primality checking algorithm
  • Created comprehensive test suite in tests/test_prime_checker.py

Tests

  • Test known prime numbers
  • Test known non-prime numbers
  • Test large prime numbers
  • Test large non-prime numbers
  • Test invalid input handling
  • Test negative number handling

Signatures

Staking Key

5EmgCQSgPD79JWPQ6KMAV35kUNxasNQymeWuQXfJPmVk: Jc9arVN89xDbvnsPG9TbCQ6m6dyhMVxy2kEd1dkYf1DHgsTYget59Xatw3xVaYthiwxGTKJJqJLuwYVLVUo7z68gex5NmfhzAZtns3URotuaxeeiusmsaJrybRxsr2b8njtNxiuPx9TPAtzoZPcamtNE9aExn9KVs1FA5sLvHZTxMJKvSz1TMiRCatwmzz395TCJmnHrcMWDHr1YiQbhuxnmu373Mr9heE7hDpmcUiVtHYoy2Zv8QJiBuDwy3WxNFVE3uVCkg9avxo12Gty39uXecqeMzjSqkVy3Qxb8YxTKyE33cvzbc9uZunDmofMFCoevJh8YffSwoq6ZXkFXWqFrM8Ss5j8CE4PerrgvtFtqgUaw5iqBgm9gxUN4itbB63mb9y4EMoj2FX8nQtPbWzLw71F29BEL

Public Key

8U4eXGpP28X2i8wDEDxwGUdSdPuz7xuMBvpFuVyPDNKz: 3YTJiMnURCB3zCLTxvRkDqYxiQvhzo8kTPweBrnMdB87VR1a5UJm6CmmqebWvwj3KbnXSgjp7GvYAqKZPt7h8coJ3RWSiYnFW3LAoNYF29MVWqS2QwfbdadeXUxo2BDNqHDtpfs86ek59b1XJ7QZHn5PwHGTVwJuNxCikkjgpQDQ1UHPsfzMZjtHdfvqHj8ztA3nzFCopqAcvKfgCFchp9cKUmAgriKsokAutzmxz6YY89xJzqinumTb7paJ41SP6PpbUGv68DLzp7wzY1bHfpwbpdDiy2T6TJi5JJb1BCYNBXpi9TJVbDg3dCdv6RDc1JKB4qybkx1qR4Bfqmu8fLpXtbmWrDoZpk1eoB8o53KYCcYJY8A1XXKHRhL24kmqdXfrEUgpFpyFpM8gmVRAuUYP3ZB8Pj5vU

@momstrosity
Copy link

Prime Number Checker Implementation

Description

Implementation of a function to check if a number is prime

Recommendation

APPROVE

Reasons:

  • Comprehensive implementation of prime number checking
  • Thorough test coverage including edge cases
  • Proper error handling for invalid inputs
  • Efficient algorithm with O(sqrt(n)) time complexity

Unmet Requirements

All requirements met

Tests

Failed Tests

No failing tests

Missing Test Cases

No missing test cases identified

Action Items

No action items required

Signatures

Staking Key

AEghvdqmRtc3fjKXfNTMJJ6WshksgWuJ9YBExgsZu8cN: gpbj85UPRGEYXKR4Cb8JgsE37BiujBF5bdn2g6SLZVEoCAqYZLbxQKeRNfHxwpiAwRY9UXLbtNNY9M8pqGcLy4TSiHipVZoJN2WLMCpaBSYvk1tWiiF7eUwomiPsgZR3MhtUgWdk1aCJZ9BwJiCa5LRURiRTjZ7s3Mso4PYUbHFCzvRpG4wYRrq6fofhX7BDGSttGnEtcF4hWriXMPHbw3b3GQVDTNv7FgPdXKVwqnaHKv7Zak9RzsxgEWyAxqq442yFZ5rzXUFsYG

Public Key

AwXAtX7tMhL4JyB8NfXdsrqc1UifaMyap3c9bpN9RMse: 2K2KjDnVmsD9tKt8A9FafGJzLfxc9RWRsXswuXkLutq7bZXA7QgckYN5onb2j5LZHNHVSp1xG5yrx7w5LNmzQgfYc2cNboZmyS6JgGb9YJ8UfdUgQXG83i4cAgp2SbKrBdDrrKuGP3ACborAGfjjDoZFhD81C9JerG45BUXBe6GgnXCMByW8gQ74kcK8a4Cu7mbyBCNYvAatfc5d2sYVpyK1G1imxAHFLTbN8HyhjUzgNK8D5UmHqVnSpAGiBYrosPws4vqyzNGbbAC

@labrocadabro
Copy link

Prime Number Checker Implementation

Description

Implementation of a prime number checking function with comprehensive test coverage.

Recommendation

APPROVE

Reasons:

  • Implemented a correct and efficient prime number checking algorithm
  • Comprehensive test suite covering multiple scenarios
  • Proper error handling for invalid inputs
  • Follows efficient primality testing approach using square root optimization

Unmet Requirements

All requirements met

Tests

Failed Tests

No failing tests

Missing Test Cases

No missing test cases identified

Action Items

No action items required

Signatures

Staking Key

7aAADu3aXXncSyvSVErKbQqGF3caWZkVz9MSLorvgv2f: 3R991Bazu2UEEypyGfZ3EHjG29NrkYXKHSEpmtWSUDBA8Y3JMhC4MLf5JVHdXifMAU48S3aBL2KeGrevKScnoxQ2MGGdW2gzk9ECVEnq1Y7a33nso8Yd7bsFN8duCgiGMYjqGQo2k4esH9PvbpwbTXDDEfyAmXLfqGKyKx2V51xVu1GyDtH7Mi6tEgb3mdiW2y7UpcMMk7F3Xutu1YRzKavHfWXpEzRGqzErP5YN8JykDYwEJeBjYCLZB1p3623wxQG9RiuThAEyWYt

Public Key

2R7RRyEP2A4agg5rfY1HxPKhugqgDSnDmsbdZpkEcbeF: 4bFun1RBH8HHr4psKqkn4CqmdWSdUZLs6NwpFAYuGmqDqwoQ7jM2bhaA9As1PgFcHTCBnbQVukttSTVaPDVawm5pstjEYYqCsMDeBAot8xdokZ2HuneXVBRHEibc5yQoczhbbEobVGV13GjvgTrSqLdxqt278ac6o3XWbCHHteexx4hTmCRVXD6GfpJdQ3JLEDzhzMG4to5gm8P9cfB5D5idurWTSL54XRxcm4dTj6JFQBVtjAu2rtXyfUJKdorjVfiBxYM4Bzh678g

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants