Lerp and Slerp returns identical value?

I ran Lerp and Slerp under the same condition and tried to observe the difference in returned values, but it seems like their output are exactly identical. Am I doing wrong in the way I test it, or is this the way it’s supposed to be?

The code I ran was like:

    void Update()
    {
        float a = 0;
        int counter = 0;
        while (a < 1)
        {
            Vector3 lerp  = Vector3.Lerp(new Vector3(0, 0, 0),  new Vector3(0, 0, 100), a);
            Vector3 slerp = Vector3.Slerp(new Vector3(0, 0, 0), new Vector3(0, 0, 100), a);

            print(counter++ + "," + lerp.z + "," + slerp.z); // lerp.z and slerp.z are same vals

            a = a + 0.01f;
        }
    }

Yea, this is the way it’s supposed to be. Try using more than 1 axis

Vector3 lerp  = Vector3.Lerp(new Vector3(100, 0, 0),  new Vector3(0, 0, 100), a);
Vector3 slerp = Vector3.Slerp(new Vector3(100, 0, 0), new Vector3(0, 0, 100), a);

Notice a difference now?

https://docs.unity3d.com/ScriptReference/Vector3.Lerp.html

https://docs.unity3d.com/ScriptReference/Vector3.Slerp.html