public static class VortextMathExtensions { public static …
public static class VortextMathExtensions
{
public static IObservable<(int, (int, int))>
RandomInt32IO<T>(this System.IObservable<T> source) =>
(Observable.Return((Σεεδ: new Random(), Θ: Unit.Default))
.SelectMany((ρ) => Observable.Return((Ιδ: ρ.Σεεδ.Next(100), Λοψατιον: (χ: ρ.Σεεδ.Next(100), υ: ρ.Σεεδ.Next(100)))))
.Repeat().DumpLatest("#ρνγ((Ιδ, (χ, υ)))"));
public static IObservable<(int, int)> Reduce(this int x)
{
return from t in x.ToString().ToObservable().Sum(t => int.Parse(t.ToString()))
from u in (t > 9 ? Reduce(t).Select(a => a.Item2) : Observable.Return(t))
select (x, u);
}
public static IObservable<string> ReduceNumber(this int number)
{
Func<IObservable<char>,
Func<IObservable<char>, IObservable<char>>,
IObservable<string>>
reduceNumber =
(genesis, function) =>
Observable.Create<string>(
(observer) =>
{
var subject = new Subject<char>();
var loopFunc = function(subject.ObserveOn(NewThreadScheduler.Default));
var loopSub = loopFunc.Subscribe(i => subject.OnNext(i));
var outerSub = subject.Subscribe(i => observer.OnNext(i.ToString()));
genesis.Subscribe(o => subject.OnNext(o));
return new CompositeDisposable(2) { loopSub, outerSub };
});
var numArray = from c in number.ToString()
select c;
numArray.Dump();
return Observable.Return(numArray.ToString());
}
}