My Project
Loading...
Searching...
No Matches
Data Structures | Namespaces | Macros | Functions
svd_si.h File Reference
#include <stdlib.h>
#include <math.h>
#include "factory/globaldefs.h"
#include "resources/feFopen.h"
#include "kernel/mod2.h"
#include "omalloc/omalloc.h"
#include <gmp.h>
#include <mpfr.h>
#include <stdexcept>
#include <string>
#include <stdio.h>
#include <time.h>
#include <memory.h>
#include <vector>
#include <list>

Go to the source code of this file.

Data Structures

class  ap::ap_error
 
class  ap::complex
 
class  ap::const_raw_vector< T >
 
class  ap::raw_vector< T >
 
class  ap::template_1d_array< T >
 
class  ap::template_2d_array< T >
 
class  amp::exception
 
class  amp::incorrectPrecision
 
class  amp::overflow
 
class  amp::divisionByZero
 
class  amp::sqrtOfNegativeNumber
 
class  amp::invalidConversion
 
class  amp::invalidString
 
class  amp::internalError
 
class  amp::domainError
 
struct  amp::mpfr_record
 
class  amp::mpfr_storage
 
class  amp::mpfr_reference
 
class  amp::ampf< Precision >
 
class  amp::campf< Precision >
 

Namespaces

namespace  ap
 
namespace  amp
 
namespace  reflections
 
namespace  bidiagonal
 
namespace  qr
 
namespace  lq
 
namespace  blas
 
namespace  rotations
 
namespace  bdsvd
 
namespace  svd
 

Macros

#define assert(A)
 
#define AP_ASSERT
 
#define __AMP_BINARY_OPI(type)
 
#define __AMP_BINARY_OPF(type)
 
#define __AMP_BINARY_OPI(type)
 
#define __AMP_BINARY_OPF(type)
 

Functions

const complex ap::operator/ (const complex &lhs, const complex &rhs)
 
const bool ap::operator== (const complex &lhs, const complex &rhs)
 
const bool ap::operator!= (const complex &lhs, const complex &rhs)
 
const complex ap::operator+ (const complex &lhs)
 
const complex ap::operator- (const complex &lhs)
 
const complex ap::operator+ (const complex &lhs, const complex &rhs)
 
const complex ap::operator+ (const complex &lhs, const double &rhs)
 
const complex ap::operator+ (const double &lhs, const complex &rhs)
 
const complex ap::operator- (const complex &lhs, const complex &rhs)
 
const complex ap::operator- (const complex &lhs, const double &rhs)
 
const complex ap::operator- (const double &lhs, const complex &rhs)
 
const complex ap::operator* (const complex &lhs, const complex &rhs)
 
const complex ap::operator* (const complex &lhs, const double &rhs)
 
const complex ap::operator* (const double &lhs, const complex &rhs)
 
const complex ap::operator/ (const double &lhs, const complex &rhs)
 
const complex ap::operator/ (const complex &lhs, const double &rhs)
 
const double ap::abscomplex (const complex &z)
 
const complex ap::conj (const complex &z)
 
const complex ap::csqr (const complex &z)
 
template<class T >
T ap::vdotproduct (const_raw_vector< T > v1, const_raw_vector< T > v2)
 
template<class T >
void ap::vmove (raw_vector< T > vdst, const_raw_vector< T > vsrc)
 
template<class T >
void ap::vmoveneg (raw_vector< T > vdst, const_raw_vector< T > vsrc)
 
template<class T , class T2 >
void ap::vmove (raw_vector< T > vdst, const_raw_vector< T > vsrc, T2 alpha)
 
template<class T >
void ap::vadd (raw_vector< T > vdst, const_raw_vector< T > vsrc)
 
template<class T , class T2 >
void ap::vadd (raw_vector< T > vdst, const_raw_vector< T > vsrc, T2 alpha)
 
template<class T >
void ap::vsub (raw_vector< T > vdst, const_raw_vector< T > vsrc)
 
template<class T , class T2 >
void ap::vsub (raw_vector< T > vdst, const_raw_vector< T > vsrc, T2 alpha)
 
template<class T , class T2 >
void ap::vmul (raw_vector< T > vdst, T2 alpha)
 
int ap::sign (double x)
 
double ap::randomreal ()
 
int ap::randominteger (int maxv)
 
int ap::round (double x)
 
int ap::trunc (double x)
 
int ap::ifloor (double x)
 
int ap::iceil (double x)
 
double ap::pi ()
 
double ap::sqr (double x)
 
int ap::maxint (int m1, int m2)
 
int ap::minint (int m1, int m2)
 
double ap::maxreal (double m1, double m2)
 
double ap::minreal (double m1, double m2)
 
template<unsigned int Precision>
bool amp::operator== (const ampf< Precision > &op1, const ampf< Precision > &op2)
 
template<unsigned int Precision>
bool amp::operator!= (const ampf< Precision > &op1, const ampf< Precision > &op2)
 
