1 /**
2 Utility functions used by tsv-utils programs.
4 A few of the utilities that may be of more general interest:
6 $(LIST
7     * [tsv_utils.common.utils.InputFieldReordering] - A class that creates a reordered
8       subset of fields from an input line. Used to operate on a subset of fields in the
9       order specified on the command line.
10     * [tsv_utils.common.utils.BufferedOutputRange] - An OutputRange with an internal
11       buffer used to buffer output. Intended for use with stdout, it is a significant
12       performance benefit.
13     * [tsv_utils.common.utils.bufferedByLine] - An input range that reads from a File
14       handle line by line. It is similar to standard library method std.stdio.File.byLine,
15       but quite a bit faster. This is achieved by reading in larger blocks and buffering.
16     * [tsv_utils.common.numerics.quantile] - Calculates a cummulative probability for
17       values in a data set. Supports the same interpolation methods as the quantile
18       function in R and many other statistical packages.
19     * [tsv_utils.common.numerics.rangeMedian] - Finds the median in a range. Implements
20       via the faster of std.algorithm.topN or std.algorithm.sort depending on the
21       Phobos version.
22     * [tsv_utils.common.numerics.formatNumber] - An alternate print format for numbers,
23       especially useful when doubles are being used to represent integer and float values.
24     * [tsv_utils.common.getopt_inorder.getoptInorder] - A cover for std.getopt that
25       processes command line arguments in the order given on the command line.
26 )
28 Copyright (c) 2015-2019, eBay Software Foundation
29 Initially written by Jon Degenhardt
31 License: Boost License 1.0 (http://boost.org/LICENSE_1_0.txt)
32 */
33 module tsv_utils.common;