首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >6.3 数学操作符(Math Operators)

6.3 数学操作符(Math Operators)

作者头像
代码咖啡
发布2018-08-28 17:00:13
5530
发布2018-08-28 17:00:13
举报
文章被收录于专栏:程序员叨叨叨程序员叨叨叨

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

6.3 数学操作符(Math Operators)

Cg语言对向量的数学操作提供了内置的支持,Cg中的数学操作符有:*乘法、/除法、-取反、+加法、减法、%求余、++——*=/=+=-=。后面四种运算符有时被归纳入赋值操作符,不过它们实际上进行数学计算,然后进行赋值, 所以这里也放入数学操作符中进行说明。

在文献【2】第3.3节Math Expressions中,其行文意思容易让人觉得“好像只有加减乘除等运算可以对向量进行”,实际上经过我的测试,++——等数学运算符同样可以使用在向量上。所以“Cg语言对向量的数学操作提供内置支持 ” 这句话是非常准确的。

需要注意的是:求余操作符%。只能在int类型数据间进行,否则编译器会提示错误信息:

error C1021: operands to “%” must be integral.

当使用这些数学操作符对一个标量和一个向量进行运算时,标量首先被复制到一个长度相同的向量中,然后进行运算,例如下面的代码形式是正确的:

void function() {
    float2 a = float2(1.0, 1.0); 
    float b = 2.0;
    f *= d;
    f *= 2.0;
} 
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.08.27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 6.3 数学操作符(Math Operators)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档