Beispiel #1
0
inline SchurCtrl<double> CReflect( const ElSchurCtrl_d& ctrlC )
{
    SchurCtrl<double> ctrl;
    ctrl.useSdc = ctrlC.useSdc;
    ctrl.qrCtrl = CReflect( ctrlC.qrCtrl );
    ctrl.sdcCtrl = CReflect( ctrlC.sdcCtrl );
    return ctrl;
}
Beispiel #2
0
inline SpectralBox<float> CReflect( const ElSpectralBox_s& boxC )
{
    SpectralBox<float> box;
    box.center = CReflect(boxC.center);
    box.realWidth = CReflect(boxC.realWidth);
    box.imagWidth = CReflect(boxC.imagWidth);
    return box;
}
Beispiel #3
0
inline SchurCtrl<float> CReflect( const ElSchurCtrl_s& ctrlC )
{
    SchurCtrl<float> ctrl;
    ctrl.useSdc = ctrlC.useSdc;
    ctrl.qrCtrl = CReflect( ctrlC.qrCtrl );
    ctrl.sdcCtrl = CReflect( ctrlC.sdcCtrl );
    return ctrl;
}
Beispiel #4
0
inline HermitianEigCtrl<double> CReflect( const ElHermitianEigCtrl_d& ctrlC )
{
    HermitianEigCtrl<double> ctrl;
    ctrl.tridiagCtrl = CReflect( ctrlC.tridiagCtrl );
    ctrl.sdcCtrl = CReflect( ctrlC.sdcCtrl );
    ctrl.useSdc = ctrlC.useSdc;
    return ctrl;
}
Beispiel #5
0
/* SchurCtrl */
inline ElSchurCtrl_s CReflect( const SchurCtrl<float>& ctrl )
{
    ElSchurCtrl_s ctrlC;
    ctrlC.useSdc = ctrl.useSdc;
    ctrlC.qrCtrl = CReflect( ctrl.qrCtrl );
    ctrlC.sdcCtrl = CReflect( ctrl.sdcCtrl );
    return ctrlC;
}
Beispiel #6
0
/* HermitianEigCtrl */
inline ElHermitianEigCtrl_s CReflect( const HermitianEigCtrl<float>& ctrl )
{
    ElHermitianEigCtrl_s ctrlC;
    ctrlC.tridiagCtrl = CReflect( ctrl.tridiagCtrl );
    ctrlC.sdcCtrl = CReflect( ctrl.sdcCtrl );
    ctrlC.useSdc = ctrl.useSdc;
    return ctrlC;
}
Beispiel #7
0
inline ElHermitianEigCtrl_d CReflect( const HermitianEigCtrl<double>& ctrl )
{
    ElHermitianEigCtrl_d ctrlC;
    ctrlC.tridiagCtrl = CReflect( ctrl.tridiagCtrl );
    ctrlC.sdcCtrl = CReflect( ctrl.sdcCtrl );
    ctrlC.useSdc = ctrl.useSdc;
    return ctrlC;
}
Beispiel #8
0
inline HermitianTridiagCtrl
CReflect( const ElHermitianTridiagCtrl& ctrlC )
{ 
    HermitianTridiagCtrl ctrl;
    ctrl.approach = CReflect(ctrlC.approach);
    ctrl.order = CReflect(ctrlC.order);
    return ctrl;
}
Beispiel #9
0
inline ElHermitianTridiagCtrl
CReflect( const HermitianTridiagCtrl& ctrl )
{ 
    ElHermitianTridiagCtrl ctrlC;
    ctrlC.approach = CReflect(ctrl.approach);
    ctrlC.order = CReflect(ctrl.order);
    return ctrlC;
}
Beispiel #10
0
inline SpectralBox<double> CReflect( const ElSpectralBox_d& boxC )
{
    SpectralBox<double> box;
    box.center = CReflect(boxC.center);
    box.realWidth = CReflect(boxC.realWidth);
    box.imagWidth = CReflect(boxC.imagWidth);
    return box;
}
Beispiel #11
0
inline ElSchurCtrl_d CReflect( const SchurCtrl<double>& ctrl )
{
    ElSchurCtrl_d ctrlC;
    ctrlC.useSdc = ctrl.useSdc;
    ctrlC.qrCtrl = CReflect( ctrl.qrCtrl );
    ctrlC.sdcCtrl = CReflect( ctrl.sdcCtrl );
    return ctrlC;
}
Beispiel #12
0
ElHermitianTridiagCtrl
CReflect( const HermitianTridiagCtrl<Field>& ctrl )
{
    ElHermitianTridiagCtrl ctrlC;
    ctrlC.approach = CReflect(ctrl.approach);
    ctrlC.order = CReflect(ctrl.order);
    ctrlC.symvCtrl = CReflect(ctrl.symvCtrl);
    return ctrlC;
}
Beispiel #13
0
inline HermitianEigCtrl<float> CReflect( const ElHermitianEigCtrl_s& ctrlC )
{
    HermitianEigCtrl<float> ctrl;
    ctrl.tridiagCtrl = CReflect<float>( ctrlC.tridiagCtrl );
    ctrl.tridiagEigCtrl = CReflect( ctrlC.tridiagEigCtrl );
    ctrl.sdcCtrl = CReflect( ctrlC.sdcCtrl );
    ctrl.useSDC = ctrlC.useSDC;
    return ctrl;
}
Beispiel #14
0
HermitianTridiagCtrl<Field>
CReflect( const ElHermitianTridiagCtrl& ctrlC )
{
    HermitianTridiagCtrl<Field> ctrl;
    ctrl.approach = CReflect(ctrlC.approach);
    ctrl.order = CReflect(ctrlC.order);
    ctrl.symvCtrl = CReflect<Field>(ctrlC.symvCtrl);
    return ctrl;
}
Beispiel #15
0
inline SchurCtrl<float> CReflect( const ElSchurCtrl_s& ctrlC )
{
    SchurCtrl<float> ctrl;
    ctrl.useSDC = ctrlC.useSDC;
    ctrl.qrCtrl = CReflect( ctrlC.qrCtrl );
    ctrl.sdcCtrl = CReflect( ctrlC.sdcCtrl );
    ctrl.time = ctrlC.time;
    return ctrl;
}
Beispiel #16
0
inline ElHermitianEigCtrl_z
CReflect( const HermitianEigCtrl<Complex<double>>& ctrl )
{
    ElHermitianEigCtrl_z ctrlC;
    ctrlC.tridiagCtrl = CReflect( ctrl.tridiagCtrl );
    ctrlC.tridiagEigCtrl = CReflect( ctrl.tridiagEigCtrl );
    ctrlC.sdcCtrl = CReflect( ctrl.sdcCtrl );
    ctrlC.useSDC = ctrl.useSDC;
    return ctrlC;
}
Beispiel #17
0
inline HermitianEigCtrl<Complex<double>> 
CReflect( const ElHermitianEigCtrl_z& ctrlC )
{
    HermitianEigCtrl<Complex<double>> ctrl;
    ctrl.tridiagCtrl = CReflect<Complex<double>>( ctrlC.tridiagCtrl );
    ctrl.tridiagEigCtrl = CReflect( ctrlC.tridiagEigCtrl );
    ctrl.sdcCtrl = CReflect( ctrlC.sdcCtrl );
    ctrl.useSDC = ctrlC.useSDC;
    return ctrl;
}
Beispiel #18
0
inline DistData CReflect( const ElDistData& distData )
{
    DistData data;
    data.colDist = CReflect(distData.colDist);
    data.rowDist = CReflect(distData.rowDist);
    data.colAlign = distData.colAlign;
    data.rowAlign = distData.rowAlign;
    data.root = distData.root;
    data.grid = CReflect(distData.grid);
    return data;
}
Beispiel #19
0
inline ElDistData CReflect( const DistData& data )
{
    ElDistData distData;
    distData.colDist = CReflect(data.colDist);
    distData.rowDist = CReflect(data.rowDist);
    distData.colAlign = data.colAlign;
    distData.rowAlign = data.rowAlign;
    distData.root = data.root;
    distData.grid = CReflect(data.grid);
    return distData;
}
Beispiel #20
0
inline SecularEVDCtrl<double>
CReflect( const ElSecularEVDCtrl_d& ctrlC )
{
    SecularEVDCtrl<double> ctrl;
    ctrl.maxIterations = ctrlC.maxIterations;
    ctrl.sufficientDecay = ctrlC.sufficientDecay;
    ctrl.negativeFix = CReflect( ctrlC.negativeFix );
    ctrl.penalizeDerivative = CReflect( ctrlC.penalizeDerivative );
    ctrl.progress = ctrlC.progress;
    ctrl.cubicCtrl = CReflect( ctrlC.cubicCtrl );
    return ctrl;
}
Beispiel #21
0
/* Secular SVD */
inline ElSecularSVDCtrl_s
CReflect( const SecularSVDCtrl<float>& ctrl )
{
    ElSecularSVDCtrl_s ctrlC;
    ctrlC.maxIterations = ctrl.maxIterations;
    ctrlC.sufficientDecay = ctrl.sufficientDecay;
    ctrlC.negativeFix = CReflect( ctrl.negativeFix );
    ctrlC.penalizeDerivative = CReflect( ctrl.penalizeDerivative );
    ctrlC.progress = ctrl.progress;
    ctrlC.cubicCtrl = CReflect( ctrl.cubicCtrl );
    return ctrlC;
}
Beispiel #22
0
inline HermitianTridiagEigCtrl<double> CReflect
( const ElHermitianTridiagEigCtrl_d& ctrlC )
{
    HermitianTridiagEigCtrl<double> ctrl;
    ctrl.wantEigVecs = ctrlC.wantEigVecs;
    ctrl.accumulateEigVecs = ctrlC.accumulateEigVecs;
    ctrl.sort = CReflect(ctrlC.sort);
    ctrl.subset = CReflect(ctrlC.subset);
    ctrl.progress = ctrlC.progress; 
    ctrl.alg = CReflect(ctrlC.alg);
    ctrl.qrCtrl = CReflect(ctrlC.qrCtrl);
    ctrl.dcCtrl = CReflect(ctrlC.dcCtrl);
    return ctrl;
}
Beispiel #23
0
/* HermitianTridiagEigCtrl */
inline ElHermitianTridiagEigCtrl_s CReflect
( const HermitianTridiagEigCtrl<float>& ctrl )
{
    ElHermitianTridiagEigCtrl_s ctrlC;
    ctrlC.wantEigVecs = ctrl.wantEigVecs;
    ctrlC.accumulateEigVecs = ctrl.accumulateEigVecs;
    ctrlC.sort = CReflect(ctrl.sort);
    ctrlC.subset = CReflect(ctrl.subset);
    ctrlC.progress = ctrl.progress; 
    ctrlC.alg = CReflect(ctrl.alg);
    ctrlC.qrCtrl = CReflect(ctrl.qrCtrl);
    ctrlC.dcCtrl = CReflect(ctrl.dcCtrl);
    return ctrlC;
}
Beispiel #24
0
inline ElBidiagSVDCtrl_d CReflect( const BidiagSVDCtrl<double>& ctrl )
{
    ElBidiagSVDCtrl_d ctrlC; 
    ctrlC.wantU = ctrl.wantU;
    ctrlC.wantV = ctrl.wantV;
    ctrlC.accumulateU = ctrl.accumulateU;
    ctrlC.accumulateV = ctrl.accumulateV;
    ctrlC.tolType = CReflect(ctrl.tolType);
    ctrlC.tol = ctrl.tol;
    ctrlC.progress = ctrl.progress;
    ctrlC.useQR = CReflect(ctrl.useQR);
    ctrlC.qrCtrl = CReflect(ctrl.qrCtrl);
    ctrlC.dcCtrl = CReflect(ctrl.dcCtrl);
    return ctrlC;
}
Beispiel #25
0
inline SafeProduct<Complex<double>> CReflect( const ElSafeProduct_z& prodC )
{ 
    SafeProduct<Complex<double>> prod( prodC.n );
    prod.rho = CReflect(prodC.rho);
    prod.kappa = prodC.kappa;
    return prod;
}
Beispiel #26
0
inline ElCubicSecularCtrl CReflect( const CubicSecularCtrl& ctrl )
{
    ElCubicSecularCtrl ctrlC;
    ctrlC.maxIterations = ctrl.maxIterations;
    ctrlC.negativeFix = CReflect( ctrl.negativeFix );
    return ctrlC;
}
Beispiel #27
0
inline CubicSecularCtrl CReflect( const ElCubicSecularCtrl& ctrlC )
{
    CubicSecularCtrl ctrl;
    ctrl.maxIterations = ctrlC.maxIterations;
    ctrl.negativeFix = CReflect( ctrlC.negativeFix );
    return ctrl;
}
Beispiel #28
0
inline BidiagSVDCtrl<double> CReflect( const ElBidiagSVDCtrl_d& ctrlC )
{
    BidiagSVDCtrl<double> ctrl; 
    ctrl.wantU = ctrlC.wantU;
    ctrl.wantV = ctrlC.wantV;
    ctrl.accumulateU = ctrlC.accumulateU;
    ctrl.accumulateV = ctrlC.accumulateV;
    ctrl.approach = CReflect(ctrlC.approach);
    ctrl.tolType = CReflect(ctrlC.tolType);
    ctrl.tol = ctrlC.tol;
    ctrl.progress = ctrlC.progress;
    ctrl.useQR = CReflect(ctrlC.useQR);
    ctrl.qrCtrl = CReflect(ctrlC.qrCtrl);
    ctrl.dcCtrl = CReflect(ctrlC.dcCtrl); 
    return ctrl;
}
Beispiel #29
0
inline PolarCtrl CReflect( const ElPolarCtrl& ctrlC )
{
    PolarCtrl ctrl;
    ctrl.qdwh = ctrlC.qdwh;
    ctrl.qdwhCtrl = CReflect(ctrlC.qdwhCtrl);
    return ctrl;
}
Beispiel #30
0
/* PolarCtrl */
inline ElPolarCtrl CReflect( const PolarCtrl& ctrl )
{
    ElPolarCtrl ctrlC;
    ctrlC.qdwh = ctrl.qdwh;
    ctrlC.qdwhCtrl = CReflect(ctrl.qdwhCtrl);
    return ctrlC;
}