diff --git a/network.ts b/network.ts index 8896ec6..8e56e5f 100644 --- a/network.ts +++ b/network.ts @@ -206,7 +206,13 @@ export class Network { if (!this.is_multigraph && this.hasEdge(args.from, args.to)) return false; // throw { message: ERROR.NOT_MULTIGRAPH }; - if (!this.is_directed) [args.from, args.to] = [args.from, args.to].sort(); + if (!this.is_directed) { + const sorted_vertices = [args.from, args.to].sort(); + const unsorted_vertices = [args.from, args.to]; + if (unsorted_vertices[0] !== sorted_vertices[0]) + args.weight = 1 / args.weight; + [args.from, args.to] = sorted_vertices; + } this.edges.set(args.id, new Edge(args)); return true;