|
(50G) Complex (a b)_> a+ib_> Euler & Euler_> a+ib +- HP Forums (https://www.hpmuseum.org/forum) +-- Forum: HP Software Libraries (https://www.hpmuseum.org/forum/forum-10.html) +--- Forum: General Software Library (https://www.hpmuseum.org/forum/forum-13.html) +--- Thread: (50G) Complex (a b)_> a+ib_> Euler & Euler_> a+ib (/thread-23844.html) |
(50G) Complex (a b)_> a+ib_> Euler & Euler_> a+ib - Gil - 2025-07-23 3 programs, that can be assigned to a key, to convert complex numbers into different formats: 1) (a, b) _> 'a+ib' 2) (a, b) or 'a+ib' _> Euler's form 3) Euler's form _> (a, b) & 'a+ib' 1) ab_>i \\<< -105 CF C\\->R \\-> a b \\<< \"'\" a 0 \\=/ IF THEN a DUP FP 0 == IF THEN R\\->I END \\->STR + END b 0 \\>= \"+i*\" \"-i*\" IFTE + b DUP FP 0 == IF THEN R\\->I END ABS + OBJ\\-> \\>> \\>> Example Input (5.,6.) Output '5+i*6' (5.,6.) 2) _>EULER \\<< -103 SF -105 SF EVAL -105 CF -3 CF RAD DUP ABS SWAP ARG i * EXP * \\>> Example Input (5.,6.) or '5+i*6' (5.,6.) Output '7.81024967591*EXP(.876058050598*i) 3) EULER_> \\<< RAD -105 CF OBJ\\-> DROP2 OBJ\\-> DROP2 OBJ\\-> 3 DROPN DUP2 COS * SWAP SIN ROT * R\\->C DUP ab\\->i \\>> Example Input '7.81024967591*EXP(.876058050598*i)' Outputs (5.00000000001,6.) & '5.00000000001+i*6' } |