小编fav*_*vba的帖子

如何测试两个阵列是否共享相同的内存块?

如何测试两个数组是否指向同一个内存块?例如,我想要一个foo像这样工作的函数:

a = rand(10) # Float64 array with 10 elements
b = copy(a) # b == a is true, but b === a is false
ar = reinterpret(Float32,a)
foo(ar,a) # I'd like this to return true
foo(reinterpret(Float64,ar),b) # I'd like this to return false, even if reinterpret(Float64,ar) == b
Run Code Online (Sandbox Code Playgroud)

我已经测试reinterpret(Float64,ar) === a但它返回了false.

对于SubArrays,这是通过parent(subofA) === A返回来实现的true.但是我可以为重新解释的数组激发相同的结果.

julia

3
推荐指数
1
解决办法
165
查看次数

我可以向函数添加一个方法来接收另一个特定函数作为参数吗?

我已经创建了我的不可变Tensor_field和一个nabla作用于张量的函数(即nabla(a::Tensor_field) = do something.

我添加了一个dot为张量函数的方法:Base.dot(a::Tensor_field, b::Tensor_field) = do something....

现在,我想定义一个新的行为发挥作用dotnabla作为参数.有点像 Base.dot(nabla::function, a::Tensor_field) = do something different.

我知道在Julia中我们能够将函数作为参数传递给其他函数,但我在文档中找不到如何为"功能"参数定义方法.

如果输入的typeof(nabla)是输出My_Module_Name.#nabla,则不是真正的DataType ...

julia

2
推荐指数
1
解决办法
68
查看次数

标签 统计

julia ×2