Implementation of the UM-32 "Universal Machine" as described by the Cult of the Bound Variable

use `assert!` instead of `debug_assert!`

This seems to have no impact on the sandmark speed.

tjh 890c4632 dcf39087

Changed files
+12 -8
src
+12 -8
src/main.rs
··· 361 361 362 362 /// Loads the value from the specified register. 363 363 fn load_register(&self, index: Register) -> Platter { 364 - debug_assert!(index < 8, "register index out of bounds"); 364 + assert!(index < 8, "register index out of bounds"); 365 365 self.registers[index as usize] 366 366 } 367 367 368 368 /// Saves a value to the specified register. 369 369 fn save_register(&mut self, index: Register, value: Platter) { 370 - debug_assert!(index < 8, "register index out of bounds"); 370 + assert!(index < 8, "register index out of bounds"); 371 371 self.registers[index as usize] = value; 372 372 } 373 373 374 374 fn load_memory(&self, block: Platter, offset: Platter) -> Platter { 375 - debug_assert!((block as usize) < self.memory.len()); 376 - debug_assert!((offset as usize) < self.memory[block as usize].len()); 375 + assert!( 376 + (block as usize) < self.memory.len() 377 + && (offset as usize) < self.memory[block as usize].len() 378 + ); 377 379 self.memory[block as usize][offset as usize] 378 380 } 379 381 380 382 fn store_memory(&mut self, block: Platter, offset: Platter, value: Platter) { 381 - debug_assert!((block as usize) < self.memory.len()); 382 - debug_assert!((offset as usize) < self.memory[block as usize].len()); 383 + assert!( 384 + (block as usize) < self.memory.len() 385 + && (offset as usize) < self.memory[block as usize].len() 386 + ); 383 387 self.memory[block as usize][offset as usize] = value; 384 388 } 385 389 386 390 fn duplicate_memory(&mut self, block: Platter) -> &[Platter] { 387 - debug_assert!((block as usize) < self.memory.len()); 391 + assert!((block as usize) < self.memory.len()); 388 392 self.memory[0] = self.memory[block as usize].clone(); 389 393 &self.memory[0] 390 394 } ··· 407 411 } 408 412 409 413 fn free_memory(&mut self, block: Platter) { 410 - debug_assert!((block as usize) < self.memory.len()); 414 + assert!((block as usize) < self.memory.len()); 411 415 #[cfg(feature = "reclaim-memory")] 412 416 { 413 417 self.free_blocks.push(block);