make-complex-number-from-mag-ang
const makeComplexNumberFromMagAng = (mag, ang) => {
const dispatch = (op) => {
switch (op) {
case 'realPart':
return mag * Math.cos(ang);
case 'imagPart':
return mag * Math.sin(ang);
case 'magnitude':
return mag;
case 'angle':
return ang;
default:
throw new Error('Unknown op: ' + op);
}
}
return dispatch;
};
const z = makeComplexNumberFromMagAng(Math.sqrt(5), Math.atan(2));
console.log('real = ', z('realPart'));
console.log('imag = ', z('imagPart'));
console.log('mag = ', z('magnitude'));
console.log('ang = ', z('angle'));
no comments