Refactor random number generation to use rustframe's random module

This commit is contained in:
Palash Tyagi 2025-07-28 20:37:08 +01:00
parent 4a1843183a
commit 5934b163f5
2 changed files with 5 additions and 5 deletions

View File

@ -5,8 +5,8 @@
//! To modify the behaviour of the example, please change the constants at the top of this file. //! To modify the behaviour of the example, please change the constants at the top of this file.
//! By default, //! By default,
use rand::{self, Rng};
use rustframe::matrix::{BoolMatrix, BoolOps, IntMatrix, Matrix}; use rustframe::matrix::{BoolMatrix, BoolOps, IntMatrix, Matrix};
use rustframe::random::{rng, Rng};
use std::{thread, time}; use std::{thread, time};
const BOARD_SIZE: usize = 20; // Size of the board (50x50) const BOARD_SIZE: usize = 20; // Size of the board (50x50)
@ -265,7 +265,7 @@ pub fn generate_glider(board: &mut BoolMatrix, board_size: usize) {
// Initialize with a Glider pattern. // Initialize with a Glider pattern.
// It demonstrates how to set specific cells in the matrix. // It demonstrates how to set specific cells in the matrix.
// This demonstrates `IndexMut` for `current_board[(r, c)] = true;`. // This demonstrates `IndexMut` for `current_board[(r, c)] = true;`.
let mut rng = rand::rng(); let mut rng = rng();
let r_offset = rng.random_range(0..(board_size - 3)); let r_offset = rng.random_range(0..(board_size - 3));
let c_offset = rng.random_range(0..(board_size - 3)); let c_offset = rng.random_range(0..(board_size - 3));
if board.rows() >= r_offset + 3 && board.cols() >= c_offset + 3 { if board.rows() >= r_offset + 3 && board.cols() >= c_offset + 3 {
@ -281,7 +281,7 @@ pub fn generate_pulsar(board: &mut BoolMatrix, board_size: usize) {
// Initialize with a Pulsar pattern. // Initialize with a Pulsar pattern.
// This demonstrates how to set specific cells in the matrix. // This demonstrates how to set specific cells in the matrix.
// This demonstrates `IndexMut` for `current_board[(r, c)] = true;`. // This demonstrates `IndexMut` for `current_board[(r, c)] = true;`.
let mut rng = rand::rng(); let mut rng = rng();
let r_offset = rng.random_range(0..(board_size - 17)); let r_offset = rng.random_range(0..(board_size - 17));
let c_offset = rng.random_range(0..(board_size - 17)); let c_offset = rng.random_range(0..(board_size - 17));
if board.rows() >= r_offset + 17 && board.cols() >= c_offset + 17 { if board.rows() >= r_offset + 17 && board.cols() >= c_offset + 17 {

View File

@ -1,6 +1,6 @@
use crate::compute::models::activations::{drelu, relu, sigmoid}; use crate::compute::models::activations::{drelu, relu, sigmoid};
use crate::matrix::{Matrix, SeriesOps}; use crate::matrix::{Matrix, SeriesOps};
use rand::prelude::*; use crate::random::prelude::*;
/// Supported activation functions /// Supported activation functions
#[derive(Clone)] #[derive(Clone)]
@ -46,7 +46,7 @@ pub enum InitializerKind {
impl InitializerKind { impl InitializerKind {
pub fn initialize(&self, rows: usize, cols: usize) -> Matrix<f64> { pub fn initialize(&self, rows: usize, cols: usize) -> Matrix<f64> {
let mut rng = rand::rng(); let mut rng = rng();
let fan_in = rows; let fan_in = rows;
let fan_out = cols; let fan_out = cols;
let limit = match self { let limit = match self {