![]() |
Signet Forge 0.1.0
C++20 Parquet library with AI-native extensions
|
DEMO |
Accumulates float32 vectors, quantizes them, and produces FIXED_LEN_BYTE_ARRAY page data suitable for Parquet column chunks. More...
#include <quantized_vector.hpp>
Public Member Functions | |
| QuantizedVectorWriter (QuantizationParams params) | |
| Construct a writer with the given quantization parameters. | |
| void | add (const float *data) |
| Add a single float32 vector (quantized internally). | |
| void | add_raw (const uint8_t *data) |
| Add pre-quantized raw bytes for one vector. | |
| void | add_batch (const float *data, size_t num_vectors) |
| Add a batch of float32 vectors (quantized internally). | |
| std::vector< uint8_t > | flush () |
| Flush accumulated data as FIXED_LEN_BYTE_ARRAY page bytes. | |
| size_t | num_vectors () const |
| Number of vectors currently buffered. | |
| const QuantizationParams & | params () const |
| Access the quantization parameters. | |
Static Public Member Functions | |
| static ColumnDescriptor | make_descriptor (const std::string &name, const QuantizationParams ¶ms) |
| Create a ColumnDescriptor suitable for a quantized vector column. | |
Accumulates float32 vectors, quantizes them, and produces FIXED_LEN_BYTE_ARRAY page data suitable for Parquet column chunks.
Definition at line 264 of file quantized_vector.hpp.
|
inlineexplicit |
Construct a writer with the given quantization parameters.
Definition at line 267 of file quantized_vector.hpp.
|
inline |
Add a single float32 vector (quantized internally).
| data | Pointer to dim floats. |
Definition at line 1244 of file quantized_vector.hpp.
|
inline |
Add a batch of float32 vectors (quantized internally).
| data | Pointer to num_vectors * dim contiguous floats. |
| num_vectors | Number of vectors to add. |
Definition at line 1258 of file quantized_vector.hpp.
|
inline |
Add pre-quantized raw bytes for one vector.
| data | Pointer to bytes_per_vector() bytes. |
Definition at line 1252 of file quantized_vector.hpp.
|
inline |
Flush accumulated data as FIXED_LEN_BYTE_ARRAY page bytes.
After flush, the writer is empty and ready for a new page.
Definition at line 1272 of file quantized_vector.hpp.
|
inlinestatic |
Create a ColumnDescriptor suitable for a quantized vector column.
Physical type: FIXED_LEN_BYTE_ARRAY. Logical type: FLOAT32_VECTOR. The quantization metadata is stored separately in key-value metadata.
| name | Column name. |
| params | Quantization parameters (used to derive type_length). |
Definition at line 1279 of file quantized_vector.hpp.
|
inline |
Number of vectors currently buffered.
Definition at line 291 of file quantized_vector.hpp.
|
inline |
Access the quantization parameters.
Definition at line 306 of file quantized_vector.hpp.