Sha256: 9cfa47621be0b6d0cfdad316372bd7baa0322d50fb5d2d136970b502fa285e3d
Contents?: true
Size: 1.14 KB
Versions: 2
Compression:
Stored size: 1.14 KB
Contents
module Duby::JVM::Types class FloatType < Number def prefix 'f' end def suffix 'g' end def init_value(builder) builder.fconst_0 end def literal(builder, value) case value when 0.0 builder.fconst_0 when 1.0 builder.fconst_1 when 2.0 builder.fconst_2 else builder.ldc_float(value) end end def widen(builder, type) case type when Float # Do nothing when Double builder.f2d else raise ArgumentError, "Invalid widening conversion from Int to #{type}" end end end class DoubleType < FloatType def prefix 'd' end def wide? true end def init_value(builder) builder.dconst_0 end def literal(builder, value) case value when 0.0 builder.dconst_0 when 1.0 builder.dconst_1 else builder.ldc_double(value) end end def widen(builder, type) if type != Double raise ArgumentError, "Invalid widening conversion from Int to #{type}" end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
duby-0.0.2-java | lib/duby/jvm/types/floats.rb |
duby-0.0.1 | lib/duby/jvm/types/floats.rb |