Annotation of researchv10dc/man/man9/add.9, revision 1.1

1.1     ! root        1: .TH ADD 9.3
        !             2: .CT 2 math
        !             3: .SH NAME
        !             4: add, sub, mul, div, eqpt, eqrect, inset, muldiv, ptinrect, raddp, rsubp, rectXrect, rectclip \- arithmetic on points and rectangles
        !             5: .SH SYNOPSIS
        !             6: .B #include <jerq.h>
        !             7: .PP
        !             8: .B Point add(p, q)
        !             9: .B Point p, q;
        !            10: .PP
        !            11: .B Point sub(p, q)
        !            12: .B  Point p, q;
        !            13: .PP
        !            14: .B Point mul(p, a)
        !            15: .B  Point p; int a;
        !            16: .PP
        !            17: .B Point div(p, a)
        !            18: .B  Point p; int a;
        !            19: .PP
        !            20: .B int eqpt(p, q)
        !            21: .B  Point p, q;
        !            22: .PP
        !            23: .B int eqrect(r, s)
        !            24: .B  Rectangle r, s;
        !            25: .PP
        !            26: .B Rectangle inset(r, n)
        !            27: .B  Rectangle r; int n;
        !            28: .PP
        !            29: .B int muldiv(a, b, c)
        !            30: .B  int a, b, c;
        !            31: .PP
        !            32: .B int ptinrect(p, r)
        !            33: .B  Point p; Rectangle r;
        !            34: .PP
        !            35: .B Rectangle raddp(r, p)
        !            36: .B  Rectangle r; Point p;
        !            37: .PP
        !            38: .B Rectangle rsubp(r, p)
        !            39: .B  Rectangle r; Point p;
        !            40: .PP
        !            41: .B int rectXrect(r, s)
        !            42: .B  Rectangle r, s;
        !            43: .PP
        !            44: .B int rectclip(rp, s)
        !            45: .B Rectangle *rp, s;
        !            46: .SH DESCRIPTION
        !            47: .I Add
        !            48: returns the Point
        !            49: sum of its arguments:
        !            50: .BI Pt( p .x+ q .x,
        !            51: .IB p .y+ q .y).
        !            52: .I Sub
        !            53: returns the Point
        !            54: difference of its arguments:
        !            55: .BI Pt( p .x- q .x,
        !            56: .IB p .y- q .y).
        !            57: .I Mul
        !            58: returns the Point
        !            59: .BI Pt( p .x* a ,
        !            60: .IB p .y* a ).
        !            61: .I Div
        !            62: returns the Point
        !            63: .BI Pt( p .x/ a ,
        !            64: .IB p .y/ a ).
        !            65: .PP
        !            66: .I Eqpt
        !            67: and
        !            68: .I eqrect
        !            69: compare their arguments and return
        !            70: 0 if unequal,
        !            71: 1 if equal.
        !            72: .PP
        !            73: .I Inset
        !            74: returns the Rectangle
        !            75: .BI Rect( r .origin.x+ n ,
        !            76: .IB r .origin.y+ n ,
        !            77: .IB r .corner.x- n ,
        !            78: .IB r .corner.y- n ) .
        !            79: The following code creates a clear rectangle
        !            80: .B r
        !            81: with a 2-pixel wide border inside
        !            82: .BR r :
        !            83: .IP
        !            84: .EX
        !            85: rectf(&display, r, F_OR);
        !            86: rectf(&display, inset(r, 2), F_CLR);
        !            87: .EE
        !            88: .PP
        !            89: .I Muldiv
        !            90: is a macro that returns the 16-bit result
        !            91: .BI ( a * b )/  c\fR,
        !            92: with
        !            93: .BI ( a * b  )
        !            94: calculated to 32 bits, so
        !            95: no precision is lost.
        !            96: .PP
        !            97: .I Ptinrect
        !            98: returns 1 if
        !            99: .I p
        !           100: is a point within
        !           101: .IR r ,
        !           102: and 0 otherwise.
        !           103: .PP
        !           104: .I Raddp
        !           105: returns the Rectangle
        !           106: .BI Rect(add( r .origin,
        !           107: .IB p ),
        !           108: .BI add( r .corner,
        !           109: .IB p ))\fR;
        !           110: .I rsubp
        !           111: returns the Rectangle
        !           112: .BI Rect(sub( r .origin,
        !           113: .IB p ),
        !           114: .BI sub( r .corner,
        !           115: .IB p ))\fR.
        !           116: .PP
        !           117: .I RectXrect
        !           118: returns 1 if
        !           119: .I r
        !           120: and
        !           121: .I s
        !           122: share any point; 0 otherwise.
        !           123: .PP
        !           124: .I Rectclip
        !           125: clips in place
        !           126: the Rectangle pointed to by
        !           127: .I rp
        !           128: so that it is completely contained within
        !           129: .IR s .
        !           130: The return value is 1 if any part of
        !           131: .RI * rp
        !           132: is within
        !           133: .IR s .
        !           134: Otherwise, the return value is 0 and
        !           135: .RI * rp
        !           136: is unchanged.
        !           137: .SH SEE ALSO
        !           138: .IR types (9.5)

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.