Skip to content

Commit

Permalink
Update SoulverCore framework (v2.4.6)
Browse files Browse the repository at this point in the history
  • Loading branch information
zcohan committed Jan 24, 2024
1 parent 62c9ead commit 2b60537
Show file tree
Hide file tree
Showing 27 changed files with 703 additions and 577 deletions.
4 changes: 2 additions & 2 deletions Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ let package = Package(
targets: [
.binaryTarget(
name: "SoulverCore",
url: "https://github.com/soulverteam/SoulverCore/releases/download/2.4.5/SoulverCore.xcframework.zip",
checksum: "fe2600468b1068099deb8317f34d5d2e55f6e0f795aa21df389954bb1e6d699f"),
url: "https://github.com/soulverteam/SoulverCore/releases/download/2.4.6/SoulverCore.xcframework.zip",
checksum: "50df6f25bad23ba49ed2f805f227be1c22d7cd58db886cf820a61182e1f994a1"),
]
)
27 changes: 14 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,17 @@

# What is SoulverCore?

SoulverCore is a math engine that calculates day-to-day mathematical expressions. It comes out of the popular notepad calculator app [Soulver](https://soulver.app), which has been available for the Mac since 2005.
SoulverCore is a natural language math engine used by the popular notepad calculator [Soulver](https://soulver.app).

The design goals of SoulverCore are:
- Sensible defaults for most use-cases (common tasks work out-of-the-box)
- A high level of customizability (non-common tasks are possible, like adding phrase functions & new units)
- Exceptional performance
The primary design goals of SoulverCore are:
- Sensible defaults for most use cases (the same defaults used by Soulver)
- A high level of extensibility (set variables, add new units, & define custom natural language functions)
- Exceptional performance (7k-13k calculations/second on Apple Silicon chips)

Additionally, SoulverCore has been designed to have no 3rd party dependencies & work across all Apple platforms.
When considering SoulverCore for your project, note the following:
- SoulverCore is written in Swift and works across all Apple platforms
- SoulverCore has zero 3rd party dependencies
- SoulverCore is exactly the same math library used inside the shipping version of Soulver (available for Mac since 2005)

## Requirements
- Xcode 15+
Expand All @@ -19,13 +22,11 @@ Additionally, SoulverCore has been designed to have no 3rd party dependencies &

## Installation using the Swift Package Manager (SPM)

Xcode 12 and later lets you integrate SoulverCore into your project using the Swift Package Manager.

In Xcode, go File > Swift Packages > Add Package Dependency and paste in the URL of this repository (https://github.com/soulverteam/SoulverCore).
In Xcode, go File > Swift Packages > Add Package Dependency, and paste in the URL of this repository (https://github.com/soulverteam/SoulverCore).

## Manual Installation

Drag `SoulverCore.xcframework` into the `Frameworks, Libraries, and Embedded Content` section of the General settings for your Mac or iOS target.
Clone this repository, and drag `SoulverCore.xcframework` into the `Frameworks, Libraries, and Embedded Content` section of the General settings for your Mac or iOS target.

## Getting Started

Expand Down Expand Up @@ -208,13 +209,13 @@ customization.featureFlags.variableDeclarations = true

/// Use this customization with a new Calculator object
let calculator = Calculator(customization: customization)
_ = calculator.calculate("tax = 25%")
let result = calculator.calculate("tax of $45k") // $11,250.00
_ = calculator.calculate("discount = 10%")
let result = calculator.calculate("$45k - discount") // $40,500.00

````

## Performance
Most calculations are evaluated by SoulverCore in less than half a millisecond ⚡️! So, while SoulverCore classes are thread-safe, it's so fast that there is typically no need to perform single calculations off the main thread of your application.
Calculations are evaluated by SoulverCore in less than half a millisecond ⚡️! So, while SoulverCore classes are thread-safe, it's so fast that there is typically no need to perform single calculations off the main thread of your application.

## Localizations

Expand Down
14 changes: 7 additions & 7 deletions SoulverCore.xcframework/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -40,32 +40,32 @@
</dict>
<dict>
<key>BinaryPath</key>
<string>SoulverCore.framework/SoulverCore</string>
<string>SoulverCore.framework/Versions/A/SoulverCore</string>
<key>LibraryIdentifier</key>
<string>ios-arm64</string>
<string>macos-arm64_x86_64</string>
<key>LibraryPath</key>
<string>SoulverCore.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
<string>x86_64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
<string>macos</string>
</dict>
<dict>
<key>BinaryPath</key>
<string>SoulverCore.framework/Versions/A/SoulverCore</string>
<string>SoulverCore.framework/SoulverCore</string>
<key>LibraryIdentifier</key>
<string>macos-arm64_x86_64</string>
<string>ios-arm64</string>
<key>LibraryPath</key>
<string>SoulverCore.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
<string>x86_64</string>
</array>
<key>SupportedPlatform</key>
<string>macos</string>
<string>ios</string>
</dict>
</array>
<key>CFBundlePackageType</key>
Expand Down
Binary file not shown.
Loading

0 comments on commit 2b60537

Please sign in to comment.