Class: HDLRuby::High::TypeFloat

Inherits:
TypeVector show all
Defined in:
lib/HDLRuby/hruby_high.rb

Overview

Describes a float data type.

Constant Summary

Constants inherited from TypeVector

HDLRuby::High::TypeVector::High

Constants included from Htype

Htype::High

Constants included from Low::Low2Symbol

Low::Low2Symbol::Low2SymbolPrefix, Low::Low2Symbol::Low2SymbolTable, Low::Low2Symbol::Symbol2LowTable

Instance Attribute Summary

Attributes inherited from Low::TypeVector

#base, #range

Attributes inherited from Low::Type

#name

Attributes included from Low::Hparent

#parent

Instance Method Summary collapse

Methods inherited from TypeVector

#to_rcsim

Methods included from HvectorType

#to_low

Methods included from Htype

#[], #binary, #comp_operator, #constant, #define_operator, #each_overload, #htype?, included, #inner, #inout, #input, #left, #name=, #output, #register, #right, #to_type, #typedef, #unary

Methods included from Tprocess

#&, #*, #+, #+@, #-@, #/, #<<, #==, #abs, #lr, #make, #resolve, #slice, #~

Methods inherited from Low::TypeVector

#base?, #break_types!, #dir, #direction, #each_type_deep, #eql?, #equivalent?, #fixed?, #float?, #hash, #max, #min, #set_base!, #set_range!, #signed?, #size, #to_c, #to_hdr, #to_high, #to_verilog, #to_vhdl, #unsigned?, #vector?, #width

Methods included from Low::Ltype

included, #ltype?

Methods inherited from Low::Type

#base, #base?, #boolean?, #break_types!, #direction, #each_type_deep, #eql?, #equivalent?, #fixed?, #float?, #hash, #hierarchical?, #leaf?, #max, #min, #range, #range?, #regular?, #set_name!, #signed?, #struct?, #to_c, #to_hdr, #to_high, #to_vector, #to_verilog, #to_vhdl, #types?, #unsigned?, #vector?, #width

Methods included from Low::Low2Symbol

#to_sym

Methods included from Low::Hparent

#hierarchy, #no_parent!, #scope

Constructor Details

#initialize(name, range = 52..-11)) ⇒ TypeFloat

Creates a new vector type named +name+ from +base+ type and with +range+.

NOTE:

  • The bits of negative range stands for the exponent
  • The default range is for 64-bit IEEE 754 double precision standart


2037
2038
2039
2040
# File 'lib/HDLRuby/hruby_high.rb', line 2037

def initialize(name,range = 52..-11)
    # Initialize the type.
    super(name,Float,range)
end