标签: infinity

在python代码中生成的无穷大

我正在查看一些复杂的Python 2.6代码,偶尔会导致生成无穷大(至少一个Infinity被json库序列化 - 它检查w/math.isinf).

特别令人困惑的是,Python(据我所知)不应该能够将计算结果设置为无穷大.我错了这个假设吗?我知道你只能从常数得到无穷大:

k = float('inf')
k = 1e900
Run Code Online (Sandbox Code Playgroud)

python infinity

6
推荐指数
1
解决办法
2728
查看次数

在MySQL中存储Double.POSITIVE_INFINITY(EJB实体/ JBoss)

我有以下简单的JPA实体:

@Entity
@Table( name = myentity_table )
public class MyEntity {

  private double a;
  private double b;
  //(...)
}
Run Code Online (Sandbox Code Playgroud)

ab可以设置为Double.POSITIVE_INFINITY.当我尝试使用标准实体管理器将具有双重设置的实体存储到数据库(MySQL)中时,我得到异常:

java.sql.SQLException:'Infinity'不是有效的数值或近似数值

据我所知,MySQL可能不支持NaN/-INF/+ INF数字.有没有办法存储这个实体而不编写HQL查询并将+ INF转换为null(或max double)?理想情况下,我想像往常一样通过实体经理来做.

提前致谢.

mysql jboss ejb jpa infinity

6
推荐指数
1
解决办法
4375
查看次数

6
推荐指数
2
解决办法
668
查看次数

流星模板重新加载无限

运行Meteor时遇到问题.

我有一个"问题"页面,我想在渲染时增加计数视图.

所以在我写的模板函数中

