- 1
- 2
- 3
// Create a Version 4 UUID, panicking on error.
// Use this form to initialize package-level variables.
var u1 = uuid.Must(uuid.NewV4())
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+2
// Create a Version 4 UUID, panicking on error.
// Use this form to initialize package-level variables.
var u1 = uuid.Must(uuid.NewV4())
https://github.com/gofrs/uuid
Питули запилили функцию, которая никогда error не возвращает, и запилили обёртку вокруг неё для "игнорирования" этой "ошибки".
Пиздец
0
https://www.evilfingers.com/publications/research_RU/oldnewlang.pdf языки, которые мы потеряли
...
Кстати, тот, кто считает, метапрограммирование достижением последних десятилетий, — жестоко
ошибается. Да, в языке Си++ оно появилось совсем недавно и в полном объеме (описанном в
последних редакциях Стандарта) не реализовано ни в одном реально существующем компиляторе, a
Nemerle и R# (языки программирования для платформы .Net со встроенной поддержкой
метапрограммирования) — вообще младенцы, но на самом деле концепция метапрограммирования
возникла еще во времена палеолита. Lisp, появившийся в далеком 1958 г., — хороший пример
языка, естественным образом поддерживающий метапрограммирование, одной из задач которого
является создание программы, выводящей точную копию своего собственного исходного текста — так
называемый куин (англ, quine). На Lisp'e он записывается так:
(funcall (lambda (x)
(append x (list (list 'quote x))))
'(funcall (lambda (x)
(append x (list (list 'quote x))))))
Листинг 1 программа на Lisp'е, распечатывающая сама себя
На Си так:
#include<stdio.h>
char*i="\\#include<stdio.h>",n='\n',q='"',*p=
"%s%cchar*i=%c%c%s%c,n='%cn',q='%c',*p=%c%c%s%c,*m=%c%c%s%c%c;%s%c",*m=
"int main(){return!printf(p,i+1,n,q,*i,i,q,*i,q,n,q,p,q,n,q,m,q,n,m,n);}"
;int main(){return!printf(p,i+1,n,q,*i,i,q,*i,q,n,q,p,q,n,q,m,q,n,m,n);}
А теперь попробуйте реализовать тоже самое на Си++ с использованием шаблонов и посмотрите, насколько
сильно они вам «помогут».
Крестобляди соснули
+1
~ cat test.sh
#!/bin/bash
for i in "$@"; do
echo $i
done
arglist="$@"
for i in $arglist; do
echo $i
done
~ sh test.sh 1 2 '3 4'
1
2
3 4
1
2
3
4
~
Застрял на отладке одного скрипта, как этим правильно пользоваться?
+1
* https://github.com/nwchemgit/nwchem/blob/8ac6bc6856d50954029cad01a751006851682398/src/nwpw/pspw/lib/psi/psi.F#L324
subroutine psi_sort_f_orb()
implicit none
#include "errquit.fh"
#include "bafdecls.fh"
#include "psi.fh"
logical value
integer i,j,ii,jj,ms
integer r1(2)
real*8 ei,ej
value = BA_push_get(mt_dcpl,npack1,'r1',r1(2),r1(1))
if (.not. value) call errquit(
> 'psi_sort_f_orb: out of stack memory',0,MA_ERR)
do ms=1,ispin
!*** Bubble sort ***
do ii=1,ne(ms)
do jj=ii+1,ne(ms)
i = ii + (ms-1)*ne(1)
j = jj + (ms-1)*ne(1)
ei = dbl_mb(eig(1)+i-1)
ej = dbl_mb(eig(1)+j-1)
!*** swap ***
if (ej.lt.ei) then
dbl_mb(eig(1)+i-1) = ej
dbl_mb(eig(1)+j-1) = ei
call Pack_c_Copy(1,dcpl_mb(psi1(1)+(i-1)*npack1),
> dcpl_mb(r1(1)))
call Pack_c_Copy(1,dcpl_mb(psi1(1)+(j-1)*npack1),
> dcpl_mb(psi1(1)+(i-1)*npack1))
call Pack_c_Copy(1,dcpl_mb(r1(1)),
> dcpl_mb(psi1(1)+(j-1)*npack1))
end if
end do
end do
end do
value = BA_pop_stack(r1(2))
if (.not. value) call errquit(
> 'psi_sort_f_orb: popping stack memory',1, MA_ERR)
return
end
Сортировка пузырьком на фортране из пакета квантовохимических вычислений "NWChem"
0
async init() {
const engine = this.engine = new BABYLON.WebGPUEngine(this.canvas);
await engine.initAsync();
}
async initCompute() {
const supportCS = this.engine.getCaps().supportComputeShaders;
if (!supportCS) {
return true;
}
const computeShaderSource = document.getElementById("calculate").value.replace('WORK_GROUP_SIZE', this.WORK_GROUP_SIZE);
this.computeShader = new BABYLON.ComputeShader("compute", this.engine, { computeSource: computeShaderSource }, {
bindingsMapping:
{
"params": { group: 0, binding: 0 },
"ssboIn": { group: 0, binding: 1 },
"ssboOut": { group: 0, binding: 2 },
}
});
const simParamsBuffer = new BABYLON.UniformBuffer(this.engine);
simParamsBuffer.updateFloat2("time", t, this.numInstances);
simParamsBuffer.update();
const ssboInBuffer = new BABYLON.StorageBuffer(this.engine, this.ssboData.byteLength);
ssboInBuffer.update(this.ssboData);
const ssboOutBuffer = new BABYLON.StorageBuffer(this.engine, this.ssboData.byteLength);
this.computeShader.setUniformBuffer("params", simParamsBuffer);
this.computeShader.setStorageBuffer("ssboIn", ssboInBuffer);
this.computeShader.setStorageBuffer("ssboOut", ssboOutBuffer);
const handler = () => {
ssboOutBuffer.read().then((res) => {
const resFloats = new Float32Array(res.buffer);
//console.log(resFloats);
this.ssboData.set(resFloats);
ssboInBuffer.update(this.ssboData);
this.computeShader.setStorageBuffer("ssboIn", ssboInBuffer);
this.computeShader.dispatchWhenReady(this.numGroups).then(handler);
this.loadPositions();
});
};
this.computeShader.dispatchWhenReady(this.numGroups).then(handler);
}
Наговнокодить кому нибудь Compute Shader для WebGPU? полный код тут https://pastebin.com/EigxhfqV . Тут короче симуляция гравитации расчетным методом... просто было делать нехрен и скушно... что бы запустить это говно надо Chrome Canary с включенным WebGPU поддержкой.
0
<style type="text/css" media="all">
html.cms a[href^="https://www.who.int"][href$="/en"] {background-color:#ffcc00;}
html.cms a[href^="https://www.who.int"][href$="/en/"] {background-color:#ffcc00;}
html.cms a[href^="http://www.who.int"][href$="/en"] {background-color:#ffcc00;}
html.cms a[href^="http://www.who.int"][href$="/en/"] {background-color:#ffcc00;}
html.cms a[href^="/"][href$="/en"] {background-color:#ffcc00;}
html.cms a[href^="/"][href$="/en/"] {background-color:#ffcc00;}
html.cms a[href="/"] {background-color:inherit !important;}
html.cms a[href="/en"] {background-color:inherit !important;}
html.cms a[href="/en/"] {background-color:inherit !important;}
html.cms a[href$="http://www.who.int/en"] {background-color:inherit !important;}
html.cms a[href$="http://www.who.int/en/"] {background-color:inherit !important;}
html.cms a[href$="https://www.who.int/en"] {background-color:inherit !important;}
html.cms a[href$="https://www.who.int/en/"] {background-color:inherit !important;}
html.cms a[href^="https://www.who.int"][href$="/ar"] {background-color:#ffcc00;}
html.cms a[href^="https://www.who.int"][href$="/ar/"] {background-color:#ffcc00;}
html.cms a[href^="http://www.who.int"][href$="/ar"] {background-color:#ffcc00;}
html.cms a[href^="http://www.who.int"][href$="/ar/"] {background-color:#ffcc00;}
html.cms a[href^="/"][href$="/ar"] {background-color:#ffcc00;}
html.cms a[href^="/"][href$="/ar/"] {background-color:#ffcc00;}
html.cms a[href="/ar"] {background-color:inherit !important;}
html.cms a[href="/ar/"] {background-color:inherit !important;}
html.cms a[href$="http://www.who.int/ar"] {background-color:inherit !important;}
html.cms a[href$="http://www.who.int/ar/"] {background-color:inherit !important;}
html.cms a[href^="https://www.who.int"][href$="/zh"] {background-color:#ffcc00;}
html.cms a[href^="https://www.who.int"][href$="/zh/"] {background-color:#ffcc00;}
html.cms a[href^="http://www.who.int"][href$="/zh"] {background-color:#ffcc00;}
html.cms a[href^="http://www.who.int"][href$="/zh/"] {background-color:#ffcc00;}
html.cms a[href^="/"][href$="/zh"] {background-color:#ffcc00;}
html.cms a[href^="/"][href$="/zh/"] {background-color:#ffcc00;}
html.cms a[href="/zh"] {background-color:inherit !important;}
html.cms a[href="/zh/"] {background-color:inherit !important;}
html.cms a[href$="http://www.who.int/zh"] {background-color:inherit !important;}
html.cms a[href$="http://www.who.int/zh/"] {background-color:inherit !important;}
html.cms a[href$="https://www.who.int/zh"] {background-color:inherit !important;}
html.cms a[href$="https://www.who.int/zh/"] {background-color:inherit !important;}
html.cms a[href^="https://www.who.int"][href$="/fr"] {background-color:#ffcc00;}
html.cms a[href^="https://www.who.int"][href$="/fr/"] {background-color:#ffcc00;}
html.cms a[href^="http://www.who.int"][href$="/fr"] {background-color:#ffcc00;}
html.cms a[href^="http://www.who.int"][href$="/fr/"] {background-color:#ffcc00;}
html.cms a[href^="/"][href$="/fr"] {background-color:#ffcc00;}
html.cms a[href^="/"][href$="/fr/"] {background-color:#ffcc00;}
html.cms a[href="/fr"] {background-color:inherit !important;}
html.cms a[href="/fr"] {background-color:inherit !important;}
html.cms a[href="/fr/"] {background-color:inherit !important;}
html.cms a[href$="http://www.who.int/fr"] {background-color:inherit !important;}
html.cms a[href$="http://www.who.int/fr/"] {background-color:inherit !important;}
html.cms a[href$="https://www.who.int/fr"] {background-color:inherit !important;}
html.cms a[href$="https://www.who.int/fr/"] {background-color:inherit !important;}
html.cms a[href^="https://www.who.int"][href$="/ru"] {background-color:#ffcc00;}
html.cms a[href^="https://www.who.int"][href$="/ru/"] {background-color:#ffcc00;}
</style>
Сайт ВОЗ. Многое можно ожидать от frontend, но такое...
+1
ДокументСсылка = парВыборка.Документ;
Если СокрЛП(ДокументСсылка) = "" Тогда
Продолжить;
КонецЕсли;
А как вы проверяете на ПустуюСсылку?
0
Как вы думаете, что может делать функция getAlabamaTimezone(now: Date) ?
+2
IT Оффтоп #135
#105: https://govnokod.ru/27544 https://govnokod.xyz/_27544
#106: https://govnokod.ru/27552 https://govnokod.xyz/_27552
#107: https://govnokod.ru/27554 https://govnokod.xyz/_27554
#108: https://govnokod.ru/27557 https://govnokod.xyz/_27557
#109: https://govnokod.ru/27581 https://govnokod.xyz/_27581
#110: https://govnokod.ru/27610 https://govnokod.xyz/_27610
#111: https://govnokod.ru/27644 https://govnokod.xyz/_27644
#112: https://govnokod.ru/27648 https://govnokod.xyz/_27648
#113: https://govnokod.ru/27652 https://govnokod.xyz/_27652
#114: https://govnokod.ru/27659 https://govnokod.xyz/_27659
#115: https://govnokod.ru/27665 https://govnokod.xyz/_27665
#116: https://govnokod.ru/27671 https://govnokod.xyz/_27671
#117: https://govnokod.ru/27675 https://govnokod.xyz/_27675
#118: https://govnokod.ru/27685 https://govnokod.xyz/_27685
#119: https://govnokod.ru/27701 https://govnokod.xyz/_27701
#120: https://govnokod.ru/27703 https://govnokod.xyz/_27703
#121: https://govnokod.ru/27710 https://govnokod.xyz/_27710
#122: https://govnokod.ru/27728 https://govnokod.xyz/_27728
#123: https://govnokod.ru/27729 https://govnokod.xyz/_27729
#124: https://govnokod.ru/27730 https://govnokod.xyz/_27730
#125: https://govnokod.ru/27732 https://govnokod.xyz/_27732
#126: https://govnokod.ru/27733 https://govnokod.xyz/_27733
#127: https://govnokod.ru/27737 https://govnokod.xyz/_27737
#128: https://govnokod.ru/27742 https://govnokod.xyz/_27742
#129: https://govnokod.ru/27747 https://govnokod.xyz/_27747
#130: https://govnokod.ru/27755 https://govnokod.xyz/_27755
#131: https://govnokod.ru/27766 https://govnokod.xyz/_27766
#132: https://govnokod.ru/27790 https://govnokod.xyz/_27790
#133: https://govnokod.ru/27828 https://govnokod.xyz/_27828
#134: https://govnokod.ru/27834 https://govnokod.xyz/_27834
+1
#include <iostream>
#include <cstdio>
namespace std {
namespace ios_base2 {
extern struct sync_with_stdio_t {
void h(bool sync = true) {
ios_base::sync_with_stdio(sync);
}
} sync_with_stdio;
}
}
int main() {
std::ios_base2::sync_with_stdio.h(false);
std::cout << "1";
printf("2");
std::cout << "3";
puts("");
return 0;
}
132
https://ideone.com/NkGYUL