You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by gi...@apache.org on 2024/01/15 14:30:17 UTC

(arrow-rs) branch asf-site updated: deploy: ba6dbb8e27bbdc0453f4e8694bd24f09b8d7e7b1

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 df65faba63 deploy: ba6dbb8e27bbdc0453f4e8694bd24f09b8d7e7b1
df65faba63 is described below

commit df65faba634c1e87f388fa3047cc87806e2b0728
Author: tustvold <tu...@users.noreply.github.com>
AuthorDate: Mon Jan 15 14:30:12 2024 +0000

    deploy: ba6dbb8e27bbdc0453f4e8694bd24f09b8d7e7b1
---
 arrow/all.html                                     |  2 +-
 arrow/buffer/fn.buffer_bin_and_not.html            | 10 +++
 arrow/buffer/fn.buffer_unary_not.html              |  2 +-
 arrow/buffer/index.html                            |  1 +
 arrow/buffer/sidebar-items.js                      |  2 +-
 arrow/compute/fn.and_not.html                      | 16 +++++
 arrow/compute/fn.is_not_null.html                  |  2 +-
 arrow/compute/fn.is_null.html                      |  2 +-
 arrow/compute/fn.not.html                          |  2 +-
 arrow/compute/index.html                           |  3 +-
 .../kernels/bitwise/fn.bitwise_and_not.html        |  9 +++
 .../kernels/bitwise/fn.bitwise_and_scalar.html     |  2 +-
 .../kernels/bitwise/fn.bitwise_or_scalar.html      |  2 +-
 .../bitwise/fn.bitwise_shift_left_scalar.html      |  2 +-
 .../bitwise/fn.bitwise_shift_right_scalar.html     |  2 +-
 .../kernels/bitwise/fn.bitwise_xor_scalar.html     |  2 +-
 arrow/compute/kernels/bitwise/index.html           |  1 +
 arrow/compute/kernels/bitwise/sidebar-items.js     |  2 +-
 arrow/compute/kernels/boolean/fn.and_not.html      | 16 +++++
 arrow/compute/kernels/boolean/fn.is_not_null.html  |  2 +-
 arrow/compute/kernels/boolean/fn.is_null.html      |  2 +-
 arrow/compute/kernels/boolean/fn.not.html          |  2 +-
 arrow/compute/kernels/boolean/index.html           |  3 +-
 arrow/compute/kernels/boolean/sidebar-items.js     |  2 +-
 arrow/compute/sidebar-items.js                     |  2 +-
 arrow_arith/all.html                               |  2 +-
 arrow_arith/bitwise/fn.bitwise_and_not.html        |  9 +++
 arrow_arith/bitwise/fn.bitwise_and_scalar.html     |  2 +-
 arrow_arith/bitwise/fn.bitwise_or_scalar.html      |  2 +-
 .../bitwise/fn.bitwise_shift_left_scalar.html      |  2 +-
 .../bitwise/fn.bitwise_shift_right_scalar.html     |  2 +-
 arrow_arith/bitwise/fn.bitwise_xor_scalar.html     |  2 +-
 arrow_arith/bitwise/index.html                     |  3 +-
 arrow_arith/bitwise/sidebar-items.js               |  2 +-
 arrow_arith/boolean/fn.and_not.html                | 16 +++++
 arrow_arith/boolean/fn.is_not_null.html            |  2 +-
 arrow_arith/boolean/fn.is_null.html                |  2 +-
 arrow_arith/boolean/fn.not.html                    |  2 +-
 arrow_arith/boolean/index.html                     |  5 +-
 arrow_arith/boolean/sidebar-items.js               |  2 +-
 arrow_buffer/all.html                              |  2 +-
 arrow_buffer/buffer/fn.buffer_bin_and_not.html     | 10 +++
 arrow_buffer/buffer/fn.buffer_unary_not.html       |  2 +-
 arrow_buffer/buffer/index.html                     |  1 +
 arrow_buffer/buffer/ops/fn.buffer_bin_and_not.html | 10 +++
 arrow_buffer/buffer/ops/fn.buffer_unary_not.html   |  2 +-
 arrow_buffer/buffer/ops/index.html                 |  3 +-
 arrow_buffer/buffer/ops/sidebar-items.js           |  2 +-
 arrow_buffer/buffer/sidebar-items.js               |  2 +-
 help.html                                          |  4 +-
 index.html                                         |  4 +-
 search-index.js                                    |  6 +-
 settings.html                                      |  4 +-
 src/arrow_arith/bitwise.rs.html                    | 78 ++++++++++++++++++++++
 src/arrow_arith/boolean.rs.html                    | 68 ++++++++++++++++++-
 src/arrow_buffer/buffer/ops.rs.html                | 38 +++++++++++
 56 files changed, 335 insertions(+), 49 deletions(-)

diff --git a/arrow/all.html b/arrow/all.html
index 3ea3d3298a..aa0b129671 100644
--- a/arrow/all.html
+++ b/arrow/all.html
@@ -1,2 +1,2 @@
 <!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="List of all items in this crate"><title>List of all items in this crate</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.fi [...]
-    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../arrow/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../help.html" title="help">?</a></div><div id="sett [...]
\ No newline at end of file
+    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../arrow/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../help.html" title="help">?</a></div><div id="sett [...]
\ No newline at end of file
diff --git a/arrow/buffer/fn.buffer_bin_and_not.html b/arrow/buffer/fn.buffer_bin_and_not.html
new file mode 100644
index 0000000000..db19be218f
--- /dev/null
+++ b/arrow/buffer/fn.buffer_bin_and_not.html
@@ -0,0 +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="Apply a bitwise and_not to two inputs and return the result as a Buffer. The inputs are treated as bitmaps, meaning that offsets and length are specified in number of bits."><title>buffer_bin_and_not in arrow::buffer - Rust</title><link rel="preload" as="font" type="font/woff2" crossorig [...]
+    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div><div id [...]
+    left: &amp;<a class="struct" href="struct.Buffer.html" title="struct arrow::buffer::Buffer">Buffer</a>,
+    left_offset_in_bits: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
+    right: &amp;<a class="struct" href="struct.Buffer.html" title="struct arrow::buffer::Buffer">Buffer</a>,
+    right_offset_in_bits: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
+    len_in_bits: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>
+) -&gt; <a class="struct" href="struct.Buffer.html" title="struct arrow::buffer::Buffer">Buffer</a></code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Apply a bitwise and_not to two inputs and return the result as a Buffer.
+The inputs are treated as bitmaps, meaning that offsets and length are specified in number of bits.</p>
+</div></details></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/buffer/fn.buffer_unary_not.html b/arrow/buffer/fn.buffer_unary_not.html
index 62fa2ef3ea..e18f9fe170 100644
--- a/arrow/buffer/fn.buffer_unary_not.html
+++ b/arrow/buffer/fn.buffer_unary_not.html
@@ -1,5 +1,5 @@
 <!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="Apply a bitwise not to one input and return the result as a Buffer. The input is treated as a bitmap, meaning that offset and length are specified in number of bits."><title>buffer_unary_not in arrow::buffer - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href=" [...]
-    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div><div id [...]
+    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div><div id [...]
     left: &amp;<a class="struct" href="struct.Buffer.html" title="struct arrow::buffer::Buffer">Buffer</a>,
     offset_in_bits: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
     len_in_bits: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>
diff --git a/arrow/buffer/index.html b/arrow/buffer/index.html
index 2488abf647..482f37bc62 100644
--- a/arrow/buffer/index.html
+++ b/arrow/buffer/index.html
@@ -5,6 +5,7 @@ thread boundaries.</div></li><li><div class="item-name"><a class="struct" href="
 The inputs are treated as bitmaps, meaning that offsets and length are specified in number of bits.</div></li><li><div class="item-name"><a class="fn" href="fn.bitwise_quaternary_op_helper.html" title="fn arrow::buffer::bitwise_quaternary_op_helper">bitwise_quaternary_op_helper</a></div><div class="desc docblock-short">Apply a bitwise operation <code>op</code> to four inputs and return the result as a Buffer.
 The inputs are treated as bitmaps, meaning that offsets and length are specified in number of bits.</div></li><li><div class="item-name"><a class="fn" href="fn.bitwise_unary_op_helper.html" title="fn arrow::buffer::bitwise_unary_op_helper">bitwise_unary_op_helper</a></div><div class="desc docblock-short">Apply a bitwise operation <code>op</code> to one input and return the result as a Buffer.
 The input is treated as a bitmap, meaning that offset and length are specified in number of bits.</div></li><li><div class="item-name"><a class="fn" href="fn.buffer_bin_and.html" title="fn arrow::buffer::buffer_bin_and">buffer_bin_and</a></div><div class="desc docblock-short">Apply a bitwise and to two inputs and return the result as a Buffer.
+The inputs are treated as bitmaps, meaning that offsets and length are specified in number of bits.</div></li><li><div class="item-name"><a class="fn" href="fn.buffer_bin_and_not.html" title="fn arrow::buffer::buffer_bin_and_not">buffer_bin_and_not</a></div><div class="desc docblock-short">Apply a bitwise and_not to two inputs and return the result as a Buffer.
 The inputs are treated as bitmaps, meaning that offsets and length are specified in number of bits.</div></li><li><div class="item-name"><a class="fn" href="fn.buffer_bin_or.html" title="fn arrow::buffer::buffer_bin_or">buffer_bin_or</a></div><div class="desc docblock-short">Apply a bitwise or to two inputs and return the result as a Buffer.
 The inputs are treated as bitmaps, meaning that offsets and length are specified in number of bits.</div></li><li><div class="item-name"><a class="fn" href="fn.buffer_bin_xor.html" title="fn arrow::buffer::buffer_bin_xor">buffer_bin_xor</a></div><div class="desc docblock-short">Apply a bitwise xor to two inputs and return the result as a Buffer.
 The inputs are treated as bitmaps, meaning that offsets and length are specified in number of bits.</div></li><li><div class="item-name"><a class="fn" href="fn.buffer_unary_not.html" title="fn arrow::buffer::buffer_unary_not">buffer_unary_not</a></div><div class="desc docblock-short">Apply a bitwise not to one input and return the result as a Buffer.
