This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/arrow-rs.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new bcc06100da deploy: 4320a753beaee0a1a6870c59ef46b59e88c9c323
bcc06100da is described below

commit bcc06100da859f449df8a8eb562c9d7e1ffb6ee4
Author: avantgardnerio <[email protected]>
AuthorDate: Mon Oct 2 15:25:49 2023 +0000

    deploy: 4320a753beaee0a1a6870c59ef46b59e88c9c323
---
 arrow/compute/kernels/take/struct.TakeOptions.html |   4 +-
 arrow/compute/struct.TakeOptions.html              |   4 +-
 arrow_select/take/fn.maybe_usize.html              |   2 +-
 arrow_select/take/fn.take_bits.html                |   2 +-
 arrow_select/take/fn.take_boolean.html             |   2 +-
 arrow_select/take/fn.take_bytes.html               |   2 +-
 arrow_select/take/fn.take_dict.html                |   2 +-
 arrow_select/take/fn.take_fixed_size_binary.html   |   2 +-
 arrow_select/take/fn.take_fixed_size_list.html     |   2 +-
 arrow_select/take/fn.take_impl.html                |   2 +-
 arrow_select/take/fn.take_list.html                |   2 +-
 arrow_select/take/fn.take_native.html              |   2 +-
 arrow_select/take/fn.take_nulls.html               |   2 +-
 arrow_select/take/fn.take_primitive.html           |   2 +-
 arrow_select/take/fn.take_run.html                 |   2 +-
 ...fn.take_value_indices_from_fixed_size_list.html |   2 +-
 .../take/fn.take_value_indices_from_list.html      |   2 +-
 arrow_select/take/index.html                       |   2 +-
 arrow_select/take/macro.to_indices_identity.html   |   2 +-
 .../take/macro.to_indices_reinterpret.html         |   2 +-
 arrow_select/take/macro.to_indices_widening.html   |   2 +-
 arrow_select/take/struct.TakeOptions.html          |   4 +-
 arrow_select/take/trait.ToIndices.html             |   4 +-
 src/arrow_select/take.rs.html                      | 106 ++++++++++++++++++++-
 24 files changed, 132 insertions(+), 28 deletions(-)

diff --git a/arrow/compute/kernels/take/struct.TakeOptions.html 
b/arrow/compute/kernels/take/struct.TakeOptions.html
index bb14105ac3..397a8bb7bb 100644
--- a/arrow/compute/kernels/take/struct.TakeOptions.html
+++ b/arrow/compute/kernels/take/struct.TakeOptions.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="Options 
that define how `take` should behave"><title>TakeOptions in 
arrow::compute::kernels::take - Rust</title><link rel="preload" as="font" 
type="font/woff2" crossorigin 
href="../../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link
 rel="preload" as="font" type=" [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="Options 
that define how `take` should behave"><title>TakeOptions in 
arrow::compute::kernels::take - Rust</title><link rel="preload" as="font" 
type="font/woff2" crossorigin 
href="../../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link
 rel="preload" as="font" type=" [...]
     pub check_bounds: <a class="primitive" 
href="https://doc.rust-lang.org/nightly/std/primitive.bool.html";>bool</a>,
 }</code></pre><details class="toggle top-doc" open><summary 
class="hideme"><span>Expand description</span></summary><div 
class="docblock"><p>Options that define how <code>take</code> should behave</p>
 </div></details><h2 id="fields" class="fields small-section-header">Fields<a 
href="#fields" class="anchor">§</a></h2><span id="structfield.check_bounds" 
class="structfield small-section-header"><a href="#structfield.check_bounds" 
class="anchor field">§</a><code>check_bounds: <a class="primitive" 
href="https://doc.rust-lang.org/nightly/std/primitive.bool.html";>bool</a></code></span><div
 class="docblock"><p>Perform bounds check before taking indices from values.
 If enabled, an <code>ArrowError</code> is returned if the indices are out of 
bounds.
 If not enabled, and indices exceed bounds, the kernel will panic.</p>
-</div><h2 id="trait-implementations" class="small-section-header">Trait 
Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div 
id="trait-implementations-list"><details class="toggle implementors-toggle" 
open><summary><section id="impl-Clone-for-TakeOptions" class="impl"><a 
class="src rightside" 
href="../../../../src/arrow_select/take.rs.html#231">source</a><a 
href="#impl-Clone-for-TakeOptions" class="anchor">§</a><h3 
class="code-header">impl <a class="trait" href=" [...]
+</div><h2 id="trait-implementations" class="small-section-header">Trait 
Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div 
id="trait-implementations-list"><details class="toggle implementors-toggle" 
open><summary><section id="impl-Clone-for-TakeOptions" class="impl"><a 
class="src rightside" 
href="../../../../src/arrow_select/take.rs.html#246">source</a><a 
href="#impl-Clone-for-TakeOptions" class="anchor">§</a><h3 
class="code-header">impl <a class="trait" href=" [...]
     T: 'static + ?<a class="trait" 
href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"; 
title="trait 
core::marker::Sized">Sized</a>,</span></h3></section></summary><div 
class="impl-items"><details class="toggle method-toggle" open><summary><section 
id="method.type_id" class="method trait-impl"><a class="src rightside" 
href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#136";>source</a><a 
href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a hre 
[...]
     T: ?<a class="trait" 
href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"; 
title="trait 
core::marker::Sized">Sized</a>,</span></h3></section></summary><div 
class="impl-items"><details class="toggle method-toggle" open><summary><section 
id="method.borrow" class="method trait-impl"><a class="src rightside" 
href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210";>source</a><a
 href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a 
href="https: [...]
     T: ?<a class="trait" 
