Added _alldiv,_allmul,_allrem,_allshl,_allshr,_aulldiv,_aullrem,_aullshr stubs and exported them.

svn path=/trunk/; revision=3954
This commit is contained in:
Robert Dickenson 2003-01-07 17:48:12 +00:00
parent 5def2455d3
commit b8573aace5
5 changed files with 359 additions and 24 deletions

View file

@ -1,11 +1,12 @@
objects
base.tmp base.tmp
junk.tmp junk.tmp
ntoskrnl.coff
objects
temp.exp temp.exp
ntoskrnl.coff
ntoskrnl.map
ntoskrnl.dbg ntoskrnl.dbg
bugcodes.rc bugcodes.rc
msg*.bin msg*.bin
ntoskrnl.map
*.o *.o
*.sym *.sym
*.exe

View file

@ -1,4 +1,4 @@
# $Id: Makefile,v 1.88 2002/12/09 15:18:11 robd Exp $ # $Id: Makefile,v 1.89 2003/01/07 17:48:11 robd Exp $
# #
# ReactOS Operating System # ReactOS Operating System
# #
@ -89,6 +89,7 @@ OBJECTS_RTL = \
rtl/error.o \ rtl/error.o \
rtl/handle.o \ rtl/handle.o \
rtl/largeint.o \ rtl/largeint.o \
rtl/math.o \
rtl/mem.o \ rtl/mem.o \
rtl/memchr.o \ rtl/memchr.o \
rtl/memcpy.o \ rtl/memcpy.o \
@ -336,7 +337,8 @@ OBJECTS_KD = \
kd/kdebug.o \ kd/kdebug.o \
kd/service.o \ kd/service.o \
kd/dlog.o \ kd/dlog.o \
kd/gdbstub.o kd/mda.o kd/gdbstub.o \
kd/mda.o
DEP_OBJECTS := $(OBJECTS_NT) $(OBJECTS_MM) $(OBJECTS_ARCH) \ DEP_OBJECTS := $(OBJECTS_NT) $(OBJECTS_MM) $(OBJECTS_ARCH) \
$(OBJECTS_IO) $(OBJECTS_KE) $(OBJECTS_OB) \ $(OBJECTS_IO) $(OBJECTS_KE) $(OBJECTS_OB) \
@ -652,7 +654,7 @@ implib: $(DDK_PATH_LIB)/$(TARGETNAME).a
clean: clean:
- $(RM) $(OBJECTS_PATH)/*.o cc/*.o cm/*.o dbg/*.o dbg/i386/*.o ex/*.o \ - $(RM) $(OBJECTS_PATH)/*.o cc/*.o cm/*.o dbg/*.o dbg/i386/*.o ex/*.o \
ex/i386/*.o io/*.o ke/*.o ldr/*.o mm/*.o nt/*.o ob/*.o ps/*.o \ ex/i386/*.o io/*.o ke/*.o ldr/*.o mm/*.o nt/*.o ob/*.o ps/*.o \
rtl/*.o se/*.o ke/i386/*.o mm/i386/*.o fs/*.o po/*.o nls/*.o \ rtl/*.o rtl/i386/*.o se/*.o ke/i386/*.o mm/i386/*.o fs/*.o po/*.o nls/*.o \
lpc/*.o kd/*.o $(TARGETNAME).o junk.tmp base.tmp temp.exp \ lpc/*.o kd/*.o $(TARGETNAME).o junk.tmp base.tmp temp.exp \
$(TARGETNAME).exe $(TARGETNAME).nostrip.exe $(TARGETNAME).sym ntoskrnl.map \ $(TARGETNAME).exe $(TARGETNAME).nostrip.exe $(TARGETNAME).sym ntoskrnl.map \
$(TARGETNAME).coff bugcodes.rc msg?????.bin $(DEP_FILES) \ $(TARGETNAME).coff bugcodes.rc msg?????.bin $(DEP_FILES) \

View file

@ -1,4 +1,4 @@
; $Id: ntoskrnl.def,v 1.145 2002/10/03 19:39:56 robd Exp $ ; $Id: ntoskrnl.def,v 1.146 2003/01/07 17:48:11 robd Exp $
; ;
; reactos/ntoskrnl/ntoskrnl.def ; reactos/ntoskrnl/ntoskrnl.def
; ;
@ -978,14 +978,14 @@ ZwWaitForSingleObject@12
ZwWriteFile@36 ZwWriteFile@36
ZwYieldExecution@0 ZwYieldExecution@0
_abnormal_termination _abnormal_termination
;_alldiv _alldiv
;_allmul _allmul
;_allrem _allrem
;_allshl _allshl
;_allshr _allshr
;_aulldiv _aulldiv
;_aullrem _aullrem
;_aullshr _aullshr
_except_handler2 _except_handler2
_except_handler3 _except_handler3
_global_unwind2 _global_unwind2

View file

@ -1,4 +1,4 @@
; $Id: ntoskrnl.edf,v 1.131 2002/10/03 19:39:56 robd Exp $ ; $Id: ntoskrnl.edf,v 1.132 2003/01/07 17:48:11 robd Exp $
; ;
; reactos/ntoskrnl/ntoskrnl.def ; reactos/ntoskrnl/ntoskrnl.def
; ;
@ -976,14 +976,14 @@ ZwWaitForSingleObject=ZwWaitForSingleObject@12
ZwWriteFile=ZwWriteFile@36 ZwWriteFile=ZwWriteFile@36
ZwYieldExecution=ZwYieldExecution@0 ZwYieldExecution=ZwYieldExecution@0
_abnormal_termination _abnormal_termination
;_alldiv _alldiv
;_allmul _allmul
;_allrem _allrem
;_allshl _allshl
;_allshr _allshr
;_aulldiv _aulldiv
;_aullrem _aullrem
;_aullshr _aullshr
_except_handler2 _except_handler2
_except_handler3 _except_handler3
_global_unwind2 _global_unwind2

332
reactos/ntoskrnl/rtl/math.c Normal file
View file

@ -0,0 +1,332 @@
/* $Id: math.c,v 1.1 2003/01/07 17:48:12 robd Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
* FILE: kernel/rtl/math.c
* PURPOSE:
* UPDATE HISTORY:
* Created 20/12/2002
*/
/* INCLUDES *****************************************************************/
#include <ddk/ntddk.h>
#define NDEBUG
#include <internal/debug.h>
/* FUNCTIONS *****************************************************************/
LARGE_INTEGER
STDCALL
_alldiv(ULONG UnsignedInteger)
{
LARGE_INTEGER RC;
RC.QuadPart = 0;
return RC;
}
LARGE_INTEGER
STDCALL
_allmul(ULONG UnsignedInteger)
{
LARGE_INTEGER RC;
RC.QuadPart = 0;
return RC;
}
LARGE_INTEGER
STDCALL
_allrem(ULONG UnsignedInteger)
{
LARGE_INTEGER RC;
RC.QuadPart = 0;
return RC;
}
LARGE_INTEGER
STDCALL
_allshl(ULONG UnsignedInteger)
{
LARGE_INTEGER RC;
RC.QuadPart = 0;
return RC;
}
LARGE_INTEGER
STDCALL
_allshr(ULONG UnsignedInteger)
{
LARGE_INTEGER RC;
RC.QuadPart = 0;
return RC;
}
LARGE_INTEGER
STDCALL
_aulldiv(ULONG UnsignedInteger)
{
LARGE_INTEGER RC;
RC.QuadPart = 0;
return RC;
}
LARGE_INTEGER
STDCALL
_aullrem(ULONG UnsignedInteger)
{
LARGE_INTEGER RC;
RC.QuadPart = 0;
return RC;
}
LARGE_INTEGER
STDCALL
_aullshr(ULONG UnsignedInteger)
{
LARGE_INTEGER RC;
RC.QuadPart = 0;
return RC;
}
/*
LARGE_INTEGER
STDCALL
RtlConvertLongToLargeInteger (
LONG SignedInteger
)
{
LARGE_INTEGER RC;
RC.QuadPart = SignedInteger;
return RC;
}
LARGE_INTEGER
STDCALL
RtlConvertUlongToLargeInteger (
ULONG UnsignedInteger
)
{
LARGE_INTEGER RC;
RC.QuadPart = UnsignedInteger;
return RC;
}
LARGE_INTEGER
STDCALL
RtlEnlargedIntegerMultiply (
LONG Multiplicand,
LONG Multiplier
)
{
LARGE_INTEGER RC;
RC.QuadPart = (LONGLONG) Multiplicand * Multiplier;
return RC;
}
ULONG
STDCALL
RtlEnlargedUnsignedDivide (
ULARGE_INTEGER Dividend,
ULONG Divisor,
PULONG Remainder
)
{
if (Remainder)
*Remainder = Dividend.QuadPart % Divisor;
return (ULONG)(Dividend.QuadPart / Divisor);
}
LARGE_INTEGER
STDCALL
RtlEnlargedUnsignedMultiply (
ULONG Multiplicand,
ULONG Multiplier
)
{
LARGE_INTEGER RC;
RC.QuadPart = (ULONGLONG) Multiplicand * Multiplier;
return RC;
}
LARGE_INTEGER
STDCALL
RtlExtendedIntegerMultiply (
LARGE_INTEGER Multiplicand,
LONG Multiplier
)
{
LARGE_INTEGER RC;
RC.QuadPart = Multiplicand.QuadPart * Multiplier;
return RC;
}
LARGE_INTEGER
STDCALL
RtlExtendedLargeIntegerDivide (
LARGE_INTEGER Dividend,
ULONG Divisor,
PULONG Remainder
)
{
LARGE_INTEGER RC;
if (Remainder)
*Remainder = Dividend.QuadPart % Divisor;
RC.QuadPart = Dividend.QuadPart / Divisor;
return RC;
}
LARGE_INTEGER
STDCALL
RtlExtendedMagicDivide (LARGE_INTEGER Dividend,
LARGE_INTEGER MagicDivisor,
CCHAR ShiftCount)
{
LARGE_INTEGER Result;
Result.QuadPart = (Dividend.QuadPart * MagicDivisor.QuadPart) >> ShiftCount;
return(Result);
}
LARGE_INTEGER
STDCALL
RtlLargeIntegerAdd (
LARGE_INTEGER Addend1,
LARGE_INTEGER Addend2
)
{
LARGE_INTEGER RC;
RC.QuadPart = Addend1.QuadPart + Addend2.QuadPart;
return RC;
}
LARGE_INTEGER
STDCALL
RtlLargeIntegerArithmeticShift (
LARGE_INTEGER LargeInteger,
CCHAR ShiftCount
)
{
LARGE_INTEGER RC;
CHAR Shift;
Shift = ShiftCount % 64;
if (Shift < 32)
{
RC.QuadPart = LargeInteger.QuadPart >> Shift;
}
else
{
// copy the sign bit
RC.u.HighPart |= (LargeInteger.u.HighPart & 0x80000000);
RC.u.LowPart = LargeInteger.u.HighPart >> Shift;
}
return RC;
}
LARGE_INTEGER
STDCALL
RtlLargeIntegerDivide (
LARGE_INTEGER Dividend,
LARGE_INTEGER Divisor,
PLARGE_INTEGER Remainder
)
{
LARGE_INTEGER RC;
if (Remainder)
Remainder->QuadPart = Dividend.QuadPart % Divisor.QuadPart;
RC.QuadPart = Dividend.QuadPart / Divisor.QuadPart;
return RC;
}
LARGE_INTEGER
STDCALL
RtlLargeIntegerNegate (
LARGE_INTEGER Subtrahend
)
{
LARGE_INTEGER RC;
RC.QuadPart = - Subtrahend.QuadPart;
return RC;
}
LARGE_INTEGER
STDCALL
RtlLargeIntegerShiftLeft (
LARGE_INTEGER LargeInteger,
CCHAR ShiftCount
)
{
LARGE_INTEGER RC;
CHAR Shift;
Shift = ShiftCount % 64;
RC.QuadPart = LargeInteger.QuadPart << Shift;
return RC;
}
LARGE_INTEGER
STDCALL
RtlLargeIntegerShiftRight (
LARGE_INTEGER LargeInteger,
CCHAR ShiftCount
)
{
LARGE_INTEGER RC;
CHAR Shift;
Shift = ShiftCount % 64;
RC.QuadPart = LargeInteger.QuadPart >> ShiftCount;
return RC;
}
LARGE_INTEGER
STDCALL
RtlLargeIntegerSubtract (
LARGE_INTEGER Minuend,
LARGE_INTEGER Subtrahend
)
{
LARGE_INTEGER RC;
RC.QuadPart = Minuend.QuadPart - Subtrahend.QuadPart;
return RC;
}
*/
/* EOF */