|  | @@ -2,7 +2,7 @@ use bitboard::Bitboard;
 | 
	
		
			
				|  |  |  use bitboard::Square;
 | 
	
		
			
				|  |  |  use bitboard::*;
 | 
	
		
			
				|  |  |  use game::Game;
 | 
	
		
			
				|  |  | -use hash::Cache;
 | 
	
		
			
				|  |  | +use hash::{Cache, EntryType};
 | 
	
		
			
				|  |  |  use log::info;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  pub type Side = bool;
 | 
	
	
		
			
				|  | @@ -205,7 +205,15 @@ pub fn sort_moves(game: &Game, hash: &mut Cache, move_list: &mut Vec<Move>) {
 | 
	
		
			
				|  |  |      move_list.sort_by_cached_key(|mov| {
 | 
	
		
			
				|  |  |          let new_game = crate::search::apply_move(game, *mov);
 | 
	
		
			
				|  |  |          if let Some(e) = hash.lookup(&new_game) {
 | 
	
		
			
				|  |  | -            return e.value;
 | 
	
		
			
				|  |  | +            if let EntryType::Value = e.entry_type {
 | 
	
		
			
				|  |  | +                return e.value;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            else if let EntryType::LowerBound = e.entry_type {
 | 
	
		
			
				|  |  | +                return e.value + 1000;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            else if let EntryType::UpperBound = e.entry_type {
 | 
	
		
			
				|  |  | +                return e.value - 1000;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          else {
 | 
	
		
			
				|  |  |              return crate::evaluate::evaluate(&new_game);
 |