Issue #17318 has been updated by Dan0042 (Daniel DeLorme).


Also see #16677 w/r edge cases.

    -0.4**0.9        #=> -0.4383832905540869
    -0.4.to_f**0.9   #=> (-0.416927285116376+0.13546788683122327i)
    -(0.4).to_f**0.9 #=> -0.4383832905540869


----------------------------------------
Bug #17318: Raising float to the power of other issue
https://bugs.ruby-lang.org/issues/17318#change-88476

* Author: deXterbed (Manoj Mishra)
* Status: Rejected
* Priority: Normal
* ruby -v: 2.6.3
* Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN
----------------------------------------
Raising a negative float to another float results in a complex number. Interestingly, doing the same thing without using variables works fine!

Sample Snippet:

$ irb
2.6.3 :001 > x=-0.4790529833050308
 => -0.4790529833050308
2.6.3 :002 > y=0.9918032786885246
 => 0.9918032786885246
2.6.3 :003 > x**y
 => (-0.48179173935576963+0.012409246172848264i)
2.6.3 :004 > -0.4790529833050308**0.9918032786885246
 => -0.4819515219418196



-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>