template<unsigned int Precision>
bool amp::operator< (const ampf< Precision > &op1, const ampf< Precision > &op2)
 
template<unsigned int Precision>
bool amp::operator> (const ampf< Precision > &op1, const ampf< Precision > &op2)
 
template<unsigned int Precision>
bool amp::operator<= (const ampf< Precision > &op1, const ampf< Precision > &op2)
 
template<unsigned int Precision>
bool amp::operator>= (const ampf< Precision > &op1, const ampf< Precision > &op2)
 
template<unsigned int Precision>
const ampf< Precision > amp::operator+ (const ampf< Precision > &op1)
 
template<unsigned int Precision>
const ampf< Precision > amp::operator- (const ampf< Precision > &op1)
 
template<unsigned int Precision>
const ampf< Precision > amp::operator+ (const ampf< Precision > &op1, const ampf< Precision > &op2)
 
template<unsigned int Precision>
const ampf< Precision > amp::operator- (const ampf< Precision > &op1, const ampf< Precision > &op2)
 
template<unsigned int Precision>
const ampf< Precision > amp::operator* (const ampf< Precision > &op1, const ampf< Precision > &op2)
 
template<unsigned int Precision>
const ampf< Precision > amp::operator/ (const ampf< Precision > &op1, const ampf< Precision > &op2)
 
template<unsigned int Precision>
const ampf< Precision > amp::sqr (const ampf< Precision > &x)
 
template<unsigned int Precision>
int amp::sign (const ampf< Precision > &x)
 
template<unsigned int Precision>
const ampf< Precision > amp::abs (const ampf< Precision > &x)
 
template<unsigned int Precision>
const ampf< Precision > amp::maximum (const ampf< Precision > &x, const ampf< Precision > &y)
 
template<unsigned int Precision>
const ampf< Precision > amp::minimum (const ampf< Precision > &x, const ampf< Precision > &y)
 
template<unsigned int Precision>
const ampf< Precision > amp::sqrt (const ampf< Precision > &x)
 
template<unsigned int Precision>
signed long amp::trunc (const ampf< Precision > &x)
 
template<unsigned int Precision>
const ampf< Precision > amp::frac (const ampf< Precision > &x)
 
template<unsigned int Precision>
signed long amp::floor (const ampf< Precision > &x)
 
template<unsigned int Precision>
signed long amp::ceil (const ampf< Precision > &x)
 
template<unsigned int Precision>
signed long amp::round (const ampf< Precision > &x)
 
template<unsigned int Precision>
const ampf< Precision > amp::frexp2 (const ampf< Precision > &x, mp_exp_t *exponent)
 
template<unsigned int Precision>
const ampf< Precision > amp::ldexp2 (const ampf< Precision > &x, mp_exp_t exponent)
 
 amp::__AMP_BINARY_OPI (char) __AMP_BINARY_OPI(short) __AMP_BINARY_OPI(long) __AMP_BINARY_OPI(int) __AMP_BINARY_OPF(float) __AMP_BINARY_OPF(double) __AMP_BINARY_OPF(long double) template< unsigned int Precision > const ampf< Precision > pi()
 
template<unsigned int Precision>
const ampf< Precision > amp::halfpi ()
 
template<unsigned int Precision>
const ampf< Precision > amp::twopi ()
 
template<unsigned int Precision>
const ampf< Precision > amp::sin (const ampf< Precision > &x)
 
template<unsigned int Precision>
const ampf< Precision > amp::cos (const ampf< Precision > &x)
 
template<unsigned int Precision>
const ampf< Precision > amp::tan (const ampf< Precision > &x)
 
template<unsigned int Precision>
const ampf< Precision > amp::asin (const ampf< Precision > &x)
 
template<unsigned int Precision>
const ampf< Precision > amp::acos (const ampf< Precision > &x)
 
template<unsigned int Precision>
const ampf< Precision > amp::atan (const ampf< Precision > &x)
 
template<unsigned int Precision>
const ampf< Precision > amp::atan2 (const ampf< Precision > &y, const ampf< Precision > &x)
 
template<unsigned int Precision>
const ampf< Precision > amp::log (const ampf< Precision > &x)
 
template<unsigned int Precision>
const ampf< Precision > amp::log2 (const ampf< Precision > &x)
 
template<unsigned int Precision>
const ampf< Precision > amp::log10 (const ampf< Precision > &x)
 
template<unsigned int Precision>
const ampf< Precision > amp::exp (const ampf< Precision > &x)
 
template<unsigned int Precision>
const ampf< Precision > amp::sinh (const ampf< Precision > &x)
 
template<unsigned int Precision>
const ampf< Precision > amp::cosh (const ampf< Precision > &x)
 
template<unsigned int Precision>
const ampf< Precision > amp::tanh (const ampf< Precision > &x)
 
template<unsigned int Precision>
const ampf< Precision > amp::pow (const ampf< Precision > &x, const ampf< Precision > &y)
 