diff --git a/arrow/buffer/sidebar-items.js b/arrow/buffer/sidebar-items.js
index bf04f4307a..84072fadaa 100644
--- a/arrow/buffer/sidebar-items.js
+++ b/arrow/buffer/sidebar-items.js
@@ -1 +1 @@
-window.SIDEBAR_ITEMS = {"fn":["bitwise_bin_op_helper","bitwise_quaternary_op_helper","bitwise_unary_op_helper","buffer_bin_and","buffer_bin_or","buffer_bin_xor","buffer_unary_not"],"struct":["BooleanBuffer","Buffer","MutableBuffer","NullBuffer","OffsetBuffer","RunEndBuffer","ScalarBuffer"]};
\ No newline at end of file
+window.SIDEBAR_ITEMS = {"fn":["bitwise_bin_op_helper","bitwise_quaternary_op_helper","bitwise_unary_op_helper","buffer_bin_and","buffer_bin_and_not","buffer_bin_or","buffer_bin_xor","buffer_unary_not"],"struct":["BooleanBuffer","Buffer","MutableBuffer","NullBuffer","OffsetBuffer","RunEndBuffer","ScalarBuffer"]};
\ No newline at end of file
diff --git a/arrow/compute/fn.and_not.html b/arrow/compute/fn.and_not.html
new file mode 100644
index 0000000000..705a63554f
--- /dev/null
+++ b/arrow/compute/fn.and_not.html
@@ -0,0 +1,16 @@
+<!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="Performs `AND_NOT` operation on two arrays. If either left or right value is null then the result is also null."><title>and_not in arrow::compute - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.w [...]
+    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div><div id [...]
+    left: &amp;<a class="struct" href="../array/struct.BooleanArray.html" title="struct arrow::array::BooleanArray">BooleanArray</a>,
+    right: &amp;<a class="struct" href="../array/struct.BooleanArray.html" title="struct arrow::array::BooleanArray">BooleanArray</a>
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../array/struct.BooleanArray.html" title="struct arrow::array::BooleanArray">BooleanArray</a>, <a class="enum" href="../error/enum.ArrowError.html" title="enum arrow::error::ArrowError">ArrowError</a>&gt;</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div cl [...]
+result is also null.</p>
+<h2 id="error"><a href="#error">Error</a></h2>
+<p>This function errors when the arrays have different lengths.</p>
+<h2 id="example"><a href="#example">Example</a></h2>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>a = BooleanArray::from(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="bool-val">false</span>), <span class="prelude-val">Some</span>(<span class="bool-val">true</span>), <span class="prelude-val">None</span>]);
+<span class="kw">let </span>b = BooleanArray::from(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="bool-val">true</span>), <span class="prelude-val">Some</span>(<span class="bool-val">true</span>), <span class="prelude-val">Some</span>(<span class="bool-val">false</span>)]);
+<span class="kw">let </span>andn_ab = and_not(<span class="kw-2">&amp;</span>a, <span class="kw-2">&amp;</span>b).unwrap();
+<span class="macro">assert_eq!</span>(andn_ab, BooleanArray::from(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="bool-val">false</span>), <span class="prelude-val">Some</span>(<span class="bool-val">false</span>), <span class="prelude-val">None</span>]));
+<span class="comment">// It's equal to and(left, not(right))
+</span><span class="macro">assert_eq!</span>(andn_ab, and(<span class="kw-2">&amp;</span>a, <span class="kw-2">&amp;</span>not(<span class="kw-2">&amp;</span>b).unwrap()).unwrap());</code></pre></div>
+</div></details></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/compute/fn.is_not_null.html b/arrow/compute/fn.is_not_null.html
index 346fb660f2..db9866b0b6 100644
--- a/arrow/compute/fn.is_not_null.html
+++ b/arrow/compute/fn.is_not_null.html
@@ -1,5 +1,5 @@
 <!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="Returns a non-null BooleanArray with whether each value of the array is not null."><title>is_not_null 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"  [...]
-    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div><div id [...]
+    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div><div id [...]
 <h2 id="error"><a href="#error">Error</a></h2>
 <p>This function never errors.</p>
 <h2 id="example"><a href="#example">Example</a></h2>
diff --git a/arrow/compute/fn.is_null.html b/arrow/compute/fn.is_null.html
index 3fc3a46650..a1d6dda502 100644
--- a/arrow/compute/fn.is_null.html
+++ b/arrow/compute/fn.is_null.html
@@ -1,5 +1,5 @@
 <!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="Returns a non-null BooleanArray with whether each value of the array is null."><title>is_null 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 [...]
-    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div><div id [...]
+    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div><div id [...]
 <h2 id="error"><a href="#error">Error</a></h2>
 <p>This function never errors.</p>
 <h2 id="example"><a href="#example">Example</a></h2>
diff --git a/arrow/compute/fn.not.html b/arrow/compute/fn.not.html
index 8d55d57bc0..fe4d01a840 100644
--- a/arrow/compute/fn.not.html
+++ b/arrow/compute/fn.not.html
@@ -1,5 +1,5 @@
 <!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="Performs unary `NOT` operation on an arrays. If value is null then the result is also null."><title>not 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 [...]
-    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div><div id [...]
+    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div><div id [...]
 null.</p>
 <h2 id="error"><a href="#error">Error</a></h2>
 <p>This function never errors. It returns an error for consistency.</p>
diff --git a/arrow/compute/index.html b/arrow/compute/index.html
index cc75e5820b..ee3705a5ff 100644
--- a/arrow/compute/index.html
+++ b/arrow/compute/index.html
@@ -5,7 +5,8 @@ at given two indices. The lifetime is the same at the data wrapped.</div></li><l
 <code>[start, end)</code> whose slots of a bitmap <a href="../buffer/struct.Buffer.html" title="struct arrow::buffer::Buffer">Buffer</a> are true. Each
 interval corresponds to a contiguous region of memory to be
 “taken” from an array to be filtered.</div></li><li><div class="item-name"><a class="struct" href="struct.SortColumn.html" title="struct arrow::compute::SortColumn">SortColumn</a></div><div class="desc docblock-short">One column to be used in lexicographical sort</div></li><li><div class="item-name"><a class="struct" href="struct.SortOptions.html" title="struct arrow::compute::SortOptions">SortOptions</a></div><div class="desc docblock-short">Options that define the sort order of a given [...]
-result is also null.</div></li><li><div class="item-name"><a class="fn" href="fn.and_kleene.html" title="fn arrow::compute::and_kleene">and_kleene</a></div><div class="desc docblock-short">Logical ‘and’ boolean values with Kleene logic</div></li><li><div class="item-name"><a class="fn" href="fn.binary.html" title="fn arrow::compute::binary">binary</a></div><div class="desc docblock-short">Given two arrays of length <code>len</code>, calls <code>op(a[i], b[i])</code> for <code>i</code> in [...]
+result is also null.</div></li><li><div class="item-name"><a class="fn" href="fn.and_kleene.html" title="fn arrow::compute::and_kleene">and_kleene</a></div><div class="desc docblock-short">Logical ‘and’ boolean values with Kleene logic</div></li><li><div class="item-name"><a class="fn" href="fn.and_not.html" title="fn arrow::compute::and_not">and_not</a></div><div class="desc docblock-short">Performs <code>AND_NOT</code> operation on two arrays. If either left or right value is null then the
+result is also null.</div></li><li><div class="item-name"><a class="fn" href="fn.binary.html" title="fn arrow::compute::binary">binary</a></div><div class="desc docblock-short">Given two arrays of length <code>len</code>, calls <code>op(a[i], b[i])</code> for <code>i</code> in <code>0..len</code>, collecting
 the results in a <a href="../array/struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray"><code>PrimitiveArray</code></a>. If any index is null in either <code>a</code> or <code>b</code>, the
 corresponding index in the result will also be null</div></li><li><div class="item-name"><a class="fn" href="fn.binary_mut.html" title="fn arrow::compute::binary_mut">binary_mut</a></div><div class="desc docblock-short">Given two arrays of length <code>len</code>, calls <code>op(a[i], b[i])</code> for <code>i</code> in <code>0..len</code>, mutating
 the mutable <a href="../array/struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray"><code>PrimitiveArray</code></a> <code>a</code>. If any index is null in either <code>a</code> or <code>b</code>, the
diff --git a/arrow/compute/kernels/bitwise/fn.bitwise_and_not.html b/arrow/compute/kernels/bitwise/fn.bitwise_and_not.html
new file mode 100644
index 0000000000..c85916e290
--- /dev/null
+++ b/arrow/compute/kernels/bitwise/fn.bitwise_and_not.html
@@ -0,0 +1,9 @@
+<!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="Perform `left &amp; !right` operation on two arrays. If either left or right value is null then the result is also null."><title>bitwise_and_not in arrow::compute::kernels::bitwise - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../../static.files/So [...]
+    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../../arrow/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../../help.html" title="help">?</a>< [...]
+    left: &amp;<a class="struct" href="../../../array/struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;T&gt;,
+    right: &amp;<a class="struct" href="../../../array/struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;T&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;<a class="struct" href="../../../array/struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;T&gt;, <a class="enum" href="../../../error/enum.ArrowError.html" title="enum arrow::error::ArrowError">ArrowError</a>&gt;<div class="where">where
+    T: <a class="trait" href="../../../datatypes/trait.ArrowNumericType.html" title="trait arrow::datatypes::ArrowNumericType">ArrowNumericType</a>,
+    &lt;T as <a class="trait" href="../../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../../datatypes/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow::datatypes::ArrowPrimitiveType::Native">Native</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/bit/trait.BitAnd.html" title="trait core::ops::bit::BitAnd">BitAnd</a>&lt;Output = &lt; [...]
+then the result is also null.</p>
+</div></details></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/compute/kernels/bitwise/fn.bitwise_and_scalar.html b/arrow/compute/kernels/bitwise/fn.bitwise_and_scalar.html
index f6e1a7c250..ccdbc19b87 100644
--- a/arrow/compute/kernels/bitwise/fn.bitwise_and_scalar.html
+++ b/arrow/compute/kernels/bitwise/fn.bitwise_and_scalar.html
@@ -1,5 +1,5 @@
 <!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="Perform bitwise `and` every value in an array with the scalar. If any value in the array is null then the result is also null."><title>bitwise_and_scalar in arrow::compute::kernels::bitwise - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../../static [...]
-    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../../arrow/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../../help.html" title="help">?</a>< [...]
+    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../../arrow/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../../help.html" title="help">?</a>< [...]
     array: &amp;<a class="struct" href="../../../array/struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;T&gt;,
     scalar: &lt;T as <a class="trait" href="../../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../../datatypes/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow::datatypes::ArrowPrimitiveType::Native">Native</a>
 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../../../array/struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;T&gt;, <a class="enum" href="../../../error/enum.ArrowError.html" title="enum arrow::error::ArrowError">ArrowError</a>&gt;<div class="where">where
diff --git a/arrow/compute/kernels/bitwise/fn.bitwise_or_scalar.html b/arrow/compute/kernels/bitwise/fn.bitwise_or_scalar.html
index 1376813731..da91b0e684 100644
--- a/arrow/compute/kernels/bitwise/fn.bitwise_or_scalar.html
+++ b/arrow/compute/kernels/bitwise/fn.bitwise_or_scalar.html
@@ -1,5 +1,5 @@
 <!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="Perform bitwise `or` every value in an array with the scalar. If any value in the array is null then the result is also null."><title>bitwise_or_scalar in arrow::compute::kernels::bitwise - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../../static.f [...]
-    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../../arrow/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../../help.html" title="help">?</a>< [...]
+    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../../arrow/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../../help.html" title="help">?</a>< [...]
     array: &amp;<a class="struct" href="../../../array/struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;T&gt;,
     scalar: &lt;T as <a class="trait" href="../../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../../datatypes/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow::datatypes::ArrowPrimitiveType::Native">Native</a>
 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../../../array/struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;T&gt;, <a class="enum" href="../../../error/enum.ArrowError.html" title="enum arrow::error::ArrowError">ArrowError</a>&gt;<div class="where">where
diff --git a/arrow/compute/kernels/bitwise/fn.bitwise_shift_left_scalar.html b/arrow/compute/kernels/bitwise/fn.bitwise_shift_left_scalar.html
index d1686163ca..267b090e50 100644
--- a/arrow/compute/kernels/bitwise/fn.bitwise_shift_left_scalar.html
+++ b/arrow/compute/kernels/bitwise/fn.bitwise_shift_left_scalar.html
@@ -1,5 +1,5 @@
 <!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="Perform bitwise `left &lt;&lt; right` every value in an array with the scalar. If any value in the array is null then the result is also null."><title>bitwise_shift_left_scalar in arrow::compute::kernels::bitwise - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin h [...]
-    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../../arrow/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../../help.html" title="help">?</a>< [...]
+    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../../arrow/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../../help.html" title="help">?</a>< [...]
     array: &amp;<a class="struct" href="../../../array/struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;T&gt;,
     scalar: &lt;T as <a class="trait" href="../../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../../datatypes/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow::datatypes::ArrowPrimitiveType::Native">Native</a>
 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../../../array/struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;T&gt;, <a class="enum" href="../../../error/enum.ArrowError.html" title="enum arrow::error::ArrowError">ArrowError</a>&gt;<div class="where">where
diff --git a/arrow/compute/kernels/bitwise/fn.bitwise_shift_right_scalar.html b/arrow/compute/kernels/bitwise/fn.bitwise_shift_right_scalar.html
index f785ff2dc1..a3457aff07 100644
--- a/arrow/compute/kernels/bitwise/fn.bitwise_shift_right_scalar.html
+++ b/arrow/compute/kernels/bitwise/fn.bitwise_shift_right_scalar.html
@@ -1,5 +1,5 @@
 <!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="Perform bitwise `left &gt;&gt; right` every value in an array with the scalar. If any value in the array is null then the result is also null."><title>bitwise_shift_right_scalar in arrow::compute::kernels::bitwise - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin  [...]
