ChaosSoft.Core 2.0.0

dotnet add package ChaosSoft.Core --version 2.0.0                
NuGet\Install-Package ChaosSoft.Core -Version 2.0.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="ChaosSoft.Core" Version="2.0.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add ChaosSoft.Core --version 2.0.0                
#r "nuget: ChaosSoft.Core, 2.0.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 ChaosSoft.Core as a Cake Addin
#addin nuget:?package=ChaosSoft.Core&version=2.0.0

// Install ChaosSoft.Core as a Cake Tool
#tool nuget:?package=ChaosSoft.Core&version=2.0.0                

ChaosSoft.Core

Core of the ChaosSoft toolset.

Contains:

  • Custom data series implementation
  • Data I/O
  • Helpers for Matrixes and Vectors
  • Logger instance (+ default ConsoleLogger implementation)

Code examples

Read source data from file

using ChaosSoft.Core.Data;
using ChaosSoft.Core.IO;

string fileName = "some_data.dat";
int linesToSkip = 2;
int linesToRead = 500;

// get source data from file
IDataReader dataReader = new PlainTextFileReader(linesToSkip, linesToRead);
SourceData data = new SourceData(dataReader, linesToRead);

// assume file has two columns (1st - timestamp, 2nd - series)
int seriesColumn = 1;
bool timeInFirstColumn = true;
int startPoint = 0;
int eachNpoints = 2;

// set current timeseries taking every second point of the data considering timestamp from first column of data file.
data.SetTimeSeries(
    seriesColumn,
    startPoint,
    data.LinesCount - 1,
    eachNpoints,
    timeInFirstColumn);

// get amplitude of timeseries
var amplitude = data.TimeSeries.Amplitude.Y;  //X property contains amplitude of X values (timestamp)

Work with matrixes

using ChaosSoft.Core.DataUtils;

// create 3x5 2D array filled with value 5.3
var matrix = Matrix.Create(3, 5, 5.3);

// get second column of the matrix
var column = Matrix.GetColumn(matrix, 2);

Work with vectors

using ChaosSoft.Core.DataUtils;

// create vector of length 5, starting from -9 with step 3
var vector = Vector.CreateUniform(5, -9, 3);

// find vector's Max absolute value
var maxAbs = Vector.MaxAbs(vector);

Numbers formatting

By default numbers formatting is set to "0.#######" with InvariantCulture

// To apply user formatting used by default (for example F2)
NumFormat.CurrentFormat = "F2";

// To apply culture used by default (for example en-US)
NumFormat.CurrentCulture = new CultureInfo("en-US");

// To reset formatting defaults
NumFormat.Reset();

// To set default precision (for example 11 decimal digits)
NumFormat.SetPrecision(11);
Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  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. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETStandard 2.0

    • No dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on ChaosSoft.Core:

Package Downloads
ChaosSoft.NumericalMethods

This package includes variety of numerical methods from different areas.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
2.0.0 133 9/27/2024
1.0.0 296 2/13/2023

Rework of IO, added common interfaces, removed 3d and sound output classes, added logger