本文整理汇总了C++中cst_streq函数的典型用法代码示例。如果您正苦于以下问题:C++ cst_streq函数的具体用法?C++ cst_streq怎么用?C++ cst_streq使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了cst_streq函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: ef_set
static void ef_set(cst_features *f,const char *fv,const char *type)
{
/* set feature from fv (F=V), guesses type if not explicit type given */
const char *val;
char *feat;
if ((val = strchr(fv,'=')) == 0)
{
fprintf(stderr,
"flite: can't find '=' in featval \"%s\", ignoring it\n",
fv);
}
else
{
feat = cst_strdup(fv);
feat[strlen(fv)-strlen(val)] = '\0';
val = val+1;
if ((type && cst_streq("int",type)) ||
((type == 0) && (cst_regex_match(cst_rx_int,val))))
feat_set_int(f,feat,atoi(val));
else if ((type && cst_streq("float",type)) ||
((type == 0) && (cst_regex_match(cst_rx_double,val))))
feat_set_float(f,feat,atof(val));
else
feat_set_string(f,feat,val);
/* I don't free feat, because feats think featnames are const */
/* which is true except in this particular case */
}
}
开发者ID:iPodLinux-Community,项目名称:Flite,代码行数:29,代码来源:flite_main.c
示例2: flite_process_output
float flite_process_output(cst_utterance *u, const char *outtype,
int append)
{
/* Play or save (append) output to output file */
cst_wave *w;
float dur;
if (!u) return 0.0;
w = utt_wave(u);
dur = (float)w->num_samples/(float)w->sample_rate;
if (cst_streq(outtype,"play"))
play_wave(w);
else if (cst_streq(outtype,"stream"))
{
/* It's already been played so do nothing */
}
else if (!cst_streq(outtype,"none"))
{
if (append)
cst_wave_append_riff(w,outtype);
else
cst_wave_save_riff(w,outtype);
}
return dur;
}
开发者ID:nlphacker,项目名称:OpenSpeech,代码行数:30,代码来源:flite.c
示例3: cmu_grapheme_syl_boundary
int cmu_grapheme_syl_boundary(const cst_item *i,const cst_val *rest)
{
if (!rest)
return TRUE;
else if (!cmu_grapheme_contains_vowel(rest))
return FALSE;
else if (!cmu_grapheme_has_vowel_in_syl(i))
return FALSE;
#if 0
else if (rest && val_cdr(rest) &&
cst_streq("n",val_string(val_car(rest))) &&
!cmu_grapheme_is_vowel(val_string(val_car(rest))))
return FALSE;
else if (rest && val_cdr(rest) &&
cmu_grapheme_is_vowel(ffeature_string(i,"name")) &&
!cmu_grapheme_is_vowel(val_string(val_car(rest))) &&
!cmu_grapheme_is_vowel(val_string(val_car(val_cdr(rest)))))
return FALSE;
else if (rest && val_cdr(rest) && val_cdr(val_cdr(rest)) &&
!cmu_grapheme_is_vowel(val_string(val_car(rest))) &&
!cmu_grapheme_is_vowel(val_string(val_car(val_cdr(rest)))) &&
!cmu_grapheme_is_vowel(val_string(val_car(val_cdr(val_cdr(rest))))))
return FALSE;
else if (rest && val_cdr(rest) &&
(cst_streq(val_string(val_car(rest)),
val_string(val_car(val_cdr(rest))))))
return FALSE;
#endif
else
return TRUE;
}
开发者ID:2php,项目名称:flite-2.0.0-release,代码行数:31,代码来源:cmu_grapheme_lex.c
示例4: context_match
static int context_match(const cst_val *PATTERN, const cst_val *STRING,
const cst_val *sets)
{
if (!PATTERN)
return TRUE;
else if (!STRING)
return FALSE;
else if (val_cdr(PATTERN) &&
(cst_streq("*",val_string(val_car(PATTERN)))))
return
context_match(val_cdr(val_cdr(PATTERN)),STRING,sets) || /* skip */
context_match(val_cdr(PATTERN),STRING,sets) || /* last match */
(item_match(val_car(val_cdr(PATTERN)),val_car(STRING),sets) &&
context_match(val_cdr(val_cdr(PATTERN)), /* loop match */
val_cdr(STRING),sets));
#if 0
else if (val_cdr(PATTERN) &&
(cst_streq("+",val_string(val_car(PATTERN)))))
return context_match(val_cdr(PATTERN),STRING,sets) || /* last match */
(item_match(val_car(val_cdr(PATTERN)),val_car(STRING),sets) &&
context_match(val_cdr(val_cdr(PATTERN)), /* loop match */
val_cdr(STRING),sets));
#endif
else if (item_match(val_car(PATTERN),val_car(STRING),sets))
return context_match(val_cdr(PATTERN),val_cdr(STRING),sets);
else
return FALSE;
}
开发者ID:deardaniel,项目名称:PizzaTest,代码行数:28,代码来源:cst_lts_rewrites.c
示例5: val_cart
cst_utterance *cart_intonation(cst_utterance *u)
{
cst_cart *accents, *tones;
cst_item *s;
const cst_val *v;
if (feat_present(u->features,"no_intonation_accent_model"))
return u; /* not all languages have intonation models */
accents = val_cart(feat_val(u->features,"int_cart_accents"));
tones = val_cart(feat_val(u->features,"int_cart_tones"));
for (s=relation_head(utt_relation(u,"Syllable")); s; s=item_next(s))
{
v = cart_interpret(s,accents);
if (!cst_streq("NONE",val_string(v)))
item_set_string(s,"accent",val_string(v));
v = cart_interpret(s,tones);
if (!cst_streq("NONE",val_string(v)))
item_set_string(s,"endtone",val_string(v));
DPRINTF(0,("word %s gpos %s stress %s ssyl_in %s ssyl_out %s accent %s endtone %s\n",
ffeature_string(s,"R:SylStructure.parent.name"),
ffeature_string(s,"R:SylStructure.parent.gpos"),
ffeature_string(s,"stress"),
ffeature_string(s,"ssyl_in"),
ffeature_string(s,"ssyl_out"),
ffeature_string(s,"accent"),
ffeature_string(s,"endtone")));
}
return u;
}
开发者ID:nvda-india,项目名称:nvda-flite-hts,代码行数:32,代码来源:cst_synth.c
示例6: ef_set
static void ef_set(cst_features *f,const char *fv,const char *type)
{
/* set feature from fv (F=V), guesses type if not explicit type given */
const char *val;
char *feat;
if ((val = strchr(fv,'=')) == 0)
{
fprintf(stderr,
"flite: can't find '=' in featval \"%s\", ignoring it\n",
fv);
}
else
{
feat = cst_strdup(fv);
feat[cst_strlen(fv)-cst_strlen(val)] = '\0';
val = val+1;
if ((type && cst_streq("int",type)) ||
((type == 0) && (cst_regex_match(cst_rx_int,val))))
feat_set_int(f,feat,atoi(val));
else if ((type && cst_streq("float",type)) ||
((type == 0) && (cst_regex_match(cst_rx_double,val))))
feat_set_float(f,feat,atof(val));
else
feat_set_string(f,feat,val);
cst_free(feat);
}
}
开发者ID:ljmljz,项目名称:MMDAgent,代码行数:28,代码来源:flite_main.c
示例7: find_full_match
static int find_full_match(const cst_lexicon *l,
int i,const char *word)
{
/* found word, now look for actual match including pos */
int w, match=i;
/* needs to be longer than longest word in lexicon */
char word_pos[WP_SIZE];
for (w=i; w > 0; )
{
lex_uncompress_word(word_pos,WP_SIZE,w,l);
if (!cst_streq(word+1,word_pos+1))
break;
else if (cst_streq(word,word_pos))
return w;
match = w; /* if we can't find an exact match we'll take this one */
/* go back to last entry */
w = lex_data_prev_entry(l,w,0);
}
for (w=i; w < l->num_bytes;)
{
lex_uncompress_word(word_pos,WP_SIZE,w,l);
if (!cst_streq(word+1,word_pos+1))
break;
else if (cst_streq(word,word_pos))
return w;
/* go to next entry */
w = lex_data_next_entry(l,w,l->num_bytes);
}
return match;
}
开发者ID:rhdunn,项目名称:flite,代码行数:34,代码来源:cst_lexicon.c
示例8: relation_load
int relation_load(cst_relation *r, const char *filename)
{
cst_tokenstream *fd;
cst_item *item;
const char *token=0;
if ((fd = ts_open(filename,NULL,";","","")) == 0)
{
cst_errmsg("relation_load: can't open file \"%s\" for reading\n",
filename);
return CST_ERROR_FORMAT;
}
for ( ; !ts_eof(fd); )
{
token = ts_get(fd);
if (cst_streq("#",token))
break;
}
#import "OpenEarsStaticAnalysisToggle.h"
#ifdef STATICANALYZEDEPENDENCIES
#define __clang_analyzer__ 1
#endif
#if !defined(__clang_analyzer__) || defined(STATICANALYZEDEPENDENCIES)
#undef __clang_analyzer__
if (!cst_streq("#",token))
#endif
{
cst_errmsg("relation_load: no end of header marker in \"%s\"\n",
filename);
ts_close(fd);
return CST_ERROR_FORMAT;
}
while (!ts_eof(fd))
{
token = ts_get(fd);
if (cst_streq(token,""))
continue;
item = relation_append(r,NULL);
item_set_float(item,"end",(float)cst_atof(token));
#import "OpenEarsStaticAnalysisToggle.h"
#ifdef STATICANALYZEDEPENDENCIES
#define __clang_analyzer__ 1
#endif
#if !defined(__clang_analyzer__) || defined(STATICANALYZEDEPENDENCIES)
#undef __clang_analyzer__
token = ts_get(fd);
#endif
token = ts_get(fd);
item_set_string(item,"name",token);
}
ts_close(fd);
return CST_OK_FORMAT;
}
开发者ID:QuinnEbert,项目名称:zedom8or,代码行数:57,代码来源:cst_rel_io.c
示例9: if
static const char *__VOICENAME___nextvoicing(cst_item *s)
{
if (cst_streq("+",flite_ffeature_string(s,"n.ph_vc")))
return "V";
else if (cst_streq("+",flite_ffeature_string(s,"n.ph_cvox")))
return "CVox";
else
return "UV";
}
开发者ID:LongBoolean,项目名称:flite_vocalid_compare,代码行数:9,代码来源:VOICE_clunits.c
示例10:
const char *russian_vpair(const char *ph)
{
int i;
for(i=0;vpairs[i][0];++i)
{
if(cst_streq(vpairs[i][0],ph))
return vpairs[i][1];
if(cst_streq(vpairs[i][1],ph))
return vpairs[i][0];
}
return NULL;
}
开发者ID:Datikos,项目名称:RHVoice,代码行数:12,代码来源:russian.c
示例11: voiced_frame
static int voiced_frame(cst_item *m)
{
const char *ph_vc;
const char *ph_cvox;
ph_vc = ffeature_string(m,"R:mcep_link.parent.R:segstate.parent.ph_vc");
ph_cvox = ffeature_string(m,"R:mcep_link.parent.R:segstate.parent.ph_cvox");
if (cst_streq("-",ph_vc) &&
cst_streq("-",ph_cvox))
return 0; /* unvoiced */
else
return 1; /* voiced */
}
开发者ID:JonGBowen,项目名称:GoodVibes,代码行数:14,代码来源:cst_cg.c
示例12: relation_load
int relation_load(cst_relation *r, const char *filename)
{
cst_tokenstream *fd;
cst_item *item;
const char *token=0;
if ((fd = ts_open(filename,NULL,";","","")) == 0)
{
cst_errmsg("relation_load: can't open file \"%s\" for reading\n",
filename);
return CST_ERROR_FORMAT;
}
for ( ; !ts_eof(fd); )
{
token = ts_get(fd);
if (cst_streq("#",token))
break;
}
if (!cst_streq("#",token))
{
cst_errmsg("relation_load: no end of header marker in \"%s\"\n",
filename);
ts_close(fd);
return CST_ERROR_FORMAT;
}
while (!ts_eof(fd))
{
token = ts_get(fd);
if (cst_streq(token,""))
continue;
item = relation_append(r,NULL);
item_set_float(item,"end",(float)cst_atof(token));
token = ts_get(fd);
token = ts_get(fd);
item_set_string(item,"name",token);
}
ts_close(fd);
return CST_OK_FORMAT;
}
开发者ID:JonGBowen,项目名称:GoodVibes,代码行数:49,代码来源:cst_rel_io.c
示例13: cmu_is_silence
static int cmu_is_silence(const char *p)
{
if (cst_streq(p,"pau"))
return TRUE;
else
return FALSE;
}
开发者ID:adunndevster,项目名称:Flite-hts_engine-for-Flash,代码行数:7,代码来源:cmu_lex.c
示例14: cst_alloc
cst_val *en_exp_letters(const char *lets)
{
/* returns these as list of single char symbols */
char *aaa;
cst_val *r;
int i;
aaa = cst_alloc(char,2);
aaa[1] = '\0';
for (r=0,i=0; lets[i] != '\0'; i++)
{
aaa[0] = lets[i];
if (isupper((int)aaa[0]))
aaa[0] = tolower((int)aaa[0]);
if (strchr("0123456789",aaa[0]))
r = cons_val(string_val(digit2num[aaa[0]-'0']),r);
else if (cst_streq(aaa,"a"))
r = cons_val(string_val("_a"),r);
else
r = cons_val(string_val(aaa),r);
}
cst_free(aaa);
return val_reverse(r);
}
开发者ID:2php,项目名称:flite-2.0.0-release,代码行数:25,代码来源:us_expand.c
示例15: relation_save
int relation_save(cst_relation *r, const char *filename)
{
cst_file fd;
cst_item *item;
if (cst_streq(filename, "-"))
fd = stdout;
else
if ((fd = cst_fopen(filename, CST_OPEN_WRITE)) == 0)
{
cst_errmsg("relation_save: can't open file \"%s\" for writing\n",
filename);
return CST_ERROR_FORMAT;
}
for (item = relation_head(r); item; item = item_next(item))
{
if (item_feat_present(item, "end"))
cst_fprintf(fd, "%f ", item_feat_float(item, "end"));
else
cst_fprintf(fd, "%f ", 0.00);
if (item_feat_present(item, "name"))
cst_fprintf(fd, "%s ", item_feat_string(item, "name"));
else
cst_fprintf(fd, "%s ", "_");
cst_fprintf(fd, "\n");
}
if (fd != stdout)
cst_fclose(fd);
return CST_OK_FORMAT;
}
开发者ID:zeehio,项目名称:mimic,代码行数:33,代码来源:cst_rel_io.c
示例16: feat_remove
int feat_remove(cst_features *f, const char *name)
{
cst_featvalpair *n,*p,*np;
if (f == NULL)
return FALSE; /* didn't remove it */
else
{
for (p=NULL,n=f->head; n; p=n,n=np)
{
np = n->next;
if (cst_streq(name,n->name))
{
if (p == 0)
f->head = np;
else
p->next = np;
delete_val(n->val);
cst_local_free(f->ctx,n);
return TRUE;
}
}
return FALSE;
}
}
开发者ID:nlphacker,项目名称:OpenSpeech,代码行数:25,代码来源:cst_features.c
示例17: flite_ffeature_string
static char *__VOICENAME___unit_name(cst_item *s)
{
const char *name;
/* This *is* long enough as long as you don't change external things */
char cname[30];
name = flite_ffeature_string(s,"name");
/* Comment this out if you have more complex unit names */
#if 1
if (1 == 1)
return cst_strdup(name);
else
#endif
if (cst_streq("+",flite_ffeature_string(s,"ph_vc")))
{
cst_sprintf(cname,"%s_%s_%s",name,
flite_ffeature_string(s,"R:SylStructure.parent.stress"),
__VOICENAME___nextvoicing(s));
}
else
{
cst_sprintf(cname,"%s_%s",name,
__VOICENAME___nextvoicing(s));
}
return cst_strdup(cname);
}
开发者ID:LongBoolean,项目名称:flite_vocalid_compare,代码行数:27,代码来源:VOICE_clunits.c
示例18: val_reverse
static cst_val *lex_lookup_addenda(const char *wp,const cst_lexicon *l,
int *found)
{
/* For those other words */
int i,j;
cst_val *phones;
phones = NULL;
for (i=0; l->addenda[i]; i++)
{
if (((wp[0] == '0') ||
(wp[0] == l->addenda[i][0][0]) ||
(l->addenda[i][0][0] == '0')) &&
(cst_streq(wp+1,l->addenda[i][0]+1)))
{
for (j=1; l->addenda[i][j]; j++)
phones = cons_val(string_val(l->addenda[i][j]),phones);
*found = TRUE;
return val_reverse(phones);
}
}
return NULL;
}
开发者ID:rhdunn,项目名称:flite,代码行数:25,代码来源:cst_lexicon.c
示例19: in_lex
int in_lex(const cst_lexicon *l, const char *word, const char *pos,
const cst_features *feats)
{
/* return TRUE is its in the lexicon */
int r = FALSE, i;
char *wp;
wp = cst_alloc(char,cst_strlen(word)+2);
cst_sprintf(wp,"%c%s",(pos ? pos[0] : '0'),word);
for (i=0; l->addenda && l->addenda[i]; i++)
{
if (((wp[0] == '0') || (wp[0] == l->addenda[i][0][0])) &&
(cst_streq(wp+1,l->addenda[i][0]+1)))
{
r = TRUE;
break;
}
}
if (!r && (lex_lookup_bsearch(l,wp) >= 0))
r = TRUE;
cst_free(wp);
return r;
}
开发者ID:rhdunn,项目名称:flite,代码行数:26,代码来源:cst_lexicon.c
示例20: bbb_relation_load
static int bbb_relation_load(cst_relation *r,const char *filename)
{
const char *token;
cst_item *item;
cst_tokenstream *fd;
fd = ts_open(filename);
if (fd == 0)
return 0;
while (!ts_eof(fd))
{
token = ts_get(fd);
if (cst_streq(token,""))
continue;
item = relation_append(r,NULL);
item_set_string(item,"name",token);
item_set_string(item,"whitespace",fd->whitespace);
item_set_string(item,"prepunctuation",fd->prepunctuation);
item_set_string(item,"punc",fd->postpunctuation);
item_set_int(item,"file_pos",fd->file_pos);
item_set_int(item,"line_number",fd->line_number);
}
ts_close(fd);
return 1;
}
开发者ID:006,项目名称:ios_lab,代码行数:28,代码来源:utt_test_main.c
注:本文中的cst_streq函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论