Can a user-defined function call another user-defined function

The error indicates that build_b_spline is expecting the first argument (t) to have type real[] (i.e., an array of reals), but you’re passing an array of integers (i.e., int[]).

You either need to change the declaration of build_b_spline to expect the first argument to have type int[], or you need to change the type of data that you’re passing to it (i.e., you need t to have type real[])