Wire Sysio
Wire Sysion 1.0.0
Toggle main menu visibility
Main Page
Related Pages
Topics
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
y
Typedefs
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
y
Enumerations
a
b
c
d
e
f
g
h
i
k
l
m
o
p
r
s
t
u
v
Enumerator
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
z
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
y
Enumerations
_
a
b
c
e
f
i
k
l
m
o
p
r
s
t
u
v
w
y
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
y
z
Properties
Related Symbols
:
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
v
z
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
j
l
m
o
p
r
s
t
u
v
w
x
y
z
Enumerations
a
c
e
f
h
l
n
o
p
r
s
t
u
w
x
y
Enumerator
_
a
b
c
d
e
f
i
k
l
m
n
o
p
r
s
t
u
x
y
Macros
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
▼
Wire Sysio
AppBase
LICENSE
LICENSE
Change Log
►
DOM
DOM
►
Encoding
编码
FAQ
常见问题
Features
特点
►
Internals
内部架构
►
NPM
Performance
性能
►
Pointer
Pointer
►
SAX
SAX
►
Schema
►
Schema
►
Stream
流
►
Tutorial
教程
readme
readme.zh-cn
How to become a contributor and submit your own code
Defining a Mock Class
CookBook
DesignDoc
Documentation
ForDummies
FrequentlyAskedQuestions
KnownIssues
advanced
faq
Using GoogleTest from various build systems
Introduction: Why Google C++ Testing Framework?
PumpManual
samples
XcodeGuide
Java class files(under construction)
High-Speed Software Implementation of the Optimal Ate Pairing over Barreto-Naehrig Curves
Xbyak 5.63 ; JIT assembler for x86(IA32), x64(AMD64, x86-64) by C++
LICENSE
Changelog
Release Process
The safegcd implementation in libsecp256k1 explained
Security Policy
changelog
WebSocket++ (0.7.0)
roadmap
Broadcast Tutorial
Chat Tutorial
Utility Client Example Application Tutorial
Utility Server Example Application Tutorial
Building SYS-VM
Contributor Covenant Code of Conduct
assertions
ci-and-misc
cmake-integration
command-line
commercial-users
configuration
contributing
deprecations
event-listeners
generators
limitations
list-of-examples
logging
matchers
opensource-users
other-macros
own-main
Readme
release-notes
release-process
reporters
slow-compiles
test-cases-and-sections
test-fixtures
tostring
tutorial
why-catch
LICENSE
Community Plugin List
sysio.system.clauses
Deprecated List
Todo List
►
Topics
►
Namespaces
►
Classes
▼
Files
▼
File List
▼
libraries
►
appbase
►
builtins
►
chain
►
chainbase
►
fc
▼
softfloat
►
build
▼
source
►
8086
►
8086-SSE
►
ARM-VFPv2
►
ARM-VFPv2-defaultNaN
►
include
►
RISCV
►
extF80_add.c
►
extF80_div.c
►
extF80_eq.c
►
extF80_eq_signaling.c
►
extF80_isSignalingNaN.c
►
extF80_le.c
►
extF80_le_quiet.c
►
extF80_lt.c
►
extF80_lt_quiet.c
►
extF80_mul.c
►
extF80_rem.c
►
extF80_roundToInt.c
►
extF80_sqrt.c
►
extF80_sub.c
►
extF80_to_f128.c
►
extF80_to_f16.c
►
extF80_to_f32.c
►
extF80_to_f64.c
►
extF80_to_i32.c
►
extF80_to_i32_r_minMag.c
►
extF80_to_i64.c
►
extF80_to_i64_r_minMag.c
►
extF80_to_ui32.c
►
extF80_to_ui32_r_minMag.c
►
extF80_to_ui64.c
►
extF80_to_ui64_r_minMag.c
►
extF80M_add.c
►
extF80M_div.c
►
extF80M_eq.c
►
extF80M_eq_signaling.c
►
extF80M_le.c
►
extF80M_le_quiet.c
►
extF80M_lt.c
►
extF80M_lt_quiet.c
►
extF80M_mul.c
►
extF80M_rem.c
►
extF80M_roundToInt.c
►
extF80M_sqrt.c
►
extF80M_sub.c
►
extF80M_to_f128M.c
►
extF80M_to_f16.c
►
extF80M_to_f32.c
►
extF80M_to_f64.c
►
extF80M_to_i32.c
►
extF80M_to_i32_r_minMag.c
►
extF80M_to_i64.c
►
extF80M_to_i64_r_minMag.c
►
extF80M_to_ui32.c
►
extF80M_to_ui32_r_minMag.c
►
extF80M_to_ui64.c
►
extF80M_to_ui64_r_minMag.c
►
f128_add.c
►
f128_div.c
►
f128_eq.c
►
f128_eq_signaling.c
►
f128_isnan.c
►
f128_isSignalingNaN.c
►
f128_le.c
►
f128_le_quiet.c
►
f128_lt.c
►
f128_lt_quiet.c
►
f128_mul.c
►
f128_mulAdd.c
►
f128_rem.c
►
f128_roundToInt.c
►
f128_sqrt.c
►
f128_sub.c
►
f128_to_extF80.c
►
f128_to_f16.c
►
f128_to_f32.c
►
f128_to_f64.c
►
f128_to_i32.c
►
f128_to_i32_r_minMag.c
►
f128_to_i64.c
►
f128_to_i64_r_minMag.c
►
f128_to_ui32.c
►
f128_to_ui32_r_minMag.c
►
f128_to_ui64.c
►
f128_to_ui64_r_minMag.c
►
f128M_add.c
►
f128M_div.c
►
f128M_eq.c
►
f128M_eq_signaling.c
►
f128M_le.c
►
f128M_le_quiet.c
►
f128M_lt.c
►
f128M_lt_quiet.c
►
f128M_mul.c
►
f128M_mulAdd.c
►
f128M_rem.c
►
f128M_roundToInt.c
►
f128M_sqrt.c
►
f128M_sub.c
►
f128M_to_extF80M.c
►
f128M_to_f16.c
►
f128M_to_f32.c
►
f128M_to_f64.c
►
f128M_to_i32.c
►
f128M_to_i32_r_minMag.c
►
f128M_to_i64.c
►
f128M_to_i64_r_minMag.c
►
f128M_to_ui32.c
►
f128M_to_ui32_r_minMag.c
►
f128M_to_ui64.c
►
f128M_to_ui64_r_minMag.c
►
f16_add.c
►
f16_div.c
►
f16_eq.c
►
f16_eq_signaling.c
►
f16_isSignalingNaN.c
►
f16_le.c
►
f16_le_quiet.c
►
f16_lt.c
►
f16_lt_quiet.c
►
f16_mul.c
►
f16_mulAdd.c
►
f16_rem.c
►
f16_roundToInt.c
►
f16_sqrt.c
►
f16_sub.c
►
f16_to_extF80.c
►
f16_to_extF80M.c
►
f16_to_f128.c
►
f16_to_f128M.c
►
f16_to_f32.c
►
f16_to_f64.c
►
f16_to_i32.c
►
f16_to_i32_r_minMag.c
►
f16_to_i64.c
►
f16_to_i64_r_minMag.c
►
f16_to_ui32.c
►
f16_to_ui32_r_minMag.c
►
f16_to_ui64.c
►
f16_to_ui64_r_minMag.c
►
f32_add.c
►
f32_div.c
►
f32_eq.c
►
f32_eq_signaling.c
►
f32_isSignalingNaN.c
►
f32_le.c
►
f32_le_quiet.c
►
f32_lt.c
►
f32_lt_quiet.c
►
f32_mul.c
►
f32_mulAdd.c
►
f32_rem.c
►
f32_roundToInt.c
►
f32_sqrt.c
►
f32_sub.c
►
f32_to_extF80.c
►
f32_to_extF80M.c
►
f32_to_f128.c
►
f32_to_f128M.c
►
f32_to_f16.c
►
f32_to_f64.c
►
f32_to_i32.c
►
f32_to_i32_r_minMag.c
►
f32_to_i64.c
►
f32_to_i64_r_minMag.c
►
f32_to_ui32.c
►
f32_to_ui32_r_minMag.c
►
f32_to_ui64.c
►
f32_to_ui64_r_minMag.c
►
f64_add.c
►
f64_div.c
►
f64_eq.c
►
f64_eq_signaling.c
►
f64_isSignalingNaN.c
►
f64_le.c
►
f64_le_quiet.c
►
f64_lt.c
►
f64_lt_quiet.c
►
f64_mul.c
►
f64_mulAdd.c
►
f64_rem.c
►
f64_roundToInt.c
►
f64_sqrt.c
►
f64_sub.c
►
f64_to_extF80.c
►
f64_to_extF80M.c
►
f64_to_f128.c
►
f64_to_f128M.c
►
f64_to_f16.c
►
f64_to_f32.c
►
f64_to_i32.c
►
f64_to_i32_r_minMag.c
►
f64_to_i64.c
►
f64_to_i64_r_minMag.c
►
f64_to_ui32.c
►
f64_to_ui32_r_minMag.c
►
f64_to_ui64.c
►
f64_to_ui64_r_minMag.c
►
i32_to_extF80.c
►
i32_to_extF80M.c
►
i32_to_f128.c
►
i32_to_f128M.c
►
i32_to_f16.c
►
i32_to_f32.c
►
i32_to_f64.c
►
i64_to_extF80.c
►
i64_to_extF80M.c
►
i64_to_f128.c
►
i64_to_f128M.c
►
i64_to_f16.c
►
i64_to_f32.c
►
i64_to_f64.c
►
s_add128.c
►
s_add256M.c
►
s_addCarryM.c
►
s_addComplCarryM.c
►
s_addExtF80M.c
►
s_addF128M.c
►
s_addM.c
►
s_addMagsExtF80.c
►
s_addMagsF128.c
►
s_addMagsF16.c
►
s_addMagsF32.c
►
s_addMagsF64.c
►
s_approxRecip32_1.c
►
s_approxRecip_1Ks.c
►
s_approxRecipSqrt32_1.c
►
s_approxRecipSqrt_1Ks.c
►
s_compare128M.c
►
s_compare96M.c
►
s_compareNonnormExtF80M.c
►
s_countLeadingZeros16.c
►
s_countLeadingZeros32.c
►
s_countLeadingZeros64.c
►
s_countLeadingZeros8.c
►
s_eq128.c
►
s_invalidExtF80M.c
►
s_invalidF128M.c
►
s_isNaNF128M.c
►
s_le128.c
►
s_lt128.c
►
s_mul128By32.c
►
s_mul128MTo256M.c
►
s_mul128To256M.c
►
s_mul64ByShifted32To128.c
►
s_mul64To128.c
►
s_mul64To128M.c
►
s_mulAddF128.c
►
s_mulAddF128M.c
►
s_mulAddF16.c
►
s_mulAddF32.c
►
s_mulAddF64.c
►
s_negXM.c
►
s_normExtF80SigM.c
►
s_normRoundPackMToExtF80M.c
►
s_normRoundPackMToF128M.c
►
s_normRoundPackToExtF80.c
►
s_normRoundPackToF128.c
►
s_normRoundPackToF16.c
►
s_normRoundPackToF32.c
►
s_normRoundPackToF64.c
►
s_normSubnormalExtF80Sig.c
►
s_normSubnormalF128Sig.c
►
s_normSubnormalF128SigM.c
►
s_normSubnormalF16Sig.c
►
s_normSubnormalF32Sig.c
►
s_normSubnormalF64Sig.c
►
s_remStepMBy32.c
►
s_roundMToI64.c
►
s_roundMToUI64.c
►
s_roundPackMToExtF80M.c
►
s_roundPackMToF128M.c
►
s_roundPackToExtF80.c
►
s_roundPackToF128.c
►
s_roundPackToF16.c
►
s_roundPackToF32.c
►
s_roundPackToF64.c
►
s_roundToI32.c
►
s_roundToI64.c
►
s_roundToUI32.c
►
s_roundToUI64.c
►
s_shiftLeftM.c
►
s_shiftNormSigF128M.c
►
s_shiftRightJam128.c
►
s_shiftRightJam128Extra.c
►
s_shiftRightJam256M.c
►
s_shiftRightJam32.c
►
s_shiftRightJam64.c
►
s_shiftRightJam64Extra.c
►
s_shiftRightJamM.c
►
s_shiftRightM.c
►
s_shortShiftLeft128.c
►
s_shortShiftLeft64To96M.c
►
s_shortShiftLeftM.c
►
s_shortShiftRight128.c
►
s_shortShiftRightExtendM.c
►
s_shortShiftRightJam128.c
►
s_shortShiftRightJam128Extra.c
►
s_shortShiftRightJam64.c
►
s_shortShiftRightJam64Extra.c
►
s_shortShiftRightJamM.c
►
s_shortShiftRightM.c
►
s_sub128.c
►
s_sub1XM.c
►
s_sub256M.c
►
s_subM.c
►
s_subMagsExtF80.c
►
s_subMagsF128.c
►
s_subMagsF16.c
►
s_subMagsF32.c
►
s_subMagsF64.c
►
s_tryPropagateNaNExtF80M.c
►
s_tryPropagateNaNF128M.c
►
softfloat_state.c
►
ui32_to_extF80.c
►
ui32_to_extF80M.c
►
ui32_to_f128.c
►
ui32_to_f128M.c
►
ui32_to_f16.c
►
ui32_to_f32.c
►
ui32_to_f64.c
►
ui64_to_extF80.c
►
ui64_to_extF80M.c
►
ui64_to_f128.c
►
ui64_to_f128M.c
►
ui64_to_f16.c
►
ui64_to_f32.c
►
ui64_to_f64.c
►
state_history
►
sys-vm
►
testing
►
version
►
wasm-jit
►
yubihsm
►
plugins
►
programs
►
wire-system-contracts
►
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
Pages
Loading...
Searching...
No Matches
f128_eq.c
Go to the documentation of this file.
1
2
/*============================================================================
3
4
This C source file is part of the SoftFloat IEEE Floating-Point Arithmetic
5
Package, Release 3e, by John R. Hauser.
6
7
Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
8
All rights reserved.
9
10
Redistribution and use in source and binary forms, with or without
11
modification, are permitted provided that the following conditions are met:
12
13
1. Redistributions of source code must retain the above copyright notice,
14
this list of conditions, and the following disclaimer.
15
16
2. Redistributions in binary form must reproduce the above copyright notice,
17
this list of conditions, and the following disclaimer in the documentation
18
and/or other materials provided with the distribution.
19
20
3. Neither the name of the University nor the names of its contributors may
21
be used to endorse or promote products derived from this software without
22
specific prior written permission.
23
24
THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY
25
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
26
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE
27
DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY
28
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
29
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
30
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
31
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
32
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
33
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34
35
=============================================================================*/
36
37
#include <stdbool.h>
38
#include <
stdint.h
>
39
#include "platform.h"
40
#include "internals.h"
41
#include "specialize.h"
42
#include "softfloat.h"
43
44
bool
f128_eq
(
float128_t
a
,
float128_t
b )
45
{
46
union
ui128_f128 uA;
47
uint_fast64_t
uiA64, uiA0;
48
union
ui128_f128 uB;
49
uint_fast64_t
uiB64, uiB0;
50
51
uA.f =
a
;
52
uiA64 = uA.ui.v64;
53
uiA0 = uA.ui.v0;
54
uB.f = b;
55
uiB64 = uB.ui.v64;
56
uiB0 = uB.ui.v0;
57
if
( isNaNF128UI( uiA64, uiA0 ) || isNaNF128UI( uiB64, uiB0 ) ) {
58
if
(
59
softfloat_isSigNaNF128UI( uiA64, uiA0 )
60
|| softfloat_isSigNaNF128UI( uiB64, uiB0 )
61
) {
62
softfloat_raiseFlags
(
softfloat_flag_invalid
);
63
}
64
return
false
;
65
}
66
return
67
(uiA0 == uiB0)
68
&& ( (uiA64 == uiB64)
69
|| (! uiA0 && ! ((uiA64 | uiB64) &
UINT64_C
( 0x7FFFFFFFFFFFFFFF )))
70
);
71
72
}
44
bool
f128_eq
(
float128_t
a
,
float128_t
b ) {
…
}
73
a
const GenericPointer< typename T::ValueType > T2 T::AllocatorType & a
Definition
pointer.h:1181
softfloat_raiseFlags
void softfloat_raiseFlags(uint_fast8_t flags)
Definition
softfloat_raiseFlags.c:46
f128_eq
bool f128_eq(float128_t a, float128_t b)
Definition
f128_eq.c:44
softfloat_flag_invalid
@ softfloat_flag_invalid
Definition
softfloat.h:89
stdint.h
uint_fast64_t
uint64_t uint_fast64_t
Definition
stdint.h:157
UINT64_C
#define UINT64_C(val)
Definition
stdint.h:284
float128_t
Definition
softfloat_types.h:53
libraries
softfloat
source
f128_eq.c
Generated by
1.12.0