Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
a1317fd7
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
a1317fd7
编写于
12月 05, 2022
作者:
H
Hongze Cheng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
more code
上级
868d1d50
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
19 addition
and
25 deletion
+19
-25
include/common/tdataformat.h
include/common/tdataformat.h
+19
-25
未找到文件。
include/common/tdataformat.h
浏览文件 @
a1317fd7
...
...
@@ -44,31 +44,25 @@ typedef struct SColData SColData;
#define HAS_VALUE ((uint8_t)0x4)
// bitmap ================================
const
static
uint8_t
BIT1_OR_MAP
[
8
]
=
{
0
b00000001
,
0
b00000010
,
0
b00000100
,
0
b00001000
,
0
b00010000
,
0
b00100000
,
0
b01000000
,
0
b10000000
,
};
const
static
uint8_t
BIT1_AND_MAP
[
8
]
=
{
0
b11111110
,
0
b11111101
,
0
b11111011
,
0
b11110111
,
0
b11101111
,
0
b11011111
,
0
b10111111
,
0
b01111111
,
};
const
static
uint8_t
BIT2_MAP
[
4
][
4
]
=
{{
0
b00000000
,
0
b00000001
,
0
b00000010
,
0
},
{
0
b00000000
,
0
b00000100
,
0
b00001000
,
2
},
{
0
b00000000
,
0
b00010000
,
0
b00100000
,
4
},
{
0
b00000000
,
0
b01000000
,
0
b10000000
,
6
}};
#define N1(n) ((((uint8_t)1) << (n)) - 1)
#define BIT1_SIZE(n) ((((n)-1) >> 3) + 1)
#define BIT2_SIZE(n) ((((n)-1) >> 2) + 1)
#define SET_BIT1(p, i, v) \
do { \
if (v) { \
(p)[(i) >> 3] |= BIT1_OR_MAP[(i)&7]; \
} else { \
(p)[(i) >> 3] &= BIT1_AND_MAP[(i)&7]; \
} \
} while (0)
#define GET_BIT1(p, i) (((p)[(i) >> 3] >> ((i)&7)) & ((uint8_t)1))
#define SET_BIT2(p, i, v) ((p)[(i) >> 2] = (p)[(i) >> 2] & N1(BIT2_MAP[(i)&3][3]) | BIT2_MAP[(i)&3][(v)])
#define GET_BIT2(p, i) (((p)[(i) >> 2] >> BIT2_MAP[(i)&3][3]) & ((uint8_t)3))
const
static
uint8_t
BIT1_MAP
[
8
]
=
{
0
b11111110
,
0
b11111101
,
0
b11111011
,
0
b11110111
,
0
b11101111
,
0
b11011111
,
0
b10111111
,
0
b01111111
};
const
static
uint8_t
BIT2_MAP
[
4
]
=
{
0
b11111100
,
0
b11110011
,
0
b11001111
,
0
b00111111
};
#define ONE ((uint8_t)1)
#define TWO ((uint8_t)2)
#define THREE ((uint8_t)3)
#define DIV_8(i) ((i) >> 3)
#define MOD_8(i) ((i)&7)
#define DIV_4(i) ((i) >> 2)
#define MOD_4(i) ((i)&3)
#define MOD_4_TIME_2(i) (MOD_4(i) << 1)
#define BIT1_SIZE(n) (DIV_8((n)-1) + 1)
#define BIT2_SIZE(n) (DIV_4((n)-1) + 1)
#define SET_BIT1(p, i, v) ((p)[DIV_8(i)] = (p)[DIV_8(i)] & BIT1_MAP[MOD_8(i)] | ((v) << MOD_8(i)))
#define GET_BIT1(p, i) (((p)[DIV_8(i)] >> MOD_8(i)) & ONE)
#define SET_BIT2(p, i, v) ((p)[DIV_4(i)] = (p)[DIV_4(i)] & BIT2_MAP[MOD_4(i)] | ((v) << MOD_4_TIME_2(i)))
#define GET_BIT2(p, i) (((p)[DIV_4(i)] >> MOD_4_TIME_2(i)) & THREE)
// SBuffer ================================
struct
SBuffer
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录