no izip in python3

main
jebba 2022-01-15 01:02:39 -07:00
parent fd17ddaf65
commit c84567514b
4 changed files with 18 additions and 18 deletions

View File

@ -6,16 +6,16 @@ import math, random, itertools
#generic distance metric stuff
def manhattan_distance(p1, p2):
return sum(abs(x - y) for x, y in itertools.izip(p1, p2))
return sum(abs(x - y) for x, y in itertools.zip(p1, p2))
def euclidean_distance(p1, p2):
return math.sqrt(sum((x - y) ** 2 for x, y in itertools.izip(p1, p2)))
return math.sqrt(sum((x - y) ** 2 for x, y in itertools.zip(p1, p2)))
def squared_euclidean_distance(p1, p2):
return sum((x - y) ** 2 for x, y in itertools.izip(p1, p2))
return sum((x - y) ** 2 for x, y in itertools.zip(p1, p2))
def chebyshev_distance(p1, p2):
return max(abs(x - y) for x, y in itertools.izip(p1, p2))
return max(abs(x - y) for x, y in itertools.zip(p1, p2))
def reciprical_distance(p1, p2):
d = manhattan_distance(p1, p2)
@ -37,16 +37,16 @@ def equal(p1, p2):
return manhattan_distance(p1, p2) == 0.0
def add(p1, p2):
return tuple(x + y for x, y in itertools.izip(p1, p2))
return tuple(x + y for x, y in itertools.zip(p1, p2))
def sub(p1, p2):
return tuple(x - y for x, y in itertools.izip(p1, p2))
return tuple(x - y for x, y in itertools.zip(p1, p2))
def scale(p, s):
return tuple(x * s for x in p)
def dot(p1, p2):
return sum(x * y for x, y in itertools.izip(p1, p2))
return sum(x * y for x, y in itertools.zip(p1, p2))
def length(p):
return math.sqrt(dot(p, p))

View File

@ -3,7 +3,7 @@
import sys, time
from array import array
from itertools import islice, izip, groupby
from itertools import islice, zip, groupby
from random import shuffle
from mymath import *
from layer import *
@ -159,7 +159,7 @@ class Pcb():
for net in self.netlist:
num_terminals += len(net.terminals)
for path in net.paths:
for a, b in izip(path, islice(path, 1, None)):
for a, b in zip(path, islice(path, 1, None)):
if a[2] != b[2]:
num_vias += 1
print >> sys.stderr, "Number of Terminals:", num_terminals
@ -187,7 +187,7 @@ class Net():
for path in paths:
opt_path = []
d = (0, 0, 0)
for a, b in izip(path, islice(path, 1, None)):
for a, b in zip(path, islice(path, 1, None)):
p0 = self.pcb.grid_to_space_point(a)
p1 = self.pcb.grid_to_space_point(b)
d1 = norm_3d(sub_3d(p1, p0))
@ -203,7 +203,7 @@ class Net():
def add_paths_collision_lines(self):
for path in self.paths:
for a, b in izip(path, islice(path, 1, None)):
for a, b in zip(path, islice(path, 1, None)):
p0 = self.pcb.grid_to_space_point(a)
p1 = self.pcb.grid_to_space_point(b)
if a[2] != b[2]:
@ -213,7 +213,7 @@ class Net():
def sub_paths_collision_lines(self):
for path in self.paths:
for a, b in izip(path, islice(path, 1, None)):
for a, b in zip(path, islice(path, 1, None)):
p0 = self.pcb.grid_to_space_point(a)
p1 = self.pcb.grid_to_space_point(b)
if a[2] != b[2]:
@ -228,7 +228,7 @@ class Net():
self.pcb.layers.add_line((x, y, 0), (x, y, self.pcb.depth - 1), r, g)
else:
for z in xrange(self.pcb.depth):
for a, b in izip(s, islice(s, 1, None)):
for a, b in zip(s, islice(s, 1, None)):
self.pcb.layers.add_line((x + a[0], y + a[1], z), (x + b[0], y + b[1], z), r, g)
def sub_terminal_collision_lines(self):
@ -238,7 +238,7 @@ class Net():
self.pcb.layers.sub_line((x, y, 0), (x, y, self.pcb.depth - 1), r, g)
else:
for z in xrange(self.pcb.depth):
for a, b in izip(s, islice(s, 1, None)):
for a, b in zip(s, islice(s, 1, None)):
self.pcb.layers.sub_line((x + a[0], y + a[1], z), (x + b[0], y + b[1], z), r, g)
def remove(self):

View File

@ -4,7 +4,7 @@
import os, sys, argparse, select, tkinter, aggdraw
from ast import literal_eval
from itertools import izip, islice, chain
from itertools import islice, chain
from PIL import Image, ImageTk
from mymath import *
@ -18,7 +18,7 @@ def split_paths(paths):
new_paths = []
for path in paths:
new_path = []
for a, b in izip(path, islice(path, 1, None)):
for a, b in zip(path, islice(path, 1, None)):
_, _, za = a
_, _, zb = b
if za != zb:

View File

@ -4,7 +4,7 @@
import os, sys, argparse, select
from ast import literal_eval
from itertools import izip, islice, chain
from itertools import zip, islice, chain
from mymath import *
import matplotlib.pyplot as plt
@ -21,7 +21,7 @@ def split_paths(paths):
new_paths = []
for path in paths:
new_path = []
for a, b in izip(path, islice(path, 1, None)):
for a, b in zip(path, islice(path, 1, None)):
_, _, za = a
_, _, zb = b
if za != zb: