Lines Matching +full:- +full:a
2 /* ----------------------------------------------------------------------
10 * Target Processor: Cortex-M and Cortex-A cores
11 * -------------------------------------------------------------------- */
13 * Copyright (C) 2010-2021 ARM Limited or its affiliates. All rights reserved.
15 * SPDX-License-Identifier: Apache-2.0
19 * You may obtain a copy of the License at
21 * www.apache.org/licenses/LICENSE-2.0
64 f32x4_t a, b, c, accumV; in arm_canberra_distance_f32() local
70 a = vld1q(pA); in arm_canberra_distance_f32()
73 c = vabdq(a, b); in arm_canberra_distance_f32()
75 a = vabsq(a); in arm_canberra_distance_f32()
77 a = vaddq(a, b); in arm_canberra_distance_f32()
80 * May divide by zero when a and b have both the same lane at zero. in arm_canberra_distance_f32()
82 a = vrecip_medprec_f32(a); in arm_canberra_distance_f32()
85 * Force result of a division by 0 to 0. It the behavior of the in arm_canberra_distance_f32()
88 a = vdupq_m_n_f32(a, 0.0f, vcmpeqq(a, 0.0f)); in arm_canberra_distance_f32()
89 c = vmulq(c, a); in arm_canberra_distance_f32()
94 blkCnt--; in arm_canberra_distance_f32()
101 a = vldrwq_z_f32(pA, p0); in arm_canberra_distance_f32()
104 c = vabdq(a, b); in arm_canberra_distance_f32()
106 a = vabsq(a); in arm_canberra_distance_f32()
108 a = vaddq(a, b); in arm_canberra_distance_f32()
111 * May divide by zero when a and b have both the same lane at zero. in arm_canberra_distance_f32()
113 a = vrecip_medprec_f32(a); in arm_canberra_distance_f32()
116 * Force result of a division by 0 to 0. It the behavior of the in arm_canberra_distance_f32()
119 a = vdupq_m_n_f32(a, 0.0f, vcmpeqq(a, 0.0f)); in arm_canberra_distance_f32()
120 c = vmulq(c, a); in arm_canberra_distance_f32()
138 float32x4_t a,b,c,accumV; in arm_canberra_distance_f32() local
148 a = vld1q_f32(pA); in arm_canberra_distance_f32()
151 c = vabdq_f32(a,b); in arm_canberra_distance_f32()
153 a = vabsq_f32(a); in arm_canberra_distance_f32()
155 a = vaddq_f32(a,b); in arm_canberra_distance_f32()
156 isZeroV = vceqq_f32(a,zeroV); in arm_canberra_distance_f32()
159 * May divide by zero when a and b have both the same lane at zero. in arm_canberra_distance_f32()
161 a = vinvq_f32(a); in arm_canberra_distance_f32()
164 * Force result of a division by 0 to 0. It the behavior of the in arm_canberra_distance_f32()
167 … a = vreinterpretq_f32_s32(vbicq_s32(vreinterpretq_s32_f32(a),vreinterpretq_s32_u32(isZeroV))); in arm_canberra_distance_f32()
168 c = vmulq_f32(c,a); in arm_canberra_distance_f32()
173 blkCnt --; in arm_canberra_distance_f32()
185 diff = fabsf(tmpA - tmpB); in arm_canberra_distance_f32()
191 blkCnt --; in arm_canberra_distance_f32()
206 diff = fabsf(tmpA - tmpB); in arm_canberra_distance_f32()
212 blockSize --; in arm_canberra_distance_f32()