Jpp  18.4.0
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Public Attributes | Friends | List of all members
JMATH::JNumber< T > Struct Template Reference

Simple wrapper around template data type to ensure that zero is the default value. More...

#include <JNumber.hh>

Inheritance diagram for JMATH::JNumber< T >:
JMATH::JMath< JNumber< T > > JLANG::JComparable< JFirst_t, JSecond_t >

Public Member Functions

 JNumber ()
 Default constructor. More...
 
 JNumber (typename JClass< T >::argument_type value)
 Constructor. More...
 
 operator const T & () const
 Type conversion. More...
 
 operator T & ()
 Type conversion. More...
 
JNumbernegate ()
 Negate number. More...
 
JNumberadd (const JNumber &number)
 Add number. More...
 
JNumbersub (const JNumber &number)
 Subtract number. More...
 
JNumbermul (const double factor)
 Scale number. More...
 
JNumberdiv (const double factor)
 Scale number. More...
 
bool less (const JNumber &number) const
 Less than. More...
 
JNumber< T > & mul (const JNullType &object)
 Multiply with object. More...
 

Public Attributes

T value
 

Friends

std::ostream & operator>> (std::ostream &in, JNumber &number)
 Read number from input stream. More...
 
std::ostream & operator<< (std::ostream &out, const JNumber &number)
 Write number to output stream. More...
 

Detailed Description

template<class T>
struct JMATH::JNumber< T >

Simple wrapper around template data type to ensure that zero is the default value.

Definition at line 32 of file JMath/JNumber.hh.

Constructor & Destructor Documentation

template<class T >
JMATH::JNumber< T >::JNumber ( )
inline

Default constructor.

Definition at line 39 of file JMath/JNumber.hh.

39  :
40  value(getZero<T>())
41  {}
template<class T >
JMATH::JNumber< T >::JNumber ( typename JClass< T >::argument_type  value)
inline

Constructor.

Parameters
valuevalue

Definition at line 49 of file JMath/JNumber.hh.

49  :
50  value(value)
51  {}

Member Function Documentation

template<class T >
JMATH::JNumber< T >::operator const T & ( ) const
inline

Type conversion.

Returns
value

Definition at line 59 of file JMath/JNumber.hh.

60  {
61  return value;
62  }
template<class T >
JMATH::JNumber< T >::operator T & ( )
inline

Type conversion.

Returns
value

Definition at line 70 of file JMath/JNumber.hh.

71  {
72  return value;
73  }
template<class T >
JNumber& JMATH::JNumber< T >::negate ( )
inline

Negate number.

Returns
this number

Definition at line 81 of file JMath/JNumber.hh.

82  {
83  value = -value;
84 
85  return *this;
86  }
template<class T >
JNumber& JMATH::JNumber< T >::add ( const JNumber< T > &  number)
inline

Add number.

Parameters
numbernumber
Returns
this number

Definition at line 95 of file JMath/JNumber.hh.

96  {
97  value += number.value;
98 
99  return *this;
100  }
template<class T >
JNumber& JMATH::JNumber< T >::sub ( const JNumber< T > &  number)
inline

Subtract number.

Parameters
numbernumber
Returns
this number

Definition at line 109 of file JMath/JNumber.hh.

110  {
111  value -= number.value;
112 
113  return *this;
114  }
template<class T >
JNumber& JMATH::JNumber< T >::mul ( const double  factor)
inline

Scale number.

Parameters
factormultiplication factor
Returns
this number

Definition at line 123 of file JMath/JNumber.hh.

124  {
125  value *= factor;
126 
127  return *this;
128  }
template<class T >
JNumber& JMATH::JNumber< T >::div ( const double  factor)
inline

Scale number.

Parameters
factordivision factor
Returns
this number

Definition at line 137 of file JMath/JNumber.hh.

138  {
139  value /= factor;
140 
141  return *this;
142  }
template<class T >
bool JMATH::JNumber< T >::less ( const JNumber< T > &  number) const
inline

Less than.

Parameters
numbernumber
Returns
true if number is less than given number; else false

Definition at line 151 of file JMath/JNumber.hh.

152  {
153  return value < number.value;
154  }
JNumber< T > & JMATH::JMath< JNumber< T > , JNullType >::mul ( const JNullType object)
inlineinherited

Multiply with object.

Parameters
objectobject
Returns
result object

Definition at line 354 of file JMath.hh.

355  {
356  return static_cast<JFirst_t&>(*this) = JFirst_t().mul(static_cast<const JFirst_t&>(*this), object);
357  }

Friends And Related Function Documentation

template<class T >
std::ostream& operator>> ( std::ostream &  in,
JNumber< T > &  number 
)
friend

Read number from input stream.

Parameters
ininput stream
numbernumber
Returns
input stream

Definition at line 164 of file JMath/JNumber.hh.

165  {
166  return in >> number.value;
167  }
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY JAcoustics sh $DETECTOR_ID source JAcousticsToolkit sh CHECK_EXIT_CODE typeset A EMITTERS get_tripods $WORKDIR tripod txt EMITTERS get_transmitters $WORKDIR transmitter txt EMITTERS for EMITTER in
Definition: JCanberra.sh:48
template<class T >
std::ostream& operator<< ( std::ostream &  out,
const JNumber< T > &  number 
)
friend

Write number to output stream.

Parameters
outoutput stream
numbernumber
Returns
output stream

Definition at line 177 of file JMath/JNumber.hh.

178  {
179  return out << number.value;
180  }

Member Data Documentation

template<class T >
T JMATH::JNumber< T >::value

Definition at line 183 of file JMath/JNumber.hh.


The documentation for this struct was generated from the following file: