Test demonstrating discrepancy in sqr output
Correct secp256k1_fe_verify and use it everywhere
Merge pull request #44

21f81a8 Correct secp256k1_fe_verify and use it everywhere (Pieter Wuille)
59447da Test demonstrating discrepancy in sqr output (Peter Dettman)
build: grab full paths to host tools

This ensures that make will work even if PATH has changed, which is often the
case when cross-compiling.

Fixes cross-compiled builds when integrated into Bitcoin's repo.
travis: minimize the dependencies available for each build config

This is a more realistic representation of a build environment. Helps to ensure
configure logic and that headers aren't accidentally assumed to be present.
Merge pull request #46

3ab1178 build: grab full paths to host tools (Cory Fields)
Merge pull request #47

7280781 travis: minimize the dependencies available for each build config (Cory Fields)
Add high-level secp256k1.c tests
Merge pull request #49

25f4aec Add high-level secp256k1.c tests (Pieter Wuille)
Add secp256k1_num_eq and use it in tests
Merge pull request #50

1a749b4 Add secp256k1_num_eq and use it in tests (Pieter Wuille)
Add compact field element variant and methods

- secp256k1_fec_t: compact field element representation
- secp256k1_fec_* methods: import/export, mul/sqr/sqr_pow
- only field "64bit" at the moment (no asm)
- sqrt and constant-time inversion changed to use this

A compact representation allows faster multiplication/squaring, although the overheads of converting back and forth make it unwieldy in the point formulae. Nevertheless, sqrt and Fermat-based inversion require >256 consecutive mul/sqr operations, making the conversion worthwhile.

The measured performance improvement for isolated secp256k1_fe_sqrt testing (and by extension secp256k1_fe_inv) is around %18, including all overheads.