Roots of a function: Difference between revisions
Content added Content deleted
m (→{{header|Sidef}}: updated code) |
|||
Line 2,372: | Line 2,372: | ||
=={{header|Sidef}}== |
=={{header|Sidef}}== |
||
<lang ruby>func f(x) { |
<lang ruby>func f(x) { |
||
x*x*x - 3*x*x + 2*x |
x*x*x - 3*x*x + 2*x |
||
} |
} |
||
var step = 0.001 |
var step = 0.001 |
||
var start = -1 |
var start = -1 |
||
var stop = 3 |
var stop = 3 |
||
range(start+step, stop, step) |
for x in range(start+step, stop, step) { |
||
static sign = false |
static sign = false |
||
given (var value = f(x)) { |
given (var value = f(x)) { |
||
when (0) { |
when (0) { |
||
say "Root found at #{x}" |
say "Root found at #{x}" |
||
} |
} |
||
case (sign && ((value > 0) |
case (sign && ((value > 0) != sign)) { |
||
say "Root found near #{x}" |
say "Root found near #{x}" |
||
} |
} |
||
} |
} |
||
sign = value>0 |
sign = value>0 |
||
}</lang> |
}</lang> |
||
{{out}} |
{{out}} |