Module: CAMath

Includes:
Math
Defined in:
lib/carray/basic.rb,
lib/carray/math.rb,
ext/carray_operator.c

Overview


carray/basic.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



232
233
234
235
236
237
# File 'ext/carray_mathfunc.c', line 232

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



288
289
290
291
292
# File 'ext/carray_mathfunc.c', line 288

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

.hypotObject



251
252
253
254
255
256
# File 'ext/carray_mathfunc.c', line 251

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



270
271
272
273
274
# File 'ext/carray_mathfunc.c', line 270

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/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/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



190
191
192
193
194
195
# File 'ext/carray_mathfunc.c', line 190

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



213
214
215
216
217
218
# File 'ext/carray_mathfunc.c', line 213

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);
}