提交
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
// fbc_cv is free software and uses the same licence as OpenCV
|
||||
// Email: fengbingchun@163.com
|
||||
|
||||
#ifndef FBC_CV_CORE_FBCDEF_HPP_
|
||||
#define FBC_CV_CORE_FBCDEF_HPP_
|
||||
|
||||
/* reference: include/opencv2/core/cvdef.h
|
||||
include/opencv2/core/typedef_c.h
|
||||
*/
|
||||
|
||||
#include "interface.hpp"
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#define FBC_EXPORTS __declspec(dllexport)
|
||||
#define FBC_DECL_ALIGNED(x) __declspec(align(x))
|
||||
#else
|
||||
#define FBC_EXPORTS __attribute__((visibility("default")))
|
||||
#define FBC_DECL_ALIGNED(x) __attribute__((aligned(x)))
|
||||
#endif
|
||||
|
||||
namespace yt_tinycv {
|
||||
|
||||
#define FBC_CN_MAX 512
|
||||
#define FBC_CN_SHIFT 3
|
||||
#define FBC_DEPTH_MAX (1 << FBC_CN_SHIFT)
|
||||
|
||||
#define FBC_MAT_TYPE_MASK (FBC_DEPTH_MAX*FBC_CN_MAX - 1)
|
||||
#define FBC_MAT_TYPE(flags) ((flags) & FBC_MAT_TYPE_MASK)
|
||||
|
||||
#ifndef MIN
|
||||
#define MIN(a,b) ((a) > (b) ? (b) : (a))
|
||||
#endif
|
||||
|
||||
#ifndef MAX
|
||||
#define MAX(a,b) ((a) < (b) ? (b) : (a))
|
||||
#endif
|
||||
|
||||
#define FBC_CN_MAX 512
|
||||
|
||||
// Common macros and inline functions
|
||||
#define FBC_SWAP(a,b,t) ((t) = (a), (a) = (b), (b) = (t))
|
||||
|
||||
/** min & max without jumps */
|
||||
#define FBC_IMIN(a, b) ((a) ^ (((a)^(b)) & (((a) < (b)) - 1)))
|
||||
#define FBC_IMAX(a, b) ((a) ^ (((a)^(b)) & (((a) > (b)) - 1)))
|
||||
|
||||
// fundamental constants
|
||||
#define FBC_PI 3.1415926535897932384626433832795
|
||||
|
||||
// Note: No practical significance
|
||||
class dump {};
|
||||
|
||||
typedef union Cv32suf {
|
||||
int i;
|
||||
unsigned u;
|
||||
float f;
|
||||
} Cv32suf;
|
||||
|
||||
typedef union Cv64suf {
|
||||
int64 i;
|
||||
yt_tinycv::uint64 u;
|
||||
double f;
|
||||
} Cv64suf;
|
||||
|
||||
} // namespace yt_tinycv
|
||||
|
||||
#endif // FBC_CV_CORE_FBCDEF_HPP_
|
||||
Reference in New Issue
Block a user