template<unsigned int Precision>
bool amp::operator== (const campf< Precision > &lhs, const campf< Precision > &rhs)
 
template<unsigned int Precision>
bool amp::operator!= (const campf< Precision > &lhs, const campf< Precision > &rhs)
 
template<unsigned int Precision>
const campf< Precision > amp::operator+ (const campf< Precision > &lhs)
 
template<unsigned int Precision>
campf< Precision > & amp::operator+= (campf< Precision > &lhs, const campf< Precision > &rhs)
 
template<unsigned int Precision>
const campf< Precision > amp::operator+ (const campf< Precision > &lhs, const campf< Precision > &rhs)
 
template<unsigned int Precision>
const campf< Precision > amp::operator- (const campf< Precision > &lhs)
 
template<unsigned int Precision>
campf< Precision > & amp::operator-= (campf< Precision > &lhs, const campf< Precision > &rhs)
 
template<unsigned int Precision>
const campf< Precision > amp::operator- (const campf< Precision > &lhs, const campf< Precision > &rhs)
 
template<unsigned int Precision>
campf< Precision > & amp::operator*= (campf< Precision > &lhs, const campf< Precision > &rhs)
 
template<unsigned int Precision>
const campf< Precision > amp::operator* (const campf< Precision > &lhs, const campf< Precision > &rhs)
 
template<unsigned int Precision>
const campf< Precision > amp::operator/ (const campf< Precision > &lhs, const campf< Precision > &rhs)
 
template<unsigned int Precision>
campf< Precision > & amp::operator/= (campf< Precision > &lhs, const campf< Precision > &rhs)
 
template<unsigned int Precision>
const ampf< Precision > amp::abscomplex (const campf< Precision > &z)
 
template<unsigned int Precision>
const campf< Precision > amp::conj (const campf< Precision > &z)
 
template<unsigned int Precision>
const campf< Precision > amp::csqr (const campf< Precision > &z)
 
template<unsigned int Precision>
void amp::vMove (ap::raw_vector< ampf< Precision > > vDst, ap::const_raw_vector< ampf< Precision > > vSrc)
 
template<unsigned int Precision>
void amp::vMoveNeg (ap::raw_vector< ampf< Precision > > vDst, ap::const_raw_vector< ampf< Precision > > vSrc)
 
template<unsigned int Precision, class T2 >
void amp::vMove (ap::raw_vector< ampf< Precision > > vDst, ap::const_raw_vector< ampf< Precision > > vSrc, T2 alpha)
 
template<unsigned int Precision>
void amp::vAdd (ap::raw_vector< ampf< Precision > > vDst, ap::const_raw_vector< ampf< Precision > > vSrc)
 
template<unsigned int Precision, class T2 >
void amp::vAdd (ap::raw_vector< ampf< Precision > > vDst, ap::const_raw_vector< ampf< Precision > > vSrc, T2 alpha)
 
template<unsigned int Precision>
void amp::vSub (ap::raw_vector< ampf< Precision > > vDst, ap::const_raw_vector< ampf< Precision > > vSrc)
 
template<unsigned int Precision, class T2 >
void amp::vSub (ap::raw_vector< ampf< Precision > > vDst, ap::const_raw_vector< ampf< Precision > > vSrc, T2 alpha)
 
template<unsigned int Precision, class T2 >
void amp::vMul (ap::raw_vector< ampf< Precision > > vDst, T2 alpha)
 
template<unsigned int Precision>
void reflections::generatereflection (ap::template_1d_array< amp::ampf< Precision > > &x, int n, amp::ampf< Precision > &tau)
 
template<unsigned int Precision>
void reflections::applyreflectionfromtheleft (ap::template_2d_array< amp::ampf< Precision > > &c, amp::ampf< Precision > tau, const ap::template_1d_array< amp::ampf< Precision > > &v, int m1, int m2, int n1, int n2, ap::template_1d_array< amp::ampf< Precision > > &work)
 
template<unsigned int Precision>
void reflections::applyreflectionfromtheright (ap::template_2d_array< amp::ampf< Precision > > &c, amp::ampf< Precision > tau, const ap::template_1d_array< amp::ampf< Precision > > &v, int m1, int m2, int n1, int n2, ap::template_1d_array< amp::ampf< Precision > > &work)
 
template<unsigned int Precision>
void bidiagonal::rmatrixbd (ap::template_2d_array< amp::ampf< Precision > > &a, int m, int n, ap::template_1d_array< amp::ampf< Precision > > &tauq, ap::template_1d_array< amp::ampf< Precision > > &taup)
 
template<unsigned int Precision>
void bidiagonal::rmatrixbdunpackq (const ap::template_2d_array< amp::ampf< Precision > > &qp, int m, int n, const ap::template_1d_array< amp::ampf< Precision > > &tauq, int qcolumns, ap::template_2d_array< amp::ampf< Precision > > &q)
 
