@@ -477,14 +477,17 @@ def _get_values_subelement(elem):
477477 num_placeholders = 0
478478 rnd_offset = 0
479479
480- masked_rows = None
480+ unmasked_rows = None # unmasked_rows is None, indicates that all rows are unmasked
481481
482482 assert isinstance (placeholders , np .ma .MaskedArray ), "expecting MaskArray"
483483
484484 # if template is empty, then nothing needs to be done
485485 if template_len > 0 and isinstance (placeholders , np .ma .MaskedArray ):
486486 active_rows = ~ placeholders .mask
487- masked_rows = active_rows [:, 0 ]
487+ unmasked_rows = active_rows [:, 0 ]
488+
489+ if np .all (active_rows ):
490+ unmasked_rows = None
488491
489492 # in the following code, the construct `(not escape) ^ self._escapeSpecialMeaning` means apply
490493 # special meaning if either escape is not true or the option `self._escapeSpecialMeaning` is true.
@@ -506,8 +509,8 @@ def _get_values_subelement(elem):
506509 # random numbers from `rnds` 2d array
507510 bound , valueMappings = self ._templateMappings [char ]
508511
509- if masked_rows is not None :
510- placeholders [masked_rows , num_placeholders ] = valueMappings [rnds [masked_rows , rnd_offset ]]
512+ if unmasked_rows is not None :
513+ placeholders [unmasked_rows , num_placeholders ] = valueMappings [rnds [unmasked_rows , rnd_offset ]]
511514 else :
512515 placeholders [:, num_placeholders ] = valueMappings [rnds [:, rnd_offset ]]
513516
@@ -519,13 +522,13 @@ def _get_values_subelement(elem):
519522 bound , valueMappings = self ._templateEscapedMappings [char ]
520523
521524 if valueMappings is not None :
522- if masked_rows is not None :
523- placeholders [masked_rows , num_placeholders ] = valueMappings [rnds [masked_rows , rnd_offset ]]
525+ if unmasked_rows is not None :
526+ placeholders [unmasked_rows , num_placeholders ] = valueMappings [rnds [unmasked_rows , rnd_offset ]]
524527 else :
525528 placeholders [:, num_placeholders ] = valueMappings [rnds [:, rnd_offset ]]
526529 else :
527- if masked_rows is not None :
528- placeholders [masked_rows , num_placeholders ] = rnds [masked_rows , rnd_offset ]
530+ if unmasked_rows is not None :
531+ placeholders [unmasked_rows , num_placeholders ] = rnds [unmasked_rows , rnd_offset ]
529532 else :
530533 placeholders [:, num_placeholders ] = rnds [:, rnd_offset ]
531534 num_placeholders += 1
0 commit comments