Using the deterministic hash function

This commit is contained in:
Thorsten Sommer 2020-01-11 23:14:01 +01:00
parent 919a3f3779
commit af80788a21

View File

@ -15,7 +15,7 @@ namespace CubicNoiseTests
{
var engineO57PX12PY16 = NoiseEngine.Create(new EngineParameters
{
Seed = "test seed".GetHashCode(),
Seed = "test seed".GetDeterministicHashCode(),
Type = NoiseTypes.CUBIC_NOISE,
IntParameters = new Dictionary<IParameterName, int>
{
@ -27,7 +27,7 @@ namespace CubicNoiseTests
var engineO45PX16PY99 = NoiseEngine.Create(new EngineParameters
{
Seed = "test seed".GetHashCode(),
Seed = "test seed".GetDeterministicHashCode(),
Type = NoiseTypes.CUBIC_NOISE,
IntParameters = new Dictionary<IParameterName, int>
{
@ -43,65 +43,64 @@ namespace CubicNoiseTests
// Generated by means of https://github.com/jobtalle/CubicNoise/blob/master/c%23/CubicNoise.cs
var expectedValuesO57 = new List<(int X, int Y, float Result)>
{
(X: 0, Y: 0, Result: 0.1161f), (X: 0, Y: 1, Result: 0.1215f), (X: 0, Y: 2, Result: 0.1268f), (X: 0, Y: 3, Result: 0.1320f), (X: 0, Y: 4, Result: 0.1371f), (X: 0, Y: 5, Result: 0.1421f), (X: 0, Y: 6, Result: 0.1469f), (X: 0, Y: 7, Result: 0.1517f), (X: 0, Y: 8, Result: 0.1564f), (X: 0, Y: 9, Result: 0.1611f),
(X: 1, Y: 0, Result: 0.1213f), (X: 1, Y: 1, Result: 0.1265f), (X: 1, Y: 2, Result: 0.1315f), (X: 1, Y: 3, Result: 0.1363f), (X: 1, Y: 4, Result: 0.1411f), (X: 1, Y: 5, Result: 0.1458f), (X: 1, Y: 6, Result: 0.1503f), (X: 1, Y: 7, Result: 0.1548f), (X: 1, Y: 8, Result: 0.1592f), (X: 1, Y: 9, Result: 0.1635f),
(X: 2, Y: 0, Result: 0.1275f), (X: 2, Y: 1, Result: 0.1323f), (X: 2, Y: 2, Result: 0.1370f), (X: 2, Y: 3, Result: 0.1416f), (X: 2, Y: 4, Result: 0.1460f), (X: 2, Y: 5, Result: 0.1504f), (X: 2, Y: 6, Result: 0.1546f), (X: 2, Y: 7, Result: 0.1588f), (X: 2, Y: 8, Result: 0.1628f), (X: 2, Y: 9, Result: 0.1668f),
(X: 3, Y: 0, Result: 0.1345f), (X: 3, Y: 1, Result: 0.1390f), (X: 3, Y: 2, Result: 0.1435f), (X: 3, Y: 3, Result: 0.1477f), (X: 3, Y: 4, Result: 0.1519f), (X: 3, Y: 5, Result: 0.1559f), (X: 3, Y: 6, Result: 0.1598f), (X: 3, Y: 7, Result: 0.1637f), (X: 3, Y: 8, Result: 0.1674f), (X: 3, Y: 9, Result: 0.1710f),
(X: 4, Y: 0, Result: 0.1423f), (X: 4, Y: 1, Result: 0.1466f), (X: 4, Y: 2, Result: 0.1507f), (X: 4, Y: 3, Result: 0.1547f), (X: 4, Y: 4, Result: 0.1586f), (X: 4, Y: 5, Result: 0.1623f), (X: 4, Y: 6, Result: 0.1659f), (X: 4, Y: 7, Result: 0.1694f), (X: 4, Y: 8, Result: 0.1728f), (X: 4, Y: 9, Result: 0.1761f),
(X: 5, Y: 0, Result: 0.1510f), (X: 5, Y: 1, Result: 0.1550f), (X: 5, Y: 2, Result: 0.1588f), (X: 5, Y: 3, Result: 0.1625f), (X: 5, Y: 4, Result: 0.1661f), (X: 5, Y: 5, Result: 0.1695f), (X: 5, Y: 6, Result: 0.1728f), (X: 5, Y: 7, Result: 0.1760f), (X: 5, Y: 8, Result: 0.1790f), (X: 5, Y: 9, Result: 0.1820f),
(X: 6, Y: 0, Result: 0.1604f), (X: 6, Y: 1, Result: 0.1641f), (X: 6, Y: 2, Result: 0.1677f), (X: 6, Y: 3, Result: 0.1711f), (X: 6, Y: 4, Result: 0.1743f), (X: 6, Y: 5, Result: 0.1774f), (X: 6, Y: 6, Result: 0.1804f), (X: 6, Y: 7, Result: 0.1833f), (X: 6, Y: 8, Result: 0.1860f), (X: 6, Y: 9, Result: 0.1887f),
(X: 7, Y: 0, Result: 0.1705f), (X: 7, Y: 1, Result: 0.1740f), (X: 7, Y: 2, Result: 0.1773f), (X: 7, Y: 3, Result: 0.1804f), (X: 7, Y: 4, Result: 0.1833f), (X: 7, Y: 5, Result: 0.1861f), (X: 7, Y: 6, Result: 0.1888f), (X: 7, Y: 7, Result: 0.1913f), (X: 7, Y: 8, Result: 0.1938f), (X: 7, Y: 9, Result: 0.1961f),
(X: 8, Y: 0, Result: 0.1813f), (X: 8, Y: 1, Result: 0.1845f), (X: 8, Y: 2, Result: 0.1875f), (X: 8, Y: 3, Result: 0.1904f), (X: 8, Y: 4, Result: 0.1930f), (X: 8, Y: 5, Result: 0.1955f), (X: 8, Y: 6, Result: 0.1979f), (X: 8, Y: 7, Result: 0.2001f), (X: 8, Y: 8, Result: 0.2022f), (X: 8, Y: 9, Result: 0.2042f),
(X: 9, Y: 0, Result: 0.1927f), (X: 9, Y: 1, Result: 0.1957f), (X: 9, Y: 2, Result: 0.1985f), (X: 9, Y: 3, Result: 0.2010f), (X: 9, Y: 4, Result: 0.2034f), (X: 9, Y: 5, Result: 0.2056f), (X: 9, Y: 6, Result: 0.2076f), (X: 9, Y: 7, Result: 0.2095f), (X: 9, Y: 8, Result: 0.2113f), (X: 9, Y: 9, Result: 0.2129f),
(X: 0, Y: 0, Result: 0.3416f), (X: 0, Y: 1, Result: 0.3346f), (X: 0, Y: 2, Result: 0.3272f), (X: 0, Y: 3, Result: 0.3196f), (X: 0, Y: 4, Result: 0.3117f), (X: 0, Y: 5, Result: 0.3035f), (X: 0, Y: 6, Result: 0.2951f), (X: 0, Y: 7, Result: 0.2864f), (X: 0, Y: 8, Result: 0.2775f), (X: 0, Y: 9, Result: 0.2684f),
(X: 1, Y: 0, Result: 0.3292f), (X: 1, Y: 1, Result: 0.3222f), (X: 1, Y: 2, Result: 0.3149f), (X: 1, Y: 3, Result: 0.3073f), (X: 1, Y: 4, Result: 0.2995f), (X: 1, Y: 5, Result: 0.2913f), (X: 1, Y: 6, Result: 0.2830f), (X: 1, Y: 7, Result: 0.2744f), (X: 1, Y: 8, Result: 0.2655f), (X: 1, Y: 9, Result: 0.2564f),
(X: 2, Y: 0, Result: 0.3172f), (X: 2, Y: 1, Result: 0.3103f), (X: 2, Y: 2, Result: 0.3030f), (X: 2, Y: 3, Result: 0.2955f), (X: 2, Y: 4, Result: 0.2877f), (X: 2, Y: 5, Result: 0.2796f), (X: 2, Y: 6, Result: 0.2713f), (X: 2, Y: 7, Result: 0.2627f), (X: 2, Y: 8, Result: 0.2539f), (X: 2, Y: 9, Result: 0.2449f),
(X: 3, Y: 0, Result: 0.3057f), (X: 3, Y: 1, Result: 0.2988f), (X: 3, Y: 2, Result: 0.2916f), (X: 3, Y: 3, Result: 0.2841f), (X: 3, Y: 4, Result: 0.2764f), (X: 3, Y: 5, Result: 0.2683f), (X: 3, Y: 6, Result: 0.2601f), (X: 3, Y: 7, Result: 0.2515f), (X: 3, Y: 8, Result: 0.2428f), (X: 3, Y: 9, Result: 0.2338f),
(X: 4, Y: 0, Result: 0.2947f), (X: 4, Y: 1, Result: 0.2878f), (X: 4, Y: 2, Result: 0.2807f), (X: 4, Y: 3, Result: 0.2732f), (X: 4, Y: 4, Result: 0.2655f), (X: 4, Y: 5, Result: 0.2575f), (X: 4, Y: 6, Result: 0.2492f), (X: 4, Y: 7, Result: 0.2408f), (X: 4, Y: 8, Result: 0.2321f), (X: 4, Y: 9, Result: 0.2232f),
(X: 5, Y: 0, Result: 0.2841f), (X: 5, Y: 1, Result: 0.2772f), (X: 5, Y: 2, Result: 0.2701f), (X: 5, Y: 3, Result: 0.2627f), (X: 5, Y: 4, Result: 0.2550f), (X: 5, Y: 5, Result: 0.2470f), (X: 5, Y: 6, Result: 0.2388f), (X: 5, Y: 7, Result: 0.2304f), (X: 5, Y: 8, Result: 0.2217f), (X: 5, Y: 9, Result: 0.2129f),
(X: 6, Y: 0, Result: 0.2738f), (X: 6, Y: 1, Result: 0.2670f), (X: 6, Y: 2, Result: 0.2599f), (X: 6, Y: 3, Result: 0.2525f), (X: 6, Y: 4, Result: 0.2449f), (X: 6, Y: 5, Result: 0.2370f), (X: 6, Y: 6, Result: 0.2288f), (X: 6, Y: 7, Result: 0.2204f), (X: 6, Y: 8, Result: 0.2118f), (X: 6, Y: 9, Result: 0.2030f),
(X: 7, Y: 0, Result: 0.2640f), (X: 7, Y: 1, Result: 0.2572f), (X: 7, Y: 2, Result: 0.2502f), (X: 7, Y: 3, Result: 0.2428f), (X: 7, Y: 4, Result: 0.2352f), (X: 7, Y: 5, Result: 0.2273f), (X: 7, Y: 6, Result: 0.2192f), (X: 7, Y: 7, Result: 0.2108f), (X: 7, Y: 8, Result: 0.2022f), (X: 7, Y: 9, Result: 0.1934f),
(X: 8, Y: 0, Result: 0.2546f), (X: 8, Y: 1, Result: 0.2478f), (X: 8, Y: 2, Result: 0.2408f), (X: 8, Y: 3, Result: 0.2334f), (X: 8, Y: 4, Result: 0.2258f), (X: 8, Y: 5, Result: 0.2180f), (X: 8, Y: 6, Result: 0.2099f), (X: 8, Y: 7, Result: 0.2015f), (X: 8, Y: 8, Result: 0.1930f), (X: 8, Y: 9, Result: 0.1843f),
(X: 9, Y: 0, Result: 0.2455f), (X: 9, Y: 1, Result: 0.2388f), (X: 9, Y: 2, Result: 0.2317f), (X: 9, Y: 3, Result: 0.2244f), (X: 9, Y: 4, Result: 0.2168f), (X: 9, Y: 5, Result: 0.2090f), (X: 9, Y: 6, Result: 0.2009f), (X: 9, Y: 7, Result: 0.1926f), (X: 9, Y: 8, Result: 0.1841f), (X: 9, Y: 9, Result: 0.1754f),
(X: 1123456, Y: -1123456, Result: 0.3548f), (X: 1123456, Y: -1123455, Result: 0.3397f), (X: 1123456, Y: -1123454, Result: 0.3245f), (X: 1123456, Y: -1123453, Result: 0.3090f), (X: 1123456, Y: -1123452, Result: 0.2934f), (X: 1123456, Y: -1123451, Result: 0.2776f), (X: 1123456, Y: -1123450, Result: 0.2617f), (X: 1123456, Y: -1123449, Result: 0.2457f), (X: 1123456, Y: -1123448, Result: 0.2297f), (X: 1123456, Y: -1123447, Result: 0.2135f),
(X: 1123457, Y: -1123456, Result: 0.3639f), (X: 1123457, Y: -1123455, Result: 0.3488f), (X: 1123457, Y: -1123454, Result: 0.3334f), (X: 1123457, Y: -1123453, Result: 0.3177f), (X: 1123457, Y: -1123452, Result: 0.3019f), (X: 1123457, Y: -1123451, Result: 0.2860f), (X: 1123457, Y: -1123450, Result: 0.2699f), (X: 1123457, Y: -1123449, Result: 0.2537f), (X: 1123457, Y: -1123448, Result: 0.2374f), (X: 1123457, Y: -1123447, Result: 0.2211f),
(X: 1123458, Y: -1123456, Result: 0.3728f), (X: 1123458, Y: -1123455, Result: 0.3574f), (X: 1123458, Y: -1123454, Result: 0.3419f), (X: 1123458, Y: -1123453, Result: 0.3261f), (X: 1123458, Y: -1123452, Result: 0.3101f), (X: 1123458, Y: -1123451, Result: 0.2940f), (X: 1123458, Y: -1123450, Result: 0.2777f), (X: 1123458, Y: -1123449, Result: 0.2613f), (X: 1123458, Y: -1123448, Result: 0.2448f), (X: 1123458, Y: -1123447, Result: 0.2283f),
(X: 1123459, Y: -1123456, Result: 0.3812f), (X: 1123459, Y: -1123455, Result: 0.3657f), (X: 1123459, Y: -1123454, Result: 0.3500f), (X: 1123459, Y: -1123453, Result: 0.3341f), (X: 1123459, Y: -1123452, Result: 0.3179f), (X: 1123459, Y: -1123451, Result: 0.3016f), (X: 1123459, Y: -1123450, Result: 0.2852f), (X: 1123459, Y: -1123449, Result: 0.2686f), (X: 1123459, Y: -1123448, Result: 0.2519f), (X: 1123459, Y: -1123447, Result: 0.2352f),
(X: 1123460, Y: -1123456, Result: 0.3891f), (X: 1123460, Y: -1123455, Result: 0.3735f), (X: 1123460, Y: -1123454, Result: 0.3577f), (X: 1123460, Y: -1123453, Result: 0.3416f), (X: 1123460, Y: -1123452, Result: 0.3253f), (X: 1123460, Y: -1123451, Result: 0.3089f), (X: 1123460, Y: -1123450, Result: 0.2923f), (X: 1123460, Y: -1123449, Result: 0.2755f), (X: 1123460, Y: -1123448, Result: 0.2587f), (X: 1123460, Y: -1123447, Result: 0.2418f),
(X: 1123461, Y: -1123456, Result: 0.3966f), (X: 1123461, Y: -1123455, Result: 0.3809f), (X: 1123461, Y: -1123454, Result: 0.3650f), (X: 1123461, Y: -1123453, Result: 0.3487f), (X: 1123461, Y: -1123452, Result: 0.3323f), (X: 1123461, Y: -1123451, Result: 0.3157f), (X: 1123461, Y: -1123450, Result: 0.2989f), (X: 1123461, Y: -1123449, Result: 0.2820f), (X: 1123461, Y: -1123448, Result: 0.2650f), (X: 1123461, Y: -1123447, Result: 0.2480f),
(X: 1123462, Y: -1123456, Result: 0.4036f), (X: 1123462, Y: -1123455, Result: 0.3878f), (X: 1123462, Y: -1123454, Result: 0.3717f), (X: 1123462, Y: -1123453, Result: 0.3554f), (X: 1123462, Y: -1123452, Result: 0.3388f), (X: 1123462, Y: -1123451, Result: 0.3221f), (X: 1123462, Y: -1123450, Result: 0.3052f), (X: 1123462, Y: -1123449, Result: 0.2881f), (X: 1123462, Y: -1123448, Result: 0.2710f), (X: 1123462, Y: -1123447, Result: 0.2537f),
(X: 1123463, Y: -1123456, Result: 0.4101f), (X: 1123463, Y: -1123455, Result: 0.3942f), (X: 1123463, Y: -1123454, Result: 0.3780f), (X: 1123463, Y: -1123453, Result: 0.3615f), (X: 1123463, Y: -1123452, Result: 0.3448f), (X: 1123463, Y: -1123451, Result: 0.3280f), (X: 1123463, Y: -1123450, Result: 0.3109f), (X: 1123463, Y: -1123449, Result: 0.2937f), (X: 1123463, Y: -1123448, Result: 0.2764f), (X: 1123463, Y: -1123447, Result: 0.2590f),
(X: 1123464, Y: -1123456, Result: 0.4160f), (X: 1123464, Y: -1123455, Result: 0.4000f), (X: 1123464, Y: -1123454, Result: 0.3837f), (X: 1123464, Y: -1123453, Result: 0.3671f), (X: 1123464, Y: -1123452, Result: 0.3503f), (X: 1123464, Y: -1123451, Result: 0.3333f), (X: 1123464, Y: -1123450, Result: 0.3162f), (X: 1123464, Y: -1123449, Result: 0.2988f), (X: 1123464, Y: -1123448, Result: 0.2814f), (X: 1123464, Y: -1123447, Result: 0.2639f),
(X: 1123465, Y: -1123456, Result: 0.4213f), (X: 1123465, Y: -1123455, Result: 0.4052f), (X: 1123465, Y: -1123454, Result: 0.3888f), (X: 1123465, Y: -1123453, Result: 0.3722f), (X: 1123465, Y: -1123452, Result: 0.3553f), (X: 1123465, Y: -1123451, Result: 0.3382f), (X: 1123465, Y: -1123450, Result: 0.3209f), (X: 1123465, Y: -1123449, Result: 0.3034f), (X: 1123465, Y: -1123448, Result: 0.2859f), (X: 1123465, Y: -1123447, Result: 0.2682f),
};
(X: 1123456, Y: -1123456, Result: 0.7784f), (X: 1123456, Y: -1123455, Result: 0.7834f), (X: 1123456, Y: -1123454, Result: 0.7880f), (X: 1123456, Y: -1123453, Result: 0.7921f), (X: 1123456, Y: -1123452, Result: 0.7958f), (X: 1123456, Y: -1123451, Result: 0.7991f), (X: 1123456, Y: -1123450, Result: 0.8019f), (X: 1123456, Y: -1123449, Result: 0.8043f), (X: 1123456, Y: -1123448, Result: 0.8062f), (X: 1123456, Y: -1123447, Result: 0.8077f),
(X: 1123457, Y: -1123456, Result: 0.7796f), (X: 1123457, Y: -1123455, Result: 0.7848f), (X: 1123457, Y: -1123454, Result: 0.7897f), (X: 1123457, Y: -1123453, Result: 0.7941f), (X: 1123457, Y: -1123452, Result: 0.7980f), (X: 1123457, Y: -1123451, Result: 0.8016f), (X: 1123457, Y: -1123450, Result: 0.8047f), (X: 1123457, Y: -1123449, Result: 0.8073f), (X: 1123457, Y: -1123448, Result: 0.8095f), (X: 1123457, Y: -1123447, Result: 0.8112f),
(X: 1123458, Y: -1123456, Result: 0.7806f), (X: 1123458, Y: -1123455, Result: 0.7861f), (X: 1123458, Y: -1123454, Result: 0.7911f), (X: 1123458, Y: -1123453, Result: 0.7958f), (X: 1123458, Y: -1123452, Result: 0.8000f), (X: 1123458, Y: -1123451, Result: 0.8038f), (X: 1123458, Y: -1123450, Result: 0.8071f), (X: 1123458, Y: -1123449, Result: 0.8100f), (X: 1123458, Y: -1123448, Result: 0.8125f), (X: 1123458, Y: -1123447, Result: 0.8145f),
(X: 1123459, Y: -1123456, Result: 0.7814f), (X: 1123459, Y: -1123455, Result: 0.7871f), (X: 1123459, Y: -1123454, Result: 0.7924f), (X: 1123459, Y: -1123453, Result: 0.7973f), (X: 1123459, Y: -1123452, Result: 0.8017f), (X: 1123459, Y: -1123451, Result: 0.8057f), (X: 1123459, Y: -1123450, Result: 0.8093f), (X: 1123459, Y: -1123449, Result: 0.8124f), (X: 1123459, Y: -1123448, Result: 0.8151f), (X: 1123459, Y: -1123447, Result: 0.8173f),
(X: 1123460, Y: -1123456, Result: 0.7821f), (X: 1123460, Y: -1123455, Result: 0.7880f), (X: 1123460, Y: -1123454, Result: 0.7935f), (X: 1123460, Y: -1123453, Result: 0.7986f), (X: 1123460, Y: -1123452, Result: 0.8032f), (X: 1123460, Y: -1123451, Result: 0.8074f), (X: 1123460, Y: -1123450, Result: 0.8111f), (X: 1123460, Y: -1123449, Result: 0.8145f), (X: 1123460, Y: -1123448, Result: 0.8173f), (X: 1123460, Y: -1123447, Result: 0.8198f),
(X: 1123461, Y: -1123456, Result: 0.7826f), (X: 1123461, Y: -1123455, Result: 0.7887f), (X: 1123461, Y: -1123454, Result: 0.7943f), (X: 1123461, Y: -1123453, Result: 0.7996f), (X: 1123461, Y: -1123452, Result: 0.8044f), (X: 1123461, Y: -1123451, Result: 0.8088f), (X: 1123461, Y: -1123450, Result: 0.8127f), (X: 1123461, Y: -1123449, Result: 0.8162f), (X: 1123461, Y: -1123448, Result: 0.8192f), (X: 1123461, Y: -1123447, Result: 0.8218f),
(X: 1123462, Y: -1123456, Result: 0.7829f), (X: 1123462, Y: -1123455, Result: 0.7891f), (X: 1123462, Y: -1123454, Result: 0.7949f), (X: 1123462, Y: -1123453, Result: 0.8003f), (X: 1123462, Y: -1123452, Result: 0.8053f), (X: 1123462, Y: -1123451, Result: 0.8098f), (X: 1123462, Y: -1123450, Result: 0.8139f), (X: 1123462, Y: -1123449, Result: 0.8176f), (X: 1123462, Y: -1123448, Result: 0.8208f), (X: 1123462, Y: -1123447, Result: 0.8235f),
(X: 1123463, Y: -1123456, Result: 0.7830f), (X: 1123463, Y: -1123455, Result: 0.7894f), (X: 1123463, Y: -1123454, Result: 0.7953f), (X: 1123463, Y: -1123453, Result: 0.8009f), (X: 1123463, Y: -1123452, Result: 0.8059f), (X: 1123463, Y: -1123451, Result: 0.8106f), (X: 1123463, Y: -1123450, Result: 0.8148f), (X: 1123463, Y: -1123449, Result: 0.8186f), (X: 1123463, Y: -1123448, Result: 0.8219f), (X: 1123463, Y: -1123447, Result: 0.8248f),
(X: 1123464, Y: -1123456, Result: 0.7830f), (X: 1123464, Y: -1123455, Result: 0.7895f), (X: 1123464, Y: -1123454, Result: 0.7955f), (X: 1123464, Y: -1123453, Result: 0.8011f), (X: 1123464, Y: -1123452, Result: 0.8063f), (X: 1123464, Y: -1123451, Result: 0.8110f), (X: 1123464, Y: -1123450, Result: 0.8153f), (X: 1123464, Y: -1123449, Result: 0.8192f), (X: 1123464, Y: -1123448, Result: 0.8226f), (X: 1123464, Y: -1123447, Result: 0.8256f),
(X: 1123465, Y: -1123456, Result: 0.7828f), (X: 1123465, Y: -1123455, Result: 0.7893f), (X: 1123465, Y: -1123454, Result: 0.7954f), (X: 1123465, Y: -1123453, Result: 0.8011f), (X: 1123465, Y: -1123452, Result: 0.8064f), (X: 1123465, Y: -1123451, Result: 0.8112f), (X: 1123465, Y: -1123450, Result: 0.8155f), (X: 1123465, Y: -1123449, Result: 0.8195f), (X: 1123465, Y: -1123448, Result: 0.8230f), (X: 1123465, Y: -1123447, Result: 0.8260f), };
// Generated by means of https://github.com/jobtalle/CubicNoise/blob/master/c%23/CubicNoise.cs
var expectedValuesO45 = new List<(int X, int Y, float Result)>
{
(X: 0, Y: 0, Result: 0.1161f), (X: 0, Y: 1, Result: 0.1230f), (X: 0, Y: 2, Result: 0.1296f), (X: 0, Y: 3, Result: 0.1361f), (X: 0, Y: 4, Result: 0.1424f), (X: 0, Y: 5, Result: 0.1485f), (X: 0, Y: 6, Result: 0.1545f), (X: 0, Y: 7, Result: 0.1604f), (X: 0, Y: 8, Result: 0.1662f), (X: 0, Y: 9, Result: 0.1719f),
(X: 1, Y: 0, Result: 0.1229f), (X: 1, Y: 1, Result: 0.1293f), (X: 1, Y: 2, Result: 0.1354f), (X: 1, Y: 3, Result: 0.1414f), (X: 1, Y: 4, Result: 0.1472f), (X: 1, Y: 5, Result: 0.1528f), (X: 1, Y: 6, Result: 0.1583f), (X: 1, Y: 7, Result: 0.1637f), (X: 1, Y: 8, Result: 0.1690f), (X: 1, Y: 9, Result: 0.1741f),
(X: 2, Y: 0, Result: 0.1311f), (X: 2, Y: 1, Result: 0.1370f), (X: 2, Y: 2, Result: 0.1427f), (X: 2, Y: 3, Result: 0.1482f), (X: 2, Y: 4, Result: 0.1535f), (X: 2, Y: 5, Result: 0.1586f), (X: 2, Y: 6, Result: 0.1636f), (X: 2, Y: 7, Result: 0.1685f), (X: 2, Y: 8, Result: 0.1732f), (X: 2, Y: 9, Result: 0.1778f),
(X: 3, Y: 0, Result: 0.1407f), (X: 3, Y: 1, Result: 0.1462f), (X: 3, Y: 2, Result: 0.1514f), (X: 3, Y: 3, Result: 0.1564f), (X: 3, Y: 4, Result: 0.1612f), (X: 3, Y: 5, Result: 0.1658f), (X: 3, Y: 6, Result: 0.1703f), (X: 3, Y: 7, Result: 0.1746f), (X: 3, Y: 8, Result: 0.1788f), (X: 3, Y: 9, Result: 0.1828f),
(X: 4, Y: 0, Result: 0.1516f), (X: 4, Y: 1, Result: 0.1566f), (X: 4, Y: 2, Result: 0.1614f), (X: 4, Y: 3, Result: 0.1659f), (X: 4, Y: 4, Result: 0.1702f), (X: 4, Y: 5, Result: 0.1743f), (X: 4, Y: 6, Result: 0.1783f), (X: 4, Y: 7, Result: 0.1820f), (X: 4, Y: 8, Result: 0.1857f), (X: 4, Y: 9, Result: 0.1892f),
(X: 5, Y: 0, Result: 0.1637f), (X: 5, Y: 1, Result: 0.1683f), (X: 5, Y: 2, Result: 0.1726f), (X: 5, Y: 3, Result: 0.1766f), (X: 5, Y: 4, Result: 0.1805f), (X: 5, Y: 5, Result: 0.1841f), (X: 5, Y: 6, Result: 0.1875f), (X: 5, Y: 7, Result: 0.1907f), (X: 5, Y: 8, Result: 0.1938f), (X: 5, Y: 9, Result: 0.1968f),
(X: 6, Y: 0, Result: 0.1769f), (X: 6, Y: 1, Result: 0.1811f), (X: 6, Y: 2, Result: 0.1849f), (X: 6, Y: 3, Result: 0.1885f), (X: 6, Y: 4, Result: 0.1919f), (X: 6, Y: 5, Result: 0.1950f), (X: 6, Y: 6, Result: 0.1979f), (X: 6, Y: 7, Result: 0.2006f), (X: 6, Y: 8, Result: 0.2031f), (X: 6, Y: 9, Result: 0.2055f),
(X: 7, Y: 0, Result: 0.1912f), (X: 7, Y: 1, Result: 0.1949f), (X: 7, Y: 2, Result: 0.1984f), (X: 7, Y: 3, Result: 0.2015f), (X: 7, Y: 4, Result: 0.2044f), (X: 7, Y: 5, Result: 0.2070f), (X: 7, Y: 6, Result: 0.2093f), (X: 7, Y: 7, Result: 0.2115f), (X: 7, Y: 8, Result: 0.2135f), (X: 7, Y: 9, Result: 0.2153f),
(X: 8, Y: 0, Result: 0.2064f), (X: 8, Y: 1, Result: 0.2098f), (X: 8, Y: 2, Result: 0.2128f), (X: 8, Y: 3, Result: 0.2155f), (X: 8, Y: 4, Result: 0.2178f), (X: 8, Y: 5, Result: 0.2199f), (X: 8, Y: 6, Result: 0.2218f), (X: 8, Y: 7, Result: 0.2234f), (X: 8, Y: 8, Result: 0.2249f), (X: 8, Y: 9, Result: 0.2261f),
(X: 9, Y: 0, Result: 0.2226f), (X: 9, Y: 1, Result: 0.2256f), (X: 9, Y: 2, Result: 0.2281f), (X: 9, Y: 3, Result: 0.2304f), (X: 9, Y: 4, Result: 0.2323f), (X: 9, Y: 5, Result: 0.2339f), (X: 9, Y: 6, Result: 0.2352f), (X: 9, Y: 7, Result: 0.2363f), (X: 9, Y: 8, Result: 0.2372f), (X: 9, Y: 9, Result: 0.2378f),
(X: 0, Y: 0, Result: 0.3416f), (X: 0, Y: 1, Result: 0.3326f), (X: 0, Y: 2, Result: 0.3232f), (X: 0, Y: 3, Result: 0.3133f), (X: 0, Y: 4, Result: 0.3030f), (X: 0, Y: 5, Result: 0.2922f), (X: 0, Y: 6, Result: 0.2811f), (X: 0, Y: 7, Result: 0.2696f), (X: 0, Y: 8, Result: 0.2578f), (X: 0, Y: 9, Result: 0.2457f),
(X: 1, Y: 0, Result: 0.3259f), (X: 1, Y: 1, Result: 0.3171f), (X: 1, Y: 2, Result: 0.3077f), (X: 1, Y: 3, Result: 0.2979f), (X: 1, Y: 4, Result: 0.2876f), (X: 1, Y: 5, Result: 0.2770f), (X: 1, Y: 6, Result: 0.2659f), (X: 1, Y: 7, Result: 0.2546f), (X: 1, Y: 8, Result: 0.2428f), (X: 1, Y: 9, Result: 0.2309f),
(X: 2, Y: 0, Result: 0.3110f), (X: 2, Y: 1, Result: 0.3022f), (X: 2, Y: 2, Result: 0.2929f), (X: 2, Y: 3, Result: 0.2832f), (X: 2, Y: 4, Result: 0.2730f), (X: 2, Y: 5, Result: 0.2624f), (X: 2, Y: 6, Result: 0.2515f), (X: 2, Y: 7, Result: 0.2402f), (X: 2, Y: 8, Result: 0.2286f), (X: 2, Y: 9, Result: 0.2167f),
(X: 3, Y: 0, Result: 0.2969f), (X: 3, Y: 1, Result: 0.2881f), (X: 3, Y: 2, Result: 0.2789f), (X: 3, Y: 3, Result: 0.2692f), (X: 3, Y: 4, Result: 0.2591f), (X: 3, Y: 5, Result: 0.2486f), (X: 3, Y: 6, Result: 0.2377f), (X: 3, Y: 7, Result: 0.2265f), (X: 3, Y: 8, Result: 0.2149f), (X: 3, Y: 9, Result: 0.2031f),
(X: 4, Y: 0, Result: 0.2834f), (X: 4, Y: 1, Result: 0.2747f), (X: 4, Y: 2, Result: 0.2655f), (X: 4, Y: 3, Result: 0.2558f), (X: 4, Y: 4, Result: 0.2458f), (X: 4, Y: 5, Result: 0.2354f), (X: 4, Y: 6, Result: 0.2245f), (X: 4, Y: 7, Result: 0.2134f), (X: 4, Y: 8, Result: 0.2019f), (X: 4, Y: 9, Result: 0.1902f),
(X: 5, Y: 0, Result: 0.2705f), (X: 5, Y: 1, Result: 0.2619f), (X: 5, Y: 2, Result: 0.2527f), (X: 5, Y: 3, Result: 0.2432f), (X: 5, Y: 4, Result: 0.2332f), (X: 5, Y: 5, Result: 0.2228f), (X: 5, Y: 6, Result: 0.2120f), (X: 5, Y: 7, Result: 0.2009f), (X: 5, Y: 8, Result: 0.1896f), (X: 5, Y: 9, Result: 0.1779f),
(X: 6, Y: 0, Result: 0.2583f), (X: 6, Y: 1, Result: 0.2497f), (X: 6, Y: 2, Result: 0.2406f), (X: 6, Y: 3, Result: 0.2311f), (X: 6, Y: 4, Result: 0.2211f), (X: 6, Y: 5, Result: 0.2108f), (X: 6, Y: 6, Result: 0.2001f), (X: 6, Y: 7, Result: 0.1891f), (X: 6, Y: 8, Result: 0.1778f), (X: 6, Y: 9, Result: 0.1662f),
(X: 7, Y: 0, Result: 0.2467f), (X: 7, Y: 1, Result: 0.2381f), (X: 7, Y: 2, Result: 0.2291f), (X: 7, Y: 3, Result: 0.2196f), (X: 7, Y: 4, Result: 0.2097f), (X: 7, Y: 5, Result: 0.1994f), (X: 7, Y: 6, Result: 0.1887f), (X: 7, Y: 7, Result: 0.1778f), (X: 7, Y: 8, Result: 0.1665f), (X: 7, Y: 9, Result: 0.1550f),
(X: 8, Y: 0, Result: 0.2357f), (X: 8, Y: 1, Result: 0.2271f), (X: 8, Y: 2, Result: 0.2181f), (X: 8, Y: 3, Result: 0.2086f), (X: 8, Y: 4, Result: 0.1987f), (X: 8, Y: 5, Result: 0.1885f), (X: 8, Y: 6, Result: 0.1779f), (X: 8, Y: 7, Result: 0.1670f), (X: 8, Y: 8, Result: 0.1558f), (X: 8, Y: 9, Result: 0.1444f),
(X: 9, Y: 0, Result: 0.2251f), (X: 9, Y: 1, Result: 0.2166f), (X: 9, Y: 2, Result: 0.2076f), (X: 9, Y: 3, Result: 0.1982f), (X: 9, Y: 4, Result: 0.1883f), (X: 9, Y: 5, Result: 0.1781f), (X: 9, Y: 6, Result: 0.1676f), (X: 9, Y: 7, Result: 0.1567f), (X: 9, Y: 8, Result: 0.1456f), (X: 9, Y: 9, Result: 0.1342f),
(X: 1123456, Y: -1123456, Result: 0.4196f), (X: 1123456, Y: -1123455, Result: 0.4052f), (X: 1123456, Y: -1123454, Result: 0.3917f), (X: 1123456, Y: -1123453, Result: 0.3779f), (X: 1123456, Y: -1123452, Result: 0.3627f), (X: 1123456, Y: -1123451, Result: 0.3485f), (X: 1123456, Y: -1123450, Result: 0.3328f), (X: 1123456, Y: -1123449, Result: 0.3184f), (X: 1123456, Y: -1123448, Result: 0.3039f), (X: 1123456, Y: -1123447, Result: 0.2881f),
(X: 1123457, Y: -1123456, Result: 0.4258f), (X: 1123457, Y: -1123455, Result: 0.4118f), (X: 1123457, Y: -1123454, Result: 0.3986f), (X: 1123457, Y: -1123453, Result: 0.3852f), (X: 1123457, Y: -1123452, Result: 0.3702f), (X: 1123457, Y: -1123451, Result: 0.3563f), (X: 1123457, Y: -1123450, Result: 0.3410f), (X: 1123457, Y: -1123449, Result: 0.3268f), (X: 1123457, Y: -1123448, Result: 0.3125f), (X: 1123457, Y: -1123447, Result: 0.2970f),
(X: 1123458, Y: -1123456, Result: 0.4318f), (X: 1123458, Y: -1123455, Result: 0.4182f), (X: 1123458, Y: -1123454, Result: 0.4053f), (X: 1123458, Y: -1123453, Result: 0.3922f), (X: 1123458, Y: -1123452, Result: 0.3776f), (X: 1123458, Y: -1123451, Result: 0.3640f), (X: 1123458, Y: -1123450, Result: 0.3489f), (X: 1123458, Y: -1123449, Result: 0.3350f), (X: 1123458, Y: -1123448, Result: 0.3211f), (X: 1123458, Y: -1123447, Result: 0.3058f),
(X: 1123459, Y: -1123456, Result: 0.4380f), (X: 1123459, Y: -1123455, Result: 0.4248f), (X: 1123459, Y: -1123454, Result: 0.4124f), (X: 1123459, Y: -1123453, Result: 0.3996f), (X: 1123459, Y: -1123452, Result: 0.3854f), (X: 1123459, Y: -1123451, Result: 0.3721f), (X: 1123459, Y: -1123450, Result: 0.3575f), (X: 1123459, Y: -1123449, Result: 0.3439f), (X: 1123459, Y: -1123448, Result: 0.3302f), (X: 1123459, Y: -1123447, Result: 0.3152f),
(X: 1123460, Y: -1123456, Result: 0.4433f), (X: 1123460, Y: -1123455, Result: 0.4306f), (X: 1123460, Y: -1123454, Result: 0.4185f), (X: 1123460, Y: -1123453, Result: 0.4061f), (X: 1123460, Y: -1123452, Result: 0.3923f), (X: 1123460, Y: -1123451, Result: 0.3794f), (X: 1123460, Y: -1123450, Result: 0.3651f), (X: 1123460, Y: -1123449, Result: 0.3518f), (X: 1123460, Y: -1123448, Result: 0.3385f), (X: 1123460, Y: -1123447, Result: 0.3238f),
(X: 1123461, Y: -1123456, Result: 0.4487f), (X: 1123461, Y: -1123455, Result: 0.4364f), (X: 1123461, Y: -1123454, Result: 0.4248f), (X: 1123461, Y: -1123453, Result: 0.4129f), (X: 1123461, Y: -1123452, Result: 0.3995f), (X: 1123461, Y: -1123451, Result: 0.3870f), (X: 1123461, Y: -1123450, Result: 0.3731f), (X: 1123461, Y: -1123449, Result: 0.3602f), (X: 1123461, Y: -1123448, Result: 0.3472f), (X: 1123461, Y: -1123447, Result: 0.3330f),
(X: 1123462, Y: -1123456, Result: 0.4532f), (X: 1123462, Y: -1123455, Result: 0.4414f), (X: 1123462, Y: -1123454, Result: 0.4302f), (X: 1123462, Y: -1123453, Result: 0.4187f), (X: 1123462, Y: -1123452, Result: 0.4058f), (X: 1123462, Y: -1123451, Result: 0.3937f), (X: 1123462, Y: -1123450, Result: 0.3802f), (X: 1123462, Y: -1123449, Result: 0.3677f), (X: 1123462, Y: -1123448, Result: 0.3551f), (X: 1123462, Y: -1123447, Result: 0.3412f),
(X: 1123463, Y: -1123456, Result: 0.4573f), (X: 1123463, Y: -1123455, Result: 0.4460f), (X: 1123463, Y: -1123454, Result: 0.4353f), (X: 1123463, Y: -1123453, Result: 0.4242f), (X: 1123463, Y: -1123452, Result: 0.4117f), (X: 1123463, Y: -1123451, Result: 0.4000f), (X: 1123463, Y: -1123450, Result: 0.3870f), (X: 1123463, Y: -1123449, Result: 0.3749f), (X: 1123463, Y: -1123448, Result: 0.3627f), (X: 1123463, Y: -1123447, Result: 0.3492f),
(X: 1123464, Y: -1123456, Result: 0.4612f), (X: 1123464, Y: -1123455, Result: 0.4505f), (X: 1123464, Y: -1123454, Result: 0.4403f), (X: 1123464, Y: -1123453, Result: 0.4297f), (X: 1123464, Y: -1123452, Result: 0.4178f), (X: 1123464, Y: -1123451, Result: 0.4066f), (X: 1123464, Y: -1123450, Result: 0.3941f), (X: 1123464, Y: -1123449, Result: 0.3824f), (X: 1123464, Y: -1123448, Result: 0.3706f), (X: 1123464, Y: -1123447, Result: 0.3576f),
(X: 1123465, Y: -1123456, Result: 0.4642f), (X: 1123465, Y: -1123455, Result: 0.4541f), (X: 1123465, Y: -1123454, Result: 0.4444f), (X: 1123465, Y: -1123453, Result: 0.4343f), (X: 1123465, Y: -1123452, Result: 0.4229f), (X: 1123465, Y: -1123451, Result: 0.4122f), (X: 1123465, Y: -1123450, Result: 0.4002f), (X: 1123465, Y: -1123449, Result: 0.3890f), (X: 1123465, Y: -1123448, Result: 0.3776f), (X: 1123465, Y: -1123447, Result: 0.3650f),
(X: 1123456, Y: -1123456, Result: 0.0018f), (X: 1123456, Y: -1123455, Result: 0.0195f), (X: 1123456, Y: -1123454, Result: 0.0359f), (X: 1123456, Y: -1123453, Result: 0.0525f), (X: 1123456, Y: -1123452, Result: 0.0707f), (X: 1123456, Y: -1123451, Result: 0.0875f), (X: 1123456, Y: -1123450, Result: 0.1058f), (X: 1123456, Y: -1123449, Result: 0.1226f), (X: 1123456, Y: -1123448, Result: 0.1392f), (X: 1123456, Y: -1123447, Result: 0.1573f),
(X: 1123457, Y: -1123456, Result: 0.0069f), (X: 1123457, Y: -1123455, Result: 0.0252f), (X: 1123457, Y: -1123454, Result: 0.0422f), (X: 1123457, Y: -1123453, Result: 0.0593f), (X: 1123457, Y: -1123452, Result: 0.0781f), (X: 1123457, Y: -1123451, Result: 0.0953f), (X: 1123457, Y: -1123450, Result: 0.1142f), (X: 1123457, Y: -1123449, Result: 0.1314f), (X: 1123457, Y: -1123448, Result: 0.1486f), (X: 1123457, Y: -1123447, Result: 0.1671f),
(X: 1123458, Y: -1123456, Result: 0.0120f), (X: 1123458, Y: -1123455, Result: 0.0309f), (X: 1123458, Y: -1123454, Result: 0.0484f), (X: 1123458, Y: -1123453, Result: 0.0661f), (X: 1123458, Y: -1123452, Result: 0.0854f), (X: 1123458, Y: -1123451, Result: 0.1032f), (X: 1123458, Y: -1123450, Result: 0.1225f), (X: 1123458, Y: -1123449, Result: 0.1402f), (X: 1123458, Y: -1123448, Result: 0.1578f), (X: 1123458, Y: -1123447, Result: 0.1769f),
(X: 1123459, Y: -1123456, Result: 0.0178f), (X: 1123459, Y: -1123455, Result: 0.0373f), (X: 1123459, Y: -1123454, Result: 0.0554f), (X: 1123459, Y: -1123453, Result: 0.0735f), (X: 1123459, Y: -1123452, Result: 0.0935f), (X: 1123459, Y: -1123451, Result: 0.1117f), (X: 1123459, Y: -1123450, Result: 0.1317f), (X: 1123459, Y: -1123449, Result: 0.1498f), (X: 1123459, Y: -1123448, Result: 0.1679f), (X: 1123459, Y: -1123447, Result: 0.1875f),
(X: 1123460, Y: -1123456, Result: 0.0232f), (X: 1123460, Y: -1123455, Result: 0.0432f), (X: 1123460, Y: -1123454, Result: 0.0618f), (X: 1123460, Y: -1123453, Result: 0.0804f), (X: 1123460, Y: -1123452, Result: 0.1009f), (X: 1123460, Y: -1123451, Result: 0.1196f), (X: 1123460, Y: -1123450, Result: 0.1400f), (X: 1123460, Y: -1123449, Result: 0.1586f), (X: 1123460, Y: -1123448, Result: 0.1771f), (X: 1123460, Y: -1123447, Result: 0.1971f),
(X: 1123461, Y: -1123456, Result: 0.0292f), (X: 1123461, Y: -1123455, Result: 0.0498f), (X: 1123461, Y: -1123454, Result: 0.0689f), (X: 1123461, Y: -1123453, Result: 0.0880f), (X: 1123461, Y: -1123452, Result: 0.1090f), (X: 1123461, Y: -1123451, Result: 0.1282f), (X: 1123461, Y: -1123450, Result: 0.1491f), (X: 1123461, Y: -1123449, Result: 0.1682f), (X: 1123461, Y: -1123448, Result: 0.1871f), (X: 1123461, Y: -1123447, Result: 0.2076f),
(X: 1123462, Y: -1123456, Result: 0.0348f), (X: 1123462, Y: -1123455, Result: 0.0560f), (X: 1123462, Y: -1123454, Result: 0.0755f), (X: 1123462, Y: -1123453, Result: 0.0951f), (X: 1123462, Y: -1123452, Result: 0.1165f), (X: 1123462, Y: -1123451, Result: 0.1361f), (X: 1123462, Y: -1123450, Result: 0.1575f), (X: 1123462, Y: -1123449, Result: 0.1770f), (X: 1123462, Y: -1123448, Result: 0.1963f), (X: 1123462, Y: -1123447, Result: 0.2172f),
(X: 1123463, Y: -1123456, Result: 0.0406f), (X: 1123463, Y: -1123455, Result: 0.0622f), (X: 1123463, Y: -1123454, Result: 0.0822f), (X: 1123463, Y: -1123453, Result: 0.1022f), (X: 1123463, Y: -1123452, Result: 0.1241f), (X: 1123463, Y: -1123451, Result: 0.1441f), (X: 1123463, Y: -1123450, Result: 0.1659f), (X: 1123463, Y: -1123449, Result: 0.1857f), (X: 1123463, Y: -1123448, Result: 0.2055f), (X: 1123463, Y: -1123447, Result: 0.2267f),
(X: 1123464, Y: -1123456, Result: 0.0472f), (X: 1123464, Y: -1123455, Result: 0.0693f), (X: 1123464, Y: -1123454, Result: 0.0896f), (X: 1123464, Y: -1123453, Result: 0.1101f), (X: 1123464, Y: -1123452, Result: 0.1324f), (X: 1123464, Y: -1123451, Result: 0.1529f), (X: 1123464, Y: -1123450, Result: 0.1751f), (X: 1123464, Y: -1123449, Result: 0.1953f), (X: 1123464, Y: -1123448, Result: 0.2154f), (X: 1123464, Y: -1123447, Result: 0.2371f),
(X: 1123465, Y: -1123456, Result: 0.0533f), (X: 1123465, Y: -1123455, Result: 0.0759f), (X: 1123465, Y: -1123454, Result: 0.0966f), (X: 1123465, Y: -1123453, Result: 0.1174f), (X: 1123465, Y: -1123452, Result: 0.1401f), (X: 1123465, Y: -1123451, Result: 0.1609f), (X: 1123465, Y: -1123450, Result: 0.1835f), (X: 1123465, Y: -1123449, Result: 0.2041f), (X: 1123465, Y: -1123448, Result: 0.2246f), (X: 1123465, Y: -1123447, Result: 0.2466f),
};
foreach (var (x, y, result) in expectedValuesO45)
{
var output = engineO45PX16PY99.Get(x, y);
Assert.That(output, Is.EqualTo(result).Within(0.00001f), $"The result {result} was expected (accepting a tolerance +/- 0.00001) for the input X={x}, Y={y}, but was {output}. Octave=45, px=16, py=99");
Assert.That(output, Is.EqualTo(result).Within(0.00005f), $"The result {result} was expected (accepting a tolerance +/- 0.00001) for the input X={x}, Y={y}, but was {output}. Octave=45, px=16, py=99");
}
foreach (var (x, y, result) in expectedValuesO57)
{
var output = engineO57PX12PY16.Get(x, y);
Assert.That(output, Is.EqualTo(result).Within(0.00001f), $"The result {result} was expected (accepting a tolerance +/- 0.00001) for the input X={x}, Y={y}, but was {output}. Octave=57, px=12, py=16");
Assert.That(output, Is.EqualTo(result).Within(0.00005f), $"The result {result} was expected (accepting a tolerance +/- 0.00001) for the input X={x}, Y={y}, but was {output}. Octave=57, px=12, py=16");
}
}
}