1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
|
//------------------------------------------------------------------------------
// GB_math.c: declaring functions from GB_math.h
//------------------------------------------------------------------------------
// SuiteSparse:GraphBLAS, Timothy A. Davis, (c) 2017-2022, All Rights Reserved.
// SPDX-License-Identifier: Apache-2.0
//------------------------------------------------------------------------------
#include "GB.h"
// integer division
extern int8_t GB_idiv_int8 (int8_t x, int8_t y) ;
extern int16_t GB_idiv_int16 (int16_t x, int16_t y) ;
extern int32_t GB_idiv_int32 (int32_t x, int32_t y) ;
extern int64_t GB_idiv_int64 (int64_t x, int64_t y) ;
extern uint8_t GB_idiv_uint8 (uint8_t x, uint8_t y) ;
extern uint16_t GB_idiv_uint16 (uint16_t x, uint16_t y) ;
extern uint32_t GB_idiv_uint32 (uint32_t x, uint32_t y) ;
extern uint64_t GB_idiv_uint64 (uint64_t x, uint64_t y) ;
// complex division
extern int GB_divcomplex (double xr, double xi, double yr, double yi,
double *zr, double *zi) ;
extern GxB_FC32_t GB_FC32_div (GxB_FC32_t x, GxB_FC32_t y) ;
extern GxB_FC64_t GB_FC64_div (GxB_FC64_t x, GxB_FC64_t y) ;
// complex unary functions that return complex
extern GxB_FC32_t GB_cceilf (GxB_FC32_t x) ;
extern GxB_FC64_t GB_cceil (GxB_FC64_t x) ;
extern GxB_FC32_t GB_cfloorf (GxB_FC32_t x) ;
extern GxB_FC64_t GB_cfloor (GxB_FC64_t x) ;
extern GxB_FC32_t GB_croundf (GxB_FC32_t x) ;
extern GxB_FC64_t GB_cround (GxB_FC64_t x) ;
extern GxB_FC32_t GB_ctruncf (GxB_FC32_t x) ;
extern GxB_FC64_t GB_ctrunc (GxB_FC64_t x) ;
extern GxB_FC32_t GB_cexp2f (GxB_FC32_t x) ;
extern GxB_FC64_t GB_cexp2 (GxB_FC64_t x) ;
extern GxB_FC32_t GB_cexpm1f (GxB_FC32_t x) ;
extern GxB_FC64_t GB_cexpm1 (GxB_FC64_t x) ;
extern GxB_FC32_t GB_clog1pf (GxB_FC32_t x) ;
extern GxB_FC64_t GB_clog1p (GxB_FC64_t x) ;
extern GxB_FC32_t GB_clog10f (GxB_FC32_t x) ;
extern GxB_FC64_t GB_clog10 (GxB_FC64_t x) ;
extern GxB_FC32_t GB_clog2f (GxB_FC32_t x) ;
extern GxB_FC64_t GB_clog2 (GxB_FC64_t x) ;
// complex unary functions that return bool
extern bool GB_cisinff (GxB_FC32_t x) ;
extern bool GB_cisinf (GxB_FC64_t x) ;
extern bool GB_cisnanf (GxB_FC32_t x) ;
extern bool GB_cisnan (GxB_FC64_t x) ;
extern bool GB_cisfinitef (GxB_FC32_t x) ;
extern bool GB_cisfinite (GxB_FC64_t x) ;
// z = pow (x,y) for floating-point types
extern float GB_powf (float x, float y) ;
extern double GB_pow (double x, double y) ;
extern GxB_FC32_t GB_cpowf (GxB_FC32_t x, GxB_FC32_t y) ;
extern GxB_FC64_t GB_cpow (GxB_FC64_t x, GxB_FC64_t y) ;
// z = pow (x,y) for integers
extern int8_t GB_pow_int8 (int8_t x, int8_t y) ;
extern int16_t GB_pow_int16 (int16_t x, int16_t y) ;
extern int32_t GB_pow_int32 (int32_t x, int32_t y) ;
extern int64_t GB_pow_int64 (int64_t x, int64_t y) ;
extern uint8_t GB_pow_uint8 (uint8_t x, uint8_t y) ;
extern uint16_t GB_pow_uint16 (uint16_t x, uint16_t y) ;
extern uint32_t GB_pow_uint32 (uint32_t x, uint32_t y) ;
extern uint64_t GB_pow_uint64 (uint64_t x, uint64_t y) ;
// z = frexp* (x) for float and double
extern float GB_frexpxf (float x) ;
extern double GB_frexpx (double x) ;
extern float GB_frexpef (float x) ;
extern double GB_frexpe (double x) ;
// z = signum (x) for floating-point types
extern float GB_signumf (float x) ;
extern double GB_signum (double x) ;
extern GxB_FC32_t GB_csignumf (GxB_FC32_t x) ;
extern GxB_FC64_t GB_csignum (GxB_FC64_t x) ;
|