Files
OrcaSlicer/deps_src/qhull/src/libqhullcpp/functionObjects.h
SoftFever 883607e1d4 Refactor folder (#10475)
Move many third-party components' source codes from the src folder to a new folder called deps_src. The goal is to make the code structure clearer and easier to navigate.
2025-08-22 20:02:26 +08:00

68 lines
1.5 KiB
C++

/****************************************************************************
**
** Copyright (c) 2008-2015 C.B. Barber. All rights reserved.
** $Id: //main/2015/qhull/src/libqhullcpp/functionObjects.h#1 $$Change: 1981 $
** $DateTime: 2015/09/28 20:26:32 $$Author: bbarber $
**
****************************************************************************/
#ifndef QHFUNCTIONOBJECTS_H
#define QHFUNCTIONOBJECTS_H
#include <stdlib.h>
#include <math.h>
namespace orgQhull {
#//!\name Defined here
//! Sum of absolute values of the elements in a container
class AbsoluteSumOf;
//! Sum of the elements in a container
class SumOf;
//! Sum of squares of the elements in a container
class SumSquaresOf;
#//!\name Class
//! Absolute sum of the elements in a container
class AbsoluteSumOf
{
private:
double sum;
public:
inline AbsoluteSumOf() : sum(0.0) {}
inline void operator()(double v) { sum += fabs(v); }
inline operator double() { return sum; }
};//AbsoluteSumOf
//! Sum of the elements in a container
class SumOf
{
private:
double sum;
public:
inline SumOf() : sum(0.0) {}
inline void operator()(double v) { sum += v; }
inline operator double() { return sum; }
};//SumOf
//! Sum of squares of the elements in a container
class SumSquaresOf
{
private:
double sum;
public:
inline SumSquaresOf() : sum(0.0) {}
inline void operator()(double v) { sum += v*v; }
inline operator double() { return sum; }
};//SumSquaresOf
}//orgQhull
#endif //QHFUNCTIONOBJECTS_H