Go to the source code of this file.
◆ RAPIDJSON_NAMESPACE
| #define RAPIDJSON_NAMESPACE rapidjson_simd |
◆ SIMD_SUFFIX
| #define SIMD_SUFFIX |
( |
|
name | ) |
name |
◆ TEST() [1/4]
Definition at line 75 of file simdtest.cpp.
76 TestSkipWhitespace<StringStream>();
77 TestSkipWhitespace<InsituStringStream>();
◆ TEST() [2/4]
| TEST |
( |
SIMD |
, |
|
|
SIMD_SUFFIX(SkipWhitespace_EncodedMemoryStream) |
|
|
) |
| |
Definition at line 80 of file simdtest.cpp.
81 for (
size_t step = 1; step < 32; step++) {
83 for (
size_t i = 0; i < 1024; i++)
84 buffer[i] =
" \t\r\n"[i % 4];
85 for (
size_t i = 0; i < 1024; i += step)
Represents an in-memory input byte stream.
void SkipWhitespace(InputStream &is)
Skip the JSON white spaces in a stream.
#define EXPECT_EQ(val1, val2)
◆ TEST() [3/4]
Definition at line 164 of file simdtest.cpp.
165 TestScanCopyUnescapedString<kParseDefaultFlags, StringStream>();
166 TestScanCopyUnescapedString<kParseInsituFlag, InsituStringStream>();
◆ TEST() [4/4]
Definition at line 169 of file simdtest.cpp.
170 char buffer[2048 + 1 + 32];
171 for (
size_t offset = 0; offset < 32; offset++) {
172 for (
size_t step = 0; step < 1024; step++) {
173 char* s = buffer + offset;
175 for (
size_t i = 0; i < step; i++)
176 *p++ =
"ABCD"[i % 4];
177 char escape =
"\0\n\\\""[step % 4];
179 for (
size_t i = 0; i < step; i++)
180 *p++ =
"ABCD"[i % 4];
184 writer.String(s,
SizeType(step * 2 + 1));
187 for (
size_t i = 0; i < step; i++)
189 if (escape ==
'\0') {
197 else if (escape ==
'\n') {
201 else if (escape ==
'\\') {
205 else if (escape ==
'\"') {
209 for (
size_t i = 0; i < step; i++)
RAPIDJSON_NAMESPACE_BEGIN typedef unsigned SizeType
Size type (for string lengths, array sizes, etc.)
const Ch * GetString() const
#define EXPECT_EQ(val1, val2)
◆ TestScanCopyUnescapedString()
template<unsigned parseFlags, typename StreamType >
| void TestScanCopyUnescapedString |
( |
| ) |
|
Definition at line 111 of file simdtest.cpp.
112 char buffer[1024 + 5 + 32];
113 char backup[1024 + 5 + 32];
116 for (
size_t offset = 0; offset < 32; offset++) {
117 for (
size_t step = 0; step < 1024; step++) {
118 char*
json = buffer + offset;
121 for (
size_t i = 0; i < step; i++)
122 *p++ =
"ABCD"[i % 4];
127 strcpy(backup,
json);
132 reader.
Parse<parseFlags>(s, h);
140 for (
size_t offset = 0; offset < 32; offset++) {
141 for (
size_t step = 0; step < 1024; step++) {
142 char*
json = buffer + offset;
147 for (
size_t i = 0; i < step; i++)
148 *p++ =
"ABCD"[i % 4];
151 strcpy(backup,
json);
156 reader.
Parse<parseFlags>(s, h);
#define EXPECT_TRUE(condition)
ParseResult Parse(InputStream &is, Handler &handler)
Parse JSON text.
#define EXPECT_EQ(val1, val2)
◆ TestSkipWhitespace()
template<typename StreamType >
| void TestSkipWhitespace |
( |
| ) |
|
Definition at line 53 of file simdtest.cpp.
54 for (
size_t step = 1; step < 32; step++) {
56 for (
size_t i = 0; i < 1024; i++)
57 buffer[i] =
" \t\r\n"[i % 4];
58 for (
size_t i = 0; i < 1024; i += step)
void SkipWhitespace(InputStream &is)
Skip the JSON white spaces in a stream.
#define EXPECT_EQ(val1, val2)