Classes | |
class | AmanatidesWoo2D |
This class implements the Fast Voxel Traversal Algorithm of Amanatides and Woo [Ref] for 2D arrays. More... | |
class | AmanatidesWoo2DIterator |
This class provides access to the elements of a data array along a straight path, and does the actual work of Amanatides and Woo's fast voxel traversal algorithm. More... | |
class | AmanatidesWoo3D |
This class implements the Fast Voxel Traversal Algorithm of Amanatides and Woo [Ref] for 3D arrays. More... | |
class | AmanatidesWoo3DIterator |
This class provides access to the elements of a data array along a straight path, and does the actual work of Amanatides and Woo's fast voxel traversal algorithm. More... | |
class | Array1D |
The Array1D class template represents a 1D array of arbitrary type. More... | |
class | Array2D |
The Array2D class template represents a 2D array of arbitrary type. More... | |
class | Array3D |
The Array3D class template represents a 3D array of arbitrary type. More... | |
class | ArrayND |
class | BilinearInterpolator |
class | BoxIntegrator2D |
This class provides an efficient way integrate over rectangular regions of an Array2D instance. More... | |
class | BSpline |
Warning: This class is very new, and its test suite is still incomplete. More... | |
class | BSpline2D |
Warning: This class is very new, and its test suite is still incomplete. More... | |
struct | Gaussian1DFunctor |
Functor template which computes the value of a Gaussian evaluated at its argument. More... | |
struct | LogFunctor |
Functor template which computes the natural logarithm of its argument (using std::log(), if appropriate). More... | |
struct | NumericTypeConversionFunctor |
Functor template which uses static_cast to convert instances of one type into instances of another, but does the right thing with regard to rounding, so that the difference between the input and the returned value is minimized. More... | |
struct | SquareRootFunctor |
Functor template which computes the square root of its argument (using std::sqrt(), if appropriate). More... | |
class | IEEEFloat32 |
The IEEEFloat32 class is for manipulating 32-bit IEEE floating point numbers. More... | |
class | Index2D |
The Index2D class represents a 2 dimensional index in (row, column) format, such as (0, 1), (23, 7), or (-4, 2). More... | |
class | Index3D |
The Index3D class represents a 3 dimensional index, such as (0, 1, 4), (23, 7, -11), or (-4, 2, 0). More... | |
class | MaxRecorder |
A simple class template to help you avoid writing "if(myVar > maxVal) {maxVal = myVar; bestIndex = ii;} all over your code. More... | |
class | MinRecorder |
A simple class template to help you avoid writing "if(myVar < minVal) {minVal = myVar; bestIndex = ii;} all over your code. More... | |
class | NormalizedCorrelator |
This class implements 1D normalized correlation, which is sometimes also called the Correlation Coefficient. More... | |
class | NumericTraits |
This class is used to customize the behavior of dlr_libs classes & functions for specific numeric types. More... | |
class | NumericTraits< char > |
This class is used to customize the behavior of dlr_libs classes & functions for the char type. More... | |
class | NumericTraits< unsigned char > |
This class is used to customize the behavior of dlr_libs classes & functions for the unsigned char type. More... | |
class | NumericTraits< short > |
This class is used to customize the behavior of dlr_libs classes & functions for the short type. More... | |
class | NumericTraits< int > |
This class is used to customize the behavior of dlr_libs classes & functions for the int type. More... | |
class | NumericTraits< long > |
This class is used to customize the behavior of dlr_libs classes & functions for the long type. More... | |
class | NumericTraits< float > |
This class is used to customize the behavior of dlr_libs classes & functions for the float type. More... | |
class | NumericTraits< double > |
This class is used to customize the behavior of dlr_libs classes & functions for the double type. More... | |
class | Polynomial |
This class represents polynomials of the form. More... | |
class | Quaternion |
This class implements a quaternion. More... | |
class | Slice |
A simple Slice class to work with SubArrays. More... | |
class | StencilIterator |
WARNING: This class is still under development and quite unstable. More... | |
class | Stencil2D |
WARNING: This class is still under development and quite unstable. More... | |
class | SubArray1D |
Header file defining a simple SubArray class to work with Array1D.h The goal here is simplicity. More... | |
class | SubArray2D |
Header file defining a simple SubArray class to work with Array2D.h The goal here is simplicity. More... | |
class | Transform2D |
The Transform2D class represents a homogeneous coordinate transform from one 2D coordinate system to another 2D coordinate system. More... | |
class | Transform2DFunctor |
This helper class works with Transform2D::getFunctor(). More... | |
class | Transform3D |
The Transform3D class represents a homogeneous coordinate transform from one 3D coordinate system to another 3D coordinate system. More... | |
class | Transform3DFunctor |
This helper class works with Transform3D::getFunctor(). More... | |
class | Transform3DTo2D |
The Transform3DTo2D class represents a homogeneous coordinate transformation from a 3D coordinate system to a 2D coordinate system. More... | |
class | Transform3DTo2DFunctor |
This helper class works with Transform3DTo2D::getFunctor(). More... | |
class | Vector2D |
The Vector2D class represents a real valued 2D vector. More... | |
class | Vector3D |
The Vector2D class represents a real valued 2D vector. More... | |
Enumerations | |
enum | ConvolutionStrategy { DLR_CONVOLVE_TRUNCATE_RESULT, DLR_CONVOLVE_PAD_RESULT, DLR_CONVOLVE_ZERO_PAD_RESULT, DLR_CONVOLVE_PAD_SIGNAL, DLR_CONVOLVE_ZERO_PAD_SIGNAL, DLR_CONVOLVE_REFLECT_SIGNAL, DLR_CONVOLVE_WRAP_SIGNAL } |
enum | ConvolutionROI { DLR_CONVOLVE_ROI_SAME, DLR_CONVOLVE_ROI_VALID, DLR_CONVOLVE_ROI_FULL } |
Functions | |
template<class Type > | |
Array1D< Type > | operator+ (const Array1D< Type > &array0, const Array1D< Type > &array1) |
Elementwise addition of Array1D instances. | |
template<class Type > | |
Array1D< Type > | operator- (const Array1D< Type > &array0, const Array1D< Type > &array1) |
Elementwise subtraction of Array1D instances. | |
template<class Type > | |
Array1D< Type > | operator* (const Array1D< Type > &array0, const Array1D< Type > &array1) |
Elementwise multiplication of Array1D instances. | |
template<class Type > | |
Array1D< Type > | operator/ (const Array1D< Type > &array0, const Array1D< Type > &array1) |
Elementwise division of Array1D instances. | |
template<class Type > | |
Array1D< Type > | operator+ (const Array1D< Type > &array, Type scalar) |
Addition of Array1D and scalar. | |
template<class Type > | |
Array1D< Type > | operator- (const Array1D< Type > &array0, Type scalar) |
Subtraction of Array1D and scalar. | |
template<class Type > | |
Array1D< Type > | operator* (const Array1D< Type > &array0, Type scalar) |
Multiplication of Array1D and scalar. | |
template<class Type > | |
Array1D< Type > | operator/ (const Array1D< Type > &array0, Type scalar) |
Division of Array1D and scalar. | |
template<class Type > | |
Array1D< Type > | operator+ (Type scalar, const Array1D< Type > &array0) |
Addition of scalar and Array1D. | |
template<class Type > | |
Array1D< Type > | operator- (Type scalar, const Array1D< Type > &array0) |
Subtraction of scalar and Array1D. | |
template<class Type > | |
Array1D< Type > | operator* (Type scalar, const Array1D< Type > &array0) |
Multiplication of scalar and Array1D. | |
template<class Type > | |
Array1D< Type > | operator/ (Type scalar, const Array1D< Type > &array0) |
Division of scalar and Array1D. | |
template<class Type > | |
Array1D< bool > | operator== (const Array1D< Type > &array0, const Type arg) |
Elementwise comparison of an Array1D with a constant. | |
template<class Type > | |
Array1D< bool > | operator== (const Array1D< Type > &array0, const Array1D< Type > &array1) |
Elementwise comparison of an Array1D with another array. | |
template<class Type > | |
Array1D< bool > | operator> (const Array1D< Type > &array0, const Type arg) |
Elementwise comparison of an Array1D with a constant. | |
template<class Type > | |
Array1D< bool > | operator>= (const Array1D< Type > &array0, const Type arg) |
Elementwise comparison of an Array1D with a constant. | |
template<class Type > | |
Array1D< bool > | operator< (const Array1D< Type > &array0, const Type arg) |
Elementwise comparison of an Array1D with a constant. | |
template<class Type > | |
Array1D< bool > | operator<= (const Array1D< Type > &array0, const Type arg) |
Elementwise comparison of an Array1D with a constant. | |
template<class Type > | |
std::ostream & | operator<< (std::ostream &stream, const Array1D< Type > &array0) |
Outputs a text representation of an Array1D instance to a std::ostream. | |
template<class Type > | |
std::istream & | operator>> (std::istream &stream, Array1D< Type > &array0) |
Sets the value of an Array1D instance from a std::istream. | |
template<class Type > | |
Array2D< Type > | squareRoot (const Array2D< Type > &array0) |
This function returns an array which is the same size as its argument, and in which the value of each element is the square root of the corresponding element of the argument. | |
template<class Type > | |
Array2D< Type > | sqrt (const Array2D< Type > &array0) |
This function returns an array which is the same size as its argument, and in which the value of each element is the square root of the corresponding element of the argument. | |
template<class Type > | |
Array2D< Type > | operator+ (const Array2D< Type > &array0, const Array2D< Type > &array1) |
Elementwise addition of Array2D instances. | |
template<class Type > | |
Array2D< Type > | operator- (const Array2D< Type > &array0, const Array2D< Type > &array1) |
Elementwise subtraction of Array2D instances. | |
template<class Type > | |
Array2D< Type > | operator* (const Array2D< Type > &array0, const Array2D< Type > &array1) |
Elementwise multiplication of Array2D instances. | |
template<class Type > | |
Array2D< Type > | operator/ (const Array2D< Type > &array0, const Array2D< Type > &array1) |
Elementwise division of Array2D instances. | |
template<class Type > | |
Array2D< Type > | operator+ (const Array2D< Type > &array0, Type scalar) |
Addition of Array2D and scalar. | |
template<class Type > | |
Array2D< Type > | operator- (const Array2D< Type > &array0, Type scalar) |
Subtraction of Array2D and scalar. | |
template<class Type > | |
Array2D< Type > | operator* (const Array2D< Type > &array0, Type scalar) |
Multiplication of Array2D and scalar. | |
template<class Type > | |
Array2D< Type > | operator/ (const Array2D< Type > &array0, Type scalar) |
Division of Array2D and scalar. | |
template<class Type > | |
Array2D< Type > | operator+ (Type scalar, const Array2D< Type > &array0) |
Addition of scalar and Array2D. | |
template<class Type > | |
Array2D< Type > | operator* (Type scalar, const Array2D< Type > &array0) |
Multiplication of scalar and Array2D. | |
template<class Type > | |
Array2D< bool > | operator== (const Array2D< Type > &array0, const Type arg) |
Elementwise comparison of an Array2D with a constant. | |
template<class Type > | |
Array2D< bool > | operator== (const Array2D< Type > &array0, const Array2D< Type > &array1) |
Elementwise comparison of an Array2D with another array. | |
template<class Type > | |
Array2D< bool > | operator> (const Array2D< Type > &array0, Type arg) |
Elementwise comparison of Array2D with a constant. | |
template<class Type > | |
Array2D< bool > | operator< (const Array2D< Type > &array0, Type arg) |
Elementwise comparison of Array2D with a constant. | |
template<class Type > | |
Array2D< bool > | operator>= (const Array2D< Type > &array0, Type arg) |
Elementwise comparison of Array2D with a constant. | |
template<class Type > | |
Array2D< bool > | operator<= (const Array2D< Type > &array0, Type arg) |
Elementwise comparison of Array2D with a constant. | |
template<class Type > | |
std::ostream & | operator<< (std::ostream &stream, const Array2D< Type > &array0) |
Outputs a text representation of an Array2D instance to a std::ostream. | |
template<class Type > | |
std::istream & | operator>> (std::istream &stream, Array2D< Type > &array0) |
Sets the value of an Array2D instance from a std::istream. | |
template<class Type > | |
Array3D< Type > | operator+ (const Array3D< Type > &array0, const Array3D< Type > &array1) |
This function returns the maximum element of the an Array3D instance. | |
template<class Type > | |
Array3D< Type > | operator- (const Array3D< Type > &array0, const Array3D< Type > &array1) |
Elementwise subtraction of Array3D instances. | |
template<class Type > | |
Array3D< Type > | operator* (const Array3D< Type > &array0, const Array3D< Type > &array1) |
Elementwise multiplication of Array3D instances. | |
template<class Type > | |
Array3D< Type > | operator/ (const Array3D< Type > &array0, const Array3D< Type > &array1) |
Elementwise division of Array3D instances. | |
template<class Type > | |
Array3D< Type > | operator+ (const Array3D< Type > &array0, Type scalar) |
Addition of Array3D and scalar. | |
template<class Type > | |
Array3D< Type > | operator- (const Array3D< Type > &array0, Type scalar) |
Subtraction of Array3D and scalar. | |
template<class Type > | |
Array3D< Type > | operator* (const Array3D< Type > &array0, Type scalar) |
Multiplication of Array3D and scalar. | |
template<class Type > | |
Array3D< Type > | operator/ (const Array3D< Type > &array0, Type scalar) |
Division of Array3D and scalar. | |
template<class Type > | |
Array3D< Type > | operator+ (Type scalar, const Array3D< Type > &array0) |
Addition of scalar and Array3D. | |
template<class Type > | |
Array3D< Type > | operator* (Type scalar, const Array3D< Type > &array0) |
Multiplication of scalar and Array3D. | |
template<class Type > | |
Array3D< bool > | operator== (const Array3D< Type > &array0, const Type arg) |
Elementwise comparison of an Array3D with a constant. | |
template<class Type > | |
Array3D< bool > | operator== (const Array3D< Type > &array0, const Array3D< Type > &array1) |
Elementwise comparison of an Array3D with another array. | |
template<class Type > | |
Array3D< bool > | operator< (const Array3D< Type > &array0, Type arg) |
Elementwise comparison of Array2D with a constant. | |
template<class Type > | |
Array3D< bool > | operator<= (const Array3D< Type > &array0, Type arg) |
Elementwise comparison of Array3D with a constant. | |
template<class Type > | |
Array3D< bool > | operator> (const Array3D< Type > &array0, Type arg) |
Elementwise comparison of Array3D with a constant. | |
template<class Type > | |
Array3D< bool > | operator>= (const Array3D< Type > &array0, Type arg) |
Elementwise comparison of Array3D with a constant. | |
template<class Type > | |
std::ostream & | operator<< (std::ostream &stream, const Array3D< Type > &array0) |
This operator outputs a text representation of an Array3D instance to a std::ostream. | |
template<class Type > | |
std::istream & | operator>> (std::istream &stream, Array3D< Type > &array0) |
This operator sets the value of an Array3D instance from a std::istream. | |
template<size_t Dimension, class Type > | |
ArrayND< Dimension, Type > | operator+ (const ArrayND< Dimension, Type > &array0, const ArrayND< Dimension, Type > &arrayN) |
Elementwise addition of ArrayND instances. | |
template<size_t Dimension, class Type > | |
ArrayND< Dimension, Type > | operator- (const ArrayND< Dimension, Type > &array0, const ArrayND< Dimension, Type > &arrayN) |
Elementwise subtraction of ArrayND instances. | |
template<size_t Dimension, class Type > | |
ArrayND< Dimension, Type > | operator* (const ArrayND< Dimension, Type > &array0, const ArrayND< Dimension, Type > &arrayN) |
Elementwise multiplication of ArrayND instances. | |
template<size_t Dimension, class Type > | |
ArrayND< Dimension, Type > | operator/ (const ArrayND< Dimension, Type > &array0, const ArrayND< Dimension, Type > &arrayN) |
Elementwise division of ArrayND instances. | |
template<size_t Dimension, class Type > | |
ArrayND< Dimension, Type > | operator+ (const ArrayND< Dimension, Type > &array, Type scalar) |
Addition of ArrayND and scalar. | |
template<size_t Dimension, class Type > | |
ArrayND< Dimension, Type > | operator- (const ArrayND< Dimension, Type > &array0, Type scalar) |
Subtraction of ArrayND and scalar. | |
template<size_t Dimension, class Type > | |
ArrayND< Dimension, Type > | operator* (const ArrayND< Dimension, Type > &array0, Type scalar) |
Multiplication of ArrayND and scalar. | |
template<size_t Dimension, class Type > | |
ArrayND< Dimension, Type > | operator/ (const ArrayND< Dimension, Type > &array0, Type scalar) |
Division of ArrayND and scalar. | |
template<size_t Dimension, class Type > | |
ArrayND< Dimension, Type > | operator+ (Type scalar, const ArrayND< Dimension, Type > &array0) |
Addition of scalar and ArrayND. | |
template<size_t Dimension, class Type > | |
ArrayND< Dimension, Type > | operator- (Type scalar, const ArrayND< Dimension, Type > &array0) |
Subtraction of scalar and ArrayND. | |
template<size_t Dimension, class Type > | |
ArrayND< Dimension, Type > | operator* (Type scalar, const ArrayND< Dimension, Type > &array0) |
Multiplication of scalar and ArrayND. | |
template<size_t Dimension, class Type > | |
ArrayND< Dimension, Type > | operator/ (Type scalar, const ArrayND< Dimension, Type > &array0) |
Division of scalar and ArrayND. | |
template<size_t Dimension, class Type > | |
ArrayND< Dimension, bool > | operator== (const ArrayND< Dimension, Type > &array0, const Type arg) |
Elementwise comparison of an ArrayND with a constant. | |
template<size_t Dimension, class Type > | |
ArrayND< Dimension, bool > | operator== (const ArrayND< Dimension, Type > &array0, const ArrayND< Dimension, Type > &arrayN) |
Elementwise comparison of an ArrayND with another array. | |
template<size_t Dimension, class Type > | |
ArrayND< Dimension, bool > | operator> (const ArrayND< Dimension, Type > &array0, const Type arg) |
Elementwise comparison of an ArrayND with a constant. | |
template<size_t Dimension, class Type > | |
ArrayND< Dimension, bool > | operator>= (const ArrayND< Dimension, Type > &array0, const Type arg) |
Elementwise comparison of an ArrayND with a constant. | |
template<size_t Dimension, class Type > | |
ArrayND< Dimension, bool > | operator< (const ArrayND< Dimension, Type > &array0, const Type arg) |
Elementwise comparison of an ArrayND with a constant. | |
template<size_t Dimension, class Type > | |
ArrayND< Dimension, bool > | operator<= (const ArrayND< Dimension, Type > &array0, const Type arg) |
Elementwise comparison of an ArrayND with a constant. | |
template<size_t Dimension, class Type > | |
std::ostream & | operator<< (std::ostream &stream, const ArrayND< Dimension, Type > &array0) |
template<size_t Dimension, class Type > | |
std::istream & | operator>> (std::istream &stream, ArrayND< Dimension, Type > &array0) |
template<class Type > | |
Array1D< Type > | convolve (const Array1D< Type > &kernel, const Array1D< Type > &signal, ConvolutionStrategy strategy) |
template<class Type0 , class Type1 > | |
Array1D< Type1 > | convolve (const Array1D< Type0 > &kernel, const Array1D< Type0 > &signal, type_tag< Type1 > resultTag, ConvolutionStrategy strategy=DLR_CONVOLVE_ZERO_PAD_RESULT) |
template<class Type > | |
Array1D< Type > | correlate (const Array1D< Type > &kernel, const Array1D< Type > &signal, ConvolutionStrategy strategy=DLR_CONVOLVE_ZERO_PAD_RESULT) |
template<class Type0 , class Type1 > | |
Array1D< Type1 > | correlate (const Array1D< Type0 > &kernel, const Array1D< Type0 > &signal, type_tag< Type1 > resultTag, ConvolutionStrategy strategy=DLR_CONVOLVE_ZERO_PAD_RESULT) |
template<class OutputType , class KernelType , class SignalType > | |
Array1D< OutputType > | convolve1D (const Array1D< KernelType > &kernel, const Array1D< SignalType > &signal, ConvolutionStrategy strategy=DLR_CONVOLVE_ZERO_PAD_RESULT, ConvolutionROI roi=DLR_CONVOLVE_ROI_SAME) |
Unstable: interface subject to change. | |
template<class OutputType , class KernelType , class SignalType , class FillType > | |
Array1D< OutputType > | convolve1D (const Array1D< KernelType > &kernel, const Array1D< SignalType > &signal, ConvolutionStrategy strategy, ConvolutionROI roi, const FillType &fillValue) |
Unstable: interface subject to change. | |
template<class OutputType , class KernelType , class SignalType > | |
Array1D< OutputType > | convolve1D (const Array1D< KernelType > &kernel, const Array1D< SignalType > &signal, ConvolutionStrategy strategy, int boundary0, int boundary1) |
Unstable: interface subject to change. | |
template<class OutputType , class KernelType , class SignalType , class FillType > | |
Array1D< OutputType > | convolve1D (const Array1D< KernelType > &kernel, const Array1D< SignalType > &signal, ConvolutionStrategy strategy, int boundary0, int boundary1, const FillType &fillValue) |
Unstable: interface subject to change. | |
template<class OutputType , class KernelType , class SignalType > | |
Array1D< OutputType > | correlate1D (const Array1D< KernelType > &kernel, const Array1D< SignalType > &signal, ConvolutionStrategy strategy=DLR_CONVOLVE_ZERO_PAD_RESULT, ConvolutionROI roi=DLR_CONVOLVE_ROI_SAME) |
Unstable: interface subject to change. | |
template<class OutputType , class KernelType , class SignalType , class FillType > | |
Array1D< OutputType > | correlate1D (const Array1D< KernelType > &kernel, const Array1D< SignalType > &signal, ConvolutionStrategy strategy, ConvolutionROI roi, const FillType &fillValue) |
Unstable: interface subject to change. | |
template<class OutputType , class KernelType , class SignalType > | |
Array1D< OutputType > | correlate1D (const Array1D< KernelType > &kernel, const Array1D< SignalType > &signal, ConvolutionStrategy strategy, int boundary0, int boundary1) |
Unstable: interface subject to change. | |
template<class OutputType , class KernelType , class SignalType , class FillType > | |
Array1D< OutputType > | correlate1D (const Array1D< KernelType > &kernel, const Array1D< SignalType > &signal, ConvolutionStrategy strategy, int boundary0, int boundary1, const FillType &fillValue) |
Unstable: interface subject to change. | |
template<class OutputType , class AccumulatorType , class KernelType , class SignalType > | |
Array2D< OutputType > | convolve2D (const Array2D< KernelType > &kernel, const Array2D< SignalType > &signal, ConvolutionStrategy strategy=DLR_CONVOLVE_PAD_RESULT, ConvolutionROI roi=DLR_CONVOLVE_ROI_SAME) |
Unstable: interface subject to change. | |
template<class OutputType , class AccumulatorType , class KernelType , class SignalType , class FillType > | |
Array2D< OutputType > | convolve2D (const Array2D< KernelType > &kernel, const Array2D< SignalType > &signal, ConvolutionStrategy strategy, ConvolutionROI roi, const FillType &fillValue) |
Unstable: interface subject to change. | |
template<class OutputType , class AccumulatorType , class KernelType , class SignalType > | |
Array2D< OutputType > | convolve2D (const Array2D< KernelType > &kernel, const Array2D< SignalType > &signal, ConvolutionStrategy strategy, const Index2D &corner0, const Index2D &corner1) |
Unstable: interface subject to change. | |
template<class OutputType , class AccumulatorType , class KernelType , class SignalType , class FillType > | |
Array2D< OutputType > | convolve2D (const Array2D< KernelType > &kernel, const Array2D< SignalType > &signal, ConvolutionStrategy strategy, const Index2D &corner0, const Index2D &corner1, const FillType &fillValue) |
Unstable: interface subject to change. | |
template<class OutputType , class AccumulatorType , class KernelType , class SignalType > | |
Array2D< OutputType > | correlate2D (const Array2D< KernelType > &kernel, const Array2D< SignalType > &signal, ConvolutionStrategy strategy=DLR_CONVOLVE_PAD_RESULT, ConvolutionROI roi=DLR_CONVOLVE_ROI_SAME) |
Unstable: interface subject to change. | |
template<class OutputType , class AccumulatorType , class KernelType , class SignalType , class FillType > | |
Array2D< OutputType > | correlate2D (const Array2D< KernelType > &kernel, const Array2D< SignalType > &signal, ConvolutionStrategy strategy, ConvolutionROI roi, const FillType &fillValue) |
Unstable: interface subject to change. | |
template<class OutputType , class AccumulatorType , class KernelType , class SignalType > | |
Array2D< OutputType > | correlate2D (const Array2D< KernelType > &kernel, const Array2D< SignalType > &signal, ConvolutionStrategy strategy, const Index2D &corner0, const Index2D &corner1) |
Unstable: interface subject to change. | |
template<class OutputType , class AccumulatorType , class KernelType , class SignalType , class FillType > | |
Array2D< OutputType > | correlate2D (const Array2D< KernelType > &kernel, const Array2D< SignalType > &signal, ConvolutionStrategy strategy, const Index2D &corner0, const Index2D &corner1, const FillType &fillValue) |
Unstable: interface subject to change. | |
template<class OutputType , class AccumulatorType , class KernelType , class SignalType , size_t Dimension> | |
ArrayND< Dimension, OutputType > | convolve (const Array1D< KernelType > &kernel, const ArrayND< Dimension, SignalType > &signal, size_t axis, ConvolutionStrategy strategy=DLR_CONVOLVE_PAD_RESULT, ConvolutionROI roi=DLR_CONVOLVE_ROI_SAME) |
Unstable: interface subject to change. | |
bool | bilaterate (const Vector2D &point0, const Vector2D &point1, double range0, double range1, Vector2D &intersection0, Vector2D &intersection1) |
This function finds a 2D point, given two other points and distance between each of those points and the point to be recovered. | |
Index2D | operator+ (const Index2D &index0, const Index2D &index1) |
This operator returns the elementwise sum of two Index2D instances. | |
Index2D | operator- (const Index2D &index0, const Index2D &index1) |
This operator returns the elementwise difference of two Index2D instances. | |
Index2D | operator* (const Index2D &index0, const Index2D &index1) |
This operator returns the elementwise product of two Index2D instances. | |
Index2D | operator/ (const Index2D &index0, const Index2D &index1) |
This operator returns the elementwise dividend of two Index2D instances. | |
Index2D | operator+ (const Index2D &index0, int scalar0) |
This operator adds a scalar and an Index2D. | |
Index2D | operator- (const Index2D &index0, int scalar0) |
This operator subtracts a scalar from an Index2D. | |
Index2D | operator* (const Index2D &index0, int scalar0) |
This operator multiplies an Index2D by scalar. | |
Index2D | operator/ (const Index2D &index0, int scalar0) |
This operator divides an Index2D by scalar. | |
bool | operator== (const Index2D &index0, const Index2D &index1) |
This operator checks the supplied indexs for equality. | |
bool | operator!= (const Index2D &index0, const Index2D &index1) |
This operator checks the supplied indexs for inequality. | |
std::ostream & | operator<< (std::ostream &stream, const Index2D &index0) |
This function outputs a text representation of an Index2D instance to a std::ostream. | |
std::istream & | operator>> (std::istream &stream, Index2D &index0) |
This function sets the value of an Index2D instance from a std::istream. | |
Index2D | operator+ (int scalar0, const Index2D &index0) |
This operator adds a scalar value to each element of an Index2D instance. | |
Index2D | operator* (int scalar0, const Index2D &index0) |
This operator multiplies a scalar value with each element of a Index2D instance. | |
Index3D | operator+ (const Index3D &index0, const Index3D &index1) |
This operator returns the elementwise sum of two Index3D instances. | |
Index3D | operator- (const Index3D &index0, const Index3D &index1) |
This operator returns the elementwise difference of two Index3D instances. | |
Index3D | operator* (const Index3D &index0, const Index3D &index1) |
This operator returns the elementwise product of two Index3D instances. | |
Index3D | operator/ (const Index3D &index0, const Index3D &index1) |
This operator returns the elementwise dividend of two Index3D instances. | |
Index3D | operator+ (const Index3D &index0, int scalar0) |
This operator adds a scalar and an Index3D. | |
Index3D | operator- (const Index3D &index0, int scalar0) |
This operator subtracts a scalar from an Index3D. | |
Index3D | operator* (const Index3D &index0, int scalar0) |
This operator multiplies an Index3D by scalar. | |
Index3D | operator/ (const Index3D &index0, int scalar0) |
This operator divides an Index3D by scalar. | |
bool | operator== (const Index3D &index0, const Index3D &index1) |
This operator checks the supplied indexs for equality. | |
bool | operator!= (const Index3D &index0, const Index3D &index1) |
This operator checks the supplied indexs for inequality. | |
std::ostream & | operator<< (std::ostream &stream, const Index3D &index0) |
This function outputs a text representation of an Index3D instance to a std::ostream. | |
std::istream & | operator>> (std::istream &stream, Index3D &index0) |
This function sets the value of an Index3D instance from a std::istream. | |
Index3D | operator+ (int scalar0, const Index3D &index0) |
This operator adds a scalar value to each element of an Index3D instance. | |
Index3D | operator* (int scalar0, const Index3D &index0) |
This operator multiplies a scalar value with each element of a Index3D instance. | |
template<class Type > | |
Polynomial< Type > | operator* (const Polynomial< Type > &arg0, const Polynomial< Type > &arg1) |
This operator multiplies two Polynomial instances. | |
template<class Type > | |
Polynomial< Type > | operator+ (const Polynomial< Type > &arg0, const Polynomial< Type > &arg1) |
This operator adds two Polynomial instances. | |
template<class Type > | |
Polynomial< Type > | operator- (const Polynomial< Type > &arg0, const Polynomial< Type > &arg1) |
This operator subtracts two Polynomial instances. | |
Quaternion | conjugate (const Quaternion &source) |
This function returns the conjugate of a Quaternion, in which the sign of each imaginary component has been reversed. | |
Quaternion | angleAxisToQuaternion (double angle, const Vector3D &axis, bool isNormalized) |
Vector3D | angleAxisToRollPitchYaw (double angle, const Vector3D &axis, bool isNormalized) |
Transform3D | angleAxisToTransform3D (double angle, const Vector3D &axis, bool isNormalized) |
Transform3D | eulerToTransform3D (double angle0, Axis axis0, double angle1, Axis axis1, double angle2, Axis axis2) |
std::pair< double, Vector3D > | quaternionToAngleAxis (const Quaternion &quaternion) |
Vector3D | quaternionToRollPitchYaw (const Quaternion &quaternion) |
Transform3D | quaternionToTransform3D (const Quaternion &quaternion) |
std::pair< double, Vector3D > | rollPitchYawToAngleAxis (const Vector3D &rollPitchYaw) |
Quaternion | rollPitchYawToQuaternion (const Vector3D &rollPitchYaw) |
Transform3D | rollPitchYawToTransform3D (const Vector3D &rollPitchYaw) |
std::pair< double, Vector3D > | transform3DToAngleAxis (const Transform3D &transform3D) |
Quaternion | transform3DToQuaternion (const Transform3D &transform3D) |
Vector3D | transform3DToRollPitchYaw (const Transform3D &transform3D) |
template<class TYPE > | |
Array1D< TYPE > | getGaussian1D (double sigma, size_t size=0, bool normalize=false) |
This function returns an array in which the elements are sampled from a 1D Gaussian. | |
template<class Type > | |
bool | solveCubic (Type c0, Type c1, Type c2, Type &root0, Type &root1, Type &root2) |
This function computes the real roots of the cubic polynomial x^3 + c0*x^2 + c1*x + c2 = 0. | |
template<class Type > | |
void | solveCubic (Type c0, Type c1, Type c2, std::complex< Type > &root0, std::complex< Type > &root1, std::complex< Type > &root2) |
This function computes the (possibly complex) roots of the cubic polynomial x^3 + c0*x^2 + c1*x + c2 = 0. | |
template<class Type > | |
bool | solveQuadratic (Type c0, Type c1, Type c2, Type &root0, Type &root1) |
This function computes the real roots of the quadratic polynomial c0*x^2 + c1*x + c2 = 0. | |
template<class Type > | |
void | solveQuadratic (Type c0, Type c1, Type c2, std::complex< Type > &root0, std::complex< Type > &root1) |
This function computes the (possibly complex) roots of the quadratic polynomial c0*x^2 + c1*x + c2 = 0. | |
template<class Type > | |
void | solveQuadratic (std::complex< Type > c0, std::complex< Type > c1, std::complex< Type > &root0, std::complex< Type > &root1) |
This function computes the roots of the quadratic polynomial x^2 + c0*x + c1 = 0, where c0 and c1 are complex. | |
template<class Type > | |
void | solveQuartic (Type c0, Type c1, Type c2, Type c3, std::complex< Type > &root0, std::complex< Type > &root1, std::complex< Type > &root2, std::complex< Type > &root3) |
This function computes the (possibly complex) roots of the quartic polynomial x^4 + c0*x^3 + c1*x^2 + c2*x + c3 = 0. | |
template<class Type > | |
SubArray1D< Type > | subArray (const Array1D< Type > &source) |
This is a convenience function for constructing SubArray1D instances which reference every element of the source array. | |
template<class Type > | |
SubArray1D< Type > | subArray (const Array1D< Type > &source, const Slice &rowSlice) |
This is a convenience function for constructing SubArray1D instances which reference only selected elements of the source array. | |
template<class Type > | |
std::ostream & | operator<< (std::ostream &stream, const SubArray1D< Type > &subArray0) |
This stream output operator sends a text representation of the SubArray1D instance to the supplied stream instance. | |
template<class Type > | |
SubArray2D< Type > | subArray (const Array2D< Type > &source) |
This is a convenience function for constructing SubArray2D instances which reference every element of the source array. | |
template<class Type > | |
SubArray2D< Type > | subArray (const Array2D< Type > &source, const Slice &rowSlice, const Slice &columnSlice) |
This is a convenience function for constructing SubArray2D instances which reference only selected elements of the source array. | |
template<class Type > | |
SubArray2D< Type > | subArray (const Array2D< Type > &source, const int row, const Slice &columnSlice) |
This function is just like subArray(const Array2D<Type>&, const Slice&, const Slice&), above except that it constructs a SubArray2D instance which references only selected elements _of a particular row_ in the source array. | |
template<class Type > | |
SubArray2D< Type > | subArray (const Array2D< Type > &source, const Slice &rowSlice, int column) |
This function is just like subArray(const Array2D<Type>&, const Slice&, const Slice&), above except that it constructs a SubArray2D instance which references only selected elements _of a particular column_ in the source array. | |
template<class Type > | |
std::ostream & | operator<< (std::ostream &stream, const SubArray2D< Type > &subArray0) |
This stream output operator sends a text representation of the SubArray2D instance to the supplied stream instance. | |
template<class Type0 > | |
void | getQuadraticCoefficients3x3 (Type0 value00, Type0 value01, Type0 value02, Type0 value10, Type0 value11, Type0 value12, Type0 value20, Type0 value21, Type0 value22, double &k0, double &k1, double &k2, double &k3, double &k4, double &k5) |
This function solves for the coefficients of a 2D quadratic, given the function values on a 3x3 grid around the origin. | |
template<class Type0 , class Type1 > | |
bool | subpixelInterpolate (double centerRowCoord, double centerColumnCoord, Type0 value00, Type0 value01, Type0 value02, Type0 value10, Type0 value11, Type0 value12, Type0 value20, Type0 value21, Type0 value22, double &extremumRowCoord, double &extremumColumnCoord, Type1 &extremeValue) |
Given pixel values in a 3x3 array around (centerRow, centerColumn), this function fits a quadratic to the array values and returns the location and interpolated value of the extremum (max or min value) of the quadratic. | |
template<class Type0 , class Type1 > | |
bool | subpixelInterpolate (double centerPosition, Type0 value0, Type0 value1, Type0 value2, double &extremumPosition, Type1 &extremeValue) |
Given pixel values in a 3x1 arrangement centerPosition, this function fits a quadratic to the values and returns the location and interpolated value of the extremum (max or min value) of the quadratic. | |
Transform2D | operator* (const Transform2D &transform0, const Transform2D &transform1) |
This operator composes two Transform2D instances. | |
std::ostream & | operator<< (std::ostream &stream, const Transform2D &transform0) |
Outputs a text representation of a Transform2D instance to a std::ostream. | |
std::istream & | operator>> (std::istream &stream, Transform2D &transform0) |
Sets the value of a Transform2D instance from a std::istream. | |
Transform3D | operator* (const Transform3D &transform0, const Transform3D &transform1) |
This operator composes two Transform3D instances. | |
std::ostream & | operator<< (std::ostream &stream, const Transform3D &transform0) |
Outputs a text representation of a Transform3D instance to a std::ostream. | |
std::istream & | operator>> (std::istream &stream, Transform3D &transform0) |
Sets the value of a Transform3D instance from a std::istream. | |
Transform3DTo2D | operator* (const Transform3DTo2D &transform0, const Transform3D &transform1) |
This operator composes a Transform3DTo2D instance with a Transform3D instance. | |
std::ostream & | operator<< (std::ostream &stream, const Transform3DTo2D &transform0) |
Outputs a text representation of a Transform3D instance to a std::ostream. | |
std::istream & | operator>> (std::istream &stream, Transform3DTo2D &transform0) |
Sets the value of a Transform3DTo2D instance from a std::istream. | |
Vector2D | operator+ (const Vector2D &vector0, const Vector2D &vector1) |
This operator returns the elementwise sum of two Vector2D instances. | |
Vector2D | operator- (const Vector2D &vector0, const Vector2D &vector1) |
This operator returns the elementwise difference of two Vector2D instances. | |
Vector2D | operator* (const Vector2D &vector0, const Vector2D &vector1) |
This operator returns the elementwise product of two Vector2D instances. | |
Vector2D | operator/ (const Vector2D &vector0, const Vector2D &vector1) |
This operator returns the elementwise dividend of two Vector2D instances. | |
Vector2D | operator+ (const Vector2D &vector0, double scalar0) |
This operator adds a scalar and a Vector2D. | |
Vector2D | operator- (const Vector2D &vector0, double scalar0) |
This operator subtracts a scalar from a Vector2D. | |
Vector2D | operator* (const Vector2D &vector0, double scalar0) |
This operator multiplies a Vector2D by scalar. | |
Vector2D | operator/ (const Vector2D &vector0, double scalar0) |
This operator divides a Vector2D by scalar. | |
bool | operator== (const Vector2D &vector0, const Vector2D &vector1) |
This operator checks the supplied vectors for equality. | |
bool | operator!= (const Vector2D &vector0, const Vector2D &vector1) |
This operator checks the supplied vectors for inequality. | |
std::ostream & | operator<< (std::ostream &stream, const Vector2D &vector0) |
This function outputs a text representation of a Vector2D instance to a std::ostream. | |
std::istream & | operator>> (std::istream &stream, Vector2D &vector0) |
This function sets the value of a Vector2D instance from a std::istream. | |
Vector2D | operator+ (double scalar0, const Vector2D &vector0) |
This operator adds a scalar value to each element of a Vector2D instance. | |
Vector2D | operator* (double scalar0, const Vector2D &vector0) |
This operator multiplies a scalar value with each element of a Vector2D instance. | |
Vector3D | operator+ (const Vector3D &vector0, const Vector3D &vector1) |
This operator returns the elementwise sum of two Vector3D instances. | |
Vector3D | operator- (const Vector3D &vector0, const Vector3D &vector1) |
This operator returns the elementwise difference of two Vector3D instances. | |
Vector3D | operator* (const Vector3D &vector0, const Vector3D &vector1) |
This operator returns the elementwise product of two Vector3D instances. | |
Vector3D | operator/ (const Vector3D &vector0, const Vector3D &vector1) |
This operator returns the elementwise dividend of two Vector3D instances. | |
Vector3D | operator+ (const Vector3D &vector0, double scalar0) |
This operator adds a scalar and a Vector3D. | |
Vector3D | operator- (const Vector3D &vector0, double scalar0) |
This operator subtracts a scalar from a Vector3D. | |
Vector3D | operator* (const Vector3D &vector0, double scalar0) |
This operator multiplies a Vector3D by scalar. | |
Vector3D | operator/ (const Vector3D &vector0, double scalar0) |
This operator divides a Vector3D by scalar. | |
bool | operator== (const Vector3D &vector0, const Vector3D &vector1) |
This operator checks the supplied vectors for equality. | |
bool | operator!= (const Vector3D &vector0, const Vector3D &vector1) |
This operator checks the supplied vectors for inequality. | |
std::ostream & | operator<< (std::ostream &stream, const Vector3D &vector0) |
This function outputs a text representation of a Vector3D instance to a std::ostream. | |
std::istream & | operator>> (std::istream &stream, Vector3D &vector0) |
This function sets the value of a Vector3D instance from a std::istream. | |
Vector3D | operator+ (double scalar0, const Vector3D &vector0) |
This operator adds a scalar value to each element of a Vector3D instance. | |
Vector3D | operator* (double scalar0, const Vector3D &vector0) |
This operator multiplies a scalar value with each element of a Vector3D instance. |
DLR_CONVOLVE_ZERO_PAD_RESULT |
|
Definition at line 23 of file convolutionStrategy.h.
bool dlr::numeric::bilaterate | ( | const Vector2D & | point0, | |
const Vector2D & | point1, | |||
double | range0, | |||
double | range1, | |||
Vector2D & | intersection0, | |||
Vector2D & | intersection1 | |||
) |
This function finds a 2D point, given two other points and distance between each of those points and the point to be recovered.
That is, it answers the question "what point is at range0 from point0 and also at range1 from point1?" Note that there may be two points which satisfy this constraint, or there may be none if the sum of range0 and range1 is less than the distance between point0 and point1.
point0 | This argument specifies the first known point. | |
point1 | This argument specifies the second known point. | |
range0 | This argument specifies the distance from point0 to the target point. | |
range1 | This argument specifies the distance from point1 to the target point. | |
intersection0 | This argument returns the first of the two points which is at range0 from point0 and at range1 from point1. If no solution is found, then this argument will not be touched. | |
intersection1 | This argument returns the second of the two points which is at range0 from point0 and at range1 from point1. In degenerate cases, intersection1 will be identical to intersection0. If no solution is found, then this argument will not be touched. |
Definition at line 23 of file geometry2D.cpp.
References sqrt(), dlr::numeric::Vector2D::x(), and dlr::numeric::Vector2D::y().
Quaternion dlr::numeric::conjugate | ( | const Quaternion & | source | ) | [inline] |
This function returns the conjugate of a Quaternion, in which the sign of each imaginary component has been reversed.
Note that for quaternions which represent rotation, the rotation represented by the conjugate is also the inverse rotation. That is, if you rotate by a quaternion, q, and then rotate by conjugate(q), you wind up exactly where you started.
source | This argument specifies the Quaternion whose conjugate is to be computed. |
Definition at line 220 of file quaternion.h.
References dlr::numeric::Quaternion::i(), dlr::numeric::Quaternion::j(), dlr::numeric::Quaternion::k(), and dlr::numeric::Quaternion::s().
ArrayND< Dimension, OutputType > dlr::numeric::convolve | ( | const Array1D< KernelType > & | kernel, | |
const ArrayND< Dimension, SignalType > & | signal, | |||
size_t | axis, | |||
ConvolutionStrategy | strategy = DLR_CONVOLVE_PAD_RESULT , |
|||
ConvolutionROI | roi = DLR_CONVOLVE_ROI_SAME | |||
) | [inline] |
Unstable: interface subject to change.
Definition at line 75 of file convolveND.h.
References dlr::numeric::Array1D< Type >::copy(), dlr::numeric::ArrayND< Dimension, Type >::flattenIndex(), dlr::numeric::ArrayND< Dimension, Type >::getShape(), dlr::numeric::ArrayND< Dimension, Type >::getStride(), and dlr::numeric::Array1D< Type >::size().
Array1D< Type1 > dlr::numeric::convolve | ( | const Array1D< Type0 > & | kernel, | |
const Array1D< Type0 > & | signal, | |||
type_tag< Type1 > | resultTag, | |||
ConvolutionStrategy | strategy = DLR_CONVOLVE_ZERO_PAD_RESULT | |||
) | [inline] |
Definition at line 160 of file convolve.h.
References dlr::numeric::Array1D< Type >::begin(), correlate(), dlr::numeric::Array1D< Type >::end(), and dlr::numeric::Array1D< Type >::size().
Array1D< Type > dlr::numeric::convolve | ( | const Array1D< Type > & | kernel, | |
const Array1D< Type > & | signal, | |||
ConvolutionStrategy | strategy = DLR_CONVOLVE_ZERO_PAD_RESULT | |||
) | [inline] |
Definition at line 150 of file convolve.h.
Array1D< OutputType > dlr::numeric::convolve1D | ( | const Array1D< KernelType > & | kernel, | |
const Array1D< SignalType > & | signal, | |||
ConvolutionStrategy | strategy, | |||
int | boundary0, | |||
int | boundary1, | |||
const FillType & | fillValue | |||
) | [inline] |
Unstable: interface subject to change.
Definition at line 630 of file convolve1D.h.
References dlr::numeric::Array1D< Type >::begin(), dlr::numeric::Array1D< Type >::end(), and dlr::numeric::Array1D< Type >::size().
Array1D< OutputType > dlr::numeric::convolve1D | ( | const Array1D< KernelType > & | kernel, | |
const Array1D< SignalType > & | signal, | |||
ConvolutionStrategy | strategy, | |||
int | boundary0, | |||
int | boundary1 | |||
) | [inline] |
Unstable: interface subject to change.
Definition at line 614 of file convolve1D.h.
References dlr::numeric::Array1D< Type >::begin(), dlr::numeric::Array1D< Type >::end(), and dlr::numeric::Array1D< Type >::size().
Array1D< OutputType > dlr::numeric::convolve1D | ( | const Array1D< KernelType > & | kernel, | |
const Array1D< SignalType > & | signal, | |||
ConvolutionStrategy | strategy, | |||
ConvolutionROI | roi, | |||
const FillType & | fillValue | |||
) | [inline] |
Unstable: interface subject to change.
Definition at line 599 of file convolve1D.h.
References dlr::numeric::Array1D< Type >::begin(), dlr::numeric::Array1D< Type >::end(), and dlr::numeric::Array1D< Type >::size().
Array1D< OutputType > dlr::numeric::convolve1D | ( | const Array1D< KernelType > & | kernel, | |
const Array1D< SignalType > & | signal, | |||
ConvolutionStrategy | strategy = DLR_CONVOLVE_ZERO_PAD_RESULT , |
|||
ConvolutionROI | roi = DLR_CONVOLVE_ROI_SAME | |||
) | [inline] |
Unstable: interface subject to change.
Definition at line 584 of file convolve1D.h.
References dlr::numeric::Array1D< Type >::begin(), dlr::numeric::Array1D< Type >::end(), and dlr::numeric::Array1D< Type >::size().
Array2D< OutputType > dlr::numeric::convolve2D | ( | const Array2D< KernelType > & | kernel, | |
const Array2D< SignalType > & | signal, | |||
ConvolutionStrategy | strategy, | |||
const Index2D & | corner0, | |||
const Index2D & | corner1, | |||
const FillType & | fillValue | |||
) | [inline] |
Array2D< OutputType > dlr::numeric::convolve2D | ( | const Array2D< KernelType > & | kernel, | |
const Array2D< SignalType > & | signal, | |||
ConvolutionStrategy | strategy, | |||
const Index2D & | corner0, | |||
const Index2D & | corner1 | |||
) | [inline] |
Array2D< OutputType > dlr::numeric::convolve2D | ( | const Array2D< KernelType > & | kernel, | |
const Array2D< SignalType > & | signal, | |||
ConvolutionStrategy | strategy, | |||
ConvolutionROI | roi, | |||
const FillType & | fillValue | |||
) | [inline] |
Array2D< OutputType > dlr::numeric::convolve2D | ( | const Array2D< KernelType > & | kernel, | |
const Array2D< SignalType > & | signal, | |||
ConvolutionStrategy | strategy = DLR_CONVOLVE_PAD_RESULT , |
|||
ConvolutionROI | roi = DLR_CONVOLVE_ROI_SAME | |||
) | [inline] |
Array1D< Type1 > dlr::numeric::correlate | ( | const Array1D< Type0 > & | kernel, | |
const Array1D< Type0 > & | signal, | |||
type_tag< Type1 > | resultTag, | |||
ConvolutionStrategy | strategy = DLR_CONVOLVE_ZERO_PAD_RESULT | |||
) | [inline] |
Definition at line 184 of file convolve.h.
References DLR_CONVOLVE_ZERO_PAD_RESULT.
Array1D< Type > dlr::numeric::correlate | ( | const Array1D< Type > & | kernel, | |
const Array1D< Type > & | signal, | |||
ConvolutionStrategy | strategy = DLR_CONVOLVE_ZERO_PAD_RESULT | |||
) | [inline] |
Definition at line 174 of file convolve.h.
Referenced by convolve().
Array1D< OutputType > dlr::numeric::correlate1D | ( | const Array1D< KernelType > & | kernel, | |
const Array1D< SignalType > & | signal, | |||
ConvolutionStrategy | strategy, | |||
int | boundary0, | |||
int | boundary1, | |||
const FillType & | fillValue | |||
) | [inline] |
Unstable: interface subject to change.
Definition at line 785 of file convolve1D.h.
References DLR_CONVOLVE_ZERO_PAD_RESULT, and dlr::numeric::Array1D< Type >::size().
Array1D< OutputType > dlr::numeric::correlate1D | ( | const Array1D< KernelType > & | kernel, | |
const Array1D< SignalType > & | signal, | |||
ConvolutionStrategy | strategy, | |||
int | boundary0, | |||
int | boundary1 | |||
) | [inline] |
Unstable: interface subject to change.
Definition at line 730 of file convolve1D.h.
References DLR_CONVOLVE_ZERO_PAD_RESULT, and dlr::numeric::Array1D< Type >::size().
Array1D< OutputType > dlr::numeric::correlate1D | ( | const Array1D< KernelType > & | kernel, | |
const Array1D< SignalType > & | signal, | |||
ConvolutionStrategy | strategy, | |||
ConvolutionROI | roi, | |||
const FillType & | fillValue | |||
) | [inline] |
Unstable: interface subject to change.
Definition at line 688 of file convolve1D.h.
References dlr::numeric::Array1D< Type >::size().
Array1D< OutputType > dlr::numeric::correlate1D | ( | const Array1D< KernelType > & | kernel, | |
const Array1D< SignalType > & | signal, | |||
ConvolutionStrategy | strategy = DLR_CONVOLVE_ZERO_PAD_RESULT , |
|||
ConvolutionROI | roi = DLR_CONVOLVE_ROI_SAME | |||
) | [inline] |
Unstable: interface subject to change.
Definition at line 646 of file convolve1D.h.
References dlr::numeric::Array1D< Type >::size().
Array2D< OutputType > dlr::numeric::correlate2D | ( | const Array2D< KernelType > & | kernel, | |
const Array2D< SignalType > & | signal, | |||
ConvolutionStrategy | strategy, | |||
const Index2D & | corner0, | |||
const Index2D & | corner1, | |||
const FillType & | fillValue | |||
) | [inline] |
Unstable: interface subject to change.
Definition at line 1715 of file convolve2D.h.
References dlr::numeric::Array2D< Type >::columns(), DLR_CONVOLVE_ZERO_PAD_RESULT, and dlr::numeric::Array2D< Type >::rows().
Array2D< OutputType > dlr::numeric::correlate2D | ( | const Array2D< KernelType > & | kernel, | |
const Array2D< SignalType > & | signal, | |||
ConvolutionStrategy | strategy, | |||
const Index2D & | corner0, | |||
const Index2D & | corner1 | |||
) | [inline] |
Unstable: interface subject to change.
Definition at line 1651 of file convolve2D.h.
References dlr::numeric::Array2D< Type >::columns(), DLR_CONVOLVE_ZERO_PAD_RESULT, and dlr::numeric::Array2D< Type >::rows().
Array2D< OutputType > dlr::numeric::correlate2D | ( | const Array2D< KernelType > & | kernel, | |
const Array2D< SignalType > & | signal, | |||
ConvolutionStrategy | strategy, | |||
ConvolutionROI | roi, | |||
const FillType & | fillValue | |||
) | [inline] |
Unstable: interface subject to change.
Definition at line 1605 of file convolve2D.h.
References dlr::numeric::Array2D< Type >::columns(), dlr::numeric::Index2D::getColumn(), dlr::numeric::Index2D::getRow(), and dlr::numeric::Array2D< Type >::rows().
Array2D< OutputType > dlr::numeric::correlate2D | ( | const Array2D< KernelType > & | kernel, | |
const Array2D< SignalType > & | signal, | |||
ConvolutionStrategy | strategy = DLR_CONVOLVE_PAD_RESULT , |
|||
ConvolutionROI | roi = DLR_CONVOLVE_ROI_SAME | |||
) | [inline] |
Unstable: interface subject to change.
Definition at line 1560 of file convolve2D.h.
References dlr::numeric::Array2D< Type >::columns(), dlr::numeric::Index2D::getColumn(), dlr::numeric::Index2D::getRow(), and dlr::numeric::Array2D< Type >::rows().
Array1D< TYPE > dlr::numeric::getGaussian1D | ( | double | sigma, | |
size_t | size = 0 , |
|||
bool | normalize = false | |||
) | [inline] |
This function returns an array in which the elements are sampled from a 1D Gaussian.
The maximum of the Gaussian is at the center of the returned array, and the distance between adjacent samples (elements of the array) is assumed to be exactly 1.0.
sigma | This argument specifies the desired standard deviation of the Gaussian. | |
size | This argument specifies how many elements should be in the returned array. If size is set to 0, the returned value will have the smallest odd number of elements that is greater than or equal to 6.0 * sigma. xxx is this correct? | |
normalize | This argument specifies whether, after the elements of the array have been computed, the array should be rescaled so that its elements sum to 1.0. |
Definition at line 75 of file sampledFunctions.h.
void dlr::numeric::getQuadraticCoefficients3x3 | ( | Type0 | value00, | |
Type0 | value01, | |||
Type0 | value02, | |||
Type0 | value10, | |||
Type0 | value11, | |||
Type0 | value12, | |||
Type0 | value20, | |||
Type0 | value21, | |||
Type0 | value22, | |||
double & | k0, | |||
double & | k1, | |||
double & | k2, | |||
double & | k3, | |||
double & | k4, | |||
double & | k5 | |||
) | [inline] |
This function solves for the coefficients of a 2D quadratic, given the function values on a 3x3 grid around the origin.
It is used internally by subpixelInterpolate(), but is exposed here in case its useful in other contexts. This function is completely hardcoded, so it should be reasonably fast.
Note that this function talks in (x, y) coordinates, while subpixelInterpolate() talks in (row, column) coordinates. Our normal convention is that row number goes up with increasing y coordinate and column number goes up with increasing x coordinate, so this makes the valueYX arguments match nicely with the valueRowColumn arguments of subpixelInterpolate(), but it's something to be aware of if you don't follow this convention.
More detail about what this routine does: assuming you have the function
f(x, y) = [x, y] [k0, k1] [x] + [x, y] [k3] + k5 [k1, k2] [y] [k4]
and are given the values of f(x, y) for the 3x3 grid x = {-1, 0, 1}, y = {-1, 0, 1}, this function returns the values of k0 ... k5 that most nearly satisfy the equation (in the least squares sense).
value00 | This argument is the value of f(-1, -1). | |
value01 | This argument is the value of f(0, -1). | |
value02 | This argument is the value of f(1, -1). | |
value10 | This argument is the value of f(-1, 0). | |
value11 | This argument is the value of f(0, 0). | |
value12 | This argument is the value of f(1, 0). | |
value20 | This argument is the value of f(-1, 1). | |
value21 | This argument is the value of f(0, 1). | |
value22 | This argument is the value of f(1, 1). | |
k0 | This argument returns a recovered parameter of the quadratic function. | |
k1 | This argument returns a recovered parameter of the quadratic function. | |
k2 | This argument returns a recovered parameter of the quadratic function. | |
k3 | This argument returns a recovered parameter of the quadratic function. | |
k4 | This argument returns a recovered parameter of the quadratic function. | |
k5 | This argument returns a recovered parameter of the quadratic function. |
Definition at line 236 of file subpixelInterpolate.h.
Referenced by subpixelInterpolate().
bool dlr::numeric::operator!= | ( | const Vector3D & | vector0, | |
const Vector3D & | vector1 | |||
) |
This operator checks the supplied vectors for inequality.
vector0 | First vector to compare. | |
vector1 | Second vector to compare. |
vector0
to vector1
for inequality. Definition at line 94 of file vector3D.cpp.
bool dlr::numeric::operator!= | ( | const Vector2D & | vector0, | |
const Vector2D & | vector1 | |||
) |
This operator checks the supplied vectors for inequality.
vector0 | First vector to compare. | |
vector1 | Second vector to compare. |
vector0
to vector1
for inequality. Definition at line 76 of file vector2D.cpp.
bool dlr::numeric::operator!= | ( | const Index3D & | index0, | |
const Index3D & | index1 | |||
) |
This operator checks the supplied indexs for inequality.
index0
to index1
for inequality. Definition at line 95 of file index3D.cpp.
bool dlr::numeric::operator!= | ( | const Index2D & | index0, | |
const Index2D & | index1 | |||
) |
This operator checks the supplied indexs for inequality.
index0
to index1
for inequality. Definition at line 86 of file index2D.cpp.
Vector3D dlr::numeric::operator* | ( | double | scalar0, | |
const Vector3D & | vector0 | |||
) | [inline] |
This operator multiplies a scalar value with each element of a Vector3D instance.
scalar0 | Scalar argument of the multiplication. | |
vector0 | Vector argument of the multiplication. |
Definition at line 487 of file vector3D.h.
Vector3D dlr::numeric::operator* | ( | const Vector3D & | vector0, | |
double | scalar0 | |||
) |
This operator multiplies a Vector3D by scalar.
vector0 | This is the Vector3D instance which is to be multiplied by the scalar. | |
scalar0 | This is amount by which should argument vector0 is to be multiplied. |
Definition at line 70 of file vector3D.cpp.
References dlr::numeric::Vector3D::x(), dlr::numeric::Vector3D::y(), and dlr::numeric::Vector3D::z().
Vector3D dlr::numeric::operator* | ( | const Vector3D & | vector0, | |
const Vector3D & | vector1 | |||
) |
This operator returns the elementwise product of two Vector3D instances.
vector0 | This is the first of the two Vector3D instances to be multiplied. | |
vector1 | This is the second of the two Vector3D instances to be multiplied. |
Definition at line 38 of file vector3D.cpp.
References dlr::numeric::Vector3D::x(), dlr::numeric::Vector3D::y(), and dlr::numeric::Vector3D::z().
Vector2D dlr::numeric::operator* | ( | double | scalar0, | |
const Vector2D & | vector0 | |||
) | [inline] |
This operator multiplies a scalar value with each element of a Vector2D instance.
scalar0 | Scalar argument of the multiplication. | |
vector0 | Vector argument of the multiplication. |
Definition at line 503 of file vector2D.h.
Vector2D dlr::numeric::operator* | ( | const Vector2D & | vector0, | |
double | scalar0 | |||
) |
This operator multiplies a Vector2D by scalar.
vector0 | This is the Vector2D instance which is to be multiplied by the scalar. | |
scalar0 | This is amount by which should argument vector0 is to be multiplied. |
Definition at line 57 of file vector2D.cpp.
References dlr::numeric::Vector2D::x(), and dlr::numeric::Vector2D::y().
Vector2D dlr::numeric::operator* | ( | const Vector2D & | vector0, | |
const Vector2D & | vector1 | |||
) |
This operator returns the elementwise product of two Vector2D instances.
vector0 | This is the first of the two Vector2D instances to be multiplied. | |
vector1 | This is the second of the two Vector2D instances to be multiplied. |
Definition at line 33 of file vector2D.cpp.
References dlr::numeric::Vector2D::x(), and dlr::numeric::Vector2D::y().
Transform3DTo2D dlr::numeric::operator* | ( | const Transform3DTo2D & | transform0, | |
const Transform3D & | transform1 | |||
) |
This operator composes a Transform3DTo2D instance with a Transform3D instance.
The resulting Transform3DTo2D instance the equation:
(transform0 * transform1) * v0 = transform0 * (transform1 * v0),
where v0 is a Vector3D instance.
transform0 | This is the Transform3DTo2D instance to be composed. | |
transform1 | This is the Transform3D instance to be composed. |
Definition at line 207 of file transform3DTo2D.cpp.
References dlr::numeric::Transform3D::value(), and dlr::numeric::Transform3DTo2D::value().
Transform3D dlr::numeric::operator* | ( | const Transform3D & | transform0, | |
const Transform3D & | transform1 | |||
) |
This operator composes two Transform3D instances.
The resulting transform satisfies the equation:
(transform0 * transform1) * v0 = transform0 * (transform1 * v0),
where v0 is a Vector3D instance.
transform0 | This is the first of the two Transform3D instances to be composed. | |
transform1 | This is the second of the two Transform3D instances to be composed. |
Definition at line 336 of file transform3D.cpp.
References dlr::numeric::Transform3D::value().
Transform2D dlr::numeric::operator* | ( | const Transform2D & | transform0, | |
const Transform2D & | transform1 | |||
) |
This operator composes two Transform2D instances.
The resulting transform satisfies the equation:
(transform0 * transform1) * v0 = transform0 * (transform1 * v0),
where v0 is a Vector2D instance.
transform0 | This is the first of the two Transform2D instances to be composed. | |
transform1 | This is the second of the two Transform2D instances to be composed. |
Definition at line 253 of file transform2D.cpp.
References dlr::numeric::Transform2D::value().
Polynomial< Type > dlr::numeric::operator* | ( | const Polynomial< Type > & | arg0, | |
const Polynomial< Type > & | arg1 | |||
) | [inline] |
This operator multiplies two Polynomial instances.
Values returned by operator()(xValue) of the result of this multiplication will be equal to the product of the values returned by the operator()(xValue) of arg0 and arg1.
arg0 | This argument is one of the Polynomial instances to be multiplied. | |
arg1 | This argument is one of the Polynomial instances to be multiplied. |
Definition at line 492 of file polynomial.h.
Index3D dlr::numeric::operator* | ( | int | scalar0, | |
const Index3D & | index0 | |||
) | [inline] |
This operator multiplies a scalar value with each element of a Index3D instance.
scalar0 | Scalar argument of the multiplication. | |
index0 | Index3D argument of the multiplication. |
Index3D dlr::numeric::operator* | ( | const Index3D & | index0, | |
int | scalar0 | |||
) |
This operator multiplies an Index3D by scalar.
index0 | This is the Index3D instance which is to be multiplied by the scalar. | |
scalar0 | This is amount by which should argument index0 is to be multiplied. |
Definition at line 69 of file index3D.cpp.
References dlr::numeric::Index3D::getColumn(), dlr::numeric::Index3D::getRow(), and dlr::numeric::Index3D::getSlice().
Index3D dlr::numeric::operator* | ( | const Index3D & | index0, | |
const Index3D & | index1 | |||
) |
This operator returns the elementwise product of two Index3D instances.
index0 | This is the first of the two Index3D instances to be multiplied. | |
index1 | This is the second of the two Index3D instances to be multiplied. |
Definition at line 37 of file index3D.cpp.
References dlr::numeric::Index3D::getColumn(), dlr::numeric::Index3D::getRow(), and dlr::numeric::Index3D::getSlice().
Index2D dlr::numeric::operator* | ( | int | scalar0, | |
const Index2D & | index0 | |||
) | [inline] |
This operator multiplies a scalar value with each element of a Index2D instance.
scalar0 | Scalar argument of the multiplication. | |
index0 | Index2D argument of the multiplication. |
Index2D dlr::numeric::operator* | ( | const Index2D & | index0, | |
int | scalar0 | |||
) |
This operator multiplies an Index2D by scalar.
index0 | This is the Index2D instance which is to be multiplied by the scalar. | |
scalar0 | This is amount by which should argument index0 is to be multiplied. |
Definition at line 63 of file index2D.cpp.
References dlr::numeric::Index2D::getColumn(), and dlr::numeric::Index2D::getRow().
Index2D dlr::numeric::operator* | ( | const Index2D & | index0, | |
const Index2D & | index1 | |||
) |
This operator returns the elementwise product of two Index2D instances.
index0 | This is the first of the two Index2D instances to be multiplied. | |
index1 | This is the second of the two Index2D instances to be multiplied. |
Definition at line 35 of file index2D.cpp.
References dlr::numeric::Index2D::getColumn(), and dlr::numeric::Index2D::getRow().
ArrayND< Dimension, Type > dlr::numeric::operator* | ( | Type | scalar, | |
const ArrayND< Dimension, Type > & | array0 | |||
) | [inline] |
ArrayND< Dimension, Type > dlr::numeric::operator* | ( | const ArrayND< Dimension, Type > & | array0, | |
Type | scalar | |||
) | [inline] |
Multiplication of ArrayND and scalar.
array0 | ArrayND argument of the multiplication. | |
scalar | Scalar argument of the multiplication. |
Definition at line 1413 of file arrayND.h.
References dlr::numeric::ArrayND< Dimension, Type >::begin(), dlr::numeric::ArrayND< Dimension, Type >::end(), and dlr::numeric::ArrayND< Dimension, Type >::getShape().
ArrayND< Dimension, Type > dlr::numeric::operator* | ( | const ArrayND< Dimension, Type > & | array0, | |
const ArrayND< Dimension, Type > & | arrayN | |||
) | [inline] |
Elementwise multiplication of ArrayND instances.
array0 | First argument for multiplication. | |
arrayN | Second argument for multiplication. |
ValueException | on incompatible array sizes |
Definition at line 1357 of file arrayND.h.
References dlr::numeric::ArrayND< Dimension, Type >::begin(), dlr::numeric::ArrayND< Dimension, Type >::end(), dlr::numeric::ArrayND< Dimension, Type >::getShape(), and dlr::numeric::ArrayND< Dimension, Type >::size().
Array3D< Type > dlr::numeric::operator* | ( | Type | scalar, | |
const Array3D< Type > & | array0 | |||
) | [inline] |
Array3D< Type > dlr::numeric::operator* | ( | const Array3D< Type > & | array0, | |
Type | scalar | |||
) | [inline] |
Multiplication of Array3D and scalar.
array0 | Array3D argument of the multiplication. | |
scalar | Scalar argument of the multiplication. |
Definition at line 1946 of file array3D.h.
References dlr::numeric::Array3D< Type >::begin(), dlr::numeric::Array3D< Type >::end(), dlr::numeric::Array3D< Type >::shape0(), dlr::numeric::Array3D< Type >::shape1(), and dlr::numeric::Array3D< Type >::shape2().
Array3D< Type > dlr::numeric::operator* | ( | const Array3D< Type > & | array0, | |
const Array3D< Type > & | array1 | |||
) | [inline] |
Elementwise multiplication of Array3D instances.
array0 | First argument for multiplication. | |
array1 | Second argument for multiplication. |
ValueException | on incompatible array sizes |
Definition at line 1880 of file array3D.h.
References dlr::numeric::Array3D< Type >::begin(), dlr::numeric::Array3D< Type >::end(), dlr::numeric::Array3D< Type >::shape0(), dlr::numeric::Array3D< Type >::shape1(), and dlr::numeric::Array3D< Type >::shape2().
Array2D< Type > dlr::numeric::operator* | ( | Type | scalar, | |
const Array2D< Type > & | array0 | |||
) | [inline] |
Array2D< Type > dlr::numeric::operator* | ( | const Array2D< Type > & | array0, | |
Type | scalar | |||
) | [inline] |
Multiplication of Array2D and scalar.
array0 | Array2D argument of the multiplication. | |
scalar | Scalar argument of the multiplication. |
Definition at line 2109 of file array2D.h.
References dlr::numeric::Array2D< Type >::begin(), dlr::numeric::Array2D< Type >::columns(), dlr::numeric::Array2D< Type >::end(), and dlr::numeric::Array2D< Type >::rows().
Array2D< Type > dlr::numeric::operator* | ( | const Array2D< Type > & | array0, | |
const Array2D< Type > & | array1 | |||
) | [inline] |
Elementwise multiplication of Array2D instances.
array0 | First argument for multiplication. | |
array1 | Second argument for multiplication. |
ValueException | thrown when array sizes differ. |
Definition at line 2055 of file array2D.h.
References dlr::numeric::Array2D< Type >::begin(), dlr::numeric::Array2D< Type >::columns(), dlr::numeric::Array2D< Type >::end(), and dlr::numeric::Array2D< Type >::rows().
Array1D< Type > dlr::numeric::operator* | ( | Type | scalar, | |
const Array1D< Type > & | array0 | |||
) | [inline] |
Array1D< Type > dlr::numeric::operator* | ( | const Array1D< Type > & | array0, | |
Type | scalar | |||
) | [inline] |
Multiplication of Array1D and scalar.
array0 | Array1D argument of the multiplication. | |
scalar | Scalar argument of the multiplication. |
Definition at line 1569 of file array1D.h.
References dlr::numeric::Array1D< Type >::begin(), dlr::numeric::Array1D< Type >::end(), and dlr::numeric::Array1D< Type >::size().
Array1D< Type > dlr::numeric::operator* | ( | const Array1D< Type > & | array0, | |
const Array1D< Type > & | array1 | |||
) | [inline] |
Elementwise multiplication of Array1D instances.
array0 | First argument for multiplication. | |
array1 | Second argument for multiplication. |
ValueException | on incompatible array sizes |
Definition at line 1513 of file array1D.h.
References dlr::numeric::Array1D< Type >::begin(), dlr::numeric::Array1D< Type >::end(), and dlr::numeric::Array1D< Type >::size().
Vector3D dlr::numeric::operator+ | ( | double | scalar0, | |
const Vector3D & | vector0 | |||
) | [inline] |
This operator adds a scalar value to each element of a Vector3D instance.
scalar0 | Scalar argument of the addition. | |
vector0 | Vector argument of the addition. |
Definition at line 482 of file vector3D.h.
Vector3D dlr::numeric::operator+ | ( | const Vector3D & | vector0, | |
double | scalar0 | |||
) |
This operator adds a scalar and a Vector3D.
vector0 | This is the Vector3D instance to which the scalar should be added. | |
scalar0 | This is amount which should be added to each element of argument vector0. |
Definition at line 54 of file vector3D.cpp.
References dlr::numeric::Vector3D::x(), dlr::numeric::Vector3D::y(), and dlr::numeric::Vector3D::z().
Vector3D dlr::numeric::operator+ | ( | const Vector3D & | vector0, | |
const Vector3D & | vector1 | |||
) |
This operator returns the elementwise sum of two Vector3D instances.
vector0 | This is the first of the two Vector3D instances to be added. | |
vector1 | This is the second of the two Vector3D instances to be added. |
Definition at line 22 of file vector3D.cpp.
References dlr::numeric::Vector3D::x(), dlr::numeric::Vector3D::y(), and dlr::numeric::Vector3D::z().
Vector2D dlr::numeric::operator+ | ( | double | scalar0, | |
const Vector2D & | vector0 | |||
) | [inline] |
This operator adds a scalar value to each element of a Vector2D instance.
scalar0 | Scalar argument of the addition. | |
vector0 | Vector argument of the addition. |
Definition at line 498 of file vector2D.h.
Vector2D dlr::numeric::operator+ | ( | const Vector2D & | vector0, | |
double | scalar0 | |||
) |
This operator adds a scalar and a Vector2D.
vector0 | This is the Vector2D instance to which the scalar should be added. | |
scalar0 | This is amount which should be added to each element of argument vector0. |
Definition at line 45 of file vector2D.cpp.
References dlr::numeric::Vector2D::x(), and dlr::numeric::Vector2D::y().
Vector2D dlr::numeric::operator+ | ( | const Vector2D & | vector0, | |
const Vector2D & | vector1 | |||
) |
This operator returns the elementwise sum of two Vector2D instances.
vector0 | This is the first of the two Vector2D instances to be added. | |
vector1 | This is the second of the two Vector2D instances to be added. |
Definition at line 21 of file vector2D.cpp.
References dlr::numeric::Vector2D::x(), and dlr::numeric::Vector2D::y().
Polynomial< Type > dlr::numeric::operator+ | ( | const Polynomial< Type > & | arg0, | |
const Polynomial< Type > & | arg1 | |||
) | [inline] |
This operator adds two Polynomial instances.
Values returned by operator()(xValue) of the result of this multiplication will be equal to the sum of the values returned by the operator()(xValue) of arg0 and arg1.
arg0 | This argument is one of the Polynomial instances to be added. | |
arg1 | This argument is one of the Polynomial instances to be added. |
Definition at line 503 of file polynomial.h.
Index3D dlr::numeric::operator+ | ( | int | scalar0, | |
const Index3D & | index0 | |||
) | [inline] |
This operator adds a scalar value to each element of an Index3D instance.
scalar0 | Scalar argument of the addition. | |
index0 | Index3D argument of the addition. |
Index3D dlr::numeric::operator+ | ( | const Index3D & | index0, | |
int | scalar0 | |||
) |
This operator adds a scalar and an Index3D.
index0 | This is the Index3D instance to which the scalar should be added. | |
scalar0 | This is amount which should be added to each element of argument index0. |
Definition at line 53 of file index3D.cpp.
References dlr::numeric::Index3D::getColumn(), dlr::numeric::Index3D::getRow(), and dlr::numeric::Index3D::getSlice().
Index3D dlr::numeric::operator+ | ( | const Index3D & | index0, | |
const Index3D & | index1 | |||
) |
This operator returns the elementwise sum of two Index3D instances.
index0 | This is the first of the two Index3D instances to be added. | |
index1 | This is the second of the two Index3D instances to be added. |
Definition at line 21 of file index3D.cpp.
References dlr::numeric::Index3D::getColumn(), dlr::numeric::Index3D::getRow(), and dlr::numeric::Index3D::getSlice().
Index2D dlr::numeric::operator+ | ( | int | scalar0, | |
const Index2D & | index0 | |||
) | [inline] |
This operator adds a scalar value to each element of an Index2D instance.
scalar0 | Scalar argument of the addition. | |
index0 | Index2D argument of the addition. |
Index2D dlr::numeric::operator+ | ( | const Index2D & | index0, | |
int | scalar0 | |||
) |
This operator adds a scalar and an Index2D.
index0 | This is the Index2D instance to which the scalar should be added. | |
scalar0 | This is amount which should be added to each element of argument index0. |
Definition at line 49 of file index2D.cpp.
References dlr::numeric::Index2D::getColumn(), and dlr::numeric::Index2D::getRow().
Index2D dlr::numeric::operator+ | ( | const Index2D & | index0, | |
const Index2D & | index1 | |||
) |
This operator returns the elementwise sum of two Index2D instances.
index0 | This is the first of the two Index2D instances to be added. | |
index1 | This is the second of the two Index2D instances to be added. |
Definition at line 21 of file index2D.cpp.
References dlr::numeric::Index2D::getColumn(), and dlr::numeric::Index2D::getRow().
ArrayND< Dimension, Type > dlr::numeric::operator+ | ( | Type | scalar, | |
const ArrayND< Dimension, Type > & | array0 | |||
) | [inline] |
ArrayND< Dimension, Type > dlr::numeric::operator+ | ( | const ArrayND< Dimension, Type > & | array, | |
Type | scalar | |||
) | [inline] |
Addition of ArrayND and scalar.
array | ArrayND argument of the addition. | |
scalar | Scalar argument of the addition. |
Definition at line 1393 of file arrayND.h.
References dlr::numeric::ArrayND< Dimension, Type >::begin(), dlr::numeric::ArrayND< Dimension, Type >::end(), and dlr::numeric::ArrayND< Dimension, Type >::getShape().
ArrayND< Dimension, Type > dlr::numeric::operator+ | ( | const ArrayND< Dimension, Type > & | array0, | |
const ArrayND< Dimension, Type > & | arrayN | |||
) | [inline] |
Elementwise addition of ArrayND instances.
array0 | First argument for addition. | |
arrayN | Second argument for addition. |
ValueException | on incompatible array sizes |
Definition at line 1321 of file arrayND.h.
References dlr::numeric::ArrayND< Dimension, Type >::begin(), dlr::numeric::ArrayND< Dimension, Type >::end(), dlr::numeric::ArrayND< Dimension, Type >::getShape(), and dlr::numeric::ArrayND< Dimension, Type >::size().
Array3D< Type > dlr::numeric::operator+ | ( | Type | scalar, | |
const Array3D< Type > & | array0 | |||
) | [inline] |
Array3D< Type > dlr::numeric::operator+ | ( | const Array3D< Type > & | array0, | |
Type | scalar | |||
) | [inline] |
Addition of Array3D and scalar.
array0 | Array3D argument of the addition. | |
scalar | Scalar argument of the addition. |
Definition at line 1926 of file array3D.h.
References dlr::numeric::Array3D< Type >::begin(), dlr::numeric::Array3D< Type >::end(), dlr::numeric::Array3D< Type >::shape0(), dlr::numeric::Array3D< Type >::shape1(), and dlr::numeric::Array3D< Type >::shape2().
Array3D< Type > dlr::numeric::operator+ | ( | const Array3D< Type > & | array0, | |
const Array3D< Type > & | array1 | |||
) | [inline] |
This function returns the maximum element of the an Array3D instance.
array | This argument is the Array3D instance in which to search for the largest element. |
array | This argument is the Array3D instance in which to search for the smallest element. |
array0 | This argument is the array to be summed. |
array0 | First argument for addition. | |
array1 | Second argument for addition. |
ValueException | on incompatible array sizes |
Definition at line 1834 of file array3D.h.
References dlr::numeric::Array3D< Type >::begin(), dlr::numeric::Array3D< Type >::end(), dlr::numeric::Array3D< Type >::shape0(), dlr::numeric::Array3D< Type >::shape1(), and dlr::numeric::Array3D< Type >::shape2().
Array2D< Type > dlr::numeric::operator+ | ( | Type | scalar, | |
const Array2D< Type > & | array0 | |||
) | [inline] |
Array2D< Type > dlr::numeric::operator+ | ( | const Array2D< Type > & | array0, | |
Type | scalar | |||
) | [inline] |
Addition of Array2D and scalar.
array0 | Array2D argument of the addition. | |
scalar | Scalar argument of the addition. |
Definition at line 2091 of file array2D.h.
References dlr::numeric::Array2D< Type >::begin(), dlr::numeric::Array2D< Type >::columns(), dlr::numeric::Array2D< Type >::end(), and dlr::numeric::Array2D< Type >::rows().
Array2D< Type > dlr::numeric::operator+ | ( | const Array2D< Type > & | array0, | |
const Array2D< Type > & | array1 | |||
) | [inline] |
Elementwise addition of Array2D instances.
array0 | First argument for addition. | |
array1 | Second argument for addition. |
ValueException | thrown when array sizes differ. |
Definition at line 2019 of file array2D.h.
References dlr::numeric::Array2D< Type >::begin(), dlr::numeric::Array2D< Type >::columns(), dlr::numeric::Array2D< Type >::end(), and dlr::numeric::Array2D< Type >::rows().
Array1D< Type > dlr::numeric::operator+ | ( | Type | scalar, | |
const Array1D< Type > & | array0 | |||
) | [inline] |
Array1D< Type > dlr::numeric::operator+ | ( | const Array1D< Type > & | array, | |
Type | scalar | |||
) | [inline] |
Addition of Array1D and scalar.
array | Array1D argument of the addition. | |
scalar | Scalar argument of the addition. |
Definition at line 1549 of file array1D.h.
References dlr::numeric::Array1D< Type >::begin(), dlr::numeric::Array1D< Type >::end(), and dlr::numeric::Array1D< Type >::size().
Array1D< Type > dlr::numeric::operator+ | ( | const Array1D< Type > & | array0, | |
const Array1D< Type > & | array1 | |||
) | [inline] |
Elementwise addition of Array1D instances.
array0 | First argument for addition. | |
array1 | Second argument for addition. |
ValueException | on incompatible array sizes |
Definition at line 1477 of file array1D.h.
References dlr::numeric::Array1D< Type >::begin(), dlr::numeric::Array1D< Type >::end(), and dlr::numeric::Array1D< Type >::size().
Vector3D dlr::numeric::operator- | ( | const Vector3D & | vector0, | |
double | scalar0 | |||
) |
This operator subtracts a scalar from a Vector3D.
vector0 | This is the Vector3D instance from which the scalar should be subtracted. | |
scalar0 | This is amount which should be subtracted from each element of argument vector0. |
Definition at line 62 of file vector3D.cpp.
References dlr::numeric::Vector3D::x(), dlr::numeric::Vector3D::y(), and dlr::numeric::Vector3D::z().
Vector3D dlr::numeric::operator- | ( | const Vector3D & | vector0, | |
const Vector3D & | vector1 | |||
) |
This operator returns the elementwise difference of two Vector3D instances.
vector0 | This is the first of the two Vector3D instances to be subtracted. | |
vector1 | This is the second of the two Vector3D instances to be subtracted. |
Definition at line 30 of file vector3D.cpp.
References dlr::numeric::Vector3D::x(), dlr::numeric::Vector3D::y(), and dlr::numeric::Vector3D::z().
Vector2D dlr::numeric::operator- | ( | const Vector2D & | vector0, | |
double | scalar0 | |||
) |
This operator subtracts a scalar from a Vector2D.
vector0 | This is the Vector2D instance from which the scalar should be subtracted. | |
scalar0 | This is amount which should be subtracted from each element of argument vector0. |
Definition at line 51 of file vector2D.cpp.
References dlr::numeric::Vector2D::x(), and dlr::numeric::Vector2D::y().
Vector2D dlr::numeric::operator- | ( | const Vector2D & | vector0, | |
const Vector2D & | vector1 | |||
) |
This operator returns the elementwise difference of two Vector2D instances.
vector0 | This is the first of the two Vector2D instances to be subtracted. | |
vector1 | This is the second of the two Vector2D instances to be subtracted. |
Definition at line 27 of file vector2D.cpp.
References dlr::numeric::Vector2D::x(), and dlr::numeric::Vector2D::y().
Polynomial< Type > dlr::numeric::operator- | ( | const Polynomial< Type > & | arg0, | |
const Polynomial< Type > & | arg1 | |||
) | [inline] |
This operator subtracts two Polynomial instances.
Values returned by operator()(xValue) of the result of this multiplication will be equal to arg0.operator(xValue) - arg1.operator()(xValue).
arg0 | This argument is the Polynomial instances from which arg1 is to be subtracted. | |
arg1 | This argument is the Polynomial instances to be subtracted from arg0. |
Definition at line 514 of file polynomial.h.
Index3D dlr::numeric::operator- | ( | const Index3D & | index0, | |
int | scalar0 | |||
) |
This operator subtracts a scalar from an Index3D.
index0 | This is the Index3D instance from which the scalar should be subtracted. | |
scalar0 | This is amount which should be subtracted from each element of argument index0. |
Definition at line 61 of file index3D.cpp.
References dlr::numeric::Index3D::getColumn(), dlr::numeric::Index3D::getRow(), and dlr::numeric::Index3D::getSlice().
Index3D dlr::numeric::operator- | ( | const Index3D & | index0, | |
const Index3D & | index1 | |||
) |
This operator returns the elementwise difference of two Index3D instances.
index0 | This is the first of the two Index3D instances to be subtracted. | |
index1 | This is the second of the two Index3D instances to be subtracted. |
Definition at line 29 of file index3D.cpp.
References dlr::numeric::Index3D::getColumn(), dlr::numeric::Index3D::getRow(), and dlr::numeric::Index3D::getSlice().
Index2D dlr::numeric::operator- | ( | const Index2D & | index0, | |
int | scalar0 | |||
) |
This operator subtracts a scalar from an Index2D.
index0 | This is the Index2D instance from which the scalar should be subtracted. | |
scalar0 | This is amount which should be subtracted from each element of argument index0. |
Definition at line 56 of file index2D.cpp.
References dlr::numeric::Index2D::getColumn(), and dlr::numeric::Index2D::getRow().
Index2D dlr::numeric::operator- | ( | const Index2D & | index0, | |
const Index2D & | index1 | |||
) |
This operator returns the elementwise difference of two Index2D instances.
index0 | This is the first of the two Index2D instances to be subtracted. | |
index1 | This is the second of the two Index2D instances to be subtracted. |
Definition at line 28 of file index2D.cpp.
References dlr::numeric::Index2D::getColumn(), and dlr::numeric::Index2D::getRow().
ArrayND< Dimension, Type > dlr::numeric::operator- | ( | Type | scalar, | |
const ArrayND< Dimension, Type > & | array0 | |||
) | [inline] |
Subtraction of scalar and ArrayND.
scalar | Scalar argument of the subtraction. | |
array0 | ArrayND argument of the subtraction. |
Definition at line 1440 of file arrayND.h.
References dlr::numeric::ArrayND< Dimension, Type >::begin(), dlr::numeric::ArrayND< Dimension, Type >::end(), and dlr::numeric::ArrayND< Dimension, Type >::getShape().
ArrayND< Dimension, Type > dlr::numeric::operator- | ( | const ArrayND< Dimension, Type > & | array0, | |
Type | scalar | |||
) | [inline] |
Subtraction of ArrayND and scalar.
array0 | ArrayND argument of the subtraction. | |
scalar | Scalar argument of the subtraction. |
Definition at line 1403 of file arrayND.h.
References dlr::numeric::ArrayND< Dimension, Type >::begin(), dlr::numeric::ArrayND< Dimension, Type >::end(), and dlr::numeric::ArrayND< Dimension, Type >::getShape().
ArrayND< Dimension, Type > dlr::numeric::operator- | ( | const ArrayND< Dimension, Type > & | array0, | |
const ArrayND< Dimension, Type > & | arrayN | |||
) | [inline] |
Elementwise subtraction of ArrayND instances.
array0 | First argument for subtraction. | |
arrayN | Second argument for subtraction. |
ValueException | on incompatible array sizes |
Definition at line 1339 of file arrayND.h.
References dlr::numeric::ArrayND< Dimension, Type >::begin(), dlr::numeric::ArrayND< Dimension, Type >::end(), dlr::numeric::ArrayND< Dimension, Type >::getShape(), and dlr::numeric::ArrayND< Dimension, Type >::size().
Array3D< Type > dlr::numeric::operator- | ( | const Array3D< Type > & | array0, | |
Type | scalar | |||
) | [inline] |
Subtraction of Array3D and scalar.
array0 | Array3D argument of the subtraction. | |
scalar | Scalar argument of the subtraction. |
Definition at line 1936 of file array3D.h.
References dlr::numeric::Array3D< Type >::begin(), dlr::numeric::Array3D< Type >::end(), dlr::numeric::Array3D< Type >::shape0(), dlr::numeric::Array3D< Type >::shape1(), and dlr::numeric::Array3D< Type >::shape2().
Array3D< Type > dlr::numeric::operator- | ( | const Array3D< Type > & | array0, | |
const Array3D< Type > & | array1 | |||
) | [inline] |
Elementwise subtraction of Array3D instances.
array0 | First argument for subtraction. | |
array1 | Second argument for subtraction. |
ValueException | on incompatible array sizes |
Definition at line 1857 of file array3D.h.
References dlr::numeric::Array3D< Type >::begin(), dlr::numeric::Array3D< Type >::end(), dlr::numeric::Array3D< Type >::shape0(), dlr::numeric::Array3D< Type >::shape1(), and dlr::numeric::Array3D< Type >::shape2().
Array2D< Type > dlr::numeric::operator- | ( | const Array2D< Type > & | array0, | |
Type | scalar | |||
) | [inline] |
Subtraction of Array2D and scalar.
array0 | Array2D argument of the subtraction. | |
scalar | Scalar argument of the subtraction. |
Definition at line 2100 of file array2D.h.
References dlr::numeric::Array2D< Type >::begin(), dlr::numeric::Array2D< Type >::columns(), dlr::numeric::Array2D< Type >::end(), and dlr::numeric::Array2D< Type >::rows().
Array2D< Type > dlr::numeric::operator- | ( | const Array2D< Type > & | array0, | |
const Array2D< Type > & | array1 | |||
) | [inline] |
Elementwise subtraction of Array2D instances.
array0 | First argument for subtraction. | |
array1 | Second argument for subtraction. |
ValueException | thrown when array sizes differ. |
Definition at line 2037 of file array2D.h.
References dlr::numeric::Array2D< Type >::begin(), dlr::numeric::Array2D< Type >::columns(), dlr::numeric::Array2D< Type >::end(), and dlr::numeric::Array2D< Type >::rows().
Array1D< Type > dlr::numeric::operator- | ( | Type | scalar, | |
const Array1D< Type > & | array0 | |||
) | [inline] |
Subtraction of scalar and Array1D.
scalar | Scalar argument of the subtraction. | |
array0 | Array1D argument of the subtraction. |
Definition at line 1596 of file array1D.h.
References dlr::numeric::Array1D< Type >::begin(), dlr::numeric::Array1D< Type >::end(), and dlr::numeric::Array1D< Type >::size().
Array1D< Type > dlr::numeric::operator- | ( | const Array1D< Type > & | array0, | |
Type | scalar | |||
) | [inline] |
Subtraction of Array1D and scalar.
array0 | Array1D argument of the subtraction. | |
scalar | Scalar argument of the subtraction. |
Definition at line 1559 of file array1D.h.
References dlr::numeric::Array1D< Type >::begin(), dlr::numeric::Array1D< Type >::end(), and dlr::numeric::Array1D< Type >::size().
Array1D< Type > dlr::numeric::operator- | ( | const Array1D< Type > & | array0, | |
const Array1D< Type > & | array1 | |||
) | [inline] |
Elementwise subtraction of Array1D instances.
array0 | First argument for subtraction. | |
array1 | Second argument for subtraction. |
ValueException | on incompatible array sizes |
Definition at line 1495 of file array1D.h.
References dlr::numeric::Array1D< Type >::begin(), dlr::numeric::Array1D< Type >::end(), and dlr::numeric::Array1D< Type >::size().
Vector3D dlr::numeric::operator/ | ( | const Vector3D & | vector0, | |
double | scalar0 | |||
) |
This operator divides a Vector3D by scalar.
vector0 | This is the Vector3D instance which is to be divided by the scalar. | |
scalar0 | This is amount by which should argument vector0 is to be divided. |
Definition at line 78 of file vector3D.cpp.
References dlr::numeric::Vector3D::x(), dlr::numeric::Vector3D::y(), and dlr::numeric::Vector3D::z().
Vector3D dlr::numeric::operator/ | ( | const Vector3D & | vector0, | |
const Vector3D & | vector1 | |||
) |
This operator returns the elementwise dividend of two Vector3D instances.
vector0 | This is the Vector3D instance whose element values are to be divided. | |
vector1 | This is the Vector3D instance by whose elements the first argument is to be divided. |
Definition at line 46 of file vector3D.cpp.
References dlr::numeric::Vector3D::x(), dlr::numeric::Vector3D::y(), and dlr::numeric::Vector3D::z().
Vector2D dlr::numeric::operator/ | ( | const Vector2D & | vector0, | |
double | scalar0 | |||
) |
This operator divides a Vector2D by scalar.
vector0 | This is the Vector2D instance which is to be divided by the scalar. | |
scalar0 | This is amount by which should argument vector0 is to be divided. |
Definition at line 62 of file vector2D.cpp.
References dlr::numeric::Vector2D::x(), and dlr::numeric::Vector2D::y().
Vector2D dlr::numeric::operator/ | ( | const Vector2D & | vector0, | |
const Vector2D & | vector1 | |||
) |
This operator returns the elementwise dividend of two Vector2D instances.
vector0 | This is the Vector2D instance whose element values are to be divided. | |
vector1 | This is the Vector2D instance by whose elements the first argument is to be divided. |
Definition at line 39 of file vector2D.cpp.
References dlr::numeric::Vector2D::x(), and dlr::numeric::Vector2D::y().
Index3D dlr::numeric::operator/ | ( | const Index3D & | index0, | |
int | scalar0 | |||
) |
This operator divides an Index3D by scalar.
index0 | This is the Index3D instance which is to be divided by the scalar. | |
scalar0 | This is amount by which should argument index0 is to be divided. |
Definition at line 77 of file index3D.cpp.
References dlr::numeric::Index3D::getColumn(), dlr::numeric::Index3D::getRow(), and dlr::numeric::Index3D::getSlice().
Index3D dlr::numeric::operator/ | ( | const Index3D & | index0, | |
const Index3D & | index1 | |||
) |
This operator returns the elementwise dividend of two Index3D instances.
index0 | This is the Index3D instance whose element values are to be divided. | |
index1 | This is the Index3D instance by whose elements the first argument is to be divided. |
Definition at line 45 of file index3D.cpp.
References dlr::numeric::Index3D::getColumn(), dlr::numeric::Index3D::getRow(), and dlr::numeric::Index3D::getSlice().
Index2D dlr::numeric::operator/ | ( | const Index2D & | index0, | |
int | scalar0 | |||
) |
This operator divides an Index2D by scalar.
index0 | This is the Index2D instance which is to be divided by the scalar. | |
scalar0 | This is amount by which should argument index0 is to be divided. |
Definition at line 70 of file index2D.cpp.
References dlr::numeric::Index2D::getColumn(), and dlr::numeric::Index2D::getRow().
Index2D dlr::numeric::operator/ | ( | const Index2D & | index0, | |
const Index2D & | index1 | |||
) |
This operator returns the elementwise dividend of two Index2D instances.
index0 | This is the Index2D instance whose element values are to be divided. | |
index1 | This is the Index2D instance by whose elements the first argument is to be divided. |
Definition at line 42 of file index2D.cpp.
References dlr::numeric::Index2D::getColumn(), and dlr::numeric::Index2D::getRow().
ArrayND< Dimension, Type > dlr::numeric::operator/ | ( | Type | scalar, | |
const ArrayND< Dimension, Type > & | array0 | |||
) | [inline] |
Division of scalar and ArrayND.
scalar | Scalar argument of the division. | |
array0 | ArrayND argument of the division. |
Definition at line 1457 of file arrayND.h.
References dlr::numeric::ArrayND< Dimension, Type >::begin(), dlr::numeric::ArrayND< Dimension, Type >::end(), and dlr::numeric::ArrayND< Dimension, Type >::getShape().
ArrayND< Dimension, Type > dlr::numeric::operator/ | ( | const ArrayND< Dimension, Type > & | array0, | |
Type | scalar | |||
) | [inline] |
Division of ArrayND and scalar.
array0 | ArrayND argument of the division. | |
scalar | Scalar argument of the division. |
Definition at line 1423 of file arrayND.h.
References dlr::numeric::ArrayND< Dimension, Type >::begin(), dlr::numeric::ArrayND< Dimension, Type >::end(), and dlr::numeric::ArrayND< Dimension, Type >::getShape().
ArrayND< Dimension, Type > dlr::numeric::operator/ | ( | const ArrayND< Dimension, Type > & | array0, | |
const ArrayND< Dimension, Type > & | arrayN | |||
) | [inline] |
Elementwise division of ArrayND instances.
array0 | First argument for division. | |
arrayN | Second argument for division. |
ValueException | on incompatible array sizes |
Definition at line 1375 of file arrayND.h.
References dlr::numeric::ArrayND< Dimension, Type >::begin(), dlr::numeric::ArrayND< Dimension, Type >::end(), dlr::numeric::ArrayND< Dimension, Type >::getShape(), and dlr::numeric::ArrayND< Dimension, Type >::size().
Array3D< Type > dlr::numeric::operator/ | ( | const Array3D< Type > & | array0, | |
Type | scalar | |||
) | [inline] |
Division of Array3D and scalar.
array0 | Array3D argument of the division. | |
scalar | Scalar argument of the division. |
Definition at line 1956 of file array3D.h.
References dlr::numeric::Array3D< Type >::begin(), dlr::numeric::Array3D< Type >::end(), dlr::numeric::Array3D< Type >::shape0(), dlr::numeric::Array3D< Type >::shape1(), and dlr::numeric::Array3D< Type >::shape2().
Array3D< Type > dlr::numeric::operator/ | ( | const Array3D< Type > & | array0, | |
const Array3D< Type > & | array1 | |||
) | [inline] |
Elementwise division of Array3D instances.
array0 | First argument for division. | |
array1 | Second argument for division. |
ValueException | on incompatible array sizes |
Definition at line 1903 of file array3D.h.
References dlr::numeric::Array3D< Type >::begin(), dlr::numeric::Array3D< Type >::end(), dlr::numeric::Array3D< Type >::shape0(), dlr::numeric::Array3D< Type >::shape1(), and dlr::numeric::Array3D< Type >::shape2().
Array2D< Type > dlr::numeric::operator/ | ( | const Array2D< Type > & | array0, | |
Type | scalar | |||
) | [inline] |
Division of Array2D and scalar.
array0 | Array2D argument of the division. | |
scalar | Scalar argument of the division. |
Definition at line 2118 of file array2D.h.
References dlr::numeric::Array2D< Type >::begin(), dlr::numeric::Array2D< Type >::columns(), dlr::numeric::Array2D< Type >::end(), and dlr::numeric::Array2D< Type >::rows().
Array2D< Type > dlr::numeric::operator/ | ( | const Array2D< Type > & | array0, | |
const Array2D< Type > & | array1 | |||
) | [inline] |
Elementwise division of Array2D instances.
array0 | First argument for division. | |
array1 | Second argument for division. |
ValueException | thrown when array sizes differ. |
Definition at line 2073 of file array2D.h.
References dlr::numeric::Array2D< Type >::begin(), dlr::numeric::Array2D< Type >::columns(), dlr::numeric::Array2D< Type >::end(), and dlr::numeric::Array2D< Type >::rows().
Array1D< Type > dlr::numeric::operator/ | ( | Type | scalar, | |
const Array1D< Type > & | array0 | |||
) | [inline] |
Division of scalar and Array1D.
scalar | Scalar argument of the division. | |
array0 | Array1D argument of the division. |
Definition at line 1613 of file array1D.h.
References dlr::numeric::Array1D< Type >::begin(), dlr::numeric::Array1D< Type >::end(), and dlr::numeric::Array1D< Type >::size().
Array1D< Type > dlr::numeric::operator/ | ( | const Array1D< Type > & | array0, | |
Type | scalar | |||
) | [inline] |
Division of Array1D and scalar.
array0 | Array1D argument of the division. | |
scalar | Scalar argument of the division. |
Definition at line 1579 of file array1D.h.
References dlr::numeric::Array1D< Type >::begin(), dlr::numeric::Array1D< Type >::end(), and dlr::numeric::Array1D< Type >::size().
Array1D< Type > dlr::numeric::operator/ | ( | const Array1D< Type > & | array0, | |
const Array1D< Type > & | array1 | |||
) | [inline] |
Elementwise division of Array1D instances.
array0 | First argument for division. | |
array1 | Second argument for division. |
ValueException | on incompatible array sizes |
Definition at line 1531 of file array1D.h.
References dlr::numeric::Array1D< Type >::begin(), dlr::numeric::Array1D< Type >::end(), and dlr::numeric::Array1D< Type >::size().
ArrayND< Dimension, bool > dlr::numeric::operator< | ( | const ArrayND< Dimension, Type > & | array0, | |
const Type | arg | |||
) | [inline] |
Array3D< bool > dlr::numeric::operator< | ( | const Array3D< Type > & | array0, | |
Type | arg | |||
) | [inline] |
Array2D< bool > dlr::numeric::operator< | ( | const Array2D< Type > & | array0, | |
Type | arg | |||
) | [inline] |
Array1D< bool > dlr::numeric::operator< | ( | const Array1D< Type > & | array0, | |
const Type | arg | |||
) | [inline] |
std::ostream & dlr::numeric::operator<< | ( | std::ostream & | stream, | |
const Vector3D & | vector0 | |||
) |
This function outputs a text representation of a Vector3D instance to a std::ostream.
The output format looks like this:
Vector3D(1.0, 2.0, 3.0)
stream | This argument is a reference to the the output stream. | |
vector0 | This argument is a const reference to the Vector3D instance to be output. |
Definition at line 100 of file vector3D.cpp.
References dlr::numeric::Vector3D::x(), dlr::numeric::Vector3D::y(), and dlr::numeric::Vector3D::z().
std::ostream & dlr::numeric::operator<< | ( | std::ostream & | stream, | |
const Vector2D & | vector0 | |||
) |
This function outputs a text representation of a Vector2D instance to a std::ostream.
The output format looks like this:
Vector2D(1.0, 2.0)
stream | This argument is a reference to the the output stream. | |
vector0 | This argument is a const reference to the Vector2D instance to be output. |
Definition at line 82 of file vector2D.cpp.
References dlr::numeric::Vector2D::x(), and dlr::numeric::Vector2D::y().
std::ostream & dlr::numeric::operator<< | ( | std::ostream & | stream, | |
const Transform3DTo2D & | transform0 | |||
) |
Outputs a text representation of a Transform3D instance to a std::ostream.
The output format looks like this:
Transform3DTo2D(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 1.0)
stream | Reference to the the output stream. | |
transform0 | Const reference to the Transform3DTo2D instance to be output. |
Definition at line 264 of file transform3DTo2D.cpp.
References dlr::numeric::Transform3DTo2D::value().
std::ostream & dlr::numeric::operator<< | ( | std::ostream & | stream, | |
const Transform3D & | transform0 | |||
) |
Outputs a text representation of a Transform3D instance to a std::ostream.
The output format looks like this:
Transform3D(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 1.0)
stream | Reference to the the output stream. | |
transform0 | Const reference to the Transform3D instance to be output. |
Definition at line 410 of file transform3D.cpp.
References dlr::numeric::Transform3D::value().
std::ostream & dlr::numeric::operator<< | ( | std::ostream & | stream, | |
const Transform2D & | transform0 | |||
) |
Outputs a text representation of a Transform2D instance to a std::ostream.
The output format looks like this:
Transform2D(1.0, 2.0, 3.0, 5.0, 6.0, 7.0, 9.0, 10.0, 1.0)
stream | Reference to the the output stream. | |
transform0 | Const reference to the Transform2D instance to be output. |
Definition at line 289 of file transform2D.cpp.
References dlr::numeric::Transform2D::value().
std::ostream & dlr::numeric::operator<< | ( | std::ostream & | stream, | |
const SubArray2D< Type > & | subArray0 | |||
) | [inline] |
This stream output operator sends a text representation of the SubArray2D instance to the supplied stream instance.
stream | The stream to which data should be written. | |
subArray0 | The SubArray2D instance to be written. |
Definition at line 710 of file subArray2D.h.
References dlr::numeric::SubArray2D< Type >::columns(), and dlr::numeric::SubArray2D< Type >::rows().
std::ostream & dlr::numeric::operator<< | ( | std::ostream & | stream, | |
const SubArray1D< Type > & | subArray0 | |||
) | [inline] |
This stream output operator sends a text representation of the SubArray1D instance to the supplied stream instance.
stream | The stream to which data should be written. | |
subArray0 | The SubArray1D instance to be written. |
Definition at line 504 of file subArray1D.h.
References dlr::numeric::SubArray1D< Type >::size().
std::ostream & dlr::numeric::operator<< | ( | std::ostream & | stream, | |
const Index3D & | index0 | |||
) |
This function outputs a text representation of an Index3D instance to a std::ostream.
The output format looks like this:
Index3D(1.0, 2.0)
stream | This argument is a reference to the the output stream. | |
index0 | This argument is a const reference to the Index3D instance to be output. |
Definition at line 102 of file index3D.cpp.
References dlr::numeric::Index3D::getColumn(), dlr::numeric::Index3D::getRow(), and dlr::numeric::Index3D::getSlice().
std::ostream & dlr::numeric::operator<< | ( | std::ostream & | stream, | |
const Index2D & | index0 | |||
) |
This function outputs a text representation of an Index2D instance to a std::ostream.
The output format looks like this:
Index2D(1.0, 2.0)
stream | This argument is a reference to the the output stream. | |
index0 | This argument is a const reference to the Index2D instance to be output. |
Definition at line 93 of file index2D.cpp.
References dlr::numeric::Index2D::getColumn(), and dlr::numeric::Index2D::getRow().
std::ostream & dlr::numeric::operator<< | ( | std::ostream & | stream, | |
const Array3D< Type > & | array0 | |||
) | [inline] |
This operator outputs a text representation of an Array3D instance to a std::ostream.
The output format looks like this:
Array3D([[[1, 2, 4, 8, 16], [5, 1, 6, 7, 2]], [[8, 2, 4, 1, 0], [3, 3, 4, 5, 1]]])
Where the array elements are output using operator<<(std::ostream&, const Type&) and each element is separated from its neighbors by a comma and whitespace.
stream | Reference to the the output stream. | |
array0 | Const reference to the Array3D to be output. |
std::ostream & dlr::numeric::operator<< | ( | std::ostream & | stream, | |
const Array2D< Type > & | array0 | |||
) | [inline] |
Outputs a text representation of an Array2D instance to a std::ostream.
The output format looks like this:
Array2D([[1, 2, 4, 8, 16], [5, 1, 6, 7, 2]])
Where the array elements are output using operator<<(std::ostream&, const Type&) and each element is separated from its neighbors by a comma and whitespace.
stream | Reference to the the output stream. | |
array0 | Const reference to the Array2D to be output. |
std::ostream & dlr::numeric::operator<< | ( | std::ostream & | stream, | |
const Array1D< Type > & | array0 | |||
) | [inline] |
Outputs a text representation of an Array1D instance to a std::ostream.
The output format looks like this:
Array1D([1, 2, 4, 8, 16])
Where the array elements are output using operator<<(std::ostream&, const Type&) and each element is separated from its neighbors by a comma and whitespace.
stream | Reference to the the output stream. | |
array0 | const Reference to the Array1D to be output. |
IOException | on invalid stream. |
ArrayND< Dimension, bool > dlr::numeric::operator<= | ( | const ArrayND< Dimension, Type > & | array0, | |
const Type | arg | |||
) | [inline] |
Array3D< bool > dlr::numeric::operator<= | ( | const Array3D< Type > & | array0, | |
Type | arg | |||
) | [inline] |
Array2D< bool > dlr::numeric::operator<= | ( | const Array2D< Type > & | array0, | |
Type | arg | |||
) | [inline] |
Array1D< bool > dlr::numeric::operator<= | ( | const Array1D< Type > & | array0, | |
const Type | arg | |||
) | [inline] |
bool dlr::numeric::operator== | ( | const Vector3D & | vector0, | |
const Vector3D & | vector1 | |||
) |
This operator checks the supplied vectors for equality.
vector0 | First vector to compare. | |
vector1 | Second vector to compare. |
vector0
to vector1
for equality. Definition at line 86 of file vector3D.cpp.
References dlr::numeric::Vector3D::x(), dlr::numeric::Vector3D::y(), and dlr::numeric::Vector3D::z().
bool dlr::numeric::operator== | ( | const Vector2D & | vector0, | |
const Vector2D & | vector1 | |||
) |
This operator checks the supplied vectors for equality.
vector0 | First vector to compare. | |
vector1 | Second vector to compare. |
vector0
to vector1
for equality. Definition at line 69 of file vector2D.cpp.
References dlr::numeric::Vector2D::x(), and dlr::numeric::Vector2D::y().
bool dlr::numeric::operator== | ( | const Index3D & | index0, | |
const Index3D & | index1 | |||
) |
This operator checks the supplied indexs for equality.
index0
to index1
for equality. Definition at line 86 of file index3D.cpp.
References dlr::numeric::Index3D::getColumn(), dlr::numeric::Index3D::getRow(), and dlr::numeric::Index3D::getSlice().
bool dlr::numeric::operator== | ( | const Index2D & | index0, | |
const Index2D & | index1 | |||
) |
This operator checks the supplied indexs for equality.
index0
to index1
for equality. Definition at line 78 of file index2D.cpp.
References dlr::numeric::Index2D::getColumn(), and dlr::numeric::Index2D::getRow().
ArrayND< Dimension, bool > dlr::numeric::operator== | ( | const ArrayND< Dimension, Type > & | array0, | |
const ArrayND< Dimension, Type > & | arrayN | |||
) | [inline] |
Elementwise comparison of an ArrayND with another array.
array0 | An ArrayND instance. | |
arrayN | A second ArrayND instance with the same size as array0. |
Definition at line 1481 of file arrayND.h.
References dlr::numeric::ArrayND< Dimension, Type >::begin(), dlr::numeric::ArrayND< Dimension, Type >::checkDimension(), dlr::numeric::ArrayND< Dimension, Type >::end(), and dlr::numeric::ArrayND< Dimension, Type >::getShape().
ArrayND< Dimension, bool > dlr::numeric::operator== | ( | const ArrayND< Dimension, Type > & | array0, | |
const Type | arg | |||
) | [inline] |
Elementwise comparison of an ArrayND with a constant.
array0 | An ArrayND instance. | |
arg | Value to which the elements of array0 should be compared. |
Definition at line 1469 of file arrayND.h.
References dlr::numeric::ArrayND< Dimension, Type >::begin(), dlr::numeric::ArrayND< Dimension, Type >::end(), and dlr::numeric::ArrayND< Dimension, Type >::getShape().
Array3D< bool > dlr::numeric::operator== | ( | const Array3D< Type > & | array0, | |
const Array3D< Type > & | array1 | |||
) | [inline] |
Elementwise comparison of an Array3D with another array.
array0 | An Array3D instance. | |
array1 | A second Array3D instance with the same size as array0. |
Definition at line 1994 of file array3D.h.
References dlr::numeric::Array3D< Type >::begin(), dlr::numeric::Array3D< Type >::checkDimension(), dlr::numeric::Array3D< Type >::end(), dlr::numeric::Array3D< Type >::shape0(), dlr::numeric::Array3D< Type >::shape1(), and dlr::numeric::Array3D< Type >::shape2().
Array3D< bool > dlr::numeric::operator== | ( | const Array3D< Type > & | array0, | |
const Type | arg | |||
) | [inline] |
Elementwise comparison of an Array3D with a constant.
array0 | An Array3D instance. | |
arg | Value to which the elements of array0 should be compared. |
Definition at line 1982 of file array3D.h.
References dlr::numeric::Array3D< Type >::begin(), dlr::numeric::Array3D< Type >::end(), dlr::numeric::Array3D< Type >::shape0(), dlr::numeric::Array3D< Type >::shape1(), and dlr::numeric::Array3D< Type >::shape2().
Array2D< bool > dlr::numeric::operator== | ( | const Array2D< Type > & | array0, | |
const Array2D< Type > & | array1 | |||
) | [inline] |
Elementwise comparison of an Array2D with another array.
array0 | An Array2D instance. | |
array1 | A second Array2D instance with the same size as array0. |
Definition at line 2154 of file array2D.h.
References dlr::numeric::Array2D< Type >::begin(), dlr::numeric::Array2D< Type >::checkDimension(), dlr::numeric::Array2D< Type >::columns(), dlr::numeric::Array2D< Type >::end(), and dlr::numeric::Array2D< Type >::rows().
Array2D< bool > dlr::numeric::operator== | ( | const Array2D< Type > & | array0, | |
const Type | arg | |||
) | [inline] |
Elementwise comparison of an Array2D with a constant.
array0 | An Array2D instance. | |
arg | Value to which the elements of array0 should be compared. |
Definition at line 2142 of file array2D.h.
References dlr::numeric::Array2D< Type >::begin(), dlr::numeric::Array2D< Type >::columns(), dlr::numeric::Array2D< Type >::end(), and dlr::numeric::Array2D< Type >::rows().
Array1D< bool > dlr::numeric::operator== | ( | const Array1D< Type > & | array0, | |
const Array1D< Type > & | array1 | |||
) | [inline] |
Elementwise comparison of an Array1D with another array.
array0 | An Array1D instance. | |
array1 | A second Array1D instance with the same size as array0. |
Definition at line 1637 of file array1D.h.
References dlr::numeric::Array1D< Type >::begin(), dlr::numeric::Array1D< Type >::checkDimension(), dlr::numeric::Array1D< Type >::end(), and dlr::numeric::Array1D< Type >::size().
Array1D< bool > dlr::numeric::operator== | ( | const Array1D< Type > & | array0, | |
const Type | arg | |||
) | [inline] |
Elementwise comparison of an Array1D with a constant.
array0 | An Array1D instance. | |
arg | Value to which the elements of array0 should be compared. |
Definition at line 1625 of file array1D.h.
References dlr::numeric::Array1D< Type >::begin(), dlr::numeric::Array1D< Type >::end(), and dlr::numeric::Array1D< Type >::size().
ArrayND< Dimension, bool > dlr::numeric::operator> | ( | const ArrayND< Dimension, Type > & | array0, | |
const Type | arg | |||
) | [inline] |
Elementwise comparison of an ArrayND with a constant.
array0 | An ArrayND instance. | |
arg | Value to which array elements should be compared. |
Definition at line 1494 of file arrayND.h.
References dlr::numeric::ArrayND< Dimension, Type >::begin(), dlr::numeric::ArrayND< Dimension, Type >::end(), and dlr::numeric::ArrayND< Dimension, Type >::getShape().
Array3D< bool > dlr::numeric::operator> | ( | const Array3D< Type > & | array0, | |
Type | arg | |||
) | [inline] |
Elementwise comparison of Array3D with a constant.
array0 | Array3D instance. | |
arg | Value to which array0 elements should be compared. |
Definition at line 2005 of file array3D.h.
References dlr::numeric::Array3D< Type >::begin(), dlr::numeric::Array3D< Type >::end(), dlr::numeric::Array3D< Type >::shape0(), dlr::numeric::Array3D< Type >::shape1(), and dlr::numeric::Array3D< Type >::shape2().
Array2D< bool > dlr::numeric::operator> | ( | const Array2D< Type > & | array0, | |
Type | arg | |||
) | [inline] |
Elementwise comparison of Array2D with a constant.
array0 | An Array2D instance. | |
arg | Value to which the elements of array0 should be compared. |
Definition at line 2165 of file array2D.h.
References dlr::numeric::Array2D< Type >::begin(), dlr::numeric::Array2D< Type >::columns(), dlr::numeric::Array2D< Type >::end(), and dlr::numeric::Array2D< Type >::rows().
Array1D< bool > dlr::numeric::operator> | ( | const Array1D< Type > & | array0, | |
const Type | arg | |||
) | [inline] |
Elementwise comparison of an Array1D with a constant.
array0 | An Array1D instance. | |
arg | Value to which array elements should be compared. |
Definition at line 1649 of file array1D.h.
References dlr::numeric::Array1D< Type >::begin(), dlr::numeric::Array1D< Type >::end(), and dlr::numeric::Array1D< Type >::size().
ArrayND< Dimension, bool > dlr::numeric::operator>= | ( | const ArrayND< Dimension, Type > & | array0, | |
const Type | arg | |||
) | [inline] |
Elementwise comparison of an ArrayND with a constant.
array0 | An ArrayND instance. | |
arg | Value to which array elements should be compared. |
Definition at line 1505 of file arrayND.h.
References dlr::numeric::ArrayND< Dimension, Type >::begin(), dlr::numeric::ArrayND< Dimension, Type >::end(), and dlr::numeric::ArrayND< Dimension, Type >::getShape().
Array3D< bool > dlr::numeric::operator>= | ( | const Array3D< Type > & | array0, | |
Type | arg | |||
) | [inline] |
Elementwise comparison of Array3D with a constant.
array0 | Array3D instance. | |
arg | Value to which array0 elements should be compared. |
Definition at line 2025 of file array3D.h.
References dlr::numeric::Array3D< Type >::begin(), dlr::numeric::Array3D< Type >::end(), dlr::numeric::Array3D< Type >::shape0(), dlr::numeric::Array3D< Type >::shape1(), and dlr::numeric::Array3D< Type >::shape2().
Array2D< bool > dlr::numeric::operator>= | ( | const Array2D< Type > & | array0, | |
Type | arg | |||
) | [inline] |
Elementwise comparison of Array2D with a constant.
array0 | An Array2D instance. | |
arg | Value to which the elements of array0 should be compared. |
Definition at line 2183 of file array2D.h.
References dlr::numeric::Array2D< Type >::begin(), dlr::numeric::Array2D< Type >::columns(), dlr::numeric::Array2D< Type >::end(), and dlr::numeric::Array2D< Type >::rows().
Array1D< bool > dlr::numeric::operator>= | ( | const Array1D< Type > & | array0, | |
const Type | arg | |||
) | [inline] |
Elementwise comparison of an Array1D with a constant.
array0 | An Array1D instance. | |
arg | Value to which array elements should be compared. |
Definition at line 1660 of file array1D.h.
References dlr::numeric::Array1D< Type >::begin(), dlr::numeric::Array1D< Type >::end(), and dlr::numeric::Array1D< Type >::size().
std::istream & dlr::numeric::operator>> | ( | std::istream & | stream, | |
Vector3D & | vector0 | |||
) |
This function sets the value of a Vector3D instance from a std::istream.
The input format is as described for operator<<(std::ostream&, const Vector3D&) above.
stream | This argument is a reference to the the input stream from which to read. | |
vector0 | This argument is a reference to the Vector3D which will take the input. |
Definition at line 108 of file vector3D.cpp.
References dlr::numeric::Vector3D::setValue().
std::istream & dlr::numeric::operator>> | ( | std::istream & | stream, | |
Vector2D & | vector0 | |||
) |
This function sets the value of a Vector2D instance from a std::istream.
The input format is as described for operator<<(std::ostream&, const Vector2D&) above.
stream | This argument is a reference to the the input stream from which to read. | |
vector0 | This argument is a reference to the Vector2D which will take the input. |
Definition at line 89 of file vector2D.cpp.
References dlr::numeric::Vector2D::setValue().
std::istream & dlr::numeric::operator>> | ( | std::istream & | stream, | |
Transform3DTo2D & | transform0 | |||
) |
Sets the value of a Transform3DTo2D instance from a std::istream.
The input format is as described for operator<<(std::ostream&, const Transform3DTo2D&), above.
stream | Reference to the the input stream. | |
transform0 | Reference to the Transform3DTo2D that will take the input. |
Definition at line 284 of file transform3DTo2D.cpp.
References dlr::numeric::Transform3DTo2D::setTransform().
std::istream & dlr::numeric::operator>> | ( | std::istream & | stream, | |
Transform3D & | transform0 | |||
) |
Sets the value of a Transform3D instance from a std::istream.
The input format is as described for operator<<(std::ostream&, const Transform3D&), above.
stream | Reference to the the input stream. | |
transform0 | Reference to the Transform3D that will take the input. |
Definition at line 433 of file transform3D.cpp.
References dlr::numeric::Transform3D::setTransform().
std::istream & dlr::numeric::operator>> | ( | std::istream & | stream, | |
Transform2D & | transform0 | |||
) |
Sets the value of a Transform2D instance from a std::istream.
The input format is as described for operator<<(std::ostream&, const Transform2D&), above.
stream | Reference to the the input stream. | |
transform0 | Reference to the Transform2D that will take the input. |
Definition at line 306 of file transform2D.cpp.
References dlr::numeric::Transform2D::setTransform().
std::istream & dlr::numeric::operator>> | ( | std::istream & | stream, | |
Index3D & | index0 | |||
) |
This function sets the value of an Index3D instance from a std::istream.
The input format is as described for operator<<(std::ostream&, const Index3D&) above.
stream | This argument is a reference to the the input stream from which to read. | |
index0 | This argument is a reference to the Index3D which will take the input. |
Definition at line 112 of file index3D.cpp.
References dlr::numeric::Index3D::setValue().
std::istream & dlr::numeric::operator>> | ( | std::istream & | stream, | |
Index2D & | index0 | |||
) |
This function sets the value of an Index2D instance from a std::istream.
The input format is as described for operator<<(std::ostream&, const Index2D&) above.
stream | This argument is a reference to the the input stream from which to read. | |
index0 | This argument is a reference to the Index2D which will take the input. |
Definition at line 102 of file index2D.cpp.
References dlr::numeric::Index2D::setValue().
std::istream & dlr::numeric::operator>> | ( | std::istream & | stream, | |
Array3D< Type > & | array0 | |||
) | [inline] |
This operator sets the value of an Array3D instance from a std::istream.
The input format is as described for operator<<(std::ostream&, const Array3D<Type>&) above.
stream | Reference to the the input stream. | |
array0 | Reference to the Array3D which will take the input. |
Definition at line 2088 of file array3D.h.
References dlr::numeric::Array3D< Type >::readFromStream().
std::istream & dlr::numeric::operator>> | ( | std::istream & | stream, | |
Array2D< Type > & | array0 | |||
) | [inline] |
Sets the value of an Array2D instance from a std::istream.
The input format is as described for operator<<(std::ostream&, const Array2D<Type>&) above.
stream | Reference to the the input stream. | |
array0 | Reference to the Array2D which will take the input. |
Definition at line 2226 of file array2D.h.
References dlr::numeric::Array2D< Type >::readFromStream().
std::istream & dlr::numeric::operator>> | ( | std::istream & | stream, | |
Array1D< Type > & | array0 | |||
) | [inline] |
Sets the value of an Array1D instance from a std::istream.
The input format is as described for operator<<(std::ostream&, const Array1D<Type>&) above.
stream | Reference to the the input stream. | |
array0 | Reference to the Array1D which will take the input. |
Definition at line 1716 of file array1D.h.
References dlr::numeric::Array1D< Type >::readFromStream().
void dlr::numeric::solveCubic | ( | Type | c0, | |
Type | c1, | |||
Type | c2, | |||
std::complex< Type > & | root0, | |||
std::complex< Type > & | root1, | |||
std::complex< Type > & | root2 | |||
) | [inline] |
This function computes the (possibly complex) roots of the cubic polynomial x^3 + c0*x^2 + c1*x + c2 = 0.
c0 | This argument is the cubic coefficient of the polynomial. | |
c1 | This argument is the linear coefficient of the polynomial. | |
c2 | This argument is the constant coefficient of the polynomial. | |
root0 | This reference argument is used to return the first root of the polynomial. | |
root1 | This reference argument is used to return the second root of the polynomial. | |
root2 | This reference argument is used to return the third root of the polynomial. |
Definition at line 159 of file solveCubic.h.
References sqrt().
bool dlr::numeric::solveCubic | ( | Type | c0, | |
Type | c1, | |||
Type | c2, | |||
Type & | root0, | |||
Type & | root1, | |||
Type & | root2 | |||
) | [inline] |
This function computes the real roots of the cubic polynomial x^3 + c0*x^2 + c1*x + c2 = 0.
c0 | This argument is the quadratic coefficient of the polynomial. | |
c1 | This argument is the linear coefficient of the polynomial. | |
c2 | This argument is the constant coefficient of the polynomial. | |
root0 | This reference argument is used to return the first real root of the polynomial. | |
root1 | If the polynomial has three real roots, this reference argument is used to return the second root. | |
root2 | If the polynomial has three real roots, this argument is used to return the third root. |
Definition at line 105 of file solveCubic.h.
References sqrt().
Referenced by solveQuartic().
void dlr::numeric::solveQuadratic | ( | std::complex< Type > | c0, | |
std::complex< Type > | c1, | |||
std::complex< Type > & | root0, | |||
std::complex< Type > & | root1 | |||
) | [inline] |
This function computes the roots of the quadratic polynomial x^2 + c0*x + c1 = 0, where c0 and c1 are complex.
c0 | This argument is the linear coefficient of the polynomial. | |
c1 | This argument is the constant coefficient of the polynomial. | |
root0 | This reference argument is used to return the first root of the polynomial. | |
root1 | This reference argument is used to return the second root of the polynomial. |
Definition at line 185 of file solveQuadratic.h.
References sqrt().
void dlr::numeric::solveQuadratic | ( | Type | c0, | |
Type | c1, | |||
Type | c2, | |||
std::complex< Type > & | root0, | |||
std::complex< Type > & | root1 | |||
) | [inline] |
This function computes the (possibly complex) roots of the quadratic polynomial c0*x^2 + c1*x + c2 = 0.
c0 | This argument is the quadratic coefficient of the polynomial. | |
c1 | This argument is the linear coefficient of the polynomial. | |
c2 | This argument is the constant coefficient of the polynomial. | |
root0 | This reference argument is used to return the first root of the polynomial. | |
root1 | This reference argument is used to return the second root of the polynomial. |
Definition at line 160 of file solveQuadratic.h.
References sqrt().
bool dlr::numeric::solveQuadratic | ( | Type | c0, | |
Type | c1, | |||
Type | c2, | |||
Type & | root0, | |||
Type & | root1 | |||
) | [inline] |
This function computes the real roots of the quadratic polynomial c0*x^2 + c1*x + c2 = 0.
Note that the two well known versions of the quadratic formula:
x = (-c1 +|- sqrt(c1**2 - 4c0*c2)) / (2*c0)
and
x = 2*c2 / (-c1 +|- sqrt(c1**2 - 4*c0*c2))
both tend to be inaccurate when c0 and/or c2 are small, since then the quantity (-c1 +|- sqrt(c1**2 - 4*c0*c2)) gets very small and loses significance. Instead we use the form advocated by Press and Flannery (Numerical Recipes):
q = -(1/2)(c1 + sgn(c1)*sqrt(c1**2 - 4*c1*c2)) x1 = q/c0, x2 = c2/q
This is just the same as using both of the first two forms, each one for the root at which it is most numerically stable.
c0 | This argument is the quadratic coefficient of the polynomial. | |
c1 | This argument is the linear coefficient of the polynomial. | |
c2 | This argument is the constant coefficient of the polynomial. | |
root0 | If the polynomial has real roots, this reference argument is used to return the first root. | |
root1 | If the polynomial has real roots, this reference argument is used to return the second root. |
Definition at line 137 of file solveQuadratic.h.
References sqrt().
Referenced by solveQuartic().
void dlr::numeric::solveQuartic | ( | Type | c0, | |
Type | c1, | |||
Type | c2, | |||
Type | c3, | |||
std::complex< Type > & | root0, | |||
std::complex< Type > & | root1, | |||
std::complex< Type > & | root2, | |||
std::complex< Type > & | root3 | |||
) | [inline] |
This function computes the (possibly complex) roots of the quartic polynomial x^4 + c0*x^3 + c1*x^2 + c2*x + c3 = 0.
c0 | This argument is the cubic coefficient of the polynomial. | |
c1 | This argument is the quadratic coefficient of the polynomial. | |
c2 | This argument is the linear coefficient of the polynomial. | |
c3 | This argument is the constant coefficient of the polynomial. | |
root0 | This reference argument is used to return the first root of the polynomial. | |
root1 | This reference argument is used to return the second root of the polynomial. | |
root2 | This reference argument is used to return the third root of the polynomial. | |
root3 | This reference argument is used to return the fourth root of the polynomial. |
Definition at line 83 of file solveQuartic.h.
References solveCubic(), solveQuadratic(), and sqrt().
Array2D< Type > dlr::numeric::sqrt | ( | const Array2D< Type > & | array0 | ) | [inline] |
This function returns an array which is the same size as its argument, and in which the value of each element is the square root of the corresponding element of the argument.
It is really just an alias for the function squareRoot(), below.
array0 | The square root calculation will be performed for each element of this array. |
Definition at line 2000 of file array2D.h.
References squareRoot().
Referenced by bilaterate(), dlr::numeric::NormalizedCorrelator< Type >::getNormalizedCorrelation(), dlr::numeric::Quaternion::normalize(), dlr::numeric::SquareRootFunctor< Type >::operator()(), solveCubic(), solveQuadratic(), and solveQuartic().
Array2D< Type > dlr::numeric::squareRoot | ( | const Array2D< Type > & | array0 | ) | [inline] |
This function returns an array which is the same size as its argument, and in which the value of each element is the square root of the corresponding element of the argument.
array0 | The square root calculation will be performed for each element of this array. |
Definition at line 2010 of file array2D.h.
References dlr::numeric::Array2D< Type >::begin(), dlr::numeric::Array2D< Type >::columns(), dlr::numeric::Array2D< Type >::end(), and dlr::numeric::Array2D< Type >::rows().
Referenced by sqrt().
SubArray2D<Type> dlr::numeric::subArray | ( | const Array2D< Type > & | source, | |
const Slice & | rowSlice, | |||
int | column | |||
) | [inline] |
This function is just like subArray(const Array2D<Type>&, const Slice&, const Slice&), above except that it constructs a SubArray2D instance which references only selected elements _of a particular column_ in the source array.
For example, you might use the following to copy the 3 elements at the intersections of rows [0, 2, 4] and column 2 of array1 into the elements at the intersections of rows [2, 4, 6] and column 6 array0:
subArray(array0, Slice(2, 8, 2), 6) = subArray(array1, Slice(0, 6, 2), 2);
source | This argument specifies the Array2D into which to index. | |
rowSlice | A slice instance indicating the target rows. | |
column | An index indicating the target column. |
Definition at line 358 of file subArray2D.h.
SubArray2D<Type> dlr::numeric::subArray | ( | const Array2D< Type > & | source, | |
const int | row, | |||
const Slice & | columnSlice | |||
) | [inline] |
This function is just like subArray(const Array2D<Type>&, const Slice&, const Slice&), above except that it constructs a SubArray2D instance which references only selected elements _of a particular row_ in the source array.
For example, you might use the following to copy the 3 elements at the intersections of row 2 and columns [1, 2, 3] of array1 into the elements at the intersections of rows 4 and columns [3, 6, 9] of array0:
subArray(array0, 6, Slice(3, 12, 3) = subArray(array1, 2, Slice(1, 4));
source | This argument specifies the Array2D into which to index. | |
row | An index indicating the target row. | |
columnSlice | A slice instance indicating the target columns. |
Definition at line 330 of file subArray2D.h.
SubArray2D<Type> dlr::numeric::subArray | ( | const Array2D< Type > & | source, | |
const Slice & | rowSlice, | |||
const Slice & | columnSlice | |||
) | [inline] |
This is a convenience function for constructing SubArray2D instances which reference only selected elements of the source array.
Use this function when you want to modify only some of the elements of an Array2D instance. For example, you might use the following to copy the 9 elements at the intersections of rows [0, 2, 4] and columns [1, 2, 3] of array1 into the elements at the intersections of rows [2, 4, 6] and columns [3, 6, 9] of array0:
subArray(array0, Slice(2, 8, 2), Slice(3, 12, 3) = subArray(array1, Slice(0, 6, 2), Slice(1, 4));
source | This argument specifies the Array2D into which to index. | |
rowSlice | A slice instance indicating the target rows. | |
columnSlice | A slice instance indicating the target columns. |
Definition at line 302 of file subArray2D.h.
SubArray2D<Type> dlr::numeric::subArray | ( | const Array2D< Type > & | source | ) | [inline] |
This is a convenience function for constructing SubArray2D instances which reference every element of the source array.
Use this function when you want to modify every element of an Array2D instance. For example, you might use the following to copy the 9 elements at the intersections of rows [0, 2, 4] and columns [1, 2, 3] of array1 into an appropriately sized array0:
subArray(array0) = subArray(array1, Slice(0, 6, 2), Slice(1, 4));
source | This argument specifies the Array2D into which to index. |
Definition at line 277 of file subArray2D.h.
SubArray1D<Type> dlr::numeric::subArray | ( | const Array1D< Type > & | source, | |
const Slice & | rowSlice | |||
) | [inline] |
This is a convenience function for constructing SubArray1D instances which reference only selected elements of the source array.
Use this function when you want to modify only some of the elements of an Array1D instance. For example, you might use the following to copy the first, sixth, eleventh, and sixteenth elements of array1 into the second, sixth, tenth, and fourteenth elements of array0:
subArray(array0, Slice(1, 15, 4)) = subArray(array1, Slice(0, 16, 5));
source | This argument specifies the Array1D into which to index. | |
rowSlice | A slice instance indicating the target elements. |
Definition at line 264 of file subArray1D.h.
SubArray1D<Type> dlr::numeric::subArray | ( | const Array1D< Type > & | source | ) | [inline] |
This is a convenience function for constructing SubArray1D instances which reference every element of the source array.
Use this function when you want to modify every element of an Array1D instance.
source | This argument specifies the Array1D into which to index. |
Definition at line 240 of file subArray1D.h.
Referenced by dlr::numeric::SubArray1D< Type >::operator Array1D< Type >(), and dlr::numeric::SubArray2D< Type >::operator Array2D< Type >().
bool dlr::numeric::subpixelInterpolate | ( | double | centerPosition, | |
Type0 | value0, | |||
Type0 | value1, | |||
Type0 | value2, | |||
double & | extremumPosition, | |||
Type1 & | extremeValue | |||
) | [inline] |
Given pixel values in a 3x1 arrangement centerPosition, this function fits a quadratic to the values and returns the location and interpolated value of the extremum (max or min value) of the quadratic.
Note that when choosing the values of parameter centerPosition, you have to think carefully about your pixel coordinate system. It is necessary to decide whether a coordinate of 6.0 means "the center of the sixth pixel," or "On the border between the fifth and sixth pixels". We encourage the convention that the pixel at integer coordinate i has boundaries at i and (i+1). Under this convention, the center of pixel i is at coordinate (i + 0.5).
centerPosition | This argument is the coordinate of the center of the center pixel of the 3x1 neighborhood. | |
value0 | This argument is the pixel value at (centerPosition - 1). | |
value1 | This argument is the pixel value at centerPosition. | |
value2 | This argument is the pixel value at (centerPosition + 1). | |
extremumPosition | This argument returns the (subpixel) position of the recovered extremum. | |
extremeValue | This argument returns the interpolated pixel value at the recovered extremum. |
Definition at line 428 of file subpixelInterpolate.h.
bool dlr::numeric::subpixelInterpolate | ( | double | centerRowCoord, | |
double | centerColumnCoord, | |||
Type0 | value00, | |||
Type0 | value01, | |||
Type0 | value02, | |||
Type0 | value10, | |||
Type0 | value11, | |||
Type0 | value12, | |||
Type0 | value20, | |||
Type0 | value21, | |||
Type0 | value22, | |||
double & | extremumRowCoord, | |||
double & | extremumColumnCoord, | |||
Type1 & | extremeValue | |||
) | [inline] |
Given pixel values in a 3x3 array around (centerRow, centerColumn), this function fits a quadratic to the array values and returns the location and interpolated value of the extremum (max or min value) of the quadratic.
Note that when choosing the values of parameters centerRowCoord and centerColumnCoord, you have to think carefully about your pixel coordinate system. It is necessary to decide whether a row coordinate of 6.0 means "the center of the sixth row," or "On the border between the fifth and sixth rows". We encourage the convention that the pixel at integer coordinates [i, j] has corners at (i, j), (i, j+1), (i+1, j), and (i+1, j+1). Under this convention, the center of pixel [i, j] is at row coordinate (i + 0.5), column coordinate (j + 0.5).
centerRowCoord | This argument is the row coordinate of the center of the center pixel of the 3x3 neighborhood. | |
centerColumnCoord | This argument is the column coordinate of the center of the center pixels of the 3x3 neighborhood. | |
value00 | This argument is the pixel value at (centerRowCoord - 1, centerColumnCoord - 1). | |
value01 | This argument is the pixel value at (centerRowCoord - 1, centerColumnCoord). | |
value02 | This argument is the pixel value at (centerRowCoord - 1, centerColumnCoord + 1). | |
value10 | This argument is the pixel value at (centerRowCoord, centerColumnCoord - 1). | |
value11 | This argument is the pixel value at (centerRowCoord, centerColumnCoord). | |
value12 | This argument is the pixel value at (centerRowCoord, centerColumnCoord + 1). | |
value20 | This argument is the pixel value at (centerRowCoord + 1, centerColumnCoord - 1). | |
value21 | This argument is the pixel value at (centerRowCoord + 1, centerColumnCoord). | |
value22 | This argument is the pixel value at (centerRowCoord + 1, centerColumnCoord + 1). | |
extremumRowCoord | This argument returns the (subpixel) row coordinate of the recovered extremum. | |
extremumColumnCoord | This argument returns the (subpixel) column coordinate of the recovered extremum. | |
extremeValue | This argument returns the interpolated pixel value at the recovered extremum. |
Definition at line 329 of file subpixelInterpolate.h.
References getQuadraticCoefficients3x3().