A user guide and a brief description of the C-program for generating integrated Brownian motion + drift 1- How to compile the program: The C-program is currently under the name ÔIntbrownGen.cÕ and can be compiled under both unix and linux with the command: g++ -o intbrown IntbrownGen.c To get the output printed in a .txt file, the user may use the command ./intbrown m c k myfile.txt where m is a parameter that controls the precision of the approximation of Brownian motion on a grid, [-c, c] is the interval on which two-sided Brownian motion and its integrals are considered, k is an integer that should be at least be equal to 2, and it is the same parameter considered in the nonparametric shape constrained (k-monotone) density estimation problem. 2- A brief description of the program: For chosen parameters m, c and k, the output is of the form of matrix of n= rows and k columns. The rows correspond to the points of the grid obtained by subdividing the interval [-c, c] to sub-intervals of length , whereas the j-th column store the value of the j-th fold integral of two-sided Brownian motion + for j=0, ..., k-1. The approximation of Brownian motion and its j-th fold integral is based on the construction of the Haar functions on [0,1] (see Rogers and Williams (1994)) and their integrals, which can be calculated in closed form (see Balabdaoui (2004), appendix). The output can be fed to the iterative (2k-1) spline algorithm (coded in S) to find an approximation to the envelopes (invelopes) of the (k-1)-fold integral of Brownian motion + the corresponding drift when k is odd (even) on [-c, c]. Beside the main function, IntbrownGen.c consists essentially of the following sub-functions: - Schauder and InSchauder: return the value of the Schauder function and its integral (of any chosen degree). - IntBrownFunc: returns the j-th integral of Brownian motion on [0,1] (approximated on a grid of mesh size ) , for j=0, ..., k-1. - IntBrown0C: uses InBrownFunc to extend the j-th integral of approximated Brownian motion on the interval [0,c] (c > 1). - IntBrownCCdrift: uses IntBrown0C to extend the above approximation to [-c, c], and adds the drift for j=0, ..., k-1.