7 lines
1.2 KiB
PHP
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;
|