Changeset 28 for stat_functions.php


Ignore:
Timestamp:
Feb 13, 2008, 1:59:20 PM (17 years ago)
Author:
george
Message:

Upraveno: Změna kódování stránek na UTF-8.
Přidáno: Verze 3.1 v sekci vývoje.
Přidáno: Odkaz pod grafem na vybraný časový úsek.
Opraveno: Zobrazování desetinných míst u čísel bez jednotek.
Opraveno: Zobrazování textů Min, Avg, Max v grafu.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • stat_functions.php

    r16 r28  
    2222);
    2323
     24function TruncateDigits($Value, $Digits = 4)
     25{
     26  for($II = 2; $II > -1; $II--)
     27  {
     28    if($Value >= pow(10, $II))
     29    { 
     30      if($Digits < ($II + 1)) $RealDigits = $II + 1; else $RealDigits = $Digits;
     31      $Value = round($Value / pow(10, $II - $RealDigits + 1)) * pow(10, $II - $RealDigits + 1);
     32      break;     
     33    }
     34  }
     35  return($Value);
     36}
     37
    2438function AddPrefixMultipliers($Value, $Unit, $Digits = 4)
    2539{
    2640  global $PrefixMultipliers;
    27   if($Unit == '') return($Value);
     41
     42  if($Unit == '') return(TruncateDigits($Value, $Digits));
    2843  $I = 8;
    2944  if($Value > 0) $II = 1;
     
    3449 
    3550  // Truncate digits count
    36   for($II=2; $II > -1; $II--)
    37   {
    38     if($Value >= pow(10, $II))
    39     { 
    40       if($Digits < ($II + 1)) $RealDigits = $II + 1; else $RealDigits = $Digits;
    41       $Value = round($Value / pow(10, $II - $RealDigits + 1)) * pow(10, $II - $RealDigits + 1);
    42       break;     
    43     }
    44   }
     51  $Value = TruncateDigits($Value, $Digits);
    4552   
    4653  return($Value.' '.$PrefixMultipliers[$I][0].$Unit);
     
    94101    if($Measure['Continuity'] == 0) $Measure['ContinuityEnabled'] = 0;  // non continuous
    95102      else $Measure['ContinuityEnabled'] = 2;    // continuous graph 
    96   } else die('Mìøená velièina nenalezena');
     103  } else die('M��enďż˝ veliďż˝ina nenalezena');
    97104  return($Measure);
    98105}
     
    182189function ComputeOneValue($LeftTime, $RightTime, $Values, $Measure, $Level)
    183190{
    184   global $ValueTypes;
     191  global $ValueTypes, $Differential;
    185192 
    186193  $NewValue = array('min' => +1000000000000000000, 'avg' => 0, 'max' => -1000000000000000000);
     
    207214      if($ValueType == 'avg')
    208215      {
    209         if($Values[$I+1]['continuity'] == $Measure['ContinuityEnabled']) ;
    210           else $NewValue[$ValueType] = $NewValue[$ValueType] + ($Values[$I+1]['time'] - $Values[$I]['time']) *
    211             (($Values[$I+1][$ValueType] - $Values[$I][$ValueType]) / 2 + $Values[$I][$ValueType]);
     216        if($Values[$I+1]['continuity'] == $Measure['ContinuityEnabled']);
     217          else if($Differential == 0)
     218          {
     219            $NewValue[$ValueType] = $NewValue[$ValueType] + ($Values[$I+1]['time'] - $Values[$I]['time']) *
     220              (($Values[$I+1][$ValueType] - $Values[$I][$ValueType]) / 2 + $Values[$I][$ValueType]);
     221          } else {
     222            $NewValue[$ValueType] = $NewValue[$ValueType] + ($Values[$I+1]['time'] - $Values[$I]['time']) *
     223             (($Values[$I+1][$ValueType] - $Values[$I][$ValueType]) / 2);
     224          }
    212225      }
    213226      else if($ValueType == 'max')
     
    219232        else
    220233        {
    221           //if($Values[$I][$ValueType] > $NewValue[$ValueType]) $NewValue[$ValueType] = $Values[$I][$ValueType];
    222           if($Values[$I+1][$ValueType] > $NewValue[$ValueType]) $NewValue[$ValueType] = $Values[$I+1][$ValueType];
     234          if($Differential == 0)
     235          {
     236            if($Values[$I+1][$ValueType] > $NewValue[$ValueType]) $NewValue[$ValueType] = $Values[$I+1][$ValueType];
     237          } else {
     238            $Difference = $Values[$I+1][$ValueType] - $Values[$I][$ValueType];
     239            if($Difference > $NewValue[$ValueType]) $NewValue[$ValueType] = $Difference;
     240          }
    223241        }
    224242      }
     
    232250        else
    233251        {
    234           //if($Values[$I][$ValueType] < $NewValue[$ValueType]) $NewValue[$ValueType] = $Values[$I][$ValueType];
    235           if($Values[$I+1][$ValueType] < $NewValue[$ValueType]) $NewValue[$ValueType] = $Values[$I+1][$ValueType];
     252          if($Differential == 0)
     253          {
     254            if($Values[$I+1][$ValueType] < $NewValue[$ValueType]) $NewValue[$ValueType] = $Values[$I+1][$ValueType];
     255          } else {
     256            $Difference = $Values[$I+1][$ValueType] - $Values[$I][$ValueType];
     257            if($Difference < $NewValue[$ValueType]) $NewValue[$ValueType] = $Difference;
     258          }
    236259        }
    237260      }
     
    241264  }
    242265  //if(($RightTime - $LeftTime) > 0)
    243   if($Measure['Cumulative'] == 0) $NewValue['avg'] = $NewValue['avg'] / ($RightTime - $LeftTime); 
     266  if($Measure['Cumulative'] == 0)
     267  {
     268    $NewValue['avg'] = $NewValue['avg'] / ($RightTime - $LeftTime);
     269  } 
    244270  return($NewValue);
    245271  //echo($NewValue['avg'].'<br>');
Note: See TracChangeset for help on using the changeset viewer.