• Michael Hamburg's avatar
    WARNING: This commit is largely untested. · c6d69dec
    Michael Hamburg authored
    Continuing demagication and factoring of field code.
    
    Removing high-level ops from p448.h and putting them in field.h.  That way they
    won't need rewriting for new fields and architectures.
    
    Create constant_time.h which contains constant-time lookups, condswaps, etc.
    That way the code is the same on all architectures, instead of varying depending
    on whether the field size is a multiple of the vector register size.  I should
    still add a constant_time_select to factor out field_cond_negate.
    
    TODO: I need to test this for correctness and performance on various platforms.
    It works on my Mac, but since Yosemite the timing is totally unpredictable
    (background tasks?  variable boost?).
    c6d69dec