href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"; 
title="trait 
core::marker::Sized">Sized</a>,</span></h3></section></summary><div 
class="impl-items"><details class="toggle method-toggle" open><summary><section 
id="method.borrow_mut" class="method trait-impl"><a class="src rightside" 
href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217";>source</a><a
 href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a 
href [...]
diff --git a/arrow/compute/struct.TakeOptions.html 
b/arrow/compute/struct.TakeOptions.html
index 2d26d4339a..4ceb659da3 100644
--- a/arrow/compute/struct.TakeOptions.html
+++ b/arrow/compute/struct.TakeOptions.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="Options 
that define how `take` should behave"><title>TakeOptions in arrow::compute - 
Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin 
href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link 
rel="preload" as="font" type="font/woff2" crossorig [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="Options 
that define how `take` should behave"><title>TakeOptions in arrow::compute - 
Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin 
href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link 
rel="preload" as="font" type="font/woff2" crossorig [...]
     pub check_bounds: <a class="primitive" 
href="https://doc.rust-lang.org/nightly/std/primitive.bool.html";>bool</a>,
 }</code></pre><details class="toggle top-doc" open><summary 
class="hideme"><span>Expand description</span></summary><div 
class="docblock"><p>Options that define how <code>take</code> should behave</p>
 </div></details><h2 id="fields" class="fields small-section-header">Fields<a 
href="#fields" class="anchor">§</a></h2><span id="structfield.check_bounds" 
class="structfield small-section-header"><a href="#structfield.check_bounds" 
class="anchor field">§</a><code>check_bounds: <a class="primitive" 
href="https://doc.rust-lang.org/nightly/std/primitive.bool.html";>bool</a></code></span><div
 class="docblock"><p>Perform bounds check before taking indices from values.
 If enabled, an <code>ArrowError</code> is returned if the indices are out of 
bounds.
 If not enabled, and indices exceed bounds, the kernel will panic.</p>
-</div><h2 id="trait-implementations" class="small-section-header">Trait 
Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div 
id="trait-implementations-list"><details class="toggle implementors-toggle" 
open><summary><section id="impl-Clone-for-TakeOptions" class="impl"><a 
class="src rightside" 
href="../../src/arrow_select/take.rs.html#231">source</a><a 
href="#impl-Clone-for-TakeOptions" class="anchor">§</a><h3 
class="code-header">impl <a class="trait" href="https: [...]
+</div><h2 id="trait-implementations" class="small-section-header">Trait 
Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div 
id="trait-implementations-list"><details class="toggle implementors-toggle" 
open><summary><section id="impl-Clone-for-TakeOptions" class="impl"><a 
class="src rightside" 
href="../../src/arrow_select/take.rs.html#246">source</a><a 
href="#impl-Clone-for-TakeOptions" class="anchor">§</a><h3 
class="code-header">impl <a class="trait" href="https: [...]
     T: 'static + ?<a class="trait" 
href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"; 
title="trait 
core::marker::Sized">Sized</a>,</span></h3></section></summary><div 
class="impl-items"><details class="toggle method-toggle" open><summary><section 
id="method.type_id" class="method trait-impl"><a class="src rightside" 
href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#136";>source</a><a 
href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a hre 
[...]
     T: ?<a class="trait" 
href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"; 
title="trait 
core::marker::Sized">Sized</a>,</span></h3></section></summary><div 
class="impl-items"><details class="toggle method-toggle" open><summary><section 
id="method.borrow" class="method trait-impl"><a class="src rightside" 
href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210";>source</a><a
 href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a 
href="https: [...]
     T: ?<a class="trait" 
href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"; 
title="trait 
core::marker::Sized">Sized</a>,</span></h3></section></summary><div 
class="impl-items"><details class="toggle method-toggle" open><summary><section 
id="method.borrow_mut" class="method trait-impl"><a class="src rightside" 
href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217";>source</a><a
 href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a 
href [...]
diff --git a/arrow_select/take/fn.maybe_usize.html 
b/arrow_select/take/fn.maybe_usize.html
index c5817200a3..0ca388eb0c 100644
--- a/arrow_select/take/fn.maybe_usize.html
+++ b/arrow_select/take/fn.maybe_usize.html
@@ -1 +1 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="API 
documentation for the Rust `maybe_usize` fn in crate 
`arrow_select`."><title>maybe_usize in arrow_select::take - Rust</title><link 
rel="preload" as="font" type="font/woff2" crossorigin 
href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link 
rel="preload" as="f [...]
\ No newline at end of file
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="API 
documentation for the Rust `maybe_usize` fn in crate 
`arrow_select`."><title>maybe_usize in arrow_select::take - Rust</title><link 
rel="preload" as="font" type="font/woff2" crossorigin 
href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link 
rel="preload" as="f [...]
\ No newline at end of file
diff --git a/arrow_select/take/fn.take_bits.html 
b/arrow_select/take/fn.take_bits.html
index 9dd2d635a3..079394902c 100644
--- a/arrow_select/take/fn.take_bits.html
+++ b/arrow_select/take/fn.take_bits.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="API 
documentation for the Rust `take_bits` fn in crate 
`arrow_select`."><title>take_bits in arrow_select::take - Rust</title><link 
rel="preload" as="font" type="font/woff2" crossorigin 
href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link 
rel="preload" as="font" [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="API 
documentation for the Rust `take_bits` fn in crate 
`arrow_select`."><title>take_bits in arrow_select::take - Rust</title><link 
rel="preload" as="font" type="font/woff2" crossorigin 
href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link 
rel="preload" as="font" [...]
     values: &amp;BooleanBuffer,
     indices: &amp;PrimitiveArray&lt;I&gt;
 ) -&gt; BooleanBuffer</code></pre></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_select/take/fn.take_boolean.html 
