void make_silence_mora( MORPH *morph ) { MORA *mora; /* 、の後の 「 や 、の前の 」 では、ポーズを作らない。*/ if( morph->hinshiID == H_SONOTA_KAKKO_HIRAKU && /* 「 など */ morph->prev && morph->prev->silence != NON ) return; if( morph->hinshiID == H_SONOTA_KAKKO_TOJIRU && /* 」など */ morph->next && morph->next->silence != NON ) return; mora = new_mora(); if( morph->silence == PAU ) { mora->yomi = malloc_char( "pau", "mora.yomi of SILENCE" ); } else if( morph->silence == SILB ) { mora->yomi = malloc_char( "silB", "mora.yomi of SILENCE" ); } else if( morph->silence == SILE ) { mora->yomi = malloc_char( "silE", "mora.yomi of SILENCE" ); } else { ErrMsg( "* Unknown silence in make_silence_mora\n" ); mora->yomi = malloc_char( "pau", "mora.yomi of SILENCE" ); /* restart(1); */ } mora->parent = morph; morph->mrhead = morph->mrtail = mora; mora->silence = morph->silence; /* ++(morph->parent->nmora); サイレンスはモーラ数をカウントしない */ }
void testcases() { int i,check; char *a,*op; for(i=0;i<11;i++) { struct sll *ihead,*ohead,*j; a=malloc_char(testDB[i].input); op=malloc_char(testDB[i].output); ihead=convert_to_list(a); ohead=convert_to_list(op); for(j=ihead;j!=NULL;j=j->ptr) printf("%d ",j->data); //for(j=ohead;j!=NULL;j=j->ptr) //printf("%d ",j->data); check=ll_cmp(ihead,ohead); if(check==0) printf("passed\n"); else printf("failed\n"); } }
void testcases() { int i,check,op,b; char *a; for(i=0;i<11;i++) { struct sll *ihead,*ohead,*j; a=malloc_char(testDB[i].input); op=testDB[i].even_odd; b=even_odd_check(convert_to_list(a)); check=a_cmp(b,op); if(check==0) printf("passed\n"); else printf("failed\n"); } }