A large commit.
[pdp8.git] / sw / os8 / v3d / sources / fortran / all / cabs.ra
diff --git a/sw/os8/v3d/sources/fortran/all/cabs.ra b/sw/os8/v3d/sources/fortran/all/cabs.ra
new file mode 100644 (file)
index 0000000..ab166b0
--- /dev/null
@@ -0,0 +1,57 @@
+/
+/   C A B S
+/   - - - -
+/
+/ VERSION 5A 4-27-77  PT
+/
+/ENTER IN COMPLEX, EXIT IN REAL
+/
+/Z=X+IY
+/
+/CABS(Z)=SQRT(X^2+Y^2)
+/
+       DPCHK
+       SECT    CABS
+       JA      #CABS
+       TEXT    +CABS  +
+CABSXR,        SETX    XRCABS
+       SETB    BPCABS
+       JA      .+3
+BPCABS,        F 0.0
+XRCABS,        F 0.0
+ARG,   F 0.0
+       F 0.0
+       ORG     10*3+BPCABS
+       FNOP
+       JA      CABSXR
+       0
+CABSRT,        JA      .
+       BASE    0
+#CABS, STARTD
+       FLDA    10*3
+       FSTA    CABSRT
+       FLDA    0
+       SETB    BPCABS
+       SETX    XRCABS
+       BASE    BPCABS
+       LDX     1,1
+       FSTA    BPCABS
+       FLDA%   BPCABS,1
+       FSTA    BPCABS
+       STARTE
+       FLDA%   BPCABS
+       FSTA    ARG
+       STARTF
+       FLDA    ARG
+       FMULM   ARG             /X^2
+       FLDA    ARG+3           /Y
+       FMUL    ARG+3           /Y^2
+       FADD    ARG             /X^2+Y^2
+       FSTA    ARG
+       EXTERN  SQRT
+       JSR     SQRT
+       JA      RT1
+       JA      ARG
+RT1,   JA      CABSRT
+       EXTERN  #CAC
+\f