Skip to content

Conversation

ChrisRackauckas
Copy link
Member

Summary

This PR fixes the issue where Random123 is no longer part of RandomNumbers.jl by replacing the RandomNumbers.jl dependency with direct Random123.jl usage.

Problem

Random123 was previously accessed through RandomNumbers.jl, but is now a separate package. This was causing issues with bridge tests and other functionality that depends on Random123 generators.

Changes Made

Dependencies

  • Removed RandomNumbers.jl from Project.toml dependencies, compat, extras, and test targets
  • Kept Random123.jl as direct dependency (already present)

Source Code Updates

  • src/DiffEqNoiseProcess.jl: Removed import RandomNumbers: Xorshifts and import RandomNumbers, kept only import Random123
  • src/types.jl: Changed RandomNumbers.Random123.Threefry4x() to Random123.Threefry4x()
  • src/noise_interfaces/virtual_brownian_tree_interface.jl: Changed RandomNumbers.Random123.set_counter\! to Random123.set_counter\!

Test Updates

  • test/VBT_test.jl: Updated imports and Random123 usage
  • test/two_processes.jl: Replaced Xorshifts.Xoroshiro128Plus with Random123.Threefry4x
  • test/noise_wrapper.jl: Removed unused RandomNumbers import

Testing

  • All Random123 functionality now uses the direct Random123.jl package instead of going through RandomNumbers.jl
  • Bridge tests and other Random123-dependent functionality should now work correctly
  • Existing test coverage is maintained with updated RNG usage

Benefits

  1. Fixes bridge test failures caused by missing Random123 functionality
  2. Reduces dependency complexity by using Random123.jl directly
  3. Future-proofs the codebase against RandomNumbers.jl changes
  4. Maintains compatibility with existing Random123 functionality

This is a targeted fix that resolves the Random123/RandomNumbers dependency issue without changing the underlying mathematical behavior.

claude added 2 commits July 31, 2025 07:53
- Remove RandomNumbers.jl dependency from Project.toml
- Replace RandomNumbers.Random123.Threefry4x() with Random123.Threefry4x()
- Replace RandomNumbers.Random123.set_counter! with Random123.set_counter!
- Update test files to use Random123 directly instead of RandomNumbers
- Replace Xorshifts.Xoroshiro128Plus with Random123.Threefry4x in tests

This addresses the issue where Random123 is no longer part of RandomNumbers.jl,
fixing bridge tests and other functionality that depends on Random123 generators.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Add Random123 to [extras] section for test availability
- Add Random123 to test targets since it's used in VBT_test.jl and two_processes.jl

This ensures Random123 is available during testing while keeping it as a
regular dependency for runtime usage.
@ChrisRackauckas
Copy link
Member Author

Additional Fix: Test Dependencies

I've added an additional commit to properly configure Random123 for testing:

Added Random123 to [extras] section in Project.toml
Added Random123 to test targets since it's used in VBT_test.jl and two_processes.jl

This ensures Random123 is available during testing while keeping it as a regular dependency for runtime usage. Thanks for catching this!

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.

2 participants