source: trunk/ADOL-C/src/oplate.h @ 676

Last change on this file since 676 was 676, checked in by kulshres, 3 years ago

add a condeqassign to test for a >= 0

since condassign only tests for a > 0, there was no equality test

Signed-off-by: Kshitij Kulshreshtha <kshitij@…>

  • Property svn:keywords set to Author Date Id Revision
File size: 2.8 KB
Line 
1/*----------------------------------------------------------------------------
2 ADOL-C -- Automatic Differentiation by Overloading in C++
3 File:     oplate.h
4 Revision: $Id: oplate.h 676 2016-03-17 14:29:13Z kulshres $
5 Contents: Numeric values for the various opcodes used by ADOL-C.
6 
7 Copyright (c) Andrea Walther, Andreas Griewank, Andreas Kowarz,
8               Hristo Mitev, Sebastian Schlenkrich, Jean Utke, Olaf Vogel,
9               Kshitij Kulshreshtha
10 
11 This file is part of ADOL-C. This software is provided as open source.
12 Any use, reproduction, or distribution of the software constitutes
13 recipient's acceptance of the terms of the accompanying license file.
14           
15----------------------------------------------------------------------------*/
16
17#if !defined(ADOLC_OPLATE_P_H)
18#define ADOLC_OPLATE_P_H 1
19
20/****************************************************************************/
21/* opcodes */
22
23enum OPCODES {
24  death_not = 0,
25  assign_ind,
26  assign_dep,
27  assign_a,
28  assign_d,
29  eq_plus_d,
30  eq_plus_a,
31  eq_min_d,
32  eq_min_a,
33  eq_mult_d,
34  eq_mult_a,
35  plus_a_a,
36  plus_d_a,
37  min_a_a,
38  min_d_a,
39  mult_a_a,
40  mult_d_a,
41  div_a_a,
42  div_d_a,
43  exp_op = 19,
44  cos_op,
45  sin_op,
46  atan_op,
47  log_op,
48  pow_op,
49  asin_op,
50  acos_op,
51  sqrt_op,
52  asinh_op,
53  acosh_op,
54  atanh_op,
55  gen_quad = 31,
56  end_of_tape,
57  start_of_tape,
58  end_of_op,
59  end_of_int,
60  end_of_val,
61  cond_assign = 37,
62  cond_assign_s,
63  take_stock_op,
64  assign_d_one,
65  assign_d_zero,
66  incr_a,
67  decr_a,
68  neg_sign_a,
69  pos_sign_a,
70  min_op = 46,
71  abs_val,
72  eq_zero,
73  neq_zero,
74  le_zero,
75  gt_zero,
76  ge_zero,
77  lt_zero,
78  eq_plus_prod = 54,
79  eq_min_prod,
80  erf_op,
81  ceil_op,
82  floor_op,
83  ext_diff = 59,
84  ext_diff_iArr,
85  ignore_me,
86  ext_diff_v2,
87  cond_eq_assign = 63,
88  cond_eq_assign_s,
89  subscript = 80,
90  subscript_ref,
91  ref_assign_d_zero,
92  ref_assign_d_one,
93  ref_assign_d,
94  ref_assign_a,
95  ref_assign_ind,
96  ref_incr_a,
97  ref_decr_a,
98  ref_eq_plus_d,
99  ref_eq_min_d,
100  ref_eq_plus_a,
101  ref_eq_min_a,
102  ref_eq_mult_d,
103  ref_eq_mult_a,
104  ref_copyout,
105  ref_cond_assign,
106  ref_cond_assign_s,
107  assign_p = 98,
108  eq_plus_p,
109  eq_min_p,
110  eq_mult_p,
111  ref_assign_p,
112  ref_eq_plus_p,
113  ref_eq_min_p,
114  ref_eq_mult_p,
115  plus_a_p,
116  min_a_p,
117  mult_a_p,
118  div_p_a,
119  pow_op_p,
120  neg_sign_p,
121  recipr_p,
122  vec_copy,
123  vec_dot,
124  vec_axpy,
125  ref_cond_eq_assign = 116,
126  ref_cond_eq_assign_s,
127  eq_a_p = 119,
128  neq_a_p,
129  le_a_p,
130  gt_a_p,
131  ge_a_p,
132  lt_a_p,
133  eq_a_a = 125,
134  neq_a_a,
135  le_a_a,
136  gt_a_a,
137  ge_a_a,
138  lt_a_a,
139  ampi_send = 131,
140  ampi_recv,
141  ampi_isend,
142  ampi_irecv,
143  ampi_wait,
144  ampi_barrier,
145  ampi_gather,
146  ampi_scatter,
147  ampi_allgather,
148  ampi_gatherv,
149  ampi_scatterv,
150  ampi_allgatherv,
151  ampi_bcast,
152  ampi_reduce,
153  ampi_allreduce
154};
155
156/****************************************************************************/
157#endif
Note: See TracBrowser for help on using the repository browser.