KeccakP-400-unrolling.macros 3.02 KB
Newer Older
Enrico Pozzobon committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
#define rounds20X \
    prepareThetaX \
    thetaRhoPiChiIotaPrepareTheta( 0, S.X.A, E) \
    thetaRhoPiChiIotaPrepareTheta( 1, E, S.X.A) \
    thetaRhoPiChiIotaPrepareTheta( 2, S.X.A, E) \
    thetaRhoPiChiIotaPrepareTheta( 3, E, S.X.A) \
    thetaRhoPiChiIotaPrepareTheta( 4, S.X.A, E) \
    thetaRhoPiChiIotaPrepareTheta( 5, E, S.X.A) \
    thetaRhoPiChiIotaPrepareTheta( 6, S.X.A, E) \
    thetaRhoPiChiIotaPrepareTheta( 7, E, S.X.A) \
    thetaRhoPiChiIotaPrepareTheta( 8, S.X.A, E) \
    thetaRhoPiChiIotaPrepareTheta( 9, E, S.X.A) \
    thetaRhoPiChiIotaPrepareTheta(10, S.X.A, E) \
    thetaRhoPiChiIotaPrepareTheta(11, E, S.X.A) \
    thetaRhoPiChiIotaPrepareTheta(12, S.X.A, E) \
    thetaRhoPiChiIotaPrepareTheta(13, E, S.X.A) \
    thetaRhoPiChiIotaPrepareTheta(14, S.X.A, E) \
    thetaRhoPiChiIotaPrepareTheta(15, E, S.X.A) \
    thetaRhoPiChiIotaPrepareTheta(16, S.X.A, E) \
    thetaRhoPiChiIotaPrepareTheta(17, E, S.X.A) \
    thetaRhoPiChiIotaPrepareTheta(18, S.X.A, E) \
    thetaRhoPiChiIota(19, E, S.X.A) \

#define rounds16X \
    prepareThetaX \
    thetaRhoPiChiIotaPrepareTheta( 4, S.X.A, E) \
    thetaRhoPiChiIotaPrepareTheta( 5, E, S.X.A) \
    thetaRhoPiChiIotaPrepareTheta( 6, S.X.A, E) \
    thetaRhoPiChiIotaPrepareTheta( 7, E, S.X.A) \
    thetaRhoPiChiIotaPrepareTheta( 8, S.X.A, E) \
    thetaRhoPiChiIotaPrepareTheta( 9, E, S.X.A) \
    thetaRhoPiChiIotaPrepareTheta(10, S.X.A, E) \
    thetaRhoPiChiIotaPrepareTheta(11, E, S.X.A) \
    thetaRhoPiChiIotaPrepareTheta(12, S.X.A, E) \
    thetaRhoPiChiIotaPrepareTheta(13, E, S.X.A) \
    thetaRhoPiChiIotaPrepareTheta(14, S.X.A, E) \
    thetaRhoPiChiIotaPrepareTheta(15, E, S.X.A) \
    thetaRhoPiChiIotaPrepareTheta(16, S.X.A, E) \
    thetaRhoPiChiIotaPrepareTheta(17, E, S.X.A) \
    thetaRhoPiChiIotaPrepareTheta(18, S.X.A, E) \
    thetaRhoPiChiIota(19, E, S.X.A) \

#define rounds12X \
    prepareThetaX \
    thetaRhoPiChiIotaPrepareTheta( 8, S.X.A, E) \
    thetaRhoPiChiIotaPrepareTheta( 9, E, S.X.A) \
    thetaRhoPiChiIotaPrepareTheta(10, S.X.A, E) \
    thetaRhoPiChiIotaPrepareTheta(11, E, S.X.A) \
    thetaRhoPiChiIotaPrepareTheta(12, S.X.A, E) \
    thetaRhoPiChiIotaPrepareTheta(13, E, S.X.A) \
    thetaRhoPiChiIotaPrepareTheta(14, S.X.A, E) \
    thetaRhoPiChiIotaPrepareTheta(15, E, S.X.A) \
    thetaRhoPiChiIotaPrepareTheta(16, S.X.A, E) \
    thetaRhoPiChiIotaPrepareTheta(17, E, S.X.A) \
    thetaRhoPiChiIotaPrepareTheta(18, S.X.A, E) \
    thetaRhoPiChiIota(19, E, S.X.A) \

#define rounds8X \
    prepareThetaX \
    thetaRhoPiChiIotaPrepareTheta(12, S.X.A, E) \
    thetaRhoPiChiIotaPrepareTheta(13, E, S.X.A) \
    thetaRhoPiChiIotaPrepareTheta(14, S.X.A, E) \
    thetaRhoPiChiIotaPrepareTheta(15, E, S.X.A) \
    thetaRhoPiChiIotaPrepareTheta(16, S.X.A, E) \
    thetaRhoPiChiIotaPrepareTheta(17, E, S.X.A) \
    thetaRhoPiChiIotaPrepareTheta(18, S.X.A, E) \
    thetaRhoPiChiIota(19, E, S.X.A) \

#define rounds1X \
    prepareThetaX \
    thetaRhoPiChiIotaPrepareTheta(19, S.X.A, E) \
    copyStateVariables(S.X.A, E) \

// prevent "warning: backslash-newline at end of file"