Issue #15066 has been updated by v0dro (Sameer Deshmukh).


> Isn't it enough to just use rb_funcall() to call Ruby methods on Complex numbers?

Calling Ruby methods in C extensions defeats the purpose of writing a C extension since a non-trivial number of Ruby method calls take up significant time.

> RCOMPLEX_SET_REAL and RCOMPLEX_SET_IMAG are internal macros, and so I think they should not be used outside.

Both these macros are included in the ruby.h so I thought they're public. Maybe you want to remove them from there?

----------------------------------------
Feature #15066: Documentation and providing better API for accessing Complex numbers functions in C extensions
https://bugs.ruby-lang.org/issues/15066#change-73887

* Author: v0dro (Sameer Deshmukh)
* Status: Open
* Priority: Normal
* Assignee: 
* Target version: 
----------------------------------------
Currently there is absolutely no documentation for working with Complex numbers at the level of the C API.

Apart from two macros defined [[here](https://github.com/ruby/ruby/blob/trunk/include/ruby/ruby.h#L1079)] for setting the real and imag
values of Complex numbers there is no 'official' way of working with Complex numbers at the level of the C API.

I propose two things:
* Fully document existing Complex number routines.
* Provide a robust and efficient API for dealing with complex numbers from C extensions.



-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>