FMUL 3CW "09 March 2006" "mathcw-1.00"

Table of contents


NAME

fmulf, fmul, fmull, fmulw, fmulq, fmulll, fmuldf, fmuld, fmuldl, fmuldll - floating-point exact double-length product

SYNOPSIS

cc [ flags ] -I/usr/local/include file(s) -L/usr/local/lib -lmcw [ ... ]

#include <mathcw.h>

extern void fmulf (/*@out@*/ float [/* 2 */] result, float x, float y);

extern void fmul (/*@out@*/ double [/* 2 */] result, double x, double y);

extern void fmull (/*@out@*/ long double [/* 2 */] result, long double x, long double y);

extern void fmulw (/*@out@*/ __float80 [/* 2 */] result, __float80 x, __float80 y);

extern void fmulq (/*@out@*/ __float128 [/* 2 */] result, __float128 x, __float128 y);

extern void fmulll (/*@out@*/ long_long_double [/* 2 */] result, long_long_double x, long_long_double y);

extern void fmuldf (/*@out@*/ decimal_float [/* 2 */] result, decimal_float x, decimal_float y);

extern void fmuld (/*@out@*/ decimal_double [/* 2 */] result, decimal_double x, decimal_double y);

extern void fmuldl (/*@out@*/ decimal_long_double [/* 2 */] result, decimal_long_double x, decimal_long_double y);

extern void fmuldll (/*@out@*/ decimal_long_long_double [/* 2 */] result, decimal_long_long_double x, decimal_long_long_double y);

NB: Functions with prototypes containing underscores in type names may be available only with certain extended compilers.


DESCRIPTION

Compute the exact double-length product x * y and return it in the two-element result[] array, such that x * y = result[0] + result[1] in doubled-precision computation.

RETURN VALUES

None. The first argument contains the computed result.

ERRORS

None.

SEE ALSO

fma(3CW).