Skip to content
Snippets Groups Projects
Select Git revision
  • c5813785fee6e26c385bfe7fc703057676435b38
  • master default protected
  • replication_test
  • 559-i18n-labels-for-pids
  • 556-usage-statistics
  • 553-semantic-recommendation-2
  • release-1.10 protected
  • dev protected
  • 553-semantic-recommendation
  • release-1.9 protected
  • 551-init-broker-service-permissions
  • 549-test-oai-pmh
  • 545-saving-multiple-times-breaks-pid-metadata
  • 499-standalone-compute-service-2
  • 539-load-tests
  • hotfix/helm-chart
  • luca_ba_new_interface
  • 534-bug-when-adding-access-to-user-that-is-not-registered-at-dashboard-service
  • release-1.8 protected
  • 533-integrate-semantic-recommendation
  • feature/openshift
  • v1.10.3 protected
  • v1.10.2 protected
  • v1.10.1 protected
  • v1.10.0-rc13 protected
  • v1.10.0-rc12 protected
  • v1.10.0-rc11 protected
  • v1.10.0-rc10 protected
  • v1.10.0-rc9 protected
  • v1.10.0-rc8 protected
  • v1.10.0-rc7 protected
  • v1.10.0-rc6 protected
  • v1.10.0-rc5 protected
  • v1.10.0-rc4 protected
  • v1.10.0-rc3 protected
  • v1.10.0-rc2 protected
  • v1.10.0rc1 protected
  • v1.10.0rc0 protected
  • v1.10.0 protected
  • v1.9.3 protected
  • v1.9.2 protected
41 results

setup-schema.sql

Blame
  • dimension.py 2.37 KiB
    from omlib.exceptions.dimensionexception import DimensionalException
    
    
    class Dimension:
    
        def __init__(self, T=0, L=0, M=0, I=0, Theta=0, N=0, J=0):
            self.T = T
            self.L = L
            self.M = M
            self.I = I
            self.Theta = Theta
            self.N = N
            self.J = J
    
        def time_dimension_exponent(self):
            return self.T
    
        def length_dimension_exponent(self):
            return self.L
    
        def mass_dimension_exponent(self):
            return self.M
    
        def electric_current_dimension_exponent(self):
            return self.I
    
        def thermodynamic_temperature_dimension_exponent(self):
            return self.Theta
    
        def amount_of_substance_dimension_exponent(self):
            return self.N
    
        def luminous_intensity_dimension_exponent(self):
            return self.J
    
        def __eq__(self, other):
            return (self.T == other.T and self.L == other.L and self.M == other.M and self.I == other.I and
                    self.Theta == other.Theta and self.N == other.N and self.J == other.J)
    
        def __str__(self):
            return f'(T={self.T}, L={self.L}, M={self.M}, I={self.I}, θ={self.Theta}, N={self.N}, J={self.J})'
    
        def __add__(self, other):
            if not self == other:
                raise DimensionalException("Entities of different dimensions cannot be added together. {} != {}"
                                           .format(self, other))
            return self
    
        def __sub__(self, other):
            if not self == other:
                raise DimensionalException("Entities of different dimensions cannot be subtracted from each other. {} != {}"
                                           .format(self, other))
            return self
    
        def __mul__(self, other):
            return Dimension(self.T + other.T, self.L + other.L, self.M + other.M, self.I + other.I,
                             self.Theta + other.Theta, self.N + other.N, self.J + other.J)
    
        def __truediv__(self, other):
            return Dimension(self.T - other.T, self.L - other.L, self.M - other.M, self.I - other.I,
                             self.Theta - other.Theta, self.N - other.N, self.J - other.J)
    
        @staticmethod
        def pow(base, exponent):
            if isinstance(base, Dimension):
                return Dimension(base.T * exponent, base.L * exponent, base.M * exponent, base.I * exponent,
                                 base.Theta * exponent, base.N * exponent, base.J * exponent)
            else:
                return Dimension()