tomstewart89 / BasicLinearAlgebra

A library for using matrices and linear algebra on Arduino
MIT License
185 stars 38 forks source link

After the latest update, I'm getting two template-related compilation errors #36

Closed marcotoniut closed 3 years ago

marcotoniut commented 3 years ago
Using board 'micro' from platform in folder: /Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3
Using core 'arduino' from platform in folder: /Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3
Detecting libraries used...
/Users/mark/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8037 "-DUSB_MANUFACTURER=\"Unknown\"" "-DUSB_PRODUCT=\"Arduino Micro\"" -I/Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/cores/arduino -I/Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/variants/micro /var/folders/g2/0wzmz58970bgvfl36px8xqs00000gn/T/arduino-sketch-F9F4681ED34D8D20D5EEE990F4B86CE1/sketch/joycon-firmware.ino.cpp -o /dev/null
Alternatives for Wire.h: [Wire@1.0]
ResolveLibrary(Wire.h)
  -> candidates: [Wire@1.0]
/Users/mark/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8037 "-DUSB_MANUFACTURER=\"Unknown\"" "-DUSB_PRODUCT=\"Arduino Micro\"" -I/Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/cores/arduino -I/Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/variants/micro -I/Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/libraries/Wire/src /var/folders/g2/0wzmz58970bgvfl36px8xqs00000gn/T/arduino-sketch-F9F4681ED34D8D20D5EEE990F4B86CE1/sketch/joycon-firmware.ino.cpp -o /dev/null
Alternatives for DFRobotIRPosition.h: [DFRobotIRPosition@1.0.2]
ResolveLibrary(DFRobotIRPosition.h)
  -> candidates: [DFRobotIRPosition@1.0.2]
/Users/mark/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8037 "-DUSB_MANUFACTURER=\"Unknown\"" "-DUSB_PRODUCT=\"Arduino Micro\"" -I/Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/cores/arduino -I/Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/variants/micro -I/Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/libraries/Wire/src -I/Users/mark/Documents/Arduino/libraries/DFRobotIRPosition /var/folders/g2/0wzmz58970bgvfl36px8xqs00000gn/T/arduino-sketch-F9F4681ED34D8D20D5EEE990F4B86CE1/sketch/joycon-firmware.ino.cpp -o /dev/null
Alternatives for AbsMouse.h: [absmouse@1.0.0]
ResolveLibrary(AbsMouse.h)
  -> candidates: [absmouse@1.0.0]
/Users/mark/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8037 "-DUSB_MANUFACTURER=\"Unknown\"" "-DUSB_PRODUCT=\"Arduino Micro\"" -I/Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/cores/arduino -I/Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/variants/micro -I/Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/libraries/Wire/src -I/Users/mark/Documents/Arduino/libraries/DFRobotIRPosition -I/Users/mark/Documents/Arduino/libraries/absmouse/src /var/folders/g2/0wzmz58970bgvfl36px8xqs00000gn/T/arduino-sketch-F9F4681ED34D8D20D5EEE990F4B86CE1/sketch/joycon-firmware.ino.cpp -o /dev/null
Alternatives for HID.h: [HID@1.0]
ResolveLibrary(HID.h)
  -> candidates: [HID@1.0]
/Users/mark/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8037 "-DUSB_MANUFACTURER=\"Unknown\"" "-DUSB_PRODUCT=\"Arduino Micro\"" -I/Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/cores/arduino -I/Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/variants/micro -I/Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/libraries/Wire/src -I/Users/mark/Documents/Arduino/libraries/DFRobotIRPosition -I/Users/mark/Documents/Arduino/libraries/absmouse/src -I/Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/libraries/HID/src /var/folders/g2/0wzmz58970bgvfl36px8xqs00000gn/T/arduino-sketch-F9F4681ED34D8D20D5EEE990F4B86CE1/sketch/joycon-firmware.ino.cpp -o /dev/null
Alternatives for BasicLinearAlgebra.h: [BasicLinearAlgebra@2.3]
ResolveLibrary(BasicLinearAlgebra.h)
  -> candidates: [BasicLinearAlgebra@2.3]
