layout | title |
---|---|
post |
第71期 |
从reddit/hackernews/lobsters/meetingcpp摘抄一些c++动态
欢迎投稿,推荐或自荐文章/软件/资源等,请提交 issue
2022 07 15
CPPcon 2022要开始了。2021我还没有看完
标准委员会动态/ide/编译器信息放在这里
编译器信息最新动态推荐关注hellogcc公众号 本周更新 2022-07-13 第158期
值得一看
值得一看
了解一下asio的背景
上面这四篇都是purecpp公众号的。大家也可以去公众号看看
感兴趣的看下吧。数学和图形学?看不懂
- Processing a ValueSet or PropertySet even in the face of possible mutation, part 1
- Processing a ValueSet or PropertySet even in the face of possible mutation, part 2
- Processing a ValueSet or PropertySet even in the face of possible mutation, part 3
手把手教你写代码,考虑各种场景
介绍msvc特性
arm的特性。现在arm的机器越来越多了。省钱 代码长这样。有兴趣的可以看看,我看不懂
void remove_negatives(const int32_t *input, int64_t count, int32_t *output) {
int64_t j = 0;
const int32_t* endPtr = input + count;
const uint64_t vl_u32 = svcntw();
svbool_t all_mask = svptrue_b32();
while(input <= endPtr - (4*vl_u32))
{
svint32_t in0 = svld1_s32(all_mask, input + 0*vl_u32);
svint32_t in1 = svld1_s32(all_mask, input + 1*vl_u32);
svint32_t in2 = svld1_s32(all_mask, input + 2*vl_u32);
svint32_t in3 = svld1_s32(all_mask, input + 3*vl_u32);
svbool_t pos0 = svcmpge_n_s32(all_mask, in0, 0);
svbool_t pos1 = svcmpge_n_s32(all_mask, in1, 0);
svbool_t pos2 = svcmpge_n_s32(all_mask, in2, 0);
svbool_t pos3 = svcmpge_n_s32(all_mask, in3, 0);
in0 = svcompact_s32(pos0, in0);
in1 = svcompact_s32(pos1, in1);
in2 = svcompact_s32(pos2, in2);
in3 = svcompact_s32(pos3, in3);
svst1_s32(all_mask, output + j, in0);
j += svcntp_b32(all_mask, pos0);
svst1_s32(all_mask, output + j, in1);
j += svcntp_b32(all_mask, pos1);
svst1_s32(all_mask, output + j, in2);
j += svcntp_b32(all_mask, pos2);
svst1_s32(all_mask, output + j, in3);
j += svcntp_b32(all_mask, pos3);
input += 4*vl_u32;
}
int64_t i = 0;
count = endPtr - input;
svbool_t while_mask = svwhilelt_b32(i, count);
do {
svint32_t in = svld1_s32(while_mask, input + i);
svbool_t positive = svcmpge_n_s32(while_mask, in, 0);
svint32_t in_positive = svcompact_s32(positive, in);
svst1_s32(while_mask, output + j, in_positive);
i += svcntw();
j += svcntp_b32(while_mask, positive);
while_mask = svwhilelt_b32(i, count);
} while (svptest_any(svptrue_b32(), while_mask));
}
目测协程还是不太成熟,clang的文档可以看看
讲folly实现的。值得一看
讲位运算的。不如看hacker‘s delight
抽象程度 std::function callable,是个能存的对象,能存lambda lambda只是一个能call的对象。右值。比函数对象能灵活点,匿名函数对象 函数指针也是个能存的,但是比std::function残废,不能保存有状态的lambda,比如有捕获的lambda
手把手教你写any
讲的整型约束。这个在cppcoin 2021上讲过。听不动。很困
- asteria 一个脚本语言,可嵌入,长期找人,希望胖友们帮帮忙,也可以加群753302367和作者对线
- unordered_dense hashmap实现,flatmap
- tinylisp 99行c实现lisp
有没有小卖铺缺收银员