DCC

ARM Architecture Reference Manual for ARMv8-A 中文解读

偶尔善良 提交于 2021-01-23 15:04:30
关于本参考手册 英文版 本手册主要描述了 ARMv8 体系结构。ARMv8 体系结构主要描述了 ARMv8-A 处理单元 (PE,Processing element) 的运行机制,包括以下方面内容: AArch64 和 AArch32 两个运行态。 三种指令集: 在 AArch32 运行态下, 支持兼容旧架构的 A32 和 T32 指令集. 在 AArch64 运行态下, 执行 A64 指令集. 当前 Exception 等级, 安全状态和运行态的不同对 PE 行为的影响。 Exception 模型 (Exception model)。 支持 AArch64 和 AArch32 运行态切换的内部交互模型 (interprocessing model)。 定义 Memory Ordering 和 Memory Management 的内存模型 (memory model)。本手册中,仅描述定义了虚拟内存系统架构 (VMSA) 的 ARMv8-A 架构的内存模型。 编程模型 (programmers’ model),主要描述用于控制 PE 和内存系统,以及提供相关状态信息的系统寄存器 (System registers) 接口。 高性能的 SIMD 和浮点指令: 支持单精度和双精度浮点数操作。 双精度、单精度和半精度浮点数转换。 三种指令集都支持整形、单精度浮点数向量操作。 在

贪吃蛇C语言

喜你入骨 提交于 2021-01-14 16:05:26
http://groups.tianya.cn/post-233945-a26c77a21b324ae5952434f366b8504c-1.shtml http://groups.tianya.cn/post-233945-affb7a12483a4ae3a5d5fa0a979cf256-1.shtml http://groups.tianya.cn/post-233945-69147112bfc84a4ab7fe4e24245e71fc-1.shtml http://groups.tianya.cn/post-233945-b7f4bc30917a48b9a1ce6ad37e095a4c-1.shtml http://groups.tianya.cn/post-233945-f89157e886864b77997b83469e2236f7-1.shtml http://groups.tianya.cn/post-233945-ebf45fbb7f104197bc00a7f2b0156e57-1.shtml http://groups.tianya.cn/post-233945-75deb3d90b35440da4f0bf53b68577a2-1.shtml http://groups.tianya.cn/post-233945

DCC2020:VVC帧间预测中的几何划分

早过忘川 提交于 2021-01-11 10:57:01
本文来自DCC2020论文《 Advanced Geometric-based Inter Prediction for Versatile Video Coding 》 几何划分相较于三角划分,能更好的贴合物体轮廓。 相关工作 VVC中的三角划分TPM 三角划分TPM 是VVC帧间预测工具,通过主对角线或副对角线将块划分为两个三角区域,每个区域使用单向帧间预测分别只需要一个运动矢量,MV是需要传输其在merge list里的索引。两个MV都是通过运动补偿得到,会产生两个w x h的中间预测块Pi,最终的预测块P_B通过将两个块加权得到。 ​ 其中W0+W1=8,且都是整数权重。权重由像素值到分割线的曼哈顿距离决定,例如W0=clip(0,8, w_TMP0+4)。w_TMP0是距离,对于左上角到右下角的三角划分,距离可由下式求得, a,b是常数因子,由块的宽高比决定。 AV1这的楔形预测 AV1定义了16种楔形划分方式,楔形要么是水平垂直,要么是±2,±0.5(取决于形状)。和TPM类似,最终也需要对两个预测块进行加权。 基于几何划分的帧间预测GIP GIP (Geometric-based Inter Prediction)是对TPM的补充,它可以更好的适应物体的形状,它们的MV的merge方法和编码方法也都相同。GIP共支持82种划分,只支持不小于8x8的块

排序---冒泡排序、快速排序、选择排序、插入排序、希尔排序

*爱你&永不变心* 提交于 2021-01-10 07:26:29
1.冒泡排序 O(n2) 基本思路:在要排序的一组数中,从第一个元素开始,依次对比当前元素和下一个元素,让较大的数往后沉,较小的数往前冒。即当发现相邻的两个数和排序的要求相反时,就交换它们的位置。      int [] arr = {5,8,2,4,9,1,3,6,7 }; // 1. 冒泡排序。外层循环控制循环次数,内层循环比较数据 @Test public void fun () { for ( int i = 0; i < arr.length - 1; i++ ) { for ( int j = 0; j < arr.length-1-i; j++ ) { if (arr[j] > arr[j+1 ] ) { int temp = arr[j]; arr[j] = arr[j+1 ]; arr[j +1] = temp; } } } out(); } // 冒泡排序优化 @Test public void fun1() { boolean flag; for ( int i = 0; i < arr.length-1; i ++ ) { // 标识,用来判断数组是否发生了交换 flag = false ; for ( int j = 0; j < arr.length-1-i; j++ ) { if (arr[j] > arr[j+1 ] ) { int temp =

