Home Man
Today's Posts

Linux & Unix Commands - Search Man Pages

Plan 9 - man page for add (plan9 section 2)

ADD(2)				       System Calls Manual				   ADD(2)

       add,  sub,  mul, div, raddp, rsubp, rmul, rdiv, rshift, inset, rcanon, eqpt, eqrect, ptin-
       rect, rectinrect, rectXrect, rectclip, Dx, Dy, Pt, Rect, Rpt - arithmetic  on  points  and

       #include <u.h>
       #include <libc.h>
       #include <libg.h>

       Point	   add(Point p, Point q)

       Point	   sub(Point p, Point q)

       Point	   mul(Point p, int a)

       Point	   div(Point p, int a)

       Rectangle   raddp(Rectangle r, Point p)

       Rectangle   rsubp(Rectangle r, Point p)

       Rectangle   rmul(Rectangle r, int a)

       Rectangle   rdiv(Rectangle r, int a)

       Rectangle   rshift(Rectangle r, int a)

       Rectangle   inset(Rectangle r, int n)

       Rectangle   rcanon(Rectangle r)

       int	   eqpt(Point p, Point q)

       int	   eqrect(Rectangle r, Rectangle s)

       int	   ptinrect(Point p, Rectangle r)

       int	   rectinrect(Rectangle r, Rectangle s)

       int	   rectXrect(Rectangle r, Rectangle s)

       int	   rectclip(Rectangle *rp, Rectangle b)

       int	   Dx(Rectangle r)

       int	   Dy(Rectangle r)

       Point	   Pt(int x, int y)

       Rectangle   Rect(int x0, int y0, int x1, int y1)

       Rectangle   Rpt(Point p, Point q)

       The  functions  Pt,  Rect  and Rpt construct geometrical data types from their components.
       These are implemented as macros.

       Add returns the Point sum of its arguments: Pt(p.x+q.x, p.y+q.y).  Sub returns  the  Point
       difference  of  its  arguments:	Pt(p.x-q.x,  p.y-q.y).	 Mul  returns the Point Pt(p.x*a,
       p.y*a).	Div returns the Point Pt(p.x/a, p.y/a).

       Raddp returns the Rectangle Rect(add(r.min, p), add(r.max, p)); rsubp returns the  Rectan-
       gle  Rpt(sub(r.min,  p),  sub(r.max,  p)).   Rmul  returns the Rectangle Rpt(mul(r.min,a),
       mul(r.max,a)); Rdiv returns the Rectangle Rpt(div(r.min,a), div(r.max,a)).

       Rshift returns the rectangle r with all coordinates either left-shifted	or  right-shifted
       by a, depending on whether a is positive or negative, respectively.

       Inset returns the Rectangle Rect(r.min.x+n, r.min.y+n, r.max.x-n, r.max.y-n).

       Rcanon  returns	a  rectangle  with  the  same extent as r, canonicalized so that min.x <=
       max.x, and min.y <= max.y.

       Eqpt compares its argument Points and returns 0 if unequal, 1 if equal.	Eqrect	does  the
       same for its argument Rectangles.

       Ptinrect returns 1 if p is a point within r, and 0 otherwise.

       Rectinrect returns 1 if all the pixels in r are also in s, and 0 otherwise.

       RectXrect returns 1 if r and s share any point, and 0 otherwise.

       Rectclip  clips in place the Rectangle pointed to by rp so that it is completely contained
       within b.  The return value is 1 if any part of *rp is within b.   Otherwise,  the  return
       value is 0 and *rp is unchanged.

       The functions Dx and Dy give the width (x) and height (y) of a Rectangle.  They are imple-
       mented as macros.




All times are GMT -4. The time now is 06:11 PM.

Unix & Linux Forums Content CopyrightŠ1993-2018. All Rights Reserved.
Show Password