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
Signedoffby: Kshitij Kulshreshtha <kshitij@…>


Property svn:keywords set to
Author Date Id Revision

File size:
2.8 KB

Line  

1  /* 

2  ADOLC  Automatic Differentiation by Overloading in C++ 

3  File: oplate.h 

4  Revision: $Id: oplate.h 676 20160317 14:29:13Z kulshres $ 

5  Contents: Numeric values for the various opcodes used by ADOLC. 

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 ADOLC. 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  

23  enum 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.