module Pgvector::PG

def self.register_vector(registry)

def self.register_vector(registry)
  registry.register_type(0, "vector", TextEncoder::Vector, TextDecoder::Vector)
  registry.register_type(1, "vector", BinaryEncoder::Vector, BinaryDecoder::Vector)
  # no binary decoder for halfvec since unpack does not have directive for half-precision
  registry.register_type(0, "halfvec", TextEncoder::Halfvec, TextDecoder::Halfvec)
  registry.register_type(0, "bit", TextEncoder::Bit, TextDecoder::Bit)
  registry.register_type(1, "bit", BinaryEncoder::Bit, BinaryDecoder::Bit)
  registry.register_type(0, "sparsevec", TextEncoder::Sparsevec, TextDecoder::Sparsevec)
  registry.register_type(1, "sparsevec", BinaryEncoder::Sparsevec, BinaryDecoder::Sparsevec)
end