def _chobrut(choi, csg_rempl, _defaultP): ''' Calcule les allocations chômage brute à partir des allocations imposables ''' P = _defaultP.csg.chom plaf_ss = 12 * _defaultP.cotsoc.gen.plaf_ss csg = scaleBaremes(BaremeDict('csg', P), plaf_ss) taux_plein = csg['plein']['deduc'] taux_reduit = csg['reduit']['deduc'] chom_plein = taux_plein.inverse() chom_reduit = taux_reduit.inverse() chobrut = (csg_rempl == 1) * choi + (csg_rempl == 2) * chom_reduit.calc(choi) + (csg_rempl == 3) * chom_plein.calc(choi) isexo = exo_csg_chom(chobrut, csg_rempl, _defaultP) chobrut = not_(isexo) * chobrut + (isexo) * choi return chobrut
def _chobrut_from_chonet(chonet, csg_rempl, _defaultP): ''' Calcule les allocations chômage brute à partir des allocations imposables ''' P = _defaultP.csg.chom plaf_ss = 12 * _defaultP.cotsoc.gen.plaf_ss csg = scale_tax_scales(TaxScaleDict('csg', P), plaf_ss) crds = scale_tax_scales(_defaultP.crds.rst, plaf_ss) # crds.rst est la CRDS sur les revenus de remplacement donc valable aussi pour le chômage taux_plein = combine_tax_scales(csg['plein']) taux_reduit = combine_tax_scales(csg['reduit']) taux_plein.add_tax_scale(crds) taux_reduit.add_tax_scale(crds) chom_plein = taux_plein.inverse() chom_reduit = taux_reduit.inverse() chobrut = (csg_rempl == 1) * chonet + (csg_rempl == 2) * chom_reduit.calc(chonet) + (csg_rempl == 3) * chom_plein.calc(chonet) isexo = exo_csg_chom(chobrut, csg_rempl, _defaultP) chobrut = not_(isexo) * chobrut + (isexo) * chonet return chobrut