这四个内联(关键)单词之间有什么区别?
inline,__inline,__inline__,__forceinline.
我使用Sieve of Eratosthenes和Python 3.1 编写了一个素数生成器.代码在ideone.com上以0.32秒正确且优雅地运行,以生成高达1,000,000的素数.
# from bitstring import BitString
def prime_numbers(limit=1000000):
'''Prime number generator. Yields the series
2, 3, 5, 7, 11, 13, 17, 19, 23, 29 ...
using Sieve of Eratosthenes.
'''
yield 2
sub_limit = int(limit**0.5)
flags = [False, False] + [True] * (limit - 2)
# flags = BitString(limit)
# Step through all the odd numbers
for i in range(3, limit, 2):
if flags[i] is False:
# if flags[i] is True:
continue …Run Code Online (Sandbox Code Playgroud) optimization primes bit-manipulation sieve-of-eratosthenes python-3.x
当我读到这篇文章(来自OpenGL wiki)时,我很震惊:
glTranslate,glRotate,glScale
这些硬件加速了吗?
不,没有已知的GPU可以执行此操作.驱动程序计算CPU上的矩阵并将其上载到GPU.
所有其他矩阵操作也在CPU上完成:glPushMatrix,glPopMatrix,glLoadIdentity,glFrustum,glOrtho.
这就是GL 3.0中不推荐使用这些函数的原因.您应该拥有自己的数学库,构建自己的矩阵,将矩阵上传到着色器.
在很长一段时间里,我认为大多数OpenGL函数都使用GPU来进行计算.我不确定这是否是一种常见的误解,但经过一段时间的思考,这是有道理的.由于状态切换太多,旧的OpenGL函数(2.x及更早版本)实际上不适合实际应用程序.
这让我意识到,许多OpenGL函数可能根本不使用GPU.
所以,问题是:
哪个OpenGL函数调用不使用GPU?
我相信知道上述问题的答案将有助于我成为一名更好的OpenGL程序员.请分享一些您的见解.
编辑:
我知道这个问题很容易导致优化水平.这很好,但这不是这个问题的意图.
如果有人知道某个流行实现的一组GL函数(如AshleysBrain建议,nVidia/ATI,可能依赖于操作系统)不使用GPU,那就是我所追求的!
合理的优化指南稍后会出现.让我们关注本主题的功能.
EDIT2:
我从来没有理解#pragma once什么时候#ifndef #define #endif总是有效的需要.
我已经看到了#pragma comment与其他文件链接的用法,但使用IDE可以更轻松地设置编译器设置.
有哪些其他用法#pragma是有用的,但并不广为人知?
编辑:
我不只是#pragma指令列表之后.也许我应该再多说一下这个问题:
你和你一起写的代码#pragma有用吗?
.
答案一目了然:
感谢所有回答和/或评论的人.以下是我发现有用的一些输入的摘要:
#pragma once或#ifndef #define #endif允许更快地编译大型系统.史蒂夫跳进来支持这一点.#pragma onceMSVC首选,而GCC编译器优化#ifndef #define #endif.因此,应该使用其中之一,而不是两者.#pragma pack了二进制兼容性,而Clifford则反对这一点,因为可移植性和字节序可能存在问题.Evan提供了一个示例代码,Dennis告知大多数编译器会强制执行填充以进行对齐.#pragma warning用来隔离真正的问题,并禁用已经审查过的警告.#pragma comment(lib, header)在不重新设置IDE的情况下轻松移植项目.当然,这不太便携.#pragma message为VC用户提供了一个很好的技巧来输出带有行号信息的消息.詹姆斯更进一步,允许error或warning匹配MSVC的消息,并将适当显示,如错误列表.#pragma region了能够在MSVC中使用自定义消息折叠代码.哇,等等,如果我想发布不使用#pragmas除非必要,该怎么办?
#pragma.荣誉.如果SOers感觉到发布答案的冲动,我会在此列表中添加更多内容.感谢大家!
请参阅下面的快速图表.
我要做的是通过使用红点已知坐标的角度来获取黄点的坐标.假设每个黄点距离x:50/y约20个像素:直角250个红点(我认为这就是所谓的)我如何得到它们的坐标?
我相信这是非常基本的三角学,我应该使用Math.tan(),但他们并没有在艺术学校教我们太多的数学.
alt text http://www.freeimagehosting.net/uploads/e8c848a357.jpg
我已经开始使用PyOpenGL 3.0.1b在Python中使用OpenGL。
我查看了一些示例代码,然后开始运行它并对其进行修改等。一切都很好,直到我变得不太懂了。
在http://pyopengl.sourceforge.net/documentation/manual-3.0/index.xhtml上,列出了OpenGL函数以及是否不建议使用它们。因此,我以为自己只需要找到一些不使用所有这些已弃用的废话的最新教程。
数小时后,再没有运气了!不推荐使用的示例代码之后不推荐使用的示例代码...我可以在哪里找到不推荐使用的教程?
我有一个列表L = [a,b,c],我想生成一个元组列表:
[(a,a), (a,b), (a,c), (b,a), (b,b), (b,c)...]
Run Code Online (Sandbox Code Playgroud)
我试过做L*L但它不起作用.有人能告诉我如何在python中得到它.
Pari/GP是一个优秀的数论相关函数库。问题是似乎没有任何地方的 python 的最新包装器,(pari-python使用旧版本的 pari),我想知道是否有人知道其他类似的库/包装器pari 或使用 pari 的一种。
我知道 SAGE,但它对于我的需求来说太大了。GMPY 也很出色,但是我错过了一些内在的 pari 函数,我宁愿使用 python 而不是提供的 GP 环境。NZMATH、mpmath、scipy 和 sympy 也都被考虑在内。
在相关说明中,是否有人对加载 pari dll 本身并使用其中包含的函数有任何建议?除了加载它和学习函数指针之外,我尝试过很少成功。
在Java 1.5中,要弃用一个方法,您将:
@Deprecated int foo(int bar) {
}
Run Code Online (Sandbox Code Playgroud)
在Java 1.6中进行编译会导致以下结果:
语法错误,注释仅在源级别为1.5时可用
有任何想法吗?
deprecated ×3
python ×3
c++ ×2
opengl ×2
opengl-3 ×2
coordinates ×1
css ×1
gpu ×1
html ×1
inline ×1
java ×1
javadoc ×1
jdk1.6 ×1
keyword ×1
list ×1
math ×1
optimization ×1
pari ×1
pragma ×1
primes ×1
pyopengl ×1
python-3.x ×1
trigonometry ×1