ethereum/compiler — pull request #7 by dougbtv (2014-03-19 14:13:54+00:00)
Title: Fix for operand order

I noticed that operand order in:
* Division
* Modulo
* Greater-than
* Less-than

were not working as I expected, they seemed to be working with the operands transposed. Since addition and multiplication are commutative, they worked as expected. However, I had to change the order of the operands.

For an example, previous to this proposed change, if I issued:

foo = 8 / 2

foo would be equal to 0. However, if I issued:

foo = 2 / 8

foo would then be equal to 4.

Here is an example I was compiling and then running in the ethereum client in order to prove out the work.

```cpp
contract.storage[1000] = 15 / 3
contract.storage[1001] = 10 - 5
contract.storage[1002] = 10 + 5
contract.storage[1003] = 3 * 5
contract.storage[1004] = 10^2
if 10 > 11:
contract.storage[100] = 100
if 11 < 10:
contract.storage[100] = 100
```

In the case of success, address values should be:

@1000 = 5
@1001 = 5
@1002 = 15
@1003 = 15
@100 = 0

However, in the case of exponents, I was no getting the results that I expected. This may require further review.