
| Current Path : /var/www/web-klick.de/dsh/21_finance/ |
Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 |
| Current File : /var/www/web-klick.de/dsh/21_finance/xyz.py |
# coding: utf-8
import decimal
class BigDecimal(decimal.Decimal):
""" Compatibility class for decimal.Decimal """
ROUND_DOWN = decimal.ROUND_DOWN
ROUND_UP = decimal.ROUND_UP
@classmethod
def _mk_exp(cls, prec):
return cls('0.' + '0' * prec)
def divide(self, other, scale=None, rounding=None):
if not scale and not rounding:
return BigDecimal(self / other)
if type(scale) is not int:
raise ValueError("Expected integer value for scale")
exp = BigDecimal._mk_exp(scale)
return BigDecimal((self / other).quantize(exp, rounding=rounding))
@classmethod
def valueOf(cls, value):
return cls(value)
def multiply(self, other):
return BigDecimal(self * other)
def setScale(self, scale, rounding):
exp = BigDecimal._mk_exp(scale)
return BigDecimal(self.quantize(exp, rounding=rounding))
def add(self, other):
return BigDecimal(self + other)
def subtract(self, other):
return BigDecimal(self - other)
def longValue(self):
return int(self)
def compareTo(self, other):
return BigDecimal(self.compare(other))
BigDecimal.ZERO = BigDecimal(0)
BigDecimal.ONE = BigDecimal(1)
BigDecimal.TEN = BigDecimal(10)
class xyz:
TAB1 = [BigDecimal.valueOf(0.0), BigDecimal.valueOf(0.4), BigDecimal.valueOf(0.384), BigDecimal.valueOf(0.368), BigDecimal.valueOf(0.352), BigDecimal.valueOf(0.336), BigDecimal.valueOf(0.32), BigDecimal.valueOf(0.304), BigDecimal.valueOf(0.288), BigDecimal.valueOf(0.272), BigDecimal.valueOf(0.256), BigDecimal.valueOf(0.24), BigDecimal.valueOf(0.224), BigDecimal.valueOf(0.208), BigDecimal.valueOf(0.192), BigDecimal.valueOf(0.176), BigDecimal.valueOf(0.16), BigDecimal.valueOf(0.152), BigDecimal.valueOf(0.144), BigDecimal.valueOf(0.136), BigDecimal.valueOf(0.128), BigDecimal.valueOf(0.12), BigDecimal.valueOf(0.112), BigDecimal.valueOf(0.104), BigDecimal.valueOf(0.096), BigDecimal.valueOf(0.088), BigDecimal.valueOf(0.08), BigDecimal.valueOf(0.072), BigDecimal.valueOf(0.064), BigDecimal.valueOf(0.056), BigDecimal.valueOf(0.048), BigDecimal.valueOf(0.04), BigDecimal.valueOf(0.032), BigDecimal.valueOf(0.024), BigDecimal.valueOf(0.016), BigDecimal.valueOf(0.008), BigDecimal.valueOf(0.0)]
"""
Tabelle fuer die Vomhundertsaetze des Versorgungsfreibetrags
"""
TAB2 = [BigDecimal.valueOf(0), BigDecimal.valueOf(3000), BigDecimal.valueOf(2880), BigDecimal.valueOf(2760), BigDecimal.valueOf(2640), BigDecimal.valueOf(2520), BigDecimal.valueOf(2400), BigDecimal.valueOf(2280), BigDecimal.valueOf(2160), BigDecimal.valueOf(2040), BigDecimal.valueOf(1920), BigDecimal.valueOf(1800), BigDecimal.valueOf(1680), BigDecimal.valueOf(1560), BigDecimal.valueOf(1440), BigDecimal.valueOf(1320), BigDecimal.valueOf(1200), BigDecimal.valueOf(1140), BigDecimal.valueOf(1080), BigDecimal.valueOf(1020), BigDecimal.valueOf(960), BigDecimal.valueOf(900), BigDecimal.valueOf(840), BigDecimal.valueOf(780), BigDecimal.valueOf(720), BigDecimal.valueOf(660), BigDecimal.valueOf(600), BigDecimal.valueOf(540), BigDecimal.valueOf(480), BigDecimal.valueOf(420), BigDecimal.valueOf(360), BigDecimal.valueOf(300), BigDecimal.valueOf(240), BigDecimal.valueOf(180), BigDecimal.valueOf(120), BigDecimal.valueOf(60), BigDecimal.valueOf(0)]
"""
Tabelle fuer die Hoechstbetrage des Versorgungsfreibetrags
"""
TAB3 = [BigDecimal.valueOf(0), BigDecimal.valueOf(900), BigDecimal.valueOf(864), BigDecimal.valueOf(828), BigDecimal.valueOf(792), BigDecimal.valueOf(756), BigDecimal.valueOf(720), BigDecimal.valueOf(684), BigDecimal.valueOf(648), BigDecimal.valueOf(612), BigDecimal.valueOf(576), BigDecimal.valueOf(540), BigDecimal.valueOf(504), BigDecimal.valueOf(468), BigDecimal.valueOf(432), BigDecimal.valueOf(396), BigDecimal.valueOf(360), BigDecimal.valueOf(342), BigDecimal.valueOf(324), BigDecimal.valueOf(306), BigDecimal.valueOf(288), BigDecimal.valueOf(270), BigDecimal.valueOf(252), BigDecimal.valueOf(234), BigDecimal.valueOf(216), BigDecimal.valueOf(198), BigDecimal.valueOf(180), BigDecimal.valueOf(162), BigDecimal.valueOf(144), BigDecimal.valueOf(126), BigDecimal.valueOf(108), BigDecimal.valueOf(90), BigDecimal.valueOf(72), BigDecimal.valueOf(54), BigDecimal.valueOf(36), BigDecimal.valueOf(18), BigDecimal.valueOf(0)]
"""
Tabelle fuer die Zuschlaege zum Versorgungsfreibetrag
"""
TAB4 = [BigDecimal.valueOf(0.0), BigDecimal.valueOf(0.4), BigDecimal.valueOf(0.384), BigDecimal.valueOf(0.368), BigDecimal.valueOf(0.352), BigDecimal.valueOf(0.336), BigDecimal.valueOf(0.32), BigDecimal.valueOf(0.304), BigDecimal.valueOf(0.288), BigDecimal.valueOf(0.272), BigDecimal.valueOf(0.256), BigDecimal.valueOf(0.24), BigDecimal.valueOf(0.224), BigDecimal.valueOf(0.208), BigDecimal.valueOf(0.192), BigDecimal.valueOf(0.176), BigDecimal.valueOf(0.16), BigDecimal.valueOf(0.152), BigDecimal.valueOf(0.144), BigDecimal.valueOf(0.136), BigDecimal.valueOf(0.128), BigDecimal.valueOf(0.12), BigDecimal.valueOf(0.112), BigDecimal.valueOf(0.104), BigDecimal.valueOf(0.096), BigDecimal.valueOf(0.088), BigDecimal.valueOf(0.08), BigDecimal.valueOf(0.072), BigDecimal.valueOf(0.064), BigDecimal.valueOf(0.056), BigDecimal.valueOf(0.048), BigDecimal.valueOf(0.04), BigDecimal.valueOf(0.032), BigDecimal.valueOf(0.024), BigDecimal.valueOf(0.016), BigDecimal.valueOf(0.008), BigDecimal.valueOf(0.0)]
"""
Tabelle fuer die Vomhundertsaetze des Altersentlastungsbetrags
"""
TAB5 = [BigDecimal.valueOf(0), BigDecimal.valueOf(1900), BigDecimal.valueOf(1824), BigDecimal.valueOf(1748), BigDecimal.valueOf(1672), BigDecimal.valueOf(1596), BigDecimal.valueOf(1520), BigDecimal.valueOf(1444), BigDecimal.valueOf(1368), BigDecimal.valueOf(1292), BigDecimal.valueOf(1216), BigDecimal.valueOf(1140), BigDecimal.valueOf(1064), BigDecimal.valueOf(988), BigDecimal.valueOf(912), BigDecimal.valueOf(836), BigDecimal.valueOf(760), BigDecimal.valueOf(722), BigDecimal.valueOf(684), BigDecimal.valueOf(646), BigDecimal.valueOf(608), BigDecimal.valueOf(570), BigDecimal.valueOf(532), BigDecimal.valueOf(494), BigDecimal.valueOf(456), BigDecimal.valueOf(418), BigDecimal.valueOf(380), BigDecimal.valueOf(342), BigDecimal.valueOf(304), BigDecimal.valueOf(266), BigDecimal.valueOf(228), BigDecimal.valueOf(190), BigDecimal.valueOf(152), BigDecimal.valueOf(114), BigDecimal.valueOf(76), BigDecimal.valueOf(38), BigDecimal.valueOf(0)]
"""
Tabelle fuer die Hoechstbetraege des Altersentlastungsbetrags
"""
ZAHL1 = BigDecimal.ONE
"""
Zahlenkonstanten fuer im Plan oft genutzte BigDecimal Werte
"""
ZAHL2 = BigDecimal(2)
ZAHL5 = BigDecimal(5)
ZAHL7 = BigDecimal(7)
ZAHL12 = BigDecimal(12)
ZAHL100 = BigDecimal(100)
ZAHL360 = BigDecimal(360)
ZAHL500 = BigDecimal(500)
ZAHL700 = BigDecimal(700)
ZAHL1000 = BigDecimal(1000)
ZAHL10000 = BigDecimal(10000)
def __init__(self, **kwargs):
# input variables