Module: CalculationHelper

Included in:
AirMass, PlainOfArrayIrradiance, PvTemperature, SolarEphemeris
Defined in:
lib/PVLIB_Ruby/calculation_helper.rb

Instance Method Summary collapse

Instance Method Details

#bigdecimal_acos(cos_value) ⇒ Object



31
32
33
# File 'lib/PVLIB_Ruby/calculation_helper.rb', line 31

def bigdecimal_acos(cos_value)
  BigDecimal(Math.acos(cos_value.to_f).to_s)
end

#bigdecimal_asin(sin_value) ⇒ Object



27
28
29
# File 'lib/PVLIB_Ruby/calculation_helper.rb', line 27

def bigdecimal_asin(sin_value)
  BigDecimal(Math.asin(sin_value.to_f).to_s)
end

#bigdecimal_atan2(y, x) ⇒ Object



35
36
37
# File 'lib/PVLIB_Ruby/calculation_helper.rb', line 35

def bigdecimal_atan2(y, x)
  BigDecimal(Math.atan2(y.to_f, x.to_f).to_s)
end

#bigdecimal_cos(angle_in_radian) ⇒ Object



15
16
17
# File 'lib/PVLIB_Ruby/calculation_helper.rb', line 15

def bigdecimal_cos(angle_in_radian)
  BigDecimal(Math.cos(angle_in_radian.to_f).to_s)
end

#bigdecimal_exp(bigdecimal_value) ⇒ Object



11
12
13
# File 'lib/PVLIB_Ruby/calculation_helper.rb', line 11

def bigdecimal_exp(bigdecimal_value)
  BigDecimal(Math.exp(bigdecimal_value.to_f).to_s)
end

#bigdecimal_sin(angle_in_radian) ⇒ Object



19
20
21
# File 'lib/PVLIB_Ruby/calculation_helper.rb', line 19

def bigdecimal_sin(angle_in_radian)
  BigDecimal(Math.sin(angle_in_radian.to_f).to_s)
end

#bigdecimal_sqrt(bigdecimal_value) ⇒ Object



39
40
41
# File 'lib/PVLIB_Ruby/calculation_helper.rb', line 39

def bigdecimal_sqrt(bigdecimal_value)
  BigDecimal(Math.sqrt(bigdecimal_value.to_f).to_s)
end

#bigdecimal_tan(angle_in_radian) ⇒ Object



23
24
25
# File 'lib/PVLIB_Ruby/calculation_helper.rb', line 23

def bigdecimal_tan(angle_in_radian)
  BigDecimal(Math.tan(angle_in_radian.to_f).to_s)
end

#degree_to_radian(degree) ⇒ Object



3
4
5
# File 'lib/PVLIB_Ruby/calculation_helper.rb', line 3

def degree_to_radian(degree)
  degree * BigDecimal(Math::PI.to_s) / BigDecimal('180')
end

#radian_to_degree(radian) ⇒ Object



7
8
9
# File 'lib/PVLIB_Ruby/calculation_helper.rb', line 7

def radian_to_degree(radian)
  radian * BigDecimal('180') / BigDecimal(Math::PI.to_s)
end