struct Vec2d [src]

Fields

data: []u16
cols: usize

Members

Source

pub const Vec2d = struct { data: []u16, cols: usize, pub fn init(gpa: Allocator, value: u16, w: usize, h: usize) !Vec2d { const len = try math.mul(usize, w, h); const data = try gpa.alloc(u16, len); @memset(data, value); return .{ .data = data, .cols = h, }; } pub fn deinit(v: *Vec2d, gpa: Allocator) void { gpa.free(v.data); v.* = undefined; } pub fn fill(v: *Vec2d, value: u16) void { @memset(v.data, value); } fn get(v: Vec2d, row: usize) ![]u16 { const start_row = try math.mul(usize, row, v.cols); const end_row = try math.add(usize, start_row, v.cols); return v.data[start_row..end_row]; } }