示例#1
0
文件: square.hpp 项目: risuon/apery
inline bool isAligned(const Square from, const Square to, const Square ksq) {
	const Direction direc = squareRelation(from, ksq);
	if (FROM_KSQ_NEVER_BE_DIRECMISC) {
		assert(direc != DirecMisc);
		return (direc == squareRelation(from, to));
	}
	else {
		return (direc != DirecMisc && direc == squareRelation(from, to));
	}
}
示例#2
0
inline bool isAligned(const Square from, const Square to, const Square ksq) {
//	return ((betweenBB(from, to) | betweenBB(from, ksq) | betweenBB(to, ksq))
//			& (setMaskBB(from) | setMaskBB(to) | setMaskBB(ksq))).isNot0();
	const Direction direc = squareRelation(from, ksq);
	if(FROM_KSQ_NEVER_BE_DIRECMISC) {
		return (direc == squareRelation(from, to));
	}
	else {
		return (direc != DirecMisc && direc == squareRelation(from, to));
	}
}