template<unsigned int Precision>
void bidiagonal::rmatrixbdmultiplybyq (const ap::template_2d_array< amp::ampf< Precision > > &qp, int m, int n, const ap::template_1d_array< amp::ampf< Precision > > &tauq, ap::template_2d_array< amp::ampf< Precision > > &z, int zrows, int zcolumns, bool fromtheright, bool dotranspose)
 
template<unsigned int Precision>
void bidiagonal::rmatrixbdunpackpt (const ap::template_2d_array< amp::ampf< Precision > > &qp, int m, int n, const ap::template_1d_array< amp::ampf< Precision > > &taup, int ptrows, ap::template_2d_array< amp::ampf< Precision > > &pt)
 
template<unsigned int Precision>
void bidiagonal::rmatrixbdmultiplybyp (const ap::template_2d_array< amp::ampf< Precision > > &qp, int m, int n, const ap::template_1d_array< amp::ampf< Precision > > &taup, ap::template_2d_array< amp::ampf< Precision > > &z, int zrows, int zcolumns, bool fromtheright, bool dotranspose)
 
template<unsigned int Precision>
void bidiagonal::rmatrixbdunpackdiagonals (const ap::template_2d_array< amp::ampf< Precision > > &b, int m, int n, bool &isupper, ap::template_1d_array< amp::ampf< Precision > > &d, ap::template_1d_array< amp::ampf< Precision > > &e)
 
template<unsigned int Precision>
void bidiagonal::tobidiagonal (ap::template_2d_array< amp::ampf< Precision > > &a, int m, int n, ap::template_1d_array< amp::ampf< Precision > > &tauq, ap::template_1d_array< amp::ampf< Precision > > &taup)
 
template<unsigned int Precision>
void bidiagonal::unpackqfrombidiagonal (const ap::template_2d_array< amp::ampf< Precision > > &qp, int m, int n, const ap::template_1d_array< amp::ampf< Precision > > &tauq, int qcolumns, ap::template_2d_array< amp::ampf< Precision > > &q)
 
template<unsigned int Precision>
void bidiagonal::multiplybyqfrombidiagonal (const ap::template_2d_array< amp::ampf< Precision > > &qp, int m, int n, const ap::template_1d_array< amp::ampf< Precision > > &tauq, ap::template_2d_array< amp::ampf< Precision > > &z, int zrows, int zcolumns, bool fromtheright, bool dotranspose)
 
template<unsigned int Precision>
void bidiagonal::unpackptfrombidiagonal (const ap::template_2d_array< amp::ampf< Precision > > &qp, int m, int n, const ap::template_1d_array< amp::ampf< Precision > > &taup, int ptrows, ap::template_2d_array< amp::ampf< Precision > > &pt)
 
template<unsigned int Precision>
void bidiagonal::multiplybypfrombidiagonal (const ap::template_2d_array< amp::ampf< Precision > > &qp, int m, int n, const ap::template_1d_array< amp::ampf< Precision > > &taup, ap::template_2d_array< amp::ampf< Precision > > &z, int zrows, int zcolumns, bool fromtheright, bool dotranspose)
 
template<unsigned int Precision>
void bidiagonal::unpackdiagonalsfrombidiagonal (const ap::template_2d_array< amp::ampf< Precision > > &b, int m, int n, bool &isupper, ap::template_1d_array< amp::ampf< Precision > > &d, ap::template_1d_array< amp::ampf< Precision > > &e)
 
template<unsigned int Precision>
void qr::rmatrixqr (ap::template_2d_array< amp::ampf< Precision > > &a, int m, int n, ap::template_1d_array< amp::ampf< Precision > > &tau)
 
template<unsigned int Precision>
void qr::rmatrixqrunpackq (const ap::template_2d_array< amp::ampf< Precision > > &a, int m, int n, const ap::template_1d_array< amp::ampf< Precision > > &tau, int qcolumns, ap::template_2d_array< amp::ampf< Precision > > &q)
 
template<unsigned int Precision>
void qr::rmatrixqrunpackr (const ap::template_2d_array< amp::ampf< Precision > > &a, int m, int n, ap::template_2d_array< amp::ampf< Precision > > &r)
 
template<unsigned int Precision>
void qr::qrdecomposition (ap::template_2d_array< amp::ampf< Precision > > &a, int m, int n, ap::template_1d_array< amp::ampf< Precision > > &tau)
 
template<unsigned int Precision>
void qr::unpackqfromqr (const ap::template_2d_array< amp::ampf< Precision > > &a, int m, int n, const ap::template_1d_array< amp::ampf< Precision > > &tau, int qcolumns, ap::template_2d_array< amp::ampf< Precision > > &q)
 
template<unsigned int Precision>
void qr::qrdecompositionunpacked (ap::template_2d_array< amp::ampf< Precision > > a, int m, int n, ap::template_2d_array< amp::ampf< Precision > > &q, ap::template_2d_array< amp::ampf< Precision > > &r)
 