b/arrow_select/take/fn.take_boolean.html
index fc3fa197d0..83b1dff42b 100644
--- a/arrow_select/take/fn.take_boolean.html
+++ b/arrow_select/take/fn.take_boolean.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="`take` 
implementation for boolean arrays"><title>take_boolean in arrow_select::take - 
Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin 
href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link 
rel="preload" as="font" type="font/woff2" crossori [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="`take` 
implementation for boolean arrays"><title>take_boolean in arrow_select::take - 
Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin 
href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link 
rel="preload" as="font" type="font/woff2" crossori [...]
     values: &amp;BooleanArray,
     indices: &amp;PrimitiveArray&lt;IndexType&gt;
 ) -&gt; BooleanArray</code></pre><details class="toggle top-doc" open><summary 
class="hideme"><span>Expand description</span></summary><div 
class="docblock"><p><code>take</code> implementation for boolean arrays</p>
diff --git a/arrow_select/take/fn.take_bytes.html 
b/arrow_select/take/fn.take_bytes.html
index 18cace2248..c9e340ddf5 100644
--- a/arrow_select/take/fn.take_bytes.html
+++ b/arrow_select/take/fn.take_bytes.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="`take` 
implementation for string arrays"><title>take_bytes in arrow_select::take - 
Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin 
href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link 
rel="preload" as="font" type="font/woff2" crossorigin [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="`take` 
implementation for string arrays"><title>take_bytes in arrow_select::take - 
Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin 
href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link 
rel="preload" as="font" type="font/woff2" crossorigin [...]
     array: &amp;GenericByteArray&lt;T&gt;,
     indices: &amp;PrimitiveArray&lt;IndexType&gt;
 ) -&gt; <a class="enum" 
href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html"; 
title="enum core::result::Result">Result</a>&lt;GenericByteArray&lt;T&gt;, 
ArrowError&gt;</code></pre><details class="toggle top-doc" open><summary 
class="hideme"><span>Expand description</span></summary><div 
class="docblock"><p><code>take</code> implementation for string arrays</p>
diff --git a/arrow_select/take/fn.take_dict.html 
b/arrow_select/take/fn.take_dict.html
index 64af9c5e94..fdef589490 100644
--- a/arrow_select/take/fn.take_dict.html
+++ b/arrow_select/take/fn.take_dict.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="`take` 
implementation for dictionary arrays"><title>take_dict in arrow_select::take - 
Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin 
href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link 
rel="preload" as="font" type="font/woff2" crossori [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="`take` 
implementation for dictionary arrays"><title>take_dict in arrow_select::take - 
Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin 
href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link 
rel="preload" as="font" type="font/woff2" crossori [...]
     values: &amp;DictionaryArray&lt;T&gt;,
     indices: &amp;PrimitiveArray&lt;I&gt;
 ) -&gt; <a class="enum" 
href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html"; 
title="enum core::result::Result">Result</a>&lt;DictionaryArray&lt;T&gt;, 
ArrowError&gt;</code></pre><details class="toggle top-doc" open><summary 
class="hideme"><span>Expand description</span></summary><div 
class="docblock"><p><code>take</code> implementation for dictionary arrays</p>
diff --git a/arrow_select/take/fn.take_fixed_size_binary.html 
b/arrow_select/take/fn.take_fixed_size_binary.html
index 88bce3fe01..b6687ad712 100644
--- a/arrow_select/take/fn.take_fixed_size_binary.html
+++ b/arrow_select/take/fn.take_fixed_size_binary.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="API 
documentation for the Rust `take_fixed_size_binary` fn in crate 
`arrow_select`."><title>take_fixed_size_binary in arrow_select::take - 
Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin 
href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><li 
[...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="API 
documentation for the Rust `take_fixed_size_binary` fn in crate 
`arrow_select`."><title>take_fixed_size_binary in arrow_select::take - 
Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin 
href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><li 
[...]
     values: &amp;FixedSizeBinaryArray,
     indices: &amp;PrimitiveArray&lt;IndexType&gt;,
     size: <a class="primitive" 
href="https://doc.rust-lang.org/nightly/std/primitive.i32.html";>i32</a>
diff --git a/arrow_select/take/fn.take_fixed_size_list.html 
b/arrow_select/take/fn.take_fixed_size_list.html
index cd388a1362..e2bd105c1b 100644
--- a/arrow_select/take/fn.take_fixed_size_list.html
+++ b/arrow_select/take/fn.take_fixed_size_list.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="`take` 
implementation for `FixedSizeListArray`"><title>take_fixed_size_list in 
arrow_select::take - Rust</title><link rel="preload" as="font" 
type="font/woff2" crossorigin 
href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link 
rel="preload" as="font" type="font/w [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="`take` 
implementation for `FixedSizeListArray`"><title>take_fixed_size_list in 
arrow_select::take - Rust</title><link rel="preload" as="font" 
type="font/woff2" crossorigin 
href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link 
rel="preload" as="font" type="font/w [...]
     values: &amp;FixedSizeListArray,
     indices: &amp;PrimitiveArray&lt;IndexType&gt;,
     length: &lt;UInt32Type as ArrowPrimitiveType&gt;::Native
diff --git a/arrow_select/take/fn.take_impl.html 
b/arrow_select/take/fn.take_impl.html
index 87a7372806..97b23b7d9f 100644
--- a/arrow_select/take/fn.take_impl.html
+++ b/arrow_select/take/fn.take_impl.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="API 
documentation for the Rust `take_impl` fn in crate 
`arrow_select`."><title>take_impl in arrow_select::take - Rust</title><link 
rel="preload" as="font" type="font/woff2" crossorigin 
href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link 
rel="preload" as="font" [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="API 
documentation for the Rust `take_impl` fn in crate 
`arrow_select`."><title>take_impl in arrow_select::take - Rust</title><link 
rel="preload" as="font" type="font/woff2" crossorigin 
href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link 
rel="preload" as="font" [...]
     values: &amp;dyn Array,
     indices: &amp;PrimitiveArray&lt;IndexType&gt;
 ) -&gt; <a class="enum" 
href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html"; 
title="enum core::result::Result">Result</a>&lt;ArrayRef, 
ArrowError&gt;</code></pre></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_select/take/fn.take_list.html 
b/arrow_select/take/fn.take_list.html
index 1c6d3d5f50..f0658a406d 100644
--- a/arrow_select/take/fn.take_list.html
+++ b/arrow_select/take/fn.take_list.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="`take` 
implementation for list arrays"><title>take_list in arrow_select::take - 
Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin 
href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link 
rel="preload" as="font" type="font/woff2" crossorigin hr [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="`take` 
implementation for list arrays"><title>take_list in arrow_select::take - 
Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin 
href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link 
rel="preload" as="font" type="font/woff2" crossorigin hr [...]
     values: &amp;GenericListArray&lt;OffsetType::Native&gt;,
     indices: &amp;PrimitiveArray&lt;IndexType&gt;
 ) -&gt; <a class="enum" 
href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html"; 
title="enum 
core::result::Result">Result</a>&lt;GenericListArray&lt;OffsetType::Native&gt;, 
ArrowError&gt;<span class="where fmt-newline">where
diff --git a/arrow_select/take/fn.take_native.html 
b/arrow_select/take/fn.take_native.html
index 76d435bcd5..18f9185459 100644
--- a/arrow_select/take/fn.take_native.html
+++ b/arrow_select/take/fn.take_native.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="API 
documentation for the Rust `take_native` fn in crate 
`arrow_select`."><title>take_native in arrow_select::take - Rust</title><link 
rel="preload" as="font" type="font/woff2" crossorigin 
href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link 
rel="preload" as="f [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="API 
documentation for the Rust `take_native` fn in crate 
`arrow_select`."><title>take_native in arrow_select::take - Rust</title><link 
rel="preload" as="font" type="font/woff2" crossorigin 
href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link 
rel="preload" as="f [...]
     values: &amp;<a class="primitive" 
href="https://doc.rust-lang.org/nightly/std/primitive.slice.html";>[T]</a>,
     indices: &amp;PrimitiveArray&lt;I&gt;
 ) -&gt; ScalarBuffer&lt;T&gt;</code></pre></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_select/take/fn.take_nulls.html 
