-
0
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
Fixpoint mint_add0 {N} (i k : Fin.t N) te_i te' t0 vec
(Ht : MInt nonCommRel N k vec (te' :: t0))
(Hik : k < i)
(Hcomm0 : trace_elems_commute te_i te')
{struct Ht} :
exists t' : list TE,
MInt nonCommRel N k (vec_append i te_i vec) (te' :: t') /\
Permutation trace_elems_commute (te_i :: te' :: t0) (te' :: t').
Proof with eauto.
(* Welcome to the hell proof! *)
remember (te' :: t0) as t_.
destruct Ht as [k
|k j vec te_k t Hij Ht
|k j vec te_k te_j t Hij Hcomm Ht
];
[discriminate
|replace te' with te_k in * by congruence; clear Heqt_..
].
2:{ destruct (trace_elems_commute_dec te_i te_j).
- apply mint_add0 with (te_i := te_i) (i := i) in Ht; [|lia|assumption].
destruct Ht as [t' [Ht' Hperm']].
exists (te_j :: t'). split.
+ swap_vec_append.
eapply mint_cons2...
+ apply permut_cons with (a := te_k) in Hperm'.
eapply permut_trans...
now apply permut_head'.
- exists (te_i :: te_j :: t). split.
+ swap_vec_append.
apply mint_cons1 with (j0 := i); [lia|].
apply mint_cons2 with (j0 := j); [lia|auto..].
+ now apply permut_head'.
}
{ inversion_ Ht.
- exists [te_i]. split.
+ swap_vec_append.
apply mint_cons1 with (j0 := i); [lia|].
apply mint_cons1 with (j0 := i); [lia|].
constructor.
+ now apply permut_head'.
- rename te into te_j.
destruct (PeanoNat.Nat.lt_ge_cases j i).
2:{ exists (te_i :: te_j :: t1). split.
- swap_vec_append.
apply mint_cons1 with (j1 := i); [lia|].
apply mint_cons1 with (j1 := j); [lia|assumption].
- now apply permut_head'.
}
{ destruct (trace_elems_commute_dec te_i te_j) as [Hte_ij|Hte_ij].
- apply mint_add0 with (i := i) (te_i := te_i) in Ht; [|lia|assumption].
destruct Ht as [t' [Ht' Hperm']].
exists (te_j :: t'). split.
+ swap_vec_append.
eapply mint_cons1...
+ apply permut_cons with (a := te_k) in Hperm'.
now apply permut_head.
- exists (te_i :: te_j :: t1). split.
+ swap_vec_append.
apply mint_cons1 with (j1 := i); [lia|].
apply mint_cons2 with (j1 := j); [lia|assumption..].
+ apply permut_head; [assumption|constructor].
}
- rename j0 into i0. cbn in H0.
destruct (PeanoNat.Nat.lt_ge_cases j i).
2:{ exists (te_i :: te_i0 :: te_j :: t1). split.
+ swap_vec_append.
apply mint_cons1 with (j0 := i); [lia|].
apply mint_cons1 with (j0 := j); [lia|assumption].
+ now apply permut_head'.
}
{ destruct (trace_elems_commute_dec te_i te_i0).
- apply mint_add0 with (i := i) (te_i := te_i) in Ht; [|lia|assumption].
destruct Ht as [t' [Ht' Hperm']].
exists (te_i0 :: t'). split.
+ swap_vec_append.
eapply mint_cons1...
+ apply permut_cons with (a := te_k) in Hperm'.
now apply permut_head.
- exists (te_i :: te_i0 :: te_j :: t1). split.
+ swap_vec_append.
apply mint_cons1 with (j0 := i); [lia|].
apply mint_cons2 with (j0 := j); [lia|assumption..].
+ apply permut_head.
* assumption.
* constructor.
}
}
Qed.
Мой magnum opus. Часть доказательства про выкидывание из рассмотрения коммутирующих системных вызовов.
CHayT,
17 Ноября 2020
-
+1
- 1
- 2
- 3
- 4
- 5
- 6
DeliveryTruck t when t.GrossWeightClass switch
{
< 3000 => 10.00m - 2.00m,
>= 3000 and <= 5000 => 10.00m,
> 5000 => 10.00m + 5.00m,
}
С каждой новой версией C# всё меньше похож на C# и всё больше на Perl.
Vindicar,
14 Ноября 2020
-
+1
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
In order to fund the development work on speeding CPython by a factor of five, something like $2M will be required.
This seems like a sizeable sum, but compared to the amount of money spent on Python development and the
cost of running Python applications, it is quite a modest sum.
---
The overall aim is to speed up CPython by a factor of (approximately) five. We aim to do this in four distinct stages,
each stage increasing the speed of CPython by (approximately) 50%.
1.5**4 ≈ 5
---
The interpreter will adapt to types and values during execution, exploiting [b]type stability[/b] in the program
---
Improved performance for [b]integers of less than one machine word[/b].
Improved peformance for [b]binary operators[/b].
---
Simple "JIT" compiler for small regions. Compile small regions of specialized code, using a relatively simple, fast compiler.
Extend regions for compilation. Enhance compiler to generate [b]superior machine code[/b].
питонисты готовят новую версию интерпретатора с революционной фичей - возможностью отъема денег у населения. Ожидается, что нововведение позволит языку быстро заработать очки на рынке пускания пыли в глаза.
https://github.com/markshannon/faster-cpython
Fike,
13 Ноября 2020
-
0
- 1
bp kernelbase!VirtualAlloc " .printf \"\n\n\n\nBytes allocated: %lu (k)\n\n\n\",(@rdx/0n1024); k 8"
Давайте течь от windbg
MAPTbIwKA,
13 Ноября 2020
-
0
- 1
- 2
- 3
- 4
pituhs.reserve(kurochkas.size());
for (auto& kurochka : kurochkas) {
pituhs.push_back(kurochka.snesti_jajichko());
}
reserve заебал.
Коллега (да, тот же самый) пихает его везде.
Я понимаю зачем это нужно, но блядь, я читаю на одну строку больше, чем мог бы, и лишний раз напрягаю мозг.
И это сливается со словом «reverse».
Кстати, оптимизаторы могли бы такую хуйню сами детектить, и резервировать сами.
3_dar,
12 Ноября 2020
-
0
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
<div class="filter-aside-mobile-category-popular" id="filter-aside-mobile-category-popular">
<div class="catalog-mobile-menu__header">
<div class="catalog-mobile-menu__close">
<svg>
<use xlink:href="assets/img/sprite.svg#arr-left"></use>
</svg><span>Назад</span>
</div>
</div>
<h3 class="filter-aside-mobile-sorted__title">Популярные подборки</h3>
<ul class="category-popular-filter__list">
<li class="category-popular-filter__item"><a class="category-popular-filter__link" href="#">Rotabroach</a></li>
</ul>
</div>
snegoviktlt,
12 Ноября 2020
-
−1
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
$(".mobile-filter__footer-popular-btn").on("click",function(e){
e.preventDefault(),
$("#header-mobile").addClass("blue"),
$(this).addClass("active"),
$("#filter-aside-mobile-category-popular").addClass("active")
});
$("#filter-aside-mobile-category-popular .catalog-mobile-menu__close").on("click",function(e){
e.preventDefault(),
$("#header-mobile").removeClass("blue"),
$(".mobile-filter__footer-popular-btn").removeClass("active"),
$("#filter-aside-mobile-category-popular").removeClass("active")
})
sdf
snegoviktlt,
12 Ноября 2020
-
0
- 1
- 2
- 3
$(".mobile-filter__footer-popular-btn").on("click",function(e){e.preventDefault(),$("#header-mobile").addClass("blue"),$(this).addClass("active"),$("#filter-aside-mobile-category-popular").addClass("active")}),
$("#filter-aside-mobile-category-popular .catalog-mobile-menu__close").on("click",function(e){e.preventDefault(),$("#header-mobile").removeClass("blue"),$(".mobile-filter__footer-popular-btn").removeClass("active"),
$("#filter-aside-mobile-category-popular").removeClass("active")})
1
snegoviktlt,
12 Ноября 2020
-
+2
- 1
Class::Class(Pethu pethu) : pethu(std::move(pethu)) {
std::move заебал. Просто взял, блядь, — и заебал!
Чем это лучше передачи по ссылке?
guestinxo,
12 Ноября 2020
-
0
- 1
https://tproger.ru/articles/frontend-roadmap-2021/
Как много надо учить ради того, чтобы клепать красивые формочки.
Они там совсем ебанулись?
YpaHeLI_,
12 Ноября 2020