@ -10,7 +10,7 @@
namespace mrmc {
namespace mrmc {
namespace misc {
namespace utility {
/*!
/*!
* Returns a constant value of 0 that is fit to the type it is being written to .
* Returns a constant value of 0 that is fit to the type it is being written to .
@ -19,20 +19,19 @@ namespace misc {
*
*
* < b > Parameter < / b >
* < b > Parameter < / b >
*
*
* The parameter is a pointer which is used to infer the return type ( So , if you want
* the return value to be of type double , the parameter has to be of type double * ) .
* In most cases , it is a good choice to use the address of the variable that is to be
* set .
* The parameter is a reference which is used to infer the return type ( So , if you want
* the return value to be of type double , the parameter has to be a double variable ) .
* In most cases , it is a good choice to use the the variable that is to be set .
*/
*/
template < typename _Scalar >
template < typename _Scalar >
static inline _Scalar constGetZero ( _Scalar * ) {
static inline _Scalar constGetZero ( _Scalar & ) {
return _Scalar ( 0 ) ;
return _Scalar ( 0 ) ;
}
}
/*! @cond TEMPLATE_SPECIALIZATION
/*! @cond TEMPLATE_SPECIALIZATION
* ( exclude the specializations from the documentation ) */
* ( exclude the specializations from the documentation ) */
template < >
template < >
inline int_fast32_t constGetZero ( int_fast32_t * ) {
inline int_fast32_t constGetZero ( int_fast32_t & ) {
return 0 ;
return 0 ;
}
}
@ -40,7 +39,7 @@ inline int_fast32_t constGetZero(int_fast32_t*) {
* Specialization of constGetZero for int_fast32_t
* Specialization of constGetZero for int_fast32_t
*/
*/
template < >
template < >
inline double constGetZero ( double * ) {
inline double constGetZero ( double & ) {
return 0.0 ;
return 0.0 ;
}
}
/*! @endcond */
/*! @endcond */
@ -52,30 +51,28 @@ inline double constGetZero(double*) {
*
*
* < b > Parameter < / b >
* < b > Parameter < / b >
*
*
* The parameter is a pointer which is used to infer the return type ( So , if you want
* the return value to be of type double , the parameter has to be of type double * ) .
* In most cases , it is a good choice to use the address of the variable that is to be
* set .
*/
* The parameter is a reference which is used to infer the return type ( So , if you want
* the return value to be of type double , the parameter has to be a double variable ) .
* In most cases , it is a good choice to use the the variable that is to be set . */
template < typename _Scalar >
template < typename _Scalar >
static inline _Scalar constGetOne ( _Scalar * ) {
static inline _Scalar constGetOne ( _Scalar & ) {
return _Scalar ( 1 ) ;
return _Scalar ( 1 ) ;
}
}
/*! @cond TEMPLATE_SPECIALIZATION
/*! @cond TEMPLATE_SPECIALIZATION
* ( exclude the specializations from the documentation ) */
* ( exclude the specializations from the documentation ) */
template < >
template < >
inline int_fast32_t constGetOne ( int_fast32_t * ) {
inline int_fast32_t constGetOne ( int_fast32_t & ) {
return 1 ;
return 1 ;
}
}
template < >
template < >
inline double constGetOne ( double * ) {
inline double constGetOne ( double & ) {
return 1.0 ;
return 1.0 ;
}
}
/*! @endcond */
/*! @endcond */
} / / namespace misc
} / / namespace utility
} / / namespace mrmc
} / / namespace mrmc