X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=dev%2Fgraph-container.lisp;h=1e24d332fc502a916f7e40883c41113d0ad9d1b1;hb=63b8fd870436113d8d196d94f1e6f2eabfe7f786;hp=7c9bf2f4aae0d33400a89a59e16f64de5b35245c;hpb=a3062aaed0bb42f1bbbc7cf6d1a2cf14c277a712;p=cl-graph.git diff --git a/dev/graph-container.lisp b/dev/graph-container.lisp index 7c9bf2f..1e24d33 100644 --- a/dev/graph-container.lisp +++ b/dev/graph-container.lisp @@ -149,7 +149,7 @@ DISCUSSION &key force-new?) (declare (ignore force-new?)) - (bind ((vertex-1 (vertex-1 edge)) + (let ((vertex-1 (vertex-1 edge)) (vertex-2 (vertex-2 edge))) (cond ((eq vertex-1 vertex-2) @@ -209,7 +209,7 @@ DISCUSSION (value-2 t) fn &key error-if-not-found?) - (bind ((v1 (find-vertex graph value-1 error-if-not-found?)) + (let ((v1 (find-vertex graph value-1 error-if-not-found?)) (v2 (find-vertex graph value-2 error-if-not-found?))) (or (and v1 v2 (find-edge-between-vertexes-if graph v1 v2 fn)) (when error-if-not-found? @@ -268,7 +268,7 @@ DISCUSSION (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))))) ;;; --------------------------------------------------------------------------- @@ -277,20 +277,20 @@ DISCUSSION (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)))))