zero: Added cast to float and double for consistent scalar and floatScalar initialization and assignment to 0

Zero: New global instance of zero for simple and efficient initialization and assigment of primitives to 0
This commit is contained in:
Henry Weller
2016-03-22 08:23:09 +00:00
parent ec045baafe
commit bf6f2b3ed1

View File

@ -36,6 +36,8 @@ SourceFiles
#ifndef zero_H
#define zero_H
#include "label.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
@ -51,15 +53,38 @@ public:
zero()
{}
//- Return 0 for label
inline operator label() const
{
return 0;
}
//- Return 0 for float
inline operator float() const
{
return 0;
}
//- Return 0 for double
inline operator double() const
{
return 0;
}
};
// Global zero
static const zero Zero;
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#include "zeroI.H"
#include "zeroI.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //