forked from bonsai/harakit
		
	rpn(1): added floor division
This commit is contained in:
		
							parent
							
								
									42d268319e
								
							
						
					
					
						commit
						b68f13acdc
					
				| @ -50,7 +50,7 @@ use std::{ | ||||
| 	process::ExitCode, | ||||
| }; | ||||
| 
 | ||||
| use CalcType::{ Add, Divide, Modulo, Multiply, Power, Subtract, Val }; | ||||
| use CalcType::{ Add, Divide, Floor, Modulo, Multiply, Power, Subtract, Val }; | ||||
| 
 | ||||
| extern crate sysexits; | ||||
| 
 | ||||
| @ -64,6 +64,7 @@ enum CalcType { | ||||
| 	Multiply, | ||||
| 	Divide, | ||||
| 	Power, | ||||
| 	Floor, | ||||
| 	Modulo, | ||||
| 	Val(f64), | ||||
| } | ||||
| @ -97,6 +98,7 @@ fn str_to_calc_type(string: &str) -> Option<CalcType> { | ||||
| 		"*" => Some(Multiply), | ||||
| 		"/" => Some(Divide), | ||||
| 		"^" => Some(Power), | ||||
| 		"//" => Some(Floor), | ||||
| 		"%" => Some(Modulo), | ||||
| 		_ => None, | ||||
| 	} | ||||
| @ -153,6 +155,7 @@ fn eval( | ||||
| 					Multiply => &stack.push_back(y * x), | ||||
| 					Divide => &stack.push_back(y / x), | ||||
| 					Power => &stack.push_back(x.powf(*y)), | ||||
| 					Floor => &stack.push_back((y / x).floor()), | ||||
| 					Modulo => &stack.push_back(y % x), | ||||
| 					_ => &{}, | ||||
| 				}; | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user