Equality operator added
This commit is contained in:
parent
6dd69e6dd8
commit
44ade75e00
@ -2,12 +2,14 @@ from esbo_etc.lib.helpers import error
|
|||||||
import numpy as np
|
import numpy as np
|
||||||
from scipy.integrate import cumtrapz
|
from scipy.integrate import cumtrapz
|
||||||
import astropy.units as u
|
import astropy.units as u
|
||||||
|
import math
|
||||||
|
|
||||||
|
|
||||||
class SpectralQty:
|
class SpectralQty:
|
||||||
"""
|
"""
|
||||||
A class to hold and work with spectral quantities
|
A class to hold and work with spectral quantities
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self, wl: u.Quantity, qty: u.Quantity):
|
def __init__(self, wl: u.Quantity, qty: u.Quantity):
|
||||||
"""
|
"""
|
||||||
Initialize a new spectral quantity
|
Initialize a new spectral quantity
|
||||||
@ -22,6 +24,24 @@ class SpectralQty:
|
|||||||
self.wl = wl
|
self.wl = wl
|
||||||
self.qty = qty
|
self.qty = qty
|
||||||
|
|
||||||
|
def __eq__(self, other) -> bool:
|
||||||
|
"""
|
||||||
|
Check if this object is equal to another object
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
----------
|
||||||
|
other : SpectralQty
|
||||||
|
Object to compare with
|
||||||
|
|
||||||
|
Returns
|
||||||
|
-------
|
||||||
|
res : bool
|
||||||
|
Result of the comparison
|
||||||
|
"""
|
||||||
|
return self.wl.unit == other.wl.unit and self.qty.unit == other.qty.unit and \
|
||||||
|
all([math.isclose(x, y, rel_tol=1e-5) for x, y in zip(self.wl.value, other.wl.value)]) and \
|
||||||
|
all([math.isclose(x, y, rel_tol=1e-5) for x, y in zip(self.qty.value, other.qty.value)])
|
||||||
|
|
||||||
def add(self, sqty: "SpectralQty"):
|
def add(self, sqty: "SpectralQty"):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user