.TITLE .CSPLG / / SINGLE PRECISION COMPLEX LOGARITHM / .GLOBL CLOG .GLOBL .ALOG,.ATAN,.SPRLD,.SPRST,.SPRDV,.ERROR,.LDREL,.LODBS .GLOBL .CHKMS,.SPBAI,.MODCN,.SPCAB,.SWPIT,.SWPBI,.SPBIA .GLOBL .MODEA,.SIGNA,.MOSTA,.SGNIA,.MSTIA,.ADDR1 .GLOBL .GRAB / CLOG XX JMS* .GRAB JMS* .CHKMS /SET MODE LAC* .MOSTA SZA JMP CLGANZ SAD* .MSTIA JMP CLOGER /ERROR, ARGUMENT IS ZERO JMS* .SWPIT /AI TO A, A WAS ZERO LAC (PIBY2 JMS* .SPRLD JMS* .SPBAI /PI/2 TO AI LAC* .SIGNA DAC* .SGNIA /SET SIGN OF IMAGINARY PART DZM* .SIGNA JMP CLREL CLGANZ JMS* .SWPBI /A TO BI JMS* .LODBS /A TO B JMS* .SWPIT /AI TO A JMS* .SPRDV /AI/A LAC* .MODEA JMS* .ATAN /ATAN(AI/A) LAC .ADDR1 JMS* .SPRST /STORE IMAGINARY PART JMS* .SPBIA /BI TO A JMS* .SPCAB /TAKE MAGNITUDE OF A,AI LAC .ADDR1 JMS* .SPRLD /GET IMAGINARY PART JMS* .SPBAI /B TO AI CLREL LAC* .MODEA JMS* .ALOG /LOG(ABS(Z)) CLGEXT JMS* .MODCN /RESET MODE JMP* CLOG / CLOGER LAW 32 JMS* .ERROR /ZERO ARGUMENT , ISSUE ERROR JMP CLGEXT / PIBY2 1; 444176; 325042; 055060; 432305 / .END