CHROMA
Macros | Functions | Variables
zolotarev_coeffs.cc File Reference
#include <math.h>
#include <stdlib.h>
#include <stdio.h>
#include "zolotarev.h"

Go to the source code of this file.

Macros

#define VERSION   Source Time-stamp: <19-OCT-2004 09:33:22.00 adk@MISSCONTRARY>
 
#define MAX(a, b)   ((a) > (b) ? (a) : (b))
 
#define MIN(a, b)   ((a) < (b) ? (a) : (b))
 
#define INTERNAL_PRECISION   long double
 
#define ZOLOTAREV_INTERNAL
 
#define ZOLOTAREV_DATA   izd
 
#define ZPRECISION   INTERNAL_PRECISION
 
#define M_PI
 
#define ZERO   ((INTERNAL_PRECISION) 0)
 
#define ONE   ((INTERNAL_PRECISION) 1)
 
#define TWO   ((INTERNAL_PRECISION) 2)
 
#define THREE   ((INTERNAL_PRECISION) 3)
 
#define FOUR   ((INTERNAL_PRECISION) 4)
 
#define HALF   (ONE/TWO)
 
#define PP2(x)   #x
 
#define PP1(a, b, c)   a ## b(c)
 
#define STRINGIFY(name)   PP1(PP,2,name)
 

Functions

static void construct_partfrac (izd *z)
 
static INTERNAL_PRECISIONpoly_factored_to_dense (INTERNAL_PRECISION A, INTERNAL_PRECISION *a, int d)
 
static INTERNAL_PRECISIONcontfrac_A (INTERNAL_PRECISION *, INTERNAL_PRECISION *, INTERNAL_PRECISION *, INTERNAL_PRECISION *, int, int)
 
static INTERNAL_PRECISIONcontfrac_B (INTERNAL_PRECISION *, INTERNAL_PRECISION *, INTERNAL_PRECISION *, INTERNAL_PRECISION *, int, int)
 
static void construct_contfrac (izd *z)
 
static INTERNAL_PRECISION AGM (INTERNAL_PRECISION a, INTERNAL_PRECISION b, INTERNAL_PRECISION s)
 
static void sncndnFK (INTERNAL_PRECISION u, INTERNAL_PRECISION k, INTERNAL_PRECISION *sn, INTERNAL_PRECISION *cn, INTERNAL_PRECISION *dn, INTERNAL_PRECISION *elF, INTERNAL_PRECISION *elK)
 
zolotarev_data * zolotarev (PRECISION epsilon, int n, int type)
 
zolotarev_data * higham (PRECISION epsilon, int n)
 
void zolotarev_free (zolotarev_data *rdata)
 

Variables

static INTERNAL_PRECISION U
 
static INTERNAL_PRECISION F
 
static INTERNAL_PRECISION K
 

Macro Definition Documentation

◆ FOUR

#define FOUR   ((INTERNAL_PRECISION) 4)

Definition at line 49 of file zolotarev_coeffs.cc.

◆ HALF

#define HALF   (ONE/TWO)

Definition at line 50 of file zolotarev_coeffs.cc.

◆ INTERNAL_PRECISION

#define INTERNAL_PRECISION   long double

Definition at line 26 of file zolotarev_coeffs.cc.

◆ M_PI

#define M_PI
Value:
((INTERNAL_PRECISION) 3.141592653589793238462643383279502884197\
169399375105820974944592307816406286208998628034825342117068)
#define INTERNAL_PRECISION

Definition at line 41 of file zolotarev_coeffs.cc.

◆ MAX

#define MAX (   a,
 
)    ((a) > (b) ? (a) : (b))

Definition at line 22 of file zolotarev_coeffs.cc.

◆ MIN

#define MIN (   a,
 
)    ((a) < (b) ? (a) : (b))

Definition at line 23 of file zolotarev_coeffs.cc.

◆ ONE

#define ONE   ((INTERNAL_PRECISION) 1)

Definition at line 46 of file zolotarev_coeffs.cc.

◆ PP1

#define PP1 (   a,
  b,
  c 
)    a ## b(c)

