Sum of a series: Difference between revisions

m
→‎Zig: Change sum to u64 (from i64). Update Zig code to Zig 0.11.0
(→‎{{header|RPL}}: HP-49+ version)
m (→‎Zig: Change sum to u64 (from i64). Update Zig code to Zig 0.11.0)
Line 3,379:
 
=={{header|Zig}}==
{{Works with|Zig|0.11.0}}
<syntaxhighlight lang="zig">const std = @import("std");
 
fn f(x: i64u64) f64 {
return 1 / @intToFloatas(f64, @floatFromInt(x * x));
}
 
fn Ssum(funcomptime func: fn (i64u64) f64, n: i64u64) f64 {
var s: f64 = 0.0;
var i: i64u64 = n;
 
while (i >!= 0) : (i -= 1) {
s += funfunc(i);
 
while (i > 0) : (i -= 1) {
s += fun(i);
}
return s;
}
 
pub fn main() !void {
{
const stdout = std.io.getStdOut().writer();
try stdout.print("S_1000 = {d:.15}\n", .{Ssum(f, 1000)});
}</syntaxhighlight>{{out}}
{{out}}
<pre>S_1000 = 1.643934566681560</pre>
 
59

edits