-    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../../arrow/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../../help.html" title="help">?</a>< [...]
+    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../../arrow/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../../help.html" title="help">?</a>< [...]
     array: &amp;<a class="struct" href="../../../array/struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;T&gt;,
     scalar: &lt;T as <a class="trait" href="../../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../../datatypes/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow::datatypes::ArrowPrimitiveType::Native">Native</a>
 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../../../array/struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;T&gt;, <a class="enum" href="../../../error/enum.ArrowError.html" title="enum arrow::error::ArrowError">ArrowError</a>&gt;<div class="where">where
diff --git a/arrow/compute/kernels/bitwise/fn.bitwise_xor_scalar.html b/arrow/compute/kernels/bitwise/fn.bitwise_xor_scalar.html
index 3c8ec643e0..822326c7fc 100644
--- a/arrow/compute/kernels/bitwise/fn.bitwise_xor_scalar.html
+++ b/arrow/compute/kernels/bitwise/fn.bitwise_xor_scalar.html
@@ -1,5 +1,5 @@
 <!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="Perform bitwise `xor` every value in an array with the scalar. If any value in the array is null then the result is also null."><title>bitwise_xor_scalar in arrow::compute::kernels::bitwise - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../../static [...]
-    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../../arrow/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../../help.html" title="help">?</a>< [...]
+    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../../arrow/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../../help.html" title="help">?</a>< [...]
     array: &amp;<a class="struct" href="../../../array/struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;T&gt;,
     scalar: &lt;T as <a class="trait" href="../../../datatypes/trait.ArrowPrimitiveType.html" title="trait arrow::datatypes::ArrowPrimitiveType">ArrowPrimitiveType</a>&gt;::<a class="associatedtype" href="../../../datatypes/trait.ArrowPrimitiveType.html#associatedtype.Native" title="type arrow::datatypes::ArrowPrimitiveType::Native">Native</a>
 ) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../../../array/struct.PrimitiveArray.html" title="struct arrow::array::PrimitiveArray">PrimitiveArray</a>&lt;T&gt;, <a class="enum" href="../../../error/enum.ArrowError.html" title="enum arrow::error::ArrowError">ArrowError</a>&gt;<div class="where">where
diff --git a/arrow/compute/kernels/bitwise/index.html b/arrow/compute/kernels/bitwise/index.html
index 7d13fbb538..f9b5b4a84a 100644
--- a/arrow/compute/kernels/bitwise/index.html
+++ b/arrow/compute/kernels/bitwise/index.html
@@ -1,5 +1,6 @@
 <!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 `bitwise` mod in crate `arrow`."><title>arrow::compute::kernels::bitwise - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font"  [...]
     <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../../arrow/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../../help.html" title="help">?</a>< [...]
+then the result is also null.</div></li><li><div class="item-name"><a class="fn" href="fn.bitwise_and_not.html" title="fn arrow::compute::kernels::bitwise::bitwise_and_not">bitwise_and_not</a></div><div class="desc docblock-short">Perform <code>left &amp; !right</code> operation on two arrays. If either left or right value is null
 then the result is also null.</div></li><li><div class="item-name"><a class="fn" href="fn.bitwise_and_scalar.html" title="fn arrow::compute::kernels::bitwise::bitwise_and_scalar">bitwise_and_scalar</a></div><div class="desc docblock-short">Perform bitwise <code>and</code> every value in an array with the scalar. If any value in the array is null then the
 result is also null.</div></li><li><div class="item-name"><a class="fn" href="fn.bitwise_not.html" title="fn arrow::compute::kernels::bitwise::bitwise_not">bitwise_not</a></div><div class="desc docblock-short">Perform <code>!array</code> operation on array. If array value is null
 then the result is also null.</div></li><li><div class="item-name"><a class="fn" href="fn.bitwise_or.html" title="fn arrow::compute::kernels::bitwise::bitwise_or">bitwise_or</a></div><div class="desc docblock-short">Perform <code>left | right</code> operation on two arrays. If either left or right value is null
diff --git a/arrow/compute/kernels/bitwise/sidebar-items.js b/arrow/compute/kernels/bitwise/sidebar-items.js
index 67409e92e2..ca11c8010f 100644
--- a/arrow/compute/kernels/bitwise/sidebar-items.js
+++ b/arrow/compute/kernels/bitwise/sidebar-items.js
@@ -1 +1 @@
-window.SIDEBAR_ITEMS = {"fn":["bitwise_and","bitwise_and_scalar","bitwise_not","bitwise_or","bitwise_or_scalar","bitwise_shift_left","bitwise_shift_left_scalar","bitwise_shift_right","bitwise_shift_right_scalar","bitwise_xor","bitwise_xor_scalar"]};
\ No newline at end of file
+window.SIDEBAR_ITEMS = {"fn":["bitwise_and","bitwise_and_not","bitwise_and_scalar","bitwise_not","bitwise_or","bitwise_or_scalar","bitwise_shift_left","bitwise_shift_left_scalar","bitwise_shift_right","bitwise_shift_right_scalar","bitwise_xor","bitwise_xor_scalar"]};
\ No newline at end of file
diff --git a/arrow/compute/kernels/boolean/fn.and_not.html b/arrow/compute/kernels/boolean/fn.and_not.html
new file mode 100644
index 0000000000..99e8a0929e
--- /dev/null
+++ b/arrow/compute/kernels/boolean/fn.and_not.html
@@ -0,0 +1,16 @@
+<!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="Performs `AND_NOT` operation on two arrays. If either left or right value is null then the result is also null."><title>and_not in arrow::compute::kernels::boolean - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../../static.files/SourceSerif4-Regula [...]
+    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../../arrow/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../../help.html" title="help">?</a>< [...]
+    left: &amp;<a class="struct" href="../../../array/struct.BooleanArray.html" title="struct arrow::array::BooleanArray">BooleanArray</a>,
+    right: &amp;<a class="struct" href="../../../array/struct.BooleanArray.html" title="struct arrow::array::BooleanArray">BooleanArray</a>
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../../../array/struct.BooleanArray.html" title="struct arrow::array::BooleanArray">BooleanArray</a>, <a class="enum" href="../../../error/enum.ArrowError.html" title="enum arrow::error::ArrowError">ArrowError</a>&gt;</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></sum [...]
+result is also null.</p>
+<h2 id="error"><a href="#error">Error</a></h2>
+<p>This function errors when the arrays have different lengths.</p>
+<h2 id="example"><a href="#example">Example</a></h2>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>a = BooleanArray::from(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="bool-val">false</span>), <span class="prelude-val">Some</span>(<span class="bool-val">true</span>), <span class="prelude-val">None</span>]);
+<span class="kw">let </span>b = BooleanArray::from(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="bool-val">true</span>), <span class="prelude-val">Some</span>(<span class="bool-val">true</span>), <span class="prelude-val">Some</span>(<span class="bool-val">false</span>)]);
+<span class="kw">let </span>andn_ab = and_not(<span class="kw-2">&amp;</span>a, <span class="kw-2">&amp;</span>b).unwrap();
+<span class="macro">assert_eq!</span>(andn_ab, BooleanArray::from(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="bool-val">false</span>), <span class="prelude-val">Some</span>(<span class="bool-val">false</span>), <span class="prelude-val">None</span>]));
+<span class="comment">// It's equal to and(left, not(right))
+</span><span class="macro">assert_eq!</span>(andn_ab, and(<span class="kw-2">&amp;</span>a, <span class="kw-2">&amp;</span>not(<span class="kw-2">&amp;</span>b).unwrap()).unwrap());</code></pre></div>
+</div></details></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/compute/kernels/boolean/fn.is_not_null.html b/arrow/compute/kernels/boolean/fn.is_not_null.html
index 36ae45b8fe..43e4d7c92c 100644
--- a/arrow/compute/kernels/boolean/fn.is_not_null.html
+++ b/arrow/compute/kernels/boolean/fn.is_not_null.html
@@ -1,5 +1,5 @@
 <!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="Returns a non-null BooleanArray with whether each value of the array is not null."><title>is_not_null in arrow::compute::kernels::boolean - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.wof [...]
-    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../../arrow/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../../help.html" title="help">?</a>< [...]
+    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../../arrow/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../../help.html" title="help">?</a>< [...]
 <h2 id="error"><a href="#error">Error</a></h2>
 <p>This function never errors.</p>
 <h2 id="example"><a href="#example">Example</a></h2>
diff --git a/arrow/compute/kernels/boolean/fn.is_null.html b/arrow/compute/kernels/boolean/fn.is_null.html
index 33ce0c3599..136979f341 100644
--- a/arrow/compute/kernels/boolean/fn.is_null.html
+++ b/arrow/compute/kernels/boolean/fn.is_null.html
@@ -1,5 +1,5 @@
 <!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="Returns a non-null BooleanArray with whether each value of the array is null."><title>is_null in arrow::compute::kernels::boolean - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><lin [...]
-    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../../arrow/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../../help.html" title="help">?</a>< [...]
+    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../../arrow/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../../help.html" title="help">?</a>< [...]
 <h2 id="error"><a href="#error">Error</a></h2>
 <p>This function never errors.</p>
 <h2 id="example"><a href="#example">Example</a></h2>
diff --git a/arrow/compute/kernels/boolean/fn.not.html b/arrow/compute/kernels/boolean/fn.not.html
index 57a26a2a69..a6cee555f7 100644
--- a/arrow/compute/kernels/boolean/fn.not.html
+++ b/arrow/compute/kernels/boolean/fn.not.html
@@ -1,5 +1,5 @@
 <!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="Performs unary `NOT` operation on an arrays. If value is null then the result is also null."><title>not in arrow::compute::kernels::boolean - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.w [...]
-    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../../arrow/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../../help.html" title="help">?</a>< [...]
+    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../../arrow/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../../help.html" title="help">?</a>< [...]
 null.</p>
 <h2 id="error"><a href="#error">Error</a></h2>
 <p>This function never errors. It returns an error for consistency.</p>
diff --git a/arrow/compute/kernels/boolean/index.html b/arrow/compute/kernels/boolean/index.html
index 0ca199aefd..d0358dbf97 100644
--- a/arrow/compute/kernels/boolean/index.html
+++ b/arrow/compute/kernels/boolean/index.html
@@ -5,6 +5,7 @@ detection is provided, you should enable the specific SIMD intrinsics using
 <code>RUSTFLAGS=&quot;-C target-feature=+avx2&quot;</code> for example.  See the documentation
 <a href="https://doc.rust-lang.org/stable/core/arch/">here</a> for more information.</p>
 </div></details><h2 id="functions" class="section-header"><a href="#functions">Functions</a></h2><ul class="item-table"><li><div class="item-name"><a class="fn" href="fn.and.html" title="fn arrow::compute::kernels::boolean::and">and</a></div><div class="desc docblock-short">Performs <code>AND</code> operation on two arrays. If either left or right value is null then the
