⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gsegyendianess.h

📁 segy 显示程序!希望能给正在做这部分朋友提供一部分资料
💻 H
字号:
/* 
 * GSEGYLIB - Library for accessing files in SEG-Y format
 *
 * Copyright (C) 2005-2006 Vladimir Bashkardin
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation; either version 2 of the
 * License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more av.
 *
 * You should have received a copy of the GNU General Public
 * License along with this program; if not, write to the
 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 * Boston, MA 02111-1307, USA.
 *
 * Author:  Vladimir Bashkardin  <vovizmus@users.sourceforge.net>
 */

#ifndef __G_SEGY_ENDIANESS_H__
#define __G_SEGY_ENDIANESS_H__

#include <glib.h>
#include <glib-object.h>

G_BEGIN_DECLS

#define G_SEGY_TYPE_ENDIANESS            (g_segy_endianess_get_type ())
#define G_SEGY_ENDIANESS(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), G_SEGY_TYPE_ENDIANESS, GSEGYEndianess))
#define G_SEGY_ENDIANESS_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), G_SEGY_TYPE_ENDIANESS, GSEGYEndianessClass))
#define G_SEGY_IS_ENDIANESS(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), G_SEGY_TYPE_ENDIANESS))
#define G_SEGY_IS_ENDIANESS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), G_SEGY_TYPE_ENDIANESS))
#define G_SEGY_GET_ENDIANESS_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), G_SEGY_TYPE_ENDIANESS, GSEGYEndianessClass))

typedef struct _GSEGYEndianess GSEGYEndianess;
typedef struct _GSEGYEndianessClass GSEGYEndianessClass;

struct _GSEGYEndianess {
    GObject parent;

    gboolean swap_bytes;
    gboolean ibm_to_ieee;
};

struct _GSEGYEndianessClass {
    GObjectClass parent_class;
};

GType g_segy_endianess_get_type (void);

GSEGYEndianess* g_segy_endianess_new_with_default (void);
GSEGYEndianess* g_segy_endianess_new (gboolean swap_bytes, gboolean ibm_to_ieee);

void g_segy_endianess_ibm_to_ieee (GSEGYEndianess *self, guint32 *ibm, guint32 *ieee);
void g_segy_endianess_ibm_to_ieee_array (GSEGYEndianess *self, guint32 *ibm, guint32 *ieee, guint64 length);

void g_segy_endianess_ieee_to_ibm (GSEGYEndianess *self, guint32 *ieee, guint32 *ibm);
void g_segy_endianess_ieee_to_ibm_array (GSEGYEndianess *self, guint32 *ieee, guint32 *ibm, guint64 length);

void g_segy_endianess_swap_ieee_float (GSEGYEndianess *self, guint32 *input, guint32 *output);
void g_segy_endianess_swap_ieee_float_array (GSEGYEndianess *self, guint32 *input, guint32 *output, guint64 length);

void g_segy_endianess_gain_code_to_float (GSEGYEndianess *self, guint32 *input, guint32 *output);
void g_segy_endianess_gain_code_to_float_array (GSEGYEndianess *self, guint32 *input, guint32 *output, guint64 length);

void g_segy_endianess_float_to_gain_code (GSEGYEndianess *self, guint32 *input, guint32 *output);
void g_segy_endianess_float_to_gain_code_array (GSEGYEndianess *self, guint32 *input, guint32 *output, guint64 length);

void g_segy_endianess_swap_gint16 (GSEGYEndianess *self, gint16 *input, gint16 *output);
void g_segy_endianess_swap_gint16_array (GSEGYEndianess *self, gint16 *input, gint16 *output, guint64 length);

void g_segy_endianess_swap_guint16 (GSEGYEndianess *self, guint16 *input, guint16 *output);
void g_segy_endianess_swap_guint16_array (GSEGYEndianess *self, guint16 *input, guint16 *output, guint64 length);

void g_segy_endianess_swap_gint32 (GSEGYEndianess *self, gint32 *input, gint32 *output);
void g_segy_endianess_swap_gint32_array (GSEGYEndianess *self, gint32 *input, gint32 *output, guint64 length);

void g_segy_endianess_swap_guint32 (GSEGYEndianess *self, guint32 *input, guint32 *output);
void g_segy_endianess_swap_guint32_array (GSEGYEndianess *self, guint32 *input, guint32 *output, guint64 length);

void g_segy_endianess_ebcdic_to_ascii (GSEGYEndianess *self, guint8 *input, guint8 *output);
void g_segy_endianess_ebcdic_to_ascii_array (GSEGYEndianess *self, guint8 *input, guint8 *output, guint64 length);

void g_segy_endianess_ascii_to_ebcdic (GSEGYEndianess *self, guint8 *input, guint8 *output);
void g_segy_endianess_ascii_to_ebcdic_array (GSEGYEndianess *self, guint8 *input, guint8 *output, guint64 length);

G_END_DECLS
#endif /* __G_SEGY_ENDIANESS_H__ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -