Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
BC_ReedSolomonGF256.h
Go to the documentation of this file.
1
// Copyright 2014 The PDFium Authors
2
// Use of this source code is governed by a BSD-style license that can be
3
// found in the LICENSE file.
4
5
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6
7
#
ifndef
FXBARCODE_COMMON_REEDSOLOMON_BC_REEDSOLOMONGF256_H_
8
#
define
FXBARCODE_COMMON_REEDSOLOMON_BC_REEDSOLOMONGF256_H_
9
10
#
include
<
array
>
11
#
include
<
memory
>
12
#
include
<
optional
>
13
14
class
CBC_ReedSolomonGF256Poly;
15
16
class
CBC_ReedSolomonGF256
{
17
public
:
18
explicit
CBC_ReedSolomonGF256
(int32_t primitive);
19
~
CBC_ReedSolomonGF256
();
20
21
CBC_ReedSolomonGF256Poly*
GetZero
()
const
{
return
m_zero.get(); }
22
CBC_ReedSolomonGF256Poly*
GetOne
()
const
{
return
m_one.get(); }
23
24
std
::
unique_ptr
<
CBC_ReedSolomonGF256Poly
>
BuildMonomial
(int32_t degree,
25
int32_t coefficient);
26
static
int32_t
AddOrSubtract
(int32_t a, int32_t b);
27
int32_t
Exp
(int32_t a);
28
std
::optional<int32_t>
Inverse
(int32_t a);
29
int32_t
Multiply
(int32_t a, int32_t b);
30
void
Init
();
31
32
private
:
33
std::unique_ptr<CBC_ReedSolomonGF256Poly> m_zero;
34
std::unique_ptr<CBC_ReedSolomonGF256Poly> m_one;
35
std
::array<int32_t, 256> m_expTable;
36
std
::array<int32_t, 256> m_logTable;
37
};
38
39
#
endif
// FXBARCODE_COMMON_REEDSOLOMON_BC_REEDSOLOMONGF256_H_
CBC_ReedSolomonEncoder
Definition
BC_ReedSolomon.h:18
CBC_ReedSolomonEncoder::Encode
bool Encode(std::vector< int32_t > *toEncode, size_t ecBytes)
Definition
BC_ReedSolomon.cpp:56
CBC_ReedSolomonEncoder::~CBC_ReedSolomonEncoder
~CBC_ReedSolomonEncoder()
CBC_ReedSolomonEncoder::CBC_ReedSolomonEncoder
CBC_ReedSolomonEncoder(CBC_ReedSolomonGF256 *field)
Definition
BC_ReedSolomon.cpp:31
CBC_ReedSolomonGF256
Definition
BC_ReedSolomonGF256.h:16
CBC_ReedSolomonGF256::GetZero
CBC_ReedSolomonGF256Poly * GetZero() const
Definition
BC_ReedSolomonGF256.h:21
CBC_ReedSolomonGF256::Multiply
int32_t Multiply(int32_t a, int32_t b)
Definition
BC_ReedSolomonGF256.cpp:82
CBC_ReedSolomonGF256::Inverse
std::optional< int32_t > Inverse(int32_t a)
Definition
BC_ReedSolomonGF256.cpp:76
CBC_ReedSolomonGF256::~CBC_ReedSolomonGF256
~CBC_ReedSolomonGF256()
CBC_ReedSolomonGF256::Exp
int32_t Exp(int32_t a)
Definition
BC_ReedSolomonGF256.cpp:72
CBC_ReedSolomonGF256::Init
void Init()
Definition
BC_ReedSolomonGF256.cpp:44
CBC_ReedSolomonGF256::GetOne
CBC_ReedSolomonGF256Poly * GetOne() const
Definition
BC_ReedSolomonGF256.h:22
CBC_ReedSolomonGF256::BuildMonomial
std::unique_ptr< CBC_ReedSolomonGF256Poly > BuildMonomial(int32_t degree, int32_t coefficient)
Definition
BC_ReedSolomonGF256.cpp:53
CBC_ReedSolomonGF256::CBC_ReedSolomonGF256
CBC_ReedSolomonGF256(int32_t primitive)
Definition
BC_ReedSolomonGF256.cpp:29
CBC_ReedSolomonGF256::AddOrSubtract
static int32_t AddOrSubtract(int32_t a, int32_t b)
Definition
BC_ReedSolomonGF256.cpp:68
fxcrt::UnownedPtr
Definition
unowned_ptr.h:76
std
[33]
Definition
src_corelib_tools_qhash.cpp:421
qtwebengine
src
3rdparty
chromium
third_party
pdfium
fxbarcode
common
reedsolomon
BC_ReedSolomonGF256.h
Generated on
for Qt by
1.18.0