template<unsigned int Precision>
void lq::rmatrixlq (ap::template_2d_array< amp::ampf< Precision > > &a, int m, int n, ap::template_1d_array< amp::ampf< Precision > > &tau)
 
template<unsigned int Precision>
void lq::rmatrixlqunpackq (const ap::template_2d_array< amp::ampf< Precision > > &a, int m, int n, const ap::template_1d_array< amp::ampf< Precision > > &tau, int qrows, ap::template_2d_array< amp::ampf< Precision > > &q)
 
template<unsigned int Precision>
void lq::rmatrixlqunpackl (const ap::template_2d_array< amp::ampf< Precision > > &a, int m, int n, ap::template_2d_array< amp::ampf< Precision > > &l)
 
template<unsigned int Precision>
void lq::lqdecomposition (ap::template_2d_array< amp::ampf< Precision > > &a, int m, int n, ap::template_1d_array< amp::ampf< Precision > > &tau)
 
template<unsigned int Precision>
void lq::unpackqfromlq (const ap::template_2d_array< amp::ampf< Precision > > &a, int m, int n, const ap::template_1d_array< amp::ampf< Precision > > &tau, int qrows, ap::template_2d_array< amp::ampf< Precision > > &q)
 
template<unsigned int Precision>
void lq::lqdecompositionunpacked (ap::template_2d_array< amp::ampf< Precision > > a, int m, int n, ap::template_2d_array< amp::ampf< Precision > > &l, ap::template_2d_array< amp::ampf< Precision > > &q)
 
template<unsigned int Precision>
amp::ampf< Precision > blas::vectornorm2 (const ap::template_1d_array< amp::ampf< Precision > > &x, int i1, int i2)
 
template<unsigned int Precision>
int blas::vectoridxabsmax (const ap::template_1d_array< amp::ampf< Precision > > &x, int i1, int i2)
 
template<unsigned int Precision>
int blas::columnidxabsmax (const ap::template_2d_array< amp::ampf< Precision > > &x, int i1, int i2, int j)
 
template<unsigned int Precision>
int blas::rowidxabsmax (const ap::template_2d_array< amp::ampf< Precision > > &x, int j1, int j2, int i)
 
template<unsigned int Precision>
amp::ampf< Precision > blas::upperhessenberg1norm (const ap::template_2d_array< amp::ampf< Precision > > &a, int i1, int i2, int j1, int j2, ap::template_1d_array< amp::ampf< Precision > > &work)
 
template<unsigned int Precision>
void blas::copymatrix (const ap::template_2d_array< amp::ampf< Precision > > &a, int is1, int is2, int js1, int js2, ap::template_2d_array< amp::ampf< Precision > > &b, int id1, int id2, int jd1, int jd2)
 
template<unsigned int Precision>
void blas::inplacetranspose (ap::template_2d_array< amp::ampf< Precision > > &a, int i1, int i2, int j1, int j2, ap::template_1d_array< amp::ampf< Precision > > &work)
 
template<unsigned int Precision>
void blas::copyandtranspose (const ap::template_2d_array< amp::ampf< Precision > > &a, int is1, int is2, int js1, int js2, ap::template_2d_array< amp::ampf< Precision > > &b, int id1, int id2, int jd1, int jd2)
 
template<unsigned int Precision>
void blas::matrixvectormultiply (const ap::template_2d_array< amp::ampf< Precision > > &a, int i1, int i2, int j1, int j2, bool trans, const ap::template_1d_array< amp::ampf< Precision > > &x, int ix1, int ix2, amp::ampf< Precision > alpha, ap::template_1d_array< amp::ampf< Precision > > &y, int iy1, int iy2, amp::ampf< Precision > beta)
 
template<unsigned int Precision>
amp::ampf< Precision > blas::pythag2 (amp::ampf< Precision > x, amp::ampf< Precision > y)
 
template<unsigned int Precision>
void blas::matrixmatrixmultiply (const ap::template_2d_array< amp::ampf< Precision > > &a, int ai1, int ai2, int aj1, int aj2, bool transa, const ap::template_2d_array< amp::ampf< Precision > > &b, int bi1, int bi2, int bj1, int bj2, bool transb, amp::ampf< Precision > alpha, ap::template_2d_array< amp::ampf< Precision > > &c, int ci1, int ci2, int cj1, int cj2, amp::ampf< Precision > beta, ap::template_1d_array< amp::ampf< Precision > > &work)
 
template<unsigned int Precision>
void rotations::applyrotationsfromtheleft (bool isforward, int m1, int m2, int n1, int n2, const ap::template_1d_array< amp::ampf< Precision > > &c, const ap::template_1d_array< amp::ampf< Precision > > &s, ap::template_2d_array< amp::ampf< Precision > > &a, ap::template_1d_array< amp::ampf< Precision > > &work)
 
