Home
last modified time | relevance | path

Searched refs:c0 (Results 1 – 25 of 968) sorted by relevance

12345678910>>...39

/third_party/mesa3d/src/intel/tools/tests/gen9/
Dsend.expected11 31 00 60 06 e0 3a 00 20 c0 0e 8d 06 17 00 0a 94
15 31 00 60 06 e0 02 00 20 c0 00 8d 06 27 00 08 0a
16 31 00 60 06 e0 02 00 20 c0 00 8d 06 17 80 08 0c
17 31 00 60 06 e0 02 00 20 c0 00 8d 06 17 80 08 0a
18 31 00 60 06 e0 02 00 20 c0 00 8d 06 17 80 08 08
20 31 00 60 06 e0 02 00 20 c0 00 8d 06 07 80 08 0c
21 31 00 60 06 e0 02 00 20 c0 00 8d 06 07 80 08 0a
24 31 00 60 02 48 02 40 21 c0 00 8d 06 01 a0 22 02
27 31 00 80 02 48 02 c0 21 e0 00 8d 06 01 80 8c 0e
31 31 00 60 02 48 02 20 21 c0 00 8d 06 01 d0 13 06
[all …]
Dcmp.expected8 10 00 80 04 e8 3a c0 23 40 03 8d 3a 00 03 8d 00
10 10 00 60 01 c8 32 c0 2a d0 20 00 32 80 08 69 00
12 10 00 60 02 c0 32 00 20 d0 00 00 32 40 08 69 00
17 10 10 60 02 c0 32 00 20 40 0d 69 32 40 06 69 00
23 10 00 60 05 20 0a 00 20 c0 00 00 0e 02 00 00 00
27 10 00 60 01 20 0a 00 20 c0 02 8d 0e 01 00 00 00
29 10 00 60 04 08 02 c0 23 a0 03 8d 02 bc 00 00 00
34 10 00 60 04 20 0a 00 20 c0 04 8d 0e 20 00 00 00
35 10 00 60 04 c0 32 00 20 a0 02 69 32 a0 01 69 00
41 10 10 60 04 c8 32 c0 25 e0 04 69 32 a0 04 69 00
[all …]
/third_party/mesa3d/src/intel/tools/tests/gen8/
Dsend.expected13 31 00 60 06 e0 3a 00 20 c0 0e 8d 06 17 00 0a 94
15 31 00 60 06 e0 02 00 20 c0 00 8d 06 27 00 08 0a
16 31 00 60 06 e0 02 00 20 c0 00 8d 06 17 80 08 0c
17 31 00 60 06 e0 02 00 20 c0 00 8d 06 17 80 08 0a
18 31 00 60 06 e0 02 00 20 c0 00 8d 06 17 80 08 08
20 31 00 60 06 e0 02 00 20 c0 00 8d 06 07 80 08 0c
21 31 00 60 06 e0 02 00 20 c0 00 8d 06 07 80 08 0a
23 31 00 60 06 08 02 c0 20 c0 00 8d 06 18 00 48 02
31 31 00 60 02 48 02 c0 20 c0 00 8d 06 01 d0 43 06
53 31 00 60 02 48 02 c0 20 80 01 8d 06 02 61 4a 0a
[all …]
/third_party/cmsis/CMSIS/DSP/Source/FilteringFunctions/
Darm_fir_f16.c256 float16_t c0, c1, c2, c3; in arm_fir_f16() local
284 c0 = *pCoeffs++; in arm_fir_f16()
299 vecAcc0 = vmulq(vecIn0, c0); in arm_fir_f16()
329 vecAcc0 = vmulq(vecIn0, c0); in arm_fir_f16()
350 c0 = *pCoeffs++; in arm_fir_f16()
368 vecAcc0 = vmulq(vecIn0, c0); in arm_fir_f16()
398 vecAcc0 = vmulq(vecIn0, c0); in arm_fir_f16()
424 c0 = *pCoeffs++; in arm_fir_f16()
441 vecAcc0 = vmulq(vecIn0, c0); in arm_fir_f16()
472 vecAcc0 = vmulq(vecIn0, c0); in arm_fir_f16()
[all …]
Darm_fir_decimate_fast_q31.c73 …q31_t x0, c0; /* Temporary variables to hold state and coefficien… in arm_fir_decimate_fast_q31() local
126 c0 = *(pb++); in arm_fir_decimate_fast_q31()
138 acc0 = (q31_t) ((((q63_t) acc0 << 32) + ((q63_t) x0 * c0)) >> 32); in arm_fir_decimate_fast_q31()
139 acc1 = (q31_t) ((((q63_t) acc1 << 32) + ((q63_t) x1 * c0)) >> 32); in arm_fir_decimate_fast_q31()
140 acc2 = (q31_t) ((((q63_t) acc2 << 32) + ((q63_t) x2 * c0)) >> 32); in arm_fir_decimate_fast_q31()
141 acc3 = (q31_t) ((((q63_t) acc3 << 32) + ((q63_t) x3 * c0)) >> 32); in arm_fir_decimate_fast_q31()
144 c0 = *(pb++); in arm_fir_decimate_fast_q31()
153 acc0 = (q31_t) ((((q63_t) acc0 << 32) + ((q63_t) x0 * c0)) >> 32); in arm_fir_decimate_fast_q31()
154 acc1 = (q31_t) ((((q63_t) acc1 << 32) + ((q63_t) x1 * c0)) >> 32); in arm_fir_decimate_fast_q31()
155 acc2 = (q31_t) ((((q63_t) acc2 << 32) + ((q63_t) x2 * c0)) >> 32); in arm_fir_decimate_fast_q31()
[all …]
Darm_fir_decimate_fast_q15.c73 …q31_t x0, x1, c0; /* Temporary variables to hold state and coefficien… in arm_fir_decimate_fast_q15() local
123 c0 = read_q15x2_ia ((q15_t **) &pb); in arm_fir_decimate_fast_q15()
130 acc0 = __SMLAD(x0, c0, acc0); in arm_fir_decimate_fast_q15()
131 acc1 = __SMLAD(x1, c0, acc1); in arm_fir_decimate_fast_q15()
134 c0 = read_q15x2_ia ((q15_t **) &pb); in arm_fir_decimate_fast_q15()
141 acc0 = __SMLAD(x0, c0, acc0); in arm_fir_decimate_fast_q15()
142 acc1 = __SMLAD(x1, c0, acc1); in arm_fir_decimate_fast_q15()
161 c0 = *pb++; in arm_fir_decimate_fast_q15()
168 acc0 = __SMLAD(x0, c0, acc0); in arm_fir_decimate_fast_q15()
169 acc1 = __SMLAD(x1, c0, acc1); in arm_fir_decimate_fast_q15()
[all …]
Darm_correlate_fast_q15.c77 …q31_t x0, x1, x2, x3, c0; /* Temporary variables for holding input and coeffi… in arm_correlate_fast_q15() local
285 c0 = read_q15x2_ia ((q15_t **) &py); in arm_correlate_fast_q15()
288 acc0 = __SMLAD(x0, c0, acc0); in arm_correlate_fast_q15()
291 acc1 = __SMLAD(x1, c0, acc1); in arm_correlate_fast_q15()
300 acc2 = __SMLAD(x2, c0, acc2); in arm_correlate_fast_q15()
303 acc3 = __SMLAD(x3, c0, acc3); in arm_correlate_fast_q15()
306 c0 = read_q15x2_ia ((q15_t **) &py); in arm_correlate_fast_q15()
309 acc0 = __SMLAD(x2, c0, acc0); in arm_correlate_fast_q15()
312 acc1 = __SMLAD(x3, c0, acc1); in arm_correlate_fast_q15()
322 acc2 = __SMLAD(x0, c0, acc2); in arm_correlate_fast_q15()
[all …]
Darm_fir_fast_q31.c79 …q31_t x0, x1, x2, x3, c0; /* Temporary variables to hold state and coefficien… in arm_fir_fast_q31() local
132 c0 = *pb; in arm_fir_fast_q31()
138 multAcc_32x32_keep32_R(acc0, x0, c0); in arm_fir_fast_q31()
141 multAcc_32x32_keep32_R(acc1, x1, c0); in arm_fir_fast_q31()
144 multAcc_32x32_keep32_R(acc2, x2, c0); in arm_fir_fast_q31()
147 multAcc_32x32_keep32_R(acc3, x3, c0); in arm_fir_fast_q31()
150 c0 = *(pb + 1U); in arm_fir_fast_q31()
156 multAcc_32x32_keep32_R(acc0, x1, c0); in arm_fir_fast_q31()
157 multAcc_32x32_keep32_R(acc1, x2, c0); in arm_fir_fast_q31()
158 multAcc_32x32_keep32_R(acc2, x3, c0); in arm_fir_fast_q31()
[all …]
Darm_conv_fast_q15.c77 …q31_t x0, x1, x2, x3, c0; /* Temporary variables to hold state and coefficien… in arm_conv_fast_q15() local
299 c0 = read_q15x2_da ((q15_t **) &py); in arm_conv_fast_q15()
302 acc0 = __SMLADX(x0, c0, acc0); in arm_conv_fast_q15()
305 acc1 = __SMLADX(x1, c0, acc1); in arm_conv_fast_q15()
314 acc2 = __SMLADX(x2, c0, acc2); in arm_conv_fast_q15()
317 acc3 = __SMLADX(x3, c0, acc3); in arm_conv_fast_q15()
320 c0 = read_q15x2_da ((q15_t **) &py); in arm_conv_fast_q15()
323 acc0 = __SMLADX(x2, c0, acc0); in arm_conv_fast_q15()
326 acc1 = __SMLADX(x3, c0, acc1); in arm_conv_fast_q15()
336 acc2 = __SMLADX(x0, c0, acc2); in arm_conv_fast_q15()
[all …]
Darm_conv_partial_fast_q15.c72 q31_t x0, x1, x2, x3, c0; /* Temporary input variables */ in arm_conv_partial_fast_q15() local
323 c0 = read_q15x2_da ((q15_t **) &py); in arm_conv_partial_fast_q15()
326 acc0 = __SMLADX(x0, c0, acc0); in arm_conv_partial_fast_q15()
329 acc1 = __SMLADX(x1, c0, acc1); in arm_conv_partial_fast_q15()
338 acc2 = __SMLADX(x2, c0, acc2); in arm_conv_partial_fast_q15()
341 acc3 = __SMLADX(x3, c0, acc3); in arm_conv_partial_fast_q15()
344 c0 = read_q15x2_da ((q15_t **) &py); in arm_conv_partial_fast_q15()
347 acc0 = __SMLADX(x2, c0, acc0); in arm_conv_partial_fast_q15()
350 acc1 = __SMLADX(x3, c0, acc1); in arm_conv_partial_fast_q15()
360 acc2 = __SMLADX(x0, c0, acc2); in arm_conv_partial_fast_q15()
[all …]
Darm_fir_f32.c260 float32_t c0, c1, c2, c3; in arm_fir_f32_5_8_mve() local
278 c0 = *pCoeffs++; in arm_fir_f32_5_8_mve()
294 vecAcc0 = vmulq(vecIn0, c0); in arm_fir_f32_5_8_mve()
324 vecAcc0 = vmulq(vecIn0, c0); in arm_fir_f32_5_8_mve()
377 float32_t c0, c1, c2, c3; in arm_fir_f32() local
408 c0 = *pCoeffs++; in arm_fir_f32()
423 vecAcc0 = vmulq(vecIn0, c0); in arm_fir_f32()
453 vecAcc0 = vmulq(vecIn0, c0); in arm_fir_f32()
474 c0 = *pCoeffs++; in arm_fir_f32()
491 vecAcc0 = vmulq(vecIn0, c0); in arm_fir_f32()
[all …]
Darm_conv_partial_q15.c78 …q31_t x0, x1, x2, x3, c0; /* Temporary input variables to hold state and coef… in arm_conv_partial_q15() local
329 c0 = read_q15x2_da ((q15_t **) &py); in arm_conv_partial_q15()
332 acc0 = __SMLALDX(x0, c0, acc0); in arm_conv_partial_q15()
335 acc1 = __SMLALDX(x1, c0, acc1); in arm_conv_partial_q15()
344 acc2 = __SMLALDX(x2, c0, acc2); in arm_conv_partial_q15()
347 acc3 = __SMLALDX(x3, c0, acc3); in arm_conv_partial_q15()
350 c0 = read_q15x2_da ((q15_t **) &py); in arm_conv_partial_q15()
353 acc0 = __SMLALDX(x2, c0, acc0); in arm_conv_partial_q15()
356 acc1 = __SMLALDX(x3, c0, acc1); in arm_conv_partial_q15()
366 acc2 = __SMLALDX(x0, c0, acc2); in arm_conv_partial_q15()
[all …]
Darm_fir_decimate_q31.c317 …q31_t x0, c0; /* Temporary variables to hold state and coefficien… in arm_fir_decimate_q31() local
370 c0 = *(pb++); in arm_fir_decimate_q31()
382 acc0 += (q63_t) x0 * c0; in arm_fir_decimate_q31()
383 acc1 += (q63_t) x1 * c0; in arm_fir_decimate_q31()
384 acc2 += (q63_t) x2 * c0; in arm_fir_decimate_q31()
385 acc3 += (q63_t) x3 * c0; in arm_fir_decimate_q31()
388 c0 = *(pb++); in arm_fir_decimate_q31()
397 acc0 += (q63_t) x0 * c0; in arm_fir_decimate_q31()
398 acc1 += (q63_t) x1 * c0; in arm_fir_decimate_q31()
399 acc2 += (q63_t) x2 * c0; in arm_fir_decimate_q31()
[all …]
Darm_fir_decimate_f32.c389 …float32_t x0, c0; /* Temporary variables to hold state and coefficien… in arm_fir_decimate_f32() local
487 c0 = *(pb++); in arm_fir_decimate_f32()
496 accv = vsetq_lane_f32(vgetq_lane_f32(accv, 0) + x0 * c0,accv,0); in arm_fir_decimate_f32()
497 accv = vsetq_lane_f32(vgetq_lane_f32(accv, 1) + x1 * c0,accv,1); in arm_fir_decimate_f32()
498 accv = vsetq_lane_f32(vgetq_lane_f32(accv, 2) + x2 * c0,accv,2); in arm_fir_decimate_f32()
499 accv = vsetq_lane_f32(vgetq_lane_f32(accv, 3) + x3 * c0,accv,3); in arm_fir_decimate_f32()
565 c0 = *(pb++); in arm_fir_decimate_f32()
571 sum0 += x0 * c0; in arm_fir_decimate_f32()
632 …float32_t x0, c0; /* Temporary variables to hold state and coefficien… in arm_fir_decimate_f32() local
685 c0 = *(pb++); in arm_fir_decimate_f32()
[all …]
/third_party/mesa3d/src/panfrost/bifrost/valhall/test/
Dassembler-cases.txt7 01 02 00 00 00 c0 a4 00 FADD.f32 r0, r1, r2
8 01 02 00 00 20 c0 a4 00 FADD.f32 r0, r1, r2.abs
9 01 02 00 00 10 c0 a4 00 FADD.f32 r0, r1, r2.neg
10 01 02 00 00 30 c0 a4 00 FADD.f32 r0, r1, r2.neg.abs
11 01 02 00 00 32 c0 a4 00 FADD.f32.clamp_m1_1 r0, r1, r2.neg.abs
14 41 03 00 00 00 c0 1f 50 BRANCHZ.reconverge `r1, offset:3
15 01 d0 00 00 00 c0 a4 00 FADD.f32 r0, r1, 0x3F800000
16 01 d0 00 00 10 c0 a4 00 FADD.f32 r0, r1, 0x3F800000.neg
17 01 c0 00 00 00 c0 a4 00 FADD.f32 r0, r1, 0x0
18 01 c0 00 00 10 c0 a4 00 FADD.f32 r0, r1, 0x0.neg
[all …]
/third_party/mindspore/mindspore/ops/_op_impl/_custom_op/
Dmatmul_cube_fracz_left_cast_impl.py106 c0 = 16
107 c1 = c // c0
109 shape_bb = [n, c1 * h * w * c0]
114 c0 = 16
115 c1 = c // c0
117 shape_aa = [n, c1 * h * w * c0]
118 shape_bb = [c1 * h * w * c0, c1 * h * w * c0]
229 c0 = input_x1.shape[-1]
230 diag_outer = diag_size // c0
233 …nput_x1.shape[-1], input_x1.shape[-2], input_x2.shape[-1], input_x2.shape[-2]] != [c0, c0, c0, c0]:
[all …]
Dmatmul_cube_fracz_right_mul_impl.py99 c0 = input_x1.shape[-1]
100 diag_outer = 128 // c0
147 c0 = input_x1.shape[-1]
148 diag_outer = 128 // c0
149 …nput_x1.shape[-1], input_x1.shape[-2], input_x2.shape[-1], input_x2.shape[-2]] != [c0, c0, c0, c0]:
179 res_l0c = tik_instance.Tensor("float32", [no_tile, mo_tile, c0, c0],
187 input_x1_l1 = tik_instance.Tensor(input_x1.dtype, [ko_tile_inner, mo_tile, c0, c0],
192 0, ko_tile_inner, mo_tile * c0 * c0 * fp16_size // blocksize,
193 (mo - mo_tile) * c0 * c0 * fp16_size // blocksize, 0)
195 input_x2_l1 = tik_instance.Tensor("float16", [no_tile, ko_tile_inner, c0, c0],
[all …]
/third_party/mesa3d/src/intel/tools/tests/gen7/
Dsend.expected1 31 01 60 06 bc 0f 0f 20 24 0e 6e 00 00 c0 08 86
2 31 01 60 06 bc 0f 0f 20 24 0e 6e 00 00 c0 08 8a
4 31 00 80 02 29 0c 40 20 c0 01 8d 00 01 70 84 10
13 31 01 60 06 3c 0c 0f 20 a4 01 6e 00 03 c0 08 02
17 31 01 60 06 bc 0f 0f 20 24 0e 6e 00 00 c0 08 8e
26 31 00 60 02 29 0c c0 20 80 01 8d 00 02 61 4a 0a
36 31 01 60 06 bc 0f 0f 20 24 0e 6e 00 30 c0 08 8a
43 31 00 60 02 29 0c 80 2f c0 00 8d 00 01 40 42 0c
50 31 01 60 06 bc 0f 0f 20 24 0e 6e 00 00 c0 08 92
60 31 00 80 02 29 0c 00 2f c0 01 8d 00 01 10 84 10
[all …]
/third_party/mesa3d/src/intel/tools/tests/gen7.5/
Dcmp.expected1 10 00 60 01 a5 14 e0 20 c0 00 8d 00 54 00 00 00
16 10 00 60 02 a5 1c 40 20 c0 00 8d 00 ff 00 00 00
20 10 00 60 01 a5 1c c0 20 40 00 8d 00 ff 00 00 00
22 10 80 60 01 a4 1c 00 20 c0 02 8d 00 01 00 00 00
24 10 00 60 04 21 04 e0 23 c0 03 8d 00 bc 00 00 00
25 10 00 60 05 21 04 00 24 c0 03 8d 00 ac 00 00 00
30 10 00 80 05 bd 77 00 2a c0 00 8d 00 c0 09 8d 00
31 10 00 80 04 bd 77 40 2a c0 00 8d 00 c0 09 8d 00
39 10 81 60 05 20 0c 0f 20 c0 00 60 00 03 00 00 00
43 10 80 80 05 a4 1c 00 20 c0 00 00 00 01 00 00 00
[all …]
/third_party/boost/boost/geometry/formulas/
Dandoyer_inverse.hpp75 CT const c0 = CT(0); in apply() local
112 CT const H = math::equals(one_minus_cos_d, c0) ? in apply()
113 c0 : in apply()
115 CT const G = math::equals(one_plus_cos_d, c0) ? in apply()
116 c0 : in apply()
129 if (math::equals(sin_d, c0)) in apply()
145 if (cos_d >= c0) in apply()
147 result.azimuth = c0; in apply()
148 result.reverse_azimuth = c0; in apply()
156 result.azimuth = c0; in apply()
[all …]
/third_party/mesa3d/src/intel/tools/tests/gen4.5/
Dadd.expected2 40 00 60 00 3d 75 c0 20 40 01 8d 00 20 40 00 00
4 40 20 80 00 bd 77 80 20 40 02 8d 00 c0 00 8d 00
10 40 20 80 00 a5 1c c0 21 c0 01 8d 00 01 00 00 00
12 40 20 80 06 bd 77 c0 20 00 01 8d 00 80 00 8d 00
17 40 20 80 00 be 7f 80 30 c0 40 8d 00 00 00 80 3f
18 40 20 80 00 a6 14 40 20 c0 00 8d 00 0c 01 00 00
19 40 20 80 00 a6 1c c0 21 80 00 8d 00 0c 00 00 00
20 40 20 80 80 bd 77 c0 20 80 00 8d 00 44 00 00 00
22 40 00 60 00 a5 1c c0 24 40 00 00 00 01 00 00 00
29 40 20 80 00 29 25 82 40 82 00 ae 00 c0 00 ae 00
[all …]
Dcmp.expected3 10 20 80 04 bd 7f c0 20 80 00 8d 00 5f 70 89 31
5 10 20 80 05 bd 77 00 21 80 00 8d 00 c0 00 8d 00
6 10 20 80 04 bd 77 40 21 80 00 8d 00 c0 00 8d 00
9 10 01 60 04 bd 77 c1 20 40 00 00 00 c0 00 60 00
11 10 20 80 04 a4 1c 00 20 c0 01 8d 00 10 00 00 00
14 10 20 80 04 bc 7f 00 20 c0 00 8d 00 00 00 00 00
17 10 20 80 01 a5 1c c0 20 44 00 00 00 27 00 00 00
22 10 20 80 01 bc 77 00 20 c0 01 8d 00 44 00 00 00
23 10 01 60 01 bd 77 c1 20 c0 00 60 00 65 00 05 00
24 10 20 80 02 bd 77 80 20 c0 00 8d 00 48 00 00 00
[all …]
/third_party/skia/third_party/externals/swiftshader/src/Renderer/
DSurface.cpp2116 c[0] = source->c0; in decodeDXT1()
2119 if(source->c0 > source->c1) // No transparency in decodeDXT1()
2181 c[0] = source->c0; in decodeDXT3()
2231 c[0] = source->c0; in decodeDXT5()
3826 __m128i c0 = _mm_load_si128((__m128i*)(source0 + 4 * x)); in resolve() local
3829 c0 = _mm_avg_epu8(c0, c1); in resolve()
3831 _mm_store_si128((__m128i*)(source0 + 4 * x), c0); in resolve()
3844 __m128i c0 = _mm_load_si128((__m128i*)(source0 + 4 * x)); in resolve() local
3849 c0 = _mm_avg_epu8(c0, c1); in resolve()
3851 c0 = _mm_avg_epu8(c0, c2); in resolve()
[all …]
/third_party/mesa3d/src/intel/tools/tests/gen4/
Dcmp.expected4 10 20 80 04 bd 7f c0 20 80 00 8d 00 5f 70 89 31
6 10 20 80 05 bd 77 00 21 80 00 8d 00 c0 00 8d 00
7 10 20 80 04 bd 77 40 21 80 00 8d 00 c0 00 8d 00
10 10 01 60 04 bd 77 c1 20 40 00 00 00 c0 00 60 00
12 10 20 80 04 a4 1c 00 20 c0 01 8d 00 10 00 00 00
15 10 20 80 04 bc 7f 00 20 c0 00 8d 00 00 00 00 00
18 10 20 80 01 a5 1c c0 20 44 00 00 00 27 00 00 00
25 10 20 80 01 bc 77 00 20 c0 01 8d 00 44 00 00 00
26 10 01 60 01 bd 77 c1 20 c0 00 60 00 65 00 05 00
27 10 20 80 02 bd 77 80 20 c0 00 8d 00 48 00 00 00
[all …]
/third_party/mesa3d/src/intel/tools/tests/gen5/
Dcmp.expected2 10 20 80 04 a4 1c 00 20 c0 01 8d 00 10 00 00 00
4 10 20 80 04 bc 7f 00 20 c0 00 8d 00 00 00 00 00
9 10 00 60 04 bd 7f c0 20 80 00 8d 00 7d 1d 90 26
15 10 00 60 02 bd 77 a0 20 a0 00 8d 00 c0 04 8d 00
20 10 20 80 02 bd 77 80 22 c0 00 8d 00 c0 41 8d 00
24 10 01 60 05 bd 77 e7 23 0f 01 0f 00 c0 03 60 00
38 10 20 80 04 bd 77 00 23 c0 40 8d 00 80 01 8d 00
47 10 20 80 03 bd 7f c0 20 80 20 8d 00 6f 12 83 3a
50 10 01 60 04 bc 77 01 20 c0 02 60 00 40 01 60 00
54 10 20 80 05 bc 77 00 20 80 00 8d 00 c0 00 8d 00
[all …]

12345678910>>...39