view liboctave/util/statdefs.h @ 21176:791dcb32b657

revamp sparse QR factorizatino classes * sparse-qr-inst.cc, sparse-qr.cc, sparse-qr.h: New files, adapted from SparseCmplxQR.cc, SparseCmplxQR.h, SparseQR.cc, and SparseQR.h. (sparse_qr): New template class. * SparseCmplxQR.cc, SparseCmplxQR.h, SparseQR.cc, SparseQR.h: Delete. * liboctave/numeric/module.mk: Update. * dmperm.cc, qr.cc, CSparse.cc, dSparse.cc, sparse-dmsolve.cc: Use new sparse_qr class. * oct-sparse.h (CXSPARSE_DNAME, CXSPARSE_ZNAME): Move macros here from SparseQR.h and SparseCmplxQR.h.
author John W. Eaton <jwe@octave.org>
date Tue, 02 Feb 2016 12:34:06 -0500
parents 9d9270e2f98f
children f7121e111991
line wrap: on
line source

/*

Copyright (C) 1993-2015 John W. Eaton

This file is part of Octave.

Octave is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 3 of the License, or (at your
option) any later version.

Octave is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
for more details.

You should have received a copy of the GNU General Public License
along with Octave; see the file COPYING.  If not, see
<http://www.gnu.org/licenses/>.

*/

#if ! defined (octave_statdefs_h)
#define octave_statdefs_h 1

#include <sys/types.h>

#ifdef HAVE_SYS_STAT_H
#include <sys/stat.h>
#endif

#ifndef S_ISREG
#ifndef mode_t
#define mode_t unsigned short
#endif
#endif
#if ! defined (S_ISBLK) && defined (S_IFBLK)
#define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK)
#endif
#if ! defined (S_ISCHR) && defined (S_IFCHR)
#define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR)
#endif
#if ! defined (S_ISDIR) && defined (S_IFDIR)
#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
#endif
#if ! defined (S_ISREG) && defined (S_IFREG)
#define S_ISREG(m) (((m) & S_IFMT) == S_IFREG)
#endif
#if ! defined (S_ISFIFO) && defined (S_IFIFO)
#define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO)
#endif
#if ! defined (S_ISLNK) && defined (S_IFLNK)
#define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK)
#endif
#if ! defined (S_ISSOCK) && defined (S_IFSOCK)
#define S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK)
#endif
#if ! defined (S_ISMPB) && defined (S_IFMPB)
#define S_ISMPB(m) (((m) & S_IFMT) == S_IFMPB)
#define S_ISMPC(m) (((m) & S_IFMT) == S_IFMPC)
#endif
#if ! defined (S_ISNWK) && defined (S_IFNWK)
#define S_ISNWK(m) (((m) & S_IFMT) == S_IFNWK)
#endif

#ifndef S_ISLNK
#undef HAVE_LSTAT
#endif

#endif