perm filename CYCDRC.PRT[4,LMM] blob
sn#037521 filedate 1973-04-23 generic text, type T, neo UTF8
(DEFPROP CYCDRCFNS (CYCDRCFNS SORTLN SRTLNA)
VALUE)
(DEFPROP SORTLN (LAMBDA
NIL
(PROG (L X X1 X2 X3 Y Y1 I)
(FOR I := (1.0 NMX)
DO
(STORE (TMP I)
(LENGTH (CONN I))))
(FOR I IN PATSELECT DO (STORE (TMP (CAR I))
20.0))
(SETQ L NIL)
(SETQ Y1 (TIMES NMX 10.0))
(SETQ Y NIL)
A
(SETQ X1 0.0)
(SETQ X2 NIL)
(FOR X IN LINE IF (NOT (MEMBER X L))
DO
(SETQ X3 (PLUS (TMP (CAAR X))
(TMP (CDAR X))))
(COND ((LESSP X1 X3)
(PROG2 (SETQ X1 X3)
(SETQ X2 X)))))
(COND ((AND Y (NOT (MEMBER (CAAR X2)
Y)))
(RPLACA X2 (CONS (CDAR X2)
(CAAR X2)))))
(SETQ Y (SRTLNA (CAAR X2)
Y Y1))
(SETQ Y (SRTLNA (CDAR X2)
Y Y1))
(SETQ Y1 (PLUS Y1 -10.0))
(SETQ L (CONS X2 L))
(COND ((LESSP (LENGTH L)
LLN)
(GO A)))
(RETURN (SETQ LINE (REVERSE L)))))
EXPR)
(DEFPROP SRTLNA (LAMBDA (X Y Y1)
(PROG NIL (COND ((MEMBER X Y)
(RETURN Y)))
(STORE (TMP X)
(PLUS Y1 (TMP X)))
(RETURN (CONS X Y))))
EXPR)
STOP