Main Page | Modules | Data Structures | Directories | File List | Data Fields | Globals | Related Pages

ngram_malloc.c

Go to the documentation of this file.
00001 
00017 /*
00018  * Copyright (c) 1991-2006 Kawahara Lab., Kyoto University
00019  * Copyright (c) 2000-2005 Shikano Lab., Nara Institute of Science and Technology
00020  * Copyright (c) 2005-2006 Julius project team, Nagoya Institute of Technology, Nagoya Institute of Technology
00021  * All rights reserved
00022  */
00023 
00024 #include <sent/stddefs.h>
00025 #include <sent/ngram2.h>
00026 
00032 NGRAM_INFO *
00033 ngram_info_new()
00034 {
00035   NGRAM_INFO *new;
00036 
00037   new = (NGRAM_INFO *)mymalloc(sizeof(NGRAM_INFO));
00038 
00039   return(new);
00040 }
00041 
00047 void
00048 ngram_info_free(NGRAM_INFO *ndata)
00049 {
00050   /* bin test only */
00051   /* free word names */
00052   if (ndata->from_bin) {
00053     free(ndata->wname[0]);
00054     free(ndata->wname);
00055   } else {
00056     WORD_ID w;
00057     for(w=0;w<ndata->max_word_num;w++) {
00058       free(ndata->wname[w]);
00059     }
00060     free(ndata->wname);
00061   }
00062   /* free 1-gram */
00063   free(ndata->p);
00064   free(ndata->bo_wt_lr);
00065   free(ndata->bo_wt_rl);
00066   free(ndata->n2_bgn);
00067   free(ndata->n2_num);
00068   /* free 2-gram */
00069   free(ndata->n2tonid);
00070   free(ndata->p_lr);
00071   free(ndata->p_rl);
00072   switch(ndata->version) {
00073   case 3:
00074     free(ndata->bo_wt_rrl);
00075     free(ndata->n3_bgn);
00076     free(ndata->n3_num);
00077     break;
00078   case 4:
00079     free(ndata->n2bo_upper);
00080     free(ndata->n2bo_lower);
00081     free(ndata->bo_wt_rrl);
00082     free(ndata->n3_bgn_upper);
00083     free(ndata->n3_bgn_lower);
00084     free(ndata->n3_num);
00085     break;
00086   }
00087   /* free 3-gram */
00088   free(ndata->n3tonid);
00089   free(ndata->p_rrl);
00090   /* free index tree */
00091   free_ptree(ndata->root);
00092   /* free whole */
00093   free(ndata);
00094 }
00095 

Generated on Tue Mar 28 16:01:39 2006 for Julius by  doxygen 1.4.2