b/arrow_select/take/fn.take_nulls.html
index 549c19cb13..817d88200e 100644
--- a/arrow_select/take/fn.take_nulls.html
+++ b/arrow_select/take/fn.take_nulls.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="API 
documentation for the Rust `take_nulls` fn in crate 
`arrow_select`."><title>take_nulls in arrow_select::take - Rust</title><link 
rel="preload" as="font" type="font/woff2" crossorigin 
href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link 
rel="preload" as="fon [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="API 
documentation for the Rust `take_nulls` fn in crate 
`arrow_select`."><title>take_nulls in arrow_select::take - Rust</title><link 
rel="preload" as="font" type="font/woff2" crossorigin 
href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link 
rel="preload" as="fon [...]
     values: <a class="enum" 
href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html"; 
title="enum core::option::Option">Option</a>&lt;&amp;NullBuffer&gt;,
     indices: &amp;PrimitiveArray&lt;I&gt;
 ) -&gt; <a class="enum" 
href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html"; 
title="enum 
core::option::Option">Option</a>&lt;NullBuffer&gt;</code></pre></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_select/take/fn.take_primitive.html 
b/arrow_select/take/fn.take_primitive.html
index 95737768f8..6ce00d1741 100644
--- a/arrow_select/take/fn.take_primitive.html
+++ b/arrow_select/take/fn.take_primitive.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="`take` 
implementation for all primitive arrays"><title>take_primitive in 
arrow_select::take - Rust</title><link rel="preload" as="font" 
type="font/woff2" crossorigin 
href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link 
rel="preload" as="font" type="font/woff2"  [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="`take` 
implementation for all primitive arrays"><title>take_primitive in 
arrow_select::take - Rust</title><link rel="preload" as="font" 
type="font/woff2" crossorigin 
href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link 
rel="preload" as="font" type="font/woff2"  [...]
     values: &amp;PrimitiveArray&lt;T&gt;,
     indices: &amp;PrimitiveArray&lt;I&gt;
 ) -&gt; <a class="enum" 
href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html"; 
title="enum core::result::Result">Result</a>&lt;PrimitiveArray&lt;T&gt;, 
ArrowError&gt;<span class="where fmt-newline">where
diff --git a/arrow_select/take/fn.take_run.html 
b/arrow_select/take/fn.take_run.html
index bfab7b9344..510247b136 100644
--- a/arrow_select/take/fn.take_run.html
+++ b/arrow_select/take/fn.take_run.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="`take` 
implementation for run arrays"><title>take_run in arrow_select::take - 
Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin 
href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link 
rel="preload" as="font" type="font/woff2" crossorigin href [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="`take` 
implementation for run arrays"><title>take_run in arrow_select::take - 
Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin 
href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link 
rel="preload" as="font" type="font/woff2" crossorigin href [...]
     run_array: &amp;RunArray&lt;T&gt;,
     logical_indices: &amp;PrimitiveArray&lt;I&gt;
 ) -&gt; <a class="enum" 
href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html"; 
title="enum core::result::Result">Result</a>&lt;RunArray&lt;T&gt;, 
ArrowError&gt;</code></pre><details class="toggle top-doc" open><summary 
class="hideme"><span>Expand description</span></summary><div 
class="docblock"><p><code>take</code> implementation for run arrays</p>
diff --git a/arrow_select/take/fn.take_value_indices_from_fixed_size_list.html 
b/arrow_select/take/fn.take_value_indices_from_fixed_size_list.html
index 54bfe2e481..b133901cf6 100644
--- a/arrow_select/take/fn.take_value_indices_from_fixed_size_list.html
+++ b/arrow_select/take/fn.take_value_indices_from_fixed_size_list.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" 
content="Takes/filters a fixed size list array’s inner data using the offsets 
of the list array."><title>take_value_indices_from_fixed_size_list in 
arrow_select::take - Rust</title><link rel="preload" as="font" 
type="font/woff2" crossorigin 
href="../../static.files/SourceSerif4-Regular-46f98efaaf [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" 
content="Takes/filters a fixed size list array’s inner data using the offsets 
of the list array."><title>take_value_indices_from_fixed_size_list in 
arrow_select::take - Rust</title><link rel="preload" as="font" 
type="font/woff2" crossorigin 
href="../../static.files/SourceSerif4-Regular-46f98efaaf [...]
     list: &amp;FixedSizeListArray,
     indices: &amp;PrimitiveArray&lt;IndexType&gt;,
     length: &lt;UInt32Type as ArrowPrimitiveType&gt;::Native
diff --git a/arrow_select/take/fn.take_value_indices_from_list.html 
b/arrow_select/take/fn.take_value_indices_from_list.html
index 6c5cdc7c24..f7cf63ee46 100644
--- a/arrow_select/take/fn.take_value_indices_from_list.html
+++ b/arrow_select/take/fn.take_value_indices_from_list.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" 
content="Takes/filters a list array’s inner data using the offsets of the list 
array."><title>take_value_indices_from_list in arrow_select::take - 
Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin 
href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><lin 
[...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" 
content="Takes/filters a list array’s inner data using the offsets of the list 
array."><title>take_value_indices_from_list in arrow_select::take - 
Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin 
href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><lin 
[...]
     list: &amp;GenericListArray&lt;OffsetType::Native&gt;,
     indices: &amp;PrimitiveArray&lt;IndexType&gt;
 ) -&gt; <a class="enum" 
href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html"; 
title="enum 
core::result::Result">Result</a>&lt;(PrimitiveArray&lt;OffsetType&gt;, <a 
class="struct" 
href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html"; 
title="struct alloc::vec::Vec">Vec</a>&lt;OffsetType::Native&gt;, 
MutableBuffer), ArrowError&gt;<span class="where fmt-newline">where
diff --git a/arrow_select/take/index.html b/arrow_select/take/index.html
index ff99b37e4a..eae484b4c2 100644
--- a/arrow_select/take/index.html
+++ b/arrow_select/take/index.html
@@ -1,3 +1,3 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="Defines 
take kernel for Array"><title>arrow_select::take - Rust</title><link 
rel="preload" as="font" type="font/woff2" crossorigin 
href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link 
rel="preload" as="font" type="font/woff2" crossorigin href="../../static.file 
[...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="Defines 
take kernel for Array"><title>arrow_select::take - Rust</title><link 
rel="preload" as="font" type="font/woff2" crossorigin 
href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link 
rel="preload" as="font" type="font/woff2" crossorigin href="../../static.file 
[...]
 </div></details><h2 id="macros" class="small-section-header"><a 
href="#macros">Macros</a></h2><ul class="item-table"><li><div 
class="item-name"><a class="macro" href="macro.to_indices_identity.html" 
title="macro 
arrow_select::take::to_indices_identity">to_indices_identity</a><span 
title="Restricted Visibility">&nbsp;🔒</span> </div></li><li><div 
class="item-name"><a class="macro" href="macro.to_indices_reinterpret.html" 
title="macro arrow_select::take::to_indices_reinterpret">to_indices_r [...]
 only generate for UInt32 and UInt64 and coerce inputs to these 
types</div></li></ul><h2 id="functions" class="small-section-header"><a 
href="#functions">Functions</a></h2><ul class="item-table"><li><div 
class="item-name"><a class="fn" href="fn.check_bounds.html" title="fn 
arrow_select::take::check_bounds">check_bounds</a><span title="Restricted 
Visibility">&nbsp;🔒</span> </div><div class="desc docblock-short">Verifies that 
the non-null values of <code>indices</code> are all <code>&lt; le [...]
\ No newline at end of file
diff --git a/arrow_select/take/macro.to_indices_identity.html 
b/arrow_select/take/macro.to_indices_identity.html
index fd649c8bf1..f77cd4b37e 100644
--- a/arrow_select/take/macro.to_indices_identity.html
+++ b/arrow_select/take/macro.to_indices_identity.html
@@ -1,3 +1,3 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="API 
documentation for the Rust `to_indices_identity` macro in crate 
`arrow_select`."><title>to_indices_identity in arrow_select::take - 
Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin 
href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link 
 [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="API 
documentation for the Rust `to_indices_identity` macro in crate 
`arrow_select`."><title>to_indices_identity in arrow_select::take - 
Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin 
href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link 
 [...]
     (<span class="macro-nonterminal">$t</span>:ty) =&gt; { ... };
 }</pre></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_select/take/macro.to_indices_reinterpret.html 
b/arrow_select/take/macro.to_indices_reinterpret.html
index c3dee93390..b4357574ff 100644
--- a/arrow_select/take/macro.to_indices_reinterpret.html
+++ b/arrow_select/take/macro.to_indices_reinterpret.html
@@ -1,3 +1,3 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="API 
documentation for the Rust `to_indices_reinterpret` macro in crate 
`arrow_select`."><title>to_indices_reinterpret in arrow_select::take - 
Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin 
href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"> [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="API 
documentation for the Rust `to_indices_reinterpret` macro in crate 
`arrow_select`."><title>to_indices_reinterpret in arrow_select::take - 
Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin 
href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"> [...]
     (<span class="macro-nonterminal">$t</span>:ty, <span 
class="macro-nonterminal">$o</span>:ty) =&gt; { ... };
 }</pre></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_select/take/macro.to_indices_widening.html 
b/arrow_select/take/macro.to_indices_widening.html
index 968e20209f..98e010d35b 100644
--- a/arrow_select/take/macro.to_indices_widening.html
+++ b/arrow_select/take/macro.to_indices_widening.html
@@ -1,3 +1,3 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="API 
documentation for the Rust `to_indices_widening` macro in crate 
`arrow_select`."><title>to_indices_widening in arrow_select::take - 
Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin 
href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link 
 [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="API 
documentation for the Rust `to_indices_widening` macro in crate 
`arrow_select`."><title>to_indices_widening in arrow_select::take - 
Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin 
href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link 
 [...]
     (<span class="macro-nonterminal">$t</span>:ty, <span 
class="macro-nonterminal">$o</span>:ty) =&gt; { ... };
 }</pre></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_select/take/struct.TakeOptions.html 
b/arrow_select/take/struct.TakeOptions.html
index b4879e4c63..efebb78d6d 100644
--- a/arrow_select/take/struct.TakeOptions.html
+++ b/arrow_select/take/struct.TakeOptions.html
@@ -1,10 +1,10 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="Options 
that define how `take` should behave"><title>TakeOptions in arrow_select::take 
- Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin 
href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link 
rel="preload" as="font" type="font/woff2" cross [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="Options 
that define how `take` should behave"><title>TakeOptions in arrow_select::take 
- Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin 
href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link 
rel="preload" as="font" type="font/woff2" cross [...]
     pub check_bounds: <a class="primitive" 
href="https://doc.rust-lang.org/nightly/std/primitive.bool.html";>bool</a>,
 }</code></pre><details class="toggle top-doc" open><summary 
class="hideme"><span>Expand description</span></summary><div 
class="docblock"><p>Options that define how <code>take</code> should behave</p>
 </div></details><h2 id="fields" class="fields small-section-header">Fields<a 
href="#fields" class="anchor">§</a></h2><span id="structfield.check_bounds" 
class="structfield small-section-header"><a href="#structfield.check_bounds" 
class="anchor field">§</a><code>check_bounds: <a class="primitive" 
href="https://doc.rust-lang.org/nightly/std/primitive.bool.html";>bool</a></code></span><div
 class="docblock"><p>Perform bounds check before taking indices from values.
 If enabled, an <code>ArrowError</code> is returned if the indices are out of 
bounds.
 If not enabled, and indices exceed bounds, the kernel will panic.</p>
-</div><h2 id="trait-implementations" class="small-section-header">Trait 
Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div 
id="trait-implementations-list"><details class="toggle implementors-toggle" 
open><summary><section id="impl-Clone-for-TakeOptions" class="impl"><a 
class="src rightside" 
href="../../src/arrow_select/take.rs.html#231">source</a><a 
href="#impl-Clone-for-TakeOptions" class="anchor">§</a><h3 
class="code-header">impl <a class="trait" href="https: [...]
+</div><h2 id="trait-implementations" class="small-section-header">Trait 
Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div 
id="trait-implementations-list"><details class="toggle implementors-toggle" 
open><summary><section id="impl-Clone-for-TakeOptions" class="impl"><a 
class="src rightside" 
href="../../src/arrow_select/take.rs.html#246">source</a><a 
href="#impl-Clone-for-TakeOptions" class="anchor">§</a><h3 
class="code-header">impl <a class="trait" href="https: [...]
     T: 'static + ?<a class="trait" 
href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"; 
title="trait 
core::marker::Sized">Sized</a>,</span></h3></section></summary><div 
class="impl-items"><details class="toggle method-toggle" open><summary><section 
id="method.type_id" class="method trait-impl"><a class="src rightside" 
href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#136";>source</a><a 
href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a hre 
[...]
     T: ?<a class="trait" 
href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"; 
title="trait 
core::marker::Sized">Sized</a>,</span></h3></section></summary><div 
class="impl-items"><details class="toggle method-toggle" open><summary><section 
id="method.borrow" class="method trait-impl"><a class="src rightside" 
href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#210";>source</a><a
 href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a 
href="https: [...]
     T: ?<a class="trait" 
href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"; 
title="trait 
core::marker::Sized">Sized</a>,</span></h3></section></summary><div 
class="impl-items"><details class="toggle method-toggle" open><summary><section 
id="method.borrow_mut" class="method trait-impl"><a class="src rightside" 
href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#217";>source</a><a
 href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a 
href [...]
diff --git a/arrow_select/take/trait.ToIndices.html 
b/arrow_select/take/trait.ToIndices.html
index eab9bbe6b8..911706052b 100644
--- a/arrow_select/take/trait.ToIndices.html
+++ b/arrow_select/take/trait.ToIndices.html
@@ -1,8 +1,8 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="To avoid 
generating take implementations for every index type, instead we only generate 
for UInt32 and UInt64 and coerce inputs to these types"><title>ToIndices in 
arrow_select::take - Rust</title><link rel="preload" as="font" 
type="font/woff2" crossorigin href="../../static.files/Source [...]
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta 
name="viewport" content="width=device-width, initial-scale=1.0"><meta 
name="generator" content="rustdoc"><meta name="description" content="To avoid 
generating take implementations for every index type, instead we only generate 
for UInt32 and UInt64 and coerce inputs to these types"><title>ToIndices in 
arrow_select::take - Rust</title><link rel="preload" as="font" 
type="font/woff2" crossorigin href="../../static.files/Source [...]
     type <a href="#associatedtype.T" class="associatedtype">T</a>: 
ArrowPrimitiveType;
 
     // Required method
     fn <a href="#tymethod.to_indices" class="fn">to_indices</a>(&amp;self) 
-&gt; PrimitiveArray&lt;Self::<a class="associatedtype" 
href="trait.ToIndices.html#associatedtype.T" title="type 
arrow_select::take::ToIndices::T">T</a>&gt;;
 }</code></pre><details class="toggle top-doc" open><summary 