-result is also null.</div></li><li><div class="item-name"><a class="fn" href="fn.and_kleene.html" title="fn arrow::compute::kernels::boolean::and_kleene">and_kleene</a></div><div class="desc docblock-short">Logical ‘and’ boolean values with Kleene logic</div></li><li><div class="item-name"><a class="fn" href="fn.is_not_null.html" title="fn arrow::compute::kernels::boolean::is_not_null">is_not_null</a></div><div class="desc docblock-short">Returns a non-null <a href="../../../array/struct [...]
+result is also null.</div></li><li><div class="item-name"><a class="fn" href="fn.and_kleene.html" title="fn arrow::compute::kernels::boolean::and_kleene">and_kleene</a></div><div class="desc docblock-short">Logical ‘and’ boolean values with Kleene logic</div></li><li><div class="item-name"><a class="fn" href="fn.and_not.html" title="fn arrow::compute::kernels::boolean::and_not">and_not</a></div><div class="desc docblock-short">Performs <code>AND_NOT</code> operation on two arrays. If eit [...]
+result is also null.</div></li><li><div class="item-name"><a class="fn" href="fn.is_not_null.html" title="fn arrow::compute::kernels::boolean::is_not_null">is_not_null</a></div><div class="desc docblock-short">Returns a non-null <a href="../../../array/struct.BooleanArray.html" title="struct arrow::array::BooleanArray">BooleanArray</a> with whether each value of the array is not null.</div></li><li><div class="item-name"><a class="fn" href="fn.is_null.html" title="fn arrow::compute::kern [...]
 null.</div></li><li><div class="item-name"><a class="fn" href="fn.or.html" title="fn arrow::compute::kernels::boolean::or">or</a></div><div class="desc docblock-short">Performs <code>OR</code> operation on two arrays. If either left or right value is null then the
 result is also null.</div></li><li><div class="item-name"><a class="fn" href="fn.or_kleene.html" title="fn arrow::compute::kernels::boolean::or_kleene">or_kleene</a></div><div class="desc docblock-short">Logical ‘or’ boolean values with Kleene logic</div></li></ul></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow/compute/kernels/boolean/sidebar-items.js b/arrow/compute/kernels/boolean/sidebar-items.js
index 9dee1a13d4..86fcf9a8fc 100644
--- a/arrow/compute/kernels/boolean/sidebar-items.js
+++ b/arrow/compute/kernels/boolean/sidebar-items.js
@@ -1 +1 @@
-window.SIDEBAR_ITEMS = {"fn":["and","and_kleene","is_not_null","is_null","not","or","or_kleene"]};
\ No newline at end of file
+window.SIDEBAR_ITEMS = {"fn":["and","and_kleene","and_not","is_not_null","is_null","not","or","or_kleene"]};
\ No newline at end of file
diff --git a/arrow/compute/sidebar-items.js b/arrow/compute/sidebar-items.js
index 2e9dfe47c9..490b88db17 100644
--- a/arrow/compute/sidebar-items.js
+++ b/arrow/compute/sidebar-items.js
@@ -1 +1 @@
-window.SIDEBAR_ITEMS = {"fn":["and","and_kleene","binary","binary_mut","bit_and","bit_or","bit_xor","bool_and","bool_or","build_filter","can_cast_types","cast","cast_with_options","concat","concat_batches","day","day_dyn","doy","doy_dyn","filter","filter_record_batch","hour","hour_dyn","interleave","is_not_null","is_null","lexicographical_partition_ranges","lexsort","lexsort_to_indices","max","max_array","max_binary","max_boolean","max_string","microsecond","microsecond_dyn","millisecond [...]
\ No newline at end of file
+window.SIDEBAR_ITEMS = {"fn":["and","and_kleene","and_not","binary","binary_mut","bit_and","bit_or","bit_xor","bool_and","bool_or","build_filter","can_cast_types","cast","cast_with_options","concat","concat_batches","day","day_dyn","doy","doy_dyn","filter","filter_record_batch","hour","hour_dyn","interleave","is_not_null","is_null","lexicographical_partition_ranges","lexsort","lexsort_to_indices","max","max_array","max_binary","max_boolean","max_string","microsecond","microsecond_dyn","m [...]
\ No newline at end of file
diff --git a/arrow_arith/all.html b/arrow_arith/all.html
index 6b68992f1c..8909f1607d 100644
--- a/arrow_arith/all.html
+++ b/arrow_arith/all.html
@@ -1,2 +1,2 @@
 <!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="List of all items in this crate"><title>List of all items in this crate</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.fi [...]
-    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../arrow_arith/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../help.html" title="help">?</a></div><div id [...]
\ No newline at end of file
+    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../arrow_arith/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../help.html" title="help">?</a></div><div id [...]
\ No newline at end of file
diff --git a/arrow_arith/bitwise/fn.bitwise_and_not.html b/arrow_arith/bitwise/fn.bitwise_and_not.html
new file mode 100644
index 0000000000..fc61d52572
--- /dev/null
+++ b/arrow_arith/bitwise/fn.bitwise_and_not.html
@@ -0,0 +1,9 @@
+<!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="Perform `left &amp; !right` operation on two arrays. If either left or right value is null then the result is also null."><title>bitwise_and_not in arrow_arith::bitwise - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular [...]
+    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_arith/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
+    left: &amp;PrimitiveArray&lt;T&gt;,
+    right: &amp;PrimitiveArray&lt;T&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;<div class="where">where
+    T: ArrowNumericType,
+    T::Native: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/bit/trait.BitAnd.html" title="trait core::ops::bit::BitAnd">BitAnd</a>&lt;Output = T::Native&gt; + <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/bit/trait.Not.html" title="trait core::ops::bit::Not">Not</a>&lt;Output = T::Native&gt;,</div></code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Perform <cod [...]
+then the result is also null.</p>
+</div></details></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_arith/bitwise/fn.bitwise_and_scalar.html b/arrow_arith/bitwise/fn.bitwise_and_scalar.html
index 45042ab744..c992cbfcf3 100644
--- a/arrow_arith/bitwise/fn.bitwise_and_scalar.html
+++ b/arrow_arith/bitwise/fn.bitwise_and_scalar.html
@@ -1,5 +1,5 @@
 <!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="Perform bitwise `and` every value in an array with the scalar. If any value in the array is null then the result is also null."><title>bitwise_and_scalar in arrow_arith::bitwise - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif [...]
-    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_arith/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
+    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_arith/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
     array: &amp;PrimitiveArray&lt;T&gt;,
     scalar: T::Native
 ) -&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;<div class="where">where
diff --git a/arrow_arith/bitwise/fn.bitwise_or_scalar.html b/arrow_arith/bitwise/fn.bitwise_or_scalar.html
index a7221ca593..b0585d6c8b 100644
--- a/arrow_arith/bitwise/fn.bitwise_or_scalar.html
+++ b/arrow_arith/bitwise/fn.bitwise_or_scalar.html
@@ -1,5 +1,5 @@
 <!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="Perform bitwise `or` every value in an array with the scalar. If any value in the array is null then the result is also null."><title>bitwise_or_scalar in arrow_arith::bitwise - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4- [...]
-    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_arith/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
+    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_arith/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
     array: &amp;PrimitiveArray&lt;T&gt;,
     scalar: T::Native
 ) -&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;<div class="where">where
diff --git a/arrow_arith/bitwise/fn.bitwise_shift_left_scalar.html b/arrow_arith/bitwise/fn.bitwise_shift_left_scalar.html
index 94aeb468af..948fd1b61a 100644
--- a/arrow_arith/bitwise/fn.bitwise_shift_left_scalar.html
+++ b/arrow_arith/bitwise/fn.bitwise_shift_left_scalar.html
@@ -1,5 +1,5 @@
 <!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="Perform bitwise `left &lt;&lt; right` every value in an array with the scalar. If any value in the array is null then the result is also null."><title>bitwise_shift_left_scalar in arrow_arith::bitwise - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../s [...]
-    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_arith/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
+    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_arith/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
     array: &amp;PrimitiveArray&lt;T&gt;,
     scalar: T::Native
 ) -&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;<div class="where">where
diff --git a/arrow_arith/bitwise/fn.bitwise_shift_right_scalar.html b/arrow_arith/bitwise/fn.bitwise_shift_right_scalar.html
index fe505e76c8..b32a996d90 100644
--- a/arrow_arith/bitwise/fn.bitwise_shift_right_scalar.html
+++ b/arrow_arith/bitwise/fn.bitwise_shift_right_scalar.html
@@ -1,5 +1,5 @@
 <!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="Perform bitwise `left &gt;&gt; right` every value in an array with the scalar. If any value in the array is null then the result is also null."><title>bitwise_shift_right_scalar in arrow_arith::bitwise - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../ [...]
-    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_arith/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
+    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_arith/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
     array: &amp;PrimitiveArray&lt;T&gt;,
     scalar: T::Native
 ) -&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;<div class="where">where
diff --git a/arrow_arith/bitwise/fn.bitwise_xor_scalar.html b/arrow_arith/bitwise/fn.bitwise_xor_scalar.html
index 6e6fc9ab4a..1f66f29b66 100644
--- a/arrow_arith/bitwise/fn.bitwise_xor_scalar.html
+++ b/arrow_arith/bitwise/fn.bitwise_xor_scalar.html
@@ -1,5 +1,5 @@
 <!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="Perform bitwise `xor` every value in an array with the scalar. If any value in the array is null then the result is also null."><title>bitwise_xor_scalar in arrow_arith::bitwise - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif [...]
-    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_arith/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
+    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_arith/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
     array: &amp;PrimitiveArray&lt;T&gt;,
     scalar: T::Native
 ) -&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;<div class="where">where
diff --git a/arrow_arith/bitwise/index.html b/arrow_arith/bitwise/index.html
index 5fd4e19dd6..5417ddecb5 100644
--- a/arrow_arith/bitwise/index.html
+++ b/arrow_arith/bitwise/index.html
@@ -1,5 +1,6 @@
 <!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 `bitwise` mod in crate `arrow_arith`."><title>arrow_arith::bitwise - 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 [...]
-    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_arith/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
+    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_arith/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
+then the result is also null.</div></li><li><div class="item-name"><a class="fn" href="fn.bitwise_and_not.html" title="fn arrow_arith::bitwise::bitwise_and_not">bitwise_and_not</a></div><div class="desc docblock-short">Perform <code>left &amp; !right</code> operation on two arrays. If either left or right value is null
 then the result is also null.</div></li><li><div class="item-name"><a class="fn" href="fn.bitwise_and_scalar.html" title="fn arrow_arith::bitwise::bitwise_and_scalar">bitwise_and_scalar</a></div><div class="desc docblock-short">Perform bitwise <code>and</code> every value in an array with the scalar. If any value in the array is null then the
 result is also null.</div></li><li><div class="item-name"><a class="fn" href="fn.bitwise_not.html" title="fn arrow_arith::bitwise::bitwise_not">bitwise_not</a></div><div class="desc docblock-short">Perform <code>!array</code> operation on array. If array value is null
 then the result is also null.</div></li><li><div class="item-name"><a class="fn" href="fn.bitwise_op.html" title="fn arrow_arith::bitwise::bitwise_op">bitwise_op</a><span title="Restricted Visibility">&nbsp;🔒</span> </div><div class="desc docblock-short">The helper function for bitwise operation with two array</div></li><li><div class="item-name"><a class="fn" href="fn.bitwise_or.html" title="fn arrow_arith::bitwise::bitwise_or">bitwise_or</a></div><div class="desc docblock-short">Perfor [...]