IDEA中无法import自己工程中类的问题解决方法

邮差的信 提交于 2021-01-05 13:34:09
今天开个很久没搞的工程,刚开的时候一片红,很自然的想到,要去配置一下项目的JDK,但是配置好之后,又出了个诡异问题:项目可以运行,但是import项目内部自己写的类的时候,都出现了红色错误。虽然import显示错误,但是实际类是存在的!! 就像下面这样: 那么碰到这类问题之后要如何解决呢?下面说说解决步骤: 第一步 :菜单中选择File - Invalidate Caches/Restart... 第二步 :在弹出框中,选择Invalidate and Restart 本文首发: https://blog.didispace.com/idea-import-project-class-failed/ ,转载注明出处。 静静等待IDEA重启,此时就可以看到红色import错误没有啦! 欢迎关注我的公众号:程序猿DD,获得独家整理的免费学习资源助力你的Java学习之路!另每周赠书不停哦~ 来源: oschina 链接: https://my.oschina.net/didispace/blog/4878475

(转)以太坊(Ethereum)全零地址(0x000000...)揭秘

﹥>﹥吖頭↗ 提交于 2021-01-04 02:59:09
最近,一位小伙伴向我咨询问题,说他发现了一个诡异的现象。 以太坊的区块链中居然有全是0的地址: 0x0000000000000000000000000000000000000000 这究竟是怎么回事儿呢? 查看区块链后,发现还是蛮有趣的,且听我慢慢道来。 神秘而富有的地址 用在线的区块链浏览器查看下这个地址,我勒个去,居然有7228个ETH,价值500多w刀呢。 这究竟是何方土豪?这些ETH又从何而来呢? 创世区块 之前的文章《 以太坊(Ethereum)创世揭秘 》中曾经提到过,ETH最主要的来源并不是挖矿,而是当年众筹时发行的。 即使在以太坊正式发布近三年后的今天,创世区块中发行的7200w个ETH依然占到73.4%。 那么,这个全零地址中的ETH,是不是来自创世区块中发行的ETH呢? 创世区块中发行的ETH的分配情况,可以在这里找到: genesis_block.json ,这个全零的地址并不在其中。 然而,解析下创世区块,可以发现,挖出创世区块的miner,居然是这个全零的地址。 { difficulty: '17179869184', extraData: '0x11bbe8db4e347b4e8c937c1c8370e4b5ed33adb3db69cbdb7a38e1e50b1b82fa', gasLimit: 5000, gasUsed: 0, hash:

Python自学教程 | 如何零基础入门Python?

旧巷老猫 提交于 2020-12-25 11:51:11
不得不说,Python仍然是当下最热门的编程语言。相比较其他不少主流编程语言,Python有更好的可读性,上手相对容易,非常适合初学编程者。 自学的三大要素:专业、系统、坚持。只要用心做好这三点,那么学习Python肯定没问题。 下面给大家带来一份Python学习全教程。 1.书籍篇 2.网站篇 用Python编写代码一点都不难,事实上它一直被赞誉为最容易学的编程语言。如果你准备学习web开发, Python是一个不错的开始,甚至想做游戏的话,用Python来开发游戏的资源也有很多。这是快速学习这门语言的途径之一。 许多程序员都把Python作为编程之旅的开始,然后是像PHP和Ruby这样的语言。它也是最热门的Web开发语言之一,并极力推荐学习。但是,Python应该怎么学呢?应该从哪里开始? 我来为你解决这个问题,因为我自己学习编程和开始做开发的时候也依靠了很多这里的资源。当然这仅仅是一个友好的建议,最好的方法还是通过实践去学习,这里推荐的一些书和资源只是为了指引你走往正确的方向。 刚开始学习的时候可能会特别令人沮丧,一旦你学完了基础,之后的东西对你来说就很自然了,你都不需要思考就知道要怎么做。 一、The Python Challenge 如果你的编程生涯中从没做过这样的挑战,这可能会有点难度。但是配和上面介绍的那本书的话也不是很难,你应该尝试一下。它有33个关卡(谜题)

H5表单基础知识(二)

匆匆过客 提交于 2020-12-18 05:06:51
表单新增属性 <!--<input type="text" class="name" />--> <!-- placeholder:提示文字(占位符) autofocus:自动获取焦点 autocomplete: 自动完成(填充的) on 开启(默认) off 取消自动提示 required: 必填 multiple: 多选 novalidate:关闭默认的验证功能(只能加给form) pattern: 自定义正则验证 pattern="1\d{10}" --> <!--<form action="" novalidate>--> <form action="" > <fieldset> <legend>表单属性</legend> <label for=""> 用户名:<input type="text" placeholder="例如:李狗蛋" autofocus name="userName" autocomplete="on" required/> </label> <label for=""> 电话:<input type="tel" pattern="1\d{10}" /> </label> <!-- 上次文件--> <input type="file" name="file" multiple/> <input type="submit" /> </fieldset>

程序员的自我救赎---12.2.3: 虚拟币交易平台(区块链) 下 【C#与以太坊通讯】

[亡魂溺海] 提交于 2020-12-16 13:57:33
《前言》 (一) Winner2.0 框架基础分析 (二)PLSQL报表系统 (三)SSO单点登录 (四) 短信中心与消息中心 (五)钱包系统 (六)GPU支付中心 (七)权限系统 (八)监控系统 (九)会员中心 (十) APP版本控制系统 (十一)Winner前端框架与RPC接口规范讲解 (十二)上层应用案例 (十三)总结 虚拟币交易平台(区块链)下 【C#与以太坊通讯】 这一篇,也是区块链代币交易平台的最后一篇博客。所以内容都是基于前面两篇博客的,没有看过前面两篇的建议先过一遍。 12.2.1 :虚拟币交易平台(区块链) 上 【发行区块链代币】 12.2.2: 虚拟币交易平台(区块链) 中 【开发交易所】 说会到终点,我们还是接着代币交易平台的前提往前讲。前面我们讲述了如何基于以太坊发行区块链代币 以及 如何开发一个代币交易平台。 但是关键点是这代币和交易平台如何对接? 我们知道既然在交易平台交易,关于区块链代币的操作就至少有三种: 1,通过交易所创建用户代币钱包。 (注册) 2,客户从钱包客户端转入代币到交易所。(充值) 3,从交易所将代币转出到钱包客户端。 (提币) 其他的操作就是交易所(Web)做的事情,基本就不涉及和区块链之间的交互。今天我们还是以以太坊的测试环境Rinkeby为例。 我们先打开Geth客户端,加载Rinkeby的创始区块,并启动控制台。 geth -

DevOps中的测试实践

帅比萌擦擦* 提交于 2020-12-15 15:12:28
万物皆可pipeline,流程自动化解放生产力。在DevOps的pipeline中,我们发现测试环节也需要一套流水线化的能力,来保证研发流程的大批pipeline稳定高品质交付。 下面介绍下DevOps中如何构建高水平全面的测试能力。 文化、流程、组织结构、技术发生变革,对测试提出新要求 · DevOps文化对测试带来的新要求(文化) 为适应市场的快速变化,要求企业的产品快速迭代,柔性应对用户需求,滋生了DevOps。 《持续交付2.0》中,作者将DevOps简化概括为2个环:价值探索和快速验证。 价值探索是快速发现和识别外部客户的真实需求,为其创造价值点。"快速验证环"要求企业在找到业务问题制定业务目标后,快速实现和落地价值点。 测试属于"快速验证环",过程中要求开发/测试/运维的角色紧密配合,高效高质地落地验证新特性。 · 在DevOps中构建测试工作的难点(流程) 在DevOps趋势下,测试部门从原先的大量集中测试,变成了高频快速测试。 原先大部分企业采用纯手工测试的方式,从根本上无法适应DevOps的高频快节奏需求。滋生了对自动化测试的诉求。 · 头部企业测试部门的现状(组织架构) · 人力外包比重高: 金融/通信/航空等大型企业的外包人力与正式人力之比,往往超过5:1,人员流动性高,素质参差不齐。对工具和系统的稳定性和使用门槛提出要求。 · 从集中到分散又回归集中: