Pywayne Maths

v0.1.0

Mathematical utility functions for factorization, digit counting, and large integer multiplication using Karatsuba algorithm. Use when solving number theory...

0· 577·0 current·0 all-time
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Suspicious
medium confidence
!
Purpose & Capability
The skill claims to expose Python functions (pywayne.maths.get_all_factors, digitCount, karatsuba_multiplication) but the bundle contains no code files and no install spec. For the skill to work, the runtime must already have a package named pywayne (or similar) installed — not stated. That mismatch (documented API vs no shipped implementation or install guidance) is incoherent.
Instruction Scope
SKILL.md only shows import statements and usage examples; it does not instruct the agent to read system files, environment variables, or external endpoints. However, it implicitly assumes the module exists in the environment; the lack of instruction about how to obtain it is an important omission.
Install Mechanism
No install spec is provided (instruction-only). This is low immediate disk/write risk, but because the skill requires a Python module that isn't included, an agent or user might attempt to pip-install a package from PyPI or another source — introducing supply-chain risk if that occurs without vetting.
Credentials
No environment variables, credentials, or config paths are requested. The declared environment/credential footprint is minimal and appropriate for a pure mathematical utility.
Persistence & Privilege
Skill does not request always:true, does not modify other skills, and contains no installation scripts. It has no elevated persistence or privileges as published.
What to consider before installing
This skill documents a Python library but ships no code and gives no install instructions. Before installing or enabling it, ask the publisher for the source code or a clear, trusted install method (e.g., a GitHub repo or an official PyPI package name and version). Do not allow an agent to auto-install an unknown PyPI package without vetting — that is a supply-chain risk. If you need these functions now, prefer a skill that includes its implementation or points to a verifiable upstream source. If you proceed, verify the package source, check the code for malicious behavior, and avoid providing any credentials.

Like a lobster shell, security has layers — review code before you run it.

latestvk976v0sm5ecc0jpk4fex8mbt7n819v1r
577downloads
0stars
1versions
Updated 1mo ago
v0.1.0
MIT-0

Pywayne Maths

Mathematical utility functions for number theory, digit analysis, and optimized integer operations.

Quick Start

from pywayne.maths import get_all_factors, digitCount, karatsuba_multiplication

# Get all factors of a number
factors = get_all_factors(28)
print(factors)  # [1, 2, 4, 7, 14, 28]

# Count digit occurrences
count = digitCount(100, 1)
print(count)  # 21 (digit 1 appears 21 times in 1-100)

# Large integer multiplication
product = karatsuba_multiplication(1234, 5678)
print(product)  # 7006652

Functions

get_all_factors

Return all factors of a positive integer.

get_all_factors(n: int) -> list

Parameters:

  • n - Positive integer to factorize

Returns:

  • List of all factors of n

Use Cases:

  • Number theory problems
  • Finding divisors
  • Simplifying fractions
  • Greatest common divisor (GCD) calculation

Example:

from pywayne.maths import get_all_factors

factors = get_all_factors(36)
print(factors)  # [1, 2, 3, 4, 6, 9, 12, 18, 36]

# Check if number is prime
n = 17
factors = get_all_factors(n)
if len(factors) == 2:  # Only 1 and itself
    print(f"{n} is prime")
else:
    print(f"{n} is not prime")

digitCount

Count occurrences of digit k from 1 to n.

digitCount(n, k) -> int

Parameters:

  • n - Positive integer, upper bound of counting range
  • k - Digit to count (0-9)

Returns:

  • Count of digit k in range [1, n]

Special Case:

  • When k = 0, counts all numbers with trailing zeros after n

Use Cases:

  • Digit frequency analysis
  • Number theory problems
  • Data analysis tasks

Example:

from pywayne.maths import digitCount

# Count digit 1 from 1 to 100
count = digitCount(100, 1)
print(count)  # 21

# Count each digit 0-9 in range 1-1000
for k in range(10):
    count = digitCount(1000, k)
    print(f"Digit {k}: {count} times")

karatsuba_multiplication

Multiply two integers using Karatsuba's divide-and-conquer algorithm.

karatsuba_multiplication(x: int, y: int) -> int

Parameters:

  • x - Integer multiplier
  • y - Integer multiplicand

Returns:

  • Product of x and y

Algorithm:

  • Karatsuba algorithm uses recursive divide-and-conquer to multiply large integers
  • Time complexity: O(n^log₂3) ≈ O(n^1.585)
  • More efficient than naive multiplication O(n²) for very large numbers

Use Cases:

  • Large integer multiplication
  • Algorithm optimization
  • Competitive programming
  • Cryptography applications

Example:

from pywayne.maths import karatsuba_multiplication

# Compare with standard multiplication
a, b = 123456789, 987654321
result = karatsuba_multiplication(a, b)
print(result)  # 121932631112635269

# Verify
assert result == a * b

Common Applications

Prime Number Detection

from pywayne.maths import get_all_factors

def is_prime(n):
    factors = get_all_factors(n)
    return len(factors) == 2 and factors == [1, n]

print(is_prime(17))   # True
print(is_prime(18))   # False

Greatest Common Divisor (GCD)

from pywayne.maths import get_all_factors

def gcd(a, b):
    factors_a = set(get_all_factors(a))
    factors_b = set(get_all_factors(b))
    common = factors_a & factors_b
    return max(common)

print(gcd(24, 36))  # 12

Digit Frequency Analysis

from pywayne.maths import digitCount

def digit_frequency(n):
    frequency = {}
    for k in range(10):
        frequency[k] = digitCount(n, k)
    return frequency

print(digit_frequency(1000))
# {0: 189, 1: 301, 2: 300, 3: 300, ...}

Large Number Calculations

from pywayne.maths import karatsuba_multiplication

# Very large numbers
x = 123456789012345678901234567890
y = 9876543210987654321098765432109876

# Use Karatsuba for efficiency
product = karatsuba_multiplication(x, y)

Notes

  • get_all_factors returns sorted unique factors
  • digitCount counts from 1 to n inclusive
  • karatsuba_multiplication is optimized for large integers (hundreds+ of digits)
  • For small integers, standard multiplication * may be faster due to overhead

Comments

Loading comments...