@Override
 public Complex noise() {
   return Complex.polar(mag.noise(), 2 * Math.PI * angle.noise());
 }
 @Override
 public void randomSeed() {
   mag.randomSeed();
   angle.randomSeed();
 }
 @Override
 public double pdf(Complex x) {
   return mag.pdf(x.abs()) / 2 * Math.PI;
 }