mirror of https://github.com/pret/pokeplatinum
Integrate metroskrew as the default compiler (#482)
* Remove extraneous `include/` directory level from brightness_controller * Wrap WSL_ACCESSING_WINDOWS detection in realpath * Integrate metroskrew as the default compiler * Remove tools/cw contents
This commit is contained in:
parent
0cba5ddceb
commit
1a68c758eb
|
|
@ -12,7 +12,6 @@ on:
|
|||
env:
|
||||
LM_LICENSE_FILE: "${{ github.workspace }}/tools/cw/license.dat"
|
||||
BUILD: /var/tmp/pokeplatinum
|
||||
WINEARCH: win32
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
|
@ -22,17 +21,15 @@ jobs:
|
|||
steps:
|
||||
- name: Install Software
|
||||
run: |
|
||||
sudo dpkg --add-architecture i386
|
||||
sudo mkdir -pm755 /etc/apt/keyrings
|
||||
sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key
|
||||
sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/$(lsb_release -cs)/winehq-$(lsb_release -cs).sources
|
||||
sudo apt-get update -y
|
||||
sudo apt-get install -y bison flex g++ gcc-arm-none-eabi git make ninja-build pkg-config python3
|
||||
sudo apt-get install -y --install-recommends winehq-stable
|
||||
sudo apt-get install -y bison flex g++ gcc-arm-none-eabi git make ninja-build pkg-config python3 wget xz-utils
|
||||
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Install Metroskrew
|
||||
run: sudo make skrew
|
||||
|
||||
- name: Configure Repo
|
||||
run: make configure
|
||||
|
||||
|
|
|
|||
|
|
@ -1,10 +1,11 @@
|
|||
# Meson files
|
||||
# Build directory
|
||||
/build/
|
||||
/tools/cw/build/
|
||||
/tools/cw/mwrap
|
||||
/tools/cw/mwrap.exe
|
||||
|
||||
# Wrapped subprojects folders
|
||||
# Metroskrew artifacts
|
||||
/metroskrew-*.tar.xz
|
||||
/metroskrew-*.7z
|
||||
|
||||
# Subproject folders
|
||||
/subprojects/libvct-*/
|
||||
/subprojects/NitroDWC-*/
|
||||
/subprojects/NitroSDK-*/
|
||||
|
|
@ -22,6 +23,10 @@
|
|||
/subprojects/rapidjson-*/
|
||||
/subprojects/meson-*/
|
||||
/subprojects/nitrorom/
|
||||
/subprojects/metroskrew/
|
||||
|
||||
# Legacy mwrap compiler
|
||||
/tools/cw/mwrap
|
||||
|
||||
# CLion folders
|
||||
.idea/
|
||||
|
|
|
|||
14
Dockerfile
14
Dockerfile
|
|
@ -1,14 +0,0 @@
|
|||
FROM ubuntu:noble
|
||||
|
||||
RUN apt-get update -y
|
||||
RUN apt-get install -y bison flex g++ gcc-arm-none-eabi git make ninja-build pkg-config python3 wget ninja-build
|
||||
|
||||
RUN dpkg --add-architecture i386
|
||||
RUN mkdir -pm755 /etc/apt/keyrings
|
||||
RUN wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key
|
||||
RUN wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/noble/winehq-noble.sources
|
||||
RUN apt-get update -y
|
||||
RUN apt-get install -y --install-recommends winehq-stable
|
||||
RUN hash -r
|
||||
|
||||
CMD [ "/bin/sh" ]
|
||||
127
INSTALL.md
127
INSTALL.md
|
|
@ -118,7 +118,7 @@ install to a more recent version of `Ubuntu`:
|
|||
registry:
|
||||
|
||||
```bash
|
||||
sudo apt install bison flex g++ gcc-arm-none-eabi git make ninja-build pkg-config python3
|
||||
sudo apt install bison flex g++ gcc-arm-none-eabi git make ninja-build pkg-config python3 p7zip
|
||||
```
|
||||
|
||||
2. [Download the repository](#2-downloading-the-repository).
|
||||
|
|
@ -135,7 +135,7 @@ and install it on your system.
|
|||
To update your package registry, enter the following command:
|
||||
|
||||
```bash
|
||||
sudo pacman -Syu
|
||||
pacman -Syu
|
||||
```
|
||||
|
||||
Press 'Y' when prompted to confirm the update. This process may take a few
|
||||
|
|
@ -147,7 +147,7 @@ the following commands to install necessary build dependencies:
|
|||
```bash
|
||||
echo 'export PATH=${PATH}:/mingw64/bin' >> ~/.bashrc
|
||||
source ~/.bashrc
|
||||
sudo pacman -S bison flex gcc git make ninja python mingw-w64-x86_64-arm-none-eabi-gcc
|
||||
pacman -S bison flex gcc git make ninja python mingw-w64-x86_64-arm-none-eabi-gcc p7zip
|
||||
```
|
||||
|
||||
Press 'Y' when prompted to confirm the installation.
|
||||
|
|
@ -163,24 +163,29 @@ to install these, run:
|
|||
xcode-select --install
|
||||
```
|
||||
|
||||
2. Additional packages can be installed using Homebrew; if you do not already have
|
||||
Homebrew installed, [do so](https://brew.sh/). Once Homebrew is installed, run
|
||||
the following commands:
|
||||
2. Install [Homebrew](https://brew.sh/).
|
||||
|
||||
3. Run the following commands to install additional dependencies:
|
||||
|
||||
```zsh
|
||||
brew update
|
||||
brew install gcc@14 ninja libpng pkg-config arm-none-eabi-gcc
|
||||
brew install gcc@14 ninja libpng pkg-config arm-none-eabi-gcc xz
|
||||
brew install --cask wine-stable
|
||||
```
|
||||
|
||||
3. If your MacOS installation is Monterey (12) or earlier, then you may also need
|
||||
4. You may need to authorize the Wine installation to satisfy MacOS security
|
||||
requirements. To do this, open the Applications folder in Finder and locate the
|
||||
Wine Stable application. Control-Click on this icon to open the context menu,
|
||||
then Control-Click on Open and grant the requested permissions.
|
||||
|
||||
5. If your MacOS installation is Monterey (12) or earlier, then you may also need
|
||||
GNU `coreutils` installed to run the build scripts:
|
||||
|
||||
```zsh
|
||||
brew install coreutils
|
||||
```
|
||||
|
||||
4. [Download the repository](#2-downloading-the-repository).
|
||||
6. [Download the repository](#2-downloading-the-repository).
|
||||
|
||||
### Linux
|
||||
|
||||
|
|
@ -189,79 +194,37 @@ GNU `coreutils` installed to run the build scripts:
|
|||
> package registry. A handful of common distributions are listed below for
|
||||
> convenience.
|
||||
|
||||
> [!IMPORTANT]
|
||||
> This project requires `meson` version `1.5.0` or higher. If the version of
|
||||
> `meson` provided by your package manager is out of date, then follow
|
||||
> [these instructions](https://mesonbuild.com/Getting-meson.html) to get the
|
||||
> most recent version.
|
||||
|
||||
Once you have installed all the above dependencies, proceed to [downloading
|
||||
Once you have installed all of the listed dependencies, proceed to [downloading
|
||||
the repository](#2-downloading-the-repository).
|
||||
|
||||
#### Ubuntu (and other Debian derivatives)
|
||||
#### Debian (and derivatives, e.g., Ubuntu, Mint)
|
||||
|
||||
1. Install `wine`:
|
||||
1. Enable 32-bit installations using `dpkg`:
|
||||
|
||||
```bash
|
||||
sudo dpkg --add-architecture i386
|
||||
sudo mkdir -pm755 /etc/apt/keyrings
|
||||
sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key
|
||||
sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/$(lsb_release -cs)/winehq-$(lsb_release -cs).sources
|
||||
sudo apt update
|
||||
sudo apt install --install-recommends wine-stable
|
||||
```
|
||||
|
||||
2. Install the following packages via `apt`:
|
||||
|
||||
```bash
|
||||
sudo apt install bison flex g++ gcc-arm-none-eabi git make ninja-build pkg-config python3
|
||||
```
|
||||
```bash
|
||||
sudo apt install bison flex g++ gcc-arm-none-eabi git make ninja-build pkg-config wget python3 xz-utils libc6:i386
|
||||
```
|
||||
|
||||
#### Arch Linux (and derivatives)
|
||||
#### Arch Linux (and derivatives, e.g., Manjaro, Endeavour)
|
||||
|
||||
Enable the [multilib repository](https://wiki.archlinux.org/title/Multilib).
|
||||
1. Enable the [multilib repository](https://wiki.archlinux.org/title/Multilib).
|
||||
|
||||
Install dependencies via `pacman`:
|
||||
2. Install dependencies via `pacman`:
|
||||
|
||||
```bash
|
||||
sudo pacman -S arm-none-eabi-gcc bison flex gcc git make ninja python wget xz lib32-glibc
|
||||
```
|
||||
|
||||
#### Fedora (and derivatives, e.g., AlmaLinux, Red Hat Enterprise Linux)
|
||||
|
||||
```bash
|
||||
sudo pacman -S arm-none-eabi-gcc bison flex gcc git make ninja python wine
|
||||
```
|
||||
|
||||
#### Fedora (and derivatives)
|
||||
|
||||
```bash
|
||||
sudo dnf install arm-none-eabi-gcc-cs bison flex gcc-c++ git make ninja-build python3 wine-core.i686 wine-core.x86_64
|
||||
```
|
||||
|
||||
### Docker
|
||||
|
||||
> [!CAUTION]
|
||||
> The Docker build method is currently unmaintained and unsupported. Proceed at
|
||||
> your own risk, and know that you may not receive much support from repository
|
||||
> maintainers.
|
||||
|
||||
A `Dockerfile` is provided with the repository should you choose to build the
|
||||
project as a container. If you do not have `docker` installed on your machine
|
||||
and wish to make use of this feature, follow the instructions [here](https://docs.docker.com/desktop/).
|
||||
|
||||
Once `docker` is installed, to the build environment, run:
|
||||
|
||||
```bash
|
||||
make clean # only if you have an existing development environment
|
||||
docker build . -t pret/pokeplatinum
|
||||
```
|
||||
|
||||
Then, run the following to build the ROM:
|
||||
|
||||
```bash
|
||||
docker run -u $USER -w /rom -v .:/rom pret/pokeplatinum make
|
||||
```
|
||||
|
||||
If you wish to stop using the `docker` build feature and switch back to a native
|
||||
build environment, then run the following:
|
||||
|
||||
```bash
|
||||
docker run -u $USER -w /rom -v .:/rom pret/pokeplatinum make clean
|
||||
sudo dnf install arm-none-eabi-gcc-cs bison flex gcc-c++ git make ninja-build python3 wget2 xz glibc32
|
||||
```
|
||||
|
||||
## 2. Downloading the Repository
|
||||
|
|
@ -320,33 +283,3 @@ make update
|
|||
```
|
||||
|
||||
And then try rebuilding.
|
||||
|
||||
### Meson Replies With `ERROR: Unknown compiler(s)`
|
||||
|
||||
Example error message:
|
||||
|
||||
```
|
||||
meson.build:1:0: ERROR: Unknown compiler(s): [['/mnt/c/pokeplatinum/tools/cw/mwrap', 'mwccarm']]
|
||||
```
|
||||
|
||||
Meson provides some basic logging for its configuration process in
|
||||
`build/meson-logs/meson-log.txt`. In that file, you should see some entries that
|
||||
begin with `Detecting compiler via: ...`, which will give some insight into the
|
||||
root of the error. For example:
|
||||
|
||||
```
|
||||
Detecting compiler via: `/mnt/c/pokeplatinum/tools/cw/mwrap mwccarm --version` -> 1
|
||||
stderr:
|
||||
wine: '/home/<USER>/.wine' is a 64-bit installation, it cannot be used with a 32-bit wineserver.
|
||||
-----------
|
||||
|
||||
meson.build:1:0: ERROR: Unknown compiler(s): [['/mnt/c/pokeplatinum/tools/cw/mwrap', 'mwccarm']]
|
||||
```
|
||||
|
||||
In this instance, the user has installed 64-bit `wine`. Ensure that you have
|
||||
installed 32-bit `wine`, then rebuild _after_ removing the prefix directory
|
||||
using the following command:
|
||||
|
||||
```
|
||||
rm -rf ~/.wine
|
||||
```
|
||||
|
|
|
|||
141
Makefile
141
Makefile
|
|
@ -1,63 +1,74 @@
|
|||
.PHONY: all release debug check rom data target format clean distclean purge update setup_release setup_debug configure meson
|
||||
.PHONY: all release debug check rom data target format clean distclean purge update setup_release setup_debug configure skrew meson
|
||||
|
||||
SUBPROJ_DIR := subprojects
|
||||
|
||||
MESON_VER := 1.7.0
|
||||
MESON_DIR := subprojects/meson-$(MESON_VER)
|
||||
MESON_DIR := $(SUBPROJ_DIR)/meson-$(MESON_VER)
|
||||
MESON_SUB := $(MESON_DIR)/meson.py
|
||||
|
||||
MESON ?= $(MESON_SUB)
|
||||
NINJA ?= ninja
|
||||
WINELOADER ?= wine
|
||||
GIT ?= git
|
||||
|
||||
BUILD ?= build
|
||||
ROOT_INI := $(BUILD)/root.ini
|
||||
DOT_MWCONFIG := $(BUILD)/.mwconfig
|
||||
|
||||
TOOLS := tools
|
||||
WRAP := $(TOOLS)/cw
|
||||
WRAP_BUILD := $(WRAP)/build
|
||||
MWRAP := $(WRAP)/mwrap
|
||||
|
||||
UNAME_R := $(shell uname -r)
|
||||
UNAME_S := $(shell uname -s)
|
||||
CWD := $(shell pwd)
|
||||
|
||||
# Check for Windows-drive access
|
||||
ifneq (,$(findstring Microsoft,$(UNAME_R)))
|
||||
ifneq (,$(filter /mnt/%,$(CWD)))
|
||||
WSL_ACCESSING_WINDOWS := 0
|
||||
ifneq (,$(filter /mnt/%,$(realpath $(CWD))))
|
||||
WSL_ACCESSING_WINDOWS := 0
|
||||
else
|
||||
WSL_ACCESSING_WINDOWS := 1
|
||||
endif
|
||||
else
|
||||
WSL_ACCESSING_WINDOWS := 1
|
||||
endif
|
||||
else
|
||||
WSL_ACCESSING_WINDOWS := 1
|
||||
WSL_ACCESSING_WINDOWS := 1
|
||||
endif
|
||||
|
||||
WRAP_CONFIG := 0
|
||||
# Set up the compiler toolchain dependency
|
||||
SKREW_GET := tools/devtools/get_metroskrew.sh
|
||||
SKREW_VER := 0.1.2
|
||||
SKREW_DIR := $(SUBPROJ_DIR)/metroskrew
|
||||
|
||||
ifneq (,$(findstring Linux,$(UNAME_S)))
|
||||
ifeq (0,$(WSL_ACCESSING_WINDOWS))
|
||||
NATIVE := native.ini
|
||||
CROSS := cross_unix.ini
|
||||
ifeq (0,$(WSL_ACCESSING_WINDOWS))
|
||||
NATIVE := native.ini
|
||||
CROSS := cross.ini
|
||||
SKREW_SYS := windows
|
||||
SKREW_EXE := $(SKREW_DIR)/bin/skrewrap.exe
|
||||
else
|
||||
NATIVE := native.ini
|
||||
CROSS := cross_unix.ini
|
||||
SKREW_SYS := linux
|
||||
SKREW_EXE := $(SKREW_DIR)/bin/skrewrap
|
||||
endif
|
||||
else
|
||||
NATIVE := native_unix.ini
|
||||
CROSS := cross_unix.ini
|
||||
endif
|
||||
else
|
||||
ifneq (,$(findstring Darwin,$(UNAME_S)))
|
||||
NATIVE := native_macos.ini
|
||||
CROSS := cross_unix.ini
|
||||
else
|
||||
ifneq (,$(findstring BSD, $(UNAME_S)))
|
||||
NATIVE := native_unix.ini
|
||||
CROSS := cross_unix.ini
|
||||
else
|
||||
NATIVE := native.ini
|
||||
CROSS := cross.ini
|
||||
endif
|
||||
endif
|
||||
ifneq (,$(findstring Darwin,$(UNAME_S)))
|
||||
NATIVE := native_macos.ini
|
||||
CROSS := cross_unix.ini
|
||||
SKREW_SYS := wine
|
||||
SKREW_EXE := $(SKREW_DIR)/bin/skrewrap
|
||||
else
|
||||
ifneq (,$(findstring BSD, $(UNAME_S)))
|
||||
NATIVE := native.ini
|
||||
CROSS := cross_unix.ini
|
||||
SKREW_SYS := linux
|
||||
SKREW_EXE := $(SKREW_DIR)/bin/skrewrap
|
||||
else
|
||||
NATIVE := native.ini
|
||||
CROSS := cross.ini
|
||||
SKREW_SYS := windows
|
||||
SKREW_EXE := $(SKREW_DIR)/bin/skrewrap.exe
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
export NINJA_STATUS := [%p %f/%t]
|
||||
|
||||
# Modders can delete the `check` dependency here after their first build.
|
||||
all: release check
|
||||
|
||||
.NOTPARALLEL: release
|
||||
|
|
@ -82,22 +93,23 @@ rom: $(BUILD)/build.ninja data
|
|||
data: $(BUILD)/build.ninja
|
||||
$(NINJA) -C $(BUILD) data
|
||||
|
||||
target: $(BUILD)/build.ninja
|
||||
$(MESON) compile -C $(BUILD) $(MESON_TARGET)
|
||||
|
||||
format: $(BUILD)/build.ninja
|
||||
$(NINJA) -C $(BUILD) clang-format
|
||||
|
||||
target: $(BUILD)/build.ninja
|
||||
$(MESON) compile -C $(BUILD) $(MESON_TARGET)
|
||||
|
||||
clean: $(BUILD)/build.ninja
|
||||
$(MESON) compile -C $(BUILD) --clean
|
||||
|
||||
distclean:
|
||||
rm -rf $(BUILD) $(MWRAP)
|
||||
rm -rf $(BUILD)
|
||||
|
||||
purge: distclean
|
||||
rm -rf $(SKREW_DIR)
|
||||
ifeq ($(MESON),$(MESON_SUB))
|
||||
! test -f $(MESON) || $(MESON) subprojects purge --confirm
|
||||
rm -rf $(dir $(MESON_SUB))
|
||||
rm -rf $(MESON_DIR)
|
||||
else
|
||||
$(MESON) subprojects purge --confirm
|
||||
endif
|
||||
|
|
@ -113,50 +125,22 @@ setup_debug: $(BUILD)/build.ninja
|
|||
|
||||
configure: $(BUILD)/build.ninja
|
||||
|
||||
$(BUILD)/build.ninja: $(ROOT_INI) $(DOT_MWCONFIG) | $(BUILD) meson
|
||||
MWCONFIG=$(abspath $(DOT_MWCONFIG)) $(MESON) setup \
|
||||
--wrap-mode=nopromote \
|
||||
--native-file=meson/$(NATIVE) \
|
||||
--native-file=$(ROOT_INI) \
|
||||
--cross-file=meson/$(CROSS) \
|
||||
--cross-file=$(ROOT_INI) \
|
||||
-- $(BUILD)
|
||||
$(BUILD)/build.ninja: $(ROOT_INI) | $(BUILD) $(SKREW_EXE) meson
|
||||
$(MESON) setup \
|
||||
--wrap-mode=nopromote \
|
||||
--native-file=meson/$(NATIVE) \
|
||||
--native-file=$(ROOT_INI) \
|
||||
--cross-file=meson/$(CROSS) \
|
||||
--cross-file=$(ROOT_INI) \
|
||||
-- $(BUILD)
|
||||
|
||||
$(ROOT_INI): | $(BUILD)
|
||||
echo "[constants]" > $@
|
||||
echo "root = '$$PWD'" >> $@
|
||||
|
||||
$(DOT_MWCONFIG): $(MWRAP) | $(BUILD)
|
||||
ifneq (,$(filter native_%.ini,$(NATIVE)))
|
||||
WINE="$$(command -v $(WINELOADER))"; \
|
||||
BUILD="$(BUILD)"; \
|
||||
MWCONFIG=$(abspath $(DOT_MWCONFIG)) $(MWRAP) -conf \
|
||||
-wine "$$WINE" \
|
||||
-path_unx "$$PWD" \
|
||||
-path_win "$$("$$WINE" winepath -w "$$PWD")" \
|
||||
-path_build_unx "$$BUILD" \
|
||||
-path_build_win "$$("$$WINE" winepath -w "$$BUILD")"
|
||||
else ifeq (0,$(WSL_ACCESSING_WINDOWS))
|
||||
BUILD="$(BUILD)"; \
|
||||
MWCONFIG=$(abspath $(DOT_MWCONFIG)) $(MWRAP) -conf \
|
||||
-path_unx "$$PWD" \
|
||||
-path_win "$$(wslpath -w "$$PWD")" \
|
||||
-path_build_unx "$$BUILD" \
|
||||
-path_build_win "$$(wslpath -w "$$PWD")"
|
||||
else
|
||||
touch $(DOT_MWCONFIG)
|
||||
endif
|
||||
|
||||
$(BUILD):
|
||||
mkdir -p -- $(BUILD)
|
||||
|
||||
$(MWRAP): | meson
|
||||
rm -rf $(MWRAP) $(WRAP_BUILD)
|
||||
$(MESON) setup $(WRAP_BUILD) $(WRAP)
|
||||
$(MESON) compile -C $(WRAP_BUILD)
|
||||
install -m755 $(WRAP_BUILD)/$(@F) $@
|
||||
rm -rf $(WRAP_BUILD)
|
||||
|
||||
meson: ;
|
||||
ifeq ($(MESON),$(MESON_SUB))
|
||||
meson: $(MESON_SUB)
|
||||
|
|
@ -164,3 +148,8 @@ endif
|
|||
|
||||
$(MESON_SUB):
|
||||
$(GIT) clone --depth=1 -b $(MESON_VER) https://github.com/mesonbuild/meson $(@D)
|
||||
|
||||
skrew: $(SKREW_EXE)
|
||||
|
||||
$(SKREW_EXE):
|
||||
SKREW_SYS=$(SKREW_SYS) SKREW_VER=$(SKREW_VER) SKREW_DIR=$(SKREW_DIR) $(SKREW_GET)
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
#ifndef POKEPLATINUM_BRIGHTNESS_CONTROLLER_H
|
||||
#define POKEPLATINUM_BRIGHTNESS_CONTROLLER_H
|
||||
|
||||
#include "include/constants/screen.h"
|
||||
#include "constants/screen.h"
|
||||
|
||||
#define BRIGHTNESS_NO_SCREENS (0)
|
||||
#define BRIGHTNESS_MAIN_SCREEN (1 << DS_SCREEN_MAIN)
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
|
||||
libspl_c_args = [
|
||||
'-nothumb',
|
||||
'-wrap:ver', '1.2/base_b73',
|
||||
'-wrap:noipa'
|
||||
'-wrap:sdk', '1.2/base_b73',
|
||||
'-wrap:noipa',
|
||||
]
|
||||
|
||||
libspl_link_args = [
|
||||
|
|
@ -31,6 +31,6 @@ libspl = static_library('spl',
|
|||
c_args: libspl_c_args,
|
||||
link_args: libspl_link_args,
|
||||
include_directories: [public_includes, libspl_public_includes],
|
||||
dependencies: [ nitrosdk_dep, nitrosystem_dep ],
|
||||
dependencies: [nitrosdk_dep, nitrosystem_dep],
|
||||
pic: false
|
||||
)
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@ c_args = [
|
|||
'-stdinc',
|
||||
'-sym', 'on',
|
||||
'-DPOKEPLATINUM_GENERATED_ENUM',
|
||||
'-D_MSL_RESTRICT=',
|
||||
]
|
||||
|
||||
if get_option('gdb_debugging')
|
||||
|
|
@ -85,27 +86,27 @@ link_args = [
|
|||
############################################################
|
||||
nitrosdk_dep = dependency('NitroSDK',
|
||||
default_options: {
|
||||
'mwrap_ver': '2.0/sp1p2',
|
||||
'mwrap_sdk': '2.0/sp1p2',
|
||||
'sp1p3_conditionals': true
|
||||
}
|
||||
)
|
||||
|
||||
nitrosystem_dep = dependency('NitroSystem',
|
||||
default_options: {
|
||||
'mwrap_ver': '2.0/sp2'
|
||||
'mwrap_sdk': '2.0/sp2',
|
||||
}
|
||||
)
|
||||
|
||||
nitrowifi_dep = dependency('NitroWiFi',
|
||||
default_options: {
|
||||
'mwrap_ver': '2.0/sp1p2',
|
||||
'mwrap_sdk': '2.0/sp1p2',
|
||||
'sp1p3_conditionals': true
|
||||
}
|
||||
)
|
||||
|
||||
nitrodwc_dep = dependency('NitroDWC',
|
||||
default_options: {
|
||||
'mwrap_ver': '2.0/sp2p2',
|
||||
'mwrap_sdk': '2.0/sp2p2',
|
||||
'link_ppwlobby': true
|
||||
}
|
||||
)
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
[binaries]
|
||||
c = [root + '/tools/cw/mwrap.exe', 'mwccarm']
|
||||
c_ld = [root + '/tools/cw/mwrap.exe', 'mwldarm']
|
||||
cpp = [root + '/tools/cw/mwrap.exe', 'mwccarm']
|
||||
cpp_ld = [root + '/tools/cw/mwrap.exe', 'mwldarm']
|
||||
nasm = [root + '/tools/cw/mwrap.exe', 'mwasmarm']
|
||||
ar = [root + '/tools/cw/mwrap.exe', 'mwldarm']
|
||||
c = [root + '/subprojects/metroskrew/bin/mwccarm.exe', '-wrap:sdk', '2.0/sp2p2']
|
||||
c_ld = [root + '/subprojects/metroskrew/bin/mwldarm.exe', '-wrap:sdk', '2.0/sp2p2']
|
||||
cpp = [root + '/subprojects/metroskrew/bin/mwccarm.exe', '-wrap:sdk', '2.0/sp2p2']
|
||||
cpp_ld = [root + '/subprojects/metroskrew/bin/mwldarm.exe', '-wrap:sdk', '2.0/sp2p2']
|
||||
nasm = [root + '/subprojects/metroskrew/bin/mwasmarm.exe', '-wrap:sdk', '2.0/sp2p2']
|
||||
ar = [root + '/subprojects/metroskrew/bin/mwldarm.exe', '-wrap:sdk', '2.0/sp2p2']
|
||||
strip = ['false']
|
||||
|
||||
[host_machine]
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
[binaries]
|
||||
c = [root + '/tools/cw/mwrap', 'mwccarm']
|
||||
c_ld = [root + '/tools/cw/mwrap', 'mwldarm']
|
||||
cpp = [root + '/tools/cw/mwrap', 'mwccarm']
|
||||
cpp_ld = [root + '/tools/cw/mwrap', 'mwldarm']
|
||||
nasm = [root + '/tools/cw/mwrap', 'mwasmarm']
|
||||
ar = [root + '/tools/cw/mwrap', 'mwldarm']
|
||||
c = [root + '/subprojects/metroskrew/bin/mwccarm', '-wrap:sdk', '2.0/sp2p2']
|
||||
c_ld = [root + '/subprojects/metroskrew/bin/mwldarm', '-wrap:sdk', '2.0/sp2p2']
|
||||
cpp = [root + '/subprojects/metroskrew/bin/mwccarm', '-wrap:sdk', '2.0/sp2p2']
|
||||
cpp_ld = [root + '/subprojects/metroskrew/bin/mwldarm', '-wrap:sdk', '2.0/sp2p2']
|
||||
nasm = [root + '/subprojects/metroskrew/bin/mwasmarm', '-wrap:sdk', '2.0/sp2p2']
|
||||
ar = [root + '/subprojects/metroskrew/bin/mwldarm', '-wrap:sdk', '2.0/sp2p2']
|
||||
strip = ['false']
|
||||
|
||||
[host_machine]
|
||||
|
|
|
|||
|
|
@ -2,6 +2,3 @@
|
|||
c = 'gcc'
|
||||
cpp = 'g++'
|
||||
ar = 'ar'
|
||||
|
||||
makebanner = root + '/tools/maketools/makebanner.exe'
|
||||
makerom = root + '/tools/maketools/makerom.exe'
|
||||
|
|
|
|||
|
|
@ -2,6 +2,3 @@
|
|||
c = 'gcc-14'
|
||||
cpp = 'g++-14'
|
||||
ar = 'ar'
|
||||
|
||||
makebanner = ['wine', root + '/tools/maketools/makebanner.exe']
|
||||
makerom = ['wine', root + '/tools/maketools/makerom.exe']
|
||||
|
|
|
|||
|
|
@ -1,7 +0,0 @@
|
|||
[binaries]
|
||||
c = 'gcc'
|
||||
cpp = 'g++'
|
||||
ar = 'ar'
|
||||
|
||||
makebanner = ['wine', root + '/tools/maketools/makebanner.exe']
|
||||
makerom = ['wine', root + '/tools/maketools/makerom.exe']
|
||||
|
|
@ -3,7 +3,7 @@
|
|||
#include <nitro.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "include/constants/screen.h"
|
||||
#include "constants/screen.h"
|
||||
|
||||
#define IS_SCREEN_SELECTED(screenMask, screenConst) (screenMask & screenConst)
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
[wrap-git]
|
||||
url = https://github.com/ntrtwl/NitroDWC.git
|
||||
revision = 8220c8bdec2e8b5252ee710cf3cc0c148228a03a
|
||||
revision = 4d29f686ae4c2af03f7132571e1481620df3ade1
|
||||
depth = 1
|
||||
directory = NitroDWC-2.2.30008
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
[wrap-git]
|
||||
url = https://github.com/ntrtwl/NitroSDK.git
|
||||
revision = 1bbf15f2675c6063b9f8085715e645604206d8d5
|
||||
revision = e6fbeba60332e660639ad664eda2dc85c0e14649
|
||||
depth = 1
|
||||
directory = NitroSDK-4.2.30001
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
[wrap-git]
|
||||
url = https://github.com/ntrtwl/NitroSystem.git
|
||||
revision = 507acff1585505bdac3f996551ca5123f8408073
|
||||
revision = 7a089c4aa15184380dfea76e8b28663f5c779613
|
||||
depth = 1
|
||||
directory = NitroSystem-071126.1
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
[wrap-git]
|
||||
url = https://github.com/ntrtwl/NitroWiFi.git
|
||||
revision = 0bb999007564dbe913cb8f6df8bfb27ac775221f
|
||||
revision = e6048fc294480831e154b3d53205d6cbda1775cd
|
||||
depth = 1
|
||||
directory = NitroWiFi-2.1.30003
|
||||
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -1,18 +0,0 @@
|
|||
#ifndef __PREFIX_NITRO__
|
||||
#define __PREFIX_NITRO__
|
||||
|
||||
#define _MSL_THREADSAFE 1
|
||||
|
||||
#define _MSL_LOCALDATA_AVAILABLE 0
|
||||
|
||||
#define _MSL_OS_DIRECT_MALLOC
|
||||
|
||||
#define _MSL_OS_ALLOC_SUPPORT 1
|
||||
|
||||
#define _MSL_NEEDS_EXTRAS 1
|
||||
|
||||
#define _MSL_OS_TIME_SUPPORT 0
|
||||
|
||||
#define SDK_ARM9 1
|
||||
|
||||
#endif
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
#ifndef _MSL_ABORT_EXIT_H
|
||||
#define _MSL_ABORT_EXIT_H
|
||||
|
||||
#include <ansi_params.h>
|
||||
|
||||
_MSL_BEGIN_EXTERN_C
|
||||
|
||||
extern void _MSL_CDECL (* __stdio_exit) (void);
|
||||
extern void _MSL_CDECL (* __console_exit)(void);
|
||||
|
||||
extern int __aborting;
|
||||
|
||||
int _MSL_CDECL __atexit(void(_MSL_CDECL * func)(void)) _MSL_CANT_THROW;
|
||||
void _MSL_CDECL __exit(int status) _MSL_CANT_THROW;
|
||||
|
||||
#define __setup_exit()
|
||||
|
||||
int _MSL_CDECL __register_atexit(void (*func)(void)) _MSL_CANT_THROW;
|
||||
extern void _MSL_CDECL __destroy_global_chain(void) _MSL_CANT_THROW;
|
||||
|
||||
#if _MSL_USES_EXIT_PROCESS
|
||||
_MSL_IMP_EXP_C void _MSL_CDECL _ExitProcess(void) _MSL_CANT_THROW;
|
||||
#endif
|
||||
|
||||
_MSL_END_EXTERN_C
|
||||
|
||||
#endif
|
||||
|
|
@ -1,61 +0,0 @@
|
|||
#ifndef _MSL_ANSI_FILES_H
|
||||
#define _MSL_ANSI_FILES_H
|
||||
|
||||
#include <ansi_params.h>
|
||||
#include <cstdio>
|
||||
|
||||
#define set_eof(file) \
|
||||
do \
|
||||
{ \
|
||||
(file)->state.io_state = __neutral; \
|
||||
(file)->state.eof = 1; \
|
||||
(file)->buffer_len = 0; \
|
||||
} \
|
||||
while (0)
|
||||
|
||||
#define set_error(file) \
|
||||
do \
|
||||
{ \
|
||||
(file)->state.error = 1; \
|
||||
(file)->buffer_len = 0; \
|
||||
} \
|
||||
while (0)
|
||||
|
||||
#if _MSL_BUFFERED_CONSOLE
|
||||
|
||||
#define console_buff_mode _IOLBF
|
||||
|
||||
#define console_buff_size 256
|
||||
|
||||
typedef unsigned char console_buff[console_buff_size];
|
||||
|
||||
static console_buff stdin_buff;
|
||||
static console_buff stdout_buff;
|
||||
static console_buff stderr_buff;
|
||||
|
||||
#else
|
||||
|
||||
#define console_buff_mode _IONBF
|
||||
|
||||
#define console_buff_size 1
|
||||
|
||||
#define stdin_buff &__files[0].char_buffer
|
||||
#define stdout_buff &__files[1].char_buffer
|
||||
#define stderr_buff &__files[2].char_buffer
|
||||
|
||||
#endif
|
||||
|
||||
_MSL_BEGIN_EXTERN_C
|
||||
|
||||
#if _MSL_OS_DISK_FILE_SUPPORT
|
||||
__std(FILE) * _MSL_CDECL __find_unopened_file(void) _MSL_CANT_THROW;
|
||||
#endif
|
||||
|
||||
void _MSL_CDECL __init_file(__std(FILE) *, __std(__file_modes) mode, char * buff, __std(size_t)) _MSL_CANT_THROW;
|
||||
void _MSL_CDECL __close_all(void) _MSL_CANT_THROW;
|
||||
int _MSL_CDECL __flush_all(void) _MSL_CANT_THROW;
|
||||
int _MSL_CDECL __flush_line_buffered_output_files(void) _MSL_CANT_THROW;
|
||||
|
||||
_MSL_END_EXTERN_C
|
||||
|
||||
#endif
|
||||
|
|
@ -1,48 +0,0 @@
|
|||
#ifndef _MSL_ANSI_FP_H
|
||||
#define _MSL_ANSI_FP_H
|
||||
|
||||
#include <ansi_params.h>
|
||||
#include <cmath>
|
||||
|
||||
#pragma options align=native
|
||||
|
||||
_MSL_BEGIN_EXTERN_C
|
||||
|
||||
#ifndef _MSL_SIGDIGLEN
|
||||
#define _MSL_SIGDIGLEN 32
|
||||
#endif
|
||||
|
||||
#define SIGDIGLEN _MSL_SIGDIGLEN
|
||||
|
||||
#define FLOATDECIMAL ((char)(0))
|
||||
#define FIXEDDECIMAL ((char)(1))
|
||||
|
||||
typedef struct decimal {
|
||||
char sgn;
|
||||
char unused;
|
||||
short exp;
|
||||
struct {
|
||||
unsigned char length;
|
||||
unsigned char text[SIGDIGLEN];
|
||||
unsigned char unused;
|
||||
} sig;
|
||||
} decimal;
|
||||
|
||||
typedef struct decform {
|
||||
char style;
|
||||
char unused;
|
||||
short digits;
|
||||
} decform;
|
||||
|
||||
#if _MSL_FLOATING_POINT
|
||||
|
||||
_MSL_IMP_EXP_C void _MSL_CDECL __num2dec(const decform * f, double x, decimal * d) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C double _MSL_CDECL __dec2num(const decimal * d) _MSL_CANT_THROW;
|
||||
|
||||
#endif
|
||||
|
||||
_MSL_END_EXTERN_C
|
||||
|
||||
#pragma options align=reset
|
||||
|
||||
#endif
|
||||
|
|
@ -1,309 +0,0 @@
|
|||
#ifndef _MSL_ANSI_PARMS_H
|
||||
#define _MSL_ANSI_PARMS_H
|
||||
|
||||
#include <msl_c_version.h>
|
||||
#include <mslGlobals.h>
|
||||
|
||||
#if defined(_No_Console) && !defined(_MSL_CONSOLE_SUPPORT)
|
||||
#define _MSL_CONSOLE_SUPPORT 0
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_CONSOLE_SUPPORT
|
||||
#define _MSL_CONSOLE_SUPPORT 1
|
||||
#endif
|
||||
|
||||
#if defined(_Unbuffered_Console) && !defined(_MSL_BUFFERED_CONSOLE)
|
||||
#define _MSL_BUFFERED_CONSOLE 0
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_BUFFERED_CONSOLE
|
||||
#define _MSL_BUFFERED_CONSOLE 1
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_CONSOLE_FILE_IS_DISK_FILE
|
||||
#define _MSL_CONSOLE_FILE_IS_DISK_FILE 0
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_FILE_CONSOLE_ROUTINES
|
||||
#define _MSL_FILE_CONSOLE_ROUTINES 0
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_NULL_CONSOLE_ROUTINES
|
||||
#if _MSL_CONSOLE_SUPPORT
|
||||
#define _MSL_NULL_CONSOLE_ROUTINES 0
|
||||
#else
|
||||
#define _MSL_NULL_CONSOLE_ROUTINES 1
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(_No_Disk_File_OS_Support) && !defined(_MSL_OS_DISK_FILE_SUPPORT)
|
||||
#define _MSL_OS_DISK_FILE_SUPPORT 0
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_OS_DISK_FILE_SUPPORT
|
||||
#define _MSL_OS_DISK_FILE_SUPPORT 1
|
||||
#endif
|
||||
|
||||
#if defined(_No_Alloc_OS_Support) && !defined(_MSL_OS_ALLOC_SUPPORT)
|
||||
#define _MSL_OS_ALLOC_SUPPORT 0
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_OS_ALLOC_SUPPORT
|
||||
#define _MSL_OS_ALLOC_SUPPORT 1
|
||||
#endif
|
||||
|
||||
#if !_MSL_OS_ALLOC_SUPPORT && defined(_MSL_OS_DIRECT_MALLOC)
|
||||
#error Defining _MSL_OS_DIRECT_MALLOC requires _MSL_OS_ALLOC_SUPPORT
|
||||
#endif
|
||||
|
||||
#if defined(_No_Time_OS_Support) && !defined(_MSL_OS_TIME_SUPPORT)
|
||||
#define _MSL_OS_TIME_SUPPORT 0
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_OS_TIME_SUPPORT
|
||||
#define _MSL_OS_TIME_SUPPORT 1
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_CLOCK_T_AVAILABLE
|
||||
#define _MSL_CLOCK_T_AVAILABLE 1
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_TIME_T_AVAILABLE
|
||||
#define _MSL_TIME_T_AVAILABLE 1
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_TM_STRUCT_AVAILABLE
|
||||
#define _MSL_TM_STRUCT_AVAILABLE 1
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_TIME_T_IS_LOCALTIME
|
||||
#define _MSL_TIME_T_IS_LOCALTIME 1
|
||||
#endif
|
||||
|
||||
#if _MSL_OS_TIME_SUPPORT && ((!_MSL_CLOCK_T_AVAILABLE) || (!_MSL_TIME_T_AVAILABLE))
|
||||
#error _MSL_CLOCK_T_AVAILABLE and _MSL_TIME_T_AVAILABLE must match _MSL_OS_TIME_SUPPORT
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_THREADSAFE
|
||||
#define _MSL_THREADSAFE 0
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_PTHREADS
|
||||
#define _MSL_PTHREADS 0
|
||||
#endif
|
||||
|
||||
#if _MSL_PTHREADS && !_MSL_THREADSAFE
|
||||
#error _MSL_PTHREADS and _MSL_THREADSAFE must match
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_LONGLONG
|
||||
#define _MSL_LONGLONG 1
|
||||
#endif
|
||||
|
||||
#if defined(_No_Floating_Point) && !defined(_MSL_FLOATING_POINT)
|
||||
#define _MSL_FLOATING_POINT 0
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_FLOATING_POINT
|
||||
#define _MSL_FLOATING_POINT 1
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_WIDE_CHAR
|
||||
#define _MSL_WIDE_CHAR 0
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_USES_SUN_MATH_LIB
|
||||
#define _MSL_USES_SUN_MATH_LIB 0
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_C99
|
||||
#define _MSL_C99 1
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_C_HAS_CPP_EXTENSIONS
|
||||
#ifdef __cplusplus
|
||||
#define _MSL_C_HAS_CPP_EXTENSIONS 1
|
||||
#else
|
||||
#define _MSL_C_HAS_CPP_EXTENSIONS 0
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_POSIX
|
||||
#define _MSL_POSIX 0
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_NEEDS_EXTRAS
|
||||
#define _MSL_NEEDS_EXTRAS 0
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_STRERROR_KNOWS_ERROR_NAMES
|
||||
#define _MSL_STRERROR_KNOWS_ERROR_NAMES 1
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_C_LOCALE_ONLY
|
||||
#define _MSL_C_LOCALE_ONLY 0
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_FLOATING_POINT_IO
|
||||
#define _MSL_FLOATING_POINT_IO 1
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_USES_EXIT_PROCESS
|
||||
#define _MSL_USES_EXIT_PROCESS 0
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_USING_MW_C_HEADERS
|
||||
#define _MSL_USING_MW_C_HEADERS 1
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_PUT_THIRD_PARTY_C_IN_STD
|
||||
#define _MSL_PUT_THIRD_PARTY_C_IN_STD 0
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_IMP_EXP
|
||||
#define _MSL_IMP_EXP
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_IMP_EXP_C
|
||||
#define _MSL_IMP_EXP_C _MSL_IMP_EXP
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_IMP_EXP_SIOUX
|
||||
#define _MSL_IMP_EXP_SIOUX _MSL_IMP_EXP
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_IMP_EXP_RUNTIME
|
||||
#define _MSL_IMP_EXP_RUNTIME _MSL_IMP_EXP
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_MALLOC_IS_ALTIVEC_ALIGNED
|
||||
#define _MSL_MALLOC_IS_ALTIVEC_ALIGNED 0
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_WFILEIO_AVAILABLE
|
||||
#define _MSL_WFILEIO_AVAILABLE 0
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_FLOAT_HEX
|
||||
#if _MSL_C99
|
||||
#define _MSL_FLOAT_HEX 1
|
||||
#else
|
||||
#define _MSL_FLOAT_HEX 0
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_CDECL
|
||||
#define _MSL_CDECL
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_MATH_CDECL
|
||||
#define _MSL_MATH_CDECL
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_INLINE
|
||||
#define _MSL_INLINE __inline
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_DO_NOT_INLINE
|
||||
#define _MSL_DO_NOT_INLINE __declspec(weak)
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_LOCALDATA
|
||||
#define _MSL_LOCALDATA(_a) _a
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_LOCALDATA_AVAILABLE
|
||||
#define _MSL_LOCALDATA_AVAILABLE 1
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_RESTRICT
|
||||
#if defined(__MWERKS__)
|
||||
#if __option(c99)
|
||||
#define _MSL_RESTRICT restrict
|
||||
#else
|
||||
#define _MSL_RESTRICT
|
||||
#endif
|
||||
#else
|
||||
#define _MSL_RESTRICT
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_MATH_ERRHANDLING
|
||||
#define _MSL_MATH_ERRHANDLING 1
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_LITTLE_ENDIAN
|
||||
#if defined(__MWERKS__)
|
||||
#if __option(little_endian)
|
||||
#define _MSL_LITTLE_ENDIAN 1
|
||||
#else
|
||||
#define _MSL_LITTLE_ENDIAN 0
|
||||
#endif
|
||||
#else
|
||||
#define _MSL_LITTLE_ENDIAN 0
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
#define _MSL_BEGIN_EXTERN_C extern "C" {
|
||||
#define _MSL_END_EXTERN_C }
|
||||
|
||||
#ifdef _MSL_USING_NAMESPACE
|
||||
#define _MSL_BEGIN_NAMESPACE_STD namespace std {
|
||||
#define _MSL_END_NAMESPACE_STD }
|
||||
|
||||
#define __std(ref) ::std::ref
|
||||
#define __global() ::
|
||||
#else
|
||||
#define _MSL_BEGIN_NAMESPACE_STD
|
||||
#define _MSL_END_NAMESPACE_STD
|
||||
|
||||
#define __std(ref) ref
|
||||
#define __global()
|
||||
#endif
|
||||
#else
|
||||
#define _MSL_BEGIN_EXTERN_C
|
||||
#define _MSL_END_EXTERN_C
|
||||
|
||||
#define _MSL_BEGIN_NAMESPACE_STD
|
||||
#define _MSL_END_NAMESPACE_STD
|
||||
|
||||
#define __std(ref) ref
|
||||
#define __global()
|
||||
#endif
|
||||
|
||||
#if !defined(_MSL_NO_THROW_SPECS)
|
||||
#ifndef _MSL_NO_THROW
|
||||
#if defined(__cplusplus)
|
||||
#define _MSL_NO_THROW throw()
|
||||
#else
|
||||
#define _MSL_NO_THROW
|
||||
#endif
|
||||
#endif
|
||||
#ifndef _MSL_CANT_THROW
|
||||
#define _MSL_CANT_THROW __attribute__((nothrow))
|
||||
#endif
|
||||
#else
|
||||
#ifndef _MSL_NO_THROW
|
||||
#define _MSL_NO_THROW
|
||||
#endif
|
||||
#ifndef _MSL_CANT_THROW
|
||||
#define _MSL_CANT_THROW
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_ATTRIBUTE_CONST
|
||||
#define _MSL_ATTRIBUTE_CONST __attribute__((const))
|
||||
#endif
|
||||
|
||||
#if !defined(_MSL_USE_INLINE) && !defined(RC_INVOKED) && defined(__MWERKS__)
|
||||
#if !__option(dont_inline)
|
||||
#define _MSL_USE_INLINE 1
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef __has_intrinsic
|
||||
#define __has_intrinsic(_a) 0
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
@ -1,135 +0,0 @@
|
|||
#ifndef __ansi_prefix__
|
||||
#define __ansi_prefix__
|
||||
|
||||
#include <os_enum.h>
|
||||
|
||||
#define __dest_os __arm_bare
|
||||
|
||||
#ifndef _MSL_CONSOLE_SUPPORT
|
||||
#define _MSL_CONSOLE_SUPPORT 1
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_OS_DISK_FILE_SUPPORT
|
||||
#define _MSL_OS_DISK_FILE_SUPPORT 0
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_OS_TIME_SUPPORT
|
||||
#define _MSL_OS_TIME_SUPPORT 1
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_CLOCK_T_AVAILABLE
|
||||
#define _MSL_CLOCK_T_AVAILABLE 1
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_TIME_T_AVAILABLE
|
||||
#define _MSL_TIME_T_AVAILABLE 1
|
||||
#endif
|
||||
|
||||
#if _MSL_OS_TIME_SUPPORT && ((!_MSL_CLOCK_T_AVAILABLE) || (!_MSL_TIME_T_AVAILABLE))
|
||||
#error _MSL_CLOCK_T_AVAILABLE and _MSL_CLOCK_T_AVAILABLE must match _MSL_OS_TIME_SUPPORT
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_THREADSAFE
|
||||
#define _MSL_THREADSAFE 0
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_PTHREADS
|
||||
#define _MSL_PTHREADS 0
|
||||
#endif
|
||||
|
||||
#if _MSL_PTHREADS && !_MSL_THREADSAFE
|
||||
#error _MSL_PTHREADS and _MSL_THREADSAFE must match
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_LOCALDATA_AVAILABLE
|
||||
#define _MSL_LOCALDATA_AVAILABLE 1
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_OS_ALLOC_SUPPORT
|
||||
#define _MSL_OS_ALLOC_SUPPORT 0
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_HEAP_EXTERN_PROTOTYPES
|
||||
#define _MSL_HEAP_EXTERN_PROTOTYPES \
|
||||
extern char __heap_addr[]; \
|
||||
extern char __heap_size[];
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_HEAP_START
|
||||
#define _MSL_HEAP_START __heap_addr
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_HEAP_SIZE
|
||||
#define _MSL_HEAP_SIZE __heap_size
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_LONGLONG
|
||||
#define _MSL_LONGLONG 1
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_FLOATING_POINT
|
||||
#define _MSL_FLOATING_POINT 1
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_WIDE_CHAR
|
||||
#define _MSL_WIDE_CHAR 1
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_USES_SUN_MATH_LIB
|
||||
#define _MSL_USES_SUN_MATH_LIB 1
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_POSIX
|
||||
#define _MSL_POSIX 0
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_NEEDS_EXTRAS
|
||||
#define _MSL_NEEDS_EXTRAS 0
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_STRERROR_KNOWS_ERROR_NAMES
|
||||
#define _MSL_STRERROR_KNOWS_ERROR_NAMES 1
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_ASSERT_DISPLAYS_FUNC
|
||||
#define _MSL_ASSERT_DISPLAYS_FUNC 1
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_C_LOCALE_ONLY
|
||||
#define _MSL_C_LOCALE_ONLY 1
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_C99
|
||||
#define _MSL_C99 1
|
||||
#endif
|
||||
|
||||
#if !_MSL_C99 && !_MSL_C_LOCALE_ONLY
|
||||
#error _MSL_C_LOCALE_ONLY must be turned on if _MSL_C99 is off
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_FLOATING_POINT_IO
|
||||
#define _MSL_FLOATING_POINT_IO 1
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_USES_EXIT_PROCESS
|
||||
#define _MSL_USES_EXIT_PROCESS 1
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_FLT_EVAL_METHOD
|
||||
#define _MSL_FLT_EVAL_METHOD 0
|
||||
#endif
|
||||
|
||||
#if defined(__cplusplus)
|
||||
#define _MSL_USING_NAMESPACE
|
||||
#endif
|
||||
|
||||
#define __ANSI_OVERLOAD__
|
||||
|
||||
#define _MSL_INTEGRAL_MATH
|
||||
|
||||
#if SDK_CW
|
||||
#undef _MSL_OS_TIME_SUPPORT
|
||||
#define _MSL_OS_TIME_SUPPORT 0
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
#ifndef __ansi_prefix_ARM_size_h__
|
||||
#define __ansi_prefix_ARM_size_h__
|
||||
|
||||
#define _MSL_C_LOCALE_ONLY 1
|
||||
#define _MSL_FLOATING_POINT_IO 0
|
||||
#define _MSL_ACCURATE_BUT_LARGE_ANSI_FP 0
|
||||
#define _MSL_STRERROR_KNOWS_ERROR_NAMES 0
|
||||
#define _MSL_ASSERT_DISPLAYS_FUNC 0
|
||||
|
||||
#endif
|
||||
|
|
@ -1,41 +0,0 @@
|
|||
#ifndef _MSL_ARITH_H
|
||||
#define _MSL_ARITH_H
|
||||
|
||||
#include <ansi_params.h>
|
||||
#include <div_t.h>
|
||||
|
||||
_MSL_BEGIN_EXTERN_C
|
||||
|
||||
int _MSL_CDECL __msl_add(int * x, int y) _MSL_CANT_THROW;
|
||||
int _MSL_CDECL __msl_ladd(long * x, long y) _MSL_CANT_THROW;
|
||||
|
||||
int _MSL_CDECL __msl_mul(int * x, int y) _MSL_CANT_THROW;
|
||||
int _MSL_CDECL __msl_lmul(long * x, long y) _MSL_CANT_THROW;
|
||||
|
||||
__std(ldiv_t) _MSL_CDECL __msl_ldiv(long x, long y) _MSL_CANT_THROW;
|
||||
__std(div_t) _MSL_CDECL __msl_div(int x, int y) _MSL_CANT_THROW;
|
||||
|
||||
#if _MSL_LONGLONG
|
||||
|
||||
int _MSL_CDECL __lladd(long long * x, long long y) _MSL_CANT_THROW;
|
||||
int _MSL_CDECL __llmul(long long * x, long long y) _MSL_CANT_THROW;
|
||||
#if _MSL_C99
|
||||
__std(lldiv_t) _MSL_CDECL __lldiv(long long x, long long y) _MSL_CANT_THROW;
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#ifndef __MOTO__
|
||||
|
||||
int _MSL_CDECL __msl_mod(int x, int y) _MSL_CANT_THROW;
|
||||
long _MSL_CDECL __msl_lmod(long x, long y) _MSL_CANT_THROW;
|
||||
|
||||
#if _MSL_LONGLONG
|
||||
long long _MSL_CDECL __llmod(long long x, long long y) _MSL_CANT_THROW;
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
_MSL_END_EXTERN_C
|
||||
|
||||
#endif
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
#ifdef __MWERKS__
|
||||
#if __MWERKS__ >= 0x3000
|
||||
#pragma notonce
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#include <ansi_params.h>
|
||||
|
||||
#if !_MSL_USING_MW_C_HEADERS
|
||||
#error You must have the non-MSL C header file access path before the MSL access path
|
||||
#else
|
||||
#include <cassert>
|
||||
#endif
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
#ifndef _MSL_ASSERT_API_H
|
||||
#define _MSL_ASSERT_API_H
|
||||
|
||||
_MSL_BEGIN_EXTERN_C
|
||||
|
||||
#ifndef _MSL_ASSERT_DISPLAYS_FUNC
|
||||
#ifdef __MWERKS__
|
||||
#if __option(c99)
|
||||
#define _MSL_ASSERT_DISPLAYS_FUNC 1
|
||||
#else
|
||||
#define _MSL_ASSERT_DISPLAYS_FUNC 0
|
||||
#endif
|
||||
#else
|
||||
#define _MSL_ASSERT_DISPLAYS_FUNC 1
|
||||
#endif
|
||||
#endif
|
||||
|
||||
_MSL_IMP_EXP_C void _MSL_CDECL __msl_assertion_failed(char const *, char const *, char const *, int) _MSL_CANT_THROW;
|
||||
|
||||
_MSL_END_EXTERN_C
|
||||
|
||||
#endif
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
#ifndef _MSL_BUFFER_IO_H
|
||||
#define _MSL_BUFFER_IO_H
|
||||
|
||||
#include <ansi_params.h>
|
||||
#include <cstdio>
|
||||
|
||||
_MSL_BEGIN_EXTERN_C
|
||||
|
||||
enum {
|
||||
__align_buffer,
|
||||
__dont_align_buffer
|
||||
};
|
||||
|
||||
void _MSL_CDECL __convert_from_newlines(unsigned char * p, __std(size_t) * n) _MSL_CANT_THROW;
|
||||
void _MSL_CDECL __convert_to_newlines(unsigned char * p, __std(size_t) * n) _MSL_CANT_THROW;
|
||||
void _MSL_CDECL __prep_buffer(__std(FILE) *) _MSL_CANT_THROW;
|
||||
int _MSL_CDECL __load_buffer(__std(FILE) *, __std(size_t) * bytes_loaded, int alignment) _MSL_CANT_THROW;
|
||||
int _MSL_CDECL __flush_buffer(__std(FILE) *, __std(size_t) * bytes_flushed) _MSL_CANT_THROW;
|
||||
|
||||
_MSL_END_EXTERN_C
|
||||
|
||||
#endif
|
||||
|
|
@ -1,31 +0,0 @@
|
|||
#ifdef __MWERKS__
|
||||
#if __MWERKS__ >= 0x3000
|
||||
#pragma notonce
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#include <ansi_params.h>
|
||||
|
||||
#if !_MSL_USING_MW_C_HEADERS
|
||||
#include <assert.h>
|
||||
#elif defined(__PALMOS_TRAPS__)
|
||||
#include <cassert_Palm_OS>
|
||||
#else
|
||||
|
||||
#ifdef assert
|
||||
#undef assert
|
||||
#endif
|
||||
|
||||
#ifdef NDEBUG
|
||||
#define assert(ignore) ((void) 0)
|
||||
#else
|
||||
#include <assert_api.h>
|
||||
|
||||
#if _MSL_ASSERT_DISPLAYS_FUNC
|
||||
#define assert(condition) ((condition) ? ((void) 0) : __msl_assertion_failed(#condition, __FILE__, __func__, __LINE__))
|
||||
#else
|
||||
#define assert(condition) ((condition) ? ((void) 0) : __msl_assertion_failed(#condition, __FILE__, 0, __LINE__))
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
@ -1,70 +0,0 @@
|
|||
#ifndef _MSL_CCTYPE
|
||||
#define _MSL_CCTYPE
|
||||
|
||||
#include <ansi_params.h>
|
||||
|
||||
#if !_MSL_USING_MW_C_HEADERS
|
||||
#include <ctype.h>
|
||||
|
||||
#if _MSL_PUT_THIRD_PARTY_C_IN_STD
|
||||
#include <msl_cpp_std_ctype.h>
|
||||
#endif
|
||||
#else
|
||||
|
||||
#include <eof.h>
|
||||
#include <ctype_api.h>
|
||||
#include <locale_api.h>
|
||||
#include <msl_thread_local_data.h>
|
||||
|
||||
#ifndef RC_INVOKED
|
||||
|
||||
_MSL_BEGIN_NAMESPACE_STD
|
||||
_MSL_BEGIN_EXTERN_C
|
||||
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL isalnum(int) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL isalpha(int) _MSL_CANT_THROW;
|
||||
#if _MSL_C99
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL isblank(int) _MSL_CANT_THROW;
|
||||
#endif
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL iscntrl(int) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL isdigit(int) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL isgraph(int) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL islower(int) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL isprint(int) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL ispunct(int) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL isspace(int) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL isupper(int) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL isxdigit(int) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL tolower(int) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL toupper(int) _MSL_CANT_THROW;
|
||||
|
||||
_MSL_END_EXTERN_C
|
||||
|
||||
#if _MSL_USE_INLINE
|
||||
|
||||
_MSL_INLINE int _MSL_CDECL isalnum(int c) _MSL_CANT_THROW { return ((c < 0) || (c >= __msl_cmap_size)) ? 0 : (int) (_MSL_CMAP_ACCESS[c] & __msl_alnum); }
|
||||
_MSL_INLINE int _MSL_CDECL isalpha(int c) _MSL_CANT_THROW { return ((c < 0) || (c >= __msl_cmap_size)) ? 0 : (int) (_MSL_CMAP_ACCESS[c] & __msl_alpha); }
|
||||
#if _MSL_C99
|
||||
_MSL_INLINE int _MSL_CDECL isblank(int c) _MSL_CANT_THROW { return ((c < 0) || (c >= __msl_cmap_size)) ? 0 : (int) (_MSL_CMAP_ACCESS[c] & __msl_blank); }
|
||||
#endif
|
||||
_MSL_INLINE int _MSL_CDECL iscntrl(int c) _MSL_CANT_THROW { return ((c < 0) || (c >= __msl_cmap_size)) ? 0 : (int) (_MSL_CMAP_ACCESS[c] & __msl_cntrl); }
|
||||
_MSL_INLINE int _MSL_CDECL isdigit(int c) _MSL_CANT_THROW { return ((c < 0) || (c >= __msl_cmap_size)) ? 0 : (int) (_MSL_CMAP_ACCESS[c] & __msl_digit); }
|
||||
_MSL_INLINE int _MSL_CDECL isgraph(int c) _MSL_CANT_THROW { return ((c < 0) || (c >= __msl_cmap_size)) ? 0 : (int) (_MSL_CMAP_ACCESS[c] & __msl_graph); }
|
||||
_MSL_INLINE int _MSL_CDECL islower(int c) _MSL_CANT_THROW { return ((c < 0) || (c >= __msl_cmap_size)) ? 0 : (int) (_MSL_CMAP_ACCESS[c] & __msl_lower); }
|
||||
_MSL_INLINE int _MSL_CDECL isprint(int c) _MSL_CANT_THROW { return ((c < 0) || (c >= __msl_cmap_size)) ? 0 : (int) (_MSL_CMAP_ACCESS[c] & __msl_print); }
|
||||
_MSL_INLINE int _MSL_CDECL ispunct(int c) _MSL_CANT_THROW { return ((c < 0) || (c >= __msl_cmap_size)) ? 0 : (int) (_MSL_CMAP_ACCESS[c] & __msl_punct); }
|
||||
_MSL_INLINE int _MSL_CDECL isspace(int c) _MSL_CANT_THROW { return ((c < 0) || (c >= __msl_cmap_size)) ? 0 : (int) (_MSL_CMAP_ACCESS[c] & __msl_space); }
|
||||
_MSL_INLINE int _MSL_CDECL isupper(int c) _MSL_CANT_THROW { return ((c < 0) || (c >= __msl_cmap_size)) ? 0 : (int) (_MSL_CMAP_ACCESS[c] & __msl_upper); }
|
||||
_MSL_INLINE int _MSL_CDECL isxdigit(int c) _MSL_CANT_THROW { return ((c < 0) || (c >= __msl_cmap_size)) ? 0 : (int) (_MSL_CMAP_ACCESS[c] & __msl_xdigit); }
|
||||
_MSL_INLINE int _MSL_CDECL tolower(int c) _MSL_CANT_THROW { return ((c < 0) || (c >= __msl_cmap_size)) ? c : (int) (_MSL_CLOWER_ACCESS[c]); }
|
||||
_MSL_INLINE int _MSL_CDECL toupper(int c) _MSL_CANT_THROW { return ((c < 0) || (c >= __msl_cmap_size)) ? c : (int) (_MSL_CUPPER_ACCESS[c]); }
|
||||
|
||||
#endif
|
||||
|
||||
_MSL_END_NAMESPACE_STD
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
@ -1,107 +0,0 @@
|
|||
#ifndef _MSL_CERRNO
|
||||
#define _MSL_CERRNO
|
||||
|
||||
#include <ansi_params.h>
|
||||
|
||||
#if !_MSL_USING_MW_C_HEADERS
|
||||
#include <errno.h>
|
||||
#else
|
||||
|
||||
#include <msl_secure.h>
|
||||
|
||||
#ifndef EAGAIN
|
||||
#define EAGAIN 11
|
||||
#endif
|
||||
|
||||
#ifndef EDEADLK
|
||||
#define EDEADLK 35
|
||||
#endif
|
||||
|
||||
#ifndef ENAMETOOLONG
|
||||
#define ENAMETOOLONG 36
|
||||
#endif
|
||||
|
||||
#ifndef ENOSYS
|
||||
#define ENOSYS 38
|
||||
#endif
|
||||
|
||||
#ifndef ENOTEMPTY
|
||||
#define ENOTEMPTY 39
|
||||
#endif
|
||||
|
||||
#if _MSL_C99
|
||||
#ifndef EILSEQ
|
||||
#define EILSEQ 88
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#define E2BIG 7
|
||||
#define EACCES 13
|
||||
#define EBADF 9
|
||||
#define EBUSY 16
|
||||
#define ECHILD 10
|
||||
#define EDEADLOCK EDEADLK
|
||||
#define EDOM 33
|
||||
#define EEXIST 17
|
||||
#define EFAULT 14
|
||||
#define EFBIG 27
|
||||
#define EFPOS 40
|
||||
#define EINTR 4
|
||||
#define EINVAL 22
|
||||
#define EIO 5
|
||||
#define EISDIR 21
|
||||
#define EMFILE 24
|
||||
#define EMLINK 31
|
||||
#define ENFILE 23
|
||||
#define ENODEV 19
|
||||
#define ENOENT 2
|
||||
#define ENOERR 0
|
||||
#define ENOEXEC 8
|
||||
#define ENOLCK 77
|
||||
#define ENOMEM 12
|
||||
#define ENOSPC 28
|
||||
#define ENOTDIR 20
|
||||
#define ENOTTY 25
|
||||
#define ENXIO 6
|
||||
#define EPERM 1
|
||||
#define EPIPE 32
|
||||
#define ERANGE 34
|
||||
#define EROFS 30
|
||||
#define ESIGPARM 26
|
||||
#define ESPIPE 29
|
||||
#define ESRCH 3
|
||||
#define EUNKNOWN 99
|
||||
#define EXDEV 18
|
||||
|
||||
#if !defined(_MSL_ERRNO) && !defined(RC_INVOKED)
|
||||
|
||||
_MSL_BEGIN_EXTERN_C
|
||||
|
||||
#if _MSL_THREADSAFE && _MSL_LOCALDATA_AVAILABLE
|
||||
#include <msl_thread_local_data.h>
|
||||
#define errno (_MSL_LOCALDATA(_errno))
|
||||
|
||||
#ifdef __MWERKS__
|
||||
#if __MWERKS__ >= 0x3200
|
||||
#pragma errno_name ...
|
||||
#endif
|
||||
#endif
|
||||
#else
|
||||
_MSL_IMP_EXP_C extern int errno;
|
||||
|
||||
#ifdef __MWERKS__
|
||||
#if __MWERKS__ >= 0x3200
|
||||
#ifndef _ENTERPRISE_C_
|
||||
#pragma errno_name errno
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
_MSL_END_EXTERN_C
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
@ -1,201 +0,0 @@
|
|||
#ifndef _MSL_CFLOAT
|
||||
#define _MSL_CFLOAT
|
||||
|
||||
#include <ansi_params.h>
|
||||
|
||||
#if !_MSL_USING_MW_C_HEADERS
|
||||
#include <float.h>
|
||||
#else
|
||||
|
||||
#include <msl_t.h>
|
||||
|
||||
#if _MSL_FLOATING_POINT
|
||||
|
||||
#ifndef RC_INVOKED
|
||||
|
||||
#define DECIMAL_DIG 17
|
||||
|
||||
#ifndef _MSL_FLT_EVAL_METHOD
|
||||
#error _MSL_FLT_EVAL_METHOD must be defined in the ansi_prefix.xxx.h
|
||||
#else
|
||||
#define FLT_EVAL_METHOD _MSL_FLT_EVAL_METHOD
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_FLOAT_SIZE
|
||||
#define _MSL_FLOAT_SIZE 32
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_DOUBLE_SIZE
|
||||
#define _MSL_DOUBLE_SIZE 64
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_LONG_DOUBLE_SIZE
|
||||
#define _MSL_LONG_DOUBLE_SIZE 64
|
||||
#endif
|
||||
|
||||
#if !_MSL_FLOAT_HEX
|
||||
|
||||
_MSL_BEGIN_EXTERN_C
|
||||
|
||||
extern _MSL_IMP_EXP_C _INT32 __float_min[], __float_max[], __float_epsilon[];
|
||||
extern _MSL_IMP_EXP_C _INT32 __double_min[], __double_max[], __double_epsilon[];
|
||||
extern _MSL_IMP_EXP_C _INT32 __extended_min[], __extended_max[], __extended_epsilon[];
|
||||
|
||||
_MSL_END_EXTERN_C
|
||||
|
||||
#endif
|
||||
|
||||
#define FLT_ROUNDS 1
|
||||
#define FLT_RADIX 2
|
||||
|
||||
#if _MSL_FLOAT_SIZE == 32
|
||||
|
||||
#define FLT_MANT_DIG 24
|
||||
#define FLT_DIG 6
|
||||
#define FLT_MIN_EXP (-125)
|
||||
#define FLT_MIN_10_EXP (-37)
|
||||
#define FLT_MAX_EXP 128
|
||||
#define FLT_MAX_10_EXP 38
|
||||
#if _MSL_FLOAT_HEX
|
||||
#define FLT_MAX 0x1.fffffeP127F
|
||||
#define FLT_EPSILON 0x1.000000P-23F
|
||||
#define FLT_MIN 0x1.000000P-126F
|
||||
#endif
|
||||
|
||||
#else
|
||||
|
||||
#error unsupported size for float in <cfloat>
|
||||
|
||||
#endif
|
||||
|
||||
#if !_MSL_FLOAT_HEX
|
||||
|
||||
#define FLT_MAX (*(float *)__float_max)
|
||||
#define FLT_EPSILON (*(float *)__float_epsilon)
|
||||
#define FLT_MIN (*(float *)__float_min)
|
||||
|
||||
#endif
|
||||
|
||||
#if _MSL_DOUBLE_SIZE == 32
|
||||
|
||||
#define DBL_MANT_DIG 24
|
||||
#define DBL_DIG 6
|
||||
#define DBL_MIN_EXP (-125)
|
||||
#define DBL_MIN_10_EXP (-37)
|
||||
#define DBL_MAX_EXP 128
|
||||
#define DBL_MAX_10_EXP 38
|
||||
#if _MSL_FLOAT_HEX
|
||||
#define DBL_MAX 0x1.fffffeP127
|
||||
#define DBL_EPSILON 0x1.000000P-23
|
||||
#define DBL_MIN 0x1.000000P-126
|
||||
#endif
|
||||
|
||||
#elif _MSL_DOUBLE_SIZE == 64
|
||||
|
||||
#define DBL_MANT_DIG 53
|
||||
#define DBL_DIG 15
|
||||
#define DBL_MIN_EXP (-1021)
|
||||
#define DBL_MIN_10_EXP (-308)
|
||||
#define DBL_MAX_EXP 1024
|
||||
#define DBL_MAX_10_EXP 308
|
||||
#if _MSL_FLOAT_HEX
|
||||
#define DBL_MAX 0x1.fffffffffffffP1023
|
||||
#define DBL_EPSILON 0x1.0000000000000P-52
|
||||
#define DBL_MIN 0x1.0000000000000P-1022
|
||||
#endif
|
||||
|
||||
#elif _MSL_DOUBLE_SIZE == 80 || _MSL_DOUBLE_SIZE == 96
|
||||
|
||||
#define DBL_MANT_DIG 64
|
||||
#define DBL_DIG 18
|
||||
#define DBL_MIN_EXP (-16381)
|
||||
#define DBL_MIN_10_EXP (-4931)
|
||||
#define DBL_MAX_EXP 16384
|
||||
#define DBL_MAX_10_EXP 4932
|
||||
#if _MSL_FLOAT_HEX
|
||||
#define DBL_MAX 0x1.fffffffffffffffeP16383
|
||||
#define DBL_EPSILON 0x1.0000000000000000P-63
|
||||
#define DBL_MIN 0x1.0000000000000000P-16382
|
||||
#endif
|
||||
|
||||
#else
|
||||
|
||||
#error unsupported size for double in <cfloat>
|
||||
|
||||
#endif
|
||||
|
||||
#if !_MSL_FLOAT_HEX
|
||||
|
||||
#define DBL_MAX (*(double *)__double_max)
|
||||
#define DBL_EPSILON (*(double *)__double_epsilon)
|
||||
#define DBL_MIN (*(double *)__double_min)
|
||||
|
||||
#endif
|
||||
|
||||
#if _MSL_LONG_DOUBLE_SIZE == 32
|
||||
|
||||
#define LDBL_MANT_DIG 24
|
||||
#define LDBL_DIG 6
|
||||
#define LDBL_MIN_EXP (-125)
|
||||
#define LDBL_MIN_10_EXP (-37)
|
||||
#define LDBL_MAX_EXP 128
|
||||
#define LDBL_MAX_10_EXP 38
|
||||
#if _MSL_FLOAT_HEX
|
||||
#define LDBL_MAX 0x1.fffffeP127L
|
||||
#define LDBL_EPSILON 0x1.000000P-23L
|
||||
#define LDBL_MIN 0x1.000000P-126L
|
||||
#endif
|
||||
|
||||
#elif _MSL_LONG_DOUBLE_SIZE == 64
|
||||
|
||||
#define LDBL_MANT_DIG 53
|
||||
#define LDBL_DIG 15
|
||||
#define LDBL_MIN_EXP (-1021)
|
||||
#define LDBL_MIN_10_EXP (-308)
|
||||
#define LDBL_MAX_EXP 1024
|
||||
#define LDBL_MAX_10_EXP 308
|
||||
#if _MSL_FLOAT_HEX
|
||||
#define LDBL_MAX 0x1.fffffffffffffP1023L
|
||||
#define LDBL_EPSILON 0x1.0000000000000P-52L
|
||||
#define LDBL_MIN 0x1.0000000000000P-1022L
|
||||
#endif
|
||||
|
||||
#elif _MSL_LONG_DOUBLE_SIZE == 80 || _MSL_LONG_DOUBLE_SIZE == 96
|
||||
|
||||
#define LDBL_MANT_DIG 64
|
||||
#define LDBL_DIG 18
|
||||
#define LDBL_MIN_EXP (-16381)
|
||||
#define LDBL_MIN_10_EXP (-4931)
|
||||
#define LDBL_MAX_EXP 16384
|
||||
#define LDBL_MAX_10_EXP 4932
|
||||
#if _MSL_FLOAT_HEX
|
||||
#define LDBL_MAX 0x1.fffffffffffffffeP16383L
|
||||
#define LDBL_EPSILON 0x1.0000000000000000P-63L
|
||||
#define LDBL_MIN 0x1.0000000000000000P-16382L
|
||||
#endif
|
||||
|
||||
#else
|
||||
|
||||
#error unsupported size for long double in <cfloat>
|
||||
|
||||
#endif
|
||||
|
||||
#if !_MSL_FLOAT_HEX
|
||||
|
||||
#define LDBL_MAX (*(long double *)__extended_max)
|
||||
#define LDBL_EPSILON (*(long double *)__extended_epsilon)
|
||||
#define LDBL_MIN (*(long double *)__extended_min)
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
if defined(__arm)
|
||||
#include <float.ARM.h>
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
#ifndef _MSL_CHAR_IO_H
|
||||
#define _MSL_CHAR_IO_H
|
||||
|
||||
#include <ansi_params.h>
|
||||
#include <cstdio>
|
||||
|
||||
_MSL_BEGIN_EXTERN_C
|
||||
|
||||
int _MSL_CDECL __ungotten(__std(FILE) *) _MSL_CANT_THROW;
|
||||
|
||||
_MSL_END_EXTERN_C
|
||||
|
||||
#endif
|
||||
|
|
@ -1,274 +0,0 @@
|
|||
#ifndef _MSL_CINTTYPES
|
||||
#define _MSL_CINTTYPES
|
||||
|
||||
#include <ansi_params.h>
|
||||
|
||||
#if _MSL_C99
|
||||
|
||||
#if !_MSL_USING_MW_C_HEADERS
|
||||
#include <inttypes.h>
|
||||
|
||||
#if _MSL_PUT_THIRD_PARTY_C_IN_STD
|
||||
#include <msl_cpp_std_inttypes.h>
|
||||
#endif
|
||||
#else
|
||||
|
||||
#include <cstdint>
|
||||
#include <cstdlib>
|
||||
#if _MSL_WIDE_CHAR
|
||||
#include <wcstoul.h>
|
||||
#endif
|
||||
|
||||
#include <div_t.h>
|
||||
|
||||
#ifndef RC_INVOKED
|
||||
|
||||
_MSL_BEGIN_NAMESPACE_STD
|
||||
_MSL_BEGIN_EXTERN_C
|
||||
|
||||
#if _MSL_LONGLONG
|
||||
typedef lldiv_t imaxdiv_t;
|
||||
#else
|
||||
typedef ldiv_t imaxdiv_t;
|
||||
#endif
|
||||
|
||||
#if (!defined(__cplusplus)) || defined(__STDC_FORMAT_MACROS)
|
||||
#define PRId8 "d"
|
||||
#define PRId16 "hd"
|
||||
#define PRId32 "ld"
|
||||
#define PRId64 "lld"
|
||||
#define PRIdLEAST8 "d"
|
||||
#define PRIdLEAST16 "hd"
|
||||
#define PRIdLEAST32 "ld"
|
||||
#define PRIdLEAST64 "lld"
|
||||
#define PRIdFAST8 "d"
|
||||
#define PRIdFAST16 "hd"
|
||||
#define PRIdFAST32 "ld"
|
||||
#define PRIdFAST64 "lld"
|
||||
#define PRIdMAX "lld"
|
||||
#define PRIdPTR "ld"
|
||||
#define PRIi8 "i"
|
||||
#define PRIi16 "hi"
|
||||
#define PRIi32 "li"
|
||||
#define PRIi64 "lli"
|
||||
#define PRIiLEAST8 "i"
|
||||
#define PRIiLEAST16 "hi"
|
||||
#define PRIiLEAST32 "li"
|
||||
#define PRIiLEAST64 "lli"
|
||||
#define PRIiFAST8 "i"
|
||||
#define PRIiFAST16 "hi"
|
||||
#define PRIiFAST32 "li"
|
||||
#define PRIiFAST64 "lli"
|
||||
#define PRIiMAX "lli"
|
||||
#define PRIiPTR "li"
|
||||
#endif
|
||||
|
||||
#if (!defined(__cplusplus)) || defined(__STDC_FORMAT_MACROS)
|
||||
#define PRIo8 "o"
|
||||
#define PRIo16 "ho"
|
||||
#define PRIo32 "lo"
|
||||
#define PRIo64 "llo"
|
||||
#define PRIoLEAST8 "o"
|
||||
#define PRIoLEAST16 "ho"
|
||||
#define PRIoLEAST32 "lo"
|
||||
#define PRIoLEAST64 "llo"
|
||||
#define PRIoFAST8 "o"
|
||||
#define PRIoFAST16 "ho"
|
||||
#define PRIoFAST32 "lo"
|
||||
#define PRIoFAST64 "llo"
|
||||
#define PRIoMAX "llo"
|
||||
#define PRIoPTR "lo"
|
||||
#define PRIu8 "u"
|
||||
#define PRIu16 "hu"
|
||||
#define PRIu32 "lu"
|
||||
#define PRIu64 "llu"
|
||||
#define PRIuLEAST8 "u"
|
||||
#define PRIuLEAST16 "hu"
|
||||
#define PRIuLEAST32 "lu"
|
||||
#define PRIuLEAST64 "llu"
|
||||
#define PRIuFAST8 "u"
|
||||
#define PRIuFAST16 "hu"
|
||||
#define PRIuFAST32 "lu"
|
||||
#define PRIuFAST64 "llu"
|
||||
#define PRIuMAX "llu"
|
||||
#define PRIuPTR "lu"
|
||||
#define PRIx8 "x"
|
||||
#define PRIx16 "hx"
|
||||
#define PRIx32 "lx"
|
||||
#define PRIx64 "llx"
|
||||
#define PRIxLEAST8 "x"
|
||||
#define PRIxLEAST16 "hx"
|
||||
#define PRIxLEAST32 "lx"
|
||||
#define PRIxLEAST64 "llx"
|
||||
#define PRIxFAST8 "x"
|
||||
#define PRIxFAST16 "hx"
|
||||
#define PRIxFAST32 "lx"
|
||||
#define PRIxFAST64 "llx"
|
||||
#define PRIxMAX "llx"
|
||||
#define PRIxPTR "lx"
|
||||
#define PRIX8 "X"
|
||||
#define PRIX16 "hX"
|
||||
#define PRIX32 "lX"
|
||||
#define PRIX64 "llX"
|
||||
#define PRIXLEAST8 "X"
|
||||
#define PRIXLEAST16 "hX"
|
||||
#define PRIXLEAST32 "lX"
|
||||
#define PRIXLEAST64 "llX"
|
||||
#define PRIXFAST8 "X"
|
||||
#define PRIXFAST16 "hX"
|
||||
#define PRIXFAST32 "lX"
|
||||
#define PRIXFAST64 "llX"
|
||||
#define PRIXMAX "llX"
|
||||
#define PRIXPTR "lX"
|
||||
#endif
|
||||
|
||||
#if (!defined(__cplusplus)) || defined(__STDC_FORMAT_MACROS)
|
||||
#define SCNd8 "hhd"
|
||||
#define SCNd16 "hd"
|
||||
#define SCNd32 "ld"
|
||||
#define SCNd64 "lld"
|
||||
#define SCNdLEAST8 "hhd"
|
||||
#define SCNdLEAST16 "hd"
|
||||
#define SCNdLEAST32 "ld"
|
||||
#define SCNdLEAST64 "lld"
|
||||
#define SCNdFAST8 "hhd"
|
||||
#define SCNdFAST16 "hd"
|
||||
#define SCNdFAST32 "ld"
|
||||
#define SCNdFAST64 "lld"
|
||||
#define SCNdMAX "lld"
|
||||
#define SCNdPTR "ld"
|
||||
#define SCNi8 "hhi"
|
||||
#define SCNi16 "hi"
|
||||
#define SCNi32 "li"
|
||||
#define SCNi64 "lli"
|
||||
#define SCNiLEAST8 "hhi"
|
||||
#define SCNiLEAST16 "hi"
|
||||
#define SCNiLEAST32 "li"
|
||||
#define SCNiLEAST64 "lli"
|
||||
#define SCNiFAST8 "hhi"
|
||||
#define SCNiFAST16 "hi"
|
||||
#define SCNiFAST32 "li"
|
||||
#define SCNiFAST64 "lli"
|
||||
#define SCNiMAX "lli"
|
||||
#define SCNiPTR "li"
|
||||
#endif
|
||||
|
||||
#if (!defined(__cplusplus)) || defined(__STDC_FORMAT_MACROS)
|
||||
#define SCNo8 "hho"
|
||||
#define SCNo16 "ho"
|
||||
#define SCNo32 "lo"
|
||||
#define SCNo64 "llo"
|
||||
#define SCNoLEAST8 "hho"
|
||||
#define SCNoLEAST16 "ho"
|
||||
#define SCNoLEAST32 "lo"
|
||||
#define SCNoLEAST64 "llo"
|
||||
#define SCNoFAST8 "hho"
|
||||
#define SCNoFAST16 "ho"
|
||||
#define SCNoFAST32 "lo"
|
||||
#define SCNoFAST64 "llo"
|
||||
#define SCNoMAX "llo"
|
||||
#define SCNoPTR "lo"
|
||||
#define SCNu8 "hhu"
|
||||
#define SCNu16 "hu"
|
||||
#define SCNu32 "lu"
|
||||
#define SCNu64 "llu"
|
||||
#define SCNuLEAST8 "hhu"
|
||||
#define SCNuLEAST16 "hu"
|
||||
#define SCNuLEAST32 "lu"
|
||||
#define SCNuLEAST64 "llu"
|
||||
#define SCNuFAST8 "hhu"
|
||||
#define SCNuFAST16 "hu"
|
||||
#define SCNuFAST32 "lu"
|
||||
#define SCNuFAST64 "llu"
|
||||
#define SCNuMAX "llu"
|
||||
#define SCNuPTR "lu"
|
||||
#define SCNx8 "hhx"
|
||||
#define SCNx16 "hx"
|
||||
#define SCNx32 "lx"
|
||||
#define SCNx64 "llx"
|
||||
#define SCNxLEAST8 "hhx"
|
||||
#define SCNxLEAST16 "hx"
|
||||
#define SCNxLEAST32 "lx"
|
||||
#define SCNxLEAST64 "llx"
|
||||
#define SCNxFAST8 "hhx"
|
||||
#define SCNxFAST16 "hx"
|
||||
#define SCNxFAST32 "lx"
|
||||
#define SCNxFAST64 "llx"
|
||||
#define SCNxMAX "llx"
|
||||
#define SCNxPTR "lx"
|
||||
#endif
|
||||
|
||||
#if _MSL_LONGLONG
|
||||
intmax_t _MSL_CDECL imaxabs(intmax_t j) _MSL_CANT_THROW;
|
||||
_MSL_INLINE intmax_t _MSL_CDECL imaxabs (intmax_t j) _MSL_CANT_THROW {
|
||||
return (llabs(j));
|
||||
}
|
||||
#else
|
||||
intmax_t _MSL_CDECL imaxabs(intmax_t j) _MSL_CANT_THROW;
|
||||
_MSL_INLINE intmax_t _MSL_CDECL imaxabs (intmax_t j) _MSL_CANT_THROW {
|
||||
return (labs(j));
|
||||
}
|
||||
#endif
|
||||
|
||||
#if _MSL_LONGLONG
|
||||
imaxdiv_t _MSL_CDECL imaxdiv(intmax_t numer, intmax_t denom) _MSL_CANT_THROW;
|
||||
_MSL_INLINE imaxdiv_t _MSL_CDECL imaxdiv (intmax_t numer, intmax_t denom) _MSL_CANT_THROW {
|
||||
return (lldiv(numer, denom));
|
||||
}
|
||||
#else
|
||||
imaxdiv_t _MSL_CDECL imaxdiv(intmax_t numer, intmax_t denom) _MSL_CANT_THROW;
|
||||
_MSL_INLINE imaxdiv_t _MSL_CDECL imaxdiv (intmax_t numer, intmax_t denom) _MSL_CANT_THROW {
|
||||
return (ldiv(numer, denom));
|
||||
}
|
||||
#endif
|
||||
|
||||
#if _MSL_LONGLONG
|
||||
intmax_t _MSL_CDECL strtoimax(const char * _MSL_RESTRICT nptr, char * * _MSL_RESTRICT endptr, int base) _MSL_CANT_THROW;
|
||||
_MSL_INLINE intmax_t _MSL_CDECL strtoimax (const char * _MSL_RESTRICT nptr, char * * _MSL_RESTRICT endptr, int base) _MSL_CANT_THROW {
|
||||
return (strtoll(nptr, endptr, base));
|
||||
}
|
||||
uintmax_t _MSL_CDECL strtoumax(const char * _MSL_RESTRICT nptr, char * * _MSL_RESTRICT endptr, int base) _MSL_CANT_THROW;
|
||||
_MSL_INLINE uintmax_t _MSL_CDECL strtoumax (const char * _MSL_RESTRICT nptr, char * * _MSL_RESTRICT endptr, int base) _MSL_CANT_THROW {
|
||||
return (strtoull(nptr, endptr, base));
|
||||
}
|
||||
#else
|
||||
intmax_t _MSL_CDECL strtoimax(const char * _MSL_RESTRICT nptr, char * * _MSL_RESTRICT endptr, int base) _MSL_CANT_THROW;
|
||||
_MSL_INLINE intmax_t _MSL_CDECL strtoimax (const char * _MSL_RESTRICT nptr, char * * _MSL_RESTRICT endptr, int base) _MSL_CANT_THROW {
|
||||
return (strtol(nptr, endptr, base));
|
||||
}
|
||||
uintmax_t _MSL_CDECL strtoumax(const char * _MSL_RESTRICT nptr, char * * _MSL_RESTRICT endptr, int base) _MSL_CANT_THROW;
|
||||
_MSL_INLINE uintmax_t _MSL_CDECL strtoumax (const char * _MSL_RESTRICT nptr, char * * _MSL_RESTRICT endptr, int base) _MSL_CANT_THROW {
|
||||
return (strtoul(nptr, endptr, base));
|
||||
}
|
||||
#endif
|
||||
|
||||
#if _MSL_WIDE_CHAR
|
||||
#if _MSL_LONGLONG
|
||||
intmax_t _MSL_CDECL wcstoimax(const wchar_t * _MSL_RESTRICT nptr, wchar_t * * _MSL_RESTRICT endptr, int base) _MSL_CANT_THROW;
|
||||
_MSL_INLINE intmax_t _MSL_CDECL wcstoimax (const wchar_t * _MSL_RESTRICT nptr, wchar_t * * _MSL_RESTRICT endptr, int base) _MSL_CANT_THROW {
|
||||
return (wcstoll(nptr, endptr, base));
|
||||
}
|
||||
uintmax_t _MSL_CDECL wcstoumax(const wchar_t * _MSL_RESTRICT nptr, wchar_t * * _MSL_RESTRICT endptr, int base) _MSL_CANT_THROW;
|
||||
_MSL_INLINE uintmax_t _MSL_CDECL wcstoumax (const wchar_t * _MSL_RESTRICT nptr, wchar_t * * _MSL_RESTRICT endptr, int base) _MSL_CANT_THROW {
|
||||
return (wcstoull(nptr, endptr, base));
|
||||
}
|
||||
#else
|
||||
intmax_t _MSL_CDECL wcstoimax(const wchar_t * _MSL_RESTRICT nptr, wchar_t * * _MSL_RESTRICT endptr, int base) _MSL_CANT_THROW;
|
||||
_MSL_INLINE intmax_t _MSL_CDECL wcstoimax (const wchar_t * _MSL_RESTRICT nptr, wchar_t * * _MSL_RESTRICT endptr, int base) _MSL_CANT_THROW {
|
||||
return (wcstol(nptr, endptr, base));
|
||||
}
|
||||
uintmax_t _MSL_CDECL wcstoumax(const wchar_t * _MSL_RESTRICT nptr, wchar_t * * _MSL_RESTRICT endptr, int base) _MSL_CANT_THROW;
|
||||
_MSL_INLINE uintmax_t _MSL_CDECL wcstoumax (const wchar_t * _MSL_RESTRICT nptr, wchar_t * * _MSL_RESTRICT endptr, int base) _MSL_CANT_THROW {
|
||||
return (wcstoul(nptr, endptr, base));
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
_MSL_END_EXTERN_C
|
||||
_MSL_END_NAMESPACE_STD
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
#ifndef _MSL_CISO646
|
||||
#define _MSL_CISO646
|
||||
|
||||
#include <ansi_params.h>
|
||||
|
||||
#if !_MSL_USING_MW_C_HEADERS
|
||||
#error You must have the non-MSL C header file access path before the MSL access path
|
||||
#else
|
||||
|
||||
#ifndef RC_INVOKED
|
||||
|
||||
#ifndef __cplusplus
|
||||
|
||||
#define and &&
|
||||
#define and_eq &=
|
||||
#define bitand &
|
||||
#define bitor |
|
||||
#define compl ~
|
||||
#define not !
|
||||
#define not_eq !=
|
||||
#define or ||
|
||||
#define or_eq |=
|
||||
#define xor ^
|
||||
#define xor_eq ^=
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
@ -1,46 +0,0 @@
|
|||
#ifndef _MSL_CLIMITS
|
||||
#define _MSL_CLIMITS
|
||||
|
||||
#include <ansi_params.h>
|
||||
|
||||
#if !_MSL_USING_MW_C_HEADERS
|
||||
#include <limits.h>
|
||||
#else
|
||||
|
||||
#ifndef RC_INVOKED
|
||||
|
||||
#include <limits_api.h>
|
||||
|
||||
#define MB_LEN_MAX _MSL_MB_LEN_MAX
|
||||
#define CHAR_BIT _MSL_CHAR_BIT
|
||||
|
||||
#define SCHAR_MAX _MSL_SCHAR_MAX
|
||||
#define UCHAR_MAX _MSL_UCHAR_MAX
|
||||
#define SCHAR_MIN _MSL_SCHAR_MIN
|
||||
|
||||
#define CHAR_MIN _MSL_CHAR_MIN
|
||||
#define CHAR_MAX _MSL_CHAR_MAX
|
||||
|
||||
#define SHRT_MAX _MSL_SHRT_MAX
|
||||
#define USHRT_MAX _MSL_USHRT_MAX
|
||||
#define SHRT_MIN _MSL_SHRT_MIN
|
||||
|
||||
#define INT_MAX _MSL_INT_MAX
|
||||
#define UINT_MAX _MSL_UINT_MAX
|
||||
#define INT_MIN _MSL_INT_MIN
|
||||
|
||||
#define LONG_MAX _MSL_LONG_MAX
|
||||
#define ULONG_MAX _MSL_ULONG_MAX
|
||||
#define LONG_MIN _MSL_LONG_MIN
|
||||
|
||||
#if _MSL_LONGLONG && _MSL_C99
|
||||
#define LLONG_MAX _MSL_LLONG_MAX
|
||||
#define ULLONG_MAX _MSL_ULLONG_MAX
|
||||
#define LLONG_MIN _MSL_LLONG_MIN
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
@ -1,77 +0,0 @@
|
|||
#ifndef _MSL_CLOCALE
|
||||
#define _MSL_CLOCALE
|
||||
|
||||
#include <ansi_params.h>
|
||||
|
||||
#if !_MSL_USING_MW_C_HEADERS
|
||||
#include <locale.h>
|
||||
|
||||
#if _MSL_PUT_THIRD_PARTY_C_IN_STD
|
||||
#include <msl_cpp_std_locale.h>
|
||||
#endif
|
||||
#else
|
||||
|
||||
#ifndef RC_INVOKED
|
||||
|
||||
#include <null.h>
|
||||
|
||||
_MSL_BEGIN_NAMESPACE_STD
|
||||
_MSL_BEGIN_EXTERN_C
|
||||
|
||||
#define LC_FIRST 0
|
||||
#define LC_COLLATE 0x01
|
||||
#define LC_CTYPE 0x02
|
||||
#define LC_MONETARY 0x04
|
||||
#define LC_NUMERIC 0x08
|
||||
#define LC_TIME 0x10
|
||||
#define LC_ALL 0x1F
|
||||
#define LC_LAST LC_ALL
|
||||
|
||||
#if !_MSL_C_LOCALE_ONLY
|
||||
#pragma options align=native
|
||||
#pragma warn_padding off
|
||||
struct lconv {
|
||||
char * decimal_point;
|
||||
char * thousands_sep;
|
||||
char * grouping;
|
||||
char * mon_decimal_point;
|
||||
char * mon_thousands_sep;
|
||||
char * mon_grouping;
|
||||
char * positive_sign;
|
||||
char * negative_sign;
|
||||
char * currency_symbol;
|
||||
char frac_digits;
|
||||
char p_cs_precedes;
|
||||
char n_cs_precedes;
|
||||
char p_sep_by_space;
|
||||
char n_sep_by_space;
|
||||
char p_sign_posn;
|
||||
char n_sign_posn;
|
||||
char * int_curr_symbol;
|
||||
char int_frac_digits;
|
||||
#if _MSL_C99
|
||||
char int_p_cs_precedes;
|
||||
char int_n_cs_precedes;
|
||||
char int_p_sep_by_space;
|
||||
char int_n_sep_by_space;
|
||||
char int_p_sign_posn;
|
||||
char int_n_sign_posn;
|
||||
#endif
|
||||
};
|
||||
#pragma warn_padding reset
|
||||
#pragma options align=reset
|
||||
|
||||
_MSL_IMP_EXP_C struct lconv * _MSL_CDECL localeconv(void) _MSL_CANT_THROW;
|
||||
|
||||
#endif
|
||||
|
||||
_MSL_IMP_EXP_C char * _MSL_CDECL setlocale(int, const char *) _MSL_CANT_THROW;
|
||||
|
||||
_MSL_END_EXTERN_C
|
||||
_MSL_END_NAMESPACE_STD
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
#ifndef _MSL_CMATH
|
||||
#define _MSL_CMATH
|
||||
|
||||
#ifndef __cmath__
|
||||
#define __cmath__
|
||||
#endif
|
||||
|
||||
#include <ansi_params.h>
|
||||
|
||||
#if _MSL_FLOATING_POINT && !defined(_MSL_NO_MATH_LIB)
|
||||
|
||||
#if _MSL_C99
|
||||
#ifndef MATH_ERRNO
|
||||
#define MATH_ERRNO 1
|
||||
#endif
|
||||
|
||||
#ifndef MATH_ERREXCEPT
|
||||
#define MATH_ERREXCEPT 2
|
||||
#endif
|
||||
|
||||
#ifndef math_errhandling
|
||||
#define math_errhandling _MSL_MATH_ERRHANDLING
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
#ifndef _MSL_COMPLEX_H
|
||||
#define _MSL_COMPLEX_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
#include <complex>
|
||||
|
||||
#ifndef _MSL_NO_CPP_NAMESPACE
|
||||
#if _MSL_FLOATING_POINT && !defined(_MSL_NO_MATH_LIB)
|
||||
using std::complex;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#else
|
||||
|
||||
#include <ansi_params.h>
|
||||
|
||||
#if !_MSL_USING_MW_C_HEADERS
|
||||
#if !__MACH__
|
||||
#error You must have the non-MSL C header file access path before the MSL access path
|
||||
#endif
|
||||
#else
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
#ifndef _MSL_CONSOLE_IO_H
|
||||
#define _MSL_CONSOLE_IO_H
|
||||
|
||||
#include <ansi_params.h>
|
||||
#include <cstdio>
|
||||
|
||||
_MSL_BEGIN_EXTERN_C
|
||||
|
||||
#if _MSL_CONSOLE_SUPPORT
|
||||
int _MSL_CDECL __read_console(__std(__file_handle) handle, unsigned char * buffer, __std(size_t) * count, __std(__ref_con) ref_con);
|
||||
int _MSL_CDECL __write_console(__std(__file_handle) handle, unsigned char * buffer, __std(size_t) * count, __std(__ref_con) ref_con);
|
||||
int _MSL_CDECL __close_console(__std(__file_handle) handle) _MSL_CANT_THROW;
|
||||
#endif
|
||||
|
||||
_MSL_END_EXTERN_C
|
||||
|
||||
#endif
|
||||
|
|
@ -1,54 +0,0 @@
|
|||
#ifndef _MSL_CRITICAL_REGIONS_PTHREADS_H
|
||||
#define _MSL_CRITICAL_REGIONS_PTHREADS_H
|
||||
|
||||
#include <msl_thread_local_data.h>
|
||||
#include <nitro/os/common/thread.h>
|
||||
#include <nitro/os/common/mutex.h>
|
||||
|
||||
_MSL_BEGIN_EXTERN_C
|
||||
|
||||
_MSL_IMP_EXP_C extern OSMutex __cs[num_critical_regions];
|
||||
extern int __cs_id[num_critical_regions];
|
||||
extern int __cs_ref[num_critical_regions];
|
||||
|
||||
_MSL_INLINE void __init_critical_regions (void) _MSL_CANT_THROW {
|
||||
int i;
|
||||
|
||||
for (i = 0; i < num_critical_regions; i++) {
|
||||
OS_InitMutex(&__cs[i]);
|
||||
}
|
||||
}
|
||||
|
||||
_MSL_INLINE void __kill_critical_regions (void) _MSL_CANT_THROW {
|
||||
}
|
||||
|
||||
_MSL_INLINE void __begin_critical_region (int region) _MSL_CANT_THROW {
|
||||
OSThread * currentThread;
|
||||
|
||||
if (OS_TryLockMutex(&__cs[region]) == 0) {
|
||||
currentThread = OS_GetCurrentThread();
|
||||
__cs_id[region] = OS_GetThreadId(currentThread);
|
||||
__cs_ref[region] = 1;
|
||||
} else {
|
||||
currentThread = OS_GetCurrentThread();
|
||||
OS_GetThreadId(currentThread);
|
||||
if (OS_GetThreadId(currentThread) == __cs_id[region]) {
|
||||
__cs_ref[region]++;
|
||||
} else {
|
||||
OS_LockMutex(&__cs[region]);
|
||||
currentThread = OS_GetCurrentThread();
|
||||
__cs_id[region] = OS_GetThreadId(currentThread);
|
||||
__cs_ref[region] = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
_MSL_INLINE void __end_critical_region (int region) _MSL_CANT_THROW {
|
||||
if (--__cs_ref[region] == 0) {
|
||||
OS_UnlockMutex(&__cs[region]);
|
||||
}
|
||||
}
|
||||
|
||||
_MSL_END_EXTERN_C
|
||||
|
||||
#endif
|
||||
|
|
@ -1,66 +0,0 @@
|
|||
#ifndef _MSL_CRITICAL_REGIONS_H
|
||||
#define _MSL_CRITICAL_REGIONS_H
|
||||
|
||||
#include <ansi_params.h>
|
||||
|
||||
_MSL_BEGIN_EXTERN_C
|
||||
|
||||
enum critical_regions
|
||||
{
|
||||
atexit_funcs_access =0,
|
||||
malloc_pool_access =1,
|
||||
stdin_access =2,
|
||||
stdout_access =3,
|
||||
stderr_access =4,
|
||||
files_access =5,
|
||||
console_status_access =6,
|
||||
signal_funcs_access =7,
|
||||
thread_access =8,
|
||||
num_critical_regions =9
|
||||
};
|
||||
|
||||
#if _MSL_THREADSAFE
|
||||
|
||||
_MSL_INLINE void _MSL_CDECL __init_critical_regions(void) _MSL_CANT_THROW;
|
||||
_MSL_INLINE void _MSL_CDECL __kill_critical_regions(void) _MSL_CANT_THROW;
|
||||
_MSL_INLINE void _MSL_CDECL __begin_critical_region(int region) _MSL_CANT_THROW;
|
||||
_MSL_INLINE void _MSL_CDECL __end_critical_region(int region) _MSL_CANT_THROW;
|
||||
|
||||
#if __dest_os == __arm_bare
|
||||
#include <critical_regions.NITRO.h>
|
||||
#elif _MSL_PTHREADS
|
||||
#include <critical_regions.pthreads.h>
|
||||
#endif
|
||||
|
||||
#else
|
||||
|
||||
#define __init_critical_regions()
|
||||
#define __kill_critical_regions()
|
||||
#define __begin_critical_region(x)
|
||||
#define __end_critical_region(x)
|
||||
|
||||
#endif
|
||||
|
||||
_MSL_END_EXTERN_C
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,45 +0,0 @@
|
|||
#ifndef _MSL_CRITICAL_REGIONS_PTHREADS_H
|
||||
#define _MSL_CRITICAL_REGIONS_PTHREADS_H
|
||||
|
||||
#include <msl_thread_local_data.h>
|
||||
#include <pthread.h>
|
||||
|
||||
_MSL_BEGIN_EXTERN_C
|
||||
|
||||
_MSL_IMP_EXP_C extern pthread_mutex_t __cs[num_critical_regions];
|
||||
|
||||
_MSL_INLINE void __init_critical_regions (void) _MSL_CANT_THROW {
|
||||
int i;
|
||||
|
||||
for (i = 0; i < num_critical_regions; i++) {
|
||||
pthread_mutex_init(&__cs[i], 0);
|
||||
}
|
||||
|
||||
#if _MSL_LOCALDATA_AVAILABLE
|
||||
__msl_InitializeMainThreadData();
|
||||
#endif
|
||||
}
|
||||
|
||||
_MSL_INLINE void __kill_critical_regions (void) _MSL_CANT_THROW {
|
||||
int i;
|
||||
|
||||
#if _MSL_LOCALDATA_AVAILABLE
|
||||
__msl_DisposeAllThreadData();
|
||||
#endif
|
||||
|
||||
for (i = 0; i < num_critical_regions; i++) {
|
||||
pthread_mutex_destroy(&__cs[i]);
|
||||
}
|
||||
}
|
||||
|
||||
_MSL_INLINE void __begin_critical_region (int region) _MSL_CANT_THROW {
|
||||
pthread_mutex_lock(&__cs[region]);
|
||||
}
|
||||
|
||||
_MSL_INLINE void __end_critical_region (int region) _MSL_CANT_THROW {
|
||||
pthread_mutex_unlock(&__cs[region]);
|
||||
}
|
||||
|
||||
_MSL_END_EXTERN_C
|
||||
|
||||
#endif
|
||||
|
|
@ -1,53 +0,0 @@
|
|||
#ifndef _MSL_CSETJMP
|
||||
#define _MSL_CSETJMP
|
||||
|
||||
#include <ansi_params.h>
|
||||
|
||||
#if !_MSL_USING_MW_C_HEADERS
|
||||
#include <setjmp.h>
|
||||
|
||||
#if _MSL_PUT_THIRD_PARTY_C_IN_STD
|
||||
#include <msl_cpp_std_setjmp.h>
|
||||
#endif
|
||||
#else
|
||||
|
||||
#ifndef RC_INVOKED
|
||||
|
||||
#if __dest_os == __arm_bare
|
||||
#include <setjmp.ARM.h>
|
||||
#else
|
||||
#error Unknown platform
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_SETJMP_LONGJMP_DEFINED
|
||||
#define _MSL_SETJMP_LONGJMP_DEFINED
|
||||
|
||||
_MSL_BEGIN_EXTERN_C
|
||||
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL setjmp(__std(jmp_buf));
|
||||
|
||||
_MSL_END_EXTERN_C
|
||||
|
||||
_MSL_BEGIN_NAMESPACE_STD
|
||||
_MSL_BEGIN_EXTERN_C
|
||||
|
||||
_MSL_IMP_EXP_C void _MSL_CDECL longjmp(jmp_buf, int) _MSL_CANT_THROW;
|
||||
|
||||
_MSL_END_EXTERN_C
|
||||
_MSL_END_NAMESPACE_STD
|
||||
|
||||
#endif
|
||||
|
||||
_MSL_BEGIN_NAMESPACE_STD
|
||||
_MSL_BEGIN_EXTERN_C
|
||||
|
||||
_MSL_IMP_EXP_C void _MSL_CDECL __longjmp_ldestr(jmp_buf, int) _MSL_CANT_THROW;
|
||||
|
||||
_MSL_END_EXTERN_C
|
||||
_MSL_END_NAMESPACE_STD
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
@ -1,74 +0,0 @@
|
|||
#ifndef _MSL_CSIGNAL
|
||||
#define _MSL_CSIGNAL
|
||||
|
||||
#include <ansi_params.h>
|
||||
|
||||
#if !_MSL_USING_MW_C_HEADERS
|
||||
#include <signal.h>
|
||||
|
||||
#if _MSL_PUT_THIRD_PARTY_C_IN_STD
|
||||
#include <msl_cpp_std_signal.h>
|
||||
#endif
|
||||
#else
|
||||
|
||||
#ifndef RC_INVOKED
|
||||
|
||||
_MSL_BEGIN_NAMESPACE_STD
|
||||
_MSL_BEGIN_EXTERN_C
|
||||
|
||||
typedef int sig_atomic_t;
|
||||
typedef void (* __signal_func_ptr)(int);
|
||||
|
||||
_MSL_IMP_EXP_C __signal_func_ptr _MSL_CDECL signal(int, __signal_func_ptr) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL raise(int) _MSL_CANT_THROW;
|
||||
|
||||
#ifndef SIG_DFL
|
||||
#define SIG_DFL ((__std(__signal_func_ptr)) 0)
|
||||
#endif
|
||||
|
||||
#ifndef SIG_IGN
|
||||
#define SIG_IGN ((__std(__signal_func_ptr)) 1)
|
||||
#endif
|
||||
|
||||
#ifndef SIG_ERR
|
||||
#define SIG_ERR ((__std(__signal_func_ptr)) - 1)
|
||||
#endif
|
||||
|
||||
_MSL_END_EXTERN_C
|
||||
_MSL_END_NAMESPACE_STD
|
||||
|
||||
#ifndef SIGABRT
|
||||
#define SIGABRT 1
|
||||
#endif
|
||||
|
||||
#ifndef SIGFPE
|
||||
#define SIGFPE 2
|
||||
#endif
|
||||
|
||||
#ifndef SIGILL
|
||||
#define SIGILL 3
|
||||
#endif
|
||||
|
||||
#ifndef SIGINT
|
||||
#define SIGINT 4
|
||||
#endif
|
||||
|
||||
#ifndef SIGSEGV
|
||||
#define SIGSEGV 5
|
||||
#endif
|
||||
|
||||
#ifndef SIGTERM
|
||||
#define SIGTERM 6
|
||||
#endif
|
||||
|
||||
#ifndef SIGBREAK
|
||||
#define SIGBREAK 7
|
||||
#endif
|
||||
|
||||
#define __msl_signal_max 7
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
#ifndef _MSL_CSTDARG
|
||||
#define _MSL_CSTDARG
|
||||
|
||||
#include <ansi_params.h>
|
||||
|
||||
#if !_MSL_USING_MW_C_HEADERS
|
||||
#include <stdarg.h>
|
||||
|
||||
#if _MSL_PUT_THIRD_PARTY_C_IN_STD
|
||||
#include <msl_cpp_std_stdarg.h>
|
||||
#endif
|
||||
#else
|
||||
|
||||
#include <va_list.h>
|
||||
|
||||
#if __dest_os == __arm_bare
|
||||
#include <stdarg.ARM.h>
|
||||
#else
|
||||
#error Unknown platform
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
#ifndef _MSL_CSTDDEF
|
||||
#define _MSL_CSTDDEF
|
||||
|
||||
#include <ansi_params.h>
|
||||
|
||||
#if !_MSL_USING_MW_C_HEADERS
|
||||
#include <stddef.h>
|
||||
|
||||
#if _MSL_PUT_THIRD_PARTY_C_IN_STD
|
||||
#include <msl_cpp_std_stddef.h>
|
||||
#endif
|
||||
#else
|
||||
|
||||
#ifndef RC_INVOKED
|
||||
|
||||
#include <null.h>
|
||||
#include <size_t.h>
|
||||
#include <wchar_t.h>
|
||||
|
||||
#ifndef _MSL_OFFSETOF
|
||||
#define _MSL_OFFSETOF(type, member) ((__std(size_t)) & (((type *)0)->member))
|
||||
#endif
|
||||
|
||||
#ifndef offsetof
|
||||
#define offsetof(type, member) _MSL_OFFSETOF(type, member)
|
||||
#endif
|
||||
|
||||
_MSL_BEGIN_NAMESPACE_STD
|
||||
_MSL_BEGIN_EXTERN_C
|
||||
|
||||
#ifndef _MSL_PTRDIFF_T_TYPE
|
||||
#define _MSL_PTRDIFF_T_TYPE __typeof__((char *)0 - (char *)0)
|
||||
#endif
|
||||
|
||||
typedef _MSL_PTRDIFF_T_TYPE ptrdiff_t;
|
||||
|
||||
_MSL_END_EXTERN_C
|
||||
_MSL_END_NAMESPACE_STD
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
@ -1,217 +0,0 @@
|
|||
#ifndef _MSL_CSTDINT
|
||||
#define _MSL_CSTDINT
|
||||
|
||||
#include <ansi_params.h>
|
||||
|
||||
#if !_MSL_USING_MW_C_HEADERS
|
||||
#include <stdint.h>
|
||||
|
||||
#if _MSL_PUT_THIRD_PARTY_C_IN_STD
|
||||
#include <msl_cpp_std_stdint.h>
|
||||
#endif
|
||||
#else
|
||||
|
||||
#include <limits_api.h>
|
||||
#include <msl_secure.h>
|
||||
|
||||
#ifndef RC_INVOKED
|
||||
|
||||
_MSL_BEGIN_NAMESPACE_STD
|
||||
_MSL_BEGIN_EXTERN_C
|
||||
|
||||
typedef signed char int8_t;
|
||||
typedef short int int16_t;
|
||||
typedef long int int32_t;
|
||||
|
||||
#if _MSL_LONGLONG
|
||||
typedef long long int64_t;
|
||||
#endif
|
||||
|
||||
typedef unsigned char uint8_t;
|
||||
typedef unsigned short int uint16_t;
|
||||
typedef unsigned long int uint32_t;
|
||||
|
||||
#if _MSL_LONGLONG
|
||||
typedef unsigned long long uint64_t;
|
||||
#endif
|
||||
|
||||
#if (_MSL_C99 || defined(__cplusplus))
|
||||
|
||||
typedef signed char int_least8_t;
|
||||
typedef short int int_least16_t;
|
||||
typedef long int int_least32_t;
|
||||
|
||||
#if _MSL_LONGLONG
|
||||
typedef long long int_least64_t;
|
||||
#endif
|
||||
|
||||
typedef unsigned char uint_least8_t;
|
||||
typedef unsigned short int uint_least16_t;
|
||||
typedef unsigned long int uint_least32_t;
|
||||
|
||||
#if _MSL_LONGLONG
|
||||
typedef unsigned long long uint_least64_t;
|
||||
#endif
|
||||
|
||||
typedef signed char int_fast8_t;
|
||||
typedef short int int_fast16_t;
|
||||
typedef long int int_fast32_t;
|
||||
|
||||
#if _MSL_LONGLONG
|
||||
typedef long long int_fast64_t;
|
||||
#endif
|
||||
|
||||
typedef unsigned char uint_fast8_t;
|
||||
typedef unsigned short int uint_fast16_t;
|
||||
typedef unsigned long int uint_fast32_t;
|
||||
|
||||
#if _MSL_LONGLONG
|
||||
typedef unsigned long long uint_fast64_t;
|
||||
#endif
|
||||
|
||||
typedef int32_t intptr_t;
|
||||
typedef uint32_t uintptr_t;
|
||||
|
||||
#if _MSL_LONGLONG
|
||||
typedef int64_t intmax_t;
|
||||
#else
|
||||
typedef int32_t intmax_t;
|
||||
#endif
|
||||
|
||||
#if _MSL_LONGLONG
|
||||
typedef uint64_t uintmax_t;
|
||||
#else
|
||||
typedef uint32_t uintmax_t;
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
_MSL_END_EXTERN_C
|
||||
_MSL_END_NAMESPACE_STD
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#if _MSL_USING_MW_C_HEADERS
|
||||
|
||||
#if (!defined(__cplusplus)) || defined(__STDC_LIMIT_MACROS)
|
||||
#ifndef INT8_MIN
|
||||
|
||||
#define INT8_MIN _MSL_SCHAR_MIN
|
||||
#define INT16_MIN _MSL_SHRT_MIN
|
||||
#define INT32_MIN _MSL_LONG_MIN
|
||||
#if _MSL_LONGLONG
|
||||
#define INT64_MIN _MSL_LLONG_MIN
|
||||
#endif
|
||||
|
||||
#define INT8_MAX _MSL_SCHAR_MAX
|
||||
#define INT16_MAX _MSL_SHRT_MAX
|
||||
#define INT32_MAX _MSL_LONG_MAX
|
||||
#if _MSL_LONGLONG
|
||||
#define INT64_MAX _MSL_LLONG_MAX
|
||||
#endif
|
||||
|
||||
#define UINT8_MAX _MSL_UCHAR_MAX
|
||||
#define UINT16_MAX _MSL_USHRT_MAX
|
||||
#define UINT32_MAX _MSL_ULONG_MAX
|
||||
#if _MSL_LONGLONG
|
||||
#define UINT64_MAX _MSL_ULLONG_MAX
|
||||
#endif
|
||||
|
||||
#define INT_LEAST8_MIN _MSL_SCHAR_MIN
|
||||
#define INT_LEAST16_MIN _MSL_SHRT_MIN
|
||||
#define INT_LEAST32_MIN _MSL_LONG_MIN
|
||||
#if _MSL_LONGLONG
|
||||
#define INT_LEAST64_MIN _MSL_LLONG_MIN
|
||||
#endif
|
||||
|
||||
#define INT_LEAST8_MAX _MSL_SCHAR_MAX
|
||||
#define INT_LEAST16_MAX _MSL_SHRT_MAX
|
||||
#define INT_LEAST32_MAX _MSL_LONG_MAX
|
||||
#if _MSL_LONGLONG
|
||||
#define INT_LEAST64_MAX _MSL_LLONG_MAX
|
||||
#endif
|
||||
#define UINT_LEAST8_MAX _MSL_UCHAR_MAX
|
||||
#define UINT_LEAST16_MAX _MSL_USHRT_MAX
|
||||
#define UINT_LEAST32_MAX _MSL_ULONG_MAX
|
||||
#if _MSL_LONGLONG
|
||||
#define UINT_LEAST64_MAX _MSL_ULLONG_MAX
|
||||
#endif
|
||||
|
||||
#define INT_FAST8_MIN _MSL_SCHAR_MIN
|
||||
#define INT_FAST16_MIN _MSL_SHRT_MIN
|
||||
#define INT_FAST32_MIN _MSL_LONG_MIN
|
||||
#if _MSL_LONGLONG
|
||||
#define INT_FAST64_MIN _MSL_LLONG_MIN
|
||||
#endif
|
||||
|
||||
#define INT_FAST8_MAX _MSL_SCHAR_MAX
|
||||
#define INT_FAST16_MAX _MSL_SHRT_MAX
|
||||
#define INT_FAST32_MAX _MSL_LONG_MAX
|
||||
#if _MSL_LONGLONG
|
||||
#define INT_FAST64_MAX _MSL_LLONG_MAX
|
||||
#endif
|
||||
|
||||
#define UINT_FAST8_MAX _MSL_UCHAR_MAX
|
||||
#define UINT_FAST16_MAX _MSL_USHRT_MAX
|
||||
#define UINT_FAST32_MAX _MSL_ULONG_MAX
|
||||
#if _MSL_LONGLONG
|
||||
#define UINT_FAST64_MAX _MSL_ULLONG_MAX
|
||||
#endif
|
||||
|
||||
#define INTPTR_MIN _MSL_LONG_MIN
|
||||
#define INTPTR_MAX _MSL_LONG_MAX
|
||||
#define UINTPTR_MAX _MSL_ULONG_MAX
|
||||
|
||||
#if _MSL_LONGLONG
|
||||
#define INTMAX_MIN _MSL_LLONG_MIN
|
||||
#define INTMAX_MAX _MSL_LLONG_MAX
|
||||
#define UINTMAX_MAX _MSL_ULLONG_MAX
|
||||
#endif
|
||||
|
||||
#define PTRDIFF_MIN _MSL_LONG_MIN
|
||||
#define PTRDIFF_MAX _MSL_LONG_MAX
|
||||
#define SIG_ATOMIC_MIN _MSL_INT_MIN
|
||||
#define SIG_ATOMIC_MAX _MSL_INT_MAX
|
||||
|
||||
#define SIZE_MAX _MSL_ULONG_MAX
|
||||
|
||||
#if defined(__STDC_WANT_SECURE_LIB__) && __STDC_WANT_SECURE_LIB__
|
||||
#ifndef _MSL_RSIZE_MAX
|
||||
#define _MSL_RSIZE_MAX (SIZE_MAX >> 1)
|
||||
#endif
|
||||
|
||||
#define RSIZE_MAX _MSL_RSIZE_MAX
|
||||
#endif
|
||||
|
||||
#if _MSL_WIDE_CHAR
|
||||
#include <wchar_t.h>
|
||||
#define WINT_MIN WCHAR_MIN
|
||||
#define WINT_MAX WCHAR_MAX
|
||||
#endif
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if (!defined(__cplusplus)) || defined(__STDC_CONSTANT_MACROS)
|
||||
#ifndef INT8_C
|
||||
|
||||
#define INT8_C(value) value
|
||||
#define INT16_C(value) value
|
||||
#define INT32_C(value) value ## L
|
||||
#define INT64_C(value) value ## LL
|
||||
#define UINT8_C(value) value ## U
|
||||
#define UINT16_C(value) value ## U
|
||||
#define UINT32_C(value) value ## UL
|
||||
#define UINT64_C(value) value ## ULL
|
||||
|
||||
#if _MSL_LONGLONG
|
||||
#define INTMAX_C(value) value ## LL
|
||||
#define UINTMAX_C(value) value ## ULL
|
||||
#endif
|
||||
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
|
@ -1,184 +0,0 @@
|
|||
#ifndef _MSL_CSTDIO
|
||||
#define _MSL_CSTDIO
|
||||
|
||||
#include <ansi_params.h>
|
||||
|
||||
#if !_MSL_USING_MW_C_HEADERS
|
||||
#include <stdio.h>
|
||||
|
||||
#if _MSL_PUT_THIRD_PARTY_C_IN_STD
|
||||
#include <msl_cpp_std_stdio.h>
|
||||
#endif
|
||||
#else
|
||||
|
||||
#include <size_t.h>
|
||||
#include <null.h>
|
||||
#include <eof.h>
|
||||
#include <va_list.h>
|
||||
|
||||
#if _MSL_WFILEIO_AVAILABLE
|
||||
#include <wchar_t.h>
|
||||
#endif
|
||||
|
||||
#include <msl_secure.h>
|
||||
#include <msl_rsize_t.h>
|
||||
#include <file_struc.h>
|
||||
#include <stdio_api.h>
|
||||
|
||||
#if _MSL_POSIX
|
||||
#include <stdio.posix.h>
|
||||
#endif
|
||||
|
||||
#ifndef RC_INVOKED
|
||||
|
||||
#pragma options align=native
|
||||
|
||||
_MSL_BEGIN_NAMESPACE_STD
|
||||
_MSL_BEGIN_EXTERN_C
|
||||
|
||||
_MSL_IMP_EXP_C void _MSL_CDECL setbuf(FILE * _MSL_RESTRICT, char * _MSL_RESTRICT) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL setvbuf(FILE * _MSL_RESTRICT, char * _MSL_RESTRICT, int, size_t) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL fclose(FILE *) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL fflush(FILE *) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL fscanf(FILE * _MSL_RESTRICT, const char * _MSL_RESTRICT, ...) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL scanf(const char * _MSL_RESTRICT, ...) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL sprintf(char * _MSL_RESTRICT, const char * _MSL_RESTRICT, ...) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL snprintf(char * _MSL_RESTRICT, size_t, const char * _MSL_RESTRICT, ...) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL sscanf(const char * _MSL_RESTRICT, const char * _MSL_RESTRICT, ...) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL vfscanf(FILE * _MSL_RESTRICT, const char * _MSL_RESTRICT, va_list) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL vsscanf(const char * _MSL_RESTRICT, const char * _MSL_RESTRICT, va_list) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL vscanf(const char * _MSL_RESTRICT, va_list) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL vfprintf(FILE * _MSL_RESTRICT, const char * _MSL_RESTRICT, va_list) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL vprintf(const char * _MSL_RESTRICT, va_list) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL vsprintf(char * _MSL_RESTRICT, const char * _MSL_RESTRICT, va_list) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL vsnprintf(char * _MSL_RESTRICT, size_t, const char * _MSL_RESTRICT, va_list) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL fgetc(FILE *) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C char * _MSL_CDECL fgets(char * _MSL_RESTRICT, int, FILE * _MSL_RESTRICT) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL fputc(int, FILE *) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL fputs(const char * _MSL_RESTRICT, FILE * _MSL_RESTRICT) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C char * _MSL_CDECL gets(char *) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL puts(const char *) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL ungetc(int, FILE *) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C size_t _MSL_CDECL fread(void * _MSL_RESTRICT, size_t, size_t, FILE * _MSL_RESTRICT) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C size_t _MSL_CDECL fwrite(const void * _MSL_RESTRICT, size_t, size_t, FILE * _MSL_RESTRICT) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL fgetpos(FILE * _MSL_RESTRICT, fpos_t * _MSL_RESTRICT) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C long _MSL_CDECL ftell(FILE *) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL fsetpos(FILE *, const fpos_t *) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL fseek(FILE *, long, int) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C void _MSL_CDECL rewind(FILE *) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C void _MSL_CDECL clearerr(FILE *) _MSL_CANT_THROW;
|
||||
|
||||
#if _MSL_OS_DISK_FILE_SUPPORT
|
||||
_MSL_IMP_EXP_C void _MSL_CDECL perror(const char *) _MSL_CANT_THROW;
|
||||
#endif
|
||||
|
||||
#if defined(__STDC_WANT_SECURE_LIB__) && __STDC_WANT_SECURE_LIB__
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL fscanf_s(FILE * _MSL_RESTRICT, const char * _MSL_RESTRICT, ...) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL scanf_s(const char * _MSL_RESTRICT, ...) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL sscanf_s(const char * _MSL_RESTRICT, const char * _MSL_RESTRICT, ...) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL vfscanf_s(FILE * _MSL_RESTRICT, const char * _MSL_RESTRICT, va_list) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL vsscanf_s(const char * _MSL_RESTRICT, const char * _MSL_RESTRICT, va_list) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C char * _MSL_CDECL gets_s(char *, rsize_t) _MSL_CANT_THROW;
|
||||
#endif
|
||||
|
||||
#if _MSL_OS_DISK_FILE_SUPPORT
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL remove(const char *) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL rename(const char *, const char *) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C char * _MSL_CDECL tmpnam(char *) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C FILE * _MSL_CDECL tmpfile(void) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL fprintf(FILE * _MSL_RESTRICT, const char * _MSL_RESTRICT, ...) _MSL_CANT_THROW;
|
||||
|
||||
_MSL_IMP_EXP_C FILE * _MSL_CDECL fopen(const char * _MSL_RESTRICT, const char * _MSL_RESTRICT) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C FILE * _MSL_CDECL freopen(const char * _MSL_RESTRICT, const char * _MSL_RESTRICT, FILE * _MSL_RESTRICT) _MSL_CANT_THROW;
|
||||
#if defined(__STDC_WANT_SECURE_LIB__) && __STDC_WANT_SECURE_LIB__
|
||||
_MSL_IMP_EXP_C errno_t _MSL_CDECL fopen_s(FILE * _MSL_RESTRICT * _MSL_RESTRICT, const char * _MSL_RESTRICT, const char * _MSL_RESTRICT) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C errno_t _MSL_CDECL freopen_s(FILE * _MSL_RESTRICT * _MSL_RESTRICT, const char * _MSL_RESTRICT, const char * _MSL_RESTRICT, FILE * _MSL_RESTRICT) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C errno_t _MSL_CDECL tmpfile_s(FILE * *) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C errno_t _MSL_CDECL tmpnam_s(char *, rsize_t) _MSL_CANT_THROW;
|
||||
#endif
|
||||
#if _MSL_WFILEIO_AVAILABLE
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL _wremove(const wchar_t *) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL _wrename(const wchar_t *, const wchar_t *) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C wchar_t * _MSL_CDECL _wtmpnam(wchar_t *) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C FILE * _MSL_CDECL _wfopen(const wchar_t * _MSL_RESTRICT, const wchar_t * _MSL_RESTRICT) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C FILE * _MSL_CDECL _wfreopen(const wchar_t * _MSL_RESTRICT, const wchar_t * _MSL_RESTRICT, FILE * _MSL_RESTRICT) _MSL_CANT_THROW;
|
||||
#if defined(__STDC_WANT_SECURE_LIB__) && __STDC_WANT_SECURE_LIB__
|
||||
_MSL_IMP_EXP_C errno_t _MSL_CDECL _wfopen_s(FILE * _MSL_RESTRICT * _MSL_RESTRICT, const wchar_t * _MSL_RESTRICT, const wchar_t * _MSL_RESTRICT) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C errno_t _MSL_CDECL _wfreopen_s(FILE * _MSL_RESTRICT * _MSL_RESTRICT, const wchar_t * _MSL_RESTRICT, const wchar_t * _MSL_RESTRICT, FILE * _MSL_RESTRICT) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C errno_t _MSL_CDECL _wtmpnam_s(wchar_t *, rsize_t) _MSL_CANT_THROW;
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if _MSL_CONSOLE_SUPPORT
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL printf(const char * _MSL_RESTRICT, ...) _MSL_CANT_THROW;
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
#if _MSL_THREADSAFE
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL getc(FILE *);
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL putc(int c, FILE *);
|
||||
|
||||
_MSL_END_EXTERN_C
|
||||
#else
|
||||
_MSL_END_EXTERN_C
|
||||
|
||||
inline int _MSL_CDECL getc (FILE * file) _MSL_CANT_THROW {
|
||||
return __getc(file);
|
||||
}
|
||||
|
||||
inline int _MSL_CDECL putc (int c, FILE * file) _MSL_CANT_THROW {
|
||||
return __putc(c, file);
|
||||
}
|
||||
#endif
|
||||
|
||||
inline int _MSL_CDECL getchar () _MSL_CANT_THROW {
|
||||
return getc(stdin);
|
||||
}
|
||||
|
||||
inline int _MSL_CDECL putchar (int c) _MSL_CANT_THROW {
|
||||
return putc(c, stdout);
|
||||
}
|
||||
|
||||
inline int _MSL_CDECL feof (FILE * file) _MSL_CANT_THROW {
|
||||
return file->state.eof;
|
||||
}
|
||||
|
||||
inline int _MSL_CDECL ferror (FILE * file) _MSL_CANT_THROW {
|
||||
return file->state.error;
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL getc(FILE *);
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL putc(int c, FILE *);
|
||||
|
||||
#if !_MSL_THREADSAFE
|
||||
#define getc(file) __getc(file)
|
||||
#define putc(c, file) __putc(c, file)
|
||||
#endif
|
||||
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL getchar(void);
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL putchar(int c);
|
||||
|
||||
#define getchar() __std(getc)(stdin)
|
||||
#define putchar(c) __std(putc)(c, stdout)
|
||||
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL feof(FILE *);
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL ferror(FILE *);
|
||||
|
||||
#define feof(file) ((file)->state.eof)
|
||||
#define ferror(file) ((file)->state.error)
|
||||
|
||||
#endif
|
||||
|
||||
_MSL_END_NAMESPACE_STD
|
||||
|
||||
#pragma options align=reset
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
@ -1,233 +0,0 @@
|
|||
#ifndef _MSL_CSTDLIB
|
||||
#define _MSL_CSTDLIB
|
||||
|
||||
#include <ansi_params.h>
|
||||
|
||||
#if !_MSL_USING_MW_C_HEADERS
|
||||
#include <stdlib.h>
|
||||
|
||||
#if _MSL_PUT_THIRD_PARTY_C_IN_STD
|
||||
#include <msl_cpp_std_stdlib.h>
|
||||
#endif
|
||||
#elif defined(__PALMOS_TRAPS__)
|
||||
#include <cstdlib_Palm_OS>
|
||||
#else
|
||||
|
||||
#include <div_t.h>
|
||||
#include <null.h>
|
||||
#include <size_t.h>
|
||||
#include <msl_secure.h>
|
||||
#include <msl_rsize_t.h>
|
||||
|
||||
#if _MSL_WIDE_CHAR
|
||||
#include <wchar_t.h>
|
||||
#endif
|
||||
|
||||
#if _MSL_NEEDS_EXTRAS
|
||||
#include <extras_stdlib.h>
|
||||
#endif
|
||||
|
||||
#ifndef RC_INVOKED
|
||||
|
||||
#ifndef _MSL_MB_CUR_MAX
|
||||
#define _MSL_MB_CUR_MAX 3
|
||||
#endif
|
||||
|
||||
_MSL_BEGIN_NAMESPACE_STD
|
||||
_MSL_BEGIN_EXTERN_C
|
||||
|
||||
#define RAND_MAX 32767
|
||||
|
||||
#if defined(__STDC_WANT_SECURE_LIB__) && __STDC_WANT_SECURE_LIB__
|
||||
#define RAND_MAX_S 32767
|
||||
#endif
|
||||
|
||||
#define MB_CUR_MAX _MSL_MB_CUR_MAX
|
||||
|
||||
#define EXIT_SUCCESS 0
|
||||
#define EXIT_FAILURE 1
|
||||
|
||||
#define _MAX_PATH 1024
|
||||
|
||||
#if _MSL_FLOATING_POINT
|
||||
_MSL_IMP_EXP_C double _MSL_CDECL atof(const char *) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C double _MSL_CDECL strtod(const char * _MSL_RESTRICT, char * * _MSL_RESTRICT) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C long double _MSL_CDECL strtold(const char * _MSL_RESTRICT, char * * _MSL_RESTRICT) _MSL_CANT_THROW;
|
||||
#if _MSL_C99
|
||||
_MSL_IMP_EXP_C float _MSL_CDECL strtof(const char * _MSL_RESTRICT, char * * _MSL_RESTRICT) _MSL_CANT_THROW;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL atoi(const char *) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C long _MSL_CDECL atol(const char *) _MSL_CANT_THROW;
|
||||
|
||||
#if _MSL_LONGLONG
|
||||
#if _MSL_C99
|
||||
_MSL_IMP_EXP_C long long _MSL_CDECL atoll(const char *) _MSL_CANT_THROW;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
_MSL_IMP_EXP_C long _MSL_CDECL strtol(const char * _MSL_RESTRICT, char * * _MSL_RESTRICT, int) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C unsigned long _MSL_CDECL strtoul(const char * _MSL_RESTRICT, char * * _MSL_RESTRICT, int) _MSL_CANT_THROW;
|
||||
|
||||
#if _MSL_LONGLONG
|
||||
#if _MSL_C99
|
||||
_MSL_IMP_EXP_C long long _MSL_CDECL strtoll(const char * _MSL_RESTRICT, char * * _MSL_RESTRICT, int) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C unsigned long long _MSL_CDECL strtoull(const char * _MSL_RESTRICT, char * * _MSL_RESTRICT, int) _MSL_CANT_THROW;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL rand(void) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C void _MSL_CDECL srand(unsigned int) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C void * _MSL_CDECL calloc(size_t, size_t) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C void _MSL_CDECL free(void *) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C void * _MSL_CDECL malloc(size_t) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C void * _MSL_CDECL realloc(void *, size_t) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C size_t _MSL_CDECL __msize(void *) _MSL_CANT_THROW;
|
||||
|
||||
#if !(defined(_MSL_PRO4_MALLOC) || defined(_MSL_CLASSIC_MALLOC) || defined(_MSL_MALLOC_BACKUP))
|
||||
|
||||
#ifndef _MSL_ALLOCATE_SIZE
|
||||
#define _MSL_ALLOCATE_SIZE __allocate_size
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_ALLOCATE
|
||||
#define _MSL_ALLOCATE __allocate
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_ALLOCATE_RESIZE
|
||||
#define _MSL_ALLOCATE_RESIZE __allocate_resize
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_ALLOCATE_EXPAND
|
||||
#define _MSL_ALLOCATE_EXPAND __allocate_expand
|
||||
#endif
|
||||
|
||||
_MSL_IMP_EXP_C size_t _MSL_CDECL _MSL_ALLOCATE_SIZE(void *) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C void * _MSL_CDECL _MSL_ALLOCATE(size_t, size_t *) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL _MSL_ALLOCATE_RESIZE(void *, size_t, size_t *) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL _MSL_ALLOCATE_EXPAND(void *, size_t, size_t, size_t *) _MSL_CANT_THROW;
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef __VEC__
|
||||
|
||||
_MSL_IMP_EXP_C void * _MSL_CDECL vec_calloc(size_t, size_t) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C void _MSL_CDECL vec_free(void *) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C void * _MSL_CDECL vec_malloc(size_t) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C void * _MSL_CDECL vec_realloc(void *, size_t) _MSL_CANT_THROW;
|
||||
|
||||
#if _MSL_USE_INLINE && _MSL_MALLOC_IS_ALTIVEC_ALIGNED
|
||||
_MSL_INLINE void * _MSL_CDECL vec_calloc (size_t _nmemb, size_t _size) _MSL_CANT_THROW {
|
||||
return calloc(_nmemb, _size);
|
||||
}
|
||||
_MSL_INLINE void _MSL_CDECL vec_free (void * _ptr) _MSL_CANT_THROW {
|
||||
free(_ptr);
|
||||
}
|
||||
_MSL_INLINE void * _MSL_CDECL vec_malloc (size_t _size) _MSL_CANT_THROW {
|
||||
return malloc(_size);
|
||||
}
|
||||
_MSL_INLINE void * _MSL_CDECL vec_realloc (void * _ptr, size_t _size) _MSL_CANT_THROW {
|
||||
return realloc(_ptr, _size);
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
_MSL_IMP_EXP_C void _MSL_CDECL abort(void) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL atexit(void(_MSL_CDECL * func)(void)) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C void _MSL_CDECL exit(int);
|
||||
#if _MSL_C99
|
||||
_MSL_IMP_EXP_C void _MSL_CDECL _Exit(int) _MSL_CANT_THROW;
|
||||
#endif
|
||||
|
||||
_MSL_IMP_EXP_C char * _MSL_CDECL getenv(const char *) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL system(const char *) _MSL_CANT_THROW;
|
||||
|
||||
typedef int (* _compare_function)(const void *, const void *);
|
||||
|
||||
_MSL_IMP_EXP_C void * _MSL_CDECL bsearch(const void *, const void *, size_t, size_t, _compare_function);
|
||||
_MSL_IMP_EXP_C void _MSL_CDECL qsort(void *, size_t, size_t, _compare_function);
|
||||
|
||||
#if defined(__STDC_WANT_SECURE_LIB__) && __STDC_WANT_SECURE_LIB__
|
||||
_MSL_IMP_EXP_C errno_t _MSL_CDECL getenv_s(size_t * _MSL_RESTRICT, char * _MSL_RESTRICT, rsize_t, const char * _MSL_RESTRICT) _MSL_CANT_THROW;
|
||||
|
||||
typedef int (* _compare_function_s)(const void *, const void *, void *);
|
||||
|
||||
_MSL_IMP_EXP_C void * _MSL_CDECL bsearch_s(const void *, const void *, rsize_t, rsize_t, _compare_function_s, void *);
|
||||
_MSL_IMP_EXP_C void _MSL_CDECL qsort_s(void *, rsize_t, rsize_t, _compare_function_s, void *);
|
||||
|
||||
#if _MSL_WIDE_CHAR
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL wctomb_s(int * _MSL_RESTRICT, char * _MSL_RESTRICT, rsize_t, wchar_t) _MSL_CANT_THROW;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL abs(int) _MSL_CANT_THROW;
|
||||
|
||||
_MSL_IMP_EXP_C long _MSL_CDECL labs(long) _MSL_CANT_THROW;
|
||||
|
||||
#if _MSL_LONGLONG
|
||||
#if (_MSL_C99 || defined(__cplusplus))
|
||||
_MSL_IMP_EXP_C long long _MSL_CDECL llabs(long long) _MSL_CANT_THROW;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef __POWERPC__
|
||||
|
||||
#ifndef __cplusplus
|
||||
#if !__MOTO__ && !__MRC__
|
||||
#define abs(n) __abs(n)
|
||||
#define labs(n) __labs(n)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
_MSL_IMP_EXP_C div_t _MSL_CDECL div(int, int) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C ldiv_t _MSL_CDECL ldiv(long, long) _MSL_CANT_THROW;
|
||||
|
||||
#if _MSL_LONGLONG
|
||||
#if (_MSL_C99 || defined(__cplusplus))
|
||||
_MSL_IMP_EXP_C lldiv_t _MSL_CDECL lldiv(long long, long long) _MSL_CANT_THROW;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
_MSL_END_EXTERN_C
|
||||
|
||||
extern "C++" {
|
||||
inline long _MSL_CDECL abs (long n) _MSL_CANT_THROW {
|
||||
return labs(n);
|
||||
}
|
||||
inline ldiv_t _MSL_CDECL div (long numerator, long denominator) _MSL_CANT_THROW {
|
||||
return ldiv(numerator, denominator);
|
||||
}
|
||||
|
||||
#if _MSL_LONGLONG
|
||||
inline long long _MSL_CDECL abs (long long n) _MSL_CANT_THROW {
|
||||
return llabs(n);
|
||||
}
|
||||
inline lldiv_t _MSL_CDECL div (long long numerator, long long denominator) _MSL_CANT_THROW {
|
||||
return lldiv(numerator, denominator);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
_MSL_BEGIN_EXTERN_C
|
||||
#endif
|
||||
|
||||
#if _MSL_WIDE_CHAR
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL mblen(const char *, size_t) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL mbtowc(wchar_t * _MSL_RESTRICT, const char * _MSL_RESTRICT, size_t) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL wctomb(char *, wchar_t) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C size_t _MSL_CDECL mbstowcs(wchar_t * _MSL_RESTRICT, const char * _MSL_RESTRICT, size_t) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C size_t _MSL_CDECL wcstombs(char * _MSL_RESTRICT, const wchar_t * _MSL_RESTRICT, size_t) _MSL_CANT_THROW;
|
||||
#endif
|
||||
|
||||
_MSL_END_EXTERN_C
|
||||
_MSL_END_NAMESPACE_STD
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
@ -1,119 +0,0 @@
|
|||
#ifndef _MSL_CSTRING
|
||||
#define _MSL_CSTRING
|
||||
|
||||
#include <ansi_params.h>
|
||||
|
||||
#if !_MSL_USING_MW_C_HEADERS
|
||||
#include <string.h>
|
||||
|
||||
#if _MSL_PUT_THIRD_PARTY_C_IN_STD
|
||||
#include <msl_cpp_std_string.h>
|
||||
#endif
|
||||
#elif defined(__PALMOS_TRAPS__)
|
||||
#include <cstring_Palm_OS>
|
||||
#else
|
||||
|
||||
#include <null.h>
|
||||
#include <size_t.h>
|
||||
#include <msl_secure.h>
|
||||
#include <msl_rsize_t.h>
|
||||
|
||||
#if _MSL_NEEDS_EXTRAS
|
||||
#include <extras_string.h>
|
||||
#endif
|
||||
|
||||
#ifndef RC_INVOKED
|
||||
|
||||
#include <string_api.h>
|
||||
|
||||
_MSL_BEGIN_NAMESPACE_STD
|
||||
_MSL_BEGIN_EXTERN_C
|
||||
|
||||
_MSL_IMP_EXP_C void * _MSL_CDECL memset(void *, int, size_t) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL memcmp(const void *, const void *, size_t) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C void * _MSL_CDECL memcpy(void * _MSL_RESTRICT, const void * _MSL_RESTRICT, size_t) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C void * _MSL_CDECL memmove(void *, const void *, size_t) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C size_t _MSL_CDECL strlen(const char *) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C char * _MSL_CDECL strcpy(char * _MSL_RESTRICT, const char * _MSL_RESTRICT) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C char * _MSL_CDECL strncpy(char * _MSL_RESTRICT, const char * _MSL_RESTRICT, size_t) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C char * _MSL_CDECL strcat(char * _MSL_RESTRICT, const char * _MSL_RESTRICT) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C char * _MSL_CDECL strncat(char * _MSL_RESTRICT, const char * _MSL_RESTRICT, size_t) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL strcmp(const char *, const char *) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL strncmp(const char *, const char *, size_t) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL strcoll(const char *, const char *) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C size_t _MSL_CDECL strxfrm(char * _MSL_RESTRICT, const char * _MSL_RESTRICT, size_t) _MSL_CANT_THROW;
|
||||
#if !defined(__cplusplus) || __embedded_cplusplus != 0
|
||||
_MSL_IMP_EXP_C void * _MSL_CDECL memchr(const void *, int, size_t) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C char * _MSL_CDECL strchr(const char *, int) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C char * _MSL_CDECL strpbrk(const char *, const char *) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C char * _MSL_CDECL strrchr(const char *, int) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C char * _MSL_CDECL strstr(const char *, const char *) _MSL_CANT_THROW;
|
||||
#else
|
||||
_MSL_IMP_EXP_C const void * _MSL_CDECL memchr(const void *, int, size_t) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C const char * _MSL_CDECL strchr(const char *, int) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C const char * _MSL_CDECL strpbrk(const char *, const char *) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C const char * _MSL_CDECL strrchr(const char *, int) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C const char * _MSL_CDECL strstr(const char *, const char *) _MSL_CANT_THROW;
|
||||
#endif
|
||||
_MSL_IMP_EXP_C size_t _MSL_CDECL strspn(const char *, const char *) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C size_t _MSL_CDECL strcspn(const char *, const char *) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C char * _MSL_CDECL strtok(char * _MSL_RESTRICT, const char * _MSL_RESTRICT) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C char * _MSL_CDECL strerror(int) _MSL_CANT_THROW;
|
||||
|
||||
#if defined(__STDC_WANT_SECURE_LIB__) && __STDC_WANT_SECURE_LIB__
|
||||
_MSL_IMP_EXP_C errno_t _MSL_CDECL memcpy_s(void * _MSL_RESTRICT, rsize_t, const void * _MSL_RESTRICT, rsize_t) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C errno_t _MSL_CDECL memmove_s(void *, rsize_t, const void *, rsize_t) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C size_t _MSL_CDECL strnlen_s(const char *, size_t) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C errno_t _MSL_CDECL strcpy_s(char * _MSL_RESTRICT, rsize_t, const char * _MSL_RESTRICT) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C errno_t _MSL_CDECL strncpy_s(char * _MSL_RESTRICT, rsize_t, const char * _MSL_RESTRICT, rsize_t) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C errno_t _MSL_CDECL strcat_s(char * _MSL_RESTRICT, rsize_t, const char * _MSL_RESTRICT) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C errno_t _MSL_CDECL strncat_s(char * _MSL_RESTRICT, rsize_t, const char * _MSL_RESTRICT, rsize_t) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C errno_t _MSL_CDECL strerror_s(char *, rsize_t, errno_t) _MSL_CANT_THROW;
|
||||
|
||||
_MSL_IMP_EXP_C char * _MSL_CDECL strtok_s(char * _MSL_RESTRICT, const char * _MSL_RESTRICT, char * * _MSL_RESTRICT) _MSL_CANT_THROW;
|
||||
#endif
|
||||
|
||||
_MSL_END_EXTERN_C
|
||||
|
||||
#if defined(__cplusplus) && __embedded_cplusplus == 0
|
||||
|
||||
extern "C++" {
|
||||
inline
|
||||
char * _MSL_CDECL strchr (char * s, int c) _MSL_CANT_THROW {
|
||||
return const_cast<char *>(strchr(static_cast<const char *>(s), c));
|
||||
}
|
||||
|
||||
inline
|
||||
char * _MSL_CDECL strpbrk (char * s1, const char * s2) _MSL_CANT_THROW {
|
||||
return const_cast<char *>(strpbrk(static_cast<const char *>(s1), s2));
|
||||
}
|
||||
|
||||
inline
|
||||
char * _MSL_CDECL strrchr (char * s, int c) _MSL_CANT_THROW {
|
||||
return const_cast<char *>(strrchr(static_cast<const char *>(s), c));
|
||||
}
|
||||
|
||||
inline
|
||||
char * _MSL_CDECL strstr (char * s1, const char * s2) _MSL_CANT_THROW {
|
||||
return const_cast<char *>(strstr(static_cast<const char *>(s1), s2));
|
||||
}
|
||||
|
||||
inline
|
||||
void * _MSL_CDECL memchr (void * s, int c, size_t n) _MSL_CANT_THROW {
|
||||
return const_cast<void *>(memchr(static_cast<const void *>(s), c, n));
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
_MSL_END_NAMESPACE_STD
|
||||
|
||||
#if (defined(__MC68K__) && __embedded__)
|
||||
#include <string.68k.h>
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
@ -1,110 +0,0 @@
|
|||
#ifndef _MSL_CTIME
|
||||
#define _MSL_CTIME
|
||||
|
||||
#include <ansi_params.h>
|
||||
|
||||
#if !_MSL_USING_MW_C_HEADERS
|
||||
#include <time.h>
|
||||
|
||||
#if _MSL_PUT_THIRD_PARTY_C_IN_STD
|
||||
#include <msl_cpp_std_time.h>
|
||||
#endif
|
||||
#elif defined(__PALMOS_TRAPS__)
|
||||
#include <ctime_Palm_OS>
|
||||
#else
|
||||
|
||||
#include <null.h>
|
||||
#include <size_t.h>
|
||||
#include <msl_secure.h>
|
||||
#include <msl_rsize_t.h>
|
||||
|
||||
#ifndef RC_INVOKED
|
||||
|
||||
#if defined(__m56800__) || defined(__m56800E__)
|
||||
#include <time.56800.h>
|
||||
#endif
|
||||
|
||||
#pragma options align=native
|
||||
|
||||
_MSL_BEGIN_NAMESPACE_STD
|
||||
_MSL_BEGIN_EXTERN_C
|
||||
|
||||
#if _MSL_CLOCK_T_AVAILABLE
|
||||
#ifndef _MSL_CLOCKS_PER_SEC
|
||||
#define _MSL_CLOCKS_PER_SEC 60
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_CLOCK_T
|
||||
#define _MSL_CLOCK_T unsigned long
|
||||
#endif
|
||||
|
||||
#define CLOCKS_PER_SEC _MSL_CLOCKS_PER_SEC
|
||||
|
||||
#ifndef _MSL_CLOCK_T_DEFINED
|
||||
typedef _MSL_CLOCK_T clock_t;
|
||||
#define _MSL_CLOCK_T_DEFINED
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if _MSL_TIME_T_AVAILABLE
|
||||
#ifndef _MSL_TIME_T_DEFINED
|
||||
typedef long time_t;
|
||||
#define _MSL_TIME_T_DEFINED
|
||||
|
||||
#define _TIME_T_DEFINED
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if _MSL_TM_STRUCT_AVAILABLE
|
||||
struct tm {
|
||||
int tm_sec;
|
||||
int tm_min;
|
||||
int tm_hour;
|
||||
int tm_mday;
|
||||
int tm_mon;
|
||||
int tm_year;
|
||||
int tm_wday;
|
||||
int tm_yday;
|
||||
int tm_isdst;
|
||||
};
|
||||
#endif
|
||||
|
||||
#if _MSL_OS_TIME_SUPPORT
|
||||
|
||||
_MSL_IMP_EXP_C clock_t _MSL_CDECL clock(void) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C time_t _MSL_CDECL time(time_t *) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C struct tm * _MSL_CDECL gmtime(const time_t *) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C time_t _MSL_CDECL mktime(struct tm *) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C char * _MSL_CDECL asctime(const struct tm *) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C char * _MSL_CDECL ctime(const time_t *) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C struct tm * _MSL_CDECL localtime(const time_t *) _MSL_CANT_THROW;
|
||||
|
||||
#if defined(__STDC_WANT_SECURE_LIB__) && __STDC_WANT_SECURE_LIB__
|
||||
_MSL_IMP_EXP_C errno_t _MSL_CDECL asctime_s(char *, rsize_t, const struct tm *) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C errno_t _MSL_CDECL ctime_s(char *, rsize_t, const time_t *) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C struct tm * _MSL_CDECL gmtime_s(const time_t * _MSL_RESTRICT, struct tm * _MSL_RESTRICT) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C struct tm * _MSL_CDECL localtime_s(const time_t * _MSL_RESTRICT, struct tm * _MSL_RESTRICT) _MSL_CANT_THROW;
|
||||
#endif
|
||||
|
||||
_MSL_IMP_EXP_C size_t _MSL_CDECL strftime(char * _MSL_RESTRICT, size_t, const char * _MSL_RESTRICT, const struct tm * _MSL_RESTRICT) _MSL_CANT_THROW;
|
||||
|
||||
#endif
|
||||
|
||||
#if _MSL_FLOATING_POINT && _MSL_TIME_T_AVAILABLE
|
||||
_MSL_IMP_EXP_C double _MSL_CDECL difftime(time_t, time_t) _MSL_CANT_THROW;
|
||||
#endif
|
||||
|
||||
_MSL_END_EXTERN_C
|
||||
_MSL_END_NAMESPACE_STD
|
||||
|
||||
#pragma options align=reset
|
||||
|
||||
#if _MSL_NEEDS_EXTRAS
|
||||
#include <extras_time.h>
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
#ifndef _MSL_CTYPE_H
|
||||
#define _MSL_CTYPE_H
|
||||
|
||||
#include <ansi_params.h>
|
||||
|
||||
#if !_MSL_USING_MW_C_HEADERS
|
||||
#error You must have the non-MSL C header file access path before the MSL access path
|
||||
#else
|
||||
|
||||
#include <cctype>
|
||||
|
||||
#if defined(__cplusplus) && defined(_MSL_USING_NAMESPACE)
|
||||
using std::isalnum;
|
||||
using std::isalpha;
|
||||
#if _MSL_C99
|
||||
using std::isblank;
|
||||
#endif
|
||||
using std::iscntrl;
|
||||
using std::isdigit;
|
||||
using std::isgraph;
|
||||
using std::islower;
|
||||
using std::isprint;
|
||||
using std::ispunct;
|
||||
using std::isspace;
|
||||
using std::isupper;
|
||||
using std::isxdigit;
|
||||
using std::tolower;
|
||||
using std::toupper;
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
@ -1,58 +0,0 @@
|
|||
#ifndef _MSL_CTYPE_API_H
|
||||
#define _MSL_CTYPE_API_H
|
||||
|
||||
_MSL_BEGIN_EXTERN_C
|
||||
|
||||
#if !_MSL_C_LOCALE_ONLY
|
||||
#define __msl_cmap_size 256
|
||||
#else
|
||||
#define __msl_cmap_size 128
|
||||
#endif
|
||||
|
||||
#if !_MSL_C_LOCALE_ONLY
|
||||
extern _MSL_IMP_EXP_C const unsigned short __msl_ctype_map[__msl_cmap_size];
|
||||
extern _MSL_IMP_EXP_C const unsigned char __lower_map[__msl_cmap_size];
|
||||
extern _MSL_IMP_EXP_C const unsigned char __upper_map[__msl_cmap_size];
|
||||
#endif
|
||||
|
||||
extern _MSL_IMP_EXP_C const unsigned short __ctype_mapC[__msl_cmap_size];
|
||||
extern _MSL_IMP_EXP_C const unsigned char __lower_mapC[__msl_cmap_size];
|
||||
extern _MSL_IMP_EXP_C const unsigned char __upper_mapC[__msl_cmap_size];
|
||||
|
||||
_MSL_END_EXTERN_C
|
||||
|
||||
#ifndef RC_INVOKED
|
||||
|
||||
_MSL_BEGIN_NAMESPACE_STD
|
||||
#if _MSL_USE_INLINE
|
||||
|
||||
#if _MSL_C_LOCALE_ONLY
|
||||
#define _MSL_CMAP_ACCESS __ctype_mapC
|
||||
#define _MSL_CLOWER_ACCESS __lower_mapC
|
||||
#define _MSL_CUPPER_ACCESS __upper_mapC
|
||||
#else
|
||||
#define _MSL_CMAP_ACCESS _MSL_LOCALDATA(_current_locale).ctype_cmpt_ptr->ctype_map_ptr
|
||||
#define _MSL_CLOWER_ACCESS _MSL_LOCALDATA(_current_locale).ctype_cmpt_ptr->lower_map_ptr
|
||||
#define _MSL_CUPPER_ACCESS _MSL_LOCALDATA(_current_locale).ctype_cmpt_ptr->upper_map_ptr
|
||||
#endif
|
||||
|
||||
#endif
|
||||
_MSL_END_NAMESPACE_STD
|
||||
|
||||
#endif
|
||||
|
||||
#define __msl_alpha 0x0001
|
||||
#define __msl_blank 0x0002
|
||||
#define __msl_cntrl 0x0004
|
||||
#define __msl_digit 0x0008
|
||||
#define __msl_graph 0x0010
|
||||
#define __msl_lower 0x0020
|
||||
#define __msl_print 0x0040
|
||||
#define __msl_punct 0x0080
|
||||
#define __msl_space 0x0100
|
||||
#define __msl_upper 0x0200
|
||||
#define __msl_xdigit 0x0400
|
||||
|
||||
#define __msl_alnum (__msl_alpha | __msl_digit)
|
||||
|
||||
#endif
|
||||
|
|
@ -1,72 +0,0 @@
|
|||
#ifndef _MSL_CWCHAR
|
||||
#define _MSL_CWCHAR
|
||||
|
||||
#include <ansi_params.h>
|
||||
|
||||
#if !_MSL_USING_MW_C_HEADERS
|
||||
#include <wchar.h>
|
||||
|
||||
#if _MSL_PUT_THIRD_PARTY_C_IN_STD
|
||||
#include <msl_cpp_std_wchar.h>
|
||||
#endif
|
||||
#else
|
||||
|
||||
#if _MSL_WIDE_CHAR
|
||||
|
||||
#include <msl_secure.h>
|
||||
#include <msl_rsize_t.h>
|
||||
#include <wchar_io.h>
|
||||
#include <eof.h>
|
||||
#include <weof.h>
|
||||
#include <wstdio.h>
|
||||
#include <wscanf.h>
|
||||
#include <wcstold.h>
|
||||
#include <wtime.h>
|
||||
#include <wcstoul.h>
|
||||
#include <wstring.h>
|
||||
#include <wprintf.h>
|
||||
#include <wmem.h>
|
||||
|
||||
#if _MSL_NEEDS_EXTRAS
|
||||
#include <extras_wchar.h>
|
||||
#endif
|
||||
|
||||
#ifndef RC_INVOKED
|
||||
|
||||
_MSL_BEGIN_NAMESPACE_STD
|
||||
_MSL_BEGIN_EXTERN_C
|
||||
|
||||
#ifdef __cplusplus
|
||||
_MSL_END_EXTERN_C
|
||||
inline int _MSL_CDECL wctob (wint_t c) _MSL_CANT_THROW {
|
||||
return ((c & 0xFF00) ? (int)EOF : (int)c);
|
||||
}
|
||||
inline wint_t _MSL_CDECL btowc (int c) _MSL_CANT_THROW {
|
||||
return ((c & 0x8000) ? (wint_t)WEOF : (wint_t)c);
|
||||
}
|
||||
_MSL_BEGIN_EXTERN_C
|
||||
#else
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL wctob(wint_t);
|
||||
_MSL_IMP_EXP_C wint_t _MSL_CDECL btowc(int);
|
||||
#endif
|
||||
|
||||
_MSL_IMP_EXP_C size_t _MSL_CDECL mbrlen(const char * _MSL_RESTRICT, size_t, mbstate_t * _MSL_RESTRICT) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL mbsinit(const mbstate_t *) _MSL_CANT_THROW;
|
||||
|
||||
#if _MSL_WIDE_CHAR
|
||||
_MSL_IMP_EXP_C size_t _MSL_CDECL mbrtowc(wchar_t * _MSL_RESTRICT, const char * _MSL_RESTRICT, size_t, mbstate_t * _MSL_RESTRICT) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C size_t _MSL_CDECL wcrtomb(char * _MSL_RESTRICT, wchar_t, mbstate_t * _MSL_RESTRICT) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C size_t _MSL_CDECL mbsrtowcs(wchar_t * _MSL_RESTRICT, const char * * _MSL_RESTRICT, size_t, mbstate_t * _MSL_RESTRICT) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C size_t _MSL_CDECL wcsrtombs(char * _MSL_RESTRICT, const wchar_t * * _MSL_RESTRICT, size_t, mbstate_t * _MSL_RESTRICT) _MSL_CANT_THROW;
|
||||
#endif
|
||||
|
||||
_MSL_END_EXTERN_C
|
||||
_MSL_END_NAMESPACE_STD
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
@ -1,90 +0,0 @@
|
|||
#ifndef _MSL_CWCTYPE
|
||||
#define _MSL_CWCTYPE
|
||||
|
||||
#include <ansi_params.h>
|
||||
|
||||
#if !_MSL_USING_MW_C_HEADERS
|
||||
#include <wctype.h>
|
||||
|
||||
#if _MSL_PUT_THIRD_PARTY_C_IN_STD
|
||||
#include <msl_cpp_std_wctype.h>
|
||||
#endif
|
||||
#else
|
||||
|
||||
#if _MSL_WIDE_CHAR
|
||||
|
||||
#include <clocale>
|
||||
#include <eof.h>
|
||||
#include <weof.h>
|
||||
#include <wchar_t.h>
|
||||
#include <wctrans.h>
|
||||
#include <wctype_api.h>
|
||||
#include <locale_api.h>
|
||||
#include <msl_thread_local_data.h>
|
||||
|
||||
#ifndef RC_INVOKED
|
||||
|
||||
_MSL_BEGIN_NAMESPACE_STD
|
||||
_MSL_BEGIN_EXTERN_C
|
||||
|
||||
_MSL_IMP_EXP_C wctype_t _MSL_CDECL wctype(const char *) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL iswctype(wint_t, wctype_t) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL iswalnum(wint_t) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL iswalpha(wint_t) _MSL_CANT_THROW;
|
||||
#if _MSL_C99
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL iswblank(wint_t) _MSL_CANT_THROW;
|
||||
#endif
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL iswcntrl(wint_t) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL iswdigit(wint_t) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL iswgraph(wint_t) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL iswlower(wint_t) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL iswprint(wint_t) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL iswpunct(wint_t) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL iswspace(wint_t) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL iswupper(wint_t) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL iswxdigit(wint_t) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C wint_t _MSL_CDECL towlower(wint_t) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C wint_t _MSL_CDECL towupper(wint_t) _MSL_CANT_THROW;
|
||||
|
||||
_MSL_END_EXTERN_C
|
||||
|
||||
#if _MSL_USE_INLINE
|
||||
|
||||
#if _MSL_C_LOCALE_ONLY || !_MSL_C99
|
||||
#define _MSL_CWMAP_ACCESS __wctype_mapC
|
||||
#define _MSL_CWLOWER_ACCESS __wlower_mapC
|
||||
#define _MSL_CWUPPER_ACCESS __wupper_mapC
|
||||
#else
|
||||
#define _MSL_CWMAP_ACCESS _MSL_LOCALDATA(_current_locale).ctype_cmpt_ptr->wctype_map_ptr
|
||||
#define _MSL_CWLOWER_ACCESS _MSL_LOCALDATA(_current_locale).ctype_cmpt_ptr->wlower_map_ptr
|
||||
#define _MSL_CWUPPER_ACCESS _MSL_LOCALDATA(_current_locale).ctype_cmpt_ptr->wupper_map_ptr
|
||||
#endif
|
||||
|
||||
_MSL_INLINE int _MSL_CDECL iswalnum(wint_t c) _MSL_CANT_THROW {return ((c < 0) || (c >= __msl_wcmap_size)) ? 0 : (int)(_MSL_CWMAP_ACCESS[c] & __msl_walnum);}
|
||||
_MSL_INLINE int _MSL_CDECL iswalpha(wint_t c) _MSL_CANT_THROW {return ((c < 0) || (c >= __msl_wcmap_size)) ? 0 : (int)(_MSL_CWMAP_ACCESS[c] & __msl_walpha);}
|
||||
#if _MSL_C99
|
||||
_MSL_INLINE int _MSL_CDECL iswblank(wint_t c) _MSL_CANT_THROW {return ((c < 0) || (c >= __msl_wcmap_size)) ? 0 : (int)(_MSL_CWMAP_ACCESS[c] & __msl_wblank);}
|
||||
#endif
|
||||
_MSL_INLINE int _MSL_CDECL iswcntrl(wint_t c) _MSL_CANT_THROW {return ((c < 0) || (c >= __msl_wcmap_size)) ? 0 : (int)(_MSL_CWMAP_ACCESS[c] & __msl_wcntrl);}
|
||||
_MSL_INLINE int _MSL_CDECL iswdigit(wint_t c) _MSL_CANT_THROW {return ((c < 0) || (c >= __msl_wcmap_size)) ? 0 : (int)(_MSL_CWMAP_ACCESS[c] & __msl_wdigit);}
|
||||
_MSL_INLINE int _MSL_CDECL iswgraph(wint_t c) _MSL_CANT_THROW {return ((c < 0) || (c >= __msl_wcmap_size)) ? 0 : (int)(_MSL_CWMAP_ACCESS[c] & __msl_wgraph);}
|
||||
_MSL_INLINE int _MSL_CDECL iswlower(wint_t c) _MSL_CANT_THROW {return ((c < 0) || (c >= __msl_wcmap_size)) ? 0 : (int)(_MSL_CWMAP_ACCESS[c] & __msl_wlower);}
|
||||
_MSL_INLINE int _MSL_CDECL iswprint(wint_t c) _MSL_CANT_THROW {return ((c < 0) || (c >= __msl_wcmap_size)) ? 0 : (int)(_MSL_CWMAP_ACCESS[c] & __msl_wprint);}
|
||||
_MSL_INLINE int _MSL_CDECL iswpunct(wint_t c) _MSL_CANT_THROW {return ((c < 0) || (c >= __msl_wcmap_size)) ? 0 : (int)(_MSL_CWMAP_ACCESS[c] & __msl_wpunct);}
|
||||
_MSL_INLINE int _MSL_CDECL iswspace(wint_t c) _MSL_CANT_THROW {return ((c < 0) || (c >= __msl_wcmap_size)) ? 0 : (int)(_MSL_CWMAP_ACCESS[c] & __msl_wspace);}
|
||||
_MSL_INLINE int _MSL_CDECL iswupper(wint_t c) _MSL_CANT_THROW {return ((c < 0) || (c >= __msl_wcmap_size)) ? 0 : (int)(_MSL_CWMAP_ACCESS[c] & __msl_wupper);}
|
||||
_MSL_INLINE int _MSL_CDECL iswxdigit(wint_t c) _MSL_CANT_THROW {return ((c < 0) || (c >= __msl_wcmap_size)) ? 0 : (int)(_MSL_CWMAP_ACCESS[c] & __msl_wxdigit);}
|
||||
_MSL_INLINE wint_t _MSL_CDECL towlower(wint_t c) _MSL_CANT_THROW {return ((c < 0) || (c >= __msl_wcmap_size)) ? c : (int)(_MSL_CWLOWER_ACCESS[c]);}
|
||||
_MSL_INLINE wint_t _MSL_CDECL towupper(wint_t c) _MSL_CANT_THROW {return ((c < 0) || (c >= __msl_wcmap_size)) ? c : (int)(_MSL_CWUPPER_ACCESS[c]);}
|
||||
|
||||
#endif
|
||||
|
||||
_MSL_END_NAMESPACE_STD
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
#ifndef _MSL_DIV_T_H
|
||||
#define _MSL_DIV_T_H
|
||||
|
||||
#pragma options align=native
|
||||
|
||||
_MSL_BEGIN_NAMESPACE_STD
|
||||
_MSL_BEGIN_EXTERN_C
|
||||
|
||||
typedef struct {
|
||||
int quot;
|
||||
int rem;
|
||||
} div_t;
|
||||
|
||||
typedef struct {
|
||||
long quot;
|
||||
long rem;
|
||||
} ldiv_t;
|
||||
|
||||
#if _MSL_C99 || defined(__cplusplus)
|
||||
#if _MSL_LONGLONG
|
||||
typedef struct {
|
||||
long long quot;
|
||||
long long rem;
|
||||
} lldiv_t;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
_MSL_END_EXTERN_C
|
||||
_MSL_END_NAMESPACE_STD
|
||||
|
||||
#pragma options align=reset
|
||||
|
||||
#endif
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
#ifndef EOF
|
||||
#define EOF -1L
|
||||
#endif
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
#ifndef _MSL_ERRNO_H
|
||||
#define _MSL_ERRNO_H
|
||||
|
||||
#include <ansi_params.h>
|
||||
|
||||
#if !_MSL_USING_MW_C_HEADERS
|
||||
#error You must have the non-MSL C header file access path before the MSL access path
|
||||
#else
|
||||
|
||||
#include <cerrno>
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
@ -1,105 +0,0 @@
|
|||
#ifndef _MSL_FENV_ARM_H
|
||||
#define _MSL_FENV_ARM_H
|
||||
|
||||
#ifndef _MSL_FENV_H
|
||||
#error This header may only be included from <fenv.h>
|
||||
#endif
|
||||
|
||||
_MSL_BEGIN_EXTERN_C
|
||||
|
||||
extern unsigned __ieee_status(unsigned, unsigned);
|
||||
|
||||
#define FE_IEEE_FLUSHZERO (0x01000000)
|
||||
#define FE_IEEE_ROUND_TONEAREST (0x00000000)
|
||||
#define FE_IEEE_ROUND_UPWARD (0x00400000)
|
||||
#define FE_IEEE_ROUND_DOWNWARD (0x00800000)
|
||||
#define FE_IEEE_ROUND_TOWARDZERO (0x00C00000)
|
||||
#define FE_IEEE_ROUND_MASK (0x00C00000)
|
||||
#define FE_IEEE_MASK_INVALID (0x00000100)
|
||||
#define FE_IEEE_MASK_DIVBYZERO (0x00000200)
|
||||
#define FE_IEEE_MASK_OVERFLOW (0x00000400)
|
||||
#define FE_IEEE_MASK_UNDERFLOW (0x00000800)
|
||||
#define FE_IEEE_MASK_INEXACT (0x00001000)
|
||||
#define FE_IEEE_MASK_ALL_EXCEPT (0x00001F00)
|
||||
#define FE_IEEE_INVALID (0x00000001)
|
||||
#define FE_IEEE_DIVBYZERO (0x00000002)
|
||||
#define FE_IEEE_OVERFLOW (0x00000004)
|
||||
#define FE_IEEE_UNDERFLOW (0x00000008)
|
||||
#define FE_IEEE_INEXACT (0x00000010)
|
||||
#define FE_IEEE_ALL_EXCEPT (0x0000001F)
|
||||
|
||||
#define FE_EX_RDIR ((unsigned)1 << 31)
|
||||
#define FE_EX_EXCEPT_SHIFT (26)
|
||||
#define FE_EX_EXCEPT_MASK (0x1F << FE_EX_EXCEPT_SHIFT)
|
||||
#define FE_EX_INEXACT (0x10 << FE_EX_EXCEPT_SHIFT)
|
||||
#define FE_EX_UNDERFLOW (0x08 << FE_EX_EXCEPT_SHIFT)
|
||||
#define FE_EX_OVERFLOW (0x04 << FE_EX_EXCEPT_SHIFT)
|
||||
#define FE_EX_DIVBYZERO (0x02 << FE_EX_EXCEPT_SHIFT)
|
||||
#define FE_EX_INVALID (0x01 << FE_EX_EXCEPT_SHIFT)
|
||||
#define FE_EX_FLUSHZERO_SHIFT (24)
|
||||
#define FE_EX_FLUSHZERO (1 << FE_EX_FLUSHZERO_SHIFT)
|
||||
#define FE_EX_ROUND_SHIFT (22)
|
||||
#define FE_EX_ROUND_MASK (3 << FE_EX_ROUND_SHIFT)
|
||||
#define FE_EX_INTYPE_SHIFT (7)
|
||||
#define FE_EX_INTYPE_MASK (7 << FE_EX_INTYPE_SHIFT)
|
||||
#define FE_EX_OUTTYPE_SHIFT (4)
|
||||
#define FE_EX_OUTTYPE_MASK (7 << FE_EX_OUTTYPE_SHIFT)
|
||||
#define FE_EX_TYPE_SHIFT (4)
|
||||
#define FE_EX_TYPE_MASK (7 << FE_EX_TYPE_SHIFT)
|
||||
#define FE_EX_FN_SHIFT (0)
|
||||
#define FE_EX_FN_MASK (15 << FE_EX_FN_SHIFT)
|
||||
|
||||
#define FE_EX_ROUND_NEAREST (0 << FE_EX_ROUND_SHIFT)
|
||||
#define FE_EX_ROUND_PLUSINF (1 << FE_EX_ROUND_SHIFT)
|
||||
#define FE_EX_ROUND_MINUSINF (2 << FE_EX_ROUND_SHIFT)
|
||||
#define FE_EX_ROUND_ZERO (3 << FE_EX_ROUND_SHIFT)
|
||||
|
||||
#define FE_EX_BASETYPE_FLOAT (0)
|
||||
#define FE_EX_BASETYPE_DOUBLE (1)
|
||||
#define FE_EX_BASETYPE_INT (4)
|
||||
#define FE_EX_BASETYPE_LONGLONG (5)
|
||||
#define FE_EX_BASETYPE_UINT (6)
|
||||
#define FE_EX_BASETYPE_ULONGLONG (7)
|
||||
|
||||
#define FE_EX_TYPE_FLOAT (FE_EX_BASETYPE_FLOAT << FE_EX_TYPE_SHIFT)
|
||||
#define FE_EX_TYPE_DOUBLE (FE_EX_BASETYPE_DOUBLE << FE_EX_TYPE_SHIFT)
|
||||
#define FE_EX_TYPE_INT (FE_EX_BASETYPE_INT << FE_EX_TYPE_SHIFT)
|
||||
#define FE_EX_TYPE_LONGLONG (FE_EX_BASETYPE_LONGLONG << FE_EX_TYPE_SHIFT)
|
||||
#define FE_EX_TYPE_UINT (FE_EX_BASETYPE_UINT << FE_EX_TYPE_SHIFT)
|
||||
#define FE_EX_TYPE_ULONGLONG (FE_EX_BASETYPE_ULONGLONG << FE_EX_TYPE_SHIFT)
|
||||
|
||||
#define FE_EX_INTYPE_FLOAT (FE_EX_BASETYPE_FLOAT << FE_EX_INTYPE_SHIFT)
|
||||
#define FE_EX_INTYPE_DOUBLE (FE_EX_BASETYPE_DOUBLE << FE_EX_INTYPE_SHIFT)
|
||||
#define FE_EX_INTYPE_INT (FE_EX_BASETYPE_INT << FE_EX_INTYPE_SHIFT)
|
||||
#define FE_EX_INTYPE_LONGLONG (FE_EX_BASETYPE_LONGLONG << FE_EX_INTYPE_SHIFT)
|
||||
#define FE_EX_INTYPE_UINT (FE_EX_BASETYPE_UINT << FE_EX_INTYPE_SHIFT)
|
||||
#define FE_EX_INTYPE_ULONGLONG (FE_EX_BASETYPE_ULONGLONG << FE_EX_INTYPE_SHIFT)
|
||||
|
||||
#define FE_EX_OUTTYPE_FLOAT (FE_EX_BASETYPE_FLOAT << FE_EX_OUTTYPE_SHIFT)
|
||||
#define FE_EX_OUTTYPE_DOUBLE (FE_EX_BASETYPE_DOUBLE << FE_EX_OUTTYPE_SHIFT)
|
||||
#define FE_EX_OUTTYPE_INT (FE_EX_BASETYPE_INT << FE_EX_OUTTYPE_SHIFT)
|
||||
#define FE_EX_OUTTYPE_LONGLONG (FE_EX_BASETYPE_LONGLONG << FE_EX_OUTTYPE_SHIFT)
|
||||
#define FE_EX_OUTTYPE_UINT (FE_EX_BASETYPE_UINT << FE_EX_OUTTYPE_SHIFT)
|
||||
#define FE_EX_OUTTYPE_ULONGLONG (FE_EX_BASETYPE_ULONGLONG << FE_EX_OUTTYPE_SHIFT)
|
||||
|
||||
#define FE_EX_FN_ADD (1 << FE_EX_FN_SHIFT)
|
||||
#define FE_EX_FN_SUB (2 << FE_EX_FN_SHIFT)
|
||||
#define FE_EX_FN_MUL (3 << FE_EX_FN_SHIFT)
|
||||
#define FE_EX_FN_DIV (4 << FE_EX_FN_SHIFT)
|
||||
#define FE_EX_FN_REM (5 << FE_EX_FN_SHIFT)
|
||||
#define FE_EX_FN_RND (6 << FE_EX_FN_SHIFT)
|
||||
#define FE_EX_FN_SQRT (7 << FE_EX_FN_SHIFT)
|
||||
#define FE_EX_FN_CVT (8 << FE_EX_FN_SHIFT)
|
||||
#define FE_EX_FN_CMP (9 << FE_EX_FN_SHIFT)
|
||||
#define FE_EX_FN_RAISE (15 << FE_EX_FN_SHIFT)
|
||||
|
||||
#define FE_EX_CMPRET_UNORDERED (8)
|
||||
#define FE_EX_CMPRET_LESS (4)
|
||||
#define FE_EX_CMPRET_EQUAL (2)
|
||||
#define FE_EX_CMPRET_GREATER (1)
|
||||
|
||||
extern fenv_t * __rt_fp_env_addr(void);
|
||||
|
||||
_MSL_END_EXTERN_C
|
||||
|
||||
#endif
|
||||
|
|
@ -1,199 +0,0 @@
|
|||
#ifndef _MSL_FENV_H
|
||||
#define _MSL_FENV_H
|
||||
|
||||
#ifndef __FENV__
|
||||
#define __FENV__
|
||||
|
||||
#include <ansi_params.h>
|
||||
|
||||
#if !_MSL_USING_MW_C_HEADERS
|
||||
#if !__MACH__
|
||||
#error You must have the non-MSL C header file access path before the MSL access path
|
||||
#else
|
||||
#include <CarbonCore/fenv.h>
|
||||
#endif
|
||||
#else
|
||||
#if _MSL_C99
|
||||
#ifdef __POWERPC__
|
||||
|
||||
typedef long int fenv_t;
|
||||
typedef long int fexcept_t;
|
||||
|
||||
#define FE_DIVBYZERO 0x04000000
|
||||
#define FE_INEXACT 0x02000000
|
||||
#define FE_INVALID 0x20000000
|
||||
#define FE_OVERFLOW 0x10000000
|
||||
#define FE_UNDERFLOW 0x08000000
|
||||
|
||||
#define FE_DOWNWARD 0x00000003
|
||||
#define FE_TONEAREST 0x00000000
|
||||
#define FE_TOWARDZERO 0x00000001
|
||||
#define FE_UPWARD 0x00000002
|
||||
#endif
|
||||
|
||||
#ifdef __MIPS__
|
||||
typedef long int fenv_t;
|
||||
typedef long int fexcept_t;
|
||||
|
||||
#define FE_INEXACT 0x00001000
|
||||
#define FE_UNDERFLOW 0x00002000
|
||||
#define FE_OVERFLOW 0x00004000
|
||||
#define FE_DIVBYZERO 0x00008000
|
||||
#define FE_INVALID 0x00010000
|
||||
|
||||
#define FE_TONEAREST ((short)(-1))
|
||||
#define FE_UPWARD ((short)(-2))
|
||||
#define FE_DOWNWARD ((short)(-3))
|
||||
#define FE_TOWARDZERO ((short)(-4))
|
||||
#endif
|
||||
|
||||
#if defined(__MC68K__) || defined(__COLDFIRE__)
|
||||
#if __MC68881__ || __COLDFIRE_HW_FPU__
|
||||
|
||||
typedef long fexcept_t;
|
||||
typedef struct {
|
||||
long FPCR;
|
||||
long FPSR;
|
||||
} fenv_t;
|
||||
|
||||
#define FE_INEXACT ((long)(8))
|
||||
#define FE_DIVBYZERO ((long)(16))
|
||||
#define FE_UNDERFLOW ((long)(32))
|
||||
#define FE_OVERFLOW ((long)(64))
|
||||
#define FE_INVALID ((long)(128))
|
||||
#else
|
||||
|
||||
typedef short fexcept_t;
|
||||
typedef short fenv_t;
|
||||
|
||||
#define FE_INVALID ((short)(1))
|
||||
#define FE_UNDERFLOW ((short)(2))
|
||||
#define FE_OVERFLOW ((short)(4))
|
||||
#define FE_DIVBYZERO ((short)(8))
|
||||
#define FE_INEXACT ((short)(16))
|
||||
#endif
|
||||
|
||||
#define FE_TONEAREST ((short)(0))
|
||||
#define FE_UPWARD ((short)(1))
|
||||
#define FE_DOWNWARD ((short)(2))
|
||||
#define FE_TOWARDZERO ((short)(3))
|
||||
|
||||
#define FE_LDBLPREC ((short)(0))
|
||||
#define FE_DBLPREC ((short)(1))
|
||||
#define FE_FLTPREC ((short)(2))
|
||||
#endif
|
||||
|
||||
#ifdef __INTEL__
|
||||
|
||||
typedef short fexcept_t;
|
||||
typedef long fenv_t;
|
||||
|
||||
#define FE_INVALID 0x0001
|
||||
#define FE_DIVBYZERO 0x0004
|
||||
#define FE_OVERFLOW 0x0008
|
||||
#define FE_UNDERFLOW 0x0010
|
||||
#define FE_INEXACT 0x0020
|
||||
|
||||
#define FE_TONEAREST 0x00000000
|
||||
#define FE_TOWARDZERO 0x00000C00
|
||||
#define FE_UPWARD 0x00000800
|
||||
#define FE_DOWNWARD 0x00000400
|
||||
|
||||
#define FE_LDBLPREC 0x00000300
|
||||
#define FE_DBLPREC 0x00000200
|
||||
#define FE_FLTPREC 0x00000000
|
||||
#endif
|
||||
|
||||
#ifdef __arm
|
||||
|
||||
typedef unsigned int __ieee_edata_t;
|
||||
|
||||
typedef union {
|
||||
float f;
|
||||
float s;
|
||||
double d;
|
||||
int i;
|
||||
unsigned int ui;
|
||||
#if !defined(__STRICT_ANSI__) || (defined(__STDC_VERSION__) && 199901L <= __STDC_VERSION__)
|
||||
long long l;
|
||||
unsigned long long ul;
|
||||
#endif
|
||||
struct {int word1, word2;} str;
|
||||
} __ieee_value_t;
|
||||
|
||||
typedef __ieee_value_t (* __ieee_handler_t) (__ieee_value_t, __ieee_value_t, __ieee_edata_t);
|
||||
|
||||
typedef struct {
|
||||
unsigned statusword;
|
||||
__ieee_handler_t invalid_handler;
|
||||
__ieee_handler_t divbyzero_handler;
|
||||
__ieee_handler_t overflow_handler;
|
||||
__ieee_handler_t underflow_handler;
|
||||
__ieee_handler_t inexact_handler;
|
||||
} fenv_t, fexcept_t;
|
||||
|
||||
#define FE_INVALID ((unsigned long)0x00000001)
|
||||
#define FE_DIVBYZERO ((unsigned long)0x00000002)
|
||||
#define FE_OVERFLOW ((unsigned long)0x00000004)
|
||||
#define FE_UNDERFLOW ((unsigned long)0x00000008)
|
||||
#define FE_INEXACT ((unsigned long)0x00000010)
|
||||
|
||||
#define FE_TONEAREST ((unsigned long)0x00000000)
|
||||
#define FE_TOWARDZERO ((unsigned long)0x00C00000)
|
||||
#define FE_UPWARD ((unsigned long)0x00400000)
|
||||
#define FE_DOWNWARD ((unsigned long)0x00800000)
|
||||
#endif
|
||||
|
||||
#ifdef __MIPS__
|
||||
typedef long int fenv_t;
|
||||
typedef long int fexcept_t;
|
||||
|
||||
#define FE_INEXACT 0x00001000
|
||||
#define FE_UNDERFLOW 0x00002000
|
||||
#define FE_OVERFLOW 0x00004000
|
||||
#define FE_DIVBYZERO 0x00008000
|
||||
#define FE_INVALID 0x00010000
|
||||
#endif
|
||||
|
||||
#define FE_ALL_EXCEPT (FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID)
|
||||
|
||||
_MSL_BEGIN_EXTERN_C
|
||||
|
||||
extern fenv_t _FE_DFL_ENV;
|
||||
#define FE_DFL_ENV &_FE_DFL_ENV
|
||||
|
||||
_MSL_IMP_EXP_C void _MSL_MATH_CDECL feclearexcept(int) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C void _MSL_MATH_CDECL fegetexceptflag(fexcept_t *, int) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C void _MSL_MATH_CDECL fesetexceptflag(const fexcept_t *, int) _MSL_CANT_THROW;
|
||||
#if (defined(__INTEL__) || defined(__arm))
|
||||
#define fegetexcept fegetexceptflag
|
||||
#define fesetexcept fesetexceptflag
|
||||
#else
|
||||
_MSL_IMP_EXP_C void _MSL_MATH_CDECL fegetexcept(fexcept_t *, int) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C void _MSL_MATH_CDECL fesetexcept(const fexcept_t *, int) _MSL_CANT_THROW;
|
||||
#endif
|
||||
_MSL_IMP_EXP_C void _MSL_MATH_CDECL feraiseexcept(int) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_MATH_CDECL fetestexcept(int) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_MATH_CDECL fegetround(void) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_MATH_CDECL fesetround(int) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C void _MSL_MATH_CDECL fegetenv(fenv_t *) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_MATH_CDECL feholdexcept(fenv_t *) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C void _MSL_MATH_CDECL fesetenv(const fenv_t *) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C void _MSL_MATH_CDECL feupdateenv(const fenv_t *) _MSL_CANT_THROW;
|
||||
#if (defined(__MC68K__) || defined(__INTEL__))
|
||||
_MSL_IMP_EXP_C int _MSL_MATH_CDECL fegetprec(void) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_MATH_CDECL fesetprec(int) _MSL_CANT_THROW;
|
||||
#endif
|
||||
|
||||
_MSL_END_EXTERN_C
|
||||
|
||||
#if defined(__INTEL__)
|
||||
#include <fenv_x87.h>
|
||||
#elif defined(__arm)
|
||||
#include <fenv.ARM.h>
|
||||
#endif
|
||||
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
|
@ -1,48 +0,0 @@
|
|||
#ifndef _MSL_FILE_IO_H
|
||||
#define _MSL_FILE_IO_H
|
||||
|
||||
#include <ansi_params.h>
|
||||
#include <cstdio>
|
||||
|
||||
_MSL_BEGIN_EXTERN_C
|
||||
|
||||
#if _MSL_OS_DISK_FILE_SUPPORT
|
||||
extern _MSL_IMP_EXP_C __std(__file_modes) __temp_file_mode;
|
||||
|
||||
int _MSL_CDECL __open_file(const char * name, __std(__file_modes) mode, __std(__file_handle) * handle) _MSL_CANT_THROW;
|
||||
int _MSL_CDECL __open_temp_file(__std(__file_handle) * handle) _MSL_CANT_THROW;
|
||||
|
||||
int __read_file(__std(__file_handle) handle, unsigned char * buffer, __std(size_t) * count, __std(__ref_con) ref_con) _MSL_CANT_THROW;
|
||||
int __write_file(__std(__file_handle) handle, unsigned char * buffer, __std(size_t) * count, __std(__ref_con) ref_con) _MSL_CANT_THROW;
|
||||
int __position_file(__std(__file_handle) handle, __std(fpos_t) * position, int mode, __std(__ref_con) ref_con) _MSL_CANT_THROW;
|
||||
int __close_file(__std(__file_handle) handle) _MSL_CANT_THROW;
|
||||
|
||||
void _MSL_CDECL __temp_file_name(char * name_str, void *) _MSL_CANT_THROW;
|
||||
int _MSL_CDECL __delete_file(const char * name) _MSL_CANT_THROW;
|
||||
int _MSL_CDECL __rename_file(const char * old_name, const char * new_name) _MSL_CANT_THROW;
|
||||
|
||||
_MSL_IMP_EXP_C __std(FILE) * _MSL_CDECL __reopen(__std(FILE) * file) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL __get_file_modes(const char * mode, __std(__file_modes) * modes) _MSL_CANT_THROW;
|
||||
#endif
|
||||
|
||||
#if _MSL_WFILEIO_AVAILABLE
|
||||
int _MSL_CDECL __wopen_file(const wchar_t * name, __std(__file_modes) mode, __std(__file_handle) * handle) _MSL_CANT_THROW;
|
||||
void _MSL_CDECL __wtemp_file_name(wchar_t * name_str, void *) _MSL_CANT_THROW;
|
||||
int _MSL_CDECL __wdelete_file(const wchar_t * name) _MSL_CANT_THROW;
|
||||
int _MSL_CDECL __wrename_file(const wchar_t * old_name, const wchar_t * new_name) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C int _MSL_CDECL __wget_file_modes(const wchar_t * mode, __std(__file_modes) * modes) _MSL_CANT_THROW;
|
||||
#endif
|
||||
|
||||
char * _MSL_CDECL __msl_itoa(int, char *, int) _MSL_CANT_THROW;
|
||||
char * _MSL_CDECL __msl_strrev(char *) _MSL_CANT_THROW;
|
||||
int _MSL_CDECL __msl_strnicmp(const char *, const char *, int) _MSL_CANT_THROW;
|
||||
|
||||
#if _MSL_OS_DISK_FILE_SUPPORT
|
||||
char * _MSL_CDECL __msl_getcwd(char *, int) _MSL_CANT_THROW;
|
||||
#endif
|
||||
|
||||
char * _MSL_CDECL __msl_strdup(const char *) _MSL_CANT_THROW;
|
||||
|
||||
_MSL_END_EXTERN_C
|
||||
|
||||
#endif
|
||||
|
|
@ -1,181 +0,0 @@
|
|||
#ifndef _MSL_FILE_STRUC_H
|
||||
#define _MSL_FILE_STRUC_H
|
||||
|
||||
#include <size_t.h>
|
||||
|
||||
#if _MSL_WIDE_CHAR
|
||||
#include <wchar_t.h>
|
||||
#endif
|
||||
|
||||
#ifndef RC_INVOKED
|
||||
|
||||
#pragma options align=native
|
||||
#pragma warn_padding off
|
||||
|
||||
_MSL_BEGIN_NAMESPACE_STD
|
||||
_MSL_BEGIN_EXTERN_C
|
||||
|
||||
enum __file_kinds {
|
||||
__closed_file,
|
||||
__disk_file,
|
||||
__console_file,
|
||||
__unavailable_file
|
||||
};
|
||||
|
||||
enum __open_modes {
|
||||
__must_exist,
|
||||
__create_if_necessary,
|
||||
__create_or_truncate
|
||||
};
|
||||
|
||||
#if _MSL_WIDE_CHAR
|
||||
enum __file_orientation {
|
||||
__unoriented,
|
||||
__char_oriented,
|
||||
__wide_oriented
|
||||
};
|
||||
#endif
|
||||
|
||||
enum __io_modes {
|
||||
__read = 1,
|
||||
__write = 2,
|
||||
__read_write = 3,
|
||||
__append = 4
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
unsigned int open_mode : 2;
|
||||
unsigned int io_mode : 3;
|
||||
unsigned int buffer_mode : 2;
|
||||
unsigned int file_kind : 3;
|
||||
|
||||
#if _MSL_WIDE_CHAR
|
||||
unsigned int file_orientation : 2;
|
||||
#endif
|
||||
|
||||
unsigned int binary_io : 1;
|
||||
} __file_modes;
|
||||
|
||||
enum __io_states {
|
||||
__neutral,
|
||||
__writing,
|
||||
__reading,
|
||||
__rereading
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
unsigned int io_state : 3;
|
||||
unsigned int free_buffer : 1;
|
||||
unsigned char eof;
|
||||
unsigned char error;
|
||||
} __file_state;
|
||||
|
||||
typedef unsigned long __file_handle;
|
||||
|
||||
typedef unsigned long fpos_t;
|
||||
|
||||
typedef struct _FILE FILE;
|
||||
|
||||
enum __io_results {
|
||||
__no_io_error,
|
||||
__io_error,
|
||||
__io_EOF
|
||||
};
|
||||
|
||||
typedef void * __ref_con;
|
||||
typedef void (* __idle_proc) (void);
|
||||
typedef int (* __pos_proc) (__file_handle file, fpos_t * position, int mode, __ref_con ref_con);
|
||||
typedef int (* __io_proc) (__file_handle file, unsigned char * buff, size_t * count, __ref_con ref_con);
|
||||
typedef int (* __close_proc) (__file_handle file);
|
||||
|
||||
#define __ungetc_buffer_size 2
|
||||
|
||||
struct _FILE {
|
||||
__file_handle handle;
|
||||
__file_modes mode;
|
||||
__file_state state;
|
||||
|
||||
#if _MSL_OS_DISK_FILE_SUPPORT
|
||||
unsigned char is_dynamically_allocated;
|
||||
#endif
|
||||
|
||||
unsigned char char_buffer;
|
||||
unsigned char char_buffer_overflow;
|
||||
unsigned char ungetc_buffer[__ungetc_buffer_size];
|
||||
|
||||
#if _MSL_WIDE_CHAR
|
||||
wchar_t ungetwc_buffer[__ungetc_buffer_size];
|
||||
#endif
|
||||
|
||||
unsigned long position;
|
||||
unsigned char * buffer;
|
||||
unsigned long buffer_size;
|
||||
unsigned char * buffer_ptr;
|
||||
unsigned long buffer_len;
|
||||
unsigned long buffer_alignment;
|
||||
unsigned long saved_buffer_len;
|
||||
unsigned long buffer_pos;
|
||||
__pos_proc position_proc;
|
||||
__io_proc read_proc;
|
||||
__io_proc write_proc;
|
||||
__close_proc close_proc;
|
||||
__ref_con ref_con;
|
||||
|
||||
#if _MSL_OS_DISK_FILE_SUPPORT
|
||||
struct _FILE * next_file_struct;
|
||||
#endif
|
||||
};
|
||||
|
||||
#define _IONBF 0
|
||||
#define _IOLBF 1
|
||||
#define _IOFBF 2
|
||||
|
||||
#ifndef _MSL_BUFSIZ
|
||||
#define _MSL_BUFSIZ 4096
|
||||
#endif
|
||||
|
||||
#define BUFSIZ _MSL_BUFSIZ
|
||||
|
||||
#if !_MSL_OS_DISK_FILE_SUPPORT
|
||||
#if !_MSL_CONSOLE_SUPPORT
|
||||
#define FOPEN_MAX 0
|
||||
#else
|
||||
#define FOPEN_MAX 3
|
||||
#endif
|
||||
#define _STATIC_FILES 3
|
||||
#else
|
||||
#define FOPEN_MAX 35
|
||||
#define _STATIC_FILES 4
|
||||
#endif
|
||||
|
||||
#define _MSL_FILENAME_MAX 256
|
||||
|
||||
#define FILENAME_MAX _MSL_FILENAME_MAX
|
||||
|
||||
#define L_tmpnam _MSL_FILENAME_MAX
|
||||
#define TMP_MAX 32767
|
||||
|
||||
#if defined(__STDC_WANT_SECURE_LIB__) && __STDC_WANT_SECURE_LIB__
|
||||
#define L_tmpnam_s _MSL_FILENAME_MAX
|
||||
#define TMP_MAX_S 32767
|
||||
#endif
|
||||
|
||||
#define SEEK_SET 0
|
||||
#define SEEK_CUR 1
|
||||
#define SEEK_END 2
|
||||
|
||||
#define stdin (&__std(__files[0]))
|
||||
#define stdout (&__std(__files[1]))
|
||||
#define stderr (&__std(__files[2]))
|
||||
|
||||
extern _MSL_IMP_EXP_C FILE __files[];
|
||||
|
||||
_MSL_END_EXTERN_C
|
||||
_MSL_END_NAMESPACE_STD
|
||||
|
||||
#pragma warn_padding reset
|
||||
#pragma options align=reset
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
@ -1,108 +0,0 @@
|
|||
#ifndef _MSL_FLOAT_ARM_H
|
||||
#define _MSL_FLOAT_ARM_H
|
||||
|
||||
#ifndef _MSL_CFLOAT
|
||||
#error This header may only be included from <cfloat>
|
||||
#endif
|
||||
|
||||
_MSL_BEGIN_EXTERN_C
|
||||
|
||||
extern float _fadd(float, float);
|
||||
extern float _fsub(float, float);
|
||||
extern float _frsb(float, float);
|
||||
extern float _fmul(float, float);
|
||||
extern float _fdiv(float, float);
|
||||
extern float _frdiv(float, float);
|
||||
extern float _frem(float, float);
|
||||
extern float _frnd(float);
|
||||
extern float _fsqrt(float);
|
||||
|
||||
extern double _dadd(double, double);
|
||||
extern double _dsub(double, double);
|
||||
extern double _drsb(double, double);
|
||||
extern double _dmul(double, double);
|
||||
extern double _ddiv(double, double);
|
||||
extern double _drdiv(double, double);
|
||||
extern double _drem(double, double);
|
||||
extern double _drnd(double);
|
||||
extern double _dsqrt(double);
|
||||
|
||||
extern int _feq(float, float);
|
||||
extern int _fneq(float, float);
|
||||
extern int _fgeq(float, float);
|
||||
extern int _fgr(float, float);
|
||||
extern int _fleq(float, float);
|
||||
extern int _fls(float, float);
|
||||
extern int _deq(double, double);
|
||||
extern int _dneq(double, double);
|
||||
extern int _dgeq(double, double);
|
||||
extern int _dgr(double, double);
|
||||
extern int _dleq(double, double);
|
||||
extern int _dls(double, double);
|
||||
|
||||
extern double _f2d(float);
|
||||
extern float _d2f(double);
|
||||
|
||||
extern float _fflt(int);
|
||||
extern float _ffltu(unsigned int);
|
||||
extern double _dflt(int);
|
||||
extern double _dfltu(unsigned int);
|
||||
#if !defined(__STDC__) || (defined(__STDC_VERSION__) && 199901L <= __STDC_VERSION__)
|
||||
extern float _ll_sto_f(long long);
|
||||
extern float _ll_uto_f(unsigned long long);
|
||||
extern double _ll_sto_d(long long);
|
||||
extern double _ll_uto_d(unsigned long long);
|
||||
#endif
|
||||
|
||||
extern int _ffix(float);
|
||||
extern unsigned int _ffixu(float);
|
||||
extern int _dfix(double);
|
||||
extern unsigned int _dfixu(double);
|
||||
#if !defined(__STDC__) || (defined(__STDC_VERSION__) && 199901L <= __STDC_VERSION__)
|
||||
extern long long _ll_sfrom_f(float);
|
||||
extern unsigned long long _ll_ufrom_f(float);
|
||||
extern long long _ll_sfrom_d(double);
|
||||
extern unsigned long long _ll_ufrom_d(double);
|
||||
#endif
|
||||
|
||||
extern int _ffix_r(float);
|
||||
extern unsigned int _ffixu_r(float);
|
||||
extern int _dfix_r(double);
|
||||
extern unsigned int _dfixu_r(double);
|
||||
#if !defined(__STDC__) || (defined(__STDC_VERSION__) && 199901L <= __STDC_VERSION__)
|
||||
extern long long _ll_sfrom_f_r(float);
|
||||
extern unsigned long long _ll_ufrom_f_r(float);
|
||||
extern long long _ll_sfrom_d_r(double);
|
||||
extern unsigned long long _ll_ufrom_d_r(double);
|
||||
#endif
|
||||
|
||||
extern void _fp_init(void);
|
||||
|
||||
extern unsigned * __rt_fp_status_addr(void);
|
||||
|
||||
extern unsigned _controlfp(unsigned, unsigned);
|
||||
extern unsigned _clearfp(void);
|
||||
extern unsigned _statusfp(void);
|
||||
|
||||
#define _MCW_EM 0x001F
|
||||
#define _EM_INVALID 0x0001
|
||||
#define _EM_ZERODIVIDE 0x0002
|
||||
#define _EM_OVERFLOW 0x0004
|
||||
#define _EM_UNDERFLOW 0x0008
|
||||
#define _EM_INEXACT 0x0010
|
||||
|
||||
#define _MCW_RC 0xC000
|
||||
#define _RC_CHOP 0xC000
|
||||
#define _RC_UP 0x4000
|
||||
#define _RC_DOWN 0x8000
|
||||
#define _RC_NEAR 0x0000
|
||||
|
||||
#define _FPE_INVALID 0x04000000
|
||||
#define _FPE_ZERODIVIDE 0x08000000
|
||||
#define _FPE_OVERFLOW 0x10000000
|
||||
#define _FPE_UNDERFLOW 0x20000000
|
||||
#define _FPE_INEXACT 0x40000000
|
||||
|
||||
_MSL_END_EXTERN_C
|
||||
|
||||
#endif
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
#ifndef _MSL_FLOAT_H
|
||||
#define _MSL_FLOAT_H
|
||||
|
||||
#include <ansi_params.h>
|
||||
|
||||
#if !_MSL_USING_MW_C_HEADERS
|
||||
#error You must have the non-MSL C header file access path before the MSL access path
|
||||
#else
|
||||
|
||||
#include <cfloat>
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
#ifndef _MSL_INTTYPES_H
|
||||
#define _MSL_INTTYPES_H
|
||||
|
||||
#include <ansi_params.h>
|
||||
|
||||
#if !_MSL_USING_MW_C_HEADERS
|
||||
#error You must have the non-MSL C header file access path before the MSL access path
|
||||
#else
|
||||
|
||||
#include <cinttypes>
|
||||
#include <stdint.h>
|
||||
|
||||
#if _MSL_C99
|
||||
|
||||
#if defined(__cplusplus) && defined(_MSL_USING_NAMESPACE)
|
||||
using std::imaxdiv_t;
|
||||
using std::imaxabs;
|
||||
using std::imaxdiv;
|
||||
using std::strtoimax;
|
||||
using std::strtoumax;
|
||||
#if _MSL_WIDE_CHAR
|
||||
using std::wcstoimax;
|
||||
using std::wcstoumax;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
#ifndef _MSL_ISO646_H
|
||||
#define _MSL_ISO646_H
|
||||
|
||||
#include <ansi_params.h>
|
||||
|
||||
#if _MSL_C99
|
||||
|
||||
#if !_MSL_USING_MW_C_HEADERS
|
||||
#if !__MACH__
|
||||
#error You must have the non-MSL C header file access path before the MSL access path
|
||||
#endif
|
||||
#else
|
||||
|
||||
#include <ciso646>
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
#ifndef _MSL_LCONV_H
|
||||
#define _MSL_LCONV_H
|
||||
|
||||
#include <ansi_params.h>
|
||||
|
||||
#pragma options align=native
|
||||
|
||||
_MSL_BEGIN_NAMESPACE_STD
|
||||
_MSL_BEGIN_EXTERN_C
|
||||
|
||||
extern struct lconv __lconv;
|
||||
|
||||
_MSL_END_EXTERN_C
|
||||
_MSL_END_NAMESPACE_STD
|
||||
|
||||
#pragma options align=reset
|
||||
|
||||
#endif
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
#ifndef _MSL_LIMITS_H
|
||||
#define _MSL_LIMITS_H
|
||||
|
||||
#include <ansi_params.h>
|
||||
|
||||
#if !_MSL_USING_MW_C_HEADERS
|
||||
#error You must have the non-MSL C header file access path before the MSL access path
|
||||
#else
|
||||
|
||||
#include <climits>
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
@ -1,121 +0,0 @@
|
|||
#ifndef _MSL_LIMITS_API_H
|
||||
#define _MSL_LIMITS_API_H
|
||||
|
||||
#ifndef _MSL_CHAR_BIT
|
||||
#define _MSL_CHAR_BIT 8
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_SIZEOF_SHRT
|
||||
#define _MSL_SIZEOF_SHRT 2
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_SIZEOF_INT
|
||||
#define _MSL_SIZEOF_INT 4
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_SIZEOF_LONG
|
||||
#define _MSL_SIZEOF_LONG 4
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_MB_LEN_MAX
|
||||
#define _MSL_MB_LEN_MAX 3
|
||||
#endif
|
||||
|
||||
#if _MSL_LONGLONG
|
||||
#ifndef _MSL_SIZEOF_LONG_LONG
|
||||
#define _MSL_SIZEOF_LONG_LONG 8
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef _MSL_UNSIGNED_CHAR
|
||||
#ifdef __MWERKS__
|
||||
#if __option(unsigned_char)
|
||||
#define _MSL_UNSIGNED_CHAR 1
|
||||
#else
|
||||
#define _MSL_UNSIGNED_CHAR 0
|
||||
#endif
|
||||
#else
|
||||
#define _MSL_UNSIGNED_CHAR 0
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if _MSL_CHAR_BIT == 8
|
||||
#define _MSL_SCHAR_MAX 0x7f
|
||||
#define _MSL_UCHAR_MAX 0xff
|
||||
#elif _MSL_CHAR_BIT == 16
|
||||
#define _MSL_SCHAR_MAX 0x7fff
|
||||
#define _MSL_UCHAR_MAX 0xffff
|
||||
#elif _MSL_CHAR_BIT == 24
|
||||
#define _MSL_SCHAR_MAX 0x7fffff
|
||||
#define _MSL_UCHAR_MAX 0xffffff
|
||||
#else
|
||||
#error unsupported size for _MSL_CHAR_BIT
|
||||
#endif
|
||||
|
||||
#define _MSL_SCHAR_MIN (~_MSL_SCHAR_MAX)
|
||||
|
||||
#if _MSL_UNSIGNED_CHAR
|
||||
#define _MSL_CHAR_MIN 0
|
||||
#define _MSL_CHAR_MAX _MSL_UCHAR_MAX
|
||||
#else
|
||||
#define _MSL_CHAR_MIN _MSL_SCHAR_MIN
|
||||
#define _MSL_CHAR_MAX _MSL_SCHAR_MAX
|
||||
#endif
|
||||
|
||||
#if _MSL_SIZEOF_SHRT * _MSL_CHAR_BIT == 16
|
||||
#define _MSL_SHRT_MAX 0x7fff
|
||||
#define _MSL_USHRT_MAX 0xffff
|
||||
#elif _MSL_SIZEOF_SHRT * _MSL_CHAR_BIT == 24
|
||||
#define _MSL_SHRT_MAX 0x7fffff
|
||||
#define _MSL_USHRT_MAX 0xffffff
|
||||
#else
|
||||
#error unsupported size for sizeof short
|
||||
#endif
|
||||
|
||||
#define _MSL_SHRT_MIN (~_MSL_SHRT_MAX)
|
||||
|
||||
#if _MSL_SIZEOF_INT * _MSL_CHAR_BIT == 16
|
||||
#define _MSL_INT_MAX 0x7fff
|
||||
#define _MSL_UINT_MAX 0xffffU
|
||||
#elif _MSL_SIZEOF_INT * _MSL_CHAR_BIT == 24
|
||||
#define _MSL_INT_MAX 0x7fffff
|
||||
#define _MSL_UINT_MAX 0xffffffU
|
||||
#elif _MSL_SIZEOF_INT * _MSL_CHAR_BIT == 32
|
||||
#define _MSL_INT_MAX 0x7fffffff
|
||||
#define _MSL_UINT_MAX 0xffffffffU
|
||||
#else
|
||||
#error unsupported size for sizeof int
|
||||
#endif
|
||||
|
||||
#define _MSL_INT_MIN (~_MSL_INT_MAX)
|
||||
|
||||
#if _MSL_SIZEOF_LONG * _MSL_CHAR_BIT == 24
|
||||
#define _MSL_LONG_MAX 0x7fffffL
|
||||
#define _MSL_ULONG_MAX 0xffffffUL
|
||||
#elif _MSL_SIZEOF_LONG * _MSL_CHAR_BIT == 32
|
||||
#define _MSL_LONG_MAX 0x7fffffffL
|
||||
#define _MSL_ULONG_MAX 0xffffffffUL
|
||||
#else
|
||||
#error unsupported size for sizeof long
|
||||
#endif
|
||||
|
||||
#define _MSL_LONG_MIN (~_MSL_LONG_MAX)
|
||||
|
||||
#if _MSL_LONGLONG && _MSL_C99
|
||||
#if _MSL_SIZEOF_LONG_LONG * _MSL_CHAR_BIT == 24
|
||||
#define _MSL_LLONG_MAX 0x7fffffLL
|
||||
#define _MSL_ULLONG_MAX 0xffffffULL
|
||||
#elif _MSL_SIZEOF_LONG_LONG * _MSL_CHAR_BIT == 32
|
||||
#define _MSL_LLONG_MAX 0x7fffffffLL
|
||||
#define _MSL_ULLONG_MAX 0xffffffffULL
|
||||
#elif _MSL_SIZEOF_LONG_LONG * _MSL_CHAR_BIT == 64
|
||||
#define _MSL_LLONG_MAX 0x7fffffffffffffffLL
|
||||
#define _MSL_ULLONG_MAX 0xffffffffffffffffULL
|
||||
#else
|
||||
#error unsupported size for sizeof long long
|
||||
#endif
|
||||
|
||||
#define _MSL_LLONG_MIN (~_MSL_LLONG_MAX)
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
#ifndef _MSL_LOCALE_H
|
||||
#define _MSL_LOCALE_H
|
||||
|
||||
#include <ansi_params.h>
|
||||
|
||||
#if !_MSL_USING_MW_C_HEADERS
|
||||
#error You must have the non-MSL C header file access path before the MSL access path
|
||||
#else
|
||||
|
||||
#include <clocale>
|
||||
|
||||
#if defined(__cplusplus) && defined(_MSL_USING_NAMESPACE)
|
||||
using std::lconv;
|
||||
using std::localeconv;
|
||||
using std::setlocale;
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
@ -1,188 +0,0 @@
|
|||
#ifndef _MSL_LOCALE_API_H
|
||||
#define _MSL_LOCALE_API_H
|
||||
|
||||
#include <ansi_params.h>
|
||||
#include <wchar_t.h>
|
||||
#include <size_t.h>
|
||||
|
||||
#define _MSL_LOCALE_NONE 0
|
||||
#define _MSL_LOCALE_C 1
|
||||
#define _MSL_LOCALE_CUTF8 2
|
||||
|
||||
#ifndef _MSL_DEFAULT_LOCALE
|
||||
#define _MSL_DEFAULT_LOCALE _MSL_LOCALE_C
|
||||
#endif
|
||||
|
||||
#define _LOCALE_NAME_LEN 48
|
||||
#define _COMPONENT_NAME_LEN 8
|
||||
#define _LOCALE_CMPT_COUNT 5
|
||||
|
||||
#pragma options align=native
|
||||
#pragma warn_padding off
|
||||
|
||||
#if _MSL_WIDE_CHAR
|
||||
typedef int (* __decode_mbyte) (wchar_t *, const char *, __std (size_t));
|
||||
typedef int (* __encode_mbyte) (char *, wchar_t);
|
||||
#endif
|
||||
|
||||
#if !_MSL_C_LOCALE_ONLY
|
||||
|
||||
struct _loc_mon_cmpt_vals {
|
||||
char * mon_decimal_point;
|
||||
char * mon_thousands_sep;
|
||||
char * mon_grouping;
|
||||
char * positive_sign;
|
||||
char * negative_sign;
|
||||
char * currency_symbol;
|
||||
char frac_digits;
|
||||
char p_cs_precedes;
|
||||
char n_cs_precedes;
|
||||
char p_sep_by_space;
|
||||
char n_sep_by_space;
|
||||
char p_sign_posn;
|
||||
char n_sign_posn;
|
||||
char * int_curr_symbol;
|
||||
char int_frac_digits;
|
||||
char int_p_cs_precedes;
|
||||
char int_n_cs_precedes;
|
||||
char int_p_sep_by_space;
|
||||
char int_n_sep_by_space;
|
||||
char int_p_sign_posn;
|
||||
char int_n_sign_posn;
|
||||
};
|
||||
|
||||
struct _loc_mon_cmpt {
|
||||
char CmptName[_COMPONENT_NAME_LEN];
|
||||
char * mon_decimal_point;
|
||||
char * mon_thousands_sep;
|
||||
char * mon_grouping;
|
||||
char * positive_sign;
|
||||
char * negative_sign;
|
||||
char * currency_symbol;
|
||||
char frac_digits;
|
||||
char p_cs_precedes;
|
||||
char n_cs_precedes;
|
||||
char p_sep_by_space;
|
||||
char n_sep_by_space;
|
||||
char p_sign_posn;
|
||||
char n_sign_posn;
|
||||
char * int_curr_symbol;
|
||||
char int_frac_digits;
|
||||
char int_p_cs_precedes;
|
||||
char int_n_cs_precedes;
|
||||
char int_p_sep_by_space;
|
||||
char int_n_sep_by_space;
|
||||
char int_p_sign_posn;
|
||||
char int_n_sign_posn;
|
||||
};
|
||||
|
||||
struct _loc_coll_cmpt {
|
||||
char CmptName[_COMPONENT_NAME_LEN];
|
||||
int char_start_value;
|
||||
int char_coll_tab_size;
|
||||
short char_spec_accents;
|
||||
unsigned short * char_coll_table_ptr;
|
||||
unsigned short * wchar_coll_seq_ptr;
|
||||
};
|
||||
#else
|
||||
|
||||
struct _loc_coll_cmpt {
|
||||
int char_start_value;
|
||||
int char_coll_tab_size;
|
||||
short char_spec_accents;
|
||||
unsigned short * char_coll_table_ptr;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#if !_MSL_C_LOCALE_ONLY
|
||||
struct _loc_ctype_cmpt {
|
||||
#if !_MSL_C_LOCALE_ONLY
|
||||
char CmptName[_COMPONENT_NAME_LEN];
|
||||
const unsigned short * ctype_map_ptr;
|
||||
const unsigned char * upper_map_ptr;
|
||||
const unsigned char * lower_map_ptr;
|
||||
#if _MSL_WIDE_CHAR
|
||||
#if _MSL_C99
|
||||
const unsigned short * wctype_map_ptr;
|
||||
const wchar_t * wupper_map_ptr;
|
||||
const wchar_t * wlower_map_ptr;
|
||||
#endif
|
||||
__decode_mbyte decode_mb;
|
||||
__encode_mbyte encode_wc;
|
||||
#endif
|
||||
#endif
|
||||
};
|
||||
|
||||
#elif _MSL_WIDE_CHAR && _MSL_C_LOCALE_ONLY
|
||||
|
||||
struct _loc_ctype_cmpt {
|
||||
__decode_mbyte decode_mb;
|
||||
__encode_mbyte encode_wc;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#if !_MSL_C_LOCALE_ONLY
|
||||
|
||||
struct _loc_num_cmpt_vals {
|
||||
char * decimal_point;
|
||||
char * thousands_sep;
|
||||
char * grouping;
|
||||
};
|
||||
|
||||
struct _loc_num_cmpt {
|
||||
char CmptName[_COMPONENT_NAME_LEN];
|
||||
char * decimal_point;
|
||||
char * thousands_sep;
|
||||
char * grouping;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
struct _loc_time_cmpt {
|
||||
#if !_MSL_C_LOCALE_ONLY
|
||||
char CmptName[_COMPONENT_NAME_LEN];
|
||||
#endif
|
||||
char * am_pm;
|
||||
char * DateTime_Format;
|
||||
char * Twelve_hr_format;
|
||||
char * Date_Format;
|
||||
char * Time_Format;
|
||||
char * Day_Names;
|
||||
|
||||
char * MonthNames;
|
||||
char * TimeZone;
|
||||
};
|
||||
|
||||
#if _MSL_C_LOCALE_ONLY
|
||||
struct __locale {
|
||||
struct _loc_time_cmpt * time_cmpt_ptr;
|
||||
struct _loc_coll_cmpt * coll_cmpt_ptr;
|
||||
|
||||
#if _MSL_WIDE_CHAR
|
||||
struct _loc_ctype_cmpt * ctype_cmpt_ptr;
|
||||
#endif
|
||||
};
|
||||
#else
|
||||
struct __locale {
|
||||
struct __locale * next_locale;
|
||||
char locale_name[_LOCALE_NAME_LEN];
|
||||
struct _loc_coll_cmpt * coll_cmpt_ptr;
|
||||
struct _loc_ctype_cmpt * ctype_cmpt_ptr;
|
||||
struct _loc_mon_cmpt * mon_cmpt_ptr;
|
||||
struct _loc_num_cmpt * num_cmpt_ptr;
|
||||
struct _loc_time_cmpt * time_cmpt_ptr;
|
||||
};
|
||||
#endif
|
||||
|
||||
_MSL_BEGIN_EXTERN_C
|
||||
|
||||
_MSL_IMP_EXP_C extern struct __locale _current_locale;
|
||||
|
||||
_MSL_END_EXTERN_C
|
||||
|
||||
#pragma warn_padding reset
|
||||
#pragma options align=reset
|
||||
|
||||
#endif
|
||||
|
|
@ -1,357 +0,0 @@
|
|||
#ifndef _MSL_MATH_ARM_H
|
||||
#define _MSL_MATH_ARM_H
|
||||
|
||||
#ifndef _MSL_CMATH
|
||||
#error This header may only be included from <cmath>
|
||||
#endif
|
||||
|
||||
#define __SET_ERRNO__
|
||||
#ifdef __SET_ERRNO__
|
||||
#include <cerrno>
|
||||
#endif
|
||||
|
||||
_MSL_BEGIN_NAMESPACE_STD
|
||||
typedef float float_t;
|
||||
typedef double double_t;
|
||||
_MSL_END_NAMESPACE_STD
|
||||
|
||||
_MSL_BEGIN_EXTERN_C
|
||||
|
||||
_MSL_IMP_EXP_C double _MSL_MATH_CDECL gamma(double);
|
||||
|
||||
#if _MSL_C99
|
||||
extern int _ffix_r(float);
|
||||
extern int _dfix_r(double);
|
||||
|
||||
#if _MSL_LONGLONG
|
||||
extern long long _ll_sfrom_d_r(double);
|
||||
extern long long _ll_sfrom_f_r(float);
|
||||
#endif
|
||||
|
||||
extern float _frem(float, float);
|
||||
extern float _frnd(float);
|
||||
|
||||
extern double _drem(double, double);
|
||||
|
||||
#endif
|
||||
|
||||
#if _MSL_C99 || _MSL_USES_SUN_MATH_LIB
|
||||
extern double _drnd(double);
|
||||
#endif
|
||||
|
||||
#if _MSL_C99 || _MSL_C_HAS_CPP_EXTENSIONS
|
||||
extern double _dsqrt(double);
|
||||
extern float _fsqrt(float);
|
||||
#endif
|
||||
|
||||
_MSL_END_EXTERN_C
|
||||
|
||||
_MSL_BEGIN_NAMESPACE_STD
|
||||
_MSL_BEGIN_EXTERN_C
|
||||
|
||||
#if _MSL_USE_INLINE
|
||||
|
||||
_MSL_INLINE double _MSL_MATH_CDECL sqrt (double d) {
|
||||
return _dsqrt(d);
|
||||
}
|
||||
|
||||
#if _MSL_C99
|
||||
_MSL_INLINE long _MSL_CDECL lrint (double d) {
|
||||
return _dfix_r(d);
|
||||
}
|
||||
#endif
|
||||
|
||||
#if _MSL_C99 || _MSL_C_HAS_CPP_EXTENSIONS
|
||||
_MSL_INLINE float _MSL_MATH_CDECL acosf (float x) {
|
||||
return (float)(acos)((double)(x));
|
||||
}
|
||||
_MSL_INLINE long double _MSL_MATH_CDECL acosl (long double x) {
|
||||
return (long double)(acos)((double)(x));
|
||||
}
|
||||
_MSL_INLINE float _MSL_MATH_CDECL asinf (float x) {
|
||||
return (float)(asin)((double)(x));
|
||||
}
|
||||
_MSL_INLINE long double _MSL_MATH_CDECL asinl (long double x) {
|
||||
return (long double)(asin)((double)(x));
|
||||
}
|
||||
_MSL_INLINE float _MSL_MATH_CDECL atanf (float x) {
|
||||
return (float)(atan)((double)(x));
|
||||
}
|
||||
_MSL_INLINE long double _MSL_MATH_CDECL atanl (long double x) {
|
||||
return (long double)(atan)((double)(x));
|
||||
}
|
||||
_MSL_INLINE float _MSL_MATH_CDECL atan2f (float y, float x) {
|
||||
return (float)(atan2)((double)(y), (double)(x));
|
||||
}
|
||||
_MSL_INLINE long double _MSL_MATH_CDECL atan2l (long double y, long double x) {
|
||||
return (long double)(atan2)((double)(y), (double)(x));
|
||||
}
|
||||
_MSL_INLINE float _MSL_MATH_CDECL ceilf (float x) {
|
||||
return (float)(ceil)((double)(x));
|
||||
}
|
||||
_MSL_INLINE long double _MSL_MATH_CDECL ceill (long double x) {
|
||||
return (long double)(ceil)((double)(x));
|
||||
}
|
||||
_MSL_INLINE float _MSL_MATH_CDECL cosf (float x) {
|
||||
return (float)(cos)((double)(x));
|
||||
}
|
||||
_MSL_INLINE long double _MSL_MATH_CDECL cosl (long double x) {
|
||||
return (long double)(cos)((double)(x));
|
||||
}
|
||||
_MSL_INLINE float _MSL_MATH_CDECL coshf (float x) {
|
||||
return (float)(cosh)((double)(x));
|
||||
}
|
||||
_MSL_INLINE long double _MSL_MATH_CDECL coshl (long double x) {
|
||||
return (long double)(cosh)((double)(x));
|
||||
}
|
||||
_MSL_INLINE float _MSL_MATH_CDECL expf (float x) {
|
||||
return (float)(exp)((double)(x));
|
||||
}
|
||||
_MSL_INLINE long double _MSL_MATH_CDECL expl (long double x) {
|
||||
return (long double)(exp)((double)(x));
|
||||
}
|
||||
_MSL_INLINE float _MSL_MATH_CDECL fabsf (float x) {
|
||||
return (float)(fabs)((double)(x));
|
||||
}
|
||||
_MSL_INLINE long double _MSL_MATH_CDECL fabsl (long double x) {
|
||||
return (long double)(fabs)((double)(x));
|
||||
}
|
||||
_MSL_INLINE float _MSL_MATH_CDECL floorf (float x) {
|
||||
return (float)(floor)((double)(x));
|
||||
}
|
||||
_MSL_INLINE long double _MSL_MATH_CDECL floorl (long double x) {
|
||||
return (long double)(floor)((double)(x));
|
||||
}
|
||||
_MSL_INLINE float _MSL_MATH_CDECL fmodf (float x, float y) {
|
||||
return (float)(fmod)((double)(x), (double)(y));
|
||||
}
|
||||
_MSL_INLINE long double _MSL_MATH_CDECL fmodl (long double x, long double y) {
|
||||
return (long double)(fmod)((double)(x), (double)(y));
|
||||
}
|
||||
_MSL_INLINE float _MSL_MATH_CDECL frexpf (float x, int * y) {
|
||||
return (float)(frexp)((double)(x), (y));
|
||||
}
|
||||
_MSL_INLINE long double _MSL_MATH_CDECL frexpl (long double x, int * y) {
|
||||
return (long double)(frexp)((double)(x), (y));
|
||||
}
|
||||
_MSL_INLINE float _MSL_MATH_CDECL ldexpf (float x, int y) {
|
||||
return (float)(ldexp)((double)(x), (y));
|
||||
}
|
||||
_MSL_INLINE long double _MSL_MATH_CDECL ldexpl (long double x, int y) {
|
||||
return (long double)(ldexp)((double)(x), (y));
|
||||
}
|
||||
_MSL_INLINE float _MSL_MATH_CDECL logf (float x) {
|
||||
return (float)(log)((double)(x));
|
||||
}
|
||||
_MSL_INLINE long double _MSL_MATH_CDECL logl (long double x) {
|
||||
return (long double)(log)((double)(x));
|
||||
}
|
||||
_MSL_INLINE float _MSL_MATH_CDECL log10f (float x) {
|
||||
return (float)(log10)((double)(x));
|
||||
}
|
||||
_MSL_INLINE long double _MSL_MATH_CDECL log10l (long double x) {
|
||||
return (long double)(log10)((double)(x));
|
||||
}
|
||||
_MSL_INLINE float _MSL_MATH_CDECL modff (float x, float * iptr) {
|
||||
double iptrd;
|
||||
float result = (float)modf((double)x, &iptrd);
|
||||
*iptr = (float)iptrd;
|
||||
return result;
|
||||
}
|
||||
_MSL_INLINE long double _MSL_MATH_CDECL modfl (long double x, long double * iptr) {
|
||||
double iptrd;
|
||||
long double result = (long double)modf((double)x, &iptrd);
|
||||
*iptr = (long double)iptrd;
|
||||
return result;
|
||||
}
|
||||
_MSL_INLINE float _MSL_MATH_CDECL powf (float x, float y) {
|
||||
return (float)(pow)((double)(x), (double)(y));
|
||||
}
|
||||
_MSL_INLINE long double _MSL_MATH_CDECL powl (long double x, long double y) {
|
||||
return (long double)(pow)((double)(x), (double)(y));
|
||||
}
|
||||
_MSL_INLINE long double _MSL_MATH_CDECL sinl (long double x) {
|
||||
return (long double)(sin)((double)(x));
|
||||
}
|
||||
_MSL_INLINE float _MSL_MATH_CDECL sinf (float x) {
|
||||
return (float)(sin)((double)(x));
|
||||
}
|
||||
_MSL_INLINE float _MSL_MATH_CDECL sinhf (float x) {
|
||||
return (float)(sinh)((double)(x));
|
||||
}
|
||||
_MSL_INLINE long double _MSL_MATH_CDECL sinhl (long double x) {
|
||||
return (long double)(sinh)((double)(x));
|
||||
}
|
||||
_MSL_INLINE float _MSL_MATH_CDECL sqrtf (float x) {
|
||||
return _fsqrt(x);
|
||||
}
|
||||
_MSL_INLINE long double _MSL_MATH_CDECL sqrtl (long double x) {
|
||||
return (long double)(sqrt)((double)(x));
|
||||
}
|
||||
_MSL_INLINE float _MSL_MATH_CDECL tanf (float x) {
|
||||
return (float)(tan)((double)(x));
|
||||
}
|
||||
_MSL_INLINE long double _MSL_MATH_CDECL tanl (long double x) {
|
||||
return (long double)(tan)((double)(x));
|
||||
}
|
||||
_MSL_INLINE float _MSL_MATH_CDECL tanhf (float x) {
|
||||
return (float)(tanh)((double)(x));
|
||||
}
|
||||
_MSL_INLINE long double _MSL_MATH_CDECL tanhl (long double x) {
|
||||
return (long double)(tanh)((double)(x));
|
||||
}
|
||||
#endif
|
||||
|
||||
#if _MSL_C99
|
||||
_MSL_INLINE float _MSL_MATH_CDECL acoshf (float x) {
|
||||
return (float)(acosh)((double)(x));
|
||||
}
|
||||
_MSL_INLINE long double _MSL_MATH_CDECL acoshl (long double x) {
|
||||
return (long double)(acosh)((double)(x));
|
||||
}
|
||||
_MSL_INLINE float _MSL_MATH_CDECL asinhf (float x) {
|
||||
return (float)(asinh)((double)(x));
|
||||
}
|
||||
_MSL_INLINE long double _MSL_MATH_CDECL asinhl (long double x) {
|
||||
return (long double)(asinh)((double)(x));
|
||||
}
|
||||
_MSL_INLINE float _MSL_MATH_CDECL atanhf (float x) {
|
||||
return (float)(atanh)((double)(x));
|
||||
}
|
||||
_MSL_INLINE long double _MSL_MATH_CDECL atanhl (long double x) {
|
||||
return (long double)(atanh)((double)(x));
|
||||
}
|
||||
_MSL_INLINE long double _MSL_MATH_CDECL cbrtl (long double x) {
|
||||
return (long double)(cbrt)((double)(x));
|
||||
}
|
||||
_MSL_INLINE float _MSL_MATH_CDECL copysignf (float x, float y) {
|
||||
return (float)(copysign)((double)(x), (double)(y));
|
||||
}
|
||||
_MSL_INLINE long double _MSL_MATH_CDECL copysignl (long double x, long double y) {
|
||||
return (long double)(copysign)((double)(x), (double)(y));
|
||||
}
|
||||
_MSL_INLINE float _MSL_MATH_CDECL expm1f (float x) {
|
||||
return (float)(expm1)((double)(x));
|
||||
}
|
||||
_MSL_INLINE long double _MSL_MATH_CDECL expm1l (long double x) {
|
||||
return (long double)(expm1)((double)(x));
|
||||
}
|
||||
_MSL_INLINE float _MSL_MATH_CDECL fdimf (float x, float y) {
|
||||
return (float)(fdim)((double)(x), (double)(y));
|
||||
}
|
||||
_MSL_INLINE long double _MSL_MATH_CDECL fdiml (long double x, long double y) {
|
||||
return (long double)(fdim)((double)(x), (double)(y));
|
||||
}
|
||||
_MSL_INLINE float _MSL_MATH_CDECL fmaxf (float x, float y) {
|
||||
return (float)(fmax)((double)(x), (double)(y));
|
||||
}
|
||||
_MSL_INLINE long double _MSL_MATH_CDECL fmaxl (long double x, long double y) {
|
||||
return (long double)(fmax)((double)(x), (double)(y));
|
||||
}
|
||||
_MSL_INLINE float _MSL_MATH_CDECL fminf (float x, float y) {
|
||||
return (float)(fmin)((double)(x), (double)(y));
|
||||
}
|
||||
_MSL_INLINE long double _MSL_MATH_CDECL fminl (long double x, long double y) {
|
||||
return (long double)(fmin)((double)(x), (double)(y));
|
||||
}
|
||||
_MSL_INLINE float _MSL_MATH_CDECL hypotf (float x, float y) {
|
||||
return (float)(hypot)((double)(x), (double)(y));
|
||||
}
|
||||
_MSL_INLINE long double _MSL_MATH_CDECL hypotl (long double x, long double y) {
|
||||
return (long double)(hypot)((double)(x), (double)(y));
|
||||
}
|
||||
#if _MSL_USES_SUN_MATH_LIB
|
||||
_MSL_INLINE int _MSL_MATH_CDECL ilogbf (float x) {
|
||||
return (ilogb)((double)(x));
|
||||
}
|
||||
_MSL_INLINE int _MSL_MATH_CDECL ilogbl (long double x) {
|
||||
return (ilogb)((double)(x));
|
||||
}
|
||||
#endif
|
||||
#if _MSL_LONGLONG
|
||||
_MSL_INLINE long long int _MSL_MATH_CDECL llrint (double d) {
|
||||
return _ll_sfrom_d_r(d);
|
||||
}
|
||||
_MSL_INLINE long long _MSL_MATH_CDECL llrintf (float x) {
|
||||
return _ll_sfrom_f_r(x);
|
||||
}
|
||||
_MSL_INLINE long long _MSL_MATH_CDECL llrintl (long double x) {
|
||||
return _ll_sfrom_d_r(x);
|
||||
}
|
||||
#if !_MSL_USES_SUN_MATH_LIB
|
||||
_MSL_INLINE long long _MSL_MATH_CDECL llroundf (float x) {
|
||||
return (llround)((double)(x));
|
||||
}
|
||||
_MSL_INLINE long long _MSL_MATH_CDECL llroundl (long double x) {
|
||||
return (llround)((double)(x));
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
_MSL_INLINE long _MSL_CDECL lrintf (float f) {
|
||||
return _ffix_r(f);
|
||||
}
|
||||
_MSL_INLINE float _MSL_MATH_CDECL log1pf (float x) {
|
||||
return (float)(log1p)((double)(x));
|
||||
}
|
||||
_MSL_INLINE long double _MSL_MATH_CDECL log1pl (long double x) {
|
||||
return (long double)(log1p)((double)(x));
|
||||
}
|
||||
_MSL_INLINE float _MSL_MATH_CDECL log2f (float x) {
|
||||
return (float)(log2)((double)(x));
|
||||
}
|
||||
_MSL_INLINE long double _MSL_MATH_CDECL log2l (long double x) {
|
||||
return (long double)(log2)((double)(x));
|
||||
}
|
||||
_MSL_INLINE float _MSL_MATH_CDECL logbf (float x) {
|
||||
return (float)(logb)((double)(x));
|
||||
}
|
||||
_MSL_INLINE long double _MSL_MATH_CDECL logbl (long double x) {
|
||||
return (long double)(logb)((double)(x));
|
||||
}
|
||||
_MSL_INLINE long double _MSL_MATH_CDECL nextafterl (long double x, long double y) {
|
||||
return (long double)(nextafter)((double)(x), (double)(y));
|
||||
}
|
||||
_MSL_INLINE long double _MSL_MATH_CDECL nexttowardl (long double x, long double y) {
|
||||
return (long double)(nexttoward)((double)(x), (y));
|
||||
}
|
||||
_MSL_INLINE double _MSL_MATH_CDECL remainder (double d, double z) {
|
||||
return _drem(d, z);
|
||||
}
|
||||
_MSL_INLINE float _MSL_MATH_CDECL remainderf (float x, float y) {
|
||||
return _frem(x, y);
|
||||
}
|
||||
_MSL_INLINE long double _MSL_MATH_CDECL remainderl (long double x, long double y) {
|
||||
return (long double)(remainder)((double)(x), (double)(y));
|
||||
}
|
||||
_MSL_INLINE double _MSL_MATH_CDECL rint (double d) {
|
||||
return _drnd(d);
|
||||
}
|
||||
_MSL_INLINE float _MSL_MATH_CDECL rintf (float x) {
|
||||
return _frnd(x);
|
||||
}
|
||||
_MSL_INLINE long double _MSL_MATH_CDECL rintl (long double x) {
|
||||
return (long double)(_drnd)((double)(x));
|
||||
}
|
||||
_MSL_INLINE float _MSL_MATH_CDECL scalblnf (float x, long int y) {
|
||||
return (float)(scalbln)((double)(x), (y));
|
||||
}
|
||||
_MSL_INLINE long double _MSL_MATH_CDECL scalblnl (long double x, long int y) {
|
||||
return (long double)(scalbln)((double)(x), (y));
|
||||
}
|
||||
_MSL_INLINE float _MSL_MATH_CDECL scalbnf (float x, int y) {
|
||||
return (float)(scalbn)((double)(x), (y));
|
||||
}
|
||||
#if !_MSL_USES_SUN_MATH_LIB
|
||||
_MSL_INLINE long double _MSL_MATH_CDECL scalbnl (long double x, int y) {
|
||||
return (long double)(scalbn)((double)(x), (y));
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
_MSL_END_EXTERN_C
|
||||
_MSL_END_NAMESPACE_STD
|
||||
|
||||
#endif
|
||||
|
|
@ -1,202 +0,0 @@
|
|||
#ifndef _MSL_MATH_H
|
||||
#define _MSL_MATH_H
|
||||
|
||||
#include <ansi_params.h>
|
||||
|
||||
#if !_MSL_USING_MW_C_HEADERS
|
||||
#error You must have the non-MSL C header file access path before the MSL access path
|
||||
#else
|
||||
|
||||
#include <cmath>
|
||||
|
||||
#if defined(__cplusplus) && defined(_MSL_USING_NAMESPACE) && defined(_MSL_CMATH_DEFINED_MATH_ITEMS)
|
||||
using std::acos;
|
||||
using std::asin;
|
||||
using std::atan;
|
||||
using std::atan2;
|
||||
using std::ceil;
|
||||
using std::cos;
|
||||
using std::cosh;
|
||||
using std::exp;
|
||||
using std::fabs;
|
||||
using std::floor;
|
||||
using std::fmod;
|
||||
using std::frexp;
|
||||
using std::ldexp;
|
||||
using std::log;
|
||||
using std::log10;
|
||||
using std::modf;
|
||||
using std::pow;
|
||||
using std::sin;
|
||||
using std::sinh;
|
||||
using std::sqrt;
|
||||
using std::tan;
|
||||
using std::tanh;
|
||||
|
||||
#if _MSL_C99 || _MSL_C_HAS_CPP_EXTENSIONS
|
||||
using std::acosf;
|
||||
using std::acosl;
|
||||
using std::asinf;
|
||||
using std::asinl;
|
||||
using std::atanf;
|
||||
using std::atanl;
|
||||
using std::atan2f;
|
||||
using std::atan2l;
|
||||
using std::ceilf;
|
||||
using std::ceill;
|
||||
using std::cosf;
|
||||
using std::cosl;
|
||||
using std::coshf;
|
||||
using std::coshl;
|
||||
using std::expf;
|
||||
using std::expl;
|
||||
using std::fabsf;
|
||||
using std::fabsl;
|
||||
using std::floorf;
|
||||
using std::floorl;
|
||||
using std::fmodf;
|
||||
using std::fmodl;
|
||||
using std::frexpf;
|
||||
using std::frexpl;
|
||||
using std::ldexpf;
|
||||
using std::ldexpl;
|
||||
using std::logf;
|
||||
using std::logl;
|
||||
using std::log10f;
|
||||
using std::log10l;
|
||||
using std::modff;
|
||||
using std::modfl;
|
||||
using std::powf;
|
||||
using std::powl;
|
||||
using std::sinf;
|
||||
using std::sinl;
|
||||
using std::sinhf;
|
||||
using std::sinhl;
|
||||
using std::sqrtf;
|
||||
using std::sqrtl;
|
||||
using std::tanf;
|
||||
using std::tanl;
|
||||
using std::tanhf;
|
||||
using std::tanhl;
|
||||
#endif
|
||||
|
||||
#if _MSL_C99 || _MSL_USES_SUN_MATH_LIB
|
||||
using std::copysign;
|
||||
using std::expm1;
|
||||
using std::rint;
|
||||
using std::scalbn;
|
||||
#endif
|
||||
|
||||
#if _MSL_C99
|
||||
using std::acosh;
|
||||
using std::acoshf;
|
||||
using std::acoshl;
|
||||
using std::asinh;
|
||||
using std::asinhf;
|
||||
using std::asinhl;
|
||||
using std::atanh;
|
||||
using std::atanhf;
|
||||
using std::atanhl;
|
||||
using std::cbrt;
|
||||
using std::cbrtf;
|
||||
using std::cbrtl;
|
||||
using std::copysignf;
|
||||
using std::copysignl;
|
||||
using std::erf;
|
||||
using std::erff;
|
||||
using std::erfl;
|
||||
using std::erfc;
|
||||
using std::erfcf;
|
||||
using std::erfcl;
|
||||
using std::exp2;
|
||||
using std::exp2f;
|
||||
using std::exp2l;
|
||||
using std::expm1f;
|
||||
using std::expm1l;
|
||||
using std::fdim;
|
||||
using std::fdimf;
|
||||
using std::fdiml;
|
||||
using std::fma;
|
||||
using std::fmaf;
|
||||
using std::fmal;
|
||||
using std::fmax;
|
||||
using std::fmaxf;
|
||||
using std::fmaxl;
|
||||
using std::fmin;
|
||||
using std::fminf;
|
||||
using std::fminl;
|
||||
using std::hypot;
|
||||
using std::hypotf;
|
||||
using std::hypotl;
|
||||
using std::ilogb;
|
||||
using std::ilogbf;
|
||||
using std::ilogbl;
|
||||
using std::lgamma;
|
||||
using std::lgammaf;
|
||||
using std::lgammal;
|
||||
#if _MSL_LONGLONG
|
||||
using std::llrint;
|
||||
using std::llrintf;
|
||||
using std::llrintl;
|
||||
using std::llround;
|
||||
using std::llroundf;
|
||||
using std::llroundl;
|
||||
#endif
|
||||
using std::log1p;
|
||||
using std::log1pf;
|
||||
using std::log1pl;
|
||||
using std::log2;
|
||||
using std::log2f;
|
||||
using std::log2l;
|
||||
using std::logb;
|
||||
using std::logbf;
|
||||
using std::logbl;
|
||||
using std::lrint;
|
||||
using std::lrintf;
|
||||
using std::lrintl;
|
||||
using std::lround;
|
||||
using std::lroundf;
|
||||
using std::lroundl;
|
||||
using std::nan;
|
||||
using std::nanf;
|
||||
using std::nanl;
|
||||
using std::nearbyint;
|
||||
using std::nearbyintf;
|
||||
using std::nearbyintl;
|
||||
using std::nextafter;
|
||||
using std::nextafterf;
|
||||
using std::nextafterl;
|
||||
using std::nexttoward;
|
||||
using std::nexttowardf;
|
||||
using std::nexttowardl;
|
||||
using std::remainder;
|
||||
using std::remainderf;
|
||||
using std::remainderl;
|
||||
using std::remquo;
|
||||
using std::remquof;
|
||||
using std::remquol;
|
||||
using std::rintf;
|
||||
using std::rintl;
|
||||
using std::round;
|
||||
using std::roundf;
|
||||
using std::roundl;
|
||||
using std::scalbln;
|
||||
using std::scalblnf;
|
||||
using std::scalblnl;
|
||||
using std::scalbnf;
|
||||
using std::scalbnl;
|
||||
using std::tgamma;
|
||||
using std::tgammaf;
|
||||
using std::tgammal;
|
||||
using std::trunc;
|
||||
using std::truncf;
|
||||
using std::truncl;
|
||||
using std::abs;
|
||||
using std::float_t;
|
||||
using std::double_t;
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
|
@ -1,262 +0,0 @@
|
|||
#ifndef _MSL_MATH_API_H
|
||||
#define _MSL_MATH_API_H
|
||||
|
||||
#include <msl_t.h>
|
||||
|
||||
#if _MSL_LITTLE_ENDIAN
|
||||
#define __HI(x) (sizeof(x) == 8 ? *(1 + (_INT32 *)&x) : (*(_INT32 *)&x))
|
||||
#define __LO(x) (*(_INT32 *)&x)
|
||||
#define __UHI(x) (sizeof(x) == 8 ? *(1 + (_UINT32 *)&x) : (*(_UINT32 *)&x))
|
||||
#define __ULO(x) (*(_UINT32 *)&x)
|
||||
#else
|
||||
#define __LO(x) (sizeof(x) == 8 ? *(1 + (_INT32 *)&x) : (*(_INT32 *)&x))
|
||||
#define __HI(x) (*(_INT32 *)&x)
|
||||
#define __ULO(x) (sizeof(x) == 8 ? *(1 + (_UINT32 *)&x) : (*(_UINT32 *)&x))
|
||||
#define __UHI(x) (*(_UINT32 *)&x)
|
||||
#endif
|
||||
|
||||
_MSL_BEGIN_EXTERN_C
|
||||
|
||||
#if _MSL_FLOATING_POINT
|
||||
#if _MSL_C99
|
||||
#if __has_intrinsic(__builtin_fma)
|
||||
extern double __builtin_fma(double, double, double) _MSL_CANT_THROW _MSL_ATTRIBUTE_CONST;
|
||||
#endif
|
||||
|
||||
#if __has_intrinsic(__builtin_fmaf)
|
||||
extern float __builtin_fmaf(float, float, float) _MSL_CANT_THROW _MSL_ATTRIBUTE_CONST;
|
||||
#endif
|
||||
|
||||
double _MSL_MATH_CDECL __ieee754_lgamma_r(double, _INT32 *);
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if __has_intrinsic(__builtin___count_bits32)
|
||||
extern unsigned int __builtin___count_bits32(_UINT32) _MSL_CANT_THROW _MSL_ATTRIBUTE_CONST;
|
||||
#else
|
||||
unsigned int _MSL_MATH_CDECL __msl_generic_count_bits32(_UINT32) _MSL_CANT_THROW;
|
||||
#endif
|
||||
|
||||
#if __has_intrinsic(__builtin___count_leading_zero32)
|
||||
extern unsigned int __builtin___count_leading_zero32(_UINT32) _MSL_CANT_THROW _MSL_ATTRIBUTE_CONST;
|
||||
#else
|
||||
unsigned int _MSL_MATH_CDECL __msl_generic_count_leading_zero32(_UINT32) _MSL_CANT_THROW;
|
||||
#endif
|
||||
|
||||
#if __has_intrinsic(__builtin___count_trailing_zero32)
|
||||
extern unsigned int __builtin___count_trailing_zero32(_UINT32) _MSL_CANT_THROW _MSL_ATTRIBUTE_CONST;
|
||||
#endif
|
||||
|
||||
#if __has_intrinsic(__builtin___count_leading_one32)
|
||||
extern unsigned int __builtin___count_leading_one32(_UINT32) _MSL_CANT_THROW _MSL_ATTRIBUTE_CONST;
|
||||
#endif
|
||||
|
||||
#if __has_intrinsic(__builtin___count_trailing_one32)
|
||||
extern unsigned int __builtin___count_trailing_one32(_UINT32) _MSL_CANT_THROW _MSL_ATTRIBUTE_CONST;
|
||||
#endif
|
||||
|
||||
#if __has_intrinsic(__builtin___rotate_left32)
|
||||
extern _UINT32 __builtin___rotate_left32(_UINT32, int) _MSL_CANT_THROW _MSL_ATTRIBUTE_CONST;
|
||||
#endif
|
||||
|
||||
#if __has_intrinsic(__builtin___rotate_right32)
|
||||
extern _UINT32 __builtin___rotate_right32(_UINT32, int) _MSL_CANT_THROW _MSL_ATTRIBUTE_CONST;
|
||||
#endif
|
||||
|
||||
#if _MSL_LONGLONG
|
||||
|
||||
#if __has_intrinsic(__builtin___count_bits64)
|
||||
extern unsigned int __builtin___count_bits64(_UINT64) _MSL_CANT_THROW _MSL_ATTRIBUTE_CONST;
|
||||
#else
|
||||
unsigned int _MSL_MATH_CDECL __msl_generic_count_bits64(_UINT64) _MSL_CANT_THROW;
|
||||
#endif
|
||||
|
||||
#if __has_intrinsic(__builtin___count_leading_zero64)
|
||||
extern unsigned int __builtin___count_leading_zero64(_UINT64) _MSL_CANT_THROW _MSL_ATTRIBUTE_CONST;
|
||||
#else
|
||||
unsigned int _MSL_MATH_CDECL __msl_generic_count_leading_zero64(_UINT64) _MSL_CANT_THROW;
|
||||
#endif
|
||||
|
||||
#if __has_intrinsic(__builtin___count_trailing_zero64)
|
||||
extern unsigned int __builtin___count_trailing_zero64(_UINT64) _MSL_CANT_THROW _MSL_ATTRIBUTE_CONST;
|
||||
#else
|
||||
unsigned int _MSL_MATH_CDECL __msl_generic_count_trailing_zero64(_UINT64) _MSL_CANT_THROW;
|
||||
#endif
|
||||
|
||||
#if __has_intrinsic(__builtin___count_leading_one64)
|
||||
extern unsigned int __builtin___count_leading_one64(_UINT64) _MSL_CANT_THROW _MSL_ATTRIBUTE_CONST;
|
||||
#endif
|
||||
|
||||
#if __has_intrinsic(__builtin___count_trailing_one64)
|
||||
extern unsigned int __builtin___count_trailing_one64(_UINT64) _MSL_CANT_THROW _MSL_ATTRIBUTE_CONST;
|
||||
#endif
|
||||
|
||||
#if __has_intrinsic(__builtin___rotate_left64)
|
||||
extern _UINT64 __builtin___rotate_left64(_UINT64, int) _MSL_CANT_THROW _MSL_ATTRIBUTE_CONST;
|
||||
#endif
|
||||
|
||||
#if __has_intrinsic(__builtin___rotate_right64)
|
||||
extern _UINT64 __builtin___rotate_right64(_UINT64, int) _MSL_CANT_THROW _MSL_ATTRIBUTE_CONST;
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
_MSL_IMP_EXP_C unsigned int _MSL_MATH_CDECL __msl_count_bits32(_UINT32) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C unsigned int _MSL_MATH_CDECL __msl_count_leading_zero32(_UINT32) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C unsigned int _MSL_MATH_CDECL __msl_count_trailing_zero32(_UINT32) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C unsigned int _MSL_MATH_CDECL __msl_count_leading_one32(_UINT32) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C unsigned int _MSL_MATH_CDECL __msl_count_trailing_one32(_UINT32) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C _UINT32 _MSL_MATH_CDECL __msl_rotate_left32(_UINT32, int) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C _UINT32 _MSL_MATH_CDECL __msl_rotate_right32(_UINT32, int) _MSL_CANT_THROW;
|
||||
|
||||
#if _MSL_LONGLONG
|
||||
_MSL_IMP_EXP_C unsigned int _MSL_MATH_CDECL __msl_count_bits64(_UINT64) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C unsigned int _MSL_MATH_CDECL __msl_count_leading_zero64(_UINT64) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C unsigned int _MSL_MATH_CDECL __msl_count_trailing_zero64(_UINT64) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C unsigned int _MSL_MATH_CDECL __msl_count_leading_one64(_UINT64) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C unsigned int _MSL_MATH_CDECL __msl_count_trailing_one64(_UINT64) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C _UINT64 _MSL_MATH_CDECL __msl_rotate_left64(_UINT64, int) _MSL_CANT_THROW;
|
||||
_MSL_IMP_EXP_C _UINT64 _MSL_MATH_CDECL __msl_rotate_right64(_UINT64, int) _MSL_CANT_THROW;
|
||||
#endif
|
||||
|
||||
#if _MSL_USE_INLINE
|
||||
|
||||
_MSL_INLINE unsigned int _MSL_MATH_CDECL __msl_count_bits32(_UINT32 x) _MSL_CANT_THROW
|
||||
{
|
||||
#if __has_intrinsic(__builtin___count_bits32)
|
||||
return __builtin___count_bits32(x);
|
||||
#else
|
||||
return __msl_generic_count_bits32(x);
|
||||
#endif
|
||||
}
|
||||
|
||||
_MSL_INLINE unsigned int _MSL_MATH_CDECL __msl_count_leading_zero32(_UINT32 x) _MSL_CANT_THROW
|
||||
{
|
||||
#if __has_intrinsic(__builtin___count_leading_zero32)
|
||||
return __builtin___count_leading_zero32(x);
|
||||
#else
|
||||
return __msl_generic_count_leading_zero32(x);
|
||||
#endif
|
||||
}
|
||||
|
||||
_MSL_INLINE unsigned int _MSL_MATH_CDECL __msl_count_trailing_zero32(_UINT32 x) _MSL_CANT_THROW
|
||||
{
|
||||
#if __has_intrinsic(__builtin___count_trailing_zero32)
|
||||
return __builtin___count_trailing_zero32(x);
|
||||
#else
|
||||
return __msl_count_bits32((x & - x) - 1);
|
||||
#endif
|
||||
}
|
||||
|
||||
_MSL_INLINE unsigned int _MSL_MATH_CDECL __msl_count_leading_one32(_UINT32 x) _MSL_CANT_THROW
|
||||
{
|
||||
#if __has_intrinsic(__builtin___count_leading_one32)
|
||||
return __builtin___count_leading_one32(x);
|
||||
#else
|
||||
return __msl_count_leading_zero32(~x);
|
||||
#endif
|
||||
}
|
||||
|
||||
_MSL_INLINE unsigned int _MSL_MATH_CDECL __msl_count_trailing_one32(_UINT32 x) _MSL_CANT_THROW
|
||||
{
|
||||
#if __has_intrinsic(__builtin___count_trailing_one32)
|
||||
return __builtin___count_trailing_one32(x);
|
||||
#else
|
||||
return __msl_count_trailing_zero32(~x);
|
||||
#endif
|
||||
}
|
||||
|
||||
_MSL_INLINE _UINT32 _MSL_MATH_CDECL __msl_rotate_left32(_UINT32 x, int n) _MSL_CANT_THROW
|
||||
{
|
||||
#if __has_intrinsic(__builtin___rotate_left32)
|
||||
return __builtin___rotate_left32(x, n);
|
||||
#else
|
||||
n &= 0x1F;
|
||||
return (x << n) | (x >> (32 - n));
|
||||
#endif
|
||||
}
|
||||
|
||||
_MSL_INLINE _UINT32 _MSL_MATH_CDECL __msl_rotate_right32(_UINT32 x, int n) _MSL_CANT_THROW
|
||||
{
|
||||
#if __has_intrinsic(__builtin___rotate_right32)
|
||||
return __builtin___rotate_right32(x, n);
|
||||
#else
|
||||
n &= 0x1F;
|
||||
return (x << (32 - n)) | (x >> n);
|
||||
#endif
|
||||
}
|
||||
|
||||
#if _MSL_LONGLONG
|
||||
|
||||
_MSL_INLINE unsigned int _MSL_MATH_CDECL __msl_count_bits64(_UINT64 x) _MSL_CANT_THROW
|
||||
{
|
||||
#if __has_intrinsic(__builtin___count_bits64)
|
||||
return __builtin___count_bits64(x);
|
||||
#else
|
||||
return __msl_generic_count_bits64(x);
|
||||
#endif
|
||||
}
|
||||
|
||||
_MSL_INLINE unsigned int _MSL_MATH_CDECL __msl_count_leading_zero64(_UINT64 x) _MSL_CANT_THROW
|
||||
{
|
||||
#if __has_intrinsic(__builtin___count_leading_zero64)
|
||||
return __builtin___count_leading_zero64(x);
|
||||
#else
|
||||
return __msl_generic_count_leading_zero64(x);
|
||||
#endif
|
||||
}
|
||||
|
||||
_MSL_INLINE unsigned int _MSL_MATH_CDECL __msl_count_trailing_zero64(_UINT64 x) _MSL_CANT_THROW
|
||||
{
|
||||
#if __has_intrinsic(__builtin___count_trailing_zero64)
|
||||
return __builtin___count_trailing_zero64(x);
|
||||
#else
|
||||
return __msl_count_bits64((x & - x) - 1);
|
||||
#endif
|
||||
}
|
||||
|
||||
_MSL_INLINE unsigned int _MSL_MATH_CDECL __msl_count_leading_one64(_UINT64 x) _MSL_CANT_THROW
|
||||
{
|
||||
#if __has_intrinsic(__builtin___count_leading_one64)
|
||||
return __builtin___count_leading_one64(x);
|
||||
#else
|
||||
return __msl_count_leading_zero64(~x);
|
||||
#endif
|
||||
}
|
||||
|
||||
_MSL_INLINE unsigned int _MSL_MATH_CDECL __msl_count_trailing_one64(_UINT64 x) _MSL_CANT_THROW
|
||||
{
|
||||
#if __has_intrinsic(__builtin___count_trailing_one64)
|
||||
return __builtin___count_trailing_one64(x);
|
||||
#else
|
||||
return __msl_count_trailing_zero64(~x);
|
||||
#endif
|
||||
}
|
||||
|
||||
_MSL_INLINE _UINT64 _MSL_MATH_CDECL __msl_rotate_left64(_UINT64 x, int n) _MSL_CANT_THROW
|
||||
{
|
||||
#if __has_intrinsic(__builtin___rotate_left64)
|
||||
return __builtin___rotate_left64(x, n);
|
||||
#else
|
||||
n &= 0x3F;
|
||||
return (x << n) | (x >> (64 - n));
|
||||
#endif
|
||||
}
|
||||
|
||||
_MSL_INLINE _UINT64 _MSL_MATH_CDECL __msl_rotate_right64(_UINT64 x, int n) _MSL_CANT_THROW
|
||||
{
|
||||
#if __has_intrinsic(__builtin___rotate_right64)
|
||||
return __builtin___rotate_right64(x, n);
|
||||
#else
|
||||
n &= 0x3F;
|
||||
return (x << (64 - n)) | (x >> n);
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
_MSL_END_EXTERN_C
|
||||
|
||||
#endif
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
#ifndef _MSL_MATH_CONFIG_H
|
||||
#define _MSL_MATH_CONFIG_H
|
||||
|
||||
#include <msl_t.h>
|
||||
|
||||
#if defined(__MIPS__)
|
||||
#include <mips_math.h>
|
||||
#elif defined(__m56800__)
|
||||
#include <m56800_math.h>
|
||||
#elif defined(__m56800E__)
|
||||
#include <m56700_math.h>
|
||||
#elif defined(__arm)
|
||||
#include <math.ARM.h>
|
||||
#elif defined(__POWERPC__)
|
||||
#include <math_ppc.h>
|
||||
#elif defined(__INTEL__)
|
||||
#if defined(__MWERKS__) && __option(k63d)
|
||||
#include <math_k63d.h>
|
||||
#else
|
||||
#include <math_x87.h>
|
||||
#endif
|
||||
#elif defined(__COLDFIRE__)
|
||||
#include <math_e68k.h>
|
||||
#elif defined(_ENTERPRISE_C_)
|
||||
# include <math_StarCore.h>
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
@ -1,530 +0,0 @@
|
|||
#ifndef _MSL_MATH_INTEGRAL_H
|
||||
#define _MSL_MATH_INTEGRAL_H
|
||||
|
||||
#include <ansi_params.h>
|
||||
|
||||
#if _MSL_FLOATING_POINT \
|
||||
&& !defined(_MSL_NO_MATH_LIB) \
|
||||
&& defined(__cplusplus) \
|
||||
&& __embedded_cplusplus == 0 \
|
||||
&& defined(__ANSI_OVERLOAD__) \
|
||||
&& defined(_MSL_INTEGRAL_MATH) \
|
||||
&& !(__dest_os == __mac_os && defined(__FP__)) \
|
||||
&& !defined(__m56800E__)
|
||||
|
||||
_MSL_BEGIN_NAMESPACE_STD
|
||||
|
||||
#if defined(__MWERKS__) && ! __option (bool) && !defined(_MSL_NO_BOOL)
|
||||
#ifndef bool
|
||||
#ifdef _MSL_BOOL_TYPE
|
||||
#define bool _MSL_BOOL_TYPE
|
||||
#else
|
||||
#define bool unsigned char
|
||||
#endif
|
||||
#define __MSL_MATH_BOOL
|
||||
#endif
|
||||
#ifndef false
|
||||
#define false 0
|
||||
#define __MSL_MATH_FALSE
|
||||
#endif
|
||||
#ifndef true
|
||||
#define true 1
|
||||
#define __MSL_MATH_TRUE
|
||||
#endif
|
||||
#endif
|
||||
|
||||
template <class _T> struct __msl_is_integral {static const bool value = false;};
|
||||
|
||||
#if __option(bool)
|
||||
template <> struct __msl_is_integral<bool> {static const bool value = true;};
|
||||
#endif
|
||||
template <> struct __msl_is_integral<char> {static const bool value = true;};
|
||||
template <> struct __msl_is_integral<signed char> {static const bool value = true;};
|
||||
template <> struct __msl_is_integral<unsigned char> {static const bool value = true;};
|
||||
#if __option(wchar_type)
|
||||
template <> struct __msl_is_integral<wchar_t> {static const bool value = true;};
|
||||
#endif
|
||||
template <> struct __msl_is_integral<short> {static const bool value = true;};
|
||||
template <> struct __msl_is_integral<unsigned short> {static const bool value = true;};
|
||||
template <> struct __msl_is_integral<int> {static const bool value = true;};
|
||||
template <> struct __msl_is_integral<unsigned int> {static const bool value = true;};
|
||||
template <> struct __msl_is_integral<long> {static const bool value = true;};
|
||||
template <> struct __msl_is_integral<unsigned long> {static const bool value = true;};
|
||||
#if _MSL_LONGLONG
|
||||
template <> struct __msl_is_integral<long long> {static const bool value = true;};
|
||||
template <> struct __msl_is_integral<unsigned long long> {static const bool value = true;};
|
||||
#endif
|
||||
|
||||
template <class _T> struct __msl_is_floating {static const bool value = false;};
|
||||
template <> struct __msl_is_floating<float> {static const bool value = true;};
|
||||
template <> struct __msl_is_floating<double> {static const bool value = true;};
|
||||
template <> struct __msl_is_floating<long double> {static const bool value = true;};
|
||||
|
||||
template <class _T> struct __msl_is_arithmetic
|
||||
{static const bool value = __msl_is_integral<_T>::value ||
|
||||
__msl_is_floating<_T>::value;};
|
||||
|
||||
template <bool, class _T = void> struct __msl_enable_if {};
|
||||
template <class _T> struct __msl_enable_if<true, _T> {typedef _T type;};
|
||||
|
||||
template <bool _B, class _If, class _Then> struct __msl_if {typedef _If type;};
|
||||
template <class _If, class _Then> struct __msl_if<false, _If, _Then> {typedef _Then type;};
|
||||
|
||||
template <class _A1, class _A2 = void, class _A3 = void>
|
||||
class __msl_promote
|
||||
{
|
||||
private:
|
||||
typedef typename __msl_promote<_A1>::type type1;
|
||||
typedef typename __msl_promote<_A2>::type type2;
|
||||
typedef typename __msl_promote<_A3>::type type3;
|
||||
public:
|
||||
typedef __typeof__(type1 () + type2 () + type3 ()) type;
|
||||
};
|
||||
|
||||
template <class _A1>
|
||||
class __msl_promote<_A1, void, void>
|
||||
{
|
||||
public:
|
||||
typedef typename __msl_if<__msl_is_arithmetic<_A1>::value,
|
||||
typename __msl_if<__msl_is_integral<_A1>::value, double, _A1>::type,
|
||||
char
|
||||
>::type type;
|
||||
};
|
||||
|
||||
template <class _A1, class _A2>
|
||||
class __msl_promote<_A1, _A2, void>
|
||||
{
|
||||
private:
|
||||
typedef typename __msl_promote<_A1>::type type1;
|
||||
typedef typename __msl_promote<_A2>::type type2;
|
||||
public:
|
||||
typedef __typeof__(type1 () + type2 ()) type;
|
||||
};
|
||||
|
||||
template <class _A1, class _A2>
|
||||
struct __msl_is_same {
|
||||
static const bool value = false;
|
||||
};
|
||||
|
||||
template <class _A1>
|
||||
struct __msl_is_same<_A1, _A1> {
|
||||
static const bool value = true;
|
||||
};
|
||||
|
||||
#ifdef __MSL_MATH_BOOL
|
||||
#undef bool
|
||||
#undef __MSL_MATH_BOOL
|
||||
#endif
|
||||
|
||||
#ifdef __MSL_MATH_FALSE
|
||||
#undef false
|
||||
#undef __MSL_MATH_FALSE
|
||||
#endif
|
||||
|
||||
#ifdef __MSL_MATH_TRUE
|
||||
#undef true
|
||||
#undef __MSL_MATH_TRUE
|
||||
#endif
|
||||
|
||||
template <class _A1>
|
||||
inline
|
||||
typename __msl_enable_if<__msl_is_integral<_A1>::value, double>::type
|
||||
_MSL_MATH_CDECL acos(_A1 x) {return acos((double)x);}
|
||||
|
||||
template <class _A1>
|
||||
inline
|
||||
typename __msl_enable_if<__msl_is_integral<_A1>::value, double>::type
|
||||
_MSL_MATH_CDECL acosh(_A1 x) {return acosh((double)x);}
|
||||
|
||||
template <class _A1>
|
||||
inline
|
||||
typename __msl_enable_if<__msl_is_integral<_A1>::value, double>::type
|
||||
_MSL_MATH_CDECL asin(_A1 x) {return asin((double)x);}
|
||||
|
||||
template <class _A1>
|
||||
inline
|
||||
typename __msl_enable_if<__msl_is_integral<_A1>::value, double>::type
|
||||
_MSL_MATH_CDECL asinh(_A1 x) {return asinh((double)x);}
|
||||
|
||||
template <class _A1>
|
||||
inline
|
||||
typename __msl_enable_if<__msl_is_integral<_A1>::value, double>::type
|
||||
_MSL_MATH_CDECL atan(_A1 x) {return atan((double)x);}
|
||||
|
||||
template <class _A1, class _A2>
|
||||
inline
|
||||
typename __msl_enable_if<
|
||||
__msl_is_arithmetic<_A1>::value && __msl_is_arithmetic<_A2>::value,
|
||||
typename __msl_promote<_A1, _A2>::type
|
||||
>::type
|
||||
_MSL_MATH_CDECL atan2(_A1 x, _A2 y)
|
||||
{
|
||||
typedef typename __msl_promote<_A1, _A2>::type r_type;
|
||||
char test[!(__msl_is_same<_A1, r_type>::value && __msl_is_same<_A2, r_type>::value)];
|
||||
(void)test;
|
||||
return atan2((r_type)x, (r_type)y);
|
||||
}
|
||||
|
||||
template <class _A1>
|
||||
inline
|
||||
typename __msl_enable_if<__msl_is_integral<_A1>::value, double>::type
|
||||
_MSL_MATH_CDECL atanh(_A1 x) {return atanh((double)x);}
|
||||
|
||||
template <class _A1>
|
||||
inline
|
||||
typename __msl_enable_if<__msl_is_integral<_A1>::value, double>::type
|
||||
_MSL_MATH_CDECL cbrt(_A1 x) {return cbrt((double)x);}
|
||||
|
||||
template <class _A1>
|
||||
inline
|
||||
typename __msl_enable_if<__msl_is_integral<_A1>::value, double>::type
|
||||
_MSL_MATH_CDECL ceil(_A1 x) {return ceil((double)x);}
|
||||
|
||||
template <class _A1, class _A2>
|
||||
inline
|
||||
typename __msl_enable_if<
|
||||
__msl_is_arithmetic<_A1>::value && __msl_is_arithmetic<_A2>::value,
|
||||
typename __msl_promote<_A1, _A2>::type
|
||||
>::type
|
||||
_MSL_MATH_CDECL copysign(_A1 x, _A2 y)
|
||||
{
|
||||
typedef typename __msl_promote<_A1, _A2>::type r_type;
|
||||
char test[!(__msl_is_same<_A1, r_type>::value && __msl_is_same<_A2, r_type>::value)];
|
||||
(void)test;
|
||||
return copysign((r_type)x, (r_type)y);
|
||||
}
|
||||
|
||||
template <class _A1>
|
||||
inline
|
||||
typename __msl_enable_if<__msl_is_integral<_A1>::value, double>::type
|
||||
_MSL_MATH_CDECL cos(_A1 x) {return cos((double)x);}
|
||||
|
||||
template <class _A1>
|
||||
inline
|
||||
typename __msl_enable_if<__msl_is_integral<_A1>::value, double>::type
|
||||
_MSL_MATH_CDECL cosh(_A1 x) {return cosh((double)x);}
|
||||
|
||||
template <class _A1>
|
||||
inline
|
||||
typename __msl_enable_if<__msl_is_integral<_A1>::value, double>::type
|
||||
_MSL_MATH_CDECL erf(_A1 x) {return erf((double)x);}
|
||||
|
||||
template <class _A1>
|
||||
inline
|
||||
typename __msl_enable_if<__msl_is_integral<_A1>::value, double>::type
|
||||
_MSL_MATH_CDECL erfc(_A1 x) {return erfc((double)x);}
|
||||
|
||||
template <class _A1>
|
||||
inline
|
||||
typename __msl_enable_if<__msl_is_integral<_A1>::value, double>::type
|
||||
_MSL_MATH_CDECL exp(_A1 x) {return exp((double)x);}
|
||||
|
||||
template <class _A1>
|
||||
inline
|
||||
typename __msl_enable_if<__msl_is_integral<_A1>::value, double>::type
|
||||
_MSL_MATH_CDECL exp2(_A1 x) {return exp2((double)x);}
|
||||
|
||||
template <class _A1>
|
||||
inline
|
||||
typename __msl_enable_if<__msl_is_integral<_A1>::value, double>::type
|
||||
_MSL_MATH_CDECL expm1(_A1 x) {return expm1((double)x);}
|
||||
|
||||
template <class _A1>
|
||||
inline
|
||||
typename __msl_enable_if<__msl_is_integral<_A1>::value, double>::type
|
||||
_MSL_MATH_CDECL fabs(_A1 x) {return fabs((double)x);}
|
||||
|
||||
template <class _A1, class _A2>
|
||||
inline
|
||||
typename __msl_enable_if<
|
||||
__msl_is_arithmetic<_A1>::value && __msl_is_arithmetic<_A2>::value,
|
||||
typename __msl_promote<_A1, _A2>::type
|
||||
>::type
|
||||
_MSL_MATH_CDECL fdim(_A1 x, _A2 y)
|
||||
{
|
||||
typedef typename __msl_promote<_A1, _A2>::type r_type;
|
||||
char test[!(__msl_is_same<_A1, r_type>::value && __msl_is_same<_A2, r_type>::value)];
|
||||
(void)test;
|
||||
return fdim((r_type)x, (r_type)y);
|
||||
}
|
||||
|
||||
template <class _A1>
|
||||
inline
|
||||
typename __msl_enable_if<__msl_is_integral<_A1>::value, double>::type
|
||||
_MSL_MATH_CDECL floor(_A1 x) {return floor((double)x);}
|
||||
|
||||
template <class _A1, class _A2, class _A3>
|
||||
inline
|
||||
typename __msl_enable_if<
|
||||
__msl_is_arithmetic<_A1>::value && __msl_is_arithmetic<_A2>::value && __msl_is_arithmetic<_A3>::value,
|
||||
typename __msl_promote<_A1, _A2, _A3>::type
|
||||
>::type
|
||||
_MSL_MATH_CDECL fma(_A1 x, _A2 y, _A3 z)
|
||||
{
|
||||
typedef typename __msl_promote<_A1, _A2, _A3>::type r_type;
|
||||
char test[!(__msl_is_same<_A1, r_type>::value && __msl_is_same<_A2, r_type>::value
|
||||
&& __msl_is_same<_A3, r_type>::value)];
|
||||
(void)test;
|
||||
return fma((r_type)x, (r_type)y, (r_type)z);
|
||||
}
|
||||
|
||||
template <class _A1, class _A2>
|
||||
inline
|
||||
typename __msl_enable_if<
|
||||
__msl_is_arithmetic<_A1>::value && __msl_is_arithmetic<_A2>::value,
|
||||
typename __msl_promote<_A1, _A2>::type
|
||||
>::type
|
||||
_MSL_MATH_CDECL fmax(_A1 x, _A2 y)
|
||||
{
|
||||
typedef typename __msl_promote<_A1, _A2>::type r_type;
|
||||
char test[!(__msl_is_same<_A1, r_type>::value && __msl_is_same<_A2, r_type>::value)];
|
||||
(void)test;
|
||||
return fmax((r_type)x, (r_type)y);
|
||||
}
|
||||
|
||||
template <class _A1, class _A2>
|
||||
inline
|
||||
typename __msl_enable_if<
|
||||
__msl_is_arithmetic<_A1>::value && __msl_is_arithmetic<_A2>::value,
|
||||
typename __msl_promote<_A1, _A2>::type
|
||||
>::type
|
||||
_MSL_MATH_CDECL fmin(_A1 x, _A2 y)
|
||||
{
|
||||
typedef typename __msl_promote<_A1, _A2>::type r_type;
|
||||
char test[!(__msl_is_same<_A1, r_type>::value && __msl_is_same<_A2, r_type>::value)];
|
||||
(void)test;
|
||||
return fmin((r_type)x, (r_type)y);
|
||||
}
|
||||
|
||||
template <class _A1, class _A2>
|
||||
inline
|
||||
typename __msl_enable_if<
|
||||
__msl_is_arithmetic<_A1>::value && __msl_is_arithmetic<_A2>::value,
|
||||
typename __msl_promote<_A1, _A2>::type
|
||||
>::type
|
||||
_MSL_MATH_CDECL fmod(_A1 x, _A2 y)
|
||||
{
|
||||
typedef typename __msl_promote<_A1, _A2>::type r_type;
|
||||
char test[!(__msl_is_same<_A1, r_type>::value && __msl_is_same<_A2, r_type>::value)];
|
||||
(void)test;
|
||||
return fmod((r_type)x, (r_type)y);
|
||||
}
|
||||
|
||||
template <class _A1>
|
||||
inline
|
||||
typename __msl_enable_if<__msl_is_integral<_A1>::value, double>::type
|
||||
_MSL_MATH_CDECL frexp(_A1 x, int * y) {return frexp((double)x, y);}
|
||||
|
||||
template <class _A1, class _A2>
|
||||
inline
|
||||
typename __msl_enable_if<
|
||||
__msl_is_arithmetic<_A1>::value && __msl_is_arithmetic<_A2>::value,
|
||||
typename __msl_promote<_A1, _A2>::type
|
||||
>::type
|
||||
_MSL_MATH_CDECL hypot(_A1 x, _A2 y)
|
||||
{
|
||||
typedef typename __msl_promote<_A1, _A2>::type r_type;
|
||||
char test[!(__msl_is_same<_A1, r_type>::value && __msl_is_same<_A2, r_type>::value)];
|
||||
(void)test;
|
||||
return hypot((r_type)x, (r_type)y);
|
||||
}
|
||||
|
||||
template <class _A1>
|
||||
inline
|
||||
typename __msl_enable_if<__msl_is_integral<_A1>::value, int>::type
|
||||
_MSL_MATH_CDECL ilogb(_A1 x) {return ilogb((double)x);}
|
||||
|
||||
template <class _A1>
|
||||
inline
|
||||
typename __msl_enable_if<__msl_is_integral<_A1>::value, double>::type
|
||||
_MSL_MATH_CDECL ldexp(_A1 x, int y) {return ldexp((double)x, y);}
|
||||
|
||||
template <class _A1>
|
||||
inline
|
||||
typename __msl_enable_if<__msl_is_integral<_A1>::value, double>::type
|
||||
_MSL_MATH_CDECL lgamma(_A1 x) {return lgamma((double)x);}
|
||||
|
||||
#if _MSL_LONGLONG
|
||||
|
||||
template <class _A1>
|
||||
inline
|
||||
typename __msl_enable_if<__msl_is_integral<_A1>::value, long long>::type
|
||||
_MSL_MATH_CDECL llrint(_A1 x) {return llrint((double)x);}
|
||||
|
||||
template <class _A1>
|
||||
inline
|
||||
typename __msl_enable_if<__msl_is_integral<_A1>::value, long long>::type
|
||||
_MSL_MATH_CDECL llround(_A1 x) {return llround((double)x);}
|
||||
|
||||
#endif
|
||||
|
||||
template <class _A1>
|
||||
inline
|
||||
typename __msl_enable_if<__msl_is_integral<_A1>::value, double>::type
|
||||
_MSL_MATH_CDECL log(_A1 x) {return log((double)x);}
|
||||
|
||||
template <class _A1>
|
||||
inline
|
||||
typename __msl_enable_if<__msl_is_integral<_A1>::value, double>::type
|
||||
_MSL_MATH_CDECL log10(_A1 x) {return log10((double)x);}
|
||||
|
||||
template <class _A1>
|
||||
inline
|
||||
typename __msl_enable_if<__msl_is_integral<_A1>::value, double>::type
|
||||
_MSL_MATH_CDECL log1p(_A1 x) {return log1p((double)x);}
|
||||
|
||||
template <class _A1>
|
||||
inline
|
||||
typename __msl_enable_if<__msl_is_integral<_A1>::value, double>::type
|
||||
_MSL_MATH_CDECL log2(_A1 x) {return log2((double)x);}
|
||||
|
||||
template <class _A1>
|
||||
inline
|
||||
typename __msl_enable_if<__msl_is_integral<_A1>::value, double>::type
|
||||
_MSL_MATH_CDECL logb(_A1 x) {return logb((double)x);}
|
||||
|
||||
template <class _A1>
|
||||
inline
|
||||
typename __msl_enable_if<__msl_is_integral<_A1>::value, long>::type
|
||||
_MSL_MATH_CDECL lrint(_A1 x) {return lrint((double)x);}
|
||||
|
||||
template <class _A1>
|
||||
inline
|
||||
typename __msl_enable_if<__msl_is_integral<_A1>::value, long>::type
|
||||
_MSL_MATH_CDECL lround(_A1 x) {return lround((double)x);}
|
||||
|
||||
template <class _A1>
|
||||
inline
|
||||
typename __msl_enable_if<__msl_is_integral<_A1>::value, double>::type
|
||||
_MSL_MATH_CDECL modf(_A1 x, double * y) {return modf((double)x, y);}
|
||||
|
||||
template <class _A1>
|
||||
inline
|
||||
typename __msl_enable_if<__msl_is_integral<_A1>::value, double>::type
|
||||
_MSL_MATH_CDECL nearbyint(_A1 x) {return nearbyint((double)x);}
|
||||
|
||||
template <class _A1, class _A2>
|
||||
inline
|
||||
typename __msl_enable_if<
|
||||
__msl_is_arithmetic<_A1>::value && __msl_is_arithmetic<_A2>::value,
|
||||
typename __msl_promote<_A1, _A2>::type
|
||||
>::type
|
||||
_MSL_MATH_CDECL nextafter(_A1 x, _A2 y)
|
||||
{
|
||||
typedef typename __msl_promote<_A1, _A2>::type r_type;
|
||||
char test[!(__msl_is_same<_A1, r_type>::value && __msl_is_same<_A2, r_type>::value)];
|
||||
(void)test;
|
||||
return nextafter((r_type)x, (r_type)y);
|
||||
}
|
||||
|
||||
template <class _A1>
|
||||
inline
|
||||
typename __msl_enable_if<__msl_is_integral<_A1>::value, double>::type
|
||||
_MSL_MATH_CDECL nexttoward(_A1 x, long double y) {return nexttoward((double)x, y);}
|
||||
|
||||
template <class _A1, class _A2>
|
||||
inline
|
||||
typename __msl_enable_if<
|
||||
__msl_is_arithmetic<_A1>::value && __msl_is_arithmetic<_A2>::value,
|
||||
typename __msl_promote<_A1, _A2>::type
|
||||
>::type
|
||||
_MSL_MATH_CDECL pow(_A1 x, _A2 y)
|
||||
{
|
||||
typedef typename __msl_promote<_A1, _A2>::type r_type;
|
||||
char test[!(__msl_is_same<_A1, r_type>::value && __msl_is_same<_A2, r_type>::value)];
|
||||
(void)test;
|
||||
return pow((r_type)x, (r_type)y);
|
||||
}
|
||||
|
||||
template <class _A1, class _A2>
|
||||
inline
|
||||
typename __msl_enable_if<
|
||||
__msl_is_arithmetic<_A1>::value && __msl_is_arithmetic<_A2>::value,
|
||||
typename __msl_promote<_A1, _A2>::type
|
||||
>::type
|
||||
_MSL_MATH_CDECL remainder(_A1 x, _A2 y)
|
||||
{
|
||||
typedef typename __msl_promote<_A1, _A2>::type r_type;
|
||||
char test[!(__msl_is_same<_A1, r_type>::value && __msl_is_same<_A2, r_type>::value)];
|
||||
(void)test;
|
||||
return remainder((r_type)x, (r_type)y);
|
||||
}
|
||||
|
||||
template <class _A1, class _A2>
|
||||
inline
|
||||
typename __msl_enable_if<
|
||||
__msl_is_arithmetic<_A1>::value && __msl_is_arithmetic<_A2>::value,
|
||||
typename __msl_promote<_A1, _A2>::type
|
||||
>::type
|
||||
_MSL_MATH_CDECL remquo(_A1 x, _A2 y, int * z)
|
||||
{
|
||||
typedef typename __msl_promote<_A1, _A2>::type r_type;
|
||||
char test[!(__msl_is_same<_A1, r_type>::value && __msl_is_same<_A2, r_type>::value)];
|
||||
(void)test;
|
||||
return remquo((r_type)x, (r_type)y, z);
|
||||
}
|
||||
|
||||
template <class _A1>
|
||||
inline
|
||||
typename __msl_enable_if<__msl_is_integral<_A1>::value, double>::type
|
||||
_MSL_MATH_CDECL rint(_A1 x) {return rint((double)x);}
|
||||
|
||||
#if !_MSL_USES_SUN_MATH_LIB
|
||||
|
||||
template <class _A1>
|
||||
inline
|
||||
typename __msl_enable_if<__msl_is_integral<_A1>::value, double>::type
|
||||
_MSL_MATH_CDECL round(_A1 x) {return round((double)x);}
|
||||
|
||||
template <class _A1>
|
||||
inline
|
||||
typename __msl_enable_if<__msl_is_integral<_A1>::value, double>::type
|
||||
_MSL_MATH_CDECL scalbln(_A1 x, long y) {return scalbln((double)x, y);}
|
||||
|
||||
#endif
|
||||
|
||||
template <class _A1>
|
||||
inline
|
||||
typename __msl_enable_if<__msl_is_integral<_A1>::value, double>::type
|
||||
_MSL_MATH_CDECL scalbn(_A1 x, int y) {return scalbn((double)x, y);}
|
||||
|
||||
template <class _A1>
|
||||
inline
|
||||
typename __msl_enable_if<__msl_is_integral<_A1>::value, double>::type
|
||||
_MSL_MATH_CDECL sin(_A1 x) {return sin((double)x);}
|
||||
|
||||
template <class _A1>
|
||||
inline
|
||||
typename __msl_enable_if<__msl_is_integral<_A1>::value, double>::type
|
||||
_MSL_MATH_CDECL sinh(_A1 x) {return sinh((double)x);}
|
||||
|
||||
template <class _A1>
|
||||
inline
|
||||
typename __msl_enable_if<__msl_is_integral<_A1>::value, double>::type
|
||||
_MSL_MATH_CDECL sqrt(_A1 x) {return sqrt((double)x);}
|
||||
|
||||
template <class _A1>
|
||||
inline
|
||||
typename __msl_enable_if<__msl_is_integral<_A1>::value, double>::type
|
||||
_MSL_MATH_CDECL tan(_A1 x) {return tan((double)x);}
|
||||
|
||||
template <class _A1>
|
||||
inline
|
||||
typename __msl_enable_if<__msl_is_integral<_A1>::value, double>::type
|
||||
_MSL_MATH_CDECL tanh(_A1 x) {return tanh((double)x);}
|
||||
|
||||
template <class _A1>
|
||||
inline
|
||||
typename __msl_enable_if<__msl_is_integral<_A1>::value, double>::type
|
||||
_MSL_MATH_CDECL tgamma(_A1 x) {return tgamma((double)x);}
|
||||
|
||||
template <class _A1>
|
||||
inline
|
||||
typename __msl_enable_if<__msl_is_integral<_A1>::value, double>::type
|
||||
_MSL_MATH_CDECL trunc(_A1 x) {return trunc((double)x);}
|
||||
|
||||
_MSL_END_NAMESPACE_STD
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue