inline constructor
fix bug

- fix commutative operation
- remove unnecessary cast
add failed test

- add the test that is fixed now
Merge pull request #1 from pleclech/master

bug fixing and improvement