1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353
|
<!-- libtsp.html: <path>/lib/libtsp.a -->
<HTML>
<HEAD>
<TITLE>TSP Lab - Software - libtsp</TITLE>
</HEAD>
<BODY BGCOLOR=#FFFACD> <!-- lemonchiffon rgb = [255 250 205] -->
<H2>Telecommunications & Signal Processing Laboratory</H2>
<HR>
<H3><DFN>libtsp</DFN> Library Routines</H3>
The <DFN>libtsp</DFN>
package is a library of routines for signal processing. It also
includes a number of general purpose routines useful for program development.
Examples of programs using this library for filtering, LPC analysis/synthesis
and resampling are available as part of the <DFN>AFsp</DFN> package.
<P>
The <DFN>libtsp</DFN>
library routines are divided into a number of categories, with the
first two letters of the routine name keyed to the category. Examples of the
functions available are listed for each category.
<DL>
<DT><A HREF="#AF">AF - Audio file routines</A>
<UL>
<LI>Open and close audio files
<LI>Read and write audio files
</UL>
<DT><A HREF="#FI">FI - Filtering routines</A>
<UL>
<LI>Filter a signal (FIR and IIR filters)
<LI>Generate windows (Hamming, Kaiser and raised-cosine)
<LI>Design Kaiser-windowed lowpass filters
<LI>Read filter coefficient files
</UL>
<DT><A HREF="#FL">FL - File routines</A>
<UL>
<LI>Fill in the full path name for a file name
<LI>Return the creation date for a file
<LI>Prompt and read a line of text
<LI>Read and write numeric data
</UL>
<DT><A HREF="#FN">FN - Functions</A>
<UL>
<LI>Bessel function (0'th order modified)
<LI>Greatest common divisor
<LI>Series expansion of Chebyshev polynomials
<LI>Log base 2
</UL>
<DT><A HREF="#MA">MA - Matrix routines</A>
<UL>
<LI>Allocate space for a matrix
<LI>Print a matrix
<LI>Calculate quadratic and bilinear forms
<LI>Solve equations (Cholesky decomposition and Toeplitz matrix)
</UL>
<DT><A HREF="#MS">MS - Miscellaneous routines</A>
<UL>
<LI>Convolve coefficients of two arrays
<LI>Nearest integer, floor and ceiling functions
<LI>Interpolate a table of values (linear and cubic)
<LI>Rational approximation to a value
</UL>
<DT><A HREF="#SP">SP - Signal processing routines</A>
<UL>
<LI>Fast Fourier transform (complex and real)
<LI>Discrete cosine transform
<LI>Calculate covariance or autocorrelation from a block of data
<LI>Convert between linear prediction parameters (error filter coefficients,
predictor coefficients, cepstral coefficients, line spectral frequencies,
reflection coefficients, autocorrelation coefficients)
<LI>Solve for linear prediction coefficients (covariance and autocorrelation
methods)
<LI>Calculate the mean-square filtering error
<LI>Distance measures (Itakura-Saito and RMS log LPC)
<LI>Quantize a value given a table of boundaries (binary search)
</UL>
<DT><A HREF="#ST">ST - String routines</A>
<UL>
<LI>Copy and concatenate strings
<LI>Decode numeric values from a string
<LI>Match a string to a table of keywords
</UL>
<DT><A HREF="#UT">UT - Utility routines</A>
<UL>
<LI>Decode command line options
<LI>Error message routines
</UL>
<DT><A HREF="#VR">VR - Vector routines</A>
<UL>
<LI>Print a vector of values
<LI>Vector functions (zero an array, convert to dB, dot product, minimum,
maximum, scale, add, subtract, multiply)
</UL>
</DL>
The libtsp routines are divided into user routines and nucleus routines. The
nucleus routines are used internally by the libtsp routines. Only the user
level routines are documented in the HTML files.
<H3>Include file</H3>
A routine that uses any of the libtsp routines should include the libtsp
header file,
<PRE>
#include <libtsp.h>
</PRE>
If the header file for the library is
<VAR><path>/include/libtsp.h</VAR>,
then under Unix, the command to compile a routine
<VAR>proc.c</VAR>,
would be of the form,
<PRE>
cc -c -I<path>/include proc.c
</PRE>
<H3>Linking</H3>
User routines need to be linked to the libtsp library (
<VAR><path>/lib/libtsp.a</VAR> )
and to the standard C math library
<VAR>libm.a</VAR>
(invoked during linking as
<VAR>-lm</VAR> ).
(A number of the libtsp routines use the standard math routines.)
Under Unix, a typical link command is of the form,
<PRE>
cc main.o proc.o <path>/lib/libtsp.a -lm -o main
</PRE>
<P>
The libtsp routines are written in C and have been tested on DEC, HP, SGI, Sun,
and PC-386 machines, using a number of different compilers (ANSI and non-ANSI).
<H3><A NAME="AF">Audio file routines</A></H3>
<DL>
<DT><A HREF="AF/AFclose.html">AFclose</A> - Close an audio file
<DT><A HREF="AF/AFopenRead.html">AFopenRead</A> - Open an audio file for reading
<DT><A HREF="AF/AFopenWrite.html">AFopenWrite</A> - Open an audio file for writing
<DT><A HREF="AF/AFreadData.html">AFreadData</A> - Read data from an audio file (return float values)
<DT><A HREF="AF/AFsetFileType.html">AFsetFileType</A> - Set the input audio file type
<DT><A HREF="AF/AFsetHinfo.html">AFsetHinfo</A> - Set the audio file header information string
<DT><A HREF="AF/AFsetNHpar.html">AFsetNHpar</A> - Set defaults for headerless audio files from a string specification
<DT><A HREF="AF/AFwriteData.html">AFwriteData</A> - Write data to an audio file (float input values)
</DL>
<H3><A NAME="FI">Filtering routines</A></H3>
<DL>
<DT><A HREF="FI/FIKaiserLPF.html">FIKaiserLPF</A> - Generate a Kaiser windowed lowpass filter
<DT><A HREF="FI/FIbiquad.html">FIbiquad</A> - Filter a signal using a biquadratic IIR filter
<DT><A HREF="FI/FIconvSI.html">FIconvSI</A> - Filter a signal with an FIR filter (sample rate change)
<DT><A HREF="FI/FIconvol.html">FIconvol</A> - Filter a signal with an FIR filter
<DT><A HREF="FI/FIdeem.html">FIdeem</A> - Deemphasize a signal using a first order recursive filter
<DT><A HREF="FI/FIfiltAP.html">FIfiltAP</A> - Filter a signal with an all-pole IIR filter
<DT><A HREF="FI/FIfiltIIR.html">FIfiltIIR</A> - Filter a signal using a cascade of biquadratic IIR filters
<DT><A HREF="FI/FIpreem.html">FIpreem</A> - Preemphasize a signal using a first difference filter
<DT><A HREF="FI/FIreadFilt.html">FIreadFilt</A> - Read a filter coefficient file
<DT><A HREF="FI/FIwinHCos.html">FIwinHCos</A> - Generate a Hamming/cosine window
<DT><A HREF="FI/FIwinHamm.html">FIwinHamm</A> - Generate a Hamming window
<DT><A HREF="FI/FIwinKaiser.html">FIwinKaiser</A> - Generate a Kaiser window
<DT><A HREF="FI/FIwinRCos.html">FIwinRCos</A> - Generate a raised-cosine window
</DL>
<H3><A NAME="FL">File routines</A></H3>
<DL>
<DT><A HREF="FL/FLbackup.html">FLbackup</A> - Rename an existing file
<DT><A HREF="FL/FLbaseName.html">FLbaseName</A> - Return the last component of a file path
<DT><A HREF="FL/FLdate.html">FLdate</A> - Find the last modification time for a file (by name)
<DT><A HREF="FL/FLdefName.html">FLdefName</A> - Fill in file name components from a default string
<DT><A HREF="FL/FLdirName.html">FLdirName</A> - Return all but the last component of a file path
<DT><A HREF="FL/FLexpHome.html">FLexpHome</A> - Expand the home directory specification for a file
<DT><A HREF="FL/FLextName.html">FLextName</A> - Return the extension component of a file name
<DT><A HREF="FL/FLfReadData.html">FLfReadData</A> - Read numeric data in text form from a file
<DT><A HREF="FL/FLfWriteData.html">FLfWriteData</A> - Write a float array in text form to a file
<DT><A HREF="FL/FLfileDate.html">FLfileDate</A> - Find the last modification time for an open file
<DT><A HREF="FL/FLfullName.html">FLfullName</A> - Expand a file name path
<DT><A HREF="FL/FLgetLine.html">FLgetLine</A> - Read a line of text from a file
<DT><A HREF="FL/FLgetRec.html">FLgetRec</A> - Read and assemble a text record from an input stream
<DT><A HREF="FL/FLhomeDir.html">FLhomeDir</A> - Get the home directory for a user
<DT><A HREF="FL/FLpathList.html">FLpathList</A> - Fill in a directory for a file name from a list of paths
<DT><A HREF="FL/FLpreName.html">FLpreName</A> - Return the last component of a file name stripped of its extension
<DT><A HREF="FL/FLprompt.html">FLprompt</A> - Print a prompt
<DT><A HREF="FL/FLreadLine.html">FLreadLine</A> - Print a prompt and read a line of text
</DL>
<H3><A NAME="FN">Functions</A></H3>
<DL>
<DT><A HREF="FN/FNbessI0.html">FNbessI0</A> - Evaluate the zeroth-order modified Bessel function of first kind
<DT><A HREF="FN/FNevChebP.html">FNevChebP</A> - Evaluate a series expansion in Chebyshev polynomials
<DT><A HREF="FN/FNgcd.html">FNgcd</A> - Find the greatest common divisor of two integer values
<DT><A HREF="FN/FNiLog2.html">FNiLog2</A> - Find the integer greater or equal to log (base 2)
<DT><A HREF="FN/FNsinc.html">FNsinc</A> - Evaluate the sin(pi*x)/(pi*x) function
</DL>
<H3><A NAME="MA">Matrix routines</A></H3>
<DL>
<DT><A HREF="MA/MAdAllocMat.html">MAdAllocMat</A> - Allocate a matrix of double values
<DT><A HREF="MA/MAdFreeMat.html">MAdFreeMat</A> - Free an allocated double matrix
<DT><A HREF="MA/MAdPrint.html">MAdPrint</A> - Print a double matrix along with a header text
<DT><A HREF="MA/MAfAllocMat.html">MAfAllocMat</A> - Allocate a matrix of float values
<DT><A HREF="MA/MAfChSolve.html">MAfChSolve</A> - Solve a positive definite set of equations
<DT><A HREF="MA/MAfFreeMat.html">MAfFreeMat</A> - Free an allocated float matrix
<DT><A HREF="MA/MAfPrint.html">MAfPrint</A> - Print a float matrix along with a header text
<DT><A HREF="MA/MAfSubMat.html">MAfSubMat</A> - Set up pointers to a submatrix of a matrix of float values
<DT><A HREF="MA/MAfSyBilin.html">MAfSyBilin</A> - Calculate a bilinear form for a symmetric matrix
<DT><A HREF="MA/MAfSyQuad.html">MAfSyQuad</A> - Calculate a quadratic form for a symmetric matrix
<DT><A HREF="MA/MAfTpQuad.html">MAfTpQuad</A> - Calculate a quadratic form for a symmetric Toeplitz matrix
<DT><A HREF="MA/MAfTpSolve.html">MAfTpSolve</A> - Solve a Toeplitz set of equations
<DT><A HREF="MA/MAiPrint.html">MAiPrint</A> - Print an integer matrix along with a header text
<DT><A HREF="MA/MAlPrint.html">MAlPrint</A> - Print a long integer matrix along with a header text
</DL>
<H3><A NAME="MS">Miscellaneous routines</A></H3>
<DL>
<DT><A HREF="MS/MSconvCof.html">MSconvCof</A> - Convolve the coefficients of two arrays
<DT><A HREF="MS/MSdNint.html">MSdNint</A> - Nearest integer function
<DT><A HREF="MS/MSfGaussRand.html">MSfGaussRand</A> - Generate a Gaussian pseudo-random value
<DT><A HREF="MS/MSfUnifRand.html">MSfUnifRand</A> - Generate a uniformly distributed pseudo-random value
<DT><A HREF="MS/MSiCeil.html">MSiCeil</A> - Ceiling function for the ratio of two integers
<DT><A HREF="MS/MSiFloor.html">MSiFloor</A> - Floor function for the ratio of two integers
<DT><A HREF="MS/MSiPower.html">MSiPower</A> - Integer raised to an integer power
<DT><A HREF="MS/MSintLin.html">MSintLin</A> - Interpolate a table of values using a piecewise linear interpolant
<DT><A HREF="MS/MSintMC.html">MSintMC</A> - Interpolate a table of values using a piecewise monotonic cubic interpolant
<DT><A HREF="MS/MSlCeil.html">MSlCeil</A> - Ceiling function for the ratio of two long ints
<DT><A HREF="MS/MSlFloor.html">MSlFloor</A> - Floor function for the ratio of two long ints
<DT><A HREF="MS/MSratio.html">MSratio</A> - Find a ratio of integers approximation to a floating point value
</DL>
<H3><A NAME="SP">Signal processing routines</A></H3>
<DL>
<DT><A HREF="SP/SPautoc.html">SPautoc</A> - Calculate the autocorrelation for a data sequence
<DT><A HREF="SP/SPcFFT42.html">SPcFFT42</A> - Fast Fourier transform (complex data)
<DT><A HREF="SP/SPcepXpc.html">SPcepXpc</A> - Convert cepstral coefficients to predictor coefficients
<DT><A HREF="SP/SPcorBWexp.html">SPcorBWexp</A> - Bandwidth expand a set of correlation values
<DT><A HREF="SP/SPcorFilt.html">SPcorFilt</A> - Find filter coefficients to minimize the mean-square error
<DT><A HREF="SP/SPcorFmse.html">SPcorFmse</A> - Calculate the mean-square filtering error
<DT><A HREF="SP/SPcorPmse.html">SPcorPmse</A> - Calculate the mean-square prediction error
<DT><A HREF="SP/SPcorXpc.html">SPcorXpc</A> - Find predictor coefficients from autocorrelation values
<DT><A HREF="SP/SPcovCXpc.html">SPcovCXpc</A> - Find predictor coefficients using the covariance lattice method (Cumani)
<DT><A HREF="SP/SPcovFilt.html">SPcovFilt</A> - Find filter coefficients using the covariance approach
<DT><A HREF="SP/SPcovFmse.html">SPcovFmse</A> - Find the mean-square error for a filter (covariance specified)
<DT><A HREF="SP/SPcovLXpc.html">SPcovLXpc</A> - Find predictor coefficients using the covariance lattice method
<DT><A HREF="SP/SPcovMXpc.html">SPcovMXpc</A> - Find predictor coefficients using the modified covariance method
<DT><A HREF="SP/SPcovPmse.html">SPcovPmse</A> - Calculate the mean-square prediction error (covariance specified)
<DT><A HREF="SP/SPcovXpc.html">SPcovXpc</A> - Find predictor coefficients using the covariance method
<DT><A HREF="SP/SPcovar.html">SPcovar</A> - Calculate a correlation (covariance) matrix for a data sequence
<DT><A HREF="SP/SPecXpc.html">SPecXpc</A> - Convert prediction error filter coefficients to predictor coefficients
<DT><A HREF="SP/SPfDCT.html">SPfDCT</A> - Calculate the discrete cosine transform
<DT><A HREF="SP/SPlpcISdist.html">SPlpcISdist</A> - Calculate the Itakura-Saito LPC spectral distance measure
<DT><A HREF="SP/SPlpcLSdist.html">SPlpcLSdist</A> - Calculate the RMS log LPC spectral distance measure
<DT><A HREF="SP/SPlsfXpc.html">SPlsfXpc</A> - Convert LSF's to predictor coefficients
<DT><A HREF="SP/SPpcBWexp.html">SPpcBWexp</A> - Bandwidth expand a set of predictor coefficients
<DT><A HREF="SP/SPpcXcep.html">SPpcXcep</A> - Convert predictor coefficients to cepstral coefficients
<DT><A HREF="SP/SPpcXcor.html">SPpcXcor</A> - Convert predictor coefficients to correlation values
<DT><A HREF="SP/SPpcXec.html">SPpcXec</A> - Convert predictor coefficients to prediction error filter coeffients
<DT><A HREF="SP/SPpcXlsf.html">SPpcXlsf</A> - Convert predictor coefficients to line spectral frequencies
<DT><A HREF="SP/SPpcXrc.html">SPpcXrc</A> - Convert predictor coefficients to reflection coefficients
<DT><A HREF="SP/SPquant.html">SPquant</A> - Binary search for a bounding interval
<DT><A HREF="SP/SPrFFT.html">SPrFFT</A> - Fast Fourier transform of a real sequence
<DT><A HREF="SP/SPrcXpc.html">SPrcXpc</A> - Convert reflection coefficients to predictor coefficients
</DL>
<H3><A NAME="ST">String routines</A></H3>
<DL>
<DT><A HREF="ST/STcatMax.html">STcatMax</A> - Concatenate at characters to a string (maximum length specified)
<DT><A HREF="ST/STcopyMax.html">STcopyMax</A> - Copy at most Maxchar characters to a string
<DT><A HREF="ST/STcopyNMax.html">STcopyNMax</A> - Copy N characters characters to a string
<DT><A HREF="ST/STdec1double.html">STdec1double</A> - Decode a double value
<DT><A HREF="ST/STdec1float.html">STdec1float</A> - Decode a float value
<DT><A HREF="ST/STdec1int.html">STdec1int</A> - Decode an integer value
<DT><A HREF="ST/STdec1long.html">STdec1long</A> - Decode a long integer value
<DT><A HREF="ST/STdecDfrac.html">STdecDfrac</A> - Decode a ratio specification of two double values
<DT><A HREF="ST/STdecIfrac.html">STdecIfrac</A> - Decode a ratio specification of two integer values
<DT><A HREF="ST/STdecIrange.html">STdecIrange</A> - Decode a range specification for integer values
<DT><A HREF="ST/STdecLrange.html">STdecLrange</A> - Decode a range specification for long integer values
<DT><A HREF="ST/STdecNdouble.html">STdecNdouble</A> - Decode double values (variable number)
<DT><A HREF="ST/STdecNfloat.html">STdecNfloat</A> - Decode float values (variable number)
<DT><A HREF="ST/STdecNint.html">STdecNint</A> - Decode integer values (variable number)
<DT><A HREF="ST/STdecNlong.html">STdecNlong</A> - Decode long integer values (variable number)
<DT><A HREF="ST/STfindToken.html">STfindToken</A> - Find the first token string in a string
<DT><A HREF="ST/STkeyMatch.html">STkeyMatch</A> - Match a string to keyword strings
<DT><A HREF="ST/STkeyXpar.html">STkeyXpar</A> - Decode keywords and return parameter values
<DT><A HREF="ST/STtrim.html">STtrim</A> - Copy a string, trimming leading and trailing white-space
<DT><A HREF="ST/STunQuote.html">STunQuote</A> - Copy a string, removing outer quote characters
</DL>
<H3><A NAME="UT">Utility routines</A></H3>
<DL>
<DT><A HREF="UT/UTdate.html">UTdate</A> - Return a date/time string for the current time
<DT><A HREF="UT/UTerror.html">UTerror</A> - Print user and system error messages, stop with error status set
<DT><A HREF="UT/UTfree.html">UTfree</A> - Deallocate a block of memory
<DT><A HREF="UT/UTgetOption.html">UTgetOption</A> - Decode command line options and arguments
<DT><A HREF="UT/UThalt.html">UThalt</A> - Print an error message, stop with error status set
<DT><A HREF="UT/UTmalloc.html">UTmalloc</A> - Allocate a block of memory
<DT><A HREF="UT/UTrealloc.html">UTrealloc</A> - Reallocate a block of memory
<DT><A HREF="UT/UTsetProg.html">UTsetProg</A> - Set the program name for messages
<DT><A HREF="UT/UTsysMsg.html">UTsysMsg</A> - Print user and system warning messages
<DT><A HREF="UT/UTuserName.html">UTuserName</A> - Get the user name and host name
<DT><A HREF="UT/UTwarn.html">UTwarn</A> - Print a warning message
</DL>
<H3><A NAME="VR">Vector routines</A></H3>
<DL>
<DT><A HREF="VR/VRdPrint.html">VRdPrint</A> - Print a double array along with a header text
<DT><A HREF="VR/VRdZero.html">VRdZero</A> - Zero an array of doubles
<DT><A HREF="VR/VRfAdd.html">VRfAdd</A> - Element-by-element sum of two float arrays
<DT><A HREF="VR/VRfAmpldB.html">VRfAmpldB</A> - Convert each value in an array of amplitudes to a decibel value
<DT><A HREF="VR/VRfCheckSym.html">VRfCheckSym</A> - Determine if an array of floats is symmetric or anti-symmetric
<DT><A HREF="VR/VRfCopy.html">VRfCopy</A> - Copy an array of floats
<DT><A HREF="VR/VRfDiffSq.html">VRfDiffSq</A> - Find the sum of squares of the differences for two float arrays
<DT><A HREF="VR/VRfDotProd.html">VRfDotProd</A> - Dot product of two float arrays (double result)
<DT><A HREF="VR/VRfLog10.html">VRfLog10</A> - Find the logarithm (base 10) of each element of an array
<DT><A HREF="VR/VRfMax.html">VRfMax</A> - Return the maximum value in a float array
<DT><A HREF="VR/VRfMin.html">VRfMin</A> - Return the minimum value in a float array
<DT><A HREF="VR/VRfMult.html">VRfMult</A> - Element-by-element product of two float arrays
<DT><A HREF="VR/VRfPow10.html">VRfPow10</A> - Find 10 raised to the power of each element of an array
<DT><A HREF="VR/VRfPrint.html">VRfPrint</A> - Print a float array along with a header text
<DT><A HREF="VR/VRfRev.html">VRfRev</A> - Reverse the order of the elements of an array
<DT><A HREF="VR/VRfScale.html">VRfScale</A> - Multiply each element of a float array by a scalar value
<DT><A HREF="VR/VRfSet.html">VRfSet</A> - Set each element in an array of floats to a given value
<DT><A HREF="VR/VRfShift.html">VRfShift</A> - Shift the elements of an array of floats
<DT><A HREF="VR/VRfSubt.html">VRfSubt</A> - Element-by-element subtraction of two float arrays
<DT><A HREF="VR/VRfSum.html">VRfSum</A> - Calculate the sum of elements in an array of floats
<DT><A HREF="VR/VRfZero.html">VRfZero</A> - Zero an array of floats
<DT><A HREF="VR/VRiPrint.html">VRiPrint</A> - Print an integer array along with a header text
<DT><A HREF="VR/VRiZero.html">VRiZero</A> - Zero an array of ints
<DT><A HREF="VR/VRlPrint.html">VRlPrint</A> - Print a long integer array along with a header text
</DL>
<H3>Author / revision</H3>
P. Kabal - kabal@ECE.McGill.CA<BR>
Telecommunications & Signal Processing Laboratory<BR>
Department of Electrical & Computer Engineering<BR>
McGill University<BR>
Montreal, Canada H3A 2A7<BR>
1998/07/06 libtsp-v3r0
<HR>
</BODY>
</HTML>
|