1
/* ====================================================================
2
* Copyright (c) 1994-2005 Carnegie Mellon University. All rights
5
* Redistribution and use in source and binary forms, with or without
6
* modification, are permitted provided that the following conditions
9
* 1. Redistributions of source code must retain the above copyright
10
* notice, this list of conditions and the following disclaimer.
12
* 2. Redistributions in binary form must reproduce the above copyright
13
* notice, this list of conditions and the following disclaimer in
14
* the documentation and/or other materials provided with the
17
* This work was supported in part by funding from the Defense Advanced
18
* Research Projects Agency and the National Science Foundation of the
19
* United States of America, and the CMU Sphinx Speech Consortium.
21
* THIS SOFTWARE IS PROVIDED BY CARNEGIE MELLON UNIVERSITY ``AS IS'' AND
22
* ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
23
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
24
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY
25
* NOR ITS EMPLOYEES BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
28
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
29
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
30
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33
* ====================================================================
40
int read_backup_distribution(const char *filen,
43
float **pi, int *Nmodes, int Ndim)
45
int j, k, imodes, idim;
46
float **varbuff, **meanbuff, *cbuff;
50
if ((dist = fopen(filen, "r")) == NULL) {
51
printf("Unable to open distribution file\n");
55
fscanf(dist, "%d %d", &imodes, &idim);
60
printf("ERROR in read_distribution:\n");
62
("Distribution dimensionality != Dimensionality of data given\n");
66
varbuff = (float **) ckd_calloc_2d(imodes, idim, sizeof(float));
67
meanbuff = (float **) ckd_calloc_2d(imodes, idim, sizeof(float));
68
cbuff = (float *) ckd_calloc(imodes, sizeof(float));
70
for (k = 0; k < imodes; ++k) {
71
fscanf(dist, "%f", &cbuff[k]);
72
for (j = 0; j < idim; ++j)
73
fscanf(dist, "%f ", &meanbuff[k][j]);
74
for (j = 0; j < idim; ++j)
75
fscanf(dist, "%f ", &varbuff[k][j]);