Phasor.rb: Complex number class using polar coordinates
I am writing a sound synthesis program, and I needed a way to easily generate and manipulate complex sound samples (analytic signal), so I wrote a new class by adapting the Ruby Complex Number class by Keiju ISHITSUKA to make calculations using polar coordinates.
I know the complex number class in 1.9 is written in C, but I hope this would inspire someone to make a C version using polar coordinates too... Anyway, do what you wish with this. As I mainly needed to multiply and add phasors with scalars, some methods may have bugs or inaccuracies with complex arguments. There are still some weirdness in substraction (2 tests fail), and most of the trigonometry functions are absent.
I tried to use svn diff to make a patch file out of the class, but that didn't work as expected - diff didn't see my file at all, but instead tried to diff against several other files, so I will just attach the file and unit tests here.
Updated by mame (Yusuke Endoh) over 10 years ago
Bumping this. Please let us know your opinion.
IMHO, it is not Ruby way to define another class that has the same set
of methods and different representation. That's like defining a "List"
class for "Array."
But part of me also is purely interested in the feature.
Yusuke Endoh email@example.com