1 /********************************************************************
3 * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
4 * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
5 * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
6 * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
8 * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2001 *
9 * by the XIPHOPHORUS Company http://www.xiph.org/ *
11 ********************************************************************
13 function: generic euclidian distance metric for VQ codebooks
14 last mod: $Id: genericdata.c,v 1.10 2001/02/26 03:51:12 xiphmont Exp $
16 ********************************************************************/
24 char *vqext_booktype="GENERICdata";
26 quant_meta q={0,0,0,0}; /* non sequence data; each scalar
29 void vqext_quantize(vqgen *v,quant_meta *q){
33 float *vqext_weight(vqgen *v,float *p){
38 /* candidate,actual */
39 float vqext_metric(vqgen *v,float *e, float *p){
42 for(i=0;i<v->elements;i++){
46 return sqrt(acc/v->elements);
49 void vqext_addpoint_adj(vqgen *v,float *b,int start,int dim,int cols,int num){
50 vqgen_addpoint(v,b+start,NULL);
53 void vqext_preprocess(vqgen *v){