Move to DNW namespace

This commit is contained in:
Alex Wulf 2022-07-05 15:33:34 +02:00
parent a99a73e02c
commit 812e454dd4
77 changed files with 536 additions and 361 deletions

@ -1,35 +1,21 @@
{ {
"name": "phpskills/phpskills", "name": "dnw/php-trueskill",
"description": "Implementation of Microsoft's TrueSkill matchmaking system for PHP",
"keywords": ["trueskill", "matchmaking", "ranking", "skill", "elo"], "keywords": ["trueskill", "matchmaking", "ranking", "skill", "elo"],
"homepage": "https://github.com/moserware/PHPSkills",
"version": "1.0.0", "version": "1.0.0",
"authors": [
{
"name": "Jeff Moser",
"email": "jeff@moserware.com",
"role": "Creator"
},
{
"name": "Alexander Liljengård",
"email": "alexander@paxxmedia.se",
"role": "Contributor"
}
],
"require": { "require": {
"php": ">=5.3.0" "php": "^8.1"
}, },
"require-dev": { "require-dev": {
"phpunit/phpunit": "~4.0" "phpunit/phpunit": "~4.0"
}, },
"autoload": { "autoload": {
"psr-4": { "psr-4": {
"Moserware\\Skills\\": "src/" "DNW\\Skills\\": "src/"
} }
}, },
"autoload-dev": { "autoload-dev": {
"psr-4": { "psr-4": {
"Moserware\\Skills\\Tests\\": "tests/" "DNW\\Skills\\Tests\\": "tests/"
} }
} }
} }

359
composer.lock generated

