我从DiffEqFinancial.jl的源代码中汲取灵感来正确设置我自己的系统。我不明白下面代码片段的目的true
和内容:false
sde_f = SDEFunction{true}(f,g)
SDEProblem{false}(f,g,u0,tspan;kwargs...)
那么在这种情况下做什么{true}
和做什么呢?{false}
我想知道我是否也应该在我自己的用户代码中使用它。我隐约意识到“严格类型类型,松散类型功能”的格言,所以我想知道为什么要在这里打字。
我从DiffEqFinancial.jl的源代码中汲取灵感来正确设置我自己的系统。我不明白下面代码片段的目的true
和内容:false
sde_f = SDEFunction{true}(f,g)
SDEProblem{false}(f,g,u0,tspan;kwargs...)
那么在这种情况下做什么{true}
和做什么呢?{false}
我想知道我是否也应该在我自己的用户代码中使用它。我隐约意识到“严格类型类型,松散类型功能”的格言,所以我想知道为什么要在这里打字。
发布我的问题几个小时后,我找到了作者本人 Chris Rackauckas 的答案。引用:
如果您正在创建数千个非常小的 ODEProblem 并希望避免进行动态检查,那么您应该执行 ODEProblem{false}(...) 或 ODEProblem{true}(...),即直接声明它是否在- 就地或异地形式。通常这不是什么大问题,因此文档中并没有经常提到它,但它就在那里,因为在某些情况下这会有所帮助。
资料来源:克里斯·拉考卡斯