Class: TestLambertW
Instance Method Summary
collapse
#beta, beta, #beta_regularized, beta_regularized, #cantor_pairing, cantor_pairing, #cantor_pairing_inv, cantor_pairing_inv, #erf, #erfc, #gamma, gamma, #gammaP_regularized, gammaP_regularized, #gammaQ_regularized, gammaQ_regularized, #log_beta, log_beta, #log_ceil, log_ceil, #log_floor, log_floor, #log_gamma, #logb, logb, #numberify_string, numberify_string, #stringify_number, stringify_number
#collision_entropy_per_symbol, #collision_entropy_total, #entropy_ideal, #entropy_maximum, #entropy_per_symbol, #entropy_probabilities, #entropy_ratio, #entropy_total, #minimum_entropy_per_symbol, #minimum_entropy_total
#lambert_w
Instance Method Details
6
7
8
|
# File 'tests/lambert_test.rb', line 6
def setup
@delta = 1e-10
end
|
#test_lambert_w_domain_error ⇒ Object
57
58
59
60
|
# File 'tests/lambert_test.rb', line 57
def test_lambert_w_domain_error
result = lambert_w(-1.0 / Math::E - 0.1)
assert(result.nan?)
end
|
#test_lambert_w_edge_case ⇒ Object
62
63
64
65
66
67
|
# File 'tests/lambert_test.rb', line 62
def test_lambert_w_edge_case
y = 1e-10
w = lambert_w(y)
result = w * Math.exp(w)
assert_in_delta(y, result, @delta)
end
|
#test_lambert_w_infinity ⇒ Object
15
16
17
18
|
# File 'tests/lambert_test.rb', line 15
def test_lambert_w_infinity
result = lambert_w(Float::INFINITY)
assert_equal(Float::INFINITY, result)
end
|
#test_lambert_w_large_positive_value ⇒ Object
31
32
33
34
35
|
# File 'tests/lambert_test.rb', line 31
def test_lambert_w_large_positive_value
result = lambert_w(100)
expected = 3.3856301402900501
assert_in_delta(expected, result, @delta)
end
|
#test_lambert_w_negative_one_over_e ⇒ Object
20
21
22
23
|
# File 'tests/lambert_test.rb', line 20
def test_lambert_w_negative_one_over_e
result = lambert_w(-1.0 / Math::E)
assert_in_delta(-1.0, result, @delta)
end
|
#test_lambert_w_positive_value ⇒ Object
25
26
27
28
29
|
# File 'tests/lambert_test.rb', line 25
def test_lambert_w_positive_value
result = lambert_w(1)
expected = 0.5671432904097838
assert_in_delta(expected, result, @delta)
end
|
#test_lambert_w_small_positive_value ⇒ Object
37
38
39
40
41
|
# File 'tests/lambert_test.rb', line 37
def test_lambert_w_small_positive_value
result = lambert_w(0.1)
expected = 0.091276527160862
assert_in_delta(expected, result, @delta)
end
|
#test_lambert_w_verify_solution_property ⇒ Object
43
44
45
46
47
48
|
# File 'tests/lambert_test.rb', line 43
def test_lambert_w_verify_solution_property
y = 5.0
w = lambert_w(y)
result = w * Math.exp(w)
assert_in_delta(y, result, @delta)
end
|
#test_lambert_w_verify_solution_property_large ⇒ Object
50
51
52
53
54
55
|
# File 'tests/lambert_test.rb', line 50
def test_lambert_w_verify_solution_property_large
y = 1000.0
w = lambert_w(y)
result = w * Math.exp(w)
assert_in_delta(y, result, @delta)
end
|
#test_lambert_w_zero ⇒ Object
10
11
12
13
|
# File 'tests/lambert_test.rb', line 10
def test_lambert_w_zero
result = lambert_w(0)
assert_in_delta(0.0, result, @delta)
end
|