Coverage Report

Created: 2026-05-08 06:29

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/libxaac/encoder/ixheaace_basic_ops.c
Line
Count
Source
1
/******************************************************************************
2
 *                                                                            *
3
 * Copyright (C) 2023 The Android Open Source Project
4
 *
5
 * Licensed under the Apache License, Version 2.0 (the "License");
6
 * you may not use this file except in compliance with the License.
7
 * You may obtain a copy of the License at:
8
 *
9
 * http://www.apache.org/licenses/LICENSE-2.0
10
 *
11
 * Unless required by applicable law or agreed to in writing, software
12
 * distributed under the License is distributed on an "AS IS" BASIS,
13
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
 * See the License for the specific language governing permissions and
15
 * limitations under the License.
16
 *
17
 *****************************************************************************
18
 * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore
19
 */
20
21
#include <float.h>
22
#include <math.h>
23
#include "ixheaac_type_def.h"
24
#include "ixheaac_constants.h"
25
#include "ixheaace_aac_constants.h"
26
#include "ixheaac_basic_ops32.h"
27
#include "ixheaac_basic_ops16.h"
28
#include "ixheaac_basic_ops40.h"
29
#include "ixheaac_basic_ops.h"
30
31
0
WORD ia_enhaacplus_enc_norm32_arr(const WORD32 *word32_arr, LOOPINDEX n) {
32
0
  WORD32 max_bits = 0;
33
0
  for (; n != 0; n--) {
34
0
    max_bits = max_bits | ixheaac_abs32_sat(*word32_arr++);
35
0
  }
36
0
  return (ixheaac_pnorm32(max_bits));
37
0
}
38
39
45.8M
FLOAT32 ixheaace_div32(FLOAT32 num, FLOAT32 den) {
40
45.8M
  if (fabs(den) < FLT_EPSILON) {
41
7.07M
    if (den < 0.0f) {
42
0
      return -num;
43
0
    }
44
7.07M
    else {
45
7.07M
      return num;
46
7.07M
    }
47
7.07M
  }
48
38.7M
  else {
49
38.7M
    return num / den;
50
38.7M
  }
51
45.8M
}
52
53
3.70k
FLOAT64 ixheaace_div64(FLOAT64 num, FLOAT64 den) {
54
3.70k
  if (fabs(den) < FLT_EPSILON) {
55
404
    if (den < 0.0) {
56
1
      return -num;
57
1
    }
58
403
    else {
59
403
      return num;
60
403
    }
61
404
  }
62
3.30k
  else {
63
3.30k
    return num / den;
64
3.30k
  }
65
3.70k
}