Skip to content

Commit b507a8f

Browse files
committed
Improve: Take slices in compute_into
1 parent 103019c commit b507a8f

File tree

1 file changed

+13
-13
lines changed

1 file changed

+13
-13
lines changed

rust/stringzillas.rs

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1008,7 +1008,7 @@ impl LevenshteinDistances {
10081008
let tape_b = copy_bytes_into_tape(seq_b_slice, force_64bit)?;
10091009

10101010
// Forward to the in-place variant to avoid code duplication
1011-
self.compute_into(device, tape_a, tape_b, &mut results)?;
1011+
self.compute_into(device, tape_a, tape_b, &mut results[..])?;
10121012
Ok(results)
10131013
} else {
10141014
let seq_a = SzSequenceFromBytes::to_sz_sequence(seq_a_slice);
@@ -1050,7 +1050,7 @@ impl LevenshteinDistances {
10501050
device: &DeviceScope,
10511051
a: AnyBytesTape<'a>,
10521052
b: AnyBytesTape<'a>,
1053-
results: &mut UnifiedVec<usize>,
1053+
results: &mut [usize],
10541054
) -> Result<(), Error> {
10551055
// Convert to FFI views and validate matching offset widths
10561056
let mut error_msg: *const c_char = ptr::null();
@@ -1280,7 +1280,7 @@ impl LevenshteinDistancesUtf8 {
12801280
let force_64bit = should_use_64bit_for_strings(seq_a_slice, seq_b_slice);
12811281
let tape_a = copy_chars_into_tape(seq_a_slice, force_64bit)?;
12821282
let tape_b = copy_chars_into_tape(seq_b_slice, force_64bit)?;
1283-
self.compute_into(device, tape_a, tape_b, &mut results)?;
1283+
self.compute_into(device, tape_a, tape_b, &mut results[..])?;
12841284
Ok(results)
12851285
} else {
12861286
let seq_a = SzSequenceFromChars::to_sz_sequence(seq_a_slice);
@@ -1316,7 +1316,7 @@ impl LevenshteinDistancesUtf8 {
13161316
device: &DeviceScope,
13171317
a: AnyCharsTape<'a>,
13181318
b: AnyCharsTape<'a>,
1319-
results: &mut UnifiedVec<usize>,
1319+
results: &mut [usize],
13201320
) -> Result<(), Error> {
13211321
let mut error_msg: *const c_char = ptr::null();
13221322
let results_stride = core::mem::size_of::<usize>();
@@ -1548,7 +1548,7 @@ impl NeedlemanWunschScores {
15481548
let force_64bit = should_use_64bit_for_bytes(seq_a_slice, seq_b_slice);
15491549
let tape_a = copy_bytes_into_tape(seq_a_slice, force_64bit)?;
15501550
let tape_b = copy_bytes_into_tape(seq_b_slice, force_64bit)?;
1551-
self.compute_into(device, tape_a, tape_b, &mut results)?;
1551+
self.compute_into(device, tape_a, tape_b, &mut results[..])?;
15521552
Ok(results)
15531553
} else {
15541554
let seq_a = SzSequenceFromBytes::to_sz_sequence(seq_a_slice);
@@ -1587,7 +1587,7 @@ impl NeedlemanWunschScores {
15871587
device: &DeviceScope,
15881588
a: AnyBytesTape<'a>,
15891589
b: AnyBytesTape<'a>,
1590-
results: &mut UnifiedVec<isize>,
1590+
results: &mut [isize],
15911591
) -> Result<(), Error> {
15921592
let mut error_msg: *const c_char = ptr::null();
15931593
let results_stride = core::mem::size_of::<isize>();
@@ -1878,7 +1878,7 @@ impl SmithWatermanScores {
18781878
let force_64bit = should_use_64bit_for_bytes(seq_a_slice, seq_b_slice);
18791879
let tape_a = copy_bytes_into_tape(seq_a_slice, force_64bit)?;
18801880
let tape_b = copy_bytes_into_tape(seq_b_slice, force_64bit)?;
1881-
self.compute_into(device, tape_a, tape_b, &mut results)?;
1881+
self.compute_into(device, tape_a, tape_b, &mut results[..])?;
18821882
Ok(results)
18831883
} else {
18841884
let seq_a = SzSequenceFromBytes::to_sz_sequence(seq_a_slice);
@@ -1907,7 +1907,7 @@ impl SmithWatermanScores {
19071907
device: &DeviceScope,
19081908
a: AnyBytesTape<'a>,
19091909
b: AnyBytesTape<'a>,
1910-
results: &mut UnifiedVec<isize>,
1910+
results: &mut [isize],
19111911
) -> Result<(), Error> {
19121912
let mut error_msg: *const c_char = ptr::null();
19131913
let results_stride = core::mem::size_of::<isize>();
@@ -2556,7 +2556,7 @@ impl Fingerprints {
25562556
let force_64bit = total_size > u32::MAX as usize || strings_slice.len() > u32::MAX as usize;
25572557
let tape = copy_bytes_into_tape(strings_slice, force_64bit)?;
25582558

2559-
self.compute_into(device, tape, dimensions, &mut min_hashes, &mut min_counts)?;
2559+
self.compute_into(device, tape, dimensions, &mut min_hashes[..], &mut min_counts[..])?;
25602560
Ok((min_hashes, min_counts))
25612561
} else {
25622562
let sequence = SzSequenceFromBytes::to_sz_sequence(strings_slice);
@@ -2590,8 +2590,8 @@ impl Fingerprints {
25902590
device: &DeviceScope,
25912591
texts: AnyBytesTape<'a>,
25922592
dimensions: usize,
2593-
min_hashes: &mut UnifiedVec<u32>,
2594-
min_counts: &mut UnifiedVec<u32>,
2593+
min_hashes: &mut [u32],
2594+
min_counts: &mut [u32],
25952595
) -> Result<(), Error> {
25962596
let mut error_msg: *const c_char = ptr::null();
25972597
let count = match &texts {
@@ -3311,7 +3311,7 @@ mod tests {
33113311
&device,
33123312
AnyBytesTape::Tape32(ta),
33133313
AnyBytesTape::Tape32(tb),
3314-
&mut results,
3314+
&mut results[..],
33153315
);
33163316
if let Ok(()) = res {
33173317
assert_eq!(&results[..], &[3, 3]);
@@ -3344,7 +3344,7 @@ mod tests {
33443344
&device,
33453345
AnyBytesTape::Tape64(ta),
33463346
AnyBytesTape::Tape64(tb),
3347-
&mut results,
3347+
&mut results[..],
33483348
);
33493349
if let Ok(()) = res {
33503350
// abc vs yabd => distance 2, abcdef vs abcxef => distance 1

0 commit comments

Comments
 (0)