Complex Numbres


Can you j oporator to define a complex numbers?
like this
val complex = 3 + j4
val complex = 3 + i4

data class Complex(val re: Double, val im: Double)

val Double.j: Complex
  get() = Complex(0, this)

operator fun Complex): Complex{
  return Complex(this +,

val res = 3 + 4.j

Of course you need to redeclare all mathematical operators. Also I recommend to use Commons Math or Commons Number complex implementation under the Complex class hood.


that’s great
But I want them to add them to the basic Library of the language


What do you mean by “add them to the basic Library”? Using darksnakes example and also using Commons Math/Numbers for the calculations should work fine for you in your projects. If you are talking about a PR to the Kotlin Standard Library I don’t think there is a high chance it will be accepted as complex numbers normally aren’t part of the standard library as they are not that widely used.


we use too much, and i liked Kotlin :star_struck::star_struck: ,
is there any place to put my suggestion ?


The reality is that complex numbers will never be a part of standard library. At least for kotlin. I was a bit shocked to find them in c++ standard library, but c++ does not have packaging system and it tends to accumulate everything in standard library.

I am working with a wrapper for commons math and I could decouple it from my project and launch as a separate library, but only if there are people wanting to contribute, because I currently do not have time to do it all on my own.


Catch the opportunity to publish your code on GitHub/GitLab :wink:


Having small, independent libraries is the way to go. Take a look at the XML APIs of the JDK to see what should be avoided … By the way, that is also the way Rust goes with its small standard library. There is a small crate for complex numbers as there are libs for thousands of other things.

So, maybe it’s a good chance to start such a project on GitHub as it seems like two potential contributors had just found each other :wink:


okey, thank every body :kissing_heart::kissing_heart:
I’ll start building it as a small library :star_struck: :star_struck: :star_struck: