Mercurial > octave
view liboctave/external/slatec-fn/dpchst.f @ 23434:f4d4d83f15c5
maint: rename cruft/ directory to external/
* liboctave/external: Renamed from liboctave/cruft.
*
* configure.ac: Rename XTRA_CRUFT_SH_LDFLAGS to XTRA_EXTERNAL_SH_LDFLAGS.
Rename CRUFT_DLL_DEFS to EXTERNAL_DLL_DEFS.
* install.txi: Update documentation to refer to liboctave/external.
* HACKING: Update explanation of directory tree.
* liboctave/module.mk: Update build system to include liboctave/external
* liboctave/numeric/module.mk: Update CPPFLAGS to find Faddeeva in external/
directory.
* lo-blas-proto.h, lo-lapack-proto.h: Update comments which referred to cruft
directory.
author | Rik <rik@octave.org> |
---|---|
date | Mon, 24 Apr 2017 21:03:38 -0700 |
parents | liboctave/cruft/slatec-fn/dpchst.f@648dabbb4c6b |
children |
line wrap: on
line source
*DECK DPCHST DOUBLE PRECISION FUNCTION DPCHST (ARG1, ARG2) C***BEGIN PROLOGUE DPCHST C***SUBSIDIARY C***PURPOSE DPCHIP Sign-Testing Routine C***LIBRARY SLATEC (PCHIP) C***TYPE DOUBLE PRECISION (PCHST-S, DPCHST-D) C***AUTHOR Fritsch, F. N., (LLNL) C***DESCRIPTION C C DPCHST: DPCHIP Sign-Testing Routine. C C C Returns: C -1. if ARG1 and ARG2 are of opposite sign. C 0. if either argument is zero. C +1. if ARG1 and ARG2 are of the same sign. C C The object is to do this without multiplying ARG1*ARG2, to avoid C possible over/underflow problems. C C Fortran intrinsics used: SIGN. C C***SEE ALSO DPCHCE, DPCHCI, DPCHCS, DPCHIM C***ROUTINES CALLED (NONE) C***REVISION HISTORY (YYMMDD) C 811103 DATE WRITTEN C 820805 Converted to SLATEC library version. C 870813 Minor cosmetic changes. C 890411 Added SAVE statements (Vers. 3.2). C 890531 Changed all specific intrinsics to generic. (WRB) C 890531 REVISION DATE from Version 3.2 C 891214 Prologue converted to Version 4.0 format. (BAB) C 900328 Added TYPE section. (WRB) C 910408 Updated AUTHOR and DATE WRITTEN sections in prologue. (WRB) C 930503 Improved purpose. (FNF) C***END PROLOGUE DPCHST C C**End C C DECLARE ARGUMENTS. C DOUBLE PRECISION ARG1, ARG2 C C DECLARE LOCAL VARIABLES. C DOUBLE PRECISION ONE, ZERO SAVE ZERO, ONE DATA ZERO /0.D0/, ONE/1.D0/ C C PERFORM THE TEST. C C***FIRST EXECUTABLE STATEMENT DPCHST DPCHST = SIGN(ONE,ARG1) * SIGN(ONE,ARG2) IF ((ARG1.EQ.ZERO) .OR. (ARG2.EQ.ZERO)) DPCHST = ZERO C RETURN C------------- LAST LINE OF DPCHST FOLLOWS ----------------------------- END