ÿØÿà JFIF    ÿÛ „  ( %!1!%)+//.383,7(-.+  -%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ     ÿÄ J    ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ   ÿÄ *  !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú "SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5 ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍѶ¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e ríV ?> ......................................... ............................................................................. ÿØÿà JFIF    ÿÛ „  ( %!1!%)+//.383,7(-.+  -%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ     ÿÄ J    ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ   ÿÄ *  !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú "SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5 ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍѶ¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e ríV ?> ......................................... ............................................................................. ???????????????????????????????????? ???????????????????????????????????? ÿØÿà JFIF    ÿÛ „  ( %!1!%)+//.383,7(-.+  -%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ     ÿÄ J    ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ   ÿÄ *  !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú "SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5 ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍѶ¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e ríV ?> ......................................... ............................................................................. ÿØÿà JFIF    ÿÛ „  ( %!1!%)+//.383,7(-.+  -%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ     ÿÄ J    ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ   ÿÄ *  !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú "SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5 ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍѶ¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e ríV ?> ......................................... ............................................................................. ???????????????????????????????????? ???????????????????????????????????? U:RDoc::NormalModule[iI" Fiddle:ET@0o:RDoc::Markup::Document: @parts[o;;[: @fileI"ext/fiddle/closure.c;T:0@omit_headings_from_table_of_contents_below0o;;[o:RDoc::Markup::Paragraph;[I"A libffi wrapper for Ruby.;To:RDoc::Markup::BlankLineS:RDoc::Markup::Heading: leveli: textI"Description;T@o; ;[I"LFiddle is an extension to translate a foreign function interface (FFI) ;TI"with ruby.;T@o; ;[I"KIt wraps {libffi}[http://sourceware.org/libffi/], a popular C library ;TI"Iwhich provides a portable interface that allows code written in one ;TI"7language to call code written in another language.;T@S; ;i;I" Example;T@o; ;[I">Here we will use Fiddle::Function to wrap {floor(3) from ;TI",libm}[http://linux.die.net/man/3/floor];T@o:RDoc::Markup::Verbatim;[I"require 'fiddle' ;TI" ;TI",libm = Fiddle.dlopen('/lib/libm.so.6') ;TI" ;TI"#floor = Fiddle::Function.new( ;TI" libm['floor'], ;TI" [Fiddle::TYPE_DOUBLE], ;TI" Fiddle::TYPE_DOUBLE ;TI") ;TI" ;TI"%puts floor.call(3.14159) #=> 3.0;T: @format0; I"ext/fiddle/fiddle.c;T; 0o;;[; I"ext/fiddle/lib/fiddle.rb;T; 0o;;[; I"%ext/fiddle/lib/fiddle/closure.rb;T; 0o;;[; I"%ext/fiddle/lib/fiddle/cparser.rb;T; 0o;;[; I")ext/fiddle/lib/fiddle/ffi_backend.rb;T; 0o;;[; I"&ext/fiddle/lib/fiddle/function.rb;T; 0o;;[; I"$ext/fiddle/lib/fiddle/import.rb;T; 0o;;[; I""ext/fiddle/lib/fiddle/pack.rb;T; 0o;;[; I"$ext/fiddle/lib/fiddle/struct.rb;T; 0o;;[; I"#ext/fiddle/lib/fiddle/types.rb;T; 0o;;[; I"#ext/fiddle/lib/fiddle/value.rb;T; 0o;;[; I"%ext/fiddle/lib/fiddle/version.rb;T; 0; 0; 0[[