@ -1,43 +1,40 @@
{ {
"_readme": [ "_readme": [
"This file locks the dependencies of your project to a known state", "This file locks the dependencies of your project to a known state",
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically" "This file is @generated automatically"
], ],
"hash": "ca336cd0f49a8c9a484b63e136d9d56f", "content-hash": "8bdf9d30bce45e34bf0b58a01c2c92f3",
"content-hash": "3234f646e10fd3a36d2c43cec6d54677",
"packages": [], "packages": [],
"packages-dev": [ "packages-dev": [
{ {
"name": "doctrine/instantiator", "name": "doctrine/instantiator",
"version": "1.0.5", "version": "1.4.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/doctrine/instantiator.git", "url": "https://github.com/doctrine/instantiator.git",
"reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" "reference": "10dcfce151b967d20fde1b34ae6640712c3891bc"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", "url": "https://api.github.com/repos/doctrine/instantiator/zipball/10dcfce151b967d20fde1b34ae6640712c3891bc",
"reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", "reference": "10dcfce151b967d20fde1b34ae6640712c3891bc",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=5.3,<8.0-DEV" "php": "^7.1 || ^8.0"
}, },
"require-dev": { "require-dev": {
"athletic/athletic": "~0.1.8", "doctrine/coding-standard": "^9",
"ext-pdo": "*", "ext-pdo": "*",
"ext-phar": "*", "ext-phar": "*",
"phpunit/phpunit": "~4.0", "phpbench/phpbench": "^0.16 || ^1",
"squizlabs/php_codesniffer": "~2.0" "phpstan/phpstan": "^1.4",
"phpstan/phpstan-phpunit": "^1",
"phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
"vimeo/psalm": "^4.22"
}, },
"type": "library", "type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.0.x-dev"
}
},
"autoload": { "autoload": {
"psr-4": { "psr-4": {
"Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
@ -51,29 +48,47 @@
{ {
"name": "Marco Pivetta", "name": "Marco Pivetta",
"email": "ocramius@gmail.com", "email": "ocramius@gmail.com",
"homepage": "http://ocramius.github.com/" "homepage": "https://ocramius.github.io/"
} }
], ],
"description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
"homepage": "https://github.com/doctrine/instantiator", "homepage": "https://www.doctrine-project.org/projects/instantiator.html",
"keywords": [ "keywords": [
"constructor", "constructor",
"instantiate" "instantiate"
], ],
"time": "2015-06-14 21:17:01" "support": {
"issues": "https://github.com/doctrine/instantiator/issues",
"source": "https://github.com/doctrine/instantiator/tree/1.4.1"
},
"funding": [
{
"url": "https://www.doctrine-project.org/sponsorship.html",
"type": "custom"
},
{
"url": "https://www.patreon.com/phpdoctrine",
"type": "patreon"
},
{
"url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator",
"type": "tidelift"
}
],
"time": "2022-03-03T08:28:38+00:00"
}, },
{ {
"name": "phpdocumentor/reflection-docblock", "name": "phpdocumentor/reflection-docblock",
"version": "2.0.4", "version": "2.0.5",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
"reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8" "reference": "e6a969a640b00d8daa3c66518b0405fb41ae0c4b"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/d68dbdc53dc358a816f00b300704702b2eaff7b8", "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/e6a969a640b00d8daa3c66518b0405fb41ae0c4b",
"reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8", "reference": "e6a969a640b00d8daa3c66518b0405fb41ae0c4b",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -109,28 +124,30 @@
"email": "mike.vanriel@naenius.com" "email": "mike.vanriel@naenius.com"
} }
], ],
"time": "2015-02-03 12:10:50" "support": {
"issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues",
"source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/release/2.x"
},
"time": "2016-01-25T08:17:30+00:00"
}, },
{ {
"name": "phpspec/prophecy", "name": "phpspec/prophecy",
"version": "v1.6.0", "version": "v1.5.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/phpspec/prophecy.git", "url": "https://github.com/phpspec/prophecy.git",
"reference": "3c91bdf81797d725b14cb62906f9a4ce44235972" "reference": "4745ded9307786b730d7a60df5cb5a6c43cf95f7"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/phpspec/prophecy/zipball/3c91bdf81797d725b14cb62906f9a4ce44235972", "url": "https://api.github.com/repos/phpspec/prophecy/zipball/4745ded9307786b730d7a60df5cb5a6c43cf95f7",
"reference": "3c91bdf81797d725b14cb62906f9a4ce44235972", "reference": "4745ded9307786b730d7a60df5cb5a6c43cf95f7",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"doctrine/instantiator": "^1.0.2", "doctrine/instantiator": "^1.0.2",
"php": "^5.3|^7.0",
"phpdocumentor/reflection-docblock": "~2.0", "phpdocumentor/reflection-docblock": "~2.0",
"sebastian/comparator": "~1.1", "sebastian/comparator": "~1.1"
"sebastian/recursion-context": "~1.0"
}, },
"require-dev": { "require-dev": {
"phpspec/phpspec": "~2.0" "phpspec/phpspec": "~2.0"
@ -138,7 +155,7 @@
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "1.5.x-dev" "dev-master": "1.4.x-dev"
} }
}, },
"autoload": { "autoload": {
@ -171,7 +188,11 @@
"spy", "spy",
"stub" "stub"
], ],
"time": "2016-02-15 07:46:21" "support": {
"issues": "https://github.com/phpspec/prophecy/issues",
"source": "https://github.com/phpspec/prophecy/tree/master"
},
"time": "2015-08-13T10:07:40+00:00"
}, },
{ {
"name": "phpunit/php-code-coverage", "name": "phpunit/php-code-coverage",
@ -233,20 +254,25 @@
"testing", "testing",
"xunit" "xunit"
], ],
"time": "2015-10-06 15:47:00" "support": {
"irc": "irc://irc.freenode.net/phpunit",
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
"source": "https://github.com/sebastianbergmann/php-code-coverage/tree/2.2"
},
"time": "2015-10-06T15:47:00+00:00"
}, },
{ {
"name": "phpunit/php-file-iterator", "name": "phpunit/php-file-iterator",
"version": "1.4.1", "version": "1.4.5",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sebastianbergmann/php-file-iterator.git", "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
"reference": "6150bf2c35d3fc379e50c7602b75caceaa39dbf0" "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/6150bf2c35d3fc379e50c7602b75caceaa39dbf0", "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/730b01bc3e867237eaac355e06a36b85dd93a8b4",
"reference": "6150bf2c35d3fc379e50c7602b75caceaa39dbf0", "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -280,7 +306,12 @@
"filesystem", "filesystem",
"iterator" "iterator"
], ],
"time": "2015-06-21 13:08:43" "support": {
"irc": "irc://irc.freenode.net/phpunit",
"issues": "https://github.com/sebastianbergmann/php-file-iterator/issues",
"source": "https://github.com/sebastianbergmann/php-file-iterator/tree/1.4.5"
},
"time": "2017-11-27T13:52:08+00:00"
}, },
{ {
"name": "phpunit/php-text-template", "name": "phpunit/php-text-template",
@ -321,7 +352,11 @@
"keywords": [ "keywords": [
"template" "template"
], ],
"time": "2015-06-21 13:50:34" "support": {
"issues": "https://github.com/sebastianbergmann/php-text-template/issues",
"source": "https://github.com/sebastianbergmann/php-text-template/tree/1.2.1"
},
"time": "2015-06-21T13:50:34+00:00"
}, },
{ {
"name": "phpunit/php-timer", "name": "phpunit/php-timer",
@ -365,20 +400,25 @@
"keywords": [ "keywords": [
"timer" "timer"
], ],
"time": "2016-05-12 18:03:57" "support": {
"irc": "irc://irc.freenode.net/phpunit",
"issues": "https://github.com/sebastianbergmann/php-timer/issues",
"source": "https://github.com/sebastianbergmann/php-timer/tree/master"
},
"time": "2016-05-12T18:03:57+00:00"
}, },
{ {
"name": "phpunit/php-token-stream", "name": "phpunit/php-token-stream",
"version": "1.4.8", "version": "1.4.12",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sebastianbergmann/php-token-stream.git", "url": "https://github.com/sebastianbergmann/php-token-stream.git",
"reference": "3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da" "reference": "1ce90ba27c42e4e44e6d8458241466380b51fa16"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da", "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/1ce90ba27c42e4e44e6d8458241466380b51fa16",
"reference": "3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da", "reference": "1ce90ba27c42e4e44e6d8458241466380b51fa16",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -414,20 +454,25 @@
"keywords": [ "keywords": [
"tokenizer" "tokenizer"
], ],
"time": "2015-09-15 10:49:45" "support": {
"issues": "https://github.com/sebastianbergmann/php-token-stream/issues",
"source": "https://github.com/sebastianbergmann/php-token-stream/tree/1.4"
},
"abandoned": true,
"time": "2017-12-04T08:55:13+00:00"
}, },
{ {
"name": "phpunit/phpunit", "name": "phpunit/phpunit",
"version": "4.8.26", "version": "4.8.36",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git", "url": "https://github.com/sebastianbergmann/phpunit.git",
"reference": "fc1d8cd5b5de11625979125c5639347896ac2c74" "reference": "46023de9a91eec7dfb06cc56cb4e260017298517"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/fc1d8cd5b5de11625979125c5639347896ac2c74", "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/46023de9a91eec7dfb06cc56cb4e260017298517",
"reference": "fc1d8cd5b5de11625979125c5639347896ac2c74", "reference": "46023de9a91eec7dfb06cc56cb4e260017298517",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -443,7 +488,7 @@
"phpunit/php-text-template": "~1.2", "phpunit/php-text-template": "~1.2",
"phpunit/php-timer": "^1.0.6", "phpunit/php-timer": "^1.0.6",
"phpunit/phpunit-mock-objects": "~2.3", "phpunit/phpunit-mock-objects": "~2.3",
"sebastian/comparator": "~1.1", "sebastian/comparator": "~1.2.2",
"sebastian/diff": "~1.2", "sebastian/diff": "~1.2",
"sebastian/environment": "~1.3", "sebastian/environment": "~1.3",
"sebastian/exporter": "~1.2", "sebastian/exporter": "~1.2",
@ -486,7 +531,11 @@
"testing", "testing",
"xunit" "xunit"
], ],
"time": "2016-05-17 03:09:28" "support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
"source": "https://github.com/sebastianbergmann/phpunit/tree/4.8.36"
},
"time": "2017-06-21T08:07:12+00:00"
}, },
{ {
"name": "phpunit/phpunit-mock-objects", "name": "phpunit/phpunit-mock-objects",
@ -542,26 +591,32 @@
"mock", "mock",
"xunit" "xunit"
], ],
"time": "2015-10-02 06:51:40" "support": {
"irc": "irc://irc.freenode.net/phpunit",
"issues": "https://github.com/sebastianbergmann/phpunit-mock-objects/issues",
"source": "https://github.com/sebastianbergmann/phpunit-mock-objects/tree/2.3"
},
"abandoned": true,
"time": "2015-10-02T06:51:40+00:00"
}, },
{ {
"name": "sebastian/comparator", "name": "sebastian/comparator",
"version": "1.2.0", "version": "1.2.4",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sebastianbergmann/comparator.git", "url": "https://github.com/sebastianbergmann/comparator.git",
"reference": "937efb279bd37a375bcadf584dec0726f84dbf22" "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/937efb279bd37a375bcadf584dec0726f84dbf22", "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be",
"reference": "937efb279bd37a375bcadf584dec0726f84dbf22", "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=5.3.3", "php": ">=5.3.3",
"sebastian/diff": "~1.2", "sebastian/diff": "~1.2",
"sebastian/exporter": "~1.2" "sebastian/exporter": "~1.2 || ~2.0"
}, },
"require-dev": { "require-dev": {
"phpunit/phpunit": "~4.4" "phpunit/phpunit": "~4.4"
@ -606,7 +661,11 @@
"compare", "compare",
"equality" "equality"
], ],
"time": "2015-07-26 15:48:44" "support": {
"issues": "https://github.com/sebastianbergmann/comparator/issues",
"source": "https://github.com/sebastianbergmann/comparator/tree/1.2"
},
"time": "2017-01-29T09:50:25+00:00"
}, },
{ {
"name": "sebastian/diff", "name": "sebastian/diff",
@ -658,7 +717,11 @@
"keywords": [ "keywords": [
"diff" "diff"
], ],
"time": "2015-12-08 07:14:41" "support": {
"issues": "https://github.com/sebastianbergmann/diff/issues",
"source": "https://github.com/sebastianbergmann/diff/tree/master"
},
"time": "2015-12-08T07:14:41+00:00"
}, },
{ {
"name": "sebastian/environment", "name": "sebastian/environment",
@ -708,20 +771,24 @@
"environment", "environment",
"hhvm" "hhvm"
], ],
"time": "2016-05-17 03:18:57" "support": {
"issues": "https://github.com/sebastianbergmann/environment/issues",
"source": "https://github.com/sebastianbergmann/environment/tree/1.3.7"
},
"time": "2016-05-17T03:18:57+00:00"
}, },
{ {
"name": "sebastian/exporter", "name": "sebastian/exporter",
"version": "1.2.1", "version": "1.2.2",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sebastianbergmann/exporter.git", "url": "https://github.com/sebastianbergmann/exporter.git",
"reference": "7ae5513327cb536431847bcc0c10edba2701064e" "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/7ae5513327cb536431847bcc0c10edba2701064e", "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4",
"reference": "7ae5513327cb536431847bcc0c10edba2701064e", "reference": "42c4c2eec485ee3e159ec9884f95b431287edde4",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -729,12 +796,13 @@
"sebastian/recursion-context": "~1.0" "sebastian/recursion-context": "~1.0"
}, },
"require-dev": { "require-dev": {
"ext-mbstring": "*",
"phpunit/phpunit": "~4.4" "phpunit/phpunit": "~4.4"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "1.2.x-dev" "dev-master": "1.3.x-dev"
} }
}, },
"autoload": { "autoload": {
@ -774,7 +842,11 @@
"export", "export",
"exporter" "exporter"
], ],
"time": "2015-06-21 07:55:53" "support": {
"issues": "https://github.com/sebastianbergmann/exporter/issues",
"source": "https://github.com/sebastianbergmann/exporter/tree/master"
},
"time": "2016-06-17T09:04:28+00:00"
}, },
{ {
"name": "sebastian/global-state", "name": "sebastian/global-state",
@ -825,20 +897,24 @@
"keywords": [ "keywords": [
"global state" "global state"
], ],
"time": "2015-10-12 03:26:01" "support": {
"issues": "https://github.com/sebastianbergmann/global-state/issues",
"source": "https://github.com/sebastianbergmann/global-state/tree/1.1.1"
},
"time": "2015-10-12T03:26:01+00:00"
}, },
{ {
"name": "sebastian/recursion-context", "name": "sebastian/recursion-context",
"version": "1.0.2", "version": "1.0.5",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/sebastianbergmann/recursion-context.git", "url": "https://github.com/sebastianbergmann/recursion-context.git",
"reference": "913401df809e99e4f47b27cdd781f4a258d58791" "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/913401df809e99e4f47b27cdd781f4a258d58791", "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b19cc3298482a335a95f3016d2f8a6950f0fbcd7",
"reference": "913401df809e99e4f47b27cdd781f4a258d58791", "reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -878,7 +954,11 @@
], ],
"description": "Provides functionality to recursively process PHP variables", "description": "Provides functionality to recursively process PHP variables",
"homepage": "http://www.github.com/sebastianbergmann/recursion-context", "homepage": "http://www.github.com/sebastianbergmann/recursion-context",
"time": "2015-11-11 19:50:13" "support": {
"issues": "https://github.com/sebastianbergmann/recursion-context/issues",
"source": "https://github.com/sebastianbergmann/recursion-context/tree/master"
},
"time": "2016-10-03T07:41:43+00:00"
}, },
{ {
"name": "sebastian/version", "name": "sebastian/version",
@ -913,31 +993,122 @@
], ],
"description": "Library that helps with managing the version number of Git-hosted PHP projects", "description": "Library that helps with managing the version number of Git-hosted PHP projects",
"homepage": "https://github.com/sebastianbergmann/version", "homepage": "https://github.com/sebastianbergmann/version",
"time": "2015-06-21 13:59:46" "support": {
"issues": "https://github.com/sebastianbergmann/version/issues",
"source": "https://github.com/sebastianbergmann/version/tree/1.0.6"
},
"time": "2015-06-21T13:59:46+00:00"
}, },
{ {
"name": "symfony/yaml", "name": "symfony/polyfill-ctype",
"version": "v3.0.6", "version": "v1.26.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/yaml.git", "url": "https://github.com/symfony/polyfill-ctype.git",
"reference": "0047c8366744a16de7516622c5b7355336afae96" "reference": "6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/yaml/zipball/0047c8366744a16de7516622c5b7355336afae96", "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4",
"reference": "0047c8366744a16de7516622c5b7355336afae96", "reference": "6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": ">=5.5.9" "php": ">=7.1"
},
"provide": {
"ext-ctype": "*"
},
"suggest": {
"ext-ctype": "For best performance"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "3.0-dev" "dev-main": "1.26-dev"
},
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
} }
}, },
"autoload": {
"files": [
"bootstrap.php"
],
"psr-4": {
"Symfony\\Polyfill\\Ctype\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Gert de Pagter",
"email": "BackEndTea@gmail.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill for ctype functions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"ctype",
"polyfill",
"portable"
],
"support": {
"source": "https://github.com/symfony/polyfill-ctype/tree/v1.26.0"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2022-05-24T11:49:31+00:00"
},
{
"name": "symfony/yaml",
"version": "v3.4.47",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
"reference": "88289caa3c166321883f67fe5130188ebbb47094"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/yaml/zipball/88289caa3c166321883f67fe5130188ebbb47094",
"reference": "88289caa3c166321883f67fe5130188ebbb47094",
"shasum": ""
},
"require": {
"php": "^5.5.9|>=7.0.8",
"symfony/polyfill-ctype": "~1.8"
},
"conflict": {
"symfony/console": "<3.4"
},
"require-dev": {
"symfony/console": "~3.4|~4.0"
},
"suggest": {
"symfony/console": "For validating YAML files using the lint command"
},
"type": "library",
"autoload": { "autoload": {
"psr-4": { "psr-4": {
"Symfony\\Component\\Yaml\\": "" "Symfony\\Component\\Yaml\\": ""
@ -962,7 +1133,24 @@
], ],
"description": "Symfony Yaml Component", "description": "Symfony Yaml Component",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"time": "2016-03-04 07:55:57" "support": {
"source": "https://github.com/symfony/yaml/tree/v3.4.47"
},
"funding": [
{
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2020-10-24T10:57:07+00:00"
} }
], ],
"aliases": [], "aliases": [],
@ -971,7 +1159,8 @@
"prefer-stable": false, "prefer-stable": false,
"prefer-lowest": false, "prefer-lowest": false,
"platform": { "platform": {
"php": ">=5.3.0" "php": "^8.1"
}, },
"platform-dev": [] "platform-dev": [],
"plugin-api-version": "2.2.0"
} }

