mirror of
https://github.com/python/cpython.git
synced 2025-08-04 17:08:35 +00:00
Issue #7652: Integrate the decimal floating point libmpdec library to speed
up the decimal module. Performance gains of the new C implementation are between 12x and 80x, depending on the application.
This commit is contained in:
parent
8bfccd852e
commit
1919b7e72b
71 changed files with 31412 additions and 1031 deletions
48
Modules/_decimal/libmpdec/vcdiv64.asm
Normal file
48
Modules/_decimal/libmpdec/vcdiv64.asm
Normal file
|
@ -0,0 +1,48 @@
|
|||
;
|
||||
; Copyright (c) 2008-2012 Stefan Krah. All rights reserved.
|
||||
;
|
||||
; Redistribution and use in source and binary forms, with or without
|
||||
; modification, are permitted provided that the following conditions
|
||||
; are met:
|
||||
;
|
||||
; 1. Redistributions of source code must retain the above copyright
|
||||
; notice, this list of conditions and the following disclaimer.
|
||||
;
|
||||
; 2. Redistributions in binary form must reproduce the above copyright
|
||||
; notice, this list of conditions and the following disclaimer in the
|
||||
; documentation and/or other materials provided with the distribution.
|
||||
;
|
||||
; THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS" AND
|
||||
; ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
; IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
; ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
||||
; FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
; DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
; OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
; HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
; LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
; OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
; SUCH DAMAGE.
|
||||
;
|
||||
|
||||
|
||||
PUBLIC _mpd_div_words
|
||||
_TEXT SEGMENT
|
||||
q$ = 8
|
||||
r$ = 16
|
||||
hi$ = 24
|
||||
lo$ = 32
|
||||
d$ = 40
|
||||
_mpd_div_words PROC
|
||||
mov r10, rdx
|
||||
mov rdx, r8
|
||||
mov rax, r9
|
||||
div QWORD PTR d$[rsp]
|
||||
mov QWORD PTR [r10], rdx
|
||||
mov QWORD PTR [rcx], rax
|
||||
ret 0
|
||||
_mpd_div_words ENDP
|
||||
_TEXT ENDS
|
||||
END
|
||||
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue