$10 GRAYBYTE WORDPRESS FILE MANAGER $63

SERVER : premium201.web-hosting.com #1 SMP Wed Mar 26 12:08:09 UTC 2025
SERVER IP : 172.67.217.254 | ADMIN IP 216.73.216.23
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : NONE

/opt/alt/ruby18/lib64/ruby/1.8/

HOME
Current File : /opt/alt/ruby18/lib64/ruby/1.8//complex.rb
#
#   complex.rb - 
#   	$Release Version: 0.5 $
#   	$Revision: 1.3 $
#   	$Date: 1998/07/08 10:05:28 $
#   	by Keiju ISHITSUKA(SHL Japan Inc.)
#
# ----
#
# complex.rb implements the Complex class for complex numbers.  Additionally,
# some methods in other Numeric classes are redefined or added to allow greater
# interoperability with Complex numbers.
#
# Complex numbers can be created in the following manner:
# - <tt>Complex(a, b)</tt>
# - <tt>Complex.polar(radius, theta)</tt>
#   
# Additionally, note the following:
# - <tt>Complex::I</tt> (the mathematical constant <i>i</i>)
# - <tt>Numeric#im</tt> (e.g. <tt>5.im -> 0+5i</tt>)
#
# The following +Math+ module methods are redefined to handle Complex arguments.
# They will work as normal with non-Complex arguments.
#    sqrt exp cos sin tan log log10
#    cosh sinh tanh acos asin atan atan2 acosh asinh atanh
#


#
# Numeric is a built-in class on which Fixnum, Bignum, etc., are based.  Here
# some methods are added so that all number types can be treated to some extent
# as Complex numbers.
#
class Numeric
  #
  # Returns a Complex number <tt>(0,<i>self</i>)</tt>.
  #
  def im
    Complex(0, self)
  end
  
  #
  # The real part of a complex number, i.e. <i>self</i>.
  #
  def real
    self
  end
  
  #
  # The imaginary part of a complex number, i.e. 0.
  #
  def image
    0
  end
  alias imag image
  
  #
  # See Complex#arg.
  #
  def arg
    Math.atan2!(0, self)
  end
  alias angle arg
  
  #
  # See Complex#polar.
  #
  def polar
    return abs, arg
  end
  
  #
  # See Complex#conjugate (short answer: returns <i>self</i>).
  #
  def conjugate
    self
  end
  alias conj conjugate
end


#
# Creates a Complex number.  +a+ and +b+ should be Numeric.  The result will be
# <tt>a+bi</tt>.
#
def Complex(a, b = 0)
  if b == 0 and (a.kind_of?(Complex) or defined? Complex::Unify)
    a
  else
    Complex.new( a.real-b.imag, a.imag+b.real )
  end
end

#
# The complex number class.  See complex.rb for an overview.
#
class Complex < Numeric
  @RCS_ID='-$Id: complex.rb,v 1.3 1998/07/08 10:05:28 keiju Exp keiju $-'

  undef step
  undef div, divmod
  undef floor, truncate, ceil, round

  def Complex.generic?(other) # :nodoc:
    other.kind_of?(Integer) or
    other.kind_of?(Float) or
    (defined?(Rational) and other.kind_of?(Rational))
  end

  #
  # Creates a +Complex+ number in terms of +r+ (radius) and +theta+ (angle).
  #
  def Complex.polar(r, theta)
    Complex(r*Math.cos(theta), r*Math.sin(theta))
  end

  #
  # Creates a +Complex+ number <tt>a</tt>+<tt>b</tt><i>i</i>.
  #
  def Complex.new!(a, b=0)
    new(a,b)
  end

  def initialize(a, b)
    raise TypeError, "non numeric 1st arg `#{a.inspect}'" if !a.kind_of? Numeric
    raise TypeError, "`#{a.inspect}' for 1st arg" if a.kind_of? Complex
    raise TypeError, "non numeric 2nd arg `#{b.inspect}'" if !b.kind_of? Numeric
    raise TypeError, "`#{b.inspect}' for 2nd arg" if b.kind_of? Complex
    @real = a
    @image = b
  end

  #
  # Addition with real or complex number.
  #
  def + (other)
    if other.kind_of?(Complex)
      re = @real + other.real
      im = @image + other.image
      Complex(re, im)
    elsif Complex.generic?(other)
      Complex(@real + other, @image)
    else
      x , y = other.coerce(self)
      x + y
    end
  end
  
  #
  # Subtraction with real or complex number.
  #
  def - (other)
    if other.kind_of?(Complex)
      re = @real - other.real
      im = @image - other.image
      Complex(re, im)
    elsif Complex.generic?(other)
      Complex(@real - other, @image)
    else
      x , y = other.coerce(self)
      x - y
    end
  end
  
  #
  # Multiplication with real or complex number.
  #
  def * (other)
    if other.kind_of?(Complex)
      re = @real*other.real - @image*other.image
      im = @real*other.image + @image*other.real
      Complex(re, im)
    elsif Complex.generic?(other)
      Complex(@real * other, @image * other)
    else
      x , y = other.coerce(self)
      x * y
    end
  end
  
  #
  # Division by real or complex number.
  #
  def / (other)
    if other.kind_of?(Complex)
      self*other.conjugate/other.abs2
    elsif Complex.generic?(other)
      Complex(@real/other, @image/other)
    else
      x, y = other.coerce(self)
      x/y
    end
  end
  
  def quo(other)
    Complex(@real.quo(1), @image.quo(1)) / other
  end

  #
  # Raise this complex number to the given (real or complex) power.
  #
  def ** (other)
    if other == 0
      return Complex(1)
    end
    if other.kind_of?(Complex)
      r, theta = polar
      ore = other.real
      oim = other.image
      nr = Math.exp!(ore*Math.log!(r) - oim * theta)
      ntheta = theta*ore + oim*Math.log!(r)
      Complex.polar(nr, ntheta)
    elsif other.kind_of?(Integer)
      if other > 0
	x = self
	z = x
	n = other - 1
	while n != 0
	  while (div, mod = n.divmod(2)
		 mod == 0)
	    x = Complex(x.real*x.real - x.image*x.image, 2*x.real*x.image)
	    n = div
	  end
	  z *= x
	  n -= 1
	end
	z
      else
	if defined? Rational
	  (Rational(1) / self) ** -other
	else
	  self ** Float(other)
	end
      end
    elsif Complex.generic?(other)
      r, theta = polar
      Complex.polar(r**other, theta*other)
    else
      x, y = other.coerce(self)
      x**y
    end
  end
  
  #
  # Remainder after division by a real or complex number.
  #
  def % (other)
    if other.kind_of?(Complex)
      Complex(@real % other.real, @image % other.image)
    elsif Complex.generic?(other)
      Complex(@real % other, @image % other)
    else
      x , y = other.coerce(self)
      x % y
    end
  end
  
#--
#    def divmod(other)
#      if other.kind_of?(Complex)
#        rdiv, rmod = @real.divmod(other.real)
#        idiv, imod = @image.divmod(other.image)
#        return Complex(rdiv, idiv), Complex(rmod, rmod)
#      elsif Complex.generic?(other)
#        Complex(@real.divmod(other), @image.divmod(other))
#      else
#        x , y = other.coerce(self)
#        x.divmod(y)
#      end
#    end
#++
  
  #
  # Absolute value (aka modulus): distance from the zero point on the complex
  # plane.
  #
  def abs
    Math.hypot(@real, @image)
  end
  
  #
  # Square of the absolute value.
  #
  def abs2
    @real*@real + @image*@image
  end
  
  #
  # Argument (angle from (1,0) on the complex plane).
  #
  def arg
    Math.atan2!(@image, @real)
  end
  alias angle arg
  
  #
  # Returns the absolute value _and_ the argument.
  #
  def polar
    return abs, arg
  end
  
  #
  # Complex conjugate (<tt>z + z.conjugate = 2 * z.real</tt>).
  #
  def conjugate
    Complex(@real, -@image)
  end
  alias conj conjugate
  
  #
  # Compares the absolute values of the two numbers.
  #
  def <=> (other)
    self.abs <=> other.abs
  end
  
  #
  # Test for numerical equality (<tt>a == a + 0<i>i</i></tt>).
  #
  def == (other)
    if other.kind_of?(Complex)
      @real == other.real and @image == other.image
    elsif Complex.generic?(other)
      @real == other and @image == 0
    else
      other == self
    end
  end

  #
  # Attempts to coerce +other+ to a Complex number.
  #
  def coerce(other)
    if Complex.generic?(other)
      return Complex.new!(other), self
    else
      super
    end
  end

  #
  # FIXME
  #
  def denominator
    @real.denominator.lcm(@image.denominator)
  end
  
  #
  # FIXME
  #
  def numerator
    cd = denominator
    Complex(@real.numerator*(cd/@real.denominator),
	    @image.numerator*(cd/@image.denominator))
  end
  
  #
  # Standard string representation of the complex number.
  #
  def to_s
    if @real != 0
      if defined?(Rational) and @image.kind_of?(Rational) and @image.denominator != 1
	if @image >= 0
	  @real.to_s+"+("[email protected]_s+")i"
	else
	  @real.to_s+"-("+(-@image).to_s+")i"
	end
      else
	if @image >= 0
	  @real.to_s+"+"[email protected]_s+"i"
	else
	  @real.to_s+"-"+(-@image).to_s+"i"
	end
      end
    else
      if defined?(Rational) and @image.kind_of?(Rational) and @image.denominator != 1
	"("[email protected]_s+")i"
      else
	@image.to_s+"i"
      end
    end
  end
  
  #
  # Returns a hash code for the complex number.
  #
  def hash
    @real.hash ^ @image.hash
  end
  
  #
  # Returns "<tt>Complex(<i>real</i>, <i>image</i>)</tt>".
  #
  def inspect
    sprintf("Complex(%s, %s)", @real.inspect, @image.inspect)
  end

  
  #
  # +I+ is the imaginary number.  It exists at point (0,1) on the complex plane.
  #
  I = Complex(0,1)
  
  # The real part of a complex number.
  attr :real

  # The imaginary part of a complex number.
  attr :image
  alias imag image
  
