summaryrefslogtreecommitdiff
path: root/src/vec2sw.h
blob: 0207fdbba44aa3ed464b032ca0e310f253f589c1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#pragma once

#include "common.h"
#include "smrt_arena.h"
#include "vec2.h"
#include "slidingwindow.h"

// Vec2d sliding window
typedef struct {
    sliding_window_array_t  *xs;
    sliding_window_array_t  *ys;
                       u64 size;
} vec2d_sw_soa_t;

vec2d_sw_soa_t        vec2d_sw_soa(smrt_arena_t *arena, u64 size);
          void vec2d_sw_soa_insert(vec2d_sw_soa_t sw_vs, vec2d_t v);
   vec2d_soa_t    vec2d_sw_soa_get(vec2d_sw_soa_t sw_vs);