#include <math.h>#include <stdlib.h>#include <stdio.h>#include "zolotarev.h"Go to the source code of this file.
Defines | |
| #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_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_PRECISION * | poly_factored_to_dense (INTERNAL_PRECISION A, INTERNAL_PRECISION *a, int d) |
| static INTERNAL_PRECISION * | contfrac_A (INTERNAL_PRECISION *, INTERNAL_PRECISION *, INTERNAL_PRECISION *, INTERNAL_PRECISION *, int, int) |
| static INTERNAL_PRECISION * | contfrac_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 |
| #define FOUR ((INTERNAL_PRECISION) 4) |
| #define HALF (ONE/TWO) |
| #define INTERNAL_PRECISION long double |
Definition at line 26 of file zolotarev_coeffs.cc.
Referenced by AGM(), construct_contfrac(), construct_partfrac(), contfrac_A(), contfrac_B(), higham(), poly_factored_to_dense(), sncndnFK(), and zolotarev().
| #define M_PI |
Value:
((INTERNAL_PRECISION) 3.141592653589793238462643383279502884197\ 169399375105820974944592307816406286208998628034825342117068)
Definition at line 41 of file zolotarev_coeffs.cc.
Referenced by AGM(), higham(), Chroma::RemezGMP::initialGuess(), and Chroma::su2_a_0_kp().
| #define MAX | ( | a, | |||
| b | ) | ((a) > (b) ? (a) : (b)) |
| #define MIN | ( | a, | |||
| b | ) | ((a) < (b) ? (a) : (b)) |
Definition at line 23 of file zolotarev_coeffs.cc.
| #define ONE ((INTERNAL_PRECISION) 1) |
Definition at line 46 of file zolotarev_coeffs.cc.
Referenced by AGM(), construct_contfrac(), construct_partfrac(), higham(), sncndnFK(), and zolotarev().
| #define PP1 | ( | a, | |||
| b, | |||||
| c | ) | a ## b(c) |
Definition at line 56 of file zolotarev_coeffs.cc.
| #define PP2 | ( | x | ) | #x |
Definition at line 55 of file zolotarev_coeffs.cc.
| #define STRINGIFY | ( | name | ) | PP1(PP,2,name) |
Definition at line 57 of file zolotarev_coeffs.cc.
| #define THREE ((INTERNAL_PRECISION) 3) |
| #define TWO ((INTERNAL_PRECISION) 2) |
| #define VERSION Source Time-stamp: <19-OCT-2004 09:33:22.00 adk@MISSCONTRARY> |
Definition at line 2 of file zolotarev_coeffs.cc.
| #define ZERO ((INTERNAL_PRECISION) 0) |
Definition at line 45 of file zolotarev_coeffs.cc.
Referenced by construct_partfrac(), contfrac_A(), contfrac_B(), and zolotarev().
| #define ZOLOTAREV_DATA izd |
Definition at line 32 of file zolotarev_coeffs.cc.
| #define ZPRECISION INTERNAL_PRECISION |
Definition at line 34 of file zolotarev_coeffs.cc.
| static INTERNAL_PRECISION AGM | ( | INTERNAL_PRECISION | a, | |
| INTERNAL_PRECISION | b, | |||
| INTERNAL_PRECISION | s | |||
| ) | [static] |
Definition at line 246 of file zolotarev_coeffs.cc.
References F, HALF, INTERNAL_PRECISION, K, M_PI, ONE, TWO, and U.
Referenced by sncndnFK().
| static void construct_contfrac | ( | izd * | z | ) | [static] |
Definition at line 156 of file zolotarev_coeffs.cc.
References Chroma::StagPhases::beta(), contfrac_A(), contfrac_B(), INTERNAL_PRECISION, MAX, ONE, poly_factored_to_dense(), and q.
Referenced by higham(), and zolotarev().
| static void construct_partfrac | ( | izd * | z | ) | [static] |
Definition at line 62 of file zolotarev_coeffs.cc.
References Chroma::StagPhases::alpha(), INTERNAL_PRECISION, ONE, and ZERO.
Referenced by higham(), and zolotarev().
| static INTERNAL_PRECISION * contfrac_A | ( | INTERNAL_PRECISION * | , | |
| INTERNAL_PRECISION * | , | |||
| INTERNAL_PRECISION * | , | |||
| INTERNAL_PRECISION * | , | |||
| int | , | |||
| int | ||||
| ) | [static] |
Definition at line 173 of file zolotarev_coeffs.cc.
References contfrac_B(), INTERNAL_PRECISION, and ZERO.
Referenced by construct_contfrac(), and contfrac_B().
| static INTERNAL_PRECISION * contfrac_B | ( | INTERNAL_PRECISION * | , | |
| INTERNAL_PRECISION * | , | |||
| INTERNAL_PRECISION * | , | |||
| INTERNAL_PRECISION * | , | |||
| int | , | |||
| int | ||||
| ) | [static] |
Definition at line 198 of file zolotarev_coeffs.cc.
References contfrac_A(), INTERNAL_PRECISION, and ZERO.
Referenced by construct_contfrac(), and contfrac_A().
| zolotarev_data* higham | ( | PRECISION | epsilon, | |
| int | n | |||
| ) |
Definition at line 415 of file zolotarev_coeffs.cc.
References Chroma::StagPhases::alpha(), Chroma::StagPhases::beta(), construct_contfrac(), construct_partfrac(), HALF, INTERNAL_PRECISION, m, M_PI, ONE, and PRECISION.
Referenced by Chroma::EvenOddPrecHtContFrac5DFermActArray::init(), Chroma::EvenOddPrecOvExtFermActArray::init(), Chroma::EvenOddPrecOvlapContFrac5DFermActArray::init(), Chroma::OvlapPartFrac4DFermAct::init(), Chroma::UnprecHTContFrac5DFermActArray::init(), Chroma::UnprecOvExtFermActArray::init(), Chroma::UnprecOvlapContFrac5DFermActArray::init(), Chroma::EvenOddPrecZoloNEFFermActArray::initCoeffs(), Chroma::UnprecZoloNEFFermActArray::initCoeffs(), and Chroma::OvlapPartFrac4DFermAct::initPrec().
| 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 INTERNAL_PRECISION.
Referenced by construct_contfrac().
| 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, ONE, and U.
Referenced by zolotarev().
| zolotarev_data* zolotarev | ( | PRECISION | epsilon, | |
| int | n, | |||
| int | type | |||
| ) |
Definition at line 294 of file zolotarev_coeffs.cc.
References Chroma::StagPhases::alpha(), Chroma::StagPhases::beta(), construct_contfrac(), construct_partfrac(), F, FOUR, HALF, INTERNAL_PRECISION, l, m, ONE, PRECISION, sncndnFK(), THREE, TWO, and ZERO.
Referenced by Chroma::EvenOddPrecHtContFrac5DFermActArray::init(), Chroma::EvenOddPrecOvExtFermActArray::init(), Chroma::EvenOddPrecOvlapContFrac5DFermActArray::init(), Chroma::OvlapPartFrac4DFermAct::init(), Chroma::UnprecHTContFrac5DFermActArray::init(), Chroma::UnprecOvExtFermActArray::init(), Chroma::UnprecOvlapContFrac5DFermActArray::init(), Chroma::EvenOddPrecZoloNEFFermActArray::initCoeffs(), Chroma::UnprecZoloNEFFermActArray::initCoeffs(), and Chroma::OvlapPartFrac4DFermAct::initPrec().
| void zolotarev_free | ( | zolotarev_data * | rdata | ) |
Definition at line 508 of file zolotarev_coeffs.cc.
INTERNAL_PRECISION F [static] |
Definition at line 228 of file zolotarev_coeffs.cc.
Referenced by AGM(), Chroma::InlineNprVertex::func(), Chroma::InlineNoisyBuildingBlocks::func(), Chroma::InlineBuildingBlocks::func(), main(), sncndnFK(), and zolotarev().
INTERNAL_PRECISION K [static] |
Definition at line 228 of file zolotarev_coeffs.cc.
Referenced by AGM(), Chroma::QIOReadObjCallMapEnv::QIOReadMapObj(), and sncndnFK().
INTERNAL_PRECISION U [static] |
Definition at line 228 of file zolotarev_coeffs.cc.
Referenced by AGM(), Chroma::Private::FunctorImplBase< R >::Clone(), Chroma::CloverTermBase< T, U >::deriv(), Chroma::CloverTermBase< T, U >::deriv_loops(), Chroma::CloverTermBase< T, U >::derivTrLn(), Chroma::DiracToDRMat(), Chroma::InlineDiscoEoEigCGEnv::do_disco(), Chroma::InlineDiscoEigCGEnv::do_disco(), Chroma::InlineNprVertex::func(), Chroma::InlineNoisyBuildingBlocks::func(), Chroma::InlineBuildingBlocks::func(), Chroma::InvEigCG2ArrayEnv::InvEigCG2_T(), Chroma::InvEigCG2Env::InvEigCG2_T(), Chroma::InvGMRESR_CG_a(), Chroma::InvRelGMRESR_CG_a(), Chroma::InvRelGMRESR_SUMR_a(), Chroma::InvRelSUMR(), Chroma::InvRelSUMR_a(), Chroma::InvSUMR(), Chroma::InvSUMR_a(), main(), Chroma::QDPCloverTermT< T, U >::makeClov(), Chroma::QDPCloverEnv::makeClovSiteLoop(), Chroma::mesFieldT(), Chroma::MInvRelSUMR(), Chroma::MInvRelSUMR_a(), Chroma::MInvSUMR(), Chroma::MInvSUMR_a(), Chroma::OverlapFermActBase::multiQprop(), Chroma::InvEigCG2Env::new_InvEigCG2_T(), Chroma::InvEigCG2ArrayEnv::old_InvEigCG2_T(), Chroma::Ovlap4DQprop::operator()(), Chroma::InlineQQQDiquarkEnv::InlineMeas::operator()(), Chroma::InlineQQbar::operator()(), Chroma::ExternalFieldEnv::LinearElectricExternalField::operator()(), Chroma::ExternalFieldEnv::ConstantMagneticExternalField::operator()(), Chroma::PauliToDRMat(), Chroma::InlineDiscoEoEigCGEnv::PRchi(), Chroma::InlineDiscoEigCGEnv::PRchi(), Chroma::readKYUQprop(), sncndnFK(), Chroma::sysSolver(), Chroma::TDiracToDRMat(), and Chroma::QDPCloverEnv::triaCntrSiteLoop().
1.4.7