Template.questionview.helpers({
    question : function() {
      if(Session.equals('main_template_name', 'question')) {
        console.log(Session.get('question_id'));
        Questions.update({
          _id: Session.get('question_id')
        }, {
           $inc: {
           views: 1
        }
     });
   }
});
Run Code Online (Sandbox Code Playgroud)

现在出现问题,当我渲染问题视图并更新问题项时,视图会再次刷新,因为它是一个反射页面.然后是无限循环.

有人有建议吗?

loops infinity meteor

6
推荐指数
1
解决办法
1021
查看次数

在gnuplot中,如果"set datafile missing",如何忽略"nan"和"-nan"?

gnuplot命令set datafile missing "nan"告诉gnuplot忽略nan数据文件中的数据值.

如何忽略nan-nan?我在gnuplot中尝试了以下内容,但是第一个语句的效果被下一个覆盖了.

gnuplot> set datafile missing "-nan"
gnuplot> set datafile missing "nan"
Run Code Online (Sandbox Code Playgroud)

有可能某些人grep -v nan在gnuplot命令中嵌入一​​个,甚至某种正则表达式来排除任何可以想象的非数值数据吗?

gnuplot nan infinity missing-data

6
推荐指数
1
解决办法
5723
查看次数

HTML如何将<input type ="number">的值设置为无穷大

我有一个数字输入,我想要保持整数.如果该值设置为负,那么我希望显示的符号为∞(&#8734;).

这样做不起作用(显示空白而不是"∞"):

<%
if foo <= -1
    v = '&#8734;'
else
    v = foo
end
%>
<input type="number" value="<%= v %>">
Run Code Online (Sandbox Code Playgroud)

有没有办法不借助javascript来做到这一点?

javascript html5 ruby-on-rails infinity

6
推荐指数
1
解决办法
2860
查看次数

JSON使用Python的ujson模块转储非数字浮点数

我正在尝试使用ujsonPython3中的模块序列化数字.一些值是NaNs.

使用标准json模块时,一切正常.

import json
json.dumps(float('NaN'))
Run Code Online (Sandbox Code Playgroud)

得到:

'NaN'
Run Code Online (Sandbox Code Playgroud)

但是有一个问题ujson.

import ujson
ujson.dumps(float('NaN'))
Run Code Online (Sandbox Code Playgroud)

抛出异常:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
OverflowError: Invalid Nan value when encoding double
Run Code Online (Sandbox Code Playgroud)

ujson出于性能原因使用.我是否必须用NaN字符串替换我的结构中的所有出现'NaN',或者有没有办法告诉ujson处理NaNs而不抛出异常?

我对无穷大也有同样的问题.我无法找到任何相关的文档.

python json dump nan infinity

6
推荐指数
1
解决办法
1520
查看次数

在R中的值替换期间区分无穷大和负无穷大

有一些很好的例子说明如何在此线程中用NA替换R中的无限值.

例如,

DT <- data.table(dat)
invisible(lapply(names(DT),function(.name) set(DT, 
           which(is.infinite(DT[[.name]])), j = .name,value =NA)))
Run Code Online (Sandbox Code Playgroud)

但是,这不区分positive(Inf)和negative infinity(-Inf).

我需要做出这种区分,因为NA我不想仅仅用它们替换它们并将它们抛出或者将它们抛弃,我想尝试使用最大非无穷大值来表示正无穷大而使用最小非无穷大值来表示负无穷大(以及像那样).

这可能吗?

输入数据示例

a <- c(-1,2,3,4,100/0,-100/0)

[1] -1 2 3 4 Inf -Inf

示例输出数据

[1] -1 1 2 3 4 4 -1

r infinity

6
推荐指数
1
解决办法
1509
查看次数

将 (key : value) 添加到无限嵌套的子对象中

我有一个如下所示的数组(代码会话 2)。我想像这样将 id : random 添加到 {child Obj} 中:

{
  name : "Peter",
  age : "18",
  profession : "nurse",
  id : String(Math.random())
  children : [],
 }
Run Code Online (Sandbox Code Playgroud)

但它有两种情况:关键孩子的值可能是 [ ] 或 [ length !== 0 ]。我想无限循环父数组并为所有添加 id 。

注意:每个 {childObj} 内的关键孩子的值可能是一个类似于父数组的数组。我的最终目标是为来自响应 API 的所有元素设置 id,看起来像模板数组

非常感谢,如果我的英语让你感觉复杂,我很抱歉

[{
  name : "Peter",
  age : "18",
  profession : "nurse",
  children : []
 }
 { 
   name: "Jack",
   age: "98" ,
   profession: "doctor",
   children: [ {
                 name : "Peter",
                 age : "18",
                 profession : "nurse",
                children : …
Run Code Online (Sandbox Code Playgroud)

javascript arrays nested object infinity

6
推荐指数
2
解决办法
546
查看次数

为什么 PostgreSQL 认为范围类型中的 NULL 边界与无限边界不同?

作为序言,我不是问NULL 边界和无限边界之间有什么区别 - 这在另一个问题中有所介绍。相反,我问为什么PostgreSQL 会区分 NULL 和无限边界(据我所知)它们的功能完全相同。

我最近开始使用 PostgreSQL 的范围类型,我对范围类型中 NULL 值的含义有点困惑。文档说:

范围的下限可以省略,这意味着所有小于上限的值都包含在范围 中,例如(,3]。同样,如果省略范围的上限,则所有大于下限的值都包含在范围中。如果下限和上限都被省略,则元素类型的所有值都被认为在该范围内。

这对我来说表明范围中省略的边界(与范围类型的构造函数中指定的等效 NULL 边界)应被视为无限。然而,PostgreSQL 区分了 NULL 边界和无限边界。文档继续:

您可以将[范围内]的这些缺失值视为+/-无穷大,但它们是特殊范围类型值,并且被视为超出任何范围元素类型的+/-无穷大值。

这令人费解。“超越无穷大”没有意义,因为无限值的全部要点是没有什么可以大于+无穷大或小于-无穷大。这并没有破坏“范围内的元素”类型的检查,但它确实引入了一个有趣的主键案例,我认为大多数人都不会想到。或者至少,没想到。

假设我们创建一个基本表,其唯一字段是日期范围,这也是 PK:

CREATE TABLE public.range_test
(
    id daterange NOT NULL,
    PRIMARY KEY (id)
);
Run Code Online (Sandbox Code Playgroud)

然后我们可以毫无问题地用以下数据填充它:

INSERT INTO range_test VALUES (daterange('-infinity','2021-05-21','[]'));
INSERT INTO range_test VALUES (daterange(NULL,'2021-05-21','[]'));
Run Code Online (Sandbox Code Playgroud)

选择所有数据表明我们有这两个元组:

[-infinity,2021-05-22)
(,2021-05-22)
Run Code Online (Sandbox Code Playgroud)

因此这两个元组是不同的,否则就会出现主键违规。但同样,当我们处理构成范围的实际元素时,NULL 边界和无限边界的工作原理完全相同。例如,不存在date值 X 使得 的结果X <@ …

postgresql null range infinity

6
推荐指数
1
解决办法
1210
查看次数

标签 统计

infinity ×10

javascript ×3

nan ×2

python ×2

arrays ×1

dump ×1

ejb ×1

gnuplot ×1

html5 ×1

jboss ×1

jpa ×1

json ×1

loops ×1

math ×1

meteor ×1

missing-data ×1

mysql ×1

nested ×1

null ×1

object ×1

postgresql ×1

r ×1

range ×1

ruby-on-rails ×1