其实就是指i,j,k
这类浮标使用的类型。我们通常就使用int
就可以,但是这里也进行了封装。
label
的头文件的源码如下:
#include "int.H"
#define INT_ADD_SIZE(x,s,y) x ## s ## y
#define INT_ADD_DEF_SIZE(x,s,y) INT_ADD_SIZE(x,s,y)
#define INT_SIZE(x,y) INT_ADD_DEF_SIZE(x,WM_LABEL_SIZE,y)
#if WM_LABEL_SIZE != 32 && WM_LABEL_SIZE != 64
#error "label.H: WM_LABEL_SIZE must be set to either 32 or 64"
#endif
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
typedef INT_SIZE(int, _t) label; //label这个类型其实是int
//相当于int64_t,这在int64.H中有进行定义,如果机器是32位的,就是int32_t
static const label labelMin = INT_SIZE(INT, _MIN);
static const label labelMax = INT_SIZE(INT, _MAX);
inline label readLabel(Istream& is)
{ return INT_SIZE(readInt,) (is);}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
//- Raise one label to the power of another
label pow(label a, label b);
//- Evaluate n! : 0 < n <= 12
label factorial(label n);
inline label& setComponent(label& l, const direction)
{ return l; }
inline label component(const label l, const direction)
{ return l; }
}
类似浮点数的scalar
,首先根据WM_LABEL_SIZE
判断使用多少位的int
,然后将其定义为类型label
。之后还给出了若干支持性的文件,以及读取用的函数readLabel
这里文件依赖了头文件int.H
,其详细内容见如下链接:
https://blog.csdn.net/qq_40583925/article/details/107269342
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容