Home My Page Projects Code Snippets Project Openings diderot
Summary Activity Tracker Tasks SCM

SCM Repository

[diderot] Diff of /branches/vis15/src/compiler/basis/basis.sml
ViewVC logotype

Diff of /branches/vis15/src/compiler/basis/basis.sml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 3481, Fri Dec 4 21:59:49 2015 UTC revision 3482, Sat Dec 5 14:43:53 2015 UTC
# Line 54  Line 54 
54            BV.red_sum,            BV.red_sum,
55            BV.red_variance,            BV.red_variance,
56          (* Math functions that have not yet been lifted to work on fields *)          (* Math functions that have not yet been lifted to work on fields *)
57            BV.fn_atan2_tt,            BV.fn_atan2_rr,
58            BV.fn_ceil_t,            BV.fn_ceil_r,
59            BV.fn_floor_t,            BV.fn_floor_r,
60            BV.fn_fmod_tt,            BV.fn_fmod_rr,
61            BV.fn_erf_t,            BV.fn_erf_r,
62            BV.fn_erfc_t,            BV.fn_erfc_r,
63            BV.fn_log_t,            BV.fn_log_r,
64            BV.fn_log10_t,            BV.fn_log10_r,
65            BV.fn_log2_t,            BV.fn_log2_r,
66            BV.fn_pow_tt            BV.fn_pow_rr
67          ]          ]
68    
69      val basisVars = [      val basisVars = [
# Line 91  Line 91 
91                BV.mul_ss, BV.mul_sf, BV.mul_fs, BV.mul_st, BV.mul_ts                BV.mul_ss, BV.mul_sf, BV.mul_fs, BV.mul_st, BV.mul_ts
92              ]),              ]),
93            (N.op_div, [BV.div_ii, BV.div_rr, BV.div_tr, BV.div_tr, BV.div_fr, BV.div_ss, BV.div_fs]),            (N.op_div, [BV.div_ii, BV.div_rr, BV.div_tr, BV.div_tr, BV.div_fr, BV.div_ss, BV.div_fs]),
94            (N.op_exp, [BV.exp_ri, BV.exp_rr]),            (N.op_pow, [BV.pow_ri, BV.pow_rr, BV.pow_si]),
95            (N.op_curl, [BV.curl2D, BV.curl3D]),            (N.op_curl, [BV.curl2D, BV.curl3D]),
96            (N.op_convolve, [BV.convolve_vk, BV.convolve_kv]),            (N.op_convolve, [BV.convolve_vk, BV.convolve_kv]),
97            (N.op_lt, [BV.lt_ii, BV.lt_rr]),            (N.op_lt, [BV.lt_ii, BV.lt_rr]),
# Line 101  Line 101 
101            (N.op_cross, [BV.op_cross2_tt, BV.op_cross3_tt, BV.op_cross2_ff, BV.op_cross3_ff]),            (N.op_cross, [BV.op_cross2_tt, BV.op_cross3_tt, BV.op_cross2_ff, BV.op_cross3_ff]),
102            (N.op_norm, [BV.op_norm_t, BV.op_norm_f]),            (N.op_norm, [BV.op_norm_t, BV.op_norm_f]),
103          (* overloaded functions *)          (* overloaded functions *)
104            (N.fn_acos, [BV.fn_acos_t, BV.fn_acos_f]),            (N.fn_abs, [BV.fn_abs_i, BV.fn_abs_r]),
105            (N.fn_asin, [BV.fn_asin_t, BV.fn_asin_f]),            (N.fn_acos, [BV.fn_acos_r, BV.fn_acos_s]),
106            (N.fn_atan, [BV.fn_atan_f, BV.fn_atan_t]),            (N.fn_asin, [BV.fn_asin_r, BV.fn_asin_s]),
107              (N.fn_atan, [BV.fn_atan_r, BV.fn_atan_s]),
108            (N.fn_clamp, [BV.clamp_rrr, BV.clamp_vvv, BV.image_clamp]),            (N.fn_clamp, [BV.clamp_rrr, BV.clamp_vvv, BV.image_clamp]),
109            (N.fn_cos, [BV.fn_cos_t, BV.fn_cos_f]),            (N.fn_cos, [BV.fn_cos_r, BV.fn_cos_s]),
110            (N.fn_det, [BV.fn_det2_t, BV.fn_det3_t, BV.fn_det2_f, BV.fn_det3_f]),            (N.fn_det, [BV.fn_det2_t, BV.fn_det3_t, BV.fn_det2_f, BV.fn_det3_f]),
111            (N.fn_dist, [BV.dist2_t, BV.dist3_t]),            (N.fn_dist, [BV.dist2_t, BV.dist3_t]),
112            (N.fn_evals, [BV.evals2x2, BV.evals3x3]),            (N.fn_evals, [BV.evals2x2, BV.evals3x3]),
113            (N.fn_evecs, [BV.evecs2x2, BV.evecs3x3]),            (N.fn_evecs, [BV.evecs2x2, BV.evecs3x3]),
114            (N.fn_exp, [BV.fn_exp_f, BV.fn_exp_t]),            (N.fn_exp, [BV.fn_exp_r, BV.fn_exp_s]),
115            (N.fn_lerp, [BV.lerp5, BV.lerp3]),            (N.fn_lerp, [BV.lerp5, BV.lerp3]),
116            (N.fn_max, [BV.fn_max, BV.red_max]),            (N.fn_max, [BV.fn_max_i, BV.fn_max_r, BV.red_max]),
117            (N.fn_min, [BV.fn_min, BV.red_min]),            (N.fn_min, [BV.fn_min_i, BV.fn_min_r, BV.red_min]),
118            (N.fn_normalize, [BV.fn_normalize_t, BV.fn_normalize_f]),            (N.fn_normalize, [BV.fn_normalize_t, BV.fn_normalize_f]),
119            (N.fn_sin, [BV.fn_sin_t, BV.fn_sin_f]),            (N.fn_sin, [BV.fn_sin_r, BV.fn_sin_s]),
120            (N.fn_sphere, [BV.fn_sphere_im, BV.fn_sphere1_r, BV.fn_sphere2_t, BV.fn_sphere3_t]),            (N.fn_sphere, [BV.fn_sphere_im, BV.fn_sphere1_r, BV.fn_sphere2_t, BV.fn_sphere3_t]),
121            (N.fn_sqrt, [BV.fn_sqrt_f, BV.fn_sqrt_t]),            (N.fn_sqrt, [BV.fn_sqrt_r, BV.fn_sqrt_s]),
122            (N.fn_tan, [BV.fn_tan_f, BV.fn_tan_t]),            (N.fn_tan, [BV.fn_tan_r, BV.fn_tan_s]),
123            (N.fn_trace, [BV.fn_trace_t, BV.fn_trace_f]),            (N.fn_trace, [BV.fn_trace_t, BV.fn_trace_f]),
124            (N.fn_transpose, [BV.fn_transpose_t, BV.fn_transpose_f]),            (N.fn_transpose, [BV.fn_transpose_t, BV.fn_transpose_f]),
125          (* assignment operators are bound to the corresponding binary operator *)          (* assignment operators are bound to the corresponding binary operator *)
# Line 153  Line 154 
154                BV.op_outer_tt,                BV.op_outer_tt,
155                BV.op_norm_t,                BV.op_norm_t,
156                BV.op_not,                BV.op_not,
157                BV.fn_max,                BV.fn_abs_i, BV.fn_abs_r,
158                BV.fn_min,                BV.fn_max_i, BV.fn_max_r,
159                  BV.fn_min_i, BV.fn_min_r,
160                BV.fn_modulate,                BV.fn_modulate,
161                BV.fn_normalize_t,                BV.fn_normalize_t,
162                BV.fn_principleEvec,                BV.fn_principleEvec,
# Line 170  Line 172 
172                BV.sub_ii, BV.sub_tt,                BV.sub_ii, BV.sub_tt,
173                BV.mul_ii, BV.mul_rr, BV.mul_rt, BV.mul_tr,                BV.mul_ii, BV.mul_rr, BV.mul_rt, BV.mul_tr,
174                BV.div_ii, BV.div_rr, BV.div_tr, BV.div_tr,                BV.div_ii, BV.div_rr, BV.div_tr, BV.div_tr,
175                BV.exp_ri, BV.exp_rr,                BV.pow_ri, BV.pow_rr,
176                BV.neg_i, BV.neg_t,                BV.neg_i, BV.neg_t,
177                BV.clamp_rrr, BV.clamp_vvv,                BV.clamp_rrr, BV.clamp_vvv,
178                BV.lerp5, BV.lerp3,                BV.lerp5, BV.lerp3,
179  (* also sin, cos, etc. *)                BV.fn_acos_r,
180                BV.fn_atan_t,                BV.fn_asin_r,
181                BV.fn_atan2_tt,                BV.fn_atan_r,
182                BV.fn_ceil_t,                BV.fn_atan2_rr,
183                BV.fn_floor_t,                BV.fn_ceil_r,
184                BV.fn_fmod_tt,                BV.fn_cos_r,
185                BV.fn_exp_t,                BV.fn_erf_r,
186                BV.fn_erf_t,                BV.fn_erfc_r,
187                BV.fn_erfc_t,                BV.fn_exp_r,
188                BV.fn_log_t,                BV.fn_floor_r,
189                BV.fn_log10_t,                BV.fn_fmod_rr,
190                BV.fn_log2_t,                BV.fn_log_r,
191                BV.fn_pow_tt,                BV.fn_log10_r,
192                BV.fn_tan_t                BV.fn_log2_r,
193                  BV.fn_sin_r,
194                  BV.fn_sqrt_r,
195                  BV.fn_tan_r
196              ]              ]
197      in      in
198      fun allowedInConstExp x = Var.Set.member (allowed, x)      fun allowedInConstExp x = Var.Set.member (allowed, x)

Legend:
Removed from v.3481  
changed lines
  Added in v.3482

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0