@ -1,6 +1,6 @@
<?php namespace Moserware\Skills\Elo; <?php namespace DNW\Skills\Elo;
use Moserware\Skills\Rating; use DNW\Skills\Rating;
/** /**
* An Elo rating represented by a single number (mean). * An Elo rating represented by a single number (mean).

@ -1,6 +1,6 @@
<?php namespace Moserware\Skills\Elo; <?php namespace DNW\Skills\Elo;
use Moserware\Skills\GameInfo; use DNW\Skills\GameInfo;
/** /**
* Including Elo's scheme as a simple comparison. * Including Elo's scheme as a simple comparison.

@ -1,4 +1,4 @@
<?php namespace Moserware\Skills\Elo; <?php namespace DNW\Skills\Elo;
// see http://ratings.fide.com/calculator_rtd.phtml for details // see http://ratings.fide.com/calculator_rtd.phtml for details
class FideKFactor extends KFactor class FideKFactor extends KFactor

@ -1,18 +1,18 @@
<?php namespace Moserware\Skills\Elo; <?php namespace DNW\Skills\Elo;
use Moserware\Skills\GameInfo; use DNW\Skills\GameInfo;
use Moserware\Skills\Numerics\GaussianDistribution; use DNW\Skills\Numerics\GaussianDistribution;
class GaussianEloCalculator extends TwoPlayerEloCalculator class GaussianEloCalculator extends TwoPlayerEloCalculator
{ {
// From the paper // From the paper
const STABLE_KFACTOR = 24; const STABLE_KFACTOR = 24;
public function __construct() public function __construct()
{ {
parent::__construct(new KFactor(self::STABLE_KFACTOR)); parent::__construct(new KFactor(self::STABLE_KFACTOR));
} }
public function getPlayerWinProbability(GameInfo $gameInfo, $playerRating, $opponentRating) public function getPlayerWinProbability(GameInfo $gameInfo, $playerRating, $opponentRating)
{ {
$ratingDifference = $playerRating - $opponentRating; $ratingDifference = $playerRating - $opponentRating;

@ -1,4 +1,4 @@
<?php namespace Moserware\Skills\Elo; <?php namespace DNW\Skills\Elo;
class KFactor class KFactor
{ {

@ -1,4 +1,4 @@
<?php namespace Moserware\Skills\Elo; <?php namespace DNW\Skills\Elo;
/** /**
* Indicates someone who has played less than 30 games. * Indicates someone who has played less than 30 games.

@ -1,19 +1,19 @@
<?php namespace Moserware\Skills\Elo; <?php namespace DNW\Skills\Elo;
use Exception; use Exception;
use Moserware\Skills\GameInfo; use DNW\Skills\GameInfo;
use Moserware\Skills\PairwiseComparison; use DNW\Skills\PairwiseComparison;
use Moserware\Skills\RankSorter; use DNW\Skills\RankSorter;
use Moserware\Skills\SkillCalculator; use DNW\Skills\SkillCalculator;
use Moserware\Skills\SkillCalculatorSupportedOptions; use DNW\Skills\SkillCalculatorSupportedOptions;
use Moserware\Skills\PlayersRange; use DNW\Skills\PlayersRange;
use Moserware\Skills\TeamsRange; use DNW\Skills\TeamsRange;
abstract class TwoPlayerEloCalculator extends SkillCalculator abstract class TwoPlayerEloCalculator extends SkillCalculator
{ {
protected $_kFactor; protected $_kFactor;
protected function __construct(KFactor $kFactor) protected function __construct(KFactor $kFactor)
{ {
parent::__construct(SkillCalculatorSupportedOptions::NONE, TeamsRange::exactly(2), PlayersRange::exactly(1)); parent::__construct(SkillCalculatorSupportedOptions::NONE, TeamsRange::exactly(2), PlayersRange::exactly(1));
$this->_kFactor = $kFactor; $this->_kFactor = $kFactor;
@ -23,16 +23,16 @@ abstract class TwoPlayerEloCalculator extends SkillCalculator
{ {
$this->validateTeamCountAndPlayersCountPerTeam($teamsOfPlayerToRatings); $this->validateTeamCountAndPlayersCountPerTeam($teamsOfPlayerToRatings);
RankSorter::sort($teamsOfPlayerToRatings, $teamRanks); RankSorter::sort($teamsOfPlayerToRatings, $teamRanks);
$result = array(); $result = array();
$isDraw = ($teamRanks[0] === $teamRanks[1]); $isDraw = ($teamRanks[0] === $teamRanks[1]);
$team1 = $teamsOfPlayerToRatings[0]; $team1 = $teamsOfPlayerToRatings[0];
$team2 = $teamsOfPlayerToRatings[1]; $team2 = $teamsOfPlayerToRatings[1];
$player1 = each($team1); $player1 = each($team1);
$player2 = each($team2); $player2 = each($team2);
$player1Rating = $player1["value"]->getMean(); $player1Rating = $player1["value"]->getMean();
$player2Rating = $player2["value"]->getMean(); $player2Rating = $player2["value"]->getMean();
@ -75,13 +75,13 @@ abstract class TwoPlayerEloCalculator extends SkillCalculator
$this->validateTeamCountAndPlayersCountPerTeam($teamsOfPlayerToRatings); $this->validateTeamCountAndPlayersCountPerTeam($teamsOfPlayerToRatings);
$team1 = $teamsOfPlayerToRatings[0]; $team1 = $teamsOfPlayerToRatings[0];
$team2 = $teamsOfPlayerToRatings[1]; $team2 = $teamsOfPlayerToRatings[1];
$player1 = $team1[0]; $player1 = $team1[0];
$player2 = $team2[0]; $player2 = $team2[0];
$player1Rating = $player1[1]->getMean(); $player1Rating = $player1[1]->getMean();
$player2Rating = $player2[1]->getMean(); $player2Rating = $player2[1]->getMean();
$ratingDifference = $player1Rating - $player2Rating; $ratingDifference = $player1Rating - $player2Rating;
// The TrueSkill paper mentions that they used s1 - s2 (rating difference) to // The TrueSkill paper mentions that they used s1 - s2 (rating difference) to

@ -1,4 +1,4 @@
<?php namespace Moserware\Skills\FactorGraphs; <?php namespace DNW\Skills\FactorGraphs;
use Exception; use Exception;

@ -1,8 +1,8 @@
<?php namespace Moserware\Skills\FactorGraphs; <?php namespace DNW\Skills\FactorGraphs;
use Exception; use Exception;
use Moserware\Skills\Guard; use DNW\Skills\Guard;
use Moserware\Skills\HashMap; use DNW\Skills\HashMap;
abstract class Factor abstract class Factor
{ {

@ -1,4 +1,4 @@
<?php namespace Moserware\Skills\FactorGraphs; <?php namespace DNW\Skills\FactorGraphs;
class FactorGraph class FactorGraph
{ {

@ -1,9 +1,9 @@
<?php namespace Moserware\Skills\FactorGraphs; <?php namespace DNW\Skills\FactorGraphs;
// edit this // edit this
abstract class FactorGraphLayer abstract class FactorGraphLayer
{ {
private $_localFactors = array(); private $_localFactors = array();
private $_outputVariablesGroups = array(); private $_outputVariablesGroups = array();
private $_inputVariablesGroups = array(); private $_inputVariablesGroups = array();
private $_parentFactorGraph; private $_parentFactorGraph;

@ -1,4 +1,4 @@
<?php namespace Moserware\Skills\FactorGraphs; <?php namespace DNW\Skills\FactorGraphs;
/** /**
* Helper class for computing the factor graph's normalization constant. * Helper class for computing the factor graph's normalization constant.

@ -1,4 +1,4 @@
<?php namespace Moserware\Skills\FactorGraphs; <?php namespace DNW\Skills\FactorGraphs;
class KeyedVariable extends Variable class KeyedVariable extends Variable
{ {

@ -1,4 +1,4 @@
<?php namespace Moserware\Skills\FactorGraphs; <?php namespace DNW\Skills\FactorGraphs;
class Message class Message
{ {

@ -1,4 +1,4 @@
<?php namespace Moserware\Skills\FactorGraphs; <?php namespace DNW\Skills\FactorGraphs;
abstract class Schedule abstract class Schedule
{ {

@ -1,4 +1,4 @@
<?php namespace Moserware\Skills\FactorGraphs; <?php namespace DNW\Skills\FactorGraphs;
class ScheduleLoop extends Schedule class ScheduleLoop extends Schedule
{ {

@ -1,4 +1,4 @@
<?php namespace Moserware\Skills\FactorGraphs; <?php namespace DNW\Skills\FactorGraphs;
class ScheduleSequence extends Schedule class ScheduleSequence extends Schedule
{ {

@ -1,4 +1,4 @@
<?php namespace Moserware\Skills\FactorGraphs; <?php namespace DNW\Skills\FactorGraphs;
class ScheduleStep extends Schedule class ScheduleStep extends Schedule
{ {

@ -1,5 +1,5 @@
<?php <?php
namespace Moserware\Skills\FactorGraphs; namespace DNW\Skills\FactorGraphs;
class Variable class Variable
{ {

@ -1,4 +1,4 @@
<?php namespace Moserware\Skills\FactorGraphs; <?php namespace DNW\Skills\FactorGraphs;
class VariableFactory class VariableFactory
{ {

@ -1,4 +1,4 @@
<?php namespace Moserware\Skills; <?php namespace DNW\Skills;
/** /**
* Parameters about the game for calculating the TrueSkill. * Parameters about the game for calculating the TrueSkill.

@ -1,4 +1,4 @@
<?php namespace Moserware\Skills; <?php namespace DNW\Skills;
use Exception; use Exception;

@ -1,4 +1,4 @@
<?php namespace Moserware\Skills; <?php namespace DNW\Skills;
/** /**
* Basic hashmap that supports object keys. * Basic hashmap that supports object keys.

@ -1,4 +1,4 @@
<?php namespace Moserware\Skills; <?php namespace DNW\Skills;
/** /**
* Indicates support for allowing partial play (where a player only plays a part of the time). * Indicates support for allowing partial play (where a player only plays a part of the time).

@ -1,4 +1,4 @@
<?php namespace Moserware\Skills; <?php namespace DNW\Skills;
interface ISupportPartialUpdate interface ISupportPartialUpdate
{ {

@ -1,4 +1,4 @@
<?php namespace Moserware\Skills\Numerics; <?php namespace DNW\Skills\Numerics;
/** /**
* Basic math functions. * Basic math functions.

@ -1,4 +1,4 @@
<?php namespace Moserware\Skills\Numerics; <?php namespace DNW\Skills\Numerics;
class DiagonalMatrix extends Matrix class DiagonalMatrix extends Matrix
{ {

@ -1,4 +1,4 @@
<?php namespace Moserware\Skills\Numerics; <?php namespace DNW\Skills\Numerics;
/** /**
* Computes Gaussian (bell curve) values. * Computes Gaussian (bell curve) values.
@ -177,7 +177,7 @@ class GaussianDistribution
private static function errorFunctionCumulativeTo($x) private static function errorFunctionCumulativeTo($x)
{ {
// Derived from page 265 of Numerical Recipes 3rd Edition // Derived from page 265 of Numerical Recipes 3rd Edition
$z = abs($x); $z = abs($x);
$t = 2.0 / (2.0 + $z); $t = 2.0 / (2.0 + $z);
@ -229,7 +229,7 @@ class GaussianDistribution
private static function inverseErrorFunctionCumulativeTo($p) private static function inverseErrorFunctionCumulativeTo($p)
{ {
// From page 265 of numerical recipes // From page 265 of numerical recipes
if ($p >= 2.0) { if ($p >= 2.0) {
return -100; return -100;

@ -1,4 +1,4 @@
<?php namespace Moserware\Skills\Numerics; <?php namespace DNW\Skills\Numerics;
class IdentityMatrix extends DiagonalMatrix class IdentityMatrix extends DiagonalMatrix
{ {

@ -1,4 +1,4 @@
<?php namespace Moserware\Skills\Numerics; <?php namespace DNW\Skills\Numerics;
use Exception; use Exception;

@ -1,4 +1,4 @@
<?php namespace Moserware\Skills\Numerics; <?php namespace DNW\Skills\Numerics;
// The whole purpose of this class is to make the code for the SkillCalculator(s) // The whole purpose of this class is to make the code for the SkillCalculator(s)
// look a little cleaner // look a little cleaner
@ -9,7 +9,7 @@ class Range
{ {
private $_min; private $_min;
private $_max; private $_max;
public function __construct($min, $max) public function __construct($min, $max)
{ {
if ($min > $max) if ($min > $max)
@ -24,13 +24,13 @@ class Range
public function getMin() public function getMin()
{ {
return $this->_min; return $this->_min;
} }
public function getMax() public function getMax()
{ {
return $this->_max; return $this->_max;
} }
protected static function create($min, $max) protected static function create($min, $max)
{ {
return new Range($min, $max); return new Range($min, $max);

@ -1,4 +1,4 @@
<?php namespace Moserware\Skills\Numerics; <?php namespace DNW\Skills\Numerics;
class SquareMatrix extends Matrix class SquareMatrix extends Matrix
{ {

@ -1,4 +1,4 @@
<?php namespace Moserware\Skills\Numerics; <?php namespace DNW\Skills\Numerics;
class Vector extends Matrix class Vector extends Matrix
{ {

@ -1,4 +1,4 @@
<?php namespace Moserware\Skills; <?php namespace DNW\Skills;
/** /**
* Represents a comparison between two players. * Represents a comparison between two players.

@ -1,4 +1,4 @@
<?php namespace Moserware\Skills; <?php namespace DNW\Skills;
class PartialPlay class PartialPlay
{ {

@ -1,4 +1,4 @@
<?php namespace Moserware\Skills; <?php namespace DNW\Skills;
/** /**
* Represents a player who has a Rating. * Represents a player who has a Rating.

@ -1,6 +1,6 @@
<?php namespace Moserware\Skills; <?php namespace DNW\Skills;
use Moserware\Skills\Numerics\Range; use DNW\Skills\Numerics\Range;
class PlayersRange extends Range class PlayersRange extends Range
{ {

@ -1,4 +1,4 @@
<?php namespace Moserware\Skills; <?php namespace DNW\Skills;
/** /**
* Helper class to sort ranks in non-decreasing order. * Helper class to sort ranks in non-decreasing order.
@ -13,7 +13,7 @@ class RankSorter
* @return array * @return array
*/ */
public static function sort(array &$teams, array &$teamRanks) public static function sort(array &$teams, array &$teamRanks)
{ {
array_multisort($teamRanks, $teams); array_multisort($teamRanks, $teams);
return $teams; return $teams;
} }

