X7ROOT File Manager
Current Path:
/opt/alt/ruby24/lib64/ruby/2.4.0
opt
/
alt
/
ruby24
/
lib64
/
ruby
/
2.4.0
/
ðŸ“
..
📄
English.rb
(6.45 KB)
📄
abbrev.rb
(3.49 KB)
📄
base64.rb
(3.31 KB)
📄
benchmark.rb
(17.9 KB)
ðŸ“
cgi
📄
cgi.rb
(9.8 KB)
📄
cmath.rb
(9.48 KB)
📄
csv.rb
(83.53 KB)
📄
date.rb
(1004 B)
📄
debug.rb
(29.98 KB)
📄
delegate.rb
(10.31 KB)
ðŸ“
digest
📄
digest.rb
(2.83 KB)
ðŸ“
drb
📄
drb.rb
(50 B)
📄
e2mmap.rb
(3.94 KB)
📄
erb.rb
(27.25 KB)
📄
expect.rb
(2.17 KB)
ðŸ“
fiddle
📄
fiddle.rb
(1.68 KB)
📄
fileutils.rb
(44.06 KB)
📄
find.rb
(2.52 KB)
ðŸ“
forwardable
📄
forwardable.rb
(8.5 KB)
📄
getoptlong.rb
(15.41 KB)
ðŸ“
io
📄
ipaddr.rb
(17.1 KB)
ðŸ“
irb
📄
irb.rb
(20.29 KB)
ðŸ“
json
📄
json.rb
(1.77 KB)
📄
kconv.rb
(5.77 KB)
📄
logger.rb
(23.53 KB)
📄
mathn.rb
(3.42 KB)
ðŸ“
matrix
📄
matrix.rb
(53.37 KB)
📄
mkmf.rb
(84.32 KB)
📄
monitor.rb
(7.02 KB)
📄
mutex_m.rb
(2.04 KB)
ðŸ“
net
📄
observer.rb
(5.83 KB)
📄
open-uri.rb
(24.76 KB)
📄
open3.rb
(20.59 KB)
ðŸ“
openssl
📄
openssl.rb
(445 B)
📄
optionparser.rb
(59 B)
ðŸ“
optparse
📄
optparse.rb
(57.25 KB)
📄
ostruct.rb
(10.2 KB)
📄
pathname.rb
(16.08 KB)
📄
pp.rb
(14.43 KB)
📄
prettyprint.rb
(15.89 KB)
📄
prime.rb
(12.49 KB)
📄
profile.rb
(236 B)
📄
profiler.rb
(4.54 KB)
📄
pstore.rb
(14.71 KB)
ðŸ“
psych
📄
psych.rb
(15.25 KB)
ðŸ“
racc
ðŸ“
rbconfig
ðŸ“
rdoc
📄
rdoc.rb
(5.07 KB)
📄
resolv-replace.rb
(1.76 KB)
📄
resolv.rb
(73.48 KB)
ðŸ“
rexml
ðŸ“
rinda
ðŸ“
ripper
📄
ripper.rb
(2.56 KB)
ðŸ“
rss
📄
rss.rb
(2.87 KB)
ðŸ“
rubygems
📄
rubygems.rb
(35.38 KB)
📄
scanf.rb
(23.56 KB)
📄
securerandom.rb
(7.48 KB)
📄
set.rb
(20.74 KB)
ðŸ“
shell
📄
shell.rb
(11.37 KB)
📄
shellwords.rb
(6.66 KB)
📄
singleton.rb
(4.06 KB)
📄
socket.rb
(42.99 KB)
📄
sync.rb
(7.29 KB)
ðŸ“
syslog
📄
tempfile.rb
(10.8 KB)
📄
thwait.rb
(3.35 KB)
📄
time.rb
(22.36 KB)
📄
timeout.rb
(3.83 KB)
📄
tmpdir.rb
(4.29 KB)
📄
tracer.rb
(6.44 KB)
📄
tsort.rb
(14.3 KB)
📄
ubygems.rb
(298 B)
📄
un.rb
(9.18 KB)
ðŸ“
unicode_normalize
📄
unicode_normalize.rb
(3.2 KB)
ðŸ“
uri
📄
uri.rb
(3.1 KB)
📄
weakref.rb
(2.95 KB)
ðŸ“
webrick
📄
webrick.rb
(6.72 KB)
ðŸ“
x86_64-linux
ðŸ“
yaml
📄
yaml.rb
(1.73 KB)
Editing: cmath.rb
# frozen_string_literal: false ## # = Trigonometric and transcendental functions for complex numbers. # # CMath is a library that provides trigonometric and transcendental # functions for complex numbers. The functions in this module accept # integers, floating-point numbers or complex numbers as arguments. # # Note that the selection of functions is similar, but not identical, # to that in module math. The reason for having two modules is that # some users aren't interested in complex numbers, and perhaps don't # even know what they are. They would rather have Math.sqrt(-1) raise # an exception than return a complex number. # # For more information you can see Complex class. # # == Usage # # To start using this library, simply require cmath library: # # require "cmath" module CMath include Math # Backup of Math is needed because mathn.rb replaces Math with CMath. RealMath = Math # :nodoc: private_constant :RealMath %w[ exp log log2 log10 sqrt cbrt sin cos tan sinh cosh tanh asin acos atan atan2 asinh acosh atanh ].each do |meth| define_method(meth + '!') do |*args, &block| warn("CMath##{meth}! is deprecated; use CMath##{meth} or Math##{meth}") if $VERBOSE RealMath.send(meth, *args, &block) end end ## # Math::E raised to the +z+ power # # CMath.exp(1.i * Math::PI) #=> (-1.0+1.2246467991473532e-16i) def exp(z) begin if z.real? RealMath.exp(z) else ere = RealMath.exp(z.real) Complex(ere * RealMath.cos(z.imag), ere * RealMath.sin(z.imag)) end rescue NoMethodError handle_no_method_error end end ## # Returns the natural logarithm of Complex. If a second argument is given, # it will be the base of logarithm. # # CMath.log(1 + 4i) #=> (1.416606672028108+1.3258176636680326i) # CMath.log(1 + 4i, 10) #=> (0.6152244606891369+0.5757952953408879i) def log(z, b=::Math::E) begin if z.real? && z >= 0 && b >= 0 RealMath.log(z, b) else Complex(RealMath.log(z.abs), z.arg) / log(b) end rescue NoMethodError handle_no_method_error end end ## # Returns the base 2 logarithm of +z+ # # CMath.log2(-1) => (0.0+4.532360141827194i) def log2(z) begin if z.real? and z >= 0 RealMath.log2(z) else log(z) / RealMath.log(2) end rescue NoMethodError handle_no_method_error end end ## # Returns the base 10 logarithm of +z+ # # CMath.log10(-1) #=> (0.0+1.3643763538418412i) def log10(z) begin if z.real? and z >= 0 RealMath.log10(z) else log(z) / RealMath.log(10) end rescue NoMethodError handle_no_method_error end end ## # Returns the non-negative square root of Complex. # # CMath.sqrt(-1 + 0i) #=> 0.0+1.0i def sqrt(z) begin if z.real? if z < 0 Complex(0, RealMath.sqrt(-z)) else RealMath.sqrt(z) end else if z.imag < 0 || (z.imag == 0 && z.imag.to_s[0] == '-') sqrt(z.conjugate).conjugate else r = z.abs x = z.real Complex(RealMath.sqrt((r + x) / 2.0), RealMath.sqrt((r - x) / 2.0)) end end rescue NoMethodError handle_no_method_error end end ## # Returns the principal value of the cube root of +z+ # # CMath.cbrt(1 + 4i) #=> (1.449461632813119+0.6858152562177092i) def cbrt(z) z ** (1.0/3) end ## # Returns the sine of +z+, where +z+ is given in radians # # CMath.sin(1 + 1i) #=> (1.2984575814159773+0.6349639147847361i) def sin(z) begin if z.real? RealMath.sin(z) else Complex(RealMath.sin(z.real) * RealMath.cosh(z.imag), RealMath.cos(z.real) * RealMath.sinh(z.imag)) end rescue NoMethodError handle_no_method_error end end ## # Returns the cosine of +z+, where +z+ is given in radians # # CMath.cos(1 + 1i) #=> (0.8337300251311491-0.9888977057628651i) def cos(z) begin if z.real? RealMath.cos(z) else Complex(RealMath.cos(z.real) * RealMath.cosh(z.imag), -RealMath.sin(z.real) * RealMath.sinh(z.imag)) end rescue NoMethodError handle_no_method_error end end ## # Returns the tangent of +z+, where +z+ is given in radians # # CMath.tan(1 + 1i) #=> (0.27175258531951174+1.0839233273386943i) def tan(z) begin if z.real? RealMath.tan(z) else sin(z) / cos(z) end rescue NoMethodError handle_no_method_error end end ## # Returns the hyperbolic sine of +z+, where +z+ is given in radians # # CMath.sinh(1 + 1i) #=> (0.6349639147847361+1.2984575814159773i) def sinh(z) begin if z.real? RealMath.sinh(z) else Complex(RealMath.sinh(z.real) * RealMath.cos(z.imag), RealMath.cosh(z.real) * RealMath.sin(z.imag)) end rescue NoMethodError handle_no_method_error end end ## # Returns the hyperbolic cosine of +z+, where +z+ is given in radians # # CMath.cosh(1 + 1i) #=> (0.8337300251311491+0.9888977057628651i) def cosh(z) begin if z.real? RealMath.cosh(z) else Complex(RealMath.cosh(z.real) * RealMath.cos(z.imag), RealMath.sinh(z.real) * RealMath.sin(z.imag)) end rescue NoMethodError handle_no_method_error end end ## # Returns the hyperbolic tangent of +z+, where +z+ is given in radians # # CMath.tanh(1 + 1i) #=> (1.0839233273386943+0.27175258531951174i) def tanh(z) begin if z.real? RealMath.tanh(z) else sinh(z) / cosh(z) end rescue NoMethodError handle_no_method_error end end ## # Returns the arc sine of +z+ # # CMath.asin(1 + 1i) #=> (0.6662394324925153+1.0612750619050355i) def asin(z) begin if z.real? and z >= -1 and z <= 1 RealMath.asin(z) else (-1.0).i * log(1.0.i * z + sqrt(1.0 - z * z)) end rescue NoMethodError handle_no_method_error end end ## # Returns the arc cosine of +z+ # # CMath.acos(1 + 1i) #=> (0.9045568943023813-1.0612750619050357i) def acos(z) begin if z.real? and z >= -1 and z <= 1 RealMath.acos(z) else (-1.0).i * log(z + 1.0.i * sqrt(1.0 - z * z)) end rescue NoMethodError handle_no_method_error end end ## # Returns the arc tangent of +z+ # # CMath.atan(1 + 1i) #=> (1.0172219678978514+0.4023594781085251i) def atan(z) begin if z.real? RealMath.atan(z) else 1.0.i * log((1.0.i + z) / (1.0.i - z)) / 2.0 end rescue NoMethodError handle_no_method_error end end ## # returns the arc tangent of +y+ divided by +x+ using the signs of +y+ and # +x+ to determine the quadrant # # CMath.atan2(1 + 1i, 0) #=> (1.5707963267948966+0.0i) def atan2(y,x) begin if y.real? and x.real? RealMath.atan2(y,x) else (-1.0).i * log((x + 1.0.i * y) / sqrt(x * x + y * y)) end rescue NoMethodError handle_no_method_error end end ## # returns the inverse hyperbolic sine of +z+ # # CMath.asinh(1 + 1i) #=> (1.0612750619050357+0.6662394324925153i) def asinh(z) begin if z.real? RealMath.asinh(z) else log(z + sqrt(1.0 + z * z)) end rescue NoMethodError handle_no_method_error end end ## # returns the inverse hyperbolic cosine of +z+ # # CMath.acosh(1 + 1i) #=> (1.0612750619050357+0.9045568943023813i) def acosh(z) begin if z.real? and z >= 1 RealMath.acosh(z) else log(z + sqrt(z * z - 1.0)) end rescue NoMethodError handle_no_method_error end end ## # returns the inverse hyperbolic tangent of +z+ # # CMath.atanh(1 + 1i) #=> (0.4023594781085251+1.0172219678978514i) def atanh(z) begin if z.real? and z >= -1 and z <= 1 RealMath.atanh(z) else log((1.0 + z) / (1.0 - z)) / 2.0 end rescue NoMethodError handle_no_method_error end end module_function :exp! module_function :exp module_function :log! module_function :log module_function :log2! module_function :log2 module_function :log10! module_function :log10 module_function :sqrt! module_function :sqrt module_function :cbrt! module_function :cbrt module_function :sin! module_function :sin module_function :cos! module_function :cos module_function :tan! module_function :tan module_function :sinh! module_function :sinh module_function :cosh! module_function :cosh module_function :tanh! module_function :tanh module_function :asin! module_function :asin module_function :acos! module_function :acos module_function :atan! module_function :atan module_function :atan2! module_function :atan2 module_function :asinh! module_function :asinh module_function :acosh! module_function :acosh module_function :atanh! module_function :atanh module_function :frexp module_function :ldexp module_function :hypot module_function :erf module_function :erfc module_function :gamma module_function :lgamma private def handle_no_method_error # :nodoc: if $!.name == :real? raise TypeError, "Numeric Number required" else raise end end module_function :handle_no_method_error end
Upload File
Create Folder