-
Notifications
You must be signed in to change notification settings - Fork 75
ctx - expand CeedContextFieldType to support additional field types #2008
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -417,11 +417,25 @@ CEED_EXTERN int CeedQFunctionContextGetData(CeedQFunctionContext ctx, CeedMemTyp | |
| CEED_EXTERN int CeedQFunctionContextGetDataRead(CeedQFunctionContext ctx, CeedMemType mem_type, void *data); | ||
| CEED_EXTERN int CeedQFunctionContextRestoreData(CeedQFunctionContext ctx, void *data); | ||
| CEED_EXTERN int CeedQFunctionContextRestoreDataRead(CeedQFunctionContext ctx, void *data); | ||
| CEED_EXTERN int CeedQFunctionContextRegisterDouble(CeedQFunctionContext ctx, const char *field_name, size_t field_offset, size_t num_values, | ||
| CEED_EXTERN int CeedQFunctionContextRegisterCeedByte(CeedQFunctionContext ctx, const char *field_name, size_t field_offset, size_t num_values, | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Note, these (and the other fn definitions and declarations) should use the ordering of the enum provided |
||
| const char *field_description); | ||
| CEED_EXTERN int CeedQFunctionContextRegisterInt32(CeedQFunctionContext ctx, const char *field_name, size_t field_offset, size_t num_values, | ||
| CEED_EXTERN int CeedQFunctionContextRegisterCeedScalar(CeedQFunctionContext ctx, const char *field_name, size_t field_offset, size_t num_values, | ||
| const char *field_description); | ||
| CEED_EXTERN int CeedQFunctionContextRegisterCeedFloat(CeedQFunctionContext ctx, const char *field_name, size_t field_offset, size_t num_values, | ||
| const char *field_description); | ||
| CEED_EXTERN int CeedQFunctionContextRegisterCeedDouble(CeedQFunctionContext ctx, const char *field_name, size_t field_offset, size_t num_values, | ||
| const char *field_description); | ||
| CEED_EXTERN int CeedQFunctionContextRegisterCeedInt8(CeedQFunctionContext ctx, const char *field_name, size_t field_offset, size_t num_values, | ||
| const char *field_description); | ||
| CEED_EXTERN int CeedQFunctionContextRegisterCeedInt(CeedQFunctionContext ctx, const char *field_name, size_t field_offset, size_t num_values, | ||
| const char *field_description); | ||
| CEED_EXTERN int CeedQFunctionContextRegisterCeedInt32(CeedQFunctionContext ctx, const char *field_name, size_t field_offset, size_t num_values, | ||
| const char *field_description); | ||
| CEED_EXTERN int CeedQFunctionContextRegisterCeedInt64(CeedQFunctionContext ctx, const char *field_name, size_t field_offset, size_t num_values, | ||
| const char *field_description); | ||
| CEED_EXTERN int CeedQFunctionContextRegisterCeedSize(CeedQFunctionContext ctx, const char *field_name, size_t field_offset, size_t num_values, | ||
| const char *field_description); | ||
| CEED_EXTERN int CeedQFunctionContextRegisterBoolean(CeedQFunctionContext ctx, const char *field_name, size_t field_offset, size_t num_values, | ||
| CEED_EXTERN int CeedQFunctionContextRegisterCeedBoolean(CeedQFunctionContext ctx, const char *field_name, size_t field_offset, size_t num_values, | ||
| const char *field_description); | ||
| CEED_EXTERN int CeedQFunctionContextGetAllFieldLabels(CeedQFunctionContext ctx, const CeedContextFieldLabel **field_labels, CeedInt *num_fields); | ||
| CEED_EXTERN int CeedContextFieldLabelGetDescription(CeedContextFieldLabel label, const char **field_name, size_t *field_offset, size_t *num_values, | ||
|
|
@@ -489,15 +503,36 @@ CEED_EXTERN int CeedOperatorGetNumQuadraturePoints(CeedOperator op, CeedInt *nu | |
| CEED_EXTERN int CeedOperatorGetFlopsEstimate(CeedOperator op, CeedSize *flops); | ||
| CEED_EXTERN int CeedOperatorGetContext(CeedOperator op, CeedQFunctionContext *ctx); | ||
| CEED_EXTERN int CeedOperatorGetContextFieldLabel(CeedOperator op, const char *field_name, CeedContextFieldLabel *field_label); | ||
| CEED_EXTERN int CeedOperatorSetContextDouble(CeedOperator op, CeedContextFieldLabel field_label, double *values); | ||
| CEED_EXTERN int CeedOperatorGetContextDoubleRead(CeedOperator op, CeedContextFieldLabel field_label, size_t *num_values, const double **values); | ||
| CEED_EXTERN int CeedOperatorRestoreContextDoubleRead(CeedOperator op, CeedContextFieldLabel field_label, const double **values); | ||
| CEED_EXTERN int CeedOperatorSetContextInt32(CeedOperator op, CeedContextFieldLabel field_label, int32_t *values); | ||
| CEED_EXTERN int CeedOperatorGetContextInt32Read(CeedOperator op, CeedContextFieldLabel field_label, size_t *num_values, const int32_t **values); | ||
| CEED_EXTERN int CeedOperatorRestoreContextInt32Read(CeedOperator op, CeedContextFieldLabel field_label, const int32_t **values); | ||
| CEED_EXTERN int CeedOperatorSetContextBoolean(CeedOperator op, CeedContextFieldLabel field_label, bool *values); | ||
| CEED_EXTERN int CeedOperatorGetContextBooleanRead(CeedOperator op, CeedContextFieldLabel field_label, size_t *num_values, const bool **values); | ||
| CEED_EXTERN int CeedOperatorRestoreContextBooleanRead(CeedOperator op, CeedContextFieldLabel field_label, const bool **values); | ||
| CEED_EXTERN int CeedOperatorSetContextCeedByte(CeedOperator op, CeedContextFieldLabel field_label, char *values); | ||
| CEED_EXTERN int CeedOperatorGetContextCeedByteRead(CeedOperator op, CeedContextFieldLabel field_label, size_t *num_values, const char **values); | ||
| CEED_EXTERN int CeedOperatorRestoreContextCeedByteRead(CeedOperator op, CeedContextFieldLabel field_label, const char **values); | ||
| CEED_EXTERN int CeedOperatorSetContextCeedScalar(CeedOperator op, CeedContextFieldLabel field_label, CeedScalar *values); | ||
| CEED_EXTERN int CeedOperatorGetContextCeedScalarRead(CeedOperator op, CeedContextFieldLabel field_label, size_t *num_values, const CeedScalar **values); | ||
| CEED_EXTERN int CeedOperatorRestoreContextCeedScalarRead(CeedOperator op, CeedContextFieldLabel field_label, const CeedScalar **values); | ||
| CEED_EXTERN int CeedOperatorSetContextCeedFloat(CeedOperator op, CeedContextFieldLabel field_label, float *values); | ||
| CEED_EXTERN int CeedOperatorGetContextCeedFloatRead(CeedOperator op, CeedContextFieldLabel field_label, size_t *num_values, const float **values); | ||
| CEED_EXTERN int CeedOperatorRestoreContextCeedFloatRead(CeedOperator op, CeedContextFieldLabel field_label, const float **values); | ||
| CEED_EXTERN int CeedOperatorSetContextCeedDouble(CeedOperator op, CeedContextFieldLabel field_label, double *values); | ||
| CEED_EXTERN int CeedOperatorGetContextCeedDoubleRead(CeedOperator op, CeedContextFieldLabel field_label, size_t *num_values, const double **values); | ||
| CEED_EXTERN int CeedOperatorRestoreContextCeedDoubleRead(CeedOperator op, CeedContextFieldLabel field_label, const double **values); | ||
| CEED_EXTERN int CeedOperatorSetContextCeedInt8(CeedOperator op, CeedContextFieldLabel field_label, CeedInt8 *values); | ||
| CEED_EXTERN int CeedOperatorGetContextCeedInt8Read(CeedOperator op, CeedContextFieldLabel field_label, size_t *num_values, const CeedInt8 **values); | ||
| CEED_EXTERN int CeedOperatorRestoreContextCeedInt8Read(CeedOperator op, CeedContextFieldLabel field_label, const CeedInt8 **values); | ||
| CEED_EXTERN int CeedOperatorSetContextCeedInt(CeedOperator op, CeedContextFieldLabel field_label, CeedInt *values); | ||
| CEED_EXTERN int CeedOperatorGetContextCeedIntRead(CeedOperator op, CeedContextFieldLabel field_label, size_t *num_values, const CeedInt **values); | ||
| CEED_EXTERN int CeedOperatorRestoreContextCeedIntRead(CeedOperator op, CeedContextFieldLabel field_label, const CeedInt **values); | ||
| CEED_EXTERN int CeedOperatorSetContextCeedInt32(CeedOperator op, CeedContextFieldLabel field_label, int32_t *values); | ||
| CEED_EXTERN int CeedOperatorGetContextCeedInt32Read(CeedOperator op, CeedContextFieldLabel field_label, size_t *num_values, const int32_t **values); | ||
| CEED_EXTERN int CeedOperatorRestoreContextCeedInt32Read(CeedOperator op, CeedContextFieldLabel field_label, const int32_t **values); | ||
| CEED_EXTERN int CeedOperatorSetContextCeedInt64(CeedOperator op, CeedContextFieldLabel field_label, int64_t *values); | ||
| CEED_EXTERN int CeedOperatorGetContextCeedInt64Read(CeedOperator op, CeedContextFieldLabel field_label, size_t *num_values, const int64_t **values); | ||
| CEED_EXTERN int CeedOperatorRestoreContextCeedInt64Read(CeedOperator op, CeedContextFieldLabel field_label, const int64_t **values); | ||
| CEED_EXTERN int CeedOperatorSetContextCeedSize(CeedOperator op, CeedContextFieldLabel field_label, CeedSize *values); | ||
| CEED_EXTERN int CeedOperatorGetContextCeedSizeRead(CeedOperator op, CeedContextFieldLabel field_label, size_t *num_values, const CeedSize **values); | ||
| CEED_EXTERN int CeedOperatorRestoreContextCeedSizeRead(CeedOperator op, CeedContextFieldLabel field_label, const CeedSize **values); | ||
| CEED_EXTERN int CeedOperatorSetContextCeedBoolean(CeedOperator op, CeedContextFieldLabel field_label, bool *values); | ||
| CEED_EXTERN int CeedOperatorGetContextCeedBooleanRead(CeedOperator op, CeedContextFieldLabel field_label, size_t *num_values, const bool **values); | ||
| CEED_EXTERN int CeedOperatorRestoreContextCeedBooleanRead(CeedOperator op, CeedContextFieldLabel field_label, const bool **values); | ||
| CEED_EXTERN int CeedOperatorApply(CeedOperator op, CeedVector in, CeedVector out, CeedRequest *request); | ||
| CEED_EXTERN int CeedOperatorApplyAdd(CeedOperator op, CeedVector in, CeedVector out, CeedRequest *request); | ||
| CEED_EXTERN int CeedOperatorApplyAddActive(CeedOperator op, CeedVector in, CeedVector out, CeedRequest *request); | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -274,12 +274,26 @@ typedef enum { | |
| /// Denotes type of data stored in a CeedQFunctionContext field | ||
| /// @ingroup CeedQFunction | ||
| typedef enum { | ||
| /// Byte value, C type of char | ||
| CEED_CONTEXT_FIELD_BYTE = 1, | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. As Zach said, I'd use the order I provided, starting at 0 |
||
| /// CeedScalar value | ||
| CEED_CONTEXT_FIELD_SCALAR = 2, | ||
| /// Single precision value | ||
| CEED_CONTEXT_FIELD_FLOAT = 3, | ||
| /// Double precision value | ||
| CEED_CONTEXT_FIELD_DOUBLE = 1, | ||
| CEED_CONTEXT_FIELD_DOUBLE = 4, | ||
| ///8 bit integer value | ||
| CEED_CONTEXT_FIELD_INT8 = 5, | ||
| /// CeedInt value | ||
| CEED_CONTEXT_FIELD_INT = 6, | ||
| /// 32 bit integer value | ||
| CEED_CONTEXT_FIELD_INT32 = 2, | ||
| CEED_CONTEXT_FIELD_INT32 = 7, | ||
| /// 64 bit integer value | ||
| CEED_CONTEXT_FIELD_INT64 = 8, | ||
| /// CeedSize value | ||
| CEED_CONTEXT_FIELD_SIZE = 9, | ||
| /// Boolean value | ||
| CEED_CONTEXT_FIELD_BOOL = 3, | ||
| CEED_CONTEXT_FIELD_BOOL = 10, | ||
| } CeedContextFieldType; | ||
|
|
||
| #endif // CEED_QFUNCTION_DEFS_H | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just to note, only the
Ceedtypes should have theCeedprefix on the type name for these functions.For example,
CeedScalarshould be as you have it, butfloatshould beThere was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thats going to be a pretty big diff, so I'll let you handle it locally instead of me suggesting all of them.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yea, to clarify, I meant only the four types with
Ceedin their name should have that added to the signature, soCeedInt,CeedScalar,CeedSize, andCeedInt8