noalias.h

Go to the documentation of this file.
00001 /*                       N O A L I A S . H
00002  * BRL-CAD
00003  *
00004  * Copyright (c) 2004-2006 United States Government as represented by
00005  * the U.S. Army Research Laboratory.
00006  *
00007  * This library is free software; you can redistribute it and/or
00008  * modify it under the terms of the GNU Lesser General Public License
00009  * as published by the Free Software Foundation; either version 2.1 of
00010  * the License, or (at your option) any later version.
00011  *
00012  * This library is distributed in the hope that it will be useful, but
00013  * WITHOUT ANY WARRANTY; without even the implied warranty of
00014  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00015  * Library General Public License for more details.
00016  *
00017  * You should have received a copy of the GNU Lesser General Public
00018  * License along with this file; see the file named COPYING for more
00019  * information.
00020  */
00021 /** @addtogroup libbn */
00022 /*@{*/
00023 /** @file noalias.h
00024  *
00025  *  This header file is intended to be included in front of any
00026  *  loop that involves pointers that do not alias each other,
00027  *  to permit vectorizing compilers to proceed.
00028  *
00029  *  This file contains various definitions which can be safely seen
00030  *  by both ANSI and non-ANSI compilers and preprocessors.
00031  *  Absolutely NO pragma's can go in this file;  they spoil backwards
00032  *  compatability with non-ANSI compilers.
00033  *  If this file determines that it is being processed by an ANSI
00034  *  compiler, or one that is known to accept pragma, then it will include
00035  *  the file "noalias-prag.h", which will contain the various
00036  *  vendor-specific pragma's.
00037  *
00038  *
00039  *  @author     David Becker            Cray
00040  *  @author     Michael John Muuss      BRL
00041  *
00042  *  @par Source
00043  *      SECAD/VLD Computing Consortium, Bldg 394
00044  *@n    The U. S. Army Ballistic Research Laboratory
00045  *@n    Aberdeen Proving Ground, Maryland  21005-5066
00046  *
00047  *  @(#)$Header: /cvsroot/brlcad/brlcad/include/noalias.h,v 14.8 2006/09/18 05:24:07 lbutler Exp $ (BRL)
00048  */
00049 #if __STDC__
00050 #       include "noalias-prag.h"
00051 #else
00052 #       if defined(convex) || defined(__convex__)
00053                 /*$dir no_recurrence */
00054 #       endif
00055 #endif
00056 /*@}*/
00057 /*
00058  * Local Variables:
00059  * mode: C
00060  * tab-width: 8
00061  * c-basic-offset: 4
00062  * indent-tabs-mode: t
00063  * End:
00064  * ex: shiftwidth=4 tabstop=8
00065  */
00066 

Generated on Mon Sep 18 01:24:41 2006 for BRL-CAD by  doxygen 1.4.6