/Users/mark/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8037 "-DUSB_MANUFACTURER=\"Unknown\"" "-DUSB_PRODUCT=\"Arduino Micro\"" -I/Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/cores/arduino -I/Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/variants/micro -I/Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/libraries/Wire/src -I/Users/mark/Documents/Arduino/libraries/DFRobotIRPosition -I/Users/mark/Documents/Arduino/libraries/absmouse/src -I/Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/libraries/HID/src -I/Users/mark/Documents/Arduino/libraries/BasicLinearAlgebra /var/folders/g2/0wzmz58970bgvfl36px8xqs00000gn/T/arduino-sketch-F9F4681ED34D8D20D5EEE990F4B86CE1/sketch/joycon-firmware.ino.cpp -o /dev/null
/Users/mark/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8037 "-DUSB_MANUFACTURER=\"Unknown\"" "-DUSB_PRODUCT=\"Arduino Micro\"" -I/Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/cores/arduino -I/Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/variants/micro -I/Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/libraries/Wire/src -I/Users/mark/Documents/Arduino/libraries/DFRobotIRPosition -I/Users/mark/Documents/Arduino/libraries/absmouse/src -I/Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/libraries/HID/src -I/Users/mark/Documents/Arduino/libraries/BasicLinearAlgebra /Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/libraries/Wire/src/Wire.cpp -o /dev/null
/Users/mark/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8037 "-DUSB_MANUFACTURER=\"Unknown\"" "-DUSB_PRODUCT=\"Arduino Micro\"" -I/Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/cores/arduino -I/Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/variants/micro -I/Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/libraries/Wire/src -I/Users/mark/Documents/Arduino/libraries/DFRobotIRPosition -I/Users/mark/Documents/Arduino/libraries/absmouse/src -I/Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/libraries/HID/src -I/Users/mark/Documents/Arduino/libraries/BasicLinearAlgebra /Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/libraries/Wire/src/utility/twi.c -o /dev/null
/Users/mark/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8037 "-DUSB_MANUFACTURER=\"Unknown\"" "-DUSB_PRODUCT=\"Arduino Micro\"" -I/Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/cores/arduino -I/Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/variants/micro -I/Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/libraries/Wire/src -I/Users/mark/Documents/Arduino/libraries/DFRobotIRPosition -I/Users/mark/Documents/Arduino/libraries/absmouse/src -I/Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/libraries/HID/src -I/Users/mark/Documents/Arduino/libraries/BasicLinearAlgebra /Users/mark/Documents/Arduino/libraries/DFRobotIRPosition/DFRobotIRPosition.cpp -o /dev/null
/Users/mark/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8037 "-DUSB_MANUFACTURER=\"Unknown\"" "-DUSB_PRODUCT=\"Arduino Micro\"" -I/Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/cores/arduino -I/Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/variants/micro -I/Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/libraries/Wire/src -I/Users/mark/Documents/Arduino/libraries/DFRobotIRPosition -I/Users/mark/Documents/Arduino/libraries/absmouse/src -I/Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/libraries/HID/src -I/Users/mark/Documents/Arduino/libraries/BasicLinearAlgebra /Users/mark/Documents/Arduino/libraries/absmouse/src/AbsMouse.cpp -o /dev/null
/Users/mark/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8037 "-DUSB_MANUFACTURER=\"Unknown\"" "-DUSB_PRODUCT=\"Arduino Micro\"" -I/Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/cores/arduino -I/Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/variants/micro -I/Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/libraries/Wire/src -I/Users/mark/Documents/Arduino/libraries/DFRobotIRPosition -I/Users/mark/Documents/Arduino/libraries/absmouse/src -I/Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/libraries/HID/src -I/Users/mark/Documents/Arduino/libraries/BasicLinearAlgebra /Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/libraries/HID/src/HID.cpp -o /dev/null
Generating function prototypes...
/Users/mark/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8037 "-DUSB_MANUFACTURER=\"Unknown\"" "-DUSB_PRODUCT=\"Arduino Micro\"" -I/Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/cores/arduino -I/Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/variants/micro -I/Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/libraries/Wire/src -I/Users/mark/Documents/Arduino/libraries/DFRobotIRPosition -I/Users/mark/Documents/Arduino/libraries/absmouse/src -I/Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/libraries/HID/src -I/Users/mark/Documents/Arduino/libraries/BasicLinearAlgebra /var/folders/g2/0wzmz58970bgvfl36px8xqs00000gn/T/arduino-sketch-F9F4681ED34D8D20D5EEE990F4B86CE1/sketch/joycon-firmware.ino.cpp -o /var/folders/g2/0wzmz58970bgvfl36px8xqs00000gn/T/arduino-sketch-F9F4681ED34D8D20D5EEE990F4B86CE1/preproc/ctags_target_for_gcc_minus_e.cpp
/Users/mark/Library/Arduino15/packages/builtin/tools/ctags/5.8-arduino11/ctags -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives /var/folders/g2/0wzmz58970bgvfl36px8xqs00000gn/T/arduino-sketch-F9F4681ED34D8D20D5EEE990F4B86CE1/preproc/ctags_target_for_gcc_minus_e.cpp
Compiling sketch...
/Users/mark/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8037 "-DUSB_MANUFACTURER=\"Unknown\"" "-DUSB_PRODUCT=\"Arduino Micro\"" -I/Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/cores/arduino -I/Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/variants/micro -I/Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/libraries/Wire/src -I/Users/mark/Documents/Arduino/libraries/DFRobotIRPosition -I/Users/mark/Documents/Arduino/libraries/absmouse/src -I/Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/libraries/HID/src -I/Users/mark/Documents/Arduino/libraries/BasicLinearAlgebra /var/folders/g2/0wzmz58970bgvfl36px8xqs00000gn/T/arduino-sketch-F9F4681ED34D8D20D5EEE990F4B86CE1/sketch/joycon-firmware.ino.cpp -o /var/folders/g2/0wzmz58970bgvfl36px8xqs00000gn/T/arduino-sketch-F9F4681ED34D8D20D5EEE990F4B86CE1/sketch/joycon-firmware.ino.cpp.o
In file included from /Users/mark/repos/lab/joycon/joycon-firmware/joycon-firmware.ino:1:0:
/Users/mark/Documents/Arduino/libraries/BasicLinearAlgebra/NotSoBasicLinearAlgebra.h:14:25: error: expected unqualified-id before 'const'
     inline const T &max(const T &a, const T &b)
                         ^
/Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/cores/arduino/Arduino.h:93:20: note: in definition of macro 'max'
 #define max(a,b) ((a)>(b)?(a):(b))
                    ^
/Users/mark/Documents/Arduino/libraries/BasicLinearAlgebra/NotSoBasicLinearAlgebra.h:14:25: error: expected ')' before 'const'
     inline const T &max(const T &a, const T &b)
                         ^
/Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/cores/arduino/Arduino.h:93:20: note: in definition of macro 'max'
 #define max(a,b) ((a)>(b)?(a):(b))
                    ^
/Users/mark/Documents/Arduino/libraries/BasicLinearAlgebra/NotSoBasicLinearAlgebra.h:14:25: error: expected ')' before 'const'
     inline const T &max(const T &a, const T &b)
                         ^
/Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/cores/arduino/Arduino.h:93:20: note: in definition of macro 'max'
 #define max(a,b) ((a)>(b)?(a):(b))
                    ^
/Users/mark/Documents/Arduino/libraries/BasicLinearAlgebra/NotSoBasicLinearAlgebra.h:14:25: error: expected initializer before 'const'
     inline const T &max(const T &a, const T &b)
                         ^
/Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/cores/arduino/Arduino.h:93:20: note: in definition of macro 'max'
 #define max(a,b) ((a)>(b)?(a):(b))
                    ^
In file included from /Users/mark/repos/lab/joycon/joycon-firmware/joycon-firmware.ino:6:0:
/Users/mark/Documents/Arduino/libraries/BasicLinearAlgebra/BasicLinearAlgebra.h: In instantiation of 'BLA::Matrix<rows, cols, MemT>::Matrix(ARGS ...) [with ARGS = {BLA::Matrix<3, 3, BLA::Array<3, 3, float> >}; int rows = 3; int cols = 1; MemT = BLA::Array<3, 1, float>]':
/Users/mark/Documents/Arduino/libraries/BasicLinearAlgebra/BasicLinearAlgebra.h:310:16:   required from 'BLA::Matrix<rows, operandCols, BLA::Array<rows, operandCols, typename MemT::elem_t> > BLA::Matrix<rows, cols, MemT>::operator*(const BLA::Matrix<cols, operandCols, opMemT>&) const [with int operandCols = 1; opMemT = BLA::Array<3, 1, float>; int rows = 3; int cols = 3; MemT = BLA::Array<3, 3, float>; typename MemT::elem_t = float]'
/Users/mark/repos/lab/joycon/joycon-firmware/joycon-firmware.ino:246:33:   required from here
/Users/mark/Documents/Arduino/libraries/BasicLinearAlgebra/BasicLinearAlgebra.h:63:44: error: no matching function for call to 'BLA::Matrix<3>::FillRowMajor(BLA::Matrix<3, 3>&)'
         Matrix(ARGS... args) { FillRowMajor(args...); }
                                ~~~~~~~~~~~~^~~~~~~~~
