From: mame@... Date: 2020-11-11T15:23:16+00:00 Subject: [ruby-core:100787] [Ruby master Bug#17318] Raising float to the power of other issue Issue #17318 has been updated by mame (Yusuke Endoh). Status changed from Open to Rejected It is due to precedence of operators unary minus and `**`. `x**y` calculates `(-0.4790529833050308)**0.9918032786885246`, and `-0.4790529833050308**0.9918032786885246` calculates `-(0.4790529833050308**0.9918032786885246)`. ``` irb(main):001:0> -(0.4790529833050308**0.9918032786885246) => -0.4819515219418196 irb(main):002:0> (-0.4790529833050308)**0.9918032786885246 => (-0.48179173935576963+0.012409246172848266i) ``` ---------------------------------------- Bug #17318: Raising float to the power of other issue https://bugs.ruby-lang.org/issues/17318#change-88432 * 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: