1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126
| from numpy import array,arange
from time import clock
libase = [[ 201., 352.34 ,1.75, 360., 1.75, 360.,
2. ,352.34 ,2., -1., -1. ,
-1. ,-1. ,-1. ,-1., -1. ],
[ 202., 0. ,2.,6.79245, 2., 6.79245,
2.25 ,0. ,2.25, 0.84899998 ,0.69099998,
0.84899998 ,0.85100001,0.72899997 ,0.833 ,0.76200002],
[ 203. ,6.79245 ,2. ,13.5849 ,2.,13.5849,
2.25, 6.79245 ,2.25, 0.84899998, 0.69499999,
0.85000002 ,0.85399997, 0.736 ,0.83600003 ,0.76899999],
[ 202., 0. ,2.,6.79245, 2., 6.79245,
2.25 ,0. ,2.25, 0.84899998 ,0.69099998,
0.84899998 ,0.85100001,0.72899997 ,0.833 ,0.76200002],
[ 203. ,6.79245 ,2. ,13.5849 ,2.,13.5849,
2.25, 6.79245 ,2.25, 0.84899998, 0.69499999,
0.85000002 ,0.85399997, 0.736 ,0.83600003 ,0.76899999],
[ 204., 13.5849 ,2., 20.3774 ,2. ,20.3774,
2.25 ,13.5849, 2.25, 0.85100001 ,0.69800001,
0.85299999, 0.85900003 ,0.73900002 ,0.84299999 ,0.77399999],
[ 205., 20.3774 ,2. ,27.1698 ,2., 27.1698,
2.25, 20.3774 ,2.25 ,0.84399998 ,0.69099998,
0.847 ,0.85900003 ,0.741, 0.85399997 ,0.78100002],
[ 206. ,27.1698, 2., 33.9623 ,2.,33.9623,
2.25 ,27.1698 ,2.25, 0.84200001 ,0.68699998,
0.84600002, 0.86199999 ,0.74299997, 0.86000001, 0.78799999],
[ 207., 33.9623 ,2., 40.7547, 2., 40.7547,
2.25, 33.9623, 2.25, 0.838 ,0.67799997,
0.83999997, 0.85799998 ,0.73100001 ,0.85699999, 0.78100002],
[ 208., 40.7547, 2. ,47.5472 ,2. ,47.5472,
2.25,40.7547, 2.25 ,0.83999997, 0.676,
0.84100002 ,0.85600001, 0.72399998 ,0.85500002 ,0.77700001],
[ 209. ,47.5472, 2., 54.3396 ,2., 54.3396,
2.25, 47.5472 ,2.25, 0.84600002 ,0.68000001,
0.84500003 ,0.85100001 ,0.72500002 ,0.83999997 ,0.76899999],
[ 210. ,54.3396, 2., 61.1321,2., 61.1321,
2.25 ,54.3396, 2.25, 0.84200001 ,0.67799997,
0.838, 0.84100002, 0.71399999, 0.83499998,0.75700003],
[ 212. ,67.9245, 2. ,74.717, 2. ,74.717,
2.25 ,67.9245 ,2.25 ,0.85100001, 0.69099998,
0.84600002, 0.84799999, 0.71899998, 0.83899999, 0.76200002],
[ 213. ,74.717, 2., 81.5094, 2. ,81.5094,
2.25 ,74.717 ,2.25, 0.86799997 ,0.70999998,
0.86299998 ,0.86500001, 0.736, 0.85100001 ,0.778 ],
[ 214. ,81.5094, 2., 88.3019 ,2., 88.3019,
2.25, 81.5094 ,2.25 ,0.86299998 ,0.71100003,
0.86000001 ,0.86199999, 0.73799998 ,0.84200001 ,0.77100003],
[ 215. ,88.3019, 2. ,95.0943, 2. ,95.0943,
2.25 ,88.3019 ,2.25 ,0.86699998 ,0.72000003,
0.86299998 ,0.86400002 ,0.74699998 ,0.82800001 ,0.76099998],
[ 216., 95.0943, 2., 101.887 ,2. ,101.887,
2.25, 95.0943, 2.25, 0.86500001, 0.72500002,
0.86199999 ,0.86500001, 0.75 ,0.83499998 ,0.764 ],
[ 217. ,101.887 ,2. ,108.679 ,2., 108.679,
2.25 ,101.887, 2.25 ,0.86299998 ,0.727, 0.861,
0.86400002, 0.75300002, 0.84500003 ,0.77100003],
[ 218. ,108.679 ,2., 115.472, 2., 115.472,
2.25 ,108.679 ,2.25 ,0.86699998, 0.73400003,
0.86500001 ,0.866, 0.75999999, 0.83700001 ,0.76700002],
[ 219. ,115.472, 2. ,122.264, 2. ,122.264,
2.25, 115.472, 2.25, 0.85900003, 0.73000002,
0.85699999 ,0.85900003, 0.75599998, 0.833, 0.76599997]]
lifin = [[ 211. ,61.1321 ,2. ,67.9245 ,2. ,67.9245,
2.25 ,61.1321, 2.25, 0.84600002, 0.68400002,
0.84100002 ,0.84200001 ,0.71600002 ,0.83600003, 0.75999999],
[ 220. ,122.264, 2. ,129.057, 2., 129.057,
2.25 ,122.264 ,2.25 ,0.85600001, 0.72600001,
0.85500002, 0.85799998, 0.75599998 ,0.83700001 ,0.77200001]]
def eyqu(tab,b,a):
lin,col = tab.shape
for ln in tab:
if b>=ln[1] and b<ln[3] and a>=ln[2] and a<ln[8] :
return
def niep(tab,b,a):
cond1 = tab[:,1] <= b
cond3 = b < tab[:,3]
cond2 = tab[:,2] <= a
cond8 = a < tab[:,8]
cond = cond1 & cond2 & cond3 & cond8
return
for k in (1,5,10,20,50,100,500,1000,10000):
li = k*libase + lifin
print '\nk =',k,' len(li) =',len(li)
tab = array(li)
te = clock()
eyqu(tab,63,2.1)
tf = clock()
dey = tf-te
print dey
te = clock()
niep(tab,63,2.1)
tf = clock()
dni = tf-te
print dni
print 'temps niep / temps eyqu =',dni/dey |
Partager