首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Swift中,Pointwise相等,Pointwise小于,Pointwise更大的功能是什么?

在Swift中,Pointwise相等,Pointwise小于,Pointwise更大的功能是什么?
EN

Stack Overflow用户
提问于 2019-04-04 08:55:05
回答 1查看 1.1K关注 0票数 9

在阅读苹果公司的Swift编程语言书时,我偶然发现Pointwise、Pointwise小于和Pointwise大于运营商。参考资料:声明

代码语言:javascript
复制
.== Pointwise equal

.!= Pointwise not equal

我找不到关于什么时候使用这些东西的解释和例子。这些操作符的功能是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-04 09:04:21

运算符是protocol SIMD的一部分,这是“SIMD向量类型”遵守的协议。

它们是在Swift 5中与塞-0229一起引入的。从该提案中:

我们来讨论口罩吧。SIMD是等价的,所以它们有==和!=运算符,但是它们也提供了“点态比较”.==.!=运算符,它们比较两个向量的车道,并产生一个掩码,它是布尔值的向量。掩码的每个车道要么是true,要么是false,这取决于比较相应车道中的值的结果。举个例子: (swift)设x= SIMD4( 1,2,3,4) // x: SIMD4 = SIMD4(1,2,3,4) (迅速)让y= SIMD4(3,2,1,0) /y: SIMD4 = SIMD4(3,2,1,0) (SIMD4)x .== y/ r0 : SIMDMask> =SIMDMask(假,真,假,假) 在这里,第二个车道是true,因为2 == 2,而所有其他车道都是假的,因为这些车道中的x和y元素不相等。

protocol SIMD提取液

一个固定数目的元素的SIMD向量。 静态函数.== (Self,Self) -> SIMDMask //返回一个向量掩码,其结果是点相等比较。静态函数.> (Self,Self) -> SIMDMask //返回一个向量掩码,其结果的点态大于比较。

另一个例子是:

代码语言:javascript
复制
import simd

let x = SIMD3<Float>(1.0, 2.0, 3.0)
let y = SIMD3<Float>(3.0, 2.0, 1.0)

print(x .== y) // SIMDMask<SIMD3<Int32>>(false, true, false)
print(x .!= y) // SIMDMask<SIMD3<Int32>>(true, false, true)
print(x .< y)  // SIMDMask<SIMD3<Int32>>(true, false, false)
票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55511757

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档