Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (defun max-coords-needed (piece)
- (loop for dest in piece
- if (keywordp (first dest))
- maximize (reduce #'+ (subseq dest 2) :key #'first) into max-x and
- maximize (reduce #'+ (subseq dest 2) :key #'second) into max-y
- else
- maximize (first dest) into max-x and
- maximize (second dest) into max-y
- finally (return (list max-x max-y))))
- ; in: DEFUN MAKE-DIAGRAM-ARRAY
- ; (LOOP FOR DEST IN PIECE
- ; IF (KEYWORDP (FIRST DEST))
- ; MAXIMIZE (REDUCE #'+ (SUBSEQ DEST 2) :KEY #'FIRST) INTO MAX-X
- ; AND ...)
- ; --> BLOCK LET SB-LOOP::WITH-MINIMAX-VALUE
- ; ==>
- ; (LET ((MAX-X 0) (#:LOOP-MAXMIN-TEMP-1 0) (#:LOOP-MAXMIN-FLAG-2 NIL))
- ; (DECLARE (TYPE REAL MAX-X #:LOOP-MAXMIN-TEMP-1))
- ; (SB-LOOP::WITH-MINIMAX-VALUE #S(SB-LOOP::LOOP-MINIMAX
- ; :ANSWER-VARIABLE MAX-Y
- ; :TYPE REAL
- ; :TEMP-VARIABLE #:LOOP-MAXMIN-TEMP-3
- ; :FLAG-VARIABLE #:LOOP-MAXMIN-FLAG-4
- ; :OPERATIONS (MAX)
- ; :INFINITY-DATA NIL)
- ; (SB-LOOP::WITH-MINIMAX-VALUE #S(SB-LOOP::LOOP-MINIMAX
- ; :ANSWER-VARIABLE MAX-X
- ; :TYPE REAL
- ; :TEMP-VARIABLE #:LOOP-MAXMIN-TEMP-1
- ; :FLAG-VARIABLE #:LOOP-MAXMIN-FLAG-2
- ; :OPERATIONS (MAX)
- ; :INFINITY-DATA NIL)
- ; (SB-LOOP::WITH-MINIMAX-VALUE #S(SB-LOOP::LOOP-MINIMAX
- ; :ANSWER-VARIABLE MAX-Y
- ; :TYPE REAL
- ; :TEMP-VARIABLE #:LOOP-MAXMIN-TEMP-3
- ; :FLAG-VARIABLE #:LOOP-MAXMIN-FLAG-4
- ; :OPERATIONS #
- ; :INFINITY-DATA NIL)
- ; (SB-LOOP::LOOP-BODY NIL # # # #)))))
- ;
- ; caught STYLE-WARNING:
- ; The variable MAX-X is defined but never used.
- ;
- ; caught STYLE-WARNING:
- ; The variable #:LOOP-MAXMIN-TEMP-1 is defined but never used.
- ;
- ; caught STYLE-WARNING:
- ; The variable #:LOOP-MAXMIN-FLAG-2 is defined but never used.
- ; --> BLOCK LET SB-LOOP::WITH-MINIMAX-VALUE LET
- ; --> SB-LOOP::WITH-MINIMAX-VALUE
- ; ==>
- ; (LET ((MAX-Y 0) (#:LOOP-MAXMIN-TEMP-3 0) (#:LOOP-MAXMIN-FLAG-4 NIL))
- ; (DECLARE (TYPE REAL MAX-Y #:LOOP-MAXMIN-TEMP-3))
- ; (SB-LOOP::WITH-MINIMAX-VALUE #S(SB-LOOP::LOOP-MINIMAX
- ; :ANSWER-VARIABLE MAX-X
- ; :TYPE REAL
- ; :TEMP-VARIABLE #:LOOP-MAXMIN-TEMP-1
- ; :FLAG-VARIABLE #:LOOP-MAXMIN-FLAG-2
- ; :OPERATIONS (MAX)
- ; :INFINITY-DATA NIL)
- ; (SB-LOOP::WITH-MINIMAX-VALUE #S(SB-LOOP::LOOP-MINIMAX
- ; :ANSWER-VARIABLE MAX-Y
- ; :TYPE REAL
- ; :TEMP-VARIABLE #:LOOP-MAXMIN-TEMP-3
- ; :FLAG-VARIABLE #:LOOP-MAXMIN-FLAG-4
- ; :OPERATIONS (MAX)
- ; :INFINITY-DATA NIL)
- ; (SB-LOOP::LOOP-BODY NIL (# # NIL #) (#) (# # NIL #) (#)))))
- ;
- ; caught STYLE-WARNING:
- ; The variable MAX-Y is defined but never used.
- ;
- ; caught STYLE-WARNING:
- ; The variable #:LOOP-MAXMIN-TEMP-3 is defined but never used.
- ;
- ; caught STYLE-WARNING:
- ; The variable #:LOOP-MAXMIN-FLAG-4 is defined but never used.
- ;
- ; compilation unit finished
- ; caught 6 STYLE-WARNING conditions
Advertisement
Add Comment
Please, Sign In to add comment