The Gaudi Framework  master (123e188a)
Loading...
Searching...
No Matches
GaudiConfig2.semantics.IntSemantics Class Reference
Inheritance diagram for GaudiConfig2.semantics.IntSemantics:
Collaboration diagram for GaudiConfig2.semantics.IntSemantics:

Public Member Functions

 store (self, value)
Public Member Functions inherited from GaudiConfig2.semantics.PropertySemantics
 __init__ (self, cpp_type)
 name (self)
 name (self, value)
 cpp_type (self)
 cpp_type (self, value)
 load (self, value)
 is_set (self, value)
 opt_value (self, value)
 merge (self, a, b)

Static Public Attributes

dict INT_RANGES

Static Private Attributes

 __handled_types__ = tuple(INT_RANGES)

Additional Inherited Members

Public Attributes inherited from GaudiConfig2.semantics.PropertySemantics
 cpp_type = cpp_type
Protected Attributes inherited from GaudiConfig2.semantics.PropertySemantics
 _name = None
 _cpp_type = value

Detailed Description

Definition at line 211 of file semantics.py.

Member Function Documentation

◆ store()

GaudiConfig2.semantics.IntSemantics.store ( self,
value )
Validation/transformation of the data to be stored.

Reimplemented from GaudiConfig2.semantics.PropertySemantics.

Definition at line 232 of file semantics.py.

232 def store(self, value):
233 from numbers import Number
234
235 if not isinstance(value, Number):
236 raise TypeError(
237 f"number expected, got {value!r} in assignment to {self.name}"
238 )
239 v = int(value)
240 if v != value:
241 _log.warning("converted %s to %d in assignment to %s", value, v, self.name)
242 min_value, max_value = self.INT_RANGES[self.cpp_type]
243 if v < min_value or v > max_value:
244 raise ValueError(
245 f"value {v} outside limits for {self.cpp_type!r} {self.INT_RANGES[self.cpp_type]}"
246 )
247 return v
248
249

Member Data Documentation

◆ __handled_types__

GaudiConfig2.semantics.IntSemantics.__handled_types__ = tuple(INT_RANGES)
staticprivate

Definition at line 230 of file semantics.py.

◆ INT_RANGES

dict GaudiConfig2.semantics.IntSemantics.INT_RANGES
static
Initial value:
= {
"signed char": (-128, 127),
"short": (-32768, 32767),
"int": (-2147483648, 2147483647),
"long": (
(-9223372036854775808, 9223372036854775807)
if is_64bits
else (-2147483648, 2147483647)
),
"long long": (-9223372036854775808, 9223372036854775807),
"unsigned char": (0, 255),
"unsigned short": (0, 65535),
"unsigned int": (0, 4294967295),
"unsigned long": (0, 18446744073709551615 if is_64bits else 4294967295),
"unsigned long long": (0, 18446744073709551615),
}

Definition at line 213 of file semantics.py.


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