00001 /*! \file subscript.h 00002 \brief Define Subscript type for indexing. 00003 */ 00004 00005 /* 00006 00007 Simple C++ Numerical Toolkit (SCPPNT) 00008 http://www.smallwaters.com/software/cpp/scppnt.html 00009 This release updates original work contributed by 00010 Brad Hanson (http://www.b-a-h.com/) in 2001. 00011 00012 */ 00013 00014 // Modified from subscript.h in 00015 /* 00016 * 00017 * Template Numerical Toolkit (TNT): Linear Algebra Module 00018 * 00019 * Mathematical and Computational Sciences Division 00020 * National Institute of Technology, 00021 * Gaithersburg, MD USA 00022 * 00023 * 00024 * This software was developed at the National Institute of Standards and 00025 * Technology (NIST) by employees of the Federal Government in the course 00026 * of their official duties. Pursuant to title 17 Section 105 of the 00027 * United States Code, this software is not subject to copyright protection 00028 * and is in the public domain. The Template Numerical Toolkit (TNT) is 00029 * an experimental system. NIST assumes no responsibility whatsoever for 00030 * its use by other parties, and makes no guarantees, expressed or implied, 00031 * about its quality, reliability, or any other characteristic. 00032 * 00033 * BETA VERSION INCOMPLETE AND SUBJECT TO CHANGE 00034 * see http://math.nist.gov/tnt for latest updates. 00035 * 00036 */ 00037 00038 #ifndef SCPPNT_SUBSCRPT_H 00039 #define SCPPNT_SUBSCRPT_H 00040 00041 #ifndef SCPPNT_SUBSCRIPT_TYPE 00042 #define SCPPNT_SUBSCRIPT_TYPE int 00043 #endif 00044 00045 namespace SCPPNT 00046 { 00047 /*! \brief Subscript index type 00048 00049 This definition describes the default SCPPNT data type used for 00050 indexing into SCPPNT matrices and vectors. The data type should 00051 signed and be wide enough to index into large arrays. It defaults to an 00052 "int", but can be overriden at compile time redefining SCPPNT_SUBSCRIPT_TYPE, 00053 e.g. 00054 00055 g++ -DSCPPNT_SUBSCRIPT_TYPE='int_fast64_t' ... 00056 00057 */ 00058 typedef SCPPNT_SUBSCRIPT_TYPE Subscript; 00059 } 00060 00061 /*! \brief Offset for () indexing 00062 () indexing in SCPPNT means 1-offset, i.e. x(1) and A(1,1) are the 00063 first elements. This offset is left as a macro for future 00064 purposes, but should not be changed in the current release. 00065 */ 00066 #define SCPPNT_BASE_OFFSET (1) 00067 00068 #endif // SCPPNT_SUBSCRPT_H