![]() |
Reels
|
#include <algorithm>#include <map>#include <math.h>#include <set>#include <string>#include <string.h>#include <time.h>#include <vector>#include <stdarg.h>#include <cstdint>

Go to the source code of this file.
Classes | |
| struct | reels::ImageBlock |
| An generic block structure to store object state in a Python-friendly way. More... | |
| struct | reels::BinEventPt |
| The binary representation of an event as stored in a transaction file. More... | |
| struct | reels::BinTransaction |
| The binary representation of a transaction in a transaction file. More... | |
| struct | reels::EventStat |
| The metrics associated to an event identified by a BinEventPt. More... | |
| struct | reels::CodeInTreeStatistics |
| CodeInTreeStatistics: A structure to compute aggregated statistics of for each code. More... | |
| struct | reels::StringUsage |
| StringUsage: A pair of String and number of times it is used. More... | |
| struct | reels::OptimizeEvalItem |
| OptimizeEvalItem: A structure to compare predicted and observed. More... | |
| struct | reels::CodeScoreItem |
| CodeScoreItem: A structure to sort codes by lift. More... | |
| struct | reels::CodeTreeNode |
| CodeTreeNode: Each node in a fitted CodeTree. More... | |
| class | reels::Logger |
| A minimalist logger stored as a std::string providing sprintf functionality. More... | |
| class | reels::Events |
| A container class to hold events. More... | |
| class | reels::Clients |
| A container class to hold client ids. More... | |
| class | reels::TimeUtil |
| A common ancestor of Clips and Targets to avoid duplicating time management. More... | |
| class | reels::Clips |
| A container class to hold clips (sequences of events). More... | |
| class | reels::Targets |
| A container class to hold target events and do predictions based on clips. More... | |
Namespaces | |
| namespace | reels |
| The namespace including everything to simplify using Reels in a c++ application,. | |
Macros | |
| #define | INCLUDED_REELS_TYPES |
| #define | IMAGE_BUFF_SIZE 6136 |
| Makes sizeof(ImageBlock) == 6K. More... | |
| #define | PRIORITY_SEEN_FACTOR 2000000000 |
| Close enough to 2^31 increases by 1 on visit, multiplies by this on seen. More... | |
| #define | DEFAULT_NUM_EVENTS 1000 |
| A size to store events in an Events object by default. More... | |
| #define | MAX_SEQ_LEN_IN_PREDICT 1000 |
| The maximum sequence length used in prediction. More... | |
| #define | PREDICT_MAX_TIME (100*365.25*24*3600) |
| Hundred years when the target was never seen. More... | |
| #define | WEIGHT_PRECISION 10000 |
| 10^ the number of digits at which weight is rounded More... | |
Typedefs | |
| typedef uint64_t | reels::ElementHash |
| A binary hash of a string. More... | |
| typedef std::string | reels::String |
| A dynamically allocated c++ string. More... | |
| typedef const char * | reels::pChar |
| A c string. More... | |
| typedef time_t | reels::TimePoint |
| A c 8 byte integer time point. More... | |
| typedef struct tm | reels::TimeStruct |
| A c structure of integer fields. More... | |
| typedef double | reels::ExtFloat |
| Accumulator type: Was a 128 bit float, changed to 64 for macos compatibility. More... | |
| typedef std::vector< ImageBlock > | reels::BinaryImage |
| An array of generic blocks to serialize anything. More... | |
| typedef BinaryImage * | reels::pBinaryImage |
| A pointer to BinaryImage. More... | |
| typedef std::map< BinEventPt, EventStat > | reels::EventMap |
| EventMap: A map from hashes in an BinEventPt to usage data defines the info about an event. More... | |
| typedef std::map< uint64_t, BinEventPt > | reels::PriorityMap |
| PriorityMap: A map with all the acceptable priority values in the EventMap as keys. More... | |
| typedef std::map< uint64_t, uint64_t > | reels::EventCodeMap |
| EventCodeMap: A map converting the space of Event codes into a lower cardinality set for Event optimization. More... | |
| typedef std::map< uint64_t, CodeInTreeStatistics > | reels::CodeInTreeStatMap |
| CodeInTreeStatMap: A map to store all the CodeInTreeStatistics by code. More... | |
| typedef std::map< ElementHash, StringUsage > | reels::StringUsageMap |
| StringUsageMap: A map from hashes to string and number of times the string is used. More... | |
| typedef std::vector< ElementHash > | reels::ClientIDs |
| ClientIDs: A vector of client ID hashes. More... | |
| typedef std::set< ElementHash > | reels::ClientIDSet |
| ClientIDSet: A set of client ID hashes. More... | |
| typedef std::map< TimePoint, uint64_t > | reels::Clip |
| Clip: The clip (timeline) of a client is just a map of time points and codes. More... | |
| typedef std::map< ElementHash, Clip > | reels::ClipMap |
| ClipMap: A map from clients to clips. More... | |
| typedef ClipMap * | reels::pClipMap |
| Pointer to a ClipMap. More... | |
| typedef std::map< ElementHash, TimePoint > | reels::TargetMap |
| TargetMap: A map from clients to target event TimePoints. More... | |
| typedef TargetMap * | reels::pTargetMap |
| Pointer to a TargetMap. More... | |
| typedef std::vector< double > | reels::TimesToTarget |
| TimesToTarget: A vector of predictions. More... | |
| typedef std::set< uint64_t > | reels::CodeSet |
| CodeSet: A set of event codes. More... | |
| typedef CodeSet * | reels::pCodeSet |
| Pointer to a CodeSet. More... | |
| typedef std::vector< OptimizeEvalItem > | reels::OptimizeEval |
| OptimizeEval: A vector of OptimizeEvalItem. More... | |
| typedef std::vector< CodeScoreItem > | reels::CodeScores |
| CodeScores: A vector of CodeScoreItem. More... | |
| typedef std::map< uint64_t, int > | reels::ChildIndex |
| ChildIndex: A map to find the next child in a CodeTree. More... | |
| typedef CodeTreeNode * | reels::pCodeTreeNode |
| Pointer to a CodeTreeNode. More... | |
| typedef std::vector< CodeTreeNode > | reels::CodeTree |
| CodeTree: A tree of fitted targets. More... | |
| typedef CodeTree * | reels::pCodeTree |
| Pointer to a CodeTree. More... | |
Enumerations | |
| enum | reels::Transform { reels::tr_undefined , reels::tr_linear , reels::tr_log } |
| Transform: The transformation applied to time differences. (And inverted again in predict().) More... | |
| enum | reels::Aggregate { reels::ag_undefined , reels::ag_mean , reels::ag_minimax , reels::ag_longest } |
| Aggregate: The method used to aggregate predictions for different sequence lengths. More... | |
Functions | |
| uint64_t | reels::MurmurHash64A (const void *key, int len) |
| MurmurHash2, 64-bit versions, by Austin Appleby. More... | |
| bool | reels::image_put (pBinaryImage p_bi, void *p_data, int size) |
| A function to push arbitrary raw data into a BinaryImage. More... | |
| bool | reels::image_get (pBinaryImage p_bi, int &c_block, int &c_ofs, void *p_data, int size) |
| A function to get an arbitrary raw data block from a BinaryImage. More... | |
| #define DEFAULT_NUM_EVENTS 1000 |
A size to store events in an Events object by default.
| #define IMAGE_BUFF_SIZE 6136 |
Makes sizeof(ImageBlock) == 6K.
| #define INCLUDED_REELS_TYPES |
| #define MAX_SEQ_LEN_IN_PREDICT 1000 |
The maximum sequence length used in prediction.
| #define PREDICT_MAX_TIME (100*365.25*24*3600) |
Hundred years when the target was never seen.
| #define PRIORITY_SEEN_FACTOR 2000000000 |
Close enough to 2^31 increases by 1 on visit, multiplies by this on seen.
| #define WEIGHT_PRECISION 10000 |
10^ the number of digits at which weight is rounded