class="hideme"><span>Expand description</span></summary><div 
class="docblock"><p>To avoid generating take implementations for every index 
type, instead we
 only generate for UInt32 and UInt64 and coerce inputs to these types</p>
-</div></details><h2 id="required-associated-types" 
class="small-section-header">Required Associated Types<a 
href="#required-associated-types" class="anchor">§</a></h2><div 
class="methods"><section id="associatedtype.T" class="method"><a class="src 
rightside" href="../../src/arrow_select/take.rs.html#698">source</a><h4 
class="code-header">type <a href="#associatedtype.T" 
class="associatedtype">T</a>: ArrowPrimitiveType</h4></section></div><h2 
id="required-methods" class="small-section-hea [...]
\ No newline at end of file
+</div></details><h2 id="required-associated-types" 
class="small-section-header">Required Associated Types<a 
href="#required-associated-types" class="anchor">§</a></h2><div 
class="methods"><section id="associatedtype.T" class="method"><a class="src 
rightside" href="../../src/arrow_select/take.rs.html#713">source</a><h4 
class="code-header">type <a href="#associatedtype.T" 
class="associatedtype">T</a>: ArrowPrimitiveType</h4></section></div><h2 
id="required-methods" class="small-section-hea [...]
\ No newline at end of file
diff --git a/src/arrow_select/take.rs.html b/src/arrow_select/take.rs.html
index a4b9425106..1b0b9fa88d 100644
--- a/src/arrow_select/take.rs.html
+++ b/src/arrow_select/take.rs.html
@@ -2014,6 +2014,58 @@
 <a href="#2014" id="2014">2014</a>
 <a href="#2015" id="2015">2015</a>
 <a href="#2016" id="2016">2016</a>
+<a href="#2017" id="2017">2017</a>
+<a href="#2018" id="2018">2018</a>
+<a href="#2019" id="2019">2019</a>
+<a href="#2020" id="2020">2020</a>
+<a href="#2021" id="2021">2021</a>
+<a href="#2022" id="2022">2022</a>
+<a href="#2023" id="2023">2023</a>
+<a href="#2024" id="2024">2024</a>
+<a href="#2025" id="2025">2025</a>
+<a href="#2026" id="2026">2026</a>
+<a href="#2027" id="2027">2027</a>
+<a href="#2028" id="2028">2028</a>
+<a href="#2029" id="2029">2029</a>
+<a href="#2030" id="2030">2030</a>
+<a href="#2031" id="2031">2031</a>
+<a href="#2032" id="2032">2032</a>
+<a href="#2033" id="2033">2033</a>
+<a href="#2034" id="2034">2034</a>
+<a href="#2035" id="2035">2035</a>
+<a href="#2036" id="2036">2036</a>
+<a href="#2037" id="2037">2037</a>
+<a href="#2038" id="2038">2038</a>
+<a href="#2039" id="2039">2039</a>
+<a href="#2040" id="2040">2040</a>
+<a href="#2041" id="2041">2041</a>
+<a href="#2042" id="2042">2042</a>
+<a href="#2043" id="2043">2043</a>
+<a href="#2044" id="2044">2044</a>
+<a href="#2045" id="2045">2045</a>
+<a href="#2046" id="2046">2046</a>
+<a href="#2047" id="2047">2047</a>
+<a href="#2048" id="2048">2048</a>
+<a href="#2049" id="2049">2049</a>
+<a href="#2050" id="2050">2050</a>
+<a href="#2051" id="2051">2051</a>
+<a href="#2052" id="2052">2052</a>
+<a href="#2053" id="2053">2053</a>
+<a href="#2054" id="2054">2054</a>
+<a href="#2055" id="2055">2055</a>
+<a href="#2056" id="2056">2056</a>
+<a href="#2057" id="2057">2057</a>
+<a href="#2058" id="2058">2058</a>
+<a href="#2059" id="2059">2059</a>
+<a href="#2060" id="2060">2060</a>
+<a href="#2061" id="2061">2061</a>
+<a href="#2062" id="2062">2062</a>
+<a href="#2063" id="2063">2063</a>
+<a href="#2064" id="2064">2064</a>
+<a href="#2065" id="2065">2065</a>
+<a href="#2066" id="2066">2066</a>
+<a href="#2067" id="2067">2067</a>
+<a href="#2068" id="2068">2068</a>
 </pre></div><pre class="rust"><code><span class="comment">// Licensed to the 
Apache Software Foundation (ASF) under one
 // or more contributor license agreements.  See the NOTICE file
 // distributed with this work for additional information
@@ -2044,7 +2096,7 @@
     ScalarBuffer,
 };
 <span class="kw">use </span>arrow_data::{ArrayData, ArrayDataBuilder};
-<span class="kw">use </span>arrow_schema::{ArrowError, DataType, FieldRef};
+<span class="kw">use </span>arrow_schema::{ArrowError, DataType, FieldRef, 
UnionMode};
 
 <span class="kw">use </span>num::{One, Zero};
 
@@ -2239,6 +2291,21 @@
                 </span><span 
class="prelude-val">Ok</span>(new_null_array(<span 
class="kw-2">&amp;</span>DataType::Null, indices.len()))
             }
         }
