func init // adds using namespace sys.add_use('System.Numerics') // initialize instance params = '' + d("ComplexReal") + ', ' + d("ComplexImaginary") sys.add_object(this.codename, 'Complex', params) // makes implementation methods for properties sys._prop_init('Imaginary', 1, 0, 7) sys._prop_init('ImaginaryOne', 1, 0, 7, 'Complex') sys._prop_init('Magnitude', 1, 0, 7) sys._prop_init('One', 1, 0, 0, 'Complex') sys._prop_init('Phase', 1, 0, 7) sys._prop_init('Real', 1, 0, 7) sys._prop_init('Zero', 1, 0, 0, 'Complex') // makes implementation of methods as properties sys._mtd_as_prop_init('GetHashCode()') sys._mtd_as_prop_init('ToString()') sys._mtd_as_prop_init('Complex') end func doConstructor(ComplexReal, ComplexImaginary) blk.println(this.codename, ' = new Complex(', d("ComplexReal"), ', ', d("ComplexImaginary"), ');') end func doEquals(value) if(linked("onEquals")) event("onEquals", this.codename + '.Equals(' + d("value") + ')') else blk.println(this.codename, '.Equals(', d("value"), ');') end end