&key error-if-not-found?)
(bind ((v1 (find-vertex graph value-1 error-if-not-found?))
(v2 (find-vertex graph value-2 error-if-not-found?)))
- (aif (and v1 v2 (find-edge-between-vertexes-if graph v1 v2 fn))
- it
- (when error-if-not-found?
- (error 'graph-edge-not-found-error :vertex-1 v1 :vertex-2 v2)))))
+ (or (and v1 v2 (find-edge-between-vertexes-if graph v1 v2 fn))
+ (when error-if-not-found?
+ (error 'graph-edge-not-found-error :vertex-1 v1 :vertex-2 v2)))))
;;; ---------------------------------------------------------------------------
(iterate-elements (vertex-edges vertex)
(lambda (edge)
(when (or (undirected-edge-p edge)
- (eq vertex (target-vertex edge)))
+ (eq vertex (source-vertex edge)))
(funcall fn edge)))))
;;; ---------------------------------------------------------------------------
(iterate-elements (vertex-edges vertex)
(lambda (edge)
(when (or (undirected-edge-p edge)
- (eq vertex (source-vertex edge)))
+ (eq vertex (target-vertex edge)))
(funcall fn edge)))))
;;; ---------------------------------------------------------------------------
(defmethod iterate-children ((vertex graph-container-vertex) fn)
- (iterate-target-edges vertex
+ (iterate-source-edges vertex
(lambda (edge)
(funcall fn (other-vertex edge vertex)))))
;;; ---------------------------------------------------------------------------
(defmethod iterate-parents ((vertex graph-container-vertex) fn)
- (iterate-source-edges vertex
+ (iterate-target-edges vertex
(lambda (edge)
(funcall fn (other-vertex edge vertex)))))