@@ -172,15 +172,9 @@ export default class Fcfs extends InputTable {
172
172
this . getIoEnabledAnswer ( state ) ;
173
173
return ;
174
174
}
175
- var tuple = [ ] ;
175
+ var tuple = [ ] ,
176
+ tuple_temp = [ ] ;
176
177
var newState = state ;
177
- /*var tuple = [
178
- {pid:1,bt:6,art:2},
179
- {pid:2,bt:3,art:5},
180
- {pid:3,bt:8,art:1},
181
- {pid:4,bt:3,art:0},
182
- {pid:5,bt:4,art:4},
183
- ];*/
184
178
var n = state . tableData . length ;
185
179
for ( let i = 0 ; i < n ; i ++ ) {
186
180
var tempPid = state . tableData [ i ] [ 0 ] . substring ( 1 ) ;
@@ -190,9 +184,18 @@ export default class Fcfs extends InputTable {
190
184
bt : parseInt ( state . tableData [ i ] [ 2 ] ) ,
191
185
art : parseInt ( state . tableData [ i ] [ 1 ] ) ,
192
186
} ) ;
187
+ tuple_temp . push ( {
188
+ pid : tempPid ,
189
+ bt : parseInt ( state . tableData [ i ] [ 2 ] ) ,
190
+ art : parseInt ( state . tableData [ i ] [ 1 ] ) ,
191
+ } ) ;
193
192
// console.log(tuple);
194
193
}
195
- var tuple_temp = tuple ;
194
+ // var tuple = [
195
+ // { pid: 1, bt: 5, art: 2 },
196
+ // { pid: 2, bt: 1000, art: 3 },
197
+ // { pid: 3, bt: 100, art: 2 },
198
+ // ];
196
199
tuple . sort ( function ( a , b ) {
197
200
if ( a . art == b . art ) {
198
201
return a . bt - b . bt ;
@@ -213,6 +216,7 @@ export default class Fcfs extends InputTable {
213
216
var que = [ ] ; // running queue
214
217
var state = 0 ;
215
218
var flag = 0 ;
219
+ var count = 0 ;
216
220
for ( var i = 0 ; i < 10000 ; i ++ ) {
217
221
visited [ state ] ++ ;
218
222
if ( tuple [ state ] . art > i ) {
@@ -244,6 +248,7 @@ export default class Fcfs extends InputTable {
244
248
}
245
249
for ( var k = i ; k < i + tuple [ state ] . bt ; k ++ ) {
246
250
var smit = [ ] ;
251
+ count ++ ;
247
252
for ( var y = 0 ; y < n ; y ++ ) {
248
253
if ( tuple [ y ] . art <= k && visited [ y ] <= 1 ) {
249
254
smit . push ( tuple [ y ] . pid ) ;
@@ -257,6 +262,7 @@ export default class Fcfs extends InputTable {
257
262
}
258
263
}
259
264
}
265
+
260
266
var cmp_time = [ ] ; //completion time
261
267
for ( var i = 0 ; i < tuple . length ; i ++ ) {
262
268
cmp_time [ i ] = - 1 ;
@@ -265,13 +271,20 @@ export default class Fcfs extends InputTable {
265
271
if ( final_ans [ i ] === "/" ) {
266
272
} else {
267
273
if ( cmp_time [ final_ans [ i ] - 1 ] == - 1 ) {
274
+ console . log ( "hey " + i + " hry" + final_ans [ i ] ) ;
268
275
cmp_time [ final_ans [ i ] - 1 ] = i + 1 ;
269
276
}
270
277
}
271
278
}
272
279
for ( var i = 0 ; i < n ; i ++ ) {
280
+ //console.log("cm "+cmp_time[i]);
281
+ }
282
+ for ( var i = 0 ; i < n ; i ++ ) {
283
+ //console.log(cmp_time[i]+" cm "+tuple_temp[i].art);
273
284
tat [ i ] = cmp_time [ i ] - tuple_temp [ i ] . art ;
274
- wt [ i ] = tat [ i ] - tuple [ i ] . bt ;
285
+ //console.log(tat[i]+" tat "+tuple_temp[i].bt);
286
+ wt [ i ] = tat [ i ] - tuple_temp [ i ] . bt ;
287
+ console . log ( tat [ i ] + " " + wt [ i ] ) ;
275
288
}
276
289
for ( var i = 0 ; i < n ; i ++ ) {
277
290
total_wt = total_wt + wt [ i ] ;
@@ -331,4 +344,4 @@ export default class Fcfs extends InputTable {
331
344
) ;
332
345
}
333
346
}
334
- }
347
+ }
0 commit comments