Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lizhongxiao
OpenXG-RAN
Commits
a51c5299
Commit
a51c5299
authored
Oct 27, 2023
by
Robert Schmidt
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/polar-encoder-perf-improv' into integration_2023_w43
parents
679b4978
e14903cd
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
8 additions
and
7 deletions
+8
-7
openair1/PHY/CODING/nrPolar_tools/nr_polar_procedures.c
openair1/PHY/CODING/nrPolar_tools/nr_polar_procedures.c
+3
-7
openair1/PHY/TOOLS/tools_defs.h
openair1/PHY/TOOLS/tools_defs.h
+5
-0
No files found.
openair1/PHY/CODING/nrPolar_tools/nr_polar_procedures.c
View file @
a51c5299
...
...
@@ -129,17 +129,13 @@ void nr_polar_uxG(uint64_t *D, const uint64_t *u, const uint64_t **G_N_tab, uint
int
n_ones
=
0
;
for
(
int
a
=
0
;
a
<
N_array
;
a
++
)
{
uint64_t
uxG
=
u
[
a
]
&
Gn
[
a
];
for
(
int
m
=
0
;
m
<
64
;
m
++
)
{
if
(((
uxG
>>
m
)
&
1
)
==
1
)
{
n_ones
++
;
}
}
if
(
uxG
!=
0
)
n_ones
+=
count_bits_set
(
uxG
);
}
uint64_t
bit
=
n_ones
%
2
;
int
n1
=
n
>>
6
;
int
n2
=
n
-
(
n1
<<
6
);
D
[
n1
]
|=
bit
<<
n2
;
D
[
n1
]
|=
((
uint64_t
)
n_ones
&
1
)
<<
n2
;
}
}
...
...
openair1/PHY/TOOLS/tools_defs.h
View file @
a51c5299
...
...
@@ -791,6 +791,11 @@ double interp(double x, double *xs, double *ys, int count);
void
simde_mm128_separate_real_imag_parts
(
simde__m128i
*
out_re
,
simde__m128i
*
out_im
,
simde__m128i
in0
,
simde__m128i
in1
);
void
simde_mm256_separate_real_imag_parts
(
simde__m256i
*
out_re
,
simde__m256i
*
out_im
,
simde__m256i
in0
,
simde__m256i
in1
);
static
__attribute__
((
always_inline
))
inline
int
count_bits_set
(
uint64_t
v
)
{
return
__builtin_popcountll
(
v
);
}
#ifdef __cplusplus
}
#endif
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment