コード例 #1
0
ファイル: interop007.c プロジェクト: NeilBryant/sulong
int main() {
  void *obj = truffle_import("foreign");

  double sum = 0;
  sum += truffle_invoke_i(obj, "addI", 1);   // 4
  sum += truffle_invoke_c(obj, "addB", 2);   // 3
  sum += truffle_invoke_l(obj, "addL", 3);   // 7
  sum += truffle_invoke_f(obj, "addF", 4.5); // 10
  sum += truffle_invoke_d(obj, "addD", 5.5); // 12
  return sum;                                // 36
}
コード例 #2
0
ファイル: ruby.c プロジェクト: sumitmah/jruby
int rb_long2int(long value) {
  return truffle_invoke_l(RUBY_CEXT, "rb_long2int", value);
}
コード例 #3
0
ファイル: ruby.c プロジェクト: sumitmah/jruby
unsigned long rb_fix2uint(VALUE value) {
  return truffle_invoke_l(RUBY_CEXT, "rb_fix2uint", value);
}
コード例 #4
0
ファイル: ruby.c プロジェクト: sumitmah/jruby
long FIX2LONG(VALUE value) {
  return truffle_invoke_l(RUBY_CEXT, "FIX2LONG", value);
}
コード例 #5
0
ファイル: ruby.c プロジェクト: sumitmah/jruby
unsigned long NUM2ULONG(VALUE value) {
  // TODO CS 24-Jul-16 _invoke_l but what about the unsigned part?
  return truffle_invoke_l(RUBY_CEXT, "NUM2ULONG", value);
}
コード例 #6
0
ファイル: ruby.c プロジェクト: sumitmah/jruby
void *rb_jt_to_native_handle(VALUE managed) {
  return (void *)truffle_invoke_l(RUBY_CEXT, "rb_jt_to_native_handle", managed);
}
コード例 #7
0
ファイル: Rinternals.c プロジェクト: jjfumero/fastr
void *R_ExternalPtrAddr(SEXP s) {
	IMPORT_CALLHELPER();
	return (void*) truffle_invoke_l(obj, "R_ExternalPtrAddr", s);
}