ArrayQuantity

class openff.interchange.types.ArrayQuantity(x=0, /)[source]

A model for unit-bearing arrays.

Attributes

imag

the imaginary part of a complex number

real

the real part of a complex number

Methods

__init__()

as_integer_ratio()

Return integer ratio.

conjugate()

Return self, the complex conjugate of any float.

fromhex()

Create a floating-point number from a hexadecimal string.

hex()

Return a hexadecimal representation of a floating-point number.

is_integer()

Return True if the float is an integer.

validate_type(val)

Process an array tagged with units into one tagged with "OpenFF" style units.

__init__()
as_integer_ratio()

Return integer ratio.

Return a pair of integers, whose ratio is exactly equal to the original float and with a positive denominator.

Raise OverflowError on infinities and a ValueError on NaNs.

>>> (10.0).as_integer_ratio()
(10, 1)
>>> (0.0).as_integer_ratio()
(0, 1)
>>> (-.25).as_integer_ratio()
(-1, 4)
conjugate()

Return self, the complex conjugate of any float.

fromhex()

Create a floating-point number from a hexadecimal string.

>>> float.fromhex('0x1.ffffp10')
2047.984375
>>> float.fromhex('-0x1p-1074')
-5e-324
hex()

Return a hexadecimal representation of a floating-point number.

>>> (-0.1).hex()
'-0x1.999999999999ap-4'
>>> 3.14159.hex()
'0x1.921f9f01b866ep+1'
is_integer()

Return True if the float is an integer.

classmethod validate_type(val)[source]

Process an array tagged with units into one tagged with “OpenFF” style units.