在C或C中是否有比 x >= start && x <= end 更快的方法来测试整数是否在两个整数之间?

更新:我的特定平台是iOS . 这是盒子模糊功能的一部分,它将像素限制为给定方块中的圆圈 .

更新:在尝试accepted answer之后,我在一行代码上获得了一个数量级的加速,而不是正常的 x >= start && x <= end 方式 .

更新:这是来自XCode的汇编程序的after和before代码:

NEW WAY

// diff = (end - start) + 1

#define POINT_IN_RANGE_AND_INCREMENT(p, range) ((p++ - range.start) < range.diff)

Ltmp1313:

ldr r0, [sp, #176] @ 4-byte Reload

ldr r1, [sp, #164] @ 4-byte Reload

ldr r0, [r0]

ldr r1, [r1]

sub.w r0, r9, r0

cmp r0, r1

blo LBB44_30

OLD WAY

#define POINT_IN_RANGE_AND_INCREMENT(p, range) (p <= range.end && p++ >= range.start)

Ltmp1301:

ldr r1, [sp, #172] @ 4-byte Reload

ldr r1, [r1]

cmp r0, r1

bls LBB44_32

mov r6, r0

b LBB44_33

LBB44_32:

ldr r1, [sp, #188] @ 4-byte Reload

adds r6, r0, #1

Ltmp1302:

ldr r1, [r1]

cmp r0, r1

bhs LBB44_36

非常惊人的是如何减少或消除分支可以提供如此惊人的速度 .

java怎么求两组整数的或集,确定整数是否在具有已知值集的两个整数(包括)之间的最快方法...相关推荐

  1. Java算法题目小记3:勾股定理,西方称为毕达哥拉斯定理,它所对应的三角形现在称为:直角三角形.已知直角三角形的斜边是某个整数,并且要求另外两条边也必须是整数。 求满足这个条件的不同直角三角形的个数。

    题目 勾股定理,西方称为毕达哥拉斯定理,它所对应的三角形现在称为:直角三角形. 已知直角三角形的斜边是某个整数,并且要求另外两条边也必须是整数. 求满足这个条件的不同直角三角形的个数. [数据格式] ...

  2. 已知直角三角形的斜边是某个整数,求满足这个条件的不同直角三角形的个数。

    勾股定理,西方称为毕达哥拉斯定理,它所对应的三角形现在称为:直角三角形. 已知直角三角形的斜边是某个整数,并且要求另外两条边也必须是整数. 求满足这个条件的不同直角三角形的个数. [数据格式] 输入一 ...

  3. matlab二维图形中确定一点的坐标系,在CAD中已知一个平面图中两个点的坐标如何建立坐标系以便求出图形中任一点的坐标?...

    在CAD中已知一个平面图中两个点的坐标如何建立坐标系以便求出图形中任一点的坐标?以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一 ...

  4. 机器学习笔记——2 简单线性模型及局部加权线性模型的基本原理和python实现(参数估计的两个基本角度:几何直观和概率直观。函数最值问题的两大基本算法:梯度方法与迭代方法)

    简单线性模型及局部加权线性模型的基本原理和python实现(参数估计的两个基本角度:几何直观和概率直观.函数最值问题的两大基本算法:梯度方法与迭代方法) 线性模型是什么? 线性模型是监督学习的各类学习 ...

  5. python求斜边上的高是多少厘米_已知一个直角三角形的两条直角边,如何求斜边上的高的长度...

    展开全部 利用:直角32313133353236313431303231363533e59b9ee7ad9431333431333963三角形的面积不变,即两直角边的乘积的一半=斜边乘以斜边上的高的一 ...

  6. [Java练习]求一个数的阶乘,并在此基础上求自然对数e的值

    问题:分别用方法递归和循环求一个数的阶乘,并调用此方法求自然对数e的值 e = 1 + 1/2! +1/3! +1/4! +- public class factorial1{public stati ...

  7. 已知正整数n是两个不同的质数的乘积,试求出较大的那个质数

  8. 求直角边的斜边c语言,使用多种程序语言编程:已知斜边与一直角边,通过勾股定理求另外一直角边,50分起价,多一个正确回答加100分(并非刷分,请不要误解)...

    满意答案 zhjp0412 2014.08.10 采纳率:40%    等级:9 已帮助:214人 common lisp版(刚学的,献丑了- -): (defun gougu(x y) (setq ...

  9. python求两组同学的平均成绩_Python学习心得2:求平均值

    继续昨天的题目今天的练习又提出了新的要求,先来看下题目: 上一个练习中,我们完成了两组成绩的合并和排序. 不过,老师有了新的需求:想知道两组的平均分,以及把低于平均分的成绩也打印出来. 所以,在这个练 ...

最新文章

  1. H.265视频编码与技术全析(上)
  2. SAP Fiori UI上关于时区Timezone的一些问题和解决方案
  3. 复变函数画图cosz图像_用matlab绘制x=(1+cosu)cosv,y=(1+cosu)sinv,z=sinu图像?
  4. elementUI的DatePicker+DateTimePicker组件的自定义日期禁用
  5. 解决ubuntu首次安装Mysql之后,首次登录出现ERROR 1698 (28000): Access denied for user 'root'@'localhost'的方法
  6. 如何在linux系统写程序文件,Linux应用程序使用写文件调试程序的方法
  7. linux控制器错误码,ubuntu – 不频繁的输入/输出错误 – Linux服务器
  8. CubeMX配置串口的程序烧入板子不跑的解决方法
  9. Ubuntu14.04下安装Chrome出现“未安装软件包 libappindicator1”问题的解决办法
  10. php curl https_PHP FFI:一种全新的PHP扩展方式
  11. 1016. 部分A+B (15)-PAT乙级真题
  12. hive编程指南_第三篇|Spark SQL编程指南
  13. 54.用环信实现聊天功能
  14. 国内三大PTPrivate Tracker站分析
  15. 斜线/、反斜线\、双斜线//、双反斜线\\ ,区别
  16. 好看的照片要怎么拍?
  17. k8s replicaset controller源码分析(2)-核心处理逻辑分析
  18. WIN10 1903的更新失败的问题
  19. 【MATLAB】矩阵操作 ( 矩阵构造 | 矩阵运算 )
  20. 国家计算机二级西安培训机构,西安国家计算机等级考试培训

热门文章

  1. shell 批量转换文件编码
  2. 自然语言推理和数据集
  3. GPU上创建目标检测Pipeline管道
  4. YOLO、SSD、FPN、Mask-RCNN检测模型对比
  5. JavaWeb--过滤器
  6. [JAVAEE] Thymeleaf 基本语法:常用表达式
  7. Git 修改用户名和邮箱
  8. Android Studio 3.5 之后导入第三方Library 库的方法
  9. 路由器虚拟服务器功能(广域网服务端口和局域网服务端口的映射关系)
  10. pycharm+PyQt5+python最新开发环境配置,踩坑过程详解