- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
function toHex(this: TypeOf<1>) {
return "hex";
}
function main() {
print((5).toHex());
print("done.");
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−2
function toHex(this: TypeOf<1>) {
return "hex";
}
function main() {
print((5).toHex());
print("done.");
}
решил добавить прикольного кода из C# в TypeScript Compiler ... красиво получилось? (тем кто еще не знает где искать компилятор https://github.com/ASDAlexander77/TypeScriptCompiler)
+5
// And then I replaced the idiomatic Rust code for working with block like
for (dline, (sline0, sline1)) in dst.chunks_mut(dstride).zip(tmp.chunks(TMP_BUF_STRIDE).zip(tmp2.chunks(TMP_BUF_STRIDE))).take(h) {
for (pix, (&a, &b)) in dline.iter_mut().zip(sline0.iter().zip(sline1.iter())).take(w) {
*pix = ((u16::from(a) + u16::from(b) + 1) >> 1) as u8;
}
}
// with raw pointers:
unsafe {
let mut src1 = tmp.as_ptr();
let mut src2 = tmp2.as_ptr();
let mut dst = dst.as_mut_ptr();
for _ in 0..h {
for x in 0..w {
let a = *src1.add(x);
let b = *src2.add(x);
*dst.add(x) = ((u16::from(a) + u16::from(b) + 1) >> 1) as u8;
}
dst = dst.add(dstride);
src1 = src1.add(TMP_BUF_STRIDE);
src2 = src2.add(TMP_BUF_STRIDE);
}
}
What do you know, the total decoding time for the test clip I used shrank from 6.6 seconds to 4.9 seconds. That’s just three quarters of the original time!
And here is the problem. In theory if Rust compiler knew that the input satisfies certain parameters i.e. that there’s always enough data
to perform full block operation in this case, it would be able to optimise code as good as the one I wrote using pointers or even better.
But unfortunately there is no way to tell the compiler that input slices are large enough to perform the operation required amount of times.
Even if I added mathematically correct check in the beginning it would not eliminate most of the checks.
https://codecs.multimedia.cx/2021/05/missing-optimisation-opportunity-in-rust/
0
#include <stdlib.h>
#include <time.h>
#include <random>
#include <algorithm>
.........
.........
double
js::math_random_no_outparam(JSContext* cx)
{
if JSContext* == "Math.floor(Math.random() * (max - min + 1) + min)"
{
return Math.floor(Math.random() * (max - min + 1) + min);
}
return random_nextDouble(&cx->compartment()->rngState);
}
........
Доброго времени
хочу заставить Лису(FF) вычислять math функцию внутри браузера, а не через Windows (ADVAPI32.DLL Function36).
Но при компиляции измененного кода постоянно получаю ошибки.
Я конечно кривые коды пишу, но пытаюсь подстроиться под исходный С++.
...........................
в итоге не видит и не распознает ни рандом, ни фло, ни мат, ни джиэс контекст
Подскажите в каком направлении копать.
+1
import java.lang.*;
public class Password {
static char[] ch = {'a', 'b'};
static byte length = 2;
static int m = ch.length;
static int n = length;
static int l = (int) (Math.pow(ch.length, length));
static String[] arr = new String[l];
public static void main(String[] args) {
for (int xyu = 0; xyu < l; xyu++) {
arr[xyu] = "";
}
String[] output = generator(ch, length);
for (String password : output) {
System.out.println(password);
}
}
public static String[] generator(char[] ch, byte length) {
for (int i = 0; i < l; i++) {
arr[i] = M(i);
}
return arr;
}
public static String M(int i) {
String a = Perevod(i, m);
for (int j = 0; j < n; j++) {
arr[i] += ch[Character.getNumericValue(a.charAt(j))];
}
return arr[i];
}
//FIXME
public static String Perevod(int i, int base) {
String r = "";
if (i == 0) {
for (int counter = 0; counter < n; counter++) {
r += "0";
}
}
boolean f = false;
while (i > 0) {
r = r + (i % base);
int q = i % base;
i = (i - q) / base;
if (q == 1) {
f = true;
}
}
if (i == 0 & f == true) {
for (int counter = 0; counter < n - 1; counter++) {
r += "0";
}
}
String res = "";
for (int k = 0; k < r.length(); k++) {
res += r.charAt(r.length() - 1 - k);
}
return res;
}
}
Должен генерировать всевозможные пароли заданной длины из заданного алфавита. Не работает перевод в другую систему счисления
+167
if ($result = mailer($data)) echo "<p>Коммерческое предложение отправлено к вам на электронную почту.</p>";
else echo "<p>Коммерческое предложение отправлено к вам на электронную почту.</p>";//да простит меня Бог
Ковыряю сайта заказчика. Нашел гениальный код в скрипте обработки формы.
+149
$flag = "yes";
/* ... */
if($flag) {
$flag = $flag;
}
+136
static int internal_CheckMac(char * inc_mac)
{
int return_value = 0x1;
if (strlen(inc_mac) != 17)
{
return return_value;
}
unsigned int i = 0x0;
for (i = 3; i <=17; i=i+2)
{
if (inc_mac[i-1] != 58)
{
return_value = 0x1;
break;
}
else
return_value = 0x0;
i++;
}
return return_value;
}
Функция проверяет содержимое строки. В строке должен быть мак адрес формата 00:01:02:03:04:05. 58 в строке 13 - это десятичное значение символа ":"
Авторство функции принадлежит Виталию Кострову, великому программисту из Рыбинска. После ревизии этого кода пришло понимание что надо избавляться от этого сотрудника.
+157
<?php foreach ($this->adverts as $advert): ?>
<div class="advert_cover">
<h3 class="advert_header">
<div class="advert_date">Дата размещения: <?=$advert->getCreateDate()->format('d.m.Y H:i:s')?></div>
<?=$advert->getHeader()?>
</h3>
<div class="advert_content">
<div class="advert_text">
<?php
$advert_text = Helper_Format::getPreviewStr($advert->getText(), 300, '...');
echo $this->getHelper('Helper_Format')->run(strip_tags($advert_text), 'nl2br', 'bb2html');
?>
</div>
<ul class="my-adverts--ul-advert-manager">
<li class="edit_link"><a class="space_nowrap" title="Редактировать объявление" href="/my/adverts/edit/<?=$advert->getId()?>.xhtml">Редактировать</a></li>
<li class="zoom_link"><a class="space_nowrap" title="Посмотреть, как объявление выглядит на сайте" href="/advert/<?=$advert->getId()?>.xhtml">Посмотреть</a></li>
<?php if ($advert->getExpireRestrictionUpdateCreateDate()->invert): ?>
<li class="up_link"><a title="Поднять объявление в результатах поиска. Данная функция гарантирует, что Ваше объявление увидят больше посетителей сайта <?=$_SERVER['HTTP_HOST']?>. Применять данную опцию можно не чаще чем через один час." href="/my/adverts/up/<?=$advert->getId()?>.xhtml">Поднять в результатах поиска</a>
<?php else: ?>
<li class="up_link"><span class="cursor_help space_nowrap" title="Для этого объявления данная функция будет доступна через <?=$advert->getExpireRestrictionUpdateCreateDate()->i?> мин.">Поднять в результатах поиска</span>
<?php endif;?>
</li>
<?php if ($advert->getActive()): ?>
<li class="lock_link"><a class="space_nowrap" title="Приостановить показ объявления на сайте (закрыть доступ для всех)" href="/my/adverts/active/<?=$advert->getId()?>.xhtml">Приостановить показ
<?php else: ?>
<li class="lock-open_link"><a class="space_nowrap" title="Возобновить показ объявления на сайте (открыть доступ для всех)" href="/my/adverts/active/<?=$advert->getId()?>.xhtml">Возобновить показ
<?php endif;?>
</a></li>
<li class="delete_link"><a class="space_nowrap" title="Безвозвратно удалить объявление" onclick="return confirm('Вы действительно хотите удалить объявление «<?=$this->getHelper('Helper_Format')->run($advert->getHeader(), 'entDec', 'confirm')?>»?')" href="/my/adverts/delete/<?=$advert->getId()?>.xhtml">Удалить объявление</a></li>
</ul>
<div class="div-clear"></div>
</div>
</div>
<?php endforeach; ?>
шаблоны на PHP :)
+3
<?php
define('BOT_TOKEN', '12345678:replace-me-with-real-token');
define('API_URL', 'https://api.telegram.org/bot'.BOT_TOKEN.'/');
function apiRequestWebhook($method, $parameters) {
if (!is_string($method)) {
error_log("Method name must be a string\n");
return false;
}
if (!$parameters) {
$parameters = array();
} else if (!is_array($parameters)) {
error_log("Parameters must be an array\n");
return false;
}
$parameters["method"] = $method;
header("Content-Type: application/json");
echo json_encode($parameters);
return true;
}
function exec_curl_request($handle) {
$response = curl_exec($handle);
if ($response === false) {
$errno = curl_errno($handle);
$error = curl_error($handle);
error_log("Curl returned error $errno: $error\n");
curl_close($handle);
return false;
}
$http_code = intval(curl_getinfo($handle, CURLINFO_HTTP_CODE));
curl_close($handle);
if ($http_code >= 500) {
// do not wat to DDOS server if something goes wrong
sleep(10);
return false;
} else if ($http_code != 200) {
$response = json_decode($response, true);
error_log("Request has failed with error {$response['error_code']}: {$response['description']}\n");
if ($http_code == 401) {
throw new Exception('Invalid access token provided');
}
return false;
} else {
$response = json_decode($response, true);
if (isset($response['description'])) {
error_log("Request was successful: {$response['description']}\n");
}
$response = $response['result'];
}
return $response;
}
function apiRequest($method, $parameters) {
if (!is_string($method)) {
error_log("Method name must be a string\n");
return false;
}
if (!$parameters) {
$parameters = array();
} else if (!is_array($parameters)) {
error_log("Parameters must be an array\n");
return false;
}
foreach ($parameters as $key => &$val) {
// encoding to JSON array parameters, for example reply_markup
if (!is_numeric($val) && !is_string($val)) {
$val = json_encode($val);
}
}
$url = API_URL.$method.'?'.http_build_query($parameters);
$handle = curl_init($url);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
curl_setopt($handle, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($handle, CURLOPT_TIMEOUT, 60);
return exec_curl_request($handle);
}
function apiRequestJson($method, $parameters) {
if (!is_string($method)) {
error_log("Method name must be a string\n");
return false;
}
if (!$parameters) {
$parameters = array();
} else if (!is_array($parameters)) {
error_log("Parameters must be an array\n");
−1
.
Как попасть в гугол по рекомендации Романа Кашицына?