+        DataType::Union(fields, UnionMode::Sparse) =&gt; {
+            <span class="kw">let </span><span class="kw-2">mut 
</span>field_type_ids = Vec::with_capacity(fields.len());
+            <span class="kw">let </span><span class="kw-2">mut </span>children 
= Vec::with_capacity(fields.len());
+            <span class="kw">let </span>values = 
values.as_any().downcast_ref::&lt;UnionArray&gt;().unwrap();
+            <span class="kw">let </span>type_ids = 
take_native(values.type_ids(), indices).into_inner();
+            <span class="kw">for </span>(type_id, field) <span class="kw">in 
</span>fields.iter() {
+                <span class="kw">let </span>values = values.child(type_id);
+                <span class="kw">let </span>values = take_impl(values, 
indices)<span class="question-mark">?</span>;
+                <span class="kw">let </span>field = (<span 
class="kw-2">**</span>field).clone();
+                children.push((field, values));
+                field_type_ids.push(type_id);
+            }
+            <span class="kw">let </span>array = 
UnionArray::try_new(field_type_ids.as_slice(), type_ids, <span 
class="prelude-val">None</span>, children)<span class="question-mark">?</span>;
+            <span class="prelude-val">Ok</span>(Arc::new(array))
+        }
         t =&gt; <span class="macro">unimplemented!</span>(<span 
class="string">&quot;Take not supported for data type {:?}&quot;</span>, t)
     }
 }
@@ -4029,5 +4096,42 @@
         <span class="kw">let </span>values = 
r.as_string::&lt;i32&gt;().iter().collect::&lt;Vec&lt;<span 
class="kw">_</span>&gt;&gt;();
         <span class="macro">assert_eq!</span>(<span 
class="kw-2">&amp;</span>values, <span class="kw-2">&amp;</span>[<span 
class="prelude-val">Some</span>(<span class="string">&quot;foo&quot;</span>), 
<span class="prelude-val">None</span>, <span class="prelude-val">None</span>, 
<span class="prelude-val">None</span>])
     }
+
+    <span class="attr">#[test]
+    </span><span class="kw">fn </span>test_take_union() {
+        <span class="kw">let </span>structs = create_test_struct(<span 
class="macro">vec!</span>[
+            <span class="prelude-val">Some</span>((<span 
class="prelude-val">Some</span>(<span class="bool-val">true</span>), <span 
class="prelude-val">Some</span>(<span class="number">42</span>))),
+            <span class="prelude-val">Some</span>((<span 
class="prelude-val">Some</span>(<span class="bool-val">false</span>), <span 
class="prelude-val">Some</span>(<span class="number">28</span>))),
+            <span class="prelude-val">Some</span>((<span 
class="prelude-val">Some</span>(<span class="bool-val">false</span>), <span 
class="prelude-val">Some</span>(<span class="number">19</span>))),
+            <span class="prelude-val">Some</span>((<span 
class="prelude-val">Some</span>(<span class="bool-val">true</span>), <span 
class="prelude-val">Some</span>(<span class="number">31</span>))),
+            <span class="prelude-val">None</span>,
+        ]);
+        <span class="kw">let </span>strings =
+            StringArray::from(<span class="macro">vec!</span>[<span 
class="prelude-val">Some</span>(<span class="string">&quot;a&quot;</span>), 
<span class="prelude-val">None</span>, <span 
class="prelude-val">Some</span>(<span class="string">&quot;c&quot;</span>), 
<span class="prelude-val">None</span>, <span 
class="prelude-val">Some</span>(<span class="string">&quot;d&quot;</span>)]);
+        <span class="kw">let </span>type_ids = Buffer::from_slice_ref(<span 
class="macro">vec!</span>[<span class="number">1i8</span>; <span 
class="number">5</span>]);
+
+        <span class="kw">let </span>children: Vec&lt;(Field, Arc&lt;<span 
class="kw">dyn </span>Array&gt;)&gt; = <span class="macro">vec!</span>[
+            (
+                Field::new(<span class="string">&quot;f1&quot;</span>, 
structs.data_type().clone(), <span class="bool-val">true</span>),
+                Arc::new(structs),
+            ),
+            (
+                Field::new(<span class="string">&quot;f2&quot;</span>, 
strings.data_type().clone(), <span class="bool-val">true</span>),
+                Arc::new(strings),
+            ),
+        ];
+        <span class="kw">let </span>array = UnionArray::try_new(<span 
class="kw-2">&amp;</span>[<span class="number">0</span>, <span 
class="number">1</span>], type_ids, <span class="prelude-val">None</span>, 
children).unwrap();
+
+        <span class="kw">let </span>indices = <span 
class="macro">vec!</span>[<span class="number">0</span>, <span 
class="number">3</span>, <span class="number">1</span>, <span 
class="number">0</span>, <span class="number">2</span>, <span 
class="number">4</span>];
+        <span class="kw">let </span>index = UInt32Array::from(indices.clone());
+        <span class="kw">let </span>actual = take(<span 
class="kw-2">&amp;</span>array, <span class="kw-2">&amp;</span>index, <span 
class="prelude-val">None</span>).unwrap();
+        <span class="kw">let </span>actual = 
actual.as_any().downcast_ref::&lt;UnionArray&gt;().unwrap();
+        <span class="kw">let </span>strings = actual.child(<span 
class="number">1</span>);
+        <span class="kw">let </span>strings = 
strings.as_any().downcast_ref::&lt;StringArray&gt;().unwrap();
+
+        <span class="kw">let </span>actual = 
strings.iter().collect::&lt;Vec&lt;<span class="kw">_</span>&gt;&gt;();
+        <span class="kw">let </span>expected = <span 
class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span 
class="string">&quot;a&quot;</span>), <span class="prelude-val">None</span>, 
<span class="prelude-val">None</span>, <span 
class="prelude-val">Some</span>(<span class="string">&quot;a&quot;</span>), 
<span class="prelude-val">Some</span>(<span 
class="string">&quot;c&quot;</span>), <span 
class="prelude-val">Some</span>(<span class="string">&quot;d&quot;</span>)];
+        <span class="macro">assert_eq!</span>(expected, actual);
+    }
 }
 </code></pre></div></section></main></body></html>
\ No newline at end of file

Reply via email to