Created
January 18, 2023 13:36
-
-
Save myxyy/cba25bab7ef55c820a9f9ea5ffd15904 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Shader "Unlit/DisplayMHE" | |
{ | |
Properties | |
{ | |
_MainTex ("Texture", 2D) = "white" {} | |
_ClipTh ("Clip Threshold", Range(0,1)) = 0.5 | |
} | |
SubShader | |
{ | |
Tags { "RenderType"="Opaque" } | |
LOD 100 | |
Pass | |
{ | |
CGPROGRAM | |
#pragma vertex vert | |
#pragma fragment frag | |
// make fog work | |
#pragma multi_compile_fog | |
#include "UnityCG.cginc" | |
struct appdata | |
{ | |
float4 vertex : POSITION; | |
float2 uv : TEXCOORD0; | |
}; | |
struct v2f | |
{ | |
float2 uv : TEXCOORD0; | |
UNITY_FOG_COORDS(1) | |
float3 opos : TEXCOORD2; | |
float4 vertex : SV_POSITION; | |
}; | |
struct float8 | |
{ | |
float4 u; | |
float4 l; | |
}; | |
float8 float8c(float4 u, float4 l) | |
{ | |
float8 o; | |
o.u = u; | |
o.l = l; | |
return o; | |
} | |
float8 float8c(float x1, float x2, float x3, float x4, float x5, float x6, float x7, float x8) | |
{ | |
return float8c(float4(x1, x2, x3, x4),float4(x5, x6, x7, x8)); | |
} | |
float8 add(float8 x, float8 y) | |
{ | |
return float8c(x.u+y.u, x.l+y.l); | |
} | |
struct float8x8 | |
{ | |
float4x4 ul; | |
float4x4 ur; | |
float4x4 ll; | |
float4x4 lr; | |
}; | |
float8x8 float8x8c(float4x4 ul,float4x4 ur,float4x4 ll,float4x4 lr) | |
{ | |
float8x8 o; | |
o.ul = ul; | |
o.ur = ur; | |
o.ll = ll; | |
o.lr = lr; | |
return o; | |
} | |
float8x8 float8x8c( | |
float m11, float m12, float m13, float m14, float m15, float m16, float m17, float m18, | |
float m21, float m22, float m23, float m24, float m25, float m26, float m27, float m28, | |
float m31, float m32, float m33, float m34, float m35, float m36, float m37, float m38, | |
float m41, float m42, float m43, float m44, float m45, float m46, float m47, float m48, | |
float m51, float m52, float m53, float m54, float m55, float m56, float m57, float m58, | |
float m61, float m62, float m63, float m64, float m65, float m66, float m67, float m68, | |
float m71, float m72, float m73, float m74, float m75, float m76, float m77, float m78, | |
float m81, float m82, float m83, float m84, float m85, float m86, float m87, float m88 | |
) | |
{ | |
return float8x8c( | |
float4x4( | |
m11, m12, m13, m14, | |
m21, m22, m23, m24, | |
m31, m32, m33, m34, | |
m41, m42, m43, m44 | |
), | |
float4x4( | |
m15, m16, m17, m18, | |
m25, m26, m27, m28, | |
m35, m36, m37, m38, | |
m45, m46, m47, m48 | |
), | |
float4x4( | |
m51, m52, m53, m54, | |
m61, m62, m63, m64, | |
m71, m72, m73, m74, | |
m81, m82, m83, m84 | |
), | |
float4x4( | |
m55, m56, m57, m58, | |
m65, m66, m67, m68, | |
m75, m76, m77, m78, | |
m85, m86, m87, m88 | |
) | |
); | |
} | |
float8x8 transpose(float8x8 m) | |
{ | |
return float8x8c( | |
transpose(m.ul), transpose(m.ll), | |
transpose(m.ur), transpose(m.lr) | |
); | |
} | |
struct float16 | |
{ | |
float8 u; | |
float8 l; | |
}; | |
float16 float16c(float8 u, float8 l) | |
{ | |
float16 o; | |
o.u = u; | |
o.l = l; | |
return o; | |
} | |
float16 float16c | |
( | |
float x1, | |
float x2, | |
float x3, | |
float x4, | |
float x5, | |
float x6, | |
float x7, | |
float x8, | |
float x9, | |
float x10, | |
float x11, | |
float x12, | |
float x13, | |
float x14, | |
float x15, | |
float x16 | |
) | |
{ | |
return float16c(float8c(x1,x2,x3,x4,x5,x6,x7,x8),float8c(x9,x10,x11,x12,x13,x14,x15,x16)); | |
} | |
struct float16x16 | |
{ | |
float8x8 ul; | |
float8x8 ur; | |
float8x8 ll; | |
float8x8 lr; | |
}; | |
float16x16 float16x16c | |
( | |
float8x8 ul, | |
float8x8 ur, | |
float8x8 ll, | |
float8x8 lr | |
) | |
{ | |
float16x16 o; | |
o.ul = ul; | |
o.ur = ur; | |
o.ll = ll; | |
o.lr = lr; | |
return o; | |
} | |
float16x16 transpose(float16x16 m) | |
{ | |
return float16x16c( | |
transpose(m.ul), transpose(m.ll), | |
transpose(m.ur), transpose(m.lr) | |
); | |
} | |
float16x16 float16x16c( | |
float x00, float x01, float x02, float x03, float x04, float x05, float x06, float x07, float x08, float x09, float x0a, float x0b, float x0c, float x0d, float x0e, float x0f, | |
float x10, float x11, float x12, float x13, float x14, float x15, float x16, float x17, float x18, float x19, float x1a, float x1b, float x1c, float x1d, float x1e, float x1f, | |
float x20, float x21, float x22, float x23, float x24, float x25, float x26, float x27, float x28, float x29, float x2a, float x2b, float x2c, float x2d, float x2e, float x2f, | |
float x30, float x31, float x32, float x33, float x34, float x35, float x36, float x37, float x38, float x39, float x3a, float x3b, float x3c, float x3d, float x3e, float x3f, | |
float x40, float x41, float x42, float x43, float x44, float x45, float x46, float x47, float x48, float x49, float x4a, float x4b, float x4c, float x4d, float x4e, float x4f, | |
float x50, float x51, float x52, float x53, float x54, float x55, float x56, float x57, float x58, float x59, float x5a, float x5b, float x5c, float x5d, float x5e, float x5f, | |
float x60, float x61, float x62, float x63, float x64, float x65, float x66, float x67, float x68, float x69, float x6a, float x6b, float x6c, float x6d, float x6e, float x6f, | |
float x70, float x71, float x72, float x73, float x74, float x75, float x76, float x77, float x78, float x79, float x7a, float x7b, float x7c, float x7d, float x7e, float x7f, | |
float x80, float x81, float x82, float x83, float x84, float x85, float x86, float x87, float x88, float x89, float x8a, float x8b, float x8c, float x8d, float x8e, float x8f, | |
float x90, float x91, float x92, float x93, float x94, float x95, float x96, float x97, float x98, float x99, float x9a, float x9b, float x9c, float x9d, float x9e, float x9f, | |
float xa0, float xa1, float xa2, float xa3, float xa4, float xa5, float xa6, float xa7, float xa8, float xa9, float xaa, float xab, float xac, float xad, float xae, float xaf, | |
float xb0, float xb1, float xb2, float xb3, float xb4, float xb5, float xb6, float xb7, float xb8, float xb9, float xba, float xbb, float xbc, float xbd, float xbe, float xbf, | |
float xc0, float xc1, float xc2, float xc3, float xc4, float xc5, float xc6, float xc7, float xc8, float xc9, float xca, float xcb, float xcc, float xcd, float xce, float xcf, | |
float xd0, float xd1, float xd2, float xd3, float xd4, float xd5, float xd6, float xd7, float xd8, float xd9, float xda, float xdb, float xdc, float xdd, float xde, float xdf, | |
float xe0, float xe1, float xe2, float xe3, float xe4, float xe5, float xe6, float xe7, float xe8, float xe9, float xea, float xeb, float xec, float xed, float xee, float xef, | |
float xf0, float xf1, float xf2, float xf3, float xf4, float xf5, float xf6, float xf7, float xf8, float xf9, float xfa, float xfb, float xfc, float xfd, float xfe, float xff | |
) | |
{ | |
float16x16 o; | |
o.ul = float8x8c | |
( | |
x00, x01, x02, x03, x04, x05, x06, x07, | |
x10, x11, x12, x13, x14, x15, x16, x17, | |
x20, x21, x22, x23, x24, x25, x26, x27, | |
x30, x31, x32, x33, x34, x35, x36, x37, | |
x40, x41, x42, x43, x44, x45, x46, x47, | |
x50, x51, x52, x53, x54, x55, x56, x57, | |
x60, x61, x62, x63, x64, x65, x66, x67, | |
x70, x71, x72, x73, x74, x75, x76, x77 | |
); | |
o.ur = float8x8c | |
( | |
x08, x09, x0a, x0b, x0c, x0d, x0e, x0f, | |
x18, x19, x1a, x1b, x1c, x1d, x1e, x1f, | |
x28, x29, x2a, x2b, x2c, x2d, x2e, x2f, | |
x38, x39, x3a, x3b, x3c, x3d, x3e, x3f, | |
x48, x49, x4a, x4b, x4c, x4d, x4e, x4f, | |
x58, x59, x5a, x5b, x5c, x5d, x5e, x5f, | |
x68, x69, x6a, x6b, x6c, x6d, x6e, x6f, | |
x78, x79, x7a, x7b, x7c, x7d, x7e, x7f | |
); | |
o.ll = float8x8c | |
( | |
x80, x81, x82, x83, x84, x85, x86, x87, | |
x90, x91, x92, x93, x94, x95, x96, x97, | |
xa0, xa1, xa2, xa3, xa4, xa5, xa6, xa7, | |
xb0, xb1, xb2, xb3, xb4, xb5, xb6, xb7, | |
xc0, xc1, xc2, xc3, xc4, xc5, xc6, xc7, | |
xd0, xd1, xd2, xd3, xd4, xd5, xd6, xd7, | |
xe0, xe1, xe2, xe3, xe4, xe5, xe6, xe7, | |
xf0, xf1, xf2, xf3, xf4, xf5, xf6, xf7 | |
); | |
o.lr = float8x8c | |
( | |
x88, x89, x8a, x8b, x8c, x8d, x8e, x8f, | |
x98, x99, x9a, x9b, x9c, x9d, x9e, x9f, | |
xa8, xa9, xaa, xab, xac, xad, xae, xaf, | |
xb8, xb9, xba, xbb, xbc, xbd, xbe, xbf, | |
xc8, xc9, xca, xcb, xcc, xcd, xce, xcf, | |
xd8, xd9, xda, xdb, xdc, xdd, xde, xdf, | |
xe8, xe9, xea, xeb, xec, xed, xee, xef, | |
xf8, xf9, xfa, xfb, xfc, xfd, xfe, xff | |
); | |
return o; | |
} | |
float16 add(float16 x, float16 y) | |
{ | |
return float16c(add(x.u,y.u),add(x.l,y.l)); | |
} | |
float8 mul(float8 x, float8x8 m) | |
{ | |
return float8c(mul(x.u,m.ul)+mul(x.l,m.ll),mul(x.u,m.ur)+mul(x.l,m.lr)); | |
} | |
float8 had(float8 x, float8 y) | |
{ | |
return float8c(x.u*y.u,x.l*y.l); | |
} | |
float16 mul(float16 x, float16x16 m) | |
{ | |
return float16c(add(mul(x.u,m.ul),mul(x.l,m.ll)),add(mul(x.u,m.ur),mul(x.l,m.lr))); | |
} | |
float dot(float8 x, float8 y) | |
{ | |
return dot(x.u,y.u)+dot(x.l,y.l); | |
} | |
float dot(float16 x, float16 y) | |
{ | |
return dot(x.u,y.u)+dot(x.l,y.l); | |
} | |
float8 max(float8 x, float8 y) | |
{ | |
return float8c(max(x.u,y.u),max(x.l,y.l)); | |
} | |
float16 max(float16 x, float16 y) | |
{ | |
return float16c(max(x.u,y.u),max(x.l,y.l)); | |
} | |
float8 ReLU(float8 x) | |
{ | |
return max(x, float8c(0,0)); | |
} | |
float16 ReLU(float16 x) | |
{ | |
return max(x, float16c(float8c(0,0),float8c(0,0))); | |
} | |
float sigmoid(float x) | |
{ | |
return 1/(1+exp(-x)); | |
} | |
float8 inv(float8 x) | |
{ | |
return float8c(-x.u,-x.l); | |
} | |
float8 mad(float8 a, float8 b, float8 c) | |
{ | |
return float8c(mad(a.u,b.u,c.u),mad(a.l,b.l,c.l)); | |
} | |
float8 float8c(float x) | |
{ | |
return float8c(x,x); | |
} | |
float8 lerp(float8 a, float8 b, float c) | |
{ | |
return mad(a,float8c(c),mad(b,inv(float8c(c)),b)); | |
} | |
sampler2D _MainTex; | |
float4 _MainTex_ST; | |
float _ClipTh; | |
float3 _RayTestSrc; | |
float3 _RayTestDst; | |
v2f vert (appdata v) | |
{ | |
v2f o; | |
o.vertex = UnityObjectToClipPos(v.vertex); | |
o.uv = TRANSFORM_TEX(v.uv, _MainTex); | |
o.opos = v.vertex; | |
UNITY_TRANSFER_FOG(o,o.vertex); | |
return o; | |
} | |
fixed4 frag (v2f i) : SV_Target | |
{ | |
// sample the texture | |
fixed4 col = tex2D(_MainTex, i.uv); | |
float3 eye = mul(unity_WorldToObject, float4(_WorldSpaceCameraPos, 1)); | |
float3 rd = normalize(i.opos - eye); | |
//float3 eye = mul(unity_WorldToObject, float4(_RayTestSrc,1)); | |
//float3 eye_to = mul(unity_WorldToObject, float4(_RayTestDst,1)); | |
//float3 rd = normalize(eye_to - eye); | |
float3 center = 0; | |
float3 cs = eye-center; | |
float csv = dot(cs,rd); | |
float r = 1; | |
float d = csv*csv - dot(cs,cs) + r*r; | |
float3 p1 = eye + rd * (-csv - sqrt(d)); | |
float3 p2 = eye + rd * (-csv + sqrt(d)); | |
//p1 = i.opos; | |
static float htp[8][8] = | |
{ | |
{ 0.9556, -0.2689, -0.5658, -0.4114, 0.1370, 0.9685, 0.5930, 0.7900}, | |
{ 0.0700, 0.7763, -0.4418, -0.1953, -0.9877, -0.8716, -0.5467, 0.7034}, | |
{ 0.4752, 0.2898, -0.8584, -0.5417, -0.8554, 0.2268, 0.8205, -0.5366}, | |
{ 0.8815, 0.3592, 0.5123, -0.5413, 0.7906, -0.3818, -0.5918, -0.8054}, | |
{-0.7903, -0.2981, 0.7566, 0.0069, -0.0623, 0.2784, -0.8194, -0.8923}, | |
{ 0.5218, -0.4997, -0.1416, 0.0482, 0.5436, 0.2643, -0.1459, 0.8074}, | |
{ 0.9815, 0.1984, -0.2073, 0.5853, 0.7764, 0.2649, 0.9483, 0.0633}, | |
{ 0.9503, -0.7717, -0.1548, -0.6796, -0.4949, 0.5295, -0.5003, -0.9307} | |
}; | |
static float htd[8][8] = | |
{ | |
{ 0.5652, -0.1708, 0.5306, 0.0177, 0.8787, -0.5090, -0.2124, -0.7036}, | |
{-0.2915, 0.2036, -0.4755, 0.4066, -0.5468, -0.7677, -0.8996, 0.7848}, | |
{ 0.9383, 0.1579, 0.1477, 0.7919, 0.9979, -0.2433, 0.0088, 0.4612}, | |
{ 0.5440, -0.7847, -0.9090, 0.6864, 0.8168, -0.6885, -0.3568, 0.2486}, | |
{ 0.0199, -0.8106, -0.5825, 0.4991, 0.0782, 0.2966, 0.9185, 0.7933}, | |
{-0.1204, -0.9936, -0.2400, 0.5740, -0.8945, -0.7312, -0.4579, -0.8447}, | |
{-0.0192, -0.9923, -0.8000, -0.3393, -0.5296, 0.3350, -0.0669, -0.1299}, | |
{ 0.7107, 0.4156, -0.2980, 0.9893, -0.5459, 0.8763, -0.7627, 0.8259} | |
}; | |
static float16x16 fc1w = float16x16c( | |
1.6948e-01, -1.1320e+00, -1.6773e-01, 1.8869e+00, 3.6781e-01, -4.2679e-01, 4.7929e-01, -6.1716e-01, 1.5978e+00, -9.7521e-01, 8.2002e-02, -4.2234e-01, -6.4826e-01, 1.2412e+00, 5.6719e-02, -2.5031e-01, | |
-6.8781e-02, 1.6816e-01, -1.4318e-03, 2.2265e-02, -1.1117e-01, -1.7776e-01, 5.1021e-02, 9.7968e-02, -1.0025e-01, 7.7441e-02, 5.9520e-02, -8.9680e-02, -5.9376e-02, 1.3294e-01, 1.4381e-01, 1.2749e-01, | |
-5.2628e-06, 2.9846e-16, 1.4795e-10, -7.0296e-09, 2.3270e-11, -6.9900e-13, -1.6911e-11, 4.8625e-14, 1.0696e-06, 3.5107e-06, 5.4102e-07, -4.2114e-05, -2.2758e-15, 2.8888e-15, -2.1013e-09, 3.5593e-03, | |
1.0254e+00, 3.1662e-01, -3.7908e-01, 8.4116e-01, 7.6723e-02, -1.3203e+00, 2.9804e-01, -1.3887e+00, 8.3265e-02, 3.4004e-01, 2.1134e-01, -1.5445e-01, -1.5004e-01, -1.3241e-01, -1.6840e-01, -4.3978e-01, | |
4.5033e-01, 9.7244e-01, -3.2698e-01, -8.1556e-02, 2.0850e-01, -5.5169e-02, 7.0178e-01, -1.1197e+00, 9.0911e-01, 3.0153e-01, -3.8399e-01, -3.5169e-01, 7.5144e-01, 6.4171e-01, -1.5682e-01, -6.2939e-01, | |
7.4121e-02, 1.5513e+00, 1.3785e+00, -8.6406e-01, -6.2838e-01, 1.3476e+00, -5.3466e-01, 7.9273e-01, -1.2779e+00, 6.0973e-01, 5.8328e-01, -6.5615e-02, 6.3616e-01, -1.1419e+00, 2.9244e-01, -1.0627e-02, | |
-4.8643e-02, 1.3907e+00, 1.2261e-01, -8.6224e-01, -4.4430e-01, 8.9508e-02, 5.0332e-02, 1.5060e-01, 2.0301e-01, 5.7835e-01, -2.4799e-01, -4.6297e-01, 6.4559e-01, -4.0168e-02, -3.9319e-01, -1.0572e+00, | |
3.7307e-01, -3.4566e-01, -2.4232e-03, -1.1712e+00, 3.1571e-01, 3.5633e-01, -8.2547e-01, 5.6211e-01, -1.2388e+00, -3.2139e-02, -2.4894e-01, 9.7877e-01, -4.0672e-01, -5.9060e-01, 3.2498e-01, 5.8488e-01, | |
-5.9744e-01, 2.5962e-01, 4.7297e-02, -4.0069e-01, -1.1085e-01, -1.5413e-01, -2.5712e-02, 7.3272e-01, -3.3513e-01, 4.5482e-02, -1.0177e+00, 1.6157e+00, -2.3421e-01, 6.9610e-01, 5.9077e-02, 2.5722e-01, | |
2.7180e-01, -1.9204e-01, 9.2116e-01, -8.4035e-01, -3.6355e-01, 1.8664e-01, -1.3603e+00, 1.3322e+00, -1.7548e+00, 4.2566e-01, 3.0869e-01, 8.5421e-01, -4.0001e-01, -6.7037e-01, -2.3885e-01, -1.5658e-01, | |
2.4375e-01, 1.4309e-01, -2.1803e-01, -4.2530e-01, 6.4733e-02, -6.1286e-01, -5.2043e-01, -2.0422e-01, 6.7409e-02, 1.3979e-01, -5.6631e-01, 1.0609e+00, -3.9689e-02, -2.9169e-01, -1.1691e+00, 1.1878e+00, | |
-2.6997e-01, 1.9214e+00, -4.3928e-01, -8.6982e-01, -5.8659e-03, -4.5804e-01, 3.7222e-01, -1.2472e-01, 1.9983e-01, 3.6600e-01, 4.5078e-01, 3.8597e-01, 8.9401e-01, 1.7960e-01, -1.0565e-02, 7.5359e-01, | |
-3.5831e-01, 1.1080e+00, 4.4312e-01, -2.1563e-01, -2.5953e-02, 1.2581e+00, 2.0989e-01, 2.2884e-01, -5.3517e-01, -2.8158e-02, 7.7665e-01, -5.8778e-01, 2.9841e-01, -2.6804e-02, 3.2910e-01, 4.0737e-01, | |
-9.3713e-02, 5.6997e-03, -2.0353e-03, 8.7204e-02, 9.4795e-03, 3.0751e-02, 1.1426e-01, 2.4083e-02, -5.7874e-02, 8.2984e-02, 1.3393e-02, -2.3290e-02, -3.9618e-02, -2.4982e-02, -5.4011e-02, 1.0550e-01, | |
-6.7562e-02, 1.8666e-02, 2.6014e-02, 4.5232e-02, 2.9537e-04, -4.3522e-02, 3.0879e-04, 1.6307e-02, -6.7941e-02, 4.6553e-02, 3.7970e-02, -7.0233e-02, -2.2065e-02, 4.4391e-02, 4.7730e-02, 7.8181e-02, | |
1.0460e+00, -4.2811e-01, -4.8712e-01, -6.3097e-01, -6.8289e-02, -1.2896e+00, -1.3975e+00, -5.1208e-01, -1.6738e-01, 2.4218e-01, -7.1947e-01, 5.3269e-01, 1.7809e-01, -1.4850e-01, -7.2122e-01, 8.1497e-01 | |
); | |
static float16 fc1b = float16c( | |
-0.0069, -0.1180, -0.0046, 0.2442, -0.1987, 0.5614, -0.4403, 0.1643, -0.4413, 0.0189, 0.1821, 0.8177, 1.2085, -0.1051, -0.0851, -0.2456 | |
); | |
static float16x16 fc2w = float16x16c( | |
-2.8109e+00, 1.2223e-01, -3.5122e-13, 1.2204e+00, -2.8885e-01, -6.3455e-02, -4.5496e-01, -4.2762e-01, -1.4820e+00, 1.0744e+00, -1.3790e+00, -4.8152e-01, 1.4044e-01, -6.1056e-02, -1.8118e-02, 3.8609e-01, | |
6.8620e-08, -1.6975e-04, -6.4844e-04, -3.5412e-06, -2.7138e-04, -1.3483e-10, -1.4606e-05, 5.3658e-07, -5.0908e-08, 2.9119e-09, 3.8918e-08, -5.4666e-08, -3.3088e-11, 2.0071e-04, 5.1806e-04, -1.1610e-09, | |
4.9930e-01, 5.0242e-02, 1.0627e-03, -3.1278e-01, 9.1272e-01, 1.8126e-01, 6.3406e-01, -1.2991e+00, -2.5804e-01, -1.3213e+00, -8.9557e-01, 3.5995e-01, -1.0291e+00, 1.0519e-01, 1.2536e-02, 3.8202e-01, | |
-4.9729e-01, -9.7015e-02, 1.1153e-06, -1.0512e-01, -2.7581e-01, 5.2390e-01, -4.8710e-01, 6.6238e-02, -7.2212e-01, 4.6354e-01, 1.1731e-01, 8.5434e-02, 2.0619e-01, 3.9173e-02, 3.7377e-02, 1.4047e-01, | |
-1.1957e+00, 3.5937e-02, 2.7254e-03, -5.3789e-03, -6.6376e-02, 7.2384e-01, 1.3391e+00, 4.6293e-01, 4.4145e-01, 1.2637e+00, -7.8487e-01, 9.3305e-02, 6.2198e-01, -8.6391e-02, -1.0202e-01, -9.4771e-01, | |
9.7879e-01, 1.0099e-01, -2.9790e-09, 6.6936e-01, 3.6090e-01, -1.6558e+00, 5.3576e-01, -5.8339e-01, -3.1576e-01, -6.4309e-01, -1.0761e+00, -6.5861e-01, -1.7612e+00, 4.8309e-02, 8.3119e-02, -1.1830e-01, | |
9.7359e-01, -9.0319e-05, -3.8622e-10, 8.7492e-01, 2.8665e-01, -2.9718e-01, 7.3255e-02, -4.4072e-01, -1.2486e+00, -3.1900e-01, 7.8770e-01, 5.7614e-01, -1.7606e+00, -7.4735e-02, -9.6626e-03, -1.0193e+00, | |
2.4193e-02, -4.2769e-02, -9.8935e-20, -1.9253e-01, -5.0350e-03, -1.1302e-01, -2.0635e-01, -6.3524e-01, 9.2667e-01, -4.4245e-01, 1.6519e+00, -4.1922e-01, 9.1380e-01, -5.3093e-02, -8.8769e-02, 4.8789e-01, | |
1.2309e+00, 3.0985e-02, 5.6374e-10, 7.5411e-02, 5.2075e-01, -1.3185e+00, 2.3145e-01, -1.0753e+00, -3.3533e-01, -1.0530e+00, -4.4245e-01, -1.6196e-02, -7.4846e-01, 1.6461e-02, 6.7045e-02, 5.9937e-01, | |
-8.8395e-02, 6.1203e-07, 9.8928e-05, -8.3678e-02, -8.8855e-02, -6.3680e-02, -1.0204e-01, -9.5067e-02, -1.1665e-01, -9.3516e-02, -8.4323e-02, -9.6903e-02, -6.9110e-02, -9.2659e-05, 1.7269e-04, -8.0068e-02, | |
-7.6627e-01, -8.9130e-02, -2.3467e-10, 1.2137e+00, 2.4836e-01, -2.5322e-01, 4.4583e-01, 4.0137e-02, -6.0192e-01, -1.3411e-01, 3.6047e-01, 9.3631e-01, -6.7221e-01, 6.3068e-02, 5.4895e-02, -2.8088e-01, | |
4.5084e-01, -1.0793e-02, -3.5032e-08, 3.5989e-01, -5.3098e-01, 1.0464e-01, -7.5922e-01, -1.2141e-02, -2.9872e-01, -6.2129e-01, 2.1070e-01, 8.6763e-01, 2.4147e+00, -9.5739e-02, -1.6268e-02, -1.0917e-01, | |
-5.6733e-01, 3.0644e-03, -1.1178e-06, 2.2808e-01, 8.3935e-01, 3.0119e-01, 7.4994e-01, 7.9100e-01, -6.4156e-01, -1.6936e+00, 2.4969e-01, -3.1722e-01, 5.0458e-01, -1.0040e-01, -5.4671e-02, -1.1099e+00, | |
-1.2048e-01, 3.6366e-07, -7.3138e-04, -1.1252e-01, -1.1633e-01, -4.9703e-02, -1.0111e-01, -6.7811e-02, -5.1710e-02, -6.2071e-02, -7.3759e-02, -9.6933e-02, -4.0194e-02, 9.5124e-05, -5.8216e-05, -1.2439e-01, | |
-7.6213e-02, -1.1650e-07, -2.9992e-04, -3.6419e-02, -5.3096e-02, 8.4492e-02, -8.7505e-02, -6.1262e-02, -1.2970e-01, -9.9669e-02, -5.7899e-02, -5.4639e-02, 1.0851e-01, -8.7123e-05, -3.7082e-05, -5.5724e-02, | |
-7.8004e-02, 3.7887e-02, -9.5416e-09, 4.7526e-01, 3.2670e-01, 8.3583e-01, 5.7000e-01, 1.4647e-01, 1.4336e-01, -4.4322e-01, 5.6034e-01, -2.4770e+00, -1.3978e+00, -4.6287e-02, -4.2145e-02, -1.8130e+00 | |
); | |
static float16 fc2b = float16c( | |
0.1737, -0.0024, 0.1086, 0.9564, -0.4203, -0.1978, -0.8649, 0.0975, -0.2052, -0.0953, 0.2306, 0.5661, -0.2865, -0.1126, -0.0590, -0.0287 | |
); | |
static float16x16 fc3w = float16x16c( | |
-2.2926e-03, -2.7580e-04, -1.2416e-03, -1.1201e-02, -5.0615e-04, -3.3034e-12, 4.5764e-09, -1.4116e-03, 1.0231e-09, 8.2554e-05, -3.0601e-02, -1.5101e-04, -5.9600e-03, -1.5876e-04, -1.6371e-04, -3.0088e-03, | |
6.5204e-19, 3.2828e-05, 5.2792e-16, 5.0691e-09, 1.5520e-07, 2.1263e-16, -3.6387e-16, 2.6098e-07, -2.2584e-15, -7.0765e-05, -3.5751e-11, -4.7846e-14, -8.8040e-15, 5.3161e-05, 5.4343e-04, 7.7956e-09, | |
5.7885e-02, -8.1582e-07, 1.4922e+00, -4.5391e-01, -6.5966e-01, 1.6476e+00, 7.2600e-01, -7.9077e-01, -4.3684e-02, 7.2194e-02, -3.4711e-02, -1.8078e+00, -1.3372e+00, 1.0788e-01, 6.6508e-02, 2.6223e-01, | |
-4.0327e-01, 1.5157e-06, 1.6608e+00, 1.7869e-01, -8.7912e-01, 1.0609e-01, 5.3514e-01, -6.2674e-01, 7.7786e-01, 7.4309e-02, -4.3037e-01, -8.8563e-01, 2.2687e-02, 1.0359e-01, 5.3941e-02, -1.8038e-01, | |
7.0364e-02, -7.1307e-05, 2.8290e-02, -5.7931e-02, -4.6714e-02, 9.8770e-03, -1.3239e-01, -1.5959e-01, 2.2374e-02, 4.5546e-07, -1.1327e-01, -6.0532e-02, -9.4150e-02, 2.2076e-08, 5.9148e-07, -5.8782e-02, | |
9.9220e-02, 4.9236e-03, -7.3928e-01, -1.6469e-02, 2.3145e-01, 1.2026e+00, -9.7072e-01, 3.4759e-01, -5.4876e-01, -9.1428e-02, 4.1102e-01, 9.3773e-02, -1.4979e+00, -7.5818e-02, -5.4952e-02, 2.5768e-01, | |
1.0499e+00, -1.1143e-05, -4.7523e-02, -1.2084e-01, 4.1230e-01, 6.5188e-01, 7.5432e-01, -7.3126e-01, 9.8731e-01, 3.6977e-02, 5.4070e-01, 1.6228e-01, -1.7115e-01, 1.0154e-01, 2.3623e-02, 1.3761e+00, | |
-4.5238e-10, 4.1736e-05, 1.1534e-07, -4.5315e-06, -1.2024e-08, -1.8233e-12, -2.0972e-11, -5.2370e-08, -3.4036e-14, 4.4911e-04, -7.5380e-03, -1.3120e-04, 8.7976e-07, -2.9628e-05, -1.1880e-04, 1.1007e-10, | |
-4.4240e-07, 3.6952e-08, -6.2975e-01, 2.4730e-01, -8.5785e-01, 4.6319e-01, 8.6737e-02, -2.6892e-01, -1.0570e+00, -8.8444e-02, -1.6396e+00, -1.3341e+00, 4.0548e-01, -1.2126e-01, 3.3901e-02, 1.4092e+00, | |
8.9810e-02, 6.8558e-05, -4.2986e-01, 2.4240e-01, 1.2528e+00, 1.4829e+00, -8.5273e-01, -4.1498e-01, 3.9871e-01, 9.1470e-02, 2.4310e-01, -9.5629e-01, 6.8736e-01, 6.7681e-02, 7.9277e-02, 9.4559e-01, | |
-6.1252e-01, -1.2785e-05, 6.0912e-01, 1.0489e+00, -1.1128e+00, 7.4767e-01, 3.0329e-01, 3.6307e-01, 9.0984e-01, -4.5992e-02, 2.7412e-02, 6.1079e-01, -1.0432e+00, -9.8689e-02, -2.3010e-02, 1.8415e-01, | |
-3.4821e-01, 4.3237e-04, 1.3005e+00, -1.1707e+00, 1.8287e-01, 1.2059e+00, -1.5422e-01, 1.4567e-01, 8.0510e-01, 8.7794e-02, 1.9470e-02, -5.1248e-01, 1.0275e+00, 1.2058e-01, 6.8665e-02, 3.3291e-01, | |
5.5710e-01, 7.7482e-04, -4.6183e-01, 6.2044e-01, -1.2695e+00, -1.7896e+00, -1.9248e+00, -9.2873e-01, -9.7303e-01, -6.0364e-02, 3.6031e-01, 4.5576e-02, -3.5853e-01, -9.8779e-02, 9.1773e-02, 6.3819e-01, | |
-2.7362e-04, 3.4209e-04, -5.1283e-03, -5.5400e-02, -9.1174e-04, -5.0932e-03, -5.2809e-03, -3.6821e-02, -6.0648e-03, 6.2460e-04, -7.2406e-02, -3.8598e-02, -3.5684e-02, 9.5397e-05, -3.5951e-04, -3.5105e-02, | |
1.5859e+00, -3.5934e-03, -8.3153e-03, -3.2461e-01, 2.0466e+00, 3.6449e-02, 1.0110e+00, 5.2985e-01, 7.1958e-01, 1.0638e-01, -9.3654e-01, 1.2971e+00, 4.3643e-01, 1.4345e-01, 9.7653e-02, 7.6599e-01, | |
-1.1838e-04, 2.0671e-04, -8.1050e-03, -5.0742e-02, -4.6555e-02, 7.9274e-09, -1.9151e-04, -7.3820e-02, 1.1529e-06, 2.7248e-04, -7.4550e-02, -4.8264e-02, -9.2121e-03, 1.0348e-04, -2.3885e-05, -2.4914e-02 | |
); | |
static float16 fc3b = float16c( | |
-2.3697e-02, -1.2033e-06, 3.2331e-01, 4.4557e-01, -5.8809e-02, 6.7476e-01, -1.7653e-01, -6.9316e-04, 3.6003e-01, 1.1999e-01, -3.6198e-02, -4.8009e-01, 4.1716e-01, -5.9827e-02, -6.4824e-02, -7.6570e-02 | |
); | |
static float16x16 fc4w = float16x16c( | |
-8.4899e-03, -1.3861e-14, 5.8004e-01, 1.5475e-01, -1.0522e-01, 1.3051e-01, 1.7637e-02, -5.5513e-04, -3.0060e-01, 6.3580e-01, -4.1221e-01, 7.1241e-01, 1.4544e-01, -1.1683e-02, 9.4238e-01, 1.4164e-02, | |
-5.8343e-03, -1.2107e-13, 9.6417e-01, 4.2520e-01, -3.4762e-02, -8.7042e-01, 8.0625e-01, -1.2433e-04, 2.8454e-01, 2.3818e-01, 2.7487e-01, 7.8111e-01, -9.0708e-01, 1.4378e-02, -3.1419e-01, 1.2172e-02, | |
1.0523e-03, -5.2951e-14, 2.6669e+00, 2.8497e-01, 5.8061e-02, -1.4686e+00, 3.5257e-02, -2.1423e-11, -9.5866e-01, 2.7547e-01, -7.9550e-01, 5.2269e-01, -1.8049e+00, -2.3996e-02, 4.2675e-01, -5.0966e-02, | |
-2.0218e-03, -6.6829e-17, 1.7957e-01, 5.6115e-01, -2.9026e-02, -6.1865e-01, 7.2581e-01, -7.0235e-10, 1.5067e+00, -2.8058e-01, 7.9160e-02, -9.2164e-01, -7.5759e-01, -2.0511e-03, -6.5297e-01, 7.1659e-03, | |
-5.1156e-05, 3.6428e-05, 2.3033e-12, 5.8186e-07, -7.6964e-06, -1.4987e-02, -2.1042e-02, 2.2549e-04, 5.7853e-10, -1.4246e-02, -1.3639e-02, -5.5642e-05, 1.8022e-06, 1.2080e-04, -4.2670e-02, -5.0851e-04, | |
1.0125e-04, -3.6583e-04, -6.1031e-05, 2.9176e-02, -4.1919e-06, -7.0409e-02, -5.6891e-02, 1.4082e-04, -3.9386e-03, -9.1969e-02, -7.9348e-02, -1.1988e-02, -7.1746e-05, 6.7140e-05, -5.8383e-02, 8.8075e-04, | |
2.0805e-03, 1.6050e-15, 6.3259e-01, -5.5970e-01, -2.0918e-03, 2.8501e-01, 6.7860e-02, 5.8715e-08, 9.1779e-01, 6.8058e-01, -9.4078e-01, -9.5986e-01, 7.4497e-01, 6.4825e-03, -1.2103e+00, -1.4603e-04, | |
4.0198e-03, 8.3486e-12, 6.3138e-01, 9.5102e-01, 1.5425e-01, -1.4305e-01, -3.8709e-01, 8.4095e-06, -1.9839e+00, -7.7675e-01, -1.5114e-01, -6.3901e-01, 4.9170e-01, 1.6733e-03, 1.3213e+00, 2.3406e-02, | |
2.7444e-03, 8.4959e-17, 3.2865e-02, -8.5688e-01, 3.5267e-02, 3.6938e-01, 6.9010e-01, -7.6702e-11, 1.4974e-03, -1.7337e-01, 7.1595e-01, -2.2413e-01, -7.5589e-01, -1.2868e-03, -7.6827e-01, -5.7354e-03, | |
4.8880e-05, 6.0006e-16, 7.5833e-01, 6.7079e-01, -6.4889e-02, 1.8172e-01, -6.7275e-01, -1.7477e-14, -3.2375e-01, 7.2657e-01, 4.9984e-02, -3.2519e-01, 2.8988e-01, -8.7076e-04, 7.7656e-01, -9.8186e-03, | |
-5.0284e-05, 1.4317e-15, 2.9754e-01, 1.2499e+00, -3.5691e-02, 1.1281e+00, 6.8354e-01, 1.9985e-15, 6.1353e-02, -3.5416e-01, -5.0404e-01, 1.4341e-01, -1.3081e-01, -2.4786e-04, 1.7453e-01, 7.3413e-03, | |
-1.5968e-03, 2.3993e-16, -2.3896e-01, 6.3888e-01, -4.2812e-02, 4.5582e-01, 7.6950e-01, -2.5140e-08, -7.1466e-01, -5.7721e-02, 7.4465e-01, -3.0845e-01, -6.2801e-01, 4.6467e-04, 5.6352e-01, 1.4427e-02, | |
-1.6041e-04, 6.2669e-05, -1.4768e-07, -3.7672e-03, -4.2379e-04, -4.6248e-02, -6.3078e-02, -6.6185e-04, 9.0996e-07, -1.9844e-02, -3.9972e-02, -2.3992e-03, -1.2310e-02, 5.5659e-04, -3.5867e-02, 2.8077e-04, | |
3.4527e-04, 1.5901e-04, -6.1410e-02, -1.0833e-01, 1.3341e-04, -8.6472e-02, -8.7861e-02, 2.9415e-05, -5.7051e-02, -9.0904e-02, -1.1308e-01, -1.1695e-01, -9.5627e-02, -7.3753e-04, -7.9267e-02, -8.9838e-04, | |
1.2317e-03, -1.1584e-14, 9.8915e-02, -5.5625e-01, 9.2382e-02, -5.0760e-02, -1.5026e-01, -2.1181e-09, 7.7532e-01, -1.2559e+00, 6.4661e-01, 8.6393e-01, 1.1705e+00, 3.2799e-03, 2.0947e-01, -2.2027e-02, | |
1.9719e-05, 3.9142e-04, -5.7517e-03, -1.0883e-02, 2.8530e-04, 1.0879e-02, -6.4721e-02, 1.2010e-04, 3.9089e-03, -6.6458e-03, -6.6222e-02, -8.1389e-03, -2.2460e-02, -6.3480e-04, -1.9308e-02, -5.4620e-04 | |
); | |
static float16 fc4b = float16c( | |
-0.6708, -0.2546, 0.5833, 0.2722, -0.0233, -0.1055, 0.7341, -0.3827, -0.7970, -0.6908, -1.1506, -0.7946, -0.0504, -0.0861, -0.3420, -0.0234 | |
); | |
static float16x16 fc5w = float16x16c( | |
2.9818e-01, -5.1865e-01, -8.6638e-01, 1.0013e-01, -1.0370e-02, 6.7879e-03, 1.5839e-01, 9.6019e-01, 9.3389e-01, 5.3107e-01, 4.1792e-01, 2.4960e-01, 6.5786e-02, -8.9812e-02, 1.9882e-01, 6.2714e-02, | |
9.4864e-02, 2.0406e-01, 2.5552e-01, 3.0130e-01, -2.8589e-08, -3.9972e-03, -4.2177e-01, -4.2814e-01, 3.3820e-01, 3.9171e-01, -4.9311e-01, 3.4555e-01, 1.9547e-02, 3.4855e-02, -1.1377e+00, 5.5620e-04, | |
1.3566e-01, 4.9543e-01, 1.8999e-01, 3.8172e-01, 2.4379e-03, -5.6545e-03, -9.3304e-01, -7.0262e-01, -5.4552e-01, 6.4374e-01, 5.8342e-01, 1.1193e-01, 1.8363e-02, 6.2548e-02, 4.9093e-02, -5.6547e-03, | |
-7.6745e-02, -1.5094e-03, -2.9490e-02, 8.1888e-06, 1.9953e-05, 7.4140e-04, 5.4555e-05, -4.7397e-02, 9.0576e-06, -5.7608e-02, 3.1872e-04, -6.0487e-02, 4.6390e-33, 5.2517e-04, 1.8456e-04, -8.0657e-15, | |
7.4045e-01, 8.1205e-01, 9.1887e-01, 8.6734e-01, 1.7183e-02, -9.2233e-03, -5.3750e-01, -5.0416e-02, -4.9096e-01, 4.3238e-01, 5.1188e-01, 3.3234e-01, 5.6118e-02, 5.5284e-02, 2.8765e-01, -2.3423e-02, | |
-2.0050e-01, -1.2476e-01, 8.7846e-01, 3.4624e-01, -2.2971e-04, -1.3256e-02, -1.5425e-01, 1.0421e+00, 1.1971e-01, -3.3884e-01, -4.2127e-01, -8.7924e-01, -1.1633e-02, -6.6506e-02, 4.9297e-01, -7.0176e-03, | |
-1.0112e-02, -4.5510e-03, -3.1566e-05, -2.2173e-08, 4.2894e-04, -5.6790e-05, -2.4522e-09, -1.0965e-03, 1.4992e-08, -1.4163e-04, 3.4099e-10, -5.0121e-03, 1.1679e-10, 3.0250e-04, 3.9742e-04, 3.5168e-04, | |
5.4623e-01, 3.1551e-01, 7.1484e-01, -7.2313e-01, 5.0787e-09, -2.7049e-05, -7.3873e-01, -1.3842e+00, -4.5308e-01, -4.2274e-02, 1.4519e-01, 3.1760e-01, -2.8499e-03, 7.0885e-02, -1.7904e-01, 3.4117e-04, | |
-1.5520e-01, 4.2085e-01, 9.9729e-03, 2.3111e-01, -1.9416e-04, -1.0577e-05, -8.1969e-01, -1.0718e+00, -3.2785e-01, 2.4115e-01, -8.8119e-01, 4.5609e-01, -9.0242e-03, 5.4469e-02, -1.3158e+00, -1.2521e-02, | |
-4.5069e-01, -3.3269e-01, 4.7977e-01, -1.2841e-01, 1.6589e-03, -9.3622e-03, 1.6569e-01, -2.8269e-01, 5.6911e-01, -2.1193e-01, 1.9410e-01, -1.4764e-01, -5.6067e-02, -1.5091e-02, 6.0524e-01, 9.5523e-03, | |
-9.8511e-01, -1.6354e-01, 3.2106e-01, -1.9470e-01, 1.3045e-03, -5.8643e-03, 2.5129e-01, 2.5101e-01, 4.2611e-01, -3.4167e-01, 1.2506e-01, 5.1743e-01, -7.6765e-02, -7.1209e-02, 3.9438e-01, 2.2055e-02, | |
-3.1054e-02, 3.9420e-01, 1.6041e+00, -3.7384e-01, 1.7713e-03, 4.3156e-02, 8.6882e-01, 5.2713e-01, -6.3070e-01, 5.8476e-01, -9.7059e-01, -1.4567e+00, 2.3326e-02, 9.2786e-02, 4.2444e-02, -9.1564e-03, | |
-2.0433e-02, -3.5499e-03, -1.3797e-07, 5.8372e-07, -7.1539e-06, -3.5904e-04, 6.0704e-03, -1.9858e-07, -1.5621e-08, -9.6873e-04, -1.0418e-03, -1.7568e-02, -2.6571e-05, 2.8199e-07, -8.4030e-06, 2.6096e-04, | |
-2.4213e-02, 3.3002e-03, -3.3847e-04, -8.4003e-06, -3.4780e-04, 3.2514e-04, -4.4246e-03, -1.2121e-03, 3.3620e-04, -4.7591e-03, -1.4664e-03, -2.3967e-02, -1.4160e-10, 1.2697e-23, 7.8879e-03, -8.0103e-05, | |
-8.4714e-01, -6.6624e-01, -8.4206e-01, -6.6300e-01, -9.8641e-04, -9.3081e-05, 1.0245e+00, 4.9997e-01, 4.2465e-01, 6.9147e-01, -7.3948e-01, -5.9042e-01, -1.5469e-02, -5.4477e-03, 6.1680e-01, -8.9531e-03, | |
4.0925e-02, -5.3871e-01, -9.4314e-01, -7.9013e-01, -7.0468e-03, 5.1384e-03, 4.7756e-01, 7.2467e-01, 1.0410e+00, 8.5549e-01, -1.2964e+00, -2.8609e-01, 4.8014e-03, -1.0035e-01, 1.1082e+00, 9.9797e-03 | |
); | |
static float16 fc5b = float16c( | |
-2.0593, -0.1084, -0.1394, -0.0503, -0.2535, 0.6876, -0.0055, -0.3000, 0.2330, 1.0425, 0.8434, -0.3052, -0.0108, -0.0225, 1.1746, -0.6085 | |
); | |
static float16x16 fc6w = float16x16c( | |
-7.6810e-01, 2.6491e-01, 1.5594e-01, 1.3248e-02, 5.7358e-01, | |
-6.9584e-01, 1.5935e-02, 4.3370e-01, 7.7008e-01, -8.1816e-01, | |
-6.0259e-01, 5.6163e-01, 5.0087e-03, 1.5284e-03, -5.1059e-01, | |
-5.4202e-01, | |
1.6115e-01, -3.1884e-01, -3.8509e-01, -3.1410e-02, -6.0455e-01, | |
9.4084e-01, 3.5352e-03, 9.4883e-01, 3.1587e-02, 3.7548e-01, | |
6.0737e-01, -4.8875e-01, -5.5346e-03, 2.8634e-02, 8.6355e-01, | |
4.8528e-01, | |
8.4271e-01, -3.8605e-01, -4.7049e-01, -1.3384e-04, -7.1487e-01, | |
3.2763e-01, -1.0711e-09, 7.2824e-02, -2.0337e-01, -2.5259e-01, | |
1.4214e-01, -6.5306e-01, 2.4265e-05, -7.2490e-09, 8.0231e-01, | |
1.9761e-01, | |
-9.2803e-10, -1.6051e-11, 3.5549e-06, -4.4636e-05, -8.0694e-03, | |
-7.6368e-11, -9.0490e-05, -1.3331e-07, 5.6457e-11, 1.8050e-08, | |
-1.4702e-09, -2.9146e-11, 1.9613e-04, 3.3198e-04, -3.0704e-10, | |
2.7585e-11, | |
-6.0942e-03, 5.3345e-03, -3.8733e-03, -1.4519e-04, -5.9195e-02, | |
2.3958e-03, 1.7555e-04, 4.7471e-03, 3.4142e-04, 5.2602e-03, | |
-5.0079e-03, 2.2966e-03, -1.9060e-05, -1.3030e-03, 3.5993e-03, | |
7.3786e-03, | |
-1.2046e-01, -3.1052e-02, -2.0282e-02, -1.1458e-05, -1.1331e-01, | |
-1.1183e-01, -2.4637e-05, -2.2193e-02, 2.0590e-02, -6.4374e-02, | |
-1.0252e-01, -1.1504e-01, -2.8673e-04, -1.4166e-04, -4.7155e-02, | |
-5.6842e-02, | |
-1.0004e+00, 4.4771e-01, 2.4452e-01, 1.9771e-02, 6.0577e-01, | |
-6.0459e-01, 3.2785e-03, 8.8705e-01, 3.2611e-01, -1.5900e-02, | |
-2.0976e-01, 1.1770e+00, 6.3435e-03, -1.9282e-02, 4.5149e-01, | |
-5.0758e-03, | |
3.3865e-01, 5.3646e-01, -5.7546e-02, 1.9656e-06, -1.1007e+00, | |
4.2628e-01, 5.8945e-09, -3.5208e-01, 1.1463e+00, 4.1914e-01, | |
2.9116e-01, -5.4744e-01, 1.1748e-05, -2.2168e-08, 2.6308e-02, | |
3.7602e-01, | |
-7.3234e-01, 3.8984e-01, 2.9419e-02, 4.7365e-05, -6.0984e-01, | |
8.3235e-01, -2.3531e-08, 2.4842e-01, 1.0305e-01, -5.9425e-02, | |
-1.9238e-01, 1.1417e+00, -1.2349e-05, -3.9498e-09, -5.8892e-02, | |
-1.7657e-01, | |
1.4190e-02, -2.0103e-02, -9.0667e-02, -1.1613e-05, -9.1649e-02, | |
-4.4394e-03, -4.1534e-04, -2.9643e-02, -7.1238e-03, -4.5229e-02, | |
-5.6767e-02, -3.7259e-02, 1.7962e-09, 1.5870e-04, 6.0520e-02, | |
-3.9426e-02, | |
-1.8695e-01, -7.3940e-02, -2.0605e-01, 4.3674e-05, -5.7961e-01, | |
-2.0616e-01, 4.1835e-10, -4.6886e-02, -1.6382e-01, -2.9137e-02, | |
1.5693e-02, -3.1721e-01, 5.9072e-06, -1.7771e-11, 6.4326e-01, | |
4.4418e-01, | |
1.2255e+00, 3.1247e-01, 2.2960e-01, 4.7443e-05, -5.7095e-02, | |
1.4919e-02, 6.6161e-09, 3.1294e-01, -1.6642e-01, 6.7241e-01, | |
-9.4444e-01, 8.2592e-02, 2.0605e-08, -2.8020e-08, -6.3440e-02, | |
-2.3581e-01, | |
-9.8572e-09, 8.2248e-07, 5.3250e-06, -4.3796e-04, -3.6559e-02, | |
-2.8862e-07, 2.0874e-05, 2.0729e-10, 1.0029e-09, -3.0401e-03, | |
-1.6497e-02, 7.6082e-08, 5.0282e-15, 2.8031e-04, -2.9955e-04, | |
4.8835e-09, | |
1.0145e+00, 5.0506e-01, -3.4558e-01, 5.8078e-05, -1.9051e-02, | |
-2.2618e-01, 8.9405e-09, 3.9934e-01, -7.1131e-01, 6.6309e-01, | |
-9.7313e-01, -2.2867e-01, 1.8525e-05, -3.4880e-06, 7.3225e-01, | |
7.6987e-01, | |
-1.0597e+00, 1.1051e-01, 3.4119e-01, 8.7734e-06, 1.5431e-01, | |
-6.0319e-01, -7.7510e-04, 3.2394e-02, 5.6678e-01, -8.3546e-01, | |
-1.0397e+00, 7.2814e-02, 1.2127e-03, -6.8567e-03, 1.3018e-01, | |
-1.0091e+00, | |
-1.4551e-11, 3.1607e-12, 1.3204e-10, -1.7908e-05, -1.0285e-04, | |
-1.2692e-08, 3.5220e-04, 2.4045e-14, -8.3231e-16, -1.4192e-06, | |
-2.2802e-06, 9.2669e-07, -3.9711e-11, 3.1721e-04, 7.4293e-07, | |
-4.9920e-07 | |
); | |
static float16 fc6b = float16c( | |
2.2714e-01, 1.0628e+00, 3.9417e-01, -9.1691e-06, -1.7245e-02, -9.9822e-02, 1.1159e-01, -2.2284e-01, -6.4149e-01, -6.5882e-02, -1.0042e-02, -7.9240e-01, -1.0098e-02, -5.5733e-01, -1.5944e-01, -2.4783e-06 | |
); | |
static float16x16 fc7w = float16x16c( | |
-3.3368e-04, -2.0511e-09, 1.3507e-13, -2.0835e-30, -8.9563e-05, | |
-2.2083e-04, -4.3898e-03, -1.6523e-14, 9.5925e-15, 3.5007e-04, | |
2.7195e-15, 3.9447e-03, 6.9472e-05, -4.7418e-03, 7.9159e-15, | |
-5.3382e-05, | |
6.5930e-01, -7.6725e-01, 1.4933e-02, -2.7317e-03, -8.1096e-03, | |
6.4935e-02, 5.6061e-01, -2.6877e-01, 6.2972e-01, 8.4748e-02, | |
-9.7895e-02, -7.0500e-01, 1.2369e-07, -5.0042e-01, 8.5414e-01, | |
1.8014e-05, | |
-9.2344e-02, -2.2949e-02, -7.9495e-03, 9.2924e-07, 1.2359e-03, | |
1.0546e-02, -6.5453e-02, 8.3901e-03, -1.1595e-02, -9.6689e-06, | |
-8.2283e-04, 5.0200e-02, 2.2204e-04, 1.1410e-01, -6.3786e-09, | |
-1.3854e-04, | |
-6.1723e-05, 2.6105e-06, -2.2942e-10, -7.8822e-13, 1.5840e-04, | |
7.0081e-04, -4.8730e-05, -2.0872e-07, 6.5448e-07, -1.5148e-04, | |
2.6482e-11, 4.4828e-06, 2.5797e-04, -3.8185e-05, 9.1640e-05, | |
-7.5628e-05, | |
-4.0714e-02, -2.4560e-02, 1.0319e-04, -1.7318e-18, -3.4101e-04, | |
-5.2673e-05, -3.5838e-02, -1.7304e-03, -2.9954e-02, 4.0749e-07, | |
-2.8953e-05, -4.6734e-02, -1.4478e-05, -4.1356e-02, -5.2874e-03, | |
-4.9147e-05, | |
-6.7610e-02, -6.6341e-02, -6.1275e-05, 4.6055e-05, 4.1994e-04, | |
6.1766e-06, -7.4426e-02, 2.9700e-04, -6.6635e-03, -2.9646e-04, | |
-7.1018e-04, -2.6685e-03, 3.4240e-04, -1.8331e-04, -5.0710e-03, | |
-2.5629e-04, | |
-2.3757e-08, 2.2962e-09, -1.7975e-09, 4.5185e-13, -7.9350e-04, | |
4.6212e-14, -5.2547e-05, 9.8475e-12, -9.3564e-13, -1.6542e-18, | |
1.5432e-14, 5.5139e-04, 2.0735e-04, -1.2253e-03, 1.1854e-19, | |
-2.8879e-05, | |
-3.7094e-03, -3.2397e-04, -1.0582e-13, -2.6469e-05, 1.5319e-04, | |
-6.6400e-04, -2.2390e-02, -1.0689e-11, 4.2837e-09, 1.0039e-04, | |
-7.6566e-14, 2.7090e-09, -9.1709e-04, 1.6377e-07, -1.7708e-12, | |
-2.1844e-04, | |
3.8945e-01, -8.7520e-01, -1.2965e-04, 1.8731e-06, 1.9406e-03, | |
-1.6191e-02, -7.5292e-02, -2.6090e-02, 2.6442e-01, 3.3129e-02, | |
-1.0082e-04, -1.2659e-01, -1.8160e-11, -4.9713e-01, 5.9470e-01, | |
-3.8069e-09, | |
5.5365e-01, -6.1959e-01, -4.0338e-02, -6.8572e-04, 7.0567e-03, | |
6.9339e-02, 4.2942e-01, -3.7880e-01, 8.8104e-01, 9.5292e-02, | |
-2.0420e-02, -7.9178e-01, 3.2991e-09, -5.2172e-01, 7.7457e-01, | |
5.8714e-06, | |
2.1188e-06, -3.5135e-02, -1.9734e-05, -2.1056e-04, 5.5765e-04, | |
6.7379e-04, -1.9627e-02, -1.4751e-05, 3.5931e-06, -7.9483e-07, | |
-3.8859e-06, -1.1725e-04, 2.7967e-04, -2.0787e-03, -1.9819e-06, | |
1.4248e-04, | |
-7.7246e-03, -8.0561e-02, -1.4795e-02, -4.3777e-05, -1.2658e-04, | |
3.1831e-04, -5.4225e-02, -7.0650e-04, -7.1659e-03, 6.0752e-07, | |
-1.0725e-02, -5.3331e-02, 4.2004e-05, -6.0358e-02, 6.7812e-04, | |
-3.5966e-05, | |
1.8555e-06, 6.0506e-07, -2.6325e-05, -5.2331e-04, 1.0242e-04, | |
8.2633e-05, -1.3438e-03, -4.2223e-07, 1.4228e-10, -2.8149e-04, | |
-3.0112e-08, -8.8949e-06, 1.4554e-04, -2.1854e-05, 1.8604e-13, | |
-1.3169e-05, | |
-3.1122e-08, 2.4821e-08, 1.2236e-12, -9.3348e-13, -2.4984e-15, | |
9.7103e-14, -2.2454e-06, 4.8636e-15, 2.8684e-13, 1.1434e-04, | |
2.4075e-14, 2.1565e-04, 7.7284e-06, -4.1063e-04, -2.9193e-16, | |
-2.6291e-04, | |
-1.8776e-04, -3.0913e-02, 3.3972e-06, 2.2085e-32, -6.4115e-05, | |
1.6640e-04, -1.9963e-02, 1.6646e-10, -2.2776e-03, -5.1131e-05, | |
-3.2951e-10, 3.4971e-07, -6.6808e-05, -1.0468e-02, 3.0257e-11, | |
-1.4891e-04, | |
-4.3442e-03, 1.0599e+00, 9.3227e-01, 7.5587e-05, 6.3168e-02, | |
-5.1792e-02, -8.6538e-01, 1.0212e+00, -8.4837e-01, 5.0968e-02, | |
5.3675e-01, 1.5752e-01, -7.3940e-03, 6.1614e-01, -1.1031e-02, | |
-5.5283e-05 | |
); | |
static float16 fc7b = float16c( | |
-6.6433e-03, 3.4319e-02, -3.7446e-02, -5.3883e-05, -3.0980e-02, | |
-7.1655e-02, -5.9663e-04, -3.6403e-03, -2.0143e-01, -2.9087e-01, | |
-2.7705e-02, -5.2558e-02, -1.0902e-05, -9.3354e-04, -2.4613e-02, | |
1.9051e-02 | |
); | |
static float16x16 fc8w = float16x16c( | |
8.8172e-05, -1.9352e-01, 3.2740e-02, -1.4969e-08, -6.1537e-03, | |
5.1706e-02, 2.7686e-04, -5.0813e-03, -9.4073e-12, -5.2234e-03, | |
-5.9610e-03, -6.3308e-02, -9.0824e-06, -1.9249e-03, -1.7405e-02, | |
9.3877e-01, | |
-1.4897e-04, -2.0827e-05, -2.1843e-04, 2.4997e-04, -1.0131e-04, | |
6.6141e-05, 1.7319e-06, 3.1566e-14, 2.5014e-11, -1.2059e-07, | |
2.3172e-04, 2.0346e-04, -1.5998e-14, 5.3558e-06, 1.3615e-04, | |
-1.6208e-03, | |
-8.6413e-12, 4.5342e-02, -6.4657e-02, -3.8393e-09, 6.5697e-05, | |
-6.9201e-04, -2.2573e-06, 1.7828e-04, -9.0648e-03, -9.8023e-03, | |
1.9664e-04, -4.0816e-02, -1.5158e-05, -1.0796e-05, -8.1174e-04, | |
4.2779e-01, | |
-4.5919e-05, -4.5420e-03, -7.5167e-04, 9.2404e-05, 2.9083e-04, | |
-3.6458e-05, -1.3715e-04, 3.3473e-04, 2.5937e-08, -8.1208e-04, | |
-4.9487e-08, -2.5071e-04, 2.8783e-04, -1.7482e-15, -4.0389e-11, | |
-4.0883e-03, | |
2.4526e-05, -2.2511e-01, 3.8991e-02, 4.5182e-08, -8.4859e-03, | |
2.5108e-02, 9.5501e-05, -2.8384e-03, -2.2847e-19, -7.2542e-02, | |
-3.3070e-03, -7.8683e-02, -7.6797e-06, -1.1326e-03, -1.2141e-02, | |
8.2769e-01, | |
4.4459e-04, -4.6566e-02, 2.4364e-06, 7.2010e-05, -1.6786e-04, | |
-4.8581e-04, -7.9731e-06, -1.3261e-04, -4.5189e-04, -2.1770e-02, | |
2.0692e-04, -8.9083e-16, 1.8707e-04, -3.6536e-15, -1.2029e-05, | |
-4.3526e-03, | |
2.0710e-04, -1.7080e-02, -1.7470e-02, -1.5589e-04, 1.6558e-05, | |
3.2091e-05, 2.8546e-04, 6.1084e-04, 1.1907e-08, 3.8079e-06, | |
1.3516e-05, 2.5025e-05, -2.6095e-05, 3.6604e-04, 1.4883e-04, | |
1.7732e-02, | |
-4.5647e-05, -8.1576e-02, 3.7156e-08, -2.8034e-04, 8.5019e-05, | |
5.9294e-04, -2.2225e-15, 1.4533e-04, -1.3230e-02, -6.9188e-02, | |
-3.2058e-06, -3.9733e-04, -1.3188e-04, 9.3879e-05, -1.1491e-04, | |
1.6845e-06, | |
1.3680e-23, -2.5053e-02, 4.3518e-08, -2.4755e-04, 1.2729e-04, | |
1.5543e-05, -1.3892e-04, 6.9983e-06, -1.2313e-07, -5.8522e-03, | |
-2.2244e-04, 1.1284e-15, 4.2985e-04, -1.5649e-15, -8.0974e-05, | |
-7.1789e-04, | |
-1.4712e-08, 8.5062e-01, 3.5407e-02, 1.0441e-04, 8.0135e-03, | |
-6.9279e-02, 5.1931e-08, 3.1577e-03, 5.6766e-01, 7.4068e-01, | |
6.9285e-03, 4.4261e-02, 4.1714e-06, 2.0287e-05, 2.6118e-02, | |
7.3465e-02, | |
1.3584e-04, -2.2376e-02, 7.0968e-03, 2.5432e-04, 1.3513e-05, | |
1.8872e-05, 1.2082e-18, -3.9993e-04, 2.5758e-03, -7.6555e-03, | |
-1.8528e-18, 5.0270e-22, -8.8262e-06, -3.5487e-17, 1.1069e-03, | |
-2.4969e-02, | |
3.5395e-15, -8.2677e-11, -4.2109e-04, -2.1855e-13, -6.3664e-05, | |
1.9574e-14, -1.4473e-13, -1.0937e-13, 3.1198e-12, 1.1744e-11, | |
2.3418e-05, 2.6766e-13, -7.5946e-14, -4.1697e-14, 8.1010e-05, | |
-3.3670e-04, | |
-1.0736e-03, -3.6581e-03, 3.1512e-10, 1.3099e-09, 2.1033e-06, | |
-1.8037e-06, -1.8452e-18, 2.6803e-14, -1.9336e-03, 1.1863e-02, | |
5.9527e-08, 1.2120e-06, 2.3592e-14, -3.3532e-16, -3.4310e-10, | |
-2.4390e-20, | |
-2.4859e-04, -2.6258e-02, -6.8135e-05, -1.4746e-04, -2.6114e-03, | |
3.8986e-04, 2.2491e-04, 1.4746e-04, -3.3751e-02, -2.8042e-02, | |
-1.4981e-04, 2.9407e-08, -1.2097e-04, 1.0396e-13, -1.2070e-04, | |
-9.4841e-02, | |
1.7271e-05, -8.0709e-04, 5.6176e-05, 1.4658e-04, 2.6648e-04, | |
1.3495e-04, -8.3396e-16, 1.2039e-04, 3.2981e-12, -3.4786e-05, | |
-2.2564e-04, -3.5477e-04, -8.4387e-16, 1.0233e-14, 5.3243e-04, | |
7.5655e-07, | |
3.8670e-14, -1.3252e-05, -6.0839e-04, -7.2930e-07, 2.2567e-04, | |
2.1947e-05, 6.1273e-06, 1.7543e-13, -3.5539e-13, -2.7997e-08, | |
-2.6626e-04, -3.2798e-04, -6.9595e-05, -1.0384e-14, 1.9197e-04, | |
-1.5440e-04 | |
); | |
static float16 fc8b = float16c( | |
1.7862e-01, -3.6672e-03, -4.6284e-01, -1.8104e-02, 9.7633e-02, | |
-3.4489e-02, -2.7777e-02, -4.8301e-02, -3.9007e-03, -2.6766e-02, | |
-1.2426e-01, -2.1761e-02, -4.1120e-02, -2.0966e-02, -3.4528e-04, | |
-1.8575e-04 | |
); | |
static float16 fc9w = float16c( | |
-6.5965e-01, -6.2027e-04, -3.7686e-01, 3.7381e-03, -5.6407e-01, -6.5911e-02, -7.8495e-03, -9.1091e-03, -3.3126e-03, 6.9514e-01, 1.5093e-02, -3.5772e-03, -2.9095e-04, 1.7019e-02, 1.2381e-02, 1.0402e-02 | |
); | |
static float fc9b = -0.4250; | |
float3 fracp1 = p1 * 0.5 + 0.5; | |
float8 htp0 = float8c(htp[0][0],htp[0][1],htp[0][2],htp[0][3],htp[0][4],htp[0][5],htp[0][6],htp[0][7]); | |
float8 htp1 = float8c(htp[1][0],htp[1][1],htp[1][2],htp[1][3],htp[1][4],htp[1][5],htp[1][6],htp[1][7]); | |
float8 htp2 = float8c(htp[2][0],htp[2][1],htp[2][2],htp[2][3],htp[2][4],htp[2][5],htp[2][6],htp[2][7]); | |
float8 htp3 = float8c(htp[3][0],htp[3][1],htp[3][2],htp[3][3],htp[3][4],htp[3][5],htp[3][6],htp[3][7]); | |
float8 htp4 = float8c(htp[4][0],htp[4][1],htp[4][2],htp[4][3],htp[4][4],htp[4][5],htp[4][6],htp[4][7]); | |
float8 htp5 = float8c(htp[5][0],htp[5][1],htp[5][2],htp[5][3],htp[5][4],htp[5][5],htp[5][6],htp[5][7]); | |
float8 htp6 = float8c(htp[6][0],htp[6][1],htp[6][2],htp[6][3],htp[6][4],htp[6][5],htp[6][6],htp[6][7]); | |
float8 htp7 = float8c(htp[7][0],htp[7][1],htp[7][2],htp[7][3],htp[7][4],htp[7][5],htp[7][6],htp[7][7]); | |
float8 featurep = lerp( | |
lerp( | |
lerp(htp0, htp1, fracp1.z), | |
lerp(htp2, htp3, fracp1.z), | |
fracp1.y | |
), | |
lerp( | |
lerp(htp4, htp5, fracp1.z), | |
lerp(htp6, htp7, fracp1.z), | |
fracp1.y | |
), | |
fracp1.x | |
); | |
float3 fracrd = rd * 0.5 + 0.5; | |
float8 htd0 = float8c(htd[0][0],htd[0][1],htd[0][2],htd[0][3],htd[0][4],htd[0][5],htd[0][6],htd[0][7]); | |
float8 htd1 = float8c(htd[1][0],htd[1][1],htd[1][2],htd[1][3],htd[1][4],htd[1][5],htd[1][6],htd[1][7]); | |
float8 htd2 = float8c(htd[2][0],htd[2][1],htd[2][2],htd[2][3],htd[2][4],htd[2][5],htd[2][6],htd[2][7]); | |
float8 htd3 = float8c(htd[3][0],htd[3][1],htd[3][2],htd[3][3],htd[3][4],htd[3][5],htd[3][6],htd[3][7]); | |
float8 htd4 = float8c(htd[4][0],htd[4][1],htd[4][2],htd[4][3],htd[4][4],htd[4][5],htd[4][6],htd[4][7]); | |
float8 htd5 = float8c(htd[5][0],htd[5][1],htd[5][2],htd[5][3],htd[5][4],htd[5][5],htd[5][6],htd[5][7]); | |
float8 htd6 = float8c(htd[6][0],htd[6][1],htd[6][2],htd[6][3],htd[6][4],htd[6][5],htd[6][6],htd[6][7]); | |
float8 htd7 = float8c(htd[7][0],htd[7][1],htd[7][2],htd[7][3],htd[7][4],htd[7][5],htd[7][6],htd[7][7]); | |
float8 featured = lerp( | |
lerp( | |
lerp(htd0, htd1, fracrd.z), | |
lerp(htd2, htd3, fracrd.z), | |
fracrd.y | |
), | |
lerp( | |
lerp(htd4, htd5, fracrd.z), | |
lerp(htd6, htd7, fracrd.z), | |
fracrd.y | |
), | |
fracrd.x | |
); | |
float8 featuredd = float8c(featured.u, float4(featured.l.xyz, dot(p1,rd))); | |
float16 input = float16c(featurep, featuredd); | |
float16 temp = input; | |
temp = ReLU(add(mul(temp,transpose(fc1w)),fc1b)); | |
temp = ReLU(add(mul(temp,transpose(fc2w)),fc2b)); | |
temp = ReLU(add(mul(temp,transpose(fc3w)),fc3b)); | |
temp = ReLU(add(mul(temp,transpose(fc4w)),fc4b)); | |
temp = ReLU(add(mul(temp,transpose(fc5w)),fc5b)); | |
temp = ReLU(add(mul(temp,transpose(fc6w)),fc6b)); | |
temp = ReLU(add(mul(temp,transpose(fc7w)),fc7b)); | |
temp = ReLU(add(mul(temp,transpose(fc8w)),fc8b)); | |
float output = sigmoid(dot(fc9w,temp)+fc9b); | |
col.rgb = output; | |
////col.rgb = lerp(col.rgb, fixed3(1,0,0), step(abs(output-_ClipTh),0.05)); | |
clip(output-_ClipTh); | |
//col.rgb = mul(transpose(fc1w),input).l; | |
//col.rgb = input.l; | |
//if (abs(length(p1)-1)<1e-3) clip(-1); | |
//col.rgb = rd; | |
// apply fog | |
/* | |
if (d > 0) | |
{ | |
col.rgb = lerp(col.rgb, float3(1,0,0), step(distance(p1,i.opos),0.1)); | |
col.rgb = lerp(col.rgb, float3(0,1,0), step(distance(p2,i.opos),0.1)); | |
} | |
*/ | |
UNITY_APPLY_FOG(i.fogCoord, col); | |
return col; | |
} | |
ENDCG | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment