]> git.sesse.net Git - rdpsrv/blob - Xserver/lib/font/Type1/arith.h
Support RDP5 logon packets.
[rdpsrv] / Xserver / lib / font / Type1 / arith.h
1 /* $XConsortium: arith.h,v 1.3 94/03/22 19:08:56 gildea Exp $ */
2 /* Copyright International Business Machines, Corp. 1991
3  * All Rights Reserved
4  * Copyright Lexmark International, Inc. 1991
5  * All Rights Reserved
6  *
7  * License to use, copy, modify, and distribute this software and its
8  * documentation for any purpose and without fee is hereby granted,
9  * provided that the above copyright notice appear in all copies and that
10  * both that copyright notice and this permission notice appear in
11  * supporting documentation, and that the name of IBM or Lexmark not be
12  * used in advertising or publicity pertaining to distribution of the
13  * software without specific, written prior permission.
14  *
15  * IBM AND LEXMARK PROVIDE THIS SOFTWARE "AS IS", WITHOUT ANY WARRANTIES OF
16  * ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO ANY
17  * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE,
18  * AND NONINFRINGEMENT OF THIRD PARTY RIGHTS.  THE ENTIRE RISK AS TO THE
19  * QUALITY AND PERFORMANCE OF THE SOFTWARE, INCLUDING ANY DUTY TO SUPPORT
20  * OR MAINTAIN, BELONGS TO THE LICENSEE.  SHOULD ANY PORTION OF THE
21  * SOFTWARE PROVE DEFECTIVE, THE LICENSEE (NOT IBM OR LEXMARK) ASSUMES THE
22  * ENTIRE COST OF ALL SERVICING, REPAIR AND CORRECTION.  IN NO EVENT SHALL
23  * IBM OR LEXMARK BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
24  * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
25  * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
26  * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
27  * THIS SOFTWARE.
28  */
29 /*SHARED*/
30
31 #include <X11/Xmd.h>            /* LONG64 */
32
33 void DLmult(),DLdiv(),DLadd(),DLsub();
34  
35 fractpel FPmult();
36 fractpel FPdiv();
37 fractpel FPstarslash();
38  
39 /*END SHARED*/
40 /*SHARED*/
41  
42 #define     SHORTSIZE         (sizeof(short)*8)
43 #define     LONGSIZE          (SHORTSIZE*2)
44 #define     MAXSHORT          ((1<<SHORTSIZE)-1)
45  
46 /*END SHARED*/
47 /*SHARED*/
48  
49 #ifdef LONG64
50 typedef long doublelong;
51 #else
52 typedef struct {
53        long high;
54        unsigned long low;
55 } doublelong;
56 #endif /* LONG64 else */
57
58 /*END SHARED*/
59 /*SHARED*/
60  
61 #ifdef LONG64
62 #define  DLrightshift(dl,N)  ((dl) >>= (N))
63 #else
64 #define  DLrightshift(dl,N)  { \
65        dl.low = (dl.low >> N) + (((unsigned long) dl.high) << (LONGSIZE - N)); \
66        dl.high >>= N; \
67 }
68 #endif
69
70 /*END SHARED*/