public static IBijectiveFunction <T2, T1> Invert <T1, T2>(IBijectiveFunction <T1, T2> f) { if (f is Functions.InvertedBijection) { return(((Functions.InvertedBijection <T2, T1>)f).f); } return(new Functions.InvertedBijection <T1, T2>(f)); }
internal InvertedBijection(IBijectiveFunction <T1, T2> f) { this.f = f; }