Lines Matching refs:Scalar
36 union Scalar
42 Scalar (void) : intVal (0) {}
43 Scalar (float v) : floatVal (v) {}
44 Scalar (int v) : intVal (v) {}
45 Scalar (bool v) : boolVal (v) {}
48 bool operator== (Scalar other) const { return intVal == other.intVal; }
49 bool operator!= (Scalar other) const { return intVal != other.intVal; }
51 template <typename T> static Scalar min (void);
52 template <typename T> static Scalar max (void);
57 DE_STATIC_ASSERT(sizeof(Scalar) == sizeof(deUint32));
59 template <> inline Scalar Scalar::min<float> (void) { return Scalar((int)0xff800000); }
60 template <> inline Scalar Scalar::max<float> (void) { return Scalar((int)0x7f800000); }
61 template <> inline Scalar Scalar::min<int> (void) { return Scalar((int)0x80000000); }
62 template <> inline Scalar Scalar::max<int> (void) { return Scalar((int)0x7fffffff); }
63 template <> inline Scalar Scalar::min<bool> (void) { return Scalar(false); }
64 template <> inline Scalar Scalar::max<bool> (void) { return Scalar(true); }
66 template <> inline float Scalar::as<float> (void) const { return floatVal; }
67 template <> inline float& Scalar::as<float> (void) { return floatVal; }
68 template <> inline int Scalar::as<int> (void) const { return intVal; }
69 template <> inline int& Scalar::as<int> (void) { return intVal; }
70 template <> inline bool Scalar::as<bool> (void) const { return boolVal; }
71 template <> inline bool& Scalar::as<bool> (void) { return boolVal; }
77 StridedValueRead (const VariableType& type, const Scalar* value) : m_type(type), m_value(value) {}
80 const Scalar* getValuePtr (void) const { return m_value; }
84 const Scalar* m_value;
92 ConstStridedValueAccess (const VariableType& type, const Scalar* valuePtr) : m_type(&type), m_value(const_cast<Scalar*>(valuePtr)) {}
104 Scalar asScalar (void) const { DE_STATIC_ASSERT(Stride == 1); return *m_value; }
109 Scalar asScalar (int ndx) const { DE_ASSERT(de::inBounds(ndx, 0, Stride)); return m_value[ndx]; }
119 Scalar* m_value; // \note Non-const internal pointer is used so that ValueAccess can extend this class with RW access
127 StridedValueAccess (const VariableType& type, Scalar* valuePtr) : ConstStridedValueAccess<Stride>(type, valuePtr) {}
137 Scalar& asScalar (void) { DE_STATIC_ASSERT(Stride == 1); return *this->m_value; }
142 Scalar& asScalar (int ndx) { DE_ASSERT(de::inBounds(ndx, 0, Stride)); return this->m_value[ndx]; }
156 StridedValueAccess& operator= (Scalar val) { asScalar() = val; return *this; }
201 ConstValueRangeAccess (const VariableType& type, const Scalar* minVal, const Scalar* maxVal) : m_type(&type), m_min(const_cast<Scalar*>(minVal)), m_max(const_cast<Scalar*>(maxVal)) {}
219 Scalar* m_min; // \note See note in ConstValueAccess
220 Scalar* m_max;
243 ValueRangeAccess (const VariableType& type, Scalar* minVal, Scalar* maxVal) : ConstValueRangeAccess(type, minVal, maxVal) {}
276 ValueRange (const VariableType& type, const Scalar* minVal, const Scalar* maxVal);
298 const Scalar* getMinPtr (void) const { return m_min.empty() ? DE_NULL : &m_min[0]; }
299 const Scalar* getMaxPtr (void) const { return m_max.empty() ? DE_NULL : &m_max[0]; }
301 Scalar* getMinPtr (void) { return m_min.empty() ? DE_NULL : &m_min[0]; }
302 Scalar* getMaxPtr (void) { return m_max.empty() ? DE_NULL : &m_max[0]; }
305 std::vector<Scalar> m_min;
306 std::vector<Scalar> m_max;
325 std::vector<Scalar> m_value;