diff options
author | Jason Gross <jgross@mit.edu> | 2017-10-17 15:40:32 -0400 |
---|---|---|
committer | Jason Gross <jgross@mit.edu> | 2017-10-17 15:40:32 -0400 |
commit | 087c6ec0b0584b2da9de6537a3e97b2411745db4 (patch) | |
tree | fed6375e083dc2c8e0fd8d246a04f50090e29b56 /src/Arithmetic/Saturated | |
parent | e94e3aaa2a67a6a5671e5c19489d4d1df1e72533 (diff) |
Add MulSplitUnfolder
Diffstat (limited to 'src/Arithmetic/Saturated')
-rw-r--r-- | src/Arithmetic/Saturated/MulSplitUnfolder.v | 40 | ||||
-rw-r--r-- | src/Arithmetic/Saturated/WrappersUnfolder.v | 1 |
2 files changed, 41 insertions, 0 deletions
diff --git a/src/Arithmetic/Saturated/MulSplitUnfolder.v b/src/Arithmetic/Saturated/MulSplitUnfolder.v new file mode 100644 index 000000000..d74051e46 --- /dev/null +++ b/src/Arithmetic/Saturated/MulSplitUnfolder.v @@ -0,0 +1,40 @@ +Require Import Crypto.Arithmetic.CoreUnfolder. +Require Import Crypto.Arithmetic.Saturated.CoreUnfolder. +Require Import Crypto.Arithmetic.Saturated.MulSplit. + +Module B. + Module Associational. +(** +<< +#!/bin/bash +for i in sat_multerm_cps sat_multerm sat_mul_cps sat_mul; do + echo " Definition ${i}_sig := parameterize_sig (@MulSplit.B.Associational.${i})."; + echo " Definition ${i} := parameterize_from_sig ${i}_sig."; + echo " Definition ${i}_eq := parameterize_eq ${i} ${i}_sig."; + echo " Hint Rewrite <- ${i}_eq : pattern_runtime."; echo ""; +done +echo " End Associational." +echo "End B." +>> *) + Definition sat_multerm_cps_sig := parameterize_sig (@MulSplit.B.Associational.sat_multerm_cps). + Definition sat_multerm_cps := parameterize_from_sig sat_multerm_cps_sig. + Definition sat_multerm_cps_eq := parameterize_eq sat_multerm_cps sat_multerm_cps_sig. + Hint Rewrite <- sat_multerm_cps_eq : pattern_runtime. + + Definition sat_multerm_sig := parameterize_sig (@MulSplit.B.Associational.sat_multerm). + Definition sat_multerm := parameterize_from_sig sat_multerm_sig. + Definition sat_multerm_eq := parameterize_eq sat_multerm sat_multerm_sig. + Hint Rewrite <- sat_multerm_eq : pattern_runtime. + + Definition sat_mul_cps_sig := parameterize_sig (@MulSplit.B.Associational.sat_mul_cps). + Definition sat_mul_cps := parameterize_from_sig sat_mul_cps_sig. + Definition sat_mul_cps_eq := parameterize_eq sat_mul_cps sat_mul_cps_sig. + Hint Rewrite <- sat_mul_cps_eq : pattern_runtime. + + Definition sat_mul_sig := parameterize_sig (@MulSplit.B.Associational.sat_mul). + Definition sat_mul := parameterize_from_sig sat_mul_sig. + Definition sat_mul_eq := parameterize_eq sat_mul sat_mul_sig. + Hint Rewrite <- sat_mul_eq : pattern_runtime. + + End Associational. +End B. diff --git a/src/Arithmetic/Saturated/WrappersUnfolder.v b/src/Arithmetic/Saturated/WrappersUnfolder.v index 20df67b58..52006a702 100644 --- a/src/Arithmetic/Saturated/WrappersUnfolder.v +++ b/src/Arithmetic/Saturated/WrappersUnfolder.v @@ -1,5 +1,6 @@ Require Import Crypto.Arithmetic.CoreUnfolder. Require Import Crypto.Arithmetic.Saturated.CoreUnfolder. +Require Import Crypto.Arithmetic.Saturated.MulSplitUnfolder. Require Import Crypto.Arithmetic.Saturated.Wrappers. Module Columns. |