Chris@222: module yetilab.vector.test.test_complex; Chris@53: Chris@145: { real, imaginary, complex, magnitude, angle, add, scale, zeros, magnitudes, angles } Chris@273: = load yetilab.complex; Chris@53: Chris@93: { compare } = load yetilab.test.test; Chris@53: Chris@273: vec = load yetilab.vector; Chris@145: Chris@53: [ Chris@53: Chris@53: "complex": \( Chris@53: compare (complex 1 2) (complex 1 2) and Chris@53: complex (-1) 2 != complex 1 2 Chris@53: ), Chris@53: Chris@53: "real": \( Chris@53: compare (real (complex 3 2)) 3 Chris@53: ), Chris@53: Chris@53: "imaginary": \( Chris@53: compare (imaginary (complex 3 4)) 4 Chris@53: ), Chris@53: Chris@53: "magnitude": \( Chris@53: compare (magnitude (complex (-3) 4)) 5 Chris@53: ), Chris@53: Chris@53: "angle": \( Chris@53: compare (angle (complex 1 0)) 0 and Chris@53: compare (angle (complex 1 1)) (pi/4) and Chris@53: compare (angle (complex 0 1)) (pi/2) and Chris@53: compare (angle (complex (-1) 0)) pi and Chris@53: compare (angle (complex 0 (-1))) (-pi/2) Chris@53: ), Chris@53: Chris@53: "add": \( Chris@53: compare (add (complex 2 3) (complex (-4) 5)) (complex (-2) 8) Chris@53: ), Chris@53: Chris@53: "scale": \( Chris@53: compare (scale 4 (complex 2 3)) (complex 8 12) Chris@53: ), Chris@53: Chris@142: "zeros": \( Chris@142: compare (zeros 0) (array []) and Chris@142: compare (zeros 3) (array [complex 0 0, complex 0 0, complex 0 0]) Chris@142: ), Chris@142: Chris@145: "magnitudes": \( Chris@218: compare (vec.list (magnitudes [ complex (-3) 4, complex 4 3, complex 0 0 ])) Chris@145: [ 5, 5, 0 ] and Chris@218: compare (vec.list (magnitudes (array []))) [] Chris@145: ), Chris@145: Chris@145: "angles": \( Chris@218: compare (vec.list (angles [ complex 1 0, complex (-1) 0, complex 0 (-1) ])) Chris@145: [ 0, pi, -pi/2 ] and Chris@218: compare (vec.list (angles (array []))) [] Chris@145: ), Chris@145: Chris@145: Chris@53: ] is hash boolean>; Chris@53: Chris@53: Chris@53: