[BACK]Return to hppa.h CVS log [TXT][DIR] Up to [local] / sys / arch / hppa / spmath

Annotation of sys/arch/hppa/spmath/hppa.h, Revision 1.1

1.1     ! nbrk        1: /*     $OpenBSD: hppa.h,v 1.5 2002/05/07 22:19:30 mickey Exp $ */
        !             2: /*
        !             3:   (c) Copyright 1986 HEWLETT-PACKARD COMPANY
        !             4:   To anyone who acknowledges that this file is provided "AS IS"
        !             5:   without any express or implied warranty:
        !             6:       permission to use, copy, modify, and distribute this file
        !             7:   for any purpose is hereby granted without fee, provided that
        !             8:   the above copyright notice and this notice appears in all
        !             9:   copies, and that the name of Hewlett-Packard Company not be
        !            10:   used in advertising or publicity pertaining to distribution
        !            11:   of the software without specific, written prior permission.
        !            12:   Hewlett-Packard Company makes no representations about the
        !            13:   suitability of this software for any purpose.
        !            14: */
        !            15: /* @(#)hppa.h: Revision: 2.7.88.1 Date: 93/12/07 15:06:26 */
        !            16:
        !            17: /* amount is assumed to be a constant between 0 and 32 (non-inclusive) */
        !            18: #define Shiftdouble(left,right,amount,dest)                    \
        !            19:     /* int left, right, amount, dest; */                       \
        !            20:     dest = ((left) << (32-(amount))) | ((unsigned int)(right) >> (amount))
        !            21:
        !            22: /* amount must be less than 32 */
        !            23: #define Variableshiftdouble(left,right,amount,dest)            \
        !            24:     /* unsigned int left, right;  int amount, dest; */         \
        !            25:     if (amount == 0) dest = right;                             \
        !            26:     else dest = ((((unsigned) left)&0x7fffffff) << (32-(amount))) |    \
        !            27:        ((unsigned) right >> (amount))
        !            28:
        !            29: /* amount must be between 0 and 32 (non-inclusive) */
        !            30: #define Variable_shift_double(left,right,amount,dest)          \
        !            31:     /* unsigned int left, right;  int amount, dest; */         \
        !            32:     dest = (left << (32-(amount))) | ((unsigned) right >> (amount))

CVSweb