Definition at line 56 of file zolotarev_coeffs.cc.

◆ PP2

#define PP2 (   x)    #x

Definition at line 55 of file zolotarev_coeffs.cc.

◆ STRINGIFY

#define STRINGIFY (   name)    PP1(PP,2,name)

Definition at line 57 of file zolotarev_coeffs.cc.

◆ THREE

#define THREE   ((INTERNAL_PRECISION) 3)

Definition at line 48 of file zolotarev_coeffs.cc.

◆ TWO

#define TWO   ((INTERNAL_PRECISION) 2)

Definition at line 47 of file zolotarev_coeffs.cc.

◆ VERSION

#define VERSION   Source Time-stamp: <19-OCT-2004 09:33:22.00 adk@MISSCONTRARY>

Definition at line 2 of file zolotarev_coeffs.cc.

◆ ZERO

#define ZERO   ((INTERNAL_PRECISION) 0)

Definition at line 45 of file zolotarev_coeffs.cc.

◆ ZOLOTAREV_DATA

#define ZOLOTAREV_DATA   izd

Definition at line 32 of file zolotarev_coeffs.cc.

◆ ZOLOTAREV_INTERNAL

#define ZOLOTAREV_INTERNAL

Definition at line 30 of file zolotarev_coeffs.cc.

◆ ZPRECISION

#define ZPRECISION   INTERNAL_PRECISION

Definition at line 34 of file zolotarev_coeffs.cc.

Function Documentation

◆ AGM()

Definition at line 246 of file zolotarev_coeffs.cc.

References Chroma::a, Chroma::b, c, Chroma::d, F, HALF, INTERNAL_PRECISION, K, M_PI, ONE, s, and TWO.

Referenced by sncndnFK().

◆ construct_contfrac()

static void construct_contfrac ( izd *  z)
static

◆ construct_partfrac()

static void construct_partfrac ( izd *  z)
static

Definition at line 62 of file zolotarev_coeffs.cc.

References Chroma::a, Chroma::A(), Chroma::StagPhases::alpha(), INTERNAL_PRECISION, j, Chroma::k, ONE, z, and ZERO.

Referenced by higham(), and zolotarev().

◆ contfrac_A()

static INTERNAL_PRECISION * contfrac_A ( INTERNAL_PRECISION beta,
INTERNAL_PRECISION p,
INTERNAL_PRECISION q,
INTERNAL_PRECISION r,
int  dp,
int  dq 
)
static

◆ contfrac_B()

static INTERNAL_PRECISION * contfrac_B ( INTERNAL_PRECISION beta,
INTERNAL_PRECISION p,
INTERNAL_PRECISION q,
INTERNAL_PRECISION r,
int  dp,
int  dq 
)
static

◆ higham()

zolotarev_data* higham ( PRECISION  epsilon,
int  n 
)

◆ poly_factored_to_dense()

static INTERNAL_PRECISION* poly_factored_to_dense ( INTERNAL_PRECISION  A,
INTERNAL_PRECISION a,
int  d 
)
static

Definition at line 85 of file zolotarev_coeffs.cc.

References Chroma::a, Chroma::A(), Chroma::d, i, INTERNAL_PRECISION, j, and Chroma::p.

Referenced by construct_contfrac().

◆ sncndnFK()

static void sncndnFK ( INTERNAL_PRECISION  u,
INTERNAL_PRECISION  k,
INTERNAL_PRECISION sn,
INTERNAL_PRECISION cn,
INTERNAL_PRECISION dn,
INTERNAL_PRECISION elF,
INTERNAL_PRECISION elK 
)
static

Definition at line 271 of file zolotarev_coeffs.cc.

References AGM(), F, INTERNAL_PRECISION, K, Chroma::k, ONE, and Chroma::u.

Referenced by zolotarev().

◆ zolotarev()

zolotarev_data* zolotarev ( PRECISION  epsilon,
int  n,
int  type 
)

◆ zolotarev_free()

void zolotarev_free ( zolotarev_data *  rdata)

