Files
SGF/scripts/sgf-included-policy-preview.php
2026-11-11 09:00:17 +02:00

7 lines
1.2 KiB
PHP

<?php
// Review aid only: no Laravel bootstrap, database, profile or document changes.
require dirname(__DIR__).'/vendor/autoload.php';
use Brick\Math\{BigRational,RoundingMode};
$cases=[];foreach(['1160','100']as$gross){$g=BigRational::of($gross);$base=$g->dividedBy('1.16');$tax=$g->minus($base);$taxDoc=$tax->toScale(2,RoundingMode::Down);$baseDoc=$g->minus(BigRational::of((string)$taxDoc))->toScale(2);$cases[]=['mode'=>'gross_included','gross'=>$gross,'base_exact_fraction'=>(string)$base->simplified(),'tax_exact_fraction'=>(string)$tax->simplified(),'base_document'=>(string)$baseDoc,'tax_document'=>(string)$taxDoc,'tax_difference_fraction'=>(string)$tax->minus(BigRational::of((string)$taxDoc))->simplified(),'base_difference_fraction'=>(string)BigRational::of((string)$baseDoc)->minus($base)->simplified()];}
if($cases[1]['base_document']!=='86.21'||$cases[1]['tax_document']!=='13.79'||$cases[1]['tax_difference_fraction']!=='9/2900')throw new LogicException('Proposed policy example mismatch');echo json_encode(['proposal_only'=>true,'requires_policy_decision'=>true,'rate_is_artificial'=>true,'database_writes'=>0,'new_rights'=>0,'cases'=>$cases],JSON_PRETTY_PRINT|JSON_UNESCAPED_UNICODE).PHP_EOL;