ShInstructions.hpp

00001 // Sh: A GPU metaprogramming language.
00002 //
00003 // Copyright 2003-2005 Serious Hack Inc.
00004 // 
00005 // This library is free software; you can redistribute it and/or
00006 // modify it under the terms of the GNU Lesser General Public
00007 // License as published by the Free Software Foundation; either
00008 // version 2.1 of the License, or (at your option) any later version.
00009 //
00010 // This library is distributed in the hope that it will be useful,
00011 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00012 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013 // Lesser General Public License for more details.
00014 //
00015 // You should have received a copy of the GNU Lesser General Public
00016 // License along with this library; if not, write to the Free Software
00017 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
00018 // MA  02110-1301, USA
00020 #ifndef SHINSTRUCTIONS_HPP
00021 #define SHINSTRUCTIONS_HPP
00022 
00023 #include "ShDllExport.hpp"
00024 #include "ShVariable.hpp"
00025 
00026 namespace SH {
00027 
00035 SH_DLLEXPORT
00036 void shASN(ShVariable& dest, const ShVariable& src);
00037 //void shNEG(ShVariable& dest, const ShVariable& src);
00038 SH_DLLEXPORT
00039 void shADD(ShVariable& dest, const ShVariable& a, const ShVariable& b);
00040 SH_DLLEXPORT
00041 void shMUL(ShVariable& dest, const ShVariable& a, const ShVariable& b);
00042 SH_DLLEXPORT
00043 void shDIV(ShVariable& dest, const ShVariable& a, const ShVariable& b);
00044 
00045 SH_DLLEXPORT
00046 void shSLT(ShVariable& dest, const ShVariable& a, const ShVariable& b);
00047 SH_DLLEXPORT
00048 void shSLE(ShVariable& dest, const ShVariable& a, const ShVariable& b);
00049 SH_DLLEXPORT
00050 void shSGT(ShVariable& dest, const ShVariable& a, const ShVariable& b);
00051 SH_DLLEXPORT
00052 void shSGE(ShVariable& dest, const ShVariable& a, const ShVariable& b);
00053 SH_DLLEXPORT
00054 void shSEQ(ShVariable& dest, const ShVariable& a, const ShVariable& b);
00055 SH_DLLEXPORT
00056 void shSNE(ShVariable& dest, const ShVariable& a, const ShVariable& b);
00057 
00058 SH_DLLEXPORT
00059 void shABS(ShVariable& dest, const ShVariable& a);
00060 SH_DLLEXPORT
00061 void shACOS(ShVariable& dest, const ShVariable& a);
00062 SH_DLLEXPORT
00063 void shACOSH(ShVariable& dest, const ShVariable& a);
00064 SH_DLLEXPORT
00065 void shASIN(ShVariable& dest, const ShVariable& a);
00066 SH_DLLEXPORT
00067 void shASINH(ShVariable& dest, const ShVariable& a);
00068 SH_DLLEXPORT
00069 void shATAN(ShVariable& dest, const ShVariable& a);
00070 SH_DLLEXPORT
00071 void shATAN2(ShVariable& dest, const ShVariable& a, const ShVariable& b);
00072 SH_DLLEXPORT
00073 void shATANH(ShVariable& dest, const ShVariable& a);
00074 SH_DLLEXPORT
00075 void shCBRT(ShVariable& dest, const ShVariable& a);
00076 SH_DLLEXPORT
00077 void shCEIL(ShVariable& dest, const ShVariable& a);
00078 SH_DLLEXPORT
00079 void shCOS(ShVariable& dest, const ShVariable& a);
00080 SH_DLLEXPORT
00081 void shCOSH(ShVariable& dest, const ShVariable& a);
00082 SH_DLLEXPORT
00083 void shCMUL(ShVariable& dest, const ShVariable& a);
00084 SH_DLLEXPORT
00085 void shCSUM(ShVariable& dest, const ShVariable& a);
00086 SH_DLLEXPORT
00087 void shDOT(ShVariable& dest, const ShVariable& a, const ShVariable& b);
00088 SH_DLLEXPORT
00089 void shDX(ShVariable& dest, const ShVariable& a);
00090 SH_DLLEXPORT
00091 void shDY(ShVariable& dest, const ShVariable& a);
00092 SH_DLLEXPORT
00093 void shEXP(ShVariable& dest, const ShVariable& a);
00094 SH_DLLEXPORT
00095 void shEXP2(ShVariable& dest, const ShVariable& a);
00096 SH_DLLEXPORT
00097 void shEXP10(ShVariable& dest, const ShVariable& a);
00098 SH_DLLEXPORT
00099 void shFLR(ShVariable& dest, const ShVariable& a);
00100 SH_DLLEXPORT
00101 void shFRAC(ShVariable& dest, const ShVariable& a);
00102 SH_DLLEXPORT
00103 void shLIT(ShVariable& dest, const ShVariable& a);
00104 SH_DLLEXPORT
00105 void shLOG(ShVariable& dest, const ShVariable& a);
00106 SH_DLLEXPORT
00107 void shLOG2(ShVariable& dest, const ShVariable& a);
00108 SH_DLLEXPORT
00109 void shLOG10(ShVariable& dest, const ShVariable& a);
00110 SH_DLLEXPORT
00111 void shLRP(ShVariable& dest, const ShVariable& alpha,
00112            const ShVariable& a, const ShVariable& b);
00113 SH_DLLEXPORT
00114 void shHASH(ShVariable& dest, const ShVariable& a);
00115 SH_DLLEXPORT
00116 void shMAD(ShVariable& dest, const ShVariable& a,
00117            const ShVariable& b, const ShVariable& c);
00118 SH_DLLEXPORT
00119 void shMAX(ShVariable& dest, const ShVariable& a, const ShVariable& b);
00120 SH_DLLEXPORT
00121 void shMIN(ShVariable& dest, const ShVariable& a, const ShVariable& b);
00122 SH_DLLEXPORT
00123 void shMOD(ShVariable& dest, const ShVariable& a, const ShVariable& b);
00124 SH_DLLEXPORT
00125 void shNOISE(ShVariable& dest, const ShVariable& a);
00126 SH_DLLEXPORT
00127 void shPOW(ShVariable& dest, const ShVariable& a, const ShVariable& b);
00128 SH_DLLEXPORT
00129 void shRCP(ShVariable& dest, const ShVariable& a);
00130 SH_DLLEXPORT
00131 void shRND(ShVariable& dest, const ShVariable& a);
00132 SH_DLLEXPORT
00133 void shRSQ(ShVariable& dest, const ShVariable& a);
00134 SH_DLLEXPORT
00135 void shSGN(ShVariable& dest, const ShVariable& a);
00136 SH_DLLEXPORT
00137 void shSIN(ShVariable& dest, const ShVariable& a);
00138 SH_DLLEXPORT
00139 void shSINH(ShVariable& dest, const ShVariable& a);
00140 SH_DLLEXPORT
00141 void shSQRT(ShVariable& dest, const ShVariable& a);
00142 SH_DLLEXPORT
00143 void shTAN(ShVariable& dest, const ShVariable& a);
00144 SH_DLLEXPORT
00145 void shTANH(ShVariable& dest, const ShVariable& a);
00146 
00147 SH_DLLEXPORT
00148 void shNORM(ShVariable& dest, const ShVariable& a);
00149 SH_DLLEXPORT
00150 void shXPD(ShVariable& dest, const ShVariable& a, const ShVariable& b);
00151 
00152 SH_DLLEXPORT
00153 void shCOND(ShVariable& dest, const ShVariable& cond,
00154             const ShVariable& a, const ShVariable& b);
00155 SH_DLLEXPORT
00156 void shKIL(const ShVariable& cond);
00157 SH_DLLEXPORT
00158 void shRET(const ShVariable& cond);
00159 
00162 }
00163 
00164 #endif

Generated on Wed Nov 9 15:29:32 2005 for Sh by  doxygen 1.4.5