6502/vbcc/targets/ppc-morphos/include/inline/mathtrans_protos.h
2022-05-12 21:36:39 +09:30

167 lines
3.6 KiB
C

#ifndef _VBCCINLINE_MATHTRANS_H
#define _VBCCINLINE_MATHTRANS_H
#ifndef EXEC_TYPES_H
#include <exec/types.h>
#endif
#ifndef EMUL_EMULREGS_H
#include <emul/emulregs.h>
#endif
FLOAT __SPAtan(void *, FLOAT parm) =
"\tlwz\t11,100(2)\n"
"\tstw\t3,56(2)\n"
"\tmtctr\t11\n"
"\tstw\t4,0(2)\n"
"\tli\t3,-30\n"
"\tbctrl";
#define SPAtan(parm) __SPAtan(MathTransBase, (parm))
FLOAT __SPSin(void *, FLOAT parm) =
"\tlwz\t11,100(2)\n"
"\tstw\t3,56(2)\n"
"\tmtctr\t11\n"
"\tstw\t4,0(2)\n"
"\tli\t3,-36\n"
"\tbctrl";
#define SPSin(parm) __SPSin(MathTransBase, (parm))
FLOAT __SPCos(void *, FLOAT parm) =
"\tlwz\t11,100(2)\n"
"\tstw\t3,56(2)\n"
"\tmtctr\t11\n"
"\tstw\t4,0(2)\n"
"\tli\t3,-42\n"
"\tbctrl";
#define SPCos(parm) __SPCos(MathTransBase, (parm))
FLOAT __SPTan(void *, FLOAT parm) =
"\tlwz\t11,100(2)\n"
"\tstw\t3,56(2)\n"
"\tmtctr\t11\n"
"\tstw\t4,0(2)\n"
"\tli\t3,-48\n"
"\tbctrl";
#define SPTan(parm) __SPTan(MathTransBase, (parm))
FLOAT __SPSincos(void *, FLOAT * cosResult, FLOAT parm) =
"\tlwz\t11,100(2)\n"
"\tstw\t3,56(2)\n"
"\tmtctr\t11\n"
"\tstw\t4,4(2)\n"
"\tstw\t5,0(2)\n"
"\tli\t3,-54\n"
"\tbctrl";
#define SPSincos(cosResult, parm) __SPSincos(MathTransBase, (cosResult), (parm))
FLOAT __SPSinh(void *, FLOAT parm) =
"\tlwz\t11,100(2)\n"
"\tstw\t3,56(2)\n"
"\tmtctr\t11\n"
"\tstw\t4,0(2)\n"
"\tli\t3,-60\n"
"\tbctrl";
#define SPSinh(parm) __SPSinh(MathTransBase, (parm))
FLOAT __SPCosh(void *, FLOAT parm) =
"\tlwz\t11,100(2)\n"
"\tstw\t3,56(2)\n"
"\tmtctr\t11\n"
"\tstw\t4,0(2)\n"
"\tli\t3,-66\n"
"\tbctrl";
#define SPCosh(parm) __SPCosh(MathTransBase, (parm))
FLOAT __SPTanh(void *, FLOAT parm) =
"\tlwz\t11,100(2)\n"
"\tstw\t3,56(2)\n"
"\tmtctr\t11\n"
"\tstw\t4,0(2)\n"
"\tli\t3,-72\n"
"\tbctrl";
#define SPTanh(parm) __SPTanh(MathTransBase, (parm))
FLOAT __SPExp(void *, FLOAT parm) =
"\tlwz\t11,100(2)\n"
"\tstw\t3,56(2)\n"
"\tmtctr\t11\n"
"\tstw\t4,0(2)\n"
"\tli\t3,-78\n"
"\tbctrl";
#define SPExp(parm) __SPExp(MathTransBase, (parm))
FLOAT __SPLog(void *, FLOAT parm) =
"\tlwz\t11,100(2)\n"
"\tstw\t3,56(2)\n"
"\tmtctr\t11\n"
"\tstw\t4,0(2)\n"
"\tli\t3,-84\n"
"\tbctrl";
#define SPLog(parm) __SPLog(MathTransBase, (parm))
FLOAT __SPPow(void *, FLOAT power, FLOAT arg) =
"\tlwz\t11,100(2)\n"
"\tstw\t3,56(2)\n"
"\tmtctr\t11\n"
"\tstw\t4,4(2)\n"
"\tstw\t5,0(2)\n"
"\tli\t3,-90\n"
"\tbctrl";
#define SPPow(power, arg) __SPPow(MathTransBase, (power), (arg))
FLOAT __SPSqrt(void *, FLOAT parm) =
"\tlwz\t11,100(2)\n"
"\tstw\t3,56(2)\n"
"\tmtctr\t11\n"
"\tstw\t4,0(2)\n"
"\tli\t3,-96\n"
"\tbctrl";
#define SPSqrt(parm) __SPSqrt(MathTransBase, (parm))
FLOAT __SPTieee(void *, FLOAT parm) =
"\tlwz\t11,100(2)\n"
"\tstw\t3,56(2)\n"
"\tmtctr\t11\n"
"\tstw\t4,0(2)\n"
"\tli\t3,-102\n"
"\tbctrl";
#define SPTieee(parm) __SPTieee(MathTransBase, (parm))
FLOAT __SPFieee(void *, FLOAT parm) =
"\tlwz\t11,100(2)\n"
"\tstw\t3,56(2)\n"
"\tmtctr\t11\n"
"\tstw\t4,0(2)\n"
"\tli\t3,-108\n"
"\tbctrl";
#define SPFieee(parm) __SPFieee(MathTransBase, (parm))
FLOAT __SPAsin(void *, FLOAT parm) =
"\tlwz\t11,100(2)\n"
"\tstw\t3,56(2)\n"
"\tmtctr\t11\n"
"\tstw\t4,0(2)\n"
"\tli\t3,-114\n"
"\tbctrl";
#define SPAsin(parm) __SPAsin(MathTransBase, (parm))
FLOAT __SPAcos(void *, FLOAT parm) =
"\tlwz\t11,100(2)\n"
"\tstw\t3,56(2)\n"
"\tmtctr\t11\n"
"\tstw\t4,0(2)\n"
"\tli\t3,-120\n"
"\tbctrl";
#define SPAcos(parm) __SPAcos(MathTransBase, (parm))
FLOAT __SPLog10(void *, FLOAT parm) =
"\tlwz\t11,100(2)\n"
"\tstw\t3,56(2)\n"
"\tmtctr\t11\n"
"\tstw\t4,0(2)\n"
"\tli\t3,-126\n"
"\tbctrl";
#define SPLog10(parm) __SPLog10(MathTransBase, (parm))
#endif /* _VBCCINLINE_MATHTRANS_H */