end

class Integer

  unless defined?(1.numerator)
    def numerator() self end
    def denominator() 1 end

    def gcd(other)
      min = self.abs
      max = other.abs
      while min > 0
        tmp = min
        min = max % min
        max = tmp
      end
      max
    end

    def lcm(other)
      if self.zero? or other.zero?
        0
      else
        (self.div(self.gcd(other)) * other).abs
      end
    end

  end

end

module Math
  alias sqrt! sqrt
  alias exp! exp
  alias log! log
  alias log10! log10
  alias cos! cos
  alias sin! sin
  alias tan! tan
  alias cosh! cosh
  alias sinh! sinh
  alias tanh! tanh
  alias acos! acos
  alias asin! asin
  alias atan! atan
  alias atan2! atan2
  alias acosh! acosh
  alias asinh! asinh
  alias atanh! atanh  

  # Redefined to handle a Complex argument.
  def sqrt(z)
    if Complex.generic?(z)
      if z >= 0
	sqrt!(z)
      else
	Complex(0,sqrt!(-z))
      end
    else
      if z.image < 0
	sqrt(z.conjugate).conjugate
      else
	r = z.abs
	x = z.real
	Complex( sqrt!((r+x)/2), sqrt!((r-x)/2) )
      end
    end
  end
  
  # Redefined to handle a Complex argument.
  def exp(z)
    if Complex.generic?(z)
      exp!(z)
    else
      Complex(exp!(z.real) * cos!(z.image), exp!(z.real) * sin!(z.image))
    end
  end
  
  # Redefined to handle a Complex argument.
  def cos(z)
    if Complex.generic?(z)
      cos!(z)
    else
      Complex(cos!(z.real)*cosh!(z.image),
	      -sin!(z.real)*sinh!(z.image))
    end
  end
    
  # Redefined to handle a Complex argument.
  def sin(z)
    if Complex.generic?(z)
      sin!(z)
    else
      Complex(sin!(z.real)*cosh!(z.image),
	      cos!(z.real)*sinh!(z.image))
    end
  end
  
  # Redefined to handle a Complex argument.
  def tan(z)
    if Complex.generic?(z)
      tan!(z)
    else
      sin(z)/cos(z)
    end
  end

  def sinh(z)
    if Complex.generic?(z)
      sinh!(z)
    else
      Complex( sinh!(z.real)*cos!(z.image), cosh!(z.real)*sin!(z.image) )
    end
  end

  def cosh(z)
    if Complex.generic?(z)
      cosh!(z)
    else
      Complex( cosh!(z.real)*cos!(z.image), sinh!(z.real)*sin!(z.image) )
    end
  end

  def tanh(z)
    if Complex.generic?(z)
      tanh!(z)
    else
      sinh(z)/cosh(z)
    end
  end
  
  # Redefined to handle a Complex argument.
  def log(z)
    if Complex.generic?(z) and z >= 0
      log!(z)
    else
      r, theta = z.polar
      Complex(log!(r.abs), theta)
    end
  end
  
  # Redefined to handle a Complex argument.
  def log10(z)
    if Complex.generic?(z)
      log10!(z)
    else
      log(z)/log!(10)
    end
  end

  def acos(z)
    if Complex.generic?(z) and z >= -1 and z <= 1
      acos!(z)
    else
      -1.0.im * log( z + 1.0.im * sqrt(1.0-z*z) )
    end
  end

  def asin(z)
    if Complex.generic?(z) and z >= -1 and z <= 1
      asin!(z)
    else
      -1.0.im * log( 1.0.im * z + sqrt(1.0-z*z) )
    end
  end

  def atan(z)
    if Complex.generic?(z)
      atan!(z)
    else
      1.0.im * log( (1.0.im+z) / (1.0.im-z) ) / 2.0
    end
  end

  def atan2(y,x)
    if Complex.generic?(y) and Complex.generic?(x)
      atan2!(y,x)
    else
      -1.0.im * log( (x+1.0.im*y) / sqrt(x*x+y*y) )
    end
  end

  def acosh(z)
    if Complex.generic?(z) and z >= 1
      acosh!(z)
    else
      log( z + sqrt(z*z-1.0) )
    end
  end

  def asinh(z)
    if Complex.generic?(z)
      asinh!(z)
    else
      log( z + sqrt(1.0+z*z) )
    end
  end

  def atanh(z)
    if Complex.generic?(z) and z >= -1 and z <= 1
      atanh!(z)
    else
      log( (1.0+z) / (1.0-z) ) / 2.0
    end
  end

  module_function :sqrt!
  module_function :sqrt
  module_function :exp!
  module_function :exp
  module_function :log!
  module_function :log
  module_function :log10!
  module_function :log10
  module_function :cosh!
  module_function :cosh
  module_function :cos!
  module_function :cos
  module_function :sinh!
  module_function :sinh
  module_function :sin!
  module_function :sin
  module_function :tan!
  module_function :tan
  module_function :tanh!
  module_function :tanh
  module_function :acos!
  module_function :acos
  module_function :asin!
  module_function :asin
  module_function :atan!
  module_function :atan
  module_function :atan2!
  module_function :atan2
  module_function :acosh!
  module_function :acosh
  module_function :asinh!
  module_function :asinh
  module_function :atanh!
  module_function :atanh
  
