# Complex(-0.0, -0.0) & Unify

**URL:** <https://www.ruby-forum.com/t/complex-0-0-0-0-unify/129274>\
**Category:** Development\
**Created:** [February 16, 2008, 1:24am UTC](https://www.ruby-forum.com/t/complex-0-0-0-0-unify/129274 "2008-02-16T01:24:39Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Tadayoshi\_F](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/2bfe46/32.png) [@Tadayoshi\_F](https://www.ruby-forum.com/u/Tadayoshi_F)\
**Post date:** [February 16, 2008, 1:24am UTC](https://www.ruby-forum.com/t/complex-0-0-0-0-unify/129274/1 "2008-02-16T01:24:39Z")

</div>

r14020 e$B$G!"5uIt$Ne(B -0.0  
e$B$rJ]B8$9$k$h$&$K$J$C$?$h$&$G$9$,!"e(Bmathn e$B$7$Fe(B  
Unify e$B$5$l$k$He(B -0.0  
e$B$K$J$C$F$7$^$$!"7k2LE\*$K\>pJs$,\<:$o$l$k$3$H$K$J$j$^e(B  
e$B$9!#e(B

$ ruby19 -r complex -e ‘c=Complex(-0.0, -0.0); p [c, c.image.class]’  
[Complex(-0.0, -0.0), Float]

$ ruby19 -r mathn -e ‘c=Complex(-0.0, -0.0); p [c, c.image.class]’  
[-0.0, Fixnum]

e$B$^$?!“e(B-0.0 e$B$N5uIt$,$”$k$H$$$&$3$H$O!"e(Bto\_s  
e$B$G$bLdBj$K$J$j$^$9!#e(B

$ ruby19 -r complex -e ‘p Complex(-1.0, -0.0).to\_s’  
“-1.0±0.0i”

e$BMWAG$,IbF0\>.?tE@?t$G$"$k\>l9g$O!"e(BUnify  
e$B$7$J$$$H0l1~KI$2$k$H;W$$$^$9!#e(B

Common Lisp e$B$G$O!“MWAG$,IbF0\>.?tE@?t$G$”$k$H$-e(B canonicalization  
e$B$,$J$$e(B  
e$B$N$G!“e(B#c(5.0 0.0) e$B$,e(B 5.0  
e$B$K$J$C$?$j$O$7$^$;$s$,!“5uIt$NId9f$,J]B8$5$le(B  
e$B$k$+$I$&$+$OJLLdBj$N$h$&$G$9e(B  
(e$B;EMM=q$K$b$”$k=hM}7O$K$h$kIbF0\>.?tE@?t\<+e(B  
e$BBN$N$”$D$+$$$N0c$$$H$7$Fe(B)e$B!#e(B

CMU Common Lisp e$B$N\>l9ge(B

- #c(-0.0 -0.0)

#C(-0.0 -0.0)

- (decode-float (imagpart #c(-0.0 -0.0)))

0.0  
-126  
-1.0

CLISP e$B$N\>l9ge(B  
[1]\> #c(-0.0 -0.0)  
#C(0.0 0.0)  
[2]\> (decode-float (imagpart #c(-0.0 -0.0)))  
0.0 ;  
0 ;  
1.0

factor e$B$Oe(B Common Lisp e$B$HF1$8$+$H;W$C$?$i0c$C$?!#e(B

( scratchpad ) USE: math.functions  
( scratchpad ) C{ 1.0 2.0 } .  
C{ 1.0 2.0 }  
( scratchpad ) C{ -0.0 -0.0 } .  
-0.0  
( scratchpad ) -0.0 dup rect\> .  
-0.0
