RosettaCodeData/Task/Arithmetic-derivative/MAD/arithmetic-derivative.mad

43 lines
1.2 KiB
Plaintext

NORMAL MODE IS INTEGER
INTERNAL FUNCTION(X,Y)
ENTRY TO REM.
FUNCTION RETURN X-(X/Y)*Y
END OF FUNCTION
INTERNAL FUNCTION(N)
ENTRY TO DERIV.
R = N
WHENEVER R.L.0, R = -R
WHENEVER R.L.2, FUNCTION RETURN 0
S = 0
FAC2 WHENEVER REM.(R,2).E.0
S = S + N/2
R = R/2
TRANSFER TO FAC2
END OF CONDITIONAL
THROUGH FAC, FOR F=3, 2, F.G.R
FACF WHENEVER REM.(R,F).E.0
S = S + N/F
R = R/F
TRANSFER TO FACF
END OF CONDITIONAL
FAC CONTINUE
FUNCTION RETURN S
END OF FUNCTION
VECTOR VALUES LINEF = $10(I6)*$
DIMENSION LINE(10)
C = 0
THROUGH ITEM, FOR I=-99, 1, I.G.100
LINE(C) = DERIV.(I)
C = C+1
WHENEVER C.E.10
PRINT FORMAT LINEF,
0 LINE(0),LINE(1),LINE(2),LINE(3),LINE(4),
1 LINE(5),LINE(6),LINE(7),LINE(8),LINE(9)
C = 0
END OF CONDITIONAL
ITEM CONTINUE
END OF PROGRAM