hls4ml
hls4ml copied to clipboard
Conversion issues with AutoQKeras
Hi, when translating a model that has been quantized with AutoQKeras I get the following errors upon compilation of the HLS Model. From looking through the C++ Code it seems like there is no nnet::binary_tanh
implementation for stream types, however I get this error with all the models I tried to quantize even though I don't use any tanh
or binary_tanh
activations. Is this an issue with AutoQKeras or with hls4ml?
The Model:
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
conv2d (Conv2D) (None, 26, 26, 32) 320
_________________________________________________________________
activation (Activation) (None, 26, 26, 32) 0
_________________________________________________________________
max_pooling2d (MaxPooling2D) (None, 13, 13, 32) 0
_________________________________________________________________
conv2d_1 (Conv2D) (None, 11, 11, 64) 18496
_________________________________________________________________
activation_1 (Activation) (None, 11, 11, 64) 0
_________________________________________________________________
max_pooling2d_1 (MaxPooling2 (None, 5, 5, 64) 0
_________________________________________________________________
flatten (Flatten) (None, 1600) 0
_________________________________________________________________
dropout (Dropout) (None, 1600) 0
_________________________________________________________________
dense (Dense) (None, 10) 16010
_________________________________________________________________
activation_2 (Activation) (None, 10) 0
=================================================================
Total params: 34,826
Trainable params: 34,826
Non-trainable params: 0
The Output when trying to Compile a Model:
Interpreting Model
Topology:
Layer name: input_1, layer type: Input
Layer name: conv2d, layer type: QConv2D
Layer name: activation, layer type: QActivation
Layer name: max_pooling2d, layer type: MaxPooling2D
Layer name: conv2d_1, layer type: QConv2D
Layer name: activation_1, layer type: QActivation
Layer name: max_pooling2d_1, layer type: MaxPooling2D
Layer name: dense, layer type: QDense
Layer name: activation_2, layer type: Activation
Model
Precision: ap_fixed<16,6>
ReuseFactor: 1
Strategy: Resource
LayerName
input_1
Precision
result: ap_fixed<16,6>
Trace: True
conv2d
Precision
weight: ap_fixed<6,1>
bias: ap_fixed<4,3>
ReuseFactor: 1
Trace: True
activation
Precision
result: ap_int<2>
ReuseFactor: 1
Trace: True
max_pooling2d
Precision: ap_fixed<16,6>
Trace: True
conv2d_1
Precision
weight: ap_fixed<6,2>
bias: ap_fixed<8,7>
ReuseFactor: 1
Trace: True
activation_1
Precision
result: ap_int<2>
ReuseFactor: 1
Trace: True
max_pooling2d_1
Precision: ap_fixed<16,6>
Trace: True
dense
Precision
weight: ap_fixed<4,3>
bias: ap_fixed<6,2>
ReuseFactor: 1
Trace: True
activation_2
Precision: ap_fixed<16,6>
ReuseFactor: 1
table_size: 1024
exp_table_t: ap_fixed<18,8,AP_RND,AP_SAT>
inv_table_t: ap_fixed<18,8,AP_RND,AP_SAT>
Trace: True
Interpreting Model
Topology:
Layer name: input_1, layer type: InputLayer, input shapes: [[None, 28, 28, 1]], output shape: [None, 28, 28, 1]
Layer name: conv2d, layer type: QConv2D, input shapes: [[None, 28, 28, 1]], output shape: [None, 26, 26, 32]
Layer name: activation, layer type: Activation, input shapes: [[None, 26, 26, 32]], output shape: [None, 26, 26, 32]
Layer name: max_pooling2d, layer type: MaxPooling2D, input shapes: [[None, 26, 26, 32]], output shape: [None, 13, 13, 32]
Layer name: conv2d_1, layer type: QConv2D, input shapes: [[None, 13, 13, 32]], output shape: [None, 11, 11, 64]
Layer name: activation_1, layer type: Activation, input shapes: [[None, 11, 11, 64]], output shape: [None, 11, 11, 64]
Layer name: max_pooling2d_1, layer type: MaxPooling2D, input shapes: [[None, 11, 11, 64]], output shape: [None, 5, 5, 64]
Layer name: flatten, layer type: Reshape, input shapes: [[None, 5, 5, 64]], output shape: [None, 1600]
Layer name: dense, layer type: QDense, input shapes: [[None, 1600]], output shape: [None, 10]
Layer name: activation_2, layer type: Softmax, input shapes: [[None, 10]], output shape: [None, 10]
Creating HLS model
WARNING: Invalid ReuseFactor=1 with "Resource" strategy in layer "conv2d". Using ReuseFactor=3 instead. Valid ReuseFactor(s): 3,9,18,36,72,144,288.
WARNING: Invalid ReuseFactor=1 with "Resource" strategy in layer "conv2d_1". Using ReuseFactor=2 instead. Valid ReuseFactor(s): 2,3,4,6,8,9,12,16,18,24,32,36,48,72,96,144,288,576,1152,2304,4608,9216,18432.
WARNING: Invalid ReuseFactor=1 with "Resource" strategy in layer "dense". Using ReuseFactor=2 instead. Valid ReuseFactor(s): 2,4,5,8,10,16,20,25,32,40,50,64,80,100,160,200,320,400,800,1600,3200,8000,16000.
Writing HLS project
Done
firmware/myproject.cpp: In function ‘void myproject(hls::stream<nnet::array<ap_fixed<16, 6>, 1> >&, hls::stream<nnet::array<ap_fixed<16, 6>, 10> >&, short unsigned int&, short unsigned int&)’:
firmware/myproject.cpp:64:64: error: cannot convert ‘hls::stream<nnet::array<ap_fixed<16, 6>, 32> >’ to ‘nnet::array<ap_fixed<16, 6>, 32>*’
64 | nnet::binary_tanh<layer2_t, layer4_t, binary_tanh_config4>(layer2_out, layer4_out); // activation
| ^~~~~~~~~~
| |
| hls::stream<nnet::array<ap_fixed<16, 6>, 32> >
In file included from firmware/parameters.h:9,
from firmware/myproject.cpp:22:
firmware/nnet_utils/nnet_activation.h:812:26: note: initializing argument 1 of ‘void nnet::binary_tanh(data_T*, res_T*) [with data_T = nnet::array<ap_fixed<16, 6>, 32>; res_T = nnet::array<ap_int<2>, 32>; CONFIG_T = binary_tanh_config4]’
812 | void binary_tanh(data_T data[CONFIG_T::n_in], res_T res[CONFIG_T::n_in])
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~
firmware/myproject.cpp:76:64: error: cannot convert ‘hls::stream<nnet::array<ap_fixed<16, 6>, 64> >’ to ‘nnet::array<ap_fixed<16, 6>, 64>*’
76 | nnet::binary_tanh<layer6_t, layer8_t, binary_tanh_config8>(layer6_out, layer8_out); // activation_1
| ^~~~~~~~~~
| |
| hls::stream<nnet::array<ap_fixed<16, 6>, 64> >
In file included from firmware/parameters.h:9,
from firmware/myproject.cpp:22:
firmware/nnet_utils/nnet_activation.h:812:26: note: initializing argument 1 of ‘void nnet::binary_tanh(data_T*, res_T*) [with data_T = nnet::array<ap_fixed<16, 6>, 64>; res_T = nnet::array<ap_int<2>, 64>; CONFIG_T = binary_tanh_config8]’
812 | void binary_tanh(data_T data[CONFIG_T::n_in], res_T res[CONFIG_T::n_in])
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~
firmware/nnet_utils/nnet_activation.h: In instantiation of ‘void nnet::binary_tanh(data_T*, res_T*) [with data_T = nnet::array<ap_fixed<16, 6>, 32>; res_T = nnet::array<ap_int<2>, 32>; CONFIG_T = binary_tanh_config4]’:
firmware/myproject.cpp:64:86: required from here
firmware/nnet_utils/nnet_activation.h:825:21: error: no match for ‘operator>’ (operand types are ‘nnet::array<ap_fixed<16, 6>, 32>’ and ‘int’)
825 | if( datareg > 0 ) cache = 1;
| ~~~~~~~~^~~
In file included from firmware/ap_types/ap_common.h:252,
from firmware/ap_types/ap_int.h:20,
from firmware/myproject.h:23,
from firmware/myproject.cpp:21:
firmware/ap_types/etc/ap_private.h:6811:15: note: candidate: ‘template<int _AP_W, bool _AP_S> bool operator>(const ap_private<_AP_W, _AP_S>&, bool)’
6811 | INLINE bool operator REL_OP(const ap_private<_AP_W, _AP_S>& op, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:6880:3: note: in expansion of macro ‘OP_REL_MIX_INT’
6880 | OP_REL_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6887:1: note: in expansion of macro ‘OPS_MIX_INT’
6887 | OPS_MIX_INT(bool, 1, false)
| ^~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6811:15: note: template argument deduction/substitution failed:
6811 | INLINE bool operator REL_OP(const ap_private<_AP_W, _AP_S>& op, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:6880:3: note: in expansion of macro ‘OP_REL_MIX_INT’
6880 | OP_REL_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6887:1: note: in expansion of macro ‘OPS_MIX_INT’
6887 | OPS_MIX_INT(bool, 1, false)
| ^~~~~~~~~~~
In file included from firmware/parameters.h:9,
from firmware/myproject.cpp:22:
firmware/nnet_utils/nnet_activation.h:825:21: note: ‘nnet::array<ap_fixed<16, 6>, 32>’ is not derived from ‘const ap_private<_AP_W, _AP_S>’
825 | if( datareg > 0 ) cache = 1;
| ~~~~~~~~^~~
In file included from firmware/ap_types/ap_common.h:252,
from firmware/ap_types/ap_int.h:20,
from firmware/myproject.h:23,
from firmware/myproject.cpp:21:
firmware/ap_types/etc/ap_private.h:6816:15: note: candidate: ‘template<int _AP_W, bool _AP_S> bool operator>(bool, const ap_private<_AP_W, _AP_S, false>&)’
6816 | INLINE bool operator REL_OP(C_TYPE op2, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:6880:3: note: in expansion of macro ‘OP_REL_MIX_INT’
6880 | OP_REL_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6887:1: note: in expansion of macro ‘OPS_MIX_INT’
6887 | OPS_MIX_INT(bool, 1, false)
| ^~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6816:15: note: template argument deduction/substitution failed:
6816 | INLINE bool operator REL_OP(C_TYPE op2, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:6880:3: note: in expansion of macro ‘OP_REL_MIX_INT’
6880 | OP_REL_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6887:1: note: in expansion of macro ‘OPS_MIX_INT’
6887 | OPS_MIX_INT(bool, 1, false)
| ^~~~~~~~~~~
In file included from firmware/parameters.h:9,
from firmware/myproject.cpp:22:
firmware/nnet_utils/nnet_activation.h:825:21: note: mismatched types ‘const ap_private<_AP_W, _AP_S, false>’ and ‘int’
825 | if( datareg > 0 ) cache = 1;
| ~~~~~~~~^~~
In file included from firmware/ap_types/ap_common.h:252,
from firmware/ap_types/ap_int.h:20,
from firmware/myproject.h:23,
from firmware/myproject.cpp:21:
firmware/ap_types/etc/ap_private.h:6811:15: note: candidate: ‘template<int _AP_W, bool _AP_S> bool operator>(const ap_private<_AP_W, _AP_S>&, char)’
6811 | INLINE bool operator REL_OP(const ap_private<_AP_W, _AP_S>& op, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:6880:3: note: in expansion of macro ‘OP_REL_MIX_INT’
6880 | OP_REL_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6888:1: note: in expansion of macro ‘OPS_MIX_INT’
6888 | OPS_MIX_INT(char, 8, CHAR_IS_SIGNED)
| ^~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6811:15: note: template argument deduction/substitution failed:
6811 | INLINE bool operator REL_OP(const ap_private<_AP_W, _AP_S>& op, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:6880:3: note: in expansion of macro ‘OP_REL_MIX_INT’
6880 | OP_REL_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6888:1: note: in expansion of macro ‘OPS_MIX_INT’
6888 | OPS_MIX_INT(char, 8, CHAR_IS_SIGNED)
| ^~~~~~~~~~~
In file included from firmware/parameters.h:9,
from firmware/myproject.cpp:22:
firmware/nnet_utils/nnet_activation.h:825:21: note: ‘nnet::array<ap_fixed<16, 6>, 32>’ is not derived from ‘const ap_private<_AP_W, _AP_S>’
825 | if( datareg > 0 ) cache = 1;
| ~~~~~~~~^~~
In file included from firmware/ap_types/ap_common.h:252,
from firmware/ap_types/ap_int.h:20,
from firmware/myproject.h:23,
from firmware/myproject.cpp:21:
firmware/ap_types/etc/ap_private.h:6816:15: note: candidate: ‘template<int _AP_W, bool _AP_S> bool operator>(char, const ap_private<_AP_W, _AP_S, false>&)’
6816 | INLINE bool operator REL_OP(C_TYPE op2, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:6880:3: note: in expansion of macro ‘OP_REL_MIX_INT’
6880 | OP_REL_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6888:1: note: in expansion of macro ‘OPS_MIX_INT’
6888 | OPS_MIX_INT(char, 8, CHAR_IS_SIGNED)
| ^~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6816:15: note: template argument deduction/substitution failed:
6816 | INLINE bool operator REL_OP(C_TYPE op2, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:6880:3: note: in expansion of macro ‘OP_REL_MIX_INT’
6880 | OP_REL_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6888:1: note: in expansion of macro ‘OPS_MIX_INT’
6888 | OPS_MIX_INT(char, 8, CHAR_IS_SIGNED)
| ^~~~~~~~~~~
In file included from firmware/parameters.h:9,
from firmware/myproject.cpp:22:
firmware/nnet_utils/nnet_activation.h:825:21: note: mismatched types ‘const ap_private<_AP_W, _AP_S, false>’ and ‘int’
825 | if( datareg > 0 ) cache = 1;
| ~~~~~~~~^~~
In file included from firmware/ap_types/ap_common.h:252,
from firmware/ap_types/ap_int.h:20,
from firmware/myproject.h:23,
from firmware/myproject.cpp:21:
firmware/ap_types/etc/ap_private.h:6811:15: note: candidate: ‘template<int _AP_W, bool _AP_S> bool operator>(const ap_private<_AP_W, _AP_S>&, signed char)’
6811 | INLINE bool operator REL_OP(const ap_private<_AP_W, _AP_S>& op, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:6880:3: note: in expansion of macro ‘OP_REL_MIX_INT’
6880 | OP_REL_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6889:1: note: in expansion of macro ‘OPS_MIX_INT’
6889 | OPS_MIX_INT(signed char, 8, true)
| ^~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6811:15: note: template argument deduction/substitution failed:
6811 | INLINE bool operator REL_OP(const ap_private<_AP_W, _AP_S>& op, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:6880:3: note: in expansion of macro ‘OP_REL_MIX_INT’
6880 | OP_REL_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6889:1: note: in expansion of macro ‘OPS_MIX_INT’
6889 | OPS_MIX_INT(signed char, 8, true)
| ^~~~~~~~~~~
In file included from firmware/parameters.h:9,
from firmware/myproject.cpp:22:
firmware/nnet_utils/nnet_activation.h:825:21: note: ‘nnet::array<ap_fixed<16, 6>, 32>’ is not derived from ‘const ap_private<_AP_W, _AP_S>’
825 | if( datareg > 0 ) cache = 1;
| ~~~~~~~~^~~
In file included from firmware/ap_types/ap_common.h:252,
from firmware/ap_types/ap_int.h:20,
from firmware/myproject.h:23,
from firmware/myproject.cpp:21:
firmware/ap_types/etc/ap_private.h:6816:15: note: candidate: ‘template<int _AP_W, bool _AP_S> bool operator>(signed char, const ap_private<_AP_W, _AP_S, false>&)’
6816 | INLINE bool operator REL_OP(C_TYPE op2, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:6880:3: note: in expansion of macro ‘OP_REL_MIX_INT’
6880 | OP_REL_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6889:1: note: in expansion of macro ‘OPS_MIX_INT’
6889 | OPS_MIX_INT(signed char, 8, true)
| ^~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6816:15: note: template argument deduction/substitution failed:
6816 | INLINE bool operator REL_OP(C_TYPE op2, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:6880:3: note: in expansion of macro ‘OP_REL_MIX_INT’
6880 | OP_REL_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6889:1: note: in expansion of macro ‘OPS_MIX_INT’
6889 | OPS_MIX_INT(signed char, 8, true)
| ^~~~~~~~~~~
In file included from firmware/parameters.h:9,
from firmware/myproject.cpp:22:
firmware/nnet_utils/nnet_activation.h:825:21: note: mismatched types ‘const ap_private<_AP_W, _AP_S, false>’ and ‘int’
825 | if( datareg > 0 ) cache = 1;
| ~~~~~~~~^~~
In file included from firmware/ap_types/ap_common.h:252,
from firmware/ap_types/ap_int.h:20,
from firmware/myproject.h:23,
from firmware/myproject.cpp:21:
firmware/ap_types/etc/ap_private.h:6811:15: note: candidate: ‘template<int _AP_W, bool _AP_S> bool operator>(const ap_private<_AP_W, _AP_S>&, unsigned char)’
6811 | INLINE bool operator REL_OP(const ap_private<_AP_W, _AP_S>& op, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:6880:3: note: in expansion of macro ‘OP_REL_MIX_INT’
6880 | OP_REL_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6890:1: note: in expansion of macro ‘OPS_MIX_INT’
6890 | OPS_MIX_INT(unsigned char, 8, false)
| ^~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6811:15: note: template argument deduction/substitution failed:
6811 | INLINE bool operator REL_OP(const ap_private<_AP_W, _AP_S>& op, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:6880:3: note: in expansion of macro ‘OP_REL_MIX_INT’
6880 | OP_REL_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6890:1: note: in expansion of macro ‘OPS_MIX_INT’
6890 | OPS_MIX_INT(unsigned char, 8, false)
| ^~~~~~~~~~~
In file included from firmware/parameters.h:9,
from firmware/myproject.cpp:22:
firmware/nnet_utils/nnet_activation.h:825:21: note: ‘nnet::array<ap_fixed<16, 6>, 32>’ is not derived from ‘const ap_private<_AP_W, _AP_S>’
825 | if( datareg > 0 ) cache = 1;
| ~~~~~~~~^~~
In file included from firmware/ap_types/ap_common.h:252,
from firmware/ap_types/ap_int.h:20,
from firmware/myproject.h:23,
from firmware/myproject.cpp:21:
firmware/ap_types/etc/ap_private.h:6816:15: note: candidate: ‘template<int _AP_W, bool _AP_S> bool operator>(unsigned char, const ap_private<_AP_W, _AP_S, false>&)’
6816 | INLINE bool operator REL_OP(C_TYPE op2, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:6880:3: note: in expansion of macro ‘OP_REL_MIX_INT’
6880 | OP_REL_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6890:1: note: in expansion of macro ‘OPS_MIX_INT’
6890 | OPS_MIX_INT(unsigned char, 8, false)
| ^~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6816:15: note: template argument deduction/substitution failed:
6816 | INLINE bool operator REL_OP(C_TYPE op2, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:6880:3: note: in expansion of macro ‘OP_REL_MIX_INT’
6880 | OP_REL_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6890:1: note: in expansion of macro ‘OPS_MIX_INT’
6890 | OPS_MIX_INT(unsigned char, 8, false)
| ^~~~~~~~~~~
In file included from firmware/parameters.h:9,
from firmware/myproject.cpp:22:
firmware/nnet_utils/nnet_activation.h:825:21: note: mismatched types ‘const ap_private<_AP_W, _AP_S, false>’ and ‘int’
825 | if( datareg > 0 ) cache = 1;
| ~~~~~~~~^~~
In file included from firmware/ap_types/ap_common.h:252,
from firmware/ap_types/ap_int.h:20,
from firmware/myproject.h:23,
from firmware/myproject.cpp:21:
firmware/ap_types/etc/ap_private.h:6811:15: note: candidate: ‘template<int _AP_W, bool _AP_S> bool operator>(const ap_private<_AP_W, _AP_S>&, short int)’
6811 | INLINE bool operator REL_OP(const ap_private<_AP_W, _AP_S>& op, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:6880:3: note: in expansion of macro ‘OP_REL_MIX_INT’
6880 | OP_REL_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6891:1: note: in expansion of macro ‘OPS_MIX_INT’
6891 | OPS_MIX_INT(short, sizeof(short) * 8, true)
| ^~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6811:15: note: template argument deduction/substitution failed:
6811 | INLINE bool operator REL_OP(const ap_private<_AP_W, _AP_S>& op, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:6880:3: note: in expansion of macro ‘OP_REL_MIX_INT’
6880 | OP_REL_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6891:1: note: in expansion of macro ‘OPS_MIX_INT’
6891 | OPS_MIX_INT(short, sizeof(short) * 8, true)
| ^~~~~~~~~~~
In file included from firmware/parameters.h:9,
from firmware/myproject.cpp:22:
firmware/nnet_utils/nnet_activation.h:825:21: note: ‘nnet::array<ap_fixed<16, 6>, 32>’ is not derived from ‘const ap_private<_AP_W, _AP_S>’
825 | if( datareg > 0 ) cache = 1;
| ~~~~~~~~^~~
In file included from firmware/ap_types/ap_common.h:252,
from firmware/ap_types/ap_int.h:20,
from firmware/myproject.h:23,
from firmware/myproject.cpp:21:
firmware/ap_types/etc/ap_private.h:6816:15: note: candidate: ‘template<int _AP_W, bool _AP_S> bool operator>(short int, const ap_private<_AP_W, _AP_S, false>&)’
6816 | INLINE bool operator REL_OP(C_TYPE op2, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:6880:3: note: in expansion of macro ‘OP_REL_MIX_INT’
6880 | OP_REL_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6891:1: note: in expansion of macro ‘OPS_MIX_INT’
6891 | OPS_MIX_INT(short, sizeof(short) * 8, true)
| ^~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6816:15: note: template argument deduction/substitution failed:
6816 | INLINE bool operator REL_OP(C_TYPE op2, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:6880:3: note: in expansion of macro ‘OP_REL_MIX_INT’
6880 | OP_REL_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6891:1: note: in expansion of macro ‘OPS_MIX_INT’
6891 | OPS_MIX_INT(short, sizeof(short) * 8, true)
| ^~~~~~~~~~~
In file included from firmware/parameters.h:9,
from firmware/myproject.cpp:22:
firmware/nnet_utils/nnet_activation.h:825:21: note: mismatched types ‘const ap_private<_AP_W, _AP_S, false>’ and ‘int’
825 | if( datareg > 0 ) cache = 1;
| ~~~~~~~~^~~
In file included from firmware/ap_types/ap_common.h:252,
from firmware/ap_types/ap_int.h:20,
from firmware/myproject.h:23,
from firmware/myproject.cpp:21:
firmware/ap_types/etc/ap_private.h:6811:15: note: candidate: ‘template<int _AP_W, bool _AP_S> bool operator>(const ap_private<_AP_W, _AP_S>&, short unsigned int)’
6811 | INLINE bool operator REL_OP(const ap_private<_AP_W, _AP_S>& op, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:6880:3: note: in expansion of macro ‘OP_REL_MIX_INT’
6880 | OP_REL_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6892:1: note: in expansion of macro ‘OPS_MIX_INT’
6892 | OPS_MIX_INT(unsigned short, sizeof(unsigned short) * 8, false)
| ^~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6811:15: note: template argument deduction/substitution failed:
6811 | INLINE bool operator REL_OP(const ap_private<_AP_W, _AP_S>& op, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:6880:3: note: in expansion of macro ‘OP_REL_MIX_INT’
6880 | OP_REL_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6892:1: note: in expansion of macro ‘OPS_MIX_INT’
6892 | OPS_MIX_INT(unsigned short, sizeof(unsigned short) * 8, false)
| ^~~~~~~~~~~
In file included from firmware/parameters.h:9,
from firmware/myproject.cpp:22:
firmware/nnet_utils/nnet_activation.h:825:21: note: ‘nnet::array<ap_fixed<16, 6>, 32>’ is not derived from ‘const ap_private<_AP_W, _AP_S>’
825 | if( datareg > 0 ) cache = 1;
| ~~~~~~~~^~~
In file included from firmware/ap_types/ap_common.h:252,
from firmware/ap_types/ap_int.h:20,
from firmware/myproject.h:23,
from firmware/myproject.cpp:21:
firmware/ap_types/etc/ap_private.h:6816:15: note: candidate: ‘template<int _AP_W, bool _AP_S> bool operator>(short unsigned int, const ap_private<_AP_W, _AP_S, false>&)’
6816 | INLINE bool operator REL_OP(C_TYPE op2, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:6880:3: note: in expansion of macro ‘OP_REL_MIX_INT’
6880 | OP_REL_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6892:1: note: in expansion of macro ‘OPS_MIX_INT’
6892 | OPS_MIX_INT(unsigned short, sizeof(unsigned short) * 8, false)
| ^~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6816:15: note: template argument deduction/substitution failed:
6816 | INLINE bool operator REL_OP(C_TYPE op2, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:6880:3: note: in expansion of macro ‘OP_REL_MIX_INT’
6880 | OP_REL_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6892:1: note: in expansion of macro ‘OPS_MIX_INT’
6892 | OPS_MIX_INT(unsigned short, sizeof(unsigned short) * 8, false)
| ^~~~~~~~~~~
In file included from firmware/parameters.h:9,
from firmware/myproject.cpp:22:
firmware/nnet_utils/nnet_activation.h:825:21: note: mismatched types ‘const ap_private<_AP_W, _AP_S, false>’ and ‘int’
825 | if( datareg > 0 ) cache = 1;
| ~~~~~~~~^~~
In file included from firmware/ap_types/ap_common.h:252,
from firmware/ap_types/ap_int.h:20,
from firmware/myproject.h:23,
from firmware/myproject.cpp:21:
firmware/ap_types/etc/ap_private.h:6811:15: note: candidate: ‘template<int _AP_W, bool _AP_S> bool operator>(const ap_private<_AP_W, _AP_S>&, int)’
6811 | INLINE bool operator REL_OP(const ap_private<_AP_W, _AP_S>& op, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:6880:3: note: in expansion of macro ‘OP_REL_MIX_INT’
6880 | OP_REL_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6893:1: note: in expansion of macro ‘OPS_MIX_INT’
6893 | OPS_MIX_INT(int, sizeof(int) * 8, true)
| ^~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6811:15: note: template argument deduction/substitution failed:
6811 | INLINE bool operator REL_OP(const ap_private<_AP_W, _AP_S>& op, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:6880:3: note: in expansion of macro ‘OP_REL_MIX_INT’
6880 | OP_REL_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6893:1: note: in expansion of macro ‘OPS_MIX_INT’
6893 | OPS_MIX_INT(int, sizeof(int) * 8, true)
| ^~~~~~~~~~~
In file included from firmware/parameters.h:9,
from firmware/myproject.cpp:22:
firmware/nnet_utils/nnet_activation.h:825:21: note: ‘nnet::array<ap_fixed<16, 6>, 32>’ is not derived from ‘const ap_private<_AP_W, _AP_S>’
825 | if( datareg > 0 ) cache = 1;
| ~~~~~~~~^~~
In file included from firmware/ap_types/ap_common.h:252,
from firmware/ap_types/ap_int.h:20,
from firmware/myproject.h:23,
from firmware/myproject.cpp:21:
firmware/ap_types/etc/ap_private.h:6816:15: note: candidate: ‘template<int _AP_W, bool _AP_S> bool operator>(int, const ap_private<_AP_W, _AP_S, false>&)’
6816 | INLINE bool operator REL_OP(C_TYPE op2, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:6880:3: note: in expansion of macro ‘OP_REL_MIX_INT’
6880 | OP_REL_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6893:1: note: in expansion of macro ‘OPS_MIX_INT’
6893 | OPS_MIX_INT(int, sizeof(int) * 8, true)
| ^~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6816:15: note: template argument deduction/substitution failed:
6816 | INLINE bool operator REL_OP(C_TYPE op2, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:6880:3: note: in expansion of macro ‘OP_REL_MIX_INT’
6880 | OP_REL_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6893:1: note: in expansion of macro ‘OPS_MIX_INT’
6893 | OPS_MIX_INT(int, sizeof(int) * 8, true)
| ^~~~~~~~~~~
In file included from firmware/parameters.h:9,
from firmware/myproject.cpp:22:
firmware/nnet_utils/nnet_activation.h:825:21: note: mismatched types ‘const ap_private<_AP_W, _AP_S, false>’ and ‘int’
825 | if( datareg > 0 ) cache = 1;
| ~~~~~~~~^~~
In file included from firmware/ap_types/ap_common.h:252,
from firmware/ap_types/ap_int.h:20,
from firmware/myproject.h:23,
from firmware/myproject.cpp:21:
firmware/ap_types/etc/ap_private.h:6811:15: note: candidate: ‘template<int _AP_W, bool _AP_S> bool operator>(const ap_private<_AP_W, _AP_S>&, unsigned int)’
6811 | INLINE bool operator REL_OP(const ap_private<_AP_W, _AP_S>& op, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:6880:3: note: in expansion of macro ‘OP_REL_MIX_INT’
6880 | OP_REL_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6894:1: note: in expansion of macro ‘OPS_MIX_INT’
6894 | OPS_MIX_INT(unsigned int, sizeof(unsigned int) * 8, false)
| ^~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6811:15: note: template argument deduction/substitution failed:
6811 | INLINE bool operator REL_OP(const ap_private<_AP_W, _AP_S>& op, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:6880:3: note: in expansion of macro ‘OP_REL_MIX_INT’
6880 | OP_REL_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6894:1: note: in expansion of macro ‘OPS_MIX_INT’
6894 | OPS_MIX_INT(unsigned int, sizeof(unsigned int) * 8, false)
| ^~~~~~~~~~~
In file included from firmware/parameters.h:9,
from firmware/myproject.cpp:22:
firmware/nnet_utils/nnet_activation.h:825:21: note: ‘nnet::array<ap_fixed<16, 6>, 32>’ is not derived from ‘const ap_private<_AP_W, _AP_S>’
825 | if( datareg > 0 ) cache = 1;
| ~~~~~~~~^~~
In file included from firmware/ap_types/ap_common.h:252,
from firmware/ap_types/ap_int.h:20,
from firmware/myproject.h:23,
from firmware/myproject.cpp:21:
firmware/ap_types/etc/ap_private.h:6816:15: note: candidate: ‘template<int _AP_W, bool _AP_S> bool operator>(unsigned int, const ap_private<_AP_W, _AP_S, false>&)’
6816 | INLINE bool operator REL_OP(C_TYPE op2, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:6880:3: note: in expansion of macro ‘OP_REL_MIX_INT’
6880 | OP_REL_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6894:1: note: in expansion of macro ‘OPS_MIX_INT’
6894 | OPS_MIX_INT(unsigned int, sizeof(unsigned int) * 8, false)
| ^~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6816:15: note: template argument deduction/substitution failed:
6816 | INLINE bool operator REL_OP(C_TYPE op2, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:6880:3: note: in expansion of macro ‘OP_REL_MIX_INT’
6880 | OP_REL_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6894:1: note: in expansion of macro ‘OPS_MIX_INT’
6894 | OPS_MIX_INT(unsigned int, sizeof(unsigned int) * 8, false)
| ^~~~~~~~~~~
In file included from firmware/parameters.h:9,
from firmware/myproject.cpp:22:
firmware/nnet_utils/nnet_activation.h:825:21: note: mismatched types ‘const ap_private<_AP_W, _AP_S, false>’ and ‘int’
825 | if( datareg > 0 ) cache = 1;
| ~~~~~~~~^~~
In file included from firmware/ap_types/ap_common.h:252,
from firmware/ap_types/ap_int.h:20,
from firmware/myproject.h:23,
from firmware/myproject.cpp:21:
firmware/ap_types/etc/ap_private.h:6811:15: note: candidate: ‘template<int _AP_W, bool _AP_S> bool operator>(const ap_private<_AP_W, _AP_S>&, long int)’
6811 | INLINE bool operator REL_OP(const ap_private<_AP_W, _AP_S>& op, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:6880:3: note: in expansion of macro ‘OP_REL_MIX_INT’
6880 | OP_REL_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6895:1: note: in expansion of macro ‘OPS_MIX_INT’
6895 | OPS_MIX_INT(long, sizeof(long) * 8, true)
| ^~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6811:15: note: template argument deduction/substitution failed:
6811 | INLINE bool operator REL_OP(const ap_private<_AP_W, _AP_S>& op, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:6880:3: note: in expansion of macro ‘OP_REL_MIX_INT’
6880 | OP_REL_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6895:1: note: in expansion of macro ‘OPS_MIX_INT’
6895 | OPS_MIX_INT(long, sizeof(long) * 8, true)
| ^~~~~~~~~~~
In file included from firmware/parameters.h:9,
from firmware/myproject.cpp:22:
firmware/nnet_utils/nnet_activation.h:825:21: note: ‘nnet::array<ap_fixed<16, 6>, 32>’ is not derived from ‘const ap_private<_AP_W, _AP_S>’
825 | if( datareg > 0 ) cache = 1;
| ~~~~~~~~^~~
In file included from firmware/ap_types/ap_common.h:252,
from firmware/ap_types/ap_int.h:20,
from firmware/myproject.h:23,
from firmware/myproject.cpp:21:
firmware/ap_types/etc/ap_private.h:6816:15: note: candidate: ‘template<int _AP_W, bool _AP_S> bool operator>(long int, const ap_private<_AP_W, _AP_S, false>&)’
6816 | INLINE bool operator REL_OP(C_TYPE op2, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:6880:3: note: in expansion of macro ‘OP_REL_MIX_INT’
6880 | OP_REL_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6895:1: note: in expansion of macro ‘OPS_MIX_INT’
6895 | OPS_MIX_INT(long, sizeof(long) * 8, true)
| ^~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6816:15: note: template argument deduction/substitution failed:
6816 | INLINE bool operator REL_OP(C_TYPE op2, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:6880:3: note: in expansion of macro ‘OP_REL_MIX_INT’
6880 | OP_REL_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6895:1: note: in expansion of macro ‘OPS_MIX_INT’
6895 | OPS_MIX_INT(long, sizeof(long) * 8, true)
| ^~~~~~~~~~~
In file included from firmware/parameters.h:9,
from firmware/myproject.cpp:22:
firmware/nnet_utils/nnet_activation.h:825:21: note: mismatched types ‘const ap_private<_AP_W, _AP_S, false>’ and ‘int’
825 | if( datareg > 0 ) cache = 1;
| ~~~~~~~~^~~
In file included from firmware/ap_types/ap_common.h:252,
from firmware/ap_types/ap_int.h:20,
from firmware/myproject.h:23,
from firmware/myproject.cpp:21:
firmware/ap_types/etc/ap_private.h:6811:15: note: candidate: ‘template<int _AP_W, bool _AP_S> bool operator>(const ap_private<_AP_W, _AP_S>&, long unsigned int)’
6811 | INLINE bool operator REL_OP(const ap_private<_AP_W, _AP_S>& op, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:6880:3: note: in expansion of macro ‘OP_REL_MIX_INT’
6880 | OP_REL_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6896:1: note: in expansion of macro ‘OPS_MIX_INT’
6896 | OPS_MIX_INT(unsigned long, sizeof(unsigned long) * 8, false)
| ^~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6811:15: note: template argument deduction/substitution failed:
6811 | INLINE bool operator REL_OP(const ap_private<_AP_W, _AP_S>& op, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:6880:3: note: in expansion of macro ‘OP_REL_MIX_INT’
6880 | OP_REL_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6896:1: note: in expansion of macro ‘OPS_MIX_INT’
6896 | OPS_MIX_INT(unsigned long, sizeof(unsigned long) * 8, false)
| ^~~~~~~~~~~
In file included from firmware/parameters.h:9,
from firmware/myproject.cpp:22:
firmware/nnet_utils/nnet_activation.h:825:21: note: ‘nnet::array<ap_fixed<16, 6>, 32>’ is not derived from ‘const ap_private<_AP_W, _AP_S>’
825 | if( datareg > 0 ) cache = 1;
| ~~~~~~~~^~~
In file included from firmware/ap_types/ap_common.h:252,
from firmware/ap_types/ap_int.h:20,
from firmware/myproject.h:23,
from firmware/myproject.cpp:21:
firmware/ap_types/etc/ap_private.h:6816:15: note: candidate: ‘template<int _AP_W, bool _AP_S> bool operator>(long unsigned int, const ap_private<_AP_W, _AP_S, false>&)’
6816 | INLINE bool operator REL_OP(C_TYPE op2, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:6880:3: note: in expansion of macro ‘OP_REL_MIX_INT’
6880 | OP_REL_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6896:1: note: in expansion of macro ‘OPS_MIX_INT’
6896 | OPS_MIX_INT(unsigned long, sizeof(unsigned long) * 8, false)
| ^~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6816:15: note: template argument deduction/substitution failed:
6816 | INLINE bool operator REL_OP(C_TYPE op2, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:6880:3: note: in expansion of macro ‘OP_REL_MIX_INT’
6880 | OP_REL_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6896:1: note: in expansion of macro ‘OPS_MIX_INT’
6896 | OPS_MIX_INT(unsigned long, sizeof(unsigned long) * 8, false)
| ^~~~~~~~~~~
In file included from firmware/parameters.h:9,
from firmware/myproject.cpp:22:
firmware/nnet_utils/nnet_activation.h:825:21: note: mismatched types ‘const ap_private<_AP_W, _AP_S, false>’ and ‘int’
825 | if( datareg > 0 ) cache = 1;
| ~~~~~~~~^~~
In file included from firmware/ap_types/ap_common.h:252,
from firmware/ap_types/ap_int.h:20,
from firmware/myproject.h:23,
from firmware/myproject.cpp:21:
firmware/ap_types/etc/ap_private.h:6811:15: note: candidate: ‘template<int _AP_W, bool _AP_S> bool operator>(const ap_private<_AP_W, _AP_S>&, ap_slong)’
6811 | INLINE bool operator REL_OP(const ap_private<_AP_W, _AP_S>& op, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:6880:3: note: in expansion of macro ‘OP_REL_MIX_INT’
6880 | OP_REL_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6897:1: note: in expansion of macro ‘OPS_MIX_INT’
6897 | OPS_MIX_INT(ap_slong, sizeof(ap_slong) * 8, true)
| ^~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6811:15: note: template argument deduction/substitution failed:
6811 | INLINE bool operator REL_OP(const ap_private<_AP_W, _AP_S>& op, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:6880:3: note: in expansion of macro ‘OP_REL_MIX_INT’
6880 | OP_REL_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6897:1: note: in expansion of macro ‘OPS_MIX_INT’
6897 | OPS_MIX_INT(ap_slong, sizeof(ap_slong) * 8, true)
| ^~~~~~~~~~~
In file included from firmware/parameters.h:9,
from firmware/myproject.cpp:22:
firmware/nnet_utils/nnet_activation.h:825:21: note: ‘nnet::array<ap_fixed<16, 6>, 32>’ is not derived from ‘const ap_private<_AP_W, _AP_S>’
825 | if( datareg > 0 ) cache = 1;
| ~~~~~~~~^~~
In file included from firmware/ap_types/ap_common.h:252,
from firmware/ap_types/ap_int.h:20,
from firmware/myproject.h:23,
from firmware/myproject.cpp:21:
firmware/ap_types/etc/ap_private.h:6816:15: note: candidate: ‘template<int _AP_W, bool _AP_S> bool operator>(ap_slong, const ap_private<_AP_W, _AP_S, false>&)’
6816 | INLINE bool operator REL_OP(C_TYPE op2, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:6880:3: note: in expansion of macro ‘OP_REL_MIX_INT’
6880 | OP_REL_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6897:1: note: in expansion of macro ‘OPS_MIX_INT’
6897 | OPS_MIX_INT(ap_slong, sizeof(ap_slong) * 8, true)
| ^~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6816:15: note: template argument deduction/substitution failed:
6816 | INLINE bool operator REL_OP(C_TYPE op2, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:6880:3: note: in expansion of macro ‘OP_REL_MIX_INT’
6880 | OP_REL_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6897:1: note: in expansion of macro ‘OPS_MIX_INT’
6897 | OPS_MIX_INT(ap_slong, sizeof(ap_slong) * 8, true)
| ^~~~~~~~~~~
In file included from firmware/parameters.h:9,
from firmware/myproject.cpp:22:
firmware/nnet_utils/nnet_activation.h:825:21: note: mismatched types ‘const ap_private<_AP_W, _AP_S, false>’ and ‘int’
825 | if( datareg > 0 ) cache = 1;
| ~~~~~~~~^~~
In file included from firmware/ap_types/ap_common.h:252,
from firmware/ap_types/ap_int.h:20,
from firmware/myproject.h:23,
from firmware/myproject.cpp:21:
firmware/ap_types/etc/ap_private.h:6811:15: note: candidate: ‘template<int _AP_W, bool _AP_S> bool operator>(const ap_private<_AP_W, _AP_S>&, ap_ulong)’
6811 | INLINE bool operator REL_OP(const ap_private<_AP_W, _AP_S>& op, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:6880:3: note: in expansion of macro ‘OP_REL_MIX_INT’
6880 | OP_REL_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6898:1: note: in expansion of macro ‘OPS_MIX_INT’
6898 | OPS_MIX_INT(ap_ulong, sizeof(ap_ulong) * 8, false)
| ^~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6811:15: note: template argument deduction/substitution failed:
6811 | INLINE bool operator REL_OP(const ap_private<_AP_W, _AP_S>& op, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:6880:3: note: in expansion of macro ‘OP_REL_MIX_INT’
6880 | OP_REL_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6898:1: note: in expansion of macro ‘OPS_MIX_INT’
6898 | OPS_MIX_INT(ap_ulong, sizeof(ap_ulong) * 8, false)
| ^~~~~~~~~~~
In file included from firmware/parameters.h:9,
from firmware/myproject.cpp:22:
firmware/nnet_utils/nnet_activation.h:825:21: note: ‘nnet::array<ap_fixed<16, 6>, 32>’ is not derived from ‘const ap_private<_AP_W, _AP_S>’
825 | if( datareg > 0 ) cache = 1;
| ~~~~~~~~^~~
In file included from firmware/ap_types/ap_common.h:252,
from firmware/ap_types/ap_int.h:20,
from firmware/myproject.h:23,
from firmware/myproject.cpp:21:
firmware/ap_types/etc/ap_private.h:6816:15: note: candidate: ‘template<int _AP_W, bool _AP_S> bool operator>(ap_ulong, const ap_private<_AP_W, _AP_S, false>&)’
6816 | INLINE bool operator REL_OP(C_TYPE op2, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:6880:3: note: in expansion of macro ‘OP_REL_MIX_INT’
6880 | OP_REL_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6898:1: note: in expansion of macro ‘OPS_MIX_INT’
6898 | OPS_MIX_INT(ap_ulong, sizeof(ap_ulong) * 8, false)
| ^~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6816:15: note: template argument deduction/substitution failed:
6816 | INLINE bool operator REL_OP(C_TYPE op2, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:6880:3: note: in expansion of macro ‘OP_REL_MIX_INT’
6880 | OP_REL_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6898:1: note: in expansion of macro ‘OPS_MIX_INT’
6898 | OPS_MIX_INT(ap_ulong, sizeof(ap_ulong) * 8, false)
| ^~~~~~~~~~~
In file included from firmware/parameters.h:9,
from firmware/myproject.cpp:22:
firmware/nnet_utils/nnet_activation.h:825:21: note: mismatched types ‘const ap_private<_AP_W, _AP_S, false>’ and ‘int’
825 | if( datareg > 0 ) cache = 1;
| ~~~~~~~~^~~
In file included from firmware/ap_types/ap_common.h:252,
from firmware/ap_types/ap_int.h:20,
from firmware/myproject.h:23,
from firmware/myproject.cpp:21:
firmware/ap_types/etc/ap_private.h:6943:15: note: candidate: ‘template<int _AP_W1, bool _AP_S1, int _AP_W2, bool _AP_S2> bool operator>(const _private_range_ref<_AP_W, _AP_S>&, const ap_private<_AP_W2, _AP_S2>&)’
6943 | INLINE bool operator REL_OP(const _private_range_ref<_AP_W1, _AP_S1>& op1, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:6977:1: note: in expansion of macro ‘OP_REL_MIX_RANGE’
6977 | OP_REL_MIX_RANGE(>)
| ^~~~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6943:15: note: template argument deduction/substitution failed:
6943 | INLINE bool operator REL_OP(const _private_range_ref<_AP_W1, _AP_S1>& op1, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:6977:1: note: in expansion of macro ‘OP_REL_MIX_RANGE’
6977 | OP_REL_MIX_RANGE(>)
| ^~~~~~~~~~~~~~~~
In file included from firmware/parameters.h:9,
from firmware/myproject.cpp:22:
firmware/nnet_utils/nnet_activation.h:825:21: note: ‘nnet::array<ap_fixed<16, 6>, 32>’ is not derived from ‘const _private_range_ref<_AP_W, _AP_S>’
825 | if( datareg > 0 ) cache = 1;
| ~~~~~~~~^~~
In file included from firmware/ap_types/ap_common.h:252,
from firmware/ap_types/ap_int.h:20,
from firmware/myproject.h:23,
from firmware/myproject.cpp:21:
firmware/ap_types/etc/ap_private.h:6948:15: note: candidate: ‘template<int _AP_W1, bool _AP_S1, int _AP_W2, bool _AP_S2> bool operator>(const ap_private<_AP_W, _AP_S>&, const _private_range_ref<_AP_W2, _AP_S2>&)’
6948 | INLINE bool operator REL_OP(const ap_private<_AP_W1, _AP_S1>& op1, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:6977:1: note: in expansion of macro ‘OP_REL_MIX_RANGE’
6977 | OP_REL_MIX_RANGE(>)
| ^~~~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:6948:15: note: template argument deduction/substitution failed:
6948 | INLINE bool operator REL_OP(const ap_private<_AP_W1, _AP_S1>& op1, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:6977:1: note: in expansion of macro ‘OP_REL_MIX_RANGE’
6977 | OP_REL_MIX_RANGE(>)
| ^~~~~~~~~~~~~~~~
In file included from firmware/parameters.h:9,
from firmware/myproject.cpp:22:
firmware/nnet_utils/nnet_activation.h:825:21: note: ‘nnet::array<ap_fixed<16, 6>, 32>’ is not derived from ‘const ap_private<_AP_W, _AP_S>’
825 | if( datareg > 0 ) cache = 1;
| ~~~~~~~~^~~
In file included from firmware/ap_types/ap_common.h:252,
from firmware/ap_types/ap_int.h:20,
from firmware/myproject.h:23,
from firmware/myproject.cpp:21:
firmware/ap_types/etc/ap_private.h:7018:15: note: candidate: ‘template<int _AP_W1, bool _AP_S1, int _AP_W2, bool _AP_S2> bool operator>(const _private_bit_ref<_AP_W, _AP_S>&, const ap_private<_AP_W2, _AP_S2>&)’
7018 | INLINE bool operator REL_OP(const _private_bit_ref<_AP_W1, _AP_S1>& op1, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:7052:1: note: in expansion of macro ‘OP_REL_MIX_BIT’
7052 | OP_REL_MIX_BIT(>)
| ^~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:7018:15: note: template argument deduction/substitution failed:
7018 | INLINE bool operator REL_OP(const _private_bit_ref<_AP_W1, _AP_S1>& op1, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:7052:1: note: in expansion of macro ‘OP_REL_MIX_BIT’
7052 | OP_REL_MIX_BIT(>)
| ^~~~~~~~~~~~~~
In file included from firmware/parameters.h:9,
from firmware/myproject.cpp:22:
firmware/nnet_utils/nnet_activation.h:825:21: note: ‘nnet::array<ap_fixed<16, 6>, 32>’ is not derived from ‘const _private_bit_ref<_AP_W, _AP_S>’
825 | if( datareg > 0 ) cache = 1;
| ~~~~~~~~^~~
In file included from firmware/ap_types/ap_common.h:252,
from firmware/ap_types/ap_int.h:20,
from firmware/myproject.h:23,
from firmware/myproject.cpp:21:
firmware/ap_types/etc/ap_private.h:7023:15: note: candidate: ‘template<int _AP_W1, bool _AP_S1, int _AP_W2, bool _AP_S2> bool operator>(const ap_private<_AP_W, _AP_S>&, const _private_bit_ref<_AP_W2, _AP_S2>&)’
7023 | INLINE bool operator REL_OP(const ap_private<_AP_W1, _AP_S1>& op1, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:7052:1: note: in expansion of macro ‘OP_REL_MIX_BIT’
7052 | OP_REL_MIX_BIT(>)
| ^~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:7023:15: note: template argument deduction/substitution failed:
7023 | INLINE bool operator REL_OP(const ap_private<_AP_W1, _AP_S1>& op1, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:7052:1: note: in expansion of macro ‘OP_REL_MIX_BIT’
7052 | OP_REL_MIX_BIT(>)
| ^~~~~~~~~~~~~~
In file included from firmware/parameters.h:9,
from firmware/myproject.cpp:22:
firmware/nnet_utils/nnet_activation.h:825:21: note: ‘nnet::array<ap_fixed<16, 6>, 32>’ is not derived from ‘const ap_private<_AP_W, _AP_S>’
825 | if( datareg > 0 ) cache = 1;
| ~~~~~~~~^~~
In file included from firmware/ap_types/ap_common.h:252,
from firmware/ap_types/ap_int.h:20,
from firmware/myproject.h:23,
from firmware/myproject.cpp:21:
firmware/ap_types/etc/ap_private.h:7062:15: note: candidate: ‘template<int _AP_W, bool _AP_S> bool operator>(const _private_range_ref<_AP_W, _AP_S>&, bool)’
7062 | INLINE bool operator REL_OP(const _private_range_ref<_AP_W, _AP_S>& op, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:7086:3: note: in expansion of macro ‘REF_REL_OP_MIX_INT’
7086 | REF_REL_OP_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:7093:1: note: in expansion of macro ‘REF_REL_MIX_INT’
7093 | REF_REL_MIX_INT(bool, 1, false)
| ^~~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:7062:15: note: template argument deduction/substitution failed:
7062 | INLINE bool operator REL_OP(const _private_range_ref<_AP_W, _AP_S>& op, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:7086:3: note: in expansion of macro ‘REF_REL_OP_MIX_INT’
7086 | REF_REL_OP_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:7093:1: note: in expansion of macro ‘REF_REL_MIX_INT’
7093 | REF_REL_MIX_INT(bool, 1, false)
| ^~~~~~~~~~~~~~~
In file included from firmware/parameters.h:9,
from firmware/myproject.cpp:22:
firmware/nnet_utils/nnet_activation.h:825:21: note: ‘nnet::array<ap_fixed<16, 6>, 32>’ is not derived from ‘const _private_range_ref<_AP_W, _AP_S>’
825 | if( datareg > 0 ) cache = 1;
| ~~~~~~~~^~~
In file included from firmware/ap_types/ap_common.h:252,
from firmware/ap_types/ap_int.h:20,
from firmware/myproject.h:23,
from firmware/myproject.cpp:21:
firmware/ap_types/etc/ap_private.h:7069:15: note: candidate: ‘template<int _AP_W, bool _AP_S> bool operator>(bool, const _private_range_ref<_AP_W, _AP_S>&)’
7069 | INLINE bool operator REL_OP(C_TYPE op2, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:7086:3: note: in expansion of macro ‘REF_REL_OP_MIX_INT’
7086 | REF_REL_OP_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:7093:1: note: in expansion of macro ‘REF_REL_MIX_INT’
7093 | REF_REL_MIX_INT(bool, 1, false)
| ^~~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:7069:15: note: template argument deduction/substitution failed:
7069 | INLINE bool operator REL_OP(C_TYPE op2, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:7086:3: note: in expansion of macro ‘REF_REL_OP_MIX_INT’
7086 | REF_REL_OP_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:7093:1: note: in expansion of macro ‘REF_REL_MIX_INT’
7093 | REF_REL_MIX_INT(bool, 1, false)
| ^~~~~~~~~~~~~~~
In file included from firmware/parameters.h:9,
from firmware/myproject.cpp:22:
firmware/nnet_utils/nnet_activation.h:825:21: note: mismatched types ‘const _private_range_ref<_AP_W, _AP_S>’ and ‘int’
825 | if( datareg > 0 ) cache = 1;
| ~~~~~~~~^~~
In file included from firmware/ap_types/ap_common.h:252,
from firmware/ap_types/ap_int.h:20,
from firmware/myproject.h:23,
from firmware/myproject.cpp:21:
firmware/ap_types/etc/ap_private.h:7075:15: note: candidate: ‘template<int _AP_W, bool _AP_S> bool operator>(const _private_bit_ref<_AP_W, _AP_S>&, bool)’
7075 | INLINE bool operator REL_OP(const _private_bit_ref<_AP_W, _AP_S>& op, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:7086:3: note: in expansion of macro ‘REF_REL_OP_MIX_INT’
7086 | REF_REL_OP_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:7093:1: note: in expansion of macro ‘REF_REL_MIX_INT’
7093 | REF_REL_MIX_INT(bool, 1, false)
| ^~~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:7075:15: note: template argument deduction/substitution failed:
7075 | INLINE bool operator REL_OP(const _private_bit_ref<_AP_W, _AP_S>& op, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:7086:3: note: in expansion of macro ‘REF_REL_OP_MIX_INT’
7086 | REF_REL_OP_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:7093:1: note: in expansion of macro ‘REF_REL_MIX_INT’
7093 | REF_REL_MIX_INT(bool, 1, false)
| ^~~~~~~~~~~~~~~
In file included from firmware/parameters.h:9,
from firmware/myproject.cpp:22:
firmware/nnet_utils/nnet_activation.h:825:21: note: ‘nnet::array<ap_fixed<16, 6>, 32>’ is not derived from ‘const _private_bit_ref<_AP_W, _AP_S>’
825 | if( datareg > 0 ) cache = 1;
| ~~~~~~~~^~~
In file included from firmware/ap_types/ap_common.h:252,
from firmware/ap_types/ap_int.h:20,
from firmware/myproject.h:23,
from firmware/myproject.cpp:21:
firmware/ap_types/etc/ap_private.h:7080:15: note: candidate: ‘template<int _AP_W, bool _AP_S> bool operator>(bool, const _private_bit_ref<_AP_W, _AP_S>&)’
7080 | INLINE bool operator REL_OP(C_TYPE op2, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:7086:3: note: in expansion of macro ‘REF_REL_OP_MIX_INT’
7086 | REF_REL_OP_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:7093:1: note: in expansion of macro ‘REF_REL_MIX_INT’
7093 | REF_REL_MIX_INT(bool, 1, false)
| ^~~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:7080:15: note: template argument deduction/substitution failed:
7080 | INLINE bool operator REL_OP(C_TYPE op2, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:7086:3: note: in expansion of macro ‘REF_REL_OP_MIX_INT’
7086 | REF_REL_OP_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:7093:1: note: in expansion of macro ‘REF_REL_MIX_INT’
7093 | REF_REL_MIX_INT(bool, 1, false)
| ^~~~~~~~~~~~~~~
In file included from firmware/parameters.h:9,
from firmware/myproject.cpp:22:
firmware/nnet_utils/nnet_activation.h:825:21: note: mismatched types ‘const _private_bit_ref<_AP_W, _AP_S>’ and ‘int’
825 | if( datareg > 0 ) cache = 1;
| ~~~~~~~~^~~
In file included from firmware/ap_types/ap_common.h:252,
from firmware/ap_types/ap_int.h:20,
from firmware/myproject.h:23,
from firmware/myproject.cpp:21:
firmware/ap_types/etc/ap_private.h:7062:15: note: candidate: ‘template<int _AP_W, bool _AP_S> bool operator>(const _private_range_ref<_AP_W, _AP_S>&, char)’
7062 | INLINE bool operator REL_OP(const _private_range_ref<_AP_W, _AP_S>& op, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:7086:3: note: in expansion of macro ‘REF_REL_OP_MIX_INT’
7086 | REF_REL_OP_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:7094:1: note: in expansion of macro ‘REF_REL_MIX_INT’
7094 | REF_REL_MIX_INT(char, 8, CHAR_IS_SIGNED)
| ^~~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:7062:15: note: template argument deduction/substitution failed:
7062 | INLINE bool operator REL_OP(const _private_range_ref<_AP_W, _AP_S>& op, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:7086:3: note: in expansion of macro ‘REF_REL_OP_MIX_INT’
7086 | REF_REL_OP_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:7094:1: note: in expansion of macro ‘REF_REL_MIX_INT’
7094 | REF_REL_MIX_INT(char, 8, CHAR_IS_SIGNED)
| ^~~~~~~~~~~~~~~
In file included from firmware/parameters.h:9,
from firmware/myproject.cpp:22:
firmware/nnet_utils/nnet_activation.h:825:21: note: ‘nnet::array<ap_fixed<16, 6>, 32>’ is not derived from ‘const _private_range_ref<_AP_W, _AP_S>’
825 | if( datareg > 0 ) cache = 1;
| ~~~~~~~~^~~
In file included from firmware/ap_types/ap_common.h:252,
from firmware/ap_types/ap_int.h:20,
from firmware/myproject.h:23,
from firmware/myproject.cpp:21:
firmware/ap_types/etc/ap_private.h:7069:15: note: candidate: ‘template<int _AP_W, bool _AP_S> bool operator>(char, const _private_range_ref<_AP_W, _AP_S>&)’
7069 | INLINE bool operator REL_OP(C_TYPE op2, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:7086:3: note: in expansion of macro ‘REF_REL_OP_MIX_INT’
7086 | REF_REL_OP_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:7094:1: note: in expansion of macro ‘REF_REL_MIX_INT’
7094 | REF_REL_MIX_INT(char, 8, CHAR_IS_SIGNED)
| ^~~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:7069:15: note: template argument deduction/substitution failed:
7069 | INLINE bool operator REL_OP(C_TYPE op2, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:7086:3: note: in expansion of macro ‘REF_REL_OP_MIX_INT’
7086 | REF_REL_OP_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:7094:1: note: in expansion of macro ‘REF_REL_MIX_INT’
7094 | REF_REL_MIX_INT(char, 8, CHAR_IS_SIGNED)
| ^~~~~~~~~~~~~~~
In file included from firmware/parameters.h:9,
from firmware/myproject.cpp:22:
firmware/nnet_utils/nnet_activation.h:825:21: note: mismatched types ‘const _private_range_ref<_AP_W, _AP_S>’ and ‘int’
825 | if( datareg > 0 ) cache = 1;
| ~~~~~~~~^~~
In file included from firmware/ap_types/ap_common.h:252,
from firmware/ap_types/ap_int.h:20,
from firmware/myproject.h:23,
from firmware/myproject.cpp:21:
firmware/ap_types/etc/ap_private.h:7075:15: note: candidate: ‘template<int _AP_W, bool _AP_S> bool operator>(const _private_bit_ref<_AP_W, _AP_S>&, char)’
7075 | INLINE bool operator REL_OP(const _private_bit_ref<_AP_W, _AP_S>& op, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:7086:3: note: in expansion of macro ‘REF_REL_OP_MIX_INT’
7086 | REF_REL_OP_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:7094:1: note: in expansion of macro ‘REF_REL_MIX_INT’
7094 | REF_REL_MIX_INT(char, 8, CHAR_IS_SIGNED)
| ^~~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:7075:15: note: template argument deduction/substitution failed:
7075 | INLINE bool operator REL_OP(const _private_bit_ref<_AP_W, _AP_S>& op, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:7086:3: note: in expansion of macro ‘REF_REL_OP_MIX_INT’
7086 | REF_REL_OP_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:7094:1: note: in expansion of macro ‘REF_REL_MIX_INT’
7094 | REF_REL_MIX_INT(char, 8, CHAR_IS_SIGNED)
| ^~~~~~~~~~~~~~~
In file included from firmware/parameters.h:9,
from firmware/myproject.cpp:22:
firmware/nnet_utils/nnet_activation.h:825:21: note: ‘nnet::array<ap_fixed<16, 6>, 32>’ is not derived from ‘const _private_bit_ref<_AP_W, _AP_S>’
825 | if( datareg > 0 ) cache = 1;
| ~~~~~~~~^~~
In file included from firmware/ap_types/ap_common.h:252,
from firmware/ap_types/ap_int.h:20,
from firmware/myproject.h:23,
from firmware/myproject.cpp:21:
firmware/ap_types/etc/ap_private.h:7080:15: note: candidate: ‘template<int _AP_W, bool _AP_S> bool operator>(char, const _private_bit_ref<_AP_W, _AP_S>&)’
7080 | INLINE bool operator REL_OP(C_TYPE op2, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:7086:3: note: in expansion of macro ‘REF_REL_OP_MIX_INT’
7086 | REF_REL_OP_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:7094:1: note: in expansion of macro ‘REF_REL_MIX_INT’
7094 | REF_REL_MIX_INT(char, 8, CHAR_IS_SIGNED)
| ^~~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:7080:15: note: template argument deduction/substitution failed:
7080 | INLINE bool operator REL_OP(C_TYPE op2, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:7086:3: note: in expansion of macro ‘REF_REL_OP_MIX_INT’
7086 | REF_REL_OP_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:7094:1: note: in expansion of macro ‘REF_REL_MIX_INT’
7094 | REF_REL_MIX_INT(char, 8, CHAR_IS_SIGNED)
| ^~~~~~~~~~~~~~~
In file included from firmware/parameters.h:9,
from firmware/myproject.cpp:22:
firmware/nnet_utils/nnet_activation.h:825:21: note: mismatched types ‘const _private_bit_ref<_AP_W, _AP_S>’ and ‘int’
825 | if( datareg > 0 ) cache = 1;
| ~~~~~~~~^~~
In file included from firmware/ap_types/ap_common.h:252,
from firmware/ap_types/ap_int.h:20,
from firmware/myproject.h:23,
from firmware/myproject.cpp:21:
firmware/ap_types/etc/ap_private.h:7062:15: note: candidate: ‘template<int _AP_W, bool _AP_S> bool operator>(const _private_range_ref<_AP_W, _AP_S>&, signed char)’
7062 | INLINE bool operator REL_OP(const _private_range_ref<_AP_W, _AP_S>& op, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:7086:3: note: in expansion of macro ‘REF_REL_OP_MIX_INT’
7086 | REF_REL_OP_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:7095:1: note: in expansion of macro ‘REF_REL_MIX_INT’
7095 | REF_REL_MIX_INT(signed char, 8, true)
| ^~~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:7062:15: note: template argument deduction/substitution failed:
7062 | INLINE bool operator REL_OP(const _private_range_ref<_AP_W, _AP_S>& op, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:7086:3: note: in expansion of macro ‘REF_REL_OP_MIX_INT’
7086 | REF_REL_OP_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:7095:1: note: in expansion of macro ‘REF_REL_MIX_INT’
7095 | REF_REL_MIX_INT(signed char, 8, true)
| ^~~~~~~~~~~~~~~
In file included from firmware/parameters.h:9,
from firmware/myproject.cpp:22:
firmware/nnet_utils/nnet_activation.h:825:21: note: ‘nnet::array<ap_fixed<16, 6>, 32>’ is not derived from ‘const _private_range_ref<_AP_W, _AP_S>’
825 | if( datareg > 0 ) cache = 1;
| ~~~~~~~~^~~
In file included from firmware/ap_types/ap_common.h:252,
from firmware/ap_types/ap_int.h:20,
from firmware/myproject.h:23,
from firmware/myproject.cpp:21:
firmware/ap_types/etc/ap_private.h:7069:15: note: candidate: ‘template<int _AP_W, bool _AP_S> bool operator>(signed char, const _private_range_ref<_AP_W, _AP_S>&)’
7069 | INLINE bool operator REL_OP(C_TYPE op2, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:7086:3: note: in expansion of macro ‘REF_REL_OP_MIX_INT’
7086 | REF_REL_OP_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:7095:1: note: in expansion of macro ‘REF_REL_MIX_INT’
7095 | REF_REL_MIX_INT(signed char, 8, true)
| ^~~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:7069:15: note: template argument deduction/substitution failed:
7069 | INLINE bool operator REL_OP(C_TYPE op2, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:7086:3: note: in expansion of macro ‘REF_REL_OP_MIX_INT’
7086 | REF_REL_OP_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:7095:1: note: in expansion of macro ‘REF_REL_MIX_INT’
7095 | REF_REL_MIX_INT(signed char, 8, true)
| ^~~~~~~~~~~~~~~
In file included from firmware/parameters.h:9,
from firmware/myproject.cpp:22:
firmware/nnet_utils/nnet_activation.h:825:21: note: mismatched types ‘const _private_range_ref<_AP_W, _AP_S>’ and ‘int’
825 | if( datareg > 0 ) cache = 1;
| ~~~~~~~~^~~
In file included from firmware/ap_types/ap_common.h:252,
from firmware/ap_types/ap_int.h:20,
from firmware/myproject.h:23,
from firmware/myproject.cpp:21:
firmware/ap_types/etc/ap_private.h:7075:15: note: candidate: ‘template<int _AP_W, bool _AP_S> bool operator>(const _private_bit_ref<_AP_W, _AP_S>&, signed char)’
7075 | INLINE bool operator REL_OP(const _private_bit_ref<_AP_W, _AP_S>& op, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:7086:3: note: in expansion of macro ‘REF_REL_OP_MIX_INT’
7086 | REF_REL_OP_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:7095:1: note: in expansion of macro ‘REF_REL_MIX_INT’
7095 | REF_REL_MIX_INT(signed char, 8, true)
| ^~~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:7075:15: note: template argument deduction/substitution failed:
7075 | INLINE bool operator REL_OP(const _private_bit_ref<_AP_W, _AP_S>& op, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:7086:3: note: in expansion of macro ‘REF_REL_OP_MIX_INT’
7086 | REF_REL_OP_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:7095:1: note: in expansion of macro ‘REF_REL_MIX_INT’
7095 | REF_REL_MIX_INT(signed char, 8, true)
| ^~~~~~~~~~~~~~~
In file included from firmware/parameters.h:9,
from firmware/myproject.cpp:22:
firmware/nnet_utils/nnet_activation.h:825:21: note: ‘nnet::array<ap_fixed<16, 6>, 32>’ is not derived from ‘const _private_bit_ref<_AP_W, _AP_S>’
825 | if( datareg > 0 ) cache = 1;
| ~~~~~~~~^~~
In file included from firmware/ap_types/ap_common.h:252,
from firmware/ap_types/ap_int.h:20,
from firmware/myproject.h:23,
from firmware/myproject.cpp:21:
firmware/ap_types/etc/ap_private.h:7080:15: note: candidate: ‘template<int _AP_W, bool _AP_S> bool operator>(signed char, const _private_bit_ref<_AP_W, _AP_S>&)’
7080 | INLINE bool operator REL_OP(C_TYPE op2, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:7086:3: note: in expansion of macro ‘REF_REL_OP_MIX_INT’
7086 | REF_REL_OP_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:7095:1: note: in expansion of macro ‘REF_REL_MIX_INT’
7095 | REF_REL_MIX_INT(signed char, 8, true)
| ^~~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:7080:15: note: template argument deduction/substitution failed:
7080 | INLINE bool operator REL_OP(C_TYPE op2, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:7086:3: note: in expansion of macro ‘REF_REL_OP_MIX_INT’
7086 | REF_REL_OP_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:7095:1: note: in expansion of macro ‘REF_REL_MIX_INT’
7095 | REF_REL_MIX_INT(signed char, 8, true)
| ^~~~~~~~~~~~~~~
In file included from firmware/parameters.h:9,
from firmware/myproject.cpp:22:
firmware/nnet_utils/nnet_activation.h:825:21: note: mismatched types ‘const _private_bit_ref<_AP_W, _AP_S>’ and ‘int’
825 | if( datareg > 0 ) cache = 1;
| ~~~~~~~~^~~
In file included from firmware/ap_types/ap_common.h:252,
from firmware/ap_types/ap_int.h:20,
from firmware/myproject.h:23,
from firmware/myproject.cpp:21:
firmware/ap_types/etc/ap_private.h:7062:15: note: candidate: ‘template<int _AP_W, bool _AP_S> bool operator>(const _private_range_ref<_AP_W, _AP_S>&, unsigned char)’
7062 | INLINE bool operator REL_OP(const _private_range_ref<_AP_W, _AP_S>& op, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:7086:3: note: in expansion of macro ‘REF_REL_OP_MIX_INT’
7086 | REF_REL_OP_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:7096:1: note: in expansion of macro ‘REF_REL_MIX_INT’
7096 | REF_REL_MIX_INT(unsigned char, 8, false)
| ^~~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:7062:15: note: template argument deduction/substitution failed:
7062 | INLINE bool operator REL_OP(const _private_range_ref<_AP_W, _AP_S>& op, \
| ^~~~~~~~
firmware/ap_types/etc/ap_private.h:7086:3: note: in expansion of macro ‘REF_REL_OP_MIX_INT’
7086 | REF_REL_OP_MIX_INT(>, C_TYPE, (_AP_W2), (_AP_S2)) \
| ^~~~~~~~~~~~~~~~~~
firmware/ap_types/etc/ap_private.h:7096:1: note: in expansion of macro ‘REF_REL_MIX_INT’
7096 | REF_REL_MIX_INT(unsigned char, 8, false)
| ^~~~~~~~~~~~~~~
In file included from firmware/parameters.h:9,
from firmware/myproject.cpp:22:
firmware/nnet_utils/nnet_activation.h:825:21: note: ‘nnet::array<ap_fixed<16, 6>, 32>’ is not derived from ‘const _private_range_ref<_AP_W, _AP_S>’
825 | if( datareg > 0 ) cache = 1;
| ~~~~~~~~^~~
In file included from firmware/ap_types/ap_common.h:252,
from firmware/ap_types/ap_int.h:20,
from firmware/myproject.h:23,