Module: CAMath

Includes:
Math
Defined in:
lib/carray/base/basic.rb,
lib/carray/base/math.rb

Overview


carray/base/base.rb

This file is part of Ruby/CArray extension library.
You can redistribute it and/or modify it under the terms of
the Ruby Licence.

Copyright (C) 2005 Hiroki Motoyoshi

Class Method Summary collapse

Class Method Details

.atan2Object



234
235
236
237
238
239
# File 'ext/mathfunc/carray_mathfunc.c', line 234

static VALUE 
rb_camath_atan2 (VALUE mod, VALUE rx1, VALUE rx2)
{
  return ca_call_cfunc_1_2(CA_DOUBLE, CA_DOUBLE, CA_DOUBLE, 
                             mathfunc_atan2, rx1, rx2);
}

.expm1Object



290
291
292
293
294
# File 'ext/mathfunc/carray_mathfunc.c', line 290

static VALUE
rb_camath_expm1 (VALUE mod, VALUE rx1)
{
  return ca_call_cfunc_1_1(CA_DOUBLE, CA_DOUBLE, mathfunc_expm1, rx1);
}

.hypotObject



253
254
255
256
257
258
# File 'ext/mathfunc/carray_mathfunc.c', line 253

static VALUE 
rb_camath_hypot (VALUE mod, VALUE rx1, VALUE rx2)
{
  return ca_call_cfunc_1_2(CA_DOUBLE, CA_DOUBLE, CA_DOUBLE, 
                             mathfunc_hypot, rx1, rx2);
}

.lgammaObject



272
273
274
275
276
# File 'ext/mathfunc/carray_mathfunc.c', line 272

static VALUE
rb_camath_lgamma (VALUE mod, VALUE rx1)
{
  return ca_call_cfunc_1_1(CA_DOUBLE, CA_DOUBLE, mathfunc_lgamma, rx1);
}

.max(*argv) ⇒ Object



179
180
181
182
183
184
185
186
187
188
189
190
# File 'lib/carray/base/math.rb', line 179

def max (*argv)
  if ary = argv.find{|x| x.is_a?(CArray) }
    out = ary.to_ca
    argv.delete(ary)
    argv.each do |x|
      out.pmax!(x)
    end
  else
    raise "args should contain more than one CArray object"
  end
  return out
end

.min(*argv) ⇒ Object



166
167
168
169
170
171
172
173
174
175
176
177
# File 'lib/carray/base/math.rb', line 166

def min (*argv)
  if ary = argv.find{|x| x.is_a?(CArray) }
    out = ary.to_ca
    argv.delete(ary)
    argv.each do |x|
      out.pmin!(x)
    end
  else
    raise "args should contain more than one CArray object"
  end
  return out
end

.spherical_to_xyzObject



192
193
194
195
196
197
# File 'ext/mathfunc/carray_mathfunc.c', line 192

static VALUE 
rb_camath_sph_to_xyz (VALUE mod, VALUE rx1, VALUE rx2, VALUE rx3)
{
  return ca_call_cfunc_3_3(CA_DOUBLE, CA_DOUBLE, CA_DOUBLE, CA_DOUBLE, CA_DOUBLE, CA_DOUBLE,
                             mathfunc_sph_to_xyz, rx1, rx2, rx3);
}

.xyz_to_sphericalObject



215
216
217
218
219
220
# File 'ext/mathfunc/carray_mathfunc.c', line 215

static VALUE 
rb_camath_xyz_to_sph (VALUE mod, VALUE rx1, VALUE rx2, VALUE rx3)
{
  return ca_call_cfunc_3_3(CA_DOUBLE, CA_DOUBLE, CA_DOUBLE, CA_DOUBLE, CA_DOUBLE, CA_DOUBLE,
                             mathfunc_xyz_to_sph, rx1, rx2, rx3);
}