forked from bonsai/harakit
		
	rpn(1): highest possible precision
This commit is contained in:
		
							parent
							
								
									942e284f93
								
							
						
					
					
						commit
						5debb9d954
					
				| @ -78,6 +78,10 @@ impl fmt::Display for EvaluationError { | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| // I’m no math nerd but I want the highest possible approximation of 0.9
 | ||||
| // repeating and it seems this can give it to me
 | ||||
| const PRECISION_MOD: f64 = 0.9 + f64::EPSILON * 100.0; | ||||
| 
 | ||||
| // str_to_calc_type converts a string to an optional `CalcType`.
 | ||||
| fn str_to_calc_type(string: &str) -> Option<CalcType> { | ||||
| 	let as_int = string.parse::<f64>(); | ||||
| @ -186,7 +190,7 @@ fn main() -> ExitCode { | ||||
| 	let argv = args().collect::<Vec<String>>(); | ||||
| 	let mut stack = VecDeque::new(); | ||||
| 	let mut buf = String::new(); | ||||
| 	let precision = (-f64::EPSILON.log10() * 0.999).ceil() as usize; | ||||
| 	let precision = (-f64::EPSILON.log10() * PRECISION_MOD).ceil() as usize; | ||||
| 	
 | ||||
| 	if argv.get(1).is_none() { | ||||
| 		while let Ok(_) = stdin().read_line(&mut buf) { | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user