## Feature #18179

open### Add Math methods to Numeric

**Description**

Hi, I wanted to get thoughts on adding class methods from `Math`

as instance methods on `Numeric`

.

```
x.sqrt # vs Math.sqrt(x)
x.log # vs Math.log(x)
```

Rust takes this approach and it (subjectively) feels more intuitive/object-oriented. It also seems more consistent with methods like `x.abs`

.

#### Updated by duerst (Martin Dürst) about 1 month ago

I support this. `x.sqrt`

is indeed more object-oriented that `Math.sqrt x`

. In an earlier discussion, it was pointed out that for Mathematicians, `sqrt(x)`

is more natural than `x.sqrt`

. Mathematicians can still use that notation, but also having the object-oriented notation in Ruby would indeed be great.

#### Updated by mrkn (Kenta Murata) about 1 month ago

I'm negative to this proposal. I don't think `Math.sqrt`

is the behavior or the property of a Numeric object. It is the positive square root function that maps from/to the set of non-negative real numbers.

If we introduce `Numeric#sqrt`

, we should expand its domain to negative numbers and Complex numbers. Also, it is better to consider other kinds of numbers, such as Quaternion.