Shamisen.Utils 0.1.0-alpha.0.7.0

This is a prerelease version of Shamisen.Utils.
dotnet add package Shamisen.Utils --version 0.1.0-alpha.0.7.0
NuGet\Install-Package Shamisen.Utils -Version 0.1.0-alpha.0.7.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Shamisen.Utils" Version="0.1.0-alpha.0.7.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Shamisen.Utils --version 0.1.0-alpha.0.7.0
#r "nuget: Shamisen.Utils, 0.1.0-alpha.0.7.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Shamisen.Utils as a Cake Addin
#addin nuget:?package=Shamisen.Utils&version=0.1.0-alpha.0.7.0&prerelease

// Install Shamisen.Utils as a Cake Tool
#tool nuget:?package=Shamisen.Utils&version=0.1.0-alpha.0.7.0&prerelease

Shamisen.Utils - Utility features independent from Shamisen

This library provides utility features independent from Shamisen.Core.

Currently implemented features in Shamisen.Utils

SIMD-Optimized Array Utilities

  • Scalar operations for each elements of array
    • Scalar Multiplication(Attenuation)
      • Single
      • Double
    • DC Offset
      • Int32
    • Log2 Approximation by 5th order polynomial
      • Single
    • Log10 Approximation by 5th order polynomial
      • Single
    • NaN elimination by replacing
      • Single
  • Element-wise operations for two or more arrays
    • Addition
      • Single
    • Multiplication
      • Single
      • Double
    • Mixing
      • Single
  • Special operations
    • Interleave
      • Int32
    • Monaural-to-multichannel Duplication
      • Single
    • Max and Min across array
      • Single

Fast Floating-Point Math

  • Architecture-Dependent Single-Instruction Max
    • Single
    • Double
  • Architecture-Dependent Single-Instruction Min
    • Single
    • Double
  • MathF.Round polyfill
    • Single

Fast Integer Math

  • Max
    • Int32
    • UInt32
    • IntPtr
  • Min
    • Int32
    • UInt32
    • IntPtr
  • AndNot(~A & B)
    • Int32
    • Int64
    • UInt32
    • UInt64
    • IntPtr
    • UIntPtr
  • Abstract Value(abs)
    • Int32(returns UInt32)
    • Int64(returns UInt64)
  • Math.BigMul polyfill
    • Int64
    • UInt64
  • Modular Multiplicative Inverse
    • Int32
  • BitOperations.TrailingZeroCount polyfill
    • UInt32
    • UInt64
  • Binary logarithm(returns Int32)
    • UInt32
    • UInt64
  • BitOperations.LeadingZeroCount polyfill
    • UInt32
    • UInt64
  • BitOperations.PopCount polyfill
    • UInt32
    • UInt64
  • Extracting highest set bit
    • UInt32
    • UInt64
  • Bit order reversal
    • UInt32
    • UInt64
  • Bit-field extraction
    • UInt32
    • UInt64
  • Zeroing higher bits than specified
    • UInt32
    • UInt64
  • Zeroing specified higher bits
    • UInt32
    • UInt64
  • Checking if the number is a power-of-two
    • Int32
    • UInt32

Fixed-Point Formats

Format Type
Q0.63 Fixed64
Q0.31 Fixed32
Q0.15 Fixed16

Vector Utilities

  • Utilities for System.Numerics.Vector4 and System.Numerics.Vector<T>

License

Shamisen.Utils itself

MIT License

Product Compatible and additional computed target framework versions.
.NET net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Shamisen.Utils:

Package Downloads
Shamisen.Core

Brand New Audio Library for .NET 7 and later.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
0.1.0-alpha.0.7.0 132 12/27/2022