Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
teaching
nprg054
asgn
Commits
3f9ad61b
Commit
3f9ad61b
authored
Aug 30, 2020
by
Bednárek David RNDr. Ph.D.
Browse files
Levenstain automatically adaptable to old-style interface
parent
15748748
Changes
1
Hide whitespace changes
Inline
Side-by-side
asgn/levenmain.cpp
View file @
3f9ad61b
...
@@ -23,19 +23,42 @@ namespace levenmain {
...
@@ -23,19 +23,42 @@ namespace levenmain {
std
::
mt19937_64
::
default_seed
+
ctx2
.
thread_index
()
std
::
mt19937_64
::
default_seed
+
ctx2
.
thread_index
()
),
get
<
a_size
>
(
ctx4
),
get
<
b_size
>
(
ctx4
));
),
get
<
a_size
>
(
ctx4
),
get
<
b_size
>
(
ctx4
));
levensol
::
levenstein
<
policy
>
data
(
mg
.
size1
(),
mg
.
size2
());
if
constexpr
(
std
::
is_constructible_v
<
levensol
::
levenstein
<
policy
>
,
const
levenasgn
::
data_element
*
,
const
levenasgn
::
data_element
*
,
const
levenasgn
::
data_element
*
,
const
levenasgn
::
data_element
*>
)
for
(
auto
&&
ctx5
:
auto_measurement
<
repeat_policy
>
(
ctx4
,
1024
))
{
{
std
::
size_t
h
=
0
;
// old-style interface
for
(
auto
i
:
for_index
<
repeats
>
(
ctx5
))
levensol
::
levenstein
<
policy
>
data
(
mg
.
begin1
(),
mg
.
end1
(),
mg
.
begin2
(),
mg
.
end2
());
for
(
auto
&&
ctx5
:
auto_measurement
<
repeat_policy
>
(
ctx4
,
1024
))
{
{
auto
rv
=
data
.
compute
(
mg
.
data1
(),
mg
.
data2
());
std
::
size_t
h
=
0
;
h
=
rv
;
for
(
auto
i
:
for_index
<
repeats
>
(
ctx5
))
{
auto
rv
=
data
.
compute
();
h
=
rv
;
}
if
(
stop_for_results
(
ctx5
))
{
store_result
<
output
>
(
ctx5
,
h
);
}
}
}
if
(
stop_for_results
(
ctx5
))
}
else
{
// new interface
levensol
::
levenstein
<
policy
>
data
(
mg
.
size1
(),
mg
.
size2
());
for
(
auto
&&
ctx5
:
auto_measurement
<
repeat_policy
>
(
ctx4
,
1024
))
{
{
store_result
<
output
>
(
ctx5
,
h
);
std
::
size_t
h
=
0
;
for
(
auto
i
:
for_index
<
repeats
>
(
ctx5
))
{
auto
rv
=
data
.
compute
(
mg
.
data1
(),
mg
.
data2
());
h
=
rv
;
}
if
(
stop_for_results
(
ctx5
))
{
store_result
<
output
>
(
ctx5
,
h
);
}
}
}
}
}
}
}
...
...
Bednárek David RNDr. Ph.D.
@bednarek
mentioned in commit
6565692b
·
Apr 29, 2021
mentioned in commit
6565692b
mentioned in commit 6565692b6fb19cd105d5e4a13b67f893eaa59cc3
Toggle commit list
Write
Preview
Supports
Markdown
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