Add CMath library + ensure it builds, links, and runs

This commit is contained in:
TheAlgorithm476 2025-04-29 11:13:22 +02:00
parent 4814c6e7c2
commit d41f72280a
12 changed files with 98 additions and 3 deletions

View File

@ -17,15 +17,30 @@ let package = Package(
name: "PMCalc",
dependencies: [
.product(name: "Adwaita", package: "adwaita-swift"),
.product(name: "Localized", package: "localized")
.product(name: "Localized", package: "localized"),
"CMath"
],
path: "Sources",
path: "Sources/PMCalc",
resources: [
.process("Localized.yml")
],
cSettings: [
.headerSearchPath("Sources/CMath/include")
],
linkerSettings: [
.unsafeFlags([
"-L./Sources/CMath/lib/",
"-lcmath"
])
],
plugins: [
.plugin(name: "GenerateLocalized", package: "localized")
]
),
.systemLibrary(
name: "CMath",
path: "Sources/CMath",
providers: []
)
],
swiftLanguageModes: [.v5]

View File

@ -0,0 +1,13 @@
//
// add_nums.h
// CMath
//
// Created by TheAlgorithm476 on 28/03/2025.
//
#ifndef __ADD_NUMS_H
#define __ADD_NUMS_H
double add_nums(double a, double b);
#endif // __ADD_NUMS_H

View File

@ -0,0 +1,13 @@
//
// div_nums.h
// CMath
//
// Created by TheAlgorithm476 on 28/03/2025.
//
#ifndef __DIV_NUMS_H
#define __DIV_NUMS_H
double div_nums(double a, double b);
#endif // __DIV_NUMS_H

View File

@ -0,0 +1,13 @@
//
// mul_nums.h
// CMath
//
// Created by TheAlgorithm476 on 28/03/2025.
//
#ifndef __MUL_NUMS_H
#define __MUL_NUMS_H
double mul_nums(double a, double b);
#endif // __MUL_NUMS_H

View File

@ -0,0 +1,17 @@
//
// spc_nums.h
// CMath
//
// Created by TheAlgorithm476 on 28/03/2025.
//
#ifndef __SPC_NUMS_H
#define __SPC_NUMS_H
#define POOR_MANS_POW_GUESSES 12
#define NEWTONIAN_DIV_GUESSES 12
double pow(double x, double exp);
double sqrt(double x);
#endif // __SPC_NUMS_H

View File

@ -0,0 +1,13 @@
//
// sub_nums.h
// CMath
//
// Created by TheAlgorithm476 on 28/03/2025.
//
#ifndef __SUB_NUMS_H
#define __SUB_NUMS_H
double sub_nums(double a, double b);
#endif // __SUB_NUMS_H

BIN
Sources/CMath/lib/libcmath.so Executable file

Binary file not shown.

View File

@ -0,0 +1,9 @@
module CMath {
header "include/add_nums.h"
header "include/sub_nums.h"
header "include/mul_nums.h"
header "include/div_nums.h"
header "include/spc_nums.h"
export *
link "cmath"
}

View File

@ -2,6 +2,7 @@
// https://docs.swift.org/swift-book
import Adwaita
import CMath
@main
struct PMCalc: App {

View File

@ -46,7 +46,8 @@
"install -Dm644 data/me.thealgorithm476.PMCalc.PMCalc.metainfo.xml $DESTDIR/app/share/metainfo/me.thealgorithm476.PMCalc.PMCalc.metainfo.xml",
"install -Dm644 data/me.thealgorithm476.PMCalc.PMCalc.desktop $DESTDIR/app/share/applications/me.thealgorithm476.PMCalc.PMCalc.desktop",
"install -Dm644 data/icons/me.thealgorithm476.PMCalc.PMCalc.svg $DESTDIR/app/share/icons/hicolor/scalable/apps/me.thealgorithm476.PMCalc.PMCalc.svg",
"install -Dm644 data/icons/me.thealgorithm476.PMCalc.PMCalc-symbolic.svg $DESTDIR/app/share/icons/hicolor/symbolic/apps/me.thealgorithm476.PMCalc.PMCalc-symbolic.svg"
"install -Dm644 data/icons/me.thealgorithm476.PMCalc.PMCalc-symbolic.svg $DESTDIR/app/share/icons/hicolor/symbolic/apps/me.thealgorithm476.PMCalc.PMCalc-symbolic.svg",
"install -Dm644 Sources/CMath/lib/libcmath.so /app/lib/libcmath.so"
]
}
]