const std = @import("std");
const array_utils = @import("array_utils.zig");
pub fn main() !void {
var gpa = std.heap.GeneralPurposeAllocator(.{}){};
defer _ = gpa.deinit();
const allocator = gpa.allocator();
const arr = [_]i32{ 1, 2, 3, 4, 5 };
// Filter even numbers
const filtered = try array_utils.filter(i32, allocator, &arr, isEven);
defer allocator.free(filtered);
// Map to squares
const mapped = try array_utils.map(i32, i32, allocator, &arr, square);
defer allocator.free(mapped);
// Find value
if (array_utils.find(i32, &arr, 3)) |index| {
std.debug.print("Found at index: {}\n", .{index});
}
}
fn isEven(n: i32) bool {
return n % 2 == 0;
}
fn square(n: i32) i32 {
return n * n;
}