Descobri que há um limite superior em seus subscritos/índices em uma matriz em GNU bc . Executando interativamente e pedindo para deixar arr[100000000]=42
retorna um erro:
Runtime error (func=(main), adr=17): Array arr subscript out of bounds.
Este limite de tamanho de array não está listado entre os limites de bc e não parece que o limite de "nomes de variáveis" de 32767 afeta isso, pois bc aceita arr[100000]=42
sem reclamar. Qual é o limite exato dos subscritos/índices da matriz bc? Existe uma maneira de alterar esse limite?
Você pode ver os
bc
limites:E dentro
man bc (1p)
vemos:Olhando para 1.07.1 , ele é definido no arquivo
const.h
.Por tentativa e erro, o limite superior é 2²⁴ = 16.777.216. Ainda não sei por que esse é o limite superior ou como alterá-lo.