diff --git a/arrow_arith/bitwise/sidebar-items.js b/arrow_arith/bitwise/sidebar-items.js
index 0b29581475..813b322243 100644
--- a/arrow_arith/bitwise/sidebar-items.js
+++ b/arrow_arith/bitwise/sidebar-items.js
@@ -1 +1 @@
-window.SIDEBAR_ITEMS = {"fn":["bitwise_and","bitwise_and_scalar","bitwise_not","bitwise_op","bitwise_or","bitwise_or_scalar","bitwise_shift_left","bitwise_shift_left_scalar","bitwise_shift_right","bitwise_shift_right_scalar","bitwise_xor","bitwise_xor_scalar"]};
\ No newline at end of file
+window.SIDEBAR_ITEMS = {"fn":["bitwise_and","bitwise_and_not","bitwise_and_scalar","bitwise_not","bitwise_op","bitwise_or","bitwise_or_scalar","bitwise_shift_left","bitwise_shift_left_scalar","bitwise_shift_right","bitwise_shift_right_scalar","bitwise_xor","bitwise_xor_scalar"]};
\ No newline at end of file
diff --git a/arrow_arith/boolean/fn.and_not.html b/arrow_arith/boolean/fn.and_not.html
new file mode 100644
index 0000000000..dd3a6edace
--- /dev/null
+++ b/arrow_arith/boolean/fn.and_not.html
@@ -0,0 +1,16 @@
+<!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="Performs `AND_NOT` operation on two arrays. If either left or right value is null then the result is also null."><title>and_not in arrow_arith::boolean - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295 [...]
+    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_arith/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
+    left: &amp;BooleanArray,
+    right: &amp;BooleanArray
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;BooleanArray, ArrowError&gt;</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Performs <code>AND_NOT</code> operation on two arrays. If either left or right value is null then the
+result is also null.</p>
+<h2 id="error"><a href="#error">Error</a></h2>
+<p>This function errors when the arrays have different lengths.</p>
+<h2 id="example"><a href="#example">Example</a></h2>
+<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>a = BooleanArray::from(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="bool-val">false</span>), <span class="prelude-val">Some</span>(<span class="bool-val">true</span>), <span class="prelude-val">None</span>]);
+<span class="kw">let </span>b = BooleanArray::from(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="bool-val">true</span>), <span class="prelude-val">Some</span>(<span class="bool-val">true</span>), <span class="prelude-val">Some</span>(<span class="bool-val">false</span>)]);
+<span class="kw">let </span>andn_ab = and_not(<span class="kw-2">&amp;</span>a, <span class="kw-2">&amp;</span>b).unwrap();
+<span class="macro">assert_eq!</span>(andn_ab, BooleanArray::from(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="bool-val">false</span>), <span class="prelude-val">Some</span>(<span class="bool-val">false</span>), <span class="prelude-val">None</span>]));
+<span class="comment">// It's equal to and(left, not(right))
+</span><span class="macro">assert_eq!</span>(andn_ab, and(<span class="kw-2">&amp;</span>a, <span class="kw-2">&amp;</span>not(<span class="kw-2">&amp;</span>b).unwrap()).unwrap());</code></pre></div>
+</div></details></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_arith/boolean/fn.is_not_null.html b/arrow_arith/boolean/fn.is_not_null.html
index eece04681a..bf3382c10a 100644
--- a/arrow_arith/boolean/fn.is_not_null.html
+++ b/arrow_arith/boolean/fn.is_not_null.html
@@ -1,5 +1,5 @@
 <!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="Returns a non-null BooleanArray with whether each value of the array is not null."><title>is_not_null in arrow_arith::boolean - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="pre [...]
-    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_arith/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
+    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_arith/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
 <h2 id="error"><a href="#error">Error</a></h2>
 <p>This function never errors.</p>
 <h2 id="example"><a href="#example">Example</a></h2>
diff --git a/arrow_arith/boolean/fn.is_null.html b/arrow_arith/boolean/fn.is_null.html
index a2b9ad71b1..425a046397 100644
--- a/arrow_arith/boolean/fn.is_null.html
+++ b/arrow_arith/boolean/fn.is_null.html
@@ -1,5 +1,5 @@
 <!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="Returns a non-null BooleanArray with whether each value of the array is null."><title>is_null in arrow_arith::boolean - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as [...]
-    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_arith/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
+    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_arith/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
 <h2 id="error"><a href="#error">Error</a></h2>
 <p>This function never errors.</p>
 <h2 id="example"><a href="#example">Example</a></h2>
diff --git a/arrow_arith/boolean/fn.not.html b/arrow_arith/boolean/fn.not.html
index b56069d30d..f3d2967f01 100644
--- a/arrow_arith/boolean/fn.not.html
+++ b/arrow_arith/boolean/fn.not.html
@@ -1,5 +1,5 @@
 <!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="Performs unary `NOT` operation on an arrays. If value is null then the result is also null."><title>not in arrow_arith::boolean - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="p [...]
-    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_arith/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
+    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_arith/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
 null.</p>
 <h2 id="error"><a href="#error">Error</a></h2>
 <p>This function never errors. It returns an error for consistency.</p>
diff --git a/arrow_arith/boolean/index.html b/arrow_arith/boolean/index.html
index 6e2febf9be..cdea6b3ded 100644
--- a/arrow_arith/boolean/index.html
+++ b/arrow_arith/boolean/index.html
@@ -1,10 +1,11 @@
 <!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 boolean kernels on Arrow `BooleanArray`’s, e.g. `AND`, `OR` and `NOT`."><title>arrow_arith::boolean - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" ty [...]
-    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_arith/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
+    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_arith/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div>< [...]
 <p>These kernels can leverage SIMD if available on your system.  Currently no runtime
 detection is provided, you should enable the specific SIMD intrinsics using
 <code>RUSTFLAGS=&quot;-C target-feature=+avx2&quot;</code> for example.  See the documentation
 <a href="https://doc.rust-lang.org/stable/core/arch/">here</a> for more information.</p>
 </div></details><h2 id="functions" class="section-header"><a href="#functions">Functions</a></h2><ul class="item-table"><li><div class="item-name"><a class="fn" href="fn.and.html" title="fn arrow_arith::boolean::and">and</a></div><div class="desc docblock-short">Performs <code>AND</code> operation on two arrays. If either left or right value is null then the
-result is also null.</div></li><li><div class="item-name"><a class="fn" href="fn.and_kleene.html" title="fn arrow_arith::boolean::and_kleene">and_kleene</a></div><div class="desc docblock-short">Logical ‘and’ boolean values with Kleene logic</div></li><li><div class="item-name"><a class="fn" href="fn.binary_boolean_kernel.html" title="fn arrow_arith::boolean::binary_boolean_kernel">binary_boolean_kernel</a><span title="Restricted Visibility">&nbsp;🔒</span> </div><div class="desc docblock [...]
+result is also null.</div></li><li><div class="item-name"><a class="fn" href="fn.and_kleene.html" title="fn arrow_arith::boolean::and_kleene">and_kleene</a></div><div class="desc docblock-short">Logical ‘and’ boolean values with Kleene logic</div></li><li><div class="item-name"><a class="fn" href="fn.and_not.html" title="fn arrow_arith::boolean::and_not">and_not</a></div><div class="desc docblock-short">Performs <code>AND_NOT</code> operation on two arrays. If either left or right value  [...]
+result is also null.</div></li><li><div class="item-name"><a class="fn" href="fn.binary_boolean_kernel.html" title="fn arrow_arith::boolean::binary_boolean_kernel">binary_boolean_kernel</a><span title="Restricted Visibility">&nbsp;🔒</span> </div><div class="desc docblock-short">Helper function to implement binary kernels</div></li><li><div class="item-name"><a class="fn" href="fn.is_not_null.html" title="fn arrow_arith::boolean::is_not_null">is_not_null</a></div><div class="desc docblock [...]
 null.</div></li><li><div class="item-name"><a class="fn" href="fn.or.html" title="fn arrow_arith::boolean::or">or</a></div><div class="desc docblock-short">Performs <code>OR</code> operation on two arrays. If either left or right value is null then the
 result is also null.</div></li><li><div class="item-name"><a class="fn" href="fn.or_kleene.html" title="fn arrow_arith::boolean::or_kleene">or_kleene</a></div><div class="desc docblock-short">Logical ‘or’ boolean values with Kleene logic</div></li></ul></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_arith/boolean/sidebar-items.js b/arrow_arith/boolean/sidebar-items.js
index 1fc5746502..0ab6f9ba0b 100644
--- a/arrow_arith/boolean/sidebar-items.js
+++ b/arrow_arith/boolean/sidebar-items.js
@@ -1 +1 @@
-window.SIDEBAR_ITEMS = {"fn":["and","and_kleene","binary_boolean_kernel","is_not_null","is_null","not","or","or_kleene"]};
\ No newline at end of file
+window.SIDEBAR_ITEMS = {"fn":["and","and_kleene","and_not","binary_boolean_kernel","is_not_null","is_null","not","or","or_kleene"]};
\ No newline at end of file
diff --git a/arrow_buffer/all.html b/arrow_buffer/all.html
index 419d49d4f4..1b3905a316 100644
--- a/arrow_buffer/all.html
+++ b/arrow_buffer/all.html
@@ -1,2 +1,2 @@
 <!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="List of all items in this crate"><title>List of all items in this crate</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.fi [...]
-    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../arrow_buffer/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../help.html" title="help">?</a></div><div i [...]
\ No newline at end of file
+    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../arrow_buffer/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../help.html" title="help">?</a></div><div i [...]
\ No newline at end of file
diff --git a/arrow_buffer/buffer/fn.buffer_bin_and_not.html b/arrow_buffer/buffer/fn.buffer_bin_and_not.html
new file mode 100644
index 0000000000..98fdb1d9b8
--- /dev/null
+++ b/arrow_buffer/buffer/fn.buffer_bin_and_not.html
@@ -0,0 +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="Apply a bitwise and_not to two inputs and return the result as a Buffer. The inputs are treated as bitmaps, meaning that offsets and length are specified in number of bits."><title>buffer_bin_and_not in arrow_buffer::buffer - Rust</title><link rel="preload" as="font" type="font/woff2" cr [...]
+    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_buffer/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div> [...]
+    left: &amp;<a class="struct" href="immutable/struct.Buffer.html" title="struct arrow_buffer::buffer::immutable::Buffer">Buffer</a>,
+    left_offset_in_bits: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
+    right: &amp;<a class="struct" href="immutable/struct.Buffer.html" title="struct arrow_buffer::buffer::immutable::Buffer">Buffer</a>,
+    right_offset_in_bits: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
+    len_in_bits: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>
+) -&gt; <a class="struct" href="immutable/struct.Buffer.html" title="struct arrow_buffer::buffer::immutable::Buffer">Buffer</a></code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Apply a bitwise and_not to two inputs and return the result as a Buffer.
+The inputs are treated as bitmaps, meaning that offsets and length are specified in number of bits.</p>
+</div></details></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_buffer/buffer/fn.buffer_unary_not.html b/arrow_buffer/buffer/fn.buffer_unary_not.html
index debb859379..11d0256e49 100644
--- a/arrow_buffer/buffer/fn.buffer_unary_not.html
+++ b/arrow_buffer/buffer/fn.buffer_unary_not.html
@@ -1,5 +1,5 @@
 <!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="Apply a bitwise not to one input and return the result as a Buffer. The input is treated as a bitmap, meaning that offset and length are specified in number of bits."><title>buffer_unary_not in arrow_buffer::buffer - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin [...]
-    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_buffer/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div> [...]
+    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../arrow_buffer/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../help.html" title="help">?</a></div> [...]
     left: &amp;<a class="struct" href="immutable/struct.Buffer.html" title="struct arrow_buffer::buffer::immutable::Buffer">Buffer</a>,
     offset_in_bits: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
     len_in_bits: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>
diff --git a/arrow_buffer/buffer/index.html b/arrow_buffer/buffer/index.html
index c252777f86..65c7f0047d 100644
--- a/arrow_buffer/buffer/index.html
+++ b/arrow_buffer/buffer/index.html
@@ -5,6 +5,7 @@ thread boundaries.</div></li><li><div class="item-name"><a class="struct" href="
 The inputs are treated as bitmaps, meaning that offsets and length are specified in number of bits.</div></li><li><div class="item-name"><a class="fn" href="fn.bitwise_quaternary_op_helper.html" title="fn arrow_buffer::buffer::bitwise_quaternary_op_helper">bitwise_quaternary_op_helper</a></div><div class="desc docblock-short">Apply a bitwise operation <code>op</code> to four inputs and return the result as a Buffer.
 The inputs are treated as bitmaps, meaning that offsets and length are specified in number of bits.</div></li><li><div class="item-name"><a class="fn" href="fn.bitwise_unary_op_helper.html" title="fn arrow_buffer::buffer::bitwise_unary_op_helper">bitwise_unary_op_helper</a></div><div class="desc docblock-short">Apply a bitwise operation <code>op</code> to one input and return the result as a Buffer.
 The input is treated as a bitmap, meaning that offset and length are specified in number of bits.</div></li><li><div class="item-name"><a class="fn" href="fn.buffer_bin_and.html" title="fn arrow_buffer::buffer::buffer_bin_and">buffer_bin_and</a></div><div class="desc docblock-short">Apply a bitwise and to two inputs and return the result as a Buffer.
+The inputs are treated as bitmaps, meaning that offsets and length are specified in number of bits.</div></li><li><div class="item-name"><a class="fn" href="fn.buffer_bin_and_not.html" title="fn arrow_buffer::buffer::buffer_bin_and_not">buffer_bin_and_not</a></div><div class="desc docblock-short">Apply a bitwise and_not to two inputs and return the result as a Buffer.
 The inputs are treated as bitmaps, meaning that offsets and length are specified in number of bits.</div></li><li><div class="item-name"><a class="fn" href="fn.buffer_bin_or.html" title="fn arrow_buffer::buffer::buffer_bin_or">buffer_bin_or</a></div><div class="desc docblock-short">Apply a bitwise or to two inputs and return the result as a Buffer.
 The inputs are treated as bitmaps, meaning that offsets and length are specified in number of bits.</div></li><li><div class="item-name"><a class="fn" href="fn.buffer_bin_xor.html" title="fn arrow_buffer::buffer::buffer_bin_xor">buffer_bin_xor</a></div><div class="desc docblock-short">Apply a bitwise xor to two inputs and return the result as a Buffer.
 The inputs are treated as bitmaps, meaning that offsets and length are specified in number of bits.</div></li><li><div class="item-name"><a class="fn" href="fn.buffer_unary_not.html" title="fn arrow_buffer::buffer::buffer_unary_not">buffer_unary_not</a></div><div class="desc docblock-short">Apply a bitwise not to one input and return the result as a Buffer.
diff --git a/arrow_buffer/buffer/ops/fn.buffer_bin_and_not.html b/arrow_buffer/buffer/ops/fn.buffer_bin_and_not.html
new file mode 100644
index 0000000000..8972791bbc
--- /dev/null
+++ b/arrow_buffer/buffer/ops/fn.buffer_bin_and_not.html
@@ -0,0 +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="Apply a bitwise and_not to two inputs and return the result as a Buffer. The inputs are treated as bitmaps, meaning that offsets and length are specified in number of bits."><title>buffer_bin_and_not in arrow_buffer::buffer::ops - Rust</title><link rel="preload" as="font" type="font/woff [...]
+    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../arrow_buffer/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../help.html" title="help">?</a> [...]
+    left: &amp;<a class="struct" href="../immutable/struct.Buffer.html" title="struct arrow_buffer::buffer::immutable::Buffer">Buffer</a>,
+    left_offset_in_bits: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
+    right: &amp;<a class="struct" href="../immutable/struct.Buffer.html" title="struct arrow_buffer::buffer::immutable::Buffer">Buffer</a>,
+    right_offset_in_bits: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
+    len_in_bits: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>
+) -&gt; <a class="struct" href="../immutable/struct.Buffer.html" title="struct arrow_buffer::buffer::immutable::Buffer">Buffer</a></code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Apply a bitwise and_not to two inputs and return the result as a Buffer.
+The inputs are treated as bitmaps, meaning that offsets and length are specified in number of bits.</p>
+</div></details></section></div></main></body></html>
\ No newline at end of file
diff --git a/arrow_buffer/buffer/ops/fn.buffer_unary_not.html b/arrow_buffer/buffer/ops/fn.buffer_unary_not.html
index 67b6b55003..26f7dc27e1 100644
--- a/arrow_buffer/buffer/ops/fn.buffer_unary_not.html
+++ b/arrow_buffer/buffer/ops/fn.buffer_unary_not.html
@@ -1,5 +1,5 @@
 <!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="Apply a bitwise not to one input and return the result as a Buffer. The input is treated as a bitmap, meaning that offset and length are specified in number of bits."><title>buffer_unary_not in arrow_buffer::buffer::ops - Rust</title><link rel="preload" as="font" type="font/woff2" crosso [...]
-    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../arrow_buffer/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../help.html" title="help">?</a> [...]
+    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../arrow_buffer/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../help.html" title="help">?</a> [...]
     left: &amp;<a class="struct" href="../immutable/struct.Buffer.html" title="struct arrow_buffer::buffer::immutable::Buffer">Buffer</a>,
     offset_in_bits: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>,
     len_in_bits: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a>
diff --git a/arrow_buffer/buffer/ops/index.html b/arrow_buffer/buffer/ops/index.html
index 028fd7fa1c..6250f40363 100644
--- a/arrow_buffer/buffer/ops/index.html
+++ b/arrow_buffer/buffer/ops/index.html
@@ -1,8 +1,9 @@
 <!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 `ops` mod in crate `arrow_buffer`."><title>arrow_buffer::buffer::ops - 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="f [...]
-    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../arrow_buffer/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../help.html" title="help">?</a> [...]
+    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="../../../arrow_buffer/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="../../../help.html" title="help">?</a> [...]
 The inputs are treated as bitmaps, meaning that offsets and length are specified in number of bits.</div></li><li><div class="item-name"><a class="fn" href="fn.bitwise_quaternary_op_helper.html" title="fn arrow_buffer::buffer::ops::bitwise_quaternary_op_helper">bitwise_quaternary_op_helper</a></div><div class="desc docblock-short">Apply a bitwise operation <code>op</code> to four inputs and return the result as a Buffer.
 The inputs are treated as bitmaps, meaning that offsets and length are specified in number of bits.</div></li><li><div class="item-name"><a class="fn" href="fn.bitwise_unary_op_helper.html" title="fn arrow_buffer::buffer::ops::bitwise_unary_op_helper">bitwise_unary_op_helper</a></div><div class="desc docblock-short">Apply a bitwise operation <code>op</code> to one input and return the result as a Buffer.
 The input is treated as a bitmap, meaning that offset and length are specified in number of bits.</div></li><li><div class="item-name"><a class="fn" href="fn.buffer_bin_and.html" title="fn arrow_buffer::buffer::ops::buffer_bin_and">buffer_bin_and</a></div><div class="desc docblock-short">Apply a bitwise and to two inputs and return the result as a Buffer.
+The inputs are treated as bitmaps, meaning that offsets and length are specified in number of bits.</div></li><li><div class="item-name"><a class="fn" href="fn.buffer_bin_and_not.html" title="fn arrow_buffer::buffer::ops::buffer_bin_and_not">buffer_bin_and_not</a></div><div class="desc docblock-short">Apply a bitwise and_not to two inputs and return the result as a Buffer.
 The inputs are treated as bitmaps, meaning that offsets and length are specified in number of bits.</div></li><li><div class="item-name"><a class="fn" href="fn.buffer_bin_or.html" title="fn arrow_buffer::buffer::ops::buffer_bin_or">buffer_bin_or</a></div><div class="desc docblock-short">Apply a bitwise or to two inputs and return the result as a Buffer.
 The inputs are treated as bitmaps, meaning that offsets and length are specified in number of bits.</div></li><li><div class="item-name"><a class="fn" href="fn.buffer_bin_xor.html" title="fn arrow_buffer::buffer::ops::buffer_bin_xor">buffer_bin_xor</a></div><div class="desc docblock-short">Apply a bitwise xor to two inputs and return the result as a Buffer.
 The inputs are treated as bitmaps, meaning that offsets and length are specified in number of bits.</div></li><li><div class="item-name"><a class="fn" href="fn.buffer_unary_not.html" title="fn arrow_buffer::buffer::ops::buffer_unary_not">buffer_unary_not</a></div><div class="desc docblock-short">Apply a bitwise not to one input and return the result as a Buffer.
