escript  Revision_
Dodgy.h
Go to the documentation of this file.
00001 
00002 /*****************************************************************************
00003 *
00004 * Copyright (c) 2009-2014 by University of Queensland
00005 * http://www.uq.edu.au
00006 *
00007 * Primary Business: Queensland, Australia
00008 * Licensed under the Open Software License version 3.0
00009 * http://www.opensource.org/licenses/osl-3.0.php
00010 *
00011 * Development until 2012 by Earth Systems Science Computational Center (ESSCC)
00012 * Development 2012-2013 by School of Earth Sciences
00013 * Development from 2014 by Centre for Geoscience Computing (GeoComp)
00014 *
00015 *****************************************************************************/
00016 
00017 #ifndef ES_DODGY_H
00018 #define ES_DODGY_H
00019 
00020 // This file contains functions which do bad things like violate the C standard
00021 // Functions in here should not go into general use and should only be used on
00022 // systems where the users are willing to accept responsibility for things working.
00023 
00024 // Do not add functions here without explaining why they are problematic
00025 
00026 namespace escript
00027 {
00028 // first param is output, next two are input data1 and2 the 3 ints are the size [in doubles] 
00029 // of the first three params in order
00030 typedef int (*binOpFnPtr)(double*, const double*, const double*, int, int, int);
00031 
00040 binOpFnPtr binOpFnPtrFromVoidPtr(void* v);
00041 
00045 void* voidPtrFromBinOpFnPtr(binOpFnPtr f);
00046 
00047 }
00048 
00049 #endif