NineWaves 0.9.12

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

// Install NineWaves as a Cake Tool
#tool nuget:?package=NineWaves&version=0.9.12                

NineWaves Icon NineWaves

This cross platform - Linux, Mac OS X and Windows - F# .Net library and smartphone app to chart the nine Maya waves of Carl Johan Calleman. See Links. It uses Fabulous as F# MVU (Elm-like) frontend to Xamarin.Forms.

See YouTube video of the smartphone app for a video.

Screenshot 1 of the smartphone app Screenshot 2 of the smartphone app

Information about the smartphone app is at Usage of the Smartphone App

To interactively try out the F# NuGet package NineWaves, go to the Jupyter Notebook at Binder

Full documentation can be found at Read the Docs

MIT license badge F# 5.0 badge OS badge Nuget Package badge Documentation Status Binder more badges ...

Table of Content

Blog of Carl Johan Calleman

Experiencing the 9th Wave Influence in your Life

Download

List of changes: CHANGELOG.md

Link to the latest release

Installation and Usage

Android

Install the package for your smartphone (.apk for Android) onto your phone - search the web on how you can do that, this depends on your phone

iOS

I can’t generate an iPhone package myself, so you have to build the project IOS for yourself and provision the app to your phone. Microsoft has a how-to here

NuGet Package

Download an install the NineWaves Nuget package using your IDE (Visual Studio or JetBrains Rider) or one of the command-line possibilities: NineWaves Package at NuGet

In an interactive F# FSI session, you can use the command #r "nuget: NineWaves" to download and use the nuget package NineWaves.

Usage of the Smartphone App

See YouTube video of the smartphone app for a video.

NineWaves NuGet Package

Download an install the NineWaves Nuget package using your IDE (Visual Studio or JetBrains Rider) or one of the command-line possibilities: NineWaves Package at NuGet

In an interactive F# FSI session, you can use the command #r "nuget: NineWaves" to download and use the nuget package NineWaves.

To use NineWaves in an interactive session:

#r "nuget: NineWaves"
    Installed package NineWaves version 0.9.6

Everything is contained in the namespace RC.Maya, so let's open that

open RC.Maya

To check if everything's working, we call NineWaves.getWaveday9 with the DateTime of today (the 2nd of May, 2021), to get the information of the 9th wave for today.

NineWaves.getWaveday9 System.DateTime.Today
    DayNumber  OfDays  WaveNumber  IsNight
           18      18         103     True

From the returned WaveDay type we can see, that today is the 18th day (DayNumber) of 18 days (OfDays) of the 103rd 9th wave (WaveNumber). Actually it is a 'Night' (IsNight), the wave is 'below zero'.

We can do the same with all the other 8 Waves:

NineWaves.getWaveday8 System.DateTime.Today
    DayNumber  OfDays  WaveNumber  IsNight
          234     360          12    False
NineWaves.getWaveday7 System.DateTime.Today
    DayNumber  OfDays  WaveNumber  IsNight
         3474    7200           7     True
NineWaves.getWaveday6 System.DateTime.Today
    DayNumber  OfDays  WaveNumber  IsNight
         3474  144000           7     True




```F#
NineWaves.getWaveday5 System.DateTime.Today
    DayNumber  OfDays  WaveNumber  IsNight
         3474 2880000           7     True
NineWaves.getWaveday4 System.DateTime.Today
    DayNumber   OfDays  WaveNumber  IsNight
         3474 57600000           7     True
NineWaves.getWaveday3 System.DateTime.Today
    DayNumber     OfDays  WaveNumber  IsNight
         3474 1152000000           7     True
NineWaves.getWaveday2 System.DateTime.Today
    DayNumber       OfDays  WaveNumber  IsNight
         3474  23040000000           7     True
NineWaves.getWaveday1 System.DateTime.Today
    DayNumber       OfDays  WaveNumber  IsNight
         3474 460800000000           7     True

Of course we can use any date, like the 24th of October, 2014:

NineWaves.getWaveday7 (System.DateTime (2014, 10, 24))
    DayNumber  OfDays  WaveNumber  IsNight
         1092    7200           7     True

NineWaves also contains the 9 sine wave funtions for the nine waves, to generate graphs of. All 9 functions are scaled, so that 0, the wavelength and half wavelength of each wave yields 0, and each day is a integer. The maximum and minimum is reached at -wavelength / 4 and wavelength / 4.

So: for each of the wavelengths we get 0:

NineWaves.wavefunc9 NineWaves.wavelength9
    0
NineWaves.wavefunc8 NineWaves.wavelength8
    0
NineWaves.wavefunc7 NineWaves.wavelength7
    0

And so on ...

Same for the half wavelength:

NineWaves.wavefunc6 (NineWaves.wavelength6 * 0.5)
    -0

and of course multiplied by any integer factor:

NineWaves.wavefunc5 (NineWaves.wavelength5 * -2.)
    0
NineWaves.wavefunc4 (NineWaves.wavelength4 * -1.5)
    0

The maximum of 1 or -1 is reached at wavelength / 4:

NineWaves.wavefunc3 (NineWaves.wavelength3 * 0.25)
    -1
NineWaves.wavefunc2 (NineWaves.wavelength2 * -0.25)
    1
NineWaves.wavefunc1 (NineWaves.wavelength1 * -3.25)
    1
NineWaves.wavefunc1 (NineWaves.wavelength1 * -3.75)
    -1

Contributing

Any help is welcome!

If you encounter a problem using NineWaves, a task it not as easy as you'd like it to be or you'd like something added to it: open an issue at GitHub, see section Report Issues.

See page Contributing at Read the Docs for a detailed description.

License

All content except some images of NineWaves is licensed under the MIT license, see file LICENSE.

Privacy Policy

NineWaves does not collect or share any personal information, it does not contain any ads, trackers or in-app-payments. See: Privacy Policy

Badges

Code coverage

codecov

GitHub Actions/Workflows

Tests Mac OS X latest Tests Ubuntu 20.04 Tests Windows 2019

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.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
0.9.12 484 5/2/2021
0.9.6 293 4/30/2021

Added  pan-able wave graph page.