# Strange Complex behaviour

**URL:** <https://www.ruby-forum.com/t/strange-complex-behaviour/78141>\
**Category:** Ruby\
**Created:** [March 8, 2006, 12:56am UTC](https://www.ruby-forum.com/t/strange-complex-behaviour/78141 "2006-03-08T00:56:48Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![SchSSS\_le\_Daniel](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/a183cd/32.png) [@SchSSS\_le\_Daniel](https://www.ruby-forum.com/u/SchSSS_le_Daniel)\
**Post date:** [March 8, 2006, 12:56am UTC](https://www.ruby-forum.com/t/strange-complex-behaviour/78141/1 "2006-03-08T00:56:48Z")

</div>

Hello all,

I encountered a strange behaviour

irb(main):041:0\* c = Complex(1.0,1.0)  
=\> Complex(1.0, 1.0)  
irb(main):042:0\> p = Complex.polar(2\*\*0.5,45.0/360_2_PI)  
=\> Complex(1.0, 1.0)  
irb(main):043:0\> c == p  
=\> false  
irb(main):044:0\> c\_ = Complex(1.0,1.0)  
=\> Complex(1.0, 1.0)  
irb(main):045:0\> c\_ == c  
=\> true  
irb(main):046:0\>

I would strongly expect c and p to be equal  
if c would be created from Fixnum’s  
than the result would be “explainable”  
but still

irb(main):047:0\* c = Complex(1,1)  
=\> Complex(1, 1)

Regards, Daniel

---

<div class="post-metadata">

**Author:** ![SchSSS\_le\_Daniel](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/a183cd/32.png) [@SchSSS\_le\_Daniel](https://www.ruby-forum.com/u/SchSSS_le_Daniel)\
**Post date:** [March 8, 2006, 3:03am UTC](https://www.ruby-forum.com/t/strange-complex-behaviour/78141/2 "2006-03-08T03:03:33Z")

</div>

Doesn’t Complex hold floats? Rounding errors?  
Comparing float to float is tricksy business…
