Class: Fzeet::Windows::DECIMAL

Inherits:
FFI::Struct
  • Object
show all
Defined in:
lib/fzeet/windows/ole/Common.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.[](value) ⇒ Object



80
81
82
83
84
85
86
87
88
# File 'lib/fzeet/windows/ole/Common.rb', line 80

def self.[](value)
	new.tap { |decimal|
		case value
		when Integer; Windows.DetonateHresult(:VarDecFromI8, value, decimal)
		when Float; Windows.DetonateHresult(:VarDecFromR8, value, decimal)
		else raise ArgumentError
		end
	}
end

Instance Method Details

#i8Object Also known as: longlong



90
91
92
93
94
95
96
# File 'lib/fzeet/windows/ole/Common.rb', line 90

def i8
	FFI::MemoryPointer.new(:long_long) { |pi8|
		Windows.DetonateHresult(:VarI8FromDec, self, pi8)

		return pi8.get_long_long(0)
	}
end

#r8Object Also known as: double



98
99
100
101
102
103
104
# File 'lib/fzeet/windows/ole/Common.rb', line 98

def r8
	FFI::MemoryPointer.new(:double) { |pr8|
		Windows.DetonateHresult(:VarR8FromDec, self, pr8)

		return pr8.get_double(0)
	}
end