-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathexample_string.php
More file actions
51 lines (36 loc) · 2.09 KB
/
example_string.php
File metadata and controls
51 lines (36 loc) · 2.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?php
require_once 'vendor/autoload.php';
use GryfOSS\Odds\OddsFactory;
use GryfOSS\Odds\OddsLadder;
use GryfOSS\Odds\CustomOddsLadder;
echo "=== String-based Decimal Odds System ===\n\n";
// 1. Default conversion (mathematical)
$factory = new OddsFactory();
echo "1. Default mathematical conversion:\n";
$odds = $factory->fromDecimal('2.50');
echo "Decimal: {$odds->getDecimal()}, Fractional: {$odds->getFractional()}, Moneyline: {$odds->getMoneyline()}, Probability: {$odds->getProbability()}%\n\n";
// 2. Standard odds ladder conversion
$standardLadder = new OddsLadder();
var_dump($standardLadder->decimalToFractional('1.025'));
$factoryWithLadder = new OddsFactory($standardLadder);
echo "2. Standard odds ladder conversion:\n";
$odds = $factoryWithLadder->fromDecimal('2.50');
echo "Decimal: {$odds->getDecimal()}, Fractional: {$odds->getFractional()}, Moneyline: {$odds->getMoneyline()}, Probability: {$odds->getProbability()}%\n\n";
// 3. Custom odds ladder conversion
$customLadder = new CustomOddsLadder();
$factoryWithCustom = new OddsFactory($customLadder);
echo "3. Custom odds ladder conversion:\n";
$odds = $factoryWithCustom->fromDecimal('1.90');
echo "Decimal: {$odds->getDecimal()}, Fractional: {$odds->getFractional()}, Moneyline: {$odds->getMoneyline()}, Probability: {$odds->getProbability()}%\n\n";
// 4. Test precision with high precision input
echo "4. High precision test:\n";
$odds = $factory->fromDecimal('2.33333333');
echo "Input: 2.33333333 -> Normalized: {$odds->getDecimal()}, Probability: {$odds->getProbability()}%\n\n";
// 5. Test from fractional and moneyline
echo "5. From fractional (3/2):\n";
$odds = $factory->fromFractional(3, 2);
echo "Decimal: {$odds->getDecimal()}, Fractional: {$odds->getFractional()}, Moneyline: {$odds->getMoneyline()}, Probability: {$odds->getProbability()}%\n\n";
echo "6. From moneyline (+150):\n";
$odds = $factory->fromMoneyline('150');
echo "Decimal: {$odds->getDecimal()}, Fractional: {$odds->getFractional()}, Moneyline: {$odds->getMoneyline()}, Probability: {$odds->getProbability()}%\n\n";
echo "All calculations performed using bcmath for precision!\n";