Metadata-Version: 2.4
Name: rge256_core
Version: 1.0.0
Summary: Core Python implementation of the RGE-256 ARX pseudorandom number generator
Author: Steven Reid
License: Apache License 2.0
        Copyright 2025 Steven Reid
        
Project-URL: Homepage, https://github.com/RRG314/RGE-256-app
Project-URL: Documentation, https://rrg314.github.io/RGE-256-app/
Project-URL: Source, https://github.com/RRG314/RGE-256-app
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file


# RGE-256 (Python Core): A 256-bit ARX Pseudorandom Number Generator
Author: Steven Reid  
ORCID: 0009-0003-9132-3410  
License: Apache 2.0  
Core Algorithm Repository: https://github.com/RRG314/RGE-256-app  
Live Demo: https://rrg314.github.io/RGE-256-app/  
Preprint: https://zenodo.org/records/17713219

## Security Notice
RGE-256 is **not** a cryptographically secure random number generator.  
It must **not** be used for encryption, key generation, authentication, or any security-critical application.

## Overview
This package provides the pure Python core implementation of the RGE-256 ARX pseudorandom number generator for deterministic simulation and research.

## Installation

    pip install rge256_core

## Basic Usage

    from rge256_core import RGE256
    rng = RGE256(seed=12345)

    x = rng.rand_uint32()
    y = rng.random()
    z = rng.randint(0, 100)
    arr = rng.random_array(1000)

## Domain Separation

    rng = RGE256(seed=999, domain="physics")
    rng2 = RGE256(seed=999, domain="graphics")

## Monte Carlo Example

    from rge256_core import RGE256
    import math

    rng = RGE256(seed=42)
    inside = 0
    N = 100000

    for _ in range(N):
        x = rng.random() * 2 - 1
        y = rng.random() * 2 - 1
        if x*x + y*y <= 1:
            inside += 1

    print(4 * inside / N)

## Citation
Reid, Steven. “RGE-256: A 256-bit ARX Pseudorandom Number Generator.”  
Zenodo (2025): https://zenodo.org/records/17713219  
ORCID: 0009-0003-9132-3410

