mirror of
https://github.com/RGBCube/serenity
synced 2025-07-28 00:17:45 +00:00
Libraries: Create top level directory for libraries.
Things were getting a little crowded in the project root, so this patch moves the Lib*/ directories into Libraries/.
This commit is contained in:
parent
63814ffebf
commit
04b9dc2d30
328 changed files with 36 additions and 36 deletions
25
Libraries/LibM/Makefile
Normal file
25
Libraries/LibM/Makefile
Normal file
|
@ -0,0 +1,25 @@
|
|||
include ../../Makefile.common
|
||||
|
||||
OBJS = math.o
|
||||
|
||||
LIBRARY = libm.a
|
||||
DEFINES += -DUSERLAND
|
||||
|
||||
all: $(LIBRARY)
|
||||
|
||||
$(LIBRARY): $(OBJS)
|
||||
@echo "LIB $@"; $(AR) rcs $@ $(OBJS)
|
||||
|
||||
.cpp.o:
|
||||
@echo "CXX $<"; $(CXX) $(CXXFLAGS) -o $@ -c $<
|
||||
|
||||
-include $(OBJS:%.o=%.d)
|
||||
|
||||
clean:
|
||||
@echo "CLEAN"; rm -f $(LIBRARY) $(OBJS) *.d
|
||||
|
||||
install: $(LIBRARY)
|
||||
# Copy headers
|
||||
rsync -a --include '*/' --include '*.h' --exclude '*' . ../Root/usr/include
|
||||
# Install the library
|
||||
cp $(LIBRARY) ../Root/usr/lib
|
6
Libraries/LibM/install.sh
Executable file
6
Libraries/LibM/install.sh
Executable file
|
@ -0,0 +1,6 @@
|
|||
#!/bin/bash
|
||||
|
||||
mkdir -p ../Root/usr/include/sys/
|
||||
mkdir -p ../Root/usr/lib/
|
||||
cp *.h ../Root/usr/include/
|
||||
cp libm.a ../Root/usr/lib/
|
149
Libraries/LibM/math.cpp
Normal file
149
Libraries/LibM/math.cpp
Normal file
|
@ -0,0 +1,149 @@
|
|||
#include <LibC/assert.h>
|
||||
#include <LibM/math.h>
|
||||
|
||||
extern "C" {
|
||||
double trunc(double x)
|
||||
{
|
||||
return (int)x;
|
||||
}
|
||||
|
||||
double cos(double angle)
|
||||
{
|
||||
return sin(angle + M_PI_2);
|
||||
}
|
||||
|
||||
double ampsin(double angle)
|
||||
{
|
||||
double looped_angle = fmod(M_PI + angle, M_TAU) - M_PI;
|
||||
double looped_angle_squared = looped_angle * looped_angle;
|
||||
|
||||
double quadratic_term;
|
||||
if (looped_angle > 0) {
|
||||
quadratic_term = -looped_angle_squared;
|
||||
} else {
|
||||
quadratic_term = looped_angle_squared;
|
||||
}
|
||||
|
||||
double linear_term = M_PI * looped_angle;
|
||||
|
||||
return quadratic_term + linear_term;
|
||||
}
|
||||
|
||||
double sin(double angle)
|
||||
{
|
||||
double vertical_scaling = M_PI_2 * M_PI_2;
|
||||
return ampsin(angle) / vertical_scaling;
|
||||
}
|
||||
|
||||
double pow(double x, double y)
|
||||
{
|
||||
(void)x;
|
||||
(void)y;
|
||||
ASSERT_NOT_REACHED();
|
||||
}
|
||||
|
||||
double ldexp(double, int exp)
|
||||
{
|
||||
(void)exp;
|
||||
ASSERT_NOT_REACHED();
|
||||
}
|
||||
|
||||
double tanh(double)
|
||||
{
|
||||
ASSERT_NOT_REACHED();
|
||||
}
|
||||
|
||||
double tan(double angle)
|
||||
{
|
||||
return ampsin(angle) / ampsin(M_PI_2 + angle);
|
||||
}
|
||||
|
||||
double sqrt(double)
|
||||
{
|
||||
ASSERT_NOT_REACHED();
|
||||
}
|
||||
|
||||
double sinh(double)
|
||||
{
|
||||
ASSERT_NOT_REACHED();
|
||||
}
|
||||
|
||||
double log10(double)
|
||||
{
|
||||
ASSERT_NOT_REACHED();
|
||||
}
|
||||
|
||||
double log(double)
|
||||
{
|
||||
ASSERT_NOT_REACHED();
|
||||
}
|
||||
|
||||
double fmod(double index, double period)
|
||||
{
|
||||
return index - trunc(index / period) * period;
|
||||
}
|
||||
|
||||
double exp(double)
|
||||
{
|
||||
ASSERT_NOT_REACHED();
|
||||
}
|
||||
|
||||
double cosh(double)
|
||||
{
|
||||
ASSERT_NOT_REACHED();
|
||||
}
|
||||
|
||||
double atan2(double, double)
|
||||
{
|
||||
ASSERT_NOT_REACHED();
|
||||
}
|
||||
|
||||
double atan(double)
|
||||
{
|
||||
ASSERT_NOT_REACHED();
|
||||
}
|
||||
|
||||
double asin(double)
|
||||
{
|
||||
ASSERT_NOT_REACHED();
|
||||
}
|
||||
|
||||
double acos(double)
|
||||
{
|
||||
ASSERT_NOT_REACHED();
|
||||
}
|
||||
|
||||
double fabs(double value)
|
||||
{
|
||||
return value < 0 ? -value : value;
|
||||
}
|
||||
double log2(double)
|
||||
{
|
||||
ASSERT_NOT_REACHED();
|
||||
}
|
||||
|
||||
float log2f(float)
|
||||
{
|
||||
ASSERT_NOT_REACHED();
|
||||
}
|
||||
|
||||
long double log2l(long double)
|
||||
{
|
||||
ASSERT_NOT_REACHED();
|
||||
}
|
||||
|
||||
double frexp(double, int*)
|
||||
{
|
||||
ASSERT_NOT_REACHED();
|
||||
}
|
||||
|
||||
float frexpf(float, int*)
|
||||
{
|
||||
ASSERT_NOT_REACHED();
|
||||
}
|
||||
|
||||
long double frexpl(long double, int*)
|
||||
{
|
||||
ASSERT_NOT_REACHED();
|
||||
}
|
||||
}
|
66
Libraries/LibM/math.h
Normal file
66
Libraries/LibM/math.h
Normal file
|
@ -0,0 +1,66 @@
|
|||
#pragma once
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
#define HUGE_VAL 1e10000
|
||||
#define M_PI 3.141592653589793
|
||||
#define M_PI_2 (M_PI / 2)
|
||||
#define M_TAU (M_PI * 2)
|
||||
|
||||
double acos(double);
|
||||
float acosf(float);
|
||||
double asin(double);
|
||||
float asinf(float);
|
||||
double atan(double);
|
||||
float atanf(float);
|
||||
double atan2(double, double);
|
||||
float atan2f(float, float);
|
||||
double cos(double);
|
||||
float cosf(float);
|
||||
double cosh(double);
|
||||
float coshf(float);
|
||||
double sin(double);
|
||||
float sinf(float);
|
||||
double sinh(double);
|
||||
float sinhf(float);
|
||||
double tan(double);
|
||||
float tanf(float);
|
||||
double tanh(double);
|
||||
float tanhf(float);
|
||||
double ceil(double);
|
||||
float ceilf(float);
|
||||
double floor(double);
|
||||
float floorf(float);
|
||||
double round(double);
|
||||
float roundf(float);
|
||||
double fabs(double);
|
||||
float fabsf(float);
|
||||
double fmod(double, double);
|
||||
float fmodf(float, float);
|
||||
double exp(double);
|
||||
float expf(float);
|
||||
double frexp(double, int* exp);
|
||||
float frexpf(float, int* exp);
|
||||
double log(double);
|
||||
float logf(float);
|
||||
double log10(double);
|
||||
float log10f(float);
|
||||
double sqrt(double);
|
||||
float sqrtf(float);
|
||||
double modf(double, double*);
|
||||
float modff(float, float*);
|
||||
double ldexp(double, int exp);
|
||||
float ldexpf(float, int exp);
|
||||
|
||||
double pow(double x, double y);
|
||||
|
||||
double log2(double);
|
||||
float log2f(float);
|
||||
long double log2l(long double);
|
||||
double frexp(double, int*);
|
||||
float frexpf(float, int*);
|
||||
long double frexpl(long double, int*);
|
||||
|
||||
__END_DECLS
|
Loading…
Add table
Add a link
Reference in a new issue