201 lines
5.7 KiB
C
201 lines
5.7 KiB
C
/* * Copyright (c) 2014, 2015 Zhang Xianyi
|
|
* All rights reserved.
|
|
*
|
|
* Redistribution and use in source and binary forms, with or without modification,
|
|
* are permitted provided that the following conditions are met:
|
|
*
|
|
* * Redistributions of source code must retain the above copyright notice, this
|
|
* list of conditions and the following disclaimer.
|
|
*
|
|
* * Redistributions in binary form must reproduce the above copyright notice, this
|
|
* list of conditions and the following disclaimer in the documentation and/or
|
|
* other materials provided with the distribution.
|
|
*
|
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
|
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
|
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
*/
|
|
|
|
#ifndef _OPENVML_MACROS_H_
|
|
#define _OPENVML_MACROS_H_
|
|
|
|
#ifndef COMPLEX
|
|
#define COMPSIZE 1
|
|
#else
|
|
#define COMPSIZE 2
|
|
#endif
|
|
|
|
|
|
#define SADD_K OpenVML_FUNCNAME(sadd_k)
|
|
#define DADD_K OpenVML_FUNCNAME(dadd_k)
|
|
#define CADD_K OpenVML_FUNCNAME(cadd_k)
|
|
#define ZADD_K OpenVML_FUNCNAME(zadd_k)
|
|
|
|
#define SSUB_K OpenVML_FUNCNAME(ssub_k)
|
|
#define DSUB_K OpenVML_FUNCNAME(dsub_k)
|
|
#define CSUB_K OpenVML_FUNCNAME(csub_k)
|
|
#define ZSUB_K OpenVML_FUNCNAME(zsub_k)
|
|
|
|
#define SSQR_K OpenVML_FUNCNAME(ssqr_k)
|
|
#define DSQR_K OpenVML_FUNCNAME(dsqr_k)
|
|
|
|
#define SPOW_K OpenVML_FUNCNAME(spow_k)
|
|
#define DPOW_K OpenVML_FUNCNAME(dpow_k)
|
|
#define CPOW_K OpenVML_FUNCNAME(cpow_k)
|
|
#define ZPOW_K OpenVML_FUNCNAME(zpow_k)
|
|
|
|
#define SPOWX_K OpenVML_FUNCNAME(spowx_k)
|
|
#define DPOWX_K OpenVML_FUNCNAME(dpowx_k)
|
|
#define CPOWX_K OpenVML_FUNCNAME(cpowx_k)
|
|
#define ZPOWX_K OpenVML_FUNCNAME(zpowx_k)
|
|
|
|
#define SEXP_K OpenVML_FUNCNAME(sexp_k)
|
|
#define DEXP_K OpenVML_FUNCNAME(dexp_k)
|
|
#define CEXP_K OpenVML_FUNCNAME(cexp_k)
|
|
#define ZEXP_K OpenVML_FUNCNAME(zexp_k)
|
|
|
|
#define SEXPM1_K OpenVML_FUNCNAME(sexpm1_k)
|
|
#define DEXPM1_K OpenVML_FUNCNAME(dexpm1_k)
|
|
#define CEXPM1_K OpenVML_FUNCNAME(cexpm1_k)
|
|
#define ZEXPM1_K OpenVML_FUNCNAME(zexpm1_k)
|
|
|
|
#define SLOG10_K OpenVML_FUNCNAME(slog10_k)
|
|
#define DLOG10_K OpenVML_FUNCNAME(dlog10_k)
|
|
#define CLOG10_K OpenVML_FUNCNAME(clog10_k)
|
|
#define ZLOG10_K OpenVML_FUNCNAME(zlog10_k)
|
|
|
|
#define SLN_K OpenVML_FUNCNAME(sln_k)
|
|
#define DLN_K OpenVML_FUNCNAME(dln_k)
|
|
#define CLN_K OpenVML_FUNCNAME(cln_k)
|
|
#define ZLN_K OpenVML_FUNCNAME(zln_k)
|
|
|
|
#define SLOG1P_K OpenVML_FUNCNAME(slog1p_k)
|
|
#define DLOG1P_K OpenVML_FUNCNAME(dlog1p_k)
|
|
#define CLOG1P_K OpenVML_FUNCNAME(clog1p_k)
|
|
#define ZLOG1P_K OpenVML_FUNCNAME(zlog1p_k)
|
|
|
|
#define STANH_K OpenVML_FUNCNAME(stanh_k)
|
|
#define DTANH_K OpenVML_FUNCNAME(dtanh_k)
|
|
#define CTANH_K OpenVML_FUNCNAME(ctanh_k)
|
|
#define ZTANH_K OpenVML_FUNCNAME(ztanh_k)
|
|
|
|
#define SFLOOR_K OpenVML_FUNCNAME(sfloor_k)
|
|
#define DFLOOR_K OpenVML_FUNCNAME(dfloor_k)
|
|
|
|
#define SSIN_K OpenVML_FUNCNAME(ssin_k)
|
|
#define DSIN_K OpenVML_FUNCNAME(dsin_k)
|
|
|
|
#define SCOS_K OpenVML_FUNCNAME(scos_k)
|
|
#define DCOS_K OpenVML_FUNCNAME(dcos_k)
|
|
|
|
#define SSINCOS_K OpenVML_FUNCNAME(ssincos_k)
|
|
#define DSINCOS_K OpenVML_FUNCNAME(dsincos_k)
|
|
|
|
#define STAN_K OpenVML_FUNCNAME(stan_k)
|
|
#define DTAN_K OpenVML_FUNCNAME(dtan_k)
|
|
|
|
#define SASIN_K OpenVML_FUNCNAME(sasin_k)
|
|
#define DASIN_K OpenVML_FUNCNAME(dasin_k)
|
|
|
|
#define SACOS_K OpenVML_FUNCNAME(sacos_k)
|
|
#define DACOS_K OpenVML_FUNCNAME(dacos_k)
|
|
|
|
#define SATAN_K OpenVML_FUNCNAME(satan_k)
|
|
#define DATAN_K OpenVML_FUNCNAME(datan_k)
|
|
|
|
#define SATAN2_K OpenVML_FUNCNAME(satan2_k)
|
|
#define DATAN2_K OpenVML_FUNCNAME(datan2_k)
|
|
|
|
#ifndef COMPLEX
|
|
#ifndef DOUBLE
|
|
#define ADD_K SADD_K
|
|
#define SUB_K SSUB_K
|
|
#define SQR_K SSQR_K
|
|
#define POW_K SPOW_K
|
|
#define POWX_K SPOWX_K
|
|
#define EXP_K SEXP_K
|
|
#define EXPM1_K SEXPM1_K
|
|
#define LOG10_K SLOG10_K
|
|
#define LN_K SLN_K
|
|
#define LOG1P_K SLOG1P_K
|
|
#define TANH_K STANH_K
|
|
#define FLOOR_K SFLOOR_K
|
|
#define SIN_K SSIN_K
|
|
#define COS_K SCOS_K
|
|
#define SINCOS_K SSINCOS_K
|
|
#define TAN_K STAN_K
|
|
#define ASIN_K SASIN_K
|
|
#define ACOS_K SACOS_K
|
|
#define ATAN_K SATAN_K
|
|
#define ATAN2_K SATAN2_K
|
|
#else
|
|
#define ADD_K DADD_K
|
|
#define SUB_K DSUB_K
|
|
#define SQR_K DSQR_K
|
|
#define POW_K DPOW_K
|
|
#define POWX_K DPOWX_K
|
|
#define EXP_K DEXP_K
|
|
#define EXPM1_K DEXPM1_K
|
|
#define LOG10_K DLOG10_K
|
|
#define LN_K DLN_K
|
|
#define LOG1P_K DLOG1P_K
|
|
#define TANH_K DTANH_K
|
|
#define FLOOR_K DFLOOR_K
|
|
#define SIN_K DSIN_K
|
|
#define COS_K DCOS_K
|
|
#define SINCOS_K DSINCOS_K
|
|
#define TAN_K DTAN_K
|
|
#define ASIN_K DASIN_K
|
|
#define ACOS_K DACOS_K
|
|
#define ATAN_K DATAN_K
|
|
#define ATAN2_K DATAN2_K
|
|
#endif
|
|
#else
|
|
#ifndef DOUBLE
|
|
#define ADD_K CADD_K
|
|
#define SUB_K CSUB_K
|
|
#define POW_K CPOW_K
|
|
#define POWX_K CPOWX_K
|
|
#define EXP_K CEXP_K
|
|
#define EXPM1_K CEXPM1_K
|
|
#define LOG10_K CLOG10_K
|
|
#define LN_K CLN_K
|
|
#define LOG1P_K CLOG1P_K
|
|
#define TANH_K CTANH_K
|
|
#define SIN_K CSIN_K
|
|
#define COS_K CCOS_K
|
|
#define SINCOS_K CSINCOS_K
|
|
#define TAN_K CTAN_K
|
|
#define ASIN_K CASIN_K
|
|
#define ACOS_K CACOS_K
|
|
#define ATAN_K CATAN_K
|
|
#else
|
|
#define ADD_K ZADD_K
|
|
#define SUB_K ZSUB_K
|
|
#define POW_K ZPOW_K
|
|
#define POWX_K ZPOWX_K
|
|
#define EXP_K ZEXP_K
|
|
#define EXPM1_K ZEXPM1_K
|
|
#define LOG10_K ZLOG10_K
|
|
#define LN_K ZLN_K
|
|
#define LOG1P_K ZLOG1P_K
|
|
#define TANH_K ZTANH_K
|
|
#define SIN_K ZSIN_K
|
|
#define COS_K ZCOS_K
|
|
#define SINCOS_K ZSINCOS_K
|
|
#define TAN_K ZTAN_K
|
|
#define ASIN_K ZASIN_K
|
|
#define ACOS_K ZACOS_K
|
|
#define ATAN_K ZATAN_K
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|