SPB Git

spb/wp40_uqo

Public MIT
772 B · 25 lines cpp
1#pragma once2#include <vector>3#include <span>4#include <string>5#include "raid/core/types.hpp"6#include "raid/core/error.hpp"78namespace raid {910/// Columnar time series: strictly increasing timestamps and one double per observation.11struct TimeSeries {12  std::string id;13  std::vector<Timestamp> t;14  std::vector<f64> v;15  usize size() const { return v.size(); }16  bool empty() const { return v.empty(); }17  void validate() const {18    RAID_REQUIRE(t.size() == v.size(), invalid_argument, "TimeSeries: t/v size mismatch");19    for (usize i = 1; i < t.size(); ++i) RAID_REQUIRE(t[i] > t[i - 1], data_quality, "TimeSeries: timestamps not strictly increasing at index " + std::to_string(i));20  }21  std::span<const f64> values() const { return v; }22};2324}  // namespace raid25
Files · v0.1.0-wp40
Menu

Theme