Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F86347633
ieeeck.f
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Sat, Oct 5, 23:31
Size
4 KB
Mime Type
text/html
Expires
Mon, Oct 7, 23:31 (2 d)
Engine
blob
Format
Raw Data
Handle
21338660
Attached To
rLAMMPS lammps
ieeeck.f
View Options
*>
\
brief
\
b
IEEECK
*
*
===========
DOCUMENTATION
===========
*
*
Online
html
documentation
available
at
*
http
:
//
www
.
netlib
.
org
/
lapack
/
explore
-
html
/
*
*>
\
htmlonly
*>
Download
IEEECK
+
dependencies
*>
<
a
href
=
"http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/ieeeck.f"
>
*>
[
TGZ
]
</
a
>
*>
<
a
href
=
"http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/ieeeck.f"
>
*>
[
ZIP
]
</
a
>
*>
<
a
href
=
"http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ieeeck.f"
>
*>
[
TXT
]
</
a
>
*>
\
endhtmlonly
*
*
Definition
:
*
===========
*
*
INTEGER
FUNCTION
IEEECK
(
ISPEC
,
ZERO
,
ONE
)
*
*
..
Scalar
Arguments
..
*
INTEGER
ISPEC
*
REAL
ONE
,
ZERO
*
..
*
*
*>
\
par
Purpose
:
*
=============
*>
*>
\
verbatim
*>
*>
IEEECK
is
called
from
the
ILAENV
to
verify
that
Infinity
and
*>
possibly
NaN
arithmetic
is
safe
(
i
.
e
.
will
not
trap
)
.
*>
\
endverbatim
*
*
Arguments
:
*
==========
*
*>
\
param
[
in
]
ISPEC
*>
\
verbatim
*>
ISPEC
is
INTEGER
*>
Specifies
whether
to
test
just
for
inifinity
arithmetic
*>
or
whether
to
test
for
infinity
and
NaN
arithmetic
.
*>
=
0
:
Verify
infinity
arithmetic
only
.
*>
=
1
:
Verify
infinity
and
NaN
arithmetic
.
*>
\
endverbatim
*>
*>
\
param
[
in
]
ZERO
*>
\
verbatim
*>
ZERO
is
REAL
*>
Must
contain
the
value
0.0
*>
This
is
passed
to
prevent
the
compiler
from
optimizing
*>
away
this
code
.
*>
\
endverbatim
*>
*>
\
param
[
in
]
ONE
*>
\
verbatim
*>
ONE
is
REAL
*>
Must
contain
the
value
1.0
*>
This
is
passed
to
prevent
the
compiler
from
optimizing
*>
away
this
code
.
*>
*>
RETURN
VALUE
:
INTEGER
*>
=
0
:
Arithmetic
failed
to
produce
the
correct
answers
*>
=
1
:
Arithmetic
produced
the
correct
answers
*>
\
endverbatim
*
*
Authors
:
*
========
*
*>
\
author
Univ
.
of
Tennessee
*>
\
author
Univ
.
of
California
Berkeley
*>
\
author
Univ
.
of
Colorado
Denver
*>
\
author
NAG
Ltd
.
*
*>
\
date
November
2011
*
*>
\
ingroup
auxOTHERauxiliary
*
*
=====================================================================
INTEGER
FUNCTION
IEEECK
(
ISPEC
,
ZERO
,
ONE
)
*
*
--
LAPACK
auxiliary
routine
(
version
3.4.0
)
--
*
--
LAPACK
is
a
software
package
provided
by
Univ
.
of
Tennessee
,
--
*
--
Univ
.
of
California
Berkeley
,
Univ
.
of
Colorado
Denver
and
NAG
Ltd
..
--
*
November
2011
*
*
..
Scalar
Arguments
..
INTEGER
ISPEC
REAL
ONE
,
ZERO
*
..
*
*
=====================================================================
*
*
..
Local
Scalars
..
REAL
NAN1
,
NAN2
,
NAN3
,
NAN4
,
NAN5
,
NAN6
,
NEGINF
,
$
NEGZRO
,
NEWZRO
,
POSINF
*
..
*
..
Executable
Statements
..
IEEECK
=
1
*
POSINF
=
ONE
/
ZERO
IF
(
POSINF
.LE.
ONE
)
THEN
IEEECK
=
0
RETURN
END IF
*
NEGINF
=
-
ONE
/
ZERO
IF
(
NEGINF
.GE.
ZERO
)
THEN
IEEECK
=
0
RETURN
END IF
*
NEGZRO
=
ONE
/
(
NEGINF
+
ONE
)
IF
(
NEGZRO
.NE.
ZERO
)
THEN
IEEECK
=
0
RETURN
END IF
*
NEGINF
=
ONE
/
NEGZRO
IF
(
NEGINF
.GE.
ZERO
)
THEN
IEEECK
=
0
RETURN
END IF
*
NEWZRO
=
NEGZRO
+
ZERO
IF
(
NEWZRO
.NE.
ZERO
)
THEN
IEEECK
=
0
RETURN
END IF
*
POSINF
=
ONE
/
NEWZRO
IF
(
POSINF
.LE.
ONE
)
THEN
IEEECK
=
0
RETURN
END IF
*
NEGINF
=
NEGINF
*
POSINF
IF
(
NEGINF
.GE.
ZERO
)
THEN
IEEECK
=
0
RETURN
END IF
*
POSINF
=
POSINF
*
POSINF
IF
(
POSINF
.LE.
ONE
)
THEN
IEEECK
=
0
RETURN
END IF
*
*
*
*
*
Return if
we
were
only
asked
to
check
infinity
arithmetic
*
IF
(
ISPEC
.EQ.
0
)
$
RETURN
*
NAN1
=
POSINF
+
NEGINF
*
NAN2
=
POSINF
/
NEGINF
*
NAN3
=
POSINF
/
POSINF
*
NAN4
=
POSINF
*
ZERO
*
NAN5
=
NEGINF
*
NEGZRO
*
NAN6
=
NAN5
*
ZERO
*
IF
(
NAN1
.EQ.
NAN1
)
THEN
IEEECK
=
0
RETURN
END IF
*
IF
(
NAN2
.EQ.
NAN2
)
THEN
IEEECK
=
0
RETURN
END IF
*
IF
(
NAN3
.EQ.
NAN3
)
THEN
IEEECK
=
0
RETURN
END IF
*
IF
(
NAN4
.EQ.
NAN4
)
THEN
IEEECK
=
0
RETURN
END IF
*
IF
(
NAN5
.EQ.
NAN5
)
THEN
IEEECK
=
0
RETURN
END IF
*
IF
(
NAN6
.EQ.
NAN6
)
THEN
IEEECK
=
0
RETURN
END IF
*
RETURN
END
Event Timeline
Log In to Comment