6.1 关系操作符(Comparison Operators)

文章内容源自《GPU编程与CG语言之阳春白雪下里巴人》,因笔者读书易中途放弃,遂每读一章节,将其移至简书平台,以此作为对自己读书的勉励。笔者用粗体斜体 标注了关键词句,望感兴趣的读者们一起学习共勉。猛戳这里查看更多!

第 6 章 CG 表达式与控制语句

在上一章中,我们已经介绍了Cg语言的基础数据类型(7种)、内置数据类型,以及数组结构接口等类型,本章将在此基础上讨论Cg中的表达式,表达式由操作符(operator)关联一个或多个操作数(operand)构成,我们首先阐述各种类型的操作符,并结合数据类型讲解操作符的具体使用方法。

Cg中的操作符与C语言中的类似(操作符的功能和写法与C相同,但用法不尽相同),按照操作符的功能可以划分为:关系操作符逻辑操作符条件操作符。Cg中有一类较为独特的操作符,称为Swizzle操作符,这个操作符用于取出向量类型变量中的分量。此外,与C语言不同的是,Cg允许在向量类型变量上使用操作符,例如>操作符可以用来比较两个向量各个分量的大小关系。Cg中的表达式还有很多与C语言不同的细节之处,将在本章中一一分说。


6.1 关系操作符(Comparison Operators)

关系操作符,用于比较同类型数据(不同类型的基础数据需要进行类型转换,不同长度的向量,不能进行比较)之间的大小关系或者等价关系。 Cg中有6种关系操作符,如表 1 所示, 关系操作符运算后的返回类型均为bool类型。

  • 表 1 关系操作符

关系操作符

功能

用法

<

小于

expr < expr

<=

小于或等于

expr <= expr

!=

不等于

expr != expr

==

等于

expr == expr

>=

大于或等于

expr >= expr

>

大于

expr > expr

在Cg中,由于关系操作符以及下节会讲到的逻辑操作符,都返回bool类型结果,所以这两种操作符有时也被统一称为boolean operator

Cg语言表达式允许对向量使用所有的boolean operator,如果是二元操作符,则被操作的两个向量的长度必须一致。表达式中向量的每个分量都进行一对一的运算,后返回的结果是一个bool类型的向量,长度和操作数向量一致。例如:

float3 a = float4(0.5, 0.0, 1.0);
float3 b = float4(0.6, -0.1, 0.9);
bool3 c = a < b;

运算后向量c的结果为:

float3(true, false, true)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏ACM算法日常

How many integers can you find(容斥原理) - HDU 1796

看这题之前先复习一下容斥原理,不然肯定看不懂,呃,如果第一次接触容斥原理的题,可能弄懂了容斥原理你还是看不懂代码,是的,等会你就知道了。

9520
来自专栏人工智能LeadAI

排序算法对比、总结(Python代码)

排序大的分类可以分为两种:内排序和外排序。在排序过程中,全部记录存放在内存,则称为内排序,如果排序过程中需要使用外存,则称为外排序。下面讲的排序都是属于内排序。...

41980
来自专栏desperate633

LeetCode 215. Kth Largest Element in an Array分析

显然最简单的思想就是排序,然后取出倒数第k个元素就可以了,我们可以直接调用内部的排序函数。

8420
来自专栏趣谈编程

堆排序

面试官:写一个堆排吧 我心想:幸好昨天刚看 ? 堆排是基于堆的一种排序算法,对于堆的了解,请看可以管理时间的二叉堆(如果对堆的插入和删除不清楚,强烈建议先看堆...

24090
来自专栏云霄雨霁

排序算法总结

13800
来自专栏杨建荣的学习笔记

重温快速排序(r4笔记第73天)

说起排序,总是会想起大名鼎鼎的快速排序,等自己再次翻开快速排序时,感觉是很陌生的,从这个对比也能看出自己确实是已经忘记了曾经重要的日子。 快速排序使用了分治思想...

36470
来自专栏轮子工厂

八大排序算法稳定性分析,原来稳定性是这个意思...

2、在一趟选择中,如果当前元素比一个元素小,而该小的元素又出现在一个和当前元素相等的元素后面,那么交换后稳定性就被破坏了;

27360
来自专栏云霄雨霁

字符串排序----排序算法的选择

25800
来自专栏趣谈编程

希尔排序

21560
来自专栏用户画像

排序算法 归纳总结

一、直接插入排序、冒泡排序和简单选择排序是最基本的排序方法,它们主要用于元素个数n(n<10000)不是很大的情形。

9020

扫码关注云+社区

领取腾讯云代金券