Este pacote contém alguns utilitários matemáticos que não são encontrados no pacote de matemática incorporado. Em particular, coisas como Min e Max para tipos integrais, etc.
A matemática do pacote é organizada de uma maneira que existe um subdiretório para cada tipo integral, com interfaces quase idênticas: imath
para int
, u64math
para uint64
, etc. Algumas diferenças existem dependendo da assinatura do tipo (por exemplo, Abs
não faça sentido para tipos não assinados).
Para usar um pacote, faça o usual:
import "go.timothygu.me/math/v2/imath" // or any subdirectory you'd like to use
Todo o código funcional é gerado para diferentes tipos - pelo menos até que GO ganhe genéricos. O gerador vive em generate/
, e pode ser acionado usando:
go generate
Para executar testes, use o familiar
go test ./...
No entanto, você também pode fazer
make test
o que regeneraria os arquivos de origem usando go generate
se necessário.
Finalmente, para remover todos os arquivos gerados, faça
make clean
Veja License.md.