Provided by: libmseed-doc_2.19.8-1_all bug

NAME

       mst_convertsamples - Convert data samples between numeric types

SYNOPSIS

       #include <libmseed.h>

       int  mst_convertsamples ( MSTrace *mst, char type, flag truncate);

       int  mstl_convertsamples ( MSTraceSeg *seg, char type, flag truncate);

DESCRIPTION

       mst_convertsamples  and  mst_convertsamples  convert  any  data samples associated with an
       MSTrace or MSTraceSeg to a specified type.

       The routines can convert between 32-bit integers (type i),  32-bit  floats  (type  f)  and
       64-bit doubles (type d).

       When converting float and double sample types to integer type a simple rounding is applied
       by adding 0.5 to the  sample  value  before  converting  (truncating)  to  integer.   This
       compensates  for  common  machine  representations  of  floating point values (e.g. "40.0"
       represented by "39.99999999").

       If the truncate flag is true data samples will be truncated to integers even  if  loss  of
       sample  precision is detected.  If the truncate flag is false (0) and loss of precision is
       detected an error is returned.  Loss of  precision  is  determined  by  testing  that  the
       difference  between  the floating point value and the (truncated) integer value is greater
       than 0.000001.

       ASCII data samples (type a) cannot be converted, if supplied or requested an error will be
       returned.

RETURN VALUES

       mst_convertsamples and mstl_convertsamples return 0 on success and -1 on error.

SEE ALSO

       ms_intro(3).

AUTHOR

       Chad Trabant
       IRIS Data Management Center