aboutsummaryrefslogtreecommitdiff
path: root/lib/UnrarXLib/int64.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/UnrarXLib/int64.cpp')
-rw-r--r--lib/UnrarXLib/int64.cpp274
1 files changed, 0 insertions, 274 deletions
diff --git a/lib/UnrarXLib/int64.cpp b/lib/UnrarXLib/int64.cpp
deleted file mode 100644
index 996d0ea62d..0000000000
--- a/lib/UnrarXLib/int64.cpp
+++ /dev/null
@@ -1,274 +0,0 @@
-#include "rar.hpp"
-
-#ifndef NATIVE_INT64
-
-Int64::Int64()
-{
-}
-
-
-Int64::Int64(uint n)
-{
- HighPart=0;
- LowPart=n;
-}
-
-
-Int64::Int64(uint HighPart,uint LowPart)
-{
- Int64::HighPart=HighPart;
- Int64::LowPart=LowPart;
-}
-
-
-/*
-Int64 Int64::operator = (Int64 n)
-{
- HighPart=n.HighPart;
- LowPart=n.LowPart;
- return(*this);
-}
-*/
-
-
-Int64 Int64::operator << (int n)
-{
- Int64 res=*this;
- while (n--)
- {
- res.HighPart<<=1;
- if (res.LowPart & 0x80000000)
- res.HighPart|=1;
- res.LowPart<<=1;
- }
- return(res);
-}
-
-
-Int64 Int64::operator >> (int n)
-{
- Int64 res=*this;
- while (n--)
- {
- res.LowPart>>=1;
- if (res.HighPart & 1)
- res.LowPart|=0x80000000;
- res.HighPart>>=1;
- }
- return(res);
-}
-
-
-Int64 operator / (Int64 n1,Int64 n2)
-{
- if (n1.HighPart==0 && n2.HighPart==0)
- return(Int64(0,n1.LowPart/n2.LowPart));
- int ShiftCount=0;
- while (n1>n2)
- {
- n2=n2<<1;
- if (++ShiftCount>64)
- return(0);
- }
- Int64 res=0;
- while (ShiftCount-- >= 0)
- {
- res=res<<1;
- if (n1>=n2)
- {
- n1-=n2;
- ++res;
- }
- n2=n2>>1;
- }
- return(res);
-}
-
-
-Int64 operator * (Int64 n1,Int64 n2)
-{
- if (n1<0x10000 && n2<0x10000)
- return(Int64(0,n1.LowPart*n2.LowPart));
- Int64 res=0;
- for (int I=0;I<64;I++)
- {
- if (n2.LowPart & 1)
- res+=n1;
- n1=n1<<1;
- n2=n2>>1;
- }
- return(res);
-}
-
-
-Int64 operator % (Int64 n1,Int64 n2)
-{
- if (n1.HighPart==0 && n2.HighPart==0)
- return(Int64(0,n1.LowPart%n2.LowPart));
- return(n1-n1/n2*n2);
-}
-
-
-Int64 operator + (Int64 n1,Int64 n2)
-{
- n1.LowPart+=n2.LowPart;
- if (n1.LowPart<n2.LowPart)
- n1.HighPart++;
- n1.HighPart+=n2.HighPart;
- return(n1);
-}
-
-
-Int64 operator - (Int64 n1,Int64 n2)
-{
- if (n1.LowPart<n2.LowPart)
- n1.HighPart--;
- n1.LowPart-=n2.LowPart;
- n1.HighPart-=n2.HighPart;
- return(n1);
-}
-
-
-Int64 operator += (Int64 &n1,Int64 n2)
-{
- n1=n1+n2;
- return(n1);
-}
-
-
-Int64 operator -= (Int64 &n1,Int64 n2)
-{
- n1=n1-n2;
- return(n1);
-}
-
-
-Int64 operator *= (Int64 &n1,Int64 n2)
-{
- n1=n1*n2;
- return(n1);
-}
-
-
-Int64 operator /= (Int64 &n1,Int64 n2)
-{
- n1=n1/n2;
- return(n1);
-}
-
-
-Int64 operator | (Int64 n1,Int64 n2)
-{
- n1.LowPart|=n2.LowPart;
- n1.HighPart|=n2.HighPart;
- return(n1);
-}
-
-
-Int64 operator & (Int64 n1,Int64 n2)
-{
- n1.LowPart&=n2.LowPart;
- n1.HighPart&=n2.HighPart;
- return(n1);
-}
-
-
-/*
-inline void operator -= (Int64 &n1,unsigned int n2)
-{
- if (n1.LowPart<n2)
- n1.HighPart--;
- n1.LowPart-=n2;
-}
-
-
-inline void operator ++ (Int64 &n)
-{
- if (++n.LowPart == 0)
- ++n.HighPart;
-}
-
-
-inline void operator -- (Int64 &n)
-{
- if (n.LowPart-- == 0)
- n.HighPart--;
-}
-*/
-
-bool operator == (Int64 n1,Int64 n2)
-{
- return(n1.LowPart==n2.LowPart && n1.HighPart==n2.HighPart);
-}
-
-
-bool operator > (Int64 n1,Int64 n2)
-{
- return((int)n1.HighPart>(int)n2.HighPart || n1.HighPart==n2.HighPart && n1.LowPart>n2.LowPart);
-}
-
-
-bool operator < (Int64 n1,Int64 n2)
-{
- return((int)n1.HighPart<(int)n2.HighPart || n1.HighPart==n2.HighPart && n1.LowPart<n2.LowPart);
-}
-
-
-bool operator != (Int64 n1,Int64 n2)
-{
- return(n1.LowPart!=n2.LowPart || n1.HighPart!=n2.HighPart);
-}
-
-
-bool operator >= (Int64 n1,Int64 n2)
-{
- return(n1>n2 || n1==n2);
-}
-
-
-bool operator <= (Int64 n1,Int64 n2)
-{
- return(n1<n2 || n1==n2);
-}
-
-
-void Int64::Set(uint HighPart,uint LowPart)
-{
- Int64::HighPart=HighPart;
- Int64::LowPart=LowPart;
-}
-#endif
-
-void itoa(Int64 n,char *Str)
-{
- if (n<=0xffffffff)
- {
- sprintf(Str,"%u",int64to32(n));
- return;
- }
-
- char NumStr[50];
- int Pos=0;
-
- do
- {
- NumStr[Pos++]=int64to32(n%10)+'0';
- n=n/10;
- } while (n!=0);
-
- for (int I=0;I<Pos;I++)
- Str[I]=NumStr[Pos-I-1];
- Str[Pos]=0;
-}
-
-
-Int64 atoil(char *Str)
-{
- Int64 n=0;
- while (*Str>='0' && *Str<='9')
- {
- n=n*10+*Str-'0';
- Str++;
- }
- return(n);
-}