diff --git a/arrow_buffer/buffer/ops/sidebar-items.js b/arrow_buffer/buffer/ops/sidebar-items.js
index 429911b2f8..e870ba62a4 100644
--- a/arrow_buffer/buffer/ops/sidebar-items.js
+++ b/arrow_buffer/buffer/ops/sidebar-items.js
@@ -1 +1 @@
-window.SIDEBAR_ITEMS = {"fn":["bitwise_bin_op_helper","bitwise_quaternary_op_helper","bitwise_unary_op_helper","buffer_bin_and","buffer_bin_or","buffer_bin_xor","buffer_unary_not"]};
\ No newline at end of file
+window.SIDEBAR_ITEMS = {"fn":["bitwise_bin_op_helper","bitwise_quaternary_op_helper","bitwise_unary_op_helper","buffer_bin_and","buffer_bin_and_not","buffer_bin_or","buffer_bin_xor","buffer_unary_not"]};
\ No newline at end of file
diff --git a/arrow_buffer/buffer/sidebar-items.js b/arrow_buffer/buffer/sidebar-items.js
index b8cc211818..f12e7ce467 100644
--- a/arrow_buffer/buffer/sidebar-items.js
+++ b/arrow_buffer/buffer/sidebar-items.js
@@ -1 +1 @@
-window.SIDEBAR_ITEMS = {"fn":["bitwise_bin_op_helper","bitwise_quaternary_op_helper","bitwise_unary_op_helper","buffer_bin_and","buffer_bin_or","buffer_bin_xor","buffer_unary_not"],"mod":["boolean","immutable","mutable","null","offset","ops","run","scalar"],"struct":["BooleanBuffer","Buffer","MutableBuffer","NullBuffer","OffsetBuffer","RunEndBuffer","ScalarBuffer"]};
\ No newline at end of file
+window.SIDEBAR_ITEMS = {"fn":["bitwise_bin_op_helper","bitwise_quaternary_op_helper","bitwise_unary_op_helper","buffer_bin_and","buffer_bin_and_not","buffer_bin_or","buffer_bin_xor","buffer_unary_not"],"mod":["boolean","immutable","mutable","null","offset","ops","run","scalar"],"struct":["BooleanBuffer","Buffer","MutableBuffer","NullBuffer","OffsetBuffer","RunEndBuffer","ScalarBuffer"]};
\ No newline at end of file
diff --git a/help.html b/help.html
index a4790277d6..581af822da 100644
--- a/help.html
+++ b/help.html
@@ -1,2 +1,2 @@
-<!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="Documentation for Rustdoc"><title>Help</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.files/FiraSans-Regular-018c141bf0843f [...]
-    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="./flight_sql_client/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="./help.html" title="help">?</a></div><di [...]
\ 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="Documentation for Rustdoc"><title>Help</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.files/FiraSans-Regular-018c141bf0843f [...]
+    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="./parquet_fromcsv/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="./help.html" title="help">?</a></div><div  [...]
\ No newline at end of file
diff --git a/index.html b/index.html
index 39339c3578..36f7daa4fb 100644
--- a/index.html
+++ b/index.html
@@ -1,2 +1,2 @@
-<!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="List of crates"><title>Index of crates</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.files/FiraSans-Regular-018c141bf0843f [...]
-    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="./flight_sql_client/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="./help.html" title="help">?</a></div><di [...]
\ 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="List of crates"><title>Index of crates</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.files/FiraSans-Regular-018c141bf0843f [...]
+    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="./parquet_fromcsv/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="./help.html" title="help">?</a></div><div  [...]
\ No newline at end of file
diff --git a/search-index.js b/search-index.js
index 889beb5f9e..ffa3f0fefc 100644
--- a/search-index.js
+++ b/search-index.js
@@ -1,9 +1,9 @@
 var searchIndex = new Map(JSON.parse('[\
-["arrow",{"doc":"A complete, safe, native Rust implementation of Apache …","t":"CCCCECQQCCCEECCECCCSKPKKPKKFFIFIKKKKPIIIIPFFFIFGGTTTFIIIIIIKIIIIIIPFIIIIIIIIIIIIIFFIFFIPIIIIIIIIIIIIFFFFFIFIIITIIIIIIIIIIIIIIIIIIIIIIIIIIIIRIIIIIIIIIIPIITTFIFFFRFFFTKTFFFIFFFFKKFFIIIIPFFIIIIIIIIIIIIIIIIIIIIIIIIFFIIIIIIIIIIIIIIIIFFPTOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONMNMNOOCOOOOOOOOOOMMNNNNNNNNNNNNNNNMNMNNNHMNNMNHNHMNNMNNHMNHHHHNHMNNHMNHNHMNHNHNNHMNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOO [...]
-["arrow_arith",{"doc":"Arrow arithmetic and aggregation kernels","t":"CCCCCCFFKSSFMNNNMNNNHHHHHHHQHHHHNNNNNNNNNNNNNNNMNNNNNNNNNHOHHHHMNNNHOHHHHHHHHHOHHHNNNNNNNNNNNNHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHPPKPRKPPGPPPKHMMMMMHMMHNNNNNQHHHHHNNNHHNHHHQHQQQHHMMMMMHMMQHNNNNQQNKHHHHHHHHHHHHHHHHHHHHMHHMHHMMHQHHHHHHHHH","n":["aggregate","arity","bitwise","boolean","numeric","temporal","MaxAccumulator","MinAccumulator","NumericAccumulator","PREFERRED_VECTOR_SIZE","PREFERRED_VECTOR_SIZE_NON_NULL","SumAcc [...]
+["arrow",{"doc":"A complete, safe, native Rust implementation of Apache …","t":"CCCCECQQCCCEECCECCCSKPKKPKKFFIFIKKKKPIIIIPFFFIFGGTTTFIIIIIIKIIIIIIPFIIIIIIIIIIIIIFFIFFIPIIIIIIIIIIIIFFFFFIFIIITIIIIIIIIIIIIIIIIIIIIIIIIIIIIRIIIIIIIIIIPIITTFIFFFRFFFTKTFFFIFFFFKKFFIIIIPFFIIIIIIIIIIIIIIIIIIIIIIIIFFIIIIIIIIIIIIIIIIFFPTOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONMNMNOOCOOOOOOOOOOMMNNNNNNNNNNNNNNNMNMNNNHMNNMNHNHMNNMNNHMNHHHHNHMNNHMNHNHMNHNHNNHMNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOO [...]
+["arrow_arith",{"doc":"Arrow arithmetic and aggregation kernels","t":"CCCCCCFFKSSFMNNNMNNNHHHHHHHQHHHHNNNNNNNNNNNNNNNMNNNNNNNNNHOHHHHMNNNHOHHHHHHHHHOHHHNNNNNNNNNNNNHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHPPKPRKPPGPPPKHMMMMMHMMHNNNNNQHHHHHNNNHHNHHHQHQQQHHMMMMMHMMQHNNNNQQNKHHHHHHHHHHHHHHHHHHHHMHHMHHMMHQHHHHHHHHH","n":["aggregate","arity","bitwise","boolean","numeric","temporal","MaxAccumulator","MinAccumulator","NumericAccumulator","PREFERRED_VECTOR_SIZE","PREFERRED_VECTOR_SIZE_NON_NULL","SumA [...]
 ["arrow_array",{"doc":"The central type in Apache Arrow are arrays, which are a …","t":"KKKTTTFFFKKFTMMCCCCMOMCMMQQQQQQQQMOOMMCOMMMMMMCMMCOOCCMOMMCCCCMKTTTTMMMMMMNNNNNNNNNNMMMMMQQMMMMMMKKKIEIFIIIIFIIIIFFIIIIFFITIIIIIIIIIIIIIIRIIIIFFFKTFFIFIIIIIIIIFFIIIIIIIIFOMNNNNNNNNNNNNNNNNNNNNNCCCMNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOCONNOOCCNNMNMNHMNMNNNNNOOOOOOOOONNMOOOOOOOOOMNOOOOCNNHCOHHMCNNMNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOMNOOCHOCOOOOOMNCCMNOCMOOOOOOOOOOOOOO [...]
 ["arrow_avro",{"doc":"Convert data to / from the Apache Arrow memory format and …","t":"CCCCFFPPGPPPPPPPPPPPGFPPPPPPNNNNNNNNNNNNNNNNNNNONONNNNNNNNNNNNNNNNNNNHOOOONNNNNNNNNNNNNNNNNNNNNNPSGPPPPPNNNNNNNNNNNNNCCHHCFFGPPPPPNNNNNNOOONNNNNNNNNNONNNOONNNNNNNNNOPPPFFGPPSPPPPNNNNNNONNNNNNNNNNNNNNNOOOONONOONNNNNNNONNNOFNNNNNONNONNNFPFPPPGPFPFFPPPPFPPPGFPPSGPFPGPPOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNOOONNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOONNN [...]
-["arrow_buffer",{"doc":"Low-level buffer abstractions for Apache Arrow Rust","t":"KKCMCCCCCCCCMOFOCMMMMCSKPGPCNNNNNNNNSGPPTTTTFTNNNNNNNNNNNNNNNNNNNNNNNNNNNNQQCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOFNNNNNONNNNHNHNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFHHHNNNNHHHHNHHHNHHNNNFFFIOOOOOOOOOOOOOOOFFFOOOOOOOOOOHHHHHHHHHHHFFFFFFFHHHCOOOHHHHOOCOOOOOCCOCOOCOOCOCFNNNNNNONNNNNNNNNNNNNNNNNNNONNNNNONNNNNNNNNNNNFNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNFFNNNNNNNNNNNHONNNNNNNNNNNNNNNNNNNNNNNNNNONOOONNNN [...]
+["arrow_buffer",{"doc":"Low-level buffer abstractions for Apache Arrow Rust","t":"KKCMCCCCCCCCMOFOCMMMMCSKPGPCNNNNNNNNSGPPTTTTFTNNNNNNNNNNNNNNNNNNNNNNNNNNNNQQCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOFNNNNNONNNNHNHNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFHHHNNNNHHHHNHHHNHHNNNFFFIOOOOOOOOOOOOOOOFFFOOOOOOOOOOHHHHHHHHHHHFFFFFFFHHHCOOOHHHHHOOCOOOOOCCOCOOCOOCOCFNNNNNNONNNNNNNNNNNNNNNNNNNONNNNNONNNNNNNNNNNNFNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNFFNNNNNNNNNNNHONNNNNNNNNNNNNNNNNNNNNNNNNNONOOONNN [...]
 ["arrow_cast",{"doc":"Cast kernel for Apache Arrow","t":"CCCCCSSSSRRKHHMNNNNNNNFKHHHNNHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHNNHHNHNNNNONMNNHHHHHHHOHHMMNNNHNHHFFPKKGPIPGFIPPPPPRIFOHHNNNNNNNNNNNNNNNNHOOQNQQONNNNNNNNNOONNNNNNNNNNONNNNNNHHNOOMQOOOQOQOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNHHPPPSSPSFFFGPPPPISSSSPKPFPPNNNNNNNNNNNNNNNNONOONNNNONNNNNNNONNNNNOOONNNMNHHNHHHHHQHHHHNNNNNNHNNNNNNNNNNNNNNNNHHHHHHHH","n":["base64","cast","display","parse","pretty","BASE64_STANDARD","BASE64_STANDARD_NO_PA [...]
 ["arrow_csv",{"doc":"Transfer data between the Arrow memory format and CSV …","t":"EEEEEHCCIFFFFPFFIFPOOONNNNNNNNNNNNNNONHNHNNHNHHNNNNNNNNOONNNONOONNNNNNONNNNNNNNOHHNHNNNNNNNNNONNOOOHHOOONOOOCNNNOOONNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNSSFFFNNNNNNNNNOOOOONONNNNNNNNNNNNNNNNONOOOOOOOONNNNNNNNNNSFFONNNNNNNNNOONOONNONONONNNNOONNNNNNNOONONOONOOOONNNNNNNNNNNNNNNNNNNNO","n":["Reader","ReaderBuilder","Writer","WriterBuilder","infer_schema_from_files","map_csv_error","reader","writer","Bounds [...]
 ["arrow_data",{"doc":"Low-level array data abstractions for Apache Arrow Rust","t":"PFFIPGFPPOCCOOOOOOCOOCCCHOOOOOOOOOOCOOFFFNNNNNNOOOOOOONNNNNNNNNNNOOONNNNNNNHNNNNNNNNNHPFFIPGFPPNNNONNNNNNNNNNNOOONNNNNONNNNOONNHHNNOONNNNNNNNNNNNNNNNNNNNNHNNNNHNNOONNHNNNNNNONNONNOONNOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOSSSSSSSSSHHCCHHHCCCCCCCCCCHHHHHHHSHHHHHHHHHHHHHFFHNNNNNOOONOONOONNNNNNNNNNNOOONNONNNOOOHNNNNNNPPGPIIIPFPFOCNNNNNNOOHHHHONNOOONONOOCCNNNNNNNNNNNNNNOCNCNONOHCCNNNNNNNNNNCCCNHHHHHHHHHHHHHHHHHH [...]
diff --git a/settings.html b/settings.html
index a0f768d268..3be4ef70f9 100644
--- a/settings.html
+++ b/settings.html
@@ -1,2 +1,2 @@
-<!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="Settings of Rustdoc"><title>Settings</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.files/FiraSans-Regular-018c141bf0843ffd [...]
-    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="./flight_sql_client/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="./help.html" title="help">?</a></div><di [...]
\ 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="Settings of Rustdoc"><title>Settings</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.files/FiraSans-Regular-018c141bf0843ffd [...]
+    <main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><div id="sidebar-button" tabindex="-1"><a href="./parquet_fromcsv/all.html" title="show sidebar"></a></div><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" tabindex="-1"><a href="./help.html" title="help">?</a></div><div  [...]
\ No newline at end of file
diff --git a/src/arrow_arith/bitwise.rs.html b/src/arrow_arith/bitwise.rs.html
index 16cfbf3b85..f0f8c22b25 100644
--- a/src/arrow_arith/bitwise.rs.html
+++ b/src/arrow_arith/bitwise.rs.html
@@ -351,6 +351,45 @@
 <a href="#349" id="349">349</a>
 <a href="#350" id="350">350</a>
 <a href="#351" id="351">351</a>
+<a href="#352" id="352">352</a>
+<a href="#353" id="353">353</a>
+<a href="#354" id="354">354</a>
+<a href="#355" id="355">355</a>
+<a href="#356" id="356">356</a>
+<a href="#357" id="357">357</a>
+<a href="#358" id="358">358</a>
+<a href="#359" id="359">359</a>
+<a href="#360" id="360">360</a>
+<a href="#361" id="361">361</a>
+<a href="#362" id="362">362</a>
+<a href="#363" id="363">363</a>
+<a href="#364" id="364">364</a>
+<a href="#365" id="365">365</a>
+<a href="#366" id="366">366</a>
+<a href="#367" id="367">367</a>
+<a href="#368" id="368">368</a>
+<a href="#369" id="369">369</a>
+<a href="#370" id="370">370</a>
+<a href="#371" id="371">371</a>
+<a href="#372" id="372">372</a>
+<a href="#373" id="373">373</a>
+<a href="#374" id="374">374</a>
+<a href="#375" id="375">375</a>
+<a href="#376" id="376">376</a>
+<a href="#377" id="377">377</a>
+<a href="#378" id="378">378</a>
+<a href="#379" id="379">379</a>
+<a href="#380" id="380">380</a>
+<a href="#381" id="381">381</a>
+<a href="#382" id="382">382</a>
+<a href="#383" id="383">383</a>
+<a href="#384" id="384">384</a>
+<a href="#385" id="385">385</a>
+<a href="#386" id="386">386</a>
+<a href="#387" id="387">387</a>
+<a href="#388" id="388">388</a>
+<a href="#389" id="389">389</a>
+<a href="#390" id="390">390</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
@@ -469,6 +508,20 @@
     <span class="prelude-val">Ok</span>(unary(array, |value| !value))
 }
 
+<span class="doccomment">/// Perform `left &amp; !right` operation on two arrays. If either left or right value is null
+/// then the result is also null.
+</span><span class="kw">pub fn </span>bitwise_and_not&lt;T&gt;(
+    left: <span class="kw-2">&amp;</span>PrimitiveArray&lt;T&gt;,
+    right: <span class="kw-2">&amp;</span>PrimitiveArray&lt;T&gt;,
+) -&gt; <span class="prelude-ty">Result</span>&lt;PrimitiveArray&lt;T&gt;, ArrowError&gt;
+<span class="kw">where
+    </span>T: ArrowNumericType,
+    T::Native: BitAnd&lt;Output = T::Native&gt;,
+    T::Native: Not&lt;Output = T::Native&gt;,
+{
+    bitwise_op(left, right, |a, b| a &amp; !b)
+}
+
 <span class="doccomment">/// Perform bitwise `and` every value in an array with the scalar. If any value in the array is null then the
 /// result is also null.
 </span><span class="kw">pub fn </span>bitwise_and_scalar&lt;T&gt;(
@@ -651,6 +704,31 @@
         <span class="macro">assert_eq!</span>(expected, result);
     }
 
+    <span class="attr">#[test]
+    </span><span class="kw">fn </span>test_bitwise_and_not_array() {
+        <span class="comment">// unsigned value
+        </span><span class="kw">let </span>left = UInt64Array::from(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="number">8</span>), <span class="prelude-val">Some</span>(<span class="number">2</span>), <span class="prelude-val">None</span>, <span class="prelude-val">Some</span>(<span class="number">4</span>)]);
+        <span class="kw">let </span>right = UInt64Array::from(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="number">7</span>), <span class="prelude-val">Some</span>(<span class="number">5</span>), <span class="prelude-val">Some</span>(<span class="number">8</span>), <span class="prelude-val">Some</span>(<span class="number">13</span>)]);
+        <span class="kw">let </span>expected = UInt64Array::from(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="number">8</span>), <span class="prelude-val">Some</span>(<span class="number">2</span>), <span class="prelude-val">None</span>, <span class="prelude-val">Some</span>(<span class="number">0</span>)]);
+        <span class="kw">let </span>result = bitwise_and_not(<span class="kw-2">&amp;</span>left, <span class="kw-2">&amp;</span>right).unwrap();
+        <span class="macro">assert_eq!</span>(expected, result);
+        <span class="macro">assert_eq!</span>(
+            bitwise_and(<span class="kw-2">&amp;</span>left, <span class="kw-2">&amp;</span>bitwise_not(<span class="kw-2">&amp;</span>right).unwrap()).unwrap(),
+            result
+        );
+
+        <span class="comment">// signed value
+        </span><span class="kw">let </span>left = Int32Array::from(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="number">2</span>), <span class="prelude-val">Some</span>(<span class="number">1</span>), <span class="prelude-val">None</span>, <span class="prelude-val">Some</span>(<span class="number">3</span>)]);
+        <span class="kw">let </span>right = Int32Array::from(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(-<span class="number">7</span>), <span class="prelude-val">Some</span>(-<span class="number">5</span>), <span class="prelude-val">Some</span>(<span class="number">8</span>), <span class="prelude-val">Some</span>(<span class="number">13</span>)]);
+        <span class="kw">let </span>expected = Int32Array::from(<span class="macro">vec!</span>[<span class="prelude-val">Some</span>(<span class="number">2</span>), <span class="prelude-val">Some</span>(<span class="number">0</span>), <span class="prelude-val">None</span>, <span class="prelude-val">Some</span>(<span class="number">2</span>)]);
+        <span class="kw">let </span>result = bitwise_and_not(<span class="kw-2">&amp;</span>left, <span class="kw-2">&amp;</span>right).unwrap();
+        <span class="macro">assert_eq!</span>(expected, result);
+        <span class="macro">assert_eq!</span>(
+            bitwise_and(<span class="kw-2">&amp;</span>left, <span class="kw-2">&amp;</span>bitwise_not(<span class="kw-2">&amp;</span>right).unwrap()).unwrap(),
+            result
+        );
+    }
+
     <span class="attr">#[test]
     </span><span class="kw">fn </span>test_bitwise_or_array_scalar() {
         <span class="comment">// unsigned value
diff --git a/src/arrow_arith/boolean.rs.html b/src/arrow_arith/boolean.rs.html
index 707f06b143..5a2399a23e 100644
--- a/src/arrow_arith/boolean.rs.html
+++ b/src/arrow_arith/boolean.rs.html
@@ -881,6 +881,39 @@
 <a href="#879" id="879">879</a>
 <a href="#880" id="880">880</a>
 <a href="#881" id="881">881</a>
+<a href="#882" id="882">882</a>
+<a href="#883" id="883">883</a>
+<a href="#884" id="884">884</a>
+<a href="#885" id="885">885</a>
+<a href="#886" id="886">886</a>
+<a href="#887" id="887">887</a>
+<a href="#888" id="888">888</a>
+<a href="#889" id="889">889</a>
+<a href="#890" id="890">890</a>
+<a href="#891" id="891">891</a>
+<a href="#892" id="892">892</a>
+<a href="#893" id="893">893</a>
+<a href="#894" id="894">894</a>
+<a href="#895" id="895">895</a>
+<a href="#896" id="896">896</a>
+<a href="#897" id="897">897</a>
+<a href="#898" id="898">898</a>
+<a href="#899" id="899">899</a>
+<a href="#900" id="900">900</a>
+<a href="#901" id="901">901</a>
+<a href="#902" id="902">902</a>
+<a href="#903" id="903">903</a>
+<a href="#904" id="904">904</a>
+<a href="#905" id="905">905</a>
+<a href="#906" id="906">906</a>
+<a href="#907" id="907">907</a>
+<a href="#908" id="908">908</a>
+<a href="#909" id="909">909</a>
+<a href="#910" id="910">910</a>
+<a href="#911" id="911">911</a>
+<a href="#912" id="912">912</a>
+<a href="#913" id="913">913</a>
+<a href="#914" id="914">914</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
@@ -907,7 +940,7 @@
 
 </span><span class="kw">use </span>arrow_array::<span class="kw-2">*</span>;
 <span class="kw">use </span>arrow_buffer::buffer::{bitwise_bin_op_helper, bitwise_quaternary_op_helper};
-<span class="kw">use </span>arrow_buffer::{BooleanBuffer, NullBuffer};
+<span class="kw">use </span>arrow_buffer::{buffer_bin_and_not, BooleanBuffer, NullBuffer};
 <span class="kw">use </span>arrow_schema::ArrowError;
 
 <span class="doccomment">/// Logical 'and' boolean values with Kleene logic
@@ -1155,6 +1188,27 @@
     binary_boolean_kernel(left, right, |a, b| a | b)
 }
 
+<span class="doccomment">/// Performs `AND_NOT` operation on two arrays. If either left or right value is null then the
+/// result is also null.
+/// # Error
+/// This function errors when the arrays have different lengths.
+/// # Example
+/// ```rust
+/// # use arrow_array::BooleanArray;
+/// # use arrow_arith::boolean::{and, not, and_not};
+/// let a = BooleanArray::from(vec![Some(false), Some(true), None]);
+/// let b = BooleanArray::from(vec![Some(true), Some(true), Some(false)]);
+/// let andn_ab = and_not(&amp;a, &amp;b).unwrap();
+/// assert_eq!(andn_ab, BooleanArray::from(vec![Some(false), Some(false), None]));
+/// // It's equal to and(left, not(right))
+/// assert_eq!(andn_ab, and(&amp;a, &amp;not(&amp;b).unwrap()).unwrap());
+</span><span class="kw">pub fn </span>and_not(left: <span class="kw-2">&amp;</span>BooleanArray, right: <span class="kw-2">&amp;</span>BooleanArray) -&gt; <span class="prelude-ty">Result</span>&lt;BooleanArray, ArrowError&gt; {
+    binary_boolean_kernel(left, right, |a, b| {
+        <span class="kw">let </span>buffer = buffer_bin_and_not(a.inner(), b.offset(), b.inner(), a.offset(), a.len());
+        BooleanBuffer::new(buffer, left.offset(), left.len())
+    })
+}
+
 <span class="doccomment">/// Performs unary `NOT` operation on an arrays. If value is null then the result is also
 /// null.
 /// # Error
@@ -1239,6 +1293,18 @@
         <span class="macro">assert_eq!</span>(c, expected);
     }
 
+    <span class="attr">#[test]
+    </span><span class="kw">fn </span>test_bool_array_and_not() {
+        <span class="kw">let </span>a = BooleanArray::from(<span class="macro">vec!</span>[<span class="bool-val">false</span>, <span class="bool-val">false</span>, <span class="bool-val">true</span>, <span class="bool-val">true</span>]);
+        <span class="kw">let </span>b = BooleanArray::from(<span class="macro">vec!</span>[<span class="bool-val">false</span>, <span class="bool-val">true</span>, <span class="bool-val">false</span>, <span class="bool-val">true</span>]);
+        <span class="kw">let </span>c = and_not(<span class="kw-2">&amp;</span>a, <span class="kw-2">&amp;</span>b).unwrap();
+
+        <span class="kw">let </span>expected = BooleanArray::from(<span class="macro">vec!</span>[<span class="bool-val">false</span>, <span class="bool-val">false</span>, <span class="bool-val">true</span>, <span class="bool-val">false</span>]);
+
+        <span class="macro">assert_eq!</span>(c, expected);
+        <span class="macro">assert_eq!</span>(c, and(<span class="kw-2">&amp;</span>a, <span class="kw-2">&amp;</span>not(<span class="kw-2">&amp;</span>b).unwrap()).unwrap());
+    }
+
     <span class="attr">#[test]
     </span><span class="kw">fn </span>test_bool_array_or_nulls() {
         <span class="kw">let </span>a = BooleanArray::from(<span class="macro">vec!</span>[
diff --git a/src/arrow_buffer/buffer/ops.rs.html b/src/arrow_buffer/buffer/ops.rs.html
index b8e98cce83..3b8c67d255 100644
--- a/src/arrow_buffer/buffer/ops.rs.html
+++ b/src/arrow_buffer/buffer/ops.rs.html
@@ -189,6 +189,25 @@
 <a href="#187" id="187">187</a>
 <a href="#188" id="188">188</a>
 <a href="#189" id="189">189</a>
+<a href="#190" id="190">190</a>
+<a href="#191" id="191">191</a>
+<a href="#192" id="192">192</a>
+<a href="#193" id="193">193</a>
+<a href="#194" id="194">194</a>
+<a href="#195" id="195">195</a>
+<a href="#196" id="196">196</a>
+<a href="#197" id="197">197</a>
+<a href="#198" id="198">198</a>
+<a href="#199" id="199">199</a>
+<a href="#200" id="200">200</a>
+<a href="#201" id="201">201</a>
+<a href="#202" id="202">202</a>
+<a href="#203" id="203">203</a>
+<a href="#204" id="204">204</a>
+<a href="#205" id="205">205</a>
+<a href="#206" id="206">206</a>
+<a href="#207" id="207">207</a>
+<a href="#208" id="208">208</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
@@ -373,6 +392,25 @@
     )
 }
 
+<span class="doccomment">/// Apply a bitwise and_not to two inputs and return the result as a Buffer.
+/// The inputs are treated as bitmaps, meaning that offsets and length are specified in number of bits.
+</span><span class="kw">pub fn </span>buffer_bin_and_not(
+    left: <span class="kw-2">&amp;</span>Buffer,
+    left_offset_in_bits: usize,
+    right: <span class="kw-2">&amp;</span>Buffer,
+    right_offset_in_bits: usize,
+    len_in_bits: usize,
+) -&gt; Buffer {
+    bitwise_bin_op_helper(
+        left,
+        left_offset_in_bits,
+        right,
+        right_offset_in_bits,
+        len_in_bits,
+        |a, b| a &amp; !b,
+    )
+}
+
 <span class="doccomment">/// Apply a bitwise not to one input and return the result as a Buffer.
 /// The input is treated as a bitmap, meaning that offset and length are specified in number of bits.
 </span><span class="kw">pub fn </span>buffer_unary_not(left: <span class="kw-2">&amp;</span>Buffer, offset_in_bits: usize, len_in_bits: usize) -&gt; Buffer {