# matrix_mul_f(3alleg4) [opendarwin man page]

```matrix_mul(3alleg4)						  Allegro manual					       matrix_mul(3alleg4)

NAME
matrix_mul, matrix_mul_f - Multiplies two matrices. Allegro game programming library.

SYNOPSIS
#include <allegro.h>

void matrix_mul(const MATRIX *m1, const MATRIX *m2, MATRIX *out);

void matrix_mul_f(const MATRIX_f *m1, const MATRIX_f *m2, MATRIX_f *out);

DESCRIPTION
Multiplies  two matrices, storing the result in out (this may be a duplicate of one of the input matrices, but it is faster when the inputs
and output are all different). The resulting matrix will have the same effect as the combination of m1 and m2, ie. when applied to a  point
p,  (p * out) = ((p * m1) * m2). Any number of transformations can be concatenated in this way. Note that matrix multiplication is not com-
mutative, ie. matrix_mul(m1, m2) != matrix_mul(m2, m1).

SEE ALSO
apply_matrix(3alleg4), exquat(3alleg4), exscn3d(3alleg4)

Allegro 							   version 4.4.2					       matrix_mul(3alleg4)```

## Check Out this Related Man Page

```exscn3d(3alleg4)						  Allegro manual						  exscn3d(3alleg4)

NAME
exscn3d - Using the 3d scene functions. Allegro game programming library.

SYNOPSIS
#include <allegro.h>

Example exscn3d

DESCRIPTION
This  program demonstrates how to use scanline sorting algorithm in Allegro (create_scene, clear_scene, ... functions). It also provides an
example of how to use the 3D clipping function. The example consists of a flyby through a lot of rotating 3d cubes.

SEE ALSO
BITMAP(3alleg4), END_OF_FUNCTION(3alleg4), END_OF_MAIN(3alleg4), LOCK_FUNCTION(3alleg4),  LOCK_VARIABLE(3alleg4),  MATRIX_f(3alleg4),  PAL-
ETTE(3alleg4), POLYTYPE_GCOL(3alleg4), SCREEN_H(3alleg4), SCREEN_W(3alleg4), V3D_f(3alleg4), allegro_error(3alleg4), allegro_exit(3alleg4),
allegro_init(3alleg4),	allegro_message(3alleg4),   apply_matrix_f(3alleg4),   bitmap_color_depth(3alleg4),   blit(3alleg4),	clear_bit-
map(3alleg4),	clear_scene(3alleg4),	 clip3d_f(3alleg4),   create_bitmap(3alleg4),	create_scene(3alleg4),	 desktop_palette(3alleg4),
destroy_bitmap(3alleg4),   destroy_scene(3alleg4),   font(3alleg4),   get_rotation_matrix_f(3alleg4),	get_translation_matrix_f(3alleg4),
gfx_mode_select_ex(3alleg4), install_int(3alleg4), install_keyboard(3alleg4), install_mouse(3alleg4), install_timer(3alleg4), key(3alleg4),
matrix_mul_f(3alleg4), palette_color(3alleg4), persp_project_f(3alleg4),  polygon_z_normal_f(3alleg4),  render_scene(3alleg4),  scene_poly-
gon3d_f(3alleg4), screen(3alleg4), set_color_depth(3alleg4), set_gfx_mode(3alleg4), set_palette(3alleg4), set_projection_viewport(3alleg4),
textprintf_ex(3alleg4)

Allegro 							   version 4.4.2						  exscn3d(3alleg4)```
Man Page

## Shopt -s histappend

What is the point of this? Whenever I close my shell it appends to the history file without adding this. I have never seen it overwrite my history file. # When the shell exits, append to the history file instead of overwriting it shopt -s histappend

## Undeletable file

Greetings, I'm trying to delete a file with a weird name from within Terminal on a Mac. It's a very old file (1992) with null characters in the name: ââWord FinderÂŽ Plusâ˘. Here are some examples of what I've tried: 12FX009:5 dpontius\$ ls ââWord FinderÂŽ Plusâ˘ 12FX009:5 dpontius\$ rm...