Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

ShInstructions.hpp

00001 // Sh: A GPU metaprogramming language.
00002 //
00003 // Copyright (c) 2003 University of Waterloo Computer Graphics Laboratory
00004 // Project administrator: Michael D. McCool
00005 // Authors: Zheng Qin, Stefanus Du Toit, Kevin Moule, Tiberiu S. Popa,
00006 //          Michael D. McCool
00007 // 
00008 // This software is provided 'as-is', without any express or implied
00009 // warranty. In no event will the authors be held liable for any damages
00010 // arising from the use of this software.
00011 // 
00012 // Permission is granted to anyone to use this software for any purpose,
00013 // including commercial applications, and to alter it and redistribute it
00014 // freely, subject to the following restrictions:
00015 // 
00016 // 1. The origin of this software must not be misrepresented; you must
00017 // not claim that you wrote the original software. If you use this
00018 // software in a product, an acknowledgment in the product documentation
00019 // would be appreciated but is not required.
00020 // 
00021 // 2. Altered source versions must be plainly marked as such, and must
00022 // not be misrepresented as being the original software.
00023 // 
00024 // 3. This notice may not be removed or altered from any source
00025 // distribution.
00027 #ifndef SHINSTRUCTIONS_HPP
00028 #define SHINSTRUCTIONS_HPP
00029 
00030 #include "ShDllExport.hpp"
00031 #include "ShVariable.hpp"
00032 
00033 namespace SH {
00034 
00042 SH_DLLEXPORT
00043 void shASN(ShVariable& dest, const ShVariable& src);
00044 //void shNEG(ShVariable& dest, const ShVariable& src);
00045 SH_DLLEXPORT
00046 void shADD(ShVariable& dest, const ShVariable& a, const ShVariable& b);
00047 SH_DLLEXPORT
00048 void shMUL(ShVariable& dest, const ShVariable& a, const ShVariable& b);
00049 SH_DLLEXPORT
00050 void shDIV(ShVariable& dest, const ShVariable& a, const ShVariable& b);
00051 
00052 SH_DLLEXPORT
00053 void shSLT(ShVariable& dest, const ShVariable& a, const ShVariable& b);
00054 SH_DLLEXPORT
00055 void shSLE(ShVariable& dest, const ShVariable& a, const ShVariable& b);
00056 SH_DLLEXPORT
00057 void shSGT(ShVariable& dest, const ShVariable& a, const ShVariable& b);
00058 SH_DLLEXPORT
00059 void shSGE(ShVariable& dest, const ShVariable& a, const ShVariable& b);
00060 SH_DLLEXPORT
00061 void shSEQ(ShVariable& dest, const ShVariable& a, const ShVariable& b);
00062 SH_DLLEXPORT
00063 void shSNE(ShVariable& dest, const ShVariable& a, const ShVariable& b);
00064 
00065 SH_DLLEXPORT
00066 void shABS(ShVariable& dest, const ShVariable& a);
00067 SH_DLLEXPORT
00068 void shACOS(ShVariable& dest, const ShVariable& a);
00069 SH_DLLEXPORT
00070 void shASIN(ShVariable& dest, const ShVariable& a);
00071 SH_DLLEXPORT
00072 void shATAN(ShVariable& dest, const ShVariable& a);
00073 SH_DLLEXPORT
00074 void shATAN2(ShVariable& dest, const ShVariable& a, const ShVariable& b);
00075 SH_DLLEXPORT
00076 void shCBRT(ShVariable& dest, const ShVariable& a);
00077 SH_DLLEXPORT
00078 void shCEIL(ShVariable& dest, const ShVariable& a);
00079 SH_DLLEXPORT
00080 void shCOS(ShVariable& dest, const ShVariable& a);
00081 SH_DLLEXPORT
00082 void shCMUL(ShVariable& dest, const ShVariable& a);
00083 SH_DLLEXPORT
00084 void shCSUM(ShVariable& dest, const ShVariable& a);
00085 SH_DLLEXPORT
00086 void shDOT(ShVariable& dest, const ShVariable& a, const ShVariable& b);
00087 SH_DLLEXPORT
00088 void shDX(ShVariable& dest, const ShVariable& a);
00089 SH_DLLEXPORT
00090 void shDY(ShVariable& dest, const ShVariable& a);
00091 SH_DLLEXPORT
00092 void shEXP(ShVariable& dest, const ShVariable& a);
00093 SH_DLLEXPORT
00094 void shEXP2(ShVariable& dest, const ShVariable& a);
00095 SH_DLLEXPORT
00096 void shEXP10(ShVariable& dest, const ShVariable& a);
00097 SH_DLLEXPORT
00098 void shFLR(ShVariable& dest, const ShVariable& a);
00099 SH_DLLEXPORT
00100 void shFRAC(ShVariable& dest, const ShVariable& a);
00101 SH_DLLEXPORT
00102 void shLOG(ShVariable& dest, const ShVariable& a);
00103 SH_DLLEXPORT
00104 void shLOG2(ShVariable& dest, const ShVariable& a);
00105 SH_DLLEXPORT
00106 void shLOG10(ShVariable& dest, const ShVariable& a);
00107 SH_DLLEXPORT
00108 void shLRP(ShVariable& dest, const ShVariable& alpha,
00109            const ShVariable& a, const ShVariable& b);
00110 SH_DLLEXPORT
00111 void shMAD(ShVariable& dest, const ShVariable& a,
00112            const ShVariable& b, const ShVariable& c);
00113 SH_DLLEXPORT
00114 void shMAX(ShVariable& dest, const ShVariable& a, const ShVariable& b);
00115 SH_DLLEXPORT
00116 void shMIN(ShVariable& dest, const ShVariable& a, const ShVariable& b);
00117 SH_DLLEXPORT
00118 void shMOD(ShVariable& dest, const ShVariable& a, const ShVariable& b);
00119 SH_DLLEXPORT
00120 void shPOW(ShVariable& dest, const ShVariable& a, const ShVariable& b);
00121 SH_DLLEXPORT
00122 void shRCP(ShVariable& dest, const ShVariable& a);
00123 SH_DLLEXPORT
00124 void shRND(ShVariable& dest, const ShVariable& a);
00125 SH_DLLEXPORT
00126 void shRSQ(ShVariable& dest, const ShVariable& a);
00127 SH_DLLEXPORT
00128 void shSGN(ShVariable& dest, const ShVariable& a);
00129 SH_DLLEXPORT
00130 void shSIN(ShVariable& dest, const ShVariable& a);
00131 SH_DLLEXPORT
00132 void shSQRT(ShVariable& dest, const ShVariable& a);
00133 SH_DLLEXPORT
00134 void shTAN(ShVariable& dest, const ShVariable& a);
00135 
00136 SH_DLLEXPORT
00137 void shNORM(ShVariable& dest, const ShVariable& a);
00138 SH_DLLEXPORT
00139 void shXPD(ShVariable& dest, const ShVariable& a, const ShVariable& b);
00140 
00141 SH_DLLEXPORT
00142 void shCOND(ShVariable& dest, const ShVariable& cond,
00143             const ShVariable& a, const ShVariable& b);
00144 
00145 // interval arithmetic ops 
00146 SH_DLLEXPORT
00147 void shLO(ShVariable &dest, const ShVariable &a);
00148 
00149 SH_DLLEXPORT
00150 void shHI(ShVariable &dest, const ShVariable &a);
00151 
00152 SH_DLLEXPORT
00153 void shSETLO(ShVariable &dest, const ShVariable &a);
00154 
00155 SH_DLLEXPORT
00156 void shSETHI(ShVariable &dest, const ShVariable &a);
00157 
00158 SH_DLLEXPORT
00159 void shKIL(const ShVariable& cond);
00160 
00163 }
00164 
00165 #endif

Generated on Mon Jan 24 18:36:32 2005 for Sh by  doxygen 1.4.1