X-Git-Url: https://git.sesse.net/?p=stockfish;a=blobdiff_plain;f=src%2Ftypes.h;h=10dfdb07183d1a09c7f8b281f8b71bb1e7301445;hp=7c1b72b144eee090de89539d29701c1b457083a3;hb=f2f3a06a1acfa14b3054bfd73d6c3966c326a7cc;hpb=9742fb10fd83e82ad760e4cac5cef3d6dff670ed diff --git a/src/types.h b/src/types.h index 7c1b72b1..10dfdb07 100644 --- a/src/types.h +++ b/src/types.h @@ -1,7 +1,8 @@ /* Stockfish, a UCI chess playing engine derived from Glaurung 2.1 Copyright (C) 2004-2008 Tord Romstad (Glaurung author) - Copyright (C) 2008-2016 Marco Costalba, Joona Kiiski, Tord Romstad + Copyright (C) 2008-2015 Marco Costalba, Joona Kiiski, Tord Romstad + Copyright (C) 2015-2016 Marco Costalba, Joona Kiiski, Gary Linscott, Tord Romstad Stockfish is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -59,13 +60,12 @@ /// _WIN64 Building on Windows 64 bit #if defined(_WIN64) && defined(_MSC_VER) // No Makefile used -# include // MSVC popcnt and bsfq instrinsics +# include // Microsoft header for _BitScanForward64() # define IS_64BIT -# define USE_BSFQ #endif -#if defined(USE_POPCNT) && defined(__INTEL_COMPILER) && defined(_MSC_VER) -# include // Intel header for _mm_popcnt_u64() intrinsic +#if defined(USE_POPCNT) && (defined(__INTEL_COMPILER) || defined(_MSC_VER)) +# include // Intel and Microsoft header for _mm_popcnt_u64() #endif #if !defined(NO_PREFETCH) && (defined(__INTEL_COMPILER) || defined(_MSC_VER)) @@ -184,10 +184,10 @@ enum Value : int { VALUE_MATED_IN_MAX_PLY = -VALUE_MATE + 2 * MAX_PLY, PawnValueMg = 198, PawnValueEg = 258, - KnightValueMg = 817, KnightValueEg = 846, - BishopValueMg = 836, BishopValueEg = 857, - RookValueMg = 1270, RookValueEg = 1281, - QueenValueMg = 2521, QueenValueEg = 2558, + KnightValueMg = 817, KnightValueEg = 896, + BishopValueMg = 836, BishopValueEg = 907, + RookValueMg = 1270, RookValueEg = 1356, + QueenValueMg = 2521, QueenValueEg = 2658, MidgameLimit = 15581, EndgameLimit = 3998 }; @@ -354,7 +354,7 @@ inline Piece make_piece(Color c, PieceType pt) { return Piece((c << 3) | pt); } -inline PieceType type_of(Piece pc) { +inline PieceType type_of(Piece pc) { return PieceType(pc & 7); }