template<unsigned int Precision>
void rotations::applyrotationsfromtheright (bool isforward, int m1, int m2, int n1, int n2, const ap::template_1d_array< amp::ampf< Precision > > &c, const ap::template_1d_array< amp::ampf< Precision > > &s, ap::template_2d_array< amp::ampf< Precision > > &a, ap::template_1d_array< amp::ampf< Precision > > &work)
 
template<unsigned int Precision>
void rotations::generaterotation (amp::ampf< Precision > f, amp::ampf< Precision > g, amp::ampf< Precision > &cs, amp::ampf< Precision > &sn, amp::ampf< Precision > &r)
 
template<unsigned int Precision>
bool bdsvd::rmatrixbdsvd (ap::template_1d_array< amp::ampf< Precision > > &d, ap::template_1d_array< amp::ampf< Precision > > e, int n, bool isupper, bool isfractionalaccuracyrequired, ap::template_2d_array< amp::ampf< Precision > > &u, int nru, ap::template_2d_array< amp::ampf< Precision > > &c, int ncc, ap::template_2d_array< amp::ampf< Precision > > &vt, int ncvt)
 
template<unsigned int Precision>
bool bdsvd::bidiagonalsvddecomposition (ap::template_1d_array< amp::ampf< Precision > > &d, ap::template_1d_array< amp::ampf< Precision > > e, int n, bool isupper, bool isfractionalaccuracyrequired, ap::template_2d_array< amp::ampf< Precision > > &u, int nru, ap::template_2d_array< amp::ampf< Precision > > &c, int ncc, ap::template_2d_array< amp::ampf< Precision > > &vt, int ncvt)
 
template<unsigned int Precision>
bool bdsvd::bidiagonalsvddecompositioninternal (ap::template_1d_array< amp::ampf< Precision > > &d, ap::template_1d_array< amp::ampf< Precision > > e, int n, bool isupper, bool isfractionalaccuracyrequired, ap::template_2d_array< amp::ampf< Precision > > &u, int ustart, int nru, ap::template_2d_array< amp::ampf< Precision > > &c, int cstart, int ncc, ap::template_2d_array< amp::ampf< Precision > > &vt, int vstart, int ncvt)
 
template<unsigned int Precision>
amp::ampf< Precision > bdsvd::extsignbdsqr (amp::ampf< Precision > a, amp::ampf< Precision > b)
 
template<unsigned int Precision>
void bdsvd::svd2x2 (amp::ampf< Precision > f, amp::ampf< Precision > g, amp::ampf< Precision > h, amp::ampf< Precision > &ssmin, amp::ampf< Precision > &ssmax)
 
template<unsigned int Precision>
void bdsvd::svdv2x2 (amp::ampf< Precision > f, amp::ampf< Precision > g, amp::ampf< Precision > h, amp::ampf< Precision > &ssmin, amp::ampf< Precision > &ssmax, amp::ampf< Precision > &snr, amp::ampf< Precision > &csr, amp::ampf< Precision > &snl, amp::ampf< Precision > &csl)
 
template<unsigned int Precision>
bool svd::rmatrixsvd (ap::template_2d_array< amp::ampf< Precision > > a, int m, int n, int uneeded, int vtneeded, int additionalmemory, ap::template_1d_array< amp::ampf< Precision > > &w, ap::template_2d_array< amp::ampf< Precision > > &u, ap::template_2d_array< amp::ampf< Precision > > &vt)
 
template<unsigned int Precision>
bool svd::svddecomposition (ap::template_2d_array< amp::ampf< Precision > > a, int m, int n, int uneeded, int vtneeded, int additionalmemory, ap::template_1d_array< amp::ampf< Precision > > &w, ap::template_2d_array< amp::ampf< Precision > > &u, ap::template_2d_array< amp::ampf< Precision > > &vt)
 

Data Structure Documentation

◆ amp::mpfr_record

struct amp::mpfr_record

Definition at line 33 of file amp.h.

Data Fields
mpfr_record * next
unsigned int Precision
unsigned int refCount
mpfr_t value

Macro Definition Documentation

◆ __AMP_BINARY_OPF [1/2]

