gpt4 book ai didi

julia - &-ing Julia 中的两个位数组?

转载 作者:行者123 更新时间:2023-12-03 23:33:15 26 4
gpt4 key购买 nike

使用 Julia 1.5.3 和 Julia 1.6.0 两个版本似乎都不支持 & 用于 BitArrays。

我有两个 BitArray,例如

x = BitArray([1,0,1])

y=BitArray([0,0,1])

并希望与它们相交以找到:

x&y=BitArray([0,0,1]) 

但是运算符 & 似乎不支持 BitArrays 并且使用 .* 似乎非常耗时。

有谁知道在 Julia 中找到两个位数组交集的好方法吗?

最佳答案

& 适用于标量值,而您将它们应用于数组。将标量运算符(或函数)应用于数组时,您应该使用“广播”,您可以通过在运算符上添加一个点来实现:

jl> x .& y
3-element BitVector:
0
0
1

顺便说一句,我看不到 .*.& 之间的任何时间差异。事实上,* 似乎只是调用了&

你看到什么样的表现?

jl> using BenchmarkTools

jl> @btime $x .* $y;
48.479 ns (2 allocations: 128 bytes)

jl> @btime $x .& $y;
48.426 ns (2 allocations: 128 bytes)

关于julia - &-ing Julia 中的两个位数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66991011/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com