-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCommon.php
113 lines (97 loc) · 2.56 KB
/
Common.php
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
<?php
/*
* MIT license.
* By [email protected]
*
* contain commonly used fuctions
*/
function sorting($array)
{
usort($array, function($a, $b) {
return $b['rank'] <=> $a['rank'];
});
return $array;
}
function makespansort($a,$b)
{
if ($a["makespan"] == $b["makespan"]) {
return 0;
}
return ($a["makespan"] < $b["makespan"]) ? -1 : 1;
}
function makespanSorting($array)
{
usort($array, "makespansort");
return $array;
}
function sortArrayByMakespan($arr)
{
if(count($arr) < 2){
return $arr;
} else {
$l1 = [];
$l2 = [];
$i = 0;
foreach($arr as $l){
if($i < count($arr)/2){
$l1[] = $l;
} else {
$l2[] = $l;
}
$i++;
}
}
return merge(sortArrayByMakespan($l1), sortArrayByMakespan($l2));
}
function merge($l1,$l2)
{
$x = [];
$p1 = 0;
$p2 = 0;
for($i=0;$i < count($l1)+count($l2);$i++){
if(!isset($l1[$p1])){
$x[] = $l2[$p2];
$p2++;
}else if(!isset($l2[$p2])){
$x[] = $l1[$p1];
$p1++;
}else if($l1[$p1]["makespan"] < $l2[$p2]["makespan"]){
$x[] = $l1[$p1];
$p1++;
}else if($l1[$p1]["makespan"] >= $l2[$p2]["makespan"]){
$x[] = $l2[$p2];
$p2++;
}
}
return $x;
}
function createTable($schedule,$title,$haveDesc = false)
{
echo '<div style="width:25%;display:inline-block">';
echo '<h1>'.$title.'</h1>';
echo '<table>'
. '<tr style="border-bottom: 1px solid black;">'
. '<th style="border: 1px solid black;">Task</td>'
. '<th style="border: 1px solid black;">Processor</th>'
. '<th style="border: 1px solid black;">EFT</td>';
if($haveDesc == true) {
echo '<th style="border: 1px solid black;">Description</th>';
}
echo '</tr>';
foreach ($schedule as $key => $value) {
if($key < 95){
} else {
echo '<tr style="border: 1px solid black;">';
echo '<td style="border: 1px solid black;">'.($value["task"]+1).'</td>';
echo '<td style="border: 1px solid black;">'.($value["processor"]+1).'</td>';
echo '<td style="border: 1px solid black;">'.$value["eft"].'</td>';
if($haveDesc == true) {
if (isset($value["desc"])) {
echo '<td style="border: 1px solid black;">' . $value["desc"] . '</td>';
}
}}
echo '</tr>';
}
echo '</table>';
echo '</div>';
}