@ -1,7 +1,7 @@
<?php namespace Moserware\Skills; <?php namespace DNW\Skills;
// Container for a player's rating. // Container for a player's rating.
use Moserware\Skills\Numerics\GaussianDistribution; use DNW\Skills\Numerics\GaussianDistribution;
class Rating class Rating
{ {
@ -54,7 +54,7 @@ class Rating
$posteriorGaussian = new GaussianDistribution($fullPosterior->getMean(), $fullPosterior . getStandardDeviation()); $posteriorGaussian = new GaussianDistribution($fullPosterior->getMean(), $fullPosterior . getStandardDeviation());
// From a clarification email from Ralf Herbrich: // From a clarification email from Ralf Herbrich:
// "the idea is to compute a linear interpolation between the prior and posterior skills of each player // "the idea is to compute a linear interpolation between the prior and posterior skills of each player
// ... in the canonical space of parameters" // ... in the canonical space of parameters"
$precisionDifference = $posteriorGaussian->getPrecision() - $priorGaussian->getPrecision(); $precisionDifference = $posteriorGaussian->getPrecision() - $priorGaussian->getPrecision();

@ -1,4 +1,4 @@
<?php namespace Moserware\Skills; <?php namespace DNW\Skills;
class RatingContainer class RatingContainer
{ {

@ -1,4 +1,4 @@
<?php namespace Moserware\Skills; <?php namespace DNW\Skills;
use Exception; use Exception;

@ -1,11 +1,11 @@
<?php namespace Moserware\Skills; <?php namespace DNW\Skills;
class Team extends RatingContainer class Team extends RatingContainer
{ {
public function __construct(Player $player = null, Rating $rating = null) public function __construct(Player $player = null, Rating $rating = null)
{ {
parent::__construct(); parent::__construct();
if(!is_null($player)) if(!is_null($player))
{ {
$this->addPlayer($player, $rating); $this->addPlayer($player, $rating);
@ -16,5 +16,5 @@ class Team extends RatingContainer
{ {
$this->setRating($player, $rating); $this->setRating($player, $rating);
return $this; return $this;
} }
} }

@ -1,4 +1,4 @@
<?php namespace Moserware\Skills; <?php namespace DNW\Skills;
class Teams class Teams
{ {

@ -1,6 +1,6 @@
<?php namespace Moserware\Skills; <?php namespace DNW\Skills;
use Moserware\Skills\Numerics\Range; use DNW\Skills\Numerics\Range;
class TeamsRange extends Range class TeamsRange extends Range
{ {
@ -8,7 +8,7 @@ class TeamsRange extends Range
{ {
parent::__construct($min, $max); parent::__construct($min, $max);
} }
protected static function create($min, $max) protected static function create($min, $max)
{ {
return new TeamsRange($min, $max); return new TeamsRange($min, $max);

@ -1,6 +1,6 @@
<?php namespace Moserware\Skills\TrueSkill; <?php namespace DNW\Skills\TrueSkill;
use Moserware\Skills\Numerics\GaussianDistribution; use DNW\Skills\Numerics\GaussianDistribution;
final class DrawMargin final class DrawMargin
{ {

@ -1,19 +1,19 @@
<?php namespace Moserware\Skills\TrueSkill; <?php namespace DNW\Skills\TrueSkill;
use Moserware\Skills\GameInfo; use DNW\Skills\GameInfo;
use Moserware\Skills\Guard; use DNW\Skills\Guard;
use Moserware\Skills\ISupportPartialPlay; use DNW\Skills\ISupportPartialPlay;
use Moserware\Skills\ISupportPartialUpdate; use DNW\Skills\ISupportPartialUpdate;
use Moserware\Skills\Numerics\BasicMath; use DNW\Skills\Numerics\BasicMath;
use Moserware\Skills\Numerics\DiagonalMatrix; use DNW\Skills\Numerics\DiagonalMatrix;
use Moserware\Skills\Numerics\Matrix; use DNW\Skills\Numerics\Matrix;
use Moserware\Skills\Numerics\Vector; use DNW\Skills\Numerics\Vector;
use Moserware\Skills\PartialPlay; use DNW\Skills\PartialPlay;
use Moserware\Skills\PlayersRange; use DNW\Skills\PlayersRange;
use Moserware\Skills\RankSorter; use DNW\Skills\RankSorter;
use Moserware\Skills\SkillCalculator; use DNW\Skills\SkillCalculator;
use Moserware\Skills\SkillCalculatorSupportedOptions; use DNW\Skills\SkillCalculatorSupportedOptions;
use Moserware\Skills\TeamsRange; use DNW\Skills\TeamsRange;
/** /**
* Calculates TrueSkill using a full factor graph. * Calculates TrueSkill using a full factor graph.

@ -1,9 +1,9 @@
<?php namespace Moserware\Skills\TrueSkill\Factors; <?php namespace DNW\Skills\TrueSkill\Factors;
use Moserware\Skills\FactorGraphs\Factor; use DNW\Skills\FactorGraphs\Factor;
use Moserware\Skills\FactorGraphs\Message; use DNW\Skills\FactorGraphs\Message;
use Moserware\Skills\FactorGraphs\Variable; use DNW\Skills\FactorGraphs\Variable;
use Moserware\Skills\Numerics\GaussianDistribution; use DNW\Skills\Numerics\GaussianDistribution;
abstract class GaussianFactor extends Factor abstract class GaussianFactor extends Factor
{ {

@ -1,9 +1,9 @@
<?php namespace Moserware\Skills\TrueSkill\Factors; <?php namespace DNW\Skills\TrueSkill\Factors;
use Moserware\Skills\Numerics\GaussianDistribution; use DNW\Skills\Numerics\GaussianDistribution;
use Moserware\Skills\TrueSkill\TruncatedGaussianCorrectionFunctions; use DNW\Skills\TrueSkill\TruncatedGaussianCorrectionFunctions;
use Moserware\Skills\FactorGraphs\Message; use DNW\Skills\FactorGraphs\Message;
use Moserware\Skills\FactorGraphs\Variable; use DNW\Skills\FactorGraphs\Variable;
/** /**
* Factor representing a team difference that has exceeded the draw margin. * Factor representing a team difference that has exceeded the draw margin.

@ -1,10 +1,10 @@
<?php namespace Moserware\Skills\TrueSkill\Factors; <?php namespace DNW\Skills\TrueSkill\Factors;
use Exception; use Exception;
use Moserware\Skills\FactorGraphs\KeyedVariable; use DNW\Skills\FactorGraphs\KeyedVariable;
use Moserware\Skills\FactorGraphs\Message; use DNW\Skills\FactorGraphs\Message;
use Moserware\Skills\FactorGraphs\Variable; use DNW\Skills\FactorGraphs\Variable;
use Moserware\Skills\Numerics\GaussianDistribution; use DNW\Skills\Numerics\GaussianDistribution;
/** /**
* Connects two variables and adds uncertainty. * Connects two variables and adds uncertainty.

@ -1,8 +1,8 @@
<?php namespace Moserware\Skills\TrueSkill\Factors; <?php namespace DNW\Skills\TrueSkill\Factors;
use Moserware\Skills\FactorGraphs\Message; use DNW\Skills\FactorGraphs\Message;
use Moserware\Skills\FactorGraphs\Variable; use DNW\Skills\FactorGraphs\Variable;
use Moserware\Skills\Numerics\GaussianDistribution; use DNW\Skills\Numerics\GaussianDistribution;
/** /**
* Supplies the factor graph with prior information. * Supplies the factor graph with prior information.

@ -1,10 +1,10 @@
<?php namespace Moserware\Skills\TrueSkill\Factors; <?php namespace DNW\Skills\TrueSkill\Factors;
use Moserware\Skills\Guard; use DNW\Skills\Guard;
use Moserware\Skills\FactorGraphs\Message; use DNW\Skills\FactorGraphs\Message;
use Moserware\Skills\FactorGraphs\Variable; use DNW\Skills\FactorGraphs\Variable;
use Moserware\Skills\Numerics\BasicMath; use DNW\Skills\Numerics\BasicMath;
use Moserware\Skills\Numerics\GaussianDistribution; use DNW\Skills\Numerics\GaussianDistribution;
/** /**
* Factor that sums together multiple Gaussians. * Factor that sums together multiple Gaussians.

@ -1,9 +1,9 @@
<?php namespace Moserware\Skills\TrueSkill\Factors; <?php namespace DNW\Skills\TrueSkill\Factors;
use Moserware\Skills\Numerics\GaussianDistribution; use DNW\Skills\Numerics\GaussianDistribution;
use Moserware\Skills\TrueSkill\TruncatedGaussianCorrectionFunctions; use DNW\Skills\TrueSkill\TruncatedGaussianCorrectionFunctions;
use Moserware\Skills\FactorGraphs\Message; use DNW\Skills\FactorGraphs\Message;
use Moserware\Skills\FactorGraphs\Variable; use DNW\Skills\FactorGraphs\Variable;
/** /**
* Factor representing a team difference that has not exceeded the draw margin. * Factor representing a team difference that has not exceeded the draw margin.

@ -1,10 +1,10 @@
<?php namespace Moserware\Skills\TrueSkill\Layers; <?php namespace DNW\Skills\TrueSkill\Layers;
use Exception; use Exception;
use Moserware\Skills\FactorGraphs\ScheduleLoop; use DNW\Skills\FactorGraphs\ScheduleLoop;
use Moserware\Skills\FactorGraphs\ScheduleSequence; use DNW\Skills\FactorGraphs\ScheduleSequence;
use Moserware\Skills\FactorGraphs\ScheduleStep; use DNW\Skills\FactorGraphs\ScheduleStep;
use Moserware\Skills\TrueSkill\TrueSkillFactorGraph; use DNW\Skills\TrueSkill\TrueSkillFactorGraph;
// The whole purpose of this is to do a loop on the bottom // The whole purpose of this is to do a loop on the bottom
class IteratedTeamDifferencesInnerLayer extends TrueSkillFactorGraphLayer class IteratedTeamDifferencesInnerLayer extends TrueSkillFactorGraphLayer

@ -1,11 +1,11 @@
<?php namespace Moserware\Skills\TrueSkill\Layers; <?php namespace DNW\Skills\TrueSkill\Layers;
use Moserware\Skills\PartialPlay; use DNW\Skills\PartialPlay;
use Moserware\Skills\FactorGraphs\ScheduleLoop; use DNW\Skills\FactorGraphs\ScheduleLoop;
use Moserware\Skills\FactorGraphs\ScheduleSequence; use DNW\Skills\FactorGraphs\ScheduleSequence;
use Moserware\Skills\FactorGraphs\ScheduleStep; use DNW\Skills\FactorGraphs\ScheduleStep;
use Moserware\Skills\TrueSkill\Factors\GaussianWeightedSumFactor; use DNW\Skills\TrueSkill\Factors\GaussianWeightedSumFactor;
use Moserware\Skills\TrueSkill\TrueSkillFactorGraph; use DNW\Skills\TrueSkill\TrueSkillFactorGraph;
class PlayerPerformancesToTeamPerformancesLayer extends TrueSkillFactorGraphLayer class PlayerPerformancesToTeamPerformancesLayer extends TrueSkillFactorGraphLayer
{ {

@ -1,11 +1,11 @@
<?php namespace Moserware\Skills\TrueSkill\Layers; <?php namespace DNW\Skills\TrueSkill\Layers;
use Moserware\Skills\Numerics\BasicMath; use DNW\Skills\Numerics\BasicMath;
use Moserware\Skills\Rating; use DNW\Skills\Rating;
use Moserware\Skills\FactorGraphs\ScheduleStep; use DNW\Skills\FactorGraphs\ScheduleStep;
use Moserware\Skills\FactorGraphs\Variable; use DNW\Skills\FactorGraphs\Variable;
use Moserware\Skills\TrueSkill\TrueSkillFactorGraph; use DNW\Skills\TrueSkill\TrueSkillFactorGraph;
use Moserware\Skills\TrueSkill\Factors\GaussianPriorFactor; use DNW\Skills\TrueSkill\Factors\GaussianPriorFactor;
// We intentionally have no Posterior schedule since the only purpose here is to // We intentionally have no Posterior schedule since the only purpose here is to
// start the process. // start the process.

@ -1,10 +1,10 @@
<?php namespace Moserware\Skills\TrueSkill\Layers; <?php namespace DNW\Skills\TrueSkill\Layers;
use Moserware\Skills\FactorGraphs\ScheduleStep; use DNW\Skills\FactorGraphs\ScheduleStep;
use Moserware\Skills\FactorGraphs\KeyedVariable; use DNW\Skills\FactorGraphs\KeyedVariable;
use Moserware\Skills\Numerics\BasicMath; use DNW\Skills\Numerics\BasicMath;
use Moserware\Skills\TrueSkill\TrueSkillFactorGraph; use DNW\Skills\TrueSkill\TrueSkillFactorGraph;
use Moserware\Skills\TrueSkill\Factors\GaussianLikelihoodFactor; use DNW\Skills\TrueSkill\Factors\GaussianLikelihoodFactor;
class PlayerSkillsToPerformancesLayer extends TrueSkillFactorGraphLayer class PlayerSkillsToPerformancesLayer extends TrueSkillFactorGraphLayer
{ {

@ -1,9 +1,9 @@
<?php namespace Moserware\Skills\TrueSkill\Layers; <?php namespace DNW\Skills\TrueSkill\Layers;
use Moserware\Skills\TrueSkill\DrawMargin; use DNW\Skills\TrueSkill\DrawMargin;
use Moserware\Skills\TrueSkill\TrueSkillFactorGraph; use DNW\Skills\TrueSkill\TrueSkillFactorGraph;
use Moserware\Skills\TrueSkill\Factors\GaussianGreaterThanFactor; use DNW\Skills\TrueSkill\Factors\GaussianGreaterThanFactor;
use Moserware\Skills\TrueSkill\Factors\GaussianWithinFactor; use DNW\Skills\TrueSkill\Factors\GaussianWithinFactor;
class TeamDifferencesComparisonLayer extends TrueSkillFactorGraphLayer class TeamDifferencesComparisonLayer extends TrueSkillFactorGraphLayer
{ {

@ -1,8 +1,8 @@
<?php namespace Moserware\Skills\TrueSkill\Layers; <?php namespace DNW\Skills\TrueSkill\Layers;
use Moserware\Skills\FactorGraphs\Variable; use DNW\Skills\FactorGraphs\Variable;
use Moserware\Skills\TrueSkill\TrueSkillFactorGraph; use DNW\Skills\TrueSkill\TrueSkillFactorGraph;
use Moserware\Skills\TrueSkill\Factors\GaussianWeightedSumFactor; use DNW\Skills\TrueSkill\Factors\GaussianWeightedSumFactor;
class TeamPerformancesToTeamPerformanceDifferencesLayer extends TrueSkillFactorGraphLayer class TeamPerformancesToTeamPerformanceDifferencesLayer extends TrueSkillFactorGraphLayer
{ {
@ -26,7 +26,7 @@ class TeamPerformancesToTeamPerformanceDifferencesLayer extends TrueSkillFactorG
$newDifferencesFactor = $this->createTeamPerformanceToDifferenceFactor($strongerTeam, $weakerTeam, $currentDifference); $newDifferencesFactor = $this->createTeamPerformanceToDifferenceFactor($strongerTeam, $weakerTeam, $currentDifference);
$this->addLayerFactor($newDifferencesFactor); $this->addLayerFactor($newDifferencesFactor);
// REVIEW: Does it make sense to have groups of one? // REVIEW: Does it make sense to have groups of one?
$outputVariablesGroup[] = array($currentDifference); $outputVariablesGroup[] = array($currentDifference);
} }
} }

@ -1,7 +1,7 @@
<?php namespace Moserware\Skills\TrueSkill\Layers; <?php namespace DNW\Skills\TrueSkill\Layers;
use Moserware\Skills\FactorGraphs\FactorGraphLayer; use DNW\Skills\FactorGraphs\FactorGraphLayer;
use Moserware\Skills\TrueSkill\TrueSkillFactorGraph; use DNW\Skills\TrueSkill\TrueSkillFactorGraph;
abstract class TrueSkillFactorGraphLayer extends FactorGraphLayer abstract class TrueSkillFactorGraphLayer extends FactorGraphLayer
{ {

@ -1,19 +1,19 @@
<?php namespace Moserware\Skills\TrueSkill; <?php namespace DNW\Skills\TrueSkill;
use Moserware\Skills\GameInfo; use DNW\Skills\GameInfo;
use Moserware\Skills\Numerics\GaussianDistribution; use DNW\Skills\Numerics\GaussianDistribution;
use Moserware\Skills\Rating; use DNW\Skills\Rating;
use Moserware\Skills\RatingContainer; use DNW\Skills\RatingContainer;
use Moserware\Skills\FactorGraphs\FactorGraph; use DNW\Skills\FactorGraphs\FactorGraph;
use Moserware\Skills\FactorGraphs\FactorList; use DNW\Skills\FactorGraphs\FactorList;
use Moserware\Skills\FactorGraphs\ScheduleSequence; use DNW\Skills\FactorGraphs\ScheduleSequence;
use Moserware\Skills\FactorGraphs\VariableFactory; use DNW\Skills\FactorGraphs\VariableFactory;
use Moserware\Skills\TrueSkill\Layers\IteratedTeamDifferencesInnerLayer; use DNW\Skills\TrueSkill\Layers\IteratedTeamDifferencesInnerLayer;
use Moserware\Skills\TrueSkill\Layers\PlayerPerformancesToTeamPerformancesLayer; use DNW\Skills\TrueSkill\Layers\PlayerPerformancesToTeamPerformancesLayer;
use Moserware\Skills\TrueSkill\Layers\PlayerPriorValuesToSkillsLayer; use DNW\Skills\TrueSkill\Layers\PlayerPriorValuesToSkillsLayer;
use Moserware\Skills\TrueSkill\Layers\PlayerSkillsToPerformancesLayer; use DNW\Skills\TrueSkill\Layers\PlayerSkillsToPerformancesLayer;
use Moserware\Skills\TrueSkill\Layers\TeamDifferencesComparisonLayer; use DNW\Skills\TrueSkill\Layers\TeamDifferencesComparisonLayer;
use Moserware\Skills\TrueSkill\Layers\TeamPerformancesToTeamPerformanceDifferencesLayer; use DNW\Skills\TrueSkill\Layers\TeamPerformancesToTeamPerformanceDifferencesLayer;
class TrueSkillFactorGraph extends FactorGraph class TrueSkillFactorGraph extends FactorGraph
{ {

@ -1,6 +1,6 @@
<?php namespace Moserware\Skills\TrueSkill; <?php namespace DNW\Skills\TrueSkill;
use Moserware\Skills\Numerics\GaussianDistribution; use DNW\Skills\Numerics\GaussianDistribution;
class TruncatedGaussianCorrectionFunctions class TruncatedGaussianCorrectionFunctions
{ {

@ -1,20 +1,20 @@
<?php namespace Moserware\Skills\TrueSkill; <?php namespace DNW\Skills\TrueSkill;
use Moserware\Skills\GameInfo; use DNW\Skills\GameInfo;
use Moserware\Skills\Guard; use DNW\Skills\Guard;
use Moserware\Skills\Numerics\BasicMath; use DNW\Skills\Numerics\BasicMath;
use Moserware\Skills\PairwiseComparison; use DNW\Skills\PairwiseComparison;
use Moserware\Skills\RankSorter; use DNW\Skills\RankSorter;
use Moserware\Skills\Rating; use DNW\Skills\Rating;
use Moserware\Skills\RatingContainer; use DNW\Skills\RatingContainer;
use Moserware\Skills\SkillCalculator; use DNW\Skills\SkillCalculator;
use Moserware\Skills\SkillCalculatorSupportedOptions; use DNW\Skills\SkillCalculatorSupportedOptions;
use Moserware\Skills\PlayersRange; use DNW\Skills\PlayersRange;
use Moserware\Skills\TeamsRange; use DNW\Skills\TeamsRange;
/** /**
* Calculates the new ratings for only two players. * Calculates the new ratings for only two players.
* *
* When you only have two players, a lot of the math simplifies. The main purpose of this class * When you only have two players, a lot of the math simplifies. The main purpose of this class
* is to show the bare minimum of what a TrueSkill implementation should have. * is to show the bare minimum of what a TrueSkill implementation should have.
*/ */
@ -35,12 +35,12 @@ class TwoPlayerTrueSkillCalculator extends SkillCalculator
// Make sure things are in order // Make sure things are in order
RankSorter::sort($teams, $teamRanks); RankSorter::sort($teams, $teamRanks);
// Since we verified that each team has one player, we know the player is the first one // Since we verified that each team has one player, we know the player is the first one
$winningTeamPlayers = $teams[0]->getAllPlayers(); $winningTeamPlayers = $teams[0]->getAllPlayers();
$winner = $winningTeamPlayers[0]; $winner = $winningTeamPlayers[0];
$winnerPreviousRating = $teams[0]->getRating($winner); $winnerPreviousRating = $teams[0]->getRating($winner);
$losingTeamPlayers = $teams[1]->getAllPlayers(); $losingTeamPlayers = $teams[1]->getAllPlayers();
$loser = $losingTeamPlayers[0]; $loser = $losingTeamPlayers[0];
$loserPreviousRating = $teams[1]->getRating($loser); $loserPreviousRating = $teams[1]->getRating($loser);

@ -1,19 +1,19 @@
<?php namespace Moserware\Skills\TrueSkill; <?php namespace DNW\Skills\TrueSkill;
use Moserware\Skills\GameInfo; use DNW\Skills\GameInfo;
use Moserware\Skills\Guard; use DNW\Skills\Guard;
use Moserware\Skills\Numerics\BasicMath; use DNW\Skills\Numerics\BasicMath;
use Moserware\Skills\PairwiseComparison; use DNW\Skills\PairwiseComparison;
use Moserware\Skills\RankSorter; use DNW\Skills\RankSorter;
use Moserware\Skills\Rating; use DNW\Skills\Rating;
use Moserware\Skills\RatingContainer; use DNW\Skills\RatingContainer;
use Moserware\Skills\SkillCalculator; use DNW\Skills\SkillCalculator;
use Moserware\Skills\SkillCalculatorSupportedOptions; use DNW\Skills\SkillCalculatorSupportedOptions;
use Moserware\Skills\PlayersRange; use DNW\Skills\PlayersRange;
use Moserware\Skills\TeamsRange; use DNW\Skills\TeamsRange;
use Moserware\Skills\Team; use DNW\Skills\Team;
/** /**
* Calculates new ratings for only two teams where each team has 1 or more players. * Calculates new ratings for only two teams where each team has 1 or more players.

@ -1,10 +1,10 @@
<?php namespace Moserware\Skills\Tests\Elo; <?php namespace DNW\Skills\Tests\Elo;
use Moserware\Skills\Elo\EloRating; use DNW\Skills\Elo\EloRating;
use Moserware\Skills\Elo\FideEloCalculator; use DNW\Skills\Elo\FideEloCalculator;
use Moserware\Skills\GameInfo; use DNW\Skills\GameInfo;
use Moserware\Skills\PairwiseComparison; use DNW\Skills\PairwiseComparison;
use Moserware\Skills\Tests\TestCase; use DNW\Skills\Tests\TestCase;
class EloAssert class EloAssert
{ {

@ -1,9 +1,9 @@
<?php namespace Moserware\Skills\Tests\Elo; <?php namespace DNW\Skills\Tests\Elo;
use Moserware\Skills\Elo\FideEloCalculator; use DNW\Skills\Elo\FideEloCalculator;
use Moserware\Skills\Elo\ProvisionalFideKFactor; use DNW\Skills\Elo\ProvisionalFideKFactor;
use Moserware\Skills\PairwiseComparison; use DNW\Skills\PairwiseComparison;
use Moserware\Skills\Tests\TestCase; use DNW\Skills\Tests\TestCase;
class FideEloCalculatorTest extends TestCase class FideEloCalculatorTest extends TestCase
{ {

@ -1,7 +1,7 @@
<?php namespace Moserware\Skills\Tests\Numerics; <?php namespace DNW\Skills\Tests\Numerics;
use Moserware\Skills\Numerics\BasicMath; use DNW\Skills\Numerics\BasicMath;
use Moserware\Skills\Tests\TestCase; use DNW\Skills\Tests\TestCase;
class BasicMathTest extends TestCase class BasicMathTest extends TestCase
{ {

@ -1,8 +1,8 @@
<?php namespace Moserware\Skills\Tests\Numerics; <?php namespace DNW\Skills\Tests\Numerics;
use Moserware\Skills\Numerics\BasicMath; use DNW\Skills\Numerics\BasicMath;
use Moserware\Skills\Numerics\GaussianDistribution; use DNW\Skills\Numerics\GaussianDistribution;
use Moserware\Skills\Tests\TestCase; use DNW\Skills\Tests\TestCase;
class GaussianDistributionTest extends TestCase class GaussianDistributionTest extends TestCase
{ {
@ -76,7 +76,7 @@ class GaussianDistributionTest extends TestCase
public function testLogRatioNormalization() public function testLogRatioNormalization()
{ {
// Verified with Ralf Herbrich's F# implementation // Verified with Ralf Herbrich's F# implementation
$m1s2 = new GaussianDistribution(1, 2); $m1s2 = new GaussianDistribution(1, 2);
$m3s4 = new GaussianDistribution(3, 4); $m3s4 = new GaussianDistribution(3, 4);
$lrn = GaussianDistribution::logRatioNormalization($m1s2, $m3s4); $lrn = GaussianDistribution::logRatioNormalization($m1s2, $m3s4);
@ -85,7 +85,7 @@ class GaussianDistributionTest extends TestCase
public function testAbsoluteDifference() public function testAbsoluteDifference()
{ {
// Verified with Ralf Herbrich's F# implementation // Verified with Ralf Herbrich's F# implementation
$standardNormal = new GaussianDistribution(0, 1); $standardNormal = new GaussianDistribution(0, 1);
$absDiff = GaussianDistribution::absoluteDifference($standardNormal, $standardNormal); $absDiff = GaussianDistribution::absoluteDifference($standardNormal, $standardNormal);
$this->assertEquals(0.0, $absDiff, '', GaussianDistributionTest::ERROR_TOLERANCE); $this->assertEquals(0.0, $absDiff, '', GaussianDistributionTest::ERROR_TOLERANCE);

@ -1,9 +1,9 @@
<?php namespace Moserware\Skills\Tests\Numerics; <?php namespace DNW\Skills\Tests\Numerics;
use Moserware\Skills\Numerics\IdentityMatrix; use DNW\Skills\Numerics\IdentityMatrix;
use Moserware\Skills\Numerics\Matrix; use DNW\Skills\Numerics\Matrix;
use Moserware\Skills\Numerics\SquareMatrix; use DNW\Skills\Numerics\SquareMatrix;
use Moserware\Skills\Tests\TestCase; use DNW\Skills\Tests\TestCase;
class MatrixTest extends TestCase class MatrixTest extends TestCase
{ {

@ -1,6 +1,6 @@
<?php namespace Moserware\Skills\Tests; <?php namespace DNW\Skills\Tests;
use Moserware\Skills\RankSorter; use DNW\Skills\RankSorter;
class RankSorterTest extends TestCase class RankSorterTest extends TestCase
{ {

@ -1,4 +1,4 @@
<?php namespace Moserware\Skills\Tests; <?php namespace DNW\Skills\Tests;
class TestCase extends \PHPUnit_Framework_TestCase class TestCase extends \PHPUnit_Framework_TestCase
{ {

@ -1,7 +1,7 @@
<?php namespace Moserware\Skills\Tests\TrueSkill; <?php namespace DNW\Skills\Tests\TrueSkill;
use Moserware\Skills\Tests\TestCase; use DNW\Skills\Tests\TestCase;
use Moserware\Skills\TrueSkill\DrawMargin; use DNW\Skills\TrueSkill\DrawMargin;
class DrawMarginTest extends TestCase class DrawMarginTest extends TestCase
{ {

@ -1,7 +1,7 @@
<?php namespace Moserware\Skills\Tests\TrueSkill; <?php namespace DNW\Skills\Tests\TrueSkill;
use Moserware\Skills\Tests\TestCase; use DNW\Skills\Tests\TestCase;
use Moserware\Skills\TrueSkill\FactorGraphTrueSkillCalculator; use DNW\Skills\TrueSkill\FactorGraphTrueSkillCalculator;
class FactorGraphTrueSkillCalculatorTest extends TestCase class FactorGraphTrueSkillCalculatorTest extends TestCase
{ {

@ -1,11 +1,11 @@
<?php namespace Moserware\Skills\Tests\TrueSkill; <?php namespace DNW\Skills\Tests\TrueSkill;
use Moserware\Skills\GameInfo; use DNW\Skills\GameInfo;
use Moserware\Skills\Player; use DNW\Skills\Player;
use Moserware\Skills\Rating; use DNW\Skills\Rating;
use Moserware\Skills\Team; use DNW\Skills\Team;
use Moserware\Skills\Teams; use DNW\Skills\Teams;
use Moserware\Skills\SkillCalculator; use DNW\Skills\SkillCalculator;
class TrueSkillCalculatorTests class TrueSkillCalculatorTests
{ {

@ -1,7 +1,7 @@
<?php namespace Moserware\Skills\Tests\TrueSkill; <?php namespace DNW\Skills\Tests\TrueSkill;
use Moserware\Skills\Tests\TestCase; use DNW\Skills\Tests\TestCase;
use Moserware\Skills\TrueSkill\TwoPlayerTrueSkillCalculator; use DNW\Skills\TrueSkill\TwoPlayerTrueSkillCalculator;
class TwoPlayerTrueSkillCalculatorTest extends TestCase class TwoPlayerTrueSkillCalculatorTest extends TestCase
{ {

@ -1,7 +1,7 @@
<?php namespace Moserware\Skills\Tests\TrueSkill; <?php namespace DNW\Skills\Tests\TrueSkill;
use Moserware\Skills\Tests\TestCase; use DNW\Skills\Tests\TestCase;
use Moserware\Skills\TrueSkill\TwoTeamTrueSkillCalculator; use DNW\Skills\TrueSkill\TwoTeamTrueSkillCalculator;
class TwoTeamTrueSkillCalculatorTest extends TestCase class TwoTeamTrueSkillCalculatorTest extends TestCase
{ {