searchunsorted.h

来自「the FXT library: fast transforms and low」· C头文件 代码 · 共 62 行

H
62
字号
#if !defined HAVE_SEARCHUNSORTED_H__#define      HAVE_SEARCHUNSORTED_H__#include "fxttypes.h"template <typename Type>ulong search_unsorted(const Type *f, ulong n, const Type v, ulong s=0)//// Return index (>=s) of first element in f[] that is == v// Return ~0 if there is no such element//// Must have  n!=0{    ulong k;    for (k=s; k<n; ++k)  if ( f[k] == v )  return k;    return ~0UL;}// -------------------------template <typename Type>ulong search_unsorted_ge(const Type *f, ulong n, const Type v, ulong s=0)//// Return index (>=s) of first element in f[] that is >= v// Return ~0 if there is no such element//// Must have  n!=0{    ulong k;    for (k=s; k<n; ++k)  if ( f[k] >= v )  return k;    return ~0UL;}// -------------------------template <typename Type>ulong search_unsorted_approx(const Type *f, ulong n, const Type v, Type da, ulong s=0)//// Return index (>=s) of first element x in f[] for which  |(x-v)| <= da// Return ~0 if there is no such element//// Makes sense mostly with inexact types (float or double)//// Must have  n!=0{    if ( da<0 )  da = -da;    ulong k;    for (k=s; k<n; ++k)    {        Type d;        d = ( f[k] > v ? f[k]-v : v-f[k]);        if ( d <= da )  return k;    }    return ~0UL;}// -------------------------#endif // !defined HAVE_SEARCHUNSORTED_H__

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?