Botan  1.11.15
Public Member Functions | Friends
Botan::donna128 Class Reference

#include <donna128.h>

List of all members.

Public Member Functions

 donna128 (u64bit ll=0, u64bit hh=0)
 donna128 (const donna128 &)
u64bit hi () const
u64bit lo () const
u64bit operator&= (u64bit mask)
donna128operator+= (const donna128 &x)
donna128operator+= (u64bit x)
donna128operator= (const donna128 &)

Friends

u64bit operator& (const donna128 &x, u64bit mask)
donna128 operator<< (const donna128 &x, size_t shift)
donna128 operator>> (const donna128 &x, size_t shift)

Detailed Description

Definition at line 15 of file donna128.h.


Constructor & Destructor Documentation

Botan::donna128::donna128 ( u64bit  ll = 0,
u64bit  hh = 0 
) [inline]

Definition at line 18 of file donna128.h.

{ l = ll; h = hh; }

Member Function Documentation

u64bit Botan::donna128::hi ( ) const [inline]

Definition at line 69 of file donna128.h.

Referenced by Botan::operator*(), and Botan::operator|().

{ return h; }
u64bit Botan::donna128::lo ( ) const [inline]

Definition at line 68 of file donna128.h.

Referenced by Botan::combine_lower(), Botan::operator*(), and Botan::operator|().

{ return l; }
u64bit Botan::donna128::operator&= ( u64bit  mask) [inline]

Definition at line 46 of file donna128.h.

         {
         h = 0;
         l &= mask;
         return l;
         }
donna128& Botan::donna128::operator+= ( const donna128 x) [inline]

Definition at line 53 of file donna128.h.

         {
         l += x.l;
         h += (l < x.l);
         h += x.h;
         return *this;
         }
donna128& Botan::donna128::operator+= ( u64bit  x) [inline]

Definition at line 61 of file donna128.h.

References x.

         {
         l += x;
         h += (l < x);
         return *this;
         }
donna128& Botan::donna128::operator= ( const donna128 )

Friends And Related Function Documentation

u64bit operator& ( const donna128 x,
u64bit  mask 
) [friend]

Definition at line 41 of file donna128.h.

         {
         return x.l & mask;
         }
donna128 operator<< ( const donna128 x,
size_t  shift 
) [friend]

Definition at line 32 of file donna128.h.

         {
         donna128 z = x;
         const u64bit carry = z.l >> (64 - shift);
         z.l = (z.l << shift);
         z.h = (z.h << shift) | carry;
         return z;
         }
donna128 operator>> ( const donna128 x,
size_t  shift 
) [friend]

Definition at line 23 of file donna128.h.

         {
         donna128 z = x;
         const u64bit carry = z.h << (64 - shift);
         z.h = (z.h >> shift);
         z.l = (z.l >> shift) | carry;
         return z;
         }

The documentation for this class was generated from the following file: