Re: Average of 2-D array
- Posted by irv May 31, 2015
- 1464 views
jimcbrown said...
Maybe this is a bug... average() won't fail but just return an incorrect answer.
Technically, you're correct. average doesn't fail, it causes sum to fail with a type-check error, even though sum can handle the array when it's passed directly.
/usr/local/share/euphoria/include/std/stats.e:490 in function sum() type_check failure, result_ is {1,2,3,4,5,6,7,8,9,10}
The 'array' being passed looks like this (yep. elementary-school multiplication tables)
{ {1,2,3,4,5,6,7,8,9,10}, {2,4,6,8,10,12,14,16,18,20}, {3,6,9,12,15,18,21,24,27,30}, {4,8,12,16,20,24,28,32,36,40}, {5,10,15,20,25,30,35,40,45,50}, {6,12,18,24,30,36,42,48,54,60}, {7,14,21,28,35,42,49,56,63,70}, {8,16,24,32,40,48,56,64,72,80}, {9,18,27,36,45,54,63,72,81,90}, {10,20,30,40,50,60,70,80,90,100} }
? sum(x) gives 3025
average(x) gives the error message above.
And, just wondering, but has no one ever needed the total number of elements in a nested sequence? I can write a function to do that, probably should be recursive, but it seems like something that should already exist.