Coverage Report

Created: 2026-01-10 06:30

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
49.1M
FLOAT32 ixheaace_div32(FLOAT32 num, FLOAT32 den) {
40
49.1M
  if (fabs(den) < FLT_EPSILON) {
41
9.57M
    if (den < 0.0f) {
42
0
      return -num;
43
0
    }
44
9.57M
    else {
45
9.57M
      return num;
46
9.57M
    }
47
9.57M
  }
48
39.5M
  else {
49
39.5M
    return num / den;
50
39.5M
  }
51
49.1M
}
52
53
3.34k
FLOAT64 ixheaace_div64(FLOAT64 num, FLOAT64 den) {
54
3.34k
  if (fabs(den) < FLT_EPSILON) {
55
544
    if (den < 0.0) {
56
0
      return -num;
57
0
    }
58
544
    else {
59
544
      return num;
60
544
    }
61
544
  }
62
2.80k
  else {
63
2.80k
    return num / den;
64
2.80k
  }
65
3.34k
}