JSFiddle - React, Tailwind, and code Playground

by hbjpn

HTML

<input type="text" id="uldlconf" value="1"/>    <input type="button" onclick="main();" value="start" />
<div>
    <textarea id="ret" style="width:100%; height:500px;"></textarea>
</div>

JavaScript

dl_conf = [
	[-1, -1, [6]                    , -1       ,     4, -1, -1,        6,   -1,  4],
	[-1, -1, [7,6]                  ,  4       ,    -1, -1, -1,       -1,  [7,6],  4],
	[-1, -1, [8,7,4,6]              , -1       ,    -1, -1, -1,  [8,7,4,6],   -1, -1],
	[-1, -1, [7,6,11]               , [6,5]      ,   [5,4], -1, -1,       -1,   -1, -1],
	[-1, -1, [12,8,7,11]            , [6,5,4,7]  ,    -1, -1, -1,       -1,   -1, -1],
	[-1, -1, [13,12,9,8,7,5,4,11,6] , [6,5,4,7]  ,    -1, -1, -1,       -1,   -1, -1],
	[-1, -1, [7]                    , 7        ,     5, -1, -1,        7,    7, -1]];

dl_conf_pls = [
    [+4, +6, null, null, null, +4, +6, null, null, null],
    [+7, +6, null, null, +4  , +7, +6, null, null,   +4],
    [+7, +6, null, +4  , +8  , +7, +6, null,   +4,   +8],
    [+4, +11,null, null, null, +7, +6,   +6,   +5,   +5],
    [+12,+11,null, null, +8  , +7, +7,   +6,   +5,   +4],
    [+12,+11,null, +9  , +8  , +7, +6,   +5,   +4,  +13],
    [+7, +7 ,null, null, null, +7, +7, null, null,   +5]
    ];

function shallowcopy(array)
{
    var na = new Array();
    for(var i = 0; i < array.length; ++i)
        na.push(array[i]);
    return na;
}

function dumpalloc(alloc)
{
    var s = "";
    var avgdelay = 0;
    for(var i = 0; i < alloc.length; ++i){
        s += (alloc[i][0]+"@" + alloc[i][1]+",");
        if(i > 0)
            avgdelay += alloc[i][0];
    }
    var sumdelay = avgdelay;
    avgdelay /= (alloc.length-1);
    
    var diff2 = 0;umdiff2 = 0;
    for(var i = 1; i < alloc.length; ++i){
        diff2 += ((avgdelay - alloc[i][0]) * (avgdelay - alloc[i][0]));
    }    
    diff2 /= (alloc.length-1);
    
    s = ("AvgDelay,"+avgdelay+","+"Diff2,"+diff2+","+"Periodicity,"+sumdelay+",") + s;
    return s;
}

function doalloc(prevselect, maxdelay, conf, occupied, alloc, startTime, isclosing)
{
    var curTime = new Date();
    //console.log("msec : " + (curTime - startTime));
    if( curTime - startTime > 10*1000 ){
        var a = null;
       ...