MCPcopy Create free account
hub / github.com/FunAudioLLM/Fun-ASR / ChineseNumberUnit

Class ChineseNumberUnit

tools/cn_tn.py:422–477  ·  view source on GitHub ↗

中文数字/数位字符 每个字符除繁简体外还有一个额外的大写字符 e.g. '陆' 和 '陸'

Source from the content-addressed store, hash-verified

420
421
422class ChineseNumberUnit(ChineseChar):
423 """
424 中文数字/数位字符
425 每个字符除繁简体外还有一个额外的大写字符
426 e.g. '陆''陸'
427 """
428
429 def __init__(self, power, simplified, traditional, big_s, big_t):
430 super(ChineseNumberUnit, self).__init__(simplified, traditional)
431 self.power = power
432 self.big_s = big_s
433 self.big_t = big_t
434
435 def __str__(self):
436 return "10^{}".format(self.power)
437
438 @classmethod
439 def create(cls, index, value, numbering_type=NUMBERING_TYPES[1], small_unit=False):
440 if small_unit:
441 return ChineseNumberUnit(
442 power=index + 1,
443 simplified=value[0],
444 traditional=value[1],
445 big_s=value[1],
446 big_t=value[1],
447 )
448 elif numbering_type == NUMBERING_TYPES[0]:
449 return ChineseNumberUnit(
450 power=index + 8,
451 simplified=value[0],
452 traditional=value[1],
453 big_s=value[0],
454 big_t=value[1],
455 )
456 elif numbering_type == NUMBERING_TYPES[1]:
457 return ChineseNumberUnit(
458 power=(index + 2) * 4,
459 simplified=value[0],
460 traditional=value[1],
461 big_s=value[0],
462 big_t=value[1],
463 )
464 elif numbering_type == NUMBERING_TYPES[2]:
465 return ChineseNumberUnit(
466 power=pow(2, index + 3),
467 simplified=value[0],
468 traditional=value[1],
469 big_s=value[0],
470 big_t=value[1],
471 )
472 else:
473 raise ValueError(
474 "Counting type should be in {0} ({1} provided).".format(
475 NUMBERING_TYPES, numbering_type
476 )
477 )
478
479

Callers 1

createMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected