summaryrefslogtreecommitdiff
path: root/src/c/elementaryFunctions
diff options
context:
space:
mode:
Diffstat (limited to 'src/c/elementaryFunctions')
-rw-r--r--src/c/elementaryFunctions/Trigonometry/cosd/dcosda.c24
-rw-r--r--src/c/elementaryFunctions/Trigonometry/cosd/dcosds.c27
-rw-r--r--src/c/elementaryFunctions/Trigonometry/cosd/scosda.c22
-rw-r--r--src/c/elementaryFunctions/Trigonometry/cosd/scosds.c27
-rw-r--r--src/c/elementaryFunctions/Trigonometry/cotd/dcotda.c23
-rw-r--r--src/c/elementaryFunctions/Trigonometry/cotd/dcotds.c23
-rw-r--r--src/c/elementaryFunctions/Trigonometry/cotd/scotda.c20
-rw-r--r--src/c/elementaryFunctions/Trigonometry/cotd/scotds.c23
-rw-r--r--src/c/elementaryFunctions/Trigonometry/coth/ccotha.c24
-rw-r--r--src/c/elementaryFunctions/Trigonometry/coth/ccoths.c26
-rw-r--r--src/c/elementaryFunctions/Trigonometry/coth/dcotha.c24
-rw-r--r--src/c/elementaryFunctions/Trigonometry/coth/dcoths.c22
-rw-r--r--src/c/elementaryFunctions/Trigonometry/coth/scotha.c25
-rw-r--r--src/c/elementaryFunctions/Trigonometry/coth/scoths.c22
-rw-r--r--src/c/elementaryFunctions/Trigonometry/coth/zcotha.c23
-rw-r--r--src/c/elementaryFunctions/Trigonometry/coth/zcoths.c26
-rw-r--r--src/c/elementaryFunctions/Trigonometry/csc/ccsca.c23
-rw-r--r--src/c/elementaryFunctions/Trigonometry/csc/ccscs.c28
-rw-r--r--src/c/elementaryFunctions/Trigonometry/csc/dcsca.c22
-rw-r--r--src/c/elementaryFunctions/Trigonometry/csc/dcscs.c21
-rw-r--r--src/c/elementaryFunctions/Trigonometry/csc/scsca.c22
-rw-r--r--src/c/elementaryFunctions/Trigonometry/csc/scscs.c21
-rw-r--r--src/c/elementaryFunctions/Trigonometry/csc/zcsca.c23
-rw-r--r--src/c/elementaryFunctions/Trigonometry/csc/zcscs.c27
-rw-r--r--src/c/elementaryFunctions/Trigonometry/cscd/ccscda.c24
-rw-r--r--src/c/elementaryFunctions/Trigonometry/cscd/ccscds.c29
-rw-r--r--src/c/elementaryFunctions/Trigonometry/cscd/dcscda.c24
-rw-r--r--src/c/elementaryFunctions/Trigonometry/cscd/dcscds.c27
-rw-r--r--src/c/elementaryFunctions/Trigonometry/cscd/scscda.c22
-rw-r--r--src/c/elementaryFunctions/Trigonometry/cscd/scscds.c27
-rw-r--r--src/c/elementaryFunctions/Trigonometry/cscd/zcscda.c24
-rw-r--r--src/c/elementaryFunctions/Trigonometry/cscd/zcscds.c29
-rw-r--r--src/c/elementaryFunctions/Trigonometry/csch/ccscha.c23
-rw-r--r--src/c/elementaryFunctions/Trigonometry/csch/ccschs.c26
-rw-r--r--src/c/elementaryFunctions/Trigonometry/csch/dcscha.c20
-rw-r--r--src/c/elementaryFunctions/Trigonometry/csch/dcschs.c21
-rw-r--r--src/c/elementaryFunctions/Trigonometry/csch/scscha.c20
-rw-r--r--src/c/elementaryFunctions/Trigonometry/csch/scschs.c21
-rw-r--r--src/c/elementaryFunctions/Trigonometry/csch/zcscha.c23
-rw-r--r--src/c/elementaryFunctions/Trigonometry/csch/zcschs.c26
-rw-r--r--src/c/elementaryFunctions/Trigonometry/sec/cseca.c23
-rw-r--r--src/c/elementaryFunctions/Trigonometry/sec/csecs.c25
-rw-r--r--src/c/elementaryFunctions/Trigonometry/sec/dseca.c23
-rw-r--r--src/c/elementaryFunctions/Trigonometry/sec/dsecs.c19
-rw-r--r--src/c/elementaryFunctions/Trigonometry/sec/sseca.c20
-rw-r--r--src/c/elementaryFunctions/Trigonometry/sec/ssecs.c19
-rw-r--r--src/c/elementaryFunctions/Trigonometry/sec/zseca.c23
-rw-r--r--src/c/elementaryFunctions/Trigonometry/sec/zsecs.c26
-rw-r--r--src/c/elementaryFunctions/Trigonometry/secd/dsecda.c23
-rw-r--r--src/c/elementaryFunctions/Trigonometry/secd/dsecds.c26
-rw-r--r--src/c/elementaryFunctions/Trigonometry/secd/ssecda.c22
-rw-r--r--src/c/elementaryFunctions/Trigonometry/secd/ssecds.c24
-rw-r--r--src/c/elementaryFunctions/Trigonometry/sech/csecha.c23
-rw-r--r--src/c/elementaryFunctions/Trigonometry/sech/csechs.c27
-rw-r--r--src/c/elementaryFunctions/Trigonometry/sech/dsecha.c22
-rw-r--r--src/c/elementaryFunctions/Trigonometry/sech/dsechs.c22
-rw-r--r--src/c/elementaryFunctions/Trigonometry/sech/ssecha.c22
-rw-r--r--src/c/elementaryFunctions/Trigonometry/sech/ssechs.c22
-rw-r--r--src/c/elementaryFunctions/Trigonometry/sech/zsecha.c23
-rw-r--r--src/c/elementaryFunctions/Trigonometry/sech/zsechs.c27
-rw-r--r--src/c/elementaryFunctions/Trigonometry/sinc/dsinca.c46
-rw-r--r--src/c/elementaryFunctions/Trigonometry/sinc/int_sinc.h18
-rw-r--r--src/c/elementaryFunctions/Trigonometry/sinc/sinc.h27
-rw-r--r--src/c/elementaryFunctions/Trigonometry/sinc/zsinca.c35
-rw-r--r--src/c/elementaryFunctions/acosd/cacoss.c147
-rw-r--r--src/c/elementaryFunctions/acosd/dacosda.c22
-rw-r--r--src/c/elementaryFunctions/acosd/dacosds.c18
-rw-r--r--src/c/elementaryFunctions/acosd/sacosda.c22
-rw-r--r--src/c/elementaryFunctions/acosd/sacosds.c18
-rw-r--r--src/c/elementaryFunctions/acot/cacota.c21
-rw-r--r--src/c/elementaryFunctions/acot/cacots.c23
-rw-r--r--src/c/elementaryFunctions/acot/dacota.c20
-rw-r--r--src/c/elementaryFunctions/acot/dacots.c18
-rw-r--r--src/c/elementaryFunctions/acot/sacota.c20
-rw-r--r--src/c/elementaryFunctions/acot/sacots.c18
-rw-r--r--src/c/elementaryFunctions/acot/zacota.c21
-rw-r--r--src/c/elementaryFunctions/acot/zacots.c23
-rw-r--r--src/c/elementaryFunctions/acotd/dacotda.c20
-rw-r--r--src/c/elementaryFunctions/acotd/dacotds.c18
-rw-r--r--src/c/elementaryFunctions/acotd/sacotda.c20
-rw-r--r--src/c/elementaryFunctions/acotd/sacotds.c18
-rw-r--r--src/c/elementaryFunctions/acoth/cacotha.c22
-rw-r--r--src/c/elementaryFunctions/acoth/cacoths.c23
-rw-r--r--src/c/elementaryFunctions/acoth/dacotha.c21
-rw-r--r--src/c/elementaryFunctions/acoth/dacoths.c20
-rw-r--r--src/c/elementaryFunctions/acoth/sacotha.c21
-rw-r--r--src/c/elementaryFunctions/acoth/sacoths.c19
-rw-r--r--src/c/elementaryFunctions/acoth/zacotha.c21
-rw-r--r--src/c/elementaryFunctions/acoth/zacoths.c23
-rw-r--r--src/c/elementaryFunctions/acsc/cacsca.c22
-rw-r--r--src/c/elementaryFunctions/acsc/cacscs.c22
-rw-r--r--src/c/elementaryFunctions/acsc/dacsca.c21
-rw-r--r--src/c/elementaryFunctions/acsc/dacscs.c17
-rw-r--r--src/c/elementaryFunctions/acsc/sacsca.c21
-rw-r--r--src/c/elementaryFunctions/acsc/sacscs.c17
-rw-r--r--src/c/elementaryFunctions/acsc/zacsca.c22
-rw-r--r--src/c/elementaryFunctions/acsc/zacscs.c23
-rw-r--r--src/c/elementaryFunctions/acscd/dacscda.c21
-rw-r--r--src/c/elementaryFunctions/acscd/dacscds.c17
-rw-r--r--src/c/elementaryFunctions/acscd/sacscda.c21
-rw-r--r--src/c/elementaryFunctions/acscd/sacscds.c17
-rw-r--r--src/c/elementaryFunctions/acsch/cacscha.c22
-rw-r--r--src/c/elementaryFunctions/acsch/cacschs.c30
-rw-r--r--src/c/elementaryFunctions/acsch/dacscha.c21
-rw-r--r--src/c/elementaryFunctions/acsch/dacschs.c17
-rw-r--r--src/c/elementaryFunctions/acsch/sacscha.c21
-rw-r--r--src/c/elementaryFunctions/acsch/sacschs.c17
-rw-r--r--src/c/elementaryFunctions/acsch/zacscha.c22
-rw-r--r--src/c/elementaryFunctions/acsch/zacschs.c22
-rw-r--r--src/c/elementaryFunctions/asec/daseca.c21
-rw-r--r--src/c/elementaryFunctions/asec/dasecs.c17
-rw-r--r--src/c/elementaryFunctions/asec/saseca.c21
-rw-r--r--src/c/elementaryFunctions/asec/sasecs.c27
-rw-r--r--src/c/elementaryFunctions/asecd/dasecda.c21
-rw-r--r--src/c/elementaryFunctions/asecd/dasecds.c17
-rw-r--r--src/c/elementaryFunctions/asecd/sasecda.c21
-rw-r--r--src/c/elementaryFunctions/asecd/sasecds.c17
-rw-r--r--src/c/elementaryFunctions/asech/dasecha.c21
-rw-r--r--src/c/elementaryFunctions/asech/dasechs.c18
-rw-r--r--src/c/elementaryFunctions/asech/sasecha.c21
-rw-r--r--src/c/elementaryFunctions/asech/sasechs.c18
-rw-r--r--src/c/elementaryFunctions/asind/dasinda.c21
-rw-r--r--src/c/elementaryFunctions/asind/dasinds.c18
-rw-r--r--src/c/elementaryFunctions/asind/sasinda.c21
-rw-r--r--src/c/elementaryFunctions/asind/sasinds.c18
-rw-r--r--src/c/elementaryFunctions/atan/datans.c3
-rw-r--r--src/c/elementaryFunctions/atand/datanda.c21
-rw-r--r--src/c/elementaryFunctions/atand/datands.c18
-rw-r--r--src/c/elementaryFunctions/atand/satanda.c21
-rw-r--r--src/c/elementaryFunctions/atand/satands.c18
-rw-r--r--src/c/elementaryFunctions/bitand/u16bitanda.c25
-rw-r--r--src/c/elementaryFunctions/bitand/u16bitands.c20
-rw-r--r--src/c/elementaryFunctions/bitand/u8bitanda.c24
-rw-r--r--src/c/elementaryFunctions/bitand/u8bitands.c19
-rw-r--r--src/c/elementaryFunctions/bitcmp/u16bitcmpa.c27
-rw-r--r--src/c/elementaryFunctions/bitcmp/u16bitcmps.c22
-rw-r--r--src/c/elementaryFunctions/bitcmp/u8bitcmpa.c27
-rw-r--r--src/c/elementaryFunctions/bitcmp/u8bitcmps.c21
-rw-r--r--src/c/elementaryFunctions/bitget/u16bitgets.c34
-rw-r--r--src/c/elementaryFunctions/bitget/u8bitgets.c35
-rw-r--r--src/c/elementaryFunctions/bitor/u16bitora.c24
-rw-r--r--src/c/elementaryFunctions/bitor/u16bitors.c19
-rw-r--r--src/c/elementaryFunctions/bitor/u8bitora.c24
-rw-r--r--src/c/elementaryFunctions/bitor/u8bitors.c19
-rw-r--r--src/c/elementaryFunctions/bitset/u16bitsets.c30
-rw-r--r--src/c/elementaryFunctions/bitset/u8bitsets.c30
-rw-r--r--src/c/elementaryFunctions/bitxor/u16bitxora.c24
-rw-r--r--src/c/elementaryFunctions/bitxor/u16bitxors.c19
-rw-r--r--src/c/elementaryFunctions/bitxor/u8bitxora.c24
-rw-r--r--src/c/elementaryFunctions/bitxor/u8bitxors.c19
-rw-r--r--src/c/elementaryFunctions/ceil/i16ceila.c19
-rw-r--r--src/c/elementaryFunctions/ceil/i16ceils.c18
-rw-r--r--src/c/elementaryFunctions/ceil/i8ceila.c19
-rw-r--r--src/c/elementaryFunctions/ceil/i8ceils.c18
-rw-r--r--src/c/elementaryFunctions/ceil/u16ceila.c19
-rw-r--r--src/c/elementaryFunctions/ceil/u16ceils.c18
-rw-r--r--src/c/elementaryFunctions/ceil/u8ceila.c19
-rw-r--r--src/c/elementaryFunctions/ceil/u8ceils.c18
-rw-r--r--src/c/elementaryFunctions/cos/i16cosa.c19
-rw-r--r--src/c/elementaryFunctions/cos/i16coss.c18
-rw-r--r--src/c/elementaryFunctions/cos/i8cosa.c20
-rw-r--r--src/c/elementaryFunctions/cos/i8coss.c18
-rw-r--r--src/c/elementaryFunctions/cos/u16cosa.c20
-rw-r--r--src/c/elementaryFunctions/cos/u16coss.c18
-rw-r--r--src/c/elementaryFunctions/cos/u8cosa.c20
-rw-r--r--src/c/elementaryFunctions/cos/u8coss.c18
-rw-r--r--src/c/elementaryFunctions/cosh/i16cosha.c20
-rw-r--r--src/c/elementaryFunctions/cosh/i16coshs.c27
-rw-r--r--src/c/elementaryFunctions/cosh/i8cosha.c20
-rw-r--r--src/c/elementaryFunctions/cosh/i8coshs.c27
-rw-r--r--src/c/elementaryFunctions/cosh/u16cosha.c20
-rw-r--r--src/c/elementaryFunctions/cosh/u16coshs.c26
-rw-r--r--src/c/elementaryFunctions/cosh/u8cosha.c20
-rw-r--r--src/c/elementaryFunctions/cosh/u8coshs.c27
-rw-r--r--src/c/elementaryFunctions/discrete_mathematics/factor/dfactors.c39
-rw-r--r--src/c/elementaryFunctions/discrete_mathematics/factor/sfactors.c39
-rw-r--r--src/c/elementaryFunctions/discrete_mathematics/factorial/dfactoriala.c23
-rw-r--r--src/c/elementaryFunctions/discrete_mathematics/factorial/dfactorials.c35
-rw-r--r--src/c/elementaryFunctions/discrete_mathematics/factorial/sfactoriala.c23
-rw-r--r--src/c/elementaryFunctions/discrete_mathematics/factorial/sfactorials.c34
-rw-r--r--src/c/elementaryFunctions/discrete_mathematics/gcd/dgcda.c32
-rw-r--r--src/c/elementaryFunctions/discrete_mathematics/gcd/u8gcda.c62
-rw-r--r--src/c/elementaryFunctions/discrete_mathematics/gcd/u8gcds.c32
-rw-r--r--src/c/elementaryFunctions/discrete_mathematics/lcm/u8lcma.c69
-rw-r--r--src/c/elementaryFunctions/discrete_mathematics/primes/dprimess.c35
-rw-r--r--src/c/elementaryFunctions/discrete_mathematics/primes/sprimess.c35
-rw-r--r--src/c/elementaryFunctions/exp/i16expa.c20
-rw-r--r--src/c/elementaryFunctions/exp/i16exps.c18
-rw-r--r--src/c/elementaryFunctions/exp/i8expa.c20
-rw-r--r--src/c/elementaryFunctions/exp/i8exps.c18
-rw-r--r--src/c/elementaryFunctions/exp/u16expa.c20
-rw-r--r--src/c/elementaryFunctions/exp/u16exps.c19
-rw-r--r--src/c/elementaryFunctions/exp/u8expa.c20
-rw-r--r--src/c/elementaryFunctions/exp/u8exps.c18
-rw-r--r--src/c/elementaryFunctions/fix/i16fixa.c21
-rw-r--r--src/c/elementaryFunctions/fix/i16fixs.c19
-rw-r--r--src/c/elementaryFunctions/fix/i8fixa.c19
-rw-r--r--src/c/elementaryFunctions/fix/i8fixs.c21
-rw-r--r--src/c/elementaryFunctions/fix/u16fixa.c19
-rw-r--r--src/c/elementaryFunctions/fix/u16fixs.c21
-rw-r--r--src/c/elementaryFunctions/fix/u8fixa.c19
-rw-r--r--src/c/elementaryFunctions/fix/u8fixs.c21
-rw-r--r--src/c/elementaryFunctions/float/dfloata.c18
-rw-r--r--src/c/elementaryFunctions/float/dfloats.c16
-rw-r--r--src/c/elementaryFunctions/float/i16floata.c17
-rw-r--r--src/c/elementaryFunctions/float/i16floats.c16
-rw-r--r--src/c/elementaryFunctions/float/i8floata.c17
-rw-r--r--src/c/elementaryFunctions/float/i8floats.c16
-rw-r--r--src/c/elementaryFunctions/float/sfloata.c18
-rw-r--r--src/c/elementaryFunctions/float/sfloats.c16
-rw-r--r--src/c/elementaryFunctions/float/u16floata.c17
-rw-r--r--src/c/elementaryFunctions/float/u16floats.c16
-rw-r--r--src/c/elementaryFunctions/float/u8floata.c17
-rw-r--r--src/c/elementaryFunctions/float/u8floats.c16
-rw-r--r--src/c/elementaryFunctions/floor/i16floora.c19
-rw-r--r--src/c/elementaryFunctions/floor/i16floors.c18
-rw-r--r--src/c/elementaryFunctions/floor/i8floora.c19
-rw-r--r--src/c/elementaryFunctions/floor/i8floors.c18
-rw-r--r--src/c/elementaryFunctions/floor/u16floora.c19
-rw-r--r--src/c/elementaryFunctions/floor/u16floors.c18
-rw-r--r--src/c/elementaryFunctions/floor/u8floora.c19
-rw-r--r--src/c/elementaryFunctions/floor/u8floors.c18
-rw-r--r--src/c/elementaryFunctions/includes/acosd.h33
-rw-r--r--src/c/elementaryFunctions/includes/acot.h43
-rw-r--r--src/c/elementaryFunctions/includes/acotd.h37
-rw-r--r--src/c/elementaryFunctions/includes/acoth.h44
-rw-r--r--src/c/elementaryFunctions/includes/acsc.h44
-rw-r--r--src/c/elementaryFunctions/includes/acscd.h34
-rw-r--r--src/c/elementaryFunctions/includes/acsch.h32
-rw-r--r--src/c/elementaryFunctions/includes/asec.h34
-rw-r--r--src/c/elementaryFunctions/includes/asecd.h34
-rw-r--r--src/c/elementaryFunctions/includes/asech.h34
-rw-r--r--src/c/elementaryFunctions/includes/asind.h34
-rw-r--r--src/c/elementaryFunctions/includes/atand.h34
-rw-r--r--src/c/elementaryFunctions/includes/base2dec.h28
-rw-r--r--src/c/elementaryFunctions/includes/bin2dec.h37
-rw-r--r--src/c/elementaryFunctions/includes/bitand.h48
-rw-r--r--src/c/elementaryFunctions/includes/bitcmp.h48
-rw-r--r--src/c/elementaryFunctions/includes/bitget.h35
-rw-r--r--src/c/elementaryFunctions/includes/bitor.h48
-rw-r--r--src/c/elementaryFunctions/includes/bitset.h35
-rw-r--r--src/c/elementaryFunctions/includes/bitxor.h48
-rw-r--r--src/c/elementaryFunctions/includes/ceil.h17
-rw-r--r--src/c/elementaryFunctions/includes/cos.h57
-rw-r--r--src/c/elementaryFunctions/includes/cosd.h28
-rw-r--r--src/c/elementaryFunctions/includes/cosh.h58
-rw-r--r--src/c/elementaryFunctions/includes/cotd.h29
-rw-r--r--src/c/elementaryFunctions/includes/coth.h37
-rw-r--r--src/c/elementaryFunctions/includes/csc.h36
-rw-r--r--src/c/elementaryFunctions/includes/cscd.h37
-rw-r--r--src/c/elementaryFunctions/includes/csch.h38
-rw-r--r--src/c/elementaryFunctions/includes/dec2base.h29
-rw-r--r--src/c/elementaryFunctions/includes/dec2bin.h36
-rw-r--r--src/c/elementaryFunctions/includes/dec2hex.h38
-rw-r--r--src/c/elementaryFunctions/includes/dec2oct.h37
-rw-r--r--src/c/elementaryFunctions/includes/exp.h58
-rw-r--r--src/c/elementaryFunctions/includes/factor.h27
-rw-r--r--src/c/elementaryFunctions/includes/factorial.h37
-rw-r--r--src/c/elementaryFunctions/includes/fix.h20
-rw-r--r--src/c/elementaryFunctions/includes/floor.h17
-rw-r--r--src/c/elementaryFunctions/includes/gcd.h26
-rw-r--r--src/c/elementaryFunctions/includes/get_float.h56
-rw-r--r--src/c/elementaryFunctions/includes/hex2dec.h27
-rw-r--r--src/c/elementaryFunctions/includes/int16.h54
-rw-r--r--src/c/elementaryFunctions/includes/int32.h62
-rw-r--r--src/c/elementaryFunctions/includes/int8.h54
-rw-r--r--src/c/elementaryFunctions/includes/iscolumn.h42
-rw-r--r--src/c/elementaryFunctions/includes/isequal.h38
-rw-r--r--src/c/elementaryFunctions/includes/isinf.h35
-rw-r--r--src/c/elementaryFunctions/includes/ismatrix.h41
-rw-r--r--src/c/elementaryFunctions/includes/isreal.h30
-rw-r--r--src/c/elementaryFunctions/includes/isrow.h41
-rw-r--r--src/c/elementaryFunctions/includes/isscalar.h38
-rw-r--r--src/c/elementaryFunctions/includes/issquare.h38
-rw-r--r--src/c/elementaryFunctions/includes/isvector.h38
-rw-r--r--src/c/elementaryFunctions/includes/lcm.h27
-rw-r--r--src/c/elementaryFunctions/includes/linspace.h39
-rw-r--r--src/c/elementaryFunctions/includes/log2.h39
-rw-r--r--src/c/elementaryFunctions/includes/logspace.h32
-rw-r--r--src/c/elementaryFunctions/includes/nancumsum.h42
-rw-r--r--src/c/elementaryFunctions/includes/nanmax.h48
-rw-r--r--src/c/elementaryFunctions/includes/nanmean.h42
-rw-r--r--src/c/elementaryFunctions/includes/nanmin.h42
-rw-r--r--src/c/elementaryFunctions/includes/nansum.h42
-rw-r--r--src/c/elementaryFunctions/includes/nextpow2.h28
-rw-r--r--src/c/elementaryFunctions/includes/nthroot.h37
-rw-r--r--src/c/elementaryFunctions/includes/oct2dec.h37
-rw-r--r--src/c/elementaryFunctions/includes/pmodulo.h40
-rw-r--r--src/c/elementaryFunctions/includes/pow.h21
-rw-r--r--src/c/elementaryFunctions/includes/primes.h28
-rw-r--r--src/c/elementaryFunctions/includes/round.h17
-rw-r--r--src/c/elementaryFunctions/includes/sec.h37
-rw-r--r--src/c/elementaryFunctions/includes/secd.h28
-rw-r--r--src/c/elementaryFunctions/includes/sech.h38
-rw-r--r--src/c/elementaryFunctions/includes/sin.h61
-rw-r--r--src/c/elementaryFunctions/includes/sinc.h29
-rw-r--r--src/c/elementaryFunctions/includes/sind.h37
-rw-r--r--src/c/elementaryFunctions/includes/sinh.h59
-rw-r--r--src/c/elementaryFunctions/includes/sqrt.h8
-rw-r--r--src/c/elementaryFunctions/includes/tan.h59
-rw-r--r--src/c/elementaryFunctions/includes/tand (copy).h37
-rw-r--r--src/c/elementaryFunctions/includes/tand.h37
-rw-r--r--src/c/elementaryFunctions/includes/tanh.h57
-rw-r--r--src/c/elementaryFunctions/includes/uint16.h54
-rw-r--r--src/c/elementaryFunctions/includes/uint32.h62
-rw-r--r--src/c/elementaryFunctions/includes/uint8.h54
-rw-r--r--src/c/elementaryFunctions/int16/dint16a.c18
-rw-r--r--src/c/elementaryFunctions/int16/dint16s.c18
-rw-r--r--src/c/elementaryFunctions/int16/i8int16a.c18
-rw-r--r--src/c/elementaryFunctions/int16/i8int16s.c18
-rw-r--r--src/c/elementaryFunctions/int16/sint16a.c18
-rw-r--r--src/c/elementaryFunctions/int16/sint16s.c18
-rw-r--r--src/c/elementaryFunctions/int16/u16int16a.c18
-rw-r--r--src/c/elementaryFunctions/int16/u16int16s.c18
-rw-r--r--src/c/elementaryFunctions/int16/u8int16a.c18
-rw-r--r--src/c/elementaryFunctions/int16/u8int16s.c18
-rw-r--r--src/c/elementaryFunctions/int32/dint32a.c18
-rw-r--r--src/c/elementaryFunctions/int32/dint32s.c18
-rw-r--r--src/c/elementaryFunctions/int32/i16int32a.c17
-rw-r--r--src/c/elementaryFunctions/int32/i16int32s.c17
-rw-r--r--src/c/elementaryFunctions/int32/i8int32a.c17
-rw-r--r--src/c/elementaryFunctions/int32/i8int32s.c17
-rw-r--r--src/c/elementaryFunctions/int32/sint32a.c18
-rw-r--r--src/c/elementaryFunctions/int32/sint32s.c17
-rw-r--r--src/c/elementaryFunctions/int32/u16int32a.c18
-rw-r--r--src/c/elementaryFunctions/int32/u16int32s.c17
-rw-r--r--src/c/elementaryFunctions/int32/u32int32a.c18
-rw-r--r--src/c/elementaryFunctions/int32/u32int32s.c17
-rw-r--r--src/c/elementaryFunctions/int32/u8int32a.c18
-rw-r--r--src/c/elementaryFunctions/int32/u8int32s.c17
-rw-r--r--src/c/elementaryFunctions/int8/dint8a.c18
-rw-r--r--src/c/elementaryFunctions/int8/dint8s.c17
-rw-r--r--src/c/elementaryFunctions/int8/i16int8a.c18
-rw-r--r--src/c/elementaryFunctions/int8/i16int8s.c18
-rw-r--r--src/c/elementaryFunctions/int8/sint8a.c18
-rw-r--r--src/c/elementaryFunctions/int8/sint8s.c18
-rw-r--r--src/c/elementaryFunctions/int8/u16int8a.c18
-rw-r--r--src/c/elementaryFunctions/int8/u16int8s.c18
-rw-r--r--src/c/elementaryFunctions/int8/u8int8a.c18
-rw-r--r--src/c/elementaryFunctions/int8/u8int8s.c18
-rw-r--r--src/c/elementaryFunctions/interfaces/int_OpDotHat.h65
-rw-r--r--src/c/elementaryFunctions/interfaces/int_OpHat.h43
-rw-r--r--src/c/elementaryFunctions/interfaces/int_acosd.h34
-rw-r--r--src/c/elementaryFunctions/interfaces/int_acot.h42
-rw-r--r--src/c/elementaryFunctions/interfaces/int_acotd.h33
-rw-r--r--src/c/elementaryFunctions/interfaces/int_acoth.h43
-rw-r--r--src/c/elementaryFunctions/interfaces/int_acsc.h42
-rw-r--r--src/c/elementaryFunctions/interfaces/int_acscd.h34
-rw-r--r--src/c/elementaryFunctions/interfaces/int_acsch.h34
-rw-r--r--src/c/elementaryFunctions/interfaces/int_asec.h34
-rw-r--r--src/c/elementaryFunctions/interfaces/int_asecd.h34
-rw-r--r--src/c/elementaryFunctions/interfaces/int_asech.h34
-rw-r--r--src/c/elementaryFunctions/interfaces/int_asind.h34
-rw-r--r--src/c/elementaryFunctions/interfaces/int_atand.h34
-rw-r--r--src/c/elementaryFunctions/interfaces/int_base2dec.h27
-rw-r--r--src/c/elementaryFunctions/interfaces/int_bin2dec.h37
-rw-r--r--src/c/elementaryFunctions/interfaces/int_bitand.h26
-rw-r--r--src/c/elementaryFunctions/interfaces/int_bitcmp.h26
-rw-r--r--src/c/elementaryFunctions/interfaces/int_bitget.h20
-rw-r--r--src/c/elementaryFunctions/interfaces/int_bitor.h26
-rw-r--r--src/c/elementaryFunctions/interfaces/int_bitset.h23
-rw-r--r--src/c/elementaryFunctions/interfaces/int_bitxor.h26
-rw-r--r--src/c/elementaryFunctions/interfaces/int_ceil.h16
-rw-r--r--src/c/elementaryFunctions/interfaces/int_cos.h16
-rw-r--r--src/c/elementaryFunctions/interfaces/int_cosd.h28
-rw-r--r--src/c/elementaryFunctions/interfaces/int_cosh.h16
-rw-r--r--src/c/elementaryFunctions/interfaces/int_cotd.h28
-rw-r--r--src/c/elementaryFunctions/interfaces/int_coth.h32
-rw-r--r--src/c/elementaryFunctions/interfaces/int_csc.h32
-rw-r--r--src/c/elementaryFunctions/interfaces/int_cscd.h32
-rw-r--r--src/c/elementaryFunctions/interfaces/int_csch.h32
-rw-r--r--src/c/elementaryFunctions/interfaces/int_dec2base.h35
-rw-r--r--src/c/elementaryFunctions/interfaces/int_dec2bin.h48
-rw-r--r--src/c/elementaryFunctions/interfaces/int_dec2hex.h35
-rw-r--r--src/c/elementaryFunctions/interfaces/int_dec2oct.h36
-rw-r--r--src/c/elementaryFunctions/interfaces/int_exp.h16
-rw-r--r--src/c/elementaryFunctions/interfaces/int_factor.h29
-rw-r--r--src/c/elementaryFunctions/interfaces/int_factorial.h31
-rw-r--r--src/c/elementaryFunctions/interfaces/int_fix.h17
-rw-r--r--src/c/elementaryFunctions/interfaces/int_float.h38
-rw-r--r--src/c/elementaryFunctions/interfaces/int_floor.h16
-rw-r--r--src/c/elementaryFunctions/interfaces/int_gcd.h25
-rw-r--r--src/c/elementaryFunctions/interfaces/int_hex2dec.h26
-rw-r--r--src/c/elementaryFunctions/interfaces/int_int16.h38
-rw-r--r--src/c/elementaryFunctions/interfaces/int_int32.h46
-rw-r--r--src/c/elementaryFunctions/interfaces/int_int8.h38
-rw-r--r--src/c/elementaryFunctions/interfaces/int_iscolumn.h29
-rw-r--r--src/c/elementaryFunctions/interfaces/int_isequal.h35
-rw-r--r--src/c/elementaryFunctions/interfaces/int_isinf.h20
-rw-r--r--src/c/elementaryFunctions/interfaces/int_ismatrix.h28
-rw-r--r--src/c/elementaryFunctions/interfaces/int_isreal.h22
-rw-r--r--src/c/elementaryFunctions/interfaces/int_isrow.h29
-rw-r--r--src/c/elementaryFunctions/interfaces/int_isscalar.h26
-rw-r--r--src/c/elementaryFunctions/interfaces/int_issquare.h25
-rw-r--r--src/c/elementaryFunctions/interfaces/int_isvector.h26
-rw-r--r--src/c/elementaryFunctions/interfaces/int_lcm.h27
-rw-r--r--src/c/elementaryFunctions/interfaces/int_linspace.h24
-rw-r--r--src/c/elementaryFunctions/interfaces/int_log2.h33
-rw-r--r--src/c/elementaryFunctions/interfaces/int_logspace.h20
-rw-r--r--src/c/elementaryFunctions/interfaces/int_nancumsum.h36
-rw-r--r--src/c/elementaryFunctions/interfaces/int_nanmax.h26
-rw-r--r--src/c/elementaryFunctions/interfaces/int_nanmean.h32
-rw-r--r--src/c/elementaryFunctions/interfaces/int_nanmin.h31
-rw-r--r--src/c/elementaryFunctions/interfaces/int_nansum.h36
-rw-r--r--src/c/elementaryFunctions/interfaces/int_nextpow2.h26
-rw-r--r--src/c/elementaryFunctions/interfaces/int_nthroot.h23
-rw-r--r--src/c/elementaryFunctions/interfaces/int_oct2dec.h35
-rw-r--r--src/c/elementaryFunctions/interfaces/int_pmodulo.h26
-rw-r--r--src/c/elementaryFunctions/interfaces/int_primes.h29
-rw-r--r--src/c/elementaryFunctions/interfaces/int_round.h16
-rw-r--r--src/c/elementaryFunctions/interfaces/int_sec.h34
-rw-r--r--src/c/elementaryFunctions/interfaces/int_secd.h28
-rw-r--r--src/c/elementaryFunctions/interfaces/int_sech.h32
-rw-r--r--src/c/elementaryFunctions/interfaces/int_sin.h16
-rw-r--r--src/c/elementaryFunctions/interfaces/int_sinc.h19
-rw-r--r--src/c/elementaryFunctions/interfaces/int_sind.h23
-rw-r--r--src/c/elementaryFunctions/interfaces/int_sinh.h16
-rw-r--r--src/c/elementaryFunctions/interfaces/int_sqrt.h19
-rw-r--r--src/c/elementaryFunctions/interfaces/int_tan.h16
-rw-r--r--src/c/elementaryFunctions/interfaces/int_tand.h23
-rw-r--r--src/c/elementaryFunctions/interfaces/int_tanh.h16
-rw-r--r--src/c/elementaryFunctions/interfaces/int_uint16.h36
-rw-r--r--src/c/elementaryFunctions/interfaces/int_uint32.h44
-rw-r--r--src/c/elementaryFunctions/interfaces/int_uint8.h36
-rw-r--r--src/c/elementaryFunctions/iscolumn/discolumna.c26
-rw-r--r--src/c/elementaryFunctions/iscolumn/discolumns.c24
-rw-r--r--src/c/elementaryFunctions/iscolumn/giscolumna.c27
-rw-r--r--src/c/elementaryFunctions/iscolumn/giscolumns.c24
-rw-r--r--src/c/elementaryFunctions/iscolumn/siscolumna.c26
-rw-r--r--src/c/elementaryFunctions/iscolumn/siscolumns.c24
-rw-r--r--src/c/elementaryFunctions/iscolumn/u16iscolumna.c27
-rw-r--r--src/c/elementaryFunctions/iscolumn/u16iscolumns.c25
-rw-r--r--src/c/elementaryFunctions/iscolumn/ziscolumna.c28
-rw-r--r--src/c/elementaryFunctions/iscolumn/ziscolumns.c25
-rw-r--r--src/c/elementaryFunctions/isequal/disequala.c39
-rw-r--r--src/c/elementaryFunctions/isequal/disequals.c24
-rw-r--r--src/c/elementaryFunctions/isequal/sisequala.c39
-rw-r--r--src/c/elementaryFunctions/isequal/sisequals.c24
-rw-r--r--src/c/elementaryFunctions/isequal/u16isequala.c40
-rw-r--r--src/c/elementaryFunctions/isequal/u16isequals.c25
-rw-r--r--src/c/elementaryFunctions/isequal/zisequala.c40
-rw-r--r--src/c/elementaryFunctions/isequal/zisequals.c25
-rw-r--r--src/c/elementaryFunctions/isinf/disinfs.c24
-rw-r--r--src/c/elementaryFunctions/isinf/sisinfs.c24
-rw-r--r--src/c/elementaryFunctions/ismatrix/dismatrixa.c22
-rw-r--r--src/c/elementaryFunctions/ismatrix/dismatrixs.c22
-rw-r--r--src/c/elementaryFunctions/ismatrix/gismatrixa.c22
-rw-r--r--src/c/elementaryFunctions/ismatrix/gismatrixs.c22
-rw-r--r--src/c/elementaryFunctions/ismatrix/sismatrixa.c22
-rw-r--r--src/c/elementaryFunctions/ismatrix/sismatrixs.c22
-rw-r--r--src/c/elementaryFunctions/ismatrix/u16ismatrixa.c23
-rw-r--r--src/c/elementaryFunctions/ismatrix/u16ismatrixs.c23
-rw-r--r--src/c/elementaryFunctions/ismatrix/zismatrixa.c24
-rw-r--r--src/c/elementaryFunctions/ismatrix/zismatrixs.c24
-rw-r--r--src/c/elementaryFunctions/isreal/disreals.c17
-rw-r--r--src/c/elementaryFunctions/isreal/sisreals.c17
-rw-r--r--src/c/elementaryFunctions/isrow/disrowa.c26
-rw-r--r--src/c/elementaryFunctions/isrow/disrows.c24
-rw-r--r--src/c/elementaryFunctions/isrow/gisrowa.c27
-rw-r--r--src/c/elementaryFunctions/isrow/gisrows.c24
-rw-r--r--src/c/elementaryFunctions/isrow/sisrowa.c26
-rw-r--r--src/c/elementaryFunctions/isrow/sisrows.c24
-rw-r--r--src/c/elementaryFunctions/isrow/u16isrowa.c27
-rw-r--r--src/c/elementaryFunctions/isrow/u16isrows.c25
-rw-r--r--src/c/elementaryFunctions/isrow/zisrowa.c28
-rw-r--r--src/c/elementaryFunctions/isrow/zisrows.c25
-rw-r--r--src/c/elementaryFunctions/isscalar/disscalara.c23
-rw-r--r--src/c/elementaryFunctions/isscalar/disscalars.c24
-rw-r--r--src/c/elementaryFunctions/isscalar/gisscalara.c24
-rw-r--r--src/c/elementaryFunctions/isscalar/gisscalars.c24
-rw-r--r--src/c/elementaryFunctions/isscalar/sisscalara.c22
-rw-r--r--src/c/elementaryFunctions/isscalar/sisscalars.c24
-rw-r--r--src/c/elementaryFunctions/isscalar/zisscalara.c25
-rw-r--r--src/c/elementaryFunctions/isscalar/zisscalars.c25
-rw-r--r--src/c/elementaryFunctions/issquare/dissquarea.c26
-rw-r--r--src/c/elementaryFunctions/issquare/dissquares.c24
-rw-r--r--src/c/elementaryFunctions/issquare/gissquarea.c27
-rw-r--r--src/c/elementaryFunctions/issquare/gissquares.c24
-rw-r--r--src/c/elementaryFunctions/issquare/sissquarea.c26
-rw-r--r--src/c/elementaryFunctions/issquare/sissquares.c24
-rw-r--r--src/c/elementaryFunctions/issquare/zissquarea.c28
-rw-r--r--src/c/elementaryFunctions/issquare/zissquares.c25
-rw-r--r--src/c/elementaryFunctions/isvector/disvectora.c23
-rw-r--r--src/c/elementaryFunctions/isvector/disvectors.c24
-rw-r--r--src/c/elementaryFunctions/isvector/gisvectora.c24
-rw-r--r--src/c/elementaryFunctions/isvector/gisvectors.c24
-rw-r--r--src/c/elementaryFunctions/isvector/sisvectora.c23
-rw-r--r--src/c/elementaryFunctions/isvector/sisvectors.c24
-rw-r--r--src/c/elementaryFunctions/isvector/zisvectora.c25
-rw-r--r--src/c/elementaryFunctions/isvector/zisvectors.c25
-rw-r--r--src/c/elementaryFunctions/linspace/dlinspacea.c49
-rw-r--r--src/c/elementaryFunctions/linspace/dlinspaces.c33
-rw-r--r--src/c/elementaryFunctions/linspace/slinspacea.c49
-rw-r--r--src/c/elementaryFunctions/linspace/slinspaces.c33
-rw-r--r--src/c/elementaryFunctions/log2/dlog2a.c20
-rw-r--r--src/c/elementaryFunctions/log2/dlog2s.c21
-rw-r--r--src/c/elementaryFunctions/log2/slog2a.c21
-rw-r--r--src/c/elementaryFunctions/log2/slog2s.c20
-rw-r--r--src/c/elementaryFunctions/log2/zlog2a.c20
-rw-r--r--src/c/elementaryFunctions/log2/zlog2s.c22
-rw-r--r--src/c/elementaryFunctions/logspace/dlogspacea.c50
-rw-r--r--src/c/elementaryFunctions/logspace/dlogspaces.c34
-rw-r--r--src/c/elementaryFunctions/nancumsum/dnancumsuma.c38
-rw-r--r--src/c/elementaryFunctions/nancumsum/dnancumsumcola.c43
-rw-r--r--src/c/elementaryFunctions/nancumsum/dnancumsumrowa.c45
-rw-r--r--src/c/elementaryFunctions/nancumsum/snancumsuma.c38
-rw-r--r--src/c/elementaryFunctions/nancumsum/snancumsumcola.c43
-rw-r--r--src/c/elementaryFunctions/nancumsum/snancumsumrowa.c44
-rw-r--r--src/c/elementaryFunctions/nancumsum/znancumsuma.c39
-rw-r--r--src/c/elementaryFunctions/nancumsum/znancumsumcola.c44
-rw-r--r--src/c/elementaryFunctions/nancumsum/znancumsumrowa.c45
-rw-r--r--src/c/elementaryFunctions/nanmax/dnanmax1a.c58
-rw-r--r--src/c/elementaryFunctions/nanmax/dnanmax2a.c53
-rw-r--r--src/c/elementaryFunctions/nanmax/dnanmaxa.c53
-rw-r--r--src/c/elementaryFunctions/nanmax/dnanmaxcol1a.c35
-rw-r--r--src/c/elementaryFunctions/nanmax/dnanmaxcola.c35
-rw-r--r--src/c/elementaryFunctions/nanmax/dnanmaxrow1a.c37
-rw-r--r--src/c/elementaryFunctions/nanmax/dnanmaxrowa.c37
-rw-r--r--src/c/elementaryFunctions/nanmax/snanmax1a.c58
-rw-r--r--src/c/elementaryFunctions/nanmax/snanmax2a.c53
-rw-r--r--src/c/elementaryFunctions/nanmax/snanmaxa.c53
-rw-r--r--src/c/elementaryFunctions/nanmax/snanmaxcol1a.c35
-rw-r--r--src/c/elementaryFunctions/nanmax/snanmaxcola.c35
-rw-r--r--src/c/elementaryFunctions/nanmax/snanmaxrow1a.c37
-rw-r--r--src/c/elementaryFunctions/nanmax/snanmaxrowa.c37
-rw-r--r--src/c/elementaryFunctions/nanmean/cnanmeana.c37
-rw-r--r--src/c/elementaryFunctions/nanmean/cnanmeancola.c37
-rw-r--r--src/c/elementaryFunctions/nanmean/cnanmeanrowa.c37
-rw-r--r--src/c/elementaryFunctions/nanmean/dnanmeana.c33
-rw-r--r--src/c/elementaryFunctions/nanmean/dnanmeancola.c36
-rw-r--r--src/c/elementaryFunctions/nanmean/dnanmeanrowa.c36
-rw-r--r--src/c/elementaryFunctions/nanmean/snanmeana.c33
-rw-r--r--src/c/elementaryFunctions/nanmean/snanmeancola.c35
-rw-r--r--src/c/elementaryFunctions/nanmean/snanmeanrowa.c35
-rw-r--r--src/c/elementaryFunctions/nanmean/znanmeana.c37
-rw-r--r--src/c/elementaryFunctions/nanmean/znanmeancola.c37
-rw-r--r--src/c/elementaryFunctions/nanmean/znanmeanrowa.c37
-rw-r--r--src/c/elementaryFunctions/nanmin/dnanmina.c53
-rw-r--r--src/c/elementaryFunctions/nanmin/dnanmincola.c33
-rw-r--r--src/c/elementaryFunctions/nanmin/dnanmincolnpa.c36
-rw-r--r--src/c/elementaryFunctions/nanmin/dnanminnpa.c51
-rw-r--r--src/c/elementaryFunctions/nanmin/dnanminnps.c25
-rw-r--r--src/c/elementaryFunctions/nanmin/dnanminrowa.c35
-rw-r--r--src/c/elementaryFunctions/nanmin/dnanminrownpa.c36
-rw-r--r--src/c/elementaryFunctions/nanmin/dnanmins.c32
-rw-r--r--src/c/elementaryFunctions/nansum/dnansuma.c37
-rw-r--r--src/c/elementaryFunctions/nansum/dnansumcola.c35
-rw-r--r--src/c/elementaryFunctions/nansum/dnansumrowa.c36
-rw-r--r--src/c/elementaryFunctions/nansum/snansuma.c37
-rw-r--r--src/c/elementaryFunctions/nansum/snansumcola.c35
-rw-r--r--src/c/elementaryFunctions/nansum/snansumrowa.c36
-rw-r--r--src/c/elementaryFunctions/nansum/znansuma.c37
-rw-r--r--src/c/elementaryFunctions/nansum/znansumcola.c36
-rw-r--r--src/c/elementaryFunctions/nansum/znansumrowa.c37
-rw-r--r--src/c/elementaryFunctions/nextpow2/dnextpow2a.c30
-rw-r--r--src/c/elementaryFunctions/nthroot/dnthroot1a.c28
-rw-r--r--src/c/elementaryFunctions/nthroot/dnthroota.c36
-rw-r--r--src/c/elementaryFunctions/nthroot/dnthroots.c23
-rw-r--r--src/c/elementaryFunctions/nthroot/snthroot1a.c28
-rw-r--r--src/c/elementaryFunctions/nthroot/snthroota.c36
-rw-r--r--src/c/elementaryFunctions/nthroot/snthroots.c23
-rw-r--r--src/c/elementaryFunctions/nthroot/u16nthroot1a.c29
-rw-r--r--src/c/elementaryFunctions/nthroot/u16nthroota.c37
-rw-r--r--src/c/elementaryFunctions/nthroot/u16nthroots.c24
-rw-r--r--src/c/elementaryFunctions/pmodulo/dpmoduloa.c32
-rw-r--r--src/c/elementaryFunctions/pmodulo/dpmodulos.c54
-rw-r--r--src/c/elementaryFunctions/pmodulo/i16pmoduloa.c33
-rw-r--r--src/c/elementaryFunctions/pmodulo/i16pmodulos.c55
-rw-r--r--src/c/elementaryFunctions/pmodulo/spmoduloa.c32
-rw-r--r--src/c/elementaryFunctions/pmodulo/spmodulos.c54
-rw-r--r--src/c/elementaryFunctions/pow/dpows.c3
-rw-r--r--src/c/elementaryFunctions/pow/i16powa.c25
-rw-r--r--src/c/elementaryFunctions/pow/i16pows.c18
-rw-r--r--src/c/elementaryFunctions/pow/i8powa.c25
-rw-r--r--src/c/elementaryFunctions/pow/i8pows.c18
-rw-r--r--src/c/elementaryFunctions/pow/u16powa.c25
-rw-r--r--src/c/elementaryFunctions/pow/u16pows.c18
-rw-r--r--src/c/elementaryFunctions/pow/u8powa.c25
-rw-r--r--src/c/elementaryFunctions/pow/u8pows.c19
-rw-r--r--src/c/elementaryFunctions/pow/zpows.c2
-rw-r--r--src/c/elementaryFunctions/radix_conversions/base2dec/dbase2decs.c32
-rw-r--r--src/c/elementaryFunctions/radix_conversions/base2dec/gbase2decs.c166
-rw-r--r--src/c/elementaryFunctions/radix_conversions/bin2dec/dbin2deca.c21
-rw-r--r--src/c/elementaryFunctions/radix_conversions/bin2dec/dbin2decs.c32
-rw-r--r--src/c/elementaryFunctions/radix_conversions/bin2dec/i16bin2deca.c21
-rw-r--r--src/c/elementaryFunctions/radix_conversions/bin2dec/i16bin2decs.c32
-rw-r--r--src/c/elementaryFunctions/radix_conversions/bin2dec/i8bin2deca.c21
-rw-r--r--src/c/elementaryFunctions/radix_conversions/bin2dec/i8bin2decs.c32
-rw-r--r--src/c/elementaryFunctions/radix_conversions/bin2dec/u16bin2deca.c21
-rw-r--r--src/c/elementaryFunctions/radix_conversions/bin2dec/u16bin2decs.c32
-rw-r--r--src/c/elementaryFunctions/radix_conversions/bin2dec/u8bin2deca.c21
-rw-r--r--src/c/elementaryFunctions/radix_conversions/bin2dec/u8bin2decs.c32
-rw-r--r--src/c/elementaryFunctions/radix_conversions/dec2base/ddec2basea.c21
-rw-r--r--src/c/elementaryFunctions/radix_conversions/dec2base/ddec2bases.c71
-rw-r--r--src/c/elementaryFunctions/radix_conversions/dec2base/sdec2basea.c21
-rw-r--r--src/c/elementaryFunctions/radix_conversions/dec2base/sdec2bases.c45
-rw-r--r--src/c/elementaryFunctions/radix_conversions/dec2bin/ddec2bina.c21
-rw-r--r--src/c/elementaryFunctions/radix_conversions/dec2bin/ddec2bins.c50
-rw-r--r--src/c/elementaryFunctions/radix_conversions/dec2bin/i16dec2bina.c21
-rw-r--r--src/c/elementaryFunctions/radix_conversions/dec2bin/i16dec2bins.c43
-rw-r--r--src/c/elementaryFunctions/radix_conversions/dec2bin/i8dec2bina.c21
-rw-r--r--src/c/elementaryFunctions/radix_conversions/dec2bin/i8dec2bins.c43
-rw-r--r--src/c/elementaryFunctions/radix_conversions/dec2bin/u16dec2bina.c21
-rw-r--r--src/c/elementaryFunctions/radix_conversions/dec2bin/u16dec2bins.c43
-rw-r--r--src/c/elementaryFunctions/radix_conversions/dec2bin/u8dec2bina.c21
-rw-r--r--src/c/elementaryFunctions/radix_conversions/dec2bin/u8dec2bins.c43
-rw-r--r--src/c/elementaryFunctions/radix_conversions/dec2hex/ddec2hexa.c21
-rw-r--r--src/c/elementaryFunctions/radix_conversions/dec2hex/ddec2hexs.c50
-rw-r--r--src/c/elementaryFunctions/radix_conversions/dec2hex/i16dec2hexa.c21
-rw-r--r--src/c/elementaryFunctions/radix_conversions/dec2hex/i16dec2hexs.c49
-rw-r--r--src/c/elementaryFunctions/radix_conversions/dec2hex/i8dec2hexa.c21
-rw-r--r--src/c/elementaryFunctions/radix_conversions/dec2hex/i8dec2hexs.c50
-rw-r--r--src/c/elementaryFunctions/radix_conversions/dec2hex/u16dec2hexa.c21
-rw-r--r--src/c/elementaryFunctions/radix_conversions/dec2hex/u16dec2hexs.c49
-rw-r--r--src/c/elementaryFunctions/radix_conversions/dec2hex/u8dec2hexa.c21
-rw-r--r--src/c/elementaryFunctions/radix_conversions/dec2hex/u8dec2hexs.c49
-rw-r--r--src/c/elementaryFunctions/radix_conversions/dec2oct/ddec2octa.c20
-rw-r--r--src/c/elementaryFunctions/radix_conversions/dec2oct/ddec2octs.c38
-rw-r--r--src/c/elementaryFunctions/radix_conversions/dec2oct/i16dec2octa.c21
-rw-r--r--src/c/elementaryFunctions/radix_conversions/dec2oct/i16dec2octs.c38
-rw-r--r--src/c/elementaryFunctions/radix_conversions/dec2oct/i8dec2octa.c20
-rw-r--r--src/c/elementaryFunctions/radix_conversions/dec2oct/i8dec2octs.c38
-rw-r--r--src/c/elementaryFunctions/radix_conversions/dec2oct/u16dec2octa.c20
-rw-r--r--src/c/elementaryFunctions/radix_conversions/dec2oct/u16dec2octs.c38
-rw-r--r--src/c/elementaryFunctions/radix_conversions/dec2oct/u8dec2octa.c20
-rw-r--r--src/c/elementaryFunctions/radix_conversions/dec2oct/u8dec2octs.c38
-rw-r--r--src/c/elementaryFunctions/radix_conversions/hex2dec/dhex2decs.c32
-rw-r--r--src/c/elementaryFunctions/radix_conversions/hex2dec/ghex2decs.c87
-rw-r--r--src/c/elementaryFunctions/radix_conversions/oct2dec/doct2deca.c21
-rw-r--r--src/c/elementaryFunctions/radix_conversions/oct2dec/doct2decs.c32
-rw-r--r--src/c/elementaryFunctions/radix_conversions/oct2dec/i16oct2deca.c21
-rw-r--r--src/c/elementaryFunctions/radix_conversions/oct2dec/i16oct2decs.c32
-rw-r--r--src/c/elementaryFunctions/radix_conversions/oct2dec/i8oct2deca.c21
-rw-r--r--src/c/elementaryFunctions/radix_conversions/oct2dec/i8oct2decs.c32
-rw-r--r--src/c/elementaryFunctions/radix_conversions/oct2dec/u16oct2deca.c21
-rw-r--r--src/c/elementaryFunctions/radix_conversions/oct2dec/u16oct2decs.c32
-rw-r--r--src/c/elementaryFunctions/radix_conversions/oct2dec/u8oct2deca.c21
-rw-r--r--src/c/elementaryFunctions/radix_conversions/oct2dec/u8oct2decs.c32
-rw-r--r--src/c/elementaryFunctions/round/i16rounda.c20
-rw-r--r--src/c/elementaryFunctions/round/i16rounds.c23
-rw-r--r--src/c/elementaryFunctions/round/i8rounda.c20
-rw-r--r--src/c/elementaryFunctions/round/i8rounds.c23
-rw-r--r--src/c/elementaryFunctions/round/u16rounda.c20
-rw-r--r--src/c/elementaryFunctions/round/u16rounds.c23
-rw-r--r--src/c/elementaryFunctions/round/u8rounda.c20
-rw-r--r--src/c/elementaryFunctions/round/u8rounds.c23
-rw-r--r--src/c/elementaryFunctions/sin/i16sina.c20
-rw-r--r--src/c/elementaryFunctions/sin/i16sins.c18
-rw-r--r--src/c/elementaryFunctions/sin/i8sina.c20
-rw-r--r--src/c/elementaryFunctions/sin/i8sins.c18
-rw-r--r--src/c/elementaryFunctions/sin/u16sina.c20
-rw-r--r--src/c/elementaryFunctions/sin/u16sins.c18
-rw-r--r--src/c/elementaryFunctions/sin/u8sina.c20
-rw-r--r--src/c/elementaryFunctions/sin/u8sins.c18
-rw-r--r--src/c/elementaryFunctions/sind/dsinda.c20
-rw-r--r--src/c/elementaryFunctions/sind/dsinds.c18
-rw-r--r--src/c/elementaryFunctions/sind/ssinda.c19
-rw-r--r--src/c/elementaryFunctions/sind/ssinds.c19
-rw-r--r--src/c/elementaryFunctions/sinh/i16sinha.c20
-rw-r--r--src/c/elementaryFunctions/sinh/i16sinhs.c18
-rw-r--r--src/c/elementaryFunctions/sinh/i8sinha.c20
-rw-r--r--src/c/elementaryFunctions/sinh/i8sinhs.c18
-rw-r--r--src/c/elementaryFunctions/sinh/u16sinha.c20
-rw-r--r--src/c/elementaryFunctions/sinh/u16sinhs.c18
-rw-r--r--src/c/elementaryFunctions/sinh/u8sinha.c20
-rw-r--r--src/c/elementaryFunctions/sinh/u8sinhs.c18
-rw-r--r--src/c/elementaryFunctions/sqrt/dsqrta.c2
-rw-r--r--src/c/elementaryFunctions/sqrt/dsqrts.c2
-rw-r--r--src/c/elementaryFunctions/tan/i16tana.c20
-rw-r--r--src/c/elementaryFunctions/tan/i16tans.c18
-rw-r--r--src/c/elementaryFunctions/tan/i8tana.c20
-rw-r--r--src/c/elementaryFunctions/tan/i8tans.c18
-rw-r--r--src/c/elementaryFunctions/tan/u16tana.c20
-rw-r--r--src/c/elementaryFunctions/tan/u16tans.c18
-rw-r--r--src/c/elementaryFunctions/tan/u8tana.c20
-rw-r--r--src/c/elementaryFunctions/tan/u8tans.c18
-rw-r--r--src/c/elementaryFunctions/tand/dtanda.c19
-rw-r--r--src/c/elementaryFunctions/tand/dtands.c18
-rw-r--r--src/c/elementaryFunctions/tand/standa.c19
-rw-r--r--src/c/elementaryFunctions/tand/stands.c19
-rw-r--r--src/c/elementaryFunctions/tanh/ctanhs.c2
-rw-r--r--src/c/elementaryFunctions/tanh/i16tanha.c20
-rw-r--r--src/c/elementaryFunctions/tanh/i16tanhs.c18
-rw-r--r--src/c/elementaryFunctions/tanh/i8tanha.c20
-rw-r--r--src/c/elementaryFunctions/tanh/i8tanhs.c18
-rw-r--r--src/c/elementaryFunctions/tanh/u16tanha.c20
-rw-r--r--src/c/elementaryFunctions/tanh/u16tanhs.c18
-rw-r--r--src/c/elementaryFunctions/tanh/u8tanha.c20
-rw-r--r--src/c/elementaryFunctions/tanh/u8tanhs.c18
-rw-r--r--src/c/elementaryFunctions/type/gtype0
-rw-r--r--src/c/elementaryFunctions/uint16/duint16a.c18
-rw-r--r--src/c/elementaryFunctions/uint16/duint16s.c18
-rw-r--r--src/c/elementaryFunctions/uint16/i16uint16a.c18
-rw-r--r--src/c/elementaryFunctions/uint16/i16uint16s.c18
-rw-r--r--src/c/elementaryFunctions/uint16/i8uint16a.c17
-rw-r--r--src/c/elementaryFunctions/uint16/i8uint16s.c18
-rw-r--r--src/c/elementaryFunctions/uint16/suint16a.c18
-rw-r--r--src/c/elementaryFunctions/uint16/suint16s.c18
-rw-r--r--src/c/elementaryFunctions/uint16/u8uint16a.c18
-rw-r--r--src/c/elementaryFunctions/uint16/u8uint16s.c18
-rw-r--r--src/c/elementaryFunctions/uint32/duint32a.c18
-rw-r--r--src/c/elementaryFunctions/uint32/duint32s.c18
-rw-r--r--src/c/elementaryFunctions/uint32/i16uint32a.c18
-rw-r--r--src/c/elementaryFunctions/uint32/i16uint32s.c18
-rw-r--r--src/c/elementaryFunctions/uint32/i32uint32a.c18
-rw-r--r--src/c/elementaryFunctions/uint32/i32uint32s.c18
-rw-r--r--src/c/elementaryFunctions/uint32/i8uint32a.c18
-rw-r--r--src/c/elementaryFunctions/uint32/i8uint32s.c17
-rw-r--r--src/c/elementaryFunctions/uint32/suint32a.c19
-rw-r--r--src/c/elementaryFunctions/uint32/suint32s.c18
-rw-r--r--src/c/elementaryFunctions/uint32/u16uint32a.c18
-rw-r--r--src/c/elementaryFunctions/uint32/u16uint32s.c18
-rw-r--r--src/c/elementaryFunctions/uint32/u8uint32a.c18
-rw-r--r--src/c/elementaryFunctions/uint32/u8uint32s.c18
-rw-r--r--src/c/elementaryFunctions/uint8/duint8a.c18
-rw-r--r--src/c/elementaryFunctions/uint8/duint8s.c18
-rw-r--r--src/c/elementaryFunctions/uint8/i16uint8a.c18
-rw-r--r--src/c/elementaryFunctions/uint8/i16uint8s.c18
-rw-r--r--src/c/elementaryFunctions/uint8/i8uint8a.c18
-rw-r--r--src/c/elementaryFunctions/uint8/i8uint8s.c18
-rw-r--r--src/c/elementaryFunctions/uint8/suint8a.c18
-rw-r--r--src/c/elementaryFunctions/uint8/suint8s.c18
-rw-r--r--src/c/elementaryFunctions/uint8/u16uint8a.c18
-rw-r--r--src/c/elementaryFunctions/uint8/u16uint8s.c18
724 files changed, 19725 insertions, 14 deletions
diff --git a/src/c/elementaryFunctions/Trigonometry/cosd/dcosda.c b/src/c/elementaryFunctions/Trigonometry/cosd/dcosda.c
new file mode 100644
index 00000000..65a6f4a2
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/cosd/dcosda.c
@@ -0,0 +1,24 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "cosd.h"
+#include <math.h>
+
+void dcosda(double* in,int size,double* out)
+{
+ int i=0;
+ for (i=0;i<size;i++)
+ {
+ out[i] = dcosds(in[i]);
+ }
+}
+
diff --git a/src/c/elementaryFunctions/Trigonometry/cosd/dcosds.c b/src/c/elementaryFunctions/Trigonometry/cosd/dcosds.c
new file mode 100644
index 00000000..8bc6d4ab
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/cosd/dcosds.c
@@ -0,0 +1,27 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifdef _WIN32
+ #define _USE_MATH_DEFINES
+#endif
+
+#include <math.h>
+#include "cos.h"
+#include "cosd.h"
+
+double dcosds(double in)
+{
+ if(cos((M_PI/180.0)*in)==0.0)
+ return 0.0;
+ else
+ return (cos((M_PI/180.0)*in));
+}
diff --git a/src/c/elementaryFunctions/Trigonometry/cosd/scosda.c b/src/c/elementaryFunctions/Trigonometry/cosd/scosda.c
new file mode 100644
index 00000000..7e0714db
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/cosd/scosda.c
@@ -0,0 +1,22 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "cos.h"
+#include "cosd.h"
+
+void scosda(float* in, int size, float* out)
+{
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ out[i] = scosds(in[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/Trigonometry/cosd/scosds.c b/src/c/elementaryFunctions/Trigonometry/cosd/scosds.c
new file mode 100644
index 00000000..45c788ff
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/cosd/scosds.c
@@ -0,0 +1,27 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifdef _WIN32
+ #define _USE_MATH_DEFINES
+#endif
+
+#include <math.h>
+#include "cosd.h"
+#include "cos.h"
+
+float scosds(float in)
+{
+ if(cosf((M_PI/180.0)*in)==0.0)
+ return 0.0;
+ else
+ return (cosf((M_PI/180.0)*in));
+}
diff --git a/src/c/elementaryFunctions/Trigonometry/cotd/dcotda.c b/src/c/elementaryFunctions/Trigonometry/cotd/dcotda.c
new file mode 100644
index 00000000..3a4b23c1
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/cotd/dcotda.c
@@ -0,0 +1,23 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "cotd.h"
+
+void dcotda(double* in,int size,double* out)
+{
+ int i=0;
+ for(i=0;i<size;i++)
+ {
+ out[i]=dcotds(in[i]);
+ }
+}
+
diff --git a/src/c/elementaryFunctions/Trigonometry/cotd/dcotds.c b/src/c/elementaryFunctions/Trigonometry/cotd/dcotds.c
new file mode 100644
index 00000000..34befb62
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/cotd/dcotds.c
@@ -0,0 +1,23 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifdef _WIN32
+ #define _USE_MATH_DEFINES
+#endif
+
+#include <math.h>
+#include "cotd.h"
+
+double dcotds(double in)
+{
+ return (1/tan((M_PI/180.0)*in));
+}
diff --git a/src/c/elementaryFunctions/Trigonometry/cotd/scotda.c b/src/c/elementaryFunctions/Trigonometry/cotd/scotda.c
new file mode 100644
index 00000000..fbdf0f50
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/cotd/scotda.c
@@ -0,0 +1,20 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "cotd.h"
+
+void scotda(float* in, int size, float* out) {
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ out[i] = scotds(in[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/Trigonometry/cotd/scotds.c b/src/c/elementaryFunctions/Trigonometry/cotd/scotds.c
new file mode 100644
index 00000000..e7e02b9d
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/cotd/scotds.c
@@ -0,0 +1,23 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifdef _WIN32
+ #define _USE_MATH_DEFINES
+#endif
+
+#include <math.h>
+#include "cotd.h"
+
+float scotds(float in)
+{
+ return (1/tanf((M_PI/180.0)*in));
+}
diff --git a/src/c/elementaryFunctions/Trigonometry/coth/ccotha.c b/src/c/elementaryFunctions/Trigonometry/coth/ccotha.c
new file mode 100644
index 00000000..44a366e8
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/coth/ccotha.c
@@ -0,0 +1,24 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "coth.h"
+#include <math.h>
+
+void ccotha(floatComplex* in, int size,floatComplex* out)
+{
+ int i = 0;
+ for (i=0;i<size;i++)
+ {
+ out[i] = ccoths(in[i]);
+ }
+
+}
diff --git a/src/c/elementaryFunctions/Trigonometry/coth/ccoths.c b/src/c/elementaryFunctions/Trigonometry/coth/ccoths.c
new file mode 100644
index 00000000..b7f90263
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/coth/ccoths.c
@@ -0,0 +1,26 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "coth.h"
+#include <math.h>
+#include "tanh.h"
+#include "floatComplex.h"
+#include "division.h"
+
+floatComplex ccoths(floatComplex z)
+{
+
+ floatComplex out;
+ out = crdivs(FloatComplex(1,0), ctanhs(z));
+ return out;
+}
diff --git a/src/c/elementaryFunctions/Trigonometry/coth/dcotha.c b/src/c/elementaryFunctions/Trigonometry/coth/dcotha.c
new file mode 100644
index 00000000..bb54b200
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/coth/dcotha.c
@@ -0,0 +1,24 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "coth.h"
+#include <math.h>
+
+void dcotha(double* in,int size,double* out)
+{
+ int i=0;
+ for(i=0;i<size;i++)
+ {
+ out[i]=cosh(in[i])/sinh(in[i]);
+ }
+}
+
diff --git a/src/c/elementaryFunctions/Trigonometry/coth/dcoths.c b/src/c/elementaryFunctions/Trigonometry/coth/dcoths.c
new file mode 100644
index 00000000..55c9a5b4
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/coth/dcoths.c
@@ -0,0 +1,22 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "coth.h"
+#include "cosh.h"
+#include "cos.h"
+#include "sinh.h"
+#include "sin.h"
+
+double dcoths(double in) {
+ return (cosh(in)/sinh(in));
+}
diff --git a/src/c/elementaryFunctions/Trigonometry/coth/scotha.c b/src/c/elementaryFunctions/Trigonometry/coth/scotha.c
new file mode 100644
index 00000000..53351621
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/coth/scotha.c
@@ -0,0 +1,25 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "coth.h"
+#include <math.h>
+
+void scotha(float* in,int size,float* out)
+{
+ float val;
+ int i=0;
+ for(i=0;i<size;i++)
+ {
+ out[i]=cosh(in[i])/sinh(in[i]);
+ }
+}
+
diff --git a/src/c/elementaryFunctions/Trigonometry/coth/scoths.c b/src/c/elementaryFunctions/Trigonometry/coth/scoths.c
new file mode 100644
index 00000000..2865f566
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/coth/scoths.c
@@ -0,0 +1,22 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "coth.h"
+#include "cosh.h"
+#include "cos.h"
+#include "sinh.h"
+#include "sin.h"
+
+float scoths(float in) {
+ return (cosh(in)/sinh(in));
+}
diff --git a/src/c/elementaryFunctions/Trigonometry/coth/zcotha.c b/src/c/elementaryFunctions/Trigonometry/coth/zcotha.c
new file mode 100644
index 00000000..206cc43f
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/coth/zcotha.c
@@ -0,0 +1,23 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "coth.h"
+#include <math.h>
+
+void zcotha(doubleComplex* in, int size,doubleComplex* out)
+{
+ int i = 0;
+ for (i=0;i<size;i++)
+ {
+ out[i] = zcoths(in[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/Trigonometry/coth/zcoths.c b/src/c/elementaryFunctions/Trigonometry/coth/zcoths.c
new file mode 100644
index 00000000..8b3b19f5
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/coth/zcoths.c
@@ -0,0 +1,26 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "coth.h"
+#include "tanh.h"
+#include "tan.h"
+#include <math.h>
+#include "doubleComplex.h"
+#include "division.h"
+
+doubleComplex zcoths(doubleComplex z)
+{
+
+ doubleComplex out;
+ out = zrdivs(DoubleComplex(1,0),ztanhs(z));
+ return out;
+}
diff --git a/src/c/elementaryFunctions/Trigonometry/csc/ccsca.c b/src/c/elementaryFunctions/Trigonometry/csc/ccsca.c
new file mode 100644
index 00000000..7ec9a6b8
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/csc/ccsca.c
@@ -0,0 +1,23 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "csc.h"
+#include <math.h>
+
+void ccsca(floatComplex* in, int size,floatComplex* out)
+{
+ int i = 0;
+ for (i=0;i<size;i++)
+ {
+ out[i] = ccscs(in[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/Trigonometry/csc/ccscs.c b/src/c/elementaryFunctions/Trigonometry/csc/ccscs.c
new file mode 100644
index 00000000..f16aa1b9
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/csc/ccscs.c
@@ -0,0 +1,28 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "sin.h"
+#include "cos.h"
+#include "sinh.h"
+#include "cosh.h"
+#include "csc.h"
+#include "floatComplex.h"
+#include "division.h"
+
+floatComplex ccscs(floatComplex z)
+{
+
+ floatComplex out;
+ out = crdivs(FloatComplex(1,0),csins(z));
+ return out;
+}
diff --git a/src/c/elementaryFunctions/Trigonometry/csc/dcsca.c b/src/c/elementaryFunctions/Trigonometry/csc/dcsca.c
new file mode 100644
index 00000000..b1a3cf3b
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/csc/dcsca.c
@@ -0,0 +1,22 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "csc.h"
+
+void dcsca(double* in,int size,double* out)
+{
+ int i = 0;
+ for (i = 0;i<size;++i)
+ {
+ out[i] = dcscs(in[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/Trigonometry/csc/dcscs.c b/src/c/elementaryFunctions/Trigonometry/csc/dcscs.c
new file mode 100644
index 00000000..f9e128c2
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/csc/dcscs.c
@@ -0,0 +1,21 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "csc.h"
+#include <math.h>
+
+double dcscs(double in)
+{
+ double out;
+ out=1/sin(in);
+ return out;
+}
diff --git a/src/c/elementaryFunctions/Trigonometry/csc/scsca.c b/src/c/elementaryFunctions/Trigonometry/csc/scsca.c
new file mode 100644
index 00000000..cea8338f
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/csc/scsca.c
@@ -0,0 +1,22 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "csc.h"
+
+void scsca(float* in,int size,float* out)
+{
+ int i = 0;
+ for (i = 0;i<size;++i)
+ {
+ out[i] = scscs(in[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/Trigonometry/csc/scscs.c b/src/c/elementaryFunctions/Trigonometry/csc/scscs.c
new file mode 100644
index 00000000..f0ad15e4
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/csc/scscs.c
@@ -0,0 +1,21 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "csc.h"
+#include <math.h>
+
+float scscs(float in)
+{
+ float out;
+ out=1/sin(in);
+ return out;
+}
diff --git a/src/c/elementaryFunctions/Trigonometry/csc/zcsca.c b/src/c/elementaryFunctions/Trigonometry/csc/zcsca.c
new file mode 100644
index 00000000..59430925
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/csc/zcsca.c
@@ -0,0 +1,23 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "csc.h"
+#include <math.h>
+
+void zcsca(doubleComplex* in, int size,doubleComplex* out)
+{
+ int i = 0;
+ for (i=0;i<size;i++)
+ {
+ out[i] = zcscs(in[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/Trigonometry/csc/zcscs.c b/src/c/elementaryFunctions/Trigonometry/csc/zcscs.c
new file mode 100644
index 00000000..64fce57a
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/csc/zcscs.c
@@ -0,0 +1,27 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "sin.h"
+#include "cos.h"
+#include "sinh.h"
+#include "cosh.h"
+#include "csc.h"
+#include "doubleComplex.h"
+#include "division.h"
+
+doubleComplex zcscs(doubleComplex z)
+{
+ double real = zreals(z);
+ double imag = zimags(z);
+ return zrdivs(DoubleComplex(1,0),(DoubleComplex(dsins(real) * dcoshs(imag), dcoss(real) * dsinhs(imag))));
+}
diff --git a/src/c/elementaryFunctions/Trigonometry/cscd/ccscda.c b/src/c/elementaryFunctions/Trigonometry/cscd/ccscda.c
new file mode 100644
index 00000000..ed13f9e7
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/cscd/ccscda.c
@@ -0,0 +1,24 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "csc.h"
+#include "cscd.h"
+#include <math.h>
+
+void ccscda(floatComplex* in, int size,floatComplex* out)
+{
+ int i = 0;
+ for (i=0;i<size;i++)
+ {
+ out[i] = ccscds(in[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/Trigonometry/cscd/ccscds.c b/src/c/elementaryFunctions/Trigonometry/cscd/ccscds.c
new file mode 100644
index 00000000..39b2576a
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/cscd/ccscds.c
@@ -0,0 +1,29 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "sin.h"
+#include "cos.h"
+#include "sinh.h"
+#include "cosh.h"
+#include "csc.h"
+#include "cscd.h"
+#include "floatComplex.h"
+#include "division.h"
+
+floatComplex ccscds(floatComplex z)
+{
+
+ floatComplex out;
+ out = crdivs(FloatComplex(1,0),csins(z));
+ return out;
+}
diff --git a/src/c/elementaryFunctions/Trigonometry/cscd/dcscda.c b/src/c/elementaryFunctions/Trigonometry/cscd/dcscda.c
new file mode 100644
index 00000000..8ca3df94
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/cscd/dcscda.c
@@ -0,0 +1,24 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "cscd.h"
+#include <math.h>
+
+void dcscda(double* in,int size,double* out)
+{
+ int i=0;
+ for(i=0;i<size;i++)
+ {
+ out[i]=dcscds(in[i]);
+ }
+}
+
diff --git a/src/c/elementaryFunctions/Trigonometry/cscd/dcscds.c b/src/c/elementaryFunctions/Trigonometry/cscd/dcscds.c
new file mode 100644
index 00000000..af4dc30b
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/cscd/dcscds.c
@@ -0,0 +1,27 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifdef _WIN32
+ #define _USE_MATH_DEFINES
+#endif
+
+#include "cscd.h"
+#include <math.h>
+
+double dcscds(double in)
+{
+ double val;
+ val = (M_PI) / 180.0;
+ double out;
+ out=1/sin(in*val);
+ return out;
+}
diff --git a/src/c/elementaryFunctions/Trigonometry/cscd/scscda.c b/src/c/elementaryFunctions/Trigonometry/cscd/scscda.c
new file mode 100644
index 00000000..17936628
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/cscd/scscda.c
@@ -0,0 +1,22 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "cscd.h"
+
+void scscda(float* in,int size,float* out)
+{
+ int i = 0;
+ for (i = 0;i<size;++i)
+ {
+ out[i] = scscds(in[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/Trigonometry/cscd/scscds.c b/src/c/elementaryFunctions/Trigonometry/cscd/scscds.c
new file mode 100644
index 00000000..ebf36d2d
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/cscd/scscds.c
@@ -0,0 +1,27 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifdef _WIN32
+ #define _USE_MATH_DEFINES
+#endif
+
+
+#include "cscd.h"
+#include <math.h>
+
+float scscds(float in)
+{
+ float out,val;
+ val=(M_PI)/180.0;
+ out=1/sin(in*val);
+ return out;
+}
diff --git a/src/c/elementaryFunctions/Trigonometry/cscd/zcscda.c b/src/c/elementaryFunctions/Trigonometry/cscd/zcscda.c
new file mode 100644
index 00000000..a8a617c2
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/cscd/zcscda.c
@@ -0,0 +1,24 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "csc.h"
+#include "cscd.h"
+#include <math.h>
+
+void zcscda(doubleComplex* in, int size,doubleComplex* out)
+{
+ int i = 0;
+ for (i=0;i<size;i++)
+ {
+ out[i] = zcscds(in[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/Trigonometry/cscd/zcscds.c b/src/c/elementaryFunctions/Trigonometry/cscd/zcscds.c
new file mode 100644
index 00000000..47d5dfc1
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/cscd/zcscds.c
@@ -0,0 +1,29 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "sin.h"
+#include "cos.h"
+#include "sinh.h"
+#include "cosh.h"
+#include "csc.h"
+#include "cscd.h"
+#include "doubleComplex.h"
+#include "division.h"
+
+doubleComplex zcscds(doubleComplex z)
+{
+
+ doubleComplex out;
+ out = zrdivs(DoubleComplex(1,0),zsins(z));
+ return out;
+}
diff --git a/src/c/elementaryFunctions/Trigonometry/csch/ccscha.c b/src/c/elementaryFunctions/Trigonometry/csch/ccscha.c
new file mode 100644
index 00000000..a95da200
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/csch/ccscha.c
@@ -0,0 +1,23 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "csch.h"
+#include <math.h>
+
+void ccscha(floatComplex* in, int size,floatComplex* out)
+{
+ int i = 0;
+ for (i=0;i<size;i++)
+ {
+ out[i] = ccschs(in[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/Trigonometry/csch/ccschs.c b/src/c/elementaryFunctions/Trigonometry/csch/ccschs.c
new file mode 100644
index 00000000..ddcc733f
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/csch/ccschs.c
@@ -0,0 +1,26 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "csch.h"
+#include "sinh.h"
+#include "sin.h"
+#include <math.h>
+#include "floatComplex.h"
+#include "division.h"
+
+floatComplex ccschs(floatComplex z)
+{
+
+ floatComplex out;
+ out = crdivs(FloatComplex(1,0),csinhs(z));
+ return out;
+}
diff --git a/src/c/elementaryFunctions/Trigonometry/csch/dcscha.c b/src/c/elementaryFunctions/Trigonometry/csch/dcscha.c
new file mode 100644
index 00000000..32489051
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/csch/dcscha.c
@@ -0,0 +1,20 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "csch.h"
+
+void dcscha(double* in, int size, double* out) {
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ out[i] = dcschs(in[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/Trigonometry/csch/dcschs.c b/src/c/elementaryFunctions/Trigonometry/csch/dcschs.c
new file mode 100644
index 00000000..7b1f15ae
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/csch/dcschs.c
@@ -0,0 +1,21 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "csch.h"
+#include <math.h>
+
+double dcschs(double in)
+{
+ double out;
+ out=1/sinh(in);
+ return out;
+}
diff --git a/src/c/elementaryFunctions/Trigonometry/csch/scscha.c b/src/c/elementaryFunctions/Trigonometry/csch/scscha.c
new file mode 100644
index 00000000..18d5ea79
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/csch/scscha.c
@@ -0,0 +1,20 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "csch.h"
+
+void scscha(float* in, int size, float* out) {
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ out[i] = scschs(in[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/Trigonometry/csch/scschs.c b/src/c/elementaryFunctions/Trigonometry/csch/scschs.c
new file mode 100644
index 00000000..ec550850
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/csch/scschs.c
@@ -0,0 +1,21 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "csch.h"
+#include <math.h>
+
+float scschs(float in)
+{
+ float out;
+ out=1/sinh(in);
+ return out;
+}
diff --git a/src/c/elementaryFunctions/Trigonometry/csch/zcscha.c b/src/c/elementaryFunctions/Trigonometry/csch/zcscha.c
new file mode 100644
index 00000000..fab5cc43
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/csch/zcscha.c
@@ -0,0 +1,23 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "csch.h"
+#include <math.h>
+
+void zcscha(doubleComplex* in, int size,doubleComplex* out)
+{
+ int i = 0;
+ for (i=0;i<size;i++)
+ {
+ out[i] = zcschs(in[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/Trigonometry/csch/zcschs.c b/src/c/elementaryFunctions/Trigonometry/csch/zcschs.c
new file mode 100644
index 00000000..33a4fccd
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/csch/zcschs.c
@@ -0,0 +1,26 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "csch.h"
+#include "sinh.h"
+#include "sin.h"
+#include <math.h>
+#include "doubleComplex.h"
+#include "division.h"
+
+doubleComplex zcschs(doubleComplex z)
+{
+
+ doubleComplex out;
+ out = zrdivs(DoubleComplex(1,0),zsinhs(z));
+ return out;
+}
diff --git a/src/c/elementaryFunctions/Trigonometry/sec/cseca.c b/src/c/elementaryFunctions/Trigonometry/sec/cseca.c
new file mode 100644
index 00000000..fcb9b81a
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/sec/cseca.c
@@ -0,0 +1,23 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "sec.h"
+#include <math.h>
+
+void cseca(floatComplex* in, int size,floatComplex* out)
+{
+ int i = 0;
+ for (i=0;i<size;i++)
+ {
+ out[i] = csecs(in[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/Trigonometry/sec/csecs.c b/src/c/elementaryFunctions/Trigonometry/sec/csecs.c
new file mode 100644
index 00000000..c2d9b9ed
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/sec/csecs.c
@@ -0,0 +1,25 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "sec.h"
+#include "cos.h"
+#include <math.h>
+#include "floatComplex.h"
+#include "division.h"
+
+floatComplex csecs(floatComplex z)
+{
+
+ floatComplex out;
+ out = crdivs(FloatComplex(1,0),ccoss(z));
+ return out;
+}
diff --git a/src/c/elementaryFunctions/Trigonometry/sec/dseca.c b/src/c/elementaryFunctions/Trigonometry/sec/dseca.c
new file mode 100644
index 00000000..c39f7c6e
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/sec/dseca.c
@@ -0,0 +1,23 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "sec.h"
+#include <math.h>
+
+void dseca(double* in,int size,double* out)
+{
+ int i=0;
+ for(i=0;i<size;i++)
+ {
+ out[i]=1/cos(in[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/Trigonometry/sec/dsecs.c b/src/c/elementaryFunctions/Trigonometry/sec/dsecs.c
new file mode 100644
index 00000000..5278b371
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/sec/dsecs.c
@@ -0,0 +1,19 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "sec.h"
+
+double dsecs(double in)
+{
+ return (1/cos(in));
+}
diff --git a/src/c/elementaryFunctions/Trigonometry/sec/sseca.c b/src/c/elementaryFunctions/Trigonometry/sec/sseca.c
new file mode 100644
index 00000000..0ac7cc62
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/sec/sseca.c
@@ -0,0 +1,20 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "sec.h"
+
+void sseca(float* in, int size, float* out) {
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ out[i] = ssecs(in[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/Trigonometry/sec/ssecs.c b/src/c/elementaryFunctions/Trigonometry/sec/ssecs.c
new file mode 100644
index 00000000..ad480005
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/sec/ssecs.c
@@ -0,0 +1,19 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "sec.h"
+
+float ssecs(float in)
+{
+ return (1/cos(in));
+}
diff --git a/src/c/elementaryFunctions/Trigonometry/sec/zseca.c b/src/c/elementaryFunctions/Trigonometry/sec/zseca.c
new file mode 100644
index 00000000..dec365d1
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/sec/zseca.c
@@ -0,0 +1,23 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "sec.h"
+#include <math.h>
+
+void zseca(doubleComplex* in, int size,doubleComplex* out)
+{
+ int i = 0;
+ for (i=0;i<size;i++)
+ {
+ out[i] = zsecs(in[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/Trigonometry/sec/zsecs.c b/src/c/elementaryFunctions/Trigonometry/sec/zsecs.c
new file mode 100644
index 00000000..9629db71
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/sec/zsecs.c
@@ -0,0 +1,26 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "sec.h"
+#include "cos.h"
+#include <math.h>
+#include "doubleComplex.h"
+#include "division.h"
+
+doubleComplex zsecs(doubleComplex z)
+{
+
+ doubleComplex out;
+ out = zrdivs(DoubleComplex(1,0),zcoss(z));
+ return out;
+} \ No newline at end of file
diff --git a/src/c/elementaryFunctions/Trigonometry/secd/dsecda.c b/src/c/elementaryFunctions/Trigonometry/secd/dsecda.c
new file mode 100644
index 00000000..f9f70f0c
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/secd/dsecda.c
@@ -0,0 +1,23 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "secd.h"
+#include <math.h>
+
+void dsecda(double* in,int size,double* out)
+{
+ int i=0;
+ for(i=0;i<size;i++)
+ {
+ out[i]=dsecds(in[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/Trigonometry/secd/dsecds.c b/src/c/elementaryFunctions/Trigonometry/secd/dsecds.c
new file mode 100644
index 00000000..aa95f29a
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/secd/dsecds.c
@@ -0,0 +1,26 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#ifdef _WIN32
+ #define _USE_MATH_DEFINES
+#endif
+
+
+#include <math.h>
+#include "sec.h"
+#include "secd.h"
+
+double dsecds(double in)
+{
+ return (1/cos((M_PI/180.0)*in));
+}
diff --git a/src/c/elementaryFunctions/Trigonometry/secd/ssecda.c b/src/c/elementaryFunctions/Trigonometry/secd/ssecda.c
new file mode 100644
index 00000000..c1fc5e53
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/secd/ssecda.c
@@ -0,0 +1,22 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "sec.h"
+#include "secd.h"
+
+void ssecda(float* in, int size, float* out) {
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ out[i] = ssecds(in[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/Trigonometry/secd/ssecds.c b/src/c/elementaryFunctions/Trigonometry/secd/ssecds.c
new file mode 100644
index 00000000..eaf3a298
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/secd/ssecds.c
@@ -0,0 +1,24 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#ifdef _WIN32
+ #define _USE_MATH_DEFINES
+#endif
+
+#include <math.h>
+#include "secd.h"
+#include "sec.h"
+
+float ssecds(float in) {
+ return (1/cos((M_PI/180.0)*in));
+}
diff --git a/src/c/elementaryFunctions/Trigonometry/sech/csecha.c b/src/c/elementaryFunctions/Trigonometry/sech/csecha.c
new file mode 100644
index 00000000..c8d52d82
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/sech/csecha.c
@@ -0,0 +1,23 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "sech.h"
+#include <math.h>
+
+void csecha(floatComplex* in, int size,floatComplex* out)
+{
+ int i = 0;
+ for (i=0;i<size;i++)
+ {
+ out[i] = csechs(in[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/Trigonometry/sech/csechs.c b/src/c/elementaryFunctions/Trigonometry/sech/csechs.c
new file mode 100644
index 00000000..e707e8b1
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/sech/csechs.c
@@ -0,0 +1,27 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "sech.h"
+#include "sec.h"
+#include <math.h>
+#include "cos.h"
+#include "cosh.h"
+#include "floatComplex.h"
+#include "division.h"
+
+floatComplex csechs(floatComplex z)
+{
+
+ floatComplex out;
+ out = crdivs(FloatComplex(1,0),ccoshs(z));
+ return out;
+}
diff --git a/src/c/elementaryFunctions/Trigonometry/sech/dsecha.c b/src/c/elementaryFunctions/Trigonometry/sech/dsecha.c
new file mode 100644
index 00000000..4092c9e8
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/sech/dsecha.c
@@ -0,0 +1,22 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "sech.h"
+#include <math.h>
+void dsecha(double* in,int size,double* out)
+{
+ int i=0;
+ for(i=0;i<size;i++)
+ {
+ out[i]=dsechs(in[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/Trigonometry/sech/dsechs.c b/src/c/elementaryFunctions/Trigonometry/sech/dsechs.c
new file mode 100644
index 00000000..fdcfd69c
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/sech/dsechs.c
@@ -0,0 +1,22 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "sech.h"
+#include "cosh.h"
+#include "cos.h"
+
+
+double dsechs(double in)
+{
+ return (1/cosh(in));
+}
diff --git a/src/c/elementaryFunctions/Trigonometry/sech/ssecha.c b/src/c/elementaryFunctions/Trigonometry/sech/ssecha.c
new file mode 100644
index 00000000..d7e71b33
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/sech/ssecha.c
@@ -0,0 +1,22 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "sech.h"
+#include <math.h>
+void ssecha(float* in,int size,float* out)
+{
+ int i=0;
+ for(i=0;i<size;i++)
+ {
+ out[i]=ssechs(in[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/Trigonometry/sech/ssechs.c b/src/c/elementaryFunctions/Trigonometry/sech/ssechs.c
new file mode 100644
index 00000000..9fcd50b7
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/sech/ssechs.c
@@ -0,0 +1,22 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "sech.h"
+#include "cosh.h"
+#include "cos.h"
+
+
+float ssechs(float in)
+{
+ return (1/cosh(in));
+}
diff --git a/src/c/elementaryFunctions/Trigonometry/sech/zsecha.c b/src/c/elementaryFunctions/Trigonometry/sech/zsecha.c
new file mode 100644
index 00000000..a3c3189f
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/sech/zsecha.c
@@ -0,0 +1,23 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "sech.h"
+#include <math.h>
+
+void zsecha(doubleComplex* in, int size,doubleComplex* out)
+{
+ int i = 0;
+ for (i=0;i<size;i++)
+ {
+ out[i] = zsechs(in[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/Trigonometry/sech/zsechs.c b/src/c/elementaryFunctions/Trigonometry/sech/zsechs.c
new file mode 100644
index 00000000..d23d2ef4
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/sech/zsechs.c
@@ -0,0 +1,27 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "sech.h"
+#include "sec.h"
+#include <math.h>
+#include "cos.h"
+#include "cosh.h"
+#include "doubleComplex.h"
+#include "division.h"
+
+doubleComplex zsechs(doubleComplex z)
+{
+
+ doubleComplex out;
+ out = zrdivs(DoubleComplex(1,0),zcoshs(z));
+ return out;
+}
diff --git a/src/c/elementaryFunctions/Trigonometry/sinc/dsinca.c b/src/c/elementaryFunctions/Trigonometry/sinc/dsinca.c
new file mode 100644
index 00000000..0cd24e96
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/sinc/dsinca.c
@@ -0,0 +1,46 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#include<stdio.h>
+#include<math.h>
+#include "sinc.h"
+#define PI 3.14159265358979
+void dsinca(double* sample,int size,double* oup)
+{
+ int j;
+ for(j=0;j<size;j++)
+ {
+ if(sample[j]==0)
+ {
+ oup[j]=1;
+ }
+ else
+ {
+ oup[j]=(sin(sample[j]))/(sample[j]);
+ }
+ }
+}
+/*
+int main()
+{
+ int n;
+ printf("Enter the length of the array");
+ scanf("%d",&n);
+ double arr[100000];
+ int i;
+ printf("Now enter the element of the array");
+ for(i=0;i<n;i++)
+ {
+ scanf("%ld",&arr[i]);
+ }
+ sinc(arr[],n);
+}
+*/
diff --git a/src/c/elementaryFunctions/Trigonometry/sinc/int_sinc.h b/src/c/elementaryFunctions/Trigonometry/sinc/int_sinc.h
new file mode 100644
index 00000000..0dc969de
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/sinc/int_sinc.h
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __INT_SINC_H__
+#define __INT_SINC_H__
+
+#define d2sincd2(sample,size,oup) dsinca(sample,size,oup)
+
+#endif /* !__INT_SINC_H__! */
diff --git a/src/c/elementaryFunctions/Trigonometry/sinc/sinc.h b/src/c/elementaryFunctions/Trigonometry/sinc/sinc.h
new file mode 100644
index 00000000..6a5c315b
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/sinc/sinc.h
@@ -0,0 +1,27 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __SINC_H__
+#define __SINC_H__
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void dsinca(double* sample,int size,double* oup);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* __SINC_H__ */
diff --git a/src/c/elementaryFunctions/Trigonometry/sinc/zsinca.c b/src/c/elementaryFunctions/Trigonometry/sinc/zsinca.c
new file mode 100644
index 00000000..1f6cf9ba
--- /dev/null
+++ b/src/c/elementaryFunctions/Trigonometry/sinc/zsinca.c
@@ -0,0 +1,35 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#include<stdio.h>
+#include<math.h>
+#include "sinc.h"
+#include "sin.h"
+#include "doubleComplex.h"
+#include "division.h"
+void zsinca(doubleComplex* sample,int size,doubleComplex* oup)
+{
+ int j;
+ double r,i;
+ for(j=0;j<size;j++)
+ {
+ r=zreals(sample[j]);
+ i=zimags(sample[j]);
+ if(r==0 && i==0)
+ {
+ oup[j]=DoubleComplex(1,0);
+ }
+ else
+ {
+ oup[j]=zrdivs(zsins(sample[j]),sample[j]);
+ }
+ }
+}
diff --git a/src/c/elementaryFunctions/acosd/cacoss.c b/src/c/elementaryFunctions/acosd/cacoss.c
new file mode 100644
index 00000000..97420313
--- /dev/null
+++ b/src/c/elementaryFunctions/acosd/cacoss.c
@@ -0,0 +1,147 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007-2008 - INRIA - Bruno JOFRET
+ * Copyright (C) Bruno Pincon
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+/*
+ * This fonction is a translation of fortran wacos write by Bruno Pincon <Bruno.Pincon@iecn.u-nancy.fr>
+ * REFERENCE
+ * This is a Fortran-77 translation of an algorithm by
+ * T.E. Hull, T. F. Fairgrieve and P.T.P. Tang which
+ * appears in their article :
+ * "Implementing the Complex Arcsine and Arccosine
+ * Functions Using Exception Handling", ACM, TOMS,
+ * Vol 23, No. 3, Sept 1997, p. 299-335
+ */
+
+#include "acos.h"
+#include "atan.h"
+#include "log.h"
+#include "log1p.h"
+#include "sqrt.h"
+#include "abs.h"
+#include "lapack.h"
+#include "min.h"
+#include "max.h"
+
+#define localSign(x) (x>0 ? 1.0f : -1.0f)
+
+floatComplex cacoss(floatComplex z) {
+ static float sfltPi = 3.1415926535897932384626433f;
+ static float sfltPi_2 = 1.5707963267948966192313216f;
+ static float sfltLn2 = 0.6931471805599453094172321f;
+ static float sfltAcross = 1.5f;
+ static float sfltBcross = 0.6417f;
+
+ float fltLsup = ssqrts((float) getOverflowThreshold())/8.0f;
+ float fltLinf = 4.0f * ssqrts((float) getUnderflowThreshold());
+ float fltEpsm = ssqrts((float) getRelativeMachinePrecision());
+
+ float fltAbsReal = sabss(creals(z));
+ float fltAbsImg = sabss(cimags(z));
+ float fltSignReal = localSign(creals(z));
+ float fltSignImg = localSign(cimags(z));
+
+ float fltR = 0, fltS = 0, fltA = 0, fltB = 0;
+
+ float fltTemp = 0;
+
+ float _pfltReal = 0;
+ float _pfltImg = 0;
+
+ if( min(fltAbsReal, fltAbsImg) > fltLinf && max(fltAbsReal, fltAbsImg) <= fltLsup)
+ {/* we are in the safe region */
+ fltR = ssqrts( (fltAbsReal + 1 )*(fltAbsReal + 1 ) + fltAbsImg*fltAbsImg);
+ fltS = ssqrts( (fltAbsReal - 1 )*(fltAbsReal - 1 ) + fltAbsImg*fltAbsImg);
+ fltA = 0.5f * ( fltR + fltS );
+ fltB = fltAbsReal / fltA;
+
+
+ /* compute the real part */
+ if(fltB <= sfltBcross)
+ _pfltReal = sacoss(fltB);
+ else if( fltAbsReal <= 1)
+ _pfltReal = satans(ssqrts(0.5f * (fltA + fltAbsReal) * (fltAbsImg*fltAbsImg / (fltR + (fltAbsReal + 1)) + (fltS + (1 - fltAbsReal)))) / fltAbsReal);
+ else
+ _pfltReal = satans((fltAbsImg * ssqrts(0.5f * ((fltA + fltAbsReal) / (fltR + (fltAbsReal + 1)) + (fltA + fltAbsReal) / (fltS + (fltAbsReal - 1))))) / fltAbsReal);
+
+ /* compute the imaginary part */
+ if(fltA <= sfltAcross)
+ {
+ float fltImg1 = 0;
+
+ if(fltAbsReal < 1)
+ /* Am1 = 0.5d0*((y**2)/(R+(x+1.d0))+(y**2)/(S+(1.d0-x))) */
+ fltImg1 = 0.5f * (fltAbsImg*fltAbsImg / (fltR + (fltAbsReal + 1)) + fltAbsImg*fltAbsImg / (fltS + (1 - fltAbsReal)));
+ else
+ /* Am1 = 0.5d0*((y**2)/(R+(x+1.d0))+(S+(x-1.d0))) */
+ fltImg1 = 0.5f * (fltAbsImg*fltAbsImg / (fltR + (fltAbsReal + 1)) + (fltS + (fltAbsReal - 1)));
+ /* ai = logp1(Am1 + sqrt(Am1*(A+1.d0))) */
+ fltTemp = fltImg1 + ssqrts(fltImg1 *( fltA + 1));
+ _pfltImg = slog1ps(fltTemp);
+ }
+ else
+ /* ai = log(A + sqrt(A**2 - 1.d0)) */
+ _pfltImg = slogs(fltA + ssqrts(fltA*fltA - 1));
+ }
+ else
+ {/* evaluation in the special regions ... */
+ if(fltAbsImg <= fltEpsm * sabss(fltAbsReal - 1))
+ {
+ if(fltAbsReal < 1)
+ {
+ _pfltReal = sacoss(fltAbsReal);
+ _pfltImg = fltAbsImg / ssqrts((1 + fltAbsReal) * (1 - fltAbsReal));
+ }
+ else
+ {
+ _pfltReal = 0;
+ if(fltAbsReal <= fltLsup)
+ {
+ fltTemp = (fltAbsReal - 1) + ssqrts((fltAbsReal - 1) * (fltAbsReal + 1));
+ _pfltImg = slog1ps(fltTemp);
+ }
+ else
+ _pfltImg = sfltLn2 + slogs(fltAbsReal);
+ }
+ }
+ else if(fltAbsImg < fltLinf)
+ {
+ _pfltReal = ssqrts(fltAbsImg);
+ _pfltImg = _pfltReal;
+ }
+ else if((fltEpsm * fltAbsImg - 1 >= fltAbsReal))
+ {
+ _pfltReal = sfltPi_2;
+ _pfltImg = sfltLn2 + slogs(fltAbsImg);
+ }
+ else if(fltAbsReal > 1)
+ {
+ _pfltReal = satans(fltAbsImg / fltAbsReal);
+ fltTemp = (fltAbsReal / fltAbsImg)*(fltAbsReal / fltAbsImg);
+ _pfltImg = sfltLn2 + slogs(fltAbsImg) + 0.5f * slog1ps(fltTemp);
+ }
+ else
+ {
+ float fltTemp2 = ssqrts(1 + fltAbsImg*fltAbsImg);
+ _pfltReal = sfltPi_2;
+ fltTemp = 2 * fltAbsImg * (fltAbsImg + fltTemp2);
+ _pfltImg = 0.5f * slog1ps(fltTemp);
+ }
+ }
+ if(fltSignReal < 0)
+ _pfltReal = sfltPi - _pfltReal;
+
+ if(fltAbsImg != 0 || fltSignReal < 0)
+ _pfltImg = - fltSignImg * _pfltImg;
+
+ return FloatComplex(_pfltReal, _pfltImg);
+}
diff --git a/src/c/elementaryFunctions/acosd/dacosda.c b/src/c/elementaryFunctions/acosd/dacosda.c
new file mode 100644
index 00000000..2e95e9fc
--- /dev/null
+++ b/src/c/elementaryFunctions/acosd/dacosda.c
@@ -0,0 +1,22 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+
+#include <math.h>
+#include "acosd.h"
+
+void dacosda(double* x, int size, double* y)
+{
+ int i = 0;
+ for (i = 0; i < size; ++i)
+ {
+ y[i] = dacosds(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/acosd/dacosds.c b/src/c/elementaryFunctions/acosd/dacosds.c
new file mode 100644
index 00000000..8f59dab6
--- /dev/null
+++ b/src/c/elementaryFunctions/acosd/dacosds.c
@@ -0,0 +1,18 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+
+#include <math.h>
+#include "acosd.h"
+
+double dacosds(double x)
+{
+ return ((acos(x)*180)/3.14159265359);
+}
diff --git a/src/c/elementaryFunctions/acosd/sacosda.c b/src/c/elementaryFunctions/acosd/sacosda.c
new file mode 100644
index 00000000..440d9dc3
--- /dev/null
+++ b/src/c/elementaryFunctions/acosd/sacosda.c
@@ -0,0 +1,22 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+
+#include <math.h>
+#include "acosd.h"
+
+void sacosda(float* x, int size, float* y)
+{
+ int i = 0;
+ for (i = 0; i < size; ++i)
+ {
+ y[i] = sacosds(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/acosd/sacosds.c b/src/c/elementaryFunctions/acosd/sacosds.c
new file mode 100644
index 00000000..c166ff0e
--- /dev/null
+++ b/src/c/elementaryFunctions/acosd/sacosds.c
@@ -0,0 +1,18 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+
+#include <math.h>
+#include "acosd.h"
+
+double sacosds(float x)
+{
+ return ((acos(x)*180)/3.14159265359);
+}
diff --git a/src/c/elementaryFunctions/acot/cacota.c b/src/c/elementaryFunctions/acot/cacota.c
new file mode 100644
index 00000000..64e82b21
--- /dev/null
+++ b/src/c/elementaryFunctions/acot/cacota.c
@@ -0,0 +1,21 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+
+#include "acot.h"
+#include "floatComplex.h"
+
+void cacota(floatComplex* x, int size, floatComplex* y)
+{
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ y[i] = cacots(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/acot/cacots.c b/src/c/elementaryFunctions/acot/cacots.c
new file mode 100644
index 00000000..f4c6236e
--- /dev/null
+++ b/src/c/elementaryFunctions/acot/cacots.c
@@ -0,0 +1,23 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+
+#include <math.h>
+#include "acot.h"
+#include "division.h"
+#include "floatComplex.h"
+#include "atan.h"
+
+floatComplex cacots(floatComplex x)
+{
+ floatComplex xinv;
+ xinv = crdivs(FloatComplex(1,0),x);
+ return catans(xinv);
+}
diff --git a/src/c/elementaryFunctions/acot/dacota.c b/src/c/elementaryFunctions/acot/dacota.c
new file mode 100644
index 00000000..794d0817
--- /dev/null
+++ b/src/c/elementaryFunctions/acot/dacota.c
@@ -0,0 +1,20 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+
+#include "acot.h"
+
+void dacota(double* x, int size, double* y)
+{
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ y[i] = dacots(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/acot/dacots.c b/src/c/elementaryFunctions/acot/dacots.c
new file mode 100644
index 00000000..42ce7b57
--- /dev/null
+++ b/src/c/elementaryFunctions/acot/dacots.c
@@ -0,0 +1,18 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+
+#include <math.h>
+#include "acot.h"
+
+double dacots(double x)
+{
+ return ((3.14159265359/2)-atan(x));
+}
diff --git a/src/c/elementaryFunctions/acot/sacota.c b/src/c/elementaryFunctions/acot/sacota.c
new file mode 100644
index 00000000..b99a7739
--- /dev/null
+++ b/src/c/elementaryFunctions/acot/sacota.c
@@ -0,0 +1,20 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+
+#include "acot.h"
+
+void sacota(float* x, int size, float* y)
+{
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ y[i] = sacots(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/acot/sacots.c b/src/c/elementaryFunctions/acot/sacots.c
new file mode 100644
index 00000000..db6dca2f
--- /dev/null
+++ b/src/c/elementaryFunctions/acot/sacots.c
@@ -0,0 +1,18 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+
+#include <math.h>
+#include "acot.h"
+
+float sacots(float x)
+{
+ return ((3.14159265359/2)-atanf(x));
+}
diff --git a/src/c/elementaryFunctions/acot/zacota.c b/src/c/elementaryFunctions/acot/zacota.c
new file mode 100644
index 00000000..d08ebddd
--- /dev/null
+++ b/src/c/elementaryFunctions/acot/zacota.c
@@ -0,0 +1,21 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+
+#include "acot.h"
+#include "doubleComplex.h"
+
+void zacota(doubleComplex* x, int size, doubleComplex* y)
+{
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ y[i] = zacots(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/acot/zacots.c b/src/c/elementaryFunctions/acot/zacots.c
new file mode 100644
index 00000000..3bf99b2c
--- /dev/null
+++ b/src/c/elementaryFunctions/acot/zacots.c
@@ -0,0 +1,23 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+
+#include <math.h>
+#include "acot.h"
+#include "division.h"
+#include "doubleComplex.h"
+#include "atan.h"
+
+doubleComplex zacots(doubleComplex x)
+{
+ doubleComplex xinv;
+ xinv = zrdivs(DoubleComplex(1,0),x);
+ return zatans(xinv);
+}
diff --git a/src/c/elementaryFunctions/acotd/dacotda.c b/src/c/elementaryFunctions/acotd/dacotda.c
new file mode 100644
index 00000000..a2b64856
--- /dev/null
+++ b/src/c/elementaryFunctions/acotd/dacotda.c
@@ -0,0 +1,20 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+
+#include "acotd.h"
+
+void dacotda(double* x, int size, double* y)
+{
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ y[i] = dacotds(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/acotd/dacotds.c b/src/c/elementaryFunctions/acotd/dacotds.c
new file mode 100644
index 00000000..f149ac23
--- /dev/null
+++ b/src/c/elementaryFunctions/acotd/dacotds.c
@@ -0,0 +1,18 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+
+#include <math.h>
+#include "acotd.h"
+
+double dacotds(double x)
+{
+ return ((((3.14159265359/2)-atan(x))*180)/3.14159265359);
+}
diff --git a/src/c/elementaryFunctions/acotd/sacotda.c b/src/c/elementaryFunctions/acotd/sacotda.c
new file mode 100644
index 00000000..39503044
--- /dev/null
+++ b/src/c/elementaryFunctions/acotd/sacotda.c
@@ -0,0 +1,20 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+
+#include "acotd.h"
+
+void sacotda(float* x, int size, float* y)
+{
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ y[i] = sacotds(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/acotd/sacotds.c b/src/c/elementaryFunctions/acotd/sacotds.c
new file mode 100644
index 00000000..25797532
--- /dev/null
+++ b/src/c/elementaryFunctions/acotd/sacotds.c
@@ -0,0 +1,18 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+
+#include <math.h>
+#include "acotd.h"
+
+float sacotds(float x)
+{
+ return ((((3.14159265359/2)-atanf(x))*180)/3.14159265359);
+}
diff --git a/src/c/elementaryFunctions/acoth/cacotha.c b/src/c/elementaryFunctions/acoth/cacotha.c
new file mode 100644
index 00000000..f4e72dc6
--- /dev/null
+++ b/src/c/elementaryFunctions/acoth/cacotha.c
@@ -0,0 +1,22 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+
+#include "acoth.h"
+#include "floatComplex.h"
+
+void cacotha(floatComplex* x, int size, floatComplex* y)
+{
+ int i = 0;
+ for (i = 0; i < size; ++i)
+ {
+ y[i] = cacoths(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/acoth/cacoths.c b/src/c/elementaryFunctions/acoth/cacoths.c
new file mode 100644
index 00000000..658c227a
--- /dev/null
+++ b/src/c/elementaryFunctions/acoth/cacoths.c
@@ -0,0 +1,23 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+
+#include <math.h>
+#include "acoth.h"
+#include "division.h"
+#include "floatComplex.h"
+#include "atanh.h"
+
+floatComplex cacoths(floatComplex x)
+{
+ floatComplex xinv;
+ xinv = crdivs(FloatComplex(1,0),x);
+ return catanhs(xinv);
+}
diff --git a/src/c/elementaryFunctions/acoth/dacotha.c b/src/c/elementaryFunctions/acoth/dacotha.c
new file mode 100644
index 00000000..b97b9039
--- /dev/null
+++ b/src/c/elementaryFunctions/acoth/dacotha.c
@@ -0,0 +1,21 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+
+#include "acoth.h"
+
+void dacotha(double* x, int size, double* y)
+{
+ int i = 0;
+ for (i = 0; i < size; ++i)
+ {
+ y[i] = dacoths(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/acoth/dacoths.c b/src/c/elementaryFunctions/acoth/dacoths.c
new file mode 100644
index 00000000..aa20a7bd
--- /dev/null
+++ b/src/c/elementaryFunctions/acoth/dacoths.c
@@ -0,0 +1,20 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+
+#include <math.h>
+#include "acoth.h"
+#include "log.h"
+
+
+double dacoths(double x)
+{
+ return (log((1+x)/(x-1))/2);
+}
diff --git a/src/c/elementaryFunctions/acoth/sacotha.c b/src/c/elementaryFunctions/acoth/sacotha.c
new file mode 100644
index 00000000..383f1882
--- /dev/null
+++ b/src/c/elementaryFunctions/acoth/sacotha.c
@@ -0,0 +1,21 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+
+#include "acoth.h"
+
+void sacotha(float* x, int size, float* y)
+{
+ int i = 0;
+ for (i = 0; i < size; ++i)
+ {
+ y[i] = sacoths(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/acoth/sacoths.c b/src/c/elementaryFunctions/acoth/sacoths.c
new file mode 100644
index 00000000..9a2137a6
--- /dev/null
+++ b/src/c/elementaryFunctions/acoth/sacoths.c
@@ -0,0 +1,19 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+
+#include <math.h>
+#include "acoth.h"
+#include "log.h"
+
+float sacoths(float x)
+{
+ return (log((1+x)/(x-1))/2);
+}
diff --git a/src/c/elementaryFunctions/acoth/zacotha.c b/src/c/elementaryFunctions/acoth/zacotha.c
new file mode 100644
index 00000000..3eb335ea
--- /dev/null
+++ b/src/c/elementaryFunctions/acoth/zacotha.c
@@ -0,0 +1,21 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+
+#include "acoth.h"
+#include "doubleComplex.h"
+
+void zacotha(doubleComplex* x, int size, doubleComplex* y)
+{
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ y[i] = zacoths(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/acoth/zacoths.c b/src/c/elementaryFunctions/acoth/zacoths.c
new file mode 100644
index 00000000..bbb387b0
--- /dev/null
+++ b/src/c/elementaryFunctions/acoth/zacoths.c
@@ -0,0 +1,23 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+
+#include <math.h>
+#include "acoth.h"
+#include "division.h"
+#include "doubleComplex.h"
+#include "atanh.h"
+
+doubleComplex zacoths(doubleComplex x)
+{
+ doubleComplex xinv;
+ xinv = zrdivs(DoubleComplex(1,0),x);
+ return zatanhs(xinv);
+}
diff --git a/src/c/elementaryFunctions/acsc/cacsca.c b/src/c/elementaryFunctions/acsc/cacsca.c
new file mode 100644
index 00000000..0512a20f
--- /dev/null
+++ b/src/c/elementaryFunctions/acsc/cacsca.c
@@ -0,0 +1,22 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+#include <math.h>
+#include "acsc.h"
+#include "floatComplex.h"
+
+void cacsca(floatComplex* x, int size, floatComplex* y)
+{
+ int i = 0;
+ for (i = 0; i < size; ++i)
+ {
+ y[i] = cacscs(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/acsc/cacscs.c b/src/c/elementaryFunctions/acsc/cacscs.c
new file mode 100644
index 00000000..9eea94e5
--- /dev/null
+++ b/src/c/elementaryFunctions/acsc/cacscs.c
@@ -0,0 +1,22 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+#include <math.h>
+#include "acsc.h"
+#include "floatComplex.h"
+#include "asin.h"
+#include "division.h"
+
+floatComplex cacscs(floatComplex x)
+{
+ floatComplex xinv;
+ xinv = crdivs(FloatComplex(1,0),x);
+ return casins(xinv);
+}
diff --git a/src/c/elementaryFunctions/acsc/dacsca.c b/src/c/elementaryFunctions/acsc/dacsca.c
new file mode 100644
index 00000000..3f00d216
--- /dev/null
+++ b/src/c/elementaryFunctions/acsc/dacsca.c
@@ -0,0 +1,21 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+#include <math.h>
+#include "acsc.h"
+
+void dacsca(double* x, int size, double* y)
+{
+ int i = 0;
+ for (i = 0; i < size; ++i)
+ {
+ y[i] = dacscs(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/acsc/dacscs.c b/src/c/elementaryFunctions/acsc/dacscs.c
new file mode 100644
index 00000000..4b5ac25d
--- /dev/null
+++ b/src/c/elementaryFunctions/acsc/dacscs.c
@@ -0,0 +1,17 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+#include <math.h>
+#include "acsc.h"
+
+double dacscs(double x)
+{
+ return asin(1/x);
+}
diff --git a/src/c/elementaryFunctions/acsc/sacsca.c b/src/c/elementaryFunctions/acsc/sacsca.c
new file mode 100644
index 00000000..79e6bf95
--- /dev/null
+++ b/src/c/elementaryFunctions/acsc/sacsca.c
@@ -0,0 +1,21 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+#include <math.h>
+#include "acsc.h"
+
+void sacsca(float* x, int size, float* y)
+{
+ int i = 0;
+ for (i = 0; i < size; ++i)
+ {
+ y[i] = sacscs(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/acsc/sacscs.c b/src/c/elementaryFunctions/acsc/sacscs.c
new file mode 100644
index 00000000..e91fa398
--- /dev/null
+++ b/src/c/elementaryFunctions/acsc/sacscs.c
@@ -0,0 +1,17 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+#include <math.h>
+#include "acsc.h"
+
+float sacscs(float x)
+{
+ return asin(1/x);
+}
diff --git a/src/c/elementaryFunctions/acsc/zacsca.c b/src/c/elementaryFunctions/acsc/zacsca.c
new file mode 100644
index 00000000..164406f6
--- /dev/null
+++ b/src/c/elementaryFunctions/acsc/zacsca.c
@@ -0,0 +1,22 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+#include <math.h>
+#include "acsc.h"
+#include "doubleComplex.h"
+
+void zacsca(doubleComplex* x, int size, doubleComplex* y)
+{
+ int i = 0;
+ for (i = 0; i < size; ++i)
+ {
+ y[i] = zacscs(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/acsc/zacscs.c b/src/c/elementaryFunctions/acsc/zacscs.c
new file mode 100644
index 00000000..91bb6c8c
--- /dev/null
+++ b/src/c/elementaryFunctions/acsc/zacscs.c
@@ -0,0 +1,23 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+
+#include <math.h>
+#include "acsc.h"
+#include "doubleComplex.h"
+#include "division.h"
+#include "asin.h"
+
+doubleComplex zacscs(doubleComplex x)
+{
+ doubleComplex xinv;
+ xinv = zrdivs(DoubleComplex(1,0),x);
+ return zasins(xinv);
+}
diff --git a/src/c/elementaryFunctions/acscd/dacscda.c b/src/c/elementaryFunctions/acscd/dacscda.c
new file mode 100644
index 00000000..84eeaed2
--- /dev/null
+++ b/src/c/elementaryFunctions/acscd/dacscda.c
@@ -0,0 +1,21 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+#include <math.h>
+#include "acscd.h"
+
+void dacscda(double* x, int size, double* y)
+{
+ int i = 0;
+ for (i = 0; i < size; ++i)
+ {
+ y[i] = dacscds(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/acscd/dacscds.c b/src/c/elementaryFunctions/acscd/dacscds.c
new file mode 100644
index 00000000..27512ada
--- /dev/null
+++ b/src/c/elementaryFunctions/acscd/dacscds.c
@@ -0,0 +1,17 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+#include <math.h>
+#include "acscd.h"
+
+double dacscds(double x)
+{
+ return ((asin(1/x)*180)/3.14159265359);
+}
diff --git a/src/c/elementaryFunctions/acscd/sacscda.c b/src/c/elementaryFunctions/acscd/sacscda.c
new file mode 100644
index 00000000..a5d130cf
--- /dev/null
+++ b/src/c/elementaryFunctions/acscd/sacscda.c
@@ -0,0 +1,21 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+#include <math.h>
+#include "acscd.h"
+
+void sacscda(float* x, int size, float* y)
+{
+ int i = 0;
+ for (i = 0; i < size; ++i)
+ {
+ y[i] = sacscds(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/acscd/sacscds.c b/src/c/elementaryFunctions/acscd/sacscds.c
new file mode 100644
index 00000000..1c820c2a
--- /dev/null
+++ b/src/c/elementaryFunctions/acscd/sacscds.c
@@ -0,0 +1,17 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+#include <math.h>
+#include "acscd.h"
+
+float sacscds(float x)
+{
+ return ((asin(1/x)*180)/3.14159265359);
+}
diff --git a/src/c/elementaryFunctions/acsch/cacscha.c b/src/c/elementaryFunctions/acsch/cacscha.c
new file mode 100644
index 00000000..0512a20f
--- /dev/null
+++ b/src/c/elementaryFunctions/acsch/cacscha.c
@@ -0,0 +1,22 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+#include <math.h>
+#include "acsc.h"
+#include "floatComplex.h"
+
+void cacsca(floatComplex* x, int size, floatComplex* y)
+{
+ int i = 0;
+ for (i = 0; i < size; ++i)
+ {
+ y[i] = cacscs(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/acsch/cacschs.c b/src/c/elementaryFunctions/acsch/cacschs.c
new file mode 100644
index 00000000..a250b9dc
--- /dev/null
+++ b/src/c/elementaryFunctions/acsch/cacschs.c
@@ -0,0 +1,30 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+#include <math.h>
+#include "acsch.h"
+#include "floatComplex.h"
+#include "asin.h"
+#include "division.h"
+
+floatComplex cacschs(floatComplex x)
+{
+ floatComplex xinv;
+ floatComplex temp;
+ xinv = crdivs(FloatComplex(1,0),x);
+ temp = sqrt(1+cmuls(xinv*xinv))
+
+}
+
+
+
+
+
+log(sqrt(1+(1/(x*x)))+(1/x));
diff --git a/src/c/elementaryFunctions/acsch/dacscha.c b/src/c/elementaryFunctions/acsch/dacscha.c
new file mode 100644
index 00000000..e7177105
--- /dev/null
+++ b/src/c/elementaryFunctions/acsch/dacscha.c
@@ -0,0 +1,21 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+#include <math.h>
+#include "acsch.h"
+
+void dacscha(double* x, int size, double* y)
+{
+ int i = 0;
+ for (i = 0; i < size; ++i)
+ {
+ y[i] = dacschs(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/acsch/dacschs.c b/src/c/elementaryFunctions/acsch/dacschs.c
new file mode 100644
index 00000000..b0a32291
--- /dev/null
+++ b/src/c/elementaryFunctions/acsch/dacschs.c
@@ -0,0 +1,17 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+#include <math.h>
+#include "acsch.h"
+
+double dacschs(double x)
+{
+ return log(sqrt(1+(1/(x*x)))+(1/x));
+}
diff --git a/src/c/elementaryFunctions/acsch/sacscha.c b/src/c/elementaryFunctions/acsch/sacscha.c
new file mode 100644
index 00000000..c2321c6d
--- /dev/null
+++ b/src/c/elementaryFunctions/acsch/sacscha.c
@@ -0,0 +1,21 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+#include <math.h>
+#include "acsch.h"
+
+void sacscha(float* x, int size, float* y)
+{
+ int i = 0;
+ for (i = 0; i < size; ++i)
+ {
+ y[i] = sacschs(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/acsch/sacschs.c b/src/c/elementaryFunctions/acsch/sacschs.c
new file mode 100644
index 00000000..031773b9
--- /dev/null
+++ b/src/c/elementaryFunctions/acsch/sacschs.c
@@ -0,0 +1,17 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+#include <math.h>
+#include "acsch.h"
+
+double sacschs(float x)
+{
+ return log(sqrt(1+(1/(x*x)))+(1/x));
+}
diff --git a/src/c/elementaryFunctions/acsch/zacscha.c b/src/c/elementaryFunctions/acsch/zacscha.c
new file mode 100644
index 00000000..164406f6
--- /dev/null
+++ b/src/c/elementaryFunctions/acsch/zacscha.c
@@ -0,0 +1,22 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+#include <math.h>
+#include "acsc.h"
+#include "doubleComplex.h"
+
+void zacsca(doubleComplex* x, int size, doubleComplex* y)
+{
+ int i = 0;
+ for (i = 0; i < size; ++i)
+ {
+ y[i] = zacscs(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/acsch/zacschs.c b/src/c/elementaryFunctions/acsch/zacschs.c
new file mode 100644
index 00000000..6e33e25b
--- /dev/null
+++ b/src/c/elementaryFunctions/acsch/zacschs.c
@@ -0,0 +1,22 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+#include <math.h>
+#include "acsc.h"
+#include "doubleComplex.h"
+#include "division.h"
+#include "asin.h"
+
+doubleComplex zacscs(doubleComplex x)
+{
+ doubleComplex xinv;
+ xinv = zrdivs(DoubleComplex(1,0),x);
+ return zasins(xinv);
+}
diff --git a/src/c/elementaryFunctions/asec/daseca.c b/src/c/elementaryFunctions/asec/daseca.c
new file mode 100644
index 00000000..2cf1dcd8
--- /dev/null
+++ b/src/c/elementaryFunctions/asec/daseca.c
@@ -0,0 +1,21 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+#include <math.h>
+#include "asec.h"
+
+void daseca(double* x, int size, double* y)
+{
+ int i = 0;
+ for (i = 0; i < size; ++i)
+ {
+ y[i] = dasecs(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/asec/dasecs.c b/src/c/elementaryFunctions/asec/dasecs.c
new file mode 100644
index 00000000..4f2f766e
--- /dev/null
+++ b/src/c/elementaryFunctions/asec/dasecs.c
@@ -0,0 +1,17 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+#include <math.h>
+#include "asec.h"
+
+double dasecs(double x)
+{
+ return acos(1/x);
+}
diff --git a/src/c/elementaryFunctions/asec/saseca.c b/src/c/elementaryFunctions/asec/saseca.c
new file mode 100644
index 00000000..3b0afd84
--- /dev/null
+++ b/src/c/elementaryFunctions/asec/saseca.c
@@ -0,0 +1,21 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+#include <math.h>
+#include "asec.h"
+
+void saseca(float* x, int size, float* y)
+{
+ int i = 0;
+ for (i = 0; i < size; ++i)
+ {
+ y[i] = sasecs(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/asec/sasecs.c b/src/c/elementaryFunctions/asec/sasecs.c
new file mode 100644
index 00000000..5db46a61
--- /dev/null
+++ b/src/c/elementaryFunctions/asec/sasecs.c
@@ -0,0 +1,27 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+#include <math.h>
+#include "asec.h"
+
+double sasecs(float x)
+{
+ return acos(1/x);
+}
diff --git a/src/c/elementaryFunctions/asecd/dasecda.c b/src/c/elementaryFunctions/asecd/dasecda.c
new file mode 100644
index 00000000..e692762c
--- /dev/null
+++ b/src/c/elementaryFunctions/asecd/dasecda.c
@@ -0,0 +1,21 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+#include <math.h>
+#include "asecd.h"
+
+void dasecda(double* x, int size, double* y)
+{
+ int i = 0;
+ for (i = 0; i < size; ++i)
+ {
+ y[i] = dasecds(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/asecd/dasecds.c b/src/c/elementaryFunctions/asecd/dasecds.c
new file mode 100644
index 00000000..dead3189
--- /dev/null
+++ b/src/c/elementaryFunctions/asecd/dasecds.c
@@ -0,0 +1,17 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+#include <math.h>
+#include "asecd.h"
+
+double dasecds(double x)
+{
+ return ((acos(1/x)*180)/3.14159265359);
+}
diff --git a/src/c/elementaryFunctions/asecd/sasecda.c b/src/c/elementaryFunctions/asecd/sasecda.c
new file mode 100644
index 00000000..5c9a42fd
--- /dev/null
+++ b/src/c/elementaryFunctions/asecd/sasecda.c
@@ -0,0 +1,21 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+#include <math.h>
+#include "asecd.h"
+
+void sasecda(float* x, int size, float* y)
+{
+ int i = 0;
+ for (i = 0; i < size; ++i)
+ {
+ y[i] = sasecds(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/asecd/sasecds.c b/src/c/elementaryFunctions/asecd/sasecds.c
new file mode 100644
index 00000000..2e265178
--- /dev/null
+++ b/src/c/elementaryFunctions/asecd/sasecds.c
@@ -0,0 +1,17 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+#include <math.h>
+#include "asecd.h"
+
+double sasecds(float x)
+{
+ return ((acos(1/x)*180)/3.14159265359);
+}
diff --git a/src/c/elementaryFunctions/asech/dasecha.c b/src/c/elementaryFunctions/asech/dasecha.c
new file mode 100644
index 00000000..7309e3f2
--- /dev/null
+++ b/src/c/elementaryFunctions/asech/dasecha.c
@@ -0,0 +1,21 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+#include <math.h>
+#include "asech.h"
+
+void dasecha(double* x, int size, double* y)
+{
+ int i = 0;
+ for (i = 0; i < size; ++i)
+ {
+ y[i] = dasechs(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/asech/dasechs.c b/src/c/elementaryFunctions/asech/dasechs.c
new file mode 100644
index 00000000..ad5756ae
--- /dev/null
+++ b/src/c/elementaryFunctions/asech/dasechs.c
@@ -0,0 +1,18 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+#include <math.h>
+#include "asech.h"
+#include "log.h"
+
+double dasechs(double x)
+{
+ return log(sqrt((1/x)+1)*sqrt((1/x)-1)+(1/x));
+}
diff --git a/src/c/elementaryFunctions/asech/sasecha.c b/src/c/elementaryFunctions/asech/sasecha.c
new file mode 100644
index 00000000..f28eace6
--- /dev/null
+++ b/src/c/elementaryFunctions/asech/sasecha.c
@@ -0,0 +1,21 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+#include <math.h>
+#include "asech.h"
+
+void sasecha(float* x, int size, float* y)
+{
+ int i = 0;
+ for (i = 0; i < size; ++i)
+ {
+ y[i] = sasechs(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/asech/sasechs.c b/src/c/elementaryFunctions/asech/sasechs.c
new file mode 100644
index 00000000..b1a1cab2
--- /dev/null
+++ b/src/c/elementaryFunctions/asech/sasechs.c
@@ -0,0 +1,18 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+#include <math.h>
+#include "asech.h"
+#include "log.h"
+
+double sasechs(float x)
+{
+ return log(sqrt((1/x)+1)*sqrt((1/x)-1)+(1/x));
+}
diff --git a/src/c/elementaryFunctions/asind/dasinda.c b/src/c/elementaryFunctions/asind/dasinda.c
new file mode 100644
index 00000000..4c7d9af7
--- /dev/null
+++ b/src/c/elementaryFunctions/asind/dasinda.c
@@ -0,0 +1,21 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+
+#include "asind.h"
+
+void dasinda(double* x, int size, double* y)
+{
+ int i = 0;
+ for (i = 0; i < size; ++i)
+ {
+ y[i] = dasinds(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/asind/dasinds.c b/src/c/elementaryFunctions/asind/dasinds.c
new file mode 100644
index 00000000..bc028a15
--- /dev/null
+++ b/src/c/elementaryFunctions/asind/dasinds.c
@@ -0,0 +1,18 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+
+#include <math.h>
+#include "asind.h"
+
+double dasinds(double x)
+{
+ return ((asin(x)*180)/3.14159265359);
+}
diff --git a/src/c/elementaryFunctions/asind/sasinda.c b/src/c/elementaryFunctions/asind/sasinda.c
new file mode 100644
index 00000000..100d09cb
--- /dev/null
+++ b/src/c/elementaryFunctions/asind/sasinda.c
@@ -0,0 +1,21 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+
+#include "asind.h"
+
+void sasinda(float* x, int size, float* y)
+{
+ int i = 0;
+ for (i = 0; i < size; ++i)
+ {
+ y[i] = sasinds(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/asind/sasinds.c b/src/c/elementaryFunctions/asind/sasinds.c
new file mode 100644
index 00000000..1bbb3624
--- /dev/null
+++ b/src/c/elementaryFunctions/asind/sasinds.c
@@ -0,0 +1,18 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+
+#include <math.h>
+#include "asind.h"
+
+double sasinds(float x)
+{
+ return ((asin(x)*180)/3.14159265359);
+}
diff --git a/src/c/elementaryFunctions/atan/datans.c b/src/c/elementaryFunctions/atan/datans.c
index a16df82d..11785c04 100644
--- a/src/c/elementaryFunctions/atan/datans.c
+++ b/src/c/elementaryFunctions/atan/datans.c
@@ -13,6 +13,7 @@
#include <math.h>
#include "atan.h"
-double datans(double x) {
+double datans(double x)
+{
return (atan(x));
}
diff --git a/src/c/elementaryFunctions/atand/datanda.c b/src/c/elementaryFunctions/atand/datanda.c
new file mode 100644
index 00000000..5bf8cd9c
--- /dev/null
+++ b/src/c/elementaryFunctions/atand/datanda.c
@@ -0,0 +1,21 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+
+#include "atand.h"
+
+void datanda(double* x, int size, double* y)
+{
+ int i = 0;
+ for (i = 0; i < size; ++i)
+ {
+ y[i] = datands(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/atand/datands.c b/src/c/elementaryFunctions/atand/datands.c
new file mode 100644
index 00000000..8346ebe9
--- /dev/null
+++ b/src/c/elementaryFunctions/atand/datands.c
@@ -0,0 +1,18 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+
+#include <math.h>
+#include "atand.h"
+
+double datands(double x)
+{
+ return ((atan(x)*180)/3.14159265359);
+}
diff --git a/src/c/elementaryFunctions/atand/satanda.c b/src/c/elementaryFunctions/atand/satanda.c
new file mode 100644
index 00000000..1669d69b
--- /dev/null
+++ b/src/c/elementaryFunctions/atand/satanda.c
@@ -0,0 +1,21 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+
+#include "atand.h"
+
+void satanda(float* x, int size, float* y)
+{
+ int i = 0;
+ for (i = 0; i < size; ++i)
+ {
+ y[i] = satands(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/atand/satands.c b/src/c/elementaryFunctions/atand/satands.c
new file mode 100644
index 00000000..49ee6286
--- /dev/null
+++ b/src/c/elementaryFunctions/atand/satands.c
@@ -0,0 +1,18 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+
+#include <math.h>
+#include "atand.h"
+
+double satands(float x)
+{
+ return ((atan(x)*180)/3.14159265359);
+}
diff --git a/src/c/elementaryFunctions/bitand/u16bitanda.c b/src/c/elementaryFunctions/bitand/u16bitanda.c
new file mode 100644
index 00000000..ff92399c
--- /dev/null
+++ b/src/c/elementaryFunctions/bitand/u16bitanda.c
@@ -0,0 +1,25 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "bitand.h"
+
+void u16bitanda(uint16* x,uint16* y,int size,uint16* out)
+{
+ int i = 0;
+ for(i=0;i<size;i++)
+ {
+ out[i] = u16bitands(x[i],y[i]);
+ }
+
+
+}
+
diff --git a/src/c/elementaryFunctions/bitand/u16bitands.c b/src/c/elementaryFunctions/bitand/u16bitands.c
new file mode 100644
index 00000000..2fb78d17
--- /dev/null
+++ b/src/c/elementaryFunctions/bitand/u16bitands.c
@@ -0,0 +1,20 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "bitand.h"
+
+uint16 u16bitands(uint16 x,uint16 y)
+{
+ return (x & y);
+
+}
diff --git a/src/c/elementaryFunctions/bitand/u8bitanda.c b/src/c/elementaryFunctions/bitand/u8bitanda.c
new file mode 100644
index 00000000..1622ec57
--- /dev/null
+++ b/src/c/elementaryFunctions/bitand/u8bitanda.c
@@ -0,0 +1,24 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+#include "bitand.h"
+
+void u8bitanda(uint8* x,uint8* y,int size,uint8* out)
+{
+ int i = 0;
+ for(i=0;i<size;i++)
+ {
+ out[i] = u8bitands(x[i],y[i]);
+ }
+
+
+}
+
diff --git a/src/c/elementaryFunctions/bitand/u8bitands.c b/src/c/elementaryFunctions/bitand/u8bitands.c
new file mode 100644
index 00000000..30dde0fd
--- /dev/null
+++ b/src/c/elementaryFunctions/bitand/u8bitands.c
@@ -0,0 +1,19 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "bitand.h"
+
+uint8 u8bitands(uint8 x,uint8 y)
+{
+ return (x & y);
+
+}
diff --git a/src/c/elementaryFunctions/bitcmp/u16bitcmpa.c b/src/c/elementaryFunctions/bitcmp/u16bitcmpa.c
new file mode 100644
index 00000000..2d25d8d9
--- /dev/null
+++ b/src/c/elementaryFunctions/bitcmp/u16bitcmpa.c
@@ -0,0 +1,27 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "bitcmp.h"
+void u16bitcmpa(uint16 *x,uint16 y,int size,uint16* out)
+{
+ int i=0;
+ for(i=0;i<size;i++)
+ {
+ out[i] = u16bitcmps(x[i],y);
+
+ }
+
+
+}
+
+
diff --git a/src/c/elementaryFunctions/bitcmp/u16bitcmps.c b/src/c/elementaryFunctions/bitcmp/u16bitcmps.c
new file mode 100644
index 00000000..1cc2e296
--- /dev/null
+++ b/src/c/elementaryFunctions/bitcmp/u16bitcmps.c
@@ -0,0 +1,22 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "bitcmp.h"
+uint16 u16bitcmps(uint16 x,uint16 y)
+{
+
+ return (~x);
+
+}
+
+
diff --git a/src/c/elementaryFunctions/bitcmp/u8bitcmpa.c b/src/c/elementaryFunctions/bitcmp/u8bitcmpa.c
new file mode 100644
index 00000000..c368f7d7
--- /dev/null
+++ b/src/c/elementaryFunctions/bitcmp/u8bitcmpa.c
@@ -0,0 +1,27 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "bitcmp.h"
+void u8bitcmpa(uint8 *x,uint8 y,int size,uint8* out)
+{
+ int i=0;
+ for(i=0;i<size;i++)
+ {
+ out[i] = u8bitcmps(x[i],y);
+
+ }
+
+
+}
+
+
diff --git a/src/c/elementaryFunctions/bitcmp/u8bitcmps.c b/src/c/elementaryFunctions/bitcmp/u8bitcmps.c
new file mode 100644
index 00000000..9d1affe0
--- /dev/null
+++ b/src/c/elementaryFunctions/bitcmp/u8bitcmps.c
@@ -0,0 +1,21 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "bitcmp.h"
+uint8 u8bitcmps(uint8 x,uint8 y)
+{
+ return (~x);
+
+}
+
+
diff --git a/src/c/elementaryFunctions/bitget/u16bitgets.c b/src/c/elementaryFunctions/bitget/u16bitgets.c
new file mode 100644
index 00000000..659d785b
--- /dev/null
+++ b/src/c/elementaryFunctions/bitget/u16bitgets.c
@@ -0,0 +1,34 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "bitget.h"
+#include<stdio.h>
+
+uint16 u16bitgets(uint16 value,int position)
+{
+
+ value = value >> (position -1);
+ value = value & 1;
+ return value;
+
+ /*unsigned char mask = 1<<(position-1);
+ uint16 bit = value&mask;
+ if(bit > 0)
+ {
+ return 1;
+ }
+ else
+ {
+ return 0;
+ }*/
+
+}
diff --git a/src/c/elementaryFunctions/bitget/u8bitgets.c b/src/c/elementaryFunctions/bitget/u8bitgets.c
new file mode 100644
index 00000000..03cc9097
--- /dev/null
+++ b/src/c/elementaryFunctions/bitget/u8bitgets.c
@@ -0,0 +1,35 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "bitget.h"
+#include<stdio.h>
+
+uint8 u8bitgets(uint8 value,int position)
+{
+
+ value = value >> (position -1);
+ value = value & 1;
+ return value;
+
+ /*unsigned char mask = 1<<(position-1);
+ uint8 bit = value&mask;
+ if(bit > 0)
+ {
+ return 1;
+ }
+ else
+ {
+ return 0;
+ }*/
+
+}
diff --git a/src/c/elementaryFunctions/bitor/u16bitora.c b/src/c/elementaryFunctions/bitor/u16bitora.c
new file mode 100644
index 00000000..152ab53b
--- /dev/null
+++ b/src/c/elementaryFunctions/bitor/u16bitora.c
@@ -0,0 +1,24 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+#include "bitor.h"
+
+void u16bitora(uint16* x,uint16* y,int size,uint16* out)
+{
+ int i = 0;
+ for(i=0;i<size;i++)
+ {
+ out[i] = u16bitors(x[i],y[i]);
+ }
+
+
+}
+
diff --git a/src/c/elementaryFunctions/bitor/u16bitors.c b/src/c/elementaryFunctions/bitor/u16bitors.c
new file mode 100644
index 00000000..984191ed
--- /dev/null
+++ b/src/c/elementaryFunctions/bitor/u16bitors.c
@@ -0,0 +1,19 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "bitor.h"
+
+uint16 u16bitors(uint16 x,uint16 y)
+{
+ return (x | y);
+
+}
diff --git a/src/c/elementaryFunctions/bitor/u8bitora.c b/src/c/elementaryFunctions/bitor/u8bitora.c
new file mode 100644
index 00000000..83d08d50
--- /dev/null
+++ b/src/c/elementaryFunctions/bitor/u8bitora.c
@@ -0,0 +1,24 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+#include "bitor.h"
+
+void u8bitora(uint8* x,uint8* y,int size,uint8* out)
+{
+ int i = 0;
+ for(i=0;i<size;i++)
+ {
+ out[i] = u8bitors(x[i],y[i]);
+ }
+
+
+}
+
diff --git a/src/c/elementaryFunctions/bitor/u8bitors.c b/src/c/elementaryFunctions/bitor/u8bitors.c
new file mode 100644
index 00000000..9327effe
--- /dev/null
+++ b/src/c/elementaryFunctions/bitor/u8bitors.c
@@ -0,0 +1,19 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "bitor.h"
+
+uint8 u8bitors(uint8 x,uint8 y)
+{
+ return (x | y);
+
+}
diff --git a/src/c/elementaryFunctions/bitset/u16bitsets.c b/src/c/elementaryFunctions/bitset/u16bitsets.c
new file mode 100644
index 00000000..179b7f21
--- /dev/null
+++ b/src/c/elementaryFunctions/bitset/u16bitsets.c
@@ -0,0 +1,30 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "bitset.h"
+#include<stdio.h>
+
+uint16 u16bitsets(uint16 value,int position,int bit_value)
+{
+ if(bit_value==1)
+ {
+ unsigned char mask1 = 1 << (position-1) ; /* we could cast to unsigned char, just to be safe */
+ return (mask1 | value);
+ }
+ else
+ {
+ unsigned char mask2 = ~(1 << (position-1)); /*we could cast to unsigned char, just to be safe*/
+ return (mask2 & value);
+
+ }
+
+}
diff --git a/src/c/elementaryFunctions/bitset/u8bitsets.c b/src/c/elementaryFunctions/bitset/u8bitsets.c
new file mode 100644
index 00000000..1ff0d16f
--- /dev/null
+++ b/src/c/elementaryFunctions/bitset/u8bitsets.c
@@ -0,0 +1,30 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "bitset.h"
+#include<stdio.h>
+
+uint8 u8bitsets(uint8 value,int position,int bit_value)
+{
+ if(bit_value==1)
+ {
+ unsigned char mask1 = 1 << (position-1) ; /* we could cast to unsigned char, just to be safe */
+ return (mask1 | value);
+ }
+ else
+ {
+ unsigned char mask2 = ~(1 << (position-1)); /* we could cast to unsigned char, just to be safe */
+ return (mask2 & value);
+
+ }
+
+}
diff --git a/src/c/elementaryFunctions/bitxor/u16bitxora.c b/src/c/elementaryFunctions/bitxor/u16bitxora.c
new file mode 100644
index 00000000..413caa60
--- /dev/null
+++ b/src/c/elementaryFunctions/bitxor/u16bitxora.c
@@ -0,0 +1,24 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+#include "bitxor.h"
+
+void u16bitxora(uint16* x,uint16* y,int size,uint16* out)
+{
+ int i = 0;
+ for(i=0;i<size;i++)
+ {
+ out[i] = u16bitxors(x[i],y[i]);
+ }
+
+
+}
+
diff --git a/src/c/elementaryFunctions/bitxor/u16bitxors.c b/src/c/elementaryFunctions/bitxor/u16bitxors.c
new file mode 100644
index 00000000..b60fbb67
--- /dev/null
+++ b/src/c/elementaryFunctions/bitxor/u16bitxors.c
@@ -0,0 +1,19 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "bitxor.h"
+
+uint16 u16bitxors(uint16 x,uint16 y)
+{
+ return (x ^ y);
+
+}
diff --git a/src/c/elementaryFunctions/bitxor/u8bitxora.c b/src/c/elementaryFunctions/bitxor/u8bitxora.c
new file mode 100644
index 00000000..7463487e
--- /dev/null
+++ b/src/c/elementaryFunctions/bitxor/u8bitxora.c
@@ -0,0 +1,24 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+#include "bitxor.h"
+
+void u8bitxora(uint8* x,uint8* y,int size,uint8* out)
+{
+ int i = 0;
+ for(i=0;i<size;i++)
+ {
+ out[i] = u8bitxors(x[i],y[i]);
+ }
+
+
+}
+
diff --git a/src/c/elementaryFunctions/bitxor/u8bitxors.c b/src/c/elementaryFunctions/bitxor/u8bitxors.c
new file mode 100644
index 00000000..338f5482
--- /dev/null
+++ b/src/c/elementaryFunctions/bitxor/u8bitxors.c
@@ -0,0 +1,19 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "bitxor.h"
+
+uint8 u8bitxors(uint8 x,uint8 y)
+{
+ return (x ^ y);
+
+}
diff --git a/src/c/elementaryFunctions/ceil/i16ceila.c b/src/c/elementaryFunctions/ceil/i16ceila.c
new file mode 100644
index 00000000..7b639e22
--- /dev/null
+++ b/src/c/elementaryFunctions/ceil/i16ceila.c
@@ -0,0 +1,19 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "ceil.h"
+
+void i16ceila(int16* x, int size, int16* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = i16ceils(x[i]);
+}
diff --git a/src/c/elementaryFunctions/ceil/i16ceils.c b/src/c/elementaryFunctions/ceil/i16ceils.c
new file mode 100644
index 00000000..0b13c7e7
--- /dev/null
+++ b/src/c/elementaryFunctions/ceil/i16ceils.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "ceil.h"
+
+int16 i16ceils(int16 x) {
+ return (int16)(ceilf(x));
+}
diff --git a/src/c/elementaryFunctions/ceil/i8ceila.c b/src/c/elementaryFunctions/ceil/i8ceila.c
new file mode 100644
index 00000000..aab8f78f
--- /dev/null
+++ b/src/c/elementaryFunctions/ceil/i8ceila.c
@@ -0,0 +1,19 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "ceil.h"
+
+void i8ceila(int8* x, int size, int8* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = i8ceils(x[i]);
+}
diff --git a/src/c/elementaryFunctions/ceil/i8ceils.c b/src/c/elementaryFunctions/ceil/i8ceils.c
new file mode 100644
index 00000000..901f87c6
--- /dev/null
+++ b/src/c/elementaryFunctions/ceil/i8ceils.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "ceil.h"
+
+int8 i8ceils(int8 x) {
+ return (int8)(ceilf(x));
+}
diff --git a/src/c/elementaryFunctions/ceil/u16ceila.c b/src/c/elementaryFunctions/ceil/u16ceila.c
new file mode 100644
index 00000000..cde894dc
--- /dev/null
+++ b/src/c/elementaryFunctions/ceil/u16ceila.c
@@ -0,0 +1,19 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "ceil.h"
+
+void u16ceila(uint16* x, int size, uint16* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = u16ceils(x[i]);
+}
diff --git a/src/c/elementaryFunctions/ceil/u16ceils.c b/src/c/elementaryFunctions/ceil/u16ceils.c
new file mode 100644
index 00000000..1110b4b1
--- /dev/null
+++ b/src/c/elementaryFunctions/ceil/u16ceils.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "ceil.h"
+
+uint16 u16ceils(uint16 x) {
+ return (uint16)(ceilf(x));
+}
diff --git a/src/c/elementaryFunctions/ceil/u8ceila.c b/src/c/elementaryFunctions/ceil/u8ceila.c
new file mode 100644
index 00000000..3d05a504
--- /dev/null
+++ b/src/c/elementaryFunctions/ceil/u8ceila.c
@@ -0,0 +1,19 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "ceil.h"
+
+void u8ceila(uint8* x, int size, uint8* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = u8ceils(x[i]);
+}
diff --git a/src/c/elementaryFunctions/ceil/u8ceils.c b/src/c/elementaryFunctions/ceil/u8ceils.c
new file mode 100644
index 00000000..c1ba0b0a
--- /dev/null
+++ b/src/c/elementaryFunctions/ceil/u8ceils.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "ceil.h"
+
+uint8 u8ceils(uint8 x) {
+ return (uint8)(ceilf(x));
+}
diff --git a/src/c/elementaryFunctions/cos/i16cosa.c b/src/c/elementaryFunctions/cos/i16cosa.c
new file mode 100644
index 00000000..426eeabc
--- /dev/null
+++ b/src/c/elementaryFunctions/cos/i16cosa.c
@@ -0,0 +1,19 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+#include "cos.h"
+
+void i16cosa(int16* x, int size, float* y) {
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ y[i] = i16coss(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/cos/i16coss.c b/src/c/elementaryFunctions/cos/i16coss.c
new file mode 100644
index 00000000..787f713b
--- /dev/null
+++ b/src/c/elementaryFunctions/cos/i16coss.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "cos.h"
+
+float i16coss(int16 x) {
+ return (cos((double)x));
+}
diff --git a/src/c/elementaryFunctions/cos/i8cosa.c b/src/c/elementaryFunctions/cos/i8cosa.c
new file mode 100644
index 00000000..2f0053c8
--- /dev/null
+++ b/src/c/elementaryFunctions/cos/i8cosa.c
@@ -0,0 +1,20 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "cos.h"
+
+void i8cosa(int8* x, int size, float* y) {
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ y[i] = i8coss(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/cos/i8coss.c b/src/c/elementaryFunctions/cos/i8coss.c
new file mode 100644
index 00000000..4b344e1d
--- /dev/null
+++ b/src/c/elementaryFunctions/cos/i8coss.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "cos.h"
+
+float i8coss(int8 x) {
+ return (cos((double)x));
+}
diff --git a/src/c/elementaryFunctions/cos/u16cosa.c b/src/c/elementaryFunctions/cos/u16cosa.c
new file mode 100644
index 00000000..6e752e2b
--- /dev/null
+++ b/src/c/elementaryFunctions/cos/u16cosa.c
@@ -0,0 +1,20 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "cos.h"
+
+void u16cosa(uint16* x, int size, float* y) {
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ y[i] = u16coss(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/cos/u16coss.c b/src/c/elementaryFunctions/cos/u16coss.c
new file mode 100644
index 00000000..fb25ac56
--- /dev/null
+++ b/src/c/elementaryFunctions/cos/u16coss.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "cos.h"
+
+float u16coss(uint16 x) {
+ return (cos((double)x));
+}
diff --git a/src/c/elementaryFunctions/cos/u8cosa.c b/src/c/elementaryFunctions/cos/u8cosa.c
new file mode 100644
index 00000000..ad129e12
--- /dev/null
+++ b/src/c/elementaryFunctions/cos/u8cosa.c
@@ -0,0 +1,20 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "cos.h"
+
+void u8cosa(uint8* x, int size, float* y) {
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ y[i] = u8coss(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/cos/u8coss.c b/src/c/elementaryFunctions/cos/u8coss.c
new file mode 100644
index 00000000..26e2eba5
--- /dev/null
+++ b/src/c/elementaryFunctions/cos/u8coss.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "cos.h"
+
+float u8coss(uint8 x) {
+ return (cos((double)x));
+}
diff --git a/src/c/elementaryFunctions/cosh/i16cosha.c b/src/c/elementaryFunctions/cosh/i16cosha.c
new file mode 100644
index 00000000..edb56f9c
--- /dev/null
+++ b/src/c/elementaryFunctions/cosh/i16cosha.c
@@ -0,0 +1,20 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "cosh.h"
+
+void i16cosha(int16* x, int size, int16* y) {
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ y[i] = i16coshs(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/cosh/i16coshs.c b/src/c/elementaryFunctions/cosh/i16coshs.c
new file mode 100644
index 00000000..10d3eb95
--- /dev/null
+++ b/src/c/elementaryFunctions/cosh/i16coshs.c
@@ -0,0 +1,27 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+/*
+// cosh(z) = 0.5 (exp(|z|) + exp(-|z|))
+// = 0.5 ( y + 1/y ) with y = exp(|z|)
+*/
+
+#include <math.h>
+#include "cosh.h"
+#include "exp.h"
+#include "abs.h"
+#include "types.h"
+
+float i16coshs(int16 x) {
+ double y = i16exps(i16abss(x));
+ return (0.5 * (y + 1.0/y));
+}
diff --git a/src/c/elementaryFunctions/cosh/i8cosha.c b/src/c/elementaryFunctions/cosh/i8cosha.c
new file mode 100644
index 00000000..4ec75920
--- /dev/null
+++ b/src/c/elementaryFunctions/cosh/i8cosha.c
@@ -0,0 +1,20 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "cosh.h"
+
+void i8cosha(int8* x, int size, int8* y) {
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ y[i] = i8coshs(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/cosh/i8coshs.c b/src/c/elementaryFunctions/cosh/i8coshs.c
new file mode 100644
index 00000000..bc301221
--- /dev/null
+++ b/src/c/elementaryFunctions/cosh/i8coshs.c
@@ -0,0 +1,27 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+/*
+// cosh(z) = 0.5 (exp(|z|) + exp(-|z|))
+// = 0.5 ( y + 1/y ) with y = exp(|z|)
+*/
+
+#include <math.h>
+#include "cosh.h"
+#include "exp.h"
+#include "abs.h"
+#include "types.h"
+
+float i8coshs(int8 x) {
+ double y = i8exps(i8abss(x));
+ return (0.5 * (y + 1.0/y));
+}
diff --git a/src/c/elementaryFunctions/cosh/u16cosha.c b/src/c/elementaryFunctions/cosh/u16cosha.c
new file mode 100644
index 00000000..83d3786c
--- /dev/null
+++ b/src/c/elementaryFunctions/cosh/u16cosha.c
@@ -0,0 +1,20 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "cosh.h"
+
+void u16cosha(uint16* x, int size, uint16* y) {
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ y[i] = u16coshs(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/cosh/u16coshs.c b/src/c/elementaryFunctions/cosh/u16coshs.c
new file mode 100644
index 00000000..22f6ded0
--- /dev/null
+++ b/src/c/elementaryFunctions/cosh/u16coshs.c
@@ -0,0 +1,26 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+/*
+// cosh(z) = 0.5 (exp(|z|) + exp(-|z|))
+// = 0.5 ( y + 1/y ) with y = exp(|z|)
+*/
+
+#include <math.h>
+#include "cosh.h"
+#include "exp.h"
+#include "abs.h"
+#include "types.h"
+
+float u16coshs(uint16 x) {
+ double y = u16exps(u16abss(x));
+ return (0.5 * (y + 1.0/y));
+}
diff --git a/src/c/elementaryFunctions/cosh/u8cosha.c b/src/c/elementaryFunctions/cosh/u8cosha.c
new file mode 100644
index 00000000..4b44c28b
--- /dev/null
+++ b/src/c/elementaryFunctions/cosh/u8cosha.c
@@ -0,0 +1,20 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "cosh.h"
+
+void u8cosha(uint8* x, int size, uint8* y) {
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ y[i] = u8coshs(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/cosh/u8coshs.c b/src/c/elementaryFunctions/cosh/u8coshs.c
new file mode 100644
index 00000000..bed1eb93
--- /dev/null
+++ b/src/c/elementaryFunctions/cosh/u8coshs.c
@@ -0,0 +1,27 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+/*
+// cosh(z) = 0.5 (exp(|z|) + exp(-|z|))
+// = 0.5 ( y + 1/y ) with y = exp(|z|)
+*/
+
+#include <math.h>
+#include "cosh.h"
+#include "exp.h"
+#include "abs.h"
+#include "types.h"
+
+float u8coshs(uint8 x) {
+ double y = u8exps(u8abss(x));
+ return (0.5 * (y + 1.0/y));
+}
diff --git a/src/c/elementaryFunctions/discrete_mathematics/factor/dfactors.c b/src/c/elementaryFunctions/discrete_mathematics/factor/dfactors.c
new file mode 100644
index 00000000..9ac76b5a
--- /dev/null
+++ b/src/c/elementaryFunctions/discrete_mathematics/factor/dfactors.c
@@ -0,0 +1,39 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+# include <stdio.h>
+# include <math.h>
+
+void dfactors(double in,double* out)
+{
+ int i=0,k=0;
+ int n=(int)in;
+ while (n%2 == 0)
+ {
+ out[k++]=2;
+ n = n/2;
+ }
+
+ for (i = 3; i <= (int)sqrt((double)n); i = i+2)
+ {
+ while (n%i == 0)
+ {
+ out[k++]=i;
+ n = n/i;
+ }
+ }
+
+ if (n > 2)
+ {
+ out[k++]=n;
+ }
+}
+
diff --git a/src/c/elementaryFunctions/discrete_mathematics/factor/sfactors.c b/src/c/elementaryFunctions/discrete_mathematics/factor/sfactors.c
new file mode 100644
index 00000000..a2eed09f
--- /dev/null
+++ b/src/c/elementaryFunctions/discrete_mathematics/factor/sfactors.c
@@ -0,0 +1,39 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+# include <stdio.h>
+# include <math.h>
+
+void sfactors(float in,float* out)
+{
+ int i=0,k=0;
+ int n=(int)in;
+ while (n%2 == 0)
+ {
+ out[k++]=2;
+ n = n/2;
+ }
+
+ for (i = 3; i <= (int)sqrt((double)n); i = i+2)
+ {
+ while (n%i == 0)
+ {
+ out[k++]=i;
+ n = n/i;
+ }
+ }
+
+ if (n > 2)
+ {
+ out[k++]=n;
+ }
+}
+
diff --git a/src/c/elementaryFunctions/discrete_mathematics/factorial/dfactoriala.c b/src/c/elementaryFunctions/discrete_mathematics/factorial/dfactoriala.c
new file mode 100644
index 00000000..68a118ba
--- /dev/null
+++ b/src/c/elementaryFunctions/discrete_mathematics/factorial/dfactoriala.c
@@ -0,0 +1,23 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include "factorial.h"
+#include <math.h>
+
+void dfactoriala(double* in,int size,double* out)
+{
+ int i=0;
+ for (i=0;i<size;i++)
+ {
+ out[i] = dfactorials(in[i]);
+ }
+}
+
diff --git a/src/c/elementaryFunctions/discrete_mathematics/factorial/dfactorials.c b/src/c/elementaryFunctions/discrete_mathematics/factorial/dfactorials.c
new file mode 100644
index 00000000..354eb6a8
--- /dev/null
+++ b/src/c/elementaryFunctions/discrete_mathematics/factorial/dfactorials.c
@@ -0,0 +1,35 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include <stdio.h>
+#include <math.h>
+#include "factorial.h"
+
+double dfactorials(double in)
+{
+ int i,n;
+ long long int fact=1;
+ n=(int)in;
+ if (n < 0)
+ printf("Error! Factorial of a negative number doesn't exist.");
+ else if (n>170)
+ printf("Inf");
+ else
+ {
+ for(i=1; i<=n; i++)
+ {
+ fact=fact*i;
+ //printf("\n %lld",fact);
+ }
+ }
+
+ return fact;
+}
diff --git a/src/c/elementaryFunctions/discrete_mathematics/factorial/sfactoriala.c b/src/c/elementaryFunctions/discrete_mathematics/factorial/sfactoriala.c
new file mode 100644
index 00000000..14f46d84
--- /dev/null
+++ b/src/c/elementaryFunctions/discrete_mathematics/factorial/sfactoriala.c
@@ -0,0 +1,23 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include "factorial.h"
+#include <math.h>
+
+void sfactoriala(float* in,int size,float* out)
+{
+ int i=0;
+ for (i=0;i<size;i++)
+ {
+ out[i] = dfactorials(in[i]);
+ }
+}
+
diff --git a/src/c/elementaryFunctions/discrete_mathematics/factorial/sfactorials.c b/src/c/elementaryFunctions/discrete_mathematics/factorial/sfactorials.c
new file mode 100644
index 00000000..e4f1017b
--- /dev/null
+++ b/src/c/elementaryFunctions/discrete_mathematics/factorial/sfactorials.c
@@ -0,0 +1,34 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include <stdio.h>
+#include <math.h>
+#include "factorial.h"
+
+float sfactorials(float in)
+{
+ int i,n;
+ long long int fact=1;
+ n=(int)in;
+ if (n < 0)
+ printf("Error! Factorial of a negative number doesn't exist.");
+ else if(n>170)
+ printf("Inf");
+ else
+ {
+ for(i=1; i<=n; i++)
+ {
+ fact *= i;
+ }
+ }
+
+ return fact;
+}
diff --git a/src/c/elementaryFunctions/discrete_mathematics/gcd/dgcda.c b/src/c/elementaryFunctions/discrete_mathematics/gcd/dgcda.c
new file mode 100644
index 00000000..a32ed773
--- /dev/null
+++ b/src/c/elementaryFunctions/discrete_mathematics/gcd/dgcda.c
@@ -0,0 +1,32 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ukasha Noor
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "gcd.h"
+#include "types.h"
+
+void dgcda(double *in,int size,double *out)
+{
+ double a=in[0];
+ double b=in[1];
+ while(a!=b && a!=0 && b!=0)
+ {
+ if(a>b)
+ {
+ a=a-b;
+ }
+ else
+ {
+ b=b-a;
+ }
+ }
+ out[0]=b;
+}
diff --git a/src/c/elementaryFunctions/discrete_mathematics/gcd/u8gcda.c b/src/c/elementaryFunctions/discrete_mathematics/gcd/u8gcda.c
new file mode 100644
index 00000000..121d26ae
--- /dev/null
+++ b/src/c/elementaryFunctions/discrete_mathematics/gcd/u8gcda.c
@@ -0,0 +1,62 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+#include<stdio.h>
+/* This is the "gcd" function , which takes two input. first
+ one is the array and the second one is the length of the array.
+ Now to calculate the gcd of two elements we fin the maximum of
+ the two elements, and then iterate from maximum value down to 1,
+ and check whether the particular value divides the two elements.
+ And in this way we can calculate the gcd of the whole array.
+*/
+#include "gcd.h"
+uint8 u8gcdua(uint8* in,int size)
+{
+
+ int temp;
+ if(size==1)
+ {
+ temp=*in;
+ }
+ else
+ {
+ int x=*in;
+ int y=*(in+1);
+ int max=(x>y)?x:y;
+ int i;
+ for(i=max;i>=1;i--)
+ {
+ if(x%i==0 && y%i==0)
+ {
+ temp=i;
+ break;
+ }
+ }
+ int j;
+ for(j=2;j<size;j++)
+ {
+ x=temp;
+ y=*(in+j);
+ max=(x>y)?x:y;
+ for(i=max;i>=1;i--)
+ {
+ if(x%i==0 && y%i==0)
+ {
+ temp=i;
+ break;
+ }
+ }
+ }
+}
+
+ return temp;
+}
+
diff --git a/src/c/elementaryFunctions/discrete_mathematics/gcd/u8gcds.c b/src/c/elementaryFunctions/discrete_mathematics/gcd/u8gcds.c
new file mode 100644
index 00000000..75f831fc
--- /dev/null
+++ b/src/c/elementaryFunctions/discrete_mathematics/gcd/u8gcds.c
@@ -0,0 +1,32 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ukasha Noor
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "gcd.h"
+#include "types.h"
+
+int8 u8gcds(int8 *in,int size)
+{
+ int a=in[0];
+ int b=in[1];
+ while(a!=b && a!=0 && b!=0)
+ {
+ if(a>b)
+ {
+ a=a-b;
+ }
+ else
+ {
+ b=b-a;
+ }
+ }
+ return b;
+}
diff --git a/src/c/elementaryFunctions/discrete_mathematics/lcm/u8lcma.c b/src/c/elementaryFunctions/discrete_mathematics/lcm/u8lcma.c
new file mode 100644
index 00000000..b01c8047
--- /dev/null
+++ b/src/c/elementaryFunctions/discrete_mathematics/lcm/u8lcma.c
@@ -0,0 +1,69 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+#include<stdio.h>
+/* This is the "lcm" function, accepting two inputs which are the array of integers
+ and second the size of the array. The algorithm works like this:
+ We take a temproary variable and store the lcm of the first two elements of the
+ array in it. Now using this temproary variable we recursively fin the lcm of
+ the whole array.
+ Now to fin the lcm of two elements we fin the maximum of the two elements and
+ check whether it is divisible by both the elements, if the condition is true we
+ get the lcm, else increase the maximum value by itself unless we get the lcm.
+*/
+#include "lcm.h"
+uint8 u8lcma(uint8* in,int size)
+{
+ long long int lcm_temp;
+ if(size==1)
+ {
+ lcm_temp=*in;
+ }
+ else
+ {
+
+ int x1=*in;
+ int x2=*(in+1);
+ long long int max=(x1>x2)?x1:x2;
+ long long int i=max;
+ while(1)
+ {
+ if(i%x1==0 && i%x2==0)
+ {
+ lcm_temp=i;
+ break;
+ }
+ else
+ i+=max;
+ }
+ int j;
+ for(j=2;j<size;j++)
+ {
+ x1=lcm_temp;
+ x2=*(in+j);
+ max=(x1>x2)?x1:x2;
+ i=max;
+ while(1)
+ {
+ if(i%x1==0 && i%x2==0)
+ {
+ lcm_temp=i;
+ break;
+ }
+ else
+ i+=max;
+ }
+ }
+
+ }
+ return lcm_temp;
+}
+
diff --git a/src/c/elementaryFunctions/discrete_mathematics/primes/dprimess.c b/src/c/elementaryFunctions/discrete_mathematics/primes/dprimess.c
new file mode 100644
index 00000000..3aa0af4d
--- /dev/null
+++ b/src/c/elementaryFunctions/discrete_mathematics/primes/dprimess.c
@@ -0,0 +1,35 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include<stdio.h>
+#include "primes.h"
+void dprimess(double in, double* out)
+{
+ int i=0,j=0,k=0,n=0,counter=0;
+ n=(int)in;
+ for(i=2;i<=n;i++)
+ {
+ counter=0;
+ for(j=2;j<i;j++)
+ {
+ if(i%j==0)
+ {
+ counter=1;
+ break;
+ }
+ }
+ if(counter==0)
+ {
+ out[k++]=i;
+
+ }
+ }
+}
diff --git a/src/c/elementaryFunctions/discrete_mathematics/primes/sprimess.c b/src/c/elementaryFunctions/discrete_mathematics/primes/sprimess.c
new file mode 100644
index 00000000..bff39d74
--- /dev/null
+++ b/src/c/elementaryFunctions/discrete_mathematics/primes/sprimess.c
@@ -0,0 +1,35 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include<stdio.h>
+#include "primes.h"
+void sprimess(float in, float* out)
+{
+ int i=0,j=0,k=0,n=0,counter=0;
+ n=(int)in;
+ for(i=2;i<=n;i++)
+ {
+ counter=0;
+ for(j=2;j<i;j++)
+ {
+ if(i%j==0)
+ {
+ counter=1;
+ break;
+ }
+ }
+ if(counter==0)
+ {
+ out[k]=i;
+ k++;
+ }
+ }
+}
diff --git a/src/c/elementaryFunctions/exp/i16expa.c b/src/c/elementaryFunctions/exp/i16expa.c
new file mode 100644
index 00000000..cd66c85c
--- /dev/null
+++ b/src/c/elementaryFunctions/exp/i16expa.c
@@ -0,0 +1,20 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "exp.h"
+
+void i16expa(int16* x, int size, float* y) {
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ y[i] = i16exps(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/exp/i16exps.c b/src/c/elementaryFunctions/exp/i16exps.c
new file mode 100644
index 00000000..12e85ee4
--- /dev/null
+++ b/src/c/elementaryFunctions/exp/i16exps.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "exp.h"
+
+float i16exps(int16 x) {
+ return (expf(x));
+}
diff --git a/src/c/elementaryFunctions/exp/i8expa.c b/src/c/elementaryFunctions/exp/i8expa.c
new file mode 100644
index 00000000..e45becbd
--- /dev/null
+++ b/src/c/elementaryFunctions/exp/i8expa.c
@@ -0,0 +1,20 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "exp.h"
+
+void i8expa(int8* x, int size, float* y) {
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ y[i] = i8exps(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/exp/i8exps.c b/src/c/elementaryFunctions/exp/i8exps.c
new file mode 100644
index 00000000..8d33d203
--- /dev/null
+++ b/src/c/elementaryFunctions/exp/i8exps.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "exp.h"
+
+float i8exps(int8 x) {
+ return (expf(x));
+}
diff --git a/src/c/elementaryFunctions/exp/u16expa.c b/src/c/elementaryFunctions/exp/u16expa.c
new file mode 100644
index 00000000..1655dfe9
--- /dev/null
+++ b/src/c/elementaryFunctions/exp/u16expa.c
@@ -0,0 +1,20 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "exp.h"
+
+void u16expa(uint16* x, int size, float* y) {
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ y[i] = u16exps(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/exp/u16exps.c b/src/c/elementaryFunctions/exp/u16exps.c
new file mode 100644
index 00000000..d36cf1ef
--- /dev/null
+++ b/src/c/elementaryFunctions/exp/u16exps.c
@@ -0,0 +1,19 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include <math.h>
+#include "exp.h"
+
+float u16exps(uint16 x) {
+ return (expf(x));
+}
diff --git a/src/c/elementaryFunctions/exp/u8expa.c b/src/c/elementaryFunctions/exp/u8expa.c
new file mode 100644
index 00000000..828fb3da
--- /dev/null
+++ b/src/c/elementaryFunctions/exp/u8expa.c
@@ -0,0 +1,20 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "exp.h"
+
+void u8expa(uint8* x, int size, float* y) {
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ y[i] = u8exps(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/exp/u8exps.c b/src/c/elementaryFunctions/exp/u8exps.c
new file mode 100644
index 00000000..cae731a2
--- /dev/null
+++ b/src/c/elementaryFunctions/exp/u8exps.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "exp.h"
+
+float u8exps(uint8 x) {
+ return (expf(x));
+}
diff --git a/src/c/elementaryFunctions/fix/i16fixa.c b/src/c/elementaryFunctions/fix/i16fixa.c
new file mode 100644
index 00000000..07cd75b0
--- /dev/null
+++ b/src/c/elementaryFunctions/fix/i16fixa.c
@@ -0,0 +1,21 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "fix.h"
+#include "floor.h"
+#include "ceil.h"
+
+void i16fixa(int16* x, int size, int16* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = i16fixs(x[i]);
+}
diff --git a/src/c/elementaryFunctions/fix/i16fixs.c b/src/c/elementaryFunctions/fix/i16fixs.c
new file mode 100644
index 00000000..f133d8a3
--- /dev/null
+++ b/src/c/elementaryFunctions/fix/i16fixs.c
@@ -0,0 +1,19 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "fix.h"
+
+int16 i16fixs(int16 x) {
+ if (x>=0) return i16floors(x);
+ else return i16ceils(x);
+}
diff --git a/src/c/elementaryFunctions/fix/i8fixa.c b/src/c/elementaryFunctions/fix/i8fixa.c
new file mode 100644
index 00000000..bb20f2d3
--- /dev/null
+++ b/src/c/elementaryFunctions/fix/i8fixa.c
@@ -0,0 +1,19 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "fix.h"
+
+void i8fixa(int8* x, int size, int8* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = i8fixs(x[i]);
+}
diff --git a/src/c/elementaryFunctions/fix/i8fixs.c b/src/c/elementaryFunctions/fix/i8fixs.c
new file mode 100644
index 00000000..adeb3dd0
--- /dev/null
+++ b/src/c/elementaryFunctions/fix/i8fixs.c
@@ -0,0 +1,21 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "fix.h"
+#include "floor.h"
+#include "ceil.h"
+
+int8 i8fixs(int8 x) {
+ if (x>=0) return i8floors(x);
+ else return i8ceils(x);
+}
diff --git a/src/c/elementaryFunctions/fix/u16fixa.c b/src/c/elementaryFunctions/fix/u16fixa.c
new file mode 100644
index 00000000..acddf8df
--- /dev/null
+++ b/src/c/elementaryFunctions/fix/u16fixa.c
@@ -0,0 +1,19 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "fix.h"
+
+void u16fixa(uint16* x, int size, uint16* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = u16fixs(x[i]);
+}
diff --git a/src/c/elementaryFunctions/fix/u16fixs.c b/src/c/elementaryFunctions/fix/u16fixs.c
new file mode 100644
index 00000000..1ff7a8a5
--- /dev/null
+++ b/src/c/elementaryFunctions/fix/u16fixs.c
@@ -0,0 +1,21 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "fix.h"
+#include "floor.h"
+#include "ceil.h"
+
+uint16 u16fixs(uint16 x) {
+ if (x>=0) return u16floors(x);
+ else return u16ceils(x);
+}
diff --git a/src/c/elementaryFunctions/fix/u8fixa.c b/src/c/elementaryFunctions/fix/u8fixa.c
new file mode 100644
index 00000000..c86545b9
--- /dev/null
+++ b/src/c/elementaryFunctions/fix/u8fixa.c
@@ -0,0 +1,19 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "fix.h"
+
+void u8fixa(uint8* x, int size, uint8* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = u8fixs(x[i]);
+}
diff --git a/src/c/elementaryFunctions/fix/u8fixs.c b/src/c/elementaryFunctions/fix/u8fixs.c
new file mode 100644
index 00000000..c7740045
--- /dev/null
+++ b/src/c/elementaryFunctions/fix/u8fixs.c
@@ -0,0 +1,21 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "fix.h"
+#include "floor.h"
+#include "ceil.h"
+
+uint8 u8fixs(uint8 x) {
+ if (x>=0) return u8floors(x);
+ else return u8ceils(x);
+}
diff --git a/src/c/elementaryFunctions/float/dfloata.c b/src/c/elementaryFunctions/float/dfloata.c
new file mode 100644
index 00000000..9705bd1a
--- /dev/null
+++ b/src/c/elementaryFunctions/float/dfloata.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include "get_float.h"
+
+void dfloata(double* x, int size, float* out) {
+ int i = 0;
+ for (i=0;i<size;i++)
+ out[i] = dfloats(x[i]);
+}
diff --git a/src/c/elementaryFunctions/float/dfloats.c b/src/c/elementaryFunctions/float/dfloats.c
new file mode 100644
index 00000000..ece554a8
--- /dev/null
+++ b/src/c/elementaryFunctions/float/dfloats.c
@@ -0,0 +1,16 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include "get_float.h"
+
+float dfloats(double x) {
+ return (float) x;
+}
diff --git a/src/c/elementaryFunctions/float/i16floata.c b/src/c/elementaryFunctions/float/i16floata.c
new file mode 100644
index 00000000..c8113af9
--- /dev/null
+++ b/src/c/elementaryFunctions/float/i16floata.c
@@ -0,0 +1,17 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include "get_float.h"
+
+void i16floata(int16* x, int size, float* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = i16floats(x[i]);
+}
diff --git a/src/c/elementaryFunctions/float/i16floats.c b/src/c/elementaryFunctions/float/i16floats.c
new file mode 100644
index 00000000..9f3ee063
--- /dev/null
+++ b/src/c/elementaryFunctions/float/i16floats.c
@@ -0,0 +1,16 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include "get_float.h"
+
+float i16floats(int16 x) {
+ return (float) x;
+}
diff --git a/src/c/elementaryFunctions/float/i8floata.c b/src/c/elementaryFunctions/float/i8floata.c
new file mode 100644
index 00000000..52f9a6a6
--- /dev/null
+++ b/src/c/elementaryFunctions/float/i8floata.c
@@ -0,0 +1,17 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include "get_float.h"
+
+void i8floata(int8* x, int size, float* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = i8floats(x[i]);
+}
diff --git a/src/c/elementaryFunctions/float/i8floats.c b/src/c/elementaryFunctions/float/i8floats.c
new file mode 100644
index 00000000..88127b3f
--- /dev/null
+++ b/src/c/elementaryFunctions/float/i8floats.c
@@ -0,0 +1,16 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include "get_float.h"
+
+float i8floats(int8 x) {
+ return (float) x;
+}
diff --git a/src/c/elementaryFunctions/float/sfloata.c b/src/c/elementaryFunctions/float/sfloata.c
new file mode 100644
index 00000000..34337068
--- /dev/null
+++ b/src/c/elementaryFunctions/float/sfloata.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include "get_float.h"
+
+void sfloata(float* x, int size, float* out) {
+ int i = 0;
+ for (i=0;i<size;i++)
+ out[i] = sfloats(x[i]);
+}
diff --git a/src/c/elementaryFunctions/float/sfloats.c b/src/c/elementaryFunctions/float/sfloats.c
new file mode 100644
index 00000000..3351fb03
--- /dev/null
+++ b/src/c/elementaryFunctions/float/sfloats.c
@@ -0,0 +1,16 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include "get_float.h"
+
+float sfloats(float x) {
+ return (float) x;
+}
diff --git a/src/c/elementaryFunctions/float/u16floata.c b/src/c/elementaryFunctions/float/u16floata.c
new file mode 100644
index 00000000..febe5e08
--- /dev/null
+++ b/src/c/elementaryFunctions/float/u16floata.c
@@ -0,0 +1,17 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include "get_float.h"
+
+void u16floata(uint16* x, int size, float* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = u16floats(x[i]);
+}
diff --git a/src/c/elementaryFunctions/float/u16floats.c b/src/c/elementaryFunctions/float/u16floats.c
new file mode 100644
index 00000000..47e19aed
--- /dev/null
+++ b/src/c/elementaryFunctions/float/u16floats.c
@@ -0,0 +1,16 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include "get_float.h"
+
+float u16floats(uint16 x) {
+ return (float) x;
+}
diff --git a/src/c/elementaryFunctions/float/u8floata.c b/src/c/elementaryFunctions/float/u8floata.c
new file mode 100644
index 00000000..a4a1fec3
--- /dev/null
+++ b/src/c/elementaryFunctions/float/u8floata.c
@@ -0,0 +1,17 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include "get_float.h"
+
+void u8floata(uint8* x, int size, float* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = u8floats(x[i]);
+}
diff --git a/src/c/elementaryFunctions/float/u8floats.c b/src/c/elementaryFunctions/float/u8floats.c
new file mode 100644
index 00000000..8b7dd8df
--- /dev/null
+++ b/src/c/elementaryFunctions/float/u8floats.c
@@ -0,0 +1,16 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include "get_float.h"
+
+float u8floats(uint8 x) {
+ return (float) x;
+}
diff --git a/src/c/elementaryFunctions/floor/i16floora.c b/src/c/elementaryFunctions/floor/i16floora.c
new file mode 100644
index 00000000..7b7a211b
--- /dev/null
+++ b/src/c/elementaryFunctions/floor/i16floora.c
@@ -0,0 +1,19 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "floor.h"
+
+void i16floora(int16* x, int size, int16* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = i16floors(x[i]);
+}
diff --git a/src/c/elementaryFunctions/floor/i16floors.c b/src/c/elementaryFunctions/floor/i16floors.c
new file mode 100644
index 00000000..cc35cf9a
--- /dev/null
+++ b/src/c/elementaryFunctions/floor/i16floors.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "floor.h"
+
+int16 i16floors(int16 x) {
+ return (int16)(floorf(x));
+}
diff --git a/src/c/elementaryFunctions/floor/i8floora.c b/src/c/elementaryFunctions/floor/i8floora.c
new file mode 100644
index 00000000..5579321a
--- /dev/null
+++ b/src/c/elementaryFunctions/floor/i8floora.c
@@ -0,0 +1,19 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "floor.h"
+
+void i8floora(int8* x, int size, int8* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = i8floors(x[i]);
+}
diff --git a/src/c/elementaryFunctions/floor/i8floors.c b/src/c/elementaryFunctions/floor/i8floors.c
new file mode 100644
index 00000000..30967cdc
--- /dev/null
+++ b/src/c/elementaryFunctions/floor/i8floors.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "floor.h"
+
+int8 i8floors(int8 x) {
+ return (int8)(floorf(x));
+}
diff --git a/src/c/elementaryFunctions/floor/u16floora.c b/src/c/elementaryFunctions/floor/u16floora.c
new file mode 100644
index 00000000..abff8077
--- /dev/null
+++ b/src/c/elementaryFunctions/floor/u16floora.c
@@ -0,0 +1,19 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "floor.h"
+
+void u16floora(uint16* x, int size, uint16* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = u16floors(x[i]);
+}
diff --git a/src/c/elementaryFunctions/floor/u16floors.c b/src/c/elementaryFunctions/floor/u16floors.c
new file mode 100644
index 00000000..a1fca9b5
--- /dev/null
+++ b/src/c/elementaryFunctions/floor/u16floors.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "floor.h"
+
+uint16 u16floors(uint16 x) {
+ return (uint16)(floorf(x));
+}
diff --git a/src/c/elementaryFunctions/floor/u8floora.c b/src/c/elementaryFunctions/floor/u8floora.c
new file mode 100644
index 00000000..04a980e9
--- /dev/null
+++ b/src/c/elementaryFunctions/floor/u8floora.c
@@ -0,0 +1,19 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "floor.h"
+
+void u8floora(uint8* x, int size, uint8* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = u8floors(x[i]);
+}
diff --git a/src/c/elementaryFunctions/floor/u8floors.c b/src/c/elementaryFunctions/floor/u8floors.c
new file mode 100644
index 00000000..87a4e1fd
--- /dev/null
+++ b/src/c/elementaryFunctions/floor/u8floors.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "floor.h"
+
+uint8 u8floors(uint8 x) {
+ return (uint8)(floorf(x));
+}
diff --git a/src/c/elementaryFunctions/includes/acosd.h b/src/c/elementaryFunctions/includes/acosd.h
new file mode 100644
index 00000000..96dae80a
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/acosd.h
@@ -0,0 +1,33 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+
+#ifndef __ACOSD_H__
+#define __ACOSD_H__
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+double dacosds(double x);
+
+void dacosda(double* x, int size, double* y);
+
+double sacosds(float x);
+
+void sacosda(float* x, int size, float* y);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__ACOSD_H__ */
+
diff --git a/src/c/elementaryFunctions/includes/acot.h b/src/c/elementaryFunctions/includes/acot.h
new file mode 100644
index 00000000..430be12d
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/acot.h
@@ -0,0 +1,43 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+
+#ifndef __ACOT_H__
+#define __ACOT_H__
+#include "types.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+double dacots(double x);
+
+void dacota(double* x, int size, double* y);
+
+float sacots(float x);
+
+void sacota(float* x, int size, float* y);
+
+floatComplex cacots(floatComplex x);
+
+void cacota(floatComplex* x, int size, floatComplex* y);
+
+doubleComplex zacots(doubleComplex x);
+
+void zacota(doubleComplex* x, int size, doubleComplex* y);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__ACOT_H__ */
+
diff --git a/src/c/elementaryFunctions/includes/acotd.h b/src/c/elementaryFunctions/includes/acotd.h
new file mode 100644
index 00000000..3be05ccf
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/acotd.h
@@ -0,0 +1,37 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+
+#ifndef __ACOTD_H__
+#define __ACOTD_H__
+#include "types.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+double dacotds(double x);
+
+void dacotda(double* x, int size, double* y);
+
+float sacotds(float x);
+
+void sacotda(float* x, int size, float* y);
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__ACOTD_H__ */
+
diff --git a/src/c/elementaryFunctions/includes/acoth.h b/src/c/elementaryFunctions/includes/acoth.h
new file mode 100644
index 00000000..975182fe
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/acoth.h
@@ -0,0 +1,44 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+
+#ifndef __ACOTH_H__
+#define __ACOTH_H__
+#include "types.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+double dacoths(double x);
+
+void dacotha(double* x, int size, double* y);
+
+float sacoths(float x);
+
+void sacotha(float* x, int size, float* y);
+
+floatComplex cacoths(floatComplex x);
+
+void cacotha(floatComplex* x, int size, floatComplex* y);
+
+doubleComplex zacoths(doubleComplex x);
+
+void zacotha(doubleComplex* x, int size, doubleComplex* y);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__ACOTH_H__ */
+
diff --git a/src/c/elementaryFunctions/includes/acsc.h b/src/c/elementaryFunctions/includes/acsc.h
new file mode 100644
index 00000000..be6455a4
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/acsc.h
@@ -0,0 +1,44 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+#ifndef __ACSC_H__
+#define __ACSC_H__
+#include "types.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+double dacscs(double x);
+
+void dacsca(double* x, int size, double* y);
+
+float sacscs(float x);
+
+void sacsca(float* x, int size, float* y);
+
+floatComplex cacscs(floatComplex x);
+
+void cacsca(floatComplex* x, int size, floatComplex* y);
+
+doubleComplex zacscs(doubleComplex x);
+
+void zacsca(doubleComplex* x, int size, doubleComplex* y);
+
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__ACSC_H__ */
+
diff --git a/src/c/elementaryFunctions/includes/acscd.h b/src/c/elementaryFunctions/includes/acscd.h
new file mode 100644
index 00000000..3c5bb18d
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/acscd.h
@@ -0,0 +1,34 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+#ifndef __ACSCD_H__
+#define __ACSCD_H__
+#include "types.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+double dacscds(double x);
+
+void dacscda(double* x, int size, double* y);
+
+float sacscds(float x);
+
+void sacscda(float* x, int size, float* y);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__ACSCD_H__ */
+
diff --git a/src/c/elementaryFunctions/includes/acsch.h b/src/c/elementaryFunctions/includes/acsch.h
new file mode 100644
index 00000000..ba2b1e1d
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/acsch.h
@@ -0,0 +1,32 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+#ifndef __ACSCH_H__
+#define __ACSCH_H__
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+double dacschs(double x);
+
+void dacscha(double* x, int size, double* y);
+
+double sacschs(float x);
+
+void sacscha(float* x, int size, float* y);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__ACSCH_H__ */
+
diff --git a/src/c/elementaryFunctions/includes/asec.h b/src/c/elementaryFunctions/includes/asec.h
new file mode 100644
index 00000000..8d1a65d1
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/asec.h
@@ -0,0 +1,34 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+
+#ifndef __ASEC_H__
+#define __ASEC_H__
+#include "types.h"
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+double dasecs(double x);
+
+void daseca(double* x, int size, double* y);
+
+double sasecs(float x);
+
+void saseca(float* x, int size, float* y);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__ASEC_H__ */
+
diff --git a/src/c/elementaryFunctions/includes/asecd.h b/src/c/elementaryFunctions/includes/asecd.h
new file mode 100644
index 00000000..104677bd
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/asecd.h
@@ -0,0 +1,34 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+
+#ifndef __ASECD_H__
+#define __ASECD_H__
+#include "types.h"
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+double dasecds(double x);
+
+void dasecda(double* x, int size, double* y);
+
+double sasecds(float x);
+
+void sasecda(float* x, int size, float* y);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__ASECD_H__ */
+
diff --git a/src/c/elementaryFunctions/includes/asech.h b/src/c/elementaryFunctions/includes/asech.h
new file mode 100644
index 00000000..5e6c5e9c
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/asech.h
@@ -0,0 +1,34 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+
+#ifndef __ASECH_H__
+#define __ASECH_H__
+#include "types.h"
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+double dasechs(double x);
+
+void dasecha(double* x, int size, double* y);
+
+double sasechs(float x);
+
+void sasecha(float* x, int size, float* y);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__ASECH_H__ */
+
diff --git a/src/c/elementaryFunctions/includes/asind.h b/src/c/elementaryFunctions/includes/asind.h
new file mode 100644
index 00000000..8f7d7102
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/asind.h
@@ -0,0 +1,34 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+
+#ifndef __ASIND_H__
+#define __ASIND_H__
+#include "types.h"
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+double dasinds(double x);
+
+void dasinda(double* x, int size, double* y);
+
+double sasinds(float x);
+
+void sasinda(float* x, int size, float* y);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__ASIND_H__ */
+
diff --git a/src/c/elementaryFunctions/includes/atand.h b/src/c/elementaryFunctions/includes/atand.h
new file mode 100644
index 00000000..ed10f09f
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/atand.h
@@ -0,0 +1,34 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+
+#ifndef __ATAND_H__
+#define __ATAND_H__
+#include "types.h"
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+double datands(double x);
+
+void datanda(double* x, int size, double* y);
+
+double satands(float x);
+
+void satanda(float* x, int size, float* y);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__ATAND_H__ */
+
diff --git a/src/c/elementaryFunctions/includes/base2dec.h b/src/c/elementaryFunctions/includes/base2dec.h
new file mode 100644
index 00000000..426388ef
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/base2dec.h
@@ -0,0 +1,28 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __BASE2DEC_H__
+#define __BASE2DEC_H__
+
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+double gbase2decs(char* in,int size,int base);
+double dbase2decs(double in,int base);
+//void ghex2deca(char* in,int size,double* out);
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__BASE2DEC_H__*/
diff --git a/src/c/elementaryFunctions/includes/bin2dec.h b/src/c/elementaryFunctions/includes/bin2dec.h
new file mode 100644
index 00000000..ea1585f5
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/bin2dec.h
@@ -0,0 +1,37 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __BIN2DEC_H__
+#define __BIN2DEC_H__
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+long double dbin2decs(long double in);
+int8 i8bin2decs(int8 in);
+int16 i16bin2decs(int16 in);
+uint8 u8bin2decs(uint8 in);
+uint16 u16bin2decs(uint16 in);
+
+void dbin2deca(double* in,int size,double* out);
+void i8bin2deca(int8* in,int size,int8* out);
+void i16bin2deca(int16* in,int size,int16* out);
+void u8bin2deca(uint8* in,int size,uint8* out);
+void u16bin2deca(uint16* in,int size,uint16* out);
+
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__BIN2DEC_H__*/
diff --git a/src/c/elementaryFunctions/includes/bitand.h b/src/c/elementaryFunctions/includes/bitand.h
new file mode 100644
index 00000000..ee132625
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/bitand.h
@@ -0,0 +1,48 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __BITAND_H__
+#define __BITAND_H__
+
+
+
+#include "dynlib_elementaryfunctions.h"
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+/* bitand returns the logical AND operation
+ 12 = 00001100 (In Binary)
+ 25 = 00011001 (In Binary)
+
+Bit Operation of 12 and 25
+ 00001100
+& 00011001
+ ________
+ 00001000 = 8 (In decimal)
+*/
+
+uint8 u8bitands(uint8 in1,uint8 in2);
+
+void u8bitanda(uint8* in1,uint8* in2,int size,uint8* out);
+
+uint16 u16bitands(uint16 in1,uint16 in2);
+
+void u16bitanda(uint16* in1,uint16* in2,int size,uint16* out);
+
+
+#ifdef __cplusplus
+} /*extern "C" */
+#endif
+
+#endif /* !__BITAND_H__ */
diff --git a/src/c/elementaryFunctions/includes/bitcmp.h b/src/c/elementaryFunctions/includes/bitcmp.h
new file mode 100644
index 00000000..ead0b827
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/bitcmp.h
@@ -0,0 +1,48 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __BITCMP_H__
+#define __BITCMP_H__
+
+
+
+#include "dynlib_elementaryfunctions.h"
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+/* bitcmp returns the complement
+35=00100011 (In Binary)
+
+Bitwise complement Operation of 35
+~ 00100011
+ ________
+ 11011100 = 220 (In decimal)
+*/
+
+EXTERN_ELEMFUNCT uint8 u8bitcmps(uint8 in1,uint8 in2);
+
+EXTERN_ELEMFUNCT void u8bitcmpa(uint8* in1,uint8 in2,int size,uint8* out);
+
+EXTERN_ELEMFUNCT uint16 u16bitcmps(uint16 in1,uint16 in2);
+
+EXTERN_ELEMFUNCT void u16bitcmpa(uint16* in1,uint16 in2,int size,uint16* out);
+
+
+
+#ifdef __cplusplus
+
+} /*extern "C" */
+#endif
+
+#endif /* !__BITCMP_H__ */
diff --git a/src/c/elementaryFunctions/includes/bitget.h b/src/c/elementaryFunctions/includes/bitget.h
new file mode 100644
index 00000000..9e12abdc
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/bitget.h
@@ -0,0 +1,35 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __BITGET_H__
+#define __BITGET_H__
+
+
+
+#include "dynlib_elementaryfunctions.h"
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+EXTERN_ELEMFUNCT uint8 u8bitgets(uint8 value,int position);
+
+EXTERN_ELEMFUNCT uint16 u16bitgets(uint16 value,int position);
+
+#ifdef __cplusplus
+
+} /*extern "C" */
+#endif
+
+#endif /* !__BITGET_H__ */
diff --git a/src/c/elementaryFunctions/includes/bitor.h b/src/c/elementaryFunctions/includes/bitor.h
new file mode 100644
index 00000000..3f2ae085
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/bitor.h
@@ -0,0 +1,48 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __BITOR_H__
+#define __BITOR_H__
+
+
+
+#include "dynlib_elementaryfunctions.h"
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+/* bitor returns the logical OR operation
+ 12 = 00001100 (In Binary)
+25 = 00011001 (In Binary)
+
+Bitwise OR Operation of 12 and 25
+ 00001100
+| 00011001
+ ________
+ 00011101 = 29 (In decimal) */
+
+EXTERN_ELEMFUNCT uint8 u8bitors(uint8 in1,uint8 in2);
+
+EXTERN_ELEMFUNCT void u8bitora(uint8* in1,uint8* in2,int size,uint8* out);
+
+EXTERN_ELEMFUNCT uint16 u16bitors(uint16 in1,uint16 in2);
+
+EXTERN_ELEMFUNCT void u16bitora(uint16* in1,uint16* in2,int size,uint16* out);
+
+
+#ifdef __cplusplus
+
+} /*extern "C" */
+#endif
+
+#endif /* !__BITOR_H__ */
diff --git a/src/c/elementaryFunctions/includes/bitset.h b/src/c/elementaryFunctions/includes/bitset.h
new file mode 100644
index 00000000..5d519de9
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/bitset.h
@@ -0,0 +1,35 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __BITSET_H__
+#define __BITSET_H__
+
+
+
+#include "dynlib_elementaryfunctions.h"
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+EXTERN_ELEMFUNCT uint8 u8bitsets(uint8 value,int position,int bit_value);
+
+EXTERN_ELEMFUNCT uint16 u16bitsets(uint16 value,int position,int bit_value);
+
+#ifdef __cplusplus
+
+} /*extern "C" */
+#endif
+
+#endif /* !__BITSET_H__ */
diff --git a/src/c/elementaryFunctions/includes/bitxor.h b/src/c/elementaryFunctions/includes/bitxor.h
new file mode 100644
index 00000000..5d429571
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/bitxor.h
@@ -0,0 +1,48 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __BITXOR_H__
+#define __BITXOR_H__
+
+
+
+#include "dynlib_elementaryfunctions.h"
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+/* bitxor returns the logical OR operation
+ 12 = 00001100 (In Binary)
+25 = 00011001 (In Binary)
+
+Bitwise XOR Operation of 12 and 25
+ 00001100
+^ 00011001
+ ________
+ 00010101 = 21 (In decimal) */
+
+EXTERN_ELEMFUNCT uint8 u8bitxors(uint8 in1,uint8 in2);
+
+EXTERN_ELEMFUNCT void u8bitxora(uint8* in1,uint8* in2,int size,uint8* out);
+
+EXTERN_ELEMFUNCT uint16 u16bitxors(uint16 in1,uint16 in2);
+
+EXTERN_ELEMFUNCT void u16bitxora(uint16* in1,uint16* in2,int size,uint16* out);
+
+
+#ifdef __cplusplus
+
+} /*extern "C" */
+#endif
+
+#endif /* !__BITXOR_H__ */
diff --git a/src/c/elementaryFunctions/includes/ceil.h b/src/c/elementaryFunctions/includes/ceil.h
index 960b8b3b..57df72d5 100644
--- a/src/c/elementaryFunctions/includes/ceil.h
+++ b/src/c/elementaryFunctions/includes/ceil.h
@@ -16,6 +16,7 @@
#include "dynlib_elementaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
+#include "types.h"
#ifdef __cplusplus
@@ -33,6 +34,14 @@ EXTERN_ELEMFUNCT floatComplex cceils(floatComplex in);
EXTERN_ELEMFUNCT doubleComplex zceils(doubleComplex in);
+EXTERN_ELEMFUNCT uint8 u8ceils(uint8 in);
+
+EXTERN_ELEMFUNCT int8 i8ceils(int8 in);
+
+EXTERN_ELEMFUNCT uint16 u16ceils(uint16 in);
+
+EXTERN_ELEMFUNCT int16 i16ceils(int16 in);
+
EXTERN_ELEMFUNCT void sceila(float* in, int size, float* out);
EXTERN_ELEMFUNCT void dceila(double* in, int size, double* out);
@@ -41,6 +50,14 @@ EXTERN_ELEMFUNCT void cceila(floatComplex* in, int size, floatComplex* out);
EXTERN_ELEMFUNCT void zceila(doubleComplex* in, int size, doubleComplex* out);
+EXTERN_ELEMFUNCT void u8ceila(uint8* in, int size, uint8* out);
+
+EXTERN_ELEMFUNCT void i8ceila(int8* in, int size, int8* out);
+
+EXTERN_ELEMFUNCT void u16ceila(uint16* in, int size, uint16* out);
+
+EXTERN_ELEMFUNCT void i16ceila(int16* in, int size, int16* out);
+
#ifdef __cplusplus
} /* extern "C" */
#endif
diff --git a/src/c/elementaryFunctions/includes/cos.h b/src/c/elementaryFunctions/includes/cos.h
index 5d573b1e..25c76945 100644
--- a/src/c/elementaryFunctions/includes/cos.h
+++ b/src/c/elementaryFunctions/includes/cos.h
@@ -16,6 +16,7 @@
#include "dynlib_elementaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
+#include "types.h"
#ifdef __cplusplus
extern "C" {
@@ -49,6 +50,30 @@ EXTERN_ELEMFUNCT floatComplex ccoss(floatComplex in);
EXTERN_ELEMFUNCT doubleComplex zcoss(doubleComplex in);
/*
+** \brief Uint8 Cosine function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float u8coss(uint8 in);
+
+/*
+** \brief Int8 Cosine function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float i8coss(int8 in);
+
+/*
+** \brief Uint16 Cosine function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float u16coss(uint16 in);
+
+/*
+** \brief Int8 Cosine function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float i16coss(int16 in);
+
+/*
** \brief Float Matrix Cosine function
** \param in : input array value.
** \param out : output array value.
@@ -80,6 +105,38 @@ EXTERN_ELEMFUNCT void ccosa(floatComplex* in, int size, floatComplex* out);
*/
EXTERN_ELEMFUNCT void zcosa(doubleComplex* in, int size, doubleComplex* out);
+/*
+** \brief uint8 Matrix Cosine function
+** \param in : input array value.
+** \param out : output array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void u8cosa(uint8* in, int size, float* out);
+
+/*
+** \brief int8 Matrix Cosine function
+** \param in : input array value.
+** \param out : output array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void i8cosa(int8* in, int size, float* out);
+
+/*
+** \brief uint16 Matrix Cosine function
+** \param in : input array value.
+** \param out : output array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void u16cosa(uint16* in, int size, float* out);
+
+/*
+** \brief int16 Matrix Cosine function
+** \param in : input array value.
+** \param out : output array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void i16cosa(int16* in, int size, float* out);
+
#ifdef __cplusplus
} /* extern "C" */
#endif
diff --git a/src/c/elementaryFunctions/includes/cosd.h b/src/c/elementaryFunctions/includes/cosd.h
new file mode 100644
index 00000000..7cb59be1
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/cosd.h
@@ -0,0 +1,28 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __COSD_H__
+#define __COSD_H__
+#include "types.h"
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+void dcosda(double* in,int size,double* out);
+void scosda(float* in,int size,float* out);
+double dcosds(double in);
+float scosds(float in);
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__COSD_H__*/
diff --git a/src/c/elementaryFunctions/includes/cosh.h b/src/c/elementaryFunctions/includes/cosh.h
index 0cbf8eb4..5c7c8b71 100644
--- a/src/c/elementaryFunctions/includes/cosh.h
+++ b/src/c/elementaryFunctions/includes/cosh.h
@@ -16,6 +16,7 @@
#include "dynlib_elementaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
+#include "types.h"
#ifdef __cplusplus
@@ -50,6 +51,30 @@ EXTERN_ELEMFUNCT floatComplex ccoshs(floatComplex in);
EXTERN_ELEMFUNCT doubleComplex zcoshs(doubleComplex in);
/*
+** \brief uint8 Cosine function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float u8coshs(uint8 in);
+
+/*
+** \brief int8 Cosine function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float i8coshs(int8 in);
+
+/*
+** \brief uint16 Cosine function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float u16coshs(uint16 in);
+
+/*
+** \brief int16 Cosine function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float i16coshs(int16 in);
+
+/*
** \brief Float Matrix Cosine function
** \param in : input array value.
** \param out : output array value.
@@ -81,6 +106,39 @@ EXTERN_ELEMFUNCT void ccosha(floatComplex* in, int size, floatComplex* out);
*/
EXTERN_ELEMFUNCT void zcosha(doubleComplex* in, int size, doubleComplex* out);
+/*
+** \brief Uint8 Matrix Cosine function
+** \param in : input array value.
+** \param out : output array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void u8cosha(uint8* in, int size, uint8* out);
+
+/*
+** \brief Int8 Matrix Cosine function
+** \param in : input array value.
+** \param out : output array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void i8cosha(int8* in, int size, int8* out);
+
+/*
+** \brief Uint16 Matrix Cosine function
+** \param in : input array value.
+** \param out : output array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void u16cosha(uint16* in, int size, uint16* out);
+
+/*
+** \brief Int16 Matrix Cosine function
+** \param in : input array value.
+** \param out : output array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void i16cosha(int16* in, int size, int16* out);
+
+
#ifdef __cplusplus
} /* extern "C" */
#endif
diff --git a/src/c/elementaryFunctions/includes/cotd.h b/src/c/elementaryFunctions/includes/cotd.h
new file mode 100644
index 00000000..d2140cb0
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/cotd.h
@@ -0,0 +1,29 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __COTD_H__
+#define __COTD_H__
+
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+void dcotda(double* in,int size,double* out);
+double dcotds(double in);
+void scotda(float* in,int size,float* out);
+float scotds(float in);
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__COTD_H__*/
diff --git a/src/c/elementaryFunctions/includes/coth.h b/src/c/elementaryFunctions/includes/coth.h
new file mode 100644
index 00000000..ac3f82c7
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/coth.h
@@ -0,0 +1,37 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __COTH_H__
+#define __COTH_H__
+#include "dynlib_elementaryfunctions.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+#include "types.h"
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+void dcotha(double* in,int size,double* out);
+double dcoths(double in);
+void scotha(float* in,int size,float* out);
+float scoths(float in);
+doubleComplex zcoths(doubleComplex z);
+void zcotha(doubleComplex* in, int size,doubleComplex* out);
+void ccotha(floatComplex* in, int size,floatComplex* out);
+floatComplex ccoths(floatComplex z);
+
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__COTH_H__*/
diff --git a/src/c/elementaryFunctions/includes/csc.h b/src/c/elementaryFunctions/includes/csc.h
new file mode 100644
index 00000000..6914c933
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/csc.h
@@ -0,0 +1,36 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __CSC_H__
+#define __CSC_H__
+#include "dynlib_elementaryfunctions.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+#include "types.h"
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+void dcsca(double* in,int size,double* out);
+double dcscs(double in);
+void scsca(float* in,int size,float* out);
+float scscs(float in);
+doubleComplex zcscs(doubleComplex z);
+void zcsca(doubleComplex* in, int size,doubleComplex* out);
+floatComplex ccscs(floatComplex z);
+void ccsca(floatComplex* in, int size,floatComplex* out);
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__CSC_H__*/
diff --git a/src/c/elementaryFunctions/includes/cscd.h b/src/c/elementaryFunctions/includes/cscd.h
new file mode 100644
index 00000000..fad31551
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/cscd.h
@@ -0,0 +1,37 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __CSCD_H__
+#define __CSCD_H__
+#include "dynlib_elementaryfunctions.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+#include "types.h"
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+void dcscda(double* in,int size,double* out);
+double dcscds(double in);
+void scscda(float* in,int size,float* out);
+float scscds(float in);
+
+void ccscda(floatComplex* in,int size,floatComplex* out);
+floatComplex ccscds(floatComplex in);
+void zcscda(doubleComplex* in,int size,doubleComplex* out);
+doubleComplex zcscds(doubleComplex in);
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__CSCD_H__*/
diff --git a/src/c/elementaryFunctions/includes/csch.h b/src/c/elementaryFunctions/includes/csch.h
new file mode 100644
index 00000000..fd7b8cd1
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/csch.h
@@ -0,0 +1,38 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __CSCH_H__
+#define __CSCH_H__
+#include "dynlib_elementaryfunctions.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+#include "types.h"
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+void dcscha(double* in,int size,double* out);
+double dcschs(double in);
+void scscha(float* in,int size,float* out);
+float scschs(float in);
+
+void ccscha(floatComplex* in,int size,floatComplex* out);
+floatComplex ccschs(floatComplex in);
+void zcscha(doubleComplex* in,int size,doubleComplex* out);
+doubleComplex zcschs(doubleComplex in);
+
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__CSCH_H__*/
diff --git a/src/c/elementaryFunctions/includes/dec2base.h b/src/c/elementaryFunctions/includes/dec2base.h
new file mode 100644
index 00000000..aa830072
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/dec2base.h
@@ -0,0 +1,29 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __DEC2BASE_H__
+#define __DEC2BASE_H__
+#include "types.h"
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+void ddec2bases(double in,int base,int n,char* out);
+void ddec2basea(double* in,int size,int base,int n,char* out);
+void sdec2bases(float in,int base,int n,char* out);
+void sdec2basea(float* in,int size,int base,int n,char* out);
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__DEC2BASE_H__*/
diff --git a/src/c/elementaryFunctions/includes/dec2bin.h b/src/c/elementaryFunctions/includes/dec2bin.h
new file mode 100644
index 00000000..d0917bba
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/dec2bin.h
@@ -0,0 +1,36 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __DEC2BIN_H__
+#define __DEC2BIN_H__
+#include "types.h"
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+void ddec2bins(double in,int n,double* out);
+void i8dec2bins(int8 in,int n,int8* out);
+void i16dec2bins(int16 in,int n,int16* out);
+void u8dec2bins(uint8 in,int n,uint8* out);
+void u16dec2bins(uint16 in,int n,uint16* out);
+
+void ddec2bina(double* in,int size,int n,double* out);
+void i8dec2bina(int8* in,int size,int n,int8* out);
+void i16dec2bina(int16* in,int size,int n,int16* out);
+void u8dec2bina(uint8* in,int size,int n,uint8* out);
+void u16dec2bina(uint16* in,int size,int n,uint16* out);
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__DEC2BIN_H__*/
diff --git a/src/c/elementaryFunctions/includes/dec2hex.h b/src/c/elementaryFunctions/includes/dec2hex.h
new file mode 100644
index 00000000..e973a871
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/dec2hex.h
@@ -0,0 +1,38 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __DEC2HEX_H__
+#define __DEC2HEX_H__
+#include "types.h"
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+void ddec2hexs(double in,char* out);
+void i8dec2hexs(int8 in,char* out);
+void i16dec2hexs(int16 in,char* out);
+void u8dec2hexs(uint8 in,char* out);
+void u16dec2hexs(uint16 in,char* out);
+
+void ddec2hexa(double* in,int size,char* out);
+void i8dec2hexa(int8* in,int size,char* out);
+void i16dec2hexa(int16* in,int size,char* out);
+void u8dec2hexa(uint8* in,int size,char* out);
+void u16dec2hexa(uint16* in,int size,char* out);
+
+
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__DEC2HEX_H__*/
diff --git a/src/c/elementaryFunctions/includes/dec2oct.h b/src/c/elementaryFunctions/includes/dec2oct.h
new file mode 100644
index 00000000..b0e38fa5
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/dec2oct.h
@@ -0,0 +1,37 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __DEC2oct_H__
+#define __DEC2oct_H__
+#include "types.h"
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+void ddec2octs(double in,double* out);
+void i8dec2octs(int8 in,int8* out);
+void i16dec2octs(int16 in,int16* out);
+void u8dec2octs(uint8 in,uint8* out);
+void u16dec2octs(uint16 in,uint16* out);
+
+void ddec2octa(double* in,int size,double* out);
+void i8dec2octa(int8* in,int size,int8* out);
+void i16dec2octa(int16* in,int size,int16* out);
+void u8dec2octa(uint8* in,int size,uint8* out);
+void u16dec2octa(uint16* in,int size,uint16* out);
+
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__DEC2oct_H__*/
diff --git a/src/c/elementaryFunctions/includes/exp.h b/src/c/elementaryFunctions/includes/exp.h
index 297a5769..6e8f027c 100644
--- a/src/c/elementaryFunctions/includes/exp.h
+++ b/src/c/elementaryFunctions/includes/exp.h
@@ -16,6 +16,7 @@
#include "dynlib_elementaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
+#include "types.h"
#ifdef __cplusplus
@@ -50,6 +51,30 @@ EXTERN_ELEMFUNCT floatComplex cexps(floatComplex in);
EXTERN_ELEMFUNCT doubleComplex zexps(doubleComplex in);
/*
+** \brief Uint8 Exponential function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float u8exps(uint8 in);
+
+/*
+** \brief Int8 Exponential function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float i8exps(int8 in);
+
+/*
+** \brief Uint16 Exponential function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float u16exps(uint16 in);
+
+/*
+** \brief Int16 Exponential function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float i16exps(int16 in);
+
+/*
** \brief Float Matrix Exponential function
** \param in : input array value.
** \param out : output array value.
@@ -81,6 +106,39 @@ EXTERN_ELEMFUNCT void cexpa(floatComplex* in, int size, floatComplex* out);
*/
EXTERN_ELEMFUNCT void zexpa(doubleComplex* in, int size, doubleComplex* out);
+/*
+** \brief Uint8 Matrix Exponential function
+** \param in : input array value.
+** \param out : output array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void u8expa(uint8* in, int size, float* out);
+
+/*
+** \brief Int8 Matrix Exponential function
+** \param in : input array value.
+** \param out : output array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void i8expa(int8* in, int size, float* out);
+
+/*
+** \brief Uint16 Matrix Exponential function
+** \param in : input array value.
+** \param out : output array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void u16expa(uint16* in, int size, float* out);
+
+/*
+** \brief Int16 Matrix Exponential function
+** \param in : input array value.
+** \param out : output array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void i16expa(int16* in, int size, float* out);
+
+
#ifdef __cplusplus
} /* extern "C" */
#endif
diff --git a/src/c/elementaryFunctions/includes/factor.h b/src/c/elementaryFunctions/includes/factor.h
new file mode 100644
index 00000000..bec7277b
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/factor.h
@@ -0,0 +1,27 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __FACTOR_H__
+#define __FACTOR_H__
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void dfactors(double in,double* out);
+void sfactors(float in,float* out);
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__FACTOR_H__*/
diff --git a/src/c/elementaryFunctions/includes/factorial.h b/src/c/elementaryFunctions/includes/factorial.h
new file mode 100644
index 00000000..077191e3
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/factorial.h
@@ -0,0 +1,37 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __FACTORIAL_H__
+#define __FACTORIAL_H__
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+double dfactorials(double in);
+//int8 i8factorials(int8 in);
+//int16 i16factorials(int16 in);
+//uint8 u8factorials(uint8 in);
+//uint16 u16factorials(uint16 in);
+
+void dfactoriala(double* in,int size,double* out);
+//void i8factoriala(int8* in,int size,int8* out);
+//void i16factoriala(int16* in,int size,int16* out);
+//void u8factoriala(uint8* in,int size,uint8* out);
+//void u16factoriala(uint16* in,int size,uint16* out);
+
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__FACTORIAL_H__*/
diff --git a/src/c/elementaryFunctions/includes/fix.h b/src/c/elementaryFunctions/includes/fix.h
index 504a63c1..592905b4 100644
--- a/src/c/elementaryFunctions/includes/fix.h
+++ b/src/c/elementaryFunctions/includes/fix.h
@@ -16,6 +16,10 @@
#include "dynlib_elementaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
+#include "types.h"
+#include "floor.h"
+#include "ceil.h"
+
#ifdef __cplusplus
extern "C" {
@@ -35,6 +39,14 @@ EXTERN_ELEMFUNCT floatComplex cfixs(floatComplex in);
EXTERN_ELEMFUNCT doubleComplex zfixs(doubleComplex in);
+EXTERN_ELEMFUNCT uint8 u8fixs(uint8 in);
+
+EXTERN_ELEMFUNCT int8 i8fixs(int8 in);
+
+EXTERN_ELEMFUNCT uint16 u16fixs(uint16 in);
+
+EXTERN_ELEMFUNCT int16 i16fixs(int16 in);
+
EXTERN_ELEMFUNCT void sfixa(float* in, int size, float* out);
EXTERN_ELEMFUNCT void dfixa(double* in, int size, double* out);
@@ -43,6 +55,14 @@ EXTERN_ELEMFUNCT void cfixa(floatComplex* in, int size, floatComplex* out);
EXTERN_ELEMFUNCT void zfixa(doubleComplex* in, int size, doubleComplex* out);
+EXTERN_ELEMFUNCT void u8fixa(uint8* in, int size, uint8* out);
+
+EXTERN_ELEMFUNCT void i8fixa(int8* in, int size, int8* out);
+
+EXTERN_ELEMFUNCT void u16fixa(uint16* in, int size, uint16* out);
+
+EXTERN_ELEMFUNCT void i16fixa(int16* in, int size, int16* out);
+
#ifdef __cplusplus
} /* extern "C" */
#endif
diff --git a/src/c/elementaryFunctions/includes/floor.h b/src/c/elementaryFunctions/includes/floor.h
index 971cdf65..cd566416 100644
--- a/src/c/elementaryFunctions/includes/floor.h
+++ b/src/c/elementaryFunctions/includes/floor.h
@@ -16,6 +16,7 @@
#include "dynlib_elementaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
+#include "types.h"
#ifdef __cplusplus
extern "C" {
@@ -32,6 +33,14 @@ EXTERN_ELEMFUNCT floatComplex cfloors(floatComplex in);
EXTERN_ELEMFUNCT doubleComplex zfloors(doubleComplex in);
+EXTERN_ELEMFUNCT uint8 u8floors(uint8 in);
+
+EXTERN_ELEMFUNCT int8 i8floors(int8 in);
+
+EXTERN_ELEMFUNCT uint16 u16floors(uint16 in);
+
+EXTERN_ELEMFUNCT int16 i16floors(int16 in);
+
EXTERN_ELEMFUNCT void sfloora(float* in, int size, float* out);
EXTERN_ELEMFUNCT void dfloora(double* in, int size, double* out);
@@ -40,6 +49,14 @@ EXTERN_ELEMFUNCT void cfloora(floatComplex* in, int size, floatComplex* out);
EXTERN_ELEMFUNCT void zfloora(doubleComplex* in, int size, doubleComplex* out);
+EXTERN_ELEMFUNCT void u8floora(uint8* in, int size, uint8* out);
+
+EXTERN_ELEMFUNCT void i8floora(int8* in, int size, int8* out);
+
+EXTERN_ELEMFUNCT void u16floora(uint16* in, int size, uint16* out);
+
+EXTERN_ELEMFUNCT void i16floora(int16* in, int size, int16* out);
+
#ifdef __cplusplus
} /* extern "C" */
#endif
diff --git a/src/c/elementaryFunctions/includes/gcd.h b/src/c/elementaryFunctions/includes/gcd.h
new file mode 100644
index 00000000..179eea0e
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/gcd.h
@@ -0,0 +1,26 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __GCD_H__
+#define __GCD_H__
+#include "types.h"
+
+ #ifdef __cplusplus
+ extern "C"{
+ #endif
+
+uint8 u8gcda(uint8* in,int size);
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__GCD_H__*/
diff --git a/src/c/elementaryFunctions/includes/get_float.h b/src/c/elementaryFunctions/includes/get_float.h
new file mode 100644
index 00000000..285cb9c9
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/get_float.h
@@ -0,0 +1,56 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2006-2008 - INRIA - Arnaud Torset
+ * Author - Shamik Guha
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#ifndef __GET_FLOAT_H__
+#define __GET_FLOAT_H__
+
+#include "dynlib_elementaryfunctions.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*
+ float(X) returns the unsigned char part of the double value
+*/
+
+EXTERN_ELEMFUNCT float sfloats(float in);
+
+EXTERN_ELEMFUNCT float dfloats(double in);
+
+EXTERN_ELEMFUNCT float i8floats(int8 in);
+
+EXTERN_ELEMFUNCT float u8floats(uint8 in);
+
+EXTERN_ELEMFUNCT float u16floats(uint16 in);
+
+EXTERN_ELEMFUNCT float i16floats(int16 in);
+
+EXTERN_ELEMFUNCT void sfloata(float* in, int size, float* out);
+
+EXTERN_ELEMFUNCT void dfloata(double* in, int size, float* out);
+
+EXTERN_ELEMFUNCT void i8floata(int8* in, int size, float* out);
+
+EXTERN_ELEMFUNCT void u16floata(uint16* in, int size, float* out);
+
+EXTERN_ELEMFUNCT void i16floata(int16* in, int size, float* out);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+
+#endif /* !__GET_FLOAT_H__ */
+
diff --git a/src/c/elementaryFunctions/includes/hex2dec.h b/src/c/elementaryFunctions/includes/hex2dec.h
new file mode 100644
index 00000000..f16a8541
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/hex2dec.h
@@ -0,0 +1,27 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __HEX2DEC_H__
+#define __HEX2DEC_H__
+
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+double ghex2decs(char* in,int size);
+double dhex2decs(double in);
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__HEX2DEC_H__*/
diff --git a/src/c/elementaryFunctions/includes/int16.h b/src/c/elementaryFunctions/includes/int16.h
new file mode 100644
index 00000000..6135e6b0
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/int16.h
@@ -0,0 +1,54 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __INT16_H__
+#define __INT16_H__
+
+#include "dynlib_elementaryfunctions.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*
+ int16(X) returns the signed int part of the double value
+*/
+
+EXTERN_ELEMFUNCT int16 sint16s(float in);
+
+EXTERN_ELEMFUNCT int16 dint16s(double in);
+
+EXTERN_ELEMFUNCT int16 u8int16s(uint8 in);
+
+EXTERN_ELEMFUNCT int16 i8int16s(int8 in);
+
+EXTERN_ELEMFUNCT int16 u16int16s(uint16 in);
+
+EXTERN_ELEMFUNCT void sint16a(float* in, int size, int16* out);
+
+EXTERN_ELEMFUNCT void dint16a(double* in, int size, int16* out);
+
+EXTERN_ELEMFUNCT void u8int16a(uint8* in, int size, int16* out);
+
+EXTERN_ELEMFUNCT void i8int16a(int8* in, int size, int16* out);
+
+EXTERN_ELEMFUNCT void u16int16a(uint16* in, int size, int16* out);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+
+#endif /* !__INT16_H__ */
+
diff --git a/src/c/elementaryFunctions/includes/int32.h b/src/c/elementaryFunctions/includes/int32.h
new file mode 100644
index 00000000..26b7bcbf
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/int32.h
@@ -0,0 +1,62 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __INT32_H__
+#define __INT32_H__
+
+#include "dynlib_elementaryfunctions.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*
+ int32(X) returns the signed int part of the double value
+*/
+
+EXTERN_ELEMFUNCT int32 sint32s(float in);
+
+EXTERN_ELEMFUNCT int32 dint32s(double in);
+
+EXTERN_ELEMFUNCT int32 u8int32s(uint8 in);
+
+EXTERN_ELEMFUNCT int32 i8int32s(int8 in);
+
+EXTERN_ELEMFUNCT int32 u16int32s(uint16 in);
+
+EXTERN_ELEMFUNCT int32 i16int32s(int16 in);
+
+EXTERN_ELEMFUNCT int32 u32int32s(uint32 in);
+
+EXTERN_ELEMFUNCT void sint32a(float* in, int size, int32* out);
+
+EXTERN_ELEMFUNCT void dint32a(double* in, int size, int32* out);
+
+EXTERN_ELEMFUNCT void u8int32a(uint8* in, int size, int32* out);
+
+EXTERN_ELEMFUNCT void i8int32a(int8* in, int size, int32* out);
+
+EXTERN_ELEMFUNCT void u16int32a(uint16* in, int size, int32* out);
+
+EXTERN_ELEMFUNCT void i16int32a(int16* in, int size, int32* out);
+
+EXTERN_ELEMFUNCT void u32int32a(uint32* in, int size, int32* out);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+
+#endif /* !__INT32_H__ */
+
diff --git a/src/c/elementaryFunctions/includes/int8.h b/src/c/elementaryFunctions/includes/int8.h
new file mode 100644
index 00000000..0ac8723f
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/int8.h
@@ -0,0 +1,54 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __INT8_H__
+#define __INT8_H__
+
+#include "dynlib_elementaryfunctions.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*
+ int8(X) returns the signed char part of the double value
+*/
+
+EXTERN_ELEMFUNCT int8 sint8s(float in);
+
+EXTERN_ELEMFUNCT int8 dint8s(double in);
+
+EXTERN_ELEMFUNCT int8 u8int8s(uint8 in);
+
+EXTERN_ELEMFUNCT int8 u16int8s(uint16 in);
+
+EXTERN_ELEMFUNCT int8 i16int8s(int16 in);
+
+EXTERN_ELEMFUNCT void sint8a(float* in, int size, int8* out);
+
+EXTERN_ELEMFUNCT void dint8a(double* in, int size, int8* out);
+
+EXTERN_ELEMFUNCT void u8int8a(uint8* in, int size, int8* out);
+
+EXTERN_ELEMFUNCT void u16int8a(uint16* in, int size, int8* out);
+
+EXTERN_ELEMFUNCT void i16int8a(int16* in, int size, int8* out);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+
+#endif /* !__INT8_H__ */
+
diff --git a/src/c/elementaryFunctions/includes/iscolumn.h b/src/c/elementaryFunctions/includes/iscolumn.h
new file mode 100644
index 00000000..e9711766
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/iscolumn.h
@@ -0,0 +1,42 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __ISCOLUMN_H__
+#define __ISCOLUMN_H__
+
+
+#include "types.h"
+#include "doubleComplex.h"
+#include "floatComplex.h"
+#include "uint16.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+char discolumna(double* , int);
+char discolumns(double);
+char siscolumna( float* , int);
+char siscolumns( float);
+char giscolumna(char* , int);
+char giscolumns(char);
+char ziscolumna(doubleComplex*, int);
+char ziscolumns(doubleComplex);
+char u16iscolumna(uint16*, int);
+char u16iscolumns(uint16);
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif
diff --git a/src/c/elementaryFunctions/includes/isequal.h b/src/c/elementaryFunctions/includes/isequal.h
new file mode 100644
index 00000000..d22a8047
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/isequal.h
@@ -0,0 +1,38 @@
+ /* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __ISEQUAL_H__
+#define __ISEQUAL_H__
+#include "types.h"
+#include "doubleComplex.h"
+#include "floatComplex.h"
+#include "uint16.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+char disequals(double inp1, double inp2);
+char disequala(double* inp1, int size1r, int size1c, double* inp2, int size2r, int size2c);
+char sisequals(float inp1, float inp2);
+char sisequala(float* inp1, int size1r, int size1c, float* inp2, int size2r, int size2c);
+char zisequals(doubleComplex inp1, doubleComplex inp2);
+char zisequala(doubleComplex* inp1, int size1r, int size1c, doubleComplex* inp2, int size2r, int size2c);
+char u16isequals(uint16 inp1, uint16 inp2);
+char u16isequala(uint16* inp1, int size1r, int size1c, uint16* inp2, int size2r, int size2c);
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__ISEQUAL_H__*/
diff --git a/src/c/elementaryFunctions/includes/isinf.h b/src/c/elementaryFunctions/includes/isinf.h
new file mode 100644
index 00000000..6752c377
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/isinf.h
@@ -0,0 +1,35 @@
+ /* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __ISINF_H__
+#define __ISINF_H__
+
+#include "dynlib_elementaryfunctions.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+char disinfs(double x);
+char sisinfs(float x);
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+
+#endif /* !__ISINF_H__ */
+
diff --git a/src/c/elementaryFunctions/includes/ismatrix.h b/src/c/elementaryFunctions/includes/ismatrix.h
new file mode 100644
index 00000000..0dd8b4a3
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/ismatrix.h
@@ -0,0 +1,41 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __ISMATRIX_H__
+#define __ISMATRIX_H__
+
+
+#include "types.h"
+#include "doubleComplex.h"
+#include "floatComplex.h"
+#include "uint16.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+char dismatrixa(double*);
+char dismatrixs(double);
+char sismatrixa(float*);
+char sismatrixs(float);
+char gismatrixa(char*);
+char gismatrixs(char);
+char zismatrixa(doubleComplex*);
+char zismatrixs(doubleComplex);
+char u16ismatrixa(uint16*);
+char u16ismatrixs(uint16);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif
diff --git a/src/c/elementaryFunctions/includes/isreal.h b/src/c/elementaryFunctions/includes/isreal.h
new file mode 100644
index 00000000..0183ebce
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/isreal.h
@@ -0,0 +1,30 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2007-2008 - INRIA - Bruno JOFRET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+#ifndef __ISREAL_H__
+#define __ISREAL_H__
+
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+float sisreals(float a);
+
+double disreals(double a);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif
diff --git a/src/c/elementaryFunctions/includes/isrow.h b/src/c/elementaryFunctions/includes/isrow.h
new file mode 100644
index 00000000..2de7da3d
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/isrow.h
@@ -0,0 +1,41 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __ISROW_H__
+#define __ISROW_H__
+
+
+#include "types.h"
+#include "doubleComplex.h"
+#include "floatComplex.h"
+#include "uint16.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+char disrowa(double* , int);
+char disrows(double);
+char sisrowa( float* , int);
+char sisrows( float);
+char gisrowa(char* , int);
+char gisrows(char);
+char zisrowa(doubleComplex*, int);
+char zisrows(doubleComplex);
+char u16isrowa(uint16*, int);
+char u16isrows(uint16);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif
diff --git a/src/c/elementaryFunctions/includes/isscalar.h b/src/c/elementaryFunctions/includes/isscalar.h
new file mode 100644
index 00000000..f4880437
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/isscalar.h
@@ -0,0 +1,38 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __ISSCALAR_H__
+#define __ISSCALAR_H__
+
+
+#include "types.h"
+#include "doubleComplex.h"
+#include "floatComplex.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+char disscalara(double* , int);
+char disscalars(double);
+char sisscalara( float* , int);
+char sisscalars( float);
+char gisscalara(char* , int);
+char gisscalars(char);
+char zisscalara(doubleComplex*, int);
+char zisscalars(doubleComplex);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif
diff --git a/src/c/elementaryFunctions/includes/issquare.h b/src/c/elementaryFunctions/includes/issquare.h
new file mode 100644
index 00000000..70e4c455
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/issquare.h
@@ -0,0 +1,38 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __ISSQUARE_H__
+#define __ISSQUARE_H__
+
+
+#include "types.h"
+#include "doubleComplex.h"
+#include "floatComplex.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+char dissquarea(double* , int, int);
+char dissquares(double);
+char sissquarea( float* , int, int);
+char sissquares( float);
+char gissquarea(char* , int, int);
+char gissquares(char);
+char zissquarea(doubleComplex*, int, int);
+char zissquares(doubleComplex);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif
diff --git a/src/c/elementaryFunctions/includes/isvector.h b/src/c/elementaryFunctions/includes/isvector.h
new file mode 100644
index 00000000..75599cdd
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/isvector.h
@@ -0,0 +1,38 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __ISVECTOR_H__
+#define __ISVECTOR_H__
+
+
+#include "types.h"
+#include "doubleComplex.h"
+#include "floatComplex.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+char disvectora(double* , int, int);
+char disvectors(double);
+char sisvectora( float* , int, int);
+char sisvectors( float);
+char gisvectora(char* , int, int );
+char gisvectors(char);
+char zisvectora(doubleComplex*, int, int);
+char zisvectors(doubleComplex);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif
diff --git a/src/c/elementaryFunctions/includes/lcm.h b/src/c/elementaryFunctions/includes/lcm.h
new file mode 100644
index 00000000..3a3e66fb
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/lcm.h
@@ -0,0 +1,27 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __LCM_H__
+#define __LCM_H__
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+uint8 u8lcma(uint8* in,int size);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__LCM_H__*/
+
diff --git a/src/c/elementaryFunctions/includes/linspace.h b/src/c/elementaryFunctions/includes/linspace.h
new file mode 100644
index 00000000..62d45015
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/linspace.h
@@ -0,0 +1,39 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __LINSPACE_H__
+#define __LINSPACE_H__
+
+#include "dynlib_elementaryfunctions.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+EXTERN_ELEMFUNCT void dlinspaces(double low_limit,double up_limit,double range_num, double* out);
+
+EXTERN_ELEMFUNCT void slinspaces(float low_limit,float up_limit,float range_num, float* out);
+
+EXTERN_ELEMFUNCT void dlinspacea(double *low_limit,int row,double *up_limit,double range_num, double* out);
+
+EXTERN_ELEMFUNCT void slinspacea(float *low_limit,int row,float *up_limit,float range_num, float* out);
+
+
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+
+#endif /* !__LINSPACE_H__ */
+
diff --git a/src/c/elementaryFunctions/includes/log2.h b/src/c/elementaryFunctions/includes/log2.h
new file mode 100644
index 00000000..e7b2affb
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/log2.h
@@ -0,0 +1,39 @@
+ /* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __LOG2_H__
+#define __LOG2_H__
+
+#include "dynlib_elementaryfunctions.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+#include "types.h"
+#include "log.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+double dlog2s(double inp);
+float slog2s(float inp);
+doubleComplex zlog2s(doubleComplex inp);
+void dlog2a(double* inp,int size, double* out);
+void slog2a(float* inp,int size, float* out);
+void zlog2a(doubleComplex* inp,int size, doubleComplex* out);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+
+#endif /* !__LOG2_H__ */
+
diff --git a/src/c/elementaryFunctions/includes/logspace.h b/src/c/elementaryFunctions/includes/logspace.h
new file mode 100644
index 00000000..eee39de7
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/logspace.h
@@ -0,0 +1,32 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __LOGSPACE_H__
+#define __LOGSPACE_H__
+
+#include "dynlib_elementaryfunctions.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+EXTERN_ELEMFUNCT void dlogspaces(double low_limit,double up_limit,double range_num, double* out);
+
+EXTERN_ELEMFUNCT void dlogspacea(double *low_limit,int row,double *up_limit,double range_num, double* out);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+
+#endif /* !__LOGSPACE_H__ */
+
diff --git a/src/c/elementaryFunctions/includes/nancumsum.h b/src/c/elementaryFunctions/includes/nancumsum.h
new file mode 100644
index 00000000..48ccc96e
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/nancumsum.h
@@ -0,0 +1,42 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#ifndef __NANCUMSUM_H__
+#define __NANCUMSUM_H__
+
+#include "types.h"
+#include "doubleComplex.h"
+#include "uint16.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void dnancumsuma(double* , int , double*);
+void dnancumsumrowa(double*, int, int, double*);
+void dnancumsumcola(double*, int, int, double*);
+
+void snancumsuma(float* , int, float* );
+void snancumsumrowa(float*, int, int, float*);
+void snancumsumcola(float*, int, int, float*);
+
+void znancumsuma(doubleComplex* , int , doubleComplex*);
+void znancumsumrowa(doubleComplex*, int, int, doubleComplex*);
+void znancumsumcola(doubleComplex*, int, int, doubleComplex*);
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__NANCUMSUM_H__*/
diff --git a/src/c/elementaryFunctions/includes/nanmax.h b/src/c/elementaryFunctions/includes/nanmax.h
new file mode 100644
index 00000000..83cfa0e9
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/nanmax.h
@@ -0,0 +1,48 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __NANMAX_H__
+#define __NANMAX_H__
+
+
+#include "types.h"
+#include "doubleComplex.h"
+#include "floatComplex.h"
+#include "int16.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+double dnanmaxa (double* , int);
+double dnanmax1a (double* , int, int , double*);
+double dnanmax2a (double* , int, double*);
+void dnanmaxrowa (double*, int , int, double*, double*);
+void dnanmaxcola (double*, int , int, double*, double*);
+void dnanmaxrow1a (double*, int , int, double*);
+void dnanmaxcol1a (double*, int , int, double*);
+
+float snanmaxa (float* , int);
+float snanmax1a (float* , int, int , float*);
+float snanmax2a (float* , int, float*);
+void snanmaxrowa (float*, int , int, float*, float*);
+void snanmaxcola (float*, int , int, float*, float*);
+void snanmaxrow1a (float*, int , int, float*);
+void snanmaxcol1a (float*, int , int, float*);
+
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif
diff --git a/src/c/elementaryFunctions/includes/nanmean.h b/src/c/elementaryFunctions/includes/nanmean.h
new file mode 100644
index 00000000..097fec4e
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/nanmean.h
@@ -0,0 +1,42 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __NANMEAN_H__
+#define __NANMEAN_H__
+
+
+#include "types.h"
+#include "doubleComplex.h"
+#include "floatComplex.h"
+#include "int16.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+double dnanmeana(double* in, int size);
+void dnanmeancola(double *in, int row, int col, double* out);
+void dnanmeanrowa(double *in, int row, int col, double* out);
+
+float snanmeana(float* in, int size);
+void snanmeancola(float *in, int row, int col, float* out);
+void snanmeanrowa(float *in, int row, int col, float* out);
+
+doubleComplex znanmeana(doubleComplex* in, int size);
+void znanmeancola(doubleComplex *in, int row, int col, doubleComplex* out);
+void znanmeanrowa(doubleComplex *in, int row, int col, doubleComplex* out);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__NANMEAN_H__*/
diff --git a/src/c/elementaryFunctions/includes/nanmin.h b/src/c/elementaryFunctions/includes/nanmin.h
new file mode 100644
index 00000000..34bbfefd
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/nanmin.h
@@ -0,0 +1,42 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __NANMIN_H__
+#define __NANMIN_H__
+
+
+#include "types.h"
+#include "doubleComplex.h"
+#include "floatComplex.h"
+#include "int16.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+double dnanmina(double* in, int row, int col, double* pos);
+double dnanminnpa(double* in, int row, int col);
+double dnanmins(double in, double* pos);
+double dnanminnps(double in);
+
+void dnanminrownpa(double *in, int row, int col, double* out);
+void dnanmincolnpa(double *in, int row, int col, double* out);
+void dnanminrowa(double *in, int row, int col, double *out, double *p);
+void dnanmincola(double *in, int row, int col, double *out, double *p);
+
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__NANMIN_H__*/
diff --git a/src/c/elementaryFunctions/includes/nansum.h b/src/c/elementaryFunctions/includes/nansum.h
new file mode 100644
index 00000000..5a366631
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/nansum.h
@@ -0,0 +1,42 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#ifndef __NANSUM_H__
+#define __NANSUM_H__
+
+#include "types.h"
+#include "doubleComplex.h"
+#include "uint16.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+double dnansuma(double* , int );
+void dnansumrowa(double*, int, int, double*);
+void dnansumcola(double*, int, int, double*);
+
+float snansuma(float* , int );
+void snansumrowa(float*, int, int, float*);
+void snansumcola(float*, int, int, float*);
+
+doubleComplex znansuma(doubleComplex* , int );
+void znansumrowa(doubleComplex*, int, int, doubleComplex*);
+void znansumcola(doubleComplex*, int, int, doubleComplex*);
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__MATRIX_H__*/
diff --git a/src/c/elementaryFunctions/includes/nextpow2.h b/src/c/elementaryFunctions/includes/nextpow2.h
new file mode 100644
index 00000000..c86bea01
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/nextpow2.h
@@ -0,0 +1,28 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ukasha Noor
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#ifndef __NEXTPOW2_H__
+#define __NEXTPOW2_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void dnextpow2a(double *in,int size,double *out);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif
+
diff --git a/src/c/elementaryFunctions/includes/nthroot.h b/src/c/elementaryFunctions/includes/nthroot.h
new file mode 100644
index 00000000..62b533a0
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/nthroot.h
@@ -0,0 +1,37 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __NTHROOT_H__
+#define __NTHROOT_H__
+
+
+#include "types.h"
+#include "doubleComplex.h"
+#include "floatComplex.h"
+#include "uint16.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void dnthroota(double* , int ,int , double*, int , int, double*);
+void dnthroot1a(double*, int , int, double, double*);
+double dnthroots(double, double);
+void snthroota(float* , int ,int , float*, int , int, double*);
+void snthroot1a(float*, int , int, float, double*);
+double snthroots(float, float);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif
diff --git a/src/c/elementaryFunctions/includes/oct2dec.h b/src/c/elementaryFunctions/includes/oct2dec.h
new file mode 100644
index 00000000..0b454d11
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/oct2dec.h
@@ -0,0 +1,37 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __OCT2DEC_H__
+#define __OCT2DEC_H__
+#include "types.h"
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+double doct2decs(double in);
+int8 i8oct2decs(int8 in);
+int16 i16oct2decs(int16 in);
+uint8 u8oct2decs(uint8 in);
+uint16 u16oct2decs(uint16 in);
+
+void doct2deca(double* in,int size,double* out);
+void i8oct2deca(int8* in,int size,int8* out);
+void i16oct2deca(int16* in,int size,int16* out);
+void u8oct2deca(uint8* in,int size,uint8* out);
+void u16oct2deca(uint16* in,int size,uint16* out);
+
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__OCT2DEC_H__*/
diff --git a/src/c/elementaryFunctions/includes/pmodulo.h b/src/c/elementaryFunctions/includes/pmodulo.h
new file mode 100644
index 00000000..d46febc3
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/pmodulo.h
@@ -0,0 +1,40 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __PMODULO_H__
+#define __PMODULO_H__
+
+
+#include "types.h"
+#include "doubleComplex.h"
+#include "floatComplex.h"
+#include "int16.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void dpmoduloa(double*, int ,double*, double*);
+double dpmodulos(double, double);
+
+void spmoduloa(float*, int ,float*, float*);
+float spmodulos(float, float);
+
+void i16pmoduloa(int16*, int ,int16*, int16*);
+int16 i16pmodulos(int16, int16);
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif
diff --git a/src/c/elementaryFunctions/includes/pow.h b/src/c/elementaryFunctions/includes/pow.h
index ec8216d8..2905b7ed 100644
--- a/src/c/elementaryFunctions/includes/pow.h
+++ b/src/c/elementaryFunctions/includes/pow.h
@@ -15,6 +15,11 @@
#include "dynlib_elementaryfunctions.h"
#include "multiplication.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+#include "uint8.h"
+#include "uint16.h"
+#include "int16.h"
#ifdef __cplusplus
extern "C" {
@@ -27,6 +32,14 @@ EXTERN_ELEMFUNCT floatComplex cpows(floatComplex value, floatComplex expand);
EXTERN_ELEMFUNCT doubleComplex zpows(doubleComplex value, doubleComplex expand);
+EXTERN_ELEMFUNCT uint8 u8pows(uint8 value, uint8 expand);
+
+EXTERN_ELEMFUNCT uint16 u16pows(uint16 value, uint16 expand);
+
+EXTERN_ELEMFUNCT int8 i8pows(int8 value, int8 expand);
+
+EXTERN_ELEMFUNCT int16 i16pows(int16 value, int16 expand);
+
EXTERN_ELEMFUNCT void spowa(float *value, int size, float* expand, float *out);
EXTERN_ELEMFUNCT void dpowa(double *value, int size, double* expand, double *out);
@@ -35,6 +48,14 @@ EXTERN_ELEMFUNCT void cpowa(floatComplex *value, int size, floatComplex* expand
EXTERN_ELEMFUNCT void zpowa(doubleComplex *value, int size, doubleComplex* expand, doubleComplex *out);
+EXTERN_ELEMFUNCT void u8powa(uint8 *value, int size, uint8* expand, uint8 *out);
+
+EXTERN_ELEMFUNCT void u16powa(uint16 *value, int size, uint16* expand, uint16 *out);
+
+EXTERN_ELEMFUNCT void i8powa(int8 *value, int size, int8* expand, int8 *out);
+
+EXTERN_ELEMFUNCT void i16powa(int16 *value, int size, int16* expand, int16 *out);
+
#ifdef __cplusplus
} /* extern "C" */
#endif
diff --git a/src/c/elementaryFunctions/includes/primes.h b/src/c/elementaryFunctions/includes/primes.h
new file mode 100644
index 00000000..c541df9e
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/primes.h
@@ -0,0 +1,28 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __PRIMES_H__
+#define __PRIMES_H__
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+void dprimess(double in,double* out);
+void sprimess(float in,float* out);
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__PRIMES_H__*/
diff --git a/src/c/elementaryFunctions/includes/round.h b/src/c/elementaryFunctions/includes/round.h
index 1c3c0cea..6894265a 100644
--- a/src/c/elementaryFunctions/includes/round.h
+++ b/src/c/elementaryFunctions/includes/round.h
@@ -16,6 +16,7 @@
#include "dynlib_elementaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
+#include "types.h"
#ifdef __cplusplus
extern "C" {
@@ -32,6 +33,14 @@ EXTERN_ELEMFUNCT floatComplex crounds(floatComplex in);
EXTERN_ELEMFUNCT doubleComplex zrounds(doubleComplex in);
+EXTERN_ELEMFUNCT uint8 u8rounds(uint8 in);
+
+EXTERN_ELEMFUNCT int8 i8rounds(int8 in);
+
+EXTERN_ELEMFUNCT uint16 u16rounds(uint16 in);
+
+EXTERN_ELEMFUNCT int16 i16rounds(int16 in);
+
EXTERN_ELEMFUNCT void srounda(float* in, int size, float* out);
EXTERN_ELEMFUNCT void drounda(double* in, int size, double* out);
@@ -40,6 +49,14 @@ EXTERN_ELEMFUNCT void crounda(floatComplex* in, int size, floatComplex* out);
EXTERN_ELEMFUNCT void zrounda(doubleComplex* in, int size, doubleComplex* out);
+EXTERN_ELEMFUNCT void u8rounda(uint8* in, int size, uint8* out);
+
+EXTERN_ELEMFUNCT void i8rounda(int8* in, int size, int8* out);
+
+EXTERN_ELEMFUNCT void u16rounda(uint16* in, int size, uint16* out);
+
+EXTERN_ELEMFUNCT void i16rounda(int16* in, int size, int16* out);
+
#ifdef __cplusplus
} /* extern "C" */
#endif
diff --git a/src/c/elementaryFunctions/includes/sec.h b/src/c/elementaryFunctions/includes/sec.h
new file mode 100644
index 00000000..a04c5f73
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/sec.h
@@ -0,0 +1,37 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __SEC_H__
+#define __SEC_H__
+#include "dynlib_elementaryfunctions.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+//#include <complex.h>
+#include "types.h"
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+void dseca(double* in,int size,double* out);
+double dsecs(double in);
+void sseca(float* in,int size,float* out);
+float ssecs(float in);
+
+doubleComplex zsecs(doubleComplex z);
+//void zseca(doubleComplex* in, int size,doubleComplex* out);
+floatComplex csecs(floatComplex z);
+void cseca(floatComplex* in, int size,floatComplex* out);
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__SEC_H__*/
diff --git a/src/c/elementaryFunctions/includes/secd.h b/src/c/elementaryFunctions/includes/secd.h
new file mode 100644
index 00000000..bf9c653d
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/secd.h
@@ -0,0 +1,28 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __SECD_H__
+#define __SECD_H__
+#include "types.h"
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+void dsecda(double* in,int size,double* out);
+void ssecda(float* in,int size,float* out);
+double dsecds(double in);
+float ssecds(float in);
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__SECD_H__*/
diff --git a/src/c/elementaryFunctions/includes/sech.h b/src/c/elementaryFunctions/includes/sech.h
new file mode 100644
index 00000000..9b85396a
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/sech.h
@@ -0,0 +1,38 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __SECH_H__
+#define __SECH_H__
+#include "dynlib_elementaryfunctions.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+#include "types.h"
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+void dsecha(double* in,int size,double* out);
+double dsechs(double in);
+void ssecha(float* in,int size,float* out);
+float ssechs(float in);
+
+void csecha(floatComplex* in,int size,floatComplex* out);
+floatComplex csechs(floatComplex in);
+void zsecha(doubleComplex* in,int size,doubleComplex* out);
+doubleComplex zsechs(doubleComplex in);
+
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__SECH_H__*/
diff --git a/src/c/elementaryFunctions/includes/sin.h b/src/c/elementaryFunctions/includes/sin.h
index 198b0665..ffb76269 100644
--- a/src/c/elementaryFunctions/includes/sin.h
+++ b/src/c/elementaryFunctions/includes/sin.h
@@ -16,6 +16,7 @@
#include "dynlib_elementaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
+#include "types.h"
#ifdef __cplusplus
extern "C" {
@@ -49,6 +50,33 @@ EXTERN_ELEMFUNCT floatComplex csins(floatComplex in);
EXTERN_ELEMFUNCT doubleComplex zsins(doubleComplex in);
/*
+** \brief Uint8 Sine function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float u8sins(uint8 in);
+
+
+/*
+** \brief Int8 Sine function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float i8sins(int8 in);
+
+
+/*
+** \brief Uint16 Sine function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float u16sins(uint16 in);
+
+
+/*
+** \brief Int16 Sine function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float i16sins(int16 in);
+
+/*
** \brief Float Matrix Sine function
** \param in : input array value.
** \param out : output array value.
@@ -80,6 +108,39 @@ EXTERN_ELEMFUNCT void csina(floatComplex* in, int size, floatComplex* out);
*/
EXTERN_ELEMFUNCT void zsina(doubleComplex* in, int size, doubleComplex* out);
+/*
+** \brief uint8 Matrix Sine function
+** \param in : input array value.
+** \param out : output array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void u8sina(uint8* in, int size, float* out);
+
+/*
+** \brief int8 Matrix Sine function
+** \param in : input array value.
+** \param out : output array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void i8sina(int8* in, int size, float* out);
+
+/*
+** \brief uint16 Matrix Sine function
+** \param in : input array value.
+** \param out : output array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void u16sina(uint16* in, int size, float* out);
+
+/*
+** \brief int16 Matrix Sine function
+** \param in : input array value.
+** \param out : output array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void i16sina(int16* in, int size, float* out);
+
+
#ifdef __cplusplus
} /* extern "C" */
#endif
diff --git a/src/c/elementaryFunctions/includes/sinc.h b/src/c/elementaryFunctions/includes/sinc.h
new file mode 100644
index 00000000..8bc98d28
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/sinc.h
@@ -0,0 +1,29 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __SINC_H__
+#define __SINC_H__
+#include "types.h"
+#include "doubleComplex.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void dsinca(double* sample,int size,double* oup);
+void zsinca(doubleComplex* sample,int size,doubleComplex* oup);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* __SINC_H__ */
diff --git a/src/c/elementaryFunctions/includes/sind.h b/src/c/elementaryFunctions/includes/sind.h
new file mode 100644
index 00000000..d98bd683
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/sind.h
@@ -0,0 +1,37 @@
+ /* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __SIND_H__
+#define __SIND_H__
+
+#include "dynlib_elementaryfunctions.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+double dsinds(double x);
+float ssinds(float x);
+void dsinda(double* x, int size, double* y);
+void ssinda(float* x, int size, double* y);
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+
+#endif /* !__SIND_H__ */
+
diff --git a/src/c/elementaryFunctions/includes/sinh.h b/src/c/elementaryFunctions/includes/sinh.h
index c052a901..c464fce0 100644
--- a/src/c/elementaryFunctions/includes/sinh.h
+++ b/src/c/elementaryFunctions/includes/sinh.h
@@ -16,6 +16,7 @@
#include "dynlib_elementaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
+#include "types.h"
#ifdef __cplusplus
extern "C" {
@@ -48,6 +49,31 @@ EXTERN_ELEMFUNCT floatComplex csinhs(floatComplex in);
*/
EXTERN_ELEMFUNCT doubleComplex zsinhs(doubleComplex in);
+
+/*
+** \brief Uint8 Sine function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float u8sinhs(uint8 in);
+
+/*
+** \brief Int8 Sine function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float i8sinhs(int8 in);
+
+/*
+** \brief Uint16 Sine function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float u16sinhs(uint16 in);
+
+/*
+** \brief Int16 Sine function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float i16sinhs(int16 in);
+
/*
** \brief Float Matrix Sine function
** \param in : input array value.
@@ -80,6 +106,39 @@ EXTERN_ELEMFUNCT void csinha(floatComplex* in, int size, floatComplex* out);
*/
EXTERN_ELEMFUNCT void zsinha(doubleComplex* in, int size, doubleComplex* out);
+/*
+** \brief Uint8 Matrix Sine function
+** \param in : input array value.
+** \param out : input array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void u8sinha(uint8* in, int size, float* out);
+
+/*
+** \brief Int8 Matrix Sine function
+** \param in : input array value.
+** \param out : input array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void i8sinha(int8* in, int size, float* out);
+
+/*
+** \brief Uint16 Matrix Sine function
+** \param in : input array value.
+** \param out : input array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void u16sinha(uint16* in, int size, float* out);
+
+/*
+** \brief Int16 Matrix Sine function
+** \param in : input array value.
+** \param out : input array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void i16sinha(int16* in, int size, float* out);
+
+
#ifdef __cplusplus
} /* extern "C" */
#endif
diff --git a/src/c/elementaryFunctions/includes/sqrt.h b/src/c/elementaryFunctions/includes/sqrt.h
index 7885c9c2..df11b20e 100644
--- a/src/c/elementaryFunctions/includes/sqrt.h
+++ b/src/c/elementaryFunctions/includes/sqrt.h
@@ -16,6 +16,7 @@
#include "dynlib_elementaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
+#include "types.h"
#ifdef __cplusplus
extern "C" {
@@ -48,13 +49,14 @@ EXTERN_ELEMFUNCT floatComplex csqrts(floatComplex in);
*/
EXTERN_ELEMFUNCT doubleComplex zsqrts(doubleComplex in);
+
/*
** \brief Float Matrix Square Root function
** \param in : input array value.
** \param out : output array value.
** \param size : the size of in and out arrays.
*/
-EXTERN_ELEMFUNCT void ssqrta(float* in, int size, float* out);
+EXTERN_ELEMFUNCT void ssqrta(float* in, int size, float* out);
/*
** \brief Double Matrix Square Root function
@@ -80,6 +82,10 @@ EXTERN_ELEMFUNCT void csqrta(floatComplex* in, int size, floatComplex* out);
*/
EXTERN_ELEMFUNCT void zsqrta(doubleComplex* in, int size, doubleComplex* out);
+
+
+
+
#ifdef __cplusplus
} /* extern "C" */
#endif
diff --git a/src/c/elementaryFunctions/includes/tan.h b/src/c/elementaryFunctions/includes/tan.h
index 77ef7868..2632a779 100644
--- a/src/c/elementaryFunctions/includes/tan.h
+++ b/src/c/elementaryFunctions/includes/tan.h
@@ -16,6 +16,7 @@
#include "dynlib_elementaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
+#include "types.h"
#ifdef __cplusplus
extern "C" {
@@ -49,6 +50,31 @@ EXTERN_ELEMFUNCT floatComplex ctans(floatComplex in);
EXTERN_ELEMFUNCT doubleComplex ztans(doubleComplex in);
/*
+** \brief Uint8 Tangeant function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float u8tans(uint8 in);
+
+/*
+** \brief Int8 Tangeant function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float i8tans(int8 in);
+
+/*
+** \brief Uint16 Tangeant function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float u16tans(uint16 in);
+
+/*
+** \brief Int16 Tangeant function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float i16tans(int16 in);
+
+
+/*
** \brief Float Matrix Tangeant function
** \param in : input array value.
** \param out : input array value.
@@ -80,6 +106,39 @@ EXTERN_ELEMFUNCT void ctana(floatComplex* in, int size, floatComplex* out);
*/
EXTERN_ELEMFUNCT void ztana(doubleComplex* in, int size, doubleComplex* out);
+/*
+** \brief Uint8 Matrix Tangeant function
+** \param in : input array value.
+** \param out : input array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void u8tana(uint8* in, int size, float* out);
+
+/*
+** \brief Int8 Matrix Tangeant function
+** \param in : input array value.
+** \param out : input array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void i8tana(int8* in, int size, float* out);
+
+/*
+** \brief Uint16 Matrix Tangeant function
+** \param in : input array value.
+** \param out : input array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void u16tana(uint16* in, int size, float* out);
+
+/*
+** \brief Int16 Matrix Tangeant function
+** \param in : input array value.
+** \param out : input array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void i16tana(int16* in, int size, float* out);
+
+
#ifdef __cplusplus
} /* extern "C" */
#endif
diff --git a/src/c/elementaryFunctions/includes/tand (copy).h b/src/c/elementaryFunctions/includes/tand (copy).h
new file mode 100644
index 00000000..918d43ab
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/tand (copy).h
@@ -0,0 +1,37 @@
+ /* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __TAND_H__
+#define __TAND_H__
+
+#include "dynlib_elementaryfunctions.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+double dtands(double x);
+float stands(float x);
+void dtanda(double* x, int size, double* y);
+void standa(float* x, int size, double* y);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+
+#endif /* !__TAND_H__ */
+
diff --git a/src/c/elementaryFunctions/includes/tand.h b/src/c/elementaryFunctions/includes/tand.h
new file mode 100644
index 00000000..918d43ab
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/tand.h
@@ -0,0 +1,37 @@
+ /* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __TAND_H__
+#define __TAND_H__
+
+#include "dynlib_elementaryfunctions.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+double dtands(double x);
+float stands(float x);
+void dtanda(double* x, int size, double* y);
+void standa(float* x, int size, double* y);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+
+#endif /* !__TAND_H__ */
+
diff --git a/src/c/elementaryFunctions/includes/tanh.h b/src/c/elementaryFunctions/includes/tanh.h
index 9ff440cf..6a654230 100644
--- a/src/c/elementaryFunctions/includes/tanh.h
+++ b/src/c/elementaryFunctions/includes/tanh.h
@@ -16,6 +16,7 @@
#include "dynlib_elementaryfunctions.h"
#include "floatComplex.h"
#include "doubleComplex.h"
+#include "sinh.h"
#ifdef __cplusplus
extern "C" {
@@ -49,6 +50,30 @@ EXTERN_ELEMFUNCT floatComplex ctanhs(floatComplex in);
EXTERN_ELEMFUNCT doubleComplex ztanhs(doubleComplex in);
/*
+** \brief Uint8 Hyperbolic Tangeant function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float u8tanhs(uint8 in);
+
+/*
+** \brief Int8 Hyperbolic Tangeant function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float i8tanhs(int8 in);
+
+/*
+** \brief Uint16 Hyperbolic Tangeant function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float u16tanhs(uint16 in);
+
+/*
+** \brief Int16 Hyperbolic Tangeant function
+** \param in : input value.
+*/
+EXTERN_ELEMFUNCT float i16tanhs(int16 in);
+
+/*
** \brief Float Matrix Hyperbolic Tangeant function
** \param in : input array value.
** \param out : output array value.
@@ -80,6 +105,38 @@ EXTERN_ELEMFUNCT void ctanha(floatComplex* in, int size, floatComplex* out);
*/
EXTERN_ELEMFUNCT void ztanha(doubleComplex* in, int size, doubleComplex* out);
+/*
+** \brief Uint8 Matrix Hyperbolic Tangeant function
+** \param in : input array value.
+** \param out : output array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void u8tanha(uint8* in, int size, float* out);
+
+/*
+** \brief Int8 Matrix Hyperbolic Tangeant function
+** \param in : input array value.
+** \param out : output array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void i8tanha(int8* in, int size, float* out);
+
+/*
+** \brief Uint16 Matrix Hyperbolic Tangeant function
+** \param in : input array value.
+** \param out : output array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void u16tanha(uint16* in, int size, float* out);
+
+/*
+** \brief Int16 Matrix Hyperbolic Tangeant function
+** \param in : input array value.
+** \param out : output array value.
+** \param size : the size of in and out arrays.
+*/
+EXTERN_ELEMFUNCT void i16tanha(int16* in, int size, float* out);
+
#ifdef __cplusplus
} /* extern "C" */
#endif
diff --git a/src/c/elementaryFunctions/includes/uint16.h b/src/c/elementaryFunctions/includes/uint16.h
new file mode 100644
index 00000000..9e162130
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/uint16.h
@@ -0,0 +1,54 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __UINT16_H__
+#define __UINT16_H__
+
+#include "dynlib_elementaryfunctions.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*
+ uint16(X) returns the signed int part of the double value
+*/
+
+EXTERN_ELEMFUNCT uint16 suint16s(float in);
+
+EXTERN_ELEMFUNCT uint16 duint16s(double in);
+
+EXTERN_ELEMFUNCT uint16 u8uint16s(uint8 in);
+
+EXTERN_ELEMFUNCT uint16 i8uint16s(int8 in);
+
+EXTERN_ELEMFUNCT uint16 i16uint16s(int16 in);
+
+EXTERN_ELEMFUNCT void suint16a(float* in, int size, uint16* out);
+
+EXTERN_ELEMFUNCT void duint16a(double* in, int size, uint16* out);
+
+EXTERN_ELEMFUNCT void u8uint16a(uint8* in, int size, uint16* out);
+
+EXTERN_ELEMFUNCT void i8uint16a(int8* in, int size, uint16* out);
+
+EXTERN_ELEMFUNCT void i16uint16a(int16* in, int size, uint16* out);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+
+#endif /* !__UINT16_H__ */
+
diff --git a/src/c/elementaryFunctions/includes/uint32.h b/src/c/elementaryFunctions/includes/uint32.h
new file mode 100644
index 00000000..b90247bc
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/uint32.h
@@ -0,0 +1,62 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __UINT32_H__
+#define __UINT32_H__
+
+#include "dynlib_elementaryfunctions.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*
+ uint32(X) returns the unsigned int part of the double value
+*/
+
+EXTERN_ELEMFUNCT uint32 suint32s(float in);
+
+EXTERN_ELEMFUNCT uint32 duint32s(double in);
+
+EXTERN_ELEMFUNCT uint32 u8uint32s(uint8 in);
+
+EXTERN_ELEMFUNCT uint32 i8uint32s(int8 in);
+
+EXTERN_ELEMFUNCT uint32 u16uint32s(uint16 in);
+
+EXTERN_ELEMFUNCT uint32 i16uint32s(int16 in);
+
+EXTERN_ELEMFUNCT uint32 i32uint32s(int32 in);
+
+EXTERN_ELEMFUNCT void suint32a(float* in, int size, uint32* out);
+
+EXTERN_ELEMFUNCT void duint32a(double* in, int size, uint32* out);
+
+EXTERN_ELEMFUNCT void u8uint32a(uint8* in, int size, uint32* out);
+
+EXTERN_ELEMFUNCT void i8uint32a(int8* in, int size, uint32* out);
+
+EXTERN_ELEMFUNCT void u16uint32a(uint16* in, int size, uint32* out);
+
+EXTERN_ELEMFUNCT void i16uint32a(int16* in, int size, uint32* out);
+
+EXTERN_ELEMFUNCT void i32uint32a(int32* in, int size, uint32* out);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+
+#endif /* !__UINT32_H__ */
+
diff --git a/src/c/elementaryFunctions/includes/uint8.h b/src/c/elementaryFunctions/includes/uint8.h
new file mode 100644
index 00000000..63071c4a
--- /dev/null
+++ b/src/c/elementaryFunctions/includes/uint8.h
@@ -0,0 +1,54 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __UINT8_H__
+#define __UINT8_H__
+
+#include "dynlib_elementaryfunctions.h"
+#include "floatComplex.h"
+#include "doubleComplex.h"
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*
+ uint8(X) returns the unsigned char part of the double value
+*/
+
+EXTERN_ELEMFUNCT uint8 suint8s(float in);
+
+EXTERN_ELEMFUNCT uint8 duint8s(double in);
+
+EXTERN_ELEMFUNCT uint8 i8uint8s(int8 in);
+
+EXTERN_ELEMFUNCT uint8 u16uint8s(uint16 in);
+
+EXTERN_ELEMFUNCT uint8 i16uint8s(int16 in);
+
+EXTERN_ELEMFUNCT void suint8a(float* in, int size, uint8* out);
+
+EXTERN_ELEMFUNCT void duint8a(double* in, int size, uint8* out);
+
+EXTERN_ELEMFUNCT void i8uint8a(int8* in, int size, uint8* out);
+
+EXTERN_ELEMFUNCT void u16uint8a(uint16* in, int size, uint8* out);
+
+EXTERN_ELEMFUNCT void i16uint8a(int16* in, int size, uint8* out);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+
+#endif /* !__UINT8_H__ */
+
diff --git a/src/c/elementaryFunctions/int16/dint16a.c b/src/c/elementaryFunctions/int16/dint16a.c
new file mode 100644
index 00000000..e3b96116
--- /dev/null
+++ b/src/c/elementaryFunctions/int16/dint16a.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "int16.h"
+
+void dint16a(double* x, int size, int16* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = dint16s(x[i]);
+}
diff --git a/src/c/elementaryFunctions/int16/dint16s.c b/src/c/elementaryFunctions/int16/dint16s.c
new file mode 100644
index 00000000..6f09631a
--- /dev/null
+++ b/src/c/elementaryFunctions/int16/dint16s.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "int16.h"
+
+int16 dint16s(double x) {
+ return (int16) x;
+}
diff --git a/src/c/elementaryFunctions/int16/i8int16a.c b/src/c/elementaryFunctions/int16/i8int16a.c
new file mode 100644
index 00000000..0885b021
--- /dev/null
+++ b/src/c/elementaryFunctions/int16/i8int16a.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "int16.h"
+
+void i8int16a(int8* x, int size, int16* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = i8int16s(x[i]);
+}
diff --git a/src/c/elementaryFunctions/int16/i8int16s.c b/src/c/elementaryFunctions/int16/i8int16s.c
new file mode 100644
index 00000000..4a42acc0
--- /dev/null
+++ b/src/c/elementaryFunctions/int16/i8int16s.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "int16.h"
+
+int16 i8int16s(int8 x) {
+ return (int16) x;
+}
diff --git a/src/c/elementaryFunctions/int16/sint16a.c b/src/c/elementaryFunctions/int16/sint16a.c
new file mode 100644
index 00000000..9769127b
--- /dev/null
+++ b/src/c/elementaryFunctions/int16/sint16a.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "int16.h"
+
+void sint16a(float* x, int size, int16* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = sint16s(x[i]);
+}
diff --git a/src/c/elementaryFunctions/int16/sint16s.c b/src/c/elementaryFunctions/int16/sint16s.c
new file mode 100644
index 00000000..2dd7af27
--- /dev/null
+++ b/src/c/elementaryFunctions/int16/sint16s.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "int16.h"
+
+int16 sint16s(float x) {
+ return (int16) x;
+}
diff --git a/src/c/elementaryFunctions/int16/u16int16a.c b/src/c/elementaryFunctions/int16/u16int16a.c
new file mode 100644
index 00000000..bc631988
--- /dev/null
+++ b/src/c/elementaryFunctions/int16/u16int16a.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "int16.h"
+
+void u16int16a(uint16* x, int size, int16* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = u16int16s(x[i]);
+}
diff --git a/src/c/elementaryFunctions/int16/u16int16s.c b/src/c/elementaryFunctions/int16/u16int16s.c
new file mode 100644
index 00000000..ad226dba
--- /dev/null
+++ b/src/c/elementaryFunctions/int16/u16int16s.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "int16.h"
+
+int16 u16int16s(uint16 x) {
+ return (int16) x;
+}
diff --git a/src/c/elementaryFunctions/int16/u8int16a.c b/src/c/elementaryFunctions/int16/u8int16a.c
new file mode 100644
index 00000000..8c9f94b0
--- /dev/null
+++ b/src/c/elementaryFunctions/int16/u8int16a.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "int16.h"
+
+void u8int16a(uint8* x, int size, int16* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = u8int16s(x[i]);
+}
diff --git a/src/c/elementaryFunctions/int16/u8int16s.c b/src/c/elementaryFunctions/int16/u8int16s.c
new file mode 100644
index 00000000..463565f1
--- /dev/null
+++ b/src/c/elementaryFunctions/int16/u8int16s.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "int16.h"
+
+int16 u8int16s(uint8 x) {
+ return (int16) x;
+}
diff --git a/src/c/elementaryFunctions/int32/dint32a.c b/src/c/elementaryFunctions/int32/dint32a.c
new file mode 100644
index 00000000..f8b4b662
--- /dev/null
+++ b/src/c/elementaryFunctions/int32/dint32a.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "int32.h"
+
+void dint32a(double* x, int size, int32* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = dint32s(x[i]);
+}
diff --git a/src/c/elementaryFunctions/int32/dint32s.c b/src/c/elementaryFunctions/int32/dint32s.c
new file mode 100644
index 00000000..19366ef0
--- /dev/null
+++ b/src/c/elementaryFunctions/int32/dint32s.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "int32.h"
+
+int32 dint32s(double x) {
+ return (int32) x;
+}
diff --git a/src/c/elementaryFunctions/int32/i16int32a.c b/src/c/elementaryFunctions/int32/i16int32a.c
new file mode 100644
index 00000000..e970deb2
--- /dev/null
+++ b/src/c/elementaryFunctions/int32/i16int32a.c
@@ -0,0 +1,17 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+#include "int32.h"
+
+void i16int32a(int16* x, int size, int32* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = i16int32s(x[i]);
+}
diff --git a/src/c/elementaryFunctions/int32/i16int32s.c b/src/c/elementaryFunctions/int32/i16int32s.c
new file mode 100644
index 00000000..ad079930
--- /dev/null
+++ b/src/c/elementaryFunctions/int32/i16int32s.c
@@ -0,0 +1,17 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "int32.h"
+
+int32 i16int32s(int16 x) {
+ return (int32) x;
+}
diff --git a/src/c/elementaryFunctions/int32/i8int32a.c b/src/c/elementaryFunctions/int32/i8int32a.c
new file mode 100644
index 00000000..d046ba19
--- /dev/null
+++ b/src/c/elementaryFunctions/int32/i8int32a.c
@@ -0,0 +1,17 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+#include "int32.h"
+
+void i8int32a(int8* x, int size, int32* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = i8int32s(x[i]);
+}
diff --git a/src/c/elementaryFunctions/int32/i8int32s.c b/src/c/elementaryFunctions/int32/i8int32s.c
new file mode 100644
index 00000000..c126662c
--- /dev/null
+++ b/src/c/elementaryFunctions/int32/i8int32s.c
@@ -0,0 +1,17 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "int32.h"
+
+int32 i8int32s(int8 x) {
+ return (int32) x;
+}
diff --git a/src/c/elementaryFunctions/int32/sint32a.c b/src/c/elementaryFunctions/int32/sint32a.c
new file mode 100644
index 00000000..14dbefec
--- /dev/null
+++ b/src/c/elementaryFunctions/int32/sint32a.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "int32.h"
+
+void sint32a(float* x, int size, int32* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = sint32s(x[i]);
+}
diff --git a/src/c/elementaryFunctions/int32/sint32s.c b/src/c/elementaryFunctions/int32/sint32s.c
new file mode 100644
index 00000000..8a4f8e7e
--- /dev/null
+++ b/src/c/elementaryFunctions/int32/sint32s.c
@@ -0,0 +1,17 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "int32.h"
+
+int32 sint32s(float x) {
+ return (int32) x;
+}
diff --git a/src/c/elementaryFunctions/int32/u16int32a.c b/src/c/elementaryFunctions/int32/u16int32a.c
new file mode 100644
index 00000000..eaf90fda
--- /dev/null
+++ b/src/c/elementaryFunctions/int32/u16int32a.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "int32.h"
+
+void u16int32a(uint16* x, int size, int32* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = u16int32s(x[i]);
+}
diff --git a/src/c/elementaryFunctions/int32/u16int32s.c b/src/c/elementaryFunctions/int32/u16int32s.c
new file mode 100644
index 00000000..be3909a2
--- /dev/null
+++ b/src/c/elementaryFunctions/int32/u16int32s.c
@@ -0,0 +1,17 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "int32.h"
+
+int32 u16int32s(uint16 x) {
+ return (int32) x;
+}
diff --git a/src/c/elementaryFunctions/int32/u32int32a.c b/src/c/elementaryFunctions/int32/u32int32a.c
new file mode 100644
index 00000000..a135d12a
--- /dev/null
+++ b/src/c/elementaryFunctions/int32/u32int32a.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "int32.h"
+
+void u32int32a(uint32* x, int size, int32* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = u32int32s(x[i]);
+}
diff --git a/src/c/elementaryFunctions/int32/u32int32s.c b/src/c/elementaryFunctions/int32/u32int32s.c
new file mode 100644
index 00000000..ee5a16aa
--- /dev/null
+++ b/src/c/elementaryFunctions/int32/u32int32s.c
@@ -0,0 +1,17 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "int32.h"
+
+int32 u32int32s(uint32 x) {
+ return (int32) x;
+}
diff --git a/src/c/elementaryFunctions/int32/u8int32a.c b/src/c/elementaryFunctions/int32/u8int32a.c
new file mode 100644
index 00000000..1361feab
--- /dev/null
+++ b/src/c/elementaryFunctions/int32/u8int32a.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "int32.h"
+
+void u8int32a(uint8* x, int size, int32* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = u8int32s(x[i]);
+}
diff --git a/src/c/elementaryFunctions/int32/u8int32s.c b/src/c/elementaryFunctions/int32/u8int32s.c
new file mode 100644
index 00000000..c3b06903
--- /dev/null
+++ b/src/c/elementaryFunctions/int32/u8int32s.c
@@ -0,0 +1,17 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "int32.h"
+
+int32 u8int32s(uint8 x) {
+ return (int32) x;
+}
diff --git a/src/c/elementaryFunctions/int8/dint8a.c b/src/c/elementaryFunctions/int8/dint8a.c
new file mode 100644
index 00000000..035ea4f1
--- /dev/null
+++ b/src/c/elementaryFunctions/int8/dint8a.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "int8.h"
+
+void dint8a(double* x, int size, int8* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = dint8s(x[i]);
+}
diff --git a/src/c/elementaryFunctions/int8/dint8s.c b/src/c/elementaryFunctions/int8/dint8s.c
new file mode 100644
index 00000000..3b554141
--- /dev/null
+++ b/src/c/elementaryFunctions/int8/dint8s.c
@@ -0,0 +1,17 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "int8.h"
+
+int8 dint8s(double x) {
+ return (int8) x;
+}
diff --git a/src/c/elementaryFunctions/int8/i16int8a.c b/src/c/elementaryFunctions/int8/i16int8a.c
new file mode 100644
index 00000000..b9aa0931
--- /dev/null
+++ b/src/c/elementaryFunctions/int8/i16int8a.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "int8.h"
+
+void i16int8a(int16* x, int size, int8* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = i16int8s(x[i]);
+}
diff --git a/src/c/elementaryFunctions/int8/i16int8s.c b/src/c/elementaryFunctions/int8/i16int8s.c
new file mode 100644
index 00000000..1bdd1764
--- /dev/null
+++ b/src/c/elementaryFunctions/int8/i16int8s.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "int8.h"
+
+int8 i16int8s(int16 x) {
+ return (int8) x;
+}
diff --git a/src/c/elementaryFunctions/int8/sint8a.c b/src/c/elementaryFunctions/int8/sint8a.c
new file mode 100644
index 00000000..4a04a4b0
--- /dev/null
+++ b/src/c/elementaryFunctions/int8/sint8a.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "int8.h"
+
+void sint8a(float* x, int size, int8* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = sint8s(x[i]);
+}
diff --git a/src/c/elementaryFunctions/int8/sint8s.c b/src/c/elementaryFunctions/int8/sint8s.c
new file mode 100644
index 00000000..6e4093e1
--- /dev/null
+++ b/src/c/elementaryFunctions/int8/sint8s.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "int8.h"
+
+int8 sint8s(float x) {
+ return (int8) x;
+}
diff --git a/src/c/elementaryFunctions/int8/u16int8a.c b/src/c/elementaryFunctions/int8/u16int8a.c
new file mode 100644
index 00000000..958dcb7c
--- /dev/null
+++ b/src/c/elementaryFunctions/int8/u16int8a.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "int8.h"
+
+void u16int8a(uint16* x, int size, int8* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = u16int8s(x[i]);
+}
diff --git a/src/c/elementaryFunctions/int8/u16int8s.c b/src/c/elementaryFunctions/int8/u16int8s.c
new file mode 100644
index 00000000..440b5d8a
--- /dev/null
+++ b/src/c/elementaryFunctions/int8/u16int8s.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "int8.h"
+
+int8 u16int8s(uint16 x) {
+ return (int8) x;
+}
diff --git a/src/c/elementaryFunctions/int8/u8int8a.c b/src/c/elementaryFunctions/int8/u8int8a.c
new file mode 100644
index 00000000..310aafd6
--- /dev/null
+++ b/src/c/elementaryFunctions/int8/u8int8a.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "int8.h"
+
+void u8int8a(uint8* x, int size, int8* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = u8int8s(x[i]);
+}
diff --git a/src/c/elementaryFunctions/int8/u8int8s.c b/src/c/elementaryFunctions/int8/u8int8s.c
new file mode 100644
index 00000000..40b7e932
--- /dev/null
+++ b/src/c/elementaryFunctions/int8/u8int8s.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "int8.h"
+
+int8 u8int8s(uint8 x) {
+ return (int8) x;
+}
diff --git a/src/c/elementaryFunctions/interfaces/int_OpDotHat.h b/src/c/elementaryFunctions/interfaces/int_OpDotHat.h
index 8e5c7042..2444f100 100644
--- a/src/c/elementaryFunctions/interfaces/int_OpDotHat.h
+++ b/src/c/elementaryFunctions/interfaces/int_OpDotHat.h
@@ -25,6 +25,14 @@
#define z0z0OpDotHatz0(in1, in2) zpows(in1, in2)
+#define u80u80OpDotHatu80(in1, in2) u8pows(in1, in2)
+
+#define u160u160OpDotHatu160(in1, in2) u16pows(in1, in2)
+
+#define i80i80OpDotHati80(in1, in2) i8pows(in1, in2)
+
+#define i160i160OpDotHati60(in1, in2) i16pows(in1, in2)
+
#define s0c0OpDotHatc0(in1, in2) cpows(FloatComplex(in1,0), in2)
#define c0s0OpDotHatc0(in1, in2) cpows(in1, FloatComplex(in2,0))
@@ -53,6 +61,20 @@
for (i=0;i<size[0]*size[1];i++) out[i]=zpows(in1,in2[i]);\
}
+#define u80u82OpDotHatu82(in1, in2, size, out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=u8pows(in1,in2[i]);\
+ }
+
+#define u160u162OpDotHatu162(in1, in2, size, out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=u16pows(in1,in2[i]);\
+ }
+#define i80i82OpDotHati82(in1, in2, size, out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=i8pows(in1,in2[i]);\
+ }
+
+#define i160i162OpDotHati162(in1, in2, size, out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=i16pows(in1,in2[i]);\
+ }
#define s0c2OpDotHatc2(in1, in2, size, out) {int i=0;\
@@ -90,6 +112,23 @@
for (i=0;i<size[0]*size[1];i++) out[i]=zpows(in1[i],in2);\
}
+#define u82u80OpDotHatu82(in1,size,in2,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=u8pows(in1[i],in2);\
+ }
+
+#define u162u160OpDotHatu162(in1,size,in2,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=u16pows(in1[i],in2);\
+ }
+
+#define i82i80OpDotHati82(in1,size,in2,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=i8pows(in1[i],in2);\
+ }
+
+#define i162i160OpDotHati162(in1,size,in2,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=i16pows(in1[i],in2);\
+ }
+
+
#define s2c0OpDotHatc2(in1,size,in2,out) {int i=0;\
for (i=0;i<size[0]*size[1];i++) out[i]=cpows(FloatComplex(in1[i],0),in2);\
}
@@ -106,6 +145,24 @@
for (i=0;i<size[0]*size[1];i++) out[i]=zpows(in1[i],DoubleComplex(in2,0));\
}
+#define u82d0OpDotHatu82(in1,size,in2,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=u8pows(in1[i],in2);\
+ }
+
+#define u162d0OpDotHatu162(in1,size,in2,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=u16pows(in1[i],in2);\
+ }
+
+
+#define i82d0OpDotHati82(in1,size,in2,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=i8pows(in1[i],in2);\
+ }
+
+#define i162d0OpDotHatui62(in1,size,in2,out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=i16pows(in1[i],in2);\
+ }
+
+
/* Matrix - Matrix */
@@ -117,6 +174,14 @@
#define z2z2OpDotHatz2(in1, size1, in2, size2, out) zpowa(in1, size1[0]*size2[1], in2, out)
+#define u82u82OpDotHatu82(in1, size1, in2, size2, out) u8powa(in1, size1[0]*size2[1], in2, out)
+
+#define u162u162OpDotHatu162(in1, size1, in2, size2, out) u16powa(in1, size1[0]*size2[1], in2, out)
+
+#define i82i82OpDotHati82(in1, size1, in2, size2, out) i8powa(in1, size1[0]*size2[1], in2, out)
+
+#define i162i162OpDotHati162(in1, size1, in2, size2, out) i16powa(in1, size1[0]*size2[1], in2, out)
+
#define s2c2OpDotHatc2(in1, size1, in2, size2, out) {int i=0;\
for (i=0;i<size1[0]*size2[1];i++) out[i]=cpows(FloatComplex(in1[i],0),in2[i]);\
}
diff --git a/src/c/elementaryFunctions/interfaces/int_OpHat.h b/src/c/elementaryFunctions/interfaces/int_OpHat.h
index 8cc8849c..f1bb8d51 100644
--- a/src/c/elementaryFunctions/interfaces/int_OpHat.h
+++ b/src/c/elementaryFunctions/interfaces/int_OpHat.h
@@ -23,6 +23,14 @@
#define c0c0OpHatc0(in1, in2) cpows(in1, in2)
+#define u80u80OpHatu80(in1,in2) u8pows(in1, in2)
+
+#define u160u160OpHatu160(in1,in2) u16pows(in1, in2)
+
+#define i80i80OpHati80(in1,in2) i8pows(in1, in2)
+
+#define i160i60OpHati60(in1,in2) i6pows(in1, in2)
+
#define s0c0OpHatc0(in1, in2) cpows(FloatComplex(in1,0), in2)
#define c0s0OpHatc0(in1, in2) cpows(in1, FloatComplex(in2,0))
@@ -54,6 +62,25 @@
for (i=0;i<size[0]*size[1];i++) out[i]=zpows(in1,in2[i]);\
}
+#define u80u82OpHatu82(in1, in2, size, out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=u8pows(in1,in2[i]);\
+ }
+
+
+#define u160u162OpHatu162(in1, in2, size, out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=u16pows(in1,in2[i]);\
+ }
+
+#define i80i82OpHati82(in1, in2, size, out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=i8pows(in1,in2[i]);\
+ }
+
+
+#define i160i162OpHati162(in1, in2, size, out) {int i=0;\
+ for (i=0;i<size[0]*size[1];i++) out[i]=i16pows(in1,in2[i]);\
+ }
+
+
#define s0c2OpHatc2(in1, in2, size, out) {int i=0;\
@@ -84,6 +111,22 @@
#define z2z0OpHatz2(in1,size,in2,out) zpowma(in1,size[0],in2,out);
+#define u82u80OpHatu82(in1,size,in2,out) u8powa(in1,size[0],in2,out)
+
+#define u162u162OpHatu162(in1,size,in2,out) u16powa(in1,size[0],in2,out)
+
+#define i82i80OpHati82(in1,size,in2,out) i8powa(in1,size[0],in2,out)
+
+#define i162i160OpHati82(in1,size,in2,out) i16powa(in1,size[0],in2,out)
+
+#define u82d0OpHatu82(in1,size,in2,out) u8powa(in1,size[0],in2,out)
+
+#define u162d0OpHatu162(in1,size,in2,out) u16powa(in1,size[0],in2,out)
+
+#define i82d0OpHati82(in1,size,in2,out) i8powa(in1,size[0],in2,out)
+
+#define i162d0OpHati162(in1,sine,in2,out) i16powa(in1,size[0],in2,out)
+
/* FIXME : malloc here */
#define s2c0OpHatc2(in1,size,in2,out) {float* tmp;\
tmp = malloc((uint)(size[0]*size[1])*sizeof(float));\
diff --git a/src/c/elementaryFunctions/interfaces/int_acosd.h b/src/c/elementaryFunctions/interfaces/int_acosd.h
new file mode 100644
index 00000000..ee188c98
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_acosd.h
@@ -0,0 +1,34 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+#ifndef __INT_ACOSD_H__
+#define __INT_ACOSD_H__
+
+#include "acosd.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define d0acosdd0(in1) dacosds(in1);
+
+#define d2acosdd2(in1,in2,in3) dacosda(in1,in2[0]*in2[1],in3);
+
+#define s0acosds0(in1) sacosds(in1);
+
+#define s2acosds2(in1,in2,in3) sacosda(in1,in2[0]*in2[1],in3);
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__ACOSD_H__ */
+
diff --git a/src/c/elementaryFunctions/interfaces/int_acot.h b/src/c/elementaryFunctions/interfaces/int_acot.h
new file mode 100644
index 00000000..371e64b5
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_acot.h
@@ -0,0 +1,42 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+#ifndef __INT_ACOT_H__
+#define __INT_ACOT_H__
+
+#include "acot.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define d0acotd0(in1) dacots(in1);
+
+#define d2acotd2(in1,in2,in3) dacota(in1,in2[0]*in2[1],in3);
+
+#define s0acots0(in1) sacots(in1);
+
+#define s2acots2(in1,in2,in3) sacota(in1,in2[0]*in2[1],in3);
+
+#define c0acotd0(in1) cacots(in1);
+
+#define c2acotc2(in1,in2,in3) cacota(in1,in2[0]*in2[1],in3);
+
+#define z0acotz0(in1) zacots(in1);
+
+#define z2acotz2(in1,in2,in3) zacota(in1,in2[0]*in2[1],in3);
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__ACOT_H__ */
+
diff --git a/src/c/elementaryFunctions/interfaces/int_acotd.h b/src/c/elementaryFunctions/interfaces/int_acotd.h
new file mode 100644
index 00000000..22367bee
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_acotd.h
@@ -0,0 +1,33 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+#ifndef __INT_ACOTD_H__
+#define __INT_ACOTD_H__
+
+#include "acotd.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define d0acotdd0(in1) dacotds(in1);
+
+#define d2acotdd2(in1,in2,in3) dacotda(in1,in2[0]*in2[1],in3);
+
+#define s0acotds0(in1) sacotds(in1);
+
+#define s2acotds2(in1,in2,in3) sacotda(in1,in2[0]*in2[1],in3);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__ACOTD_H__ */
+
diff --git a/src/c/elementaryFunctions/interfaces/int_acoth.h b/src/c/elementaryFunctions/interfaces/int_acoth.h
new file mode 100644
index 00000000..8ec51a77
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_acoth.h
@@ -0,0 +1,43 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+
+#ifndef __INT_ACOTH_H__
+#define __INT_ACOTH_H__
+
+#include "acoth.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define d0acothd0(in1) dacoths(in1);
+
+#define d2acothd2(in1,in2,in3) dacotha(in1,in2[0]*in2[1],in3);
+
+#define s0acoths0(in1) sacoths(in1);
+
+#define s2acoths2(in1,in2,in3) sacotha(in1,in2[0]*in2[1],in3);
+
+#define c0acothc0(in1) cacoths(in1);
+
+#define c2acothc2(in1,in2,in3) cacotha(in1,in2[0]*in2[1],in3);
+
+#define z0acothz0(in1) zacoths(in1);
+
+#define z2acothz2(in1,in2,in3) zacotha(in1,in2[0]*in2[1],in3);
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__ACOTH_H__ */
+
diff --git a/src/c/elementaryFunctions/interfaces/int_acsc.h b/src/c/elementaryFunctions/interfaces/int_acsc.h
new file mode 100644
index 00000000..e16f7c99
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_acsc.h
@@ -0,0 +1,42 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+#ifndef __INT_ACSC_H__
+#define __INT_ACSC_H__
+
+#include "acsc.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define d0acscd0(in1) dacscs(in1);
+
+#define d2acscd2(in1,in2,in3) dacsca(in1,in2[0]*in2[1],in3);
+
+#define s0acscs0(in1) sacscs(in1);
+
+#define s2acscs2(in1,in2,in3) sacsca(in1,in2[0]*in2[1],in3);
+
+#define c0acscc0(in1) cacscs(in1);
+
+#define c2acscc2(in1,in2,in3) cacsca(in1,in2[0]*in2[1],in3);
+
+#define z0acscz0(in1) zacscs(in1);
+
+#define z2acscz2(in1,in2,in3) zacsca(in1,in2[0]*in2[1],in3);
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__ACSC_H__ */
+
diff --git a/src/c/elementaryFunctions/interfaces/int_acscd.h b/src/c/elementaryFunctions/interfaces/int_acscd.h
new file mode 100644
index 00000000..fa13acb8
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_acscd.h
@@ -0,0 +1,34 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+#ifndef __INT_ACSCD_H__
+#define __INT_ACSCD_H__
+
+#include "acscd.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define d0acscdd0(in1) dacscds(in1);
+
+#define d2acscdd2(in1,in2,in3) dacscda(in1,in2[0]*in2[1],in3);
+
+#define s0acscds0(in1) sacscds(in1);
+
+#define s2acscds2(in1,in2,in3) sacscda(in1,in2[0]*in2[1],in3);
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__ACSCD_H__ */
+
diff --git a/src/c/elementaryFunctions/interfaces/int_acsch.h b/src/c/elementaryFunctions/interfaces/int_acsch.h
new file mode 100644
index 00000000..2101abe2
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_acsch.h
@@ -0,0 +1,34 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+#ifndef __INT_ACSCH_H__
+#define __INT_ACSCH_H__
+
+#include "acsch.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define d0acschd0(in1) dacschs(in1);
+
+#define d2acschd2(in1,in2,in3) dacscha(in1,in2[0]*in2[1],in3);
+
+#define s0acschs0(in1) sacschs(in1);
+
+#define s2acschs2(in1,in2,in3) sacscha(in1,in2[0]*in2[1],in3);
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__ACSCH_H__ */
+
diff --git a/src/c/elementaryFunctions/interfaces/int_asec.h b/src/c/elementaryFunctions/interfaces/int_asec.h
new file mode 100644
index 00000000..25a1f111
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_asec.h
@@ -0,0 +1,34 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+#ifndef __INT_ASEC_H__
+#define __INT_ASEC_H__
+
+#include "asec.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define d0asecd0(in1) dasecs(in1);
+
+#define d2asecd2(in1,in2,in3) daseca(in1,in2[0]*in2[1],in3);
+
+#define s0asecs0(in1) sasecs(in1);
+
+#define s2asecs2(in1,in2,in3) saseca(in1,in2[0]*in2[1],in3);
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__ASEC_H__ */
+
diff --git a/src/c/elementaryFunctions/interfaces/int_asecd.h b/src/c/elementaryFunctions/interfaces/int_asecd.h
new file mode 100644
index 00000000..a722b6b8
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_asecd.h
@@ -0,0 +1,34 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+#ifndef __INT_ASECD_H__
+#define __INT_ASECD_H__
+
+#include "asecd.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define d0asecdd0(in1) dasecds(in1);
+
+#define d2asecdd2(in1,in2,in3) dasecda(in1,in2[0]*in2[1],in3);
+
+#define s0asecds0(in1) sasecds(in1);
+
+#define s2asecds2(in1,in2,in3) sasecda(in1,in2[0]*in2[1],in3);
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__ASECD_H__ */
+
diff --git a/src/c/elementaryFunctions/interfaces/int_asech.h b/src/c/elementaryFunctions/interfaces/int_asech.h
new file mode 100644
index 00000000..c6830f5c
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_asech.h
@@ -0,0 +1,34 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+#ifndef __INT_ASECH_H__
+#define __INT_ASECH_H__
+
+#include "asech.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define d0asechd0(in1) dasechs(in1);
+
+#define d2asechd2(in1,in2,in3) dasecha(in1,in2[0]*in2[1],in3);
+
+#define s0asechs0(in1) sasechs(in1);
+
+#define s2asechs2(in1,in2,in3) sasecha(in1,in2[0]*in2[1],in3);
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__ASECH_H__ */
+
diff --git a/src/c/elementaryFunctions/interfaces/int_asind.h b/src/c/elementaryFunctions/interfaces/int_asind.h
new file mode 100644
index 00000000..fe640ea5
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_asind.h
@@ -0,0 +1,34 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+#ifndef __INT_ASIND_H__
+#define __INT_ASIND_H__
+
+#include "asind.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define d0asindd0(in1) dasinds(in1);
+
+#define d2asindd2(in1,in2,in3) dasinda(in1,in2[0]*in2[1],in3);
+
+#define s0asinds0(in1) sasinds(in1);
+
+#define s2asinds2(in1,in2,in3) sasinda(in1,in2[0]*in2[1],in3);
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__ASIND_H__ */
+
diff --git a/src/c/elementaryFunctions/interfaces/int_atand.h b/src/c/elementaryFunctions/interfaces/int_atand.h
new file mode 100644
index 00000000..0adc9065
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_atand.h
@@ -0,0 +1,34 @@
+// Copyright (C) 2017 - IIT Bombay - FOSSEE
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+// Organization: FOSSEE, IIT Bombay
+// Author: Ashish Kamble
+// Email: toolbox@scilab.in
+#ifndef __INT_ATAND_H__
+#define __INT_ATAND_H__
+
+#include "atand.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define d0atandd0(in1) datands(in1);
+
+#define d2atandd2(in1,in2,in3) datanda(in1,in2[0]*in2[1],in3);
+
+#define s0atands0(in1) satands(in1);
+
+#define s2atands2(in1,in2,in3) satanda(in1,in2[0]*in2[1],in3);
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* !__ATAND_H__ */
+
diff --git a/src/c/elementaryFunctions/interfaces/int_base2dec.h b/src/c/elementaryFunctions/interfaces/int_base2dec.h
new file mode 100644
index 00000000..8d5e68eb
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_base2dec.h
@@ -0,0 +1,27 @@
+ /* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __INT_base2dec_H__
+#define __INT_base2dec_H__
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+#define g2d0base2decd0(in,size,base) gbase2decs(in,size[1],base)
+#define d0d0base2decd0(in,base) dbase2decs(in,base)
+//#define g2d0base2decd2(in,size,out) gbase2deca(in,size[1],out)
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__INT_base2dec_H__*/
diff --git a/src/c/elementaryFunctions/interfaces/int_bin2dec.h b/src/c/elementaryFunctions/interfaces/int_bin2dec.h
new file mode 100644
index 00000000..c8e07b09
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_bin2dec.h
@@ -0,0 +1,37 @@
+ /* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __INT_bin2dec_H__
+#define __INT_bin2dec_H__
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+#define d0bin2decd0(in) dbin2decs(in)
+#define i80bin2deci80(in) i8bin2decs(in)
+//#define i160bin2deci160(in) i16bin2decs(in)
+#define u80bin2decu80(in) u8bin2decs(in)
+#define u160bin2decu160(in) u16bin2decs(in)
+
+#define d2bin2decd2(in,size,out) dbin2deca(in,size[0]*size[1],out)
+#define i82bin2deci82(in,size,out) i8bin2deca(in,size[0]*size[1],out)
+//#define i162bin2deci162(in,size,out) i16bin2deca(in,size[0]*size[1],out)
+#define u82bin2decu82(in,size,out) u8bin2deca(in,size[0]*size[1],out)
+#define u162bin2decu162(in,size,out) u16bin2deca(in,size[0]*size[1],out)
+
+
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__INT_bin2dec_H__*/
diff --git a/src/c/elementaryFunctions/interfaces/int_bitand.h b/src/c/elementaryFunctions/interfaces/int_bitand.h
new file mode 100644
index 00000000..8b208eaa
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_bitand.h
@@ -0,0 +1,26 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __INT_BITAND_H__
+#define __INT_BITAND_H__
+
+
+#define u80u80bitandu80(in1,in2) u8bitands(in1,in2)
+
+#define u82u82bitandu82(in1,size1,in2,size2,out) u8bitanda(in1,in2,size1[0]*size1[1],out)
+
+#define u160u160bitandu160(in1,in2) u16bitands(in1,in2)
+
+#define u162u162bitandu162(in1,size1,in2,size2,out) u16bitanda(in1,in2,size1[0]*size1[1],out)
+
+
+#endif
diff --git a/src/c/elementaryFunctions/interfaces/int_bitcmp.h b/src/c/elementaryFunctions/interfaces/int_bitcmp.h
new file mode 100644
index 00000000..d49289f1
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_bitcmp.h
@@ -0,0 +1,26 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __INT_BITCMP_H__
+#define __INT_BITCMP_H__
+
+
+#define u80d0bitcmpu80(in1,in2) u8bitcmps(in1,in2)
+
+#define u82d0bitcmpu82(in1,size1,in2,out) u8bitcmpa(in1,in2,size1[0]*size1[1],out)
+
+#define u160d0bitcmpu160(in1,in2) u16bitcmps(in1,in2)
+
+#define u162d0bitcmpu162(in1,size1,in2,out) u16bitcmpa(in1,in2,size1[0]*size1[1],out)
+
+
+#endif
diff --git a/src/c/elementaryFunctions/interfaces/int_bitget.h b/src/c/elementaryFunctions/interfaces/int_bitget.h
new file mode 100644
index 00000000..ea930ab1
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_bitget.h
@@ -0,0 +1,20 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __INT_BITGET_H__
+#define __INT_BITGET_H__
+
+#define u80d0bitgetu80(in1,in2) u8bitgets(in1,in2)
+
+#define u160d0bitgetu160(in1,in2) u16bitgets(in1,in2)
+
+#endif
diff --git a/src/c/elementaryFunctions/interfaces/int_bitor.h b/src/c/elementaryFunctions/interfaces/int_bitor.h
new file mode 100644
index 00000000..00edc483
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_bitor.h
@@ -0,0 +1,26 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __INT_BITOR_H__
+#define __INT_BITOR_H__
+
+
+#define u80u80bitoru80(in1,in2) u8bitors(in1,in2)
+
+#define u82u82bitoru82(in1,size1,in2,size2,out) u8bitora(in1,in2,size1[0]*size1[1],out)
+
+#define u160u160bitoru160(in1,in2) u16bitors(in1,in2)
+
+#define u162u162bitoru162(in1,size1,in2,size2,out) u16bitora(in1,in2,size1[0]*size1[1],out)
+
+
+#endif
diff --git a/src/c/elementaryFunctions/interfaces/int_bitset.h b/src/c/elementaryFunctions/interfaces/int_bitset.h
new file mode 100644
index 00000000..a37160be
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_bitset.h
@@ -0,0 +1,23 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __INT_BITSET_H__
+#define __INT_BITSET_H__
+
+#define u80d0d0bitsetu80(in1,in2,in3) u8bitsets(in1,in2,in3)
+
+#define u160d0d0bitsetu160(in1,in2,in3) u16bitsets(in1,in2,in3)
+
+
+
+
+#endif
diff --git a/src/c/elementaryFunctions/interfaces/int_bitxor.h b/src/c/elementaryFunctions/interfaces/int_bitxor.h
new file mode 100644
index 00000000..1722c909
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_bitxor.h
@@ -0,0 +1,26 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __INT_BITXOR_H__
+#define __INT_BITXOR_H__
+
+
+#define u80u80bitxoru80(in1,in2) u8bitxors(in1,in2)
+
+#define u82u82bitxoru82(in1,size1,in2,size2,out) u8bitxora(in1,in2,size1[0]*size1[1],out)
+
+#define u160u160bitxoru160(in1,in2) u16bitxors(in1,in2)
+
+#define u162u162bitxoru162(in1,size1,in2,size2,out) u16bitxora(in1,in2,size1[0]*size1[1],out)
+
+
+#endif
diff --git a/src/c/elementaryFunctions/interfaces/int_ceil.h b/src/c/elementaryFunctions/interfaces/int_ceil.h
index 918dd5a0..33c01769 100644
--- a/src/c/elementaryFunctions/interfaces/int_ceil.h
+++ b/src/c/elementaryFunctions/interfaces/int_ceil.h
@@ -23,6 +23,14 @@
#define z0ceilz0(in) zceils(in)
+#define u80ceilu80(in) u8ceils(in)
+
+#define i80ceili80(in) i8ceils(in)
+
+#define u160ceilu160(in) u16ceils(in)
+
+#define i160ceili160(in) i16ceils(in)
+
#define s2ceils2(in,size,out) sceila(in, size[0]*size[1], out)
#define d2ceild2(in,size,out) dceila(in, size[0]*size[1], out)
@@ -31,4 +39,12 @@
#define z2ceilz2(in,size,out) zceila(in, size[0]*size[1], out)
+#define u82ceilu82(in,size,out) u8ceila(in, size[0]*size[1], out)
+
+#define i82ceili82(in,size,out) i8ceila(in, size[0]*size[1], out)
+
+#define u162ceilu162(in,size,out) u16ceila(in, size[0]*size[1], out)
+
+#define i162ceili162(in,size,out) i16ceila(in, size[0]*size[1], out)
+
#endif /* !__INT_CEIL_H__ */
diff --git a/src/c/elementaryFunctions/interfaces/int_cos.h b/src/c/elementaryFunctions/interfaces/int_cos.h
index 647bff6c..b19bcfc1 100644
--- a/src/c/elementaryFunctions/interfaces/int_cos.h
+++ b/src/c/elementaryFunctions/interfaces/int_cos.h
@@ -23,6 +23,14 @@
#define z0cosz0(in) zcoss(in)
+#define u80coss0(in) u8coss(in)
+
+#define i80coss0(in) i8coss(in)
+
+#define u160coss0(in) u16coss(in)
+
+#define i160coss0(in) i16coss(in)
+
#define s2coss2(in,size,out) scosa(in, size[0]*size[1], out)
#define d2cosd2(in,size,out) dcosa(in, size[0]*size[1], out)
@@ -31,4 +39,12 @@
#define z2cosz2(in,size,out) zcosa(in, size[0]*size[1], out)
+#define u82coss2(in,size,out) u8cosa(in, size[0]*size[1], out)
+
+#define i82coss2(in,size,out) i8cosa(in, size[0]*size[1], out)
+
+#define u162coss2(in,size,out) u16cosa(in, size[0]*size[1], out)
+
+#define i162coss2(in,size,out) i16cosa(in, size[0]*size[1], out)
+
#endif /* !__INT_COS_H__ */
diff --git a/src/c/elementaryFunctions/interfaces/int_cosd.h b/src/c/elementaryFunctions/interfaces/int_cosd.h
new file mode 100644
index 00000000..9ca9945b
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_cosd.h
@@ -0,0 +1,28 @@
+ /* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __INT_COSD_H__
+#define __INT_COSD_H__
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+#define d2cosdd2(in,size,out) dcosda(in,size[1],out)
+#define d0cosdd0(in) dcosds(in)
+#define s2cosds2(in,size,out) scosda(in,size[1],out)
+#define s0cosds0(in) scosds(in)
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__INT_COSD_H__*/
diff --git a/src/c/elementaryFunctions/interfaces/int_cosh.h b/src/c/elementaryFunctions/interfaces/int_cosh.h
index 28915ca3..c2b97ada 100644
--- a/src/c/elementaryFunctions/interfaces/int_cosh.h
+++ b/src/c/elementaryFunctions/interfaces/int_cosh.h
@@ -23,6 +23,14 @@
#define z0coshz0(in) zcoshs(in)
+#define u80coshs0(in) u8coshs(in)
+
+#define i80coshs0(in) i8coshs(in)
+
+#define u160coshs0(in) u16coshs(in)
+
+#define i160coshs0(in) i16coshs(in)
+
#define s2coshs2(in,size,out) scosha(in, size[0]*size[1], out)
#define d2coshd2(in,size,out) dcosha(in, size[0]*size[1], out)
@@ -31,4 +39,12 @@
#define z2coshz2(in,size,out) zcosha(in, size[0]*size[1], out)
+#define u82coshs2(in,size,out) u8cosha(in, size[0]*size[1], out)
+
+#define i82coshs2(in,size,out) i8cosha(in, size[0]*size[1], out)
+
+#define u162coshs2(in,size,out) u16cosha(in, size[0]*size[1], out)
+
+#define i162coshs2(in,size,out) i16cosha(in, size[0]*size[1], out)
+
#endif /* !__INT_COSH_H__ */
diff --git a/src/c/elementaryFunctions/interfaces/int_cotd.h b/src/c/elementaryFunctions/interfaces/int_cotd.h
new file mode 100644
index 00000000..382f7802
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_cotd.h
@@ -0,0 +1,28 @@
+ /* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __INT_COTD_H__
+#define __INT_COTD_H__
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+#define d2cotdd2(in,size,out) dcotda(in,size[1],out)
+#define s2cotds2(in,size,out) scotda(in,size[1],out)
+#define d0cotdd0(in) dcotds(in)
+#define s0cotds0(in) scotds(in)
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__INT_COTD_H__*/
diff --git a/src/c/elementaryFunctions/interfaces/int_coth.h b/src/c/elementaryFunctions/interfaces/int_coth.h
new file mode 100644
index 00000000..db8887a3
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_coth.h
@@ -0,0 +1,32 @@
+ /* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __INT_COTH_H__
+#define __INT_COTH_H__
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+#define d2cothd2(in,size,out) dcotha(in,size[1],out)
+#define s2coths2(in,size,out) scotha(in,size[1],out)
+#define d0cothd0(in) dcoths(in)
+#define s0coths0(in) scoths(in)
+#define z0cothz0(in) zcoths(in)
+#define z2cothz2(in,size,out) zcoths(in,size[1],out)
+#define c0cothc0(in) ccoths(in)
+#define c2cothc2(in,size,out) ccoths(in,size[1],out)
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__INT_COTH_H__*/
diff --git a/src/c/elementaryFunctions/interfaces/int_csc.h b/src/c/elementaryFunctions/interfaces/int_csc.h
new file mode 100644
index 00000000..74038c97
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_csc.h
@@ -0,0 +1,32 @@
+ /* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __INT_CSC_H__
+#define __INT_CSC_H__
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+#define d2cscd2(in,size,out) dcsca(in,size[1],out)
+#define d0cscd0(in) dcscs(in)
+#define s2cscs2(in,size,out) scsca(in,size[1],out)
+#define s0cscs0(in) scscs(in)
+#define z2cscz2(in,size,out) zcsca(in,size[1],out)
+#define z0cscz0(in) zcscs(in)
+#define c2cscc2(in,size,out) ccsca(in,size[1],out)
+#define c0cscc0(in) ccscs(in)
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__INT_CSC_H__*/
diff --git a/src/c/elementaryFunctions/interfaces/int_cscd.h b/src/c/elementaryFunctions/interfaces/int_cscd.h
new file mode 100644
index 00000000..99bc49a3
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_cscd.h
@@ -0,0 +1,32 @@
+ /* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __INT_CSCD_H__
+#define __INT_CSCD_H__
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+#define d2cscdd2(in,size,out) dcscda(in,size[1],out)
+#define d0cscdd0(in) dcscds(in)
+#define s2cscds2(in,size,out) scscda(in,size[1],out)
+#define s0cscds0(in) scscds(in)
+#define z0cscdz0(in) zcscds(in)
+#define z2cscdz2(in,size,out) zcscds(in,size[1],out)
+#define c0cscdc0(in) ccscds(in)
+#define c2cscdc2(in,size,out) ccscds(in,size[1],out)
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__INT_CSCD_H__*/
diff --git a/src/c/elementaryFunctions/interfaces/int_csch.h b/src/c/elementaryFunctions/interfaces/int_csch.h
new file mode 100644
index 00000000..ce355895
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_csch.h
@@ -0,0 +1,32 @@
+ /* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __INT_CSCH_H__
+#define __INT_CSCH_H__
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+#define d2cschd2(in,size,out) dcscha(in,size[1],out)
+#define d0cschd0(in) dcschs(in)
+#define s2cschs2(in,size,out) scscha(in,size[1],out)
+#define s0cschs0(in) scschs(in)
+#define z0cschz0(in) zcschs(in)
+#define z2cschz2(in,size,out) zcschs(in,size[1],out)
+#define c0cschc0(in) ccschs(in)
+#define c2cschc2(in,size,out) ccschs(in,size[1],out)
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__INT_CSC_H__*/
diff --git a/src/c/elementaryFunctions/interfaces/int_dec2base.h b/src/c/elementaryFunctions/interfaces/int_dec2base.h
new file mode 100644
index 00000000..637f099c
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_dec2base.h
@@ -0,0 +1,35 @@
+ /* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __INT_dec2base_H__
+#define __INT_dec2base_H__
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+#define d0d0dec2baseg2(in,base,out) ddec2bases(in,base,0,out)
+#define s0d0dec2baseg2(in,base,out) sdec2bases(in,base,0,out)
+
+#define d2d0dec2baseg2(in,size,out) ddec2basea(in,size[0]*size[1],base,0,out)
+#define s2d0dec2baseg2(in,size,out) sdec2basea(in,size[0]*size[1],base,0,out)
+
+#define d0d0d0dec2baseg2(in,base,n,out) ddec2bases(in,base,n,out)
+#define s0d0d0dec2baseg2(in,base,n,out) sdec2bases(in,base,n,out)
+
+#define d2d0d0dec2baseg2(in,size,base,n,out) ddec2basea(in,size[0]*size[1],base,n,out)
+#define s2d0d0dec2baseg2(in,size,base,n,out) sdec2basea(in,size[0]*size[1],base,n,out)
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__INT_dec2base_H__*/
diff --git a/src/c/elementaryFunctions/interfaces/int_dec2bin.h b/src/c/elementaryFunctions/interfaces/int_dec2bin.h
new file mode 100644
index 00000000..c6f2008b
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_dec2bin.h
@@ -0,0 +1,48 @@
+ /* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __INT_dec2bin_H__
+#define __INT_dec2bin_H__
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+#define d0dec2bind2(in,out) ddec2bins(in,0,out)
+#define i80dec2bini82(in,out) i8dec2bins(in,0,out)
+#define i160dec2bini162(in,out) i16dec2bins(in,0,out)
+#define u80dec2binu82(in,out) u8dec2bins(in,0,out)
+#define u160dec2binu162(in,out) u16dec2bins(in,0,out)
+
+#define d2dec2bind2(in,size,out) ddec2bina(in,size[0]*size[1],0,out)
+#define i82dec2bini82(in,size,out) i8dec2bina(in,size[0]*size[1],0,out)
+#define i162dec2bini162(in,size,out) i16dec2bina(in,size[0]*size[1],0,out)
+#define u82dec2binu82(in,size,out) u8dec2bina(in,size[0]*size[1],0,out)
+#define u162dec2binu162(in,size,out) u16dec2bina(in,size[0]*size[1],0,out)
+
+#define d0d0dec2bind2(in,n,out) ddec2bins(in,n,out)
+#define i80d0dec2bini82(in,n,out) i8dec2bins(in,n,out)
+#define i160d0dec2bini162(in,n,out) i16dec2bins(in,n,out)
+#define u80d0dec2binu82(in,n,out) u8dec2bins(in,n,out)
+#define u160d0dec2binu162(in,n,out) u16dec2bins(in,n,out)
+
+#define d2d0dec2bind2(in,size,n,out) ddec2bina(in,size[0]*size[1],n,out)
+#define i82d0dec2bini82(in,size,n,out) i8dec2bina(in,size[0]*size[1],n,out)
+#define i162d0dec2bini162(in,size,n,out) i16dec2bina(in,size[0]*size[1],n,out)
+#define u82d0dec2binu82(in,size,n,out) u8dec2bina(in,size[0]*size[1],n,out)
+#define u162d0dec2binu162(in,size,n,out) u16dec2bina(in,size[0]*size[1],n,out)
+
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__INT_dec2bin_H__*/
diff --git a/src/c/elementaryFunctions/interfaces/int_dec2hex.h b/src/c/elementaryFunctions/interfaces/int_dec2hex.h
new file mode 100644
index 00000000..bed85be1
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_dec2hex.h
@@ -0,0 +1,35 @@
+ /* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __INT_dec2hex_H__
+#define __INT_dec2hex_H__
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+#define d0dec2hexg2(in,out) ddec2hexs(in,out)
+#define i80dec2hexg2(in,out) i8dec2hexs(in,out)
+#define i160dec2hexg2(in,out) i16dec2hexs(in,out)
+#define u80dec2hexg2(in,out) u8dec2hexs(in,out)
+#define u160dec2hexg2(in,out) u16dec2hexs(in,out)
+
+#define d2dec2hexg2(in,size,out) ddec2hexa(in,size[0]*size[1],out)
+#define i82dec2hexg2(in,size,out) i8dec2hexa(in,size[0]*size[1],out)
+#define i162dec2hexg2(in,size,out) i16dec2hexa(in,size[0]*size[1],out)
+#define u82dec2hexg2(in,size,out) u8dec2hexa(in,size[0]*size[1],out)
+#define u162dec2hexg2(in,size,out) u16dec2hexa(in,size[0]*size[1],out)
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__INT_dec2hex_H__*/
diff --git a/src/c/elementaryFunctions/interfaces/int_dec2oct.h b/src/c/elementaryFunctions/interfaces/int_dec2oct.h
new file mode 100644
index 00000000..5cf61be1
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_dec2oct.h
@@ -0,0 +1,36 @@
+ /* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __INT_dec2oct_H__
+#define __INT_dec2oct_H__
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+#define d0dec2octd2(in,out) ddec2octs(in,out)
+#define i80dec2octi82(in,out) i8dec2octs(in,out)
+#define i160dec2octi162(in,out) i16dec2octs(in,out)
+#define u80dec2octu82(in,out) u8dec2octs(in,out)
+#define u160dec2octu162(in,out) u16dec2octs(in,out)
+
+#define d2dec2octd2(in,size,out) ddec2octa(in,size[0]*size[1],out)
+#define i82dec2octi82(in,size,out) i8dec2octa(in,size[0]*size[1],out)
+#define i162dec2octi162(in,size,out) i16dec2octa(in,size[0]*size[1],out)
+#define u82dec2octu82(in,size,out) u8dec2octa(in,size[0]*size[1],out)
+#define u162dec2octu162(in,size,out) u16dec2octa(in,size[0]*size[1],out)
+
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__INT_dec2oct_H__*/
diff --git a/src/c/elementaryFunctions/interfaces/int_exp.h b/src/c/elementaryFunctions/interfaces/int_exp.h
index 3727e3b6..bcb8dd99 100644
--- a/src/c/elementaryFunctions/interfaces/int_exp.h
+++ b/src/c/elementaryFunctions/interfaces/int_exp.h
@@ -23,6 +23,14 @@
#define z0expz0(in) zexps(in)
+#define u80exps0(in) u8exps(in)
+
+#define i80exps0(in) i8exps(in)
+
+#define u160exps0(in) u16exps(in)
+
+#define i160exps0(in) i16exps(in)
+
#define s2exps2(in,size,out) sexpa(in, size[0]*size[1], out)
#define d2expd2(in,size,out) dexpa(in, size[0]*size[1], out)
@@ -31,4 +39,12 @@
#define z2expz2(in,size,out) zexpa(in, size[0]*size[1], out)
+#define u82exps2(in,size,out) u8expa(in, size[0]*size[1], out)
+
+#define i82exps2(in,size,out) i8expa(in, size[0]*size[1], out)
+
+#define u162exps2(in,size,out) u16expa(in, size[0]*size[1], out)
+
+#define i162exps2(in,size,out) i16expa(in, size[0]*size[1], out)
+
#endif /* !__INT_EXP_H__ */
diff --git a/src/c/elementaryFunctions/interfaces/int_factor.h b/src/c/elementaryFunctions/interfaces/int_factor.h
new file mode 100644
index 00000000..5e0991aa
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_factor.h
@@ -0,0 +1,29 @@
+ /* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __INT_FACTOR_H__
+#define __INT_FACTOR_H__
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+#define d0factord2(in,out) dfactors(in,out)
+#define s0factors2(in,out) sfactors(in,out)
+
+
+
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__INT_FACTOR_H__*/
diff --git a/src/c/elementaryFunctions/interfaces/int_factorial.h b/src/c/elementaryFunctions/interfaces/int_factorial.h
new file mode 100644
index 00000000..446b5135
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_factorial.h
@@ -0,0 +1,31 @@
+ /* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __INT_FACTORIAL_H__
+#define __INT_FACTORIAL_H__
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+#define d0factoriald0(in) dfactorials(in)
+#define s0factorials0(in) sfactorials(in)
+
+#define d2factoriald2(in,size,out) dfactoriala(in,size[0]*size[1],out)
+#define s2factorials2(in,size,out) sfactoriala(in,size[0]*size[1],out)
+
+
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__INT_FACTORIAL_H__*/
diff --git a/src/c/elementaryFunctions/interfaces/int_fix.h b/src/c/elementaryFunctions/interfaces/int_fix.h
index ac483c92..2a418a38 100644
--- a/src/c/elementaryFunctions/interfaces/int_fix.h
+++ b/src/c/elementaryFunctions/interfaces/int_fix.h
@@ -23,6 +23,15 @@
#define z0fixz0(in) zfixs(in)
+
+#define u80fixu80(in) u8fixs(in)
+
+#define i80fixi80(in) i8fixs(in)
+
+#define u160fixu160(in) u16fixs(in)
+
+#define i160fixi160(in) i16fixs(in)
+
#define s2fixs2(in,size,out) sfixa(in, size[0]*size[1], out)
#define d2fixd2(in,size,out) dfixa(in, size[0]*size[1], out)
@@ -31,4 +40,12 @@
#define z2fixz2(in,size,out) zfixa(in, size[0]*size[1], out)
+#define u82fixu82(in,size,out) u8fixa(in, size[0]*size[1], out)
+
+#define i82fixi82(in,size,out) i8fixa(in, size[0]*size[1], out)
+
+#define u162fixu162(in,size,out) u16fixa(in, size[0]*size[1], out)
+
+#define i162fixi162(in,size,out) i16fixa(in, size[0]*size[1], out)
+
#endif /* !__INT_FIX_H__ */
diff --git a/src/c/elementaryFunctions/interfaces/int_float.h b/src/c/elementaryFunctions/interfaces/int_float.h
new file mode 100644
index 00000000..df9aa395
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_float.h
@@ -0,0 +1,38 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
+ * Author - Shamik Guha
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ *
+ */
+
+/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
+
+#ifndef __INT_FLOAT_H__
+#define __INT_FLOAT_H__
+
+#define s0floats0(in) sfloats(in)
+
+#define d0floats0(in) dfloats(in)
+
+#define i80floats0(in) i8floats(in)
+
+#define u160floats0(in) u16floats(in)
+
+#define i160floats0(in) i16floats(in)
+
+#define s2floats2(in,size,out) sfloata(in, size[0]*size[1], out)
+
+#define d2floats2(in,size,out) dfloata(in, size[0]*size[1], out)
+
+#define i82floats2(in,size,out) i8floata(in, size[0]*size[1], out)
+
+#define u162floats2(in,size,out) u16floata(in, size[0]*size[1], out)
+
+#define i162floats2(in,size,out) i16floata(in, size[0]*size[1], out)
+
+#endif /* !__INT_FLOAT_H__ */
diff --git a/src/c/elementaryFunctions/interfaces/int_floor.h b/src/c/elementaryFunctions/interfaces/int_floor.h
index 548c5e2a..639819a7 100644
--- a/src/c/elementaryFunctions/interfaces/int_floor.h
+++ b/src/c/elementaryFunctions/interfaces/int_floor.h
@@ -23,6 +23,14 @@
#define z0floorz0(in) zfloors(in)
+#define u80flooru80(in) u8floors(in)
+
+#define i80floori80(in) i8floors(in)
+
+#define u160flooru160(in) u16floors(in)
+
+#define i160floori160(in) i16floors(in)
+
#define s2floors2(in,size,out) sfloora(in, size[0]*size[1], out)
#define d2floord2(in,size,out) dfloora(in, size[0]*size[1], out)
@@ -31,4 +39,12 @@
#define z2floorz2(in,size,out) zfloora(in, size[0]*size[1], out)
+#define u82flooru82(in,size,out) u8floora(in, size[0]*size[1], out)
+
+#define i82floori82(in,size,out) i8floora(in, size[0]*size[1], out)
+
+#define u162flooru162(in,size,out) u16floora(in, size[0]*size[1], out)
+
+#define i162floori162(in,size,out) i16floora(in, size[0]*size[1], out)
+
#endif /* !__INT_FLOOR_H__ */
diff --git a/src/c/elementaryFunctions/interfaces/int_gcd.h b/src/c/elementaryFunctions/interfaces/int_gcd.h
new file mode 100644
index 00000000..f3e117c5
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_gcd.h
@@ -0,0 +1,25 @@
+ /* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __INT_GCD_H__
+#define __INT_GCD_H__
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+#define u82gcdu80(in,size) u8gcda(in,size[1])
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__INT_GCD_H__*/
diff --git a/src/c/elementaryFunctions/interfaces/int_hex2dec.h b/src/c/elementaryFunctions/interfaces/int_hex2dec.h
new file mode 100644
index 00000000..d5589369
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_hex2dec.h
@@ -0,0 +1,26 @@
+ /* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __INT_hex2dec_H__
+#define __INT_hex2dec_H__
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+#define g2hex2decd0(in,size) ghex2decs(in,size[1])
+#define d0hex2decd0(in) dhex2decs(in)
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__INT_hex2dec_H__*/
diff --git a/src/c/elementaryFunctions/interfaces/int_int16.h b/src/c/elementaryFunctions/interfaces/int_int16.h
new file mode 100644
index 00000000..4f32fe9b
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_int16.h
@@ -0,0 +1,38 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
+
+#ifndef __INT_INT16_H__
+#define __INT_INT16_H__
+
+#define s0int16i160(in) sint16s(in)
+
+#define d0int16i160(in) dint16s(in)
+
+#define u80int16i160(in) u8int16s(in)
+
+#define i80int16i160(in) i8int16s(in)
+
+#define u160int16i160(in) u16int16s(in)
+
+#define s2int16i162(in,size,out) sint16a(in, size[0]*size[1], out)
+
+#define d2int16i162(in,size,out) dint16a(in, size[0]*size[1], out)
+
+#define u82int16i162(in,size,out) u8int16a(in, size[0]*size[1], out)
+
+#define i82int16i162(in,size,out) i8int16a(in, size[0]*size[1], out)
+
+#define u162int16i162(in,size,out) u16int16a(in, size[0]*size[1], out)
+
+#endif /* !__INT_INT8_H__ */
diff --git a/src/c/elementaryFunctions/interfaces/int_int32.h b/src/c/elementaryFunctions/interfaces/int_int32.h
new file mode 100644
index 00000000..5da9bd25
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_int32.h
@@ -0,0 +1,46 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
+
+#ifndef __INT_INT32_H__
+#define __INT_INT32_H__
+
+#define s0int32i320(in) sint32s(in)
+
+#define d0int32i320(in) dint32s(in)
+
+#define u80int32i320(in) u8int32s(in)
+
+#define i80int32i320(in) i8int32s(in)
+
+#define u160int32i320(in) u16int32s(in)
+
+#define i160int32i320(in) i16int32s(in)
+
+#define u320int32i320(in) u32int32s(in)
+
+#define s2int32i322(in,size,out) sint32a(in, size[0]*size[1], out)
+
+#define d2int32i322(in,size,out) dint32a(in, size[0]*size[1], out)
+
+#define u82int32i322(in,size,out) u8int32a(in, size[0]*size[1], out)
+
+#define i82int32i322(in,size,out) i8int32a(in, size[0]*size[1], out)
+
+#define u162int32i322(in,size,out) u16int32a(in, size[0]*size[1], out)
+
+#define i162int32i322(in,size,out) i16int32a(in, size[0]*size[1], out)
+
+#define u322int32i322(in,size,out) u32int32a(in, size[0]*size[1], out)
+
+#endif /* !__INT_INT32_H__ */
diff --git a/src/c/elementaryFunctions/interfaces/int_int8.h b/src/c/elementaryFunctions/interfaces/int_int8.h
new file mode 100644
index 00000000..5628c5ac
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_int8.h
@@ -0,0 +1,38 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
+
+#ifndef __INT_INT8_H__
+#define __INT_INT8_H__
+
+#define s0int8i80(in) sint8s(in)
+
+#define d0int8i80(in) dint8s(in)
+
+#define u80int8i80(in) u8int8s(in)
+
+#define u160int8i80(in) u16int8s(in)
+
+#define i160int8i80(in) i16int8s(in)
+
+#define s2int8i82(in,size,out) sint8a(in, size[0]*size[1], out)
+
+#define d2int8i82(in,size,out) dint8a(in, size[0]*size[1], out)
+
+#define u82int8i82(in,size,out) u8int8a(in, size[0]*size[1], out)
+
+#define u162int8i82(in,size,out) u16int8a(in, size[0]*size[1], out)
+
+#define i162int8i82(in,size,out) i16int8a(in, size[0]*size[1], out)
+
+#endif /* !__INT_INT8_H__ */
diff --git a/src/c/elementaryFunctions/interfaces/int_iscolumn.h b/src/c/elementaryFunctions/interfaces/int_iscolumn.h
new file mode 100644
index 00000000..e1011d72
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_iscolumn.h
@@ -0,0 +1,29 @@
+ /*This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+
+#ifndef __INT_ISCOLUMN_H__
+#define __INT_ISCOLUMN_H__
+
+#define d2iscolumng0(in,size ) discolumna(in, size[1])
+#define d0iscolumng0(in) discolumns(in)
+#define s2iscolumng0(in,size) siscolumna(in, size[1])
+#define s0iscolumng0(in) siscolumns(in)
+#define g2iscolumng0(in,size) giscolumna(in, size[1])
+#define g0iscolumng0(in) giscolumns(in)
+#define z2iscolumng0(in,size) ziscolumna(in , size[1])
+#define z0iscolumng0(in) ziscolumns(in)
+#define u162iscolumng0(in,size) u16iscolumna(in , size[1])
+#define u160iscolumng0(in) u16iscolumns(in)
+
+
+
+#endif
diff --git a/src/c/elementaryFunctions/interfaces/int_isequal.h b/src/c/elementaryFunctions/interfaces/int_isequal.h
new file mode 100644
index 00000000..d22ab65d
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_isequal.h
@@ -0,0 +1,35 @@
+ /* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __INT_ISEQUAL_H__
+#define __INT_ISEQUAL_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+
+#define d0d0isequalg0(in1,in2) disequals(in1,in2)
+#define d2d2isequalg0(in1, s1, in2, s2) disequala(in1, s1[0], s1[1], in2, s2[0], s2[1])
+#define s0s0isequalg0(in1,in2) sisequals(in1,in2)
+#define s2s2isequalg0(in1, s1, in2, s2) sisequala(in1, s1[0], s1[1], in2, s2[0], s2[1])
+#define z0z0isequalg0(in1,in2) zisequals(in1,in2)
+#define z2z2isequalg0(in1, s1, in2, s2) zisequala(in1, s1[0], s1[1], in2, s2[0], s2[1])
+#define u160u160isequalg0(in1,in2) u16isequals(in1,in2)
+#define u162u162isequalg0(in1, s1, in2, s2) u16isequala(in1, s1[0], s1[1], in2, s2[0], s2[1])
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__INT_ISEQUAL_H__*/
diff --git a/src/c/elementaryFunctions/interfaces/int_isinf.h b/src/c/elementaryFunctions/interfaces/int_isinf.h
new file mode 100644
index 00000000..9eefa658
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_isinf.h
@@ -0,0 +1,20 @@
+ /* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __INT_ISINF_H__
+#define __INT_ISINF_H__
+
+#define d0isinfg0(in) disinfs(in)
+#define s0isinfg0(in) sisinfs(in)
+
+
+#endif /* !__INT_ISINF_H__ */
diff --git a/src/c/elementaryFunctions/interfaces/int_ismatrix.h b/src/c/elementaryFunctions/interfaces/int_ismatrix.h
new file mode 100644
index 00000000..96352d13
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_ismatrix.h
@@ -0,0 +1,28 @@
+ /*This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+
+#ifndef __INT_ISMATRIX_H__
+#define __INT_ISMATRIX_H__
+
+#define d2ismatrixg0(in, size ) dismatrixa(in)
+#define d0ismatrixg0(in) dismatrixs(in)
+#define s2ismatrixg0(in , size) sismatrixa(in)
+#define s0ismatrixg0(in) sismatrixs(in)
+#define g2ismatrixg0(in, size) gismatrixa(in)
+#define g0ismatrixg0(in) gismatrixs(in)
+#define z2ismatrixg0(in, size) zismatrixa(in)
+#define z0ismatrixg0(in) zismatrixs(in)
+#define u162ismatrixg0(in, size) u16ismatrixa(in)
+#define u160ismatrixg0(in) u16ismatrixs(in)
+
+
+#endif
diff --git a/src/c/elementaryFunctions/interfaces/int_isreal.h b/src/c/elementaryFunctions/interfaces/int_isreal.h
new file mode 100644
index 00000000..cebbf6db
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_isreal.h
@@ -0,0 +1,22 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ukasha Noor
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+
+#ifndef __INT_ISREAL_H__
+#define __INT_ISREAL_H__
+
+#define s0isreals0(in) sisreals(in)
+
+#define d0isreald0(in) disreals(in)
+
+#endif
diff --git a/src/c/elementaryFunctions/interfaces/int_isrow.h b/src/c/elementaryFunctions/interfaces/int_isrow.h
new file mode 100644
index 00000000..9298de9d
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_isrow.h
@@ -0,0 +1,29 @@
+ /*This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+
+#ifndef __INT_ISROW_H__
+#define __INT_ISROW_H__
+
+#define d2isrowg0(in, size ) disrowa(in, size[0])
+#define d0isrowg0(in) disrows(in)
+#define s2isrowg0(in , size) sisrowa(in, size[0])
+#define s0isrowg0(in) sisrows(in)
+#define g2isrowg0(in, size) gisrowa(in, size[0])
+#define g0isrowg0(in) gisrows(in)
+#define z2isrowg0(in, size) zisrowa(in , size[0])
+#define z0isrowg0(in) zisrows(in)
+#define u162isrowg0(in, size) u16isrowa(in , size[0])
+#define u160isrowg0(in) u16isrows(in)
+
+
+
+#endif
diff --git a/src/c/elementaryFunctions/interfaces/int_isscalar.h b/src/c/elementaryFunctions/interfaces/int_isscalar.h
new file mode 100644
index 00000000..0b25be12
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_isscalar.h
@@ -0,0 +1,26 @@
+ /*This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+
+#ifndef __INT_ISSCALAR_H__
+#define __INT_ISSCALAR_H__
+
+#define d2isscalarg0(in, size ) disscalara(in, size[0])
+#define d0isscalarg0(in) disscalars(in)
+#define s2isscalarg0(in , size) sisscalara(in, size[0])
+#define s0isscalarg0(in) sisscalars(in)
+#define g2isscalarg0(in, size) gisscalara(in, size[0])
+#define g0isscalarg0(in) gisscalars(in)
+#define z2isscalarg0(in, size) zisscalara(in , size[0])
+#define z0isscalarg0(in) zisscalars(in)
+
+
+#endif
diff --git a/src/c/elementaryFunctions/interfaces/int_issquare.h b/src/c/elementaryFunctions/interfaces/int_issquare.h
new file mode 100644
index 00000000..05357881
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_issquare.h
@@ -0,0 +1,25 @@
+ /*This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+
+#ifndef __INT_ISSQUARE_H__
+#define __INT_ISSQUARE_H__
+
+#define d2issquareg0(in, size ) dissquarea(in, size[0], size[1])
+#define d0issquareg0(in) dissquares(in)
+#define s2issquareg0(in , size) sissquarea(in, size[0], size[1])
+#define s0issquareg0(in) sissquares(in)
+#define g2issquareg0(in, size) gissquarea(in, size[0], size[1])
+#define g0issquareg0(in) gissquares(in)
+#define z2issquareg0(in, size) zissquarea(in , size[0], size[1])
+#define z0issquareg0(in) zissquares(in)
+
+#endif
diff --git a/src/c/elementaryFunctions/interfaces/int_isvector.h b/src/c/elementaryFunctions/interfaces/int_isvector.h
new file mode 100644
index 00000000..a4edaea4
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_isvector.h
@@ -0,0 +1,26 @@
+ /*This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+
+#ifndef __INT_ISVECTOR_H__
+#define __INT_ISVECTOR_H__
+
+#define d2isvectorg0(in, size ) disvectora(in, size[0], size[1])
+#define d0isvectorg0(in) disvectors(in)
+#define s2isvectorg0(in , size) sisvectora(in, size[0], size[1])
+#define s0isvectorg0(in) sisvectors(in)
+#define g2isvectorg0(in, size) gisvectora(in, size[0], size[1])
+#define g0isvectorg0(in) gisvectors(in)
+#define z2isvectorg0(in, size) zisvectora(in , size[0], size[1])
+#define z0isvectorg0(in) zisvectors(in)
+
+
+#endif
diff --git a/src/c/elementaryFunctions/interfaces/int_lcm.h b/src/c/elementaryFunctions/interfaces/int_lcm.h
new file mode 100644
index 00000000..2ef1a081
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_lcm.h
@@ -0,0 +1,27 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+
+
+#ifndef __INT_LCM_H__
+#define __INT_LCM_H__
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+#define u82lcmu80(in,size) u8lcma(in,size[1])
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /* !__INT_LCM_H__ */
diff --git a/src/c/elementaryFunctions/interfaces/int_linspace.h b/src/c/elementaryFunctions/interfaces/int_linspace.h
new file mode 100644
index 00000000..15ea2696
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_linspace.h
@@ -0,0 +1,24 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __INT_LINSPACE_H__
+#define __INT_LINSPACE_H__
+
+#define d0d0d0linspaced2(in1,in2,in3,out) dlinspaces(in1,in2,in3,out)
+
+#define s0s0s0linspaces2(in1,in2,in3,out) slinspaces(in1,in2,in3,out)
+
+#define d2d2d0linspaced2(in1,size1,in2,size2,in3,out) dlinspacea(in1,size1[0],in2,in3,out)
+
+#define s2s2s0linspaces2(in1,size1,in2,size2,in3,out) slinspacea(in1,size1[0],in2,in3,out)
+
+#endif
diff --git a/src/c/elementaryFunctions/interfaces/int_log2.h b/src/c/elementaryFunctions/interfaces/int_log2.h
new file mode 100644
index 00000000..370503cd
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_log2.h
@@ -0,0 +1,33 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __INT_LOG2_H__
+#define __INT_LOG2_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+
+#define d0log2d0(in1) dlog2s(in1)
+#define d2log2d2(in1, size1, out) dlog2a(in1,size1[0]*size1[1], out)
+#define s0log2s0(in1) slog2s(in1, in2)
+#define s2log2s2(in1, size1, out) slog2a(in1,size1[0]*size1[1], out)
+#define z0log2z0(in1) zlog2s(in1, in2)
+#define z2log2z2(in1, size1, out) zlog2a(in1,size1[0]*size1[1], out)
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__INT_LOG2_H__*/
diff --git a/src/c/elementaryFunctions/interfaces/int_logspace.h b/src/c/elementaryFunctions/interfaces/int_logspace.h
new file mode 100644
index 00000000..2c244006
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_logspace.h
@@ -0,0 +1,20 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __INT_LOGSPACE_H__
+#define __INT_LOGSPACE_H__
+
+#define d0d0d0logspaced2(in1,in2,in3,out) dlogspaces(in1,in2,in3,out)
+
+#define d2d2d0logspaced2(in1,size1,in2,size2,in3,out) dlogspacea(in1,size1[0],in2,in3,out)
+
+#endif
diff --git a/src/c/elementaryFunctions/interfaces/int_nancumsum.h b/src/c/elementaryFunctions/interfaces/int_nancumsum.h
new file mode 100644
index 00000000..c82f6d65
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_nancumsum.h
@@ -0,0 +1,36 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __INT_NANCUMSUM_H__
+#define __INT_NANCUMSUM_H__
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define d2nancumsumd2(in1, size, out) dnancumsuma(in1, size[0]* size[1], out)
+#define d2g2nancumsumd2(in1, size1, in2, size2, out) (in2[0]== 'r') ? dnancumsumrowa(in1, size1[0], size1[1], out) :dnancumsumcola(in1, size1[0], size1[1], out)
+
+#define s2nancumsums2(in1, size, out) snancumsuma(in1, size[0]* size[1], out)
+#define s2g2nancumsums2(in1, size1, in2, size2, out) (in2[0]== 'r') ? snancumsumrowa(in1, size1[0], size1[1], out) :snancumsumcola(in1, size1[0], size1[1], out)
+
+#define z2nancumsumz2(in1, size, out) znancumsuma(in1, size[0]* size[1],out)
+#define z2g2nancumsumz2(in1, size1, in2, size2, out) (in2[0]== 'r') ? znancumsumrowa(in1, size1[0], size1[1], out) :znancumsumcola(in1, size1[0], size1[1], out)
+
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__INT_NANCUMSUM_H__*/
diff --git a/src/c/elementaryFunctions/interfaces/int_nanmax.h b/src/c/elementaryFunctions/interfaces/int_nanmax.h
new file mode 100644
index 00000000..6096290f
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_nanmax.h
@@ -0,0 +1,26 @@
+ /*This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+
+#ifndef __INT_NANMAX_H__
+#define __INT_NANMAX_H__
+
+#define d2nanmaxd0(in1, size) dnanmaxa(in1,size[0]* size[1])
+#define d2nanmaxd0d2(in1, size, out) dnanmax1a(in1,size[0], size[1], out)
+#define d2g2nanmaxd2(in1, size1, in2, size2, out) (in2[0]=='r') ? dnanmaxrow1a(in1, size1[0], size1[1], out) : dnanmaxcol1a(in1, size1[0] , size1[1], out)
+#define d2g2nanmaxd2d2(in1, size1, in2, size2, out1, out2) (in2[0]=='r') ? dnanmaxrowa(in1, size1[0], size1[1], out1, out2) : dnanmaxcola(in1, size1[0] , size1[1], out1, out2)
+
+#define s2nanmaxs0(in1, size) snanmaxa(in1,size[0]* size[1])
+#define s2nanmaxs0s2(in1, size, out) snanmax1a(in1,size[0], size[1], out)
+#define s2g2nanmaxs2(in1, size1, in2, size2, out) (in2[0]=='r') ? snanmaxrow1a(in1, size1[0], size1[1], out) : snanmaxcol1a(in1, size1[0] , size1[1], out)
+#define s2g2nanmaxs2s2(in1, size1, in2, size2, out1, out2) (in2[0]=='r') ? snanmaxrowa(in1, size1[0], size1[1], out1, out2) : snanmaxcola(in1, size1[0] , size1[1], out1, out2)
+
+#endif
diff --git a/src/c/elementaryFunctions/interfaces/int_nanmean.h b/src/c/elementaryFunctions/interfaces/int_nanmean.h
new file mode 100644
index 00000000..0195b0d3
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_nanmean.h
@@ -0,0 +1,32 @@
+ /*This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __INT_NANMEAN_H__
+#define __INT_NANMEAN_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+#define d2nanmeand0(in1, size) dnanmeana(in1,size[0]* size[1])
+#define d2g2nanmeand2(in1, size1, in2, size2, out) (in2[0]=='r') ? dnanmeanrowa(in1, size1[0], size1[1], out) : dnanmeancola(in1, size1[0] , size1[1], out)
+
+#define s2nanmeans0(in1, size) snanmeana(in1,size[0]* size[1])
+#define s2g2nanmeans2(in1, size1, in2, size2, out) (in2[0]=='r') ? snanmeanrowa(in1, size1[0], size1[1], out) : snanmeancola(in1, size1[0] , size1[1], out)
+
+#define z2nanmeanz0(in1, size) znanmeana(in1,size[0]* size[1])
+#define z2g2nanmeanz2(in1, size1, in2, size2, out) (in2[0]=='r') ? znanmeanrowa(in1, size1[0], size1[1], out) : znanmeancola(in1, size1[0] , size1[1], out)
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__INT_NANMEAN_H__*/
diff --git a/src/c/elementaryFunctions/interfaces/int_nanmin.h b/src/c/elementaryFunctions/interfaces/int_nanmin.h
new file mode 100644
index 00000000..e351a240
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_nanmin.h
@@ -0,0 +1,31 @@
+ /*This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __INT_NANMIN_H__
+#define __INT_NANMIN_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+#define d2nanmind0d2(in1, size, pos) dnanmina(in1,size[0], size[1], pos)
+#define d2nanmind0(in1, size) dnanminnpa(in1,size[0], size[1])
+#define d0nanmind0d2(in1, pos) dnanmins(in1, pos)
+#define d0nanmind0(in1) dnanminnps(in1)
+
+#define d2g2nanmind2(in1, size1, in2, size2, out) (in2[0]=='r') ? dnanminrownpa(in1, size1[0], size1[1], out) : dnanmincolnpa(in1, size1[0] , size1[1], out)
+#define d2g2nanmind2d2(in1, size1, in2, size2, out, p) (in2[0]=='r') ? dnanminrowa(in1, size1[0], size1[1], p, out) : dnanmincola(in1, size1[0] , size1[1], out, p)
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__INT_NANMIN_H__*/
diff --git a/src/c/elementaryFunctions/interfaces/int_nansum.h b/src/c/elementaryFunctions/interfaces/int_nansum.h
new file mode 100644
index 00000000..149d69b8
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_nansum.h
@@ -0,0 +1,36 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __INT_NANSUM_H__
+#define __INT_NANSUM_H__
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define d2nansumd0(in1, size) dnansuma(in1, size[0]* size[1])
+#define d2g2nansumd2(in1, size1, in2, size2, out) (in2[0]== 'r') ? dnansumrowa(in1, size1[0], size1[1], out) :dnansumcola(in1, size1[0], size1[1], out)
+
+#define s2nansums0(in1, size) snansuma(in1, size[0]* size[1])
+#define s2g2nansums2(in1, size1, in2, size2, out) (in2[0]== 'r') ? snansumrowa(in1, size1[0], size1[1], out) :snansumcola(in1, size1[0], size1[1], out)
+
+#define z2nansumz0(in1, size) znansuma(in1, size[0]* size[1])
+#define z2g2nansumz2(in1, size1, in2, size2, out) (in2[0]== 'r') ? znansumrowa(in1, size1[0], size1[1], out) :znansumcola(in1, size1[0], size1[1], out)
+
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /*__INT_MATRIX_H__*/
diff --git a/src/c/elementaryFunctions/interfaces/int_nextpow2.h b/src/c/elementaryFunctions/interfaces/int_nextpow2.h
new file mode 100644
index 00000000..6ae4747b
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_nextpow2.h
@@ -0,0 +1,26 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ukasha Noor
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+/* THIS IS AN AUTOMATICALLY GENERATED FILE : DO NOT EDIT BY HAND. */
+
+
+#ifndef __INT_NEXTPOW2_H__
+#define __INT_NEXTPOW2_H__
+
+
+#include "nextpow2.h"
+
+#define d0nextpow2d0(in,size,out) dnextpow2a(in,size[0]*size[1],out)
+
+#define d2nextpow2d2(in,size,out) dnextpow2a(in,size[0]*size[1],out)
+
+#endif
diff --git a/src/c/elementaryFunctions/interfaces/int_nthroot.h b/src/c/elementaryFunctions/interfaces/int_nthroot.h
new file mode 100644
index 00000000..aa48fcc9
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_nthroot.h
@@ -0,0 +1,23 @@
+ /*This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+
+#ifndef __INT_NTHROOT_H__
+#define __INT_NTHROOT_H__
+
+#define d2d2nthrootd2(in1, size1, in2, size2, out) dnthroota(in1, size1[0], size1[1], in2, size2[0], size2[1], out)
+#define d2d0nthrootd2(in1, size1, in2, out) dnthroot1a(in1, size1[0], size1[1], in2, out)
+#define d0d0nthrootd0(in1, in2) dnthroots(in1, in2)
+#define s2s2nthrootd2(in1, size1, in2, size2, out) snthroota(in1, size1[0], size1[1], in2, size2[0], size2[1], out)
+#define s2s0nthrootd2(in1, size1, in2, out) snthroot1a(in1, size1[0], size1[1], in2, out)
+#define s0s0nthrootd0(in1, in2) snthroots(in1, in2)
+
+#endif
diff --git a/src/c/elementaryFunctions/interfaces/int_oct2dec.h b/src/c/elementaryFunctions/interfaces/int_oct2dec.h
new file mode 100644
index 00000000..0f5d1f24
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_oct2dec.h
@@ -0,0 +1,35 @@
+ /* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __INT_oct2dec_H__
+#define __INT_oct2dec_H__
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+#define d0oct2decd0(in) doct2decs(in)
+#define i80oct2deci80(in) i8oct2decs(in)
+#define i160oct2deci160(in) i16oct2decs(in)
+#define u80oct2decu80(in) u8oct2decs(in)
+#define u160oct2decu160(in) u16oct2decs(in)
+
+#define d2oct2decd2(in,size,out) doct2deca(in,size[0]*size[1],out)
+#define i82oct2deci82(in,size,out) i8oct2deca(in,size[0]*size[1],out)
+#define i162oct2deci162(in,size,out) i16oct2deca(in,size[0]*size[1],out)
+#define u82oct2decu82(in,size,out) u8oct2deca(in,size[0]*size[1],out)
+#define u162oct2decu162(in,size,out) u16oct2deca(in,size[0]*size[1],out)
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__INT_oct2dec_H__*/
diff --git a/src/c/elementaryFunctions/interfaces/int_pmodulo.h b/src/c/elementaryFunctions/interfaces/int_pmodulo.h
new file mode 100644
index 00000000..72b12770
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_pmodulo.h
@@ -0,0 +1,26 @@
+ /*This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+
+#ifndef __INT_PMODULO_H__
+#define __INT_PMODULO_H__
+
+#define d0d0pmodulod0(in1, in2) dpmodulos(in1,in2)
+#define d2d2pmodulod2(in1, size1, in2, size2, out) dpmoduloa(in1,size1[0]*size1[1],in2, out)
+
+#define s0s0pmodulos0(in1, in2) spmodulos(in1,in2)
+#define s2s2pmodulos2(in1, size1, in2, size2, out) spmoduloa(in1,size1[0]*size1[1],in2, out)
+
+#define i160i160pmoduloi160(in1, in2) i16pmodulos(in1,in2)
+#define i162i162pmoduloi162(in1, size1, in2, size2, out) i16pmoduloa(in1,size1[0]*size1[1],in2, out)
+
+
+#endif
diff --git a/src/c/elementaryFunctions/interfaces/int_primes.h b/src/c/elementaryFunctions/interfaces/int_primes.h
new file mode 100644
index 00000000..d48a6831
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_primes.h
@@ -0,0 +1,29 @@
+ /* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __INT_PRIMES_H__
+#define __INT_PRIMES_H__
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+#define d0primesd2(in,out) dprimess(in,out)
+#define s0primess2(in,out) sprimess(in,out)
+
+
+
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__INT_PRIMES_H__*/
diff --git a/src/c/elementaryFunctions/interfaces/int_round.h b/src/c/elementaryFunctions/interfaces/int_round.h
index a5da230c..7d013c1e 100644
--- a/src/c/elementaryFunctions/interfaces/int_round.h
+++ b/src/c/elementaryFunctions/interfaces/int_round.h
@@ -23,6 +23,14 @@
#define z0roundz0(in) zrounds(in)
+#define u80roundu80(in) u8rounds(in)
+
+#define i80roundi80(in) i8rounds(in)
+
+#define u160roundu160(in) u16rounds(in)
+
+#define i160roundi160(in) i16rounds(in)
+
#define s2rounds2(in,size,out) srounda(in, size[0]*size[1], out)
#define d2roundd2(in,size,out) drounda(in, size[0]*size[1], out)
@@ -31,4 +39,12 @@
#define z2roundz2(in,size,out) zrounda(in, size[0]*size[1], out)
+#define u82roundu82(in,size,out) u8rounda(in, size[0]*size[1], out)
+
+#define i82roundi82(in,size,out) i8rounda(in, size[0]*size[1], out)
+
+#define u162roundu162(in,size,out) u16rounda(in, size[0]*size[1], out)
+
+#define i162roundi162(in,size,out) i16rounda(in, size[0]*size[1], out)
+
#endif /* !__INT_ROUND_H__ */
diff --git a/src/c/elementaryFunctions/interfaces/int_sec.h b/src/c/elementaryFunctions/interfaces/int_sec.h
new file mode 100644
index 00000000..b07cdfc9
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_sec.h
@@ -0,0 +1,34 @@
+ /* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __INT_SEC_H__
+#define __INT_SEC_H__
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+#define d2secd2(in,size,out) dseca(in,size[1],out)
+#define d0secd0(in) dsecs(in)
+#define s2secs2(in,size,out) sseca(in,size[1],out)
+#define s0secs0(in) ssecs(in)
+
+#define z2secz2(in,size,out) zseca(in,size[1],out)
+#define z0secz0(in) zsecs(in)
+#define c2secc2(in,size,out) cseca(in,size[1],out)
+#define c0secc0(in) csecs(in)
+
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__INT_SEC__*/
diff --git a/src/c/elementaryFunctions/interfaces/int_secd.h b/src/c/elementaryFunctions/interfaces/int_secd.h
new file mode 100644
index 00000000..9304eb04
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_secd.h
@@ -0,0 +1,28 @@
+ /* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __INT_SECD_H__
+#define __INT_SECD_H__
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+#define d2secdd2(in,size,out) dsecda(in,size[1],out)
+#define d0secdd0(in) dsecds(in)
+#define s2secds2(in,size,out) ssecda(in,size[1],out)
+#define s0secds0(in) ssecds(in)
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__INT_SECD_H__*/
diff --git a/src/c/elementaryFunctions/interfaces/int_sech.h b/src/c/elementaryFunctions/interfaces/int_sech.h
new file mode 100644
index 00000000..1cd42218
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_sech.h
@@ -0,0 +1,32 @@
+ /* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Shamik Guha
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+#ifndef __INT_SECH_H__
+#define __INT_SECH_H__
+
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
+
+#define d2sechd2(in,size,out) dsecha(in,size[1],out)
+#define s2sechs2(in,size,out) ssecha(in,size[1],out)
+#define d0sechd0(in) dsechs(in)
+#define s0sechs0(in) ssechs(in)
+#define z0sechz0(in) zsechs(in)
+#define z2sechz2(in,size,out) zsechs(in,size[1],out)
+#define c0sechc0(in) csechs(in)
+#define c2sechc2(in,size,out) csechs(in,size[1],out)
+
+ #ifdef __cplusplus
+ } /* extern "C" */
+ #endif
+
+#endif /*__INT_SECH_H__*/
diff --git a/src/c/elementaryFunctions/interfaces/int_sin.h b/src/c/elementaryFunctions/interfaces/int_sin.h
index 556281a5..4132704a 100644
--- a/src/c/elementaryFunctions/interfaces/int_sin.h
+++ b/src/c/elementaryFunctions/interfaces/int_sin.h
@@ -23,6 +23,14 @@
#define z0sinz0(in) zsins(in)
+#define u80sins0(in) u8sins(in)
+
+#define i80sins0(in) i8sins(in)
+
+#define u160sins0(in) u16sins(in)
+
+#define i160sins0(in) i16sins(in)
+
#define s2sins2(in,size,out) ssina(in, size[0]*size[1], out)
#define d2sind2(in,size,out) dsina(in, size[0]*size[1], out)
@@ -31,4 +39,12 @@
#define z2sinz2(in,size,out) zsina(in, size[0]*size[1], out)
+#define u82sins2(in,size,out) u8sina(in, size[0]*size[1], out)
+
+#define i82sins2(in,size,out) i8sina(in, size[0]*size[1], out)
+
+#define u162sins2(in,size,out) u16sina(in, size[0]*size[1], out)
+
+#define i162sins2(in,size,out) i16sina(in, size[0]*size[1], out)
+
#endif /* !__INT_SIN_H__ */
diff --git a/src/c/elementaryFunctions/interfaces/int_sinc.h b/src/c/elementaryFunctions/interfaces/int_sinc.h
new file mode 100644
index 00000000..35a519db
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_sinc.h
@@ -0,0 +1,19 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ankit Raj
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __INT_SINC_H__
+#define __INT_SINC_H__
+
+#define d2sincd2(sample,size,oup) dsinca(sample,size[1],oup)
+#define z2sincz2(sample,size,oup) zsinca(sample,size[1],oup)
+
+#endif /* !__INT_SINC_H__! */
diff --git a/src/c/elementaryFunctions/interfaces/int_sind.h b/src/c/elementaryFunctions/interfaces/int_sind.h
new file mode 100644
index 00000000..780a6965
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_sind.h
@@ -0,0 +1,23 @@
+ /* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __INT_SIND_H__
+#define __INT_SIND_H__
+
+#define d0sindd0(in) dsinds(in)
+#define s0sinds0(in) ssinds(in)
+#define s0sindd0(in) ssinds(in)
+#define d2sindd2(in, size1, out) dsinda(in, size1[0]*size1[1], out)
+#define s2sinds2(in, size1, out) ssinda(in, size1[0]*size1[1], out)
+#define s2sindd2(in, size1, out) ssinda(in, size1[0]*size1[1], out)
+
+#endif /* !__INT_SIND_H__ */
diff --git a/src/c/elementaryFunctions/interfaces/int_sinh.h b/src/c/elementaryFunctions/interfaces/int_sinh.h
index e0c930e9..c5682a46 100644
--- a/src/c/elementaryFunctions/interfaces/int_sinh.h
+++ b/src/c/elementaryFunctions/interfaces/int_sinh.h
@@ -23,6 +23,14 @@
#define z0sinhz0(in) zsinhs(in)
+#define u80sinhs0(in) u8sinhs(in)
+
+#define i80sinhs0(in) i8sinhs(in)
+
+#define u160sinhs0(in) u16sinhs(in)
+
+#define i160sinhs0(in) i16sinhs(in)
+
#define s2sinhs2(in,size,out) ssinha(in, size[0]*size[1], out)
#define d2sinhd2(in,size,out) dsinha(in, size[0]*size[1], out)
@@ -31,4 +39,12 @@
#define z2sinhz2(in,size,out) zsinha(in, size[0]*size[1], out)
+#define u82sinhs2(in,size,out) u8sinha(in, size[0]*size[1], out)
+
+#define i82sinhs2(in,size,out) i8sinha(in, size[0]*size[1], out)
+
+#define u162sinhs2(in,size,out) u16sinha(in, size[0]*size[1], out)
+
+#define i162sinhs2(in,size,out) i16sinha(in, size[0]*size[1], out)
+
#endif /* !__INT_SINH_H__ */
diff --git a/src/c/elementaryFunctions/interfaces/int_sqrt.h b/src/c/elementaryFunctions/interfaces/int_sqrt.h
index 0efbca96..090d9825 100644
--- a/src/c/elementaryFunctions/interfaces/int_sqrt.h
+++ b/src/c/elementaryFunctions/interfaces/int_sqrt.h
@@ -33,27 +33,32 @@
#define __INT_SQRT_H__
#define s0sqrts0(in) ssqrts(in)
-
+
#define s0sqrtc0(in) csqrts(FloatComplex(in,0))
#define d0sqrtd0(in) dsqrts(in)
-
+
#define d0sqrtz0(in) zsqrts(DoubleComplex(in,0))
#define c0sqrtc0(in) csqrts(in)
-
+
#define z0sqrtz0(in) zsqrts(in)
-
+
+
+
#define s2sqrts2(in,size,out) ssqrta(in, size[0]*size[1], out)
#define s2sqrtc2(in,size,out) csqrta(FloatComplexMatrix(in,0), size[0]*size[1], out)
#define d2sqrtd2(in,size,out) dsqrta(in, size[0]*size[1], out)
-
+
#define d2sqrtz2(in,size,out) zsqrta(DoubleComplexMatrix(in,0), size[0]*size[1], out)
#define c2sqrtc2(in,size,out) csqrta(in, size[0]*size[1], out)
-
-#define z2sqrtz2(in,size,out) zsqrta(in, size[0]*size[1], out)
+
+#define z2sqrtz2(in,size,out) zsqrta(in, size[0]*size[1], out)
+
+
+
#endif /* !__INT_SQRT_H__ */
diff --git a/src/c/elementaryFunctions/interfaces/int_tan.h b/src/c/elementaryFunctions/interfaces/int_tan.h
index c2c3df2e..ddfb4ca1 100644
--- a/src/c/elementaryFunctions/interfaces/int_tan.h
+++ b/src/c/elementaryFunctions/interfaces/int_tan.h
@@ -23,6 +23,14 @@
#define z0tanz0(in) ztans(in)
+#define u80tans0(in) u8tans(in)
+
+#define i80tans0(in) i8tans(in)
+
+#define u160tans0(in) u16tans(in)
+
+#define i160tans0(in) i16tans(in)
+
#define s2tans2(in,size,out) stana(in, size[0]*size[1], out)
#define d2tand2(in,size,out) dtana(in, size[0]*size[1], out)
@@ -31,4 +39,12 @@
#define z2tanz2(in,size,out) ztana(in, size[0]*size[1], out)
+#define u82tans2(in,size,out) u8tana(in, size[0]*size[1], out)
+
+#define i82tans2(in,size,out) i8tana(in, size[0]*size[1], out)
+
+#define u162tans2(in,size,out) u16tana(in, size[0]*size[1], out)
+
+#define i162tans2(in,size,out) i16tana(in, size[0]*size[1], out)
+
#endif /* !__INT_TAN_H__ */
diff --git a/src/c/elementaryFunctions/interfaces/int_tand.h b/src/c/elementaryFunctions/interfaces/int_tand.h
new file mode 100644
index 00000000..d2fb30ea
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_tand.h
@@ -0,0 +1,23 @@
+ /* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+ */
+
+#ifndef __INT_TAND_H__
+#define __INT_TAND_H__
+
+#define d0tandd0(in) dtands(in)
+#define s0tands0(in) stands(in)
+#define s0tandd0(in) stands(in)
+#define d2tandd2(in, size1, out) dtanda(in, size1[0]*size1[1], out)
+#define s2tands2(in, size1, out) standa(in, size1[0]*size1[1], out)
+#define s2tandd2(in, size1, out) standa(in, size1[0]*size1[1], out)
+
+#endif /* !__INT_TAND_H__ */
diff --git a/src/c/elementaryFunctions/interfaces/int_tanh.h b/src/c/elementaryFunctions/interfaces/int_tanh.h
index 1819d3a1..e60e2c26 100644
--- a/src/c/elementaryFunctions/interfaces/int_tanh.h
+++ b/src/c/elementaryFunctions/interfaces/int_tanh.h
@@ -23,6 +23,14 @@
#define z0tanhz0(in) ztanhs(in)
+#define u80tanhs0(in) u8tanhs(in)
+
+#define i80tanhs0(in) i8tanhs(in)
+
+#define u160tanhs0(in) u16tanhs(in)
+
+#define i160tanhs0(in) i16tanhs(in)
+
#define s2tanhs2(in,size,out) stanha(in, size[0]*size[1], out)
#define d2tanhd2(in,size,out) dtanha(in, size[0]*size[1], out)
@@ -31,4 +39,12 @@
#define z2tanhz2(in,size,out) ztanha(in, size[0]*size[1], out)
+#define u82tanhs2(in,size,out) u8tanha(in, size[0]*size[1], out)
+
+#define i82tanhs2(in,size,out) i8tanha(in, size[0]*size[1], out)
+
+#define u162tanhs2(in,size,out) u16tanha(in, size[0]*size[1], out)
+
+#define i162tanhs2(in,size,out) i16tanha(in, size[0]*size[1], out)
+
#endif /* !__INT_TANH_H__ */
diff --git a/src/c/elementaryFunctions/interfaces/int_uint16.h b/src/c/elementaryFunctions/interfaces/int_uint16.h
new file mode 100644
index 00000000..12808776
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_uint16.h
@@ -0,0 +1,36 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __INT_UINT16_H__
+#define __INT_UINT16_H__
+
+#define s0uint16u160(in) suint16s(in)
+
+#define d0uint16u160(in) duint16s(in)
+
+#define u80uint16u160(in) u8uint16s(in)
+
+#define i80uint16u160(in) i8uint16s(in)
+
+#define i160uint16u160(in) i16uint16s(in)
+
+#define s2uint16u162(in,size,out) suint16a(in, size[0]*size[1], out)
+
+#define d2uint16u162(in,size,out) duint16a(in, size[0]*size[1], out)
+
+#define u82uint16u162(in,size,out) u8uint16a(in, size[0]*size[1], out)
+
+#define i82uint16u162(in,size,out) i8int16a(in, size[0]*size[1], out)
+
+#define i162uint16u162(in,size,out) i16uint16a(in, size[0]*size[1], out)
+
+#endif /* !__INT_UINT8_H__ */
diff --git a/src/c/elementaryFunctions/interfaces/int_uint32.h b/src/c/elementaryFunctions/interfaces/int_uint32.h
new file mode 100644
index 00000000..7c9353b3
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_uint32.h
@@ -0,0 +1,44 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __INT_UINT32_H__
+#define __INT_UINT32_H__
+
+#define s0uint32u320(in) suint32s(in)
+
+#define d0uint32u320(in) duint32s(in)
+
+#define u80uint32u320(in) u8uint32s(in)
+
+#define i80uint32u320(in) i8uint32s(in)
+
+#define u160uint32u320(in) u16uint32s(in)
+
+#define i160uint32u320(in) i16uint32s(in)
+
+#define i320uint32u320(in) i32uint32s(in)
+
+#define s2uint32u322(in,size,out) suint32a(in, size[0]*size[1], out)
+
+#define d2uint32u322(in,size,out) duint32a(in, size[0]*size[1], out)
+
+#define u82uint32u322(in,size,out) u8uint32a(in, size[0]*size[1], out)
+
+#define i82uint32u322(in,size,out) i8int32a(in, size[0]*size[1], out)
+
+#define u162uint32u322(in,size,out) u16uint32a(in, size[0]*size[1], out)
+
+#define i162uint32u322(in,size,out) i16uint32a(in, size[0]*size[1], out)
+
+#define i322uint32u322(in,size,out) i32uint32a(in, size[0]*size[1], out)
+
+#endif /* !__INT_UINT32_H__ */
diff --git a/src/c/elementaryFunctions/interfaces/int_uint8.h b/src/c/elementaryFunctions/interfaces/int_uint8.h
new file mode 100644
index 00000000..ac0bc43e
--- /dev/null
+++ b/src/c/elementaryFunctions/interfaces/int_uint8.h
@@ -0,0 +1,36 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#ifndef __INT_UINT8_H__
+#define __INT_UINT8_H__
+
+#define s0uint8u80(in) suint8s(in)
+
+#define d0uint8u80(in) duint8s(in)
+
+#define i80uint8u80(in) i8uint8s(in)
+
+#define u160uint8u80(in) u16uint8s(in)
+
+#define i160uint8u80(in) i16uint8s(in)
+
+#define s2uint8u82(in,size,out) suint8a(in, size[0]*size[1], out)
+
+#define d2uint8u82(in,size,out) duint8a(in, size[0]*size[1], out)
+
+#define i82uint8u82(in,size,out) i8uint8a(in, size[0]*size[1], out)
+
+#define u162uint8u82(in,size,out) u16uint8a(in, size[0]*size[1], out)
+
+#define i162uint8u82(in,size,out) i16uint8a(in, size[0]*size[1], out)
+
+#endif /* !__INT_UINT8_H__ */
diff --git a/src/c/elementaryFunctions/iscolumn/discolumna.c b/src/c/elementaryFunctions/iscolumn/discolumna.c
new file mode 100644
index 00000000..8bebfcad
--- /dev/null
+++ b/src/c/elementaryFunctions/iscolumn/discolumna.c
@@ -0,0 +1,26 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "iscolumn.h"
+#include "types.h"
+char discolumna(double* inp, int size1)
+{
+ char out= 'F' ;
+ if(size1==1)
+ {
+ out = 'T';
+ }
+ return out;
+}
diff --git a/src/c/elementaryFunctions/iscolumn/discolumns.c b/src/c/elementaryFunctions/iscolumn/discolumns.c
new file mode 100644
index 00000000..b81074b5
--- /dev/null
+++ b/src/c/elementaryFunctions/iscolumn/discolumns.c
@@ -0,0 +1,24 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "iscolumn.h"
+#include "types.h"
+
+char discolumns(double inp)
+{
+ char out='T';
+
+ return out;
+}
diff --git a/src/c/elementaryFunctions/iscolumn/giscolumna.c b/src/c/elementaryFunctions/iscolumn/giscolumna.c
new file mode 100644
index 00000000..db6ff431
--- /dev/null
+++ b/src/c/elementaryFunctions/iscolumn/giscolumna.c
@@ -0,0 +1,27 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "iscolumn.h"
+#include "types.h"
+#include "string.h"
+char giscolumna(char *inp, int size1)
+{
+ char out='F';
+ if(size1==1)
+ {
+ out = 'T';
+ }
+ return out;
+}
diff --git a/src/c/elementaryFunctions/iscolumn/giscolumns.c b/src/c/elementaryFunctions/iscolumn/giscolumns.c
new file mode 100644
index 00000000..57b93e95
--- /dev/null
+++ b/src/c/elementaryFunctions/iscolumn/giscolumns.c
@@ -0,0 +1,24 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "iscolumn.h"
+#include "types.h"
+
+char giscolumns(char inp)
+{
+ char out='T';
+
+ return out;
+}
diff --git a/src/c/elementaryFunctions/iscolumn/siscolumna.c b/src/c/elementaryFunctions/iscolumn/siscolumna.c
new file mode 100644
index 00000000..ed4ee5b9
--- /dev/null
+++ b/src/c/elementaryFunctions/iscolumn/siscolumna.c
@@ -0,0 +1,26 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "iscolumn.h"
+#include "types.h"
+char siscolumna(float* inp, int size1)
+{
+ char out='F';
+ if(size1==1)
+ {
+ out = 'T';
+ }
+ return out;
+}
diff --git a/src/c/elementaryFunctions/iscolumn/siscolumns.c b/src/c/elementaryFunctions/iscolumn/siscolumns.c
new file mode 100644
index 00000000..ebb89e11
--- /dev/null
+++ b/src/c/elementaryFunctions/iscolumn/siscolumns.c
@@ -0,0 +1,24 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "iscolumn.h"
+#include "types.h"
+
+char siscolumns(float inp)
+{
+ char out='T';
+
+ return out;
+}
diff --git a/src/c/elementaryFunctions/iscolumn/u16iscolumna.c b/src/c/elementaryFunctions/iscolumn/u16iscolumna.c
new file mode 100644
index 00000000..ef0821d6
--- /dev/null
+++ b/src/c/elementaryFunctions/iscolumn/u16iscolumna.c
@@ -0,0 +1,27 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "iscolumn.h"
+#include "types.h"
+#include "uint16.h"
+char u16iscolumna(uint16* inp, int size1)
+{
+ char out='F';
+ if(size1==1)
+ {
+ out = 'T';
+ }
+ return out;
+}
diff --git a/src/c/elementaryFunctions/iscolumn/u16iscolumns.c b/src/c/elementaryFunctions/iscolumn/u16iscolumns.c
new file mode 100644
index 00000000..7a174642
--- /dev/null
+++ b/src/c/elementaryFunctions/iscolumn/u16iscolumns.c
@@ -0,0 +1,25 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "iscolumn.h"
+#include "types.h"
+#include "uint16.h"
+
+char u16iscolumns(uint16 inp)
+{
+ char out='T';
+
+ return out;
+}
diff --git a/src/c/elementaryFunctions/iscolumn/ziscolumna.c b/src/c/elementaryFunctions/iscolumn/ziscolumna.c
new file mode 100644
index 00000000..a1aca1bf
--- /dev/null
+++ b/src/c/elementaryFunctions/iscolumn/ziscolumna.c
@@ -0,0 +1,28 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "doubleComplex.h"
+#include "iscolumn.h"
+#include "types.h"
+
+char ziscolumna(doubleComplex *inp, int size1)
+{
+ char out='F';
+ if(size1==1)
+ {
+ out = 'T';
+ }
+ return out;
+}
diff --git a/src/c/elementaryFunctions/iscolumn/ziscolumns.c b/src/c/elementaryFunctions/iscolumn/ziscolumns.c
new file mode 100644
index 00000000..f1d28508
--- /dev/null
+++ b/src/c/elementaryFunctions/iscolumn/ziscolumns.c
@@ -0,0 +1,25 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "iscolumn.h"
+#include "types.h"
+#include "doubleComplex.h"
+
+char ziscolumns(doubleComplex inp)
+{
+ char out='T';
+
+ return out;
+}
diff --git a/src/c/elementaryFunctions/isequal/disequala.c b/src/c/elementaryFunctions/isequal/disequala.c
new file mode 100644
index 00000000..8781ac7b
--- /dev/null
+++ b/src/c/elementaryFunctions/isequal/disequala.c
@@ -0,0 +1,39 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <isreal.h>
+
+char disequala(double* inp1, int size1r, int size1c, double* inp2, int size2r, int size2c)
+{
+ if ((size1r != size2r) && (size1c != size2c))
+ return 'F';
+ else
+ {
+ int i, f = 0;
+ for (i = 0; i<size1r*size1c; i++)
+ {
+ if (inp1[i] != inp2[i])
+ {
+ f = 1;
+ break;
+ }
+ }
+
+ if (f == 1)
+ return 'F';
+ else
+ return 'T';
+ }
+}
+
diff --git a/src/c/elementaryFunctions/isequal/disequals.c b/src/c/elementaryFunctions/isequal/disequals.c
new file mode 100644
index 00000000..319c3308
--- /dev/null
+++ b/src/c/elementaryFunctions/isequal/disequals.c
@@ -0,0 +1,24 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <isreal.h>
+
+char disequals(double inp1, double inp2)
+{
+ if (inp1 == inp2)
+ return 'T';
+ else
+ return 'F';
+}
+
diff --git a/src/c/elementaryFunctions/isequal/sisequala.c b/src/c/elementaryFunctions/isequal/sisequala.c
new file mode 100644
index 00000000..2634efd5
--- /dev/null
+++ b/src/c/elementaryFunctions/isequal/sisequala.c
@@ -0,0 +1,39 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <isreal.h>
+
+char sisequala(float* inp1, int size1r, int size1c, float* inp2, int size2r, int size2c)
+{
+ if ((size1r != size2r) && (size1c != size2c))
+ return 'F';
+ else
+ {
+ int i, f = 0;
+ for (i = 0; i<size1r*size1c; i++)
+ {
+ if (inp1[i] != inp2[i])
+ {
+ f = 1;
+ break;
+ }
+ }
+
+ if (f == 1)
+ return 'F';
+ else
+ return 'T';
+ }
+}
+
diff --git a/src/c/elementaryFunctions/isequal/sisequals.c b/src/c/elementaryFunctions/isequal/sisequals.c
new file mode 100644
index 00000000..66bef36d
--- /dev/null
+++ b/src/c/elementaryFunctions/isequal/sisequals.c
@@ -0,0 +1,24 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <isreal.h>
+
+char sisequals(float inp1, float inp2)
+{
+ if (inp1 == inp2)
+ return 'T';
+ else
+ return 'F';
+}
+
diff --git a/src/c/elementaryFunctions/isequal/u16isequala.c b/src/c/elementaryFunctions/isequal/u16isequala.c
new file mode 100644
index 00000000..62de1e86
--- /dev/null
+++ b/src/c/elementaryFunctions/isequal/u16isequala.c
@@ -0,0 +1,40 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <isreal.h>
+#include "uint16.h"
+
+char u16isequala(uint16* inp1, int size1r, int size1c, uint16* inp2, int size2r, int size2c)
+{
+ if ((size1r != size2r) && (size1c != size2c))
+ return 'F';
+ else
+ {
+ int i, f = 0;
+ for (i = 0; i<size1r*size1c; i++)
+ {
+ if (inp1[i] != inp2[i])
+ {
+ f = 1;
+ break;
+ }
+ }
+
+ if (f == 1)
+ return 'F';
+ else
+ return 'T';
+ }
+}
+
diff --git a/src/c/elementaryFunctions/isequal/u16isequals.c b/src/c/elementaryFunctions/isequal/u16isequals.c
new file mode 100644
index 00000000..4f797d40
--- /dev/null
+++ b/src/c/elementaryFunctions/isequal/u16isequals.c
@@ -0,0 +1,25 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <isreal.h>
+#include "uint16.h"
+
+char u16isequals(uint16 inp1, uint16 inp2)
+{
+ if (inp1 == inp2)
+ return 'T';
+ else
+ return 'F';
+}
+
diff --git a/src/c/elementaryFunctions/isequal/zisequala.c b/src/c/elementaryFunctions/isequal/zisequala.c
new file mode 100644
index 00000000..13d241fe
--- /dev/null
+++ b/src/c/elementaryFunctions/isequal/zisequala.c
@@ -0,0 +1,40 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <isreal.h>
+#include "doubleComplex.h"
+
+char zisequala(doubleComplex* inp1, int size1r, int size1c, doubleComplex* inp2, int size2r, int size2c)
+{
+ if ((size1r != size2r) && (size1c != size2c))
+ return 'F';
+ else
+ {
+ int i, f = 0;
+ for (i = 0; i<size1r*size1c; i++)
+ {
+ if (!(zisequals(inp1[i],inp2[i])))
+ {
+ f = 1;
+ break;
+ }
+ }
+
+ if (f == 1)
+ return 'F';
+ else
+ return 'T';
+ }
+}
+
diff --git a/src/c/elementaryFunctions/isequal/zisequals.c b/src/c/elementaryFunctions/isequal/zisequals.c
new file mode 100644
index 00000000..6914dc87
--- /dev/null
+++ b/src/c/elementaryFunctions/isequal/zisequals.c
@@ -0,0 +1,25 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <isreal.h>
+#include "doubleComplex.h"
+
+char zisequals(doubleComplex inp1, doubleComplex inp2)
+{
+ if ((zreals(inp1) == zreals(inp2)) && (zimags(inp1) == zimags(inp2)))
+ return 'T';
+ else
+ return 'F';
+}
+
diff --git a/src/c/elementaryFunctions/isinf/disinfs.c b/src/c/elementaryFunctions/isinf/disinfs.c
new file mode 100644
index 00000000..1d940051
--- /dev/null
+++ b/src/c/elementaryFunctions/isinf/disinfs.c
@@ -0,0 +1,24 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "isinf.h"
+
+char disinfs(double x)
+{
+ char o = 'F';
+ if (x == INFINITY || x == - INFINITY)
+ o = 'T';
+ return o;
+}
diff --git a/src/c/elementaryFunctions/isinf/sisinfs.c b/src/c/elementaryFunctions/isinf/sisinfs.c
new file mode 100644
index 00000000..c36c0a5b
--- /dev/null
+++ b/src/c/elementaryFunctions/isinf/sisinfs.c
@@ -0,0 +1,24 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "isinf.h"
+
+char sisinfs(float x)
+{
+ char o = 'F';
+ if (x == INFINITY || x == - INFINITY)
+ o = 'T';
+ return o;
+}
diff --git a/src/c/elementaryFunctions/ismatrix/dismatrixa.c b/src/c/elementaryFunctions/ismatrix/dismatrixa.c
new file mode 100644
index 00000000..4fe7d192
--- /dev/null
+++ b/src/c/elementaryFunctions/ismatrix/dismatrixa.c
@@ -0,0 +1,22 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "ismatrix.h"
+#include "types.h"
+char dismatrixa(double* in)
+{
+ char out= 'T' ;
+ return out;
+}
diff --git a/src/c/elementaryFunctions/ismatrix/dismatrixs.c b/src/c/elementaryFunctions/ismatrix/dismatrixs.c
new file mode 100644
index 00000000..15edcf22
--- /dev/null
+++ b/src/c/elementaryFunctions/ismatrix/dismatrixs.c
@@ -0,0 +1,22 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "ismatrix.h"
+#include "types.h"
+char dismatrixs(double in)
+{
+ char out= 'T' ;
+ return out;
+}
diff --git a/src/c/elementaryFunctions/ismatrix/gismatrixa.c b/src/c/elementaryFunctions/ismatrix/gismatrixa.c
new file mode 100644
index 00000000..f7288145
--- /dev/null
+++ b/src/c/elementaryFunctions/ismatrix/gismatrixa.c
@@ -0,0 +1,22 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "ismatrix.h"
+#include "types.h"
+char gismatrixa(char* in)
+{
+ char out= 'T' ;
+ return out;
+}
diff --git a/src/c/elementaryFunctions/ismatrix/gismatrixs.c b/src/c/elementaryFunctions/ismatrix/gismatrixs.c
new file mode 100644
index 00000000..61a3062a
--- /dev/null
+++ b/src/c/elementaryFunctions/ismatrix/gismatrixs.c
@@ -0,0 +1,22 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "ismatrix.h"
+#include "types.h"
+char gismatrixs(char in)
+{
+ char out= 'T' ;
+ return out;
+}
diff --git a/src/c/elementaryFunctions/ismatrix/sismatrixa.c b/src/c/elementaryFunctions/ismatrix/sismatrixa.c
new file mode 100644
index 00000000..44335b81
--- /dev/null
+++ b/src/c/elementaryFunctions/ismatrix/sismatrixa.c
@@ -0,0 +1,22 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "ismatrix.h"
+#include "types.h"
+char sismatrixa(float* in)
+{
+ char out= 'T' ;
+ return out;
+}
diff --git a/src/c/elementaryFunctions/ismatrix/sismatrixs.c b/src/c/elementaryFunctions/ismatrix/sismatrixs.c
new file mode 100644
index 00000000..d6c6f233
--- /dev/null
+++ b/src/c/elementaryFunctions/ismatrix/sismatrixs.c
@@ -0,0 +1,22 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "ismatrix.h"
+#include "types.h"
+char sismatrixs(float in)
+{
+ char out= 'T' ;
+ return out;
+}
diff --git a/src/c/elementaryFunctions/ismatrix/u16ismatrixa.c b/src/c/elementaryFunctions/ismatrix/u16ismatrixa.c
new file mode 100644
index 00000000..c16d54c8
--- /dev/null
+++ b/src/c/elementaryFunctions/ismatrix/u16ismatrixa.c
@@ -0,0 +1,23 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "ismatrix.h"
+#include "types.h"
+#include "uint16.h"
+char u16ismatrixa(uint16* in)
+{
+ char out= 'T' ;
+ return out;
+}
diff --git a/src/c/elementaryFunctions/ismatrix/u16ismatrixs.c b/src/c/elementaryFunctions/ismatrix/u16ismatrixs.c
new file mode 100644
index 00000000..64313577
--- /dev/null
+++ b/src/c/elementaryFunctions/ismatrix/u16ismatrixs.c
@@ -0,0 +1,23 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "ismatrix.h"
+#include "types.h"
+#include "uint16.h"
+char u16ismatrixs(uint16 in)
+{
+ char out= 'T' ;
+ return out;
+}
diff --git a/src/c/elementaryFunctions/ismatrix/zismatrixa.c b/src/c/elementaryFunctions/ismatrix/zismatrixa.c
new file mode 100644
index 00000000..32d72605
--- /dev/null
+++ b/src/c/elementaryFunctions/ismatrix/zismatrixa.c
@@ -0,0 +1,24 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "ismatrix.h"
+#include "types.h"
+#include "uint16.h"
+#include "doubleComplex.h"
+char zismatrixa(doubleComplex* in)
+{
+ char out= 'T' ;
+ return out;
+}
diff --git a/src/c/elementaryFunctions/ismatrix/zismatrixs.c b/src/c/elementaryFunctions/ismatrix/zismatrixs.c
new file mode 100644
index 00000000..d38592c7
--- /dev/null
+++ b/src/c/elementaryFunctions/ismatrix/zismatrixs.c
@@ -0,0 +1,24 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "ismatrix.h"
+#include "types.h"
+#include "uint16.h"
+#include "doubleComplex.h"
+char zismatrixs(doubleComplex in)
+{
+ char out= 'T' ;
+ return out;
+}
diff --git a/src/c/elementaryFunctions/isreal/disreals.c b/src/c/elementaryFunctions/isreal/disreals.c
new file mode 100644
index 00000000..8c7c8201
--- /dev/null
+++ b/src/c/elementaryFunctions/isreal/disreals.c
@@ -0,0 +1,17 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ukasha Noor
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "isreal.h"
+
+double disreals(double a){
+ return 1;
+}
diff --git a/src/c/elementaryFunctions/isreal/sisreals.c b/src/c/elementaryFunctions/isreal/sisreals.c
new file mode 100644
index 00000000..4b93c02c
--- /dev/null
+++ b/src/c/elementaryFunctions/isreal/sisreals.c
@@ -0,0 +1,17 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ukasha Noor
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "isreal.h"
+
+float sisreals(float a){
+ return 1;
+}
diff --git a/src/c/elementaryFunctions/isrow/disrowa.c b/src/c/elementaryFunctions/isrow/disrowa.c
new file mode 100644
index 00000000..826afca7
--- /dev/null
+++ b/src/c/elementaryFunctions/isrow/disrowa.c
@@ -0,0 +1,26 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "isrow.h"
+#include "types.h"
+char disrowa(double* inp, int size1)
+{
+ char out= 'F' ;
+ if(size1==1)
+ {
+ out = 'T';
+ }
+ return out;
+}
diff --git a/src/c/elementaryFunctions/isrow/disrows.c b/src/c/elementaryFunctions/isrow/disrows.c
new file mode 100644
index 00000000..e3bdadb5
--- /dev/null
+++ b/src/c/elementaryFunctions/isrow/disrows.c
@@ -0,0 +1,24 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "isrow.h"
+#include "types.h"
+
+char disrows(double inp)
+{
+ double out='T';
+
+ return out;
+}
diff --git a/src/c/elementaryFunctions/isrow/gisrowa.c b/src/c/elementaryFunctions/isrow/gisrowa.c
new file mode 100644
index 00000000..c62350fc
--- /dev/null
+++ b/src/c/elementaryFunctions/isrow/gisrowa.c
@@ -0,0 +1,27 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "isrow.h"
+#include "types.h"
+#include "string.h"
+char gisrowa(char *inp, int size1)
+{
+ char out='F';
+ if(size1==1)
+ {
+ out = 'T';
+ }
+ return out;
+}
diff --git a/src/c/elementaryFunctions/isrow/gisrows.c b/src/c/elementaryFunctions/isrow/gisrows.c
new file mode 100644
index 00000000..a4393bdb
--- /dev/null
+++ b/src/c/elementaryFunctions/isrow/gisrows.c
@@ -0,0 +1,24 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "isrow.h"
+#include "types.h"
+
+char gisrows(char inp)
+{
+ char out='T';
+
+ return out;
+}
diff --git a/src/c/elementaryFunctions/isrow/sisrowa.c b/src/c/elementaryFunctions/isrow/sisrowa.c
new file mode 100644
index 00000000..bf9d4c36
--- /dev/null
+++ b/src/c/elementaryFunctions/isrow/sisrowa.c
@@ -0,0 +1,26 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "isrow.h"
+#include "types.h"
+char sisrowa(float* inp, int size1)
+{
+ char out='F';
+ if(size1==1)
+ {
+ out = 'T';
+ }
+ return out;
+}
diff --git a/src/c/elementaryFunctions/isrow/sisrows.c b/src/c/elementaryFunctions/isrow/sisrows.c
new file mode 100644
index 00000000..331e0a9d
--- /dev/null
+++ b/src/c/elementaryFunctions/isrow/sisrows.c
@@ -0,0 +1,24 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "isrow.h"
+#include "types.h"
+
+char sisrows(float inp)
+{
+ char out='T';
+
+ return out;
+}
diff --git a/src/c/elementaryFunctions/isrow/u16isrowa.c b/src/c/elementaryFunctions/isrow/u16isrowa.c
new file mode 100644
index 00000000..3ddbb0fe
--- /dev/null
+++ b/src/c/elementaryFunctions/isrow/u16isrowa.c
@@ -0,0 +1,27 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "isrow.h"
+#include "types.h"
+#include "uint16.h"
+char u16isrowa(uint16* inp, int size1)
+{
+ char out='F';
+ if(size1==1)
+ {
+ out = 'T';
+ }
+ return out;
+}
diff --git a/src/c/elementaryFunctions/isrow/u16isrows.c b/src/c/elementaryFunctions/isrow/u16isrows.c
new file mode 100644
index 00000000..2942dd3b
--- /dev/null
+++ b/src/c/elementaryFunctions/isrow/u16isrows.c
@@ -0,0 +1,25 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "isrow.h"
+#include "types.h"
+#include "uint16.h"
+
+char u16isrows(uint16 inp)
+{
+ char out='T';
+
+ return out;
+}
diff --git a/src/c/elementaryFunctions/isrow/zisrowa.c b/src/c/elementaryFunctions/isrow/zisrowa.c
new file mode 100644
index 00000000..312ddf5b
--- /dev/null
+++ b/src/c/elementaryFunctions/isrow/zisrowa.c
@@ -0,0 +1,28 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "doubleComplex.h"
+#include "isrow.h"
+#include "types.h"
+
+char zisrowa(doubleComplex *inp, int size1)
+{
+ char out='F';
+ if(size1==1)
+ {
+ out = 'T';
+ }
+ return out;
+}
diff --git a/src/c/elementaryFunctions/isrow/zisrows.c b/src/c/elementaryFunctions/isrow/zisrows.c
new file mode 100644
index 00000000..96e671ab
--- /dev/null
+++ b/src/c/elementaryFunctions/isrow/zisrows.c
@@ -0,0 +1,25 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "isrow.h"
+#include "types.h"
+#include "doubleComplex.h"
+
+char zisrows(doubleComplex inp)
+{
+ char out='T';
+
+ return out;
+}
diff --git a/src/c/elementaryFunctions/isscalar/disscalara.c b/src/c/elementaryFunctions/isscalar/disscalara.c
new file mode 100644
index 00000000..eb70cf6a
--- /dev/null
+++ b/src/c/elementaryFunctions/isscalar/disscalara.c
@@ -0,0 +1,23 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "isscalar.h"
+#include "types.h"
+char disscalara(double* inp, int size1)
+{
+ char out= 'F' ;
+
+ return out;
+}
diff --git a/src/c/elementaryFunctions/isscalar/disscalars.c b/src/c/elementaryFunctions/isscalar/disscalars.c
new file mode 100644
index 00000000..fe7ce3e3
--- /dev/null
+++ b/src/c/elementaryFunctions/isscalar/disscalars.c
@@ -0,0 +1,24 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "isscalar.h"
+#include "types.h"
+
+char disscalars(double inp)
+{
+ double out='T';
+
+ return out;
+}
diff --git a/src/c/elementaryFunctions/isscalar/gisscalara.c b/src/c/elementaryFunctions/isscalar/gisscalara.c
new file mode 100644
index 00000000..fdfac778
--- /dev/null
+++ b/src/c/elementaryFunctions/isscalar/gisscalara.c
@@ -0,0 +1,24 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "isscalar.h"
+#include "types.h"
+#include "string.h"
+char gisscalara(char *inp, int size1)
+{
+ char out='F';
+
+ return out;
+}
diff --git a/src/c/elementaryFunctions/isscalar/gisscalars.c b/src/c/elementaryFunctions/isscalar/gisscalars.c
new file mode 100644
index 00000000..5a208959
--- /dev/null
+++ b/src/c/elementaryFunctions/isscalar/gisscalars.c
@@ -0,0 +1,24 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "isscalar.h"
+#include "types.h"
+
+char giscalars(char inp)
+{
+ char out='T';
+
+ return out;
+}
diff --git a/src/c/elementaryFunctions/isscalar/sisscalara.c b/src/c/elementaryFunctions/isscalar/sisscalara.c
new file mode 100644
index 00000000..59a51653
--- /dev/null
+++ b/src/c/elementaryFunctions/isscalar/sisscalara.c
@@ -0,0 +1,22 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "isscalar.h"
+#include "types.h"
+char sisscalara(float* inp, int size1)
+{
+ char out='F';
+ return out;
+}
diff --git a/src/c/elementaryFunctions/isscalar/sisscalars.c b/src/c/elementaryFunctions/isscalar/sisscalars.c
new file mode 100644
index 00000000..6ca7c4b4
--- /dev/null
+++ b/src/c/elementaryFunctions/isscalar/sisscalars.c
@@ -0,0 +1,24 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "isscalar.h"
+#include "types.h"
+
+char sisscalars(float inp)
+{
+ char out='T';
+
+ return out;
+}
diff --git a/src/c/elementaryFunctions/isscalar/zisscalara.c b/src/c/elementaryFunctions/isscalar/zisscalara.c
new file mode 100644
index 00000000..942bbb54
--- /dev/null
+++ b/src/c/elementaryFunctions/isscalar/zisscalara.c
@@ -0,0 +1,25 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "doubleComplex.h"
+#include "isscalar.h"
+#include "types.h"
+
+char zisscalara(doubleComplex *inp, int size1)
+{
+ char out='F';
+
+ return out;
+}
diff --git a/src/c/elementaryFunctions/isscalar/zisscalars.c b/src/c/elementaryFunctions/isscalar/zisscalars.c
new file mode 100644
index 00000000..2bf8e949
--- /dev/null
+++ b/src/c/elementaryFunctions/isscalar/zisscalars.c
@@ -0,0 +1,25 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "isscalar.h"
+#include "types.h"
+#include "doubleComplex.h"
+
+char zisscalars(doubleComplex inp)
+{
+ char out='T';
+
+ return out;
+}
diff --git a/src/c/elementaryFunctions/issquare/dissquarea.c b/src/c/elementaryFunctions/issquare/dissquarea.c
new file mode 100644
index 00000000..840190d0
--- /dev/null
+++ b/src/c/elementaryFunctions/issquare/dissquarea.c
@@ -0,0 +1,26 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "issquare.h"
+#include "types.h"
+char dissquarea(double* inp, int size1, int size2)
+{
+ char out= 'F' ;
+ if(size1==size2)
+ {
+ out = 'T';
+ }
+ return out;
+}
diff --git a/src/c/elementaryFunctions/issquare/dissquares.c b/src/c/elementaryFunctions/issquare/dissquares.c
new file mode 100644
index 00000000..ac6d67e1
--- /dev/null
+++ b/src/c/elementaryFunctions/issquare/dissquares.c
@@ -0,0 +1,24 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "issquare.h"
+#include "types.h"
+
+char dissquares(double inp)
+{
+ double out='T';
+
+ return out;
+}
diff --git a/src/c/elementaryFunctions/issquare/gissquarea.c b/src/c/elementaryFunctions/issquare/gissquarea.c
new file mode 100644
index 00000000..73e2b37e
--- /dev/null
+++ b/src/c/elementaryFunctions/issquare/gissquarea.c
@@ -0,0 +1,27 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "issquare.h"
+#include "types.h"
+#include "string.h"
+char gissquarea(char *inp, int size1, int size2)
+{
+ char out='F';
+ if(size1==size2)
+ {
+ out = 'T';
+ }
+ return out;
+}
diff --git a/src/c/elementaryFunctions/issquare/gissquares.c b/src/c/elementaryFunctions/issquare/gissquares.c
new file mode 100644
index 00000000..572afd19
--- /dev/null
+++ b/src/c/elementaryFunctions/issquare/gissquares.c
@@ -0,0 +1,24 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "issquare.h"
+#include "types.h"
+
+char gissquares(char inp)
+{
+ char out='T';
+
+ return out;
+}
diff --git a/src/c/elementaryFunctions/issquare/sissquarea.c b/src/c/elementaryFunctions/issquare/sissquarea.c
new file mode 100644
index 00000000..856cb818
--- /dev/null
+++ b/src/c/elementaryFunctions/issquare/sissquarea.c
@@ -0,0 +1,26 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "issquare.h"
+#include "types.h"
+char sissquarea(float* inp, int size1, int size2)
+{
+ char out='F';
+ if(size1==size2)
+ {
+ out = 'T';
+ }
+ return out;
+}
diff --git a/src/c/elementaryFunctions/issquare/sissquares.c b/src/c/elementaryFunctions/issquare/sissquares.c
new file mode 100644
index 00000000..1a6fbf85
--- /dev/null
+++ b/src/c/elementaryFunctions/issquare/sissquares.c
@@ -0,0 +1,24 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "issquare.h"
+#include "types.h"
+
+char sissquares(float inp)
+{
+ char out='T';
+
+ return out;
+}
diff --git a/src/c/elementaryFunctions/issquare/zissquarea.c b/src/c/elementaryFunctions/issquare/zissquarea.c
new file mode 100644
index 00000000..023b8fc6
--- /dev/null
+++ b/src/c/elementaryFunctions/issquare/zissquarea.c
@@ -0,0 +1,28 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "doubleComplex.h"
+#include "issquare.h"
+#include "types.h"
+
+char zissquarea(doubleComplex *inp, int size1, int size2)
+{
+ char out='F';
+ if(size1==size2)
+ {
+ out = 'T';
+ }
+ return out;
+}
diff --git a/src/c/elementaryFunctions/issquare/zissquares.c b/src/c/elementaryFunctions/issquare/zissquares.c
new file mode 100644
index 00000000..2c1bb566
--- /dev/null
+++ b/src/c/elementaryFunctions/issquare/zissquares.c
@@ -0,0 +1,25 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "issquare.h"
+#include "types.h"
+#include "doubleComplex.h"
+
+char zissquares(doubleComplex inp)
+{
+ char out='T';
+
+ return out;
+}
diff --git a/src/c/elementaryFunctions/isvector/disvectora.c b/src/c/elementaryFunctions/isvector/disvectora.c
new file mode 100644
index 00000000..a96485be
--- /dev/null
+++ b/src/c/elementaryFunctions/isvector/disvectora.c
@@ -0,0 +1,23 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "isvector.h"
+#include "types.h"
+char disvectora(double* inp, int row, int col)
+{
+ if(row ==1 || col==1)
+ return 'T';
+ return 'F';
+}
diff --git a/src/c/elementaryFunctions/isvector/disvectors.c b/src/c/elementaryFunctions/isvector/disvectors.c
new file mode 100644
index 00000000..703e6673
--- /dev/null
+++ b/src/c/elementaryFunctions/isvector/disvectors.c
@@ -0,0 +1,24 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "isvector.h"
+#include "types.h"
+
+char disvectors(double inp)
+{
+ double out='F';
+
+ return out;
+}
diff --git a/src/c/elementaryFunctions/isvector/gisvectora.c b/src/c/elementaryFunctions/isvector/gisvectora.c
new file mode 100644
index 00000000..758fa879
--- /dev/null
+++ b/src/c/elementaryFunctions/isvector/gisvectora.c
@@ -0,0 +1,24 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "isvector.h"
+#include "types.h"
+#include "string.h"
+char gisvectora(char *inp, int row, int col)
+{
+ if(row ==1 || col==1)
+ return 'T';
+ return 'F';
+}
diff --git a/src/c/elementaryFunctions/isvector/gisvectors.c b/src/c/elementaryFunctions/isvector/gisvectors.c
new file mode 100644
index 00000000..72118603
--- /dev/null
+++ b/src/c/elementaryFunctions/isvector/gisvectors.c
@@ -0,0 +1,24 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "isvector.h"
+#include "types.h"
+
+char gisvectors(char inp)
+{
+ char out='F';
+
+ return out;
+}
diff --git a/src/c/elementaryFunctions/isvector/sisvectora.c b/src/c/elementaryFunctions/isvector/sisvectora.c
new file mode 100644
index 00000000..d6a4821b
--- /dev/null
+++ b/src/c/elementaryFunctions/isvector/sisvectora.c
@@ -0,0 +1,23 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "isvector.h"
+#include "types.h"
+char sisvectora(float* inp, int row, int col)
+{
+ if(row ==1 || col==1)
+ return 'T';
+ return 'F';
+}
diff --git a/src/c/elementaryFunctions/isvector/sisvectors.c b/src/c/elementaryFunctions/isvector/sisvectors.c
new file mode 100644
index 00000000..019bd464
--- /dev/null
+++ b/src/c/elementaryFunctions/isvector/sisvectors.c
@@ -0,0 +1,24 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "isvector.h"
+#include "types.h"
+
+char sisvectors(float inp)
+{
+ char out='F';
+
+ return out;
+}
diff --git a/src/c/elementaryFunctions/isvector/zisvectora.c b/src/c/elementaryFunctions/isvector/zisvectora.c
new file mode 100644
index 00000000..0ed64a63
--- /dev/null
+++ b/src/c/elementaryFunctions/isvector/zisvectora.c
@@ -0,0 +1,25 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "doubleComplex.h"
+#include "isvector.h"
+#include "types.h"
+
+char zisvectora(doubleComplex *inp, int row, int col)
+{
+ if(row ==1 || col==1)
+ return 'T';
+ return 'F';
+}
diff --git a/src/c/elementaryFunctions/isvector/zisvectors.c b/src/c/elementaryFunctions/isvector/zisvectors.c
new file mode 100644
index 00000000..bc9e5ce6
--- /dev/null
+++ b/src/c/elementaryFunctions/isvector/zisvectors.c
@@ -0,0 +1,25 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "isvector.h"
+#include "types.h"
+#include "doubleComplex.h"
+
+char zisvectors(doubleComplex inp)
+{
+ char out='F';
+
+ return out;
+}
diff --git a/src/c/elementaryFunctions/linspace/dlinspacea.c b/src/c/elementaryFunctions/linspace/dlinspacea.c
new file mode 100644
index 00000000..e23db2f3
--- /dev/null
+++ b/src/c/elementaryFunctions/linspace/dlinspacea.c
@@ -0,0 +1,49 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+#include <stdlib.h>
+#include "linspace.h"
+
+void dlinspacea(double *low_limit,int _row,double *up_limit,double range_num,double *out)
+{
+ int i,j,k;
+ double temp;
+ double *step_iterate; /* for each row the spacing between two values is different.*/
+ step_iterate = (double*) malloc((double)_row*sizeof(double));
+ for(i=0;i<_row;i++)
+ {
+
+ step_iterate[i] = (up_limit[i]-low_limit[i])/(range_num-1);
+
+ }
+ for(j=0;j < _row;j++)
+ {
+ out[j] = low_limit[j]; /* For every row first element is the first value of low_limit array*/
+ temp = low_limit[j];
+ for(k=1;k < (double)range_num;k++ )
+ {
+ out[(_row*k)+j] = temp + step_iterate[j]; /* Output matrix positions for 3 X 5 matrix are [0 3 6 9 12;1 4 7 10 13;2 5 8 11 14] so (_row*k)+j) used*/
+ temp = out[(_row*k)+j];
+ if(k == (double)range_num-1 )
+ {
+ out[(_row*k)+j] = (double)up_limit[j]; /* Last value of output is equal to first value of up_limit array*/
+ }
+
+ }
+
+
+ }
+
+
+
+
+}
+
diff --git a/src/c/elementaryFunctions/linspace/dlinspaces.c b/src/c/elementaryFunctions/linspace/dlinspaces.c
new file mode 100644
index 00000000..9ac80271
--- /dev/null
+++ b/src/c/elementaryFunctions/linspace/dlinspaces.c
@@ -0,0 +1,33 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "linspace.h"
+void dlinspaces(double low_limit,double up_limit,double range_num,double *out)
+{
+ int j;
+ double temp = low_limit;
+ float step_iterate = (up_limit-low_limit)/(range_num-1);
+ out[0] = low_limit; /*First value of output is equal to low_limit value*/
+ for(j=1; j<(double)range_num; j++)
+ {
+ out[j] = temp + step_iterate;
+ temp = out[j];
+ if(j == (double)range_num-1 )
+ {
+ out[j] = (double)up_limit; /* Last value of output is equal to up_limit value*/
+ }
+ }
+
+
+
+}
+
diff --git a/src/c/elementaryFunctions/linspace/slinspacea.c b/src/c/elementaryFunctions/linspace/slinspacea.c
new file mode 100644
index 00000000..38af3942
--- /dev/null
+++ b/src/c/elementaryFunctions/linspace/slinspacea.c
@@ -0,0 +1,49 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ukasha Noor
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+#include <stdlib.h>
+#include "linspace.h"
+
+void slinspacea(float *low_limit,int _row,float *up_limit,float range_num,float *out)
+{
+ int i,j,k;
+ float temp;
+ float *step_iterate; /* for each row the spacing between two values is different.*/
+ step_iterate = (float*) malloc((float)_row*sizeof(float));
+ for(i=0;i<_row;i++)
+ {
+
+ step_iterate[i] = (up_limit[i]-low_limit[i])/(range_num-1);
+
+ }
+ for(j=0;j < _row;j++)
+ {
+ out[j] = low_limit[j]; /* For every row first element is the first value of low_limit array*/
+ temp = low_limit[j];
+ for(k=1;k < (float)range_num;k++ )
+ {
+ out[(_row*k)+j] = temp + step_iterate[j]; /* Output matrix positions for 3 X 5 matrix are [0 3 6 9 12;1 4 7 10 13;2 5 8 11 14] so (_row*k)+j) used*/
+ temp = out[(_row*k)+j];
+ if(k == (float)range_num-1 )
+ {
+ out[(_row*k)+j] = (float)up_limit[j]; /* Last value of output is equal to first value of up_limit array*/
+ }
+
+ }
+
+
+ }
+
+
+
+
+}
+
diff --git a/src/c/elementaryFunctions/linspace/slinspaces.c b/src/c/elementaryFunctions/linspace/slinspaces.c
new file mode 100644
index 00000000..2404f4de
--- /dev/null
+++ b/src/c/elementaryFunctions/linspace/slinspaces.c
@@ -0,0 +1,33 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Ukasha Noor
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "linspace.h"
+void slinspaces(float low_limit,float up_limit,float range_num,float *out)
+{
+ int j;
+ float temp = low_limit;
+ float step_iterate = (up_limit-low_limit)/(range_num-1);
+ out[0] = low_limit; /*First value of output is equal to low_limit value*/
+ for(j=1; j<(float)range_num; j++)
+ {
+ out[j] = temp + step_iterate;
+ temp = out[j];
+ if(j == (float)range_num-1 )
+ {
+ out[j] = (float)up_limit; /* Last value of output is equal to up_limit value*/
+ }
+ }
+
+
+
+}
+
diff --git a/src/c/elementaryFunctions/log2/dlog2a.c b/src/c/elementaryFunctions/log2/dlog2a.c
new file mode 100644
index 00000000..79047dec
--- /dev/null
+++ b/src/c/elementaryFunctions/log2/dlog2a.c
@@ -0,0 +1,20 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Brijesh Gupta C R
+ Email: toolbox@scilab.in
+*/
+#include <stdio.h>
+#include <math.h>
+#include "log2.h"
+
+void dlog2a(double* inp,int size, double* out)
+{
+ for(int i = 0; i<size; i++)
+ out[i] = dlog2s(inp[i]);
+}
diff --git a/src/c/elementaryFunctions/log2/dlog2s.c b/src/c/elementaryFunctions/log2/dlog2s.c
new file mode 100644
index 00000000..9d2f8ab2
--- /dev/null
+++ b/src/c/elementaryFunctions/log2/dlog2s.c
@@ -0,0 +1,21 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+#include <stdio.h>
+#include <math.h>
+#include "log2.h"
+
+double dlog2s(double inp)
+{
+ return log(inp)/log(2);
+}
+
+
diff --git a/src/c/elementaryFunctions/log2/slog2a.c b/src/c/elementaryFunctions/log2/slog2a.c
new file mode 100644
index 00000000..04723072
--- /dev/null
+++ b/src/c/elementaryFunctions/log2/slog2a.c
@@ -0,0 +1,21 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Brijesh Gupta C R
+ Email: toolbox@scilab.in
+*/
+#include <stdio.h>
+#include <math.h>
+#include "factorial.h"
+#include "log2.h"
+
+void slog2a(float* inp,int size, float* out)
+{
+ for(int i = 0; i<size; i++)
+ out[i] = slog2s(inp[i]);
+}
diff --git a/src/c/elementaryFunctions/log2/slog2s.c b/src/c/elementaryFunctions/log2/slog2s.c
new file mode 100644
index 00000000..d162248a
--- /dev/null
+++ b/src/c/elementaryFunctions/log2/slog2s.c
@@ -0,0 +1,20 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Brijesh Gupta C R
+ Email: toolbox@scilab.in
+*/
+#include <stdio.h>
+#include <math.h>
+#include "factorial.h"
+#include "log2.h"
+
+float slog2s(float inp)
+{
+ return log(inp)/log(2);
+}
diff --git a/src/c/elementaryFunctions/log2/zlog2a.c b/src/c/elementaryFunctions/log2/zlog2a.c
new file mode 100644
index 00000000..4cd0b33f
--- /dev/null
+++ b/src/c/elementaryFunctions/log2/zlog2a.c
@@ -0,0 +1,20 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Brijesh Gupta C R
+ Email: toolbox@scilab.in
+*/
+#include <stdio.h>
+#include <math.h>
+#include "log2.h"
+
+void zlog2a(doubleComplex* inp,int size, doubleComplex* out)
+{
+ for(int i = 0; i<size; i++)
+ out[i] = zlog2s(inp[i]);
+}
diff --git a/src/c/elementaryFunctions/log2/zlog2s.c b/src/c/elementaryFunctions/log2/zlog2s.c
new file mode 100644
index 00000000..8447c9e3
--- /dev/null
+++ b/src/c/elementaryFunctions/log2/zlog2s.c
@@ -0,0 +1,22 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+#include <stdio.h>
+#include <math.h>
+#include "log2.h"
+#include "log.h"
+
+doubleComplex zlog2s(doubleComplex inp)
+{
+ return zlogs(inp)/zlogs(2);
+}
+
+
diff --git a/src/c/elementaryFunctions/logspace/dlogspacea.c b/src/c/elementaryFunctions/logspace/dlogspacea.c
new file mode 100644
index 00000000..62802f77
--- /dev/null
+++ b/src/c/elementaryFunctions/logspace/dlogspacea.c
@@ -0,0 +1,50 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+#include <math.h>
+#include <stdlib.h>
+#include "logspace.h"
+
+void dlogspacea(double *low_limit,int _row,double *up_limit,double range_num,double *out)
+{
+ int i,j,k;
+ double temp;
+ double *step_iterate; /* for each row the spacing between two values is different.*/
+ step_iterate = (double*) malloc((double)_row*sizeof(double));
+ for(i=0;i<_row;i++)
+ {
+ step_iterate[i] = pow(10,((up_limit[i]-low_limit[i])/(range_num-1)));
+
+
+ }
+ for(j=0;j < _row;j++)
+ {
+ out[j] = pow(10,low_limit[j]); /* For every row first element is equal to 10 raise to the first value of low_limit array*/
+ temp = out[j];
+ for(k=1;k < (double)range_num;k++ )
+ {
+ out[(_row*k)+j] = temp*step_iterate[j]; /* Output matrix positions for 3 X 5 matrix are [0 3 6 9 12;1 4 7 10 13;2 5 8 11 14] so (_row*k)+j) used*/
+ temp = out[(_row*k)+j];
+ if(k == (double)range_num-1 )
+ {
+ out[(_row*k)+j] = pow(10,((double)up_limit[j])); /* For every row Last value of output is equal to 10 raise to first value of up_limit array*/
+ }
+
+ }
+
+
+ }
+
+
+
+
+}
+
diff --git a/src/c/elementaryFunctions/logspace/dlogspaces.c b/src/c/elementaryFunctions/logspace/dlogspaces.c
new file mode 100644
index 00000000..df9c94f0
--- /dev/null
+++ b/src/c/elementaryFunctions/logspace/dlogspaces.c
@@ -0,0 +1,34 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Mushir
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "logspace.h"
+#include<math.h>
+void dlogspaces(double low_limit,double up_limit,double range_num,double *out)
+{
+ int j;
+ double temp = pow(10,low_limit);
+ double step_iterate = pow(10,((up_limit-low_limit)/(range_num-1)));
+ out[0] = pow(10,low_limit); /*First value of output is equal to low_limit value*/
+ for(j=1; j<(double)range_num; j++)
+ {
+ out[j] = temp*step_iterate;
+ temp = out[j];
+ if(j == (double)range_num-1 )
+ {
+ out[j] = pow(10,((double)up_limit)); /* Last value of output is equal to up_limit value*/
+ }
+ }
+
+
+
+}
+
diff --git a/src/c/elementaryFunctions/nancumsum/dnancumsuma.c b/src/c/elementaryFunctions/nancumsum/dnancumsuma.c
new file mode 100644
index 00000000..135ab4bb
--- /dev/null
+++ b/src/c/elementaryFunctions/nancumsum/dnancumsuma.c
@@ -0,0 +1,38 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "nancumsum.h"
+#include "types.h"
+#include "uint16.h"
+#include "addition.h"
+
+void dnancumsuma(double *in, int size, double* out)
+{
+ double fin=0;
+
+
+
+ for (int i = 0; i < size; ++i)
+
+ {
+ if(!(isnan(in[i])))
+ {
+ fin= dadds(fin, in[i]);
+
+ }
+ out[i]= fin;
+
+ }
+
+
+}
diff --git a/src/c/elementaryFunctions/nancumsum/dnancumsumcola.c b/src/c/elementaryFunctions/nancumsum/dnancumsumcola.c
new file mode 100644
index 00000000..a49b394d
--- /dev/null
+++ b/src/c/elementaryFunctions/nancumsum/dnancumsumcola.c
@@ -0,0 +1,43 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "nancumsum.h"
+#include "types.h"
+#include "uint16.h"
+#include "addition.h"
+
+void dnancumsumcola(double *in, int row, int col, double* out)
+{
+ double fin=0;
+
+for(int i=0; i< row; i++)
+ {
+
+ for(int j= 0; j< col; j ++)
+ {
+ if(!(isnan(in[i+j*row])))
+
+ {
+
+ fin = dadds(fin, in[i+j*row]);
+
+
+
+ }
+ out[i+j*row]= fin;
+
+ }
+ fin=0;
+
+ }
+}
diff --git a/src/c/elementaryFunctions/nancumsum/dnancumsumrowa.c b/src/c/elementaryFunctions/nancumsum/dnancumsumrowa.c
new file mode 100644
index 00000000..45ce1ca2
--- /dev/null
+++ b/src/c/elementaryFunctions/nancumsum/dnancumsumrowa.c
@@ -0,0 +1,45 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "nancumsum.h"
+#include "types.h"
+#include "uint16.h"
+#include "addition.h"
+
+void dnancumsumrowa(double *in, int row, int col, double* out)
+{
+
+ double fin=0;
+
+
+for(int i=0; i< col; i++)
+ {
+
+ for(int j= 0; j< row; j ++)
+ {
+ if(!(isnan(in[j+i*row])))
+
+ {
+
+ fin = dadds(fin, in[j+i*row]);
+
+
+
+ }
+ out[j+i*row]= fin;
+
+ }
+ fin=0;
+
+ }
+}
diff --git a/src/c/elementaryFunctions/nancumsum/snancumsuma.c b/src/c/elementaryFunctions/nancumsum/snancumsuma.c
new file mode 100644
index 00000000..56d16335
--- /dev/null
+++ b/src/c/elementaryFunctions/nancumsum/snancumsuma.c
@@ -0,0 +1,38 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "nancumsum.h"
+#include "types.h"
+#include "uint16.h"
+#include "addition.h"
+
+void snancumsuma(float *in, int size, float* out)
+{
+ float fin=0;
+
+
+
+ for (int i = 0; i < size; ++i)
+
+ {
+ if(!(isnan(in[i])))
+ {
+ fin= sadds(fin, in[i]);
+
+ }
+ out[i]= fin;
+
+ }
+
+
+}
diff --git a/src/c/elementaryFunctions/nancumsum/snancumsumcola.c b/src/c/elementaryFunctions/nancumsum/snancumsumcola.c
new file mode 100644
index 00000000..3b96ef01
--- /dev/null
+++ b/src/c/elementaryFunctions/nancumsum/snancumsumcola.c
@@ -0,0 +1,43 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "nancumsum.h"
+#include "types.h"
+#include "uint16.h"
+#include "addition.h"
+
+void snancumsumcola(float *in, int row, int col, float* out)
+{
+ float fin=0;
+
+for(int i=0; i< row; i++)
+ {
+
+ for(int j= 0; j< col; j ++)
+ {
+ if(!(isnan(in[i+j*row])))
+
+ {
+
+ fin = sadds(fin, in[i+j*row]);
+
+
+
+ }
+ out[i+j*row]= fin;
+
+ }
+ fin=0;
+
+ }
+}
diff --git a/src/c/elementaryFunctions/nancumsum/snancumsumrowa.c b/src/c/elementaryFunctions/nancumsum/snancumsumrowa.c
new file mode 100644
index 00000000..7eef3869
--- /dev/null
+++ b/src/c/elementaryFunctions/nancumsum/snancumsumrowa.c
@@ -0,0 +1,44 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "nancumsum.h"
+#include "types.h"
+#include "uint16.h"
+#include "addition.h"
+
+void snancumsumrowa(float *in, int row, int col, float* out)
+{
+ float fin=0;
+
+
+for(int i=0; i< col; i++)
+ {
+
+ for(int j= 0; j< row; j ++)
+ {
+ if(!(isnan(in[j+i*row])))
+
+ {
+
+ fin = sadds(fin, in[j+i*row]);
+
+
+
+ }
+ out[j+i*row]= fin;
+
+ }
+ fin=0;
+
+ }
+}
diff --git a/src/c/elementaryFunctions/nancumsum/znancumsuma.c b/src/c/elementaryFunctions/nancumsum/znancumsuma.c
new file mode 100644
index 00000000..fd0a1e3e
--- /dev/null
+++ b/src/c/elementaryFunctions/nancumsum/znancumsuma.c
@@ -0,0 +1,39 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "nancumsum.h"
+#include "types.h"
+#include "uint16.h"
+#include "doubleComplex.h"
+#include "addition.h"
+
+void znancumsuma(doubleComplex *in, int size, doubleComplex* out)
+{
+ doubleComplex fin=0;
+
+
+
+ for (int i = 0; i < size; ++i)
+
+ {
+ if(!(isnan(zreals(in[i]))) && !(isnan(zimags(in[i]))) )
+ {
+ fin= zadds(fin, in[i]);
+
+ }
+ out[i]= fin;
+
+ }
+
+
+}
diff --git a/src/c/elementaryFunctions/nancumsum/znancumsumcola.c b/src/c/elementaryFunctions/nancumsum/znancumsumcola.c
new file mode 100644
index 00000000..c1ca16b6
--- /dev/null
+++ b/src/c/elementaryFunctions/nancumsum/znancumsumcola.c
@@ -0,0 +1,44 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "nancumsum.h"
+#include "types.h"
+#include "uint16.h"
+#include "addition.h"
+#include "doubleComplex.h"
+
+void znancumsumcola(doubleComplex* in, int row, int col, doubleComplex* out)
+{
+ doubleComplex fin= 0;
+
+for(int i=0; i< row; i++)
+ {
+
+ for(int j= 0; j< col; j ++)
+ {
+ if( !(isnan(zreals(in[i+j*row]))) && !(isnan(zimags(in[i+j*row]))) )
+
+ {
+
+ fin = zadds(fin, in[i+j*row]);
+
+
+
+ }
+ out[i+j*row]= fin;
+
+ }
+ fin= 0;
+
+ }
+}
diff --git a/src/c/elementaryFunctions/nancumsum/znancumsumrowa.c b/src/c/elementaryFunctions/nancumsum/znancumsumrowa.c
new file mode 100644
index 00000000..be04a4a7
--- /dev/null
+++ b/src/c/elementaryFunctions/nancumsum/znancumsumrowa.c
@@ -0,0 +1,45 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "nancumsum.h"
+#include "types.h"
+#include "doubleComplex.h"
+#include "uint16.h"
+#include "addition.h"
+
+void znancumsumrowa(doubleComplex *in, int row, int col, doubleComplex* out)
+{
+ doubleComplex fin=0;
+
+
+for(int i=0; i< col; i++)
+ {
+
+ for(int j= 0; j< row; j ++)
+ {
+ if(!(isnan(zreals(in[j+i*row]))) && !(isnan(zimags(in[j+i*row]))) )
+
+ {
+
+ fin = zadds(fin, in[j+i*row]);
+
+
+
+ }
+ out[j+i*row]= fin;
+
+ }
+ fin=0;
+
+ }
+}
diff --git a/src/c/elementaryFunctions/nanmax/dnanmax1a.c b/src/c/elementaryFunctions/nanmax/dnanmax1a.c
new file mode 100644
index 00000000..a0e7eede
--- /dev/null
+++ b/src/c/elementaryFunctions/nanmax/dnanmax1a.c
@@ -0,0 +1,58 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nanmax.h"
+#include "types.h"
+double dnanmax1a(double* in, int row, int col, double* out)
+{
+double high;
+int ival=0;
+for(int i=0; i<row*col; i++)
+{
+ if( !(isnan(in[i])) )
+ {
+ high= in[i];
+ break;
+
+ }
+}
+
+
+
+ for(int i=0; i< row*col; i++)
+ {
+ if( !(isnan(in[i])) )
+ {
+ if( in[i] > high)
+ {
+ high= in[i];
+ ival=i;
+
+ }
+
+
+ }
+
+
+ }
+
+out[0]= ival%row +1;
+out[1]= ival/row +1;
+
+
+
+return high;
+
+}
diff --git a/src/c/elementaryFunctions/nanmax/dnanmax2a.c b/src/c/elementaryFunctions/nanmax/dnanmax2a.c
new file mode 100644
index 00000000..82ddda6b
--- /dev/null
+++ b/src/c/elementaryFunctions/nanmax/dnanmax2a.c
@@ -0,0 +1,53 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nanmax.h"
+#include "types.h"
+double dnanmax2a(double* in, int size, double* out)
+{
+double high;
+for(int i=0; i<size; i++)
+{
+ if( !(isnan(in[i])) )
+ {
+ high= in[i];
+ break;
+
+ }
+}
+
+
+
+ for(int i=0; i< size; i++)
+ {
+ if( !(isnan(in[i])) )
+ {
+ if( in[i] > high)
+ {
+ high= in[i];
+ *out= i+1;
+
+ }
+
+
+ }
+
+
+ }
+
+
+return high;
+
+}
diff --git a/src/c/elementaryFunctions/nanmax/dnanmaxa.c b/src/c/elementaryFunctions/nanmax/dnanmaxa.c
new file mode 100644
index 00000000..4ff4a1a8
--- /dev/null
+++ b/src/c/elementaryFunctions/nanmax/dnanmaxa.c
@@ -0,0 +1,53 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nanmax.h"
+#include "types.h"
+double dnanmaxa(double* in, int size)
+{
+double high;
+for(int i=0; i<size; i++)
+{
+ if( !(isnan(in[i])) )
+ {
+ high= in[i];
+ break;
+
+ }
+}
+
+
+
+ for(int i=0; i< size; i++)
+ {
+ if( !(isnan(in[i])) )
+ {
+ if( in[i] > high)
+ {
+ high= in[i];
+
+ }
+
+
+ }
+
+
+ }
+
+
+
+return high;
+
+}
diff --git a/src/c/elementaryFunctions/nanmax/dnanmaxcol1a.c b/src/c/elementaryFunctions/nanmax/dnanmaxcol1a.c
new file mode 100644
index 00000000..1198dcea
--- /dev/null
+++ b/src/c/elementaryFunctions/nanmax/dnanmaxcol1a.c
@@ -0,0 +1,35 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "nanmax.h"
+#include "types.h"
+#include "uint16.h"
+
+void dnanmaxcol1a(double *in, int row, int col, double* out1)
+{
+ double inter[col];
+
+
+for(int i=0; i< row; i++)
+ {
+ for(int j=0 ; j< col; j++)
+ {
+ inter[j]= in[i+ (j*row)];
+
+ }
+ out1[i]= dnanmaxa( inter, col);
+
+ }
+
+
+}
diff --git a/src/c/elementaryFunctions/nanmax/dnanmaxcola.c b/src/c/elementaryFunctions/nanmax/dnanmaxcola.c
new file mode 100644
index 00000000..388337e7
--- /dev/null
+++ b/src/c/elementaryFunctions/nanmax/dnanmaxcola.c
@@ -0,0 +1,35 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "nanmax.h"
+#include "types.h"
+#include "uint16.h"
+
+void dnanmaxcola(double *in, int row, int col, double* out1, double* out2)
+{
+ double inter[col];
+
+
+for(int i=0; i< row; i++)
+ {
+ for(int j=0 ; j< col; j++)
+ {
+ inter[j]= in[i+ (j*row)];
+
+ }
+ out1[i]= dnanmax2a( inter, col, &out2[i]);
+
+ }
+
+
+}
diff --git a/src/c/elementaryFunctions/nanmax/dnanmaxrow1a.c b/src/c/elementaryFunctions/nanmax/dnanmaxrow1a.c
new file mode 100644
index 00000000..c4a7a4d1
--- /dev/null
+++ b/src/c/elementaryFunctions/nanmax/dnanmaxrow1a.c
@@ -0,0 +1,37 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "nanmax.h"
+#include "types.h"
+#include "uint16.h"
+
+void dnanmaxrow1a(double *in, int row, int col, double* out1)
+{
+ double inter[row];
+
+
+
+for(int i=0; i< col; i++)
+ {
+ for(int j=0 ; j< row; j++)
+ {
+ inter[j]= in[j+ (i*row)];
+
+ }
+ out1[i]= dnanmaxa( inter, row);
+
+ }
+
+
+
+}
diff --git a/src/c/elementaryFunctions/nanmax/dnanmaxrowa.c b/src/c/elementaryFunctions/nanmax/dnanmaxrowa.c
new file mode 100644
index 00000000..47d4d386
--- /dev/null
+++ b/src/c/elementaryFunctions/nanmax/dnanmaxrowa.c
@@ -0,0 +1,37 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "nanmax.h"
+#include "types.h"
+#include "uint16.h"
+
+void dnanmaxrowa(double *in, int row, int col, double* out1, double* out2)
+{
+ double inter[row];
+
+
+
+for(int i=0; i< col; i++)
+ {
+ for(int j=0 ; j< row; j++)
+ {
+ inter[j]= in[j+ (i*row)];
+
+ }
+ out1[i]= dnanmax2a( inter, row, &out2[i]);
+
+ }
+
+
+
+}
diff --git a/src/c/elementaryFunctions/nanmax/snanmax1a.c b/src/c/elementaryFunctions/nanmax/snanmax1a.c
new file mode 100644
index 00000000..7420c3a3
--- /dev/null
+++ b/src/c/elementaryFunctions/nanmax/snanmax1a.c
@@ -0,0 +1,58 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nanmax.h"
+#include "types.h"
+float snanmax1a(float* in, int row, int col, float* out)
+{
+float high;
+int ival=0;
+for(int i=0; i<row*col; i++)
+{
+ if( !(isnan(in[i])) )
+ {
+ high= in[i];
+ break;
+
+ }
+}
+
+
+
+ for(int i=0; i< row*col; i++)
+ {
+ if( !(isnan(in[i])) )
+ {
+ if( in[i] > high)
+ {
+ high= in[i];
+ ival=i;
+
+ }
+
+
+ }
+
+
+ }
+
+out[0]= ival%row +1;
+out[1]= ival/row +1;
+
+
+
+return high;
+
+}
diff --git a/src/c/elementaryFunctions/nanmax/snanmax2a.c b/src/c/elementaryFunctions/nanmax/snanmax2a.c
new file mode 100644
index 00000000..59c282d8
--- /dev/null
+++ b/src/c/elementaryFunctions/nanmax/snanmax2a.c
@@ -0,0 +1,53 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nanmax.h"
+#include "types.h"
+float snanmax2a(float* in, int size, float* out)
+{
+float high;
+for(int i=0; i<size; i++)
+{
+ if( !(isnan(in[i])) )
+ {
+ high= in[i];
+ break;
+
+ }
+}
+
+
+
+ for(int i=0; i< size; i++)
+ {
+ if( !(isnan(in[i])) )
+ {
+ if( in[i] > high)
+ {
+ high= in[i];
+ *out= i+1;
+
+ }
+
+
+ }
+
+
+ }
+
+
+return high;
+
+}
diff --git a/src/c/elementaryFunctions/nanmax/snanmaxa.c b/src/c/elementaryFunctions/nanmax/snanmaxa.c
new file mode 100644
index 00000000..1eab1ac1
--- /dev/null
+++ b/src/c/elementaryFunctions/nanmax/snanmaxa.c
@@ -0,0 +1,53 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nanmax.h"
+#include "types.h"
+float snanmaxa(float* in, int size)
+{
+float high;
+for(int i=0; i<size; i++)
+{
+ if( !(isnan(in[i])) )
+ {
+ high= in[i];
+ break;
+
+ }
+}
+
+
+
+ for(int i=0; i< size; i++)
+ {
+ if( !(isnan(in[i])) )
+ {
+ if( in[i] > high)
+ {
+ high= in[i];
+
+ }
+
+
+ }
+
+
+ }
+
+
+
+return high;
+
+}
diff --git a/src/c/elementaryFunctions/nanmax/snanmaxcol1a.c b/src/c/elementaryFunctions/nanmax/snanmaxcol1a.c
new file mode 100644
index 00000000..a737033b
--- /dev/null
+++ b/src/c/elementaryFunctions/nanmax/snanmaxcol1a.c
@@ -0,0 +1,35 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "nanmax.h"
+#include "types.h"
+#include "uint16.h"
+
+void snanmaxcol1a(float *in, int row, int col, float* out1)
+{
+ float inter[col];
+
+
+for(int i=0; i< row; i++)
+ {
+ for(int j=0 ; j< col; j++)
+ {
+ inter[j]= in[i+ (j*row)];
+
+ }
+ out1[i]= snanmaxa( inter, col);
+
+ }
+
+
+}
diff --git a/src/c/elementaryFunctions/nanmax/snanmaxcola.c b/src/c/elementaryFunctions/nanmax/snanmaxcola.c
new file mode 100644
index 00000000..2703319a
--- /dev/null
+++ b/src/c/elementaryFunctions/nanmax/snanmaxcola.c
@@ -0,0 +1,35 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "nanmax.h"
+#include "types.h"
+#include "uint16.h"
+
+void snanmaxcola(float *in, int row, int col, float* out1, float* out2)
+{
+ float inter[col];
+
+
+for(int i=0; i< row; i++)
+ {
+ for(int j=0 ; j< col; j++)
+ {
+ inter[j]= in[i+ (j*row)];
+
+ }
+ out1[i]= snanmax2a( inter, col, &out2[i]);
+
+ }
+
+
+}
diff --git a/src/c/elementaryFunctions/nanmax/snanmaxrow1a.c b/src/c/elementaryFunctions/nanmax/snanmaxrow1a.c
new file mode 100644
index 00000000..09d062c7
--- /dev/null
+++ b/src/c/elementaryFunctions/nanmax/snanmaxrow1a.c
@@ -0,0 +1,37 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "nanmax.h"
+#include "types.h"
+#include "uint16.h"
+
+void snanmaxrow1a(float *in, int row, int col, float* out1)
+{
+ float inter[row];
+
+
+
+for(int i=0; i< col; i++)
+ {
+ for(int j=0 ; j< row; j++)
+ {
+ inter[j]= in[j+ (i*row)];
+
+ }
+ out1[i]= snanmaxa( inter, row);
+
+ }
+
+
+
+}
diff --git a/src/c/elementaryFunctions/nanmax/snanmaxrowa.c b/src/c/elementaryFunctions/nanmax/snanmaxrowa.c
new file mode 100644
index 00000000..c438ae0f
--- /dev/null
+++ b/src/c/elementaryFunctions/nanmax/snanmaxrowa.c
@@ -0,0 +1,37 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "nanmax.h"
+#include "types.h"
+#include "uint16.h"
+
+void snanmaxrowa(float *in, int row, int col, float* out1, float* out2)
+{
+ float inter[row];
+
+
+
+for(int i=0; i< col; i++)
+ {
+ for(int j=0 ; j< row; j++)
+ {
+ inter[j]= in[j+ (i*row)];
+
+ }
+ out1[i]= snanmax2a( inter, row, &out2[i]);
+
+ }
+
+
+
+}
diff --git a/src/c/elementaryFunctions/nanmean/cnanmeana.c b/src/c/elementaryFunctions/nanmean/cnanmeana.c
new file mode 100644
index 00000000..eaca1e79
--- /dev/null
+++ b/src/c/elementaryFunctions/nanmean/cnanmeana.c
@@ -0,0 +1,37 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nanmean.h"
+#include "doubleComplex.h"
+#include "floatComplex.h"
+
+
+floatComplex cnanmeana(floatComplex* in, int size)
+{
+ floatComplex sum = 0;
+ double count = 0;
+
+ for(int i = 0; i<size; i++)
+ {
+ if(!(isnan(zreals(in[i]))) && !(isnan(zimags(in[i]))))
+ {
+ count++;
+ sum += in[i];
+ }
+ }
+
+ return sum/count;
+}
+
diff --git a/src/c/elementaryFunctions/nanmean/cnanmeancola.c b/src/c/elementaryFunctions/nanmean/cnanmeancola.c
new file mode 100644
index 00000000..7f643a65
--- /dev/null
+++ b/src/c/elementaryFunctions/nanmean/cnanmeancola.c
@@ -0,0 +1,37 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nanmean.h"
+#include "doubleComplex.h"
+#include "floatComplex.h"
+
+void cnanmeancola(floatComplex *in, int row, int col, floatComplex* out)
+{
+ floatComplex inter[col];
+
+
+for(int i=0; i< row; i++)
+ {
+ for(int j=0 ; j< col; j++)
+ {
+ inter[j]= in[i+ (j*row)];
+
+ }
+ out[i]= cnanmeana( inter, col);
+
+ }
+
+
+}
diff --git a/src/c/elementaryFunctions/nanmean/cnanmeanrowa.c b/src/c/elementaryFunctions/nanmean/cnanmeanrowa.c
new file mode 100644
index 00000000..05aa7e93
--- /dev/null
+++ b/src/c/elementaryFunctions/nanmean/cnanmeanrowa.c
@@ -0,0 +1,37 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nanmean.h"
+#include "doubleComplex.h"
+#include "floatComplex.h"
+
+void cnanmeanrowa(floatComplex *in, int row, int col, floatComplex* out)
+{
+ floatComplex inter[row];
+
+
+for(int i=0; i< col; i++)
+ {
+ for(int j=0 ; j< row; j++)
+ {
+ inter[j]= in[j+ (i*row)];
+
+ }
+ out[i]= cnanmeana( inter, row);
+
+ }
+
+
+}
diff --git a/src/c/elementaryFunctions/nanmean/dnanmeana.c b/src/c/elementaryFunctions/nanmean/dnanmeana.c
new file mode 100644
index 00000000..40f9ac6f
--- /dev/null
+++ b/src/c/elementaryFunctions/nanmean/dnanmeana.c
@@ -0,0 +1,33 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nanmean.h"
+
+double dnanmeana(double* in, int size)
+{
+ double count = 0, sum = 0;
+
+ for(int i = 0; i<size; i++)
+ {
+ if(!(isnan(in[i])))
+ {
+ count++;
+ sum += in[i];
+ }
+ }
+
+ return sum/count;
+}
+
diff --git a/src/c/elementaryFunctions/nanmean/dnanmeancola.c b/src/c/elementaryFunctions/nanmean/dnanmeancola.c
new file mode 100644
index 00000000..81ed5338
--- /dev/null
+++ b/src/c/elementaryFunctions/nanmean/dnanmeancola.c
@@ -0,0 +1,36 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nanmean.h"
+
+void dnanmeancola(double *in, int row, int col, double* out)
+{
+ double inter[col];
+
+
+for(int i=0; i< row; i++)
+ {
+ for(int j=0 ; j< col; j++)
+ {
+ inter[j]= in[i+ (j*row)];
+
+ }
+ out[i]= dnanmeana( inter, col);
+
+ }
+
+
+}
+
diff --git a/src/c/elementaryFunctions/nanmean/dnanmeanrowa.c b/src/c/elementaryFunctions/nanmean/dnanmeanrowa.c
new file mode 100644
index 00000000..1ac02f5f
--- /dev/null
+++ b/src/c/elementaryFunctions/nanmean/dnanmeanrowa.c
@@ -0,0 +1,36 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nanmean.h"
+
+void dnanmeanrowa(double *in, int row, int col, double* out)
+{
+ double inter[row];
+
+
+
+for(int i=0; i< col; i++)
+ {
+ for(int j=0 ; j< row; j++)
+ {
+ inter[j]= in[j+ (i*row)];
+
+ }
+ out[i]= dnanmeana( inter, row);
+
+ }
+
+
+}
diff --git a/src/c/elementaryFunctions/nanmean/snanmeana.c b/src/c/elementaryFunctions/nanmean/snanmeana.c
new file mode 100644
index 00000000..aecf6984
--- /dev/null
+++ b/src/c/elementaryFunctions/nanmean/snanmeana.c
@@ -0,0 +1,33 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nanmean.h"
+
+float snanmeana(float* in, int size)
+{
+ float count = 0, sum = 0;
+
+ for(int i = 0; i<size; i++)
+ {
+ if(!(isnan(in[i])))
+ {
+ count++;
+ sum += in[i];
+ }
+ }
+
+ return sum/count;
+}
+
diff --git a/src/c/elementaryFunctions/nanmean/snanmeancola.c b/src/c/elementaryFunctions/nanmean/snanmeancola.c
new file mode 100644
index 00000000..68df77b8
--- /dev/null
+++ b/src/c/elementaryFunctions/nanmean/snanmeancola.c
@@ -0,0 +1,35 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nanmean.h"
+
+void snanmeancola(float *in, int row, int col, float* out)
+{
+ float inter[col];
+
+
+for(int i=0; i< row; i++)
+ {
+ for(int j=0 ; j< col; j++)
+ {
+ inter[j]= in[i+ (j*row)];
+
+ }
+ out[i]= snanmeana( inter, col);
+
+ }
+
+
+}
diff --git a/src/c/elementaryFunctions/nanmean/snanmeanrowa.c b/src/c/elementaryFunctions/nanmean/snanmeanrowa.c
new file mode 100644
index 00000000..1664aa4e
--- /dev/null
+++ b/src/c/elementaryFunctions/nanmean/snanmeanrowa.c
@@ -0,0 +1,35 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nanmean.h"
+
+void snanmeanrowa(float *in, int row, int col, float* out)
+{
+ float inter[row];
+
+
+for(int i=0; i< col; i++)
+ {
+ for(int j=0 ; j< row; j++)
+ {
+ inter[j]= in[j+ (i*row)];
+
+ }
+ out[i]= snanmeana( inter, row);
+
+ }
+
+
+}
diff --git a/src/c/elementaryFunctions/nanmean/znanmeana.c b/src/c/elementaryFunctions/nanmean/znanmeana.c
new file mode 100644
index 00000000..366657a5
--- /dev/null
+++ b/src/c/elementaryFunctions/nanmean/znanmeana.c
@@ -0,0 +1,37 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nanmean.h"
+#include "doubleComplex.h"
+#include "floatComplex.h"
+
+
+doubleComplex znanmeana(doubleComplex* in, int size)
+{
+ doubleComplex sum = 0;
+ double count = 0;
+
+ for(int i = 0; i<size; i++)
+ {
+ if(!(isnan(zreals(in[i]))) && !(isnan(zimags(in[i]))))
+ {
+ count++;
+ sum += in[i];
+ }
+ }
+
+ return sum/count;
+}
+
diff --git a/src/c/elementaryFunctions/nanmean/znanmeancola.c b/src/c/elementaryFunctions/nanmean/znanmeancola.c
new file mode 100644
index 00000000..28743e3f
--- /dev/null
+++ b/src/c/elementaryFunctions/nanmean/znanmeancola.c
@@ -0,0 +1,37 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nanmean.h"
+#include "doubleComplex.h"
+#include "floatComplex.h"
+
+void znanmeancola(doubleComplex *in, int row, int col, doubleComplex* out)
+{
+ doubleComplex inter[col];
+
+
+for(int i=0; i< row; i++)
+ {
+ for(int j=0 ; j< col; j++)
+ {
+ inter[j]= in[i+ (j*row)];
+
+ }
+ out[i]= znanmeana( inter, col);
+
+ }
+
+
+}
diff --git a/src/c/elementaryFunctions/nanmean/znanmeanrowa.c b/src/c/elementaryFunctions/nanmean/znanmeanrowa.c
new file mode 100644
index 00000000..8d80c779
--- /dev/null
+++ b/src/c/elementaryFunctions/nanmean/znanmeanrowa.c
@@ -0,0 +1,37 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nanmean.h"
+#include "doubleComplex.h"
+#include "floatComplex.h"
+
+void znanmeanrowa(doubleComplex *in, int row, int col, doubleComplex* out)
+{
+ doubleComplex inter[row];
+
+
+for(int i=0; i< col; i++)
+ {
+ for(int j=0 ; j< row; j++)
+ {
+ inter[j]= in[j+ (i*row)];
+
+ }
+ out[i]= znanmeana( inter, row);
+
+ }
+
+
+}
diff --git a/src/c/elementaryFunctions/nanmin/dnanmina.c b/src/c/elementaryFunctions/nanmin/dnanmina.c
new file mode 100644
index 00000000..f2bce003
--- /dev/null
+++ b/src/c/elementaryFunctions/nanmin/dnanmina.c
@@ -0,0 +1,53 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nanmin.h"
+
+double dnanmina(double* in, int row, int col, double* pos)
+{
+ double low = 0;
+ int ival = 0, nanflag = 1;
+
+ for(int i = 0; i<row*col; i++)
+ {
+ if(!(isnan(in[i])))
+ {
+ low = in[i];
+ nanflag = 0;
+ break;
+ }
+ }
+
+ for(int i = 0; i<row*col; i++)
+ {
+ if(!(isnan(in[i])))
+ {
+ if(in[i]<low)
+ {
+ low = in[i];
+ ival = i;
+ }
+ }
+ }
+
+ pos[0] = ival % row + 1;
+ pos[1] = ival / row + 1;
+
+ if (nanflag == 1)
+ return 0.0/0.0;
+
+ return low;
+}
+
diff --git a/src/c/elementaryFunctions/nanmin/dnanmincola.c b/src/c/elementaryFunctions/nanmin/dnanmincola.c
new file mode 100644
index 00000000..35b94c08
--- /dev/null
+++ b/src/c/elementaryFunctions/nanmin/dnanmincola.c
@@ -0,0 +1,33 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nanmin.h"
+
+void dnanmincola(double *in, int row, int col, double *out, double *p)
+{
+ double inter[col];
+ double position[col];
+
+ for(int i=0; i < row; i++)
+ {
+ for(int j=0; j < col; i++)
+ {
+ inter[j]= in[i+ (j*row)];
+ }
+
+ out[i]= dnanmina(inter, 1, col, position);
+
+ }
+}
diff --git a/src/c/elementaryFunctions/nanmin/dnanmincolnpa.c b/src/c/elementaryFunctions/nanmin/dnanmincolnpa.c
new file mode 100644
index 00000000..3d1623c2
--- /dev/null
+++ b/src/c/elementaryFunctions/nanmin/dnanmincolnpa.c
@@ -0,0 +1,36 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nanmin.h"
+
+void dnanmincolnpa(double *in, int row, int col, double* out)
+{
+ double inter[col];
+
+
+for(int i=0; i< row; i++)
+ {
+ for(int j=0 ; j< col; j++)
+ {
+ inter[j]= in[i+ (j*row)];
+
+ }
+ out[i]= dnanminnpa( inter, 1, col);
+
+ }
+
+
+}
+
diff --git a/src/c/elementaryFunctions/nanmin/dnanminnpa.c b/src/c/elementaryFunctions/nanmin/dnanminnpa.c
new file mode 100644
index 00000000..6456ebe9
--- /dev/null
+++ b/src/c/elementaryFunctions/nanmin/dnanminnpa.c
@@ -0,0 +1,51 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nanmin.h"
+
+double dnanminnpa(double* in, int row, int col)
+{
+ double low = 0;
+ int nanflag = 1;
+
+
+ for(int i = 0; i<row*col; i++)
+ {
+ if(!(isnan(in[i])))
+ {
+ low = in[i];
+ nanflag = 0;
+ break;
+ }
+ }
+
+ for(int i = 0; i<row*col; i++)
+ {
+ if(!(isnan(in[i])))
+ {
+ if(in[i]<low)
+ {
+ low = in[i];
+
+ }
+ }
+ }
+
+ if (nanflag == 1)
+ return 0.0/0.0;
+
+ return low;
+}
+
diff --git a/src/c/elementaryFunctions/nanmin/dnanminnps.c b/src/c/elementaryFunctions/nanmin/dnanminnps.c
new file mode 100644
index 00000000..9a33d2fe
--- /dev/null
+++ b/src/c/elementaryFunctions/nanmin/dnanminnps.c
@@ -0,0 +1,25 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nanmin.h"
+
+double dnanminnps(double in)
+{
+ if(isnan(in))
+ return 0;
+
+ return in;
+}
+
diff --git a/src/c/elementaryFunctions/nanmin/dnanminrowa.c b/src/c/elementaryFunctions/nanmin/dnanminrowa.c
new file mode 100644
index 00000000..0909fc2c
--- /dev/null
+++ b/src/c/elementaryFunctions/nanmin/dnanminrowa.c
@@ -0,0 +1,35 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nanmin.h"
+
+void dnanminrowa(double *in, int row, int col, double *out, double *p)
+{
+ double inter[row], *position;
+
+
+
+ for(int i=0; i< col; i++)
+ {
+ for(int j=0 ; j< row; j++)
+ {
+ inter[j]= in[j+ (i*row)];
+
+ }
+ out[i]= dnanmina( inter, row, 1, position);
+ }
+ //p = position;
+
+}
diff --git a/src/c/elementaryFunctions/nanmin/dnanminrownpa.c b/src/c/elementaryFunctions/nanmin/dnanminrownpa.c
new file mode 100644
index 00000000..fc46a0a4
--- /dev/null
+++ b/src/c/elementaryFunctions/nanmin/dnanminrownpa.c
@@ -0,0 +1,36 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nanmin.h"
+
+void dnanminrownpa(double *in, int row, int col, double* out)
+{
+ double inter[row];
+
+
+
+for(int i=0; i< col; i++)
+ {
+ for(int j=0 ; j< row; j++)
+ {
+ inter[j]= in[j+ (i*row)];
+
+ }
+ out[i]= dnanminnpa( inter, row, 1);
+
+ }
+
+
+}
diff --git a/src/c/elementaryFunctions/nanmin/dnanmins.c b/src/c/elementaryFunctions/nanmin/dnanmins.c
new file mode 100644
index 00000000..86764a2a
--- /dev/null
+++ b/src/c/elementaryFunctions/nanmin/dnanmins.c
@@ -0,0 +1,32 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nanmin.h"
+
+double dnanmins(double in, double* pos)
+{
+ pos[0] = 1;
+ pos[1] = 1;
+
+ if(isnan(in))
+ {
+ pos[0] = 0;
+ pos[1] = 0;
+ return 0;
+ }
+
+ return in;
+}
+
diff --git a/src/c/elementaryFunctions/nansum/dnansuma.c b/src/c/elementaryFunctions/nansum/dnansuma.c
new file mode 100644
index 00000000..adc4a02b
--- /dev/null
+++ b/src/c/elementaryFunctions/nansum/dnansuma.c
@@ -0,0 +1,37 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "nansum.h"
+#include "types.h"
+#include "uint16.h"
+#include "addition.h"
+
+double dnansuma(double *in, int size)
+{
+ double fin=0;
+
+
+ for (int i = 0; i < size; ++i)
+
+ {
+ if(!(isnan(in[i])))
+ {
+ fin= dadds(fin, in[i]);
+
+ }
+
+
+ }
+
+ return fin;
+}
diff --git a/src/c/elementaryFunctions/nansum/dnansumcola.c b/src/c/elementaryFunctions/nansum/dnansumcola.c
new file mode 100644
index 00000000..eb406387
--- /dev/null
+++ b/src/c/elementaryFunctions/nansum/dnansumcola.c
@@ -0,0 +1,35 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "nansum.h"
+#include "types.h"
+#include "uint16.h"
+
+void dnansumcola(double *in, int row, int col, double* out)
+{
+ double inter[col];
+
+
+for(int i=0; i< row; i++)
+ {
+ for(int j=0 ; j< col; j++)
+ {
+ inter[j]= in[i+ (j*row)];
+
+ }
+ out[i]= dnansuma( inter, col);
+
+ }
+
+
+}
diff --git a/src/c/elementaryFunctions/nansum/dnansumrowa.c b/src/c/elementaryFunctions/nansum/dnansumrowa.c
new file mode 100644
index 00000000..e8a7cfb3
--- /dev/null
+++ b/src/c/elementaryFunctions/nansum/dnansumrowa.c
@@ -0,0 +1,36 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "nansum.h"
+#include "types.h"
+#include "uint16.h"
+
+void dnansumrowa(double *in, int row, int col, double* out)
+{
+ double inter[row];
+
+
+
+for(int i=0; i< col; i++)
+ {
+ for(int j=0 ; j< row; j++)
+ {
+ inter[j]= in[j+ (i*row)];
+
+ }
+ out[i]= dnansuma( inter, row);
+
+ }
+
+
+}
diff --git a/src/c/elementaryFunctions/nansum/snansuma.c b/src/c/elementaryFunctions/nansum/snansuma.c
new file mode 100644
index 00000000..8c1cebbb
--- /dev/null
+++ b/src/c/elementaryFunctions/nansum/snansuma.c
@@ -0,0 +1,37 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "nansum.h"
+#include "types.h"
+#include "uint16.h"
+#include "addition.h"
+
+float snansuma(float *in, int size)
+{
+ float fin=0;
+
+
+ for (int i = 0; i < size; ++i)
+
+ {
+ if(!(isnan(in[i])))
+ {
+ fin= sadds(fin, in[i]);
+
+ }
+
+
+ }
+
+ return fin;
+}
diff --git a/src/c/elementaryFunctions/nansum/snansumcola.c b/src/c/elementaryFunctions/nansum/snansumcola.c
new file mode 100644
index 00000000..d83e6f0d
--- /dev/null
+++ b/src/c/elementaryFunctions/nansum/snansumcola.c
@@ -0,0 +1,35 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "nansum.h"
+#include "types.h"
+#include "uint16.h"
+
+void snansumcola(float *in, int row, int col, float* out)
+{
+ float inter[col];
+
+
+for(int i=0; i< row; i++)
+ {
+ for(int j=0 ; j< col; j++)
+ {
+ inter[j]= in[i+ (j*row)];
+
+ }
+ out[i]= snansuma( inter, col);
+
+ }
+
+
+}
diff --git a/src/c/elementaryFunctions/nansum/snansumrowa.c b/src/c/elementaryFunctions/nansum/snansumrowa.c
new file mode 100644
index 00000000..5442694d
--- /dev/null
+++ b/src/c/elementaryFunctions/nansum/snansumrowa.c
@@ -0,0 +1,36 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "nansum.h"
+#include "types.h"
+#include "uint16.h"
+
+void snansumrowa(float *in, int row, int col, float* out)
+{
+ float inter[row];
+
+
+
+for(int i=0; i< col; i++)
+ {
+ for(int j=0 ; j< row; j++)
+ {
+ inter[j]= in[j+ (i*row)];
+
+ }
+ out[i]= snansuma( inter, row);
+
+ }
+
+
+}
diff --git a/src/c/elementaryFunctions/nansum/znansuma.c b/src/c/elementaryFunctions/nansum/znansuma.c
new file mode 100644
index 00000000..cb839f02
--- /dev/null
+++ b/src/c/elementaryFunctions/nansum/znansuma.c
@@ -0,0 +1,37 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "nansum.h"
+#include "types.h"
+#include "doubleComplex.h"
+#include "addition.h"
+
+doubleComplex znansuma(doubleComplex *in, int size)
+{
+ doubleComplex fin=0;
+
+
+ for (int i = 0; i < size; ++i)
+
+ {
+ if(!(isnan(zreals(in[i]))) && !(isnan(zimags(in[i]))))
+ {
+ fin= zadds(fin, in[i]);
+
+ }
+
+
+ }
+
+ return fin;
+}
diff --git a/src/c/elementaryFunctions/nansum/znansumcola.c b/src/c/elementaryFunctions/nansum/znansumcola.c
new file mode 100644
index 00000000..2543c49e
--- /dev/null
+++ b/src/c/elementaryFunctions/nansum/znansumcola.c
@@ -0,0 +1,36 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "nansum.h"
+#include "types.h"
+#include "uint16.h"
+#include "doubleComplex.h"
+
+void znansumcola(doubleComplex *in, int row, int col, doubleComplex * out)
+{
+ doubleComplex inter[col];
+
+
+for(int i=0; i< row; i++)
+ {
+ for(int j=0 ; j< col; j++)
+ {
+ inter[j]= in[i+ (j*row)];
+
+ }
+ out[i]= znansuma( inter, col);
+
+ }
+
+
+}
diff --git a/src/c/elementaryFunctions/nansum/znansumrowa.c b/src/c/elementaryFunctions/nansum/znansumrowa.c
new file mode 100644
index 00000000..39535c9f
--- /dev/null
+++ b/src/c/elementaryFunctions/nansum/znansumrowa.c
@@ -0,0 +1,37 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "nansum.h"
+#include "types.h"
+#include "uint16.h"
+#include "doubleComplex.h"
+
+void znansumrowa(doubleComplex *in, int row, int col, doubleComplex* out)
+{
+ doubleComplex inter[row];
+
+
+
+for(int i=0; i< col; i++)
+ {
+ for(int j=0 ; j< row; j++)
+ {
+ inter[j]= in[j+ (i*row)];
+
+ }
+ out[i]= znansuma( inter, row);
+
+ }
+
+
+}
diff --git a/src/c/elementaryFunctions/nextpow2/dnextpow2a.c b/src/c/elementaryFunctions/nextpow2/dnextpow2a.c
new file mode 100644
index 00000000..46f7eb80
--- /dev/null
+++ b/src/c/elementaryFunctions/nextpow2/dnextpow2a.c
@@ -0,0 +1,30 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Ukasha Noor
+ Email: toolbox@scilab.in
+*/
+
+#include "nextpow2.h"
+#include <math.h>
+
+void dnextpow2a(double *in,int size,double *out)
+{
+ int i,j,s;
+ double k;
+ i=2;
+ for(s=0;s<size;s++)
+ {
+ j=-1;
+ do{
+ j++;
+ k=pow(i,j);
+ }while(in[s]>k);
+ out[s]=j;
+ }
+}
diff --git a/src/c/elementaryFunctions/nthroot/dnthroot1a.c b/src/c/elementaryFunctions/nthroot/dnthroot1a.c
new file mode 100644
index 00000000..7c65169a
--- /dev/null
+++ b/src/c/elementaryFunctions/nthroot/dnthroot1a.c
@@ -0,0 +1,28 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nthroot.h"
+#include "types.h"
+void dnthroot1a(double* inp1, int irows, int icols, double inp2, double* out)
+{
+
+
+ for(int i=0; i< irows*icols; i++)
+ {
+ out[i]= dnthroots(inp1[i], inp2);
+
+ }
+
+}
diff --git a/src/c/elementaryFunctions/nthroot/dnthroota.c b/src/c/elementaryFunctions/nthroot/dnthroota.c
new file mode 100644
index 00000000..6f33b21e
--- /dev/null
+++ b/src/c/elementaryFunctions/nthroot/dnthroota.c
@@ -0,0 +1,36 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nthroot.h"
+#include "types.h"
+void dnthroota(double* inp1, int irows, int icols, double* inp2, int crows, int ccols, double* out)
+{
+
+ if(irows==crows && icols==ccols)
+ {
+ for(int i=0; i< irows*icols; i++)
+ {
+
+ out[i]= dnthroots(inp1[i], inp2[i]);
+
+ }
+
+
+
+ }
+
+
+
+}
diff --git a/src/c/elementaryFunctions/nthroot/dnthroots.c b/src/c/elementaryFunctions/nthroot/dnthroots.c
new file mode 100644
index 00000000..99beaa13
--- /dev/null
+++ b/src/c/elementaryFunctions/nthroot/dnthroots.c
@@ -0,0 +1,23 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nthroot.h"
+#include "types.h"
+
+double dnthroots(double inp1, double inp2)
+{
+
+ return pow(inp1, (1/inp2));
+}
diff --git a/src/c/elementaryFunctions/nthroot/snthroot1a.c b/src/c/elementaryFunctions/nthroot/snthroot1a.c
new file mode 100644
index 00000000..60fae3d6
--- /dev/null
+++ b/src/c/elementaryFunctions/nthroot/snthroot1a.c
@@ -0,0 +1,28 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nthroot.h"
+#include "types.h"
+void snthroot1a(float* inp1, int irows, int icols, float inp2, double* out)
+{
+
+
+ for(int i=0; i< irows*icols; i++)
+ {
+ out[i]= dnthroots(inp1[i], inp2);
+
+ }
+
+}
diff --git a/src/c/elementaryFunctions/nthroot/snthroota.c b/src/c/elementaryFunctions/nthroot/snthroota.c
new file mode 100644
index 00000000..4a04c1d6
--- /dev/null
+++ b/src/c/elementaryFunctions/nthroot/snthroota.c
@@ -0,0 +1,36 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nthroot.h"
+#include "types.h"
+void snthroota(float* inp1, int irows, int icols, float* inp2, int crows, int ccols, double* out)
+{
+
+ if(irows==crows && icols==ccols)
+ {
+ for(int i=0; i< irows*icols; i++)
+ {
+
+ out[i]= dnthroots(inp1[i], inp2[i]);
+
+ }
+
+
+
+ }
+
+
+
+}
diff --git a/src/c/elementaryFunctions/nthroot/snthroots.c b/src/c/elementaryFunctions/nthroot/snthroots.c
new file mode 100644
index 00000000..ad83dacc
--- /dev/null
+++ b/src/c/elementaryFunctions/nthroot/snthroots.c
@@ -0,0 +1,23 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nthroot.h"
+#include "types.h"
+
+double snthroots(float inp1, float inp2)
+{
+
+ return pow(inp1, (1/inp2));
+}
diff --git a/src/c/elementaryFunctions/nthroot/u16nthroot1a.c b/src/c/elementaryFunctions/nthroot/u16nthroot1a.c
new file mode 100644
index 00000000..4cb654c9
--- /dev/null
+++ b/src/c/elementaryFunctions/nthroot/u16nthroot1a.c
@@ -0,0 +1,29 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nthroot.h"
+#include "types.h"
+#include "uint16.h"
+void snthroot1a(uint16* inp1, int irows, int icols, uint16 inp2, double* out)
+{
+
+
+ for(int i=0; i< irows*icols; i++)
+ {
+ out[i]= dnthroots(inp1[i], inp2);
+
+ }
+
+}
diff --git a/src/c/elementaryFunctions/nthroot/u16nthroota.c b/src/c/elementaryFunctions/nthroot/u16nthroota.c
new file mode 100644
index 00000000..5d178a17
--- /dev/null
+++ b/src/c/elementaryFunctions/nthroot/u16nthroota.c
@@ -0,0 +1,37 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nthroot.h"
+#include "types.h"
+#include "uint16.h"
+void dnthroota(uint16* inp1, int irows, int icols, uint16* inp2, int crows, int ccols, double* out)
+{
+
+ if(irows==crows && icols==ccols)
+ {
+ for(int i=0; i< irows*icols; i++)
+ {
+
+ out[i]= dnthroots(inp1[i], inp2[i]);
+
+ }
+
+
+
+ }
+
+
+
+}
diff --git a/src/c/elementaryFunctions/nthroot/u16nthroots.c b/src/c/elementaryFunctions/nthroot/u16nthroots.c
new file mode 100644
index 00000000..618d29f6
--- /dev/null
+++ b/src/c/elementaryFunctions/nthroot/u16nthroots.c
@@ -0,0 +1,24 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "nthroot.h"
+#include "types.h"
+#include "uint16.h"
+
+double dnthroots(uint16 inp1, uint16 inp2)
+{
+
+ return pow(inp1, (1/inp2));
+}
diff --git a/src/c/elementaryFunctions/pmodulo/dpmoduloa.c b/src/c/elementaryFunctions/pmodulo/dpmoduloa.c
new file mode 100644
index 00000000..0817987a
--- /dev/null
+++ b/src/c/elementaryFunctions/pmodulo/dpmoduloa.c
@@ -0,0 +1,32 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "pmodulo.h"
+#include "types.h"
+void dpmoduloa(double* inp1, int size, double* inp2, double* out)
+{
+
+
+ for(int i=0; i< size; i++)
+ {
+
+ out[i]= dpmodulos(inp1[i], inp2[i]);
+
+ }
+
+
+
+
+}
diff --git a/src/c/elementaryFunctions/pmodulo/dpmodulos.c b/src/c/elementaryFunctions/pmodulo/dpmodulos.c
new file mode 100644
index 00000000..61441777
--- /dev/null
+++ b/src/c/elementaryFunctions/pmodulo/dpmodulos.c
@@ -0,0 +1,54 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "pmodulo.h"
+#include "types.h"
+
+double dpmodulos(double inp1, double inp2)
+{
+ if( inp1>0 && inp2>0)
+
+ {
+ return fmod(inp1,inp2);
+
+ }
+
+
+ if( inp1>0 && inp2<0)
+
+ {
+
+ return fmod(inp1,inp2);
+
+ }
+
+
+ if(inp1<0 && inp2>0)
+
+ {
+
+ return ((fmod(inp1,inp2))+(inp2));
+
+
+ }
+
+ if(inp1<0 && inp2<0)
+ {
+
+ return ((fmod(inp1,inp2))-(inp2));
+
+ }
+
+}
diff --git a/src/c/elementaryFunctions/pmodulo/i16pmoduloa.c b/src/c/elementaryFunctions/pmodulo/i16pmoduloa.c
new file mode 100644
index 00000000..bb76d7ff
--- /dev/null
+++ b/src/c/elementaryFunctions/pmodulo/i16pmoduloa.c
@@ -0,0 +1,33 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "int16.h"
+#include "pmodulo.h"
+#include "types.h"
+void i16pmoduloa(int16* inp1, int size, int16* inp2, int16* out)
+{
+
+
+ for(int i=0; i< size; i++)
+ {
+
+ out[i]= i16pmodulos(inp1[i], inp2[i]);
+
+ }
+
+
+
+
+}
diff --git a/src/c/elementaryFunctions/pmodulo/i16pmodulos.c b/src/c/elementaryFunctions/pmodulo/i16pmodulos.c
new file mode 100644
index 00000000..f7f86c5b
--- /dev/null
+++ b/src/c/elementaryFunctions/pmodulo/i16pmodulos.c
@@ -0,0 +1,55 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "int16.h"
+#include "pmodulo.h"
+#include "types.h"
+
+int16 i16pmodulos(int16 inp1, int16 inp2)
+{
+ if( inp1>0 && inp2>0)
+
+ {
+ return inp1%inp2;
+
+ }
+
+
+ if( inp1>0 && inp2<0)
+
+ {
+
+ return inp1%inp2;
+
+ }
+
+
+ if(inp1<0 && inp2>0)
+
+ {
+
+ return ((inp1%inp2)+(inp2));
+
+
+ }
+
+ if(inp1<0 && inp2<0)
+ {
+
+ return ((inp1%inp2)-(inp2));
+
+ }
+
+}
diff --git a/src/c/elementaryFunctions/pmodulo/spmoduloa.c b/src/c/elementaryFunctions/pmodulo/spmoduloa.c
new file mode 100644
index 00000000..87b2a2fb
--- /dev/null
+++ b/src/c/elementaryFunctions/pmodulo/spmoduloa.c
@@ -0,0 +1,32 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "pmodulo.h"
+#include "types.h"
+void spmoduloa(float* inp1, int size, float* inp2, float* out)
+{
+
+
+ for(int i=0; i< size; i++)
+ {
+
+ out[i]= spmodulos(inp1[i], inp2[i]);
+
+ }
+
+
+
+
+}
diff --git a/src/c/elementaryFunctions/pmodulo/spmodulos.c b/src/c/elementaryFunctions/pmodulo/spmodulos.c
new file mode 100644
index 00000000..9ab6bc49
--- /dev/null
+++ b/src/c/elementaryFunctions/pmodulo/spmodulos.c
@@ -0,0 +1,54 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Abhinav Dronamraju
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "pmodulo.h"
+#include "types.h"
+
+float spmodulos(float inp1, float inp2)
+{
+ if( inp1>0 && inp2>0)
+
+ {
+ return fmod(inp1,inp2);
+
+ }
+
+
+ if( inp1>0 && inp2<0)
+
+ {
+
+ return fmod(inp1,inp2);
+
+ }
+
+
+ if(inp1<0 && inp2>0)
+
+ {
+
+ return ((fmod(inp1,inp2))+(inp2));
+
+
+ }
+
+ if(inp1<0 && inp2<0)
+ {
+
+ return ((fmod(inp1,inp2))-(inp2));
+
+ }
+
+}
diff --git a/src/c/elementaryFunctions/pow/dpows.c b/src/c/elementaryFunctions/pow/dpows.c
index c291bf71..cce89196 100644
--- a/src/c/elementaryFunctions/pow/dpows.c
+++ b/src/c/elementaryFunctions/pow/dpows.c
@@ -13,6 +13,7 @@
#include <math.h>
#include "pow.h"
-double dpows(double x, double p) {
+double dpows(double x, double p)
+{
return pow(x, p);
}
diff --git a/src/c/elementaryFunctions/pow/i16powa.c b/src/c/elementaryFunctions/pow/i16powa.c
new file mode 100644
index 00000000..eecce15f
--- /dev/null
+++ b/src/c/elementaryFunctions/pow/i16powa.c
@@ -0,0 +1,25 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "pow.h"
+
+void i16powa(int16* x, int size, int16* power, int16 *out) {
+ /*
+ Computes Scilab x.^power
+ Computes power element by element
+ x and power must have same size
+ */
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ out[i] = i16pows(x[i], power[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/pow/i16pows.c b/src/c/elementaryFunctions/pow/i16pows.c
new file mode 100644
index 00000000..63f92d92
--- /dev/null
+++ b/src/c/elementaryFunctions/pow/i16pows.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "pow.h"
+
+int16 i16pows(int16 x, int16 p) {
+ return pow(x, p);
+}
diff --git a/src/c/elementaryFunctions/pow/i8powa.c b/src/c/elementaryFunctions/pow/i8powa.c
new file mode 100644
index 00000000..bf948223
--- /dev/null
+++ b/src/c/elementaryFunctions/pow/i8powa.c
@@ -0,0 +1,25 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "pow.h"
+
+void i8powa(int8* x, int size, int8* power, int8 *out) {
+ /*
+ Computes Scilab x.^power
+ Computes power element by element
+ x and power must have same size
+ */
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ out[i] = i8pows(x[i], power[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/pow/i8pows.c b/src/c/elementaryFunctions/pow/i8pows.c
new file mode 100644
index 00000000..125ef8c2
--- /dev/null
+++ b/src/c/elementaryFunctions/pow/i8pows.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "pow.h"
+
+int8 i8pows(int8 x, int8 p) {
+ return pow(x, p);
+}
diff --git a/src/c/elementaryFunctions/pow/u16powa.c b/src/c/elementaryFunctions/pow/u16powa.c
new file mode 100644
index 00000000..df34972d
--- /dev/null
+++ b/src/c/elementaryFunctions/pow/u16powa.c
@@ -0,0 +1,25 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "pow.h"
+
+void u16powa(uint16* x, int size, uint16* power, uint16 *out) {
+ /*
+ Computes Scilab x.^power
+ Computes power element by element
+ x and power must have same size
+ */
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ out[i] = u16pows(x[i], power[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/pow/u16pows.c b/src/c/elementaryFunctions/pow/u16pows.c
new file mode 100644
index 00000000..49dd654c
--- /dev/null
+++ b/src/c/elementaryFunctions/pow/u16pows.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "pow.h"
+
+uint16 u16pows(uint16 x, uint16 p) {
+ return pow(x, p);
+}
diff --git a/src/c/elementaryFunctions/pow/u8powa.c b/src/c/elementaryFunctions/pow/u8powa.c
new file mode 100644
index 00000000..90bcc642
--- /dev/null
+++ b/src/c/elementaryFunctions/pow/u8powa.c
@@ -0,0 +1,25 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "pow.h"
+
+void u8powa(uint8* x, int size, uint8* power, uint8 *out) {
+ /*
+ Computes Scilab x.^power
+ Computes power element by element
+ x and power must have same size
+ */
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ out[i] = u8pows(x[i], power[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/pow/u8pows.c b/src/c/elementaryFunctions/pow/u8pows.c
new file mode 100644
index 00000000..cfcd4c69
--- /dev/null
+++ b/src/c/elementaryFunctions/pow/u8pows.c
@@ -0,0 +1,19 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "pow.h"
+
+uint8 u8pows(uint8 x, uint8 p)
+{
+ return pow(x, p);
+}
diff --git a/src/c/elementaryFunctions/pow/zpows.c b/src/c/elementaryFunctions/pow/zpows.c
index 1a7059b2..4fe771ab 100644
--- a/src/c/elementaryFunctions/pow/zpows.c
+++ b/src/c/elementaryFunctions/pow/zpows.c
@@ -14,7 +14,7 @@
#include "log.h"
#include "exp.h"
-doubleComplex zpows(doubleComplex z, doubleComplex power) {
+doubleComplex zpows(doubleComplex z, doubleComplex power) {
/*Cas z=0 */
if ( (zreals(z)==0) && (zimags(z)==0) ){
/* Cas 0^0 */
diff --git a/src/c/elementaryFunctions/radix_conversions/base2dec/dbase2decs.c b/src/c/elementaryFunctions/radix_conversions/base2dec/dbase2decs.c
new file mode 100644
index 00000000..a92fc76f
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/base2dec/dbase2decs.c
@@ -0,0 +1,32 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include <string.h>
+#include "base2dec.h"
+#include <stdio.h>
+#include <math.h>
+
+double dbase2decs(double in,int base)
+{
+ int n=0,rem=0, base1=1;
+ double out=0.0;
+ n=(int)in;
+ while (n!=0)
+ {
+ rem = n%10;
+ out = out + (rem * base1);
+ n = n / 10 ;
+ base1 = base1 * base;
+ }
+ return out;
+}
+
+
diff --git a/src/c/elementaryFunctions/radix_conversions/base2dec/gbase2decs.c b/src/c/elementaryFunctions/radix_conversions/base2dec/gbase2decs.c
new file mode 100644
index 00000000..811a4116
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/base2dec/gbase2decs.c
@@ -0,0 +1,166 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include <stdio.h>
+#include <math.h>
+#include "base2dec.h"
+#include <string.h>
+
+double gbase2decs(char* in,int size,int base)
+{
+ size-=2;
+ int i=0,val=0,j=0;
+ double o=0.0;
+ for(i=0; in[i]!='\0'; i++)
+ {
+ //printf("%c \n",in[i]);
+ switch(in[i])
+ {
+ case '0':
+ val = 0;
+ break;
+ case '1':
+ val = 1;
+ break;
+ case '2':
+ val = 2;
+ break;
+ case '3':
+ val = 3;
+ break;
+ case '4':
+ val = 4;
+ break;
+ case '5':
+ val = 5;
+ break;
+ case '6':
+ val = 6;
+ break;
+ case '7':
+ val = 7;
+ break;
+ case '8':
+ val = 8;
+ break;
+ case '9':
+ val = 9;
+ break;
+ case 'a':
+ case 'A':
+ val = 10;
+ break;
+ case 'b':
+ case 'B':
+ val = 11;
+ break;
+ case 'c':
+ case 'C':
+ val = 12;
+ break;
+ case 'd':
+ case 'D':
+ val = 13;
+ break;
+ case 'e':
+ case 'E':
+ val = 14;
+ break;
+ case 'f':
+ case 'F':
+ val = 15;
+ break;
+ case 'g':
+ case 'G':
+ val = 16;
+ break;
+ case 'h':
+ case 'H':
+ val = 17;
+ break;
+ case 'i':
+ case 'I':
+ val = 18;
+ break;
+ case 'j':
+ case 'J':
+ val = 19;
+ break;
+ case 'k':
+ case 'K':
+ val = 20;
+ break;
+ case 'l':
+ case 'L':
+ val = 21;
+ break;
+ case 'm':
+ case 'M':
+ val = 22;
+ break;
+ case 'n':
+ case 'N':
+ val = 23;
+ break;
+ case 'o':
+ case 'O':
+ val = 24;
+ break;
+ case 'p':
+ case 'P':
+ val = 25;
+ break;
+ case 'q':
+ case 'Q':
+ val = 26;
+ break;
+ case 'r':
+ case 'R':
+ val = 27;
+ break;
+ case 's':
+ case 'S':
+ val = 28;
+ break;
+ case 't':
+ case 'T':
+ val = 29;
+ break;
+ case 'u':
+ case 'U':
+ val = 30;
+ break;
+ case 'v':
+ case 'V':
+ val = 31;
+ break;
+ case 'w':
+ case 'W':
+ val = 32;
+ break;
+ case 'x':
+ case 'X':
+ val = 33;
+ break;
+ case 'y':
+ case 'Y':
+ val = 34;
+ break;
+ case 'z':
+ case 'Z':
+ val = 35;
+ break;
+ }
+ o = o + (val * (int)pow((double)base, size));
+ size--;
+ }
+ return o;
+ }
diff --git a/src/c/elementaryFunctions/radix_conversions/bin2dec/dbin2deca.c b/src/c/elementaryFunctions/radix_conversions/bin2dec/dbin2deca.c
new file mode 100644
index 00000000..96fccc5f
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/bin2dec/dbin2deca.c
@@ -0,0 +1,21 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include "bin2dec.h"
+
+void dbin2deca(double* in,int size,double* out)
+{
+ int i=0;
+ for(i=0;i<size;i++)
+ {
+ out[i]=dbin2decs(in[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/radix_conversions/bin2dec/dbin2decs.c b/src/c/elementaryFunctions/radix_conversions/bin2dec/dbin2decs.c
new file mode 100644
index 00000000..ff363c37
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/bin2dec/dbin2decs.c
@@ -0,0 +1,32 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include <string.h>
+#include "bin2dec.h"
+#include <stdlib.h>
+#include <stdio.h>
+long double dbin2decs(long double in)
+{
+ int base=1, rem=0;
+ long double out=0.0;
+ int in1;
+ in1=(int)in;
+ while (in1 != 0)
+ {
+ rem = in1 % 10;
+ out = out + (rem * base);
+ in1 = in1 / 10 ;
+ base = base * 2;
+ }
+ return out;
+ // printf("Decimal equivalent is: %f \n",out);
+}
+
diff --git a/src/c/elementaryFunctions/radix_conversions/bin2dec/i16bin2deca.c b/src/c/elementaryFunctions/radix_conversions/bin2dec/i16bin2deca.c
new file mode 100644
index 00000000..8511df92
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/bin2dec/i16bin2deca.c
@@ -0,0 +1,21 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include "bin2dec.h"
+
+void i16bin2deca(int16* in,int size,int16* out)
+{
+ int i=0;
+ for(i=0;i<size;i++)
+ {
+ out[i]=i16bin2decs(in[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/radix_conversions/bin2dec/i16bin2decs.c b/src/c/elementaryFunctions/radix_conversions/bin2dec/i16bin2decs.c
new file mode 100644
index 00000000..9aa3be9b
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/bin2dec/i16bin2decs.c
@@ -0,0 +1,32 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include <string.h>
+#include "bin2dec.h"
+#include <stdlib.h>
+#include <stdio.h>
+int16 i16bin2decs(int16 in)
+{
+ int base=1, rem=0;
+ int16 out=0;
+ int in1;
+ in1=(int)in;
+ while (in1 != 0)
+ {
+ rem = in1 % 10;
+ out = out + (rem * base);
+ in1 = in1 / 10 ;
+ base = base * 2;
+ }
+ return out;
+ // printf("Decimal equivalent is: %f \n",out);
+}
+
diff --git a/src/c/elementaryFunctions/radix_conversions/bin2dec/i8bin2deca.c b/src/c/elementaryFunctions/radix_conversions/bin2dec/i8bin2deca.c
new file mode 100644
index 00000000..c923ffb0
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/bin2dec/i8bin2deca.c
@@ -0,0 +1,21 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include "bin2dec.h"
+
+void i8bin2deca(int8* in,int size,int8* out)
+{
+ int i=0;
+ for(i=0;i<size;i++)
+ {
+ out[i]=i8bin2decs(in[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/radix_conversions/bin2dec/i8bin2decs.c b/src/c/elementaryFunctions/radix_conversions/bin2dec/i8bin2decs.c
new file mode 100644
index 00000000..abd3b894
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/bin2dec/i8bin2decs.c
@@ -0,0 +1,32 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include <string.h>
+#include "bin2dec.h"
+#include <stdlib.h>
+#include <stdio.h>
+int8 i8bin2decs(int8 in)
+{
+ int base=1, rem=0;
+ int8 out=0;
+ int in1;
+ in1=(int)in;
+ while (in1 != 0)
+ {
+ rem = in1 % 10;
+ out = out + (rem * base);
+ in1 = in1 / 10 ;
+ base = base * 2;
+ }
+ return out;
+ // printf("Decimal equivalent is: %f \n",out);
+}
+
diff --git a/src/c/elementaryFunctions/radix_conversions/bin2dec/u16bin2deca.c b/src/c/elementaryFunctions/radix_conversions/bin2dec/u16bin2deca.c
new file mode 100644
index 00000000..b6b75d71
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/bin2dec/u16bin2deca.c
@@ -0,0 +1,21 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include "bin2dec.h"
+
+void u16bin2deca(uint16* in,int size,uint16* out)
+{
+ int i=0;
+ for(i=0;i<size;i++)
+ {
+ out[i]=u16bin2decs(in[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/radix_conversions/bin2dec/u16bin2decs.c b/src/c/elementaryFunctions/radix_conversions/bin2dec/u16bin2decs.c
new file mode 100644
index 00000000..cb45a201
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/bin2dec/u16bin2decs.c
@@ -0,0 +1,32 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include <string.h>
+#include "bin2dec.h"
+#include <stdlib.h>
+#include <stdio.h>
+uint16 u16bin2decs(uint16 in)
+{
+ int base=1, rem=0;
+ uint16 out=0;
+ int in1;
+ in1=(int)in;
+ while (in1 != 0)
+ {
+ rem = in1 % 10;
+ out = out + (rem * base);
+ in1 = in1 / 10 ;
+ base = base * 2;
+ }
+ return out;
+ // printf("Decimal equivalent is: %f \n",out);
+}
+
diff --git a/src/c/elementaryFunctions/radix_conversions/bin2dec/u8bin2deca.c b/src/c/elementaryFunctions/radix_conversions/bin2dec/u8bin2deca.c
new file mode 100644
index 00000000..10461cad
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/bin2dec/u8bin2deca.c
@@ -0,0 +1,21 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include "bin2dec.h"
+
+void u8bin2deca(uint8* in,int size,uint8* out)
+{
+ int i=0;
+ for(i=0;i<size;i++)
+ {
+ out[i]=u8bin2decs(in[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/radix_conversions/bin2dec/u8bin2decs.c b/src/c/elementaryFunctions/radix_conversions/bin2dec/u8bin2decs.c
new file mode 100644
index 00000000..0a0f5c40
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/bin2dec/u8bin2decs.c
@@ -0,0 +1,32 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include <string.h>
+#include "bin2dec.h"
+#include <stdlib.h>
+#include <stdio.h>
+uint8 u8bin2decs(uint8 in)
+{
+ int base=1, rem=0;
+ uint8 out=0;
+ int in1;
+ in1=(int)in;
+ while (in1 != 0)
+ {
+ rem = in1 % 10;
+ out = out + (rem * base);
+ in1 = in1 / 10 ;
+ base = base * 2;
+ }
+ return out;
+ // printf("Decimal equivalent is: %f \n",out);
+}
+
diff --git a/src/c/elementaryFunctions/radix_conversions/dec2base/ddec2basea.c b/src/c/elementaryFunctions/radix_conversions/dec2base/ddec2basea.c
new file mode 100644
index 00000000..4de34f00
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/dec2base/ddec2basea.c
@@ -0,0 +1,21 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include "dec2base.h"
+
+void ddec2basea(double* in,int size,int base,int n,char* out)
+{
+ int i=0;
+ for(i=0;i<size;i++)
+ {
+ ddec2bases(in[i],base,n,&(out[i*3]));
+ }
+}
diff --git a/src/c/elementaryFunctions/radix_conversions/dec2base/ddec2bases.c b/src/c/elementaryFunctions/radix_conversions/dec2base/ddec2bases.c
new file mode 100644
index 00000000..dae7bdcc
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/dec2base/ddec2bases.c
@@ -0,0 +1,71 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include <string.h>
+#include <math.h>
+#include "dec2base.h"
+#include <stdio.h>
+
+void ddec2bases(double in,int base,int n,char* out)
+{
+ int quot;
+ //printf("%d\n",n);
+ int i=0,j=0,k=0,tmp,temp;
+ quot=(int)in;
+ //printf("%d",quot);
+ while(quot!=0)
+ {
+ temp=quot%base;
+ //printf("%d\n",temp);
+ if(temp < 10)
+ { temp = temp + 48;
+ //printf("%d\n",temp);
+ }
+ else
+ {
+ temp = temp + 55;
+ //printf("%d\n",temp);
+ }
+ out[i++]=temp;
+ //printf("%c\n",out[i-1]);
+ quot = quot/base;
+ }
+//printf("%d\n",i);
+ if(n>i-1)
+ {
+ for(j=i;j<=n;j++)
+ { out[j]='0';
+ //printf(" %c %c \n",out[j],out[i]);
+ }
+ }
+ if(n==0)
+ {
+ j=i-1;
+ n=i;
+ }
+ else
+ j=n-1;
+
+ out[n]='\0';
+ //for(k=0;k<=n;k++)
+ //printf("%c\n",out[k]);
+ i=0;
+ while(i<j)
+ {
+ tmp=out[i];
+ //printf("%c\n",out[i]);
+ out[i]=out[j];
+ out[j]=tmp;
+ //printf("%c\n",out[j]);
+ i++;
+ j--;
+ }
+}
diff --git a/src/c/elementaryFunctions/radix_conversions/dec2base/sdec2basea.c b/src/c/elementaryFunctions/radix_conversions/dec2base/sdec2basea.c
new file mode 100644
index 00000000..dc4d8590
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/dec2base/sdec2basea.c
@@ -0,0 +1,21 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include "dec2base.h"
+
+void sdec2basea(float* in,int size,int base,int n,char* out)
+{
+ int i=0;
+ for(i=0;i<size;i++)
+ {
+ sdec2bases(in[i],base,n,&(out[i*3]));
+ }
+}
diff --git a/src/c/elementaryFunctions/radix_conversions/dec2base/sdec2bases.c b/src/c/elementaryFunctions/radix_conversions/dec2base/sdec2bases.c
new file mode 100644
index 00000000..a627c052
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/dec2base/sdec2bases.c
@@ -0,0 +1,45 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include <string.h>
+#include <math.h>
+#include "dec2base.h"
+#include <stdio.h>
+
+void sdec2bases(float in,int base,int n,char* out)
+{
+ int quot;
+ int i=0,j=0,k=0,tmp,temp;
+ quot=(int)in;
+ while(quot!=0)
+ {
+ temp=quot%base;
+ if(temp < 10)
+ temp = temp + 48;
+ else
+ temp = temp + 55;
+ out[i++]=temp;
+ quot = quot/base;
+ }
+ out[i]='\0';
+ j=i-1;
+ i=0;
+ while(i<j)
+ {
+ tmp=out[i];
+ out[i]=out[j];
+ out[j]=tmp;
+ i++;
+ j--;
+ }
+
+
+}
diff --git a/src/c/elementaryFunctions/radix_conversions/dec2bin/ddec2bina.c b/src/c/elementaryFunctions/radix_conversions/dec2bin/ddec2bina.c
new file mode 100644
index 00000000..c69b7823
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/dec2bin/ddec2bina.c
@@ -0,0 +1,21 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include "dec2bin.h"
+
+void ddec2bina(double* in,int size,int n,double* out)
+{
+ int i=0;
+ for(i=0;i<size;i++)
+ {
+ ddec2bins(in[i],n,&(out[i*15]));
+ }
+}
diff --git a/src/c/elementaryFunctions/radix_conversions/dec2bin/ddec2bins.c b/src/c/elementaryFunctions/radix_conversions/dec2bin/ddec2bins.c
new file mode 100644
index 00000000..f5db16c8
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/dec2bin/ddec2bins.c
@@ -0,0 +1,50 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include <string.h>
+#include "dec2bin.h"
+#include <stdio.h>
+void ddec2bins(double in,int n,double* out)
+{
+ int quotient,i=0,j=0,tmp=0;
+ quotient=(int)in;
+ for(i=0;i<n;i++)
+ {
+ out[i]=0.0;
+ }
+ i=0;
+ while(quotient!=0)
+ {
+ out[i++]= quotient%2;
+ quotient=quotient/2;
+ }
+ if(n>i-1)
+ {
+ for(j=i;j<=n;j++)
+ out[j]=0.0;
+ }
+ if(n==0)
+ j=i-1;
+ else
+ j=n-1;
+
+ i=0;
+
+ while(i<j)
+ {
+ tmp=out[i];
+ //printf("%f",tmp);
+ out[i]=out[j];
+ out[j]=tmp;
+ i++;
+ j--;
+ }
+}
diff --git a/src/c/elementaryFunctions/radix_conversions/dec2bin/i16dec2bina.c b/src/c/elementaryFunctions/radix_conversions/dec2bin/i16dec2bina.c
new file mode 100644
index 00000000..93d1fdda
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/dec2bin/i16dec2bina.c
@@ -0,0 +1,21 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include "dec2bin.h"
+
+void i16dec2bina(int16* in,int size,int n,int16* out)
+{
+ int i=0;
+ for(i=0;i<size;i++)
+ {
+ i16dec2bins(in[i],n,&(out[i*15]));
+ }
+}
diff --git a/src/c/elementaryFunctions/radix_conversions/dec2bin/i16dec2bins.c b/src/c/elementaryFunctions/radix_conversions/dec2bin/i16dec2bins.c
new file mode 100644
index 00000000..5df0fe8d
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/dec2bin/i16dec2bins.c
@@ -0,0 +1,43 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include <string.h>
+#include "dec2bin.h"
+#include <stdio.h>
+void i16dec2bins(int16 in,int n,int16* out)
+{
+ int quotient,i=0,j=0,tmp=0;
+ quotient=(int)in;
+ while(quotient!=0)
+ {
+ out[i++]= quotient%2;
+ quotient=quotient/2;
+ }
+ if(n>i-1)
+ {
+ for(j=i;j<=n;j++)
+ out[j]=0.0;
+ }
+ if(n==0)
+ j=i-1;
+ else
+ j=n-1;
+ i=0;
+
+ while(i<j)
+ {
+ tmp=out[i];
+ out[i]=out[j];
+ out[j]=tmp;
+ i++;
+ j--;
+ }
+}
diff --git a/src/c/elementaryFunctions/radix_conversions/dec2bin/i8dec2bina.c b/src/c/elementaryFunctions/radix_conversions/dec2bin/i8dec2bina.c
new file mode 100644
index 00000000..90062f9c
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/dec2bin/i8dec2bina.c
@@ -0,0 +1,21 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include "dec2bin.h"
+
+void i8dec2bina(int8* in,int size,int n,int8* out)
+{
+ int i=0;
+ for(i=0;i<size;i++)
+ {
+ i8dec2bins(in[i],n,&(out[i*15]));
+ }
+}
diff --git a/src/c/elementaryFunctions/radix_conversions/dec2bin/i8dec2bins.c b/src/c/elementaryFunctions/radix_conversions/dec2bin/i8dec2bins.c
new file mode 100644
index 00000000..ea689857
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/dec2bin/i8dec2bins.c
@@ -0,0 +1,43 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include <string.h>
+#include "dec2bin.h"
+#include <stdio.h>
+void i8dec2bins(int8 in,int n,int8* out)
+{
+ int quotient,i=0,j=0,tmp=0;
+ quotient=(int)in;
+ while(quotient!=0)
+ {
+ out[i++]= quotient%2;
+ quotient=quotient/2;
+ }
+ if(n>i-1)
+ {
+ for(j=i;j<=n;j++)
+ out[j]=0.0;
+ }
+ if(n==0)
+ j=i-1;
+ else
+ j=n-1;
+ i=0;
+
+ while(i<j)
+ {
+ tmp=out[i];
+ out[i]=out[j];
+ out[j]=tmp;
+ i++;
+ j--;
+ }
+}
diff --git a/src/c/elementaryFunctions/radix_conversions/dec2bin/u16dec2bina.c b/src/c/elementaryFunctions/radix_conversions/dec2bin/u16dec2bina.c
new file mode 100644
index 00000000..165485e0
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/dec2bin/u16dec2bina.c
@@ -0,0 +1,21 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include "dec2bin.h"
+
+void u16dec2bina(uint16* in,int size,int n,uint16* out)
+{
+ int i=0;
+ for(i=0;i<size;i++)
+ {
+ u16dec2bins(in[i],n,&(out[i*15]));
+ }
+}
diff --git a/src/c/elementaryFunctions/radix_conversions/dec2bin/u16dec2bins.c b/src/c/elementaryFunctions/radix_conversions/dec2bin/u16dec2bins.c
new file mode 100644
index 00000000..ea998897
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/dec2bin/u16dec2bins.c
@@ -0,0 +1,43 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include <string.h>
+#include "dec2bin.h"
+#include <stdio.h>
+void u16dec2bins(uint16 in,int n,uint16* out)
+{
+ int quotient,i=0,j=0,tmp=0;
+ quotient=(int)in;
+ while(quotient!=0)
+ {
+ out[i++]= quotient%2;
+ quotient=quotient/2;
+ }
+ if(n>i-1)
+ {
+ for(j=i;j<=n;j++)
+ out[j]=0.0;
+ }
+ if(n==0)
+ j=i-1;
+ else
+ j=n-1;
+ i=0;
+
+ while(i<j)
+ {
+ tmp=out[i];
+ out[i]=out[j];
+ out[j]=tmp;
+ i++;
+ j--;
+ }
+}
diff --git a/src/c/elementaryFunctions/radix_conversions/dec2bin/u8dec2bina.c b/src/c/elementaryFunctions/radix_conversions/dec2bin/u8dec2bina.c
new file mode 100644
index 00000000..4ebdc634
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/dec2bin/u8dec2bina.c
@@ -0,0 +1,21 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include "dec2bin.h"
+
+void u8dec2bina(uint8* in,int size,int n,uint8* out)
+{
+ int i=0;
+ for(i=0;i<size;i++)
+ {
+ u8dec2bins(in[i],n,&(out[i*15]));
+ }
+}
diff --git a/src/c/elementaryFunctions/radix_conversions/dec2bin/u8dec2bins.c b/src/c/elementaryFunctions/radix_conversions/dec2bin/u8dec2bins.c
new file mode 100644
index 00000000..af56d92f
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/dec2bin/u8dec2bins.c
@@ -0,0 +1,43 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include <string.h>
+#include "dec2bin.h"
+#include <stdio.h>
+void u8dec2bins(uint8 in,int n,uint8* out)
+{
+ int quotient,i=0,j=0,tmp=0;
+ quotient=(int)in;
+ while(quotient!=0)
+ {
+ out[i++]= quotient%2;
+ quotient=quotient/2;
+ }
+ if(n>i-1)
+ {
+ for(j=i;j<=n;j++)
+ out[j]=0.0;
+ }
+ if(n==0)
+ j=i-1;
+ else
+ j=n-1;
+ i=0;
+
+ while(i<j)
+ {
+ tmp=out[i];
+ out[i]=out[j];
+ out[j]=tmp;
+ i++;
+ j--;
+ }
+}
diff --git a/src/c/elementaryFunctions/radix_conversions/dec2hex/ddec2hexa.c b/src/c/elementaryFunctions/radix_conversions/dec2hex/ddec2hexa.c
new file mode 100644
index 00000000..f2fda27a
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/dec2hex/ddec2hexa.c
@@ -0,0 +1,21 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include "dec2hex.h"
+
+void ddec2hexa(double* in,int size,char* out)
+{
+ int i=0;
+ for(i=0;i<size;i++)
+ {
+ ddec2hexs(in[i],&(out[i*3]));
+ }
+}
diff --git a/src/c/elementaryFunctions/radix_conversions/dec2hex/ddec2hexs.c b/src/c/elementaryFunctions/radix_conversions/dec2hex/ddec2hexs.c
new file mode 100644
index 00000000..bcbb2667
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/dec2hex/ddec2hexs.c
@@ -0,0 +1,50 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include <string.h>
+#include <math.h>
+#include "dec2hex.h"
+#include <stdio.h>
+
+void ddec2hexs(double in,char* out)
+{
+ int quot;
+ int i=0,j=0,k=0,tmp,temp;
+ quot=(int)in;
+ while(quot!=0)
+ {
+ temp=quot%16;
+ //To convert integer into character
+ if(temp < 10)
+ temp = temp + 48;
+ else
+ temp = temp + 55;
+
+ out[i++]=temp;
+ quot = quot/16;
+ //printf("%c ",out[i-1]);
+ }
+ out[i]='\0';
+ j=i-1;
+ i=0;
+
+ while(i<j)
+ {
+ tmp=out[i];
+ out[i]=out[j];
+ out[j]=tmp;
+ i++;
+ j--;
+ }
+ //out[i+1]=' ';
+
+
+}
diff --git a/src/c/elementaryFunctions/radix_conversions/dec2hex/i16dec2hexa.c b/src/c/elementaryFunctions/radix_conversions/dec2hex/i16dec2hexa.c
new file mode 100644
index 00000000..e00eec42
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/dec2hex/i16dec2hexa.c
@@ -0,0 +1,21 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include "dec2hex.h"
+
+void i16dec2hexa(int16* in,int size,char* out)
+{
+ int i=0;
+ for(i=0;i<size;i++)
+ {
+ i16dec2hexs(in[i],&(out[i*3]));
+ }
+}
diff --git a/src/c/elementaryFunctions/radix_conversions/dec2hex/i16dec2hexs.c b/src/c/elementaryFunctions/radix_conversions/dec2hex/i16dec2hexs.c
new file mode 100644
index 00000000..f4a15ee2
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/dec2hex/i16dec2hexs.c
@@ -0,0 +1,49 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include <string.h>
+#include <math.h>
+#include "dec2hex.h"
+#include <stdio.h>
+
+void i16dec2hexs(int16 in,char* out)
+{
+ int quot;
+ int i=0,j=0,k=0,tmp,temp;
+ quot=(int)in;
+ while(quot!=0)
+ {
+ temp=quot%16;
+ //To convert integer into character
+ if(temp < 10)
+ temp = temp + 48;
+ else
+ temp = temp + 55;
+
+ out[i++]=temp;
+ quot = quot/16;
+ //printf("%c ",out[i-1]);
+ }
+ out[i]='\0';
+ j=i-1;
+ i=0;
+
+ while(i<j)
+ {
+ tmp=out[i];
+ out[i]=out[j];
+ out[j]=tmp;
+ i++;
+ j--;
+ }
+ out[i+1]=' ';
+
+}
diff --git a/src/c/elementaryFunctions/radix_conversions/dec2hex/i8dec2hexa.c b/src/c/elementaryFunctions/radix_conversions/dec2hex/i8dec2hexa.c
new file mode 100644
index 00000000..be659d47
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/dec2hex/i8dec2hexa.c
@@ -0,0 +1,21 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include "dec2hex.h"
+
+void i8dec2hexa(int8* in,int size,char* out)
+{
+ int i=0;
+ for(i=0;i<size;i++)
+ {
+ i8dec2hexs(in[i],&(out[i*3]));
+ }
+}
diff --git a/src/c/elementaryFunctions/radix_conversions/dec2hex/i8dec2hexs.c b/src/c/elementaryFunctions/radix_conversions/dec2hex/i8dec2hexs.c
new file mode 100644
index 00000000..290335f9
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/dec2hex/i8dec2hexs.c
@@ -0,0 +1,50 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include <string.h>
+#include <math.h>
+#include "dec2hex.h"
+#include <stdio.h>
+
+void i8dec2hexs(int8 in,char* out)
+{
+ int quot;
+ int i=0,j=0,k=0,tmp,temp;
+ quot=(int)in;
+ while(quot!=0)
+ {
+ temp=quot%16;
+ //To convert integer into character
+ if(temp < 10)
+ temp = temp + 48;
+ else
+ temp = temp + 55;
+
+ out[i++]=temp;
+ quot = quot/16;
+ //printf("%c ",out[i-1]);
+ }
+ out[i]='\0';
+ j=i-1;
+ i=0;
+
+ while(i<j)
+ {
+ tmp=out[i];
+ out[i]=out[j];
+ out[j]=tmp;
+ i++;
+ j--;
+ }
+ out[i+1]=' ';
+
+
+}
diff --git a/src/c/elementaryFunctions/radix_conversions/dec2hex/u16dec2hexa.c b/src/c/elementaryFunctions/radix_conversions/dec2hex/u16dec2hexa.c
new file mode 100644
index 00000000..abfe5aa1
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/dec2hex/u16dec2hexa.c
@@ -0,0 +1,21 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include "dec2hex.h"
+
+void u16dec2hexa(uint16* in,int size,char* out)
+{
+ int i=0;
+ for(i=0;i<size;i++)
+ {
+ u16dec2hexs(in[i],&(out[i*3]));
+ }
+}
diff --git a/src/c/elementaryFunctions/radix_conversions/dec2hex/u16dec2hexs.c b/src/c/elementaryFunctions/radix_conversions/dec2hex/u16dec2hexs.c
new file mode 100644
index 00000000..b7c3c98a
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/dec2hex/u16dec2hexs.c
@@ -0,0 +1,49 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include <string.h>
+#include <math.h>
+#include "dec2hex.h"
+#include <stdio.h>
+
+void u16dec2hexs(uint16 in,char* out)
+{
+ int quot;
+ int i=0,j=0,k=0,tmp,temp;
+ quot=(int)in;
+ while(quot!=0)
+ {
+ temp=quot%16;
+ //To convert integer into character
+ if(temp < 10)
+ temp = temp + 48;
+ else
+ temp = temp + 55;
+
+ out[i++]=temp;
+ quot = quot/16;
+ //printf("%c ",out[i-1]);
+ }
+ out[i]='\0';
+ j=i-1;
+ i=0;
+
+ while(i<j)
+ {
+ tmp=out[i];
+ out[i]=out[j];
+ out[j]=tmp;
+ i++;
+ j--;
+ }
+ out[i+1]=' ';
+
+}
diff --git a/src/c/elementaryFunctions/radix_conversions/dec2hex/u8dec2hexa.c b/src/c/elementaryFunctions/radix_conversions/dec2hex/u8dec2hexa.c
new file mode 100644
index 00000000..8fe0526a
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/dec2hex/u8dec2hexa.c
@@ -0,0 +1,21 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include "dec2hex.h"
+
+void u8dec2hexa(uint8* in,int size,char* out)
+{
+ int i=0;
+ for(i=0;i<size;i++)
+ {
+ u8dec2hexs(in[i],&(out[i*3]));
+ }
+}
diff --git a/src/c/elementaryFunctions/radix_conversions/dec2hex/u8dec2hexs.c b/src/c/elementaryFunctions/radix_conversions/dec2hex/u8dec2hexs.c
new file mode 100644
index 00000000..acf236e6
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/dec2hex/u8dec2hexs.c
@@ -0,0 +1,49 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include <string.h>
+#include <math.h>
+#include "dec2hex.h"
+#include <stdio.h>
+
+void u8dec2hexs(uint8 in,char* out)
+{
+ int quot;
+ int i=0,j=0,k=0,tmp,temp;
+ quot=(int)in;
+ while(quot!=0)
+ {
+ temp=quot%16;
+ //To convert integer into character
+ if(temp < 10)
+ temp = temp + 48;
+ else
+ temp = temp + 55;
+
+ out[i++]=temp;
+ quot = quot/16;
+ //printf("%c ",out[i-1]);
+ }
+ out[i]='\0';
+ j=i-1;
+ i=0;
+
+ while(i<j)
+ {
+ tmp=out[i];
+ out[i]=out[j];
+ out[j]=tmp;
+ i++;
+ j--;
+ }
+ out[i+1]=' ';
+
+}
diff --git a/src/c/elementaryFunctions/radix_conversions/dec2oct/ddec2octa.c b/src/c/elementaryFunctions/radix_conversions/dec2oct/ddec2octa.c
new file mode 100644
index 00000000..f6cbcfef
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/dec2oct/ddec2octa.c
@@ -0,0 +1,20 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include "dec2oct.h"
+
+void ddec2octa(double* in,int size,double* out)
+{
+ int i=0;
+ for(i=0;i<size;i++)
+ { ddec2octs(in[i],&(out[i*15]));
+}
+}
diff --git a/src/c/elementaryFunctions/radix_conversions/dec2oct/ddec2octs.c b/src/c/elementaryFunctions/radix_conversions/dec2oct/ddec2octs.c
new file mode 100644
index 00000000..702f1862
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/dec2oct/ddec2octs.c
@@ -0,0 +1,38 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include <string.h>
+#include <math.h>
+#include "dec2oct.h"
+#include <stdio.h>
+
+void ddec2octs(double in,double* out)
+{
+ int i=0,j=0,tmp=0;
+ int quotient;
+ quotient=(int)in;
+ while(quotient!=0)
+ {
+ out[i++]= quotient%8;
+ quotient=quotient/8;
+ }
+ j=i-1;
+ i=0;
+
+ while(i<j)
+ {
+ tmp=out[i];
+ out[i]=out[j];
+ out[j]=tmp;
+ i++;
+ j--;
+ }
+}
diff --git a/src/c/elementaryFunctions/radix_conversions/dec2oct/i16dec2octa.c b/src/c/elementaryFunctions/radix_conversions/dec2oct/i16dec2octa.c
new file mode 100644
index 00000000..fec152c8
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/dec2oct/i16dec2octa.c
@@ -0,0 +1,21 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include "dec2oct.h"
+
+void i16dec2octa(int16* in,int size,int16* out)
+{
+ int i=0;
+ for(i=0;i<size;i++)
+ {
+i16dec2octs(in[i],&(out[i*15]));
+}
+}
diff --git a/src/c/elementaryFunctions/radix_conversions/dec2oct/i16dec2octs.c b/src/c/elementaryFunctions/radix_conversions/dec2oct/i16dec2octs.c
new file mode 100644
index 00000000..340958fa
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/dec2oct/i16dec2octs.c
@@ -0,0 +1,38 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include <string.h>
+#include <math.h>
+#include "dec2oct.h"
+#include <stdio.h>
+
+void i16dec2octs(int16 in,int16* out)
+{
+ int i=0,j=0,tmp=0;
+ int quotient;
+ quotient=(int)in;
+ while(quotient!=0)
+ {
+ out[i++]= quotient%8;
+ quotient=quotient/8;
+ }
+ j=i-1;
+ i=0;
+
+ while(i<j)
+ {
+ tmp=out[i];
+ out[i]=out[j];
+ out[j]=tmp;
+ i++;
+ j--;
+ }
+}
diff --git a/src/c/elementaryFunctions/radix_conversions/dec2oct/i8dec2octa.c b/src/c/elementaryFunctions/radix_conversions/dec2oct/i8dec2octa.c
new file mode 100644
index 00000000..0c96f01b
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/dec2oct/i8dec2octa.c
@@ -0,0 +1,20 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include "dec2oct.h"
+
+void i8dec2octa(int8* in,int size,int8* out)
+{
+ int i=0;
+ for(i=0;i<size;i++)
+ { i8dec2octs(in[i],&(out[i*15]));
+}
+}
diff --git a/src/c/elementaryFunctions/radix_conversions/dec2oct/i8dec2octs.c b/src/c/elementaryFunctions/radix_conversions/dec2oct/i8dec2octs.c
new file mode 100644
index 00000000..0a35f94f
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/dec2oct/i8dec2octs.c
@@ -0,0 +1,38 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include <string.h>
+#include <math.h>
+#include "dec2oct.h"
+#include <stdio.h>
+
+void i8dec2octs(int8 in,int8* out)
+{
+ int i=0,j=0,tmp=0;
+ int quotient;
+ quotient=(int)in;
+ while(quotient!=0)
+ {
+ out[i++]= quotient%8;
+ quotient=quotient/8;
+ }
+ j=i-1;
+ i=0;
+
+ while(i<j)
+ {
+ tmp=out[i];
+ out[i]=out[j];
+ out[j]=tmp;
+ i++;
+ j--;
+ }
+}
diff --git a/src/c/elementaryFunctions/radix_conversions/dec2oct/u16dec2octa.c b/src/c/elementaryFunctions/radix_conversions/dec2oct/u16dec2octa.c
new file mode 100644
index 00000000..7a3e60e4
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/dec2oct/u16dec2octa.c
@@ -0,0 +1,20 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include "dec2oct.h"
+
+void u16dec2octa(uint16* in,int size,uint16* out)
+{
+ int i=0;
+ for(i=0;i<size;i++)
+ { u16dec2octs(in[i],&(out[i*15]));
+}
+}
diff --git a/src/c/elementaryFunctions/radix_conversions/dec2oct/u16dec2octs.c b/src/c/elementaryFunctions/radix_conversions/dec2oct/u16dec2octs.c
new file mode 100644
index 00000000..99936b4b
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/dec2oct/u16dec2octs.c
@@ -0,0 +1,38 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include <string.h>
+#include <math.h>
+#include "dec2oct.h"
+#include <stdio.h>
+
+void u16dec2octs(uint16 in,uint16* out)
+{
+ int i=0,j=0,tmp=0;
+ int quotient;
+ quotient=(int)in;
+ while(quotient!=0)
+ {
+ out[i++]= quotient%8;
+ quotient=quotient/8;
+ }
+ j=i-1;
+ i=0;
+
+ while(i<j)
+ {
+ tmp=out[i];
+ out[i]=out[j];
+ out[j]=tmp;
+ i++;
+ j--;
+ }
+}
diff --git a/src/c/elementaryFunctions/radix_conversions/dec2oct/u8dec2octa.c b/src/c/elementaryFunctions/radix_conversions/dec2oct/u8dec2octa.c
new file mode 100644
index 00000000..1a4e0267
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/dec2oct/u8dec2octa.c
@@ -0,0 +1,20 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include "dec2oct.h"
+
+void u8dec2octa(uint8* in,int size,uint8* out)
+{
+ int i=0;
+ for(i=0;i<size;i++)
+ { u8dec2octs(in[i],&(out[i*15]));
+}
+}
diff --git a/src/c/elementaryFunctions/radix_conversions/dec2oct/u8dec2octs.c b/src/c/elementaryFunctions/radix_conversions/dec2oct/u8dec2octs.c
new file mode 100644
index 00000000..fbfc1048
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/dec2oct/u8dec2octs.c
@@ -0,0 +1,38 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include <string.h>
+#include <math.h>
+#include "dec2oct.h"
+#include <stdio.h>
+
+void u8dec2octs(uint8 in,uint8* out)
+{
+ int i=0,j=0,tmp=0;
+ int quotient;
+ quotient=(int)in;
+ while(quotient!=0)
+ {
+ out[i++]= quotient%8;
+ quotient=quotient/8;
+ }
+ j=i-1;
+ i=0;
+
+ while(i<j)
+ {
+ tmp=out[i];
+ out[i]=out[j];
+ out[j]=tmp;
+ i++;
+ j--;
+ }
+}
diff --git a/src/c/elementaryFunctions/radix_conversions/hex2dec/dhex2decs.c b/src/c/elementaryFunctions/radix_conversions/hex2dec/dhex2decs.c
new file mode 100644
index 00000000..42975737
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/hex2dec/dhex2decs.c
@@ -0,0 +1,32 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include <string.h>
+#include "hex2dec.h"
+#include <stdio.h>
+#include <math.h>
+
+double dhex2decs(double in)
+{
+ int n=0,rem=0, base=1;
+ double out=0.0;
+ n=(int)in;
+ while (n!=0)
+ {
+ rem = n%10;
+ out = out + (rem * base);
+ n = n / 10 ;
+ base = base * 16;
+ }
+ return out;
+}
+
+
diff --git a/src/c/elementaryFunctions/radix_conversions/hex2dec/ghex2decs.c b/src/c/elementaryFunctions/radix_conversions/hex2dec/ghex2decs.c
new file mode 100644
index 00000000..eb42a7a7
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/hex2dec/ghex2decs.c
@@ -0,0 +1,87 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include <string.h>
+#include "hex2dec.h"
+#include <stdio.h>
+#include <math.h>
+
+double ghex2decs(char* in,int size)
+{
+ size-=2;
+ int i=0,val=0,j=0;
+ double o=0.0;
+ for(i=0; in[i]!='\0'; i++)
+ {
+/* Finds the decimal equivalent of each hexadecimal digit
+*/
+ switch(in[i])
+ {
+ case '0':
+ val = 0;
+ break;
+ case '1':
+ val = 1;
+ break;
+ case '2':
+ val = 2;
+ break;
+ case '3':
+ val = 3;
+ break;
+ case '4':
+ val = 4;
+ break;
+ case '5':
+ val = 5;
+ break;
+ case '6':
+ val = 6;
+ break;
+ case '7':
+ val = 7;
+ break;
+ case '8':
+ val = 8;
+ break;
+ case '9':
+ val = 9;
+ break;
+ case 'a':
+ case 'A':
+ val = 10;
+ break;
+ case 'b':
+ case 'B':
+ val = 11;
+ break;
+ case 'c':
+ case 'C':
+ val = 12;
+ break;
+ case 'd':
+ case 'D':
+ val = 13;
+ break;
+ case 'e':
+ case 'E':
+ val = 14;
+ break;
+ case 'f':
+ case 'F':
+ val = 15;
+ break;
+ }
+ o = o + (val * (int)pow((double)16, size));
+ size--;
+ }
+ return o;
+ }
diff --git a/src/c/elementaryFunctions/radix_conversions/oct2dec/doct2deca.c b/src/c/elementaryFunctions/radix_conversions/oct2dec/doct2deca.c
new file mode 100644
index 00000000..e3619eb3
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/oct2dec/doct2deca.c
@@ -0,0 +1,21 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include "oct2dec.h"
+
+void doct2deca(double* in,int size,double* out)
+{
+ int i=0;
+ for(i=0;i<size;i++)
+ {
+ out[i]=doct2decs(in[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/radix_conversions/oct2dec/doct2decs.c b/src/c/elementaryFunctions/radix_conversions/oct2dec/doct2decs.c
new file mode 100644
index 00000000..b126c619
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/oct2dec/doct2decs.c
@@ -0,0 +1,32 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include <string.h>
+#include "oct2dec.h"
+#include <stdio.h>
+#include <math.h>
+
+double doct2decs(double in)
+{
+ int n=0,rem=0, base=1;
+ double out=0.0;
+ n=(int)in;
+ while (n!=0)
+ {
+ rem = n%10;
+ out = out + (rem * base);
+ n = n / 10 ;
+ base = base * 8;
+ }
+ return out;
+}
+
+
diff --git a/src/c/elementaryFunctions/radix_conversions/oct2dec/i16oct2deca.c b/src/c/elementaryFunctions/radix_conversions/oct2dec/i16oct2deca.c
new file mode 100644
index 00000000..9db3e2e1
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/oct2dec/i16oct2deca.c
@@ -0,0 +1,21 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include "oct2dec.h"
+
+void i16oct2deca(int16* in,int size,int16* out)
+{
+ int i=0;
+ for(i=0;i<size;i++)
+ {
+ out[i]=i16oct2decs(in[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/radix_conversions/oct2dec/i16oct2decs.c b/src/c/elementaryFunctions/radix_conversions/oct2dec/i16oct2decs.c
new file mode 100644
index 00000000..928c3a2a
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/oct2dec/i16oct2decs.c
@@ -0,0 +1,32 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include <string.h>
+#include "oct2dec.h"
+#include <stdio.h>
+#include <math.h>
+
+int16 i16oct2decs(int16 in) /* Function to convert octal to decimal */
+{
+ int n=0,rem=0, base=1;
+ int16 out=0;
+ n=(int)in;
+ while (n!=0)
+ {
+ rem = n%10;
+ out = out + (rem * base);
+ n = n / 10 ;
+ base = base * 8;
+ }
+ return out;
+}
+
+
diff --git a/src/c/elementaryFunctions/radix_conversions/oct2dec/i8oct2deca.c b/src/c/elementaryFunctions/radix_conversions/oct2dec/i8oct2deca.c
new file mode 100644
index 00000000..de57a0ea
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/oct2dec/i8oct2deca.c
@@ -0,0 +1,21 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include "oct2dec.h"
+
+void i8oct2deca(int8* in,int size,int8* out)
+{
+ int i=0;
+ for(i=0;i<size;i++)
+ {
+ out[i]=i8oct2decs(in[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/radix_conversions/oct2dec/i8oct2decs.c b/src/c/elementaryFunctions/radix_conversions/oct2dec/i8oct2decs.c
new file mode 100644
index 00000000..b95a0426
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/oct2dec/i8oct2decs.c
@@ -0,0 +1,32 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include <string.h>
+#include "oct2dec.h"
+#include <stdio.h>
+#include <math.h>
+
+int8 i8oct2decs(int8 in) /* Function to convert octal to decimal */
+{
+ int n=0,rem=0, base=1;
+ int8 out=0;
+ n=(int)in;
+ while (n!=0)
+ {
+ rem = n%10;
+ out = out + (rem * base);
+ n = n / 10 ;
+ base = base * 8;
+ }
+ return out;
+}
+
+
diff --git a/src/c/elementaryFunctions/radix_conversions/oct2dec/u16oct2deca.c b/src/c/elementaryFunctions/radix_conversions/oct2dec/u16oct2deca.c
new file mode 100644
index 00000000..7778ee96
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/oct2dec/u16oct2deca.c
@@ -0,0 +1,21 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include "oct2dec.h"
+
+void u16oct2deca(uint16* in,int size,uint16* out)
+{
+ int i=0;
+ for(i=0;i<size;i++)
+ {
+ out[i]=u16oct2decs(in[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/radix_conversions/oct2dec/u16oct2decs.c b/src/c/elementaryFunctions/radix_conversions/oct2dec/u16oct2decs.c
new file mode 100644
index 00000000..4b30443e
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/oct2dec/u16oct2decs.c
@@ -0,0 +1,32 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include <string.h>
+#include "oct2dec.h"
+#include <stdio.h>
+#include <math.h>
+
+uint16 u16oct2decs(uint16 in) /* Function to convert octal to decimal */
+{
+ int n=0,rem=0, base=1;
+ uint16 out=0;
+ n=(int)in;
+ while (n!=0)
+ {
+ rem = n%10;
+ out = out + (rem * base);
+ n = n / 10 ;
+ base = base * 8;
+ }
+ return out;
+}
+
+
diff --git a/src/c/elementaryFunctions/radix_conversions/oct2dec/u8oct2deca.c b/src/c/elementaryFunctions/radix_conversions/oct2dec/u8oct2deca.c
new file mode 100644
index 00000000..d1880203
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/oct2dec/u8oct2deca.c
@@ -0,0 +1,21 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include "oct2dec.h"
+
+void u8oct2deca(uint8* in,int size,uint8* out)
+{
+ int i=0;
+ for(i=0;i<size;i++)
+ {
+ out[i]=u8oct2decs(in[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/radix_conversions/oct2dec/u8oct2decs.c b/src/c/elementaryFunctions/radix_conversions/oct2dec/u8oct2decs.c
new file mode 100644
index 00000000..f804f7fd
--- /dev/null
+++ b/src/c/elementaryFunctions/radix_conversions/oct2dec/u8oct2decs.c
@@ -0,0 +1,32 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Organization: FOSSEE, IIT Bombay
+ Author: Shamik Guha
+ Email: toolbox@scilab.in
+*/
+#include <string.h>
+#include "oct2dec.h"
+#include <stdio.h>
+#include <math.h>
+
+uint8 u8oct2decs(uint8 in) /* Function to convert octal to decimal */
+{
+ int n=0,rem=0, base=1;
+ uint8 out=0;
+ n=(int)in;
+ while (n!=0)
+ {
+ rem = n%10;
+ out = out + (rem * base);
+ n = n / 10 ;
+ base = base * 8;
+ }
+ return out;
+}
+
+
diff --git a/src/c/elementaryFunctions/round/i16rounda.c b/src/c/elementaryFunctions/round/i16rounda.c
new file mode 100644
index 00000000..26ed262a
--- /dev/null
+++ b/src/c/elementaryFunctions/round/i16rounda.c
@@ -0,0 +1,20 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "round.h"
+
+void i16rounda(int16* x, int size, int16* out) {
+ int i=0;
+
+ for (i=0;i<size;i++) out[i]=i16rounds(x[i]);
+}
diff --git a/src/c/elementaryFunctions/round/i16rounds.c b/src/c/elementaryFunctions/round/i16rounds.c
new file mode 100644
index 00000000..68bd7a4c
--- /dev/null
+++ b/src/c/elementaryFunctions/round/i16rounds.c
@@ -0,0 +1,23 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "round.h"
+
+int16 i16rounds(int16 x) {
+ int result;
+
+ if(x>=0) result = (int16)((float)x+0.5);
+ else result = (int16)((float)x-0.5);
+
+ return (int16)result;
+}
diff --git a/src/c/elementaryFunctions/round/i8rounda.c b/src/c/elementaryFunctions/round/i8rounda.c
new file mode 100644
index 00000000..bb0b0c90
--- /dev/null
+++ b/src/c/elementaryFunctions/round/i8rounda.c
@@ -0,0 +1,20 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "round.h"
+
+void i8rounda(int8* x, int size, int8* out) {
+ int i=0;
+
+ for (i=0;i<size;i++) out[i]=i8rounds(x[i]);
+}
diff --git a/src/c/elementaryFunctions/round/i8rounds.c b/src/c/elementaryFunctions/round/i8rounds.c
new file mode 100644
index 00000000..bb737241
--- /dev/null
+++ b/src/c/elementaryFunctions/round/i8rounds.c
@@ -0,0 +1,23 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "round.h"
+
+int8 i8rounds(int8 x) {
+ int result;
+
+ if(x>=0) result = (int8)((float)x+0.5);
+ else result = (int8)((float)x-0.5);
+
+ return (int8)result;
+}
diff --git a/src/c/elementaryFunctions/round/u16rounda.c b/src/c/elementaryFunctions/round/u16rounda.c
new file mode 100644
index 00000000..1b0b1edc
--- /dev/null
+++ b/src/c/elementaryFunctions/round/u16rounda.c
@@ -0,0 +1,20 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "round.h"
+
+void u16rounda(uint16* x, int size, uint16* out) {
+ int i=0;
+
+ for (i=0;i<size;i++) out[i]=u16rounds(x[i]);
+}
diff --git a/src/c/elementaryFunctions/round/u16rounds.c b/src/c/elementaryFunctions/round/u16rounds.c
new file mode 100644
index 00000000..f8a4ad49
--- /dev/null
+++ b/src/c/elementaryFunctions/round/u16rounds.c
@@ -0,0 +1,23 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "round.h"
+
+uint16 u16rounds(uint16 x) {
+ int result;
+
+ if(x>=0) result = (uint16)((float)x+0.5);
+ else result = (uint16)((float)x-0.5);
+
+ return (uint16)result;
+}
diff --git a/src/c/elementaryFunctions/round/u8rounda.c b/src/c/elementaryFunctions/round/u8rounda.c
new file mode 100644
index 00000000..b58a6d20
--- /dev/null
+++ b/src/c/elementaryFunctions/round/u8rounda.c
@@ -0,0 +1,20 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "round.h"
+
+void u8rounda(uint8* x, int size, uint8* out) {
+ int i=0;
+
+ for (i=0;i<size;i++) out[i]=u8rounds(x[i]);
+}
diff --git a/src/c/elementaryFunctions/round/u8rounds.c b/src/c/elementaryFunctions/round/u8rounds.c
new file mode 100644
index 00000000..e27cc2ca
--- /dev/null
+++ b/src/c/elementaryFunctions/round/u8rounds.c
@@ -0,0 +1,23 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "round.h"
+
+uint8 u8rounds(uint8 x) {
+ int result;
+
+ if(x>=0) result = (uint8)((float)x+0.5);
+ else result = (uint8)((float)x-0.5);
+
+ return (uint8)result;
+}
diff --git a/src/c/elementaryFunctions/sin/i16sina.c b/src/c/elementaryFunctions/sin/i16sina.c
new file mode 100644
index 00000000..4e9a3b06
--- /dev/null
+++ b/src/c/elementaryFunctions/sin/i16sina.c
@@ -0,0 +1,20 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "sin.h"
+
+void i16sina(int16* x, int size, float* y) {
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ y[i] = i16sins(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/sin/i16sins.c b/src/c/elementaryFunctions/sin/i16sins.c
new file mode 100644
index 00000000..6fcbd26f
--- /dev/null
+++ b/src/c/elementaryFunctions/sin/i16sins.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "sin.h"
+
+float i16sins(int16 x) {
+ return (sin((double)x));
+}
diff --git a/src/c/elementaryFunctions/sin/i8sina.c b/src/c/elementaryFunctions/sin/i8sina.c
new file mode 100644
index 00000000..2457388f
--- /dev/null
+++ b/src/c/elementaryFunctions/sin/i8sina.c
@@ -0,0 +1,20 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "sin.h"
+
+void i8sina(int8* x, int size, float* y) {
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ y[i] = i8sins(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/sin/i8sins.c b/src/c/elementaryFunctions/sin/i8sins.c
new file mode 100644
index 00000000..23823566
--- /dev/null
+++ b/src/c/elementaryFunctions/sin/i8sins.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "sin.h"
+
+float i8sins(int8 x) {
+ return (sin((double)x));
+}
diff --git a/src/c/elementaryFunctions/sin/u16sina.c b/src/c/elementaryFunctions/sin/u16sina.c
new file mode 100644
index 00000000..03054c20
--- /dev/null
+++ b/src/c/elementaryFunctions/sin/u16sina.c
@@ -0,0 +1,20 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "sin.h"
+
+void u16sina(uint16* x, int size, float* y) {
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ y[i] = u16sins(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/sin/u16sins.c b/src/c/elementaryFunctions/sin/u16sins.c
new file mode 100644
index 00000000..651b8e1a
--- /dev/null
+++ b/src/c/elementaryFunctions/sin/u16sins.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "sin.h"
+
+float u16sins(uint16 x) {
+ return (sin((double)x));
+}
diff --git a/src/c/elementaryFunctions/sin/u8sina.c b/src/c/elementaryFunctions/sin/u8sina.c
new file mode 100644
index 00000000..271d6451
--- /dev/null
+++ b/src/c/elementaryFunctions/sin/u8sina.c
@@ -0,0 +1,20 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "sin.h"
+
+void u8sina(uint8* x, int size, float* y) {
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ y[i] = u8sins(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/sin/u8sins.c b/src/c/elementaryFunctions/sin/u8sins.c
new file mode 100644
index 00000000..f7c982f2
--- /dev/null
+++ b/src/c/elementaryFunctions/sin/u8sins.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "sin.h"
+
+float u8sins(uint8 x) {
+ return (sin((double)x));
+}
diff --git a/src/c/elementaryFunctions/sind/dsinda.c b/src/c/elementaryFunctions/sind/dsinda.c
new file mode 100644
index 00000000..c13fa0c7
--- /dev/null
+++ b/src/c/elementaryFunctions/sind/dsinda.c
@@ -0,0 +1,20 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "sind.h"
+
+void dsinda(double* x, int size, double* y) {
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ y[i] = dsinds(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/sind/dsinds.c b/src/c/elementaryFunctions/sind/dsinds.c
new file mode 100644
index 00000000..f7dc54f1
--- /dev/null
+++ b/src/c/elementaryFunctions/sind/dsinds.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+#include <math.h>
+#include "sind.h"
+#define PI 3.1415927
+
+double dsinds(double x) {
+ return sin(x*PI/180);
+}
diff --git a/src/c/elementaryFunctions/sind/ssinda.c b/src/c/elementaryFunctions/sind/ssinda.c
new file mode 100644
index 00000000..baefd68d
--- /dev/null
+++ b/src/c/elementaryFunctions/sind/ssinda.c
@@ -0,0 +1,19 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+#include "sind.h"
+
+void ssinda(float* x, int size, double* y) {
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ y[i] = ssinds(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/sind/ssinds.c b/src/c/elementaryFunctions/sind/ssinds.c
new file mode 100644
index 00000000..9d5bf0e7
--- /dev/null
+++ b/src/c/elementaryFunctions/sind/ssinds.c
@@ -0,0 +1,19 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+#include <math.h>
+#include "sind.h"
+#include "sin.h"
+#define PI 3.1415927
+
+float ssinds(float x) {
+ return ssins(x*PI/180);
+}
diff --git a/src/c/elementaryFunctions/sinh/i16sinha.c b/src/c/elementaryFunctions/sinh/i16sinha.c
new file mode 100644
index 00000000..71ad70b2
--- /dev/null
+++ b/src/c/elementaryFunctions/sinh/i16sinha.c
@@ -0,0 +1,20 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "sinh.h"
+
+void i16sinha(int16* x, int size, float* y) {
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ y[i] = i16sinhs(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/sinh/i16sinhs.c b/src/c/elementaryFunctions/sinh/i16sinhs.c
new file mode 100644
index 00000000..a7ab3d51
--- /dev/null
+++ b/src/c/elementaryFunctions/sinh/i16sinhs.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "sinh.h"
+
+float i16sinhs(int16 x) {
+ return (sinh((double)x));
+}
diff --git a/src/c/elementaryFunctions/sinh/i8sinha.c b/src/c/elementaryFunctions/sinh/i8sinha.c
new file mode 100644
index 00000000..50025748
--- /dev/null
+++ b/src/c/elementaryFunctions/sinh/i8sinha.c
@@ -0,0 +1,20 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "sinh.h"
+
+void i8sinha(int8* x, int size, float* y) {
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ y[i] = i8sinhs(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/sinh/i8sinhs.c b/src/c/elementaryFunctions/sinh/i8sinhs.c
new file mode 100644
index 00000000..ddc052aa
--- /dev/null
+++ b/src/c/elementaryFunctions/sinh/i8sinhs.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "sinh.h"
+
+float i8sinhs(int8 x) {
+ return (sinh((double)x));
+}
diff --git a/src/c/elementaryFunctions/sinh/u16sinha.c b/src/c/elementaryFunctions/sinh/u16sinha.c
new file mode 100644
index 00000000..279ed488
--- /dev/null
+++ b/src/c/elementaryFunctions/sinh/u16sinha.c
@@ -0,0 +1,20 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "sinh.h"
+
+void u16sinha(uint16* x, int size, float* y) {
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ y[i] = u16sinhs(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/sinh/u16sinhs.c b/src/c/elementaryFunctions/sinh/u16sinhs.c
new file mode 100644
index 00000000..5f828cd7
--- /dev/null
+++ b/src/c/elementaryFunctions/sinh/u16sinhs.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "sinh.h"
+
+float u16sinhs(uint16 x) {
+ return (sinh((double)x));
+}
diff --git a/src/c/elementaryFunctions/sinh/u8sinha.c b/src/c/elementaryFunctions/sinh/u8sinha.c
new file mode 100644
index 00000000..66a51e81
--- /dev/null
+++ b/src/c/elementaryFunctions/sinh/u8sinha.c
@@ -0,0 +1,20 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "sinh.h"
+
+void u8sinha(uint8* x, int size, float* y) {
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ y[i] = u8sinhs(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/sinh/u8sinhs.c b/src/c/elementaryFunctions/sinh/u8sinhs.c
new file mode 100644
index 00000000..9f49d7b6
--- /dev/null
+++ b/src/c/elementaryFunctions/sinh/u8sinhs.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "sinh.h"
+
+float u8sinhs(uint8 x) {
+ return (sinh((double)x));
+}
diff --git a/src/c/elementaryFunctions/sqrt/dsqrta.c b/src/c/elementaryFunctions/sqrt/dsqrta.c
index a948f35b..b87800f4 100644
--- a/src/c/elementaryFunctions/sqrt/dsqrta.c
+++ b/src/c/elementaryFunctions/sqrt/dsqrta.c
@@ -12,7 +12,7 @@
#include "sqrt.h"
-void dsqrta(double* in, int size, double* out) {
+void dsqrta(double* in, int size, double* out) {
int i = 0;
for (i = 0 ; i < size ; ++i) {
out[i] = dsqrts(in[i]);
diff --git a/src/c/elementaryFunctions/sqrt/dsqrts.c b/src/c/elementaryFunctions/sqrt/dsqrts.c
index 350cbbd0..8e664495 100644
--- a/src/c/elementaryFunctions/sqrt/dsqrts.c
+++ b/src/c/elementaryFunctions/sqrt/dsqrts.c
@@ -13,6 +13,6 @@
#include <math.h>
#include "sqrt.h"
-double dsqrts(double in){
+double dsqrts(double in){
return sqrt(in);
}
diff --git a/src/c/elementaryFunctions/tan/i16tana.c b/src/c/elementaryFunctions/tan/i16tana.c
new file mode 100644
index 00000000..cbbe237b
--- /dev/null
+++ b/src/c/elementaryFunctions/tan/i16tana.c
@@ -0,0 +1,20 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "tan.h"
+
+void i16tana(int16* x, int size, float* y) {
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ y[i] = i16tans(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/tan/i16tans.c b/src/c/elementaryFunctions/tan/i16tans.c
new file mode 100644
index 00000000..b7cc7bb7
--- /dev/null
+++ b/src/c/elementaryFunctions/tan/i16tans.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "tan.h"
+
+float i16tans(int16 x) {
+ return (tanf(x));
+}
diff --git a/src/c/elementaryFunctions/tan/i8tana.c b/src/c/elementaryFunctions/tan/i8tana.c
new file mode 100644
index 00000000..4daeb471
--- /dev/null
+++ b/src/c/elementaryFunctions/tan/i8tana.c
@@ -0,0 +1,20 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "tan.h"
+
+void i8tana(int8* x, int size, float* y) {
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ y[i] = i8tans(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/tan/i8tans.c b/src/c/elementaryFunctions/tan/i8tans.c
new file mode 100644
index 00000000..0dc9f9a5
--- /dev/null
+++ b/src/c/elementaryFunctions/tan/i8tans.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "tan.h"
+
+float i8tans(int8 x) {
+ return (tanf(x));
+}
diff --git a/src/c/elementaryFunctions/tan/u16tana.c b/src/c/elementaryFunctions/tan/u16tana.c
new file mode 100644
index 00000000..12df0ee9
--- /dev/null
+++ b/src/c/elementaryFunctions/tan/u16tana.c
@@ -0,0 +1,20 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "tan.h"
+
+void u16tana(uint16* x, int size, float* y) {
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ y[i] = u16tans(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/tan/u16tans.c b/src/c/elementaryFunctions/tan/u16tans.c
new file mode 100644
index 00000000..f184a674
--- /dev/null
+++ b/src/c/elementaryFunctions/tan/u16tans.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "tan.h"
+
+float u16tans(uint16 x) {
+ return (tanf(x));
+}
diff --git a/src/c/elementaryFunctions/tan/u8tana.c b/src/c/elementaryFunctions/tan/u8tana.c
new file mode 100644
index 00000000..d541b20f
--- /dev/null
+++ b/src/c/elementaryFunctions/tan/u8tana.c
@@ -0,0 +1,20 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "tan.h"
+
+void u8tana(uint8* x, int size, float* y) {
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ y[i] = u8tans(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/tan/u8tans.c b/src/c/elementaryFunctions/tan/u8tans.c
new file mode 100644
index 00000000..74b5fb9d
--- /dev/null
+++ b/src/c/elementaryFunctions/tan/u8tans.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "tan.h"
+
+float u8tans(uint8 x) {
+ return (tanf(x));
+}
diff --git a/src/c/elementaryFunctions/tand/dtanda.c b/src/c/elementaryFunctions/tand/dtanda.c
new file mode 100644
index 00000000..e5d56a87
--- /dev/null
+++ b/src/c/elementaryFunctions/tand/dtanda.c
@@ -0,0 +1,19 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+#include "tand.h"
+
+void dtanda(double* x, int size, double* y) {
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ y[i] = dtands(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/tand/dtands.c b/src/c/elementaryFunctions/tand/dtands.c
new file mode 100644
index 00000000..6fda5b7d
--- /dev/null
+++ b/src/c/elementaryFunctions/tand/dtands.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+#include <math.h>
+#include "tand.h"
+#define PI 3.1415927
+
+double dtands(double x) {
+ return tan(x*PI/180);
+}
diff --git a/src/c/elementaryFunctions/tand/standa.c b/src/c/elementaryFunctions/tand/standa.c
new file mode 100644
index 00000000..e37f5a05
--- /dev/null
+++ b/src/c/elementaryFunctions/tand/standa.c
@@ -0,0 +1,19 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+#include "tand.h"
+
+void standa(float* x, int size, double* y) {
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ y[i] = stands(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/tand/stands.c b/src/c/elementaryFunctions/tand/stands.c
new file mode 100644
index 00000000..4d667015
--- /dev/null
+++ b/src/c/elementaryFunctions/tand/stands.c
@@ -0,0 +1,19 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Brijesh Gupta C R
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+#include <math.h>
+#include "tand.h"
+#include "tan.h"
+#define PI 3.1415927
+
+float stands(float x) {
+ return stans(x*PI/180);
+}
diff --git a/src/c/elementaryFunctions/tanh/ctanhs.c b/src/c/elementaryFunctions/tanh/ctanhs.c
index 5111dbd7..24c1fa68 100644
--- a/src/c/elementaryFunctions/tanh/ctanhs.c
+++ b/src/c/elementaryFunctions/tanh/ctanhs.c
@@ -13,7 +13,7 @@
#include "tanh.h"
#include "tan.h"
-floatComplex ctanhs(floatComplex z) {
+floatComplex ctanhs(floatComplex z) {
float real = creals(z);
float imag = cimags(z);
diff --git a/src/c/elementaryFunctions/tanh/i16tanha.c b/src/c/elementaryFunctions/tanh/i16tanha.c
new file mode 100644
index 00000000..3a4e37cd
--- /dev/null
+++ b/src/c/elementaryFunctions/tanh/i16tanha.c
@@ -0,0 +1,20 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "tanh.h"
+
+void i16tanha(int16* x, int size, float* y) {
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ y[i] = i16tanhs(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/tanh/i16tanhs.c b/src/c/elementaryFunctions/tanh/i16tanhs.c
new file mode 100644
index 00000000..7d8b1843
--- /dev/null
+++ b/src/c/elementaryFunctions/tanh/i16tanhs.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "tanh.h"
+
+float i16tanhs(int16 x) {
+ return (tanhf(x));
+}
diff --git a/src/c/elementaryFunctions/tanh/i8tanha.c b/src/c/elementaryFunctions/tanh/i8tanha.c
new file mode 100644
index 00000000..dca31761
--- /dev/null
+++ b/src/c/elementaryFunctions/tanh/i8tanha.c
@@ -0,0 +1,20 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "tanh.h"
+
+void i8tanha(int8* x, int size, float* y) {
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ y[i] = i8tanhs(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/tanh/i8tanhs.c b/src/c/elementaryFunctions/tanh/i8tanhs.c
new file mode 100644
index 00000000..6351e5c8
--- /dev/null
+++ b/src/c/elementaryFunctions/tanh/i8tanhs.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "tanh.h"
+
+float i8tanhs(int8 x) {
+ return (tanhf(x));
+}
diff --git a/src/c/elementaryFunctions/tanh/u16tanha.c b/src/c/elementaryFunctions/tanh/u16tanha.c
new file mode 100644
index 00000000..61db747b
--- /dev/null
+++ b/src/c/elementaryFunctions/tanh/u16tanha.c
@@ -0,0 +1,20 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "tanh.h"
+
+void u16tanha(uint16* x, int size, float* y) {
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ y[i] = u16tanhs(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/tanh/u16tanhs.c b/src/c/elementaryFunctions/tanh/u16tanhs.c
new file mode 100644
index 00000000..17909e7c
--- /dev/null
+++ b/src/c/elementaryFunctions/tanh/u16tanhs.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "tanh.h"
+
+float u16tanhs(uint16 x) {
+ return (tanhf(x));
+}
diff --git a/src/c/elementaryFunctions/tanh/u8tanha.c b/src/c/elementaryFunctions/tanh/u8tanha.c
new file mode 100644
index 00000000..9ca20eeb
--- /dev/null
+++ b/src/c/elementaryFunctions/tanh/u8tanha.c
@@ -0,0 +1,20 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "tanh.h"
+
+void u8tanha(uint8* x, int size, float* y) {
+ int i = 0;
+ for (i = 0; i < size; ++i) {
+ y[i] = u8tanhs(x[i]);
+ }
+}
diff --git a/src/c/elementaryFunctions/tanh/u8tanhs.c b/src/c/elementaryFunctions/tanh/u8tanhs.c
new file mode 100644
index 00000000..c6179f9d
--- /dev/null
+++ b/src/c/elementaryFunctions/tanh/u8tanhs.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include <math.h>
+#include "tanh.h"
+
+float u8tanhs(uint8 x) {
+ return (tanhf(x));
+}
diff --git a/src/c/elementaryFunctions/type/gtype b/src/c/elementaryFunctions/type/gtype
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/src/c/elementaryFunctions/type/gtype
diff --git a/src/c/elementaryFunctions/uint16/duint16a.c b/src/c/elementaryFunctions/uint16/duint16a.c
new file mode 100644
index 00000000..af9e2f57
--- /dev/null
+++ b/src/c/elementaryFunctions/uint16/duint16a.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "uint16.h"
+
+void duint16a(double* x, int size, uint16* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = duint16s(x[i]);
+}
diff --git a/src/c/elementaryFunctions/uint16/duint16s.c b/src/c/elementaryFunctions/uint16/duint16s.c
new file mode 100644
index 00000000..79bd75a3
--- /dev/null
+++ b/src/c/elementaryFunctions/uint16/duint16s.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "uint16.h"
+
+uint16 duint16s(double x) {
+ return (uint16) x;
+}
diff --git a/src/c/elementaryFunctions/uint16/i16uint16a.c b/src/c/elementaryFunctions/uint16/i16uint16a.c
new file mode 100644
index 00000000..64a598d2
--- /dev/null
+++ b/src/c/elementaryFunctions/uint16/i16uint16a.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "uint16.h"
+
+void i16uint16a(int16* x, int size, uint16* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = i16uint16s(x[i]);
+}
diff --git a/src/c/elementaryFunctions/uint16/i16uint16s.c b/src/c/elementaryFunctions/uint16/i16uint16s.c
new file mode 100644
index 00000000..01d46ac1
--- /dev/null
+++ b/src/c/elementaryFunctions/uint16/i16uint16s.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "uint16.h"
+
+uint16 i16uint16s(int16 x) {
+ return (uint16) x;
+}
diff --git a/src/c/elementaryFunctions/uint16/i8uint16a.c b/src/c/elementaryFunctions/uint16/i8uint16a.c
new file mode 100644
index 00000000..3cab61fa
--- /dev/null
+++ b/src/c/elementaryFunctions/uint16/i8uint16a.c
@@ -0,0 +1,17 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+#include "uint16.h"
+
+void i8uint16a(int8* x, int size, uint16* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = i8uint16s(x[i]);
+}
diff --git a/src/c/elementaryFunctions/uint16/i8uint16s.c b/src/c/elementaryFunctions/uint16/i8uint16s.c
new file mode 100644
index 00000000..5527838e
--- /dev/null
+++ b/src/c/elementaryFunctions/uint16/i8uint16s.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "uint16.h"
+
+uint16 i8uint16s(int8 x) {
+ return (uint16) x;
+}
diff --git a/src/c/elementaryFunctions/uint16/suint16a.c b/src/c/elementaryFunctions/uint16/suint16a.c
new file mode 100644
index 00000000..e048922f
--- /dev/null
+++ b/src/c/elementaryFunctions/uint16/suint16a.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "uint16.h"
+
+void suint16a(float* x, int size, uint16* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = suint16s(x[i]);
+}
diff --git a/src/c/elementaryFunctions/uint16/suint16s.c b/src/c/elementaryFunctions/uint16/suint16s.c
new file mode 100644
index 00000000..8d277d19
--- /dev/null
+++ b/src/c/elementaryFunctions/uint16/suint16s.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "uint16.h"
+
+uint16 suint16s(float x) {
+ return (uint16) x;
+}
diff --git a/src/c/elementaryFunctions/uint16/u8uint16a.c b/src/c/elementaryFunctions/uint16/u8uint16a.c
new file mode 100644
index 00000000..b5ca533f
--- /dev/null
+++ b/src/c/elementaryFunctions/uint16/u8uint16a.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "uint16.h"
+
+void u8uint16a(uint8* x, int size, uint16* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = u8uint16s(x[i]);
+}
diff --git a/src/c/elementaryFunctions/uint16/u8uint16s.c b/src/c/elementaryFunctions/uint16/u8uint16s.c
new file mode 100644
index 00000000..9da480f8
--- /dev/null
+++ b/src/c/elementaryFunctions/uint16/u8uint16s.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "uint16.h"
+
+uint16 u8uint16s(uint8 x) {
+ return (uint16) x;
+}
diff --git a/src/c/elementaryFunctions/uint32/duint32a.c b/src/c/elementaryFunctions/uint32/duint32a.c
new file mode 100644
index 00000000..7cd0ea3e
--- /dev/null
+++ b/src/c/elementaryFunctions/uint32/duint32a.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "uint32.h"
+
+void duint32a(double* x, int size, uint32* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = duint32s(x[i]);
+}
diff --git a/src/c/elementaryFunctions/uint32/duint32s.c b/src/c/elementaryFunctions/uint32/duint32s.c
new file mode 100644
index 00000000..f507305a
--- /dev/null
+++ b/src/c/elementaryFunctions/uint32/duint32s.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "uint32.h"
+
+uint32 duint32s(double x) {
+ return (uint32) x;
+}
diff --git a/src/c/elementaryFunctions/uint32/i16uint32a.c b/src/c/elementaryFunctions/uint32/i16uint32a.c
new file mode 100644
index 00000000..84d0fa02
--- /dev/null
+++ b/src/c/elementaryFunctions/uint32/i16uint32a.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "uint32.h"
+
+void i16uint32a(int16* x, int size, uint32* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = i16uint32s(x[i]);
+}
diff --git a/src/c/elementaryFunctions/uint32/i16uint32s.c b/src/c/elementaryFunctions/uint32/i16uint32s.c
new file mode 100644
index 00000000..7d9ccef7
--- /dev/null
+++ b/src/c/elementaryFunctions/uint32/i16uint32s.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "uint32.h"
+
+uint32 i16uint32s(int16 x) {
+ return (uint32) x;
+}
diff --git a/src/c/elementaryFunctions/uint32/i32uint32a.c b/src/c/elementaryFunctions/uint32/i32uint32a.c
new file mode 100644
index 00000000..415711ed
--- /dev/null
+++ b/src/c/elementaryFunctions/uint32/i32uint32a.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "uint32.h"
+
+void i32uint32a(int32* x, int size, uint32* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = i32uint32s(x[i]);
+}
diff --git a/src/c/elementaryFunctions/uint32/i32uint32s.c b/src/c/elementaryFunctions/uint32/i32uint32s.c
new file mode 100644
index 00000000..63442f24
--- /dev/null
+++ b/src/c/elementaryFunctions/uint32/i32uint32s.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "uint32.h"
+
+uint32 i32uint32s(int32 x) {
+ return (uint32) x;
+}
diff --git a/src/c/elementaryFunctions/uint32/i8uint32a.c b/src/c/elementaryFunctions/uint32/i8uint32a.c
new file mode 100644
index 00000000..0dca1b5b
--- /dev/null
+++ b/src/c/elementaryFunctions/uint32/i8uint32a.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "uint32.h"
+
+void i8uint32a(int8* x, int size, uint32* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = i8uint32s(x[i]);
+}
diff --git a/src/c/elementaryFunctions/uint32/i8uint32s.c b/src/c/elementaryFunctions/uint32/i8uint32s.c
new file mode 100644
index 00000000..46c0ecb5
--- /dev/null
+++ b/src/c/elementaryFunctions/uint32/i8uint32s.c
@@ -0,0 +1,17 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "uint32.h"
+
+uint32 i8uint32s(int8 x) {
+ return (uint32) x;
+}
diff --git a/src/c/elementaryFunctions/uint32/suint32a.c b/src/c/elementaryFunctions/uint32/suint32a.c
new file mode 100644
index 00000000..2478c021
--- /dev/null
+++ b/src/c/elementaryFunctions/uint32/suint32a.c
@@ -0,0 +1,19 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "uint32.h"
+
+void suint32a(float* x, int size, uint32* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = suint32s(x[i]);
+}
diff --git a/src/c/elementaryFunctions/uint32/suint32s.c b/src/c/elementaryFunctions/uint32/suint32s.c
new file mode 100644
index 00000000..3578b428
--- /dev/null
+++ b/src/c/elementaryFunctions/uint32/suint32s.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "uint32.h"
+
+uint32 suint32s(float x) {
+ return (uint32) x;
+}
diff --git a/src/c/elementaryFunctions/uint32/u16uint32a.c b/src/c/elementaryFunctions/uint32/u16uint32a.c
new file mode 100644
index 00000000..177bae24
--- /dev/null
+++ b/src/c/elementaryFunctions/uint32/u16uint32a.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "uint32.h"
+
+void u16uint32a(uint16* x, int size, uint32* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = u16uint32s(x[i]);
+}
diff --git a/src/c/elementaryFunctions/uint32/u16uint32s.c b/src/c/elementaryFunctions/uint32/u16uint32s.c
new file mode 100644
index 00000000..df258b26
--- /dev/null
+++ b/src/c/elementaryFunctions/uint32/u16uint32s.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "uint32.h"
+
+uint32 u16uint32s(uint16 x) {
+ return (uint32) x;
+}
diff --git a/src/c/elementaryFunctions/uint32/u8uint32a.c b/src/c/elementaryFunctions/uint32/u8uint32a.c
new file mode 100644
index 00000000..a89541b1
--- /dev/null
+++ b/src/c/elementaryFunctions/uint32/u8uint32a.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "uint32.h"
+
+void u8uint32a(uint8* x, int size, uint32* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = u8uint32s(x[i]);
+}
diff --git a/src/c/elementaryFunctions/uint32/u8uint32s.c b/src/c/elementaryFunctions/uint32/u8uint32s.c
new file mode 100644
index 00000000..ac48fe27
--- /dev/null
+++ b/src/c/elementaryFunctions/uint32/u8uint32s.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2017 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani, Jorawar Singh
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "uint32.h"
+
+uint32 u8uint32s(uint8 x) {
+ return (uint32) x;
+}
diff --git a/src/c/elementaryFunctions/uint8/duint8a.c b/src/c/elementaryFunctions/uint8/duint8a.c
new file mode 100644
index 00000000..02d63058
--- /dev/null
+++ b/src/c/elementaryFunctions/uint8/duint8a.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "uint8.h"
+
+void duint8a(double* x, int size, uint8* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = duint8s(x[i]);
+}
diff --git a/src/c/elementaryFunctions/uint8/duint8s.c b/src/c/elementaryFunctions/uint8/duint8s.c
new file mode 100644
index 00000000..d7a7524f
--- /dev/null
+++ b/src/c/elementaryFunctions/uint8/duint8s.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "uint8.h"
+
+uint8 duint8s(double x) {
+ return (uint8) x;
+}
diff --git a/src/c/elementaryFunctions/uint8/i16uint8a.c b/src/c/elementaryFunctions/uint8/i16uint8a.c
new file mode 100644
index 00000000..49e31d12
--- /dev/null
+++ b/src/c/elementaryFunctions/uint8/i16uint8a.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "uint8.h"
+
+void i16uint8a(int16* x, int size, uint8* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = i16uint8s(x[i]);
+}
diff --git a/src/c/elementaryFunctions/uint8/i16uint8s.c b/src/c/elementaryFunctions/uint8/i16uint8s.c
new file mode 100644
index 00000000..695d7882
--- /dev/null
+++ b/src/c/elementaryFunctions/uint8/i16uint8s.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "uint8.h"
+
+uint8 i16uint8s(int16 x) {
+ return (uint8) x;
+}
diff --git a/src/c/elementaryFunctions/uint8/i8uint8a.c b/src/c/elementaryFunctions/uint8/i8uint8a.c
new file mode 100644
index 00000000..89574e83
--- /dev/null
+++ b/src/c/elementaryFunctions/uint8/i8uint8a.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "uint8.h"
+
+void i8uint8a(int8* x, int size, uint8* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = i8uint8s(x[i]);
+}
diff --git a/src/c/elementaryFunctions/uint8/i8uint8s.c b/src/c/elementaryFunctions/uint8/i8uint8s.c
new file mode 100644
index 00000000..4c83c4e4
--- /dev/null
+++ b/src/c/elementaryFunctions/uint8/i8uint8s.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "uint8.h"
+
+uint8 i8uint8s(int8 x) {
+ return (uint8) x;
+}
diff --git a/src/c/elementaryFunctions/uint8/suint8a.c b/src/c/elementaryFunctions/uint8/suint8a.c
new file mode 100644
index 00000000..2e1a5ac8
--- /dev/null
+++ b/src/c/elementaryFunctions/uint8/suint8a.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "uint8.h"
+
+void suint8a(float* x, int size, uint8* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = suint8s(x[i]);
+}
diff --git a/src/c/elementaryFunctions/uint8/suint8s.c b/src/c/elementaryFunctions/uint8/suint8s.c
new file mode 100644
index 00000000..ce38c1d0
--- /dev/null
+++ b/src/c/elementaryFunctions/uint8/suint8s.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "uint8.h"
+
+uint8 suint8s(float x) {
+ return (uint8) x;
+}
diff --git a/src/c/elementaryFunctions/uint8/u16uint8a.c b/src/c/elementaryFunctions/uint8/u16uint8a.c
new file mode 100644
index 00000000..0c4246ec
--- /dev/null
+++ b/src/c/elementaryFunctions/uint8/u16uint8a.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+#include "uint8.h"
+
+void u16uint8a(uint16* x, int size, uint8* out) {
+ int i = 0;
+ for (i=0;i<size;i++) out[i] = u16uint8s(x[i]);
+}
diff --git a/src/c/elementaryFunctions/uint8/u16uint8s.c b/src/c/elementaryFunctions/uint8/u16uint8s.c
new file mode 100644
index 00000000..32d5b718
--- /dev/null
+++ b/src/c/elementaryFunctions/uint8/u16uint8s.c
@@ -0,0 +1,18 @@
+/* Copyright (C) 2016 - IIT Bombay - FOSSEE
+
+ This file must be used under the terms of the CeCILL.
+ This source file is licensed as described in the file COPYING, which
+ you should have received as part of this distribution. The terms
+ are also available at
+ http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
+ Author: Siddhesh Wani
+ Organization: FOSSEE, IIT Bombay
+ Email: toolbox@scilab.in
+*/
+
+
+#include "uint8.h"
+
+uint8 u16uint8s(uint16 x) {
+ return (uint8) x;
+}