元组的max及其他运算是如何取值的?

  •  编程基础->DolphinDB 脚本语言->数据类型与形式->数据形式->向量->元组 (tuple) 中一个示例的理解:
a=(2, [3, 5], 10); max a; #output [10,10]

?code=ZjUyZjViZTIxNGM3YjIxMmY2OGZkNTg3YzgyNGE3Mjdfa2xBVFJNMHdyQjVsT2RScHlGdHZYdm1ZUm14MEhzSXNfVG9rZW46U1pLdmJkbVRYb3ZDTWt4SVpDZ2M1RVM3bjZmXzE3MDU2Mjc1NTg6MTcwNTYzMTE1OF9WNA
为什么max a是两个10,难道是把元组中的向量展开取的[2,3,10]和[2,5,10]的max?这块内存是怎么布局的?
目前我只能想到这种解释,即对内存做了扩展和元素复制,这种复制可能是在元素存储中产生,也可能是在运算时动态产生。但这是猜测的,这个猜测可能适配这个例子,但不一定适配其他例子,所以想知道背后做了什么?
请先 登录 后评论

1 个回答

wfHuang

如果是标量则挨个比较,如果是数组,则依次遍历,得到最大值,如10.

然后将10扩展成为 元组中最大长度的数组,得到[10,10]。

主要是为了方便后续的向量化计算。

请先 登录 后评论
  • 1 关注
  • 0 收藏,264 浏览
  • fine 提出于 2024-01-19 09:29