From cd728c9af9746237d2c6743c9fc2fa3441e98676 Mon Sep 17 00:00:00 2001 From: Jonas 'Sortie' Termansen Date: Fri, 7 Sep 2012 20:28:59 +0200 Subject: [PATCH] Add fabs{,f,l}(3). --- libmaxsi/Makefile | 1 + libmaxsi/fabs.cpp | 46 +++++++++++++++++++++++++++++++++++++++++ libmaxsi/include/math.h | 5 ++++- 3 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 libmaxsi/fabs.cpp diff --git a/libmaxsi/Makefile b/libmaxsi/Makefile index 36c8281f..26327335 100644 --- a/libmaxsi/Makefile +++ b/libmaxsi/Makefile @@ -77,6 +77,7 @@ errorprint.o \ exit.o \ _exit.o \ _Exit.o \ +fabs.o \ fchmod.o \ fcntl.o \ fstat.o \ diff --git a/libmaxsi/fabs.cpp b/libmaxsi/fabs.cpp new file mode 100644 index 00000000..f4e6117a --- /dev/null +++ b/libmaxsi/fabs.cpp @@ -0,0 +1,46 @@ +/******************************************************************************* + + Copyright(C) Jonas 'Sortie' Termansen 2012. + + This file is part of LibMaxsi. + + LibMaxsi is free software: you can redistribute it and/or modify it under + the terms of the GNU Lesser General Public License as published by the Free + Software Foundation, either version 3 of the License, or (at your option) + any later version. + + LibMaxsi is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more + details. + + You should have received a copy of the GNU Lesser General Public License + along with LibMaxsi. If not, see . + + fabs.cpp + Absolute value of floating point numbers. + +*******************************************************************************/ + +#include + +extern "C" double fabs(double x) +{ + if ( x < 0.0f ) + return -x; + return x; +} + +extern "C" float fabsf(float x) +{ + if ( x < 0.0f ) + return -x; + return x; +} + +extern "C" long double fabsl(long double x) +{ + if ( x < 0.0f ) + return -x; + return x; +} diff --git a/libmaxsi/include/math.h b/libmaxsi/include/math.h index 54c9a415..9f130e2e 100644 --- a/libmaxsi/include/math.h +++ b/libmaxsi/include/math.h @@ -1,6 +1,6 @@ /****************************************************************************** - COPYRIGHT(C) JONAS 'SORTIE' TERMANSEN 2011. + Copyright(C) Jonas 'Sortie' Termansen 2011, 2012. This file is part of LibMaxsi. @@ -30,6 +30,9 @@ __BEGIN_DECLS /* TODO: Actually comply with standards by declaring stuff here. */ +double fabs(double x); +float fabsf(float x); +long double fabsl(long double x); __END_DECLS