<commit_before><?php

namespace Faker\Provider\fr_FR;

class Company extends \Faker\Provider\Company
{
	protected static $formats = array(
		'{{lastName}} {{companySuffix}}',
		'{{lastName}} {{lastName}} {{companySuffix}}',
		'{{lastName}}',
		'{{lastName}}',
	);

	protected static $companySuffix = array('SA', 'S.A.', 'SARL', 'S.A.R.L.', 'S.A.S.');
}<commit_msg>Added siren and siret formatters (fr_FR)<commit_after><?php

namespace Faker\Provider\fr_FR;

class Company extends \Faker\Provider\Company
{
	protected static $formats = array(
		'{{lastName}} {{companySuffix}}',
		'{{lastName}} {{lastName}} {{companySuffix}}',
		'{{lastName}}',
		'{{lastName}}',
	);

	protected static $companySuffix = array('SA', 'S.A.', 'SARL', 'S.A.R.L.', 'S.A.S.');

	protected static $sirenFormat = "### ### ###";

	public static function siret($maxSequentialDigits = 2)
	{
		if ($maxSequentialDigits > 4 || $maxSequentialDigits <= 0) {
			$maxSequentialDigits = 2;
		}

		$sequentialNumber = str_pad(static::randomNumber($maxSequentialDigits), 4, '0', STR_PAD_LEFT);

		return  static::numerify(static::siren() . ' ' . $sequentialNumber . '#');
	}

	public static function siren()
	{
		return static::numerify(static::$sirenFormat);
	}
}
{'fraction_non_alphanumeric': 0.20619396903015486, 'fraction_numerical': 0.004889975550122249, 'mean_word_length': 5.079207920792079, 'pattern_counts': {'":': 0, '<': 6, '<?xml version=': 0, '>': 4, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6523272', 'n_tokens_mistral': 476, 'n_tokens_neox': 445, 'n_words': 86}