![]() |
MobilityDB 1.3
|
Mathematical operators (+, -, *, /) and functions (round, degrees, ...) for temporal numbers. More...
#include "temporal/tnumber_mathfuncs.h"
#include <assert.h>
#include <math.h>
#include <postgres.h>
#include <utils/float.h>
#include <meos.h>
#include <meos_internal.h>
#include "temporal/lifting.h"
#include "temporal/tinstant.h"
#include "temporal/tsequence.h"
#include "temporal/type_util.h"
Functions | |
static Datum | angular_difference (Datum degrees1, Datum degrees2) |
Return the angular difference, i.e., the smaller angle between the two degree values. More... | |
Temporal * | arithop_tnumber_number (const Temporal *temp, Datum value, TArithmetic oper, Datum(*func)(Datum, Datum, meosType), bool invert) |
Generic arithmetic operator on a temporal number and a number. More... | |
Temporal * | arithop_tnumber_tnumber (const Temporal *temp1, const Temporal *temp2, TArithmetic oper, Datum(*func)(Datum, Datum, meosType), tpfunc_temp tpfunc) |
Generic arithmetic operator on two temporal numbers. More... | |
static Datum | datum_exp (Datum d) |
Return the exponential of a double. More... | |
static Datum | datum_ln (Datum d) |
Return the natural logarithm of a double. More... | |
static Datum | datum_log10 (Datum d) |
Return the logarithm base 10 of a double. More... | |
static Datum | delta_value (Datum value1, Datum value2, meosType basetype) |
Return the delta value of two numbers. More... | |
double | float_exp (double d) |
Return the exponential of a double. More... | |
double | float_ln (double d) |
Return the natural logarithm of a double. More... | |
double | float_log10 (double d) |
Return the logarithm base 10 of a double. More... | |
int | tfloat_arithop_turnpt (Datum start1, Datum end1, Datum start2, Datum end2, Datum param UNUSED, TimestampTz lower, TimestampTz upper, TimestampTz *t1, TimestampTz *t2) |
Find the single timestamptz at which the operation of two temporal float segments is at a local minimum/maximum. More... | |
Temporal * | tfloat_derivative (const Temporal *temp) |
Return the derivative of a temporal number. More... | |
Temporal * | tfloat_exp (const Temporal *temp) |
Return the exponential of a double. More... | |
Temporal * | tfloat_ln (const Temporal *temp) |
Return the natural logarithm of a double. More... | |
Temporal * | tfloat_log10 (const Temporal *temp) |
Return the natural logarithm of a double. More... | |
TSequence * | tfloatseq_derivative (const TSequence *seq) |
Return the derivative of a temporal float sequence. More... | |
TSequenceSet * | tfloatseqset_derivative (const TSequenceSet *ss) |
Return the derivative of a temporal float sequence set. More... | |
Temporal * | tnumber_abs (const Temporal *temp) |
Return the absolute value of a temporal number. More... | |
Temporal * | tnumber_angular_difference (const Temporal *temp) |
Return the angular difference of a temporal number. More... | |
Temporal * | tnumber_delta_value (const Temporal *temp) |
Return the delta value of a temporal number. More... | |
TInstant * | tnumberinst_abs (const TInstant *inst) |
Return the absolute value of a temporal number instant. More... | |
TSequence * | tnumberseq_abs (const TSequence *seq) |
Return the absolute value of a temporal number sequence. More... | |
TSequence * | tnumberseq_angular_difference (const TSequence *seq) |
Return the temporal angular difference of a temporal number sequence. More... | |
static int | tnumberseq_angular_difference_iter (const TSequence *seq, TInstant **result) |
Return the temporal angular difference of a temporal number. More... | |
TSequence * | tnumberseq_delta_value (const TSequence *seq) |
Return the delta value of a temporal number sequence. More... | |
static TSequence * | tnumberseq_iter_abs (const TSequence *seq) |
Return the absolute value of a temporal number sequence. More... | |
static TSequence * | tnumberseq_linear_abs (const TSequence *seq) |
Return the absolute value of a temporal number sequence. More... | |
TSequenceSet * | tnumberseqset_abs (const TSequenceSet *ss) |
Return the absolute value of a temporal number sequence set. More... | |
TSequence * | tnumberseqset_angular_difference (const TSequenceSet *ss) |
Return the angular difference of a temporal number sequence set. More... | |
TSequenceSet * | tnumberseqset_delta_value (const TSequenceSet *ss) |
Return the delta value of a temporal number sequence set. More... | |
Mathematical operators (+, -, *, /) and functions (round, degrees, ...) for temporal numbers.