mirror of
https://github.com/pgvector/pgvector.git
synced 2026-07-06 12:40:56 +08:00
Renamed functions to l2_norm
This commit is contained in:
@@ -777,6 +777,7 @@ Function | Description | Added
|
|||||||
cosine_distance(halfvec, halfvec) → double precision | cosine distance | unreleased
|
cosine_distance(halfvec, halfvec) → double precision | cosine distance | unreleased
|
||||||
inner_product(halfvec, halfvec) → double precision | inner product | unreleased
|
inner_product(halfvec, halfvec) → double precision | inner product | unreleased
|
||||||
l2_distance(halfvec, halfvec) → double precision | Euclidean distance | unreleased
|
l2_distance(halfvec, halfvec) → double precision | Euclidean distance | unreleased
|
||||||
|
l2_norm(halfvec) → double precision | Euclidean norm | unreleased
|
||||||
l1_distance(halfvec, halfvec) → double precision | taxicab distance | unreleased
|
l1_distance(halfvec, halfvec) → double precision | taxicab distance | unreleased
|
||||||
quantize_binary(halfvec) → bit | quantize | unreleased
|
quantize_binary(halfvec) → bit | quantize | unreleased
|
||||||
subvector(halfvec, integer, integer) → halfvec | subvector | unreleased
|
subvector(halfvec, integer, integer) → halfvec | subvector | unreleased
|
||||||
@@ -818,6 +819,7 @@ Function | Description | Added
|
|||||||
cosine_distance(sparsevec, sparsevec) → double precision | cosine distance | unreleased
|
cosine_distance(sparsevec, sparsevec) → double precision | cosine distance | unreleased
|
||||||
inner_product(sparsevec, sparsevec) → double precision | inner product | unreleased
|
inner_product(sparsevec, sparsevec) → double precision | inner product | unreleased
|
||||||
l2_distance(sparsevec, sparsevec) → double precision | Euclidean distance | unreleased
|
l2_distance(sparsevec, sparsevec) → double precision | Euclidean distance | unreleased
|
||||||
|
l2_norm(sparsevec) → double precision | Euclidean norm | unreleased
|
||||||
l1_distance(sparsevec, sparsevec) → double precision | taxicab distance | unreleased
|
l1_distance(sparsevec, sparsevec) → double precision | taxicab distance | unreleased
|
||||||
|
|
||||||
## Installation Notes - Linux and Mac
|
## Installation Notes - Linux and Mac
|
||||||
|
|||||||
@@ -71,8 +71,8 @@ CREATE FUNCTION cosine_distance(halfvec, halfvec) RETURNS float8
|
|||||||
CREATE FUNCTION l1_distance(halfvec, halfvec) RETURNS float8
|
CREATE FUNCTION l1_distance(halfvec, halfvec) RETURNS float8
|
||||||
AS 'MODULE_PATHNAME', 'halfvec_l1_distance' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
|
AS 'MODULE_PATHNAME', 'halfvec_l1_distance' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
|
||||||
|
|
||||||
CREATE FUNCTION halfvec_norm(halfvec) RETURNS float8
|
CREATE FUNCTION l2_norm(halfvec) RETURNS float8
|
||||||
AS 'MODULE_PATHNAME' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
|
AS 'MODULE_PATHNAME', 'halfvec_l2_norm' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
|
||||||
|
|
||||||
CREATE FUNCTION quantize_binary(halfvec) RETURNS bit
|
CREATE FUNCTION quantize_binary(halfvec) RETURNS bit
|
||||||
AS 'MODULE_PATHNAME', 'halfvec_quantize_binary' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
|
AS 'MODULE_PATHNAME', 'halfvec_quantize_binary' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
|
||||||
@@ -151,7 +151,7 @@ CREATE OPERATOR CLASS halfvec_cosine_ops
|
|||||||
FOR TYPE halfvec USING hnsw AS
|
FOR TYPE halfvec USING hnsw AS
|
||||||
OPERATOR 1 <=> (halfvec, halfvec) FOR ORDER BY float_ops,
|
OPERATOR 1 <=> (halfvec, halfvec) FOR ORDER BY float_ops,
|
||||||
FUNCTION 1 halfvec_negative_inner_product(halfvec, halfvec),
|
FUNCTION 1 halfvec_negative_inner_product(halfvec, halfvec),
|
||||||
FUNCTION 2 halfvec_norm(halfvec);
|
FUNCTION 2 l2_norm(halfvec);
|
||||||
|
|
||||||
CREATE FUNCTION halfvec_to_vector(halfvec, integer, boolean) RETURNS vector
|
CREATE FUNCTION halfvec_to_vector(halfvec, integer, boolean) RETURNS vector
|
||||||
AS 'MODULE_PATHNAME' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
|
AS 'MODULE_PATHNAME' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
|
||||||
@@ -200,8 +200,8 @@ CREATE FUNCTION inner_product(sparsevec, sparsevec) RETURNS float8
|
|||||||
CREATE FUNCTION cosine_distance(sparsevec, sparsevec) RETURNS float8
|
CREATE FUNCTION cosine_distance(sparsevec, sparsevec) RETURNS float8
|
||||||
AS 'MODULE_PATHNAME', 'sparsevec_cosine_distance' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
|
AS 'MODULE_PATHNAME', 'sparsevec_cosine_distance' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
|
||||||
|
|
||||||
CREATE FUNCTION sparsevec_norm(sparsevec) RETURNS float8
|
CREATE FUNCTION l2_norm(sparsevec) RETURNS float8
|
||||||
AS 'MODULE_PATHNAME' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
|
AS 'MODULE_PATHNAME', 'sparsevec_l2_norm' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
|
||||||
|
|
||||||
CREATE FUNCTION sparsevec_l2_squared_distance(sparsevec, sparsevec) RETURNS float8
|
CREATE FUNCTION sparsevec_l2_squared_distance(sparsevec, sparsevec) RETURNS float8
|
||||||
AS 'MODULE_PATHNAME' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
|
AS 'MODULE_PATHNAME' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
|
||||||
@@ -256,4 +256,4 @@ CREATE OPERATOR CLASS sparsevec_cosine_ops
|
|||||||
FOR TYPE sparsevec USING hnsw AS
|
FOR TYPE sparsevec USING hnsw AS
|
||||||
OPERATOR 1 <=> (sparsevec, sparsevec) FOR ORDER BY float_ops,
|
OPERATOR 1 <=> (sparsevec, sparsevec) FOR ORDER BY float_ops,
|
||||||
FUNCTION 1 sparsevec_negative_inner_product(sparsevec, sparsevec),
|
FUNCTION 1 sparsevec_negative_inner_product(sparsevec, sparsevec),
|
||||||
FUNCTION 2 sparsevec_norm(sparsevec);
|
FUNCTION 2 l2_norm(sparsevec);
|
||||||
|
|||||||
@@ -364,8 +364,8 @@ CREATE FUNCTION cosine_distance(halfvec, halfvec) RETURNS float8
|
|||||||
CREATE FUNCTION l1_distance(halfvec, halfvec) RETURNS float8
|
CREATE FUNCTION l1_distance(halfvec, halfvec) RETURNS float8
|
||||||
AS 'MODULE_PATHNAME', 'halfvec_l1_distance' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
|
AS 'MODULE_PATHNAME', 'halfvec_l1_distance' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
|
||||||
|
|
||||||
CREATE FUNCTION halfvec_norm(halfvec) RETURNS float8
|
CREATE FUNCTION l2_norm(halfvec) RETURNS float8
|
||||||
AS 'MODULE_PATHNAME' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
|
AS 'MODULE_PATHNAME', 'halfvec_l2_norm' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
|
||||||
|
|
||||||
CREATE FUNCTION quantize_binary(halfvec) RETURNS bit
|
CREATE FUNCTION quantize_binary(halfvec) RETURNS bit
|
||||||
AS 'MODULE_PATHNAME', 'halfvec_quantize_binary' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
|
AS 'MODULE_PATHNAME', 'halfvec_quantize_binary' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
|
||||||
@@ -454,7 +454,7 @@ CREATE OPERATOR CLASS halfvec_cosine_ops
|
|||||||
FOR TYPE halfvec USING hnsw AS
|
FOR TYPE halfvec USING hnsw AS
|
||||||
OPERATOR 1 <=> (halfvec, halfvec) FOR ORDER BY float_ops,
|
OPERATOR 1 <=> (halfvec, halfvec) FOR ORDER BY float_ops,
|
||||||
FUNCTION 1 halfvec_negative_inner_product(halfvec, halfvec),
|
FUNCTION 1 halfvec_negative_inner_product(halfvec, halfvec),
|
||||||
FUNCTION 2 halfvec_norm(halfvec);
|
FUNCTION 2 l2_norm(halfvec);
|
||||||
|
|
||||||
-- extension casts
|
-- extension casts
|
||||||
|
|
||||||
@@ -509,8 +509,8 @@ CREATE FUNCTION inner_product(sparsevec, sparsevec) RETURNS float8
|
|||||||
CREATE FUNCTION cosine_distance(sparsevec, sparsevec) RETURNS float8
|
CREATE FUNCTION cosine_distance(sparsevec, sparsevec) RETURNS float8
|
||||||
AS 'MODULE_PATHNAME', 'sparsevec_cosine_distance' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
|
AS 'MODULE_PATHNAME', 'sparsevec_cosine_distance' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
|
||||||
|
|
||||||
CREATE FUNCTION sparsevec_norm(sparsevec) RETURNS float8
|
CREATE FUNCTION l2_norm(sparsevec) RETURNS float8
|
||||||
AS 'MODULE_PATHNAME' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
|
AS 'MODULE_PATHNAME', 'sparsevec_l2_norm' LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
|
||||||
|
|
||||||
-- sparsevec private functions
|
-- sparsevec private functions
|
||||||
|
|
||||||
@@ -575,4 +575,4 @@ CREATE OPERATOR CLASS sparsevec_cosine_ops
|
|||||||
FOR TYPE sparsevec USING hnsw AS
|
FOR TYPE sparsevec USING hnsw AS
|
||||||
OPERATOR 1 <=> (sparsevec, sparsevec) FOR ORDER BY float_ops,
|
OPERATOR 1 <=> (sparsevec, sparsevec) FOR ORDER BY float_ops,
|
||||||
FUNCTION 1 sparsevec_negative_inner_product(sparsevec, sparsevec),
|
FUNCTION 1 sparsevec_negative_inner_product(sparsevec, sparsevec),
|
||||||
FUNCTION 2 sparsevec_norm(sparsevec);
|
FUNCTION 2 l2_norm(sparsevec);
|
||||||
|
|||||||
@@ -950,9 +950,9 @@ halfvec_l1_distance(PG_FUNCTION_ARGS)
|
|||||||
/*
|
/*
|
||||||
* Get the L2 norm of a half vector
|
* Get the L2 norm of a half vector
|
||||||
*/
|
*/
|
||||||
PGDLLEXPORT PG_FUNCTION_INFO_V1(halfvec_norm);
|
PGDLLEXPORT PG_FUNCTION_INFO_V1(halfvec_l2_norm);
|
||||||
Datum
|
Datum
|
||||||
halfvec_norm(PG_FUNCTION_ARGS)
|
halfvec_l2_norm(PG_FUNCTION_ARGS)
|
||||||
{
|
{
|
||||||
HalfVector *a = PG_GETARG_HALFVEC_P(0);
|
HalfVector *a = PG_GETARG_HALFVEC_P(0);
|
||||||
half *ax = a->x;
|
half *ax = a->x;
|
||||||
|
|||||||
@@ -762,9 +762,9 @@ sparsevec_cosine_distance(PG_FUNCTION_ARGS)
|
|||||||
/*
|
/*
|
||||||
* Get the L2 norm of a sparse vector
|
* Get the L2 norm of a sparse vector
|
||||||
*/
|
*/
|
||||||
PGDLLEXPORT PG_FUNCTION_INFO_V1(sparsevec_norm);
|
PGDLLEXPORT PG_FUNCTION_INFO_V1(sparsevec_l2_norm);
|
||||||
Datum
|
Datum
|
||||||
sparsevec_norm(PG_FUNCTION_ARGS)
|
sparsevec_l2_norm(PG_FUNCTION_ARGS)
|
||||||
{
|
{
|
||||||
SparseVector *a = PG_GETARG_SPARSEVEC_P(0);
|
SparseVector *a = PG_GETARG_SPARSEVEC_P(0);
|
||||||
float *ax = SPARSEVEC_VALUES(a);
|
float *ax = SPARSEVEC_VALUES(a);
|
||||||
|
|||||||
Reference in New Issue
Block a user