Definition at line 508 of file zolotarev_coeffs.cc.

Variable Documentation

◆ F

Definition at line 228 of file zolotarev_coeffs.cc.

Referenced by Chroma::AddLinks(), AGM(), Chroma::BkwdFrwd(), Chroma::BkwdFrwdTr(), Chroma::BuildingBlocks(), Chroma::StoutFermState< T, P, Q >::deriv(), Chroma::SLICFermState< T, P, Q >::deriv(), Chroma::StoutGaugeState< P, Q >::deriv(), Chroma::ConnectState< P, Q >::deriv(), Chroma::Stouting::deriv_recurse(), Chroma::ConstGaugeMonomial::dsdq(), Chroma::EvenOddPrecConstDetConstGaugeOneFlavorWilsonTypeFermRatMonomial::dsdq(), Chroma::EvenOddPrecLogDetEvenEvenMonomial< P, Q, Phi >::dsdq(), Chroma::FixedRandomFermMonomial4D::dsdq(), Chroma::GaugeMonomial::dsdq(), Chroma::OneFlavorRatExactWilsonTypeFermMonomial5D< P, Q, Phi >::dsdq(), Chroma::OneFlavorRatExactWilsonTypeFermMonomial< P, Q, Phi >::dsdq(), Chroma::OneFlavorRatioRatConvExactWilsonTypeFermMonomial5D< P, Q, Phi >::dsdq(), Chroma::OneFlavorRatioRatConvExactWilsonTypeFermMonomial< P, Q, Phi >::dsdq(), Chroma::OneFlavorRatioRatRatExactWilsonTypeFermMonomial5D< P, Q, Phi >::dsdq(), Chroma::OneFlavorRatioRatRatExactWilsonTypeFermMonomial< P, Q, Phi >::dsdq(), Chroma::SymEvenOddPrecLogDetDiagMonomial< P, Q, Phi >::dsdq(), Chroma::TwoFlavorExactWilsonTypeFermMonomial5D< P, Q, Phi >::dsdq(), Chroma::TwoFlavorExactWilsonTypeFermMonomial< P, Q, Phi >::dsdq(), Chroma::TwoFlavorExactEOPrecLogDetWilsonTypeFermMonomialT< P, Q, Phi, EOFermActT, EOLinOpT >::dsdq(), Chroma::PrecConstDetTwoFlavorWilsonMultihasenCancelMonomial< T, P, Q, FAType, LOType >::dsdq(), Chroma::TwoFlavorExactPolynomialWilsonTypeFermMonomial< P, Q, Phi >::dsdq(), Chroma::TwoFlavorExactPolyPrecWilsonTypeFermMonomial< P, Q, Phi >::dsdq(), Chroma::TwoFlavorExactRatioConvConvWilsonTypeFermMonomial5D< P, Q, Phi >::dsdq(), Chroma::TwoFlavorExactRatioConvConvWilsonTypeFermMonomial< P, Q, Phi >::dsdq(), Chroma::PrecConstDetTwoFlavorRatioConvConvMultihasenWilsonTypeFermMonomial< T, P, Q, FAType, LOType >::dsdq(), Chroma::TwoFlavorExactRatioConvRatWilsonTypeFermMonomial5D< P, Q, Phi >::dsdq(), Chroma::TwoFlavorExactRatioConvRatWilsonTypeFermMonomial< P, Q, Phi >::dsdq(), Chroma::forceMonitorCalc(), Chroma::InlineBuildingBlocks::func(), Chroma::InlineNoisyBuildingBlocks::func(), Chroma::InlineNprVertex::func(), Chroma::leftRightNabla(), main(), Chroma::monitorForces(), Chroma::NprVertex(), Chroma::rightB(), Chroma::rightLap(), Chroma::rightNablaT(), sncndnFK(), and zolotarev().

◆ K

Definition at line 228 of file zolotarev_coeffs.cc.

Referenced by AGM(), Chroma::InlineBarSpecEnv::InlineMeas::func(), and sncndnFK().

◆ U

Definition at line 228 of file zolotarev_coeffs.cc.