随笔分类 -  Scala

摘要:https://mp.weixin.qq.com/s/KsZqe9W_DM6W6JecK_irvA 介绍AddressSet.enumerateBits方法的实现,主要是x & (-x)的意义。 ​​ 1. 基本定义 enumerateBits的意思就是用于枚举比特,或者说罗列比特,即把mask中为 阅读全文
posted @ 2019-04-08 12:34 wjcdx 阅读(222) 评论(0) 推荐(0)
摘要:https://mp.weixin.qq.com/s/qqL2XWqAhVcnGSxs6kxhLg 介绍IdRange的实现。 ​​ 1. 基本定义 A non-empty half-open range; [start, end) 非空,半闭合区间。 限定条件如下: a. start >= 0; 阅读全文
posted @ 2019-04-05 23:07 wjcdx 阅读(311) 评论(0) 推荐(0)
摘要:https://mp.weixin.qq.com/s/j1M9ZOTtqvc1Fv9T6dy9kg 以tilelink下的Buffer为例,介绍LazyModule如何组织内部的节点和模块。 1. TileLink Channels ​​ 参考TileLink总线的规范文档。 2. BufferPa 阅读全文
posted @ 2019-03-29 21:59 wjcdx 阅读(538) 评论(0) 推荐(0)
摘要:https://mp.weixin.qq.com/s/rgCRorjPYyyD6i7moIzbZg 介绍LazyModule和Node构造方法的执行过程,即实例化过程。 1. NullIntSource 以NullIntSource为例,将其作为顶层的LazyModule考虑: ​​ 2. Lazy 阅读全文
posted @ 2019-03-10 09:56 wjcdx 阅读(1314) 评论(0) 推荐(0)
摘要:https://mp.weixin.qq.com/s/gDbUto1qd7uWbpnxovr5pg 介绍LazyModuleImpLike类的实现。 1. wrapper LazyModuleImpLike是LazyModule的内部实现,LazyModule则是LazyModuleImpLike的 阅读全文
posted @ 2019-03-09 16:23 wjcdx 阅读(572) 评论(0) 推荐(0)
摘要:https://mp.weixin.qq.com/s/9PsBt4_4qHx4i6C5XtuiUw 介绍LazyModule和Node构造方法的执行过程,即实例化过程。 1. NullIntSource 以NullIntSource为例,将其作为顶层的LazyModule考虑: ​​ 2. 实例化过 阅读全文
posted @ 2019-03-09 16:23 wjcdx 阅读(873) 评论(0) 推荐(0)
摘要:https://mp.weixin.qq.com/s/FBU8fE4u9-UK6mRGQOlvbQ 介绍LazyModule的实现。 ​​ 1. children LazyModule内部的LazyModule,说明LazyModule是可以嵌套的。 在如下位置添加: ​​ 2. nodes Laz 阅读全文
posted @ 2019-03-09 16:22 wjcdx 阅读(894) 评论(0) 推荐(0)
摘要:https://mp.weixin.qq.com/s/W1cS9sgwLFjOOm86d05NIA 介绍各类型节点如何确定星型绑定所包含的连接数。 1. 定义 ​​ resoveStar方法以抽象方法的形式定义于抽象类MixedNode中,用于确定星型绑定所包含的连接数。 其参数说明如下: a. i 阅读全文
posted @ 2019-03-05 23:34 wjcdx 阅读(432) 评论(0) 推荐(0)
摘要:https://mp.weixin.qq.com/s/zgeAI2n-2cHJi7-Ra5rYZA 介绍MixedNode的实现。 1. 类定义 ​​ ​​ 2. inner/outer inner side/outer side of the node. ​​ 3. inward/outward 阅读全文
posted @ 2019-03-04 21:37 wjcdx 阅读(423) 评论(0) 推荐(0)
摘要:https://mp.weixin.qq.com/s/so-2x5KLfYF0IMCCqNThwQ 简单调试ValName实现; 1. 使用 ​​ Desugar之后如下: ​​ 这里补上了省略掉的implicit parameter,如下: ​​ 2. 实现 ValName的实现如下: ​​ Va 阅读全文
posted @ 2019-03-03 16:25 wjcdx 阅读(396) 评论(0) 推荐(0)
摘要:https://mp.weixin.qq.com/s/DVcA2UixnB_6vgI3SjZGyQ 调试wirePrefix方法。 1. 实现 wirePrefix用于调整名称格式,其实现如下: ​​ 使用正则表达式,把名称从驼峰格式如“CamelCaseNameStyle”变为Linux格式如“c 阅读全文
posted @ 2019-03-03 16:24 wjcdx 阅读(260) 评论(0) 推荐(0)
摘要:https://mp.weixin.qq.com/s/eOgNLi_MJ8HJOpepGaaW8Q 简单介绍BaseNode的实现。 ​​ 1. You cannot create a node outside a LazyModule ​​ LazyModule.scope在LazyModule对 阅读全文
posted @ 2019-03-03 16:22 wjcdx 阅读(416) 评论(0) 推荐(0)
摘要:https://mp.weixin.qq.com/s/BvK3He3GWon8ywG8Jdmcsg 介绍Node相关的类。 ​​ 1. BaseNode BaseNode是所有节点类的基类。 2. InwardNode 内向节点(下游节点),其定义如下: ​​ a. iBindings: 记录内向连 阅读全文
posted @ 2019-03-02 18:59 wjcdx 阅读(458) 评论(0) 推荐(0)
摘要:https://mp.weixin.qq.com/s/GWL41P1G1BXm2sTeLmckdA 介绍NodeHandle相关的类。 ​​ 1. NoHandle 顶层类(trait),作为所有NodeHandle的父类型,没有定义特别操作。 2. InwardNodeHandle ​​ 主要用于 阅读全文
posted @ 2019-03-02 18:58 wjcdx 阅读(390) 评论(0) 推荐(0)
摘要:https://mp.weixin.qq.com/s/533bJxcPRgO4W2gf_OEhEw 分析DUEB参数模型中各种参数类型的可能性。 1. 节点类型 根据参数的传播方向,可以把节点分为三类: a. 只输出参数的节点,参考OutwardNodeImp; b. 只接收参数的节点,参考Inwa 阅读全文
posted @ 2019-03-01 13:01 wjcdx 阅读(517) 评论(0) 推荐(0)
摘要:https://mp.weixin.qq.com/s/9PEEpe1pkQDN9RWpOGSUCQ 介绍DUEB参数模型的设计,不包含实现(实现对设计做了简化)。 1. DUEB diplomacy的DUEB参数模型包含了4组参数,分别是: a. DI/DO b. UI/UO c. EI/EO d. 阅读全文
posted @ 2019-02-27 21:22 wjcdx 阅读(533) 评论(0) 推荐(0)
摘要:https://mp.weixin.qq.com/s/HgUpTCh0D94Uymj5qQk-ag 介绍NodeImp相关基础类的实现。 1. 类图 ​​ 节点实现(NodeImp)的基础类主要有: a. InwardNodeImp:内向节点实现; b. OutwardNodeImp: 外向节点实现 阅读全文
posted @ 2019-02-26 21:59 wjcdx 阅读(574) 评论(0) 推荐(0)
摘要:https://mp.weixin.qq.com/s/Tmc_oHBQk8eYgKjjsMDn0g 总体介绍diplomacy实现节点(Node)使用的三种类。 0. DAG中的Node diplomacy为了实现节点的功能,主要使用了三种类: a. NodeImp:节点实现; b. NodeHan 阅读全文
posted @ 2019-02-25 22:37 wjcdx 阅读(826) 评论(0) 推荐(0)
摘要:https://mp.weixin.qq.com/s/cTRxXwWNEeb4-XX_t4bRcg 讨论模块结构信息的来源及使用方式。 ​​ 1. diplomacy diplomacy:外交,谈判的意思。主要用于模块之间的协商参数。 基本思想是首先把模块结构(module hierarchy)抽象 阅读全文
posted @ 2019-02-24 19:24 wjcdx 阅读(683) 评论(0) 推荐(0)
摘要:https://mp.weixin.qq.com/s/zwrG1MfUzXwtik7jotpQsA 介绍Intellij IDEA中的一个去除Scala语法糖的功能。 ​​ 1. 去除语法糖 Scala包含了太多的语法糖,在实现了代码写法比较简洁的同时,也某种程度上降低了代码的可阅读性。 比如变量类 阅读全文
posted @ 2019-02-22 21:58 wjcdx 阅读(725) 评论(0) 推荐(0)