Bigint : better ensure canonicity of arrays of int blocks
Bigint : better ensure canonicity of arrays of int blocks

In the chosen representation of negative numbers, (-base) is
actually legal as first element of an int array. This situation
was wrongly handled by many functions in this module, leading to
possible non-canonical representation of a big number, and hence
faulty "equal" answers or buggy output of "to_string".

For instance, on a 32-bit machine :

open Big_int;;
to_string (sub (of_string "-10000") (of_string "-1000000"));;
(* was displaying 9810000 instead of 990000 *)

Also simplified "of_string", which now rely on "neg" for handling
negative numbers.

Btw, improved checks comparing w.r.t OCaml's Big_int instead of float.

git-svn-id: 44dc50bdcc0f5d1a212c497508dc9452e0b35e2b@15665 85f007b7-540e-0410-9357-904b9bb8a0f7

aspiwack/coq,mlasson/coq,jhjourdan/coq,barras/coq,jpdeplaix/coq,ejgallego/coq,ejgallego/coq,gares/coq,gmalecha/coq,pirapira/coq2rust,maximedenes/coq,gmalecha/coq,ale-f/coq,shindere/coq,barras/coq,ale-f/coq,william-lawvere/coq,william-lawvere/coq,gares/coq,amintimany/coq,herbelin/github-coq,Lionel-Rieg/coq,gares/coq,pirapira/coq2rust,herbelin/github-coq,silene/coq,TOSPIO/coq,TheTypoMaster/coq,mattam82/coq,maximedenes/coq,jpdeplaix/coq,Zimmi48/coq,jhjourdan/coq,SkySkimmer/coq,JasonGross/coq,ejgallego/coq,ejgallego/coq,asr/coq,amintimany/coq,ppedrot/coq,8l/coq,ppedrot/coq,william-lawvere/coq,pirbo/coq,SkySkimmer/coq,Zimmi48/coq,gmalecha/coq,coq/coq,letouzey/coq-wip,jhjourdan/coq,mattam82/coq,pirbo/coq,letouzey/coq-wip,TOSPIO/coq,Ptival/coq,ppedrot/coq,Ptival/coq,mattam82/coq,gares/coq,barras/coq,JasonGross/coq,gares/coq,Zimmi48/coq,aspiwack/coq,letouzey/coq-wip,jpdeplaix/coq,asr/coq,aspiwack/coq,mlasson/coq,amintimany/coq,Lionel-Rieg/coq,coq/coq,Matafou/coq,Ptival/coq,Lionel-Rieg/coq,ale-f/coq,Zimmi48/coq,Matafou/coq,letouzey/coq-wip,herbelin/github-coq,shindere/coq,JasonGross/coq,Matafou/coq,letouzey/coq-wip,TheTypoMaster/coq,silene/coq,ppedrot/coq,maximedenes/coq,ppedrot/coq,TOSPIO/coq,shindere/coq,maximedenes/coq,TheTypoMaster/coq,asr/coq,maximedenes/coq,silene/coq,mlasson/coq,coq/coq,pirapira/coq2rust,8l/coq,8l/coq,JasonGross/coq,pirbo/coq,coq/coq,SkySkimmer/coq,SkySkimmer/coq