From: mame@... Date: 2020-11-13T17:09:33+00:00 Subject: [ruby-core:100836] [Ruby master Bug#17318] Raising float to the power of other issue Issue #17318 has been updated by mame (Yusuke Endoh). deXterbed (Manoj Mishra) wrote in #note-3: > ``` > def raise(a, b) > return -((a.abs)**b) if a < 0 > a**b > end > ``` I don't think that this should be the default behavior because `raise(-1, 2)` returns `-1` but I expect the square of `-1` to be `1`. ---------------------------------------- Bug #17318: Raising float to the power of other issue https://bugs.ruby-lang.org/issues/17318#change-88478 * 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: