Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Harfbuzz
提交
040b261d
T
Third Party Harfbuzz
项目概览
OpenHarmony
/
Third Party Harfbuzz
大约 1 年 前同步成功
通知
0
Star
18
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
Third Party Harfbuzz
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
040b261d
编写于
6月 30, 2019
作者:
M
Michiharu Ariza
提交者:
Behdad Esfahbod
7月 01, 2019
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add bimap test along with bug fix/tweaks
上级
9c93f5cc
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
85 addition
and
1 deletion
+85
-1
src/Makefile.am
src/Makefile.am
+5
-1
src/hb-bimap.hh
src/hb-bimap.hh
+4
-0
src/test-bimap.cc
src/test-bimap.cc
+76
-0
未找到文件。
src/Makefile.am
浏览文件 @
040b261d
...
...
@@ -374,7 +374,7 @@ dump_use_data_SOURCES = dump-use-data.cc hb-ot-shape-complex-use-table.cc
dump_use_data_CPPFLAGS
=
$(HBCFLAGS)
dump_use_data_LDADD
=
libharfbuzz.la
$(HBLIBS)
COMPILED_TESTS
=
test-algs test-iter test-meta test-ot-tag test-unicode-ranges
COMPILED_TESTS
=
test-algs test-iter test-meta test-ot-tag test-unicode-ranges
test-bimap
COMPILED_TESTS_CPPFLAGS
=
$(HBCFLAGS)
-DMAIN
-UNDEBUG
COMPILED_TESTS_LDADD
=
libharfbuzz.la
$(HBLIBS)
check_PROGRAMS
+=
$(COMPILED_TESTS)
...
...
@@ -400,6 +400,10 @@ test_unicode_ranges_SOURCES = test-unicode-ranges.cc
test_unicode_ranges_CPPFLAGS
=
$(COMPILED_TESTS_CPPFLAGS)
test_unicode_ranges_LDADD
=
$(COMPILED_TESTS_LDADD)
test_bimap_SOURCES
=
test-bimap.cc hb-static.cc
test_bimap_CPPFLAGS
=
$(COMPILED_TESTS_CPPFLAGS)
test_bimap_LDADD
=
$(COMPILED_TESTS_LDADD)
TESTS_ENVIRONMENT
=
\
srcdir
=
"
$(srcdir)
"
\
MAKE
=
"
$(MAKE)
$(AM_MAKEFLAGS)
"
\
...
...
src/hb-bimap.hh
浏览文件 @
040b261d
...
...
@@ -28,6 +28,7 @@
#define HB_BIMAP_HH
#include "hb.hh"
#include "hb-map.hh"
/* Bi-directional map */
struct
hb_bimap_t
...
...
@@ -57,6 +58,8 @@ struct hb_bimap_t
void
set
(
hb_codepoint_t
lhs
,
hb_codepoint_t
rhs
)
{
if
(
unlikely
(
lhs
==
HB_MAP_VALUE_INVALID
))
return
;
if
(
unlikely
(
rhs
==
HB_MAP_VALUE_INVALID
))
{
del
(
lhs
);
return
;
}
forw_map
.
set
(
lhs
,
rhs
);
back_map
.
set
(
rhs
,
lhs
);
}
...
...
@@ -131,6 +134,7 @@ struct hb_inc_bimap_t : hb_bimap_t
work
.
qsort
(
cmp_id
);
clear
();
for
(
hb_codepoint_t
rhs
=
0
;
rhs
<
count
;
rhs
++
)
set
(
work
[
rhs
],
rhs
);
}
...
...
src/test-bimap.cc
0 → 100644
浏览文件 @
040b261d
/*
* Copyright © 2019 Adobe, Inc.
*
* This is part of HarfBuzz, a text shaping library.
*
* Permission is hereby granted, without written agreement and without
* license or royalty fees, to use, copy, modify, and distribute this
* software and its documentation for any purpose, provided that the
* above copyright notice and the following two paragraphs appear in
* all copies of this software.
*
* IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
* DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
* ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
* IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
* DAMAGE.
*
* THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
* BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
* FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
* ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
* PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
*
* Adobe Author(s): Michiharu Ariza
*/
#include "hb.hh"
#include "hb-bimap.hh"
int
main
(
int
argc
,
char
**
argv
)
{
hb_bimap_t
bm
;
assert
(
bm
.
is_empty
()
==
true
);
bm
.
set
(
1
,
4
);
bm
.
set
(
2
,
5
);
bm
.
set
(
3
,
6
);
assert
(
bm
.
get_population
()
==
3
);
assert
(
bm
.
has
(
1
)
==
true
);
assert
(
bm
.
has
(
4
)
==
false
);
assert
(
bm
[
2
]
==
5
);
assert
(
bm
.
backward
(
6
)
==
3
);
bm
.
del
(
1
);
assert
(
bm
.
has
(
1
)
==
false
);
assert
(
bm
.
has
(
3
)
==
true
);
bm
.
clear
();
assert
(
bm
.
get_population
()
==
0
);
hb_inc_bimap_t
ibm
;
assert
(
ibm
.
add
(
13
)
==
0
);
assert
(
ibm
.
add
(
8
)
==
1
);
assert
(
ibm
.
add
(
10
)
==
2
);
assert
(
ibm
.
add
(
8
)
==
1
);
assert
(
ibm
.
add
(
7
)
==
3
);
assert
(
ibm
.
get_population
()
==
4
);
assert
(
ibm
[
7
]
==
3
);
ibm
.
sort
();
assert
(
ibm
.
get_population
()
==
4
);
assert
(
ibm
[
7
]
==
0
);
assert
(
ibm
[
13
]
==
3
);
ibm
.
identity
(
3
);
assert
(
ibm
.
get_population
()
==
3
);
assert
(
ibm
[
0
]
==
0
);
assert
(
ibm
[
1
]
==
1
);
assert
(
ibm
[
2
]
==
2
);
assert
(
ibm
.
backward
(
0
)
==
0
);
assert
(
ibm
.
backward
(
1
)
==
1
);
assert
(
ibm
.
backward
(
2
)
==
2
);
assert
(
ibm
.
has
(
4
)
==
false
);
return
0
;
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录