HEX

Warning: set_time_limit() [function.set-time-limit]: Cannot set time limit - prohibited by configuration in /home/u547966/brikov.ru/www/wp-content/plugins/admin-menu-editor/menu-editor.php on line 745
Server: Apache
System: Linux 4.19.0-0.bpo.9-amd64 x86_64 at red40
User: u547966 (5490)
PHP: 5.3.29-mh2
Disabled: syslog, dl, popen, proc_open, proc_nice, proc_get_status, proc_close, proc_terminate, posix_mkfifo, chown, chgrp, accelerator_reset, opcache_reset, accelerator_get_status, opcache_get_status, pcntl_alarm, pcntl_fork, pcntl_waitpid, pcntl_wait, pcntl_wifexited, pcntl_wifstopped, pcntl_wifsignaled, pcntl_wifcontinued, pcntl_wexitstatus, pcntl_wtermsig, pcntl_wstopsig, pcntl_signal, pcntl_signal_dispatch, pcntl_get_last_error, pcntl_strerror, pcntl_sigprocmask, pcntl_sigwaitinfo, pcntl_sigtimedwait, pcntl_exec, pcntl_getpriority, pcntl_setpriority
Upload Files
File: //usr/share/perl5/Math/Calc/Units/Convert/Base2Metric.pm
package Math::Calc::Units::Convert::Base2Metric;
use base 'Math::Calc::Units::Convert::Metric'; # Overrides
use strict;

use vars qw(%metric_base2 %abbrev $metric_prefix_test %pref);

%metric_base2 = ( kilo => 2**10,
		  mega => 2**20,
		  giga => 2**30,
		  tera => 2**40,
		  peta => 2**50,
		  exa => 2**60,
);

# No nanobytes, sorry
%abbrev = ( k => 'kilo',
	    m => 'mega',
	    g => 'giga',
	    t => 'tera',
	    p => 'peta',
	    e => 'exa',
);

%pref = ( unit => 1.0,
	  kilo => 0.8,
	  mega => 0.8,
	  giga => 0.8,
	  tera => 0.7,
	  peta => 0.6,
	  exa => 0.3,
);

sub get_metric {
    my ($self, $what) = @_;
    return $metric_base2{$what};
}

sub get_abbrev {
    my ($self, $what) = @_;
    return $abbrev{$what} || $abbrev{lc($what)};
}

$metric_prefix_test = qr/^(${\join("|",keys %metric_base2)})/i;

sub get_prefix {
    my ($self, $what) = @_;
    if ($what =~ $metric_prefix_test) {
	return $1;
    } else {
	return;
    }
}

sub prefix_pref {
    my ($self, $prefix) = @_;
    return $pref{lc($prefix)} || $pref{unit};
}

sub get_prefixes {
    return keys %metric_base2;
}

# Unnecessary efficiency hack: don't bother checking both upper & lower case
sub expand {
    my ($self, $char) = @_;
    return $self->get_abbrev($char);
}

1;