w32tex
About: TeX Live provides a comprehensive TeX system including all the major TeX-related programs, macro packages, and fonts that are free software. Windows sources.
  Fossies Dox: w32tex-src.tar.xz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

toom6_sqr.c File Reference
#include "gmp-impl.h"
Include dependency graph for toom6_sqr.c:

Go to the source code of this file.

Macros

#define SQR_TOOM6_MAX   ((SQR_TOOM8_THRESHOLD+6*2-1+5)/6)
 
#define MAYBE_sqr_basecase    (SQR_TOOM6_THRESHOLD < 6 * SQR_TOOM2_THRESHOLD)
 
#define MAYBE_sqr_above_basecase    (SQR_TOOM6_MAX >= SQR_TOOM2_THRESHOLD)
 
#define MAYBE_sqr_toom2    (SQR_TOOM6_THRESHOLD < 6 * SQR_TOOM3_THRESHOLD)
 
#define MAYBE_sqr_above_toom2    (SQR_TOOM6_MAX >= SQR_TOOM3_THRESHOLD)
 
#define MAYBE_sqr_toom3    (SQR_TOOM6_THRESHOLD < 6 * SQR_TOOM4_THRESHOLD)
 
#define MAYBE_sqr_above_toom3    (SQR_TOOM6_MAX >= SQR_TOOM4_THRESHOLD)
 
#define MAYBE_sqr_above_toom4    (SQR_TOOM6_MAX >= SQR_TOOM6_THRESHOLD)
 
#define TOOM6_SQR_REC(p, a, n, ws)
 
#define r4   (pp + 3 * n) /* 3n+1 */
 
#define r2   (pp + 7 * n) /* 3n+1 */
 
#define r0   (pp +11 * n) /* s+t <= 2*n */
 
#define r5   (scratch) /* 3n+1 */
 
#define r3   (scratch + 3 * n + 1) /* 3n+1 */
 
#define r1   (scratch + 6 * n + 2) /* 3n+1 */
 
#define v0   (pp + 7 * n) /* n+1 */
 
#define v2   (pp + 9 * n+2) /* n+1 */
 
#define wse   (scratch + 9 * n + 3) /* 3n+1 */
 

Functions

void __gmpn_toom6_sqr (mp_ptr pp, mp_srcptr ap, mp_size_t an, mp_ptr scratch)
 

Macro Definition Documentation

◆ MAYBE_sqr_above_basecase

#define MAYBE_sqr_above_basecase    (SQR_TOOM6_MAX >= SQR_TOOM2_THRESHOLD)

Definition at line 65 of file toom6_sqr.c.

◆ MAYBE_sqr_above_toom2

#define MAYBE_sqr_above_toom2    (SQR_TOOM6_MAX >= SQR_TOOM3_THRESHOLD)

Definition at line 69 of file toom6_sqr.c.

◆ MAYBE_sqr_above_toom3

#define MAYBE_sqr_above_toom3    (SQR_TOOM6_MAX >= SQR_TOOM4_THRESHOLD)

Definition at line 73 of file toom6_sqr.c.

◆ MAYBE_sqr_above_toom4

#define MAYBE_sqr_above_toom4    (SQR_TOOM6_MAX >= SQR_TOOM6_THRESHOLD)

Definition at line 75 of file toom6_sqr.c.

◆ MAYBE_sqr_basecase

#define MAYBE_sqr_basecase    (SQR_TOOM6_THRESHOLD < 6 * SQR_TOOM2_THRESHOLD)

Definition at line 63 of file toom6_sqr.c.

◆ MAYBE_sqr_toom2

#define MAYBE_sqr_toom2    (SQR_TOOM6_THRESHOLD < 6 * SQR_TOOM3_THRESHOLD)

Definition at line 67 of file toom6_sqr.c.

◆ MAYBE_sqr_toom3

#define MAYBE_sqr_toom3    (SQR_TOOM6_THRESHOLD < 6 * SQR_TOOM4_THRESHOLD)

Definition at line 71 of file toom6_sqr.c.

◆ r0

#define r0   (pp +11 * n) /* s+t <= 2*n */

◆ r1

#define r1   (scratch + 6 * n + 2) /* 3n+1 */

◆ r2

#define r2   (pp + 7 * n) /* 3n+1 */

◆ r3

#define r3   (scratch + 3 * n + 1) /* 3n+1 */

◆ r4

#define r4   (pp + 3 * n) /* 3n+1 */

◆ r5

#define r5   (scratch) /* 3n+1 */

◆ SQR_TOOM6_MAX

#define SQR_TOOM6_MAX   ((SQR_TOOM8_THRESHOLD+6*2-1+5)/6)

Definition at line 56 of file toom6_sqr.c.

◆ TOOM6_SQR_REC

#define TOOM6_SQR_REC (   p,
  a,
  n,
  ws 
)
Value:
do { \
mpn_sqr_basecase (p, a, n); \
mpn_toom2_sqr (p, a, n, ws); \
mpn_toom3_sqr (p, a, n, ws); \
else if (! MAYBE_sqr_above_toom4 \
mpn_toom4_sqr (p, a, n, ws); \
} while (0)
#define n
Definition: t4ht.c:1290
#define ws
#define MAYBE_sqr_toom2
Definition: toom6_sqr.c:67
#define MAYBE_sqr_above_toom4
Definition: toom6_sqr.c:75
#define MAYBE_sqr_basecase
Definition: toom6_sqr.c:63
#define MAYBE_sqr_above_basecase
Definition: toom6_sqr.c:65
#define MAYBE_sqr_toom3
Definition: toom6_sqr.c:71
#define MAYBE_sqr_above_toom3
Definition: toom6_sqr.c:73
#define MAYBE_sqr_above_toom2
Definition: toom6_sqr.c:69
#define SQR_TOOM6_THRESHOLD
Definition: gmp-impl.h:2098
#define mpn_toom6_sqr
Definition: gmp-impl.h:1488
#define SQR_TOOM2_THRESHOLD
Definition: gmp-impl.h:2164
#define SQR_TOOM4_THRESHOLD
Definition: gmp-impl.h:2172
#define BELOW_THRESHOLD(size, thresh)
Definition: gmp-impl.h:1368
#define SQR_TOOM3_THRESHOLD
Definition: gmp-impl.h:2168
#define a(n)
Definition: gpos-common.c:148
small capitals from c petite p
Definition: afcover.h:72

Definition at line 79 of file toom6_sqr.c.

◆ v0

#define v0   (pp + 7 * n) /* n+1 */

◆ v2

#define v2   (pp + 9 * n+2) /* n+1 */

◆ wse

#define wse   (scratch + 9 * n + 3) /* 3n+1 */

Function Documentation

◆ __gmpn_toom6_sqr()

void __gmpn_toom6_sqr ( mp_ptr  pp,
mp_srcptr  ap,
mp_size_t  an,
mp_ptr  scratch 
)

Definition at line 98 of file toom6_sqr.c.