包含数组的元组的计算机制是什么?

问题描述 投票:0回答:1

以下面Tuple (ANY Vector)中的例子为例:

a=(2, [3, 5], 10); max a; // output [10,10]
为什么
max a
返回 [10, 10]?是不是因为向量[3,5]被展开,从而形成了两个元组,[2,3,10]和[2,5,10]?相关内存的分布是怎样的?

我目前的猜测是,要么是元素存储的时候,要么是动态计算的时候,内存扩大了,元素重复了。

indexing tuples dolphindb
1个回答
0
投票

如果元组a的所有元素都是标量,

max a
将它们一一比较;如果 a 包含一个数组,
max a
会迭代该数组以查找最大值,例如示例中的 10。为了方便后续的向量化计算,将结果转换为与元组中最长数组长度相同的向量,得到[10,10]。

© www.soinside.com 2019 - 2024. All rights reserved.