utc_mulftime(3dts) — Subroutines
Name
utc_mulftime - Multiplies a relative binary timestamp by a floating-point value
Synopsis
#include <dce/utc.h> int utc_mulftime(
utc_t ∗result,
utc_t ∗utc1,
double factor);
Parameters
Input
utc1Relative binary timestamp. Use NULL if you want this routine to use the current time for this parameter.
factorReal scale factor (double-precision, floating-point value).
Output
resultResulting relative binary timestamp.
Description
The utc_mulftime() routine multiplies a relative binary timestamp by a floating-point value. Either or both may be negative; the resulting relative binary timestamp has the appropriate sign. The unsigned inaccuracy in the relative binary timestamp is also multiplied by the absolute value of the floating-point value.
Return Values
0Indicates that the routine executed successfully.
-1Indicates an invalid time argument or invalid results.
Examples
The following example scales a relative time by a floating-point factor and prints the result.
utc_t relutc, scaledutc;
struct tm scaledreltm;
char timstr[UTC_MAX_STR_LEN];
/∗ Assume relutc contains the time to scale.
∗/
utc_mulftime(&scaledutc, /∗ Out: Scaled rel time ∗/
&relutc, /∗ In: Rel time to scale ∗/
17.65); /∗ In: Scale factor ∗/
utc_ascreltime(timstr, /∗ Out: ASCII rel time ∗/
UTC_MAX_STR_LEN, /∗ In: Input buffer length ∗/
&scaledutc); /∗ In: Rel time to convert ∗/
printf("%s\n",timstr);
/∗ Convert it to a tm structure and print it.
∗/
utc_reltime(&scaledreltm, /∗ Out: Scaled rel tm ∗/
(long ∗)0, /∗ Out: Scaled rel nano-sec ∗/
(struct tm ∗)0, /∗ Out: Scaled rel inacc tm ∗/
(long ∗)0, /∗ Out: Scd rel inacc nanos ∗/
&scaledutc); /∗ In: Rel time to convert ∗/
printf("Approximately %d days, %d hours and %d minutes\n",
scaledreltm.tm_yday, scaledreltm.tm_hour, scaledreltm.tm_min);
Related Information
Functions: utc_multime(3dts).