PageRenderTime 23ms CodeModel.GetById 22ms RepoModel.GetById 0ms app.codeStats 0ms

/Test/Analyst/BasicDecimal/Tool/calcValuesNestedAggAtInterval.php

https://github.com/codeactual/hashmark
PHP | 49 lines | 29 code | 9 blank | 11 comment | 0 complexity | a90c96a11205daabf98cb41801f12431 MD5 | raw file
  1. <?php
  2. // vim: fenc=utf-8:ft=php:ai:si:ts=4:sw=4:et:
  3. /**
  4. * Use bcmath to calculate expected values for Test/Analyst/BasicDecimal/Data/provider.php.
  5. *
  6. * @filesource
  7. * @copyright Copyright (c) 2008-2011 David Smith
  8. * @license http://www.opensource.org/licenses/mit-license.php MIT License
  9. * @package Hashmark-Test
  10. * @subpackage Hashmark_Analyst_BasicDecimal
  11. * @version $Id$
  12. */
  13. $expValues = array();
  14. $aggFunctions = Hashmark_TestCase_Analyst_BasicDecimal::getAggFunctions();
  15. foreach ($expProviders['provideValuesAggAtInterval'] as $sampleProviderName => $providerAggs) {
  16. $expValues[$sampleProviderName] = array('ALL' => array_fill_keys($aggFunctions, array()),
  17. 'DIS_INNER' => array_fill_keys($aggFunctions, array()),
  18. 'DIS_OUTER' => array_fill_keys($aggFunctions, array()),
  19. 'DIS_BOTH' => array_fill_keys($aggFunctions, array()));
  20. foreach ($aggFunctions as $aggFuncInner) {
  21. $distinctOuterValues = array_unique($providerAggs['ALL'][$aggFuncInner]);
  22. $distinctBothValues = array_unique($providerAggs['DIS'][$aggFuncInner]);
  23. $expValues[$sampleProviderName]['ALL']['AVG'][$aggFuncInner] = Hashmark_BcMath::avg($providerAggs['ALL'][$aggFuncInner]);
  24. $expValues[$sampleProviderName]['DIS_INNER']['AVG'][$aggFuncInner] = Hashmark_BcMath::avg($providerAggs['DIS'][$aggFuncInner]);
  25. $expValues[$sampleProviderName]['DIS_OUTER']['AVG'][$aggFuncInner] = Hashmark_BcMath::avg($distinctOuterValues);
  26. $expValues[$sampleProviderName]['DIS_BOTH']['AVG'][$aggFuncInner] = Hashmark_BcMath::avg($distinctBothValues);
  27. $expValues[$sampleProviderName]['ALL']['SUM'][$aggFuncInner] = Hashmark_BcMath::sum($providerAggs['ALL'][$aggFuncInner]);
  28. $expValues[$sampleProviderName]['DIS_INNER']['SUM'][$aggFuncInner] = Hashmark_BcMath::sum($providerAggs['DIS'][$aggFuncInner]);
  29. $expValues[$sampleProviderName]['DIS_OUTER']['SUM'][$aggFuncInner] = Hashmark_BcMath::sum($distinctOuterValues);
  30. $expValues[$sampleProviderName]['DIS_BOTH']['SUM'][$aggFuncInner] = Hashmark_BcMath::sum($distinctBothValues);
  31. $expValues[$sampleProviderName]['ALL']['MAX'][$aggFuncInner] = Hashmark_BcMath::max($providerAggs['ALL'][$aggFuncInner]);
  32. $expValues[$sampleProviderName]['DIS_INNER']['MAX'][$aggFuncInner] = Hashmark_BcMath::max($providerAggs['DIS'][$aggFuncInner]);
  33. $expValues[$sampleProviderName]['DIS_OUTER']['MAX'][$aggFuncInner] = Hashmark_BcMath::max($distinctOuterValues);
  34. $expValues[$sampleProviderName]['DIS_BOTH']['MAX'][$aggFuncInner] = Hashmark_BcMath::max($distinctBothValues);
  35. $expValues[$sampleProviderName]['ALL']['MIN'][$aggFuncInner] = Hashmark_BcMath::min($providerAggs['ALL'][$aggFuncInner]);
  36. $expValues[$sampleProviderName]['DIS_INNER']['MIN'][$aggFuncInner] = Hashmark_BcMath::min($providerAggs['DIS'][$aggFuncInner]);
  37. $expValues[$sampleProviderName]['DIS_OUTER']['MIN'][$aggFuncInner] = Hashmark_BcMath::min($distinctOuterValues);
  38. $expValues[$sampleProviderName]['DIS_BOTH']['MIN'][$aggFuncInner] = Hashmark_BcMath::min($distinctBothValues);
  39. }
  40. }