/Users/mark/Documents/Arduino/libraries/BasicLinearAlgebra/BasicLinearAlgebra.h:91:14: note: candidate: template<class ... TAIL> void BLA::Matrix<rows, cols, MemT>::FillRowMajor(typename MemT::elem_t, TAIL ...) [with TAIL = {TAIL ...}; int rows = 3; int cols = 1; MemT = BLA::Array<3, 1, float>]
         void FillRowMajor(typename MemT::elem_t head, TAIL... tail);
              ^~~~~~~~~~~~
/Users/mark/Documents/Arduino/libraries/BasicLinearAlgebra/BasicLinearAlgebra.h:91:14: note:   template argument deduction/substitution failed:
/Users/mark/Documents/Arduino/libraries/BasicLinearAlgebra/BasicLinearAlgebra.h:63:44: note:   cannot convert 'args#0' (type 'BLA::Matrix<3, 3>') to type 'BLA::Array<3, 1, float>::elem_t {aka float}'
         Matrix(ARGS... args) { FillRowMajor(args...); }
                                ~~~~~~~~~~~~^~~~~~~~~
/Users/mark/Documents/Arduino/libraries/BasicLinearAlgebra/BasicLinearAlgebra.h:92:14: note: candidate: void BLA::Matrix<rows, cols, MemT>::FillRowMajor() [with int rows = 3; int cols = 1; MemT = BLA::Array<3, 1, float>]
         void FillRowMajor() {}
              ^~~~~~~~~~~~
/Users/mark/Documents/Arduino/libraries/BasicLinearAlgebra/BasicLinearAlgebra.h:92:14: note:   candidate expects 0 arguments, 1 provided
Using library Wire at version 1.0 in folder: /Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/libraries/Wire 
Using library DFRobotIRPosition at version 1.0.2 in folder: /Users/mark/Documents/Arduino/libraries/DFRobotIRPosition 
Using library absmouse at version 1.0.0 in folder: /Users/mark/Documents/Arduino/libraries/absmouse 
Using library HID at version 1.0 in folder: /Users/mark/Library/Arduino15/packages/arduino/hardware/avr/1.8.3/libraries/HID 
Using library BasicLinearAlgebra at version 2.3 in folder: /Users/mark/Documents/Arduino/libraries/BasicLinearAlgebra 
Compilation error: Error: 2 UNKNOWN: exit status 1

I can easily salvage the one on the max function, but the other is a bit too foreign for me atm. My knowledge of C compiling isn't all too great. Could this be an issue specific to some Arduino compilers, like in this case AVR's?

tomstewart89 commented 3 years ago

Hey @marcotoniut, thanks for the info! I guess you already noticed but I've been playing around with this library recently and at the moment master is a little unstable. I'm planning on releasing a new stable version pretty soon but in the meantime, if these errors are blocking you then you can return to the latest stable version by checking out the tag 2.3:

$ git checkout 2.3

Or you can install the library through the arduino IDE library manager and just choose version 2.3 there.

Regarding those bugs, that second one should be fixed in a branch that I'm planning to merge into master pretty soon and for the oether, I guess I'll just rename my max function so it doesn't clash with the macro defined in Arduino.h (I actually hadn't noticed that one yet so thanks for the heads up there)

marcotoniut commented 3 years ago

Thanks for your prompt reply @tomstewart . Since I specifically wanted to get LUDecomposition, I already took the working code from the better-storage branch and stitched it into my local copy. Works beautifully. Looking forward to the official release.

tomstewart89 commented 3 years ago

Ok, I just release v3.0 which adds LU decomposition along with a few other bits and pieces. As I was writing the tests for LUDecompose I found and squashed a couple of bugs, I also made the interface a little nicer so if you have any troubles maybe try out the latest version!

Glad you liked the LU decomposition! Let me know if you have any trouble with v3.0