Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Kotlin源码阅读——Math

Kotlin源码阅读——Math

原创
作者头像
Runhwguo
发布于 2018-10-04 16:46:06
发布于 2018-10-04 16:46:06
2.1K0
举报

package:kotlin.math

filename:MathH.kt/MathJVM.kt

在MathH.kt里,是一些math的常量和方法定义。

这里expect是代表,实现在别的地方,对应的关键字是actual。

math的实现文件是在MathJVM.kt里,看一下截图:

虽然math模块源代码比较简单,但是里面也有让我觉得是新的东西,看图:

NaN其实在JVM上的语言,并不像JS一样,要特别地学习一下,但是NaN这个逻辑也确实存在。代码跟进去:

这里比较有意思的是,NaN的值是0.0f/0.0f,而且NaN和自身是不相等的,还有一点就是浮点数是不会发生除零异常。浮点数的运算具体规则,是涉及到底层知识的,如大学里学到的计算机组成原理。

想着这个应该不是独有的,马上又验证了一下C++:

还是蛮有趣的。

Math模块没啥复杂的,到此结束。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Kotlin源码阅读——IO
filename:Console.kt/FileTreeWalk.kt/ReadWrite.kt/FileReadWrite.kt
Runhwguo
2018/09/22
1K0
kotlin源码阅读——函数式编程
我主要写Kotlin源码阅读,函数式编程的基本概念,概念大家可以在网上做一些了解,这里推荐一下百度百科的定义,函数式编程概念,蛮清晰的。
Runhwguo
2018/09/13
8800
Kotlin源码阅读——Standard模块
Filename:stdlib/src/kotlin/util/Standard.kt
Runhwguo
2018/10/05
1.1K0
kotlin源码阅读——字符串
filename:String.kt/StringsJVM.kt/Arrays.kt/CharSequence.kt
Runhwguo
2018/09/05
2.7K1
Kotlin源码阅读——system模块
在kotlin的源码目录里,每个模块都有相应的md文件,做以说明。在kotlin最主要的stdlin/src目录下有一个Module.md:
Runhwguo
2018/10/07
1.1K0
小工具-日期、古诗一言html
这里就不在说如何添加自定义HTML小工具了,把它添加到侧边,然后把下面的代码放进去,然后保存就好啦!【如果报错无法保存,请把style标签里的CSS样式放到主题设置的“自定义CSS样式”里就可以了】
小狐狸说事
2022/11/28
7650
小工具-日期、古诗一言html
使用 Kotlin Compose Desktop 实现了一个简易的"手机助手"
adbd-connector 是一个实现 adb server 和 adb daemon 之间的通信协议的库,使用 Kotlin 编写。支持 PC 端直接连接 Android 设备操作 adb 相关的指令。
fengzhizi715
2022/06/27
1.4K0
使用 Kotlin Compose Desktop 实现了一个简易的"手机助手"
【Elasticsearch】5. Mapping && Setting
Mapping mapping类似数据库中的schema的定义,作用如下 定 义索引中的字段的名称 定义字段的数据类型,例如字符串,数字,布尔 字段,倒排索引的相关配置,(Anlyzed or Not Analyed,Analyzer) mapping会把json文档应设成lucene所需要的扁平格式 一个mapping属于记一个索引的type 每个文档都属于一个type 一个type有一个mapping定义 7.0开始,不需要再mapping定义中指定type的信息 字段的数据类型 简单类型 text
历久尝新
2020/12/21
9570
【Elasticsearch】5. Mapping && Setting
【技术分享】机器学习之回归原理详述(一)
导语:本文用了从数学层面和代码层面,再结合一些通俗易懂的例子,详细地描述了回归主要涉及的原理和知识,希望对于机器学习的初学者或者有兴趣研究模型具体实现的同学带来一点帮助。
腾讯云TI平台
2019/08/27
6.7K0
收藏这36个正则表达式,开发效率提高80%
我们在日常的Java开发中,经常需要处理一些字符串,这个时候正则表达式是非常有用的。几乎在所有的编程语言中都支持正则表达式。以下我将压箱底多年的干货搬出来给大家参考,都是我们日常使用频次比较高的正则表达式,希望能能大大提高你的工作效率。如果本文对大家有帮助,大家可以关注“Tom弹架构”,后续会连载正则表达式的基础知识。
Tom弹架构
2021/10/25
8270
代码历史上最昂贵的 7 个错误
算法或程序中的一个小技术错误就可能造成数百万美元的损失。本文带大家看看迄今为止历史上因程序错误而带来后果最为昂贵的 7 个错误。
陈哥聊测试
2022/05/05
4980
小朋友学数据结构1:链表
链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。
海天一树
2019/05/05
4370
小朋友学数据结构1:链表
重入攻击概述
以太坊智能合约中的函数通过private、internal、public、external等修饰词来限定合约内函数的作用域(内部调用或外部调用),而我们将要介绍的重入漏洞就存在于合约之间的交互过程,常见的合约之间的交互其实也是很多的,例如:向未知逻辑的合约发送Ether,调用外部合约中的函数等,在以上交互过程看似没有什么问题,但潜在的风险点就是外部合约可以接管控制流从而可以实现对合约中不期望的数据进行修改,迫使其执行一些非预期的操作等。
Al1ex
2021/03/21
1.1K0
使用xUnit为.net core程序进行单元测试(上)
纵轴表示测试的深度,也就是说测试的细致程度。
solenovex
2018/01/14
3K2
使用xUnit为.net core程序进行单元测试(上)
用Python绘制专业的K线图【含源代码】
使用Python绘制一幅专业的K线图,是量化投资和金融数据分析的必备功课。下面我将从K线图简介、数据获取、K线图绘制及成交量绘制等方面,结合源代码,一步步实现专业K线图的绘制。
算法爱好者
2021/10/25
6.4K1
用Python绘制专业的K线图【含源代码】
Docker系列学习文章 - 存储基本配置(八)
| 导语 通过前面的文章学会后,我们运行一个容器,打包制作一个镜像没啥问题了。但是要真正在生产上运用docker,我们还差两招很重要的。一个是数据卷的配置,还有一个是docker网络配置。这两个学会之后,基本上能开车慢慢上路了。
宝哥@上云专家
2018/05/07
2.5K11
Docker系列学习文章 - 存储基本配置(八)
2022最新 IDEA 激活教程!如何使用 IDEA 跟踪 Java 源码?
我在这里告诉你,阅读源码能够提高你的架构设计能力,这是在你阅读思考源码的过程中一点一滴提升的。
编程小记
2022/03/25
9480
2022最新 IDEA 激活教程!如何使用 IDEA 跟踪 Java 源码?
Android平台的Swift—Kotlin
原文链接:http://wetest.qq.com/lab/view/383.html
WeTest质量开放平台团队
2018/05/04
3.6K7
Android平台的Swift—Kotlin
腾讯会议核心数据库TDSQL,如何做到快速无损在线扩容?
自去年12月底发布后,腾讯会议40天更新14个版本,8天紧急扩容超过10万台云主机,投入的计算资源超100万核。疫情复工期间,每周都有数万家企业和政府相关机构使用腾讯会议复工复产,通过腾讯会议开拓了云签约、云招标、云面试、云培训等云上协同场景。
腾讯云开发者
2020/05/08
3.1K0
Kubernetes 1.19.0——deployment(2)
通过检测pod CPU的负载,解决deployment里某pod负载太重,动态伸缩pod的数量来负载均衡
gz_naldo
2020/09/27
8322
Kubernetes 1.19.0——deployment(2)
相关推荐
Kotlin源码阅读——IO
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档