srecord Complex(double re, double im) { double abs() { ret sqrt(re*re+im*im); } double re() { ret re; } double im() { ret im; } toString { if (im != 0) ret re == 0 ? im + "i" : re + "+" + im + "i"; else ret str(re); } }