Skip to content

Commit

Permalink
Showing 5 changed files with 18 additions and 8 deletions.
2 changes: 2 additions & 0 deletions lib/ruby/truffle/cext/ruby.h
Original file line number Diff line number Diff line change
@@ -101,6 +101,8 @@ int RTEST(VALUE value);
// Float

VALUE rb_float_new(double value);
VALUE rb_Float(VALUE value);
double RFLOAT_VALUE(VALUE value);

// String

5 changes: 0 additions & 5 deletions spec/ruby/optional/capi/ext/jruby_truffle.h
Original file line number Diff line number Diff line change
@@ -226,11 +226,6 @@
#undef HAVE_RB_FILE_OPEN_STR
#undef HAVE_FILEPATHVALUE

/* Float */
#undef HAVE_RB_FLOAT_NEW
#undef HAVE_RB_RFLOAT
#undef HAVE_RFLOAT_VALUE

/* Globals */
#undef HAVE_RB_DEFAULT_RS
#undef HAVE_RB_DEFINE_HOOKED_VARIABLE
3 changes: 0 additions & 3 deletions spec/truffle/tags/optional/capi/float_tags.txt

This file was deleted.

8 changes: 8 additions & 0 deletions truffle/src/main/c/cext/ruby.c
Original file line number Diff line number Diff line change
@@ -139,6 +139,14 @@ VALUE rb_float_new(double value) {
return (VALUE) truffle_invoke(RUBY_CEXT, "rb_float_new", value);
}

VALUE rb_Float(VALUE value) {
return (VALUE) truffle_invoke(RUBY_CEXT, "rb_Float", value);
}

double RFLOAT_VALUE(VALUE value){
return truffle_invoke_d(RUBY_CEXT, "RFLOAT_VALUE", value);
}

// String

char *RSTRING_PTR(VALUE string) {
8 changes: 8 additions & 0 deletions truffle/src/main/ruby/core/truffle/cext.rb
Original file line number Diff line number Diff line change
@@ -85,6 +85,14 @@ def rb_float_new(value)
value.to_f
end

def rb_Float(value)
Float(value)
end

def RFLOAT_VALUE(value)
value
end

def RSTRING_PTR(string)
Truffle::Interop.to_java_string(string)
end

0 comments on commit 71a8fd8

Please sign in to comment.