-
Notifications
You must be signed in to change notification settings - Fork 1
/
mult1.asm
84 lines (76 loc) · 1.31 KB
/
mult1.asm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
; Copyright 1995-2009 Mersenne Research, Inc. All rights reserved
; Author: George Woltman
; Email: [email protected]
;
; This routine implements a discrete weighted transform to quickly multiply
; two numbers.
;
; This code handles FFTs that use a simple linear memory model and
; the simplified normalization code. FFT sizes from 32 doubles to
; 128 doubles are supported.
;
; You will not stand a chance of understanding any of this code without
; thoroughly familiarizing yourself with fast fourier transforms. This
; code was adapted from an algorithm described in Richard Crandall's article
; on Discrete Weighted Transforms and Large-Integer Arithmetic.
;
TITLE setup
.686
.XMM
.MODEL FLAT
_TEXT SEGMENT
INCLUDE unravel.mac
INCLUDE extrn.mac
INCLUDE lucas.mac
INCLUDE pfa.mac
INCLUDE mult.mac
INCLUDE fft1.mac
INCLUDE memory.mac
flat_distances
;; All the FFT routines for each FFT length
fft 32
fft 32p
fft 40
fft 48
fft 48p
fft 56
fft 64
fft 64p
fft 80
fft 96
fft 96p
fft 112
fft 128
fft 128p
fft 160
fft 192
fft 192p
fft 224
fft 256
fft 256p
fft 320
fft 384
fft 384p
fft 448
fft 512
fft 512p
fft 640
fft 768
fft 768p
fft 896
fft 1024
fft 1024p
fft 1280
fft 1536
fft 1536p
fft 1792
fft 2048
fft 2048p
fft 2560
fft 3072
fft 3072p
fft 3584
fft 4096
fft 4096p
_TEXT ENDS
END