SUBPAK
A C++ Utility Library
SUBPAK is a C++ library
which includes a number of utility routines.
SUBPAK can handle
a variety of tasks, including the greatest common divisor of two
integers, searching, sorting, range, and unique elements of vectors,
determinants and inverses of small matrices, and all the primes
less than 10,000.
Various types of data can be handled. The routine names
are chosen to indicate the corresponding type:
-
C4, complex float
-
C8, complex double
-
CH, character
-
I4, integer
-
I8, long long integer
-
R4, float
-
R8, double
-
S, a character string
In some cases, the typical data object is a one dimension vector
or a two dimensional matrix of values. In these cases,
part of the name will include the key:
-
VEC, a vector of data;
-
MAT, a matrix of data;
Licensing:
The computer code and data files described and made available on this web page
are distributed under
the GNU LGPL license.
Related Programs:
SUBPAK is available in
a C version and
a C++ version and
a FORTRAN77 version and
a FORTRAN90 version and
a MATLAB version.
Reference:
-
Milton Abramowitz, Irene Stegun,
Handbook of Mathematical Functions,
National Bureau of Standards, 1964,
ISBN: 0-486-61272-4,
LC: QA47.A34.
-
Book Industry Study Group,
The Evolution in Product Identification:
Sunrise 2005 and the ISBN-13,
http://www.bisg.org/docs/The_Evolution_in_Product_ID.pdf
-
Paul Bratley, Bennett Fox, Harald Niederreiter,
Algorithm 738:
Programs to Generate Niederreiter's Low-Discrepancy Sequences,
ACM Transactions on Mathematical Software,
Volume 20, Number 4, 1994, pages 494-495.
-
Paul Bratley, Bennett Fox, Linus Schrage,
A Guide to Simulation,
Second Edition,
Springer, 1987,
ISBN: 0387964673,
LC: QA76.9.C65.B73.
-
Thomas Cormen, Charles Leiserson, Ronald Rivest,
Introduction to Algorithms,
MIT Press, 2001,
ISBN: 0262032937,
LC: QA76.C662.
-
Jack Dongarra, Jim Bunch, Cleve Moler, Pete Stewart,
LINPACK User's Guide,
SIAM, 1979,
ISBN13: 978-0-898711-72-1,
LC: QA214.L56.
-
Bennett Fox,
Algorithm 647:
Implementation and Relative Efficiency of Quasirandom
Sequence Generators,
ACM Transactions on Mathematical Software,
Volume 12, Number 4, December 1986, pages 362-376.
-
John Halton,
On the efficiency of certain quasi-random sequences of points
in evaluating multi-dimensional integrals,
Numerische Mathematik,
Volume 2, Number 1, December 1960, pages 84-90.
-
John Halton, GB Smith,
Algorithm 247: Radical-Inverse Quasi-Random Point Sequence,
Communications of the ACM,
Volume 7, Number 12, December 1964, pages 701-702.
-
Ralph Hartley,
A More Symmetrical Fourier Analysis Applied to Transmission
Problems,
Proceedings of the Institute of Radio Engineers,
Volume 30, 1942, pages 144-150.
-
Donald Kreher, Douglas Simpson,
Combinatorial Algorithms,
CRC Press, 1998,
ISBN: 0-8493-3988-X,
LC: QA164.K73.
-
Peter Lewis, Allen Goodman, James Miller,
A Pseudo-Random Number Generator for the System/360,
IBM Systems Journal,
Volume 8, 1969, pages 136-143.
-
MIL-STD 1753,
Fortran, DoD Supplement to American National Standard X3.9-1978,
November, 1978,
../../papers/mil_std_1753.html
-
Albert Nijenhuis, Herbert Wilf,
Combinatorial Algorithms for Computers and Calculators,
Second Edition,
Academic Press, 1978,
ISBN: 0-12-519260-6,
LC: QA164.N54.
-
Branch Rickey,
Goodby to Some Old Baseball Ideas,
Life Magazine,
2 August 1954.
-
Alan Schwarz,
Looking Beyond the Batting Average,
The New York Times,
Sunday, 1 August 2004.
-
Helmut Spaeth,
Cluster Analysis Algorithms
for Data Reduction and Classification of Objects,
Ellis Horwood, 1980,
ISBN: 0470269464,
LC: QA278.S6813.
-
Pete Stewart,
Efficient Generation of Random Orthogonal Matrices With an Application
to Condition Estimators,
SIAM Journal on Numerical Analysis,
Volume 17, Number 3, June 1980, pages 403-409.
-
Daniel Zwillinger, editor,
CRC Standard Mathematical Tables and Formulae,
30th Edition,
CRC Press, 1996,
ISBN: 0-8493-2479-3,
LC: QA47.M315.
Source Code:
Examples and Tests:
List of Routines:
-
ANGLE_SHIFT shifts angle ALPHA to lie between BETA and BETA+2PI.
-
ANGLE_SHIFT_DEG shifts angle ALPHA to lie between BETA and BETA+360.
-
ANGLE_TO_RGB returns a color on the perimeter of the color hexagon.
-
AXIS_LIMITS returns "nice" axis limits for a plot.
-
BAR_CHECK computes the check digit for a barcode.
-
BAR_CODE constructs the 113 character barcode from 11 digits.
-
BAR_DIGIT_CODE_LEFT returns the 7 character left bar code for a digit.
-
BAR_DIGIT_CODE_RIGHT returns the 7 character right bar code for a digit.
-
BMI_ENGLISH computes the body mass index given English measurements.
-
BMI_METRIC computes the body mass index given metric measurements.
-
C4_ABS returns the absolute value of a C4.
-
C4_ARGUMENT returns the argument of a C4.
-
C4_MAGNITUDE returns the magnitude of a C4.
-
C4MAT_PRINT_SOME prints some of a C4MAT.
-
C4VEC_PRINT_SOME prints some of a C4VEC.
-
C8_ARGUMENT returns the argument of a C8.
-
C8_CUBE_ROOT returns the principal cube root of a C8.
-
C8_I returns the value of the imaginary unit, i as a C8.
-
C8_LE_L1 := X <= Y for C8 values, and the L1 norm.
-
C8_LE_L2 := X <= Y for C8 values, and the L2 norm.
-
C8_LE_LI := X <= Y for C8 values, and the L Infinity norm.
-
C8_MAGNITUDE returns the magnitude of a C8.
-
C8_NORM_L1 evaluates the L1 norm of a C8.
-
C8_NORM_L2 evaluates the L2 norm of a C8.
-
C8_NORM_LI evaluates the L-infinity norm of a C8.
-
C8_NORMAL_01 returns a unit pseudonormal C8.
-
C8_ONE returns the value of complex 1.
-
C8_PRINT prints a C8, with an optional title.
-
C8_SQRT returns the principal square root of a C8.
-
C8_SWAP swaps two C8's.
-
C8_UNIFORM_01 returns a unit pseudorandom C8.
-
C8_ZERO returns the value of 0 as a C8.
-
C8MAT_COPY copies one C8MAT to another.
-
C8MAT_COPY_NEW copies one C8MAT to a "new" C8MAT.
-
C8MAT_IDENTITY sets a C8MAT to the identity.
-
C8MAT_NINT rounds the entries of a C8MAT.
-
C8MAT_PRINT prints a C8MAT.
-
C8MAT_PRINT_SOME prints some of a C8MAT.
-
C8MAT_UNIFORM_01 returns a unit pseudorandom C8MAT.
-
C8VEC_COPY copies a C8VEC.
-
C8VEC_COPY_NEW copies a C8VEC to a "new" C8VEC.
-
C8VEC_INDICATOR sets a C8VEC to the indicator vector.
-
C8VEC_NORM_L2 returns the L2 norm of a C8VEC.
-
C8VEC_PRINT prints a C8VEC, with an optional title.
-
C8VEC_UNIFORM_01 returns a unit C8VEC.
-
C8VEC_UNITY returns the N roots of unity in a C8VEC.
-
CH_CAP capitalizes a single character.
-
CH_EQI is true if two characters are equal, disregarding case.
-
CH_IS_DIGIT returns TRUE if a character is a decimal digit.
-
CH_TO_DIGIT returns the integer value of a base 10 digit.
-
DEGREES_TO_RADIANS converts an angle measure from degrees to radians.
-
E_CONSTANT returns the value of E.
-
EULER_CONSTANT returns the value of the Euler-Mascheroni constant.
-
FAC_DIV divides two quantities represented as prime factors.
-
FAC_GCD finds the GCD of two products of prime factors.
-
FAC_LCM finds the LCM of two products of prime factors.
-
FAC_MUL multiplies two quantities represented as prime factors.
-
FAC_PRINT prints a product of prime factors.
-
FAC_TO_I4 converts a product of prime factors into an I4.
-
FAC_TO_RAT converts a prime factorization into a rational value.
-
FEET_TO_METERS converts a measurement in feet to meters.
-
GAUSS_SUM evaluates a function that is the sum of Gaussians.
-
GET_SEED returns a random seed for the random number generator.
-
GRID1 finds grid points between X1 and X2 in N dimensions.
-
GRID1N finds the I-th grid point between X1 and X2 in N dimensions.
-
GRID2 computes grid points between X1 and X2 in N dimensions.
-
GRID2N computes one grid point between X1 and X2 in N dimensions.
-
GRID3 computes a grid on the parallelogram set by X1, X2 and X3 in N space.
-
GRID3N computes a parallelogram grid on 3 points in N dimensions.
-
GRID4 computes a grid on the parallelogram set by X1, X2 and X3 in N space.
-
GRID4N computes a single point on a parallelogram grid in N space.
-
I2_REVERSE_BYTES reverses the two bytes in an I2.
-
I4_BIT_HI1 returns the position of the high 1 bit base 2 in an I4.
-
I4_BIT_LO0 returns the position of the low 0 bit base 2 in an I4.
-
I4_BIT_LO1 returns the position of the low 1 bit base 2 in an I4.
-
I4_BIT_REVERSE reverses the bits in an I4.
-
I4_CHARACTERISTIC gives the characteristic for an I4.
-
I4_CHOOSE computes the binomial coefficient C(N,K).
-
I4_DIV_ROUNDED computes the rounded result of I4 division.
-
I4_DIVP returns the smallest multiple of J greater than or equal to an I4.
-
I4_EVEN returns TRUE if an I4 is even.
-
I4_FACTORIAL computes the factorial of N.
-
I4_GCD finds the greatest common divisor of two I4's.
-
I4_GCDB finds the greatest common divisor of the form K**N of two I4's.
-
I4_HUGE returns a "huge" I4.
-
I4_HUGE_NORMALIZER returns the "normalizer" for I4_HUGE.
-
I4_IS_POWER_OF_2 reports whether an I4 is a power of 2.
-
I4_IS_PRIME reports whether an I4 is prime.
-
I4_LCM computes the least common multiple of two I4's.
-
I4_LOG_10 returns the integer part of the logarithm base 10 of an I4.
-
I4_LOG_2 returns the integer part of the logarithm base 2 of an I4.
-
I4_LOG_I4 returns the logarithm of an I4 to an I4 base.
-
I4_LOG_R8 returns the integer part of the logarithm base B of an I4.
-
I4_MANT computes the "mantissa" of an R4.
-
I4_MAX returns the maximum of two I4's.
-
I4_MIN returns the minimum of two I4's.
-
I4_MODDIV breaks an I4 into a multiple of a divisor and remainder.
-
I4_MODP returns the nonnegative remainder of I4 division.
-
I4_MOP returns the I-th power of -1 as an I4 value.
-
I4_ODD returns TRUE if an I4 is odd.
-
I4_POWER returns the value of I^J.
-
I4_REVERSE_BYTES reverses the bytes in an I4.
-
I4_SIGN returns the sign of an I4.
-
I4_SWAP switches two I4's.
-
I4_SWAP3 swaps three I4's.
-
I4_TO_ANGLE maps I4's to points on a circle.
-
I4_TO_DIGITS_DECIMAL determines the last N decimal digits of an I4.
-
I4_TO_FAC converts an I4 into a product of prime factors.
-
I4_TO_HALTON computes one element of a leaped Halton subsequence.
-
I4_TO_ISBN converts an I4 to an ISBN digit.
-
I4_UNIFORM returns a scaled pseudorandom I4.
-
I4_UNSWAP3 unswaps three I4's.
-
I4_WALSH_1D evaluates the Walsh function of a real scalar argument.
-
I4_WIDTH returns the "width" of an I4.
-
I4_WRAP forces an I4 to lie between given limits by wrapping.
-
I4_XOR calculates the exclusive OR of two I4's.
-
I43MAT_FLIP_COLS swaps the columns of an I43MAT.
-
I43MAT_FLIP_ROWS swaps the rows of an I43MAT.
-
I4COL_COMPARE compares columns I and J of an I4COL.
-
I4COL_FIND seeks a table column equal to an I4COL.
-
I4COL_FIND_ITEM searches an I4COL for a given value.
-
I4COL_FIND_PAIR_WRAP wrap searches an I4COL for a pair of items.
-
I4COL_FIRST_INDEX indexes the first occurrence of values in an I4COL.
-
I4COL_SORT_A ascending sorts the columns of an I4COL.
-
I4COL_SORT_D descending sorts the columns of an I4COL.
-
I4COL_SORT2_A ascending sorts the elements of each column of an I4COL.
-
I4COL_SORT2_D descending sorts the elements of each column of an I4COL.
-
I4COL_SORTED_SINGLETON_COUNT counts singletons in an I4COL.
-
I4COL_SORTED_UNIQUE keeps unique elements in a sorted I4COL.
-
I4COL_SORTED_UNIQUE_COUNT counts unique elements in an I4COL.
-
I4COL_SWAP swaps two columns of an I4COL.
-
I4COL_UNIQUE_INDEX indexes the unique occurrence of values in an I4COL.
-
I4I4_SORT_A ascending sorts a pair of I4's.
-
I4I4I4_SORT_A ascending sorts a triple of I4's.
-
I4INT_TO_R8INT maps an I4 interval to an R8 interval.
-
I4MAT_COPY copies one I4MAT to another.
-
I4MAT_COPY_NEW copies an I4MAT to a "new" I4MAT.
-
I4MAT_ELIM carries out exact Gauss elimination on an I4MAT.
-
I4MAT_FLIP_COLS swaps the columns of an I4MAT.
-
I4MAT_FLIP_ROWS swaps the rows of an I4MAT.
-
I4MAT_INDICATOR sets up an "indicator" I4MAT.
-
I4MAT_L1_INVERSE inverts a unit lower triangular I4MAT.
-
I4MAT_MAX_INDEX returns the location of the maximum of an I4MAT.
-
I4MAT_MIN_INDEX returns the location of the minimum of an I4MAT.
-
I4MAT_MM multiplies two I4MAT's.
-
I4MAT_PERM_UNIFORM selects a random permutation of an I4MAT.
-
I4MAT_PERM2_UNIFORM selects a random permutation of an I4MAT.
-
I4MAT_PRINT prints an I4MAT, with an optional title.
-
I4MAT_PRINT_SOME prints some of an I4MAT.
-
I4MAT_RED divides out common factors in a row or column of an I4MAT.
-
I4MAT_TRANSPOSE_PRINT prints an I4MAT, transposed.
-
I4MAT_TRANSPOSE_PRINT_SOME prints some of an I4MAT, transposed.
-
I4MAT_U1_INVERSE inverts a unit upper triangular I4MAT.
-
I4MAT_UNIFORM returns a scaled pseudorandom I4MAT.
-
I4ROW_COMPARE compares two rows of a integer array.
-
I4ROW_FIND_ITEM searches the rows of an I4ROW for a given value.
-
I4ROW_MAX returns the maximums of an I4ROW.
-
I4ROW_MEAN returns the means of an I4ROW.
-
I4ROW_MIN returns the minimums of an I4ROW.
-
I4ROW_SORT_A ascending sorts the rows of an I4ROW.
-
I4ROW_SORT_D descending sorts the rows of an I4ROW.
-
I4ROW_SORT2_D descending sorts the elements of each row of an I4ROW.
-
I4ROW_SUM returns the sums of the rows of an I4ROW.
-
I4ROW_SWAP swaps two rows of an I4ROW.
-
I4ROW_VARIANCE returns the variances of an I4ROW.
-
I4VEC_AMAX returns the largest magnitude in an I4VEC.
-
I4VEC_AMAX_INDEX returns the index of the maximum absolute value in an I4VEC.
-
I4VEC_AMIN returns the smallest magnitude in an I4VEC.
-
I4VEC_AMIN_INDEX returns the index of the minimum absolute value in an I4VEC.
-
I4VEC_AMINZ returns the smallest nonzero magnitude in an I4VEC.
-
I4VEC_AMINZ_INDEX returns the smallest nonzero magnitude in an I4VEC.
-
I4VEC_ASCEND_SUB computes the longest ascending subsequence of vector.
-
I4VEC_ASCENDS determines if an I4VEC is (weakly) ascending.
-
I4VEC_AXPY adds IA times the vector IX to the vector IY.
-
I4VEC_BRACKET searches a sorted I4VEC for successive brackets of a value.
-
I4VEC_COMPARE compares two I4VEC's.
-
I4VEC_COPY copies an I4VEC.
-
I4VEC_COPY_NEW copies an I4VEC to a "new" I4VEC.
-
I4VEC_CUM computes the cumulutive sum of the entries of an I4VEC.
-
I4VEC_DESCENDS determines if an I4VEC is (weakly) descending.
-
I4VEC_DIRECT_PRODUCT creates a direct product of I4VEC's.
-
I4VEC_DIRECT_PRODUCT2 creates a direct product of I4VEC's.
-
I4VEC_FIRST_INDEX indexes the first occurrence of values in an I4VEC.
-
I4VEC_FRAC searches for the K-th smallest entry in an I4VEC.
-
I4VEC_GCD finds the greatest common divisor of an I4VEC.
-
I4VEC_HEAP_A reorders an I4VEC into a ascending heap.
-
I4VEC_HEAP_D reorders an I4VEC into a descending heap.
-
I4VEC_HEAP_D_EXTRACT extracts the maximum value from a descending heap.
-
I4VEC_HEAP_D_INSERT inserts a new value into a descending heap.
-
I4VEC_HEAP_D_MAX returns the maximum value in a descending heap of integers.
-
I4VEC_HISTOGRAM computes a histogram of the elements of an I4VEC.
-
I4VEC_INDEX returns the location of the first occurrence of a given value.
-
I4VEC_INDEX_DELETE_ALL deletes all occurrences of a value from an indexed sorted list.
-
I4VEC_INDEX_DELETE_DUPES deletes duplicates from an indexed sorted I4VEC.
-
I4VEC_INDEX_DELETE_ONE deletes one copy of an I4 from an indexed sorted I4VEC.
-
I4VEC_INDEX_INSERT inserts an I4 into an indexed sorted I4VEC.
-
I4VEC_INDEX_INSERT_UNIQUE inserts a unique I4 in an indexed sorted I4VEC.
-
I4VEC_INDEX_ORDER sorts an I4VEC using an index vector.
-
I4VEC_INDEX_SEARCH searches for an I4 in an indexed sorted I4VEC.
-
I4VEC_INDEX_SORT_UNIQUE creates a sort index for an I4VEC.
-
I4VEC_INDICATOR sets an I4VEC to the indicator vector.
-
I4VEC_INSERT inserts a value into an I4VEC.
-
I4VEC_MAX returns the value of the maximum element in an I4VEC.
-
I4VEC_MAX_INDEX returns the index of the maximum value in an I4VEC.
-
I4VEC_MAX_INDEX_LAST: index of the last maximum value in an I4VEC.
-
I4VEC_MEAN returns the mean of an I4VEC.
-
I4VEC_MEDIAN returns the median of an unsorted I4VEC.
-
I4VEC_MERGE_A merges two ascending sorted I4VEC's.
-
I4VEC_MIN returns the value of the minimum element in an I4VEC.
-
I4VEC_MIN_INDEX returns the index of the minimum value in an I4VEC.
-
I4VEC_NONZERO_COUNT counts the nonzero entries in an I4VEC.
-
I4VEC_NONZERO_FIRST left-shifts all nonzeros in an I4VEC.
-
I4VEC_ORDER_TYPE: is an I4VEC is (non)strictly ascending/descending?
-
I4VEC_PAIRWISE_PRIME checks whether an I4VEC is pairwise prime.
-
I4VEC_PART partitions an int NVAL into N nearly equal parts.
-
I4VEC_PART_QUICK_A reorders an I4VEC as part of a quick sort.
-
I4VEC_PERMUTE permutes an I4VEC in place.
-
I4VEC_PERMUTE_UNIFORM randomly permutes an I4VEC.
-
I4VEC_PRINT prints an I4VEC.
-
I4VEC_PRINT_SOME prints "some" of an I4VEC.
-
I4VEC_PRODUCT multiplies the entries of an I4VEC.
-
I4VEC_RED divides out common factors in an I4VEC.
-
I4VEC_REVERSE reverses the elements of an I4VEC.
-
I4VEC_ROTATE rotates an I4VEC in place.
-
I4VEC_RUN_COUNT counts runs of equal values in an I4VEC.
-
I4VEC_SEARCH_BINARY_A searches an ascending sorted I4VEC for a value.
-
I4VEC_SEARCH_BINARY_D searches a descending sorted I4VEC for a value.
-
I4VEC_SORT_BUBBLE_A ascending sorts an I4VEC using bubble sort.
-
I4VEC_SORT_BUBBLE_D descending sorts an I4VEC using bubble sort.
-
I4VEC_SORT_HEAP_A ascending sorts an I4VEC using heap sort.
-
I4VEC_SORT_HEAP_D descending sorts an I4VEC using heap sort.
-
I4VEC_SORT_HEAP_INDEX_A does an indexed heap ascending sort of an I4VEC.
-
I4VEC_SORT_HEAP_INDEX_D does an indexed heap descending sort of an I4VEC.
-
I4VEC_SORT_INSERT_A uses an ascending insertion sort on an I4VEC.
-
I4VEC_SORT_INSERT_D uses a descending insertion sort on an I4VEC.
-
I4VEC_SORT_QUICK_A ascending sorts an I4VEC using quick sort.
-
I4VEC_SORT_SHELL_A ascending sorts an I4VEC using Shell's sort.
-
I4VEC_SORTED_UNIQUE finds the unique elements in a sorted I4VEC.
-
I4VEC_SORTED_UNIQUE_COUNT counts unique elements in a sorted I4VEC.
-
I4VEC_SORTED_UNIQUE_HIST histograms the unique elements of a sorted I4VEC.
-
I4VEC_SPLIT "splits" an unsorted I4VEC based on a splitting value.
-
I4VEC_SUM sums the entries of an I4VEC.
-
I4VEC_SWAP swaps two I4VEC's.
-
I4VEC_TRANSPOSE_PRINT prints an I4VEC "transposed".
-
I4VEC_UNIFORM returns a scaled pseudorandom I4VEC.
-
I4VEC_UNIQUE_COUNT counts the unique elements in an unsorted I4VEC.
-
I4VEC_UNIQUE_INDEX indexes the unique occurrence of values in an I4VEC.
-
I4VEC_VALUE_INDEX indexes I4VEC entries equal to a given value.
-
I4VEC_VALUE_NUM counts I4VEC entries equal to a given value.
-
I4VEC_VARIANCE returns the variance of an I4VEC.
-
I4VEC_WIDTH returns the "width" of an I4VEC.
-
I4VEC_ZERO zeroes an I4VEC.
-
I4VEC_ZERO_NEW creates and zeroes an I4VEC.
-
I4VEC2_COMPARE compares pairs of integers stored in two vectors.
-
I4VEC2_PRINT prints an I4VEC2.
-
I4VEC2_SORT_A ascending sorts an I4VEC2.
-
I4VEC2_SORT_D descending sorts an I4VEC2.
-
I4VEC2_SORTED_UNIQUE keeps the unique elements in an I4VEC2.
-
I8_HUGE returns a "huge" I8.
-
I8_MAX returns the maximum of two I8's.
-
I8_MIN returns the smaller of two I8's.
-
I8_POWER returns the value of I^J.
-
I8_REVERSE_BYTES reverses the bytes in an I8.
-
I8_XOR calculates the exclusive OR of two I8's.
-
IJ_NEXT returns the next matrix index.
-
IJ_NEXT_GT returns the next matrix index, with the constraint that I < J.
-
INDEX_BOX2_NEXT_2D produces indices on the surface of a box in 2D.
-
INDEX_BOX2_NEXT_3D produces indices on the surface of a box in 3D.
-
ISBN_CHECK checks an ISBN code.
-
ISBN_FILL fills in a missing digit in an ISBN code.
-
ISBN_TO_I4 converts an ISBN character into an I4.
-
ISET2_COMPARE compares two I2 sets.
-
LCM_12N computes the least common multiple of the integers 1 through N.
-
LVEC_PRINT prints a logical vector.
-
PAUSE_INPUT waits until an input character is entered.
-
PAUSE_SECONDS waits a specified number of seconds.
-
PERM_CHECK checks that a vector represents a permutation.
-
PERM_CYCLE analyzes a permutation.
-
PERM_FREE reports the number of unused items in a partial permutation.
-
PERM_INVERSE inverts a permutation "in place".
-
PERM_PRINT prints a permutation.
-
PERM_UNIFORM selects a random permutation of N objects.
-
POUNDS_TO_KILOGRAMS converts a measurement in pounds to kilograms.
-
PRIME returns any of the first PRIME_MAX prime numbers.
-
PRIME_GE returns the smallest prime greater than or equal to N.
-
R4_ABS returns the absolute value of an R4.
-
R4_ATAN computes the inverse tangent of the ratio Y / X.
-
R4_EPSILON returns the R4 roundoff unit.
-
R4_EXP computes the exponential function, avoiding overflow and underflow.
-
R4_HUGE returns a "huge" R4.
-
R4_MAX returns the maximum of two R4's.
-
R4_MIN returns the minimum of two R4's..
-
R4_NINT returns the nearest integer to an R4.
-
R4_REVERSE_BYTES reverses the four bytes in an R4.
-
R4_SWAP switches two R4's.
-
R4_TINY returns a "tiny" R4.
-
R4_UNIFORM_01 returns a unit pseudorandom R4.
-
R8_ABS returns the absolute value of an R8.
-
R8_ATAN computes the inverse tangent of the ratio Y / X.
-
R8_CAS returns the "casine" of an R8.
-
R8_CEILING rounds an R8 "up" (towards +infinity) to the next integer.
-
R8_CHOOSE computes the binomial coefficient C(N,K) as an R8.
-
R8_CHOP chops an R8 to a given number of binary places.
-
R8_CSQRT returns the complex square root of an R8.
-
R8_CUBE_ROOT returns the cube root of an R8.
-
R8_DIFF computes (X-Y) to a specified accuracy.
-
R8_DIGIT returns a particular decimal digit of an R8.
-
R8_EPSILON returns the R8 roundoff unit.
-
R8_EXP computes the exponential function, avoiding overflow and underflow.
-
R8_FACTORIAL computes the factorial of N.
-
R8_FACTORIAL2 computes the double factorial function.
-
R8_FLOOR rounds an R8 "down" (towards -infinity) to the next integer.
-
R8_FRACTION returns the fraction part of an R8.
-
R8_HUGE returns a "huge" R8.
-
R8_IN_01 is TRUE if an R8 is in the range [0,1].
-
R8_IS_INT determines if an R8 represents an integer value.
-
R8_LOG_10 returns the logarithm base 10 of the absolute value of an R8.
-
R8_LOG_2 returns the logarithm base 2 of the absolute value of an R8.
-
R8_LOG_B returns the logarithm base B of an R8.
-
R8_MANT computes the "mantissa" or "fraction part" of an R8.
-
R8_MAX returns the maximum of two R8's.
-
R8_MIN returns the minimum of two R8's.
-
R8_MOD returns the remainder of R8 division.
-
R8_MODP returns the nonnegative remainder of R8 division.
-
R8_MOP returns the I-th power of -1 as an R8 value.
-
R8_NINT returns the nearest integer to an R8.
-
R8_NORMAL_01 samples the standard normal probability distribution.
-
R8_PI returns the value of PI to 16 digits.
-
R8_POWER computes an integer power of an R8.
-
R8_POWER_FAST computes the P-th power of R, for real R and integer P.
-
R8_PYTHAG computes sqrt ( A**2 + B**2 ), avoiding overflow and underflow.
-
R8_REVERSE_BYTES reverses the bytes in an R8.
-
R8_ROUND2 rounds an R8 to a specified number of binary digits.
-
R8_ROUNDB rounds a number to a given number of digits in a given base.
-
R8_ROUNDX rounds a double precision number.
-
R8_SIGN returns the sign of an R8.
-
R8_SWAP switches two R8's.
-
R8_SWAP3 swaps three R8's.
-
R8_TINY returns a "tiny" R8.
-
R8_TO_R8_DISCRETE maps R to RD in [RMIN, RMAX] with NR possible values.
-
R8_TO_DHMS converts an R8 day value into days, hours, minutes, seconds.
-
R8_TO_I4 maps real X in [XMIN, XMAX] to integer IX in [IXMIN, IXMAX].
-
R8_UNIFORM returns a scaled pseudorandom R8.
-
R8_UNIFORM_01 is a unit pseudorandom R8.
-
R8_UNSWAP3 unswaps three real items.
-
R8_WALSH_1D evaluates the Walsh function of a real scalar argument.
-
R82_CHEBY sets up the Chebyshev abscissas in a double precision interval.
-
R82_PRINT prints an R82.
-
R82_UNIFORM returns a random R82 value in a given range.
-
R82POLY2_PRINT prints a second order polynomial in two variables.
-
R82POLY2_TYPE analyzes a second order polynomial in two variables.
-
R82POLY2_TYPE_PRINT prints the meaning of the output from R82POLY2_TYPE.
-
R82VEC_MAX returns the maximum value in an R82VEC.
-
R82VEC_MIN returns the minimum value in an R82VEC.
-
R82VEC_ORDER_TYPE finds if an R82VEC is (non)strictly ascending/descending.
-
R82VEC_PART_QUICK_A reorders an R82VEC as part of a quick sort.
-
R82VEC_PERMUTE permutes an R82VEC in place.
-
R82VEC_PRINT prints an R82VEC.
-
R82VEC_SORT_HEAP_INDEX_A does an indexed heap ascending sort of an R82VEC.
-
R82VEC_SORT_QUICK_A ascending sorts an R82VEC using quick sort.
-
R83VEC_MAX returns the maximum value in an R83VEC.
-
R83VEC_MIN returns the minimum value in an R83VEC.
-
R83VEC_PART_QUICK_A reorders an R83VEC as part of a quick sort.
-
R83VEC_SORT_QUICK_A ascending sorts an R83VEC using quick sort.
-
R8BLOCK_EXPAND_LINEAR linearly interpolates new data into a 3D block.
-
R8BLOCK_PRINT prints a double precision block (a 3D matrix).
-
R8COL_COMPARE compares two columns in an R8COL.
-
R8COL_FIND seeks a column value in an R8COL.
-
R8COL_FIRST_INDEX indexes the first occurrence of values in an R8COL.
-
R8COL_INSERT inserts a column into an R8COL.
-
R8COL_MAX returns the column maximums of an R8COL.
-
R8COL_MAX_INDEX returns the indices of column maximums in an R8COL.
-
R8COL_MEAN returns the column means of an R8COL.
-
R8COL_MIN returns the column minimums of an R8COL.
-
R8COL_MIN_INDEX returns the indices of column minimums in an R8COL.
-
R8COL_PART_QUICK_A reorders the columns of an R8COL.
-
R8COL_PERMUTE permutes an R8COL in place.
-
R8COL_SORT_HEAP_A ascending heapsorts an R8COL.
-
R8COL_SORT_QUICK_A ascending quick sorts an R8COL.
-
R8COL_SORTED_UNIQUE keeps unique elements in an R8COL.
-
R8COL_SORTED_UNIQUE_COUNT counts unique elements in an R8COL.
-
R8COL_SORTR_A ascending sorts one column of an R8COL, adjusting all entries.
-
R8COL_SUM sums the columns of an R8COL.
-
R8COL_SWAP swaps columns J1 and J2 of an R8COL.
-
R8COL_TO_R8VEC converts an R8COL to an R8VEC.
-
R8COL_UNIQUE_INDEX indexes the unique occurrence of values in an R8COL.
-
R8COL_VARIANCE returns the variances of an R8COL.
-
R8R8_COMPARE compares two R8R8's.
-
R8R8_PRINT prints an R8R8.
-
R8R8R8_COMPARE compares two R8R8R8's.
-
R8R8R8VEC_INDEX_INSERT_UNIQUE inserts a unique R8R8R8 value in an indexed sorted list.
-
R8R8R8VEC_INDEX_SEARCH searches for an R8R8R8 value in an indexed sorted list.
-
R8R8VEC_INDEX_INSERT_UNIQUE inserts a unique R8R8 value in an indexed sorted list.
-
R8R8VEC_INDEX_SEARCH searches for an R8R8 value in an indexed sorted list.
-
R8INT_TO_R8INT maps one R8 interval to another.
-
R8INT_TO_I4INT maps an R8 interval to an integer interval.
-
R8MAT_CHOLESKY_FACTOR computes the Cholesky factor of a symmetric R8MAT.
-
R8MAT_CHOLESKY_SOLVE solves a Cholesky factored linear system A * x = b.
-
R8MAT_COPY copies one R8MAT to another.
-
R8MAT_COPY_NEW copies one R8MAT to a "new" R8MAT.
-
R8MAT_DET computes the determinant of an R8MAT.
-
R8MAT_DET_2D computes the determinant of a 2 by 2 R8MAT.
-
R8MAT_DET_3D computes the determinant of a 3 by 3 R8MAT.
-
R8MAT_DET_4D computes the determinant of a 4 by 4 R8MAT.
-
R8MAT_DET_5D computes the determinant of a 5 by 5 R8MAT.
-
R8MAT_DIAG_ADD_SCALAR adds a scalar to the diagonal of an R8MAT.
-
R8MAT_DIAG_ADD_VECTOR adds a vector to the diagonal of an R8MAT.
-
R8MAT_DIAG_GET_VECTOR gets the value of the diagonal of an R8MAT.
-
R8MAT_DIAG_SET_SCALAR sets the diagonal of an R8MAT to a scalar value.
-
R8MAT_DIAG_SET_VECTOR sets the diagonal of an R8MAT to a vector.
-
R8MAT_EXPAND_LINEAR linearly interpolates new data into an R8MAT.
-
R8MAT_EXPAND_LINEAR2 expands an R8MAT by linear interpolation.
-
R8MAT_GIVENS_POST computes the Givens postmultiplier rotation matrix.
-
R8MAT_GIVENS_PRE computes the Givens premultiplier rotation matrix.
-
R8MAT_HESS approximates a Hessian matrix via finite differences.
-
R8MAT_HOUSE_AXH computes A*H where H is a compact Householder matrix.
-
R8MAT_HOUSE_AXH_NEW computes A*H where H is a compact Householder matrix.
-
R8MAT_HOUSE_FORM constructs a Householder matrix from its compact form.
-
R8MAT_HOUSE_HXA computes H*A where H is a compact Householder matrix.
-
R8MAT_HOUSE_POST computes a Householder post-multiplier matrix.
-
R8MAT_HOUSE_PRE computes a Householder pre-multiplier matrix.
-
R8MAT_IDENTITY sets the square matrix A to the identity.
-
R8MAT_IN_01 is TRUE if the entries of an R8MAT are in the range [0,1].
-
R8MAT_INDICATOR sets up an "indicator" R8MAT.
-
R8MAT_INVERSE_2D inverts a 2 by 2 matrix using Cramer's rule.
-
R8MAT_INVERSE_3D inverts a 3 by 3 matrix using Cramer's rule.
-
R8MAT_INVERSE_4D inverts a 4 by 4 matrix using Cramer's rule.
-
R8MAT_JAC estimates a dense jacobian matrix of the function FX.
-
R8MAT_L_INVERSE inverts a lower triangular R8MAT.
-
R8MAT_L_PRINT prints a lower triangular R8MAT.
-
R8MAT_L_SOLVE solves a lower triangular linear system.
-
R8MAT_L1_INVERSE inverts a unit lower triangular R8MAT.
-
R8MAT_LU computes the LU factorization of a rectangular R8MAT.
-
R8MAT_LT_SOLVE solves a transposed lower triangular linear system.
-
R8MAT_MAX returns the maximum entry of an R8MAT.
-
R8MAT_MAX_INDEX returns the location of the maximum entry of an R8MAT.
-
R8MAT_MAXCOL_MINROW gets the maximum column minimum row of an M by N matrix.
-
R8MAT_MAXROW_MINCOL gets the maximum row minimum column of an M by N matrix.
-
R8MAT_MIN returns the minimum entry of an R8MAT.
-
R8MAT_MIN_INDEX returns the location of the minimum entry of an R8MAT.
-
R8MAT_MINCOL_MAXROW gets the minimum column maximum row of an M by N matrix.
-
R8MAT_MINROW_MAXCOL gets the minimum row maximum column of an M by N matrix.
-
R8MAT_MM multiplies two matrices.
-
R8MAT_MTV multiplies a transposed matrix times a vector.
-
R8MAT_MTXV multiplies a transposed matrix times a vector.
-
R8MAT_MV multiplies a matrix times a vector.
-
R8MAT_MXM multiplies two matrices.
-
R8MAT_MXV multiplies a matrix times a vector.
-
R8MAT_NINT rounds the entries of an R8MAT.
-
R8MAT_NORM_EIS returns the EISPACK norm of an R8MAT.
-
R8MAT_NORM_FRO returns the Frobenius norm of an R8MAT.
-
R8MAT_NULLSPACE computes the nullspace of a matrix.
-
R8MAT_NULLSPACE_SIZE computes the size of the nullspace of a matrix.
-
R8MAT_ORTH_UNIFORM returns a random orthogonal matrix.
-
R8MAT_PLOT "plots" an R8MAT, with an optional title.
-
R8MAT_PLOT_SYMBOL returns a symbol for a double precision number.
-
R8MAT_POLY_CHAR computes the characteristic polynomial of an R8MAT.
-
R8MAT_POWER computes a nonnegative power of an R8MAT.
-
R8MAT_POWER_METHOD applies the power method to a matrix.
-
R8MAT_PRINT prints an R8MAT, with an optional title.
-
R8MAT_PRINT_SOME prints some of an R8MAT.
-
R8MAT_REF computes the row echelon form of a matrix.
-
R8MAT_RREF computes the reduced row echelon form of a matrix.
-
R8MAT_SOLVE uses Gauss-Jordan elimination to solve an N by N linear system.
-
R8MAT_SOLVE_2D solves a 2 by 2 linear system using Cramer's rule.
-
R8MAT_SOLVE_3D solves a 3 by 3 linear system using Cramer's rule.
-
R8MAT_SOLVE2 computes the solution of an N by N linear system.
-
R8MAT_SYMM_EIGEN returns a symmetric matrix with given eigensystem.
-
R8MAT_SYMM_JACOBI applies Jacobi eigenvalue iteration to a symmetric matrix.
-
R8MAT_TO_R8PLU factors a general matrix.
-
R8MAT_TRACE computes the trace of an R8MAT.
-
R8MAT_TRANSPOSE returns the transpose of a matrix.
-
R8MAT_TRANSPOSE_IN_PLACE transposes a square matrix in place.
-
R8MAT_TRANSPOSE_PRINT prints an R8MAT, transposed.
-
R8MAT_TRANSPOSE_PRINT_SOME prints some of an R8MAT, transposed.
-
R8MAT_U_INVERSE inverts an upper triangular R8MAT.
-
R8MAT_U1_INVERSE inverts a unit upper triangular R8MAT.
-
R8MAT_UNIFORM fills a double precision array with scaled pseudorandom values.
-
R8MAT_UNIFORM_01 fills a double precision array with unit pseudorandom values.
-
R8MAT_VAND2 returns the N by N row Vandermonde matrix A.
-
R8MAT_ZERO zeroes an R8MAT.
-
R8MAT_ZERO_NEW returns a new zeroed R8MAT.
-
R8PLU_DET computes the determinant of a real PLU matrix.
-
R8PLU_INVERSE computes the inverse of a real PLU matrix.
-
R8PLU_MUL computes A * x using the PLU factors of A.
-
R8PLU_SOL solves a linear system A*x=b from the PLU factors.
-
R8PLU_TO_R8MAT recovers the matrix A that was factored by R8MAT_TO_R8PLU.
-
R8POLY_DEGREE returns the degree of a polynomial.
-
R8POLY_DERIV returns the derivative of a polynomial.
-
R8POLY_LAGRANGE_0 evaluates the Lagrange factor at a point.
-
R8POLY_LAGRANGE_1 evaluates the first derivative of the Lagrange factor.
-
R8POLY_LAGRANGE_2 evaluates the second derivative of the Lagrange factor.
-
R8POLY_LAGRANGE_COEF returns the coefficients of a Lagrange polynomial.
-
R8POLY_LAGRANGE_FACTOR evaluates the polynomial Lagrange factor at a point.
-
R8POLY_LAGRANGE_VAL evaluates the IPOL-th Lagrange polynomial.
-
R8POLY_ORDER returns the order of a polynomial.
-
R8POLY_PRINT prints out a polynomial.
-
R8POLY_SHIFT adjusts the coefficients of a polynomial for a new argument.
-
R8POLY_VAL_HORNER evaluates a polynomial using Horner's method.
-
R8POLY2_EX finds the extremal point of a parabola determined by three points.
-
R8POLY2_EX2 finds the extremal point of a parabola determined by three points.
-
R8POLY2_ROOT returns the two roots of a quadratic polynomial.
-
R8POLY2_RROOT returns the real parts of the roots of a quadratic polynomial.
-
R8POLY2_VAL evaluates a parabola defined by three data values.
-
R8POLY2_VAL2 evaluates a parabolic function through 3 points in a table.
-
R8POLY3_ROOT returns the three roots of a cubic polynomial.
-
R8POLY4_ROOT returns the four roots of a quartic polynomial.
-
R8ROW_MAX returns the row maximums of an R8ROW.
-
R8ROW_MEAN returns the row means of an R8ROW.
-
R8ROW_MIN returns the row minimums of an R8ROW.
-
R8ROW_SUM returns the sums of the rows of an R8ROW.
-
R8ROW_SWAP swaps two rows of an R8ROW.
-
R8ROW_TO_R8VEC converts an R8ROW into an R8VEC.
-
R8ROW_VARIANCE returns the variances of an R8ROW.
-
R8SLMAT_PRINT prints a strict lower triangular R8MAT.
-
R8VEC_01_TO_AB shifts and rescales data to lie within given bounds.
-
R8VEC_AB_TO_01 shifts and rescales data to lie within [0,1].
-
R8VEC_AB_TO_CD shifts and rescales data to lie within a given pair of bounds.
-
R8VEC_AMAX returns the maximum absolute value in an R8VEC.
-
R8VEC_AMAX_INDEX returns the index of the maximum absolute value in an R8VEC.
-
R8VEC_AMIN returns the minimum absolute value in an R8VEC.
-
R8VEC_AMIN_INDEX returns the index of the minimum absolute value in an R8VEC.
-
R8VEC_BRACKET searches a sorted array for successive brackets of a value.
-
R8VEC_BRACKET2 searches a sorted array for successive brackets of a value.
-
R8VEC_BRACKET3 finds the interval containing or nearest a given value.
-
R8VEC_CIRCULAR_VARIANCE returns the circular variance of an R8VEC.
-
R8VEC_COMPARE compares two R8VEC's.
-
R8VEC_CONVOLVE_CIRC returns the discrete circular convolution of two R8VEC's.
-
R8VEC_COPY copies an R8VEC.
-
R8VEC_COPY_NEW copies an R8VEC to a "new" R8VEC.
-
R8VEC_CROSS_3D computes the cross product of two R8VEC's in 3D.
-
R8VEC_DIF computes coefficients for estimating the N-th derivative.
-
R8VEC_DIRECT_PRODUCT creates a direct product of R8VEC's.
-
R8VEC_DIRECT_PRODUCT2 creates a direct product of R8VEC's.
-
R8VEC_DISTANCE returns the Euclidean distance between two R8VEC's.
-
R8VEC_DISTINCT is true if the entries in an R8VEC are distinct.
-
R8VEC_DIVIDE divides an R8VEC by a nonzero scalar.
-
R8VEC_DOT computes the dot product of a pair of R8VEC's.
-
R8VEC_EQ is true if every pair of entries in two R8VEC's is equal.
-
R8VEC_EVEN returns N real values, evenly spaced between ALO and AHI.
-
R8VEC_EVEN_SELECT returns the I-th of N evenly spaced values in [ XLO, XHI ].
-
R8VEC_EVEN2 linearly interpolates new numbers into an R8VECa.
-
R8VEC_EVEN3 evenly interpolates new data into an R8VEC.
-
R8VEC_EXPAND_LINEAR linearly interpolates new data into an R8VEC.
-
R8VEC_FIRST_INDEX indexes the first occurrence of values in an R8VEC.
-
R8VEC_FRAC searches for the K-th smallest entry in an R8VEC.
-
R8VEC_FRACTION returns the fraction parts of an R8VEC.
-
R8VEC_GT == ( A1 > A2 ) for two R8VEC's.
-
R8VEC_HEAP_A reorders an R8VEC into a ascending heap.
-
R8VEC_HEAP_D reorders an R8VEC into a descending heap.
-
R8VEC_HISTOGRAM histograms an R8VEC.
-
R8VEC_HOUSE_COLUMN defines a Householder premultiplier that "packs" a column.
-
R8VEC_IN_01 is TRUE if the entries of an R8VEC are in the range [0,1].
-
R8VEC_INDEX_DELETE_ALL deletes all occurrences of a value from an indexed sorted list.
-
R8VEC_INDEX_DELETE_DUPES deletes duplicates from an indexed sorted list.
-
R8VEC_INDEX_DELETE_ONE deletes one copy of a value from an indexed sorted list.
-
R8VEC_INDEX_INSERT inserts a value in an indexed sorted list.
-
R8VEC_INDEX_INSERT_UNIQUE inserts a unique value in an indexed sorted list.
-
R8VEC_INDEX_ORDER sorts an R8VEC using an index vector.
-
R8VEC_INDEX_SEARCH searches for a value in an indexed sorted R8VEC.
-
R8VEC_INDEX_SORT_UNIQUE creates a sort index for an R8VEC.
-
R8VEC_INDICATOR sets an R8VEC to the indicator vector {1,2,3...}.
-
R8VEC_INSERT inserts a value into an R8VEC.
-
R8VEC_IS_INT is TRUE if an R8VEC is integral.
-
R8VEC_LENGTH returns the Euclidean length of an R8VEC
-
R8VEC_LT == ( A1 < A2 ) for two R8VEC's.
-
R8VEC_MASK_PRINT prints a masked R8VEC.
-
R8VEC_MAX returns the value of the maximum element in an R8VEC.
-
R8VEC_MAX_INDEX returns the index of the maximum value in an R8VEC.
-
R8VEC_MEAN returns the mean of an R8VEC.
-
R8VEC_MEDIAN returns the median of an unsorted R8VEC.
-
R8VEC_MIN returns the value of the minimum element in an R8VEC.
-
R8VEC_MIN_INDEX returns the index of the minimum value in an R8VEC.
-
R8VEC_MIRROR_NEXT steps through all sign variations of an R8VEC.
-
R8VEC_NINT rounds the entries of an R8VEC.
-
R8VEC_NORM_L1 returns the L1 norm of an R8VEC.
-
R8VEC_NORM_L2 returns the L2 norm of an R8VEC.
-
R8VEC_NORM_LI returns the L-infinity norm of an R8VEC.
-
R8VEC_NORM_LP returns the LP norm of an R8VEC.
-
R8VEC_NORMAL_01 returns a unit pseudonormal R8VEC.
-
R8VEC_ORDER_TYPE determines if an R8VEC is (non)strictly ascending/descending.
-
R8VEC_PART_QUICK_A reorders an R8VEC as part of a quick sort.
-
R8VEC_PERMUTE permutes an R8VEC in place.
-
R8VEC_PERMUTE_UNIFORM randomly permutes an R8VEC.
-
R8VEC_POLARIZE decomposes an R8VEC into normal and parallel components.
-
R8VEC_PRINT prints an R8VEC.
-
R8VEC_PRINT_SOME prints "some" of an R8VEC.
-
R8VEC_PRODUCT returns the product of the entries of an R8VEC.
-
R8VEC_RANGE finds the range of Y's within a restricted X range.
-
R8VEC_RANGE_2 updates a range to include a new R8VEC
-
R8VEC_READ reads an R8VEC from a file.
-
R8VEC_READ_SIZE reads the size of an R8VEC from a file.
-
R8VEC_REVERSE reverses the elements of an R8VEC.
-
R8VEC_ROTATE "rotates" the entries of an R8VEC in place.
-
R8VEC_SEARCH_BINARY_A searches an ascending sorted R8VEC.
-
R8VEC_SORT_BUBBLE_A ascending sorts an R8VEC using bubble sort.
-
R8VEC_SORT_BUBBLE_D descending sorts an R8VEC using bubble sort.
-
R8VEC_SORT_HEAP_A ascending sorts an R8VEC using heap sort.
-
R8VEC_SORT_HEAP_D descending sorts an R8VEC using heap sort.
-
R8VEC_SORT_HEAP_INDEX_A does an indexed heap ascending sort of an R8VEC
-
R8VEC_SORT_HEAP_INDEX_D does an indexed heap descending sort of an R8VEC.
-
R8VEC_SORT_HEAP_MASK_A: indexed heap ascending sort of a masked R8VEC.
-
R8VEC_SORT_INSERT_A ascending sorts an R8VEC using an insertion sort.
-
R8VEC_SORT_INSERT_INDEX_A ascending index sorts an R8VEC using insertion.
-
R8VEC_SORT_QUICK_A ascending sorts an R8VEC using quick sort.
-
R8VEC_SORT_SHELL_A ascending sorts an R8VEC using Shell's sort.
-
R8VEC_SORTED_MERGE_A merges two ascending sorted R8VEC's.
-
R8VEC_SORTED_NEAREST returns the nearest element in a sorted R8VEC.
-
R8VEC_SORTED_SPLIT "splits" a sorted R8VEC, given a splitting value.
-
R8VEC_SORTED_UNIQUE finds the unique elements in a sorted R8VEC.
-
R8VEC_SORTED_UNIQUE_COUNT counts unique elements in a sorted R8VEC.
-
R8VEC_SORTED_UNIQUE_HIST histograms unique elements of a sorted R8VEC.
-
R8VEC_SPLIT "splits" an unsorted R8VEC based on a splitting value.
-
R8VEC_STD returns the standard deviation of an R8VEC.
-
R8VEC_SUM returns the sum of an R8VEC.
-
R8VEC_SWAP swaps the entries of two R8VEC's.
-
R8VEC_UNIFORM returns a scaled pseudorandom R8VEC.
-
R8VEC_UNIFORM_01 returns a unit pseudorandom R8VEC.
-
R8VEC_UNIQUE_COUNT counts the unique elements in an unsorted R8VEC.
-
R8VEC_UNIQUE_INDEX indexes the unique occurrence of values in an R8VEC.
-
R8VEC_UNIT_SUM normalizes an R8VEC to have unit sum.
-
R8VEC_VARIANCE returns the variance of an R8VEC.
-
R8VEC_WRITE writes an R8VEC to a file.
-
R8VEC_ZERO zeroes an R8VEC.
-
R8VEC_ZERO_NEW creates and zeroes an R8VEC.
-
R8VEC2_COMPARE compares two elements of an R8VEC2.
-
R8VEC2_PRINT prints an R8VEC2.
-
R8VEC2_PRINT_SOME prints "some" of an R8VEC2.
-
R8VEC2_SORT_A ascending sorts an R8VEC2.
-
R8VEC2_SORT_D descending sorts an R8VEC2.
-
R8VEC2_SORT_HEAP_INDEX_A does an indexed heap ascending sort of an R8VEC2.
-
R8VEC2_SORTED_UNIQUE keeps the unique elements in an R8VEC2.
-
R8VEC2_SORTED_UNIQUE_INDEX indexes unique elements in a sorted R8VEC2.
-
R8VEC2_SUM_MAX_INDEX returns the index of the maximum sum of two R8VEC's.
-
R8VEC3_PRINT prints a triple of real vectors.
-
R8VEC3_VTRIPLE computes the vector triple product of three vectors.
-
RADIANS_TO_DEGREES converts an angle from radians to degrees.
-
RAND_INITIALIZE initializes the random number generator.
-
RANDOM_INITIALIZE initializes the RANDOM random number generator.
-
RAT_FACTOR factors a rational value into a product of prime factors.
-
RICKEY evaluates Branch Rickey's baseball index.
-
ROOTS_TO_I4POLY converts polynomial roots to polynomial coefficients.
-
ROOTS_TO_R8POLY converts polynomial roots to polynomial coefficients.
-
S_EQI reports whether two strings are equal, ignoring case.
-
S_LEN_TRIM returns the length of a string to the last nonblank.
-
S_TO_I4 reads an integer value from a string.
-
S_TO_I4VEC reads an I4VEC from a string.
-
S_TO_R8 reads an R8 from a string.
-
S_TO_R8VEC reads an R8VEC from a string.
-
SORT_HEAP_EXTERNAL externally sorts a list of items into ascending order.
-
TIMESTAMP prints the current YMDHMS date as a time stamp.
-
TUPLE_NEXT2 computes the next element of an integer tuple space.
-
TVEC_EVEN computes an evenly spaced set of angles between 0 and 2*PI.
-
TVEC_EVEN2 computes evenly spaced angles between 0 and 2*PI.
-
TVEC_EVEN3 computes an evenly spaced set of angles between 0 and 2*PI.
-
TVEC_EVEN_BRACKET computes evenly spaced angles between THETA1 and THETA2.
-
TVEC_EVEN_BRACKET2 computes evenly spaced angles from THETA1 to THETA2.
-
TVEC_EVEN_BRACKET3 computes evenly spaced angles from THETA1 to THETA2.
-
UPC_CHECK_DIGIT returns the check digit of a UPC.
You can go up one level to
the C++ source codes.
Last revised on 03 October 2008.