+++ /dev/null
-#!/usr/bin/perl -w
-package AlvinMisc;
-use strict;
-#require 5.005_64;
-#our($VERSION, @EXPORT_OK, @ISA);
-use Carp;
-use Symbol;
-use SelectSaver;
-use IO (); # Load the XS module
-use IO::Handle;
-use English;
-require Exporter;
-use vars qw($VERSION @ISA @EXPORT_OK);
-@ISA = qw(Exporter);
-
-$VERSION = "1.21";
-
-@EXPORT_OK = qw(
- host
- sys_arch
-
- min
- max
- beep
- approx
-
- melange
- alea_gaussien
- random
- canonical_name
-);
-
-our($canonical_name);
-sub set_canonical_name {
- $canonical_name=$PROCESS_ID.host();
-# $canonical_name="4279moby";
-}
-
-#############
-# These subroutines determine hostnames, archs, ...
-#
-sub host() {
- my($un);
- $un=`uname -n`; chomp($un);
- return $un;
-}
-
-sub sys_arch() {
- my($us,$ur,$up);
- $us = `uname -s`; chomp($us);
- $ur = `uname -r`; chomp($ur);
- $up = `uname -p`; chomp($up);
- return $us."-".$ur."-".$up;
-}
-
-sub moyenne {
- my($moy)=0;
-
- if(scalar(@_)==0) {return $moy;}
- foreach (@_) {
- $moy+=$_;
- }
- $moy/=scalar(@_);
- return $moy;
-}
-
-#############
-# min
-#
-sub min {
- my $min = shift;
- foreach (@_) { $min = $_ if $_ < $min; }
- $min;
-}
-
-#############
-# max
-#
-sub max {
- my $max = shift;
- foreach (@_) { $max = $_ if $_ > $max; }
- $max;
-}
-
-
-#############
-# beep !!
-#
-sub beep{
- print STDOUT "\a";
- return;
-}
-
-#############
-# approx
-#
-sub approx{
- my($number) = shift;
- my($e);
-
- $e = int($number);
- if (($number-$e) < 0.5) {
- return $e;
- } else {
- return ($e+1);
- }
-}
-
-######################## fonctions aléatoires diverses #############################
-
-sub melange {
- my $tableau=shift;
- my($i,$j);
-
- for($i = @$tableau ; --$i; ) {
- $j = int rand ($i+1);
- next if $i==$j;
- @$tableau[$i,$j] = @$tableau[$j,$i];
- }
-}
-
-sub alea_gaussien {
- my($u1,$u2);
- my $w;
- my($g1, $g2);
-
- do {
- $u1 = 2*rand() -1;
- $u2 = 2*rand() -1;
- $w = $u1*$u1 + $u2*$u2 ;
- } while ( $w >=1 || $w==0 );
-
- $w = sqrt ( (-2*log($w))/$w );
- $g2 = $u1 * $w;
- $g1 = $u2 * $w;
- return($g1);
-}
-
-sub random {
- my($min,$max)=@_;
- return ($min+rand($max-$min));
-}
-
-
-srand;
-
-set_canonical_name;
-
-1;