C Source Codes


  1. args, a program which reports the command line arguments with which it was invoked;
  2. asa005, a library which evaluates the lower tail of the noncentral Student's T distribution; this is a C version of Applied Statistics Algorithm 5;
  3. asa006, a library which computes the Cholesky factor of a positive definite symmetric matrix; this is a C version of Applied Statistics Algorithm 6;
  4. asa007, a library which computes the inverse of a positive definite symmetric matrix; this is a C version of Applied Statistics Algorithm 7;
  5. asa032, a library which evaluates the incomplete Gamma function; this is a C version of Applied Statistics Algorithm 32;
  6. asa047, a library which minimizes a scalar function of several variables using the Nelder-Mead algorithm; this is a C version of Applied Statistics Algorithm 47;
  7. asa058, a library which carries out K-means clustering of data; this is a C version of Applied Statistics Algorithm 58;
  8. asa063, a library which evaluates the incomplete Beta function; this is a C version of Applied Statistics Algorithm 63;
  9. asa066, a library which computes the cumulative density function of the standard normal distribution; this is a C version of Applied Statistics Algorithm 66;
  10. asa076, a library which evaluates Owen's T function; this is a C version of Applied Statistics Algorithm 76;
  11. asa091, a library which computes the percentage points of the Chi-square distribution; this is a C version of Applied Statistics Algorithm 91;
  12. asa103, a library which evaluates the digamma or psi function; this is a C version of Applied Statistics Algorithm 103;
  13. asa109, a library which inverts the incomplete Beta function; this is a C version of Applied Statistics Algorithm 109;
  14. asa111, a library which evaluates the percentage points of the normal distribution; this is a C version of Applied Statistics Algorithm 111;
  15. asa113, a library which clusters data using the Banfield and Bassill transfer and swap algorithm; this is a C version of Applied Statistics Algorithm 113;
  16. asa121, a library which evaluates the trigamma function; this is a C version of Applied Statistics Algorithm 121;
  17. asa136, a library which clusters data using the Hartigan and Wong algorithm; this is a C version of Applied Statistics Algorithm 136;
  18. asa144, a library which randomly generates tables with given row and column sums; this is a C version of Applied Statistics Algorithm 144;
  19. asa147, a library which evaluates the incomplete Gamma function; this is a C++ version of Applied Statistics Algorithm 147;
  20. asa152, a library which evaluates point and cumulative probabilities associated with the hypergeometric distribution; this is a C version of Applied Statistics Algorithm 152;
  21. asa159, a library which computes a random table with given row and column sums; this is a C version of Applied Statistics Algorithm 159;
  22. asa172, a library which simulates the generation of a set of multi-indices by nested DO-Loops; this is a C version of Applied Statistics Algorithm 172;
  23. asa183, a library which implements the Wichman-Hill pseudorandom number generator; this is a C version of Applied Statistics Algorithm 183;
  24. asa226, a library which evaluates the noncentral incomplete Beta function; this is a C version of Applied Statistics Algorithm 226;
  25. asa239, a library which evaluates the incomplete Gamma function; this is a C version of Applied Statistics Algorithm 239;
  26. asa241, a library which computes the inverse of the normal CDF; this is a C version of Applied Statistics Algorithm 241;
  27. asa243, a library which evaluates the lower tail of the noncentral Student's T distribution; this is a C version of Applied Statistics Algorithm 243;
  28. asa245, a library which evaluates the logarithm of the Gamma function; this is a C version of Applied Statistics Algorithm 245;
  29. asa299, a library which computes the lattice points (integer coordinates) in an M-dimensional simplex; this is a C version of Applied Statistics Algorithm 299;
  30. asa310, a library which evaluates the noncentral incomplete Beta function; this is a C version of Applied Statistics Algorithm 310;
  31. ascii_to_mri, a program which restores MRI data to its original binary format, having been previously converted to an ASCII text file.
  32. ball_grid, a library which computes grid points inside a 3D ball.
  33. bernstein, a library which evaluates the Bernstein polynomials;
  34. beta_nc, a library which evaluates the CDF of the noncentral Beta distribution;
  35. bio, a library which manages binary I/O, by Greg Hood.
  36. black_scholes, a library which implements some simple approaches to the Black-Scholes option valuation theory, by Desmond Higham.
  37. blas1, a library which contains the Basic Linear Algebra Subprograms (BLAS) for level 1 (vector-vector operations), for single and double precision, and for real and complex arithmetic.
  38. blas1_c, a library of the Level 1 Basic Linear Algebra Subprograms, using single precision complex arithmetic;
  39. blas1_d, a library of the Level 1 Basic Linear Algebra Subprograms, using double precision real arithmetic;
  40. blas1_s, a library of the Level 1 Basic Linear Algebra Subprograms, using single precision real arithmetic;
  41. blas1_z, a library of the Level 1 Basic Linear Algebra Subprograms, using double precision complex arithmetic;
  42. box_behnken, a library which computes a Box-Behnken design, that is, a set of arguments to sample the behavior of a function of multiple parameters;
  43. brent, a library which contains routines for finding zeroes or minima of a scalar function of a scalar variable, without the use of derivative information, by Richard Brent.
  44. burgers_solution, a library which evaluates an exact solution of the time-dependent 1D viscous Burgers equation.
  45. c, examples which illustrate some of the features of the C programming language.
  46. c_calls_f77, programs which illustrate a C program calling a FORTRAN77 subroutine.
  47. c_calls_f90, programs which illustrate a C program calling a FORTRAN90 subroutine.
  48. c_intrinsics, a program which illustrates the use of intrinsic functions supplied by the C language.
  49. c4_complex_lib, a library which defines a single precision complex variable or "C4" as a structure, and implements certain corresponding elementary functions.
  50. c4lib, a library which implements certain elementary functions for "C4" or single precision complex variables using the C99 "float complex" datatype.
  51. c8_complex_lib, a library which defines a double precision complex variable or "C8" as a structure, and implements certain corresponding elementary functions.
  52. c8lib, a library which implements certain elementary functions for "C8" or double precision complex variables using the C99 standard "double complex" datatype.
  53. chebyshev, a library which computes the Chebyshev interpolant/approximant to a given function over an interval.
  54. chrpak, a library which can manipulate characters and strings;
  55. circle_arc_grid, a program which computes grid points along a circular arc.
  56. circle_grid, a library which computes grid points inside a circle.
  57. cnoise, a library which generates samples of noise obeying a 1/f^alpha power law, by Miroslav Stoyanov.
  58. collatz_recursive, a library which demonstrates recursive programming by considering the simple Collatz 3n+1 problem.
  59. colored_noise, a library which generates samples of noise obeying a 1/f^alpha power law.
  60. combination_lock, a program which simulates the process of determining the secret combination of a lock.
  61. communicator_mpi, a program which creates new communicators involving a subset of initial set of MPI processes in the default communicator MPI_COMM_WORLD.
  62. compass_search, a library which seeks the minimizer of a scalar function of several variables using compass search, a direct search algorithm that does not use derivatives.
  63. complex_numbers, a program which demonstrates some simple features involved in the use of complex numbers in C programming.
  64. cordic, a library which computes a few special functions using the CORDIC algorithm.
  65. csparse, a library which carries out the direct solution of sparse linear systems, by Timothy Davis.
  66. cyclic_reduction, a library which solves a tridiagonal linear system using cyclic reduction;
  67. diaphony, a program which reads a file of N points in M dimensions and computes its diaphony, a measure of point dispersion.
  68. dijkstra, a program which runs a simple example of Dijkstra's minimum distance algorithm for graphs.
  69. dijkstra_openmp, a program which uses OpenMP to parallelize a simple example of Dijkstra's minimum distance algorithm for graphs.
  70. dislin, examples which illustrate the use of DISLIN, a scientific graphics package.
  71. divdif, a library which computes divided difference polynomials from data;
  72. ellipse_grid, a library which computes grid points inside an ellipse.
  73. ellipsoid_grid, a library which computes grid points inside a 3D ellipsoid.
  74. f77split, a program which splits a file containing multiple FORTRAN77 routines into separate files;
  75. f90split, a program which splits a file containing multiple FORTRAN90 routines into separate files;
  76. fd_predator_prey, a program which solves a pair of predator prey ODE's using a finite difference approximation.
  77. fd1d_burgers_lax, a program which applies the finite difference method and the Lax Wendroff method to solve the non-viscous time-dependent Burgers equation in one spatial dimension.
  78. fd1d_burgers_leap, a program which applies the finite difference method and the leapfrog approach to solve the non-viscous time-dependent Burgers equation in one spatial dimension.
  79. fd1d_bvp, a program which applies the finite difference method to a two point boundary value problem in one spatial dimension.
  80. fd1d_heat_explicit, a library which implements a finite difference solution, explicit in time, of the time dependent 1D heat equation;
  81. fd1d_heat_implicit, a program which implements a finite difference solution, implicit in time, of the time dependent 1D heat equation;
  82. fd1d_heat_steady, a program which implements a finite difference solution for the steady (time independent) 1D heat equation;
  83. fd1d_wave, a program which applies the finite difference method to solve the time-dependent wave equation in one spatial dimension.
  84. fem1d, a program which applies the finite element method, using piecewise linear basis functions, to a linear two point boundary value problem in 1D;
  85. fem1d_bvp_linear, a program which applies the finite element method, with piecewise linear elements, to a two point boundary value problem in one spatial dimension, and compares the computed and exact solutions with the L2 and seminorm errors.
  86. fem1d_heat_steady, a program which implements the finite element method for the steady (time independent) 1D heat equation;
  87. fem2d_poisson_rectangle_linear, a program which solves the 2D Poisson equation on a rectangle, using the finite element method, and piecewise linear triangular elements.
  88. feynman_kac_2d, a program which demonstrates the use of the Feynman-Kac algorithm to solve Poisson's equation in a 2D ellipse by averaging stochastic paths to the boundary.
  89. feynman_kac_3d, a program which demonstrates the use of the Feynman-Kac algorithm to solve Poisson's equation in a 3D ellipsoid by averaging stochastic paths to the boundary.
  90. fft_openmp, a program which demonstrates the computation of a Fast Fourier Transform in parallel, using OpenMP.
  91. fft_serial, a program which computes a Fast Fourier Transform, and is intended as a starting point for implementing an OpenMP parallel version.
  92. fftw3, examples which illustrate the use of FFTW3, a library of routines for Fast Fourier Transforms, by Matteo Frigo and Steven Johnson.
  93. filum, a library which performs various operations with files;
  94. flood_opengl, a program which uses OpenGL to allow the user to select regions of an image and flood them with color, by Art Wetzel.
  95. floyd, a library which implements Floyd's algorithm for finding the shortest distance between pairs of nodes on a directed graph.
  96. fn, a library which evaluates elementary and special functions, by Wayne Fullerton.
  97. forest_fire_simulation, a program which models the occurrence of fires in a forest, and displays the status of the forest using X Windows, by Michael Creutz.
  98. gcc_intrinsics, a program which demonstrates or tests some of the intrinsic functions made available by the Gnu GCC compiler for C.
  99. gcc_quadmath, a program which illustrates the use of quadruple precision real arithmetic, as provided on some systems by the Gnu GCC compiler for C.
  100. geometry, a library which carries out geometrical algorithms for 2D, 3D, ND;
  101. gnuplot_i, a library which allows an executing C, C++ or FORTRAN program to interact with the GNUPLOT graphics program, by Nicholas Devillard.
  102. gnuplot_i_examples, programs which demonstrate the use of the GNUPLOT_I library for interactive runtime GNUPLOT graphics.
  103. gprof, examples which illustrate the use of the GPROF program performance monitor;
  104. graphchk, a program which checks that a METIS graph file has the proper format;
  105. graphics_examples, programs which illustrate how various kinds of data can be displayed and analyzed graphically.
  106. haar, a library which computes the Haar transform of data.
  107. heat_mpi, a program which demonstrates the use of MPI, by solving the 1D time dependent heat equation.
  108. heated_plate, a program which solves the steady state heat equation in a 2D rectangular region, and is intended as a starting point for implementing an OpenMP parallel version.
  109. heated_plate_openmp, a program which solves the steady (time independent) heat equation in a 2D rectangular region, using OpenMP to run in parallel.
  110. hello, a program which prints out "Hello, world!".
  111. hello_mpi, a program which prints out "Hello, world!" using MPI for parallel programming.
  112. hello_openmp, a program which prints out "Hello, world!" within the OpenMP parallel programming environment.
  113. hermite, a library which computes the Hermite interpolant, a polynomial that matches function values and derivatives.
  114. hermite_cubic, a library which can compute the value, derivatives or integral of a Hermite cubic polynomial, or manipulate an interpolating function made up of piecewise Hermite cubic polynomials.
  115. i4lib, a library which contains many utility routines, using "I4" or "single precision integer" arithmetic.
  116. i8lib, a library which contains many utility routines, using "I8" or "double precision integer" arithmetic.
  117. ice_io, a library which reads or writes ICE grid files stored in NETCDF format.
  118. ice_to_mesh, a program which reads a NETCDF file containing an ICE dataset and rewrites the information as a MESH file.
  119. image_components, a library which seeks the connected nonzero or nonblack components of an image or integer array.
  120. image_denoise, a library which applies simple filtering operations to a noisy image.
  121. image_edge, a library which demonstrates a simple procedure for edge detection in images.
  122. is_serial, a program which is a serial version of the NAS Parallel Benchmark IS (integer sort).
  123. ising_2d_simulation, a program which simulates the evolution of a 2D array of positive and negative charges, each of which is likely to flip to be in agreement with neighbors.
  124. kmetis, a program which uses the METIS library to partition the nodes of a graph in a balanced way, useful for parallel processing;
  125. kronrod, a library which can compute a Gauss and Gauss-Kronrod pair of quadrature rules of arbitrary order, by Robert Piessens, Maria Branders.
  126. laplace_mpi, a program which solves Laplace's equation on a rectangle, using MPI for parallel execution.
  127. latinize, a library which adjusts N points in M dimensions to form a Latin Hypercube;
  128. legendre_rule_fast, a program which uses a fast (order N) algorithm to compute a Gauss-Legendre quadrature rule of given order.
  129. life_opengl, a program which uses OpenGL to display the evolution of John Conway's Game of Life, by Simon Green.
  130. lights_out_opengl, a program which sets up a Lights Out game and allows the user to solve it, using the OpenGL graphics window.
  131. linpack, a library which solves linear systems for a variety of matrix storage schemes, real or complex arithmetic, and single or double precision.
  132. linpack_bench, a program which is a version of the LINPACK benchmark program;
  133. linpack_d, a library which factors matrices in a variety of formats, and solving the associated linear systems, using double precision real arithmetic;
  134. linpack_s, a library which factors matrices in a variety of formats, and solving the associated linear systems, using single precision real arithmetic;
  135. linplus, a library which factors/solves/multiplies matrices in a variety of formats;
  136. llsq, a library which solves the simple linear least squares problem of finding the formula of a straight line y=a*x+b which minimizes the root-mean-square error to a set of N data points.
  137. machar, a library which dynamically computes the value of various machine characteristic constants;
  138. machine, a library which returns tabulated values of the constants associated with computer arithmetic
  139. makefiles, a directory of example programs which illustrate the use of MAKEFILES for maintaining a software project;
  140. mandelbrot, a program which generates an ASCII Portable Pixel Map (PPM) image of the Mandelbrot set;
  141. mandelbrot_ascii, a program which generates an ASCII TEXT image of the Mandelbrot set, using just two lines of C code.
  142. mandelbrot_ppm, a program which generates a binary Portable Pixel Map (PPM) image of the Mandelbrot set, by Eric Weeks.
  143. matmul, a program which carries out a matrix multiplication benchmark;
  144. matrix_exponential, a library which demonstrates some simple approaches to the problem of computing the exponential of a matrix.
  145. md, a program which carries out a molecular dynamics simulation, and is intended as a starting point for implementing an OpenMP parallel version.
  146. md_openmp, a program which carries out a molecular dynamics simulation in parallel using OpenMP.
  147. memory_test, a program which tests the memory available on the computer by declaring and using big vectors.
  148. mesh_io, a library which can read or write MESH files, which can be used to define the geometry of a finite element mesh in 2D or 3D, using triangles, quadrilaterals, tetrahedrons or hexahedrons.
  149. mesh_to_ice, a program which reads the ICE dataset information from a MESH files and rewrites it to a NETCDF file.
  150. mesh2dual, a program which used the METIS library to convert a finite element mesh to a dual graph.
  151. mesh2nodal, a program which uses the METIS library to convert a finite element mesh to a nodal graph.
  152. metis, a library which partitions the nodes of a graph or the elements of a mesh, for division among a number of parallel processes, or to reorder the variables in a sparse matrix to minimize fillin;
  153. mgmres, a library which applies the restarted GMRES algorithm to a sparse linear system, by Lili Ju;
  154. mgs, a library which is an example of legacy code, which the student is encouraged to study, understand, and document. This example is due to Diane O'Leary.
  155. mixed, a directory of example programs which illustrate the use of mixed language programming in which the main routine is written in C;
  156. mm_io, a library which reads and writes a Matrix Market (MM) Sparse Matrix File;
  157. mpi, examples which illustrate the use of the MPI Message Passing Interface library, for parallel programming;
  158. mpi_stubs, a library which may be used if a parallel program is to be compiled, loaded and run in a serial machine.
  159. mri_to_ascii, a program which converts the binary data in an MRI file to ASCII text.
  160. mri_to_pgm, a program which converts the binary data in an MRI file to a sequence of PGM image files.
  161. multigrid_poisson_1d, a library which applies the multigrid method to a discretized version of the 1D Poisson equation.
  162. multitask_mpi, a program which demonstrates how to multitask, that is, to execute several unrelated and distinct tasks simultaneously, using MPI for parallel execution.
  163. multitask_openmp, a program which demonstrates how to multitask, that is, to execute several unrelated and distinct tasks simultaneously, using OpenMP for parallel execution.
  164. mxm, a program which sets up a matrix multiplication problem A=B*C of arbitrary size, and compares the time required for IJK, IKJ, JIK, JKI, KIJ and KJI orderings of the loops.
  165. mxm_openmp, a program which computes a dense matrix product C=A*B, using OpenMP for parallel execution.
  166. mxm_serial, a program which sets up a matrix multiplication problem A=B*C, intended as a starting point for implementing a parallel version.
  167. mxv, a program which compares the performance of (for i, for j) loops and (for j, for i) loops for computing the product of an MxN matrix A and an N vector X.
  168. mxv_openmp, a program which compares the performance of the matrix multiplication problem y=A*x, with and without parallelization by OpenMP.
  169. nas, a program which runs the NASA kernel benchmark.
  170. netcdf, a directory of example programs which read and write NETCDF files.
  171. normal, a library which generates pseudorandom normal values;
  172. nsasm, a library which computes the jacobian matrix associated with a finite element approximation of the incompressible steady Navier-Stokes equations in 2D, and to store these as a sparse matrix, by Per-Olof Persson.
  173. obj_to_ply, a program which converts a 3D graphics file from OBJ format to PLY format format, by Greg Turk.
  174. ode, a library which solves a system of ordinary differential equations, by Shampine and Gordon;
  175. ode_moshier, a library which implements the Adams-Bashforth-Moulton and Runge-Kutta (RK) methods of solving systems of ordinary differential equations, by Steven Moshier.
  176. oemetis, a program which uses the METIS library to reorder the variables in a sparse matrix.
  177. onmetis, a program, using the METIS library, which can reorder the variables in a sparse matrix.
  178. opengl, examples which illustrate the use of the OpenGL graphics library;
  179. openmp, examples which illustrate the use of the OpenMP interface for parallel programming shared memory system;
  180. openmp_stubs, a stub library, which is a dummy implementation of the OpenMP routines, and can be used to compile, load, and run a program using OpenMP on a system which does not have OpenMP installed.
  181. optimize, a program which looks at the use of automatic optimization by the compiler to make the executable code run faster.
  182. owens, a library which evaluates Owen's T function;
  183. paranoia, a program which checks the accuracy of the floating point arithmetic on a computer.
  184. partdmesh, a program, using the METIS library, which can partition a finite element mesh after constructing the dual graph.
  185. partition_problem, a library which seeks solutions of the partition problem, splitting a set of integers into two subsets with equal sum.
  186. partnmesh, a program, using the METIS library, which can partition a finite element mesh after constructing the nodal graph.
  187. pbma_io, a library which reads or writes an ASCII Portable Bit Map (PBM) bit map graphics file;
  188. pbmlib, a library which reads or writes graphics files in the Portable Bit Map (PBM) format;
  189. pcl_read, a program which reads a PCL file and extracts the numeric data;
  190. pgma_io, a library which reads or writes ASCII Portable Gray Map (PGM) 2D grayscale graphics files;
  191. pig_latin, a program which converts its input to Pig Latin; a winner of the International Obfuscated C Code Competition in the Most Humorous category, by Don Dodson;
  192. pink_noise, a library which computes a pink noise signal obeying a 1/f power law.
  193. plato_ply, a program which writes a PLY graphics file for any Platonic solid, by Greg Turk.
  194. ply_io, a library which reads or writes a 3D graphics file in PLY format, by Greg Turk;
  195. ply_to_iv, a program which converts a 3D graphics file from PLY format to Inventor format, by Greg Turk.
  196. ply_to_obj, a program which converts a 3D graphics file from PLY format to OBJ format, by Greg Turk.
  197. point_merge, a library which considers N points in M dimensional space, and counts or indexes the unique or tolerably unique items.
  198. poisson_openmp, a program which computes an approximate solution to the Poisson equation in a rectangle, using the Jacobi iteration to solve the linear system, and OpenMP to carry out the Jacobi iteration in parallel.
  199. poisson_serial, a program which computes an approximate solution to the Poisson equation in a rectangle, and is intended as the starting point for the creation of a parallel version.
  200. polpak, a library which evaluates a variety of mathematical functions, including Chebyshev, Gegenbauer, Hermite, Jacobi, Laguerre, Legendre polynomials, and the Collatz sequence.
  201. power_method, a library which carries out the power method for finding a dominant eigenvalue and its eigenvector.
  202. ppma_io, a library which reads or writes an ASCII Portable Pixel Map (PPM) graphics file;
  203. prime_mpi, a program which counts the number of primes between 1 and N, using MPI for parallel execution.
  204. prime_openmp, a program which counts the number of primes between 1 and N, using OpenMP for parallel execution.
  205. prime_serial, a program which counts the number of primes between 1 and N, and is intended as a starting point for a parallel version.
  206. pthreads, examples which illustrate the use of the POSIX thread library to carry out parallel program execution.
  207. quad_mpi, a program which applies a quadrature rule to estimate an integral, working in parallel by using MPI;
  208. quad_openmp, a program which applies a quadrature rule to estimate an integral over a 1D interval, using OpenMP for parallel execution;
  209. quad_serial, a program which applies a quadrature rule to estimate an integral, intended as a starting point for parallelization exercises.
  210. quad2d_openmp, a program which applies a product quadrature rule to estimate an integral over a 2D rectangle, using OpenMP for parallel execution;
  211. quad2d_serial, a program which applies a product quadrature rule to estimate an integral over a 2D rectangle, intended as a starting point for parallelization exercises.
  212. quadrule, a library which defines quadrature rules for approximating integrals;
  213. qvoronoi, a program which computes the Voronoi diagram of a pointset in M dimensions (part of the QHULL package);
  214. r4lib, a library which contains many utility routines, using single precision real (R4) arithmetic.
  215. r8lib, a library which contains many utility routines, using double precision real (R8) arithmetic.
  216. rand48, a program which demonstrates the use of the RAND48 family of random number generators available in the C/C++ standard library.
  217. randlc, a library which generates a sequence of pseudorandom numbers, used by the NAS Benchmark programs.
  218. random_mpi, a program which demonstrates one way to generate the same sequence of random numbers for both sequential execution and parallel execution under MPI.
  219. rbox, a program which generates random pointsets for testing computational geometry algorithms;
  220. rk4, a library which applies the fourth order Runge-Kutta (RK) algorithm to estimate the solution of an ordinary differential equation at the next time step.
  221. rkf45, a library which applies the Runge-Kutta-Fehlberg (RKF) algorithm to solve a system of ordinary differential equations;
  222. sandia_rules, a library which can produce a standard 1D Gauss quadrature rule of Chebyshev, Gegenbauer, generalized Hermite, generalized Laguerre, Hermite, Jacobi, Laguerre, and Legendre types.
  223. satisfy, a program which demonstrates, for a particular circuit, an exhaustive search for solutions of the circuit satisfy problem.
  224. satisfy_mpi, a program which demonstrates, for a particular circuit, an exhaustive search for solutions of the circuit satisfy problem, using MPI to perform the calculation in parallel.
  225. satisfy_openmp, a program which demonstrates, for a particular circuit, an exhaustive search for solutions of the circuit satisfy problem, using OpenMP for parallel execution.
  226. schedule_openmp, a program which demonstrates the default, static, and dynamic methods of scheduling loop iterations in OpenMP to avoid work imbalance.
  227. sftpack, a library which implements the slow Fourier transform, intended as a teaching tool and comparison with the fast Fourier transform.
  228. sgefa_openmp, a program which compares a standard linear algebra solver against a revised version which can be run in parallel with OpenMP.
  229. sgmga, a library which creates sparse grids based on a mixture of 1D quadrature rule families, allowing user specified growth rates for each family, allowing anisotropic weights for each dimension.
  230. showme, a program which displays triangulations and meshes, by Jonathan Shewchuk;
  231. simplex_coordinates, a library which computes the Cartesian coordinates of the vertices of a regular simplex in M dimensions.
  232. sine_transform, a library which demonstrates some simple properties of the discrete sine transform.
  233. smolpack, a library which estimates the integral of a function over an M-dimensional hypercube using a sparse grid, by Knut Petras;
  234. sphere_grid, a library which provides a number of ways of generating grids of points, or of points and lines, or of points and lines and faces, over the unit sphere.
  235. sphere_lebedev_rule, a library which computes Lebedev quadrature rules for the unit sphere;
  236. sphere_quad, a library which approximates an integral over the surface of the unit sphere by applying a triangulation to the surface;
  237. spline, a library which interpolates or approximates data by piecewise polynomial functions;
  238. spring_ode, a program which shows how line printer graphics can be used to make a crude illustration of a solution of the ordinary differential equation (ODE) that describes the motion of a weight attached to a spring.
  239. star_discrepancy, a program which computes bounds on the star discrepancy of a set of N points in M dimensions, by Eric Thiemard.
  240. stochastic_rk, a library which applies a Runge-Kutta (RK) scheme to a stochastic differential equation.
  241. stroud, a library which defines rules for numerical integration (quadrature) over M dimensional regions, including spheres, toruses and other shapes;
  242. subpak, a library which contains many utility routines;
  243. subset, a library which ranks, unranks, and generates random subsets, combinations, permutations;
  244. subset_sum, a program which seeks solutions of the subset sum problem.
  245. sum_million, a program which sums the integers from 1 to 1,000,000, as a demonstration of how to rate a computer's speed;
  246. super_blas, a library which implements some of the BLAS routines, for particular use by super_lu;
  247. super_lu, a library which implements a very fast direct solver for sparse linear systems;
  248. sweep2, a program which computes Voronoi Diagrams or Delaunay triangulations, by Steve Fortune;
  249. table_io, a library which reads and writes a simple dataset stored as a table file;
  250. task_division, a library which implements a simple procedure for smoothly dividing T tasks among P processors; such a method can be useful in MPI and other parallel environments, particularly when T is not an exact multiple of P, and when the processors can be indexed starting from 0 or from 1.
  251. test_approx, a library which implements test problems for approximation, provided as a set of (x,y) data.
  252. test_eigen, a library which implements test matrices for eigenvalue analysis.
  253. test_int_2d, a library which implements test problems for approximate integration (quadrature) in two dimensions.
  254. test_interp, a library which defines test problems for interpolation, provided as a set of (x,y) data.
  255. test_interp_fun, a library which defines test problems for interpolation, provided as a function.
  256. test_interp_scattered, a library which defines test problems for interpolation of data (x,y,z(x,y)), with the data points (x,y) scattered irregularly.
  257. test_mat, a library which implements test matrices.
  258. test_matrix_exponential, a library which defines a set of test cases for computing the matrix exponential.
  259. test_min, a library which implements test problems for minimization of a scalar function of a scalar variable.
  260. test_opt_con, a library which defines test problems for the minimization of a scalar function of several variables, with the search constrained to lie within a specified hyper-rectangle.
  261. test_optimization, a library which implements test problems for optimization of a scalar function of several variables, as described by Molga and Smutnicki.
  262. test_values, a library which returns a small set of values for a variety of mathematical functions, suitable for a rough test of accuracy for algorithms;
  263. testpack, a program which demonstrates the use of a set of test integrand functions chosen by Alan Genz.
  264. tetrahedron_grid, a library which computes a grid of points inside a 3D tetrahedron.
  265. timer, examples which illustrate how to estimate the CPU time taken by a portion of a program;
  266. timestamp, a library which returns the current YMDHMS date as a timestamp, and performs other chores;
  267. toms178, a library which seeks the minimizer of a function of several variables, using the Hooke-Jeeves direct search method;
    this is a C version of ACM TOMS algorithm 178.
  268. toms179, a library which calculates the incomplete Beta ratio;
    this is a C version of ACM TOMS algorithm 179.
  269. toms291 a library which approximates the logarithm of the Gamma function;
    this is a C version of ACM TOMS algorithm 291.
  270. toms322, a library which evaluates the F and Student's T cumulative density functions;
    this is a C version of ACM TOMS algorithm 322.
  271. toms446, a library which manipulates Chebyshev series for interpolation and approximation;
    this is a C version of ACM TOMS algorithm 446, by Roger Broucke.
  272. toms462, a library which evaluates the upper right tail of the bivariate normal distribution; that is, the probability that normal variables X and Y with correlation R will satisfy H <= X and K <= Y; this is a C version of ACM TOMS algorithm 462.
  273. toms655, a library which computes computes the weights for interpolatory quadrature rule;
    this library is commonly called IQPACK;
    this is a C version of ACM TOMS algorithm 655.
  274. toms722, a library which supports IEEE arithmetic.
  275. triangle, a program which generates meshes, Delaunay triangulations, and Voronoi diagrams, by Jonathan Shewchuk;
  276. triangle_grid, a library which computes a triangular grid of points.
  277. triangle_io, a library which can read or write some of the files created by Jonathan Shewchuk's triangle program.
  278. triangulate, a program which triangulates a polygonal region, by Joseph ORourke;
  279. triangulation_triangle_neighbors, a program which reads data defining a triangulation, finds the three neighbor triangles for each triangle, and writes them to a file;
  280. trig_to_neib, a program which reads node and ele files (a format prescribed by triangle) describing a triangulation, and produces a file defining the neighbor triangles of each element; the program can also produce information about the Voronoi diagram. The program is by Lili Ju.
  281. uniform, a library which generates uniform pseudorandom values;
  282. uudecode, a program which recovers the original file from a UU encoded file, by Stephen Satchell and Chuck Forsberg.
  283. uuencode, a program which takes an input file, especially a binary file, and creates a UU encoded copy that is a text file, suitable for transmission through mail or other text-only systems, by Stephen Satchell and Chuck Forsberg.
  284. valgrind, a directory of programs which illustrate the use of the valgrind suite of programs which includes a memory leak detector.
  285. walsh, a library which implements versions of the Walsh and Haar transforms.
  286. wtime, a library which returns a reading of the wall clock time in seconds.
  287. xboids, a program which simulates the behavior of a flying flock of animals, displaying the results using X Windows, by Conrad Parker.
  288. xising, a program which models the variations in ferromagnetism in a material, displaying the results using X Windows, by Michael Creutz.
  289. xwaves, a program which simulates the behavior of solutions of certain forms of the wave equation, displaying the results using X Windows, by Michael Creutz.
  290. ziggurat, a library which samples the uniform, normal or exponential distributions, using the ziggurat method, by Marsaglia and Tsang.
  291. ziggurat_openmp, a program which demonstrates how the ziggurat library can be used to generate random numbers in an OpenMP parallel program.

You can go up one level to the main web page.


Last revised on 26 February 2012.