我们阅读了每一条反馈,并非常认真地对待您的意见。
要查看所有可用的限定符,请参阅我们的文档.
对这个项目有疑问吗?注册一个免费的GitHub帐户以打开一个问题,并联系其维护者和社区。
单击“注册GitHub”,表示您同意我们的服务条款和隐私声明。我们偶尔会向您发送与帐户相关的电子邮件。
已经在GitHub上了?登录到您的帐户
110.99
无响应
基础库
次要
在基础库中,在签名REAL中,函数的描述扫描和来自字符串状态:
扫描
来自字符串
它还接受以下非有限值的字符串表示:[+~-]?(inf|infinity | nan)其中字母字符区分大小写。
然而,这些函数都返回无对于此类非有限值。其他评论:复制自polyml/polyml#181
无
以下表达式应匹配一些_:
一些_
StringCvt.scanString实际扫描"南";实际值字符串"-inf公司";
phil.clayton@veonix.com
Phil Clayton通过网络表单提交phil.clayton@veonix.com2022-07-05 13:17:00
关键词:雷亚尔
110.99.3和2022.1固定
文本已成功更新,但遇到以下错误:
感谢您的更新。我已经测试了固定版本,并观察到以下情况:
例外比赛可提出:
比赛
-Real.fromString“n”;未捕获异常Match[非穷尽匹配失败]提出时间:Basis/Implementation/real-scan.sml:106.62
类似于“不”以及病例变体。请注意,SML/NJ在编译时会发出警告:
“不”
[编译$SMLNJ-BASIS/(BASIS.cm):(BASIS-common.cm):实现/(sources.cm):real-scan.sml]基础/实现/实际扫描。sml:105.46-106.62警告:match nonexualtive一些cs'=>。。。
应该扫描和来自字符串生成签名的NaN,作为从十进制做?基础库似乎不需要这样做。目前该符号被忽略,因此fromString“+nan”和fromString“-nan”具有相同的符号位。其意图是Option.composePartial(来自Decimal,IEEEReal.fromString)是的可能实现来自字符串但是否更受约束(生成签名NaN)?
从十进制
fromString“+nan”
fromString“-nan”
Option.composePartial(来自Decimal,IEEEReal.fromString)
对不起,出了点问题。
我会修复扫描错误。
NaN未签名。在指定SML基础库时,IEEE FP标准没有指定符号位的任何含义。最近,指定了该位以区分信令和静默NaN(1表示静默)。发送NaN信号对于SML来说是有问题的(假设我们会将它们映射到异常),因为很难以精确的方式将其映射到异常。例如,
(sNaN+1; x(x):=假)
(其中sNaN公司是一个信号NaN)可能会在发出异常信号之前进行赋值。因此,我认为我们应该在所有情况下都坚持使用安静的NaN(即设置符号位)。
sNaN公司
我认为signaling/quiet位是尾数的MSB,而不是符号位。维基百科状态:
有效位字段的最高有效位专门用于区分静默和信令NaN
因此,基本库中的抽象级别不允许观察或改变NaN的信令/静默位,但是可以观察和改变(无意义的)符号位。
修复扫描错误(请参阅问题 #73 讨论)并增加了对的支持
参考30373
扫描时保留NaN的符号。
你说得对(我不应该在半夜考虑浮点)。
我已经修复了扫描错误,并添加了对设置符号位的支持。正如您所指出的,Basis Library规范没有指定扫描NaN时如何解释符号,并且在打印时肯定会忽略符号。应在https://github.com/SMLFamily/Basis图书馆.
JohnReppy公司
没有分支或拉请求