Esempio n. 1
0
function sensor_limit($class, $current)
{
    $limit = null;
    switch ($class) {
        case 'temperature':
            $limit = $current * 1.6;
            break;
        case 'voltage':
            if ($current < 0) {
                $limit = $current * (1 - sgn($current) * 0.15);
            } else {
                $limit = $current * (1 + sgn($current) * 0.15);
            }
            break;
        case 'humidity':
            $limit = '70';
            break;
        case 'frequency':
            $limit = $current * 1.05;
            break;
        case 'current':
            $limit = $current * 1.5;
            break;
        case 'fanspeed':
            $limit = $current * 1.8;
            break;
        case 'power':
            $limit = $current * 1.5;
            break;
        case 'signal':
            $limit = -30;
            break;
        case 'load':
            $limit = 80;
            break;
    }
    //end switch
    return $limit;
}
Esempio n. 2
0
 /**
  * @dataProvider providerSgn
  */
 public function testSgn($value, $result)
 {
     $this->assertSame($result, sgn($value));
 }
Esempio n. 3
0
/**
 * Calculate upper limit on a sensor
 *
 * @param string $class Sensor class (voltage, temperature, ...)
 * @param string $value Current sensor value to use as base
 * @param bool $auto    Set to false to not set an automatic limit
 * @return string
*/
function sensor_limit_high($class, $value, $auto = TRUE)
{
    $limit = NULL;
    if (!$auto) {
        return $limit;
    }
    // Do not calculate limit
    switch ($class) {
        case 'temperature':
            if ($value < 0) {
                // Negative temperatures are usually used for "Thermal margins",
                // indicating how far from the critical point we are.
                $limit = 0;
            } else {
                $limit = $value * 1.6;
            }
            break;
        case 'voltage':
            if ($value < 0) {
                $limit = $value * (1 - sgn($value) * 0.15);
            } else {
                $limit = $value * (1 + sgn($value) * 0.15);
            }
            break;
        case 'humidity':
            $limit = 70;
            break;
        case 'frequency':
            $limit = $value * 1.05;
            break;
        case 'current':
            $limit = $value * 1.5;
            break;
        case 'fanspeed':
            $limit = $value * 1.8;
            break;
        case 'power':
            $limit = $value * 1.5;
            break;
    }
    return $limit;
}
Esempio n. 4
0
function calc($pred, $res, $joker, $gotw)
{
    // the function to calculate scores, based on prediction, result and gotw/joker flags
    if (!$pred || !$res || $res == 'P-P' || $res == 'A-A') {
        return 0;
    }
    $score = 0;
    list($pa, $pb) = explode('-', $pred);
    list($ra, $rb) = explode('-', $res);
    if ($pa == $ra && $pb == $rb) {
        // prediction = result
        $score = 5;
    } elseif ($ra - $rb == $pa - $pb) {
        // goal difference is equal
        $score = 3;
    } elseif (sgn($ra - $rb) == sgn($pa - $pb)) {
        // correct winner
        $score = 1;
    }
    $score *= 1 + $joker + $gotw;
    // multiply score by 2 if gotw or joker
    return $score;
}
Esempio n. 5
0
function sensor_limit($class, $current)
{
    $limit = NULL;
    switch ($class) {
        case 'temperature':
            $limit = $current * 1.6;
            break;
        case 'voltage':
            if ($current < 0) {
                $limit = $current * (1 - sgn($current) * 0.15);
            } else {
                $limit = $current * (1 + sgn($current) * 0.15);
            }
            break;
        case 'humidity':
            $limit = "70";
            break;
        case 'frequency':
            $limit = $current * 1.05;
            break;
        case 'current':
            $limit = $current * 1.5;
            break;
        case 'fanspeed':
            $limit = $current * 1.8;
            break;
        case 'power':
            $limit = $current * 1.5;
            break;
    }
    return $limit;
}
        $kosten = 1550000 + $sql6['plaetze'] * 250;
        // GELAENDE ANFANG
        require_once './classes/StadiumBuildings.php';
        foreach (StadiumBuildings::getList() as $tm) {
            $tempwert = round($tm[3] * $sql6[$tm[0]]);
            // letzter Faktor = Anzahl der Gebaeude-Einheiten
            $kosten += $tempwert;
        }
        // GELAENDE ENDE
        $kosten = $kosten / 22;
        // KOSTEN ENDE
        // FANAUFKOMMEN ANFANG
        // maximales Fanaufkommen ist 100.000
        // Gegner-Platzierung wird bei Spieltag-Simulation live miteinberechnet
        // Ticketpreis wird bei Spieltag-Simulation live miteinberechnet
        $fanaufkommen1 = $sql3['fanbetreuer'] * 5000;
        // Fanbetreuer
        $fanaufkommen2 = (sgn($sql6['parkplatz']) + sgn($sql6['ubahn']) + sgn($sql6['restaurant']) + sgn($sql6['bierzelt']) + sgn($sql6['pizzeria']) + sgn($sql6['imbissstand']) + sgn($sql6['vereinsmuseum']) + sgn($sql6['fanshop'])) * 1750;
        // Stadiongelaende
        $fanaufkommen4 = mt_rand(0, 40) * 75;
        // Zufall
        $fanaufkommen6 = round(pow($sql3['elo'], 3) / 250000);
        // RKP
        $fanaufkommen = round($fanaufkommen1 + $fanaufkommen2 + $fanaufkommen4 + $fanaufkommen6);
        // FANAUFKOMMEN ENDE
        $sql7 = "UPDATE " . $prefix . "teams SET konto = konto-" . $kosten . ", fanaufkommen = " . $fanaufkommen . " WHERE ids = '" . $sql3['ids'] . "'";
        $sql8 = mysql_query($sql7);
        $buch1 = "INSERT INTO " . $prefix . "buchungen (team, verwendungszweck, betrag, zeit) VALUES ('" . $sql3['ids'] . "', 'Stadion', -" . $kosten . ", '" . time() . "')";
        $buch2 = mysql_query($buch1);
    }
}