Home
last modified time | relevance | path

Searched refs:S (Results 1 – 25 of 274) sorted by relevance

1234567891011

/cmsis-dsp-latest/Source/TransformFunctions/
Darm_cfft_radix2_init_f16.c69 arm_cfft_radix2_instance_f16 * S, in arm_cfft_radix2_init_f16() argument
82 S->fftLen = fftLen; in arm_cfft_radix2_init_f16()
85 S->pTwiddle = (float16_t *) twiddleCoefF16_4096; in arm_cfft_radix2_init_f16()
88 S->ifftFlag = ifftFlag; in arm_cfft_radix2_init_f16()
91 S->bitReverseFlag = bitReverseFlag; in arm_cfft_radix2_init_f16()
95 switch (S->fftLen) in arm_cfft_radix2_init_f16()
102 S->twidCoefModifier = 1U; in arm_cfft_radix2_init_f16()
104 S->bitRevFactor = 1U; in arm_cfft_radix2_init_f16()
106 S->pBitRevTable = (uint16_t *) armBitRevTable; in arm_cfft_radix2_init_f16()
108 S->onebyfftLen = 0.000244140625; in arm_cfft_radix2_init_f16()
[all …]
Darm_cfft_radix2_init_f32.c65 arm_cfft_radix2_instance_f32 * S, in arm_cfft_radix2_init_f32() argument
77 S->fftLen = fftLen; in arm_cfft_radix2_init_f32()
80 S->pTwiddle = (float32_t *) twiddleCoef; in arm_cfft_radix2_init_f32()
83 S->ifftFlag = ifftFlag; in arm_cfft_radix2_init_f32()
86 S->bitReverseFlag = bitReverseFlag; in arm_cfft_radix2_init_f32()
89 switch (S->fftLen) in arm_cfft_radix2_init_f32()
96 S->twidCoefModifier = 1U; in arm_cfft_radix2_init_f32()
98 S->bitRevFactor = 1U; in arm_cfft_radix2_init_f32()
100 S->pBitRevTable = (uint16_t *) armBitRevTable; in arm_cfft_radix2_init_f32()
102 S->onebyfftLen = 0.000244140625; in arm_cfft_radix2_init_f32()
[all …]
Darm_rfft_fast_init_f16.c53 ARM_DSP_ATTRIBUTE arm_status arm_rfft_fast_init_32_f16( arm_rfft_fast_instance_f16 * S ) { in arm_rfft_fast_init_32_f16() argument
57 if( !S ) return ARM_MATH_ARGUMENT_ERROR; in arm_rfft_fast_init_32_f16()
59 status=arm_cfft_init_16_f16(&(S->Sint)); in arm_rfft_fast_init_32_f16()
65 S->fftLenRFFT = 32U; in arm_rfft_fast_init_32_f16()
66 S->pTwiddleRFFT = (float16_t *) twiddleCoefF16_rfft_32; in arm_rfft_fast_init_32_f16()
79 ARM_DSP_ATTRIBUTE arm_status arm_rfft_fast_init_64_f16( arm_rfft_fast_instance_f16 * S ) { in arm_rfft_fast_init_64_f16() argument
83 if( !S ) return ARM_MATH_ARGUMENT_ERROR; in arm_rfft_fast_init_64_f16()
85 status=arm_cfft_init_32_f16(&(S->Sint)); in arm_rfft_fast_init_64_f16()
90 S->fftLenRFFT = 64U; in arm_rfft_fast_init_64_f16()
92 S->pTwiddleRFFT = (float16_t *) twiddleCoefF16_rfft_64; in arm_rfft_fast_init_64_f16()
[all …]
Darm_rfft_fast_init_f32.c50 ARM_DSP_ATTRIBUTE arm_status arm_rfft_fast_init_32_f32( arm_rfft_fast_instance_f32 * S ) { in arm_rfft_fast_init_32_f32() argument
54 if( !S ) return ARM_MATH_ARGUMENT_ERROR; in arm_rfft_fast_init_32_f32()
56 status=arm_cfft_init_16_f32(&(S->Sint)); in arm_rfft_fast_init_32_f32()
62 S->fftLenRFFT = 32U; in arm_rfft_fast_init_32_f32()
63 S->pTwiddleRFFT = (float32_t *) twiddleCoef_rfft_32; in arm_rfft_fast_init_32_f32()
76 ARM_DSP_ATTRIBUTE arm_status arm_rfft_fast_init_64_f32( arm_rfft_fast_instance_f32 * S ) { in arm_rfft_fast_init_64_f32() argument
80 if( !S ) return ARM_MATH_ARGUMENT_ERROR; in arm_rfft_fast_init_64_f32()
82 status=arm_cfft_init_32_f32(&(S->Sint)); in arm_rfft_fast_init_64_f32()
87 S->fftLenRFFT = 64U; in arm_rfft_fast_init_64_f32()
89 S->pTwiddleRFFT = (float32_t *) twiddleCoef_rfft_64; in arm_rfft_fast_init_64_f32()
[all …]
Darm_cfft_radix2_init_q15.c66 arm_cfft_radix2_instance_q15 * S, in arm_cfft_radix2_init_q15() argument
78 S->fftLen = fftLen; in arm_cfft_radix2_init_q15()
81 S->pTwiddle = (q15_t *) twiddleCoef_4096_q15; in arm_cfft_radix2_init_q15()
83 S->ifftFlag = ifftFlag; in arm_cfft_radix2_init_q15()
85 S->bitReverseFlag = bitReverseFlag; in arm_cfft_radix2_init_q15()
88 switch (S->fftLen) in arm_cfft_radix2_init_q15()
94 S->twidCoefModifier = 1U; in arm_cfft_radix2_init_q15()
96 S->bitRevFactor = 1U; in arm_cfft_radix2_init_q15()
98 S->pBitRevTable = (uint16_t *) armBitRevTable; in arm_cfft_radix2_init_q15()
106 S->twidCoefModifier = 2U; in arm_cfft_radix2_init_q15()
[all …]
Darm_cfft_radix2_init_q31.c65 arm_cfft_radix2_instance_q31 * S, in arm_cfft_radix2_init_q31() argument
77 S->fftLen = fftLen; in arm_cfft_radix2_init_q31()
80 S->pTwiddle = (q31_t *) twiddleCoef_4096_q31; in arm_cfft_radix2_init_q31()
83 S->ifftFlag = ifftFlag; in arm_cfft_radix2_init_q31()
86 S->bitReverseFlag = bitReverseFlag; in arm_cfft_radix2_init_q31()
89 switch (S->fftLen) in arm_cfft_radix2_init_q31()
94 S->twidCoefModifier = 1U; in arm_cfft_radix2_init_q31()
96 S->bitRevFactor = 1U; in arm_cfft_radix2_init_q31()
98 S->pBitRevTable = (uint16_t *) armBitRevTable; in arm_cfft_radix2_init_q31()
104 S->twidCoefModifier = 2U; in arm_cfft_radix2_init_q31()
[all …]
Darm_rfft_fast_init_f64.c50 ARM_DSP_ATTRIBUTE arm_status arm_rfft_fast_init_32_f64( arm_rfft_fast_instance_f64 * S ) { in arm_rfft_fast_init_32_f64() argument
54 if( !S ) return ARM_MATH_ARGUMENT_ERROR; in arm_rfft_fast_init_32_f64()
56 Sint = &(S->Sint); in arm_rfft_fast_init_32_f64()
58 S->fftLenRFFT = 32U; in arm_rfft_fast_init_32_f64()
63 S->pTwiddleRFFT = (float64_t *) twiddleCoefF64_rfft_32; in arm_rfft_fast_init_32_f64()
77 ARM_DSP_ATTRIBUTE arm_status arm_rfft_fast_init_64_f64( arm_rfft_fast_instance_f64 * S ) { in arm_rfft_fast_init_64_f64() argument
81 if( !S ) return ARM_MATH_ARGUMENT_ERROR; in arm_rfft_fast_init_64_f64()
83 Sint = &(S->Sint); in arm_rfft_fast_init_64_f64()
85 S->fftLenRFFT = 64U; in arm_rfft_fast_init_64_f64()
90 S->pTwiddleRFFT = (float64_t *) twiddleCoefF64_rfft_64; in arm_rfft_fast_init_64_f64()
[all …]
Darm_cfft_radix4_init_f16.c69 arm_cfft_radix4_instance_f16 * S, in arm_cfft_radix4_init_f16() argument
81 S->fftLen = fftLen; in arm_cfft_radix4_init_f16()
84 S->pTwiddle = (float16_t *) twiddleCoefF16; in arm_cfft_radix4_init_f16()
87 S->ifftFlag = ifftFlag; in arm_cfft_radix4_init_f16()
90 S->bitReverseFlag = bitReverseFlag; in arm_cfft_radix4_init_f16()
93 switch (S->fftLen) in arm_cfft_radix4_init_f16()
100 S->twidCoefModifier = 1U; in arm_cfft_radix4_init_f16()
102 S->bitRevFactor = 1U; in arm_cfft_radix4_init_f16()
104 S->pBitRevTable = (uint16_t *) armBitRevTable; in arm_cfft_radix4_init_f16()
106 S->onebyfftLen = 0.000244140625; in arm_cfft_radix4_init_f16()
[all …]
Darm_cfft_radix4_init_f32.c66 arm_cfft_radix4_instance_f32 * S, in arm_cfft_radix4_init_f32() argument
78 S->fftLen = fftLen; in arm_cfft_radix4_init_f32()
81 S->pTwiddle = (float32_t *) twiddleCoef; in arm_cfft_radix4_init_f32()
84 S->ifftFlag = ifftFlag; in arm_cfft_radix4_init_f32()
87 S->bitReverseFlag = bitReverseFlag; in arm_cfft_radix4_init_f32()
90 switch (S->fftLen) in arm_cfft_radix4_init_f32()
97 S->twidCoefModifier = 1U; in arm_cfft_radix4_init_f32()
99 S->bitRevFactor = 1U; in arm_cfft_radix4_init_f32()
101 S->pBitRevTable = (uint16_t *) armBitRevTable; in arm_cfft_radix4_init_f32()
103 S->onebyfftLen = 0.000244140625; in arm_cfft_radix4_init_f32()
[all …]
Darm_mfcc_init_f16.c91 arm_mfcc_instance_f16 * S, in arm_mfcc_init_f16() argument
104 S->fftLen=fftLen; in arm_mfcc_init_f16()
105 S->nbMelFilters=nbMelFilters; in arm_mfcc_init_f16()
106 S->nbDctOutputs=nbDctOutputs; in arm_mfcc_init_f16()
107 S->dctCoefs=dctCoefs; in arm_mfcc_init_f16()
108 S->filterPos=filterPos; in arm_mfcc_init_f16()
109 S->filterLengths=filterLengths; in arm_mfcc_init_f16()
110 S->filterCoefs=filterCoefs; in arm_mfcc_init_f16()
111 S->windowCoefs=windowCoefs; in arm_mfcc_init_f16()
114 status=arm_cfft_init_f16(&(S->cfft),fftLen); in arm_mfcc_init_f16()
[all …]
Darm_mfcc_init_f32.c91 arm_mfcc_instance_f32 * S, in arm_mfcc_init_f32() argument
104 S->fftLen=fftLen; in arm_mfcc_init_f32()
105 S->nbMelFilters=nbMelFilters; in arm_mfcc_init_f32()
106 S->nbDctOutputs=nbDctOutputs; in arm_mfcc_init_f32()
107 S->dctCoefs=dctCoefs; in arm_mfcc_init_f32()
108 S->filterPos=filterPos; in arm_mfcc_init_f32()
109 S->filterLengths=filterLengths; in arm_mfcc_init_f32()
110 S->filterCoefs=filterCoefs; in arm_mfcc_init_f32()
111 S->windowCoefs=windowCoefs; in arm_mfcc_init_f32()
114 status=arm_cfft_init_f32(&(S->cfft),fftLen); in arm_mfcc_init_f32()
[all …]
Darm_mfcc_init_q15.c90 arm_mfcc_instance_q15 * S, in arm_mfcc_init_q15() argument
103 S->fftLen=fftLen; in arm_mfcc_init_q15()
104 S->nbMelFilters=nbMelFilters; in arm_mfcc_init_q15()
105 S->nbDctOutputs=nbDctOutputs; in arm_mfcc_init_q15()
106 S->dctCoefs=dctCoefs; in arm_mfcc_init_q15()
107 S->filterPos=filterPos; in arm_mfcc_init_q15()
108 S->filterLengths=filterLengths; in arm_mfcc_init_q15()
109 S->filterCoefs=filterCoefs; in arm_mfcc_init_q15()
110 S->windowCoefs=windowCoefs; in arm_mfcc_init_q15()
113 status=arm_cfft_init_q15(&(S->cfft),fftLen); in arm_mfcc_init_q15()
[all …]
Darm_mfcc_init_q31.c92 arm_mfcc_instance_q31 * S, in arm_mfcc_init_q31() argument
105 S->fftLen=fftLen; in arm_mfcc_init_q31()
106 S->nbMelFilters=nbMelFilters; in arm_mfcc_init_q31()
107 S->nbDctOutputs=nbDctOutputs; in arm_mfcc_init_q31()
108 S->dctCoefs=dctCoefs; in arm_mfcc_init_q31()
109 S->filterPos=filterPos; in arm_mfcc_init_q31()
110 S->filterLengths=filterLengths; in arm_mfcc_init_q31()
111 S->filterCoefs=filterCoefs; in arm_mfcc_init_q31()
112 S->windowCoefs=windowCoefs; in arm_mfcc_init_q31()
115 status=arm_cfft_init_q31(&(S->cfft),fftLen); in arm_mfcc_init_q31()
[all …]
Darm_cfft_init_f32.c58 static arm_status arm_cfft_radix4by2_rearrange_twiddles_##LEN##_f32(arm_cfft_instance_f32 *S)\
60 S->rearranged_twiddle_tab_stride1_arr = rearranged_twiddle_tab_stride1_arr_##LEN##_f32; \
61 S->rearranged_twiddle_stride1 = rearranged_twiddle_stride1_##LEN##_f32; \
63 S->rearranged_twiddle_tab_stride2_arr = rearranged_twiddle_tab_stride2_arr_##LEN##_f32; \
64 S->rearranged_twiddle_stride2 = rearranged_twiddle_stride2_##LEN##_f32; \
66 S->rearranged_twiddle_tab_stride3_arr = rearranged_twiddle_tab_stride3_arr_##LEN##_f32; \
67 S->rearranged_twiddle_stride3 = rearranged_twiddle_stride3_##LEN##_f32; \
80 arm_cfft_instance_f32 * S) \
86 S->fftLen = LEN; \
89 S->pTwiddle = NULL; \
[all …]
Darm_cfft_init_q15.c57 static arm_status arm_cfft_radix4by2_rearrange_twiddles_##LEN##_q15(arm_cfft_instance_q15 *S)\
59 S->rearranged_twiddle_tab_stride1_arr = rearranged_twiddle_tab_stride1_arr_##LEN##_q15; \
60 S->rearranged_twiddle_stride1 = rearranged_twiddle_stride1_##LEN##_q15; \
62 S->rearranged_twiddle_tab_stride2_arr = rearranged_twiddle_tab_stride2_arr_##LEN##_q15; \
63 S->rearranged_twiddle_stride2 = rearranged_twiddle_stride2_##LEN##_q15; \
65 S->rearranged_twiddle_tab_stride3_arr = rearranged_twiddle_tab_stride3_arr_##LEN##_q15; \
66 S->rearranged_twiddle_stride3 = rearranged_twiddle_stride3_##LEN##_q15; \
79 arm_cfft_instance_q15 * S) \
85 S->fftLen = LEN; \
88 S->pTwiddle = NULL; \
[all …]
Darm_cfft_init_q31.c58 static arm_status arm_cfft_radix4by2_rearrange_twiddles_##LEN##_q31(arm_cfft_instance_q31 *S)\
60 S->rearranged_twiddle_tab_stride1_arr = rearranged_twiddle_tab_stride1_arr_##LEN##_q31; \
61 S->rearranged_twiddle_stride1 = rearranged_twiddle_stride1_##LEN##_q31; \
63 S->rearranged_twiddle_tab_stride2_arr = rearranged_twiddle_tab_stride2_arr_##LEN##_q31; \
64 S->rearranged_twiddle_stride2 = rearranged_twiddle_stride2_##LEN##_q31; \
66 S->rearranged_twiddle_tab_stride3_arr = rearranged_twiddle_tab_stride3_arr_##LEN##_q31; \
67S->rearranged_twiddle_stride3 = rearranged_twiddle_stride3_##LEN##_q31; …
80 arm_cfft_instance_q31 * S) \
86 S->fftLen = LEN; \
89 S->pTwiddle = NULL; \
[all …]
Darm_cfft_init_f16.c61 static arm_status arm_cfft_radix4by2_rearrange_twiddles_##LEN##_f16(arm_cfft_instance_f16 *S)\
63 S->rearranged_twiddle_tab_stride1_arr = rearranged_twiddle_tab_stride1_arr_##LEN##_f16; \
64 S->rearranged_twiddle_stride1 = rearranged_twiddle_stride1_##LEN##_f16; \
66 S->rearranged_twiddle_tab_stride2_arr = rearranged_twiddle_tab_stride2_arr_##LEN##_f16; \
67 S->rearranged_twiddle_stride2 = rearranged_twiddle_stride2_##LEN##_f16; \
69 S->rearranged_twiddle_tab_stride3_arr = rearranged_twiddle_tab_stride3_arr_##LEN##_f16; \
70 S->rearranged_twiddle_stride3 = rearranged_twiddle_stride3_##LEN##_f16; \
84 arm_cfft_instance_f16 * S) \
90 S->fftLen = LEN; \
93 S->pTwiddle = NULL; \
[all …]
Darm_cfft_radix4_init_q15.c67 arm_cfft_radix4_instance_q15 * S, in arm_cfft_radix4_init_q15() argument
78 S->fftLen = fftLen; in arm_cfft_radix4_init_q15()
80 S->pTwiddle = (q15_t *) twiddleCoef_4096_q15; in arm_cfft_radix4_init_q15()
82 S->ifftFlag = ifftFlag; in arm_cfft_radix4_init_q15()
84 S->bitReverseFlag = bitReverseFlag; in arm_cfft_radix4_init_q15()
87 switch (S->fftLen) in arm_cfft_radix4_init_q15()
93 S->twidCoefModifier = 1U; in arm_cfft_radix4_init_q15()
95 S->bitRevFactor = 1U; in arm_cfft_radix4_init_q15()
97 S->pBitRevTable = (uint16_t *) armBitRevTable; in arm_cfft_radix4_init_q15()
103 S->twidCoefModifier = 4U; in arm_cfft_radix4_init_q15()
[all …]
Darm_cfft_radix4_init_q31.c66 arm_cfft_radix4_instance_q31 * S, in arm_cfft_radix4_init_q31() argument
78 S->fftLen = fftLen; in arm_cfft_radix4_init_q31()
80 S->pTwiddle = (q31_t *) twiddleCoef_4096_q31; in arm_cfft_radix4_init_q31()
82 S->ifftFlag = ifftFlag; in arm_cfft_radix4_init_q31()
84 S->bitReverseFlag = bitReverseFlag; in arm_cfft_radix4_init_q31()
87 switch (S->fftLen) in arm_cfft_radix4_init_q31()
92 S->twidCoefModifier = 1U; in arm_cfft_radix4_init_q31()
94 S->bitRevFactor = 1U; in arm_cfft_radix4_init_q31()
96 S->pBitRevTable = (uint16_t *) armBitRevTable; in arm_cfft_radix4_init_q31()
102 S->twidCoefModifier = 4U; in arm_cfft_radix4_init_q31()
[all …]
Darm_rfft_init_q15.c49 ARM_DSP_ATTRIBUTE arm_status arm_rfft_init_##LEN##_q15( arm_rfft_instance_q15 * S, \
58 S->fftLenReal = (uint16_t) LEN; \
61 S->pTwiddleAReal = (q15_t *) realCoefAQ15; \
64 S->pTwiddleBReal = (q15_t *) realCoefBQ15; \
67 S->ifftFlagR = (uint8_t) ifftFlagR; \
70 S->bitReverseFlagR = (uint8_t) bitReverseFlag; \
72 S->twidCoefRModifier = TWIDMOD; \
74 status=arm_cfft_init_##CFFTLEN##_q15(&(S->cfftInst)); \
81 ARM_DSP_ATTRIBUTE arm_status arm_rfft_init_##LEN##_q15( arm_rfft_instance_q15 * S, \
86 S->fftLenReal = (uint16_t) LEN; \
[all …]
Darm_rfft_init_q31.c49 ARM_DSP_ATTRIBUTE arm_status arm_rfft_init_##LEN##_q31( arm_rfft_instance_q31 * S, \
57 S->fftLenReal = (uint16_t) LEN; \
60 S->pTwiddleAReal = (q31_t *) realCoefAQ31; \
63 S->pTwiddleBReal = (q31_t *) realCoefBQ31; \
66 S->ifftFlagR = (uint8_t) ifftFlagR; \
69 S->bitReverseFlagR = (uint8_t) bitReverseFlag; \
71 S->twidCoefRModifier = TWIDMOD; \
73 status=arm_cfft_init_##CFFTLEN##_q31(&(S->cfftInst)); \
80 ARM_DSP_ATTRIBUTE arm_status arm_rfft_init_##LEN##_q31( arm_rfft_instance_q31 * S, \
85 S->fftLenReal = (uint16_t) LEN; \
[all …]
/cmsis-dsp-latest/Include/dsp/
Dtransform_functions.h66 arm_cfft_radix2_instance_q15 * S,
73 const arm_cfft_radix2_instance_q15 * S,
93 arm_cfft_radix4_instance_q15 * S,
100 const arm_cfft_radix4_instance_q15 * S,
119 arm_cfft_radix2_instance_q31 * S,
126 const arm_cfft_radix2_instance_q31 * S,
145 const arm_cfft_radix4_instance_q31 * S,
150 arm_cfft_radix4_instance_q31 * S,
173 arm_cfft_radix2_instance_f32 * S,
180 const arm_cfft_radix2_instance_f32 * S,
[all …]
/cmsis-dsp-latest/Source/ControllerFunctions/
Darm_pid_init_q15.c51 arm_pid_instance_q15 * S, in arm_pid_init_q15() argument
58 S->A0 = __QADD16(__QADD16(S->Kp, S->Ki), S->Kd); in arm_pid_init_q15()
63 S->A1 = __PKHBT(-__QADD16(__QADD16(S->Kd, S->Kd), S->Kp), S->Kd, 16); in arm_pid_init_q15()
65 S->A1 = __PKHBT(S->Kd, -__QADD16(__QADD16(S->Kd, S->Kd), S->Kp), 16); in arm_pid_init_q15()
73 temp = S->Kp + S->Ki + S->Kd; in arm_pid_init_q15()
74 S->A0 = (q15_t) __SSAT(temp, 16); in arm_pid_init_q15()
77 temp = -(S->Kd + S->Kd + S->Kp); in arm_pid_init_q15()
78 S->A1 = (q15_t) __SSAT(temp, 16); in arm_pid_init_q15()
79 S->A2 = S->Kd; in arm_pid_init_q15()
87 memset(S->state, 0, 3U * sizeof(q15_t)); in arm_pid_init_q15()
Darm_pid_init_q31.c51 arm_pid_instance_q31 * S, in arm_pid_init_q31() argument
58 S->A0 = __QADD(__QADD(S->Kp, S->Ki), S->Kd); in arm_pid_init_q31()
61 S->A1 = -__QADD(__QADD(S->Kd, S->Kd), S->Kp); in arm_pid_init_q31()
68 temp = clip_q63_to_q31((q63_t) S->Kp + S->Ki); in arm_pid_init_q31()
69 S->A0 = clip_q63_to_q31((q63_t) temp + S->Kd); in arm_pid_init_q31()
72 temp = clip_q63_to_q31((q63_t) S->Kd + S->Kd); in arm_pid_init_q31()
73 S->A1 = -clip_q63_to_q31((q63_t) temp + S->Kp); in arm_pid_init_q31()
78 S->A2 = S->Kd; in arm_pid_init_q31()
84 memset(S->state, 0, 3U * sizeof(q31_t)); in arm_pid_init_q31()
/cmsis-dsp-latest/dsppp/Include/dsppp/Helium/
Dq7.hpp197 template<int S,
198 typename std::enable_if<S==1,bool>::type = true>
209 template<int S,
210 typename std::enable_if<(S>1) && (S<=17),bool>::type = true>
213 constexpr uint8x16_t offset={0*S,1*S,2*S,3*S,4*S,5*S,6*S,7*S, in vload1()
214 8*S,9*S,10*S,11*S,12*S,13*S,14*S,15*S}; in vload1()
220 template<int S,
221 typename std::enable_if<(S>17),bool>::type = true>
228 p += S; in vload1()
255 template<int S,
[all …]

1234567891011