#define __AMP_BINARY_OPF (   type)
Value:
template<unsigned int Precision> const ampf<Precision> operator+(const type& op1, const ampf<Precision>& op2) { return ampf<Precision>(op1)+op2; } \
template<unsigned int Precision> const ampf<Precision> operator+(const ampf<Precision>& op1, const type& op2) { return op1+ampf<Precision>(op2); } \
template<unsigned int Precision> const ampf<Precision> operator-(const type& op1, const ampf<Precision>& op2) { return ampf<Precision>(op1)-op2; } \
template<unsigned int Precision> const ampf<Precision> operator-(const ampf<Precision>& op1, const type& op2) { return op1-ampf<Precision>(op2); } \
template<unsigned int Precision> const ampf<Precision> operator*(const type& op1, const ampf<Precision>& op2) { return ampf<Precision>(op1)*op2; } \
template<unsigned int Precision> const ampf<Precision> operator*(const ampf<Precision>& op1, const type& op2) { return op1*ampf<Precision>(op2); } \
template<unsigned int Precision> const ampf<Precision> operator/(const type& op1, const ampf<Precision>& op2) { return ampf<Precision>(op1)/op2; } \
template<unsigned int Precision> const ampf<Precision> operator/(const ampf<Precision>& op1, const type& op2) { return op1/ampf<Precision>(op2); } \
template<unsigned int Precision> bool operator==(const type& op1, const ampf<Precision>& op2) { return ampf<Precision>(op1)==op2; } \
template<unsigned int Precision> bool operator==(const ampf<Precision>& op1, const type& op2) { return op1==ampf<Precision>(op2); } \
template<unsigned int Precision> bool operator!=(const type& op1, const ampf<Precision>& op2) { return ampf<Precision>(op1)!=op2; } \
template<unsigned int Precision> bool operator!=(const ampf<Precision>& op1, const type& op2) { return op1!=ampf<Precision>(op2); } \
template<unsigned int Precision> bool operator<=(const type& op1, const ampf<Precision>& op2) { return ampf<Precision>(op1)<=op2; } \
template<unsigned int Precision> bool operator<=(const ampf<Precision>& op1, const type& op2) { return op1<=ampf<Precision>(op2); } \
template<unsigned int Precision> bool operator>=(const type& op1, const ampf<Precision>& op2) { return ampf<Precision>(op1)>=op2; } \
template<unsigned int Precision> bool operator>=(const ampf<Precision>& op1, const type& op2) { return op1>=ampf<Precision>(op2); } \
template<unsigned int Precision> bool operator<(const type& op1, const ampf<Precision>& op2) { return ampf<Precision>(op1)<op2; } \
template<unsigned int Precision> bool operator<(const ampf<Precision>& op1, const type& op2) { return op1<ampf<Precision>(op2); } \
template<unsigned int Precision> bool operator>(const type& op1, const ampf<Precision>& op2) { return ampf<Precision>(op1)>op2; } \
template<unsigned int Precision> bool operator>(const ampf<Precision>& op1, const type& op2) { return op1>ampf<Precision>(op2); }
bool operator!=(const Rational &a, const Rational &b)
Definition: GMPrat.cc:318
bool operator<(const Rational &a, const Rational &b)
Definition: GMPrat.cc:288
bool operator==(const Rational &a, const Rational &b)
Definition: GMPrat.cc:312
Rational operator/(const Rational &a, const Rational &b)
Definition: GMPrat.cc:422
bool operator>(const Rational &a, const Rational &b)
Definition: GMPrat.cc:300
bool operator<=(const Rational &a, const Rational &b)
Definition: GMPrat.cc:294
bool operator>=(const Rational &a, const Rational &b)
Definition: GMPrat.cc:306
fglmVector operator-(const fglmVector &v)
Definition: fglmvec.cc:398
fglmVector operator+(const fglmVector &lhs, const fglmVector &rhs)
Definition: fglmvec.cc:412
fglmVector operator*(const fglmVector &v, const number n)
Definition: fglmvec.cc:426

◆ __AMP_BINARY_OPF [2/2]

#define __AMP_BINARY_OPF (   type)
Value:
template<unsigned int Precision> const campf<Precision> operator+ (const type& op1, const campf<Precision>& op2) { return campf<Precision>(op1+op2.x, op2.y); } \
template<unsigned int Precision> const campf<Precision> operator+ (const campf<Precision>& op1, const type& op2) { return campf<Precision>(op1.x+op2, op1.y); } \
template<unsigned int Precision> const campf<Precision> operator- (const type& op1, const campf<Precision>& op2) { return campf<Precision>(op1-op2.x, -op2.y); } \
template<unsigned int Precision> const campf<Precision> operator- (const campf<Precision>& op1, const type& op2) { return campf<Precision>(op1.x-op2, op1.y); } \
template<unsigned int Precision> const campf<Precision> operator* (const type& op1, const campf<Precision>& op2) { return campf<Precision>(op1*op2.x, op1*op2.y); } \
template<unsigned int Precision> const campf<Precision> operator* (const campf<Precision>& op1, const type& op2) { return campf<Precision>(op2*op1.x, op2*op1.y); } \
template<unsigned int Precision> const campf<Precision> operator/ (const type& op1, const campf<Precision>& op2) { return campf<Precision>(ampf<Precision>(op1),ampf<Precision>(0))/op2; } \
template<unsigned int Precision> const campf<Precision> operator/ (const campf<Precision>& op1, const type& op2) { return campf<Precision>(op1.x/op2, op1.y/op2); } \
template<unsigned int Precision> bool operator==(const type& op1, const campf<Precision>& op2) { return op1==op2.x && op2.y==0; } \
template<unsigned int Precision> bool operator==(const campf<Precision>& op1, const type& op2) { return op1.x==op2 && op1.y==0; } \
template<unsigned int Precision> bool operator!=(const type& op1, const campf<Precision>& op2) { return op1!=op2.x || op2.y!=0; } \
template<unsigned int Precision> bool operator!=(const campf<Precision>& op1, const type& op2) { return op1.x!=op2 || op1.y!=0; }

◆ __AMP_BINARY_OPI [1/2]

#define __AMP_BINARY_OPI (   type)

Definition at line 2263 of file svd_si.h.

◆ __AMP_BINARY_OPI [2/2]

#define __AMP_BINARY_OPI (   type)
Value:
template<unsigned int Precision> const campf<Precision> operator+ (const signed type& op1, const campf<Precision>& op2) { return campf<Precision>(op1+op2.x, op2.y); } \
template<unsigned int Precision> const campf<Precision> operator+ (const unsigned type& op1, const campf<Precision>& op2) { return campf<Precision>(op1+op2.x, op2.y); } \
template<unsigned int Precision> const campf<Precision> operator+ (const campf<Precision>& op1, const signed type& op2) { return campf<Precision>(op1.x+op2, op1.y); } \
template<unsigned int Precision> const campf<Precision> operator+ (const campf<Precision>& op1, const unsigned type& op2) { return campf<Precision>(op1.x+op2, op1.y); } \
template<unsigned int Precision> const campf<Precision> operator- (const signed type& op1, const campf<Precision>& op2) { return campf<Precision>(op1-op2.x, -op2.y); } \
template<unsigned int Precision> const campf<Precision> operator- (const unsigned type& op1, const campf<Precision>& op2) { return campf<Precision>(op1-op2.x, -op2.y); } \
template<unsigned int Precision> const campf<Precision> operator- (const campf<Precision>& op1, const signed type& op2) { return campf<Precision>(op1.x-op2, op1.y); } \
template<unsigned int Precision> const campf<Precision> operator- (const campf<Precision>& op1, const unsigned type& op2) { return campf<Precision>(op1.x-op2, op1.y); } \
template<unsigned int Precision> const campf<Precision> operator* (const signed type& op1, const campf<Precision>& op2) { return campf<Precision>(op1*op2.x, op1*op2.y); } \
template<unsigned int Precision> const campf<Precision> operator* (const unsigned type& op1, const campf<Precision>& op2) { return campf<Precision>(op1*op2.x, op1*op2.y); } \
template<unsigned int Precision> const campf<Precision> operator* (const campf<Precision>& op1, const signed type& op2) { return campf<Precision>(op2*op1.x, op2*op1.y); } \
template<unsigned int Precision> const campf<Precision> operator* (const campf<Precision>& op1, const unsigned type& op2) { return campf<Precision>(op2*op1.x, op2*op1.y); } \
template<unsigned int Precision> const campf<Precision> operator/ (const signed type& op1, const campf<Precision>& op2) { return campf<Precision>(ampf<Precision>(op1),ampf<Precision>(0))/op2; } \
template<unsigned int Precision> const campf<Precision> operator/ (const unsigned type& op1, const campf<Precision>& op2) { return campf<Precision>(ampf<Precision>(op1),ampf<Precision>(0))/op2; } \
template<unsigned int Precision> const campf<Precision> operator/ (const campf<Precision>& op1, const signed type& op2) { return campf<Precision>(op1.x/op2, op1.y/op2); } \
template<unsigned int Precision> const campf<Precision> operator/ (const campf<Precision>& op1, const unsigned type& op2) { return campf<Precision>(op1.x/op2, op1.y/op2); } \
template<unsigned int Precision> bool operator==(const signed type& op1, const campf<Precision>& op2) { return op1==op2.x && op2.y==0; } \
template<unsigned int Precision> bool operator==(const unsigned type& op1, const campf<Precision>& op2) { return op1==op2.x && op2.y==0; } \
template<unsigned int Precision> bool operator==(const campf<Precision>& op1, const signed type& op2) { return op1.x==op2 && op1.y==0; } \
template<unsigned int Precision> bool operator==(const campf<Precision>& op1, const unsigned type& op2) { return op1.x==op2 && op1.y==0; } \
template<unsigned int Precision> bool operator!=(const campf<Precision>& op1, const signed type& op2) { return op1.x!=op2 || op1.y!=0; } \
template<unsigned int Precision> bool operator!=(const campf<Precision>& op1, const unsigned type& op2) { return op1.x!=op2 || op1.y!=0; } \
template<unsigned int Precision> bool operator!=(const signed type& op1, const campf<Precision>& op2) { return op1!=op2.x || op2.y!=0; } \
template<unsigned int Precision> bool operator!=(const unsigned type& op1, const campf<Precision>& op2) { return op1!=op2.x || op2.y!=0; }

Definition at line 2263 of file svd_si.h.

◆ AP_ASSERT

#define AP_ASSERT

Definition at line 25 of file svd_si.h.

◆ assert

#define assert (   A)

Definition at line 3 of file svd_si.h.