Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
fixmul(3)			Allegro	manual			     fixmul(3)

NAME
       fixmul  - Multiplies two	fixed point values together. Allegro game pro-
       gramming	library.

SYNOPSIS
       #include	<allegro.h>

       fixed fixmul(fixed x, fixed y);

DESCRIPTION
       A fixed point value can be multiplied or	divided	by an integer with the
       normal  `*'  and	 `/'  operators.  To  multiply two fixed point values,
       though, you must	use this function.

       If an overflow occurs, `errno' will be set  and	the  maximum  possible
       value  will be returned,	but `errno' is not cleared if the operation is
       successful. This	means that if you are going to test for	 overflow  you
       should set `errno=0' before calling fixmul(). Example:

	  fixed	result;

	  /* This will put 30000 into `result'.	*/
	  result = fixmul(itofix(10), itofix(3000));
	  /* But this overflows, and sets `errno'. */
	  result = fixmul(itofix(100), itofix(3000));
	  ASSERT(!errno);

RETURN VALUE
       Returns	the  clamped result of multiplying `x' by `y', setting `errno'
       to ERANGE if there was an overflow.

SEE ALSO
       fixadd(3), fixsub(3), fixdiv(3),	 ex3buf(3),  excustom(3),  exfixed(3),
       exspline(3), exstars(3),	exupdate(3)

Allegro				 version 4.4.2			     fixmul(3)

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=fixmul&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help