The below is right from the solidity readTheDocs page. Its from the Safe Remote Purchase section on https://solidity.readthedocs.io/en/develop/solidity-by-example.html#micropayment-channel.
function Purchase() payable {
seller = msg.sender;
value = msg.value / 2;
require((2 * value) == msg.value);
}
What are the last two lines doing? Dividing the value by two and then requiring that the inverse must be equal to the original number. What's the point? I must be missing something.