end

# Documentation comments:
#  - source: original (researched from pickaxe)
#  - a couple of fixme's
#  - RDoc output for Bignum etc. is a bit short, with nothing but an
#    (undocumented) alias.  No big deal.


Current_dir [ NOT WRITEABLE ] Document_root [ NOT WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
3 Mar 2024 10.50 PM
root / root
0755
bigdecimal
--
3 Mar 2024 10.48 PM
root / linksafe
0755
cgi
--
3 Mar 2024 10.48 PM
root / linksafe
0755
date
--
3 Mar 2024 10.48 PM
root / linksafe
0755
digest
--
3 Mar 2024 10.48 PM
root / linksafe
0755
dl
--
3 Mar 2024 10.48 PM
root / linksafe
0755
drb
--
3 Mar 2024 10.48 PM
root / linksafe
0755
io
--
3 Mar 2024 10.48 PM
root / linksafe
0755
irb
--
3 Mar 2024 10.48 PM
root / linksafe
0755
net
--
3 Mar 2024 10.48 PM
root / linksafe
0755
openssl
--
3 Mar 2024 10.48 PM
root / linksafe
0755
optparse
--
3 Mar 2024 10.48 PM
root / linksafe
0755
racc
--
3 Mar 2024 10.48 PM
root / linksafe
0755
rdoc
--
3 Mar 2024 10.48 PM
root / linksafe
0755
rexml
--
3 Mar 2024 10.48 PM
root / linksafe
0755
rinda
--
3 Mar 2024 10.48 PM
root / linksafe
0755
rss
--
3 Mar 2024 10.48 PM
root / linksafe
0755
runit
--
3 Mar 2024 10.48 PM
root / linksafe
0755
shell
--
3 Mar 2024 10.48 PM
root / linksafe
0755
soap
--
3 Mar 2024 10.48 PM
root / linksafe
0755
test
--
3 Mar 2024 10.48 PM
root / linksafe
0755
uri
--
3 Mar 2024 10.48 PM
root / linksafe
0755
webrick
--
3 Mar 2024 10.48 PM
root / linksafe
0755
wsdl
--
3 Mar 2024 10.48 PM
root / linksafe
0755
x86_64-linux
--
3 Mar 2024 10.50 PM
root / root
0755
xmlrpc
--
3 Mar 2024 10.48 PM
root / linksafe
0755
xsd
--
3 Mar 2024 10.48 PM
root / linksafe
0755
yaml
--
3 Mar 2024 10.48 PM
root / linksafe
0755
English.rb
5.598 KB
12 Feb 2007 11.01 PM
root / linksafe
0644
Env.rb
0.268 KB
12 Feb 2007 11.01 PM
root / linksafe
0644
abbrev.rb
2.503 KB
12 Feb 2007 11.01 PM
root / linksafe
0644
base64.rb
3.37 KB
16 Jul 2007 3.47 PM
root / linksafe
0644
benchmark.rb
17.729 KB
10 Feb 2008 3.24 PM
root / linksafe
0644
cgi-lib.rb
6.891 KB
12 Feb 2007 11.01 PM
root / linksafe
0644
cgi.rb
73.737 KB
14 Dec 2009 2.40 AM
root / linksafe
0644
complex.rb
12.839 KB
3 Aug 2009 5.59 AM
root / linksafe
0644
csv.rb
24.459 KB
12 Feb 2007 11.01 PM
root / linksafe
0644
date.rb
53.024 KB
8 Jun 2010 4.45 AM
root / linksafe
0644
date2.rb
0.125 KB
12 Feb 2007 11.01 PM
root / linksafe
0644
debug.rb
20.609 KB
12 Feb 2007 11.01 PM
root / linksafe
0644
delegate.rb
8.808 KB
16 Jul 2009 12.35 AM
root / linksafe
0644
digest.rb
1.118 KB
28 Jul 2007 12.40 AM
root / linksafe
0644
drb.rb
0.019 KB
12 Feb 2007 11.01 PM
root / linksafe
0644
e2mmap.rb
4.037 KB
12 Feb 2007 11.01 PM
root / linksafe
0644
erb.rb
21.38 KB
23 Feb 2009 5.44 PM
root / linksafe
0644
eregex.rb
0.476 KB
12 Feb 2007 11.01 PM
root / linksafe
0644
expect.rb
0.618 KB
18 Feb 2008 1.17 AM
root / linksafe
0644
fileutils.rb
42.229 KB
20 May 2011 10.29 PM
root / linksafe
0644
finalize.rb
5.376 KB
12 Feb 2007 11.01 PM
root / linksafe
0644
find.rb
1.836 KB
12 Feb 2007 11.01 PM
root / linksafe
0644
forwardable.rb
6.163 KB
6 Jun 2008 8.05 AM
root / linksafe
0644
ftools.rb
6.168 KB
12 Feb 2007 11.01 PM
root / linksafe
0644
generator.rb
8.1 KB
10 Apr 2008 10.52 AM
root / linksafe
0644
getoptlong.rb
14.877 KB
12 Feb 2007 11.01 PM
root / linksafe
0644
getopts.rb
2.252 KB
12 Feb 2007 11.01 PM
root / linksafe
0644
gserver.rb
6.431 KB
12 Feb 2007 11.01 PM
root / linksafe
0644
importenv.rb
0.576 KB
12 Feb 2007 11.01 PM
root / linksafe
0644
ipaddr.rb
21.957 KB
12 Jul 2008 3.08 PM
root / linksafe
0644
irb.rb
7.43 KB
9 Aug 2009 8.44 AM
root / linksafe
0644
jcode.rb
4.297 KB
12 Feb 2007 11.01 PM
root / linksafe
0644
kconv.rb
8.124 KB
12 Feb 2007 11.01 PM
root / linksafe
0644
logger.rb
17.588 KB
30 May 2011 2.08 AM
root / linksafe
0644
mailread.rb
1.284 KB
12 Feb 2007 11.01 PM
root / linksafe
0644
mathn.rb
5.419 KB
12 Feb 2007 11.01 PM
root / linksafe
0644
matrix.rb
27.208 KB
24 Jan 2009 3.02 PM
root / linksafe
0644
md5.rb
0.401 KB
6 Mar 2007 10.09 AM
root / linksafe
0644
mkmf.rb
50.646 KB
4 Dec 2010 6.34 AM
root / linksafe
0644
monitor.rb
7.926 KB
25 Nov 2009 7.45 AM
root / linksafe
0644
mutex_m.rb
2.072 KB
12 Feb 2007 11.01 PM
root / linksafe
0644
observer.rb
5.154 KB
12 Feb 2007 11.01 PM
root / linksafe
0644
open-uri.rb
20.49 KB
8 Oct 2007 11.16 AM
root / linksafe
0644
open3.rb
2.098 KB
14 Dec 2009 4.28 AM
root / linksafe
0644
openssl.rb
0.562 KB
22 Nov 2010 7.21 AM
root / linksafe
0644
optparse.rb
47.121 KB
20 Feb 2009 11.43 AM
root / linksafe
0644
ostruct.rb
3.354 KB
26 May 2009 12.06 PM
root / linksafe
0644
parsearg.rb
1.554 KB
12 Feb 2007 11.01 PM
root / linksafe
0644
parsedate.rb
1.327 KB
12 Feb 2007 11.01 PM
root / linksafe
0644
pathname.rb
29.386 KB
23 Nov 2010 8.21 AM
root / linksafe
0644
ping.rb
1.481 KB
12 Feb 2007 11.01 PM
root / linksafe
0644
pp.rb
15.966 KB
7 Jun 2007 10.06 AM
root / linksafe
0644
prettyprint.rb
18.335 KB
16 Feb 2007 7.53 PM
root / linksafe
0644
profile.rb
0.088 KB
12 Feb 2007 11.01 PM
root / linksafe
0644
profiler.rb
1.589 KB
12 Feb 2007 11.01 PM
root / linksafe
0644
pstore.rb
11.149 KB
6 Jun 2008 8.05 AM
root / linksafe
0644
rational.rb
12.05 KB
8 Jun 2010 5.02 AM
root / linksafe
0644
readbytes.rb
0.815 KB
12 Feb 2007 11.01 PM
root / linksafe
0644
resolv-replace.rb
1.553 KB
8 Aug 2008 1.58 AM
root / linksafe
0644
resolv.rb
56.831 KB
23 Dec 2010 3.22 AM
root / linksafe
0644
rss.rb
0.492 KB
21 Oct 2007 12.19 PM
root / linksafe
0644
rubyunit.rb
0.176 KB
12 Feb 2007 11.01 PM
root / linksafe
0644
scanf.rb
20.633 KB
20 Jan 2009 3.23 AM
root / linksafe
0644
securerandom.rb
4.267 KB
10 Dec 2011 12.17 PM
root / linksafe
0644
set.rb
27.076 KB
9 Jun 2008 9.20 AM
root / linksafe
0644
sha1.rb
0.408 KB
6 Mar 2007 10.09 AM
root / linksafe
0644
shell.rb
4.655 KB
12 Feb 2007 11.01 PM
root / linksafe
0644
shellwords.rb
3.99 KB
21 Mar 2008 12.16 PM
root / linksafe
0644
singleton.rb
8.077 KB
3 Jul 2008 11.14 AM
root / linksafe
0644
sync.rb
6.086 KB
19 Feb 2009 4.41 PM
root / linksafe
0644
tempfile.rb
4.861 KB
21 Apr 2008 9.43 AM
root / linksafe
0644
thread.rb
0.102 KB
13 Feb 2007 7.39 PM
root / linksafe
0644
thwait.rb
4.316 KB
8 Jun 2010 7.08 AM
root / linksafe
0644
time.rb
31.58 KB
6 Jun 2008 8.05 AM
root / linksafe
0644
timeout.rb
3.005 KB
8 Jun 2010 6.24 AM
root / linksafe
0644
tmpdir.rb
3.694 KB
26 Jan 2009 2.12 AM
root / linksafe
0644
tracer.rb
2.727 KB
12 Feb 2007 11.01 PM
root / linksafe
0644
tsort.rb
7.993 KB
12 Feb 2007 11.01 PM
root / linksafe
0644
un.rb
4.537 KB
12 Feb 2007 11.01 PM
root / linksafe
0644
uri.rb
0.693 KB
15 Apr 2008 9.41 AM
root / linksafe
0644
weakref.rb
2.684 KB
12 Feb 2007 11.01 PM
root / linksafe
0644
webrick.rb
0.792 KB
12 Feb 2007 11.01 PM
root / linksafe
0644
yaml.rb
12.355 KB
19 Apr 2008 11.45 AM
root / linksafe
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025 CONTACT ME
Static GIF