-
-
Notifications
You must be signed in to change notification settings - Fork 22
/
tech.v3.datatype.argops.html
17 lines (17 loc) · 27.7 KB
/
tech.v3.datatype.argops.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<!DOCTYPE html PUBLIC ""
"">
<html><head><meta charset="UTF-8" /><title>tech.v3.datatype.argops documentation</title><link rel="stylesheet" type="text/css" href="css/default.css" /><link rel="stylesheet" type="text/css" href="highlight/solarized-light.css" /><script type="text/javascript" src="highlight/highlight.min.js"></script><script type="text/javascript" src="js/jquery.min.js"></script><script type="text/javascript" src="js/page_effects.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><div id="header"><h2>Generated by <a href="https://github.com/weavejester/codox">Codox</a> with <a href="https://github.com/xsc/codox-theme-rdash">RDash UI</a> theme</h2><h1><a href="index.html"><span class="project-title"><span class="project-name">dtype-next</span> <span class="project-version">8.042</span></span></a></h1></div><div class="sidebar primary"><h3 class="no-link"><span class="inner">Project</span></h3><ul class="index-link"><li class="depth-1 "><a href="index.html"><div class="inner">Index</div></a></li></ul><h3 class="no-link"><span class="inner">Topics</span></h3><ul><li class="depth-1 "><a href="buffered-image.html"><div class="inner"><span>Buffered Image Support</span></div></a></li><li class="depth-1 "><a href="cheatsheet.html"><div class="inner"><span>Cheatsheet</span></div></a></li><li class="depth-1 "><a href="datatype-to-dtype-next.html"><div class="inner"><span>Why dtype-next?</span></div></a></li><li class="depth-1 "><a href="dimensions-bytecode-gen.html"><div class="inner"><span>Dimensions and Bytecode Generation</span></div></a></li><li class="depth-1 "><a href="overview.html"><div class="inner"><span>Overview</span></div></a></li></ul><h3 class="no-link"><span class="inner">Namespaces</span></h3><ul><li class="depth-1"><div class="no-link"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>tech</span></div></div></li><li class="depth-2"><div class="no-link"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>v3</span></div></div></li><li class="depth-3"><a href="tech.v3.datatype.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>datatype</span></div></a></li><li class="depth-4 branch current"><a href="tech.v3.datatype.argops.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>argops</span></div></a></li><li class="depth-4 branch"><a href="tech.v3.datatype.bitmap.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>bitmap</span></div></a></li><li class="depth-4 branch"><a href="tech.v3.datatype.convolve.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>convolve</span></div></a></li><li class="depth-4 branch"><a href="tech.v3.datatype.datetime.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>datetime</span></div></a></li><li class="depth-4 branch"><a href="tech.v3.datatype.errors.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>errors</span></div></a></li><li class="depth-4"><a href="tech.v3.datatype.ffi.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>ffi</span></div></a></li><li class="depth-5 branch"><a href="tech.v3.datatype.ffi.clang.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>clang</span></div></a></li><li class="depth-5"><a href="tech.v3.datatype.ffi.graalvm.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>graalvm</span></div></a></li><li class="depth-4 branch"><a href="tech.v3.datatype.functional.html"><div class="inner"><span class="tree" style="top: -83px;"><span class="top" style="height: 92px;"></span><span class="bottom"></span></span><span>functional</span></div></a></li><li class="depth-4 branch"><a href="tech.v3.datatype.gradient.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>gradient</span></div></a></li><li class="depth-4 branch"><a href="tech.v3.datatype.jna.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>jna</span></div></a></li><li class="depth-4 branch"><a href="tech.v3.datatype.jvm-map.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>jvm-map</span></div></a></li><li class="depth-4 branch"><a href="tech.v3.datatype.list.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>list</span></div></a></li><li class="depth-4 branch"><a href="tech.v3.datatype.locker.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>locker</span></div></a></li><li class="depth-4 branch"><a href="tech.v3.datatype.mmap.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>mmap</span></div></a></li><li class="depth-4 branch"><a href="tech.v3.datatype.mmap-writer.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>mmap-writer</span></div></a></li><li class="depth-4 branch"><a href="tech.v3.datatype.native-buffer.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>native-buffer</span></div></a></li><li class="depth-4 branch"><a href="tech.v3.datatype.nippy.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>nippy</span></div></a></li><li class="depth-4 branch"><a href="tech.v3.datatype.packing.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>packing</span></div></a></li><li class="depth-4 branch"><a href="tech.v3.datatype.reductions.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>reductions</span></div></a></li><li class="depth-4 branch"><a href="tech.v3.datatype.rolling.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>rolling</span></div></a></li><li class="depth-4 branch"><a href="tech.v3.datatype.sampling.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>sampling</span></div></a></li><li class="depth-4 branch"><a href="tech.v3.datatype.struct.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>struct</span></div></a></li><li class="depth-4"><a href="tech.v3.datatype.wavelet.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>wavelet</span></div></a></li><li class="depth-3"><div class="no-link"><div class="inner"><span class="tree" style="top: -765px;"><span class="top" style="height: 774px;"></span><span class="bottom"></span></span><span>libs</span></div></div></li><li class="depth-4 branch"><a href="tech.v3.libs.buffered-image.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>buffered-image</span></div></a></li><li class="depth-4"><a href="tech.v3.libs.neanderthal.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>neanderthal</span></div></a></li><li class="depth-3"><div class="no-link"><div class="inner"><span class="tree" style="top: -83px;"><span class="top" style="height: 92px;"></span><span class="bottom"></span></span><span>parallel</span></div></div></li><li class="depth-4"><a href="tech.v3.parallel.for.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>for</span></div></a></li><li class="depth-3"><a href="tech.v3.tensor.html"><div class="inner"><span class="tree" style="top: -52px;"><span class="top" style="height: 61px;"></span><span class="bottom"></span></span><span>tensor</span></div></a></li><li class="depth-4 branch"><a href="tech.v3.tensor.color-gradients.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>color-gradients</span></div></a></li><li class="depth-4"><a href="tech.v3.tensor.dimensions.html"><div class="inner"><span class="tree"><span class="top"></span><span class="bottom"></span></span><span>dimensions</span></div></a></li></ul></div><div class="sidebar secondary"><h3><a href="#top"><span class="inner">Public Vars</span></a></h3><ul><li class="depth-1"><a href="tech.v3.datatype.argops.html#var--.3Ebinary-operator"><div class="inner"><span>->binary-operator</span></div></a></li><li class="depth-1"><a href="tech.v3.datatype.argops.html#var--.3Ebinary-predicate"><div class="inner"><span>->binary-predicate</span></div></a></li><li class="depth-1"><a href="tech.v3.datatype.argops.html#var--.3Ecomparator"><div class="inner"><span>->comparator</span></div></a></li><li class="depth-1"><a href="tech.v3.datatype.argops.html#var--.3Edouble-comparator"><div class="inner"><span>->double-comparator</span></div></a></li><li class="depth-1"><a href="tech.v3.datatype.argops.html#var--.3Elong-comparator"><div class="inner"><span>->long-comparator</span></div></a></li><li class="depth-1"><a href="tech.v3.datatype.argops.html#var--.3Eunary-operator"><div class="inner"><span>->unary-operator</span></div></a></li><li class="depth-1"><a href="tech.v3.datatype.argops.html#var--.3Eunary-predicate"><div class="inner"><span>->unary-predicate</span></div></a></li><li class="depth-1"><a href="tech.v3.datatype.argops.html#var-arg-min-n"><div class="inner"><span>arg-min-n</span></div></a></li><li class="depth-1"><a href="tech.v3.datatype.argops.html#var-argfilter"><div class="inner"><span>argfilter</span></div></a></li><li class="depth-1"><a href="tech.v3.datatype.argops.html#var-arggroup"><div class="inner"><span>arggroup</span></div></a></li><li class="depth-1"><a href="tech.v3.datatype.argops.html#var-arggroup-by"><div class="inner"><span>arggroup-by</span></div></a></li><li class="depth-1"><a href="tech.v3.datatype.argops.html#var-arglast-every"><div class="inner"><span>arglast-every</span></div></a></li><li class="depth-1"><a href="tech.v3.datatype.argops.html#var-argmax"><div class="inner"><span>argmax</span></div></a></li><li class="depth-1"><a href="tech.v3.datatype.argops.html#var-argmin"><div class="inner"><span>argmin</span></div></a></li><li class="depth-1"><a href="tech.v3.datatype.argops.html#var-argpartition"><div class="inner"><span>argpartition</span></div></a></li><li class="depth-1"><a href="tech.v3.datatype.argops.html#var-argpartition-by"><div class="inner"><span>argpartition-by</span></div></a></li><li class="depth-1"><a href="tech.v3.datatype.argops.html#var-argshuffle"><div class="inner"><span>argshuffle</span></div></a></li><li class="depth-1"><a href="tech.v3.datatype.argops.html#var-argsort"><div class="inner"><span>argsort</span></div></a></li><li class="depth-1"><a href="tech.v3.datatype.argops.html#var-binary-argfilter"><div class="inner"><span>binary-argfilter</span></div></a></li><li class="depth-1"><a href="tech.v3.datatype.argops.html#var-binary-search"><div class="inner"><span>binary-search</span></div></a></li><li class="depth-1"><a href="tech.v3.datatype.argops.html#var-binary-search-impl"><div class="inner"><span>binary-search-impl</span></div></a></li><li class="depth-1"><a href="tech.v3.datatype.argops.html#var-ensure-reader"><div class="inner"><span>ensure-reader</span></div></a></li><li class="depth-1"><a href="tech.v3.datatype.argops.html#var-find-base-comparator"><div class="inner"><span>find-base-comparator</span></div></a></li><li class="depth-1"><a href="tech.v3.datatype.argops.html#var-impl-index-of"><div class="inner"><span>impl-index-of</span></div></a></li><li class="depth-1"><a href="tech.v3.datatype.argops.html#var-index-comparator"><div class="inner"><span>index-comparator</span></div></a></li><li class="depth-1"><a href="tech.v3.datatype.argops.html#var-index-of"><div class="inner"><span>index-of</span></div></a></li><li class="depth-1"><a href="tech.v3.datatype.argops.html#var-index-reducer"><div class="inner"><span>index-reducer</span></div></a></li><li class="depth-1"><a href="tech.v3.datatype.argops.html#var-last-index-of"><div class="inner"><span>last-index-of</span></div></a></li><li class="depth-1"><a href="tech.v3.datatype.argops.html#var-tech-numerics-kwd.3F"><div class="inner"><span>tech-numerics-kwd?</span></div></a></li></ul></div><div class="namespace-docs" id="content"><h1 class="anchor" id="top">tech.v3.datatype.argops</h1><div class="doc"><div class="markdown"><p>Efficient functions for operating in index space. Take-off of the argsort, argmin, etc. type functions from Matlab. These functions generally only work on readers and all return some version of an index or list of indexes.</p></div></div><div class="public anchor" id="var--.3Ebinary-operator"><h3>->binary-operator</h3><div class="usage"><code>(->binary-operator op)</code></div><div class="doc"><div class="markdown"><p>Convert a thing to a binary operator. Thing can be a keyword or an implementation of IFn or an implementation of a BinaryOperator.</p></div></div><div class="src-link"><a href="https://github.com/cnuernber/dtype-next/blob/master/src/tech/v3/datatype/argops.clj#L97">view source</a></div></div><div class="public anchor" id="var--.3Ebinary-predicate"><h3>->binary-predicate</h3><div class="usage"><code>(->binary-predicate op)</code></div><div class="doc"><div class="markdown"><p>Convert a thing to a binary predicate. Thing can be a keyword or an implementation of IFn or an implementation of a BinaryPredicate.</p></div></div><div class="src-link"><a href="https://github.com/cnuernber/dtype-next/blob/master/src/tech/v3/datatype/argops.clj#L113">view source</a></div></div><div class="public anchor" id="var--.3Ecomparator"><h3>->comparator</h3><div class="usage"><code>(->comparator src-comparator)</code></div><div class="doc"><div class="markdown"><p>Convert a thing to a java.util.Comparator.</p></div></div><div class="src-link"><a href="https://github.com/cnuernber/dtype-next/blob/master/src/tech/v3/datatype/argops.clj#L229">view source</a></div></div><div class="public anchor" id="var--.3Edouble-comparator"><h3>->double-comparator</h3><div class="usage"><code>(->double-comparator src-comparator)</code></div><div class="doc"><div class="markdown"><p>Convert a thing to a it.unimi.dsi.fastutil.doubles.DoubleComparator.</p></div></div><div class="src-link"><a href="https://github.com/cnuernber/dtype-next/blob/master/src/tech/v3/datatype/argops.clj#L256">view source</a></div></div><div class="public anchor" id="var--.3Elong-comparator"><h3>->long-comparator</h3><div class="usage"><code>(->long-comparator src-comparator)</code></div><div class="doc"><div class="markdown"><p>Convert a thing to a it.unimi.dsi.fastutil.longs.LongComparator.</p></div></div><div class="src-link"><a href="https://github.com/cnuernber/dtype-next/blob/master/src/tech/v3/datatype/argops.clj#L241">view source</a></div></div><div class="public anchor" id="var--.3Eunary-operator"><h3>->unary-operator</h3><div class="usage"><code>(->unary-operator op)</code></div><div class="doc"><div class="markdown"><p>Convert a thing to a unary operator. Thing can be a keyword or an implementation of IFn or an implementation of a UnaryOperator.</p></div></div><div class="src-link"><a href="https://github.com/cnuernber/dtype-next/blob/master/src/tech/v3/datatype/argops.clj#L89">view source</a></div></div><div class="public anchor" id="var--.3Eunary-predicate"><h3>->unary-predicate</h3><div class="usage"><code>(->unary-predicate op)</code></div><div class="doc"><div class="markdown"><p>Convert a thing to a unary predicate. Thing can be a keyword or an implementation of IFn or an implementation of a UnaryPredicate.</p></div></div><div class="src-link"><a href="https://github.com/cnuernber/dtype-next/blob/master/src/tech/v3/datatype/argops.clj#L105">view source</a></div></div><div class="public anchor" id="var-arg-min-n"><h3>arg-min-n</h3><div class="usage"><code>(arg-min-n N comparator {:keys [nan-strategy], :or {nan-strategy :last}} values)</code><code>(arg-min-n N comparator values)</code><code>(arg-min-n N values)</code></div><div class="doc"><div class="markdown"><p>Return the indexes of the top minimum items. Values must be countable and random access. Same options,arguments as <a href="tech.v3.datatype.argops.html#var-argsort">argsort</a>.</p></div></div><div class="src-link"><a href="https://github.com/cnuernber/dtype-next/blob/master/src/tech/v3/datatype/argops.clj#L381">view source</a></div></div><div class="public anchor" id="var-argfilter"><h3>argfilter</h3><div class="usage"><code>(argfilter pred options rdr)</code><code>(argfilter pred rdr)</code></div><div class="doc"><div class="markdown"><p>Filter out values returning either an iterable of indexes or a reader of indexes.</p></div></div><div class="src-link"><a href="https://github.com/cnuernber/dtype-next/blob/master/src/tech/v3/datatype/argops.clj#L477">view source</a></div></div><div class="public anchor" id="var-arggroup"><h3>arggroup</h3><div class="usage"><code>(arggroup {:keys [storage-datatype unordered?]} rdr)</code><code>(arggroup rdr)</code></div><div class="doc"><div class="markdown"><p>Group by elemens in the reader returning a map of value->list of indexes.</p>
<p>Options:</p>
<ul>
<li>storage-datatype - :int32, :int64, or :bitmap, defaults to whatever will fit based on the element count of the reader.</li>
<li>unordered? - defaults to true, if true uses a slower algorithm that guarantees the resulting index lists will be ordered. In the case where storage is bitmap, unordered reductions are used as the bitmap forces the end results to be ordered</li>
</ul></div></div><div class="src-link"><a href="https://github.com/cnuernber/dtype-next/blob/master/src/tech/v3/datatype/argops.clj#L544">view source</a></div></div><div class="public anchor" id="var-arggroup-by"><h3>arggroup-by</h3><div class="usage"><code>(arggroup-by partition-fn options rdr)</code><code>(arggroup-by partition-fn rdr)</code></div><div class="doc"><div class="markdown"><p>Group by elemens in the reader returning a map of value->list of indexes. Indexes may not be ordered. :storage-datatype may be specific in the options to set the datatype of the indexes else the system will decide based on reader length. See arggroup for Options.</p></div></div><div class="src-link"><a href="https://github.com/cnuernber/dtype-next/blob/master/src/tech/v3/datatype/argops.clj#L574">view source</a></div></div><div class="public anchor" id="var-arglast-every"><h3>arglast-every</h3><div class="usage"><code>(arglast-every rdr pred-op)</code></div><div class="doc"><div class="markdown"><p>Return the last index where (pred (rdr idx) (rdr (dec idx))) was true by comparing every value and keeping track of the last index where pred was true.</p></div></div><div class="src-link"><a href="https://github.com/cnuernber/dtype-next/blob/master/src/tech/v3/datatype/argops.clj#L149">view source</a></div></div><div class="public anchor" id="var-argmax"><h3>argmax</h3><div class="usage"><code>(argmax rdr)</code></div><div class="doc"><div class="markdown"><p>Return the index of the max item in the reader.</p></div></div><div class="src-link"><a href="https://github.com/cnuernber/dtype-next/blob/master/src/tech/v3/datatype/argops.clj#L164">view source</a></div></div><div class="public anchor" id="var-argmin"><h3>argmin</h3><div class="usage"><code>(argmin rdr)</code></div><div class="doc"><div class="markdown"><p>Return the index of the min item in the reader.</p></div></div><div class="src-link"><a href="https://github.com/cnuernber/dtype-next/blob/master/src/tech/v3/datatype/argops.clj#L170">view source</a></div></div><div class="public anchor" id="var-argpartition"><h3>argpartition</h3><div class="usage"><code>(argpartition pred item-iterable)</code><code>(argpartition item-iterable)</code></div><div class="doc"><div class="markdown"><p>Returns a sequence of [partition-key index-reader]. Index generation is not parallelized. This design allows group-by and partition-by to be used interchangeably (if pred is :tech.numerics/eq) as they both result in a sequence of [partition-key idx-reader]. This design is lazy.</p></div></div><div class="src-link"><a href="https://github.com/cnuernber/dtype-next/blob/master/src/tech/v3/datatype/argops.clj#L602">view source</a></div></div><div class="public anchor" id="var-argpartition-by"><h3>argpartition-by</h3><div class="usage"><code>(argpartition-by unary-op partition-pred item-iterable)</code><code>(argpartition-by unary-op item-iterable)</code></div><div class="doc"><div class="markdown"><p>Returns a sequence of [partition-key index-reader]. Index generation is not parallelized. This design allows group-by and partition-by to be used interchangeably as they both result in a sequence of [partition-key idx-reader]. This design is lazy.</p></div></div><div class="src-link"><a href="https://github.com/cnuernber/dtype-next/blob/master/src/tech/v3/datatype/argops.clj#L615">view source</a></div></div><div class="public anchor" id="var-argshuffle"><h3>argshuffle</h3><div class="usage"><code>(argshuffle n-indexes {:keys [seed container-type], :or {container-type :jvm-heap}})</code><code>(argshuffle n-indexes)</code></div><div class="doc"><div class="markdown"><p>Serially shuffle N indexes into a an array of data. Returns an array of indexes.</p>
<p>Options:</p>
<ul>
<li><code>:seed</code> - Either nil, an integer, or an implementation of <code>java.util.Random</code>. This seeds the random generator if provided or a new one is created if not.</li>
<li><code>:container-type</code> - The container type of the data, defaults to <code>:jvm-heap</code>. See documentation for <code>make-container</code>.</li>
</ul></div></div><div class="src-link"><a href="https://github.com/cnuernber/dtype-next/blob/master/src/tech/v3/datatype/argops.clj#L631">view source</a></div></div><div class="public anchor" id="var-argsort"><h3>argsort</h3><div class="usage"><code>(argsort comparator {:keys [parallel? nan-strategy], :or {parallel? true, nan-strategy :last}} values)</code><code>(argsort comparator values)</code><code>(argsort values)</code></div><div class="doc"><div class="markdown"><p>Sort values in index space. By default uses a parallelized quicksort algorithm.</p></div></div><div class="src-link"><a href="https://github.com/cnuernber/dtype-next/blob/master/src/tech/v3/datatype/argops.clj#L349">view source</a></div></div><div class="public anchor" id="var-binary-argfilter"><h3>binary-argfilter</h3><div class="usage"><code>(binary-argfilter pred options lhs rhs)</code><code>(binary-argfilter pred lhs rhs)</code></div><div class="doc"><div class="markdown"><p>Filter out values using a binary predicate. Returns either an iterable of indexes or a reader of indexes.</p></div></div><div class="src-link"><a href="https://github.com/cnuernber/dtype-next/blob/master/src/tech/v3/datatype/argops.clj#L493">view source</a></div></div><div class="public anchor" id="var-binary-search"><h3>binary-search</h3><div class="usage"><code>(binary-search data target options)</code><code>(binary-search data target)</code></div><div class="doc"><div class="markdown"><p>Returns a long result that points to just before the value or exactly points to the value. In the case where the target is after the last value will return elem-count.</p>
<p>Options:</p>
<ul>
<li><code>:comparator</code> - a specific comparator to use; defaults to <code>comparator</code>.</li>
</ul></div></div><div class="src-link"><a href="https://github.com/cnuernber/dtype-next/blob/master/src/tech/v3/datatype/argops.clj#L445">view source</a></div></div><div class="public anchor" id="var-binary-search-impl"><h3>binary-search-impl</h3><h4 class="type">macro</h4><div class="usage"><code>(binary-search-impl data target scalar-cast read-fn comparator compare-fn)</code></div><div class="doc"><div class="markdown"></div></div><div class="src-link"><a href="https://github.com/cnuernber/dtype-next/blob/master/src/tech/v3/datatype/argops.clj#L417">view source</a></div></div><div class="public anchor" id="var-ensure-reader"><h3>ensure-reader</h3><div class="usage"><code>(ensure-reader item n-const-elems)</code><code>(ensure-reader item)</code></div><div class="doc"><div class="markdown"><p>Ensure item is randomly addressable. This may copy the data into a randomly accessible container.</p></div></div><div class="src-link"><a href="https://github.com/cnuernber/dtype-next/blob/master/src/tech/v3/datatype/argops.clj#L44">view source</a></div></div><div class="public anchor" id="var-find-base-comparator"><h3>find-base-comparator</h3><div class="usage"><code>(find-base-comparator comparator val-dtype)</code></div><div class="doc"><div class="markdown"></div></div><div class="src-link"><a href="https://github.com/cnuernber/dtype-next/blob/master/src/tech/v3/datatype/argops.clj#L339">view source</a></div></div><div class="public anchor" id="var-impl-index-of"><h3>impl-index-of</h3><h4 class="type">macro</h4><div class="usage"><code>(impl-index-of datatype comp-value n-elems pred rdr)</code></div><div class="doc"><div class="markdown"></div></div><div class="src-link"><a href="https://github.com/cnuernber/dtype-next/blob/master/src/tech/v3/datatype/argops.clj#L175">view source</a></div></div><div class="public anchor" id="var-index-comparator"><h3>index-comparator</h3><div class="usage"><code>(index-comparator src-comparator nan-strategy values)</code></div><div class="doc"><div class="markdown"><p>Given a reader of values an a source comparator, return either an IntComparator or a LongComparator depending on the number of indexes in the reader that compares the values using the passed in comparator.</p></div></div><div class="src-link"><a href="https://github.com/cnuernber/dtype-next/blob/master/src/tech/v3/datatype/argops.clj#L271">view source</a></div></div><div class="public anchor" id="var-index-of"><h3>index-of</h3><div class="usage"><code>(index-of rdr pred value)</code><code>(index-of rdr value)</code></div><div class="doc"><div class="markdown"><p>Return the first time pred is true given a comparison value.</p></div></div><div class="src-link"><a href="https://github.com/cnuernber/dtype-next/blob/master/src/tech/v3/datatype/argops.clj#L186">view source</a></div></div><div class="public anchor" id="var-index-reducer"><h3>index-reducer</h3><div class="usage"><code>(index-reducer storage-datatype)</code></div><div class="doc"><div class="markdown"><p>Create an implementation of an tech.v3.datatype.IndexReduction interface that stores the indexes in a particular storage type. Storage types may be :int32 :int64 or, for storing the result in a RoaringBitmap, :bitmap.</p></div></div><div class="src-link"><a href="https://github.com/cnuernber/dtype-next/blob/master/src/tech/v3/datatype/argops.clj#L513">view source</a></div></div><div class="public anchor" id="var-last-index-of"><h3>last-index-of</h3><div class="usage"><code>(last-index-of rdr pred value)</code><code>(last-index-of rdr value)</code></div><div class="doc"><div class="markdown"><p>Return the last index of the last time time pred, which defaults to :tech.numerics/eq, is true.</p></div></div><div class="src-link"><a href="https://github.com/cnuernber/dtype-next/blob/master/src/tech/v3/datatype/argops.clj#L213">view source</a></div></div><div class="public anchor" id="var-tech-numerics-kwd.3F"><h3>tech-numerics-kwd?</h3><div class="usage"><code>(tech-numerics-kwd? kwd)</code></div><div class="doc"><div class="markdown"></div></div><div class="src-link"><a href="https://github.com/cnuernber/dtype-next/blob/master/src/tech/v3/datatype/argops.clj#L62">view source</a></div></div></div></body></html>