首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我需要lanczos(0)的特殊情况?

为什么我需要lanczos(0)的特殊情况?
EN

Stack Overflow用户
提问于 2011-01-14 23:59:21
回答 1查看 636关注 0票数 2

我用OpenCL实现了一个简单的图像重采样器,它使用了Lanczos函数。

Lanczos的定义如下:

用C编写:

代码语言:javascript
复制
inline
float lanczos(float x, float a) {
  if( x > fabs(a) ) return 0.0f;
  if( x == 0.0f ) return 1.0f;
  float pix = pi * x;
  return sinc(pix)*sinc(pix/a);
}

为什么会有0的特殊情况?当我将0传递给公式时,它返回1。但如果我不包括对x == 0的检查,它就不起作用。

有没有人能帮我解释一下?弗洛里安

EN

回答 1

Stack Overflow用户

发布于 2011-01-15 00:04:30

天啊..。我已经研究lanczos函数好几个小时了.没有注意到sinc实际上是:

代码语言:javascript
复制
sinc -> sin(x)/x

所以对于0的特殊情况是防止被零除。简